AUGUST 1 979 * Volume 4, Number 8 $2.00 in USA/$2.40 in Canada
the small systems joiirna
A fc/ICGRAW-HJLL PUBLICATION
LISP
■
(c<m((HWLi.srm&))((Q
(REmXWK(CWStRW<i)))
(PRflff(WTCKI)(LX)S™WG))))))
(ma FRTfcwx))
(9maM^W)
If you have a problem that can be solved by a computer— we have a systems solution.
# Two central processors with maximum RAM capacities of 56K and 384 K bytes
# Three types of disk drives with capacities of 1 75K, 1 .2M and 1 6M bytes
# Two dot matrix printers with 80 and 132 line capacity
A Selectric typewriter interface and a daisy wheel printer
Match these to your exact need, add one or more of our intelligent terminals and put together
a system from one source with guaranteed compatibility in both software and hardware.
Southwest Technical Products systems give you unmatched power, speed and versatility. They
are packaged in custom designed woodgrain finished cabinets. Factory service and support on
the entire system and local service is available in many cities.
SOUTHWEST TECHNICAL PRODUCTS CORPORATION
219 W. RHAPSODY
SAN ANTONIO, TEXAS 78216 (512) 344-0241
Circle 350 on inquiry card.
Latched
Outputs
4 MHz
Crystal Clock
On Card
Voltage
Regulation
Parallel
I/O Port #1
\
Parallel
I/O Port #2
/
Parallel
I/O Port #3
\
RS-232 or
Current Loop
I/O Port #4
/
8KR0M
Capacity
IK RAM
Standard Bus
for System
Expandability
Programmable
Baud Rate
UARTwith
Interval Timers
4MHzZ-80A
Completely Buffered
Bus Interface
The single card computer
with the features
that help you in real life
COMPLETE COMPUTER
In this advanced card you get a pro-
fessional quality computer that meets
today's engineering needs. And it's one
that's complete. It lets you be up and
running fast. All you need is a power
supply and your ROM software.
The computer itself is super. Fast
4 MHz operation. Capacity for 8K bytes
of ROM (uses 2716 PROMs which can
be programmed by our new 32K BYTE-
SAVER® PROM card). There's also 1K of
on-board static RAM. Further, you get
straightforward interfacing through an
RS-232 serial interface with ultra-fast
speed of up to 76,800 baud — software
programmable.
Other features include 24 bits of bi-
directional parallel I/O and five on-
board programmable timers.
Add to that vectored interrupts.
ENORMOUS EXPANDABILITY
Besides all these features the Cro-
memco single card computer gives you
enormous expandability if you ever need
it. And it's easy to expand. First, you
can expand with the new Cromemco
32K BYTESAVER PROM card mentioned
above. Then there's Cromemco's broad
line of S100-bus-compatible memory
and I/O interface cards. Cards with fea-
tures such as relay interface, analog
interface, graphics interface, opto-
isolator input, and A/D and D/A con-
version. RAM and ROM cards, too.
I
— r!
Card Cage 32K BYTESAVER PROM card
EASY TO USE
Another convenience that makes the
Model SCC computer easy to use is our
Z-80 monitor and 3K Control BASIC (in
two ROMs). With this optional software
you're ready to go. The monitor gives
you 12 commands. The BASIC, with 36
commands/functions, will directly ac-
cess I/O ports and memory locations —
and call machine language subroutines.
Finally, to simplify things to the ulti-
mate, we even have convenient card
cages. Rugged card cages. They hold
cards firmly. No jiggling out of sockets.
AVAILABLE NOW/LOW PRICE
The Cromemco Model SCC is avail-
able now at a low price of only $450
factory assembled ($395 kit).
So act today. Get this high-capability
computer working for you right away.
Q
Cromemco
incorporated
Specialists in computers and peripherals
280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400
Circle 80 on inquiry card.
BYTE August 1979
t?tt
4mi
*. 1 : •«'. ■ i
1 , •
* ■ ' ! »
- ■ <#*r
, * - i i» * . » * :-':■ , » i c * * *
- 1 • 1 . » t * . * » * V ■ , o
You can do surprising things
when you have 64 kilobytes of fast RAM
on one card
4 MHz FAST— AND EXPANDABLE
Here's 64 kilobytes of memory on
one RAM card. Yes, we mean 51 2K
bits of read/write memory on this
single card.
And, yes, we mean it's fast. With
150-nanosecond chip access times
— so the card can operate in fast
Z-80 systems with no wait states.
Repeat, no wait states.
EXPANDABLE ON TWO LEVELS
Not only does the new Model
64KZ give you a large, fast RAM
but it is expandable on two levels.
First, through our Cromemco Bank
Select feature, you can expand to
512 kilobytes in eight 64K banks.
Or, with our Extended Bank Select
feature, you can expand memory
space to as much as 16 megabytes.
This expandability we call your
obsolescence insurance.
The legend on the card's heat sink
is an easy reference for address and
bank selection.
BENCHMARK IT
Obviously, the speed and memory
capacity of this new card give you a
lot of power.
You can see that for yourself in
our new 7-station Multi-User Com-
puter System which uses these Model
64KZ cards. This S100-bus system
outperforms the speed of many if
not most timesharing systems of up
to 10 times the Cromemco price.
And yet where some of these much
more expensive and cumbersome
systems clearly slow to a snail's pace
when timesharing, the Cromemco
system using Bank Select switching
nuns surprisingly fast.
SEE IT NOW
See the new Model 64KZ at your
computer dealer now. Study the lit-
erature on it. See how for only $1785
you can get around that ever-present
barrier of memory that's too little
and too slow.
Q
For high reliability all Cromemco memory
cards are burned in at the factory in these
temperature-controlled ovens.
&«**
T 1
Cromemco Multi-User System
shown with 7 stations
Cromemco
incorporated
280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400
Tomorrow's computers now
2 BYTE August 1979
Circle 80 on inquiry card!
M
In the Oueue
BVII August 1979
Volume 4, Number 8
Foreground
50
66
94
132
206
220
10
18
26
34
82
162
170
176
ANYONE KNOW THE REAL TIME?, by Steve Ciarcia
Simple methods of telling time
MODEL OF THE BRAIN, Part 3: Comparison of Brain and Model, by James Albus
Does CMAC accurately represent human brain function?
NATURE OF ROBOTS, Part 3: A Closer Look at Human Behavior, by William T Powers
Simulating a 3-muscle system
THE DESIGN OF AN M6800 LISP INTERPRETER, by S Tucker Taft
The theory behind one implementation
LISP APPLICATIONS IN BOOLEAN LOGIC, by Richard Weyhrauch and Henson Graves
Perform Boolean logical operations with LISP
AN OVERVIEW OF LONG DIVISION, by Geoffrey Gass
Providing real answers to division problems
Background
AN OVERVIEW OF LISP, by John Allen
Developing a feel for LISP
LISP BASED SYSTEMS FOR EDUCATION, by J Laubsch, G Fischer , and H D Bocker
Using computers as learning tools
THE LAMBDINO STORAGE MANAGEMENT SYSTEM, by G Prini and M Rudalics
Data storage techniques represent major design considerations
PATTERN-DIRECTED INVOCATION LANGUAGES, by William A Kornfeld
A data base development tool
EXPLORING TRS-80 GRAPHICS, by George H Yeager
Machine language access to graphic display characters
A MATHEMATICIAN'S VIEW OF LISP, by Vaughan R Pratt
A look at LISP as a vehicle for expressing ideas
A PREVIEW OF THE MOTOROLA 68000, by A 1 Halsema
A look at another 16-bit processor
LISP BASED SYMBOLIC MATH SYSTEMS, by David R Stoutemyer
The computer as an algebraic manipulator
Nucleus
Letters, 6
Editorial: Returning to the Tower of Babel or
LISP Notes, 62
BYTE News, 89
Technical Forum, 126
BYTE's Bugs, 194
Event Queue, 196
Clubs and Newsletters, 200
BYTE's Bits, 204
Programming Quickies, 212
Book Reviews, 218
What's New?, 225
Unclassified Ads, 263
Reader Service, BOMB, 264
page 18
NAME
1 ■
1 1
1
| MM 1
f
*00»ESS
1 1
1 1
1
STREET
page 50
{DE TAUT (WFF) {TAUTl (SIMP WFF)»
(DETAUTl (W)
{COND
(OSCONST W) W)
(T (TAUT
((LAMBDA (X) (MKAND (SUBST
(SUBST
(FIRSTVAR W)) »)>
(DESIMP(W)
(COND ((OR (ISCONST WMISVAR W»
((ISNOT W) (SIMPNOT (SIMP <
<{IS0R W) (SIMPOR (SIMP (Ih:
(SlMP(rhj
((ISAND W) (SIMPAND (SIMP
(SIMP(
(OSIMPLIES W) (SIMPIMP (SlFn
((ISEOUIV W) (SIMPEOUIV
(DE SIMPNOT (W) (COND ((ISFAISE W)
{(ISJRUE W) f\
(T (MKNOT W)
(DE SIMPOR (W1 W2) (SlMPANDOR
(DE SIMPAND (Wl W2> (SlMPANDOR
(DE SIMPIMP ;(W1 W2) (SIMPOR (SIMP
(DE SIMPEOUIV (Wl W2>
(SIMPAND (SIMPIMP Wl W2XSIMPI
(DE SlMPANDOR (OP Wl W2 VI V2)
(COND «(STRUE V
page 206
^ i0
Cover Art: New Worlds of LISP, by Ken Lodding
BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. A wholly-owned subsidiary of McGraw-Hill, Inc. Address all mail except subscrip-
tions to above address: phone (603) 924-721 7. Address subscriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martins-
ville NJ 08836. Second class postage paid at Peterborough NH 03458 and at additional mailing offices— USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $18 for
one year, $32 for two years, and $46 for three years in the USA and Its possessions. In Canada and Mexico, $20 for one year, $36 for two years, $52 for three years. $32 for one year
air delivery to Europe. $32 surface delivery elsewhere. Air delivery to selected areas at additional rates upon request. Single copy price is $2 In the USA and its possessions, $2.40
in Canada and Mexico, $3.50 in Europe, and $4 elsewhere. Foreign subscriptions and sales should be remitted In United States funds drawn on a US bank. Printed in United States
of America.
Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not
responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 by BYTE Publications Inc. All
rights reserved.
BYTE® is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR. Ann Arbor Ml 48106 USA or 18 Bedford Row, Dept PR, London WC1R 4EJ
ENGLAND.
Subscription WATS Line: (800) 258-5485
Office hours: Mon-Thur 8:30 AM — 4:30 PM
Friday 8:30 AM — Noon
August 1979 © BYTE Publications Inc 3
In This BYTE
m
(sltq Bmm
TSTf "TW5C
u
mti
\m
About the Cover
This month, Ken Lodding has
created a fantasy on far-out
applications with a LISP theme.
The surface of some asteroid
has been discovered. A
monolith engraved with the
S-expression form of a LISP
program is gazed upon by some
astronauts. We presume some
archeology of this monolith will
have to be done to uncover the
balance of the program. We
leave it to readers familiar with
LISP to identify the textbook
from which these S-expression
fragments were taken, and the
purpose of the program.
LISP is often described as
a special-purpose, list-
processing language.
However, there is much
more to the language than
list manipulation. As an
introduction to this lan-
guage, guest editor John
Allen provides An Overview
of LISP. Page 10
In LISP Based Systems for
Education, J Laubsch, G
Fischer, and H D Bocker
discuss the evolving com-
puter culture and they argue
that the basic concepts and
approach to computation
that LISP represents offers
significant advantages within
the contemporary educa-
tional framework.
Page 18
The management of
memory space is very
important in any computer
language. To the user of a
LISP system, memory seems
to magically appear out of
the "ether" as needed. LISP
systems contain a storage
reclamation package that
scavenges new storage from
discarded computations.
Authors Gianfranco Prini
and Martin Rudalics
describe the Lambdino
Storage Management
System. Page 26
William A Kornfeld shows
an application of LISP ideas
in the artificial intelligence
domain. Pattern-Directed
Invocation Languages are
powerful tools for repre-
senting and manipulating
facts in data bases. The
implementation of these
ideas involves 2 facets of
LISP: the generalized record
structures, called property
lists; and the ability to store
procedures as data struc-
tures. Page 34
The addition of a real-
time clock to your computer
system expands the dimen-
sions you can explore. A
real-time clock is also the
basis of any multiprogram-
ming system. Steve Ciarcia
provides several different
real-time clocks in Anyone
Know the Real Time?
Page 50
In parts 1 and 2 of A
Model of the Brain for
Robot Control, James Albus
described a neurological
brain model. Part 3 shows
how this structure might be
used to produce perceptual
and cognitive phenomena.
Page 66
The mystery of graphics
on the Radio Shack TRS-80
is now dispelled. George H
Yeager reveals the details in
Exploring TRS-80 Graphics.
Page 82
In the third part of The
Nature of Robots, William T
Powers describes the how
and whys of his particular
model of human behavior.
Mr Powers develops a
2-level control-loop simu-
lation of a 3-muscle system
to further the understanding
of how our own control
system works.
Page 94
Other articles this month
discuss many of the applica-
tions for LISP. It is only
fitting that S Tucker Taft
discusses The Design of an
M6800 LISP Interpreter.
Page 132
Several LISP articles have
centered on some of the
unique features of LISP to
aid solution of nontrivial
problems. Mathematician
and computer scientist
Vaughan Pratt views
languages from a more
distant perspective. He
shows that features found
to be attractive in special
cases are instances of general
principles that a program-
ming language must observe
if generality and expressi-
bility are not to be com-
promised. Vaughan Pratt
gives us A Mathematician's
View of LISP.
Page 162
A I Halsema provides us
with a quick description of
the M68000 and some pos-
sible applications of the new
processor in A Preview of
the Motorola 68000.
Page 170
Are you interested in
working with symbolic
mathematics? Perhaps you
manipulate many algebraic
formulae. David Stoutemyer
discusses several LISP Based
Symbolic Math Systems that
help perform these func-
tions. Page 176
The actions of digital
circuits may be described by
Boolean expressions. These
expressions can be mani-
pulated by a program to test
for correctness, simplify the
equation, and many other
logical manipulations.
Richard Weyhrauch and
Henson Graves discuss some
LISP Applications in
Boolean Logic.
Page 206
Most processors do not
have division instructions.
Therefore, if you wish to
perform division, you will
have to write your own. In
An Overview of Long Divi-
sion, Geoffrey Gass provides
the background needed to
write a division routine.
Page 220
Publishers
Virginia Londoner
Gordon R Williamson
Associate Publisher
John E Hayes
Assistant
Jill ECallihan
Editorial Director
Carl T Helmers Jr
Executive Editor
Christopher P Morgan
Editor In Chief
Raymond G A Cote
Senior Editor
Blaise W Liffick
Editor
Richard Shuford
Assistant Editor
Kent Richard
Editorial Assistants
Gale Britton
Faith Ferry
New Products Editor
Clubs, Newsletters
Laura A Hanson
Drafting
Jon Swanson
Production Editors
David William Hayward
Ann Graves
Faith Hanson
Warren Williamson
Art Director
Ellen Bingham
Production Art
Wal Chiu Li
Christine Dixon
Holly Carmen LaBossiere
Deborah Porter
Advertising Director
Patricia E Burgess
Assistants
Ruth M Walsh
Marion Gagnon
Janet Ames
Adv/Prod Coordinator
Thomas Harvey
Advertising Billing
Noreen Bardsley
Don Bardsley
Traffic Department
Mark Sandagata
Thomas Yanni
Circulation Manager
Gregory Spitzfaden
Assistants
Pamela R Heaslip
Agnes E Perry
Melanie Bertoni
Barbara Eilis
Dealer Sales
Ginnie F Boudrieau
Anne M Baldwin
Receptionist
Jacqueline Earnshaw
Typographers
Cheryl A Hurd
Stephen Kruse
Debe L Wheeler
Photostat Technician
Tully Londner
Comptroller
Kevin Maguire
Assistant
Mary E Fluhr
National Advertising
Sales Representatives:
Hajar Associates Inc
East
280 Hillside Av
Needham Heights MA 02194
(617) 444-3946
521 Fifth Av
New York NY 10017
(212) 682-5844
Midwest
664 N Michigan Av
Suite 1010
Chicago IL 60611
(312) 337-8008
West, Southwest
1000 Elwell Ct
Suite 227
Palo Alto CA 94303
(415) 964-0706/(714) 540-3554
Officers of McGraw-Hill
Publications Company: Gordon
L. Jones, President; Group Vice
Presidents: Daniel A. McMillan,
James E. Boddorf; Senior Vice
Presidents: Russell F. Anderson;
Ralph R. Schulz, Editorial; Vice
Presidents: James E. Hackett,
Controller; Thomas H. King,
Manufacturing; Robert L.
Leyburn, Circulation; John W.
Patten, Sales; Edward E.
Schirmer, international.
Officers of the Corporation:
Harold W. McGraw Jr., President,
Chief Executive Officer and
Chairman of the Board; Robert F.
Landes, Senior Vice President
and Secretary; Ralph J. Webb,
Treasurer.
4 August 1979 © BYTE Publications Inc
Circle 220 on inquiry card.
S-100 Compatibility. 6809 ComputxMify.
1K RAM
10K PROM space
MONBUG II monitor included
2400 baud cassette interface
20 I/O lines
RS-232 level shifters
Real time clock
DMA
Parallel keyboard input
Memory-mapped video firmware
Fully S-100 compatible
(including 8080 type I/O)
A complete system, ready to use.
6809
1 6 bit internal arithmetic
Hardware multiplication
Two stack pointers
Two index registers
18 addressing modes
Fully relocatable code
Five interrupts
Up to three times the
throughput of a 4MHz Z-80
MicroDaSys
MD-690 b Single Board Computer
$239 Kit $299 Assembled
#
1
*
P.O. BOX 36051, LOS ANGELES, CA 90036, USA
T
Look for
Shugart drives
in personal
computer systems
made by these
companies.
Altos Computer Systems
2378-B Walsh Avenue
Santa Clara, CA 95050
Apple Computer
10260 Bandley Dr.
Cupertino, CA 95014
Digital Microsystems Inc.
(Formerly Digital Systems)
4448 Piedmont Ave.
Oakland, CA 94611
Imsai Mfg. Corporation
14860 Wicks Blvd.
SanLeandro, CA 94577
Industrial Micro Systems
633 West Katella, Suite L
Orange, CA 92667
North Star Computer
2547 9th Street
Berkeley, CA 94710
Percom Data
318 Barnes
Garland, TX 75042
Polymorphic Systems
460 Ward Dr.
Santa Barbara, CA 93111
Problem Solver Systems
20834 Lassen Street
Chatsworth, CA 91311
Processor Applications Limited
2801 E. Valley View Avenue
WestCovina,CA91792
SD Sales
3401 W. Kingsley
Garland, TX 75040
Smoke Signal Broadcasting
6304 Yucca
Hollywood, CA 90028
Technico Inc.
9130 Red Branch Road
Columbia, MD 21045
Texas Electronic Instruments
5636 Etheridge
Houston, TX 77087
Thinker Toys
1201 10th Street
Berkeley, CA 94710
Vista Computer Company
2807 Oregon Court
Torrance, CA 90503
Editorial
r <L
Shugart
Returning to the Tower of Babel,
or... Some Notes About LISP,
Languages and Other Topics...
by Carl Helmers
This is the August issue of BYTE. It is also the third consecutive year that
we've chosen to have a computer language as an issue content theme — a choice
which is reflected in a number of articles, as well as the cover painting by Ken
Lodding.
In the past two years, the August issues have had themes of APL (1977) and
Pascal (1978). This year, we continue the August emphasis on languages with
a special issue devoted to the language LISP. An experiment in editorial policy
is also reflected in this issue. John Allen was responsible for the solicitation and
technical reviewing of the articles concerning LISP in this issue, truly function-
ing in the capacity of "Guest Editor" of BYTE. John has been involved with
computation research involving LISP for some time, and he is in touch with
many of the members of the artificial intelligence community. Some of his
comments on LISP appeared in the March 1979 issue of BYTE in the form of a
guest editorial. As a result of his earlier writings about LISP as an appropriate
tool of expression for personal computing, we asked him to take charge of the
LISP oriented technical content of this issue and several issues to follow.
Readers will find a wealth of information as a result of John's efforts.
By making LISP a feature of this issue of BYTE, we are emphasizing the
history of LISP's utility in artificial intelligence and computation research. The
language is derived from the work of John McCarthy in the early 1960's. LISP
will have its place in personal computing, alongside a number of other styles of
expression. For lack of appropriate systems software, I have not personally
used LISP to any extent, but I believe that I have the beginnings of an abstract
appreciation of its potential. This perspective comes from personal contact
with individuals who use LISP regularly, as well as reading which includes the
articles in this issue as collected by John Allen.
In a recent (May 24 1979) conversation with Gary Kildall on the occasion of
the fifth IEEE Computer Society Asilomar Conference on Microcomputing, I
mentioned the LISP issue. Gary has a background in computer systems soft-
ware work with special emphasis on small scale computer systems of the kind
used by BYTE readers. He is the first implementor of the PL/M compilers for
Intel's 8080 microprocessors, and he and his firm, Digital Research, are
responsible for one of the most widely used 8080 and Z-80 oriented software
products, the CP/M operating system. I learned some interesting points from
Gary about LISP and its significance to the use of computers, viewpoints
which are worth repeating for readers.
Gary made the statement that LISP is basically his preferred language. He
explained that LISP has a certain natural elegance, but that people often tend
to write FORTRAN or BASIC-like sequential "PROGs" as opposed to the im-
plicitly parallel and recursive tree structures natural to LISP. He emphasized
that this is a mistake. LISP represents a different point of view from which to
analyze problems.
Text continued on page 154
August 1979 © BYTE Publications Inc
"My 8 to 5 minifloppy "now
works nights and weekends! 9
"I own a fast-growing business and before I
bought my computer system I put in a lot of late
hours keeping up with my accounting and
inventory control. Now the computer does my
number crunching quickly, so I have time after
hours to have some fun with the system. My son
and I started out playing Star Trek on the system,
and now we're learning to play chess.
"When I was shopping around for my system,
the guys in the computer stores demonstrated all
the unique features of the minifloppy. I've got to
admit that at first I didn't really understand all the
technical details. But now that I use the system
every day, I really appreciate the minifloppy's fast
random access and data transfer. I like the
reliability, too.
"I'm glad I went with Shugart drives. Look,
when you lay out your own money for a system,
you want dependable performance and good
value. Do what I did. Ask for the system with the
minifloppy."
If it isn't Shugart,
it isn't minifloppy.
^=3® Shugart Associates
435 Oakmead Parkway, Sunnyvale, California 94086
See opposite page for list of manufacturers featuring Shugart's minifloppy in their systems.
TM minifloppy is a registered trademark of Shugart Associates
BYTE August 1979
Letters
More Puzzling
Puzzling Rotation
Explained
Ken Barbier poses a question in
"Puzzling Rotation" (May 1979 BYTE,
page 216) which is intimately related to
my comments on periodic decimal ex-
pansions in that same issue (page 210).
Any number N which has a repeating,
periodic decimal expansion of 1/N with
maximum period length (N — 1) gives
rise to a magic number X =
INT((1/N)*10(N-1)). As he pointed
out, any multiple of X such asKXX
(with K less than N) contains the same
digits as does X, but cyclically rotated.
N = 7 is the only example in base 10
arithmetic less than 10; larger values of
N are, for example, 17 (yielding
X = 0588235294117647) and 19 (which
gives X = 052631578947368421). In base
8, some interesting numbers are given by
N = 5 (X = 1463, base 8) and N = ll (base
10) (X = 0564272135 base 8); in base 15,
a magic X is 124936DCA5B8.
I have not been able to find any magic
numbers in base 4, base 16, or base 64;
perhaps some reader can prove that
none exists for bases which are powers
of 4.
If the length of the repetition period
of 1/N is shorter than the maximum,
then the magic number X generated by
the above algorithm will still re-appear
with digits cyclically permuted, but
other numbers also appear in the course
of the multiplication. Try,
for example, N = 13, X = 076923, in base
10.
For some insight into why these
numbers are magic, you might want to
try calculating by hand, long-division-
style, some examples like 1/7, 2/7, 3/7,
etc. According to E T Bell's biographical
book Men of Mathematics (page 225),
one of the greatest mathematicians of all
time, Carl Friedrich Gauss, worked out
the decimal expansions of 1/N for all N
up to 1000 while he was a teen-ager.
(And in the 1790's, he didn't have a
home computer!) The results of his
calculations inspired him to discover and
prove one of the most beautiful
theorems of number theory, "quadratic
reciprocity." Playing games with
numbers is still a fine route to
inspiration. Good luck!
Regarding "An Added Attraction"
(Machine Language Puzzler May 1979
BYTE, page 209), I would like to share
a twist on the problem of adding two 8
bit values in registers B and C and my
solution.
First, let me admit that when I glanced
through the puzzle rules, I mistakenly
assumed that all subtraction operations,
as well as the addition operations, were
prohibited in the solution. The reason I
made this slip is that the problem now
becomes a little harder (something akin
to the business of multiplying using
addition instructions only).
Anyway, my first brute force attempt
at this different problem required 12
bytes:
XRA
A
LOOP1
INR
A
DCR
8
JNZ
LOOP1
LOOP2
INR
A
DCR
A
JNZ
LOOP2
HLT
This works by initializing a counter
using the byte-saving exclusive-or opera-
tion. The counter is then incremented
once for each time that register B must
be decremented, until the register
reaches zero. Repeating this sequence
using register C results with the sum in
the accumulator. Of course, this
approach ignores overflow detection, as
did the original solutions published in
BYTE.
Being dissatisfied with the above, I
noticed a much simpler solution in 7
bytes:
A,B
A
C
LOOP
LOOP
MOV
INR
DCR
JNZ
HLT
Mark Zimmermann
Caltech 130-33
Pasadena CA 91125
Interestingly, this is only 2 bytes more
than the optimum solution presented in
the Puzzler, where subtraction is
permitted.
Steve Duerksen
Microcomputer Consultant
15 Dearborn St
Wellesley MA 02181
Attention: Gamblers
A newsletter is being started for com-
puter enthusiasts interested in analyzing
gambling systems, the Stock and Futures
Markets, etc. The first issue will be
priced at $1 and those interested should
indicate preference for form, content,
and subscription rate. Contact Michael
R Downing, c/o Joe Computer, 22713
Ventura Blvd, Suite F, Woodland Hills
CA 91364."
ComputerLand®
Huntsville, AL
(205) 539-1200
Phoenix, AZ
(602) 956-5727
Little Rock, AR
(501) 224-4508
Belmont, CA
(415) 595-4232
Dublin, CA
(415) 828-8090
El Cerrito, CA
(415) 233-5010
Hayward, CA
(415) 538-8080
Lawndale, CA
(213) 371-7144
Los Altos, CA
(415) 941-8154
Los Angeles, CA
(213) 776-8080
Marin, CA
(415) 459-1767
Pasadena, CA
(213) 449-3205
Sacramento, CA
Call Directory Information
Saddleback Valley. CA
(714) 770-0131
San Bernardino, CA
(714) 886-6838
San Diego, CA
(714) 560-9912
San Diego East, CA
(714)464-5656
San Francisco, CA
(415) 546-1592
San Jose, CA
(408) 253-8080
Santa Maria, CA
(805) 928-1919
Santa Rosa, CA
(707) 528-1775
Thousand Oaks, CA
(805)495-3554
Tustin, CA
(714) 544-0542
Walnut Creek, CA
(415)935-6502
Colorado Springs, CO
(303) 574-4150
Denver, CO
(303) 759-4685
Fairfield. CT
(203) 255-9252
Hartford, CT
Call Directory Information
Newark, DE
(302) 738-9656
Boca Raton, FL
(305) 368-1122
Ft. Lauderdale, FL
(305) 566-0776
Jacksonville, FL
(904) 731-2471
Atlanta, GA
(404) 953-0406
Honolulu, HI
(808) 521-8002
Arlington Heights, IL
(312) 255-6488
Downers Grove, IL
(312) 964-7762
Mundelein, IL
(312) 949-1300
Niles. IL
(312) 967-1714
Oak Lawn, IL
(312) 422-8080
Peoria, 1 L
(309) 688-6252
Indianapolis, IN
Call Directory Information
Overland Park, KS
(913) 492-8882
Louisville. KY
(502) 425-8308
Boston, MA
(617) 235-6252
Rockville. MD
(301)948-7676
Grand Rapids, Ml
(616) 942-2931
Rochester, Ml
(313) 652-9000
Southfield, Ml
(313) 356-8111
Bloomington, MN
(612) 884-1474
Hopkins, MN
Call Directory Information
Springfield, MO
(417) 883-7085
St. Louis, MO
Call Directory Information
Nashua, NH
(603) 889-5238
Cherry Hill, NJ
(609) 795-5900
Bergen County, NJ
(201) 845-9303
Morristown, NJ
(201) 539-4077
Buffalo, NY
(716) 8366511
Ithaca, NY
(607) 277-4888
Nassau County, NY
(516) 742-2262
Charlotte. NC
(704) 536-8500
Cleveland East, OH
(216) 461-1200
Cleveland West, OH
Call Directory Information
Columbus. OH
(614) 888-2215
Oklahoma City, OK
Call Directory Information
Portland, OR
(503) 620-6170
Harrisburg, PA
(717) 763-1116
Paoli, PA
Call Directory Information
Austin, TX
(512) 452-5701
Dallas. TX
(214) 363-2223
Sou th West Houston. TX
(713)977-0909
Houston Bay Area, TX
(713) 488-8153
Salt Lake City, UT
(801) 364-4416
Tyson's Corners, VA
(703) 893-0424
Bellevue, WA
(206) 746-2070
Federal Way, WA
(206) 838-9363
Tacoma, WA
(206) 581-0388
Madison, Wl
(608) 273-2020
Milwaukee, Wl
(414) 466-8990
INTERNATIONAL
Adelaide, Australia
22 35 083
Brisbane, Australia
07 221 9777
Melbourne, Australia
62 55 81
Perth, Australia
Call Directory Information
Sydney, NSW Australia
29-3753
Brussels, Belgium
(02) 511-34-45
Burlington, Canada
(416) 632-5722
Calgary, Alberta Canada
Call Directory Information
Toronto, Canada
(416) 485-6700
Winnipeg, Canada
(204) 772-9519
Manila, Philippines
58-36-66
8 August 1979 © BYTE Publications Inc
Circle 75 on inquiry card.
1
1
If the truth is that you want a
computer . . . then we want to be your
computer store.
We're ComputerLand, the #1
computer store chain in the U.S. What's
meaningful about that fact is, that
ComputerLand has been chosen by more
people as having what they've been
looking for. And, since you're looking, let
us tell yau what you'll find, when you visit
a ComputerLand stare.
You'll find a product line that's
continually evaluated to provide you with
the widest and best selection in quality,
brand name microcomputers anywhere.
You'll find an enthusiastic and
knowledgeable staff able to interpret all
the equipment specifications, in terms of
how they apply to you, and in a way
you'll understand. Yau'll find demonstration
areas where you can get a firsthand
experience of running a computer yourself.
You'll find educational materials to give
you a total insight into the world of
microcomputers.
You'll find a fully equipped service
department to provide whatever assistance
is required ta keep your computer running
in top-notch condition. You'll find computer
user's clubs to join, where you can share
ideas with people as enthusiastic as
yourself. And, with each new visit, you'll
find excitement— from the people you deal
with, the equipment they offer, and from
your own ever-growing personal
involvement.
Enough about us. How about what
computers do. To attempt to describe all
the things your computer might do, would
be to describe your imagination. So
instead, we'll briefly list some of the many
things for which small computers are
already being used.
In business, the advent of the
versatile and compact microcomputer has
put the benefits of computing within reach
of small companies. With systems starting
at less than $6000, the businessman can
ComputerLand Corp.
14400 Catalina St.
San Leandro, CA 94577
(415) 895-9363
Franchise Opportunities Worldwide.
© ComputerLand Corp., 197B
computerize things like accounting,
inventory control, record keeping, word
processing and more. The net result is the
reduction of administrative overhead and
the improvement of efficiency which allows
the business to be managed more
effectively.
In the home, a computer can be used
for personal budgeting, tracking the stock
market, evaluating investment opportunities,
controlling heating to conserve energy,
running security alarm systems, automating
the garden's watering, storing recipes,
designing challenging games, tutoring the
children . . . and the list goes on.
In industry, the basic applications are
in engineering development, process
control, and scientific and analytical work.
Users af microcomputers in industry
have found them to be reliable, cost-
effective tools which provide computing
capability to many wha would otherwise
have to wait for time on a big computer,
or work with na computer at all.
And now we come to you, which leads
us right back to where we started: If you
want a computer, then we want to be
your computer store.
Whether you want a computer for the
home, business or industry, come to
ComputerLand first. We'll make it easy for
you to own your first computer. Because,
simply put, we really want your business.
When you come right down to it, that's
what makes us #1.
ComputerLand
WE KNOW SMALL COMPUTERS
®
ComputerLand Europe
Europa Terrassen
8 Rue Jean Engling
Dommeldange, Luxembourg
Phone 43 29 05 Telex 2423
BYTE August 1979 9
An Overview of LISP
John Allen
Signetics
811 E Acques Ave
Mail Stop 38
Sunnyvale CA 94086
LISP is a higher level machine language.
LISP is simple and difficult, elegant and ad hoc; it is a
beautiful blend of foresight and fortuity. LISP is a pro-
gramming language, often characterized as a special pur-
pose list-processing language. But LISP is no more a
special purpose programming language than mathematics
is a special purpose language for floating-point computa-
tions. Just as there's more to mathematics than the
accounting and bookkeeping properties present in
"general purpose" programming languages, there's much
more to LISP than "just another programming language."
The best description of the LISP programming lan-
guage is that it is a high level machine language. That is,
it shares many of the facets of contemporary machine
language — the necessity for attention to detail and the
freedom to manipulate the machine's data and programs
without restriction — yet LISP is high level in that the
language contains the expressive power and convenience
of traditional high level languages. The contradiction is
resolvable: a LISP machine is just a higher level machine
whose data items are organized differently from the
binary bit patterns of most machines, and the LISP pro-
gramming language is the assembly language for this
machine.
LISP Data Structures
Before introducing the constructs of the language, we
must discuss the data items of the language. In a tradi-
tional language we would find numeric constants. In
LISP, the analogous constants are called atoms. An atom
is either a numeral or a literal atom — a string of upper
case alphanumeric characters such that the first character
in the string is an alphabetic character. For example,
ABC123, 12, and NIL are atoms, but 1A2 and (A B) are
not.
LISP also has composite constants called lists. Lists are
built out of atoms and other lists as follows:
• Any atom or list can be an element of a list.
• Given any collection e u ..., e„ of list elements,
(e, ... ej is also a list.
then
last example is a list of three elements; its third element is
also a list — of two elements: the atom ABC and the
numeral 23.
Atoms and lists are the basic LISP data structures.
However, a robust production version of LISP includes
many more data objects including arrays, arbitrary preci-
sion numbers, strings, and representation of functions as
data objects. Regardless of the scope of the data represen-
tations in a specific LISP implementation, it is a fund-
amental property that all data objects are "first class ob-
jects," constructible, testable and available without
restriction. This uniform behavior of data is a property
shared by few other languages.
First
We need some operations on these data structures. Just
as we should have a subtraction operation in arithmetic
machines to decompose numbers, we have LISP instruc-
tions to decompose lists. One such operation is first; it ex-
tracts the first element of a list. For example:
firstj(A B C)l gives: A
This example is written in LISP's external syntax called
meta-LISP or M-LISP; it is an instance of prefix notation.
The programming language, the internal notation, is
called S-expression LISP or S-LISP. Initially, we will pre-
sent algorithms in M-LISP since it is closer to traditional
programming notation. However, since S-LISP is our
machine language we will insist on developing facility
with that notation.
In a traditional architecture, both instructions and data
are stored in memory. The processor usually has com-
plete freedom to manipulate any of these objects as either
data or instructions. An object accessed by the instruc-
tion counter is interpreted as an instruction; other ac-
cesses to items usually imply a data interpretation. One
goal is the representation of LISP instructions as data
items in the LISP machine such that the processing unit of
the LISP machine will have equal flexibility in inter-
preting the encoded information. An object may some-
times play the role of program, and sometimes of data.
To represent program as data we must specify a
translation of each M-LISP instruction into a list
So, (A B) is a list; as is (A B C), and (A 1 (ABC 23)). The representation:
About the Author
John Allen, our guest editor for this special LISP theme issue, is the
author of the book Anatomy of LISP and currently product engineer at
Signetics Corporation. He is also founder of The LISP Company, an
organization to produce LISP related products.
External Notation
< operation > /< operand > ,; ... ;< operand > J
List Notation
(< operation > r < operand > i r . .
< operand > n T )
10 August 1979 © BYTE Publications Inc
Circle 255 on inquiry card.-
DOUBLE DENSITY
** ..
OIID SAVIN
c\jy
Now you can put your S-100 system solidly into
a full-size, single/double density, 600K bytes/side
disk memory for just $1149 complete.
DISCUS/2D™ single/double density disk
memory from Thinker Toys™ is fully equipped, fully
assembled, and fully guaranteed to perform perfectly.
DISCUS/2D™ is a second generation disk
memory system that's compatible with the new IBM
System 34 format. The disk drive is a full-size Shugart
800R, the standard of reliability and performance in
disk drives. It's delivered in a handsome cabinet with
built-in power supply.
The S-100 controller utilizes the amazing Western
Digital 1791 dual-density controller chip . . . plus
power-on jump circuitry, 1K of RAM, 1K of ROM with
built-in monitor, and a hardware UART to make I/O
interfacing a snap.
The DISCUS/2D™ system is fully integrated with
innovations by designer/inventor George Morrow.
Software includes BASIC-V™ virtual disk BASIC,
DOS, and DISK-ATE™ assembler/editor. Patches for
CP/M* are also included. CP/Mt Microsoft Disk
BASIC and FORTRAN are also available at extra cost.
DISCUS/2D™ is the really solid single/double
density disk system you've been waiting for. We can
deliver it now for just $1149. And for just $795 apiece,
you can add up to 3 additional Shugart drives to your
system. Both the hardware and software are ready
when vou are.
Ask your local computer store to order the
DISCUS/2D™ for you. Or, if unavailable locally, write
Thinker Toys,™ 5221 Central Ave., Richmond, CA
94804. Or call (415) 524-2101 weekdays, 10-5 Pacific
Time. (FOB Berkeley. Cal. res. add tax.)
*CP/M is a trademark of Digital Research.
C^jMorrow makes disk memory for
Thinker Tbys
The raised T means perform the translation process
recursively.
For this translation to be meaningful, we must also
describe how the recursion process is to terminate:
An operation in external notation is something like
first or +, whereas an operation'!' must be an atom
or a list. We translate the operation name to an
appropriate atom: first translates to FIRST, and +
to PLUS.
The operand of first[(A B C)j is the constant (A B
C). We will translate a constant a to the construct
(QUOTE a). For example, we represent the con-
stant (A B) as (QUOTE(A B)). This solution is
similar to the quoting convention of natural
language: Cleveland is a city, but "Cleveland" is a
9-letter word. The QUOTE operator is more than
simple pedantry; it will play a critical role in the
fetch operation of the LISP machine.
To summarize, our list notation consists of a represen-
tation of the operation followed by the representations of
the operands. Those operands themselves may specify
operations, or they may specify constant operands by
using the quote operation. For example, we represent
first[(A B C)l as (FIRST (QUOTE (A B C))) and (FIRST
(FIRST (QUOTE ((A B) C)))) represents first [first [((A B)
C)H
Values are obtained on a LISP machine in much the
computer mart of new jersey
computer mort of Pennsylvania
IT T 3 the
I k* J microcomputer
L- - - J people®
Computers don't moke o
computer store, PEOPLE do. Our
people hove been involved with
microcomputers since doy one.
We offer experience and
expertise unparalleled in the
microcomputer industry. Whether
you are in the market for a
complete system, peripherals,
custom software, service, or just
some friendly advice; there simply
is no other place to go.
Computer Mart of Now Jorsoy
901 Rout* 27
bolln, HJ 00630
(204)2oOOoOO
STORE HOURS
Tu»i. - Sot. 10am - 6pm
Tom. fr Thura. 'till 9pm
CLOSED MONDAYS
350D»KalbPlk»
Kln 9 of Prussia, PA 19406
(215)265-2560
same manner as one obtains values from a pocket
calculator. We type in an S-LISP expression, and the
calculator displays the result. The evaluation of an ex-
pression can be quite involved. If an operand specifies a
further operation, then the current instruction must be
suspended while that subsidiary computation is per-
formed. So, evaluating (FIRST (FIRST (QUOTE ((A B)
C)))) would involve the following:
The leftmost FIRST must wait since its operand re-
quires evaluation; similarly the next FIRST must
wait to take care of its argument. But its argument
is a quoted expression. QUOTE is kind, requiring
no further computation, but it always returns its
argument as value. Here it returns the list ((A B) C).
The inner FIRST completes now, returning (A B) to
the outermost FIRST; it is nudged into activity and
finally returns A.
Consider (FIRST (QUOTE (FIRST (QUOTE (A B))))).
Notice that the embedded expression (FIRST (QUOTE (A
B))) has the appearance of a LISP instruction. However,
that expression is surrounded by (QUOTE ... ), therefore
it is simply a list; ie, a constant. The final result of the
evaluation will be the atom FIRST (since the computation
encodes the M-expression first [(FIRST (QUOTE (A
B)))l).
Since quoted expressions appear so frequently, we will
introduce an abbreviation. We write (QUOTE a) as 'a.
So, the previous example (FIRST (QUOTE (FIRST
(QUOTE (A B))))) could be expressed as: (FIRST
'(FIRST (QUOTE (A B)))); or as (FIRST '(FIRST '(A
B))). This abbreviation will appear many times
throughout the LISP articles in this and following issues.
Rest
We also have an instruction named REST. You may
think of the instruction as either a machine operation or
as the translation of an M-LISP expression. REST, like
FIRST, expects a list as its argument. However, REST
returns a value representing the list with the first element
removed. The expression:
yields:
(REST '(A B C))
(BC).
Similarly, the expression:
(REST '(BC))
yields:
(C)
What about (REST '(C))l When we remove the last
element from a list we get the empty list. Its representa-
tion in LISP is ( ) .
The operations first and rest are called selector func-
tions since they are used to select components from a
composite data object.
12 August 1979 © BYTE Publications Inc
Circle 66 on inquiry card.
The Intecolor 8070 business system.
At twice the price, it would still be inexpensive.
Because ISC is the world's leading manufacturer
of color terminals, we're able to offer unparalleled
color performance— at phenomenal prices.
Our 8070 Series I Business System is a perfect
example of reliable, yet extremely reasonable prod-
ucts. It's a complete 8080A microcomputer system
that includes the following standard fea-
tures: A dual floppy disk drive with 591 K
bytes of storage; a 19" color data display
with an easily readable 80 characters x
48 line format; and a 60 CPS Impact
Matrix printer. All for a remark-
able *$7000, single unit price.
And that price doesn't j
stop at hardware. Intecolor's
18K Business BASIC in ROM v -I
has 16 digit accuracy and a
■H
PRINT US I NG feature that tailors output to any
specifications.
If you need greater storage capabilities, choose
the 8071 —same system, but with a dual double-
headed floppy disk drive. Giving you 1 1 82K bytes
of storage, for only *$800 more, single unit.
Either way, the Intecolor Series I can relieve
your business of a considerable amount of paper-
work, without costing you a great deal of money.
(Terms— 5% discount for prepay-
ment, or net 20 days.)
For more information and
a complete demonstration,
see your nearest computer
store, or contact your ISC
sales representative.
Color Communicates Better
Unretouched photo of screen
Furniture not included
U.S. domestic prices
ISC SALES REPRESENTATIVES: AL: 205/883-8660. AK: (GA) 4C4/449-5961 . AZ: 602/994-5400. AR: (TX) 214/840-2169. CA: Alhambra 213/281-2280. Goleta 805/964-8751. Irvine 714/557-4460. Los
Angeles 213/476-124 1. Mountain View 415/964-9300. San Diego 714/292-8525. CO: 303/759-0809. CT:(GA) 404/449-5961. DE: (GA) 404/449-5961 . DC: (VA) 703/569-1502. FL: Orlando 305/425-5505,
Ft Lauderdale 305/776-4800, Melbourne 305/723-0766. Tallahassee 904/878-6642. GA: 404/455-1035, HI: 808/524-8633. ID: (UT) 801/973-7969. IL: (No.) 312/564-5440. (So.) (MO) 816/765-3337.
IN: (IL) 312/564-5440. IA: (MO) 816/765-3337. KS: ( MO) 816/765-3337. KY: 606/273-3771, LA: 504/626-9701 . ME: (GA) 404/449-5961 . MD: (VA) 703/569-1502, MA: (GA) 404/449-5961 .
Ml: 313/227-7067. MN: 612/822-21 19. MS: (AL) 205/883-8660, MO: 816/765-3337. MT: (CO) 303/759-0809. NB: (MO) 816/765-3337. NH: (GA) 404/449-5961. N J: (GA) 404/449-5961 ,
NV: (AZ) 602/994-5400. NM: 505/292-1212, NY: (GA) 404/449-5961 , NC: 919/682-2383, ND: (MN) 612/822-21 19, OH: Dayton 513/429-9040, Cleveland 216/464-81 13. Columbus 614/436-2051 .
OK: (TX) 214/840-2169, OR: 503/620-5800. PA: 412/922-5110. Rl: (GA) 404/449-5961, SC: 803/798-8070, SD: (MN) 612/822-21 19, TN: 615/482-5761 , TX: 214/840-2169, El Paso Area (Las Cruces, NM)
505/523-0601. Houston Only 713/780-2511 . UT: 801/973-7969. VT: (GA) 404/449-5961, VA: 703/569-1502, WA: 206/455-9180, WV: 412/922-51 10. WI:(IL) 312/564-5440. WY: (CO) 303/759-0809.
EUROPEAN EXPORT SALES: EUROPE: (MA) 617/661-9424. BELGIUM: Brussels02-242 36-04. FRANCE: Rueil Malmaison 749-40-37, GREECE: Athens 642-1368. ITALY: Roma 805-647/872-457,
THE NETHERLANDS: Poeldijk 01749-7640. SPAIN: Barcelona 204 17 43. SWEDEN: Vallingby 08-380-370. SWITZERLAND: Mutschellen 057-54655. UNITED KINGDOM: Bournemouth 0202-293-1 15.
WEST GERMANY: Munchen 089-31881. AUSTRALIA* NEW ZEALAND: Melbourne 543-2077. Meadowbank 808-1444. Chermside59-6436,We!lington64-4585.Auckland876-570,CANADA:
Datamex, Ltd. (Distributor) Dorval 514/636-9774, Ottawa 613/224-1391, Toronto 416/787-1208, Vancouver604/684-8625. CENTRAL & SOUTH AMERICA & CARIBBEAN: (GA) 404/394-9603. MEXICO:
Monterrey 564-876, FAR EAST: (C A) 213/382-1 107, HONG KONG: 5-74221 1 . JAPAN: Tokyo 402-8596, TAIWAN: Taipei 02-7026284, MIDDLE EAST: IRAN: Tehran 891 148, ISRAEL: Tel Aviv 266-291,
KUWAIT: Kuwait 438 180/1/2, LEBANON: Beirut 221731 2601 10, SAUDI ARABIA: Jeddah 27790, Ryadh 25083-39732, UNITED ARAB EMIRATES: Sharjah 24068.
For sales and service in other countries contact ISC headquarters in Norcross. G A., U.S.A.
Intelligent Systems Corp. □ 5965 Peachtree Corners EastO Norcross, GA 30071 D Telephone 404-449-5961 DTWX 810-766-1581
Circle 176 on inquiry card.
BYTE August 1979 13
An operation which builds new objects is
a constructor.
List
Besides decomposing objects, we must be able to build
new objects. The general name for an operation which
builds new objects is a constructor. One LISP constructor
is LIST. Here are some examples of usage:
yields:
(LIST 'A 'B 'O
(A B C).
yields:
(LIST 2 'B)
(2B)
Note that we did not quote the 2. LISP understands
that numbers are constants. Also, the LIST operation will
take an arbitrary number of operands; three in our first
example, two in this one, and none in the next:
yields:
(LIST)
().
r
At last. . .
the mechanical interface
Turn your electric typewriter into a low
cost, high quality hard copy printer.
\
30 Day Delivery
User list
*395 00
Price increase
September 1st.
Dealer Inquiries
Invited.
<&&'
The all new
I/O Pak from
Rochester Data,
Inc. interfaces the keyboard
of any commercially available
electric typewriter with any
computer. The result: low cost, high
quality hard copy.
Write today for more information.
Incorporated
^ 3100 Monroe Avenue, Rochester, New York 14618 ^y
As with the other instructions, except QUOTE, LIST
can handle instructions as operands.
Try to determine the result of:
(LIST (FIRST (QUOTE (A)))
(REST (QUOTE (A B))) (QUOTE Q).
Diligence may have been rewarded and you may have
responded (A (B) C). There's an equal probability that
you got mired in parenthesis-counting and responded
( ? $ f i). One solution is to resort to M-LISP and recast
the expression as: Hst[first[(A)];rest[(A B)];C]
Since we should develop our S-LISP expertise, we
might also use our abbreviation: (LIST (FIRST '(A))
(REST '(A B)) 'C).
A more general technique is pretty-printing. Pretty-
printing exploits additional lines and spaces to highlight
the structure in complex expressions. For example:
(LIST (FIRST (QUOTE (A)))
(REST (QUOTE (A B)))
(QUOTE C))
or:
(LIST (FIRST '(A))
(REST '(A B))
f C)
In a modern LISP implementation we would find further
aids for locating matching parentheses, just as an interac-
tive Algol-like language should have aids for locating
matching begin-end pairs.
Concat
Another S-LISP operation for building lists is
CONCAT. It is a two-operand instruction; its first
operand can either be an atom or a list, but its second
operand must reference a list. The effect of CONCAT is
to build a new list whose first element is the first
argument of the CONCA T and the remainder of the new
list is the second operand of CONCAT. For example
(CONCAT 'A '(B)) would evaluate to (A B).
Note that LIST takes an arbitrary number of
arguments and builds a list whose elements are those
arguments. On the other hand, CONCA T takes only two
arguments, an element and a list, and adds the element to
the front of the list. For example:
(LIST '(A) '(C))
gives:
while:
gives:
((A) (C))
(CONCAT '(A) '(C))
((A) C)
14 August 1979 © BYT 1 : Publications Inc
Circle 326 on inquiry card.
What makes the Microtek Printer
so different? Nothing!
EXCEPT. . . •
THE PRICE: $750 (with parallel interface)
THE PERFORMANCE:
• 80 or 1 20 columns (software selectable)
• Plain paper
• Pin Feed
• Double width printing
• 1 25 characters per second, 70 lines per minute
nominal throughput
• 9x7 Matrix (80 columns/line), 7x7 Matrix (120
columns/line)
• Vertical Format Unit
• 96-character ASCII (upper and lower case)
• Forms width continuously adjustable between
4.5 inches and 9.5 inches (including sprocket
margins)
• Parallel (Centronics type) interface standard.
Serial (RS-232) and IEEE-488 interfaces
available
To: MICROTEK, Inc., 7844 Convoy Court, San Diego, California 921 1 1 (714) 278-0633
D Send me more information.
D Send me a printer with:
□ Parallel interface @ $750. □ Serial interface @ $835. □ IEEE-488 interface @ $895
□ Check or Money Order enclosed. □ Charge my VISA card. □ Charge my Master Charge card.
name (please print)
card number
address
cardholder's signature
city
state
zip
exp date
phone
Add $15.00 for packaging & shipping.
Dealer inquiries invited.
California residents add 6% sales tax.
BYTE August 1979 15
Circle 209 on inquiry card.
Why not
kill two birds
with one stone?
If you have an Apple* and you want to interface it with
parallel and serial devices, we have a board for
you that will do both. It's the AIO.™
Serial Interface.
The RS-232 standard assures maximum compat-
ibility with a variety of serial devices. For ex-
ample, with the AIO you can connectyour Apple*
to a video terminal to get 80 characters per line
instead of 40, a modem to use time-sharing
services, or a printer for hard copy. The
serial interface is software programmable,
features three handshaking lines, and
includes a rotary switch to select from
7 standard baud rates. On-board firm-
ware provides a powerful driver
routine so you won't need to write any
software to utilize the interface.
Parallel Interface.
This interface can be used to connect your
Apple* to a variety of parallel printers. The
programmable I/O ports have enough lines
to handle two printers simultaneously with
handshaking control. The users manual
includes a software listing for controlling
parallel printers or, if you prefer, a par-
allel driver routine is available in firm-
ware as an option. And printing is
only one application for this general
purpose parallel interface.
Two boards in one.
The AIO is the only board on the market that can interface the Apple
to both serial and parallel devices. It can even do both at the same
time. That's the kind of innovative design and solid value that's been
going into SSM products since the beginning of personal computing.
The price, including PROMs and cables, is $135 in kit form, or $175
assembled and tested. See the AIO at your local computer
store or contact us for more information.
.£357
2116 Walsh Avenue
Santa Clara, California 95050
(408) 246-2707
These constructors can be used at anytime to com-
pose new data objects. Now we can decompose lists
and make new ones. We can perform evaluation of
simple expressions, much like the facilities of a hand
calculator. Soon we will show how to add new
operations to the LISP calculator.
Recognizers and Predicates
In traditional assembly language programming
we find instructions which test for zero or compare
two numbers. In LISP we manipulate data objects
built from atoms and lists. The "zero" of lists is the
empty list, ( ); and so we include a test for ( ). Since
elements of a list can either be atomic or lists
themselves we include a test for "atomness", atom.
Finally, we must be able to distinguish between two
nonidentical atoms using an equality test.
All LISP operations compute values. The values
which our previous operations produced were
atoms or lists; these new operations called
predicates produce "truth values" — true or false. In
M-LISP, we represent true and false as t and /;
however, in S-LISP, these truth values must be
represented as data items, so we pick the atoms T
and NIL as their representations:
EQ: Compare two atoms. That is, EQ is a
two-operand instruction which gives
value T just in case those operands
represent the same atom.
ATOM: This single-operand instruction gives T
if its operand is an atom, and gives NIL
otherwise.
NULL: This single-operand instruction gives T
just in case its operand is the empty list,
o.
For example:
S-LISP
(ATOM 'A) gives T
(ATOM '(A)) gives NIL
(EQ 'A *B) gives NIL
(NULL '(A B)) gives NIL
M-LISP
atom[Aj gives t
atom[(A)j gives /
eq[A;B] gives /
null [(A B)l gives /
Since the predicates are value-producing they can
be used with the other list-manipulating operations:
(CONCAT (ATOM 'A)
(LIST 1 A)) gives (T 1 A)
Notice that the atom predicate is of slightly dif-
ferent character than eq and null. Namely, atom is
performing a "type test" on a data structure; such
predicates are called recognizers.
Text continued on page 118
Circle 335 on inquiry card.
Circle 9 on inquiry ca
rd.
personal computer.
In California, a store owner charts sales on his Apple
Computer. On weekends though, he totes Apple home to help
plan family finances with his wife. And for the kids to explore
the new world of personal computers.
A hobbyist in Michigan starts a local Apple
Computer Club, to challenge other members
5^> io com P uier S ames of skill and to
^*£ trade programs.
Q
\ (S Innovative folks everywhere
\ have discovered that the era of the
personal computer has already
■ begun — with Apple.
Educators and students use Apple
in the classroom. Businessmen trust
Apple with the books. Parents are
making Apple the newest family pastime. And kids of all
ages are learning how much fun computers can be.
Circle 9 on inquiry card.
Visit your local computer store
The excitement starts in your local computer store. It's
a friendly place, owned by one of your neighbors. He'll show
you exactly what you can use a personal computer for.
What to look for
Your neighborhood computer store has several
different brands to show you. Chances are the salesman will
recommend an Apple Computer. Apple's the one you can
program yourself. So there's no limit to the things you can
do. The more you use your Apple the more uses you'll
discover. So it's important that Apple is the computer with
more expansion capability. You can't outgrow Apple.
It's your move
Grab a piece of the future for yourself — we'll give
you the address of the Apple dealer nearest you when
you call our toll-free number. Then drop by
and sink your teeth into an Apple.
(800) 538-9696.
In California,
(800) 662-9238.
LISP Based Systems for Education
J Laubsch, G Fischer, and H D Bocker
Institute for Information
University of Stuttgart
Stuttgart, GERMANY
Future Computer Culture
There is sufficient evidence that personal computer
systems will become as powerful as today's computer
systems used in artificial intelligence research. Within the
artificial intelligence community people are concerned
about possible uses of computers in an evolving com-
puter culture. The basic goals of artificial intelligence are
to:
• synthesize systems that behave intelligently;
• understand intelligence in terms of computational
concepts.
The human needs a personal computer system will one
day help to satisfy cover the range of playing, learning,
recreation, artistic creation, and personal assistance to
expand one's own memory and reasoning power. Using a
computer to build an intelligent tutor and an educational
environment that stimulates learning by discovery (ie:
through simulation, exploratory problem solving) are of
central importance to artificial intelligence. Although
canned software for educational applications will be
widely available there remains a need for programming
to tailor the system to the user's individual needs and
requirements.
Our notion of what programming is all about will
drastically change: it will cover a wide range of possible
relationships between man and machine where a person
creates and manipulates dynamic information structures
according to personal tasks and taste. Program writing,
in the historical sense of writing individual statements, is
just one aspect of using a computer and will become less
relevant, if not obsolete, compared to the understanding
and modification of prefabricated software components.
LISP Based Systems
Historically, LISP has been used as the basic tool of ar-
tificial intelligence since the computational ideas embed-
ded in it, together with the program development system
built around the language, lend themselves most natural-
ly to the design of complex systems.
The design of LISP systems has been guided by an em-
phasis on supporting the user to solve complex, ill-
structured, poorly understood problems at already early
stages (eg: problem formulation, approximations to the
final solution, support of debugging and program modi-
fication), rather than only the final step of coding a well
understood problem or an already known algorithm in a
given programming language. Program constructs and
programming methodology in the LISP culture were par-
ticularly concerned with cognitive efficiency (ie: to make
programs understandable by humans). It was one of the
gratifying results of this work that these programs, with
the help of program transformation systems, can also be
proved correct and run efficiently.
Designing a Personal Information System
Suppose you want to design a personal notebook con-
taining people's names, addresses, interests, programs
they use, messages you are sending them, appointments
you make with them, etc. Such a system will consist of
frequently changing information structures. As a per-
sonal information system it should model and extend that
information system in our head. By using the system, we
will feel the need for new features that should be incor-
porated (ie: an easy to learn command language or an in-
structional help facility to introduce a new user). A more
advanced version of the system should be able to perform
simple deductions. For instance, if we tell the system at
some point of time, "My friend Jim has moved to San
Francisco" and later ask it to, "List all friends in Cali-
fornia," Jim should be included in the set. Eventually this
system could "grow up" to become a personal assistant.
We will show that the computational ideas of LISP, as
developed in the artificial intelligence community, are
particularly well-suited for this kind of application.
Basic Computational Ideas
We list those ideas which are relevant to the design of
complex programs and transcend the capabilities of other
languages and systems. In almost all interesting educa-
tional applications of computers, complex programs will
be involved:
18 August 1979 © BYTE Publications Inc
• Incremental design. E Sandewall feels that inter-
active middle-out programming (besides top-down
and bottom-up approaches) is a natural way to
build a complex system in a process of structured
growth. We construct a simple version of the
system, try it out, identify our misunderstandings
and debug it. This knowledge, and our critique, will
lead to modified specifications, and a new cycle of
exploratory programming begins. Since LISP sys-
tems are incremental, old modules may be modified
and new building blocks can be added with an im-
mediate effect. The compilation of fully debugged
code is available as an optional feature.
• Complex dynamic data-structures. Most informa-
tion processing models and problems to be solved
with the computer will deal with complex dynamic
structures like lists, trees, nets, property lists, etc,
and will not be based only on numbers and strings.
In our above example, the information associated
with a person could be represented in a natural way
as the linked structure in figure 1. It should be easy
to include new attributes or provide for a business
as well as a home address.
We define data structures abstractly through
functions: constructors to build a datum; selectors
to extract an attribute, and predicates to examine
the type of a data structure. Including other
representations, such as graphics, is easy since most
LISP systems contain a higher level assembly
language that gives access to the machine level.
• Data-program equivalence. A typical strategy to
attack problems in artificial intelligence is to define
layers of languages, each suited to a particular
level of abstraction (eg: <user interface
language > — < interim language 1> — . . . — LISP).
The definition of LISP itself, as stated by John
List All Friends in California
(FOR ALL X IN (GET/FILE FRIENDS)
(IF (GET/STATE X):CALIFORNIA
THEN (PRINTOUT (GET/NAME X))))
User Input
Translation
Evaluation
System Output
List of
Addresses
Table 1: A typical problem approach may be to take a user com-
mand and translate it into program instructions. These program
instructions are then executed by the computer. This is an exam-
ple of taking a high level user language and converting it into
efficient machine language.
McCarthy, provides a good model for this ap-
proach, since most of a LISP system is itself written
in LISP, except for a handful of primitive functions.
For example, the user's command is translated into
a program and then evaluated as in table 1.
LISP facilitates this approach since the function
EVAL lets the user evaluate any data as a program!
The inverse is also true; it is quite easy to write pro-
grams which manipulate other programs as if they
were data.
• Pattern matching and data driven programming.
The system should respond to situations where the
order in which certain actions are to be taken is not
specified in advance. Furthermore, in many situa-
tions it will be impractical to specify a question
literally: we might have to leave slots open which
can be filled in by the system, using the knowledge
contained in its data base. In our example, many
other types of requests are possible. To translate
them, patterns to decompose and recompose them
can be defined.
CITY
=
=
Figure 1: An example of a linked list. This form of linked list is called a singly linked list. In a singly linked list, the user can only
move in one direction, forward in the direction of the arrow. In a doubly linked list, the user can retrace the steps taken to arrive at
the present location.
August 1979 © BYTE Publications lnc 19
Pattern languages like these are easy to imple-
ment in LISP (see Winston, Bocker and Fischer, and
Kornfeld's article in this issue). Constructs con-
sisting of condition action pairs form the basis of
production systems as described by Newell and
Simon. Procedure calls are triggered (and thus, data
structures are manipulated) by the global state of a
world (ie: the data/knowledge available) and not
according to a predefined calling structure.
• Property lists. Property list-like structures form the
basis of an associative memory. They were deve-
loped in list processing languages (eg: IPL-V and
LISP) and have been generally (ie: in many pro-
gramming languages) accepted as constructs which
are conceptually easy to handle.
They allow procedures to be linked to data items
and evaluated depending on the current state of the
system. For example, to update the address of Jim
we may write:
(APPLY (GET JIM UPDATE/ADDRESS) (READ))
The first argument of APPLY is an address updating
function, which is stored on the property list of JIM
under the property UPDATE/ADDRESS. The se-
cond argument of APPLY is the argument the up-
date function will become applied to. In our exam-
ple these data will be requested from the user
through the function READ.
The educational value of these ideas is that they
provide powerful ideas for the personal computer
user who wants to shape a reactive environment to
his needs.
LOGO Based Learning Environments
LOGO is, up to surface structure, more or less
equivalent to LISP. LOGO as a programming language
(developed by W Feurzeig and S Papert) was designed
and developed to form the basis for learning environ-
ments in which the student taking an active role can learn
about computers and use them to investigate issues in
education and cognitive psychology. The LOGO system
supports two different (by no means disjoint) environ-
ments: the Turtle, Graphics and Musicbox world (ie:
peripheral devices which are controlled by a command
language) and the LISP world. A well-engineered pro-
gramming environment, based on an LSI-11, is commer-
cially available as a stand alone, personal computing
system. It integrates the language processor, editor,
tracer, debugger, file management, document facilities
and text processing into one system (comparable efforts
to build similar systems around Pascal are still in their
infancy).
LOGO projects working on computers and education
can be found in many places around the world. We brief-
ly summarize the experiences we gathered in our project
in Darmstadt (see also Fischer):
• Basic computational ideas like recursion, the con-
f
^
G. W. COMPUTERS LTD.
This is how your business appears on the screen
Approximately 60-100 entries/inputs require only 2-4 hours
weekly and your entire business is under control.
*PROGRAMS ARE INTEGRATED - SELECT FUNCTION BY NUMBER
^
01 = ENTER NAMES/ADDRESS, ETC
02 = *ENTER/PRINT INVOICES
03=*ENTER PURCHASES
04=*ENTER A/C RECEIVABLES
05 = *ENTER A/C PAYABLES
06= ENTER/UPDATE INVENTORY
07 = ENTER/UPDATE ORDERS
08 = ENTER/UPDATE BANKS
09 = EXAMINE/MONITOR SALES LEDGER
10=EXAMINE/MONITOR PURCHASE LEDGER
11 = EXAMINE/PRINT INCOMPLETE RECORDS
12 = EXAMINE PRODUCT SALES
WHICH ONE? (ENTER 1-24)
Each program goes to sub menu, e.g.:
(9) allows: A, LIST ALL SALES; 13, MONITOR SALES BY STOCK CODES;
C, RETRIEVE INVOICE DETAILS; D, AMEND LEDGER FILES;
E, LIST TOTAL ALL SALES.
Think of the possibilities and add to those here if you wish.
Price tor current package Version 1 is $550, or Version 2 (including aged debtors analysis, etc.) is $750, or full listing, $300.
All programs in BASIC for SWTP 6800 and Pet 16/32K Systems. Package includes Jl programs.
13= PRINT CUSTOMER STATEMENT
14= PRINT SUPPLIER STATEMENTS
15 = PRINT AGENT STATEMENTS
16=PRINT TAX STATEMENTS
17=PRINT WEEK/MONTH SALES
18= PRINT WEEK/MONTH PURCHASES
19=PRINT YEAR AUDIT
20= PRINT PROFIT/LOSS ACCOUNT
21 = UPDATE END MONTH FILES
22 = PRINTCASH FLOW FORECAST
23 = ENTER/UPDATE PAYROLL (NOT YET AVAILABLE)
24 = RETURN TO BASIC
contact: Tony Winter on 01-636-8210
21 B Dryden Chambers
1 1 9 Oxford Street
London W1, UK
Circle 153 on inquiry card.
20 August 1979 © BYTE Publications Inc
Circle 285 on inquiry card.
Both sides now
North Star Announces —
Double Density x 2 Sides = Quad Capacity!
The North Star Horizon now delivers quad capacity by using two-sided
recording on our new mini drives! That's 360,000 bytes per diskette! A four
drive North Star system accesses over 1.4 megabytes of information on-line!
Think of the application flexibility that so much information storage can
give you!
North Star has quadrupled the disk capacity of the Horizon computer but
prices have increased a modest 15 percent. On a dollar per byte basis,
thqt'sci bargain that is hard to beat!
The proven North Star disk controller was originally designed to
accommodate the two-sided drives. North Stgr DOS and BASIC are
upgraded to handle the new capacity, yet stifl run existing programs with
littte or no change. Of course, single sided diskettes are compatible with the
new disk system.
gtfHi
Get both sides now! Quad capacity
Is available from your North Star
dealer. H
NortriSlaf^
North Star Computers
1440 Fourth Street
Berkeley, CA 94710
(415) 527-6950 TWX/Telex 91 0-366-7001
Normstaf
TRADITIONAL APPROACH
LOGO APPROACH
NATURAL LANGUAGE
MATHEMATICS
LOGO
PASCAL
A PL
Figure 2: Two different approaches to bridging the gap between natural language and the formal symbols of programming
languages are represented. The traditional approach links everything closely with mathematics and uses mathematics as the bridge,
In the authors' approach, the LOGO language is used as the bridge since it can be used to develop reasoning powers without having
to become involved with the language of mathematics.
cept of an interpreter, list processing and those
mentioned above can be naturally integrated into
interesting projects, caused no difficulties for
students to understand, and can be considered as
powerful in the sense that they are widely appli-
cable (even in problem solving situations without
the computer).
• Graphic devices, music box, etc, provide strong
motivational support, excellent entry points to ex-
plore the world of computation because early suc-
cess is possible and interaction with the machine is
based on observable and intuitively understandable
events.
medium to test one's own understanding of con-
cepts and of poorly understood systems (ie: if we
really understand something, we can write a com-
puter program that will do it).
• Group projects are easy to realize since the program
development system supports the organization of
modules as building blocks. In our example of a
personal information system, one person could
write the module to translate inputs into an internal
representation, another person may write a deduc-
tive component and a third person could deal with
the problem of how to answer requests or questions
from the user.
• Our experiences, especially with young students,
indicate that programming in LOGO may serve as a
bridge between natural language communication
and reasoning and the formal and abstract symbols
and reasoning in mathematics and programming
languages. The findings differ greatly from the
traditional approaches where computer scientists
try to keep things linked as closely as possible to
mathematics, assuming that mathematics could
serve as a bridge to programming (which we all
know is questionable because most people are more
alienated by mathematics than attracted). Figure 2
illustrates the two different approaches.
Our findings can at least be partly explained by
the cleanliness by which the basic computational
ideas are embodied in LISP/LOGO.
• Our programming methodology differed in an
essential way from other approaches. Procedures,
including parameters and recursion as basic control
structures, were introduced long before the concept
of a variable was mentioned. These two aspects are
not independent of each other. They basically intro-
duce the learner to "pure LISP" (ie: a version of
LISP without variables) and avoid the problems
associated with side-effects and global variables.
• Our empirical evidence indicates that learning other
programming languages (eg: BASIC, Pascal) after
having learned LOGO was easy because constructs
in these languages could be easily mapped into
known concepts, whereas this statement does not
hold in the other direction.
• Our programming environment stimulates learning
by discovery. New concepts are discovered by solv-
ing a problem through incremental writing and
debugging of programs. The computer serves as a
Intelligent Computer Assisted Instruction
Despite our belief that the most important impact of
computers for educational applications will be the active
independent use described in the previous section (the
22 August 1979 © BYTE Publications Inc
Graphics for small systems
were too expensive...
HUPOj
TM
Until Now
digital plotters
The perfect small system output device
• Displays data in easy to read graphical
format
• Both serial and parallel inputs built-in
• Uses standard 8V2" x 11" paper
• Plotting speed up to 2.4 ips
• Resolution of both 0.01 and 0.005 in.
• Baud rate and step size easily changed
• Completely assembled and ready to use
• Priced at $1085*
digitizers
The perfect small system input device
• Resolution and repeatability of 0.005 in.
• Origin is completely relocatable
• RS232C and 8 bit parallel interface se-
lectable at the connector
• Accuracies of ±0.015 in. (0.4mm)
• Optional LC display shows
actual values being inputted
• Digitizing surface 11" x 11"
• Priced at $795*
WEHi
I
I
'U.S. Domestic Price Only
TM Trademark of Houston Instrument
. u j.H
)•-■
^
Ol VISION OF BAU8CH & LOMB (£)
For rush literature requests
or local sales office Information only,
persons outside Texas call toll free 1-800-531-5205.
Houston
instrument
ONE HOUSTON SQUARE AUSTIN, TEXAS 78753
(51 2) 837-2820 TWX 91 0-881 -2022
"the graphics - recorder company"
ci idadc a m Arrive Rochesteriaan 6 8240 Gistel Belgium
EUROPEAN OFFlUE phone 059/277445 Telex Bausch 81399
Circle 172 on inquiry card.
BYTE August 1979 23
student teaches the computer), we do not overlook the
rich potential of using intelligent programs to teach the
student certain subjects, to involve and tutor him in game
playing situations, and to diagnose his difficulties.
The traditional computer aided instruction was
modelled on a reduced view of learning: present a
stimulus item to the learner, receive a response and give a
reinforcement. More advanced programs select the
material to be presented according to how well the stu-
dent is doing, or give him a possibility to select the parti-
cular topic he wants to study or practice. From a more
comprehensive view of learning, it is essential to diagnose
the learner's cognitive development and support him
through a tutor who is himself an expert in the problem
and can infer the conceptual difficulties this learner may
encounter. A prototype is the Buggy program written by
artificial intelligence researchers J Brown and R Burton,
which goes far beyond traditional computer aided in-
struction programs by integrating artificial intelligence
techniques and cognitive theories about learning,
teaching and debugging.
Buggy relies on the basic pedagogical assumption,
which was verified through extensive empirical findings,
that students give wrong and arbitrary answers in only a
few cases but tend, rather, to answer a different question
or compute a result according to a different algorithm.
They behave, in many cases, with absolute consistency
with respect to their own theories. To provide real help,
the teachers have to deduce the underlying misunderstan-
ding (ie: the deep structure) from scarce observations on
the surface. Buggy is a program which does this for sim-
ple arithmetic skills. The knowledge to draw an inductive
inference is stored in a diagnostic model, which tries to
capture possible deviations from the correct way of doing
the task.
Another example that uses a diagnostic model is the
Wumpus advisor (called Wusor II), which teaches in-
ference strategies in the Wumpus game created by
Gregory Yob. The program teaches the knowledge of an
expert player by tailoring its advice and explanations to
its current estimation of the player's knowledge. These
programs may serve as prototypes of intelligent tutoring
programs to teach the playing of games.
A different approach in intelligent computer aided in-
struction does not include an expert tutor, but is guided
by the philosophy of creating a simulated environment
which the user is free to explore at will. The discovery of
this environment leads to the acquisition of new skills
and knowledge. Prototypes of such systems are: Scholar,
a question answering system to learn about geography in
a mixed initiative dialogue (Carbonell); Sophie, a system
to teach electronic trouble-shooting (Brown, Burton,
Bell); and the Logic program developed at Stanford (Sup-
pes). What makes these programs appear to behave in-
telligently is the fact that the knowledge they teach is us-
ed by these systems in many ways to carry out dialogues
(for an overview see Laubsch).
A crucial component of friendly, intelligent, computer
aided instruction systems is natural language (eg: the
Sophie system). Rapid advances in artificial intelligence
make it seem likely that natural language interfaces will
be available for many applications of interest to the
general public.
It is not possible to explain the details of these pro-
grams here down to an implementation level, because
these systems are large and complex as compared to cur-
rent standards. The historical evidence may suffice to
show that all these systems have been implemented in
large sophisticated LISP systems (eg: InterLISP) which
have matured over more than a decade to support the
development of systems of this size.
Conclusions
LISP remains a tool in artificial intelligence and educa-
tional research, even though it has contributed greatly to
our understanding of computational issues and their
relevance to intelligent behavior.
We do not want to give the impression that all inter-
esting uses of computers are centered around LISP. Some
of the most innovative work was done by the Learning
Research Group at Xerox Research Center in their
development of the Dynabook and the Smalltalk
language.
The real issues remain and pose many research pro-
blems for the years to come: to create cognitive theories;
to create a science of intelligence, and to apply it suc-
cessfully to the problems of education. ■
Bibliography
1. BOCKER, H D, and FISCHER, G, Interaktives Problemlosen mit
Computer hi If e: Problemaufgaben, Forschungsgruppe CUU,
Darmstadt, 1978.
2. BROWN, J S, BURTON, R R, and BELL, A G, "Sophie: A Step
Toward Creating a Reactive Learning Environment," Interna-
tional Journal of Man-Machine Studies, volume 7, 1975, pages
675 thru 696.
3. BROWN, J, and BURTON, R, "Diagnostic Models for Procedural
Bugs in Basic Mathematical Skills," Cognitive Science, volume
2, 1978, pages 155 thru 191.
4. CARBONELL, J R, "Al in CAI: An Artificial Approach to
Computer-aided Instruction," IEEE Transactions on Man-
Machine Systems, volume MMS-II, number 4, 1970.
5. CARR, B, WUSOR II: A Computer Aided Instruction Program
with Student Modelling Capabilities, Al-Memo 417, MIT Artificial
Intelligence Lab, Cambridge MA, 1977.
6. FISCHER, G, "Das Losen komplexer Problemaufgaben durch
naive Benutzer mit Hilfe des interaktiven Programmierens,"
Forschungsgruppe CUU, Darmstadt, 1977.
7. FEUERZEIG, W (editor), Programming Languages as a Concep-
tual Framework for Teaching Mathematics, BBN Report
Number 2165, Cambridge MA, 1971.
8. General Turtle Corporation, 120 Boulevard Industriel, Boucher-
ville Quebec, 34B 2X2 CANADA.
9. KAY, A, "Microelectronics and the Personal Computer," Scien-
tific American, September 1977, pages 231 thru 244.
10. LAUBSCH, J, "Artificial Intelligence Methoden im CUU," K
Brunnstein et al (editors), Lecture Notes in Computer Science,
volume 17, Springer Verlag, Berlin, 1974, pages 385 thru 393.
11. MCCARTHY, J, "A Micromanual for LISP— not the Whole
Truth," SIGPLAN Notices, volume 13, number 8, August 1978,
pages 215 thru 216.
12. PAPERT, S, "Uses of Technology to Enhance Education," Logo
Memo 8, MIT Artificial Intelligence Lab, Cambridge MA, 1973.
13. SANDEWALL, E, "Programming in the Interactive Environment:
The LISP Experience," ACM Computing Survey, volume 10,
number 1, 1978, pages 35 thru 72.
14. SUPPES, P, SMITH, R, and BEARD, M, University Level Com-
puter assisted Instruction at Stanford, TR number 265, IMSS,
Stanford University, Stanford CA, 1975.
15. WINSTON, P, Artificial Intelligence, Addison Wesley, Reading
MA, 1977.
16. YOB, G, "Hunt the Wumpus," Creative Computing, September
and October, 1975, pages 51 thru 54.
24 August 1979 © BYTE Publications Inc
SYBEX
LEADER IN
COMPUTER EDUCATION
SYBEX, INC.
Milvia Street
keley, California
94704
□ PROGRAMMING THE Z80, ret C280, by Rodney Zaks, 330 pp $1 1.95
□ PROGRAMMING THE 6502, ref C202, by Rodnay Zaks, 350 pp. (2nd Edition) $1 1 .95
D 6502 APPLICATIONS BOOK, ref D302, by Rodnay Zaks, 288 pp $12.95
U MICROPROCESSOR INTERFACING TECHNIQUES, ref C207, by Rodnay Zaks, 420 pp $14 95
D AN INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING, ref C200, by Rodnay Zaks, 250 pp $6 95
□ MICROPROCESSORS-FROM CHIPS TO SYSTEMS, ref C201, by Rodnay Zaks, 420 pp $9 95
G FREE DETAILED CATALOGUE
TO ORDER:
By Phone:(415) 848-8233. Visa, Mastercharge,
American Express.
By Mail: Check books above. Include payment.
Shipping: Add $1.50 per book (UPS), or 75C
(4th class- allow 4 weeks).
Tax: In California, add tax.
NAME
COMPANY
ADDRESS _
CITY
_STATE.
.ZIP.
□ Charge my: D Visa □ Mastercharge □ American Express
Number Exp. Date_
Signature
Circle 358 on inquiry card.
BYTE August 1979 25
The Lambdino Storage
Management System
Gianfranco Prini
Instituto di Scienze dell'Informazione
Universita' di Pisa
Corsa Italia 40.
1-56100 Pisa ITALY
Martin Rudalics
Institut fuer Mathematik
Johannes Kepler Universitaet Linz
A-4045 Linz/Auhof AUSTRIA
Lambdino is a statically scoped dialect of LISP (see
glossary for definitions). The name Lambdino is a com-
bination of lambda, Landin, and ino, where lambda
stands for itself, Landin refers to a person, and ino is an
Italian suffix for small. The reference to Peter Landin is
due to the fact that he designed the first statically scoped
applicative language based on the interpretive philo-
sophy of LISP (as described in his paper entitled 'The
Mechanical Evaluation of Expressions"). Other
predecessors of Lambdino include the anonymous lan-
guage used by Reynolds in his work Definitional Inter-
preters for Higher-Order Programming Languages and in
Scheme as described by G Sussman and G Steele.
A detailed description of Lambdino and the problems
posed by its implementation are beyond the scope of this
paper. Here we only want to sketch some ideas on which
we have based its storage management system. Thus
LISP or Scheme may be substituted for Lambdino
throughout this paper.
An explicit design goal of Lambdino is its transport-
ability onto a wide class of computers, including
microcomputers. Particular care has been put into the
development of the Lambdino storage management
system in order to fit the space and time constraints of
microcomputers. A machine independent version of
Lambdino, implemented in MagmaLISP, has been rea-
lized and will be bootstrapped in the near future on
several machines, including an IBM System/370 Model
168 (IBM 74) and a Zilog Z-80 Development System. The
only assumption made in this implementation is that the
memory of the host machine is structured into directly
addressable bytes.
Storage Management in LISP
Implementors of LISP systems have developed various
techniques to make efficient use of free storage (ie: that
part of the memory not occupied by the operating system
and the LISP kernel including the data structure manipu-
lating primitives and the garbage collector). In all these
techniques, objects are manipulated via pointers, and
arbitrary run time type checking is possible in both
system programs and user defined functions. This is nor-
mally achieved by using typed pointers in a more or less
explicit way. A typed pointer is a pair <T,A> which
identifies an object type T located at address A. The
length of A usually coincides with the address length of
the host machine (eg: 18 bits in the PDP-10, 24 bits in the
IBM System/370). In this way, the hardware addressing
mechanism may be efficiently used for the implementa-
tion of most data structure manipulating primitives. The
representation of T usually requires only a few bits
(typically 2 or 3 in small systems with a limited number
of data types, 7 or 8 in large ones).
Although it is possible to implement a typed pointer
<T,A> as the concatenation of the bit strings repre-
senting T and A, in some systems only A is represented
explicitly, while T is implied by (ie: is a function of) A.
Acknowledgements
The work reported in this article has been partly supported by
CNR during a period of four months spent by Martin Rudalics
at the Instituto di Elaborazione dell Informazione with a
scholarship of the Italian Foreign Office.
26 August 1979 © BYTE Publications Inc
"Our inventory is our existence*
Think we'd trust it to anything less
than Scotch Brand Diskettesr
Don Stone, Vice-President,
Mass. Auto SupplyCompany,
Inc., Boston, Mass.
Scotch Diskettes are the
diskettes you can depend upon
with the information your
business depends upon.
Each one is tested and
certified error-free before it
leaves our factory. Because we
know nothing less than
perfection is acceptable for
your vital business data.
Scotch Diskettes are
available in regular or mini
sizes, compatible with almost
any system.
To find out where you can
find Scotch Diskettes, call
toll free: 800-328-1300.
(In Minnesota, call collect:
612-736-9625.) Askforthe Data
Recording Products Division.
If it's worth remembering,
it's worth Scotch
Data Recording Products.
3M
Circle 368 on inquiry card.
BYTE August 1979 27
A one-to-one correspondence between
partitions and data types is implicitly
established.
There are basically three ways of implementing typed
pointers.
Contiguous Partitions
Free storage is divided into a number of areas called
partitions which consist of contiguous memory cells (ie:
bytes or words). Each partition is allowed to contain only
data belonging to the same type (also referred to as the
type of the partition, see figure 1). A one-to-one corres-
pondence between partitions and data types is implicitly
established by the implementation of the data structure
manipulating primitives. The type T of an object is ob-
tained by comparing its address A with the boundaries of
the partitions.
This technique has been adopted by the PDP-10 imple-
mentation of LISP 1.6 and some early versions of
MacLISP. In fact it is particularly suited to those com-
puters in which typed pointers are not allowed to contain
an explicit representation of T without a considerable
waste of space. As an example, one word in the PDP-10 is
36 bits long and may contain exactly two addresses. If
one half word were reserved for representing T, several
bits would remain unused.
Contiguous partitions may be disadvantageous when
the partition associated with a type T becomes full and
the allocation of a new object of type T is requested. The
garbage collector may then fail to recover sufficient space
for allocating the new object, even though other parti-
tions are nearly empty. This drawback may be eliminated
by enlarging the overpopulated partition and contracting
the underpopulated ones. A compacting garbage collec-
tor with additional phases is required for this purpose.
After the compaction phase, the boundaries of the parti-
tion are redefined, data is moved to fit the new boun-
daries and all pointers to moved data are updated accord-
ingly.
Paged Partitions
Free storage is divided into pages of equal length
(usually a power of 2, eg: 1 or 2 K bytes or 256 or 512
words). A page is referred to as busy or free, according to
whether or not it currently contains data. Like conti-
guous partitions, each busy page may contain only data
belonging to the same type, further referred to as the type
of the page. The correspondence (usually many-to-one)
between busy pages and their respective types is dyna-
mically realized by a type table, which also keeps track of
the free pages (see figure 2).
The type T of an object located at address A may be
retrieved by accessing the type table using the most signi-
ficant bits of A as an index (this is possible if the page
length is a power of 2). When a object of type T is to be
allocated and no more space is available in pages of type
T, a new free page is used and its type is set to T. Thus,
the partition associated with a given type is distributed
over several pages. The garbage collector compacts all
data of a given type into as few pages as possible.
This technique, which has been developed as an alter-
native to contiguous partition for the same class of com-
puter architectures, has been empleyed in the PDP-10 im-
plementation of INTERLISP and recent versions of
MacLISP (as described by G Steele in Data Representa-
tion in MacLISP).
As for the efficiency, paged partitions and contiguous
partitions with variable boundaries are comparable: the
necessity of accessing the type table may lead to a slower
type checking, but the garbage collector need not recom-
pute boundaries and move data accordingly. A nice pro-
perty of this technique is its compatibility and smooth in-
teraction with timesharing operating systems that have
paged virtual memories. In fact, the page table used by
the operating system and the type table may be easily
combined.
Paged Partitions with Tagged Pointers
This technique is identical to the preceding one, except
PI
(Tl)
P2
(T2)
P3
(T3)
• • •
• • •
Pn
(Tn)
i
i
Figure 1: Contiguous partitions: a pointer to an object of type
12.
PI
P2
P3
P4
P5
• • •
Pn
i
i
i
i
Tl
T2
i
*
Tl
<
►
• • •
T3
1
ii
Figure 2: Paged partitions: a pointer to an object of type T2.
28 August 1979 © BYTE Publications Inc
Tinker, Tailor, Soldier, Sailor . . .
Doctor, Lawyer . . . the Chieftain's here.
No matter whether you're a serious
hobbyist or a serious businessman, the
Chieftain 6800 microcomputer with ca-
pabilities that surpass the Z-80 is made
for you.
Smoke Signal's quality -packed
Chieftain I features two 5.25-inch mini-
floppy drives and Chieftain II fea-
tures two 8-inch floppy drives.
Both microcomputers
provide 32K static memory, * "'^?\ ;«
two serial I/O ports, a 2 J^^^M
MHz processor board, a 2K
RAM monitor, a nine-slot
motherboard with built-
in baud rate generator
and gold connectors for
high reliability. The
Chieftain's stylish leath-
er-grained cabinet houses
the above with its own
cooling fan and regulated
power supply.
Every Chieftain is complete with
system software and is totally burned-in
as well as tested to further insure high
reliability.
And it's expandable to 64K memory
with up to 2 megabytes floppy disk
storage.
So see your nearest Smoke Signal
dealer, he'll be glad to show you how to
get your wampum's worth. Systems
start at $2,595.
□ Send information on your Chieftain
microcomputer
D Send name of nearest dealer
Name
Address.
Company
City
SMOKE SIGNAL
BMDMSTING
31336 Via Colinas, Westlake Village.
California 91361. (213) 889-9340
Dealer inquiries invited.
Hail to the Chieftain
Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village, CA 91361, (213) 889-9340
Circle 328 on inquiry card.
BYTE August 1979 29
PI
P2
P3
P4
P5
• • •
Pn
-
I
|Tt
I
►
INTJ347
LISP does not contain primitives for
declaring new data types.
Tl
T2
*
i
Tl
i
>
• • •
T3
• • • —
J
1
Figure 3: Paged partitions with tagged pointers: a pointer to an
object of the type T2 and the representation of the integer 347.
/
'
'
1
<FIE>
<FOE>
<FUE>
Figure 4: Storage representation of an object created by MK-
FOO.
•»- m •— ►► • • *• • •
V «| u
F00
<FIE>
<FOE> <FUE>
Figure 5: Storage representation of an object created by
MK=FOO.
for the fact that all pointers to an object also contain an
explicit representation of its type T (see figure 3).
Tagged pointers have been adopted in MagmaLISP and
the IBM version of InterLISP. They are convenient in
computers whose word size exceeds the address length by
a few bits, which may comfortably contain the represen-
tation of T type. As an example, a typed pointer <T,A>
may be represented with a full word in the IBM
System /370 by reserving 24 bits for A and the remaining
8 bits for T. It is interesting to note that the LISP machine
(described by A Bawden, et al, in the LISP Machine Pro-
gress Report) implements typed pointers in this way.
Tagged pointers allow for a quick retrieval of the type
of an object. Moreover, short constants such as char-
acters, small integers, etc, may be directly represented in
the address part of a typed pointer (see figure 3). The type
T identifies them as immediate data not to be manipu-
lated as pointers (note that no private pages are needed to
store immediate data). The main drawback of this techni-
que is that information is somehow duplicated: in fact, a
type table is still needed by the garbage collector during
the compaction phase.
How To Get Rid of Most Terminating NILs
LISP (unlike ALGOL 68 and Pascal) does not contain
primitives for declaring new data types. However, S
expressions are an effective tool allowing the user to pro-
gram new data types explicitly.
As an example, consider a record class named FOO
whose instances contain the fields FIE, FOE, and FUE.
The data type FOO may be programmed in LISP using
proper lists (ie: lists ending with NIL) as follows:
(DEFINE MK-FOO (FIE FOE FUE)
(LIST ' FOO FIE FOE FUE))
(DEFINE IS-FOO (X) (EQ (CAR X) ' FOO))
(DEFINE FIE-OF (X) (CADR X))
(DEFINE FOE-OF (X) (CADDR X))
(DEFINE FUE-OF (X) (CADDDR X))
The storage representation of an object of type FOO is
shown in figure 4. It is immediately evident that this
representation is space consuming: in fact, the last cell
may be eliminated, and the pointer turned into a pointer
to <FUE> (see figure 5). To this purpose, MK-FOO and
the other functions may be redefined as follows:
(DEFINE MK=FOO (FIE FOE FUE)
(CONS ' FOO (CONS FIE (CONS FOE FUE))))
(DEFINE IS=FOO (X) (EQ (CAR X) ' FOO))
(DEFINE FIE =OF (X) (CADR X))
(DEFINE FOE = OF (X) (CADDR X))
(DEFINE FUE = OF (X) (CDDDR X))
Unfortunately, when the structures created by
MK = FOO are printed by the standard output routines of
LISP (eg: for debugging purposes), their readability
decreases considerably. For instance, (MK-FOO 1 2 (MK-
FOO 3 4 5)) is printed as (FOO 1 2 (FOO 3 4 5)), whereas
(MK = FOO 1 2 (MK = FOO 3 4 5)) yields (FOO 1 2 FOO
3 4.5), thus introducing an irritating extra dot while
omitting one pair of significant parentheses.
It is possible to both maintain the clean formalism of
proper lists, and represent them efficiently (as indicated
in figure 5) by introducing the concept of NULLCDR
cells. To this purpose an additional bit, B, is associated
with each typed pointer, thus yielding a triple
<T,B,A>. When B is clear, <T,B A> represents a
typed pointer as usual. When B is set, <T,B,A>
represents a LISP cell whose CDR is NIL (ie: a NULLCDR
cell) and whose CAR has type T and is located at address
A. NIL must be used explicitly in only a very few cases
(see figure 6).
With the introduction of NULLCDR cells, only proper
30 August 1979 © BYTE Publications Inc
lists are allowed in Lambdino. This fact has several con-
sequences:
• Space is not only saved in the implementa-
tion of user defined data structures, but also
in the list representation of interpreted func-
tions. Most lists in purely applicative pro-
grams contain less than 3 or 4 elements,
hence the introduction of NULLCDR cells
allows a save of 25 to 33% in space.
• The absence of the LISP dot notation slightly
simplifies the I/O (input/output) routines.
• The time required by CONS for checking the
type of its second argument is largely com-
pensated by the time saved using NULL (or,
better, NULLCDR) instead of NLISTP as a
predicate for terminating recursions. Also,
the functions CAR, CDR and NULLCDR
need not make a storage access when their
argument is a NULLCDR cell. This may lead
to a significant save of time. As an example,
the function:
(DEFINE EVLIS (X A)
(COND ((NULL X) NIL)
(T (CONS (EVAL (CAR X) A)
(EVLIS (CDR X) A)))))
may be written more efficiently as:
(DEFINE EVLIS (X A)
(COND ((NULL X) NIL)
(T (EVLIS1 X A))))
(DEFINE EVLIS1 (X A)
(CONS (EVAL (CAR X) A)
(COND ((NULLCDR X) NIL)
(T (EVLIS1 (CDR X) A)))))
This improved version saves some storage accesses and
one recursive call to (and return from) EVLIS.
RPLACA and RPLACD (if they are implemented at
all!) generate an error when applied to NULLCDR cells.
Standard garbage collectors (including the Schorr-
Waite algorithm) are unaffected by the presence of
NULLCDR cells (pointers having the NULLCDR bit set
are treated exactly as usual pointers).
Lambdino Design Issues
The Lambdino storage management system is a mix-
ture of contiguous partitions and tagged pointers with
NULLCDR bits. More precisely, the free storage is di-
vided into two variable partitions FIXLEN and VARLEN
(see figure 7).
FIXLEN may contain only fixed length data (ie: data
whose memory occupation depends only on their type).
There are three FIXLEN data types in Lambdino, namely
atoms, cells and interpreted closures. They are records
with two fields with the following characteristics:
• Atoms have a TOPVAL field which may be
any datum (eg: a function definition) and a
PNAME field, which must be a string (pro-
perty list lovers will be allowed to use this
field for holding property lists in special ver-
i i
NIL
Figure 6: Tagged pointers with NULLCDR bit: the example
represents (A ((B) C)) and ((A)).
VARALL FIXALL
Figure 7: Overall organization of the free storage in the Lamb-
dino storage management system.
b3
b2
bl i bO
ADDRESS
Figure 8: Tagged pointers in the Lambdino storage management
system.
sions of Lambdino).
• Cells have a CAR field which may be any
datum and a CDR field which must be a list,
though possibly empty.
• Interpreted closures have a FUN field which
must contain a LAMBDA and an ENV field
which contains an ALIST (they are similar to
FUNARG objects in LISP).
VARLEN is reserved for variable length data, ie: data
which must contain explicit information on their memory
occupation. There are three variable length data types in
Lambdino, namely strings, compiled functions and com-
piled closures:
• Strings are mainly used for representing
atom print-names.
• Compiled functions are binary code produc-
ed by the Lambdino compiler.
• Compiled closures contain a pointer to a
compiled function (which corresponds to the
FUN field of interpreted closures) and
pointers to the values of its free variables
(they correspond to the ENV field of inter-
preted closures).
A new datum is allocated by moving FIXALL to the left
or VARALL to the right according to whether it is a
FIXLEN or a VARLEN datum. When FIXALL and
VARALL collide, a standard compacting garbage collec-
tor is invoked to contract VARLEN to the left and FIX-
LEN to the right. The common length of FIXLEN data
August 1979 © BYTE Publications Inc 31
TAG 1
TAG 2
ADDRESS I
ADDRESS 2
-*— 1 BYTE — *U 4 BYTES *
stream and returns its integer representation.
(PUTCHAR V) writes the character represented by V
into the output stream.
Figure 9: Representation of a cell in the Zilog Z-80 Development
System.
TAG I
ADDRESS 1
TAG 2
ADDRESS 2
<• 4 BYTES
4 BYTES *
Figure 10: Representation of a cell in the IBM System 370.
allows the garbage collector to operate properly during
the compaction phase without knowing the type of the
objects. This guarantees an optimal use of the limited
memory of the host microcomputer.
Data are referenced by a special kind of tagged pointers
(see figure 8). The tag consists of four bits:
• b3 is used during the mark phase of the gar-
bage collector.
• b2 is the NULLCDR bit: when it is set, the
tagged pointer represents a NULLCDR cell.
• bl and bO are used together with A to deter-
mine the type of a datum.
The datum type is determined by bits bl and bO as
follows:
• When either bl or bO is set, A is interpreted
as the address of a fixed or variable length
datum, according to whether A points into
FIXLEN or VARLEN. In this case the three
possible configurations of bl and bO are suf-
ficient to cover the three types of FIXLEN
and VARLEN data, respectively.
• When bl and bO are both clear, A is to be in-
terpreted as an integer number. Integers con-
stitute the seventh data type of Lambdino
and are always represented as immediate
data.
Implementation Details
Our inplementation of Lambdino is supported by an
abstract stack machine SM which contains the following
primitives, in addition to standard arithmetic and control
routines (we assume that A is a nonnegative Lambdino
integer, V a nonnegative Lambdino integer less than 256,
P an arbitrary Lambdino tagged pointer).
(GETBYTE A) returns an integer representing the con-
tents of the byte located at address A.
(PUTBYTE A V) stores V into the byte located at ad-
dress A.
(GETCHAR) reads the next character from the input
(GETTYPE P) returns the integer representation of the
tag of P.
(PUTTYPE P V) returns a new pointer having tag V
and the same address part as P.
The Lambdino storage management system, which is
entirely written in terms of these primitives, contains
parameters to define the size of addresses and to specify
whether or not two tags have to be packed into one byte.
When bootstrapping the system on a Zilog Z-80 Develop-
ment System, 16 bits for the representation of addresses
and the packed version of tags are recommended (see
figure 9), while 24 bit addresses and unpacked tags
should be used on an IBM System/370 (see figure 10).
Concluding Remarks
We have developed an experimental implementation of
Lambdino written in Lambdino itself. It includes a
Lambdino interpreter, an interpreter for the stack
machine SM and a compiler which translates Lambdino
functions into SM programs. All these Lambdino func-
tions have been debugged using a simple Lambdino inter-
preter written in MagmaLISP. As all functions of the
system eventually call the previously defined primitives,
the system can be (and will be soon) bootstrapped by
compiling it to the machine code of SM using it own com-
piler, and by macroexpanding the resulting code to the
machine language of the host computer. ■
BIBLIOGRAPHY
1. Allen, J, Anatomy of LISP, McGraw-Hill, 1978.
2. Bawden, A, Greenblatt, R, Holloway, J, Knight, T r Moon, D,
Weinreb, D, LISP Machine Progress Report, Memo Number 444,
Laboratory for Artificial Intelligence, Massachusetts Institute of
Technology, 1977.
3. IBM System/370 Model 168 Theory of Operation, Form Numbers
SY22-6931/2/3/4/5/6, IBM Corporation, Poughkeepsie NY, 1974.
4. Landin, P, "The Mechanical Evaluation of Expressions," Com-
puter Journal, volume 6, number 4, 1964, pages 308 thru 320.
5. Montangero, C, Pacini, G, Turini, F, "MAGMA-LISP: a Machine
Language, for Artificial Intelligence," Proceedings of the Fourth
International Joint Conference on Artificial Intelligence, Tbilisi,
1975, pages 556 thru 561.
6. Moon, D, MacLISP Reference Manual, Laboratory for Computer
Science, Massachusetts Institute of Technology, 1974.
7. Quam, L, Diffie, W, Stanford LISP 1.6 Manual, Artificial Intel-
ligence Laboratory, Stanford University, 1972.
8. Reynolds, J, "Definitional Interpreters for Higher-Order
Programming Languages," Proceedings of the ACM National
Convention, 1972, pages 717 thru 740.
9. Steele, G, "Data Representation in MacLISP," Memo Number
420, Laboratory for Artificial Intelligence, Massachusetts Insti-
tute of Technology, 1977.
10. Sussman, G, Steele, G, "SCHEME: an Interpreter for Extended
LAMBDA Calculus," Memo Number 349, Laboratory for Arti-
ficial Intelligence, Massachusetts Institute of Technology, 1975.
11. Teitelman, W, INTERLISP Reference Manual, Xerox Palo Alto
Research Center, 1975.
12. Urmi, J, INTERUSP/370 Reference Manual, Department of
Mathematics, Linkoeping University, 1976.
13. Z-80 Development System Hardware User's Manual, Zilog In-
corporated, Cupertino CA, 1977.
32 August 1979 © BYTE Publications Inc
no loose ends
All-ln-One: computer, floppy, I/Q16K RAM. $1595
lllLLlll
....
**uu
CWi TM Ztt licroproctssors
ttKtt i.wmi
ItMitt lit byi« RRH txp*ndible to 48K
litpliyt 23 lints by 86 chirictirs
Chir«Ur«i 3 x 7 dot utrix, upptr I hv*r cm
iriiMtit S3 sptciil gnphic* eft
Ctyboardi 72 hiys, SI ilphinuitrlc I 12 function
control (8 uur-difimbii)
Iui»fle kqptdi 12 kiyt
Cwiw Mtfrtiilngi Ptliiivi I dirict for full cursor control
Hit functions! Inssrt or diloli chinciir or lino
New Heathkif H89
All-ln-One Computer
Heath takes the risk out of selecting a
balanced computer system. Now, video
terminal, floppy, keyboard and 8-bit
computer are brought together in one
self-contained, compact unit. Nothing
hangs out.
Two Z80's
The personal computer has never been
simpler. Or smarter. Two Z80 microproc-
essors mean terminal never shares pow-
er with computer, as do most desk-top
units. So this terminal is capable of a
multitude of high-speed functions, all
controllable by keyboard or software.
*$1 1 95 without floppy. Mail order kit price, F.O.B.
without notice.
102K bytes storage
Built-in floppy disk system gives you fast
access to programs and data. Each 5 1 A-
inch diskette has more than 102K bytes
of storage area, enough to hold entire
files. The All-ln-One comes with 16K
RAM, expandable to 48K.
Hundreds of uses at
home or work
The All-ln-One Computer runs programs
written in MICROSOFT™ BASIC and
ASSEMBLER Languages. And it accepts all
current software written for the popular
Heathkit H8 computer. You can choose
from scores of practical programs for
home and business.
Learn by building
What better way to learn about comput-
ers than to build one yourself? The All-
ln-One is available in easy-to-build kit
form, as well as completely assembled.
Like all Heath electronic kits, it comes to
you with its own easy-to-follow assem-
bly manual and a nationwide network of
service centers to assure smooth sailing.
FREE CATALOG
For complete details on the
Heathkit H89 All-ln-One
Computer and nearly 400
other electronic kits for your
home, work or pleasure, send
today for the latest Heathkit
Catalog of values.
Benton Harbor, Ml. Also available at Heathkit Electronic Centers at slightly higher prices. Prices subject to change
Heathkif
HEATH COMPANY, DEPT. 334-560, BENTON HARBOR, Ml 49022
CP-165
Circle 162 on inquiry card.
BYTE August 1979 33
Pattern-Directed
Invocation Languages
William A Kornfeld
MIT Artificial Intelligence Laboratory
545 Technology Sq
Cambridge MA 02139
LISP was first developed for use in artificial intelligence
research, the branch of computer science concerned with
understanding the nature of intelligent activity by
simulating it on a computer. LISP has proved so suc-
cessful that it is the only high level language currently
supported at the MIT Artificial Intelligence Laboratory.
Much of its success is due to its syntax and data structures
which make it a convenient base upon which to imple-
ment very high level special purpose languages.
One very important class of these high level languages
is the so-called pattern-directed invocation languages.
They made their first appearance in about 1970 with the
Planner system at MIT. Since then, dozens of these
languages have been built at sites around the world with
different sets of features. The basic concepts involved can
be traced back to the work of such logicians and
philosophers as Frege, Russell, and Carnap in the earlier
part of this century. They were concerned with represen-
ting and manipulating facts about the world. They began
with atomic facts and described methods that could be
used to deduce new facts from old. Pattern-directed invo-
cation languages treat facts, represented as LISP lists, as
elementary data types and usually collect them together
into one or more data bases. Procedures can be written to
derive new facts (or to decide if it is possible to derive a
given fact) from those already in the data base.
In this article we will be mostly concerned with the
basic concepts involved in pattern-directed invocation
languages. Toward the end, a brief summary is given of
some of the more advanced ideas that have found their
way into these languages. Special attention is given to the
problem of implementing these languages in a LISP
system. Much of this implementation is surprisingly
About the Author:
William Kornfeld is a graduate student at the MIT Artificial Intelli-
gence Laboratory. He is currently doing research in the semantics of
pattern-directed invocation and extensions of these ideas to parallel
processing.
straightforward, once the basic concepts of LISP are
understood. In fact, the task of implementing a system
almost identical to the one described here was given to
students in a beginning programming course at MIT. The
students had had only a few weeks experience with LISP,
and a total programming experience of a couple of
months, but they had little problem with the assignment.
Retrieval of Information by Pattern
Suppose we wanted to represent the knowledge, inside
of our computer, that Lena is the mother of Paul. This
sentence contains three important items; the two people,
Lena and Paul, and the relationship — one being the
mother of the other. This fact can be represented using
the data structures of LISP as a list with three elements.
We are free to choose any arrangement of the items in the
list; placing the relation (mother-of) in the first, second,
or third position of the list. I prefer to keep to the LISP
(and mathematical) conventions of putting the relation-
ship first, and having the arguments follow. This fact will
be represented as:
(MOTHER-OF LENA PAUL)
We could have many such facts similarly represented by
list structure inside of our machine. Some examples are:
(MOTHER-OF LENA FAY)
(WIFE-OF LENA SAM)
(MOTHER-OF FAY ROBERT)
(MOTHER-OF FAY ARLENE)
(FEMALE LENA)
(FEMALE FAY)
(MALE ROBERT)
(MALE SAM)
We call each of these facts an assertion. Assertions are
pieces of arbitrary list structure (as far as the LISP inter-
preter is concerned). So that they may be used in our pro-
34 August 1979 © BYTE Publications Inc
TEIXHiEiVT
GRAPHICS BOARD
CGS-808
in Features
Motorola MC6847 video display
generator.
Eight colors - green, yellow, blue, red,
buff, cyan, magenta, orange.
1 1 programmable modes
• 1 alphanumeric mode with 32 x 16
character and inverse video.
• 2 semigraphic modes with 8 colors
in 64 x 32 and 64 x 48.
r 8 full graphic modes with 2 sets of
4 colors ranging from 64 x 64 to
192, and 2 sets of 1 color in
192.
d 8085 microprocessor,
^ytes of on board static RAM.
Up to 4K bytes of EPROM.
True S-100 compatibility.
Screen images are as
photographed, unretouc
CGS-808
Biotech Electronics proudly announces
the CGS-808, a highly sophisticated color
graphics board for the S-100 bus.
The CGS-808 is a single board graphics
processor which is incredibly simple to use.
It is I/O mapped and requires no memory
space. It will operate in any S-100 system
or as a stand-alone graphics processor. By
changing the firmware pack, the CGS-808
can be upgraded to perform additional
complex or custom graphic functions. It
also provides a parallel I/O port to
interface with digitizers, joysticks, light
pens, or directly into a keyboard.
The CGS-808 is designed for a low
cost, high quality, professional display for
applications in medicine, business,
education, science, industry, and video
games.
oiroic ji on inquiry caru.
Immediate Availability
The CGS-808 is available assembled
and tested for 0385.00, or the bare "kit"
with the MOS chip set for $99.00 (Chip set
includes the MC6847, MCT372, 8085 and
2708 EPROM with graphics driver
subroutines). Color monitors are available
for 8495.00, Delivery is from stock.
Dealer inquiries are invited.
For more information, call or write
►iotech Electronics
P. O. Box 485
Ben Lomond, CA 95005
t08) 338-2686
BYTE August 1979 35
Simple Pattern Matcher
A simple pattern matcher can be implemented as a
LISP function of two arguments, an assertion and a pat-
tern. Here are some examples of assertions and patterns
that match:
(abed) matches (a ? ? d)
(a (b c) (d e)) matches (a ? (d ?))
(a ((b c) d) (e f g)) matches (? ((b c) ?) ?)
Examples of assertions and patterns that don't match are:
(abed) doesn't match (e ? ? d)
(abed) doesn't match (a ? d)
(a b (c d) e) doesn't match (a b (c d) ? ?)
Recursive procedures, such as this pattern matcher, are
often thought of as procedures that take complex pro-
blems and convert them into simpler problems. Eventual-
ly this will reduce the calls to procedures that are suffi-
ciently simple that they can be solved using already ex-
isting LISP functions.
The simple cases for this pattern matcher occur when
either the pattern or the assertion is an atom. If the pat-
tern is the atom ?, then the match should succeed because
?, by definition, matches anything. If the pattern is some
other atom then the match should only succeed if the
assertion is an atom, and the same atom. If the pattern is
not an atom but the assertion is, the match should fail.
These rules cover all cases where either the pattern or the
assertion is an atom.
Now, suppose that neither is an atom. One way of con-
verting the matching problem into a simpler problem is
by decomposing both the pattern and the assertion into
substructures and checking corresponding parts for a
match. The LISP primitives FIRST and REST provide an
easy way of doing this. Suppose we tried matching the
pattern:
((a ? b) ? (c d))
against:
((a a b) (x y) (c d))
The pattern does match the assertion; we would like the
matching function to decompose it correctly. When ap-
plied to a list, the function FIRST selects the first element,
and the function REST selects everything but the first ele-
ment. We can think of the subparts of the patterns (and
assertions) selected by FIRST and REST as patterns
themselves. A pattern matches an assertion if and only if
the FIRST of the pattern matches the FIRST of the asser-
tion and the REST of the pattern matches the REST of the
assertion. The FIRST of the pattern in the example is (A ?
B) and the FIRST of the assertion is (A A B). These
match. Similarly, the REST of the pattern is (7(C D)) and
the rest of the assertion ((X Y)(C D)). These also match.
By successively taking FIRST and REST of patterns and
assertions, atomic elements must eventually be reached.
We already know how to handle all forms of atomic
arguments to the matching function. No other cases can
occur. Let us list the various cases discussed:
• If the pattern is the atom ? then the match should
succeed.
• If the pattern is another atom and is equal to the
assertion, then the match should succeed.
• Otherwise, if the pattern is an atom the match
should fail.
• If the pattern is not an atom but the assertion is, the
match should fail.
• If neither the pattern nor the assertion is an atom,
then the match should succeed if and only if the
FIRST of the pattern and assertion match and the
REST of the pattern and assertion match.
These conditions can be coded fairly directly into a
LISP function to do this. Each of the above conditions
becomes one clause in the conditional COND expression:
(DEF MATCH (PATTERN ASSERTION)
(COND ((EQUAL PATTERN ' 7) T)
((AND (ATOM PATTERN)
(EQUAL PATTERN ASSERTION)) T)
((ATOM PATTERN) NIL)
((ATOM ASSERTION) NIL)
(T (AND (MATCH (FIRST PATTERN)
(FIRST ASSERTION))
(MATCH (REST PATTERN) (REST ASSERTION))))))
grams, these assertions should be collected together into a
data base. In LISP, the easiest way of making a data base
of objects is to make a list of them and let this list be the
value of some variable. (There are more efficient ways of
collecting assertions into a data base. These are described
in the box.) As we discover more assertions that we
would like to include in the program, they can be added
to the list. Assertions can be just as easily removed if we
determine the fact to be no longer valid. Two LISP func-
tions, ADD and REMOVE, can be written to add asser-
tions to and remove assertions from the data base. Any
program that wanted to change the contents of the data
base would make use of these two functions. A function
call of:
(ADD ' (MOTHER-OF LENA HAROLD))
would add that one assertion to the data base. A function
call of:
(REMOVE ' (MOTHER-OF LENA ARTHUR))
would remove that assertion from the data base.
Next we will need some way to retrieve information
stored in the data base. If we want to know whether or
not Fay is the mother of Robert, the data base (really just
a list) can be searched for the assertion:
(MOTHER-OF FAY ROBERT)
A function called RETRIEVE can do this easily.
RETRIEVE takes one argument, an assertion, and returns
T or NIL (yes or no) depending on whether or not the
36 August 1979 © BYTE Publications Inc
Circle 256 on inquiry card.
.<*rfW
!!!!!!!f7: f -fUI»U,; t ',11;!!!!,, linffTfll
MryT*r*rrm*
III I II III 1 1 1 1 1 1
mum iiiiiiii mum
;..#*... ......1/ #i
!1*'V]M
1
=^3?*=f -•■?Tr , n— :. •
... IB — £&
Cfcii^ta ^^ ■» » "*■
■■Bli #fisf- *a : 6t M &*
Hii
! — - ■minfimi
v
I I t B ( f f B r Jflft \ JUL 1. L-T^l
.£'"
53B
DBKB2BW
JRK : .
* r
■■ ; f —
yiLi \
tf&
"
• >
' ' -«— JIM^H
i
"'"*■ .*' /'i ••';';' I
m
MM16K/$349 = 2.1C
MM24K/$499 = 2C
SR16K/$299 = 1.8C
SR32K/$649=2C
Now you can afford to sink your teeth into
some big, feature-packed static memories.
Because George Morrow's ultra-efficient
designs have brought S-100 memory down to 2C
a byte.
Introducing Morrows new "Memory Master"
Bank Select Logic memories, the top of the
SuperRam™ line.
The SuperRam™ MemoryMaster 16K Static may
be the most sophisticated S-100 memory at any price.
The MM16K is switch-programmable to write-protect
any of the four 4K blocks ... or to open invisible IK
"windows" to accommodate VDMs or disk
controllers. An on-board I/O device and jumper block
allow you to use the memory-extending Bank
Select Logic features of your software.
Yet, the SuperRam™ MemoryMaster 16K kit is
just 2.1C a byte at $349. Assembled and tested, $399.
The SuperRam™ MemoryMaster is also available
in 24K configuration: 3 individually write-protectable
8K blocks with Bank Select Logic capability.
MM24K Kit, $499. Assembled and tested, $549.
Or, get your memory at a rock-bottom 1.8C a
byte with the SuperRam™ 16K Static. It gives you 4
individual 4K blocks . . . plus the ability to switch-
enable the Phantom Line for power-up sequencing.
Kit, $299. Assembled and tested, $349.
But if you really need a big helping of memory,
the SuperRam™ 32K Static serves up two individual
16K blocks for 2C a byte: $649 in kit. Assembled and
tested, $699.
Whichever Morrow memory suits your taste, it
will run perfectly in 2 MHz 8080, 4 MHz Z-80 or
5 MHz 8085 systems. And meets the Proposed
IEEE S-100 Standard.
2C a byte ! That's food for thought. And they're
ready to take out at your local computer shop. Or if
not, we deliver. Write Thinker Toys™ 5221 Central
Ave., Richmond CA 94804. Or call 415-524-2101
(10-4 PacificTime any weekday).
9
Morrow Designs
Thinker Toys
assertion is in the data base. To check for the existence of
this particular assertion, we would execute:
(RETRIEVE ' (MOTHER-OF FAY ROBERT))
One of the nice features of LISP is that it is so easily
extensible. It is possible to build languages on top of the
basic LISP system that deal with higher level concepts as
if they were primitives. The functions ADD, REMOVE,
and RETRIEVE are three operations in a language we are
building to manipulate assertions. So far, the language is
very simple. The function RETRIEVE, for example, can
only ask about specific assertions.
There are many more interesting questions that we
would like the system to be able to answer, such as "Who
is the mother of Robert?" In terms of these assertions this
question could be answered by finding an assertion that
has three elements, the first and third being the atoms
MOTHER-OF and ROBERT, and the second element
being anything at all. One way of saying this to the
machine is by using a pattern such as:
(MOTHER-OF ? ROBERT)
where the ?s represent place holders, meaning that we
will take anything in their positions.
One function, RETRIEVE, is modified to go down the
list of assertions in our data base and compare the pattern
with the individual assertions. If an assertion and a pat-
tern match, the assertion will be returned as the value of
RETRIEVE. Matching means that atoms in corresponding
positions are the same, except for ?s in the- pattern that re-
quire only that something be in the corresponding posi-
tion in the assertion. Using our data base, the pattern
given above will only match one assertion:
(MOTHER-OF FAY ROBERT)
By taking the second element of this list we will have
found the mother of Robert. In general, more than one
assertion in the data base can match a given pattern; it
just happens that a person has only one mother, so we
would not expect more than one assertion to tell us the
mother of Robert. Suppose our question is 'Who are the
children of Fay?'' We can make a pattern that represents
this question by specifying a MOTHER-OF assertion
with FAY in the mother position, and a ? in the child
position:
(MOTHER-OF FAY ?)
The function RETRIEVE actually returns a list of all the
assertions that match the given pattern so that it can
accomodate the case where there is more than one match.
Evaluation of the form:
(RETRIEVE ' (MOTHER-OF FAY ?))
should return:
((MOTHER-OF FAY ROBERT)
(MOTHER-OF FAY ARLENE))
and can be further analyzed by a LISP function to extract
the names of Fay's children.
The examples of assertions presented thus far have
been in the form of a list of atoms. Assertions can be arbi-
trary pieces of list structure. The use of nested lists is an
important tool for representing the structure inherent in
the knowledge being represented. For example, we may
wish to represent facts about the courses students have
taken at a university. There might be one assertion for
each student for each term he or she is registered. A pos-
sible record would be:
(COURSES BARBARA (SPRING 1978)
(PHYSICS-2
ALGEBRAIC-TOPOLOGY
AESTHETICS))
The first element of the list designates it as a record of
courses taken by a given student for a given term. This
assertion expresses the fact that Barbara was registerd for
the Spring term of 1978 and took three courses: Physics
II, Algebraic Topology, and Aesthetics. With records of
this kind and our pattern matcher we can ask various
kinds of questions and have RETRIEVE return the list of
assertions that pertain to the problem. Here are some
examples:
"Who was registered for courses in 1976?"
(RETRIEVE ' (COURSES ? (? 1976) ?))
"What courses did Sam take during his college career?"
(RETRIEVE ' (COURSES SAM ? ?))
"What courses did Barbara take in Spring of 1978?"
(RETRIEVE ' (COURSES BARBARA (SPRING 1978)?))
There are certain questions that the simple pattern mat-
cher we have described cannot address, such as "Who
was registered for Algebraic Topology in the Spring of
1978?". More sophisticated schemes for pattern matching
will be described later. A simple pattern matcher that can
handle ?'s in patterns is very easy to write using the recur-
sive control structures of LISP. It is described in the
"Discrimination Networks" textbox.
Simple Deductions
There are a number of facts that are not explicitly con-
tained in the data base of family relations described
above that people can easily deduce. We might want to
be able to answer the question "Who is the grandmother
of Robert?". This question is posed to the system by the
function call:
(RETRIEVE ' (GRANDMOTHER-OF ? ROBERT))
The data base contains no explicit GRANDMOTHER-
OF assertions, so the function RETRIEVE, as defined thus
far, would fail. The data base does contain enough facts
that it is capable of answering this question. Looking at
the assertions given earlier it is obvious that the answer is
Lena. How do we arrive at this? First we find a
Text continued on page 42
38 August 1979 © BYTE Publications Inc
^v^-
VA^N*
CO'
tftf**
L-S^
a**
r^*-
oov
***£*
>*«'
tA-x
p ro ; o^
/VxO
V*>0\>>
o v
*° r rv$*°
^V*«
•2^
This exceptional print quality for $560!
The new Comprint model 912 printer for computers and terminals:
■ Fast — 225 characters/second (170 Ipm)
■ 80 character lines on 8 1 /z" wide paper
■ Quiet, non-impact operation
■ 6 month warranty
Available now at computer stores and industrial distributors.
Computer Printers International, Inc. 340 E. Middlefield Rd., Mt View, CA 94043 • 415 969-6161
Circle 48 on inquiry card.
BYTE August 1979 39
MOTHER-OF
LIVES
PAUL N| L
NIL
Figure 1: A group of connected assertions can be
represented by a tree structure where the nodes of the tree
represent locations within an assertion.-
MALE
FEMALE
HAS
/ * SH,RLEY LENA
ALVIN PAUL I I
1 \ I ^
♦ * NIL NIL
MANHATTAN
BICYCLE
MIL
Discrimination Networks
Simple data bases can be represented as lists of the
assertions contained in them. Each time we want to deter-
mine whether or not a pattern matches any of the asser-
tions in the data base, the entire list must be scanned and
the pattern matcher applied to each of its elements. For a
large data base this may take too long. We would like to
represent the data base in such a way that the average
search through the data base will take much less time
than a linear scan of all the assertions. One way of doing
this is to arrange the assertions into groups so that a par-
tial test of the pattern can eliminate a number of the
groups from consideration. Let's suppose that we have a
data base consisting of the following assertions:
(MOTHER-OF LENA PAUL)
(MOTHER-OF LENA ALVIN)
(MOTHER-OF LENA FAY)
(MOTHER-OF FAY ROBERT)
(MOTHER-OF FAY ARLENE)
(LIVES SHIRLEY TUCSON)
(LIVES FAY CANARSIE)
(LIVES HARVEY MANHATTAN)
(MALE ALVIN)
(MALE PAUL)
(FEMALE SHIRLEY)
(FEMALE LENA)
(HAS ROBERT GUITAR)
(HAS ROBERT BICYCLE)
(HAS PAUL STEREO)
(HAS PAUL CAR)
One way of grouping these assertions, suggested by the
given list, is by the first elements of the assertions. Thus,
all the MOTHER-OF assertions would be together, as
would the LIVES, MALE, FEMALE, and HAS assertions.
If the first element of the pattern was the atom LIVES,
then only one group of three assertions need be exa-
mined. Some of these groups can be further subdivided;
the MOTHER-OF assertions can be divided into three
groups depending upon the second element of the list (the
mother). The group of assertions can be represented as a
tree structure where the nodes of the tree represent loca-
tions within the assertion. The above assertions would
appear as in figure 1.
This tree can be easily constructed using the pointers of
LISP. When an attempt is made to check if the assertion:
(MOTHER-OF LENA FAY)
is in the data base, the root node is searched for a sub-
node marked with MOTHER-OF. If this is found, the
search continues, otherwise a failure is reported. The
pointer is followed to the MOTHER-OF node. This is
then searched for a LENA subnode. This is found, the
pointer followed, and a search is made for a FAY sub-
node. This also is found, and it contains a NIL subnode
indicating that the assertion ends there. Tracing the path
leading to this point gives the assertion. By representing
the knowledge in this way, much of the data base no
longer has to be searched to find what we want.
This can be extended to ? variables in patterns.
Whenever we try to compare a ? against a node, all paths
must be taken. And this example deals only with flat list
structure (ie: lists of atoms). The concept can be extended
to arbitrary list structure. The result is less intuitive and
beyond the scope of this article. It is an interesting pro-
blem to think about.
40 August 1979 © BYTE Publications Inc
ALTOS presents a new standard
in quality and reliability
WERE ALTOS COMPUTER SYSTEMS. Our SUN-SERIES ACS8000 business/scientific
computer creates a new standard in quality and reliability in high technology computers.
HIGH TECHNOLOGY The ACS8000 is a single board,
Z80®* disk-based computer. It utilizes the ultra-reliable
Shugart family of 8 inch, IBM compatible, disk drives. A
choice of drives is available: single or double density, single or
double sided. Select the disk capacity you need, when you
need it: %M, 1M, 2M, or 4M bytes. The ACS8000 features
the ultimate in high technology hardware: a fast 4 MHz Z80
CPU, 64 kilobytes of 1 6K dynamic RAM, 1 kilobyte of 2708
EPROM, an AMD 9511 floating point processor, a Western
Digital floppy disk controller, a Z80 direct memory access,
Z80 Parallel and Serial I/O (two serial RS232 ports, 1 parallel
port), and a Z80 CTC Programmable Counter/Timer (real time
clock). In essence, the best in integrated circuit technology.
BUILT-IN RELIABILITY The ACS8000 is a true single
board computer. This makes it inherently reliable and main-
tainable. The board and the two Shugart drives are easily ac-
cessible and can be removed in less than five minutes. All elec-
tronics are socketed for quick replacement. Altos provides
complete diagnostic utility software for drives and memory.
QUALITY SOFTWARE Unlimited versatility. The ACS
8000 supports the widely accepted CP/M®** disk operating
system and FOUR high level languages: BASIC, COBOL,
PASCAL and FORTRAN IV. All available NOW.
PRICE ACS 8000- 1 , single density, single-sided [7 2 Mb] $3,840
ALTO
COMPUTER SYSTEMS
ACS 8000-2, double density, single-sided [1 Mb] $4,500
ACS 8000-3, single density, double-sided [1 Mb] $4,800
AGS 8000-4, double density, double-sided [2 Mb $5,300
Brackets show disk capacity per standard two drive system. All
models come standard with 32 Kb RAM and two 8" disk drives as
shown above. Expansion to 64 Kb is $363 per 16 Kb. FPP, DMA,
software optional. Dealer/OEM discounts available. Delivery: 30
days ARO, all models.
„ on . A ',._.. , Circle 6 on inquiry card.
*Z80 is a trademark of Zilog. Inc. ^ J
**CP/M is a trademark of Digital Research. Inc.
2338A WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-5766
Text continued from page 38:
MOTHER-OF or FATHER-OF assertion that gives a
parent for Robert. Here we end up with:
(MOTHER-OF FAY ROBERT)
Then we take that parent (eg: FAY) and find a MOTHER-
OF assertion with that parent in the child position,
giving:
(MOTHER-OF LENA FAY)
The individual in the mother position of that assertion
is the desired grandmother. To incorporate this kind of
knowledge in the system, the language is augmented with
procedures that explain how to derive certain facts if they
are not in the data base. There are two GRAND-
MOTHER-OF derivation procedures; one that checks for
mothers of fathers, and one that checks for mothers of
mothers. They might be expressed as:
(TO-DERIVE (GRANDMOTHER-OF ?X ?Y)
(FIND (MOTHER-OF ?Z Y))
(FIND (MOTHER-OF X Z)))
cedure to know who these people are, it must bind the
names to variables. RETRIEVE has to be extended again.
In addition to checking the data base for already known
facts, it checks a library of procedures for those whose
patterns match the request, trying them one at a time.
When we execute the RETRIEVE function, trying to find
the grandmother of Robert, the pattern:
(GRANDMOTHER-OF ? ROBERT)
is matched against the head pattern in the TO-DERIVE
construct:
(GRANDMOTHER-OF 7X ?Y)
The match is successful. Y will get the value ROBERT,
and X the value ? (really no value at all, just a place
holder). The first line causes the system to find an asser-
tion that has MOTHER-OF in the first position and
ROBERT, the value of Y, in the last line. Whatever is
found in the second position is assigned to the variable Z.
For our particular data base, the assertion:
(MOTHER-OF FAY ROBERT)
(TO-DERIVE (GRANDMOTHER-OF 7X ?Y)
(FIND (FATHER-OF ?Z Y))
(FIND (MOTHER-OF X Z)))
The first procedure looks for the mother of the person
in the third slot (eg: the grandchild), and then her
mother; the second procedure for the father of that per-
son, and then his mother. We have added a little more
complexity to the simple patterns described earlier. These
patterns have variables associated with the question
marks. The first pattern in these procedures expresses, in
effect, what the procedure can do. It says "If you want to
determine if someone is the grandmother of someone
else, try the following." In order for the rest of the pro-
will be found and Z will get the value FAY. When the
next line is executed, a MOTHER-OF assertion is looked
for with FAY in the third position, and anything at all in
the middle. (Remember X has the value ?.) The assertion
it will find is:
(MOTHER-OF LENA FAY)
What we have just done is derived the fact:
(GRANDMOTHER-OF LENA ROBERT)
Here is a procedure to determine whether or not one in-
dividual is the uncle of another:
THE
51
WE'RE NOT JUST THE VIDEO PEOPLE
It's true we built our reputation on high precision video digitizers, but that's not all we offer.
Take B-08 for example, a 2708 EPROM Programmer for the SWTPC6800. All programming voltages are generated on board and controlled by a
safety switch with an LED Indicator. An Industrial quality Textool socket and extended boara height allow effortless EPROM Insertion and
retrieval. The source listing of U2708, our utility to test, burn verify and copy EPROMs Is Included. B-08 was our first product and we've never
had one of them returned for repair. Price: $99.95
If you're programming EPROMs a lot, you might take a look at our PROM System Board. PSB-08 features space for up to eight 2708 EPROMs
and 1K of high-speed scratchpad RAM. The EPROMs are dip-switch addressable for convenience. An exclusive I/O select option permits the
user to move the I/O locations In memory to any block In EPROM and expand to 56K bytes of contiguous user RAM. Price: $119.95
UIO Is another of our popular 6800 products; It's Just the thing for custom Interfaces. UIO has space for a 40-pln wire wrap socket Into which
you can plug any of Motorola's 40 or 24-pln Interface chips. The data and control lines are connected to the appropriate edge connector pins
with all other bus connections brought out to a 16-pln socket pad. Build circuits In half the time with UIO. Price: $24.95
One of our most exciting new products Is a home controller system. It won't cost several hundred dollars and you won't need any electrical
engineering experience to use It. By mid-summer we will have units available for the S-50, S-100, TRS-80 and Apple computers. Don't write us
now; we'll let you know when we are ready to ship.
Of course we still make video gear. The DS-80 for S-100 computers and the DS-68 for 6800 machines are In stock. Our first production run for
the Apple will be available In early July. So even though we think video Is one of the most creative areas opening up for micros, we're not just
the video people.
P.O. BOX 1 1 1 DEL MAR, CA 9201 4 71 4-756-2687
42 August 1979 © BYTE Publications Inc
Circle 231 on inquiry card.
A Beautiful
Way To Interface
lftl*0
SOROC's first
and foremost
concern, to
design outstanding
remote video displays, has
resulted in the development
of the IQ 140. This unit
reflects exquisite appearance
and performance capabilities
unequaled by others on the market
With the IQ 140, the operator
is given full command over data
being processed by means of a wide variety
of edit, video, and mode control keys, etc.
The detachable keyboard, with its
complement of 117 keys, is logically
arranged into 6 sections plus main keyboard
to aid in the overall convenience of operation.
For example, a group of 8 keys for cursor control /
14 keys accommodate numeric entry / 16 special function keys
allow access to 32 pre-programmed commands / 8 keys make
up the extensive edit and clear section / 8 keys for video set
up and mode control / and 8 keys control message and print.
Two Polling options available: 1) Polling compatible with Lear
Siegler's ADM-2. 2) Polling discipline compatible with Burroughs.
IQ130
K
I The SOROC
\ IQ 120 is the result
of an industry-
wide demand
for a capable
remote video
display terminal
which provides a
multiple of features
at a low affordable price.
The IQ 120 terminal is a simple
self-contained, operator / computer unit.
The IQ 120 offers such features as: 1920 character
screen memory, lowercase. RS232C extension,
switch selectable transmission rates from 75 to
19,200 bps, cursor control, addressable cursor, erase
functions and protect mode. Expansion options presently
available are: block mode and hard copy capability with
printer interface. The IQ 120 terminal incorporates a 12-inch,
CRT formatted to display 24 lines with 80 characters per line.
Circle 341 on inquiry card.
165 FREEDOM AVE., ANAHEIM, CALIF. 92801
1714) 993 -2BBO / (BOO) 854-0147
A
Coupler
Professionals
A major division of a Fortune 50 company has
several openings in its Software Department.
These openings are a result of expansion
within our modern Midwest facility. We are
currently seeking professionals in the areas
of programming, systems analysis, computer
design, software engineering and computer
system engineering. A background or
knowledge or interest in any of the following
areas may qualify you to become a member
of our industry-leading team:
Mini Computers
Micro Processors
Real-time Control Systems
Performance Modeling
Operating Systems
Queuing Theory
Structured Software Design
Large Systems Development
Custom Software Design
Software Utilities
Hardware/Software Trade-Offs
Data Base Management
Software Maintenance
? Distributive Processing
Language Development
This is an excellent opportunity for you to join
a company using state-of-the-art technology
in a total system development environment.
Our benefit package including group in-
surance, company paid dental plan, tuition
aid, liberal vacation and holiday schedules,
stock-option plan, relocation plan, etc. . . .is
among the best in the industry, and the salary
structure we have to offer is an incentive for
you to explore our opportunities.
Our working environment is conducive to pro-
fessional growth and it is geared to the results
oriented individual. Candidates interested in
any of these exciting areas, please rush a
resume to:
Dept. R W 0801
500 N. Michigan Ave., Suite 544
Chicago IL 60611
Equal Opportunity Employer M/F
The system chains backwards through
facts until it finds some simple ones it
knows.
(TO-DERIVE (UNCLE-OF 7X ?Y)
(FIND (SIBLING ?Z X))
(FIND (CHILD-OF Y Z)))
"To show one person is the uncle of another, find a per-
son that is a sibling of the first and a parent of the
second. "
This procedure would work if we had SIBLING and
CHILD-OF assertions in the data base. Since we don't,
we must specify procedures that can determine these
things from the information that is in the data base:
(TO-DERIVE (SIBLING 7X 7Y)
(FIND (MOTHER-OF 7Z X))
(FIND (MOTHER-OF Z Y)))
"To determine if one person is the sibling of another, see
if they have the same mother."
(TO-DERIVE (CHILD-OF 7X ?Y)
(FIND (MOTHER-OF Y X)))
"To determine if one person is the child of another, see if
the second is known to be the mother of the first. "
(TO-DERIVE (CHILD-OF 7X 7Y)
(FIND (FATHER-OF Y X)))
"To determine if one person is the child of another, see if
the second is known to be the father of the first. "
There are now two different procedures for deciding
CHILD-OF relations as was the case with the earlier
GRANDMOTHER-OF relation. If the system doesn't
already have the answer to the question in its data base, it
will try one, and if that fails, it will try the other.
Our set of assertions does not happen to contain
FATHER-OF assertions, so they too should be specified
by procedures. We do have MOTHER-OF and
HUSBAND-OF assertions. These are sufficient:
(TO-DERIVE (FATHER-OF 7X ?Y)
(FIND (MOTHER-OF ?Z Y))
(FIND (HUSBAND-OF X Z)))
"To determine if one person is the father of another see if
the second person's mother is the husband of the first."
The control used by this system is often referred to as
backward chaining. Determining if someone is the uncle
of someone else may result in attempts to determine
CHILD-OF relations that may then result in determining
FATHER-OF and then HUSBAND-OF relations. The sys-
44 August 1979 © BYTE Publications Inc
MOVING DATA AT A SNAIL'S PACE
BECAUSE YOU'RE FLOPPY BOUND?
Let Corvus Systems put you back in the race!
- — —
CQftVtfS IH CAT
<**- IH RECTORY MtUC MUHftEt t
m
■ For TRS-80t, Apple*, S-1 00 Bus*.
Fully compatible hardware/software.
10-million byte disk: IMI-7710.
Proven Winchester technology.
■ Z-80 based Corvus disk controller.
■ Comprehensive disk diagnostics.
■ Up to 4 disks per system.
System $5350, add-on disk $2990.
30 day delivery
Corvus offers a complete systems solution
to the mass storage problem of micro
computers. In a package smaller than a
briefcase, we provide an intelligent
controller, disk, and personality module.
Call or write today for additional information.
Get up to speed with Corvus.
®
-•^
CORVUS SYSTEMS, Inc.
Circle 83 on inquiry card.
tTRS-80 is a registered trademark of Radio Shack, a Tandy Co.
t Apple is a registered trademark of APPLE Computers, Inc.
♦S-100 pricing slightly higher.
900 S. Winchester Boulevard
San Jose, California 95128
408/725-0920
BYTE August 1979 45
tern chains backward through facts until it finds some
simple ones that it knows.
The TO-DERIVE procedures are similar in concept to
subroutines in many other computer languages. The dif-
ference is that subroutines are usually called by name. If I
want to compute a cosine I call the subroutine COS. Pro-
cedures in these languages are invoked by a pattern that
indicates what they can accomplish. The procedure that
determines if one person is the uncle of another has no
name; it indicates by its pattern (UNCLE-OF 7X 7Y) that
it is capable of determining whether or not one person is
the uncle of another. This distinction is an important one.
As shown, more than one procedure may have the same
pattern. This will not disturb the system. It will try one,
and if that fails, it will try others until it finds one that
works. One TO-DERIVE procedure can serve several
purposes. The UNCLE-OF procedure is capable of
answering three different kinds of questions:
"Is Harold the uncle of Robert?"
"Who are the nephews of Harold?"
"Who are the uncles of Robert?"
Better Pattern Matchers
The ease with which concepts can be expressed in the
language depends significantly on the sophistication of
the pattern matcher. The pattern matcher described so far
is of the simplest kind. Many things we would like to say
are difficult or impossible to do with it. There is no such
thing as an "ideal pattern matcher." One can always
come up with more sophisticated ways to create patterns.
This section is devoted to discussing two fairly well
known extensions known as unpack and multisets.
Earlier we were concerned with a data base of asser-
tions representing information about students taking
courses at a school. The assertions were of the form:
(COURSES BARBARA (SPRING 1978)
(PHYSICS-2
ALGEBRAIC-TOPOLOGY
AESTHETICS))
and it was impossible to phrase questions of the form
Who took Algebraic Topology in the Spring of 1978?"
The reason that this is impossible to indicate is that the
atom ALGEBRAIC-TOPOLOGY can occur as any ele-
ment of a list with zero or more atoms in this list, before
and after it. The problem can be dealt with by the intro-
duction of the unpack operator. This operator,
represented by an exclamation point !, is placed before
the question mark variable. A ? without a ! matches ex-
actly one object. A !? combination will match zero or
more objects. Here are some examples of patterns:
(FOO 11 BAR) matches any list that begins with the atom
FOO and ends with the atom BAR:
(FOO BLATZ BAR)
(FOO TOM LARRY BAR)
(FOO BAR)
(FOO !?) matches any list with FOO as the first element:
(FOO)
(FOO BAR)
(FOO BAR BLATZ)
(? !? FOO !?) matches any list that contains the atom
FOO as the second or later member:
(XYZ FOO)
(XYZ ABC FOO TOM LARRY)
With the unpack operator the question "Who took
Algebraic Topology in the Spring of 1978?" can be phra-
sed:
(RETRIEVE ' (COURSES 7 (SPRING 1978)
(17ALGEBRAIC-TOPOLOGY !?)))
Of course, if we were using the unpack operator inside
TO DERIVE procedures, the !? would be followed by a
variable that gets bound to what it matches, just as the ?
variables.
Another question we cannot ask with the simple pat-
tern matcher is "Who took Algebraic Topology and
Aesthetics in the Spring of 1978?" We cannot ask this
question because whenever we have a list there is an in-
trinsic order to its elements. To be sure of covering all
cases we would need two patterns:
(COURSES ? (SPRING 1978)
(!? ALGEBRAIC-TOPOLOGY !?
AESTHETICS !?))
as well as:
(COURSES ? (SPRING 1978)
(!? AESTHETICS !?
ALGEBRAIC-TOPOLOGY !?))
If there were three courses then six different patterns
would be necessary. We need a more general solution. To
handle the case where matches should be made regardless
of the order of the elements, multisets are introduced. A
multiset will be denoted by curly brackets { and }. A
multiset is said to match a list if each of its elements
match a corresponding element of the list (?s and !?s are
allowed). Here are some examples of multisets:
{ABC} will match any list containing exactly the three
elements A, B, C:
(ABC)
(CAB)
(BC A)
{A B ?} will match any three element list containing A
and B:
(BCA)
(BARAB)
(AXB)
{A B !?} will match any list containing A and B:
(BA)
(XB YZ AV)
46 August 1979 © BYTE Publications Inc
VISUALIZE
VOIR
WflOEMS OflAWDAlLY
Y=SQR( (-2*X A 2-3*X)/4+SGR
(X A 3-X A 4+( (2*X A 2+3*X) A 2)/4) )
A2FP GIVES YOU EXTENSIVE
PLOTTING CAPABILITIES
Whether you're a businessman, en-
gineer, student, researcher or doc-
tor, A2FP can plot for you 2-
dimensional functions in HIRES
graphics. And on Cartesian coordi-
nates.
You tell A2FP the domain of defini-
tion and it plots the rest giving com-
plete parameters of plotted curves.
You can even superimpose differ-
ent function graphs. A whole array
of disk commands is included in the
disk version. Whatever your plot,
you utilize the full screen (280 x
192 points).
POWERFUL CODE FULLY TESTED
A2FP is engineered to think human.
To ask the questions newcomers,
non-mathematicians and non-pro-
grammers need. Then every test
imaginable is used to make sure
the program performs flawlessly.
CLEAR, COMPLETE AND LOGICAL
DOCUMENTATION
The Electronic Field Engineer recent-
ly wrote: "What was particularly
pleasing about the information we
received on the A2FP is the docu-
mentation. It is attractively pre-
DAMPED FUNCTION; SIN(X)/X C-25,25D
Y=(SIN(X)) A (1/X) C-10,103
WilhA2FP
The Apple 1C Function Hotter
sented, highly legible, clearly
organized, and thorough. The
quality of the documentation tends
to support the claims PR5 makes in
other areas."
DISK VERSION (46K REQ.) NOW
AVAILABLE
VISIT YOUR NEAREST DEALER
Let your dealer demonstrate the
excellence of A2FP. Only $34.95
per cassette. $54.95 per disk. Let
him show you the new concept in
PR5 documentation. Use the cou-
pon to obtain the names of dealers
in your area.
r
i
i
PRS— THE PROGRAM OF THE
MONTH CORPORATION
257 Central Park West, New York, N.Y. 10024
□
□
□
□
Send me A2FP The
Apple It Function Plotter
Cassettes ($34.95 eo.)
Floppy Disks ($54.95 eo.)
Documentation only ($10 eo.)
Send me list of dealers in my area
Check enclosed (5% discount for payment with order)
Visa D Moster Charge □ U.P.S. COD
Cord#
Bank&# .
Signature .
Nome
Exp. Dote.
Your cassette (or disk) and manual
are protected in this beautiful gold-
imprinted folder.
Circle 317 on inquiry card.
I
I
I
L,
Corporation
Address (no P.O. Box)
City
Telephone.
State .
Reference SD9
-Zip.
-- .J
BYTE August 1979 47
{B B !?} will match any list containing two or more
occurrence of B:
(XB AB)
(B W S FOO B BAR)
The question "Who took Algebraic Topology and
Aesthestics in the Spring of 1978?" can now be phrased:
(RETRIEVE ' (COURSES ? (SPRING 1978)
{ ALGEBRAIC-TOPOLOGY
AESTHETICS !?})
History
The basic concepts of pattern-directed invocation
originated in the PhD thesis of Carl Hewitt at MIT in
1969. The original Planner language that was the subject
of his thesis was never implemented. A cut down version
of Planner, roughly equivalent to our language with
ADD, REMOVE, and RETRIEVE, was implemented in
1970 and called Microplanner.
Microplanner was used as a tool in subsequent research
in artificial intelligence at MIT. The best known system
to make use of Microplanner was the SHRDLU program
of Terry Winograd. SHRDLU was a program about a
simulated world consisting of a table, variously colored
toy blocks, and a box. A person could type in English
language questions and imperatives to which the system
would take an appropriate action, such as: "What blocks
are in the box?" or "Pick up the big red block." Assertions
were used to store knowledge about the current state of
the world, such as:
Main/Frames «, $2
Mp>.» •
Main/Frames ,™ $200
< 14 Basic Models Available
» Assembled & Tested .
• Power Supply:
8v@15A, ± 16v@3A
► 15 Slot Motherboard 1
(connectors optional)
• Card cage & guides
• Fan, line cord, fuse, power
& reset switches, EMI filter
• 8v@30A, ± 16v@10A
option on some models --
r Rack
mounted
from $200
8" Floppy Main/Frame
(includes power for drives
and mainframe) from $365
Write or call for our
brochure which includes our
application note:
'Building Cheap Computers'
INTEGRAND
8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288
We accept BankAmericard/Visa and MasterCharge
(IN PYRAMID BOX)
Procedures implemented simple reasoning involved
with answering questions and constructing plans to carry
out commands. Microplanner proved to be quite limited
in its capabilities and spawned several immediate suc-
cessors that embodied sophisticated improvements.
QA4, developed by Rulifson and associates at the
Stanford Research Institute, introduced the notion of
multiple contexts. Contexts are a way of having more
than one data base inside the machine, each representing
a different aspect of the problem at hand. One context
might model (ie: contain assertions pertaining to) the
state of the world at some point of time in the past, while
another might model the current state of the world.
Another common use of the context mechanism is to
reason about hypothetical worlds, collections of asser-
tions similar but not identical to the current one. A
hypothetical world might represent what would happen
if the machine took some action.
Conniver, developed by Sussman at MIT, introduced
certain notions of control structure that seemed lacking in
the original Microplanner. The system has a data base of
facts and procedures that are capable of deducing facts
that are not explicitly in the data base. When a call is
made to RETRIEVE, it is entirely up to the system to
choose which procedures to try, and in what order to try
them. The simple minded scheme picks one procedure
and tries it. If this does not work it picks another. There
is no way in Microplanner that a program can have con-
trol over the order in which procedures are chosen. Con-
niver supplies facilities that allow the program to have
access to possible choices and then order or otherwise
process them.
AMORD, developed by deKleer and associates at
MIT, keeps a trace, by means of justifications, of how
each fact in the data base was derived. If a fact is deter-
mined to be no longer valid, all facts that derived from it,
as determined from the justifications, are automatically
removed by the system. This facility allows a program to
conveniently change certain premises and automatically
update the rest of the data base to reflect this change.
ETHER, developed by the author, allows the program
writer to let many operations in the program be done in
parallel. The program can maintain conflicting world
models (ie: collections of assertions) that can be reasoned
about concurrently.
A General Information Storing Tool
These languages have been developed explicitly as arti-
ficial intelligence research tools. We have not discussed in
any detail the issues involved in modeling a situation in
the world and reasoning about it. The examples given are
meant to suggest the possibilities for pattern directed in-
vocation as a more general tool for storing facts. The
need to store facts (ie: to create data bases) comes up in
all sorts of situations. As computation becomes cheaper,
more and more stores of information will move from
paper to electronic storage media. There are, of course,
more efficient ways to store information than by
representing them in list structure in a LISP environment.
The disadvantage of some loss of efficiency seems to be
far outweighed by the increased flexibility in accessing
the information. ■
48 August 1979 © BYTE Publications Inc
Circle 177 on inquiry card.
Solve Problems By Simulation
with simulations
of many con-
cepts, including
• wave motion
• flying objects
• artificial
intelligence
• electronic
circuits
• and robot
motion!
.yjBinrii\v v
SIMULATION is a collection of
the best articles from BYTE Magazine on this useful computer technique,
plus exciting new material on the subject.
SIMULATION is the second volume in the Programming Techniques series
on the art and science of computer programming from BYTE BOOKS.
Editor Blaise W.Lif f ick's selection of material furnishes not only background
information from which the personal computer user is able to write
and maintain simulation programs, but also actual programs for
simulating many situations. Theoretical and practical applications of
this technique are explored in articles dealing with specific aspects
of simulation.
Learn how to find solutions to your problems through SIMULATION.
ISBN 0-931718-13-9
$6.0
I II
Buy this book at your favorite computer book
store or order direct from BYTE BOOKS.
Add 60c per book for postage and handling
dITE
enures
BOOKS OF INTEREST TO COMPUTER PEOPLE'
70 Main Street, Peterborough, New Hampshire 03458
Circle 36 on inquiry card.
BYTE August 1979 49
Qispcis's Circuit Qellsp
Anyone Know the Real Time?
Steve Ciarcia
POB 582
Glastonbury CT 06033
Copyright © 1979 by Steven
A Ciarcia. All rights reserved.
I'm sure you've all heard the term
real-time, such as a real-time
operating system. But, how many
really understand its meaning? A sim-
ple definition of a real-time system is:
a system that operates in real time,
that is, it responds to the need for
action in a period of time propor-
tional to the urgency of the need; first
things are done first. In control appli-
cations the system can be depended
on to provide the information
necessary to base time-dependent
decisions on information that is up to
date as of the minute or the hour.
Real time describes the processing of
information in a sufficiently rapid
manner that the results of the process-
ing are immediately available to in-
fluence control of the process being
monitored.
While there are particular architec-
tural enhancements in high-speed
process monitoring and control sys-
tems, basically any computer can be
configured to perform some semb-
lance of real-time operations. The
essential criterion is that the com-
puter be capable of performing a
specific action at a particular time.
The extent of real-time operation then
becomes dependent upon execution
r //.•:. .
• J jr ' , t I >
f i i \ I i ; i •
Photo 1: A prototype board of real-time clock mounted on the back of an existing
parallel I/O (input /output) board. Two reed switches on the left side of the board are
for manual setting of the clock. The empty sockets are used for the particular applica-
tion for which this board was designed, a home security system.
speed. If a program that takes 1
second to analyze a data input and
display it on the video display is to
run in real time, it can only be called
once per second. For continuous
sampling this also means that the
computer cannot be tied up doing any
other task without provision being
made for that program to be inter-
rupted so that the analysis program
can run. Most often, computers uti-
lize hardware priority interrupts to
provide this capability. A direct
benefit of this approach is that all
programs can execute asynchronous-
ly, since interrupt logic synchronizes
the computer's action upon the occur-
rence of a real-time event. Further
discussion of interrupts will continue
later in this article.
A second, slightly less complex
method of synchronizing computers
to real-time events is through a
technique of status scanning (or
device polling). This software-
intensive situation requires that all
devices demanding real-time interac-
tion set status flags to indicate ready
conditions. The computer scans these
flags periodically and performs the
appropriate action. The flags are reset
when the devices have been serviced.
It is important to keep in mind that all
the programs that the computer nor-
mally executes must be short enough
to allow the computer to service
every device. Also, care must be
taken to design the system so that a
second event cannot occur on an in-
dividual device before the computer
has acknowledged the first event.
Most sophisticated real-time sys-
50 August 1979 © BYTE Publications Inc
IN4002
— M — «
M5VAC
C^
12.6VAC XIN4002 ^O.I/iF |lK
• I o
/77
Number
Type
+ 5 V
GND
IC1
7414
14
7
IC2
7492
5
10
IC3
7490
5
10
Q A BD
60Hz
IC3
7490
^IO
R o(t) R o(2) R g(i) R g(2) Qd
D
lOHz
TTL LEVEL INTERRUPTS
TO COMPUTER
Figure 1: A simple time-base generator for an interrupt-driven real-time clock.
terns use a combination of these two
methods. A clock circuit, such as that
in figure 1, provides a time "tick" to
the processor's nonmaskable inter-
rupt line. This can be every 60th,
10th, or 1 second, as suggested in this
schematic. When the computer ack-
nowledges the interrupt, it first saves
all registers from the program it was
executing, and then services the real-
time interrupt. Frequently the first
action is to increment an internal
counter which keeps track of elapsed
time. Usually it will be a value equi-
valent to the total number of clock
ticks, whether in seconds or milli-
seconds. Once this regular interval
has been established, it is easy for the
computer to scan all status flags from
real-time devices. The addition of
more real-time activities for the pro-
cessor does not entail multiplying the
number of interrupt lines, but rather
it simply entails placing another
status flag on the list of those to be
checked on each clock tick.
The choice of a totally interrupt-
driven real-time system, a combina
tion scan and interrupt type, or a
total scanning system is dependent
upon the quantity of real-time- opera-
tions and their frequency. An inter-
rupt-driven system can process infor-
mation faster than the same system
configured for real-time scanning.
Real Time Applications for
Personal Computers
So far I have emphasized the
system attributes, but nowhere have I
discussed applications, particularly
personal computing applications.
Clock divisions down to milliseconds
sound great and make interval timing
extremely accurate, but I doubt that
the majority of home computerists
would want something that complex
to integrate into their system. If my
mail is any indication of this, they
would prefer the design of a real-time
clock which can be directly applied in
home control applications. Automa-
tically turning on the percolator at
6:45 AM would be far more stimu-
lating than a high-speed data acquisi-
tion system which few would need.
Build a Real-Time Clock
Essentially, the kind of real-time
system which might appeal to per-
sonal computer users is one with a
resolution of perhaps 1 minute rather
than 1 ms. It should be read directly
in hours and minutes like a 4- or
6-digit clock and not just total counts.
A direct benefit of low resolution is
reduced overhead. The computer
does not have to acknowledge the
clock update or scan status flags as
often. It may not seem like much of a
time savings, considering instruction
execution speeds of 1 fis. However,
DEVICE
flCTltiRTION
DEACTIVATION
PRESENT STfflE
l.Night Light
m
BjKM i^i|
ON
2. Driveway flood
1338
2230
OF
3. Coffee Perk
0645
0738
OFF
4. Water Softener
0238
0430
OFF
5. Outside Lights
Wr$vM
2330
Eyj
6. Thermostat Dn
2300
0530
Ik] b
7. Bedroom TV
0700
0600
OFF
8.Dehumidifier
0300
1800
OFF
PRESENT TITC
—23 Hours 47 Minutes —
SYSTEM STATUS
TT**p*'P
GREEN ******
Photo 2: A typical application of a real-time clock. This display is from my computer-
controlled security system.
August 1979 © BYTE Publications Inc 51
50 Hz OR
6
D Hz OR I — ^
OHz L^^
-5 OR ^6
FAST/SLOW
SET
o-
T1ME PRESET LOGIC
v HOURS
■12 OR -H24
f MINUTES
r60
SECONDS
^60
HOURS, MINUTES, AND SECONDS MULTIPLEXER
MULTIPLEXER
CLOCK F>-
MULTIPLEX
TIMING
DECODER
-O BCD OUTPUT
i — > 7-SEGMENT
' OUTPUTS
-O DIGIT ENABLE
Figure 2: The block diagram for a typical clock chip.
J I
u
I
I
3
L
H
_l
I I
3
b
/
i
n
o
n
TYPICAL 7-SEGMENT
CLOCK DISPLAY
SEGMENTS
O
•hi'
a
b
c
d
e
f
g
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
BCD
8
4
2
1
1
1
1
1
1
1
1
t
1
1
1
1
1
1
1
Figure 3,
decimal)
A comparison of output codes from 7-segment and BCD (binary coded
clock chips.
the interrupt routine could be 30
bytes and 100 fis long. If called every
millisecond it would eat up 10% of
the total cycle time — just to incre-
ment a counter! When it comes to real
time, be careful not to byte (sic) off
more than you can process.
The easiest way to provide an
hourly and minute by minute input is
to interface the computer to an
MOS/LSI (metal oxide semiconduc-
tor/large scale integrated) clock
device such as that found in most
digital clocks or watches. The block
diagram of a typical clock chip is
shown in figure 2. This LSI device
replaces about 22 TTL (transistor-
transistor logic) chips once necessary
to perform the same function, and
consumes very little power, allowing
battery standby operation. The cir-
cuit of figure 1 uses inexpensive TTL
rather than CMOS (complementary
metal oxide semiconductor) because
battery backup is irrelevant if the
computer cannot acknowledge inter-
rupts in a powered down state. Figure
3 illustrates the logic of the BCD
(binary coded decimal) and
7-segment output lines.
There are two approaches to the
design of a clock interface. One ap-
proach is to let the clock circuit
operate independently from the com-
puter, attached in such a way that the
computer is able to monitor this acti-
52 August 1979 © BYTE Publications Inc
A New, Easy to Learn
Microcomputer r^
Language /
BASEX
r ^"""
US*
ISBN 0-931718-8
Iff
utftf
Buy this book at your favorite
computer bookstore or
order direct from
BYTE BOOKS.
Add 60<p for postage
and handling.
svsmi
**H*8l*
BASEX is a fast and
compact language which im-
proves on some of the best features
of both BASIC and the 8080 Assembly language.
BASEX programs typically execute five times faster
than equivalent BASIC programs, while requiring less than
half the memory.
The BASEX compiler is written in the BASEX language and
combines the functions of editing, compiling, and
initiating the execution of programs to improve
memory efficiency. Author Paul Warme has
even included a BASEX loader program , w ^
to relocate programs anywhere / JmlUl W
in memory.
"BOOKS OF INTEREST TO COMPUTER PEOPLE"
70 Main Street, Peterborough, New Hampshire 03458
Circle 36 on inquiry card.
BYTE August 1979 53
CLOCK GENERATOR
i
T
CRYSTAL
a
b
c
SEGMENTS { d
e
f
l«
"HIO
HI
MIO
Ml
SIO
SI
TYPICAL
MOS
CLOCK CHIP
DIGIT {
CD4050
CMOS/MOS
TO TTL
CONVERSION
Figure 4: A real-time interface im-
plemented using a typical clock chip.
6 DIGIT DISPLAY
V
V
V
I 3 • u O • D C
1 1_ ■ I U • _/ Ll
V
V
+ 5V
V
10
V
V
V
V
14 CD4050
V
I 2 3 4 5 6
74147
C B A
PRIORITY
ENCODER
t t ♦ i t ♦ t
a b c d e f g
b 7 b 6 b 5 b 4 b 3
000
b 2 b, b
PARALLEL INPUT PORT
DIGITAL LOGIC DESIGN ENGINEERS - MARKETING PRODUCT SPECIALISTS
cn
>
CO
cc
[11
[11
z
CD
z
LU
CO
Z
o
I-
<
o
-J
a.
a.
<
CO
>
-J
<
z
cc
[11
<
cc
a
o
cc
a.
■
CO
cc
LU
H
CC
-J
<
O
z
I
o
LU
GET TO KNOW CODEX
We're Codex, producers of high speed state-of-the-art data communications
equipment, and we're knownas the best in the industry. Because we're growing at
a phenomenal rate, we need individuals with all kinds of backgrounds, experience,
and interests who'd like the challenge and excitement of working with the leader
in its field.
GET TO KNOW CODEX
EVEN GETTER
If Codex sounds good to you, clip out the coupon and send it to me, Gary Davis,
Corporate Employment Manager. I'll send you a package of information about
Codex so you can get to know us even better. Then if you think we've got what it
takes to improve your career, send us the enclosed application.
YOU WILL NOT BE CALLED unless you indicate interest in Codex by returning
an application or resume to us.
Clip out this coupon and send to: Gary Davis, Corporate Employment Mana-
ger, CODEX CORPORATION, 20 Cabot Boulevard, Mansfield, MA 02048.
Dear Mr. Davis:
Please send me information about career opportunities at Codex Corporation.
Name
Address-
Street
My current job title is.
City
State
Zip Code
BY
code*
corporOTon
A Subsidiary of MOTOROLA INC
20 Cabot Boulevard, Mansfield, MA 02048
An Equal Opportunity Employer M/F
SOFTWARE DESIGN ENGINEERS - MICROPROCESSOR DESIGN ENGI
m
cn
30
m
30
m
cn
m
z
H
>
<
m
en
m
i"
D
cn
m
3D
<
o
m
m
z
o
z
m
m
3D
cn
H
m
cn
H
m
z
o
z
m
m
3D
cn
NEERS
vity and extract a time value. The se-
cond approach, which I prefer, is to
give the computer complete control
over the information flow of the
clock in a synchronous manner. This
design makes the interface speed inde-
pendent and allows it to be used
directly with high-level languages.
Figure 4 shows the typical real-time
clock interface. In this design the
clock is configured in the usual man-
ner to drive a 6-digit light emitting
diode display. The clock runs inde-
pendently with the display multiplex-
ing rate (about 1 kHz) set by a
resistor/capacitor combination at-
tached to the chip. Five of the
7-segment drive lines are level shifted
and buffered for TTL through a CD
4050, and the 6 digit lines are priority
encoded to produce a 3-bit binary
value for transmission to the com-
puter of the energized digit-enable
line. The 3-bit digit and 5-bit segment
codes are combined to produce a
single 8-bit byte interfaced to a
parallel input port.
In operation, the computer pro-
gram first looks at bits b thru b 2 to
determine which digit of the display
to activate. Then it reads bits b 3 thru
b 7 and compares them to a table to
54 August 1979 © BYTE Publications Inc
Circle 44 on inquiry card.
September 1977
March 1979
Byte Cover Prints »
Limited Editions.
The September 77 and March 79 covers of BYTE
are now each available as a limited edition art print,
personally signed and numbered by the artist,
Robert Tinney.
These prints are strictly limited to a quantity of 750
for each cover, and no other editions, of any size,
will ever be published. Each print is 18" x 22 ",
printed on quality, coated stock, and signed and
numbered in pencil at bottom.
The price of each print is $25. This includes 1) a
signed and numbered print; 2) a Certificate of
Authenticity, also signed personally by the artist
and witnessed, attesting to the number of the edi-
tion (750), and the destruction of the printing plates;
and 3) first class shipment in a heavy-duty mailing
tube.
To order your limited edition art print, fill out and
mail the order form below.
Send me "Breaking the Sound Barrier"
prints at $25 each, and "Trap Door"
prints at $25 each. I understand this price in-
cludes Certificate of Authenticity and first class
shipment.
□ I have enclosed check or money order
to Robert Tinney Graphics.
□ Charge this to my Master Charge or Visa
Card #_
Expires:.
Ship my print(s) to:
Name
Address-
City
State.
.Zip-
Send order to:
robert tinney graphics
P.O. Box 45047 ■ Baton Rouge, LA 70895
D
Circle 369 on inquiry card.
BYTE August 1979 55
12V
A
-J- 100/iF
25V
m
I
60Hz
5-36pF
CRYSTAL
3.579545MHz
20pF
CRYSTAL
33pF
OSCILLATOR
IN
IC2
MM5369
OUTPUT
OSCILLATOR
OUT
60Hz
I 16
M2V
£ I0K f IOK f IOK
6 4 J2
AAA
IOK
22
M2V
G_ INPUT
BCDI
BCD2
BC04
BCD8
ICI
MM53I2
I PPS Ml
FAST SET MIO
SLOW SET HI
MULTIPLEX HIO
50/60Hz
9
o o
1
IC5 I
7406 |
[
I
X
2 I 5
o>
o*
"1
i
24 I 9
"^
Ex
I IC3 |
CD4049
r-,74 i
| CD4049 |
21 I Sr^. 2
I
20 I 5
O
!fc>!
I
ie I 9
I
o
^
5a
bo
OPTIONAL
INTERRUPT INPUTS
FROM PARALLEL
OUTPUT PORT
00000000
b 7 b 6 b 5 b 4 b 3 b 2 b| b
DIGIT ENABLE BCD VALUE
OUTPUTS
TO PARALLEL
INPUT PORT
5c
5b
HIO Hi MiO Ml SIO SI
g g g g g g
V
iC7
CD4060
L.
V
V
V
V
10
1
V
!iJ
3
6 4 3 2!
.J
INPUTS
a \ inputs
9 j
IC6
74147
OUTPUTS
C 8
A
6
m.
&7 &§ b $ b4
+ 12 TO 15V
FROM
COMPUTER
IN4002
IN4002
-W-
CLOCK
INTERFACE
GND
T
-\
-±- 12V
^F BATTERY
/77
Number
Type
+ 5 V
GND
+ 12 V
IC1
MM5312
—
23
13
IC2
MM5369
—
8
2
IC3
CD4049
1
8
—
IC4
CD4049
1
8
—
IC5
7406
14
7
—
IC6
74147
16
8
—
IC7
CD4050
1
8
—
Figure 5: Design for a real-
time clock which can be syn-
chronously controlled by a
BASIC or machine language
routine. 5a shows the sche-
matic diagram; asterisks in-
dicate lines which should be
opened to prevent loss of
time data when the computer
is powered down and the
interface is used with battery
backup. 5b shows an alter-
nate configuration for a
6-digit clock when using an
MM5311 integrated circuit.
5c shows the circuit for bat-
tery backup operation. The
clock interface requires 12
mA from the battery during
standby (indicated by the
arrow).
56 August 1979 © BYTE Publications Inc
determine which character is being
displayed. (Only 5 of the 7 segments
are necessary to perform this com-
parison.) This process is repeated 5
more times as the chip sequences
through the other digits. The final
result is formatted into hours,
minutes, and seconds. The entire
operation takes about 10 ms and re-
quires that the program be written in
machine language.
If you can believe the claims of the
manufacturers, there are now more
computers in use that run BASIC
rather than machine language as their
primary mode of interactive com-
munication. While it is still possible
to manipulate individual bits and
write machine language device con-
trol subroutines for these computers,
their owners are obviously more
familiar with high-level languages
and would necessarily feel more com-
fortable with a clock design which
could be controlled in BASIC as well
as machine code. Figure 5 demon-
strates such a design.
This circuit, which can be man-
MULTIPLEX TIMING INPUT
n ^_j^_^ji
MINUTES (UNITS)
MINUTES (TENS)
HOURS (UNITS)
HOURS (TENS)
INDICATES THAT BCD LINES CONTAIN VALID DATA FOR
; RESPECTIVE DIGIT DURING THIS PERIOD (AFTER
^•APPROXIMATELY 200/iSEC SETTLING TIME )
Figure 6: Display multiplex timing sequence for the circuit in figure 5.
ually or automatically preset, is fully
static and allows the display output
lines to be completely under program
control. The basic 5-chip interface
consists of a 4-digit BCD/7-segment
output clock type MM5312, an
MM5369 time-base generator, 2
MOS to TTL buffers to send data to
the microprocessor, and 1 TTL-to-
CMOS converter for processor con-
trol over the clock chip. Time is read
by the computer as 4 binary coded
i a nfi %§itiir_ "
ester n skies...
NALOG FUNCTIONS
in kit form
w
for micrpcomp,
IRS
;ducers
memories
. functions
converters
MULTIPLIERS
AND OTHER INTERFACE FUNCTIONS
FOR INDUSTRY • BUSINESS • EDUCATION
V COMPUTER HOBBIESTS •
~/\~ most kits offer stand-alone application ability
P.O. BOX 35879 TUCSON, ARIZONA 85740
AVAILABLE NOW!
"Q = QUALITY"
QK-100 TRIPLE A-> D CONVERTERS $36 95
QK-101 DUAL AIR TEMPERATURE SENSORS 26. 95
QK-103 POWER SUPPLY & DUAL SOCKETS. ..29. 95
QK-105 DUAL PHOTO DETECTORS 27. 95
QK-110 MULTIPLIER, VOLTAGE-CONTROLLED
AMPLIFIER COMBINATION... 43. 95
QK-112 PEAK-SENSE & HOLD/SAMPLE
AND HOLD 28. 95
QK-122 DUAL INSTRUMENTATION
AMPLIFIERS 24. 95
QK-124 LOG & ANTI-LOG COMBINATION .... 40. 95
QK-900 SOCKET/MOUNTING BOARD 8. 95
C3-
master charge
VISA 9
3J dealer
inquiries
welcome
(602) 299-9831
a division of j.r. conwell corporation
Circle 81 on inquiry card.
August 1979 © BYTE Publications Inc 57
Listing 1: Program for the real-time clock.
LIST
100
110
120
.130
:mo
150
160
170
180
190
200
210
220
230
240
250
REM
REM
REM
REM
REM
REM
OUT
IF
REM
REM
DEC
Ml-
M2=
HI*
H2*
PRI
OUT
REAL TIME CLOCK
COPYRIGHT 1979 STEVEN CIARCIA
THIS SIMPLE PROGRAM ALLOWS A COMPUTER TO TELL TIME BY
INTERFACING A DIGITAL CLOCK CHIP TO AN I/O PORT, (PORT 8 IN THIS EXAMPLE)
THE DISPLAY MUX LINE IS CONTROLLED BY THE COMPUTER, FIRST IT IS PULSED UNTIL
IT IS SET ON THE LEAST SIGNIFICANT DIGIT
8>1 :OUT 8*0 : T"INP<8> :D«T AND 16
D« 16 THEN 200 ELSE 16
ONCE THE LSD POSITION IS SET THE A SUCESSIVE READINGS ARE TAKEN
THE INPUT PORT DATA IS ANDED WITH 15 TO OBTAIN THE BCD UALUE (REMEMBER, BASIC USES
I MAD
T AND
T AND
T AND
T AND
15
15
15
15
I REM
:rem
:rem
:rem
:GOSUB 250
:GOSUB 250
:GOSUB 250
tGOSUB 250
NT H2?H1? ": ■ JM25M1 tGOTO 160
8,i :qut 8,o :t=inp(8):return :rem advance display mux
MINUTES (UNITS)
MINUTES (TENS)
HOURS (UNITS)
HOURS (TENS)
READY
decimal numbers. In a 4-digit clock
like the one in figure 5, the data ap-
pears as a digit-enable output and an
associated BCD value. The tens of
minutes data is available when bit b 5
is high (bits b 4 , b 6 , and b 7 are low). It
NOW, FROM MOUNTAIN HARDWARE.
THE 100,000 DAY CLOCK:
Put your S-100 Computer
on the clock.
A real time clock could double the
utility of your computer. Time events
in 100^S increments for up to 100,000
days (over 273 years). Program events
for the same period with real time
interrupts that permit pre-
programmed activities to take
place... without derailing on-going
programs. Maintain a log of computer
usage. Call up lists or appointments.
Time and date printouts. Time events. An
on-board battery keeps the clock running in
the event of power outage.
Mountain Hardware also offers a complete line
of peripheral products for many fine computers.
s
Available at your dealer's. Now.
Mountain Hardware, Inc.
300 Harvey West Blvd.
Santa Cruz, CA 95060 (408) 429-8600
will appear as a BCD quantity in bits
b thru b 3 . Unlike the circuit of figure
4, this unit is static and has no display
to drive. It will stay on a particular
digit until it is instructed to sequence
to the next digit. This is accomplished
by controlling the display-multiplexer
input line of the clock.
Figure 6 shows how the multiplexer
line is controlled in this application.
Bit of an output port (port 8 in my
example) is used to pulse multiplexer
input pin 22. At any time, 1 of the 4
digit-enable output lines will be low
(at the chip), indicating that the
multiplexer is set on that digit. The
data on the BCD lines is for that digit.
Reading the next digit is simply a case
of pulsing bit b again. There is no
time constraint either. You can wait
10 minutes between digits if you wish
(but the data won't mean much). It is
best to read the 4 digits sequentially.
The circuit is easily interfaced and
exercised in BASIC as demonstrated
in listing 1. The flow diagram of this
program is shown in figure 7.
The addition of 2 more gates con-
nected to output bits bi and b 2
facilitate automatic time preset.
Figure 8 follows the logic of how such
a program could be written. Two
magnetic reed switches shown in
photo 1 can be attached between pins
14 and 15, respectively, and ground
to allow manual preset as well. I find
that it is easier to just turn on the
58 August 1979 © BYTE Publications Inc
Circle 257 on inquiry card.
( START )
PULSE
DISPLAY MULTIPLEX
INPUT
IS DISPLAY
MULTIPLEX IN
Ml POSITION
h—
Ml = MINUTES(UNITS)
M2= MINUTES (TENS)
H I = HOURS (UNITS)
H2 = HOURS (TENS)
READ Ml IN BINARY
CODED DEGIMAL
PULSE
DISPLAY MULTIPLEX
INPUT
READ M2 IN BINARY
CODED DECIMAL
PULSE
DISPLAY MULTIPLEX
INPUT
READ HI IN BINARY
CODED DECIMAL
PULSE
DISPLAY MULTIPLEX
INPUT
READ H2 IN BINARY
CODED DECIMAL
PRINT HOURS
AND MINUTES
f RETURN OR ^
\^ REPEAT J
( START J
♦designates logic
boxes which may
require internal
time delays depending
upon program
execution speed
DESIGNATE DESIRED
PRESET TIME
H =HOURS
M =MINUTES
TURN ON SLOW
SPEED SET
READ MINUTES
I IS DESIRED PRESET
GREATER THAN
CURRENT READING
h —
IS CURRENT
READING EQUAL
I TO PRESET H
I I
h —
\ ? y
YES
LET DESIGNATED
PRESET H BE
H = H-I
NO
H
Ik
READ HOURS
\ ? y
NO
TURN ON *
FAST
SET
READ MINUTES
I 1
| IS CURRENT
, READING EQUAL
TO PRESET M
I
TURN ON
SLOW SET
f RETURN j
Figure 7: Flowchart of the program given
in listing 1 .
Figure 8: Flowchart for the automatic
reset routine.
clock program in continuous display
mode and adjust the clock as I read it.
If a battery back-up capability is add-
ed, the 2 TTL automatic set gates
should be disconnected. When the
computer is powered up, random
data can appear on bits bi and b 2/
accidently causing it to enter the set
mode. This is not a problem on the
input. While a 4-digit, 24-hour clock
is quite enough in my application (an
example is shown in photo 2), there
are those who need a second designa-
tion. Substituting an MM5311, the s 2
and Sio digit-enable line can be added
as 2 more parallel input bits and
treated exactly as the present circuit,
or binary encoded to reduce input
bits, as shown in figure 5b. This
method will require a slight software
change but should be an equally
viable approach. The present pro-
gram in listing 1 executes in approxi-
mately 50 ms when used with Micro
Com 8 K Zapple BASIC, but it works
equally well with a machine language
routine.
Whatever your final configuration,
I am sure you will find that accurately
timed control outputs are a definite
advantage on any system. And there
is no reason for the hardware of any
interface to constrain the operator's
choice of software interaction if it is
not dictated by the frequency of
events themselves. ■
Next month the topic of "Ciarcia's Cir-
cuit Cellar" will be various joystick inter-
faces.
August 1979 © BYTE Publications Inc 59
Low Cost Add-On Storage for Your TRS-80
In the Size You Want.
When you're ready for add-on disk storage, we're ready for you.
Ready with six mini-disk storage systems — 102K bytes to 591 K bytes of
additional on-line storage for your TRS-80*.
• Choose either 40-track TFD-100™ drives
or 77-track TFD-200™ drives.
• One-, two- and three-drive systems im-
mediately available.
• Systems include Percom PATCH PAK
#1™, on disk, at no extra charge. PATCH
PAK #1™de-glitches and upgrades
TRSDOS* for 40- and 77-track operation.
• TFD-100™ drives accommodate "flippy
disks." Store 205K bytes per mini-disk.
• Low prices. A single-drive TFD-100 TM
costs just $399. Price includes PATCH
PAK #1™ disk.
• Enclosures are finished in system-
compatible "Tandy-silver" enamel.
Whether you need a single, 40-
track TFD-1 00™ add-on or a three-drive
add-on with 77-track TFD-200™s, you
get more data storage for less money
from Percom.
Our TFD-100™ drive, for example,
lets you store 1 02.4K bytes of data on
one side of a disk — compared to 80K
bytes on a TRS-80* mini-disk drive —
and 1 02.4K bytes on the other side, too.
Something you can't do with a TRS-80*
drive. That's almost 205K bytes per
mini-disk.
And the TFD-200™ drives provide
197K bytes of on-line storage per drive
— 1 97K, 394K and 591 K bytes for one-,
two and three-drive systems.
PATCH PAK #1™, our upgrade
program for your TRSDOS*, not only
extends TRSDOS* to accommodate 40-
and 77-track drives, it enhances
TRSDOS* inotherwaysaswell. PATCH
PAK #1™ is supplied with each drive
system at no additional charge.
The reason you get more for less
from Percom is simple. Peripherals are
not a sideline at Percom. Selling disk
systems and other peripherals is our
main business — the reason you get
more engineering, more reliability and
more back up support for less money.
In the Product Development Queue . . . a printer interface for using your TRS-80* with any
serial printer, and . . AheElectric Crayon™ to map your computer memory onto your color TV
screen — for games, animated shows, business displays, graphs, etc. Coming PDQI
(
PERCOM DATA COMPANY, INC.
DEPT. B • 211 N. KIRBY • GARLAND, TX. 75042
60 BYTE August 1979
tm TFD-100, TFD-200, PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY.
*TRS-80 and TRSDOS are trademarks of Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY.
To order add-on mini-disk storage for your TRS-80*,
or request additional literature, call Percom's toll-free
number: 1-800-527-1592. For detailed Technical infor-
mation call (214) 272-3421.
Orders may be paid by check or money order, or
charged to Visa or Master Charge credit accounts. Texas
residents must add 5% sales tax.
Percom 'peripherals for personal computing'
Circle 305 on inquiry card.
For your SWTP 6800 Computer . . .
PERConnr
FLOPPY DISK SYSTEM
the
Ready to plug in and run the moment you receive
it. Nothing else to buy, no extra memory. No
"booting" with PerCom MINIDOS-PLUSX™, the
remarkable disk operating system on EPROM.
Expandable to either two or three drives.
Outstanding operating, utility and application
programs.
fully assembled and tested
shipping paid
PERCOM DATA COMPANY, INC.
21 1 N. Kirby Garland, TX 75042
(214) 272-3421
For the low $599.95 price, you not only get the disk drive, drive power
supply, SS-50 bus controller/interface card, and MINIDOS-PLUSX™,
you also receive:
• an attractive metal enclosure • a fully assembled and tested inter-
connecting cable • a 70-page instruction manual that includes operat-
ing instructions, schematics, service procedures and a complete list-
ing of MINIDOS™ • technical memo updates — helpful hints which
supplement the manual instructions • a 90-day limited warranty.
SOFTWARE FOR THE LFD-400 SYSTEM
Disk operating and file management systems
INDEX™ The most advanced disk operating and file management
system available for the 6800. INterrupt Driven Executive operating
system features file-and-device-independent, queue-buffered
character stream I/O. Linked-f ile disk architecture, with automatic file
creation and allocation for ASCII and binary files, supports sequential
and semi-random access disk files. Multi-level file name directory
includes name, extension, version, protection and date. Requires 8K
RAM at $A000. Diskette includes numerous utilities $99.95
BASIC Interpreters and Compilers
SUPER BASIC A 10K extended disk BASIC interpreter for the 6800.
Faster than SWTP BASIC. Handles data files. Programs may be
prepared using a text editor described below $49.95
BASIC BANDAID™ Turn SWTP 8K BASIC into a random access data
file disk BASIC. Includes many speed improvements, and program
disk CHAINing : $17.95
STRUBAL+™A STRUctured BAsic Language compiler for the pro-
fessional programmer. 14-digit floating point, strings, scientific func-
tions, 2-dimensional arrays. Requires 20K RAM and Linkage Editor
(see below). Use of the following text editors to prepare programs.
Complete with RUN-TIME and FLOATING POINT packages $249.95
Text Editors and Processors
EDIT68 Hemenway Associates' powerful disk-based text editor. May
be used to create programs and data files. Supports MACROS which
perform complex, repetitive editing functions. Permits text files larger
than available RAM to be created and edited $39.95
TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per-
Com disk operation. ROLL function permits text files larger than
available RAM to be created and edited. Supplied on diskette com-
plete with source listing $1 7.95
Assemblers
PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options
at time of assembly with this symbolic assembler. Source listing on
diskette $29.95
MACRO-RELOCATING ASSEMBLER Hemenway Associates'
assembler for the programming professional. Generates relocatable
linking object code. Supports MACROS. Permits conditional
assembly $79.95
LINKAGE EDITOR - for STRUBAL+™ and the MACRO-Relocating
assembler $49.95
CROSS REFERENCE Utility program that produces a cross-
reference listing of an input source listing file $29.95
Business Applications
GENERAL LEDGER SYSTEM Accommodates up to 250 accounts.
Financial information immediately available — no sorting required.
Audit trail information permits tracking from GL record data back to
source document. User defines account numbers $199.95
FULL FUNCTION MAILING LIST700 addresses per diskette. Power-
ful search, sort, create and update capability $99.95
PERCOM FINDER™ General purpose information retrieval system
and data base manager $99.95
tm trademark of PERCOM Data Company, Inc.
tm trademark of Hemenway Associates Company
Now! The LFD-800 and LFD-1000. Add one, two or three
LFD-800 drives and store 200K bytes per drive on-line. Add
one or two (dual-drive) LFD-1 000 units and store 800K bytes
per unit on-line. Complete with interface/controller, DOS,
cable & manuals. Two-drive systems: LFD-800 — $1549;
LFD-1000 — $2495.
PERCOM 'peripherals for personal computing'
j
Circle 306 on inquiry card.
BYTE August 1979 61
LISP Notes
John Allen
Signetics
811 E Acques Ave
Mail Stop 38
Sunnyvale CA 94086
Symbolic Expressions (or S-expres-
sions) are the primitive data items of LISP.
The usual interpretation of these expres-
sions is a binary tree where LISP atoms
appear at the tips of the tree, and the
internal nodes, called CONS nodes, have
2 branches. The left branch is called the
CAR branch; the right branch is called the
CDR branch. For example:
CONS
{ NODES
B C
These CONS nodes are also called dotted
pairs because the linear notation for these
trees, called dot notation, represents the
nodes as dots. For example, the tree above
would be written as (A . (B . C)) in dot notation.
The LISP functions car and cdr select the
CAR and CDR branches respectively. The
function cons constructs a new binary tree
from 2 fragments.
i M-Expressions of an external notation
for LISP, while a special kind of S-expre.s-
sion, called list notation, are used for both
the programming notation and the data
notation. All articles in this month's BYTE
use list notation for their data items. To
emphasize the distinction between the
idea of a list and its implementation as a
dot tee! pair, the functions first, rest, and
concat will sometimes be used instead of
car, cdr, an.d cons, even though the func-
tions are identical in traditional imple-
mentation.
Within the LISP language are several
powerful and distinctive features. One, called
lambda notation, gives LISP the ability to
describe and manipulate functions as data
objects. We use a simplified form of this con-
cept in the LISP operators DEF and DEFINE.
Another LISP distinction involves its concept
of a scope rule: basically a rule to apply when
finding the value of a nonlocal variable from
within a function call. The default rule in LISP
(and in APL) is called the dynamic scope,
meaning "use the latest binding of a
variable" (ie: the binding which was available
when the function was called). ALGOL and
Pascal use a rule called static scope which
says, "use the value which was current at the
time the function was defined." ■
A pencil, a card, and this low-cost reader. . .
it's the new, fast way to enter data into your
microcomputer."
Interfaces to TRS-80, Apple II, PET, and others.
Good news! Now, all you need is a standard #2 pencil, a card, and our new
MR-500 mark sense card reader to quickly and easily enter data into your
favorite microcomputer.
As Easy as One, Two, Three...
Here's all you have to do. One — program the card by marking with the pencil.
Two — feed the card into the reader slot. Three — the reader automatically turns
on, the card is fed through, and data is instantly entered into memory. It's the
simple low-cost alternative to keyboard data entry.
For Educators, Small Businessmen, and...
The applications for our low-cost MR-500 are endless. For small businesses, it's
ideal for inventory, time cards, labor distribution (just to name a few). Educators
will find that the MR-500 streamlines test scoring, attendance records, and grade
reporting. Bet you can find a use already.
The Small Reader for the Small Computer
The MR-500 is lightweight — 4 lbs. Compact — p .
a 4y2-inch cube. And at $750, it's the only mark for details.
sense card reader that makes sense for the lWS£l ° r better yeti
small computer. ^ order y° urs toda
CHATSWORTH DATA
cs cd ^* f» ra p=* ^^— |— i arsi
20710 Lassen Street • Chats worth, California 91311
(213) 341-9200 Circle 43 on inquiry card.
MICRO
TOLL-FREE
1-800-528-1418
WEST PRICES . FAST DE'
NDA
ERVI
DOUBLE DENSITY HORIZON I KIT
double the storage at the same price!
Today's best buy. 180K bytes per disk.
The chosen computer for two MicroWorld
systems . . . Autoscribe — The Paperwork
Manager- and Bookkeeper — The Office
Accountant-. Single density still runs on
your new Horizon, or you can copy and
convert all North Star software and pro-
grams to double density.
• exclusive application software
• add'l 16K memory (kit), $349
• add'l disk drive (kit), $349
NEW!
Call for low assembled prices. Double
density also available on North Star disk
sub-system, $599 kit. y
MICROPOLIS
DISK DRIVE
FOR TRS-80
\!
HEATH DATA
SYSTEMS PRINTER
SOROCIQ 120 VIDEO
TERMINAL
ft
&<f Tl 810 PRINTER
/\
MicroWorld Specials
Integral Data Printer $749
Add for Tractors $ 150
Mime Terminal $ 742
Hazeltine 1410 Terminal , $ 765
Hazeltine 1500 Terminal . $1097
Teletype Model 43
Printer $1019
Dataproducts M-200
Printer $2921
Vector Graphics MZ $3225
Exidy 16K Sorcerer $1035
Data General
microNOVA $CALL
Qume Sprint 5 RO
Printer (55cps) $2895
DEC LS 120 Printer .... $CALL
Centronics 779 Printer
(incl. tractors) $1095
Micropolis 1042 Mod
I Drive $CALL
Tl 59 Calculator $ 219
Novation CAT Modem .. $199
Tl 820 Terminal $2199
North Star Horizon
Software $CALL
Dataproducts B-300
Printer $5346
IPSI 1620 Diablo RO .... $2705
Hitachi 9" Monitor $184
Cromemco System III ... $5299
Imsai VDP-80 $CALL
SspUJDRLD"
Bringing information technology to your doorstep
1425 W. 12th PL • Tempe, AZ 85281 • 602-894-1193
VISA | No extra charge for credit card orders
Circle 233 on inquiry card.
Freight collect, F.O.B. Tempe
No other handling charges
Formerly Byte Shop Mail Order
CALL TOLL-FREE 1-800-528-1418
Get big system performance
from your small computer
Bigger isn't always better, but large-system experience and a national
communications network can help you get more out of your small computer.
Our large-scale computer time sharing system
is now available to small computer users during off-peak
hours (nights, weekends) via local phone calls.
Cost: $5.00 an hour, billed in one-minute increments of
about eight cents each!
/Mii-i-tiWI
n/UcraWET
What is it?
A remote, on-line computing service available via
local phone lines in 25 major metropolitan areas.
It is available from 6 p.m. to 5 a.m., local time, daily
as well as all day on weekends and most holidays.
Who is it?
MicroNET service is provided by the Personal Com-
puting Division of CompuServe Incorporated, one
of the nation's leading time sharing computer serv-
ice companies. We are a multi-million dollar com-
pany serving many Fortune 500 companies and
large government agencies for the last ten years.
What services do I get?
• Practical personal programs
• Ability to communicate with other small computer
users
• Opportunity to buy and sell software through the net-
work.
• Time-saving business applications
• Educational aids
• Easy-to-use programming languages
• Advanced programming and diagnostic tools
• Games (including many multi-player mind-bogglers)
What do I have to have to access MicroNET?
The minimum requirement is a terminal with com-
munications interface and a telephone. However,
the full capabilities of the MicroNET service will be
realized by using a microcomputer with modem
interface and a modem set for "originate" mode at
300 BAUD.
What does it cost?
By using our equipment during off-peak hours, we
can keep our rates extremely reasonable. There is
a one-time charge of $9.00 to sign up. Then you will
be billed (via Master Charge or Visa cards only) at
the rate of $5.00 per hour. Minimum charge per
access is $1.00 for up to 12 minutes of computer
time.
Can I store data?
Yes, up to 64,000 bytes of on-line file storage for up
to seven days between accesses. For your protec-
tion, we will disconnect automatically if your per-
sonal computer is left unattended for 15 minutes.
I want to know a bit more.
Good. Send in the coupon. You'll receive more de-
tailed information and an application. When you re-
turn the application, including your Master Charge
or Visa number (because we bill electronically to
help keep the price low), we'll send your user iden-
tification number and password, user guide, and
local phone number so you can put the power of
our large system to work for your small computer.
r
Mail to:
^
CompuServe
Personal Computing Division
5000 Arlington Centre Blvd.
Columbus, Ohio 43220
Send me information on MicroNET.
Name_
Address.
City/State/Zip.
c
uiiTiiwr
Cities with local phone service access: Akron, Atlanta, Chicago, Cincinnati,
Cleveland, Columbus, Dallas, Dayton, Denver, Detroit, Houston, Indianapolis, Los
Angeles, Louisville, Memphis, West Caldwell (NJ), New York, Philadelphia, Pitts-
burgh, San Francisco, Stamford (CT), St. Louis, Toledo, Tucson, Washington D.C.
Circle 46 on inquiry card.
BYTE August 1979 65
A Model of the Brain
for Robot Control
Part 3: A Comparison of the Brain
and our Model
In parts 1 and 2 we have shown
how a neurological model called the
Cerebellar Model Arithmetic Com-
puter (CMAC) can compute func-
tions, recognize patterns, and decom-
pose goals. We have also shown how
a crosscoupled hierarchy of CMACs
(see figure 1) can memorize trajec-
tories, generate goal directed pur-
posive behavior, and store an internal
model of the external world in the
form of predicted sensory data. In
this third article we will attempt to
show how this structure and its capa-
bilities can give rise to perceptual and
cognitive phenomena.
The fact that the mathematical
details of the CMAC model were
derived from the cerebellum, a por-
tion of the brain particularly regular
in structure and hence uniquely
suitable for detailed neuro-
physiological analysis, does not mean
that the results are inapplicable to
other regions of the brain as well. The
basic structure of a large output cell
(sometimes called a principal, relay,
or projection neuron) served by a
cluster of local interneurons is quite
typical throughout the brain. Such
About the Author:
Dr James S Albus worked for NASA from
1957 to 1972 designing optical and electronic
subsystems for over 15 spacecraft, and for one
year managed the NASA Artificial Intelligence
Program. Since 1973 he has been with the Na-
tional Bureau of Standards where he has re-
ceived several awards for his work in advanced
computer control systems for industrial robots.
He has written a survey article on robot
systems for the February 1967 issue of Scien-
tific American and his Cerebellar Model
Arithmetic Computer won the Industrial
Research Magazine IR-100 award as one of the
100 most significant new products of 1975.
James Albus
Project Manager
United States Dept of Commerce
National Bureau of Standards
Washington DC 20234
clusters commonly receive input from
a large number of nonspecific neural
fibers similar to the mossy fibers in
the cerebellum. In many instances
they also receive specific inputs which
are more or less analogous to climb-
ing fibers. As we might expect, there
are many differences in size and shape
of the corresponding cell types from
one region of the brain to another.
These reflect differences in types of
computations being performed and
information being processed, as well
as differences in the evolutionary
history of various regions in the
brain. Nevertheless, there are clear
regularities in organization and
similarities in function from one
region to another. This suggests that,
at least to a first approximation, the
basic processes are similar.
The implication is that the general
model of information processing
defined by CMAC (the concept of a
set of principal neurons together with
their associated interneurons trans-
forming an input vector S into an out-
put vector P in accordance with a
mathematically definable relationship
H) may be useful in analyzing the
properties of many different cortical
regions and subcortical nuclei. This is
particularly true since the accuracy,
resolution, rate of learning, and
degree of generalization of the
CMAC H function can be chosen to
mimic the neuronal characteristics of
different areas in the brain.
Hierarchical Control
The idea that the central nervous
system, which generates behavior in
biological organisms, is hierarchically
structured is an old one, dating back
considerably more than a century.
The analogy is often made to a
military command structure, wherein
many hundreds of operational units
and thousands, even millions of in-
dividual soldiers are coordinated in
the execution of complex tasks or
goals. In this analogy each computing
center in the behavior-generating
hierarchy is like a military command
post, receiving commands from
immediate superiors and issuing se-
quences of subcommands which
carry out those commands to subor-
dinates.
Feedback is provided to each level
by a sensory-processing hierarchy
which ascends parallel to the
behavior-generating hierarchy, and
which operates on a data stream
derived from sensory units which
monitor the external environment as
well as from lower level command
centers which report on the progress
being made in carrying out their sub-
commands. Feedback is processed at
many levels in this ascending hierar-
chy by intelligence analysis centers
that extract data relevant to the com-
mand and control functions being
performed by the behavior-gener-
ating module at that level.
Each of these intelligence analysis
centers makes predictions based on
the results expected (ie: casualties,
rewards, sensory data patterns) as a
consequence of actions currently be-
ing taken. The intelligence centers
then interpret the sensory data they
receive in the context of these predic-
tions. For example, in military in-
66 August 1979 © BYTE Publications Inc
The ideas presented in
this article represent the
views of the author and not
those of the Department of
Commerce or the National
Bureau of Standards.
telligence analysis a loss of 60 men in
an operation where losses had been
predicted at 600 implies an unex-
pectedly easy success, and perhaps in-
dicates a weakness in the enemy posi-
tion which should be further ex-
ploited. In the brain, the observation
of 60 nerve impulses on an axon
where 600 has been anticipated may
imply an unexpectedly weak branch
in a tree, upon which the placing of
any weight will result in a fatal fall
from the treetop.
The response of each command
post (or data analysis center) in the
hierarchy to its input depends on how
it has been trained. Basic training
teaches each soldier how to do things
the "army way" (ie: what each com-
mand means and how it should be
carried out). Each operational unit in
the military has a field manual which
defines the proper, or ideal response
of that unit to every foreseeable bat-
tlefield situation. Each field manual is
essentially a set of IF/THEN produc-
tion rules or case statements, cor-
responding to a set of CMAC func-
tions, P = H (S) or Q = G (D). At
the lowest level in the military
analogy these rules define the proper
procedures for maintaining and
operating weapons, as well as the
proper behavioral patterns for sur-
viving and carrying out assignments
under battlefield conditions. At
higher levels they define the proper
tactics for executing various kinds of
maneuvers. At the highest level, they
define the proper strategy for deploy-
ment of resources and achievement of
objectives.
In the case where each unit carries
out its assignment "according to the
book," the overall operation runs
smoothly and the goal is achieved on
schedule as expected. To the extent
that various units do not follow their
ideal trajectories, either because of
improper training or because of un-
foreseen difficulties in the environ-
ment, the operation will deviate from
the expected or planned schedule.
Alternate tactics may be required. If a
change in tactics still does not pro-
duce success, new strategies may be
required. Of course, there is always
1
1
„ C <
F 4
H 4
04
Jx 4
G 4
R 4
M 4
P4
Cs
c Jt
V
E 4
F3
H3
03
JX 3
G3
R3
M 3
P 3
C 2
x= I'
]!
E3
F 2
H 2
02
Jx 2
G 2
R 2
M 2
P 2
r C|
,- ,
1
1
E2
F,
Hi
Qi
j,,
G|
Ri
M,
P|
ACTION
1
E, '
1
sen;
5ATI0N
ENVIRONMENT H*
the possibility that failure will occur,
despite every effort. The goal will not
be achieved or, worse yet, the
organism may suffer a catastrophic
setback.
There is considerable anatomical,
neurophysiological, and behavioral
evidence that the analogy between
the brain and a military hierarchy is
quite accurate. However, in saying
this, it is important to keep in mind
that the highly schematic hierarchy
shown in figure 1 is a grossly over-
simplified diagram of the vast inter-
connected hierarchical network
which is the brain. Every motor
neuron in the nervous system can be
thought of as being controlled by its
own hierarchy which interleaves and
overlaps extensively with the hierar-
chies of nearby synergistic motor
neurons. Each sensory-motor system
has its own set of overlapping hierar-
chies which become increasingly in-
terrelated and interconnected with
Figure 1: A crosscoupled, processing-
generating hierarchy. The H modules
decompose input goals C into output
subgoals P using feedback F. The M
modules recall expected sensory data R
which is compared with observed sensory
experiences E. The G modules recognize
sensory patterns Q and compute feedback
errors F.
each other at the higher levels. Thus,
the entire brain may have the topo-
logical shape of an inverted
paraboloid as shown in figure 2.
Triune Brain Hypothesis
There is in fact some evidence to
suggest that the human brain is topo-
logical^ similar to three (or more)
concentric paraboloid hierarchies as
illustrated in figure 3. Paul MacLean
and others have hypothesized a triune
brain wherein the inner core is a
primitive structure (ie: the reptilian
brain) which provides vital functions
August 1979 © BYTE Publications Inc 67
SMELL
TOUCH
TASTE JAWS
LIPS
TONGUE
BALANCE
FORCE
PROPRIOCEPTION
HEARING
T
SPEECH
LUNGS
LARYNX
TOUCH
FORCE
PROPRIOCEPTION
ARMS
HANDS
FINGERS
such as breathing and basic reflexive
or instinctive responses such as
eating, fighting, fleeing, and repro-
ductive activities. Superimposed on
this inner core is a second layer (ie:
the mammalian brain) which is cap-
able of more sophisticated sensory
analysis and control. This second
layer tends to inhibit the simple and
direct responses of the first so as to
apply them more selectively and to
delay responses until opportune
moments. This second brain thus pro-
vides the patient waiting behavior
necessary for effective hunting of
prey. On top of this is yet a third
layer (ie: the primate brain) which
possesses the capacity to manipulate
the other two layers in extremely sub-
tle ways; to imagine and plan, to
scheme and connive, to generate and
recognize signs and symbols, to speak
and understand what is spoken.
The outer layers employ much
more sophisticated sensory analysis
and control algorithms that detect
greater subtleties and make more
complex decisions than the inner
more primitive layers are capable of
performing. Under normal conditions
the outer layers modify, modulate,
and sometimes even reverse the sense
of the more primitive responses of the
inner layers. However, during
periods of stress, the highly
sophisticated outer layers may en-
counter computational overload and
Figure 2. In the brain different processing-
generating hierarchies represent different
sensory -mot or systems. These become in-
creasingly interrelated at the higher levels
and eventually merge into a unified com-
mand and control structure. This enables
a complex organism to coordinate its ac-
tions in pursuit of high level goals.
become confused or panicked. When
this happens, the inner core hierarchy
may be released from inhibition and
execute one of the primitive survival
procedures stored in it (ie: fight, flee,
or freeze). A similar takeover by the
inner hierarchy may occur if the more
delicate circuitry of the outer is
disrupted by physical injury or other
trauma. Thus the brain uses its redun-
dancy to increase reliability in a
hostile environment.
Of course, all three layers of the
behavior-generating hierarchy come
together at the bottom level in the
motor neuron — the final common
pathway.
Motor-Generating Hierarchies
in the Brain
In the military hierarchy analogy,
the motor neurons are the foot
soldiers. They produce the action.
Their firing rates define the output
trajectory of the behavior-generating
hierarchy. A CM AC representing a
spinal motor neuron and its asso-
ciated interneurons receive feedback
F from stretch receptors via the dorsal
roots, as well as from other motor
neurons reporting ongoing activity in
related muscles. The command vector
C to this lowest level comes from the
vestibular system, which provides in-
ertial reference signals necessary for
posture and balance, as well as from
the reticular formation and basal
ganglia (and in primates, also directly
from the motor cortex).
There is nothing analogous to clim-
bing fibers for the motor neurons, but
this is not surprising since there is
evidence that little or no learning
takes place at this first level in the
behavior-generating hierarchy.
Evidence for second, third, and
fourth levels in the behavior-
generating hierarchy comes from ex-
periments with animals and observa-
tions of injured humans where the
spinal cord is severed at different
levels. If, as is shown in figure 4, the
cord is severed from the brain along
the line A- A, most of the basic motor
patterns such as the flexor reflex and
the reflexes that control the basic
rhythm and patterns of locomotion
remain intact. However, coordinated
activation of these patterns to stand
up and support the body against
gravity requires that the regions
below B-B be intact.
The stringing together of different
postures to permit walking and turn-
ing movements requires the regions
68 August 1979 © BYTE Publications Inc
Color. VP-590 add-on Color Board allows program
control of 8 brilliant colorsf org raphics, color games.
Plus 4selectable background colors. Includes
sockets for 2 auxiliary keypads (VP-580). $69.*
Sound. VP-595 Simple Sound Board provides 256
tone frequencies. Greatforsupplementing graphics
with sound effects or music. Set tone and duration
with easy instructions. $24.*
Music. VP-550 Super Sound Board turns your VIP into a music
synthesizer. 2 sound channels. Program control of frequency,
time and amplitude envelope (voice) independently in each
channel. Program directly from sheet music! Sync provision
for controlling multiple VIPs, multitrack recording or other
synthesizers. $49.*
Memory. VP-570 RAM Expansion Board adds 4K
bytes of memory. Jumper locates RAM in any 4K
block of up to 32K of memory. On-board memory
protect switch. $95.*
EPROM Programmer. VP-565 EPROM Programmer Board
comes complete with software to program, copy and
verify 5-volt 2716 EPROMs— comparable to units
costing much more than the VP-565 and VIP put
together! Programming voltages generated on
board. ZIF PROM socket included. $99*
EPROM Interface. VP-560 EPROM Interface
Board locates two 5-volt 2716 EPROMs (4K
bytes total) anywhere in 32K of memory.
VIP RAM can be re-allocated. $34.*
ASCII Keyboard?* Fully encoded, 128-character ASCII
encoded alpha-numeric keyboard. 58 light touch keys
including 2 user defined keys! Selectable upper and lower
case. Handsomely styled. Under $50*
Tiny BASIC?* VP-700
Expanded Tiny BASIC Board
puts this high-level language
on your VIP. BASIC stored
in4Kof ROM. Ready for im-
mediate use— no loading
necessary. This expanded
BASIC includes thestandard
Tiny BASIC commands plus
12 additional— including
color and sound control!
Requires external ASCII
encoded alpha-numeric
keyboard. $39.*
uxiliary Keypads. Program
your VIP for 2-player inter-
action games! 16-key keypad
VP-580 with cable ($15*)
connects to sockets pro-
vided on VP-590 Color Board
or VP585 Keyboard Interface
Card ($10*).
COSM AC VIP lets you add .
computer power a board at a time.
With these new easy-to-
buy options, the versatile
RCACOSMACVIP
(CDP18S711) means even
more excitement. More
challenges in graphics,
games and control func-
tions. For everyone, from
youngster to serious hobby-
ist. And the basic VIP com-
puter system starts at just $249* assembled
and ready to operate.
Simple but powerful— not just a toy.
Built around an RCA COSMAC micro-
processor, the VIP includes 2K of RAM. ROM
monitor. Audio tone with a built-in speaker.
Plus 8-bit input and 8-bit output port to inter-
face relays, sensors or other peripherals. It's
easy to program and operate.
Powerful CHIP-8 interpre-
tive language gets you into
programming the first
evening. Complete docu-
mentation provided.
Take the first step now.
Check your local com-
puter store or electronics
parts house. Or contact
RCA VIP Marketing, New Holland Avenue,
Lancaster, PA 17604. Phone (717) 291-5848.
'Suggested retail price. CDP18S711 does not include video monitoror cassette recorder.
"Available 1st Quarter, 1979.
See the RCA VIP at the 3rd Annual National Small Computer Show
at the New York Coliseum, August 23-26, booth 421 1 .
The fun way
into computers.
ItC/l
Circle 322 on inquiry card.
BYTE August 1979 69
EGS, FEET, TORSO
, FORCE,
CEPTION
GERS
PROPRIOCEPTION
Figure 3: The human brain is hypothesized to be a composite structure consisting of at
least three layers: (1) a reptilian brain which provides basic reflexes and instinctive
responses; (2) a mammalian brain which is more sophisticated and capable of delayed
responses; and (3) a primate brain which can imagine, plan and manipulate abstract
symbols. The outer layers inhibit and modulate the more primative tendencies of the
inner layers.
HYPOTHALAMUS
PRESTITIAL
NUCLEUS
RETICULAR
FORMATION
SUBTHALAMIC NUCLEUS
NUCLEUS
PRECOMMISSURALIS
INTERSTITIAL NUCLEUS
CEREBELLUM
RED NUCLEUS
VESTIBULAR NUCLEUS
SPINAL CORD
Figure 4. The hierarchy of motor control that exists in the extrapyramidal motor
system. Basic reflexes remain even if the brain stem is cut at A- A. Coordination of these
reflexes for standing is possible if the cut is at B-B. The sequential coordination required
for walking requires the area below C-C to be operable. Simple tasks can be executed if
the region below D-D is intact. Lengthy tasks and complex goals require the cerebral
cortex.
below C-C to be undamaged. In par-
ticular it is known that the rotational
movements of the head and eyes are
generated in the interstitial nucleus;
raising and lowering of the head in
the prestitial nucleus; and flexing
movements of the head and body in
the nucleus precommissuralis.
Stimulation of the subthalamic nuclei
can cause rhythmic motions including
walking. A cat with its brain section-
ed along C-C can walk almost nor-
mally. However, it cannot vary its
walking patterns to avoid obstacles.
Animals whose brains are cut along
the line D-D can walk, avoid ob-
stacles, eat, fight, and carry on nor-
mal sexual activities. However, they
lack purposiveness. They cannot exe-
cute lengthy tasks or goals. Humans
with brain disease in the basal ganglia
may perform an apparently normal
pattern of movements for a few
seconds and then abruptly switch to a
different pattern, and then another.
One form of this disease is called St
Vitus' dance.
Higher levels of the behavior-
generating hierarchy become increas-
ingly difficult to identify and localize,
but there is much to indicate that
many additional levels exist in the
cerebral cortex. For example, the
motor cortex appears to be respons-
ible for initiating commands for com-
plex tasks. The ability to organize
lengthy sequences of tasks, such as
the ability to arrange words into a
coherent thought or to recall the
memory of a lengthy past experience,
seems to reside in the posterior tern- '
poral lobe. Interactions between emo-
tions and intentional behavior appear
to take place in the mediobasal cor-
tex, and long term plans and goals are
believed to derive from activity in the
frontal cortex. Hierarchies of dif-
ferent systems (ie: vision, hearing,
manipulation, locomotion, etc)
merge together in the association
areas.
Sensory-Processing Hierarchies
in the Brain
It is a well established fact that
hierarchies of sensory-processing
modules exist in the brain. In a
famous series of experiments, Hubel
and Wiesel demonstrated four clearly
distinguishable hierarchical levels in
the visual system. Similar sensory-
processing hierarchies have been ex-
tensively studied in the auditory
70 August 1979 © BYTE Publications Inc
The TARBELL Connection
In an effort to offer products that meet the continually changing demands of the microcomputer
industry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality components
and operating software. All TARBELL products are available from computer store dealers everywhere.
Tarbell Floppy Disk Interface Tarbell Disk BASIC
• Plugs directly into
your IMSAI or
ALTAIR and handles
up to 4 standard sin-
gle drives in daisy-
chain.
• Operates at standard
250K per second
on normal disk for-
mat capacity of 256K
bytes.
• Works with modified
CP/M Operating Sys-
tem and BASIC-E
Compiler.
• Hardware includes 4 extra IC slots,
built-in phantom bootstrap and on-
board crystal clock. Uses WD 1771
LSI chip.
• Full 6-month warranty and extensive
documentation.
•Kit $190 Assembled $265.
Specify drive for assembled units.
Complete disk subsystems with opera-
ting software available. Please inquire
for details.
Runs on 8080, 8085 or Z80
Searches a file quickly for a string.
Up to 64 files open at once.
Random Access.
Assignment of I/O.
Alphanumeric line labels allowed.
Read and Write string or numeric
data.
• Unlimited length of variable names
and strings.
• Procedures with independent varia-
bles.
• Number system 10 digits BCD inte-
ger or floating point.
• Chain to another program.
• Cause programs to be appended on-
to programs already in memory.
• Cause interpreter to enter edit mode
using 15 single character edit com-
mands.
Occupies 24K of RAM. Tarbell BASIC
on CP/M Disk $48.
Source on paper or CP/M Disk . . .$25.
CP/M and BASIC-E on disk with
manuals $100.
Tarbell 32K RAM Memory
32K Static Memory
S-100 Bus Connector
9 regulators provide excellent heat distribution.
Extended addressing (bank switching.)
Phantom line.
Low power requirement.
20-Page operating manual.
Full 1-year warranty.
Assembled and tested full price only $625
16K version also available, assembled and tested only $390.
Tarbell Cassette Interface
^JJJMUJM
imiiiiliillH¥(ti,
• Plugs directly into your IMSAI or ALTAIR.
• Fastest transfer rate: 187 (standard) to 540 bytes/second.
• Extremely reliable— Phase encoded (self -clocking).
• 4 extra status lines, and 4 extra control lines.
• 37-page manual included.
• Device code selectable by DIP-switch.
• Capable of generating Kansas City tapes.
• No modification required on audio cassette recorder.
• Complete kit $120 Assembled $1
• Manual may be purchased separately
• Full 6-month warranty on kit and assembled units.
Circle 360 on inquiry card.
Tarbell Cassette BASIC
Includes most features of ALTAIR Extended BASIC, plus
these added features:
Assignment of I/O.
Alphanumeric line labels.
Unlimited length of variable names and strings.
Number system 10 digits BCD integer or floating point.
Procedures with independent variables.
Read and Write string data.
Multi-file capability.
Full price with complete documentation $48.
Prepaid, COD, or cash only. California residents please add
6% sales tax.
ALTAIR is a trademark/ tradename ofPertec Computer Corporation
CP/M is a trademark/ tradename of Digital Research
75.
$8.
950 DOVLEN PLACE • SUITE B
CARSON, CALIFORNIA 90746
(213)538-4251 •(213) 538-2254
BYTE August 1979 71
0,-G, (D,)
system and also the proprioceptive
and kinesthetic pathways. Cross-
coupling from these ascending hierar-
chies of sensory-processing modules
to the motor-generating hierarchies
provides the many different levels of
sensory feedback information re-
quired at the various stages of the
task or goal decomposition process.
At each level, output vectors from the
previous level of the sensory-
processing hierarchy provide inputs
to the next higher level, as well as
feedback to the same level of the
behavior-generating hierarchy.
In the case of vision, the two-
dimensional nature of input from the
surface of the retina causes the com-
putational modules in the visual pro-
cessing system to be organized in
sheets. This implies that a CMAC
model of a typical level in the visual
processing hierarchy would resemble
Figure 5: A two-dimensional array of
sensory-processing Cerebellar Model
Arithmetic Computers such as might exist
in the visual system. The observed sen-
sory image E 1 plus the prediction vector
Rj enters and is recognized by the
operator G 1 as a pattern. The vector R x
may select one of many filter functions or
provide an expected image or map to be
compared against the observed image.
the structure shown in figure 5. In this
structure the sensory input Dj might
consist of a pattern of sensory
variables Ej defining light intensity
(perhaps in a particular color band)
together with predicted variables Rj
which select a particular filter func-
tion. The output Q 1 = G^ (Dj) then
might define a pattern of edges or line
E, + R,
segments. This output forms part of
the input E2 to the second level. Out-
put from the second level, Q2 = G2
(D2), might define patterns of con-
nected regions or segments.
Recent work by David Marr at the
Massachusetts Insititute of Tech-
nology and Jay Tennenbaum at SRI
International suggests that the output
vectors Qj at various levels may
define more than one type of feature.
For example, a single level in the
visual processing system might con-
tain a depth image (derived from
stereo disparity, light gradients, local
edge-interaction cues, etc), a velocity
image (derived from motion detec-
tors), and an outline drawing image
(derived from edge detectors, line,
and corner finders) in addition to
brightness, color, and texture images
of the visual field. These and many
other kinds of information appear to
72 August 1979 © BYTE Publications Inc
from
For the last year the Micro industry has been promising double
density, and indeed some have been delivered. But if you're still
waiting for your order or grown tired of flaky performance, call
Delta. After a year of engineering and months of production
planning — WE CAN DELIVER!.
And what we deliver is SOLID, RELIABLE DOUBLE DENSITY.
Ask the owners of any of our other fine products:
— S-100 Mainframe — Z-80 CPU — 32 and 16K RAM — Video Interface
WE HAVE NEVER HAD
• Designed for CPM •
• On Board Boot
• 2MHz-4MHz Operation •
Switch Selectable Write
Precomp. •
• "Personality Board" to •
Modify Drive Configurations •
(No jumper wires)
A FIELD RETURN!
2 Data separators; one
digital, one analog
Runs without occupying any
system RAM
Complete Documentation
Transparent Density Select
Drive Diagnostic Software
included
West:
DEL TA PRODUCTS
1653 E. 28th Street
Long Beach, Calif. 90806
Tel: (213) 595-7505
wms&
East.
DEL TA PRODUCTS
1254 South Cedar Road
New Lenox, Illinois 60451
Tel: (815)485-9072
Circle 98 on inquiry card.
BYTE August 1979 73
Circle 99 on inquiry card.
Whenyou
want to
makea
good
impression.
Pick
A Daisy.
Diablo invented the Daisy Wheel.
Which is why today, more people
Eick one of over 100 different Diablo
)aisy Wheels when they want print
quality at its finest.
So, the next time you want to
make a good mpression, pick our daisy
and you're sure to look your best.
Diablo Systems
XEROX
Diablo* and Xerox arc registered trademarks of
XEROX CORPORATION.
74 August 1979 © BYTE Publications Inc
exist in registration at several dif-
ferent levels of the visual information
processing hierarchy so as to make
possible the extremely sophisticated
visual recognition tasks which our
brains routinely perform. These dif-
ferent types of images interact,
sometimes reinforcing each other so
as to confirm a recognition, and
sometimes contradicting each other
so as to reject one possible interpre-
tation of the visual input in favor of
another.
Crosscoupling
Cross links from the descending
hierarchies of motor-generating
modules provide the many different
levels of contextual and predictive in-
formation required at various stages
of the pattern recognition or sensory
analysis process. In the visual hierar-
chy, as well as in all other sensory-
processing hierarchies, context vari-
ables Rj may define expected values of
the Ej vectors. This implies that the
addresses Pj and Xj have stored data
from previous experiences when what
is currently recalled as Rj was ex-
perienced as Ej. In this case the recall-
ed context R; is essentially a stored
image, or map, which is accessed by
an associative address created by the
behavior-generating hierarchy being
in a state more or less similar to that
which existed when the remembered
experience (ie: the map) was stored.
This implies that the sensory data
processing hierarchy is a multilevel
map (or template) matching process,
and that in order to generate these
maps the behavior-generating side of
the crosscoupled hierarchy must be
put into a state (or pulled along a tra-
jectory) similar to that which existed
when the template was recorded.
When this occurs, the interaction
around the loop formed by the Gj, Hj,
and Mi modules at each level is
similar to a phase-lock loop, or a
relaxation process. The data Ej enters
the module Gj which recognizes it to
be in a certain class Qj with perhaps
an error of Fj. The recognition Qj trig-
gers an appropriate goal decomposi-
tion (or subgoal selection) function in
the H i+1 (or higher) modules which
generates a command (or hypothesis)
Cj. This command, modified by the
error Fj, generates a subcommand (or
subhypothesis) Pj and hence a
predicted data vector Rj. The predic-
tion Rj may confirm the preliminary
recognition Qj and pull the context Pj
into a more exact prediction via the
feedback loop involving Fj. Alter-
natively the prediction Rj may cause
Gi to alter or abandon the recognition
Qi in favor of another recognition
QV
Loops and Rhythms
Obviously such looping interac-
tions involve timing and phase rela-
tionships which may themselves have
information content. Many sensory
data patterns, especially in the
auditory, visual, and kinesthetic
pathways, are time dependent and in-
volve some form of rhythmic or har-
monic temporal patterns as well as
spatial relationships. For example,
activities such as walking, running,
dancing, singing, speaking, and ges-
turing all have a distinctly rhythmic
and sometimes strictly periodic
character.
As was discussed in part 1 of this
series, temporal patterns at various
levels correspond to trajectories with
different time rates of change, and
hence (assuming approximately the
same information content stored as
trajectories at each level) different
periods or complete rhythmical pat-
terns. For example, at the lowest level
of the auditory system, brain cells are
excited by mechanical and electrical
stimuli with frequencies ranging from
about 20 Hz to 20,000 Hz. These sen-
sory inputs thus have periodicities
from 0.00005 to 0.05 seconds.
The highest frequency a nerve axon
can transmit is about 500 Hz, but the
brain handles higher frequencies in a
manner somewhat reminiscent of the
cerebellum's encoding of precise posi-
tion. It encodes pieces of information
about the phase of a wavefront on a
number of different fibers. This
means that by knowing which fibers
are firing in which combinations at
which instants, one can compute not
only what is the fundamental pitch of
the temporal pattern but what are all
of its overtones. Thus, the CM AC G
function at the lowest level (or really
the loop comprised of the lowest level
G, H, and M modules) can compute
the Fourier transform, or the autocor-
relation function, and presumably
even the Bessel function describing
the modes of vibration of the cochlear
membrane.
Assume for example, that the G, H,
and M modules in figure 6 constitute
a phase-lock loop such that the input
PATTERN is a signal f(t) and the
o
jWa^s
me
O
u— ,e consul u ;; ese n\s
.^pct\on, & uu _ c wt* aW c0U L Price
o
o
o
O
o
^ rn iecw n ' c »^,a* c ° w, price
o
- 257 A tN 47906
BO \iatay ette '
^ esl xA63-2502
O
O
o
O
Circle 363 on inquiry card.
oic
BYTE August 1979 75
Q
NAME
HYPOTHESIS
q
l P
1
L
1
'i
PHASE ERROR F
H
i
LOW PASS
R
PREDICTION
G
f(t-r,)
M
f(t-T L )
.
1
1
1
i
i
,
PATTERN f (f )
X
CONTEXT
CONTEXT
Figure 6. A phase-lock loop consisting of a G, H, and M module. If the H and M
Modules produce a set of signals with nearly the same periodicity as the incoming signal
E, the G function can compute a phase error signal F which pulls the R prediction into
Isock with the E observation. The G module can then also compute an autocorrelation
function which gives a perception of pitch.
PREDICTION is another signal
r(t — r). If the processing module G
computes the product of the PAT-
TERN • PREDICTION, then the out-
put NAME is f (t) • f (t - r). When r
corresponds to 1/4 of the period of
the input f (t), a low pass filter applied
to the output will produce a phase
ERROR signal which, when applied
to the H module, can enable the
PREDICTION signal f(t-r) to track
and lock on to the input PATTERN
f(t). If the loop consists of a
multiplicity of pathways with dif-
ferent delays (r > 0), the output,
when processed through low pass
filters, will produce an autocorre-
lation function:
Ur) = T- m » h J f(t) * f(t_T) dt
such that:
qi = 0/Ai)
q2 = 0//(r 2 )
Q =
where:
0<r 1 <r 2 ... <r L
It has been shown that such an
autocorrelation function produces a
perception of pitch which is in good
agreement with psychophysical data.
In figure 6 the presence of an output
on element qj would correspond to
the perception of pitch at a frequency
l
Ti
Music and Language
Figure 7 suggests how a hierarchy
of phase-lock loops might interact to
recognize the variety of periodicities
which provide the information con-
tent in spoken language and music.
The coefficients that q { obtained from
the lowest level loop form the input
(together with other variables) to the
second level.
If we assume that the sensory input
to the first level consists of a pattern
rich in information, such as music or
speech, then as time progresses the
trajectory of the input vector to the
second level will also contain many
periodicities. The principal difference
from the standpoint of information
theory is that the periodicity is now
on the order of 0.05 seconds to 0.5
seconds. The trajectory input to the
second level can, of course, be sub-
jected to a quite similar mathematical
analysis as were the trajectories of
hair cell distortions and cochlear elec-
trical stimulation which were input to
the first level.
The principal difference is that at
the second level and higher, informa-
tion can be encoded for neural trans-
mission by pulse-frequency rather
than pulse-phase modulation. Also,
some of the mechanisms by which
time integrals are computed may be
different. Nevertheless, processing by
a CMAC G function can transform
sections of the input trajectory into
output vectors so as, in effect, to give
them names. Characteristic patterns,
or periodicities, at the second level
are named notes, when the sensory
stimulus is music. Where the stimulus
is spoken language, they may be
called phonemes.
The output of the second level
forms part of the input to the third.
The G function at the third level com-
putes the names of strings of
phonemes which it calls words, or
strings of notes which it calls tunes.
The G function at the fourth level
computes names of strings of words
which it calls sentences (or ideas),
strings of tunes which it calls musical
passages, etc. In music, the pattern in
which the different periodicities
match up as multiples and sub-
multiples (ie: the beat, notes, various
voices, melodies, and chord se-
quences) comprise the inner struc-
ture, harmony, or "meaning." The
ability of the sensory processing-
generating hierarchy of the listener to
lock on to the periodicities and har-
monies at many different levels (and
hence many different periodic inter-
vals) is the ability to "appreciate" or
"understand" the music.
Similarly in speech the ability of
the audio-processing hierarchy to
lock on to periodicities at each level,
and to detect or recognize and pass on
to the next level the information bear-
ing modulations or deviations in
those periodicities, constitutes the
ability to "understand" what is
spoken. If the audio system locks on
only at the first level, it detects
phonetic sounds but not words. If it
locks on the first two levels but no
higher, it detects words but not mean-
ingful phrases. If, however, the audio
hierarchy locks on at the third,
fourth, fifth, and higher levels, there
is excited in the mind of the listener
many of the same trajectories and se-
quences of interrelated and harmon-
ious patterns (ie: goals, hypotheses,
sensory experiences) as exist in the
mind of the speaker.
This gives the speaker the ability to
transmit messages and, even more
important, to manipulate the mind of
76 August 1979 © BYTE Publications Inc
the listener to achieve his own goals.
He can recruit help, enlist sympathy,
give orders, and transmit all forms of
sophisticated signals related to
dominance, submission, and social
interaction. Furthermore, by this
mechanism he can induce into the
highest levels of the sensory process-
ing hierarchy of the listener recalled
memories of his own experience. He
can tell tales, relate stories, and
thereby provide others with second-
hand information as to what
strategies and goal decomposition
rules he personally has found to be
successful.
Origin of Language
One of the most basic features of
language is that it is a form of
behavior. That seems an obvious
thing to say, but evidently it is not.
Many experts feel that because lan-
guage is connected with the intellect
(ie: a higher function) it is quite
divorced from mere motor behavior.
However, there is no such thing as
mere motor behavior. All behavior is
the final output trajectory in the
decomposition of high level goals.
The intellect is not something distinct
from behavior. It is the deep structure
of behavior. It is the set of nonter-
minal trajectories which generate and
coordinate what finally results in the
phenomena of purposive or inten-
tional action.
Language is certainly like other
behavior in that it results from the
coordinated contractions of muscles;
in the chest, throat, and mouth. Like
any other behavior such as walking,
dancing, making a tool, or hunting
for prey, language is both learned and
goal directed.
The infant is born with only the
most basic verbal reflexes. At first
primitives are learned (coos, gurgles,
cries, and phonetic sounds of various
types), then strings of primitives
(words), and finally strings of strings
(phrases), etc. The sensory processing
system stores (ie: records) sounds
from the environment as Rj trajec-
tories. Later the behavior-generating
system learns to produce verbal out-
puts which mimic or duplicate these
stored trajectories.
As with all behavior, the purpose
of language is to obtain reward, to
avoid punishment, and to achieve
success in the social dominance
hierarchy. The unique feature of
language behavior is that it allows
CONCEPT
DETECTED
LANGUAGE GOAL
TO BE ENCODED
PHRASE ERROR
PREDICTED PHRASE
PHRASE
DETECTED
WORD ERROR
PREDICTED WORD
WORD
DETECTED {>
PITCH ERROR
PHONEME
IPITCH)
DETECTED
PREDICTED PHONEME (PITCH)
PHASE ERROR
PREDICTED FREQUENCY
FEEDBACK
FROM STRETCH
RECEPTORS
IN MUSCLES
LUNGS, LIPS
LARYNX, TONGUE
VOICE
OUTPUT
5 V / VWV A ~
Figure 7. A crosscoupled hierarchy in the hearing-speech system. The generating hierar-
chy decomposes language goals into strings of verbal output. When speech is being
generated, the sensory processing hierarchy provides feedback to control intensity and
modulation. When listening only, the generating hierarchy provides hypotheses and
predictions for use in detecting, recognizing, following, and understanding the sensory
input.
communication between individuals
to enlist help, to issue commands, to
organize group behavior, and to
receive feedback information from
the sensory experiences of others.
Writing
Certainly written language, at
least, had its origins in goal-seeking
activities. For example, the earliest
writing in China began around 2000
BC as ideograms or symbols, engrav-
ed on bones and shells for the purpose
of asking questions of heaven. Each
stroke or series of strokes asks a cer-
tain question or seeks guidance for a
particular branch point in the
behavioral trajectory of the life of the
asker.
The earliest of all known writing is
the Uruk tablets discovered in the
Mideast and dated about 3100 BC.
This writing appears to be almost
exclusively a mechanism for recor-
ding business transactions and land
sales. These written symbols are now
thought to be pictorial lists of tokens
used for keeping track of merchandise
or livestock. The tokens themselves
first appeared 5000 years earlier dur-
ing the beginning of the Neolithic
period in Mesopotamia when human
behavior patterns related to hunting
and gathering were being replaced by
others related to animal husbandry,
agriculture, and the village market
place.
This token method of accounting
apparently served its purpose well,
for the system remained virtually un-
August 1979 © BYTE Publications Inc 77
changed for about 5 millennia until
the early Bronze Age when cities and
city-states became the most advanced
social organizations, and commerce
grew into a large scale and complex
enterprise. Then the requirements for
more efficient accounting procedures
led to the pictorial listing of tokens by
writing on tablets — an early form of
double-entry bookkeeping.
Once skill in this form of writing
became widespread and commonly
practiced, only a few additional sym-
bols and some rules of syntax were re-
quired to express decrees, record
dates, and relate accounts of signifi-
cant events.
Thus, the language skill of writing
evolved in small increments over
many generations from the goal
directed manipulation of physical ob-
jects; first the objects themselves,
then token objects, and finally images
or symbols representing the tokens.
The meaning of the symbols, as well
as the rules of syntax, were obvious
to anyone having an everyday fami-
liarity with the manipulation rules for
tokens. These in turn mimicked the
rules for manipulation of the objects
of merchandise. The manipulation of
symbols in written language is a form
of goal-seeking behavior which
evolved from, and remains similar to,
the manipulation of physical objects.
Skill in writing, as any other com-
64KB MICROPROCESSOR
MEMORIES
S-100- $750.00
LSI - $750.00
ililiiU
ilttiw
CI-S100 64K x 8
"II II II II
til ii nil
I ■ ■ ii 1 1 1 1
liiiiiili
CI-1103 32K x 16
CI-6800 64K x 8
CI-8080 64K x 8
• SBC 80/10 -$750.00
• 6800 -$750.00
CI-S100 — 64K x 8 on a single board.
Plugs directly into the IMSAI, MITS,
TDL, SOL and most other S-100 Bus
computers. No wait states even with
Z80 at 4Mhz. Addressable in 4K in-
crements. Power requirement 6 watts.
Price $750.00.
CI-1103 — 8K words to 32K words in a
single option slot. Plugs directly into
LSI 11, LSI 11/2, H11 & PDP 1103.
Addressable in 2K increments up to
1 28K. 8K x 1 6 $390.00. 32K x 16 $750.00
qty. one.
CI-6800 — 16KB to 64KB on a single
board. Plugs directly into Motorola's
EXORcisor and compatible with the
evaluation modules. Addressable in
4K increments up to 64K. 16KB $390.00.
64KB $750.00.
CI-8080 — 16KB to 64KB on single
board. Plugs directly into Intel's MDS
800 and SBC 80/10. Addressable in
4 K increments up t o 64K. 1 6KB $390.00.
64KB $750.00
€
Tested and bumed-in. Full year warranty.
Chrislin Industries, Inc.
Computer Products Division
31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254
plex goal-seeking activity, is acquired
through painstaking training, endless
practice, and numerous corrections of
mistakes by a teacher. It is learned in
stages, the lowest level primitives
first (forming letters), then strings of
primitives (words), then strings of
strings (sentences), and so on. Only
when the rules of spelling, grammar,
and composition are more or less
mastered can the scribe express or en-
code a thought (ie: a high level trajec-
tory) into a string of written symbols.
Speech
The origin of speech is much less
certain since it dates from an earlier
period. In fact, if we include the
sounds of whales, animals, birds, and
even insects as a form of speech,
spoken language predates the origin
of humanity itself. Surely any be-
havior pattern which communicates a
threat, signals submission, expresses
fear or acceptance, is a form of lan-
guage whether it be audible speech or
sign language, whether it be express-
ed by a mouse or a human. By this
definition, some speech is very simple
— a single facial expression, gesture,
chirp, growl, or squeak for each emo-
tional state encoded or intent express-
ed. Throughout the animal kingdom
however, there exists a great variety
of modes of expression and many dif-
ferent levels of complexity. Clearly
sounds such as the growls, whines,
barks, and howls of the wolf express
an extremely complex variety of
social communications. One can easi-
ly feel caught up in a primitive com-
munity sing-along when listening to a
recording of a wolf -pack chorus.
As we ascend the ladder of be-
havioral complexity, we find a cor-
responding increase in the ability to
communicate complex messages. In
most cases this appears to be not so
much an increased vocal capacity as
an increased complexity of deep
structure underlying overt behavior.
This implies that the ability to speak
derives, first of all, from having
something to say (ie: from having in-
ternal trajectories of sufficient com-
plexity that to attach facial expres-
sions, gestures, and audible sounds to
them results in complex and subtle
messages).
Primitive Human Speech
The most ancient forms of human
speech that survive today are the
tribal dances of the few remaining
78 August 1979 © BYTE Publications Inc
Circle 47 on inquiry card.
The ORIGINAL Computer People Who KNi
and offer EVERYTHING you need in Small Computer Systems
Compare PRICE, QUALITY, DELIVERY, SERVICE and
you'll see why you don't have to look anyplace else!
SOFTWARE
pn fl e h r f o aren ! nepaCka 9 eSir
enable you to make full use of
trie potential in your small
computer system:
ACCOUNTS RECEIVABLE
INVENTORY
ORDER ENTRY
WORD PROCESSING
PAYROLL
REAL ESTATE MGT.
MEDICAL-DENTAL
MAILING PROGRAM
SHIPPING & RECEIVING
and MORE!
Microsoft Basic, Fortran, Cobol
available
CALL* for prices
PRV
otto*** z #x
s\,i#-- \] tor
\ price*
MORE SPECIALS
Decwriterll $1595.00
Qume Sprint 5/45
RO 2795.00
Persci 277 Dble
Density 1395.00
lmsaiPCS80/15 599.00
Anadex DP 8000
Printer . . .995.00
44 Column Printer .. ..$295.00
Livermore Accoustic
Coupler
Javelin 9" Monitor .
Centronics
Micro M Printer .
We have a full staff of Programmers and Computer
Consultants to design, configure and deliver a Turnkey
Computer System to meet your specific requirements.
SYNCHRO-SOUND
The Computer People
193-25 Jamaica Avenue, Jamaica, New York 11423
212/468-7067 TWX 710-582-5886
ENTERPRISES, INC.
Hours 9-4 Daily
and Saturday
Visit our new showroom
Working units on display
BankAmerlcard Master Charge
Circle 355 on inquiry card.
BYTE August 1979
stone-age peoples. In such rites, infor-
mation on vital subjects such as hun-
ting (including the habits, ferocity,
and vulnerable areas of the prey), the
proper techniques of stalking, using
weapons, etc, are conveyed by dance,
symbolic gestures, pantomime,
songs, and shouts, as the hunters
relate (indeed reenact) the exploits of
the hunt. The storytellers replay the
behavioral trajectories of their own
actual hunting experience and attach
verbal symbols and gestures to the
portions which cannot be literally
acted out.
Even in modern cultures, the ma-
jority of everyday speech consists of
relating experiences ("...he did this,
and I said that.../' etc). This is simply
the straightforward encoding of be-
havioral trajectories, or the recalled
sensory experiences addressed by
those behavioral trajectories, into a
string of language tokens or symbols
such as gestures, vocal cord, tongue,
and lip manipulations. Thus, in the
final analysis, all language is a form
of goal-directed manipulation of
tokens and symbols. The ultimate
result is a manipulation of the minds,
and hence the actions, of other mem-
bers of the society. Language is a tool
by which a speaker can arouse or im-
plant in the listener a great variety of
behavioral goals, hypotheses, and
belief structures. By the use of these
means, a speaker can command, in-
struct, threaten, entertain, or chastise
other persons in his group to his own
benefit and for his own ends.
The implication for research in
language understanding is that there
is much to be learned from the rela-
tionship between language and other
forms of behavior. How, for exam-
ple, can behavioral goals and trajec-
tories be encoded into strings of
language symbols for making re-
quests, issuing commands, and
relating sensory experiences? How
can patterns of trajectories be en-
coded and transmitted by one
processing-generating hierarchy so as
to be received and reconstructed by
another?
Clearly, language recognition
depends on many of the same mecha-
nisms by which the rhythms, perio-
dicities, and harmonic patterns of
music, song, and poetry are recog-
nized, tracked, and predicted at many
different levels. Consider that
children are fascinated by rhythmical
sounds, rhymes, and the repetition of
familiar stories. Why do adolescents
find it so rewarding to hear the same
popular song over and over? Is it not
the predictability, the lock-on which
can be achieved due to a correspon-
dence between the stored internal
model and the observed sensory data
stream? And why are the rhythmic
movements of dancing and marching
to music so compelling? Is it not the
correlations and harmonic relation-
ships between trajectories in the
behavior-generating and sensory-
processing hierarchies?
Music is a relatively simple domain
for the study of the time dependent
interactions between stored models
and input data, and the study of
music recognition by computer in an
almost completely unexplored field.
Thus, it is a fertile area for computer
hobbyists and other researchers with
limited resources.
Part 4 will discuss some operations
of the highest hierarchical level such
as will, emotion, and creativity. ■
SINEWAVE
MARKET
ANALYSIS
CAN YOU USE YOUR MICROCOMPUTER TO
OUTWIT THE STOCKMARKET?
Stockmarket cycles and sinewave forms have been correlated with fascinating results. Forecasts with unusually low
prediction error can now be made. They were developed by a degreed engineer who possesses a rare mathematical
mind and has nineteen years experience with business computer applications. An early interest in the stockmarket
led him to the striking similarity between sinewave forms and stockmarket cycles. For two decades he studied the
market and collected data. But, it wasn't until he recently acquired his own microcomputer that it became feasable
to make the necessary correlations.
THE RESULTS • His programs, contain multiple sinewave functions AND make twenty-four month projections
that yield prediction errors of less than 314% over the 40 years of historical base data. Although
he makes no claims about the predictive accuracy of this method for the future, he is doubtful
that anyone can develop a more accurate mathematically based predictive tool.
• A programmed trading method that utilizes projections of the historical data to select buy/sell
opportunities. Annual yields of 25% were derived from trades over the 40 year historical
{J period.
THIS IS THE MOST IDEAL AND PRACTICAL APPLICATION FOR MICROCOMPUTERS DEVELOPED TO DATE!
• It is not a "kids" game designed to occupy idle time.
• [T [S an unusual challenge for anyone who wants real action .
HERES WHAT WE'LL SEND YOU
ON 5%" DISCETTE & LISTING FOR $35
• Monthly New York Stock Exchange Index
(Average of Friday Closes — 1939 to Present)
• Programs to Project NYSE Index into Infinite Future
(User instructions included)
• Trading Program for Future Projections
(User instructions included)
• All available in North Star Basic or
other by special arrangement.
I
SMA; P.O.
p MamP
ORDER DIRECT
Box 415; Burlington, Iowa 52601
| Street
1 City, State, Zip
Credit Card No.
Siqnaturfi
Fvp Date
D Check
| VISA | | MC | | AM EX | I OINER I
□ Money Order
□ D □ D
-J
80 August 1979 © BYTE Publications Inc
Circle 330 on inquiry card.
~~ CM CM 4B I o i t
r r r t ^^^ r^^
XJ-/1X II J_L , Li) LLJ_L IL» J_L J-ti-Ly' "
A newquarterly by
the staff of BYTE
This totally new publication is entertaining, informative, and uncomplicated It is edited for
the attorney, accountant, writer and other professional or business person aware of the
personal computer as a tool for business, education, home entertainment, laboratory work
and other applications.
Compiled and edited by the staff of BYTE, latest developments covered in onComputing
will Include creative uses of the small computer, books for the computer user, how and
where to buy your personal computer and numerous features concerning the fascinating
world of the microprocessor.
Add onComputing to your library of 'must* publications. Act now, subscribe and
receive four (4) issues <# $8.50 for one year (U.S.); Canada and Mexico: $10.00.
€>
TM
GUIDE TO PERSONAL •* COMPUTING
SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD
onComputing, Inc. □ 70 Main St. □ Peterborough, NH 03458 □ Dial toll free 800-258-5485 (In NH 924-7217)
Exploring TRS-80 Graphics
George H Yeager
223 Riverside Dr
St Albans WV 25177
/
CONTROL BYTE
"s
DIGIT I
DIGIT 2
/
^V^
A
8'
GRAPHIC MODE-
UNUSED-
2'
8
I SETS A CELL ELEMENT ON
"O" RESETS A CELL ELEMENT
1
2
4
8
f
2'
Figure 1: Cellular division of a graphics cell on the video display screen. The control
byte is divided into 2 hexadecimal digits. Individual bits of digit 1 are marked with
primes {!'), and bits are designated by their corresponding power of 2 (rather than
sequentially). Bit 8' controls the graphics mode. Bit 4' (marked X) is not used.
Radio Shack seems to hide the neat
little jewels of information a hobbyist
needs to make a treasure of the
TRS-80. One jewel is how to use the
computer's graphics capability once
you squeeze into the world of
machine language by use of the
T-BUG monitor. Beyond the excellent
Level 1 User's Handbook, there has
been little information until recently.
Between sessions of disassembling
the undocumented control routines
for keyboard, video, and cassette, I
employed a "crystal ball" to unravel
the mystery of machine language
graphics control. (TRS-80 owners
must be resourceful.) Here is what I
found.
First, video display is in main
memory address space and resides
between hexadecimal locations 3C00
to 3FFF. Address 3C00 corresponds to
the upper left corner of the monitor
screen and 3FFF to the lower right
corner. Anything placed in this block
of memory will appear on the display
at a specific cell (section of display
grid) as a dot-matrix alphanumeric
character or as a 6 element graphic
character (the TRS-80 hardware does
that).
The Radio Shack video display
work sheet shows the location of each
of the 1024 cells in the video display
format. There are 64 cells per line and
16 lines on the page. Figure 1 shows
how each cell is divided into six
elements for graphics. The bottom
two elements are always dark in the
alphanumeric mode, providing line
spacing.
To activate the graphics mode for a
82 August 1979 © BYTE Publications Inc
Circle 144 on inquiry card.
Enterprise
4500
CD
Call show three; we came here with * Enterprise*
4501
OE
H L pointing to symbol table and D E
4502
45
pointing to graphic cell memory location.
4503
4504
3E
3D
83
Get constant to point to next line start
4505
Add it to cell location
4506
5F
Save new LSB line start ADR
4507
30
Jump if no carry
4508
01
4509
24
Increment H if L carried
450A
CD
Call show three
450B
OE
450C
45
450D
C9
Return to caller
450E
01
*show three*
450F
03
Set B, C to three characters
4510
00
4511
ED
Transfer three characters
4512
BO
4513
C9
Return
4514
AO
Graphic symbol table
4515
AB
For Enterprise
4516
A1
For Enterprise
4517
8A
For Enterprise
4518
83
For Enterprise
4519
8B
For Enterprise
Listing 1: Demonstration routine for TRS-80 graphics in Z~80 machine language, for use
with T-BUG or other monitor. This displays the starship Enterprise. Call this as a
subroutine after preserving necessary registers. In the subroutine, registers H and L hold
the output table pointer. Registers D and E contain the upper left corner location of
graphic symbol within the display memory. Registers A, B, C, D, E, H, and L will be
altered. This is meant only as a demonstration; it may not be general enough for other
use.
specific cell on the screen, data with a
value of hexadecimal 80 or above
must be placed into the memory loca-
tion with which it corresponds. The
most significant bit of the byte sets
the graphics mode; placing a value of
7F or lower in a location activates the
alphanumeric mode for the related
cell.
Looking at figure 1, note that bits
1 ' and 2' of digit 1 control the bot-
tom two elements in the cell. (These
read as "one prime" and "two prime";
primes indicate digit 1.) Note also
that bits 1, 2, 4, and 8 of digit 2 con-
trol the top four cell elements. In the
graphics mode, bit 4' is a "don't care"
(ie, it is not used). If the cell element
control bit is set to a 1, the element
will be lit on the screen. If the element
control bit is reset to 0, the element
will not be lit.
The element control bits are iden-
tified in figure 1 by their decimal
weight. The sum of the bits set to 1 in
each section of the cell can be con-
verted to hexadecimal to determine
the code for each digit in the graphic
control byte. Figure 2 (on page 84)
shows all graphic characters and the
proper generation codes, so that
manipulation may be made easier.
The system is simple and flexible,
allowing many shapes to be generated
with one byte of code. It is unfor-
tunate that the cell shape is unsym-
metrical, thus complicating rotation
and transformation of graphic
displays. However, the mystery is
now solved. A whole new world of
more finely detailed and faster
displays is available for TRS-80 fans.
I have provided a small demonstra-
tion program shown as listing 1. Run-
ning it under T-BUG will give an idea
of the capabilities provided by
machine language control of the
TRS-80 graphics. Good luck, and let
me know what you find out from
your crystal ball.
16K Static RAM
Boards for the <
SS-50 Bus ^
• Gold bus connectors
• 4 separate 4K Blocks
• Individual Addressing,
Write Protect, and Enable/
Disable for each block Memories
s 298 13
As above with
Sockets and
Software
control
features.
*368 16
All GIMIX memory boards are assembled,
Burnt-ln for 2 weeks, and tested at 2 MHz.
Add $32.00 for 250 ns parts
Tl TMS 4044's - 10% SUPPLY
(Not an "equivalent", but the real thing!)
450 ns $5.00 each 250 ns $6.00 each
8K PROM BOARD $98.34
2708s $7.90 each
SS 50 BUS 80 x 24
VIDEO BOARD
With hardware scrolling, x-y addressable cursor and
multiple character generators. It includes a TMS 2716
EPROM that contains a full 128 upper and lower case
ASCII character set with true descenders; plus a socket
for another TMS 2716 for an optional 128 character set;
plus 2K of RAM for user-defined programmable
character sets. This gives the user the ability to create
his own heiroglyphics, alphabet, graphic elements, etc.,
and store them on PROM, disk, or tape.
The user can choose and intermix 384 different
characters from any or all of the character generators
and display up to 256 at one time, normally or inversely,
and at full or half intensity, at any location on the
screen. Contiguous 8x10 character cells permit solid
lines and connecting patterns with user definable
graphic elements.
It is addressable to any 2K boundary. GHOSTable ad-
dressing allows multiple boards at the same address,
making it ideal for multi-user applications. The available
software includes a GMXBUG video based 3K ROM
monitor, stand alone driver routines, and a program to
create user defined characters.
DELUXE VERSION $458.76
Other Video Boards from $198.71
16K SYSTEMS $1294.29
Includes: Mainframe cabinet, mother
board, power supply, fan, CPU, 16K static
RAM, and choice of 1/0 card.
Other packages available.
Add $10. handling charge on orders under $200.
inc.
Gimix
1337 WEST 37th PLACE
CHICAGO, ILLINOIS 60609
(312) 927-5510 • TWX 910-221-4055
The Company that delivers.
Quality Electronic products since 1975.
August 1979 © BYTE Publications Inc 83
8
TS
cu
CD
■s m MB ■■ HS 1
ttofc -.1 In I -v& •"•>-' 1 m I ? H "° 1
r i ^H <->
3
o
teff'^ ~ " n^^^i ** ^^^^B bI^^^i < ■ 5 ^"jf.^ ™
H iu>
■flUflBUHll 1 l HDU 1 ■UjHBBuBniiann
=>i
u
u^
^
L_ J 3- ■ ,i \ - i i w- * r-^ • J ' ' 1 i*iiaEj I
CQ
PWff- yR ! t^B s 1
-■•"? ' IIJBm y-'^H od
«P r . Bod
to
i ■ m 1 IfHP^inRH" Mrtr'*-" J-fcsBio
* B«*
<j
agfe'^rT^— ; H< | ]-./ i | «* pT^j L*S m
■ OD
a.
^
bo
UJ
O
|H HH ■ \ \--
'
s w^^^a n^ m
K ■ u>
------ -j— - j m co
3
1
. :
O
-t«i
-c
tn
■T^PI- priippi l_l— ■-
H * ^f^M m -^^8
llL
3
•o ^' ^ i< i i i< i ~ . h >*Ma>
I m Pi *\
■J CD
3
^ hb
O
M-^
u.
^^^^^
DQ
O
O
CO
L. . ■' ■■ !
1 ! 1
■HDHbI bM
m/mm
mm ^ m J
(0
CD
o
OD
J*
' 'hmmS
HHcm
R9U1
|>;7y3? ■ <»
l" 1
mm m&m
1 1
•8
a
H
cu
-C
■S
~BflHH
■HMffll 1 !
«■
m
CD
flfHI
CO •
rO
■hihll i
-JBB1-;
o
fr&rf?*j
EH«Hdcr>
i* 1
13
hiuhSS
'
i ■■h &&ai
1 1
CD
^
3
u
UJ
a
■XI
p
O
■ra
mm
HUM
CD
s
: .' J cm
\ m
■Ho
a
H taHHcn
|o»
i h*
ir-
\mm
1 1 B 1
i i
o
•8
H
3
O
to
■
•
»!■
i
L
ir.' — jftj K 1 -
HH Bttfl^
o
1 1
em ■ m
■j [ -v y
a.
^-
to
o
cu
•^
-c
§•
mm
.
J™1
CD
L
1 °*
g |
■Hr
i
■ > •
H O
HO)
.bo
., ,
o
j
CD
W
00 i-^ m
■■IL 1 1
m
n
od BU&k-t 1 H £ r ^Rff??j ICO
1 1 i. u-
■_
a
fN
84 August 1979 © BYTE Publications Inc
iBlTffw
y/imriirii-«t\\\,
BOOKS OF INTEREST TO COMPUTER PEOPLE"
More BYTE
:itit
KS
in your future
Circle 36 on inquiry card.
BYTE August 1979 85
And the future
THE BYTE BOOK OF COMPUTER MUSIC combines
the best computer music articles from past issues of
BYTE Magazine with exciting new material— all written
for the computer experimenter interested in this
fascinating field.
You will enjoy Hal Chamberlin's "A Sampling of
Techniques for Computer Performance of Music",
which shows how you can create four-part melodies
on your computer. Forthe budget minded, "A $19 Music
Interface" contains practical tutorial information— and
organ fans will enjoy reading "Electronic Organ Chips
For Use in Computer Music Synthesis".
New material includes "Polyphony Made Easy" and
"A Terrain Reader". The first describes a handy circuit
that allows you to enter more than one note at a time
into your computer from a musical keyboard. The
"Terrain Reader" is a remarkable program that creates
random music based on land terrain maps.
Other articles range from flights of fancy about the
reproductive systems of pianos to Fast Fourier trans-
form programs written in BASIC and 6800 machine
language, multi-computer music systems, Walsh
Functions, and much more.
For the first time, material difficult to obtain has been
collected into one convenient, easy to read book. An
ardent do-it-yourselfer or armchair musicologist will
find this book to be a useful addition to the library.
n FWfHBVH era
'\
$@&
ISBN 0-931718-11-2
Editor: Christopher P. Morgan
Pages: approx. 128
Price: $10.00
* Fin flu i mm
SCIPERWCIMPCIS is an excit-
ing computer game incorpo-
rating the original structure of
the WCJMPCJS game along
with added features to make
it even more fascinating. The
original game was described
in the book What To Do After
You Hit Return, published by
the People's Computer Com-
pany. Programmed in both
6800 assembly language and
BASIC, SUPERWUMPUS is not only addictively fun,
but also provides a splendid tutorial on setting up
unusual data structures (the tunnel and cave system
of SUPERWUMPUS forms a dodecahedron). This is a
PAPERBYTE™ book.
ISBN 0-931718-03-1
Author: Jack Emmerichs
Pages: 56
Price: $6.00
Tiny
Assembler |
6800
J
TINY ASSEMBLER 6800,
Version 3.1 is an enhancement
of Jack Emmerichs' success-
ful Tiny Assembler. The origi-
nal version (3.0) was described
first in the April and May 1977
issues of BYTE magazine,
and later in the PAPERBYTE™
book TINY ASSEMBLER
6800 Version 3.0.
In September 1977, BYTE
magazine published an article
entitled, "Expanding The Tiny Assembler". This pro-
vided a detailed description of the enhancements
incorporated into Version 3.1, such as the addition of a
"begin" statement, a "virtual symbol table", and a
larger subset of the Motorola 6800 assembly language.
All the above articles, plus an updated version of the
user's guide, the source, object and PAPERBYTE™
bar code formats of both Version 3.0 and 3.1 make this
book the most complete documentation possible for
Jack Emmerichs' Tiny Assembler.
- ISBN 0-931718-08-2
Author: Jack Emmerichs
Pages: 80
Price: $9.00
A walk through this book brings you into Ciarcia's
Circuit Cellar for a detailed look at the marvelous
projects which let you do useful things with your micro-
computer. A colfection of more than a year's worth of
the popular series in BYTE magazine, Ciarcia's Circuit
Cellar includes the six winners of BYTE's On-going
Monitor Box (BOMB) award, voted by the readers
themselves as the best articles of the month: Control
the World (September 1977), Memory Mapped IO
(November 1977), Progra m Your Next EROM in BASIC
(March 1978), Tune In and Turn On (April 1978), Talk
To Me (June 1978), and Let Your Fingers Do the Talking
(August 1978).
Each article is a complete tutorial giving all the details
needed to construct each project. Using amusing
anecdotes to introduce the articles and an easy-going
style, Steve presents each project so that even a
neophyte need not be afraid to try it.
^0
ISBM 0-931718-074
Author: Steve Garcia
Pages: approx. 128
Price: $8.00
is right now!
B ASEX, a new compact, compiled language for micro-
computers, has many of the best features of BASIC
and the 8080 assembly language— and it can be run
on any of the 8080 style microprocessors: 8080, Z-80,
or 8085. This is a PAPERBYTE™ book.
Subroutines in the BASEX operating system typically
execute programs up to five times faster than equiva-
lent programs in a BASIC interpreter— while requiring
about half the memory space. In addition, BASEX has
most of the powerful features of good BASIC inter-
preters including array variables, text strings, arithme-
tic operations on signed 16 bit integers, and versatile
10 communication functions. And since the two lan-
guages, BASEX and BASIC, are so similar, it is possible
to easily translate programs using integer arithmetic
data from BASIC into BASEX.
The author, Paul Warme, has also included a BASEX
Loader program which is capable of relocating pro-
grams anywhere in memory.
T0k
ISBN 0-931718-05-8
Author: Paul Warme
Pages: 88
Price: $8.00
PROGRAMMING TECH-
NIQUES is a series of BYTE
BOOKS concerned with the
art and science of computer
programming. It is a collection
of the best articles from BYTE
magazine and new material
collected just for this series.
Each volume of the series
provides the personal com-
puter user with background
information to write and main-
tain programs effectively.
The first volume in the Programming Techniques
series is entitled PROGRAM DESIGN. It discusses
in detail the theory of program design. The purpose
of the book is to provide the personal computer user
with the techniques needed to design efficient, effec-
tive, maintainable programs. Included is information
concerning structured program design, modular pro-
gramming techniques, program logic design, and
examples of some of the more common traps the
casual as well as the experienced programmer may
fall into. In addition, details on various aspects of the
actual program functions, such as hashed tables and
binary tree processing, are included.
ISBN 0-931718-12-0
Editor: Blaise W. Liffick
Pages: 96
Price: $6.00
SIMULATION is the second volume in the Program-
ming Techniques series. The chapters deal with
various aspects of specific types of simulation. Both
theoretical and practical applications are included.
Particularly stressed is simulation of motion, including
wave motion and flying objects. The realm of artificial
intelligence is explored, along with simulating robot
motion with the microcomputer. Finally, tips on how
to simulate electronic circuits on the computer are
detailed.
ISBM 0-931718-13-9
Editor: Blaise W. Liffick
Pages: approx. 80
Price: $6.00
Publication: Winter 1979
RA6800ML: AN M6800 RELOCATABLE MACRO
ASSEMBLER is a two pass assembler for the Motorola
6800 microprocessor. It is designed to run on a mini-
mum system of 16 K bytes of memory, a system
console (such as a Teletype terminal), a system monitor
(such as Motorola MIKBCIG read only memory pro-
gram or the 1COM Floppy Disk Operating System),
and some form of mass file storage (dual cassette
recorders or a floppy disk).
The Assembler can produce a program listing, a sorted
Symbol Table listing and relocatable object code. The
object code is loaded and linked with other assembled
modules using the Linking Loader LINK68. (Refer to
PAPERBYTE™ publication LINK68: AN M6800
LINKING LOADER for details.)
There is a complete description of the 6800 Assembly
language and its components, including outlines of
the instruction and address formats, pseudo instruc-
tions and macro facilities. Each major routine of the
Assembler is described in detail, complete with flow
charts and a cross reference showing all calling and
called-by routines, pointers, flags, and temporary
variables.
In addition, details on interfacing and using the
Assembler, error messages generated by the Assem-
bler, the Assembler and sample lO driver source code
listings, and PAPERBYTE™ bar code representation
of the Assemblers relocatable object file are all included.
This book provides the necessary background for
coding programs in the 6800 assembly language, and
for understanding the innermost operations of the
Assembler.
ISBN 0-931718-104
Author: Jack E. Hemenway
Pages: 184
Price: $25.00
to order books see next page
LINK68: AN M6800 LINKING LOADER is a one
pass linking loader which allows separately translated
relocatable object modules to be loaded and linked
together to form a single executable load module, and
to relocate modules in memory. It produces a load map
and a load module in Motorola MIKBGG loader format.
The Linking Loader requires 2 K bytes of memory, a
system console (such as a Teletype terminal), a sys-
tem monitor (for instance, Motorola MIKBGG read
only memory program or the ICOM Floppy Disk
Operating System), and some form of mass file stor-
age (dual cassette recorders or a floppy disk).
It was the express purpose of the authors of this
book to provide everything necessary for the user
to easily learn about the system. In addition to the
source code and PAPERBYTE™ bar code listings,
there is a detailed description of the major routines of
the Linking Loader, including flow charts. While imple-
menting the system, the user has an opportunity to
learn about the nature of linking loader design as well
as simply acquiring a useful software tool.
ISBN 0-931718-09-0
Authors: Robert D. Grappel
& Jack E. Hemenway
Pages: 72
Price: $8.00
Winter 1979
TRACER: A 6800 DEBUGGING PROGRAM is for
the programmer looking for good debugging software.
TRACER features single step execution using dynamic
break points, register examination and modification,
and memory examination and modification. This book
includes a reprint of "Jack and the Machine Debug"
(from the December 1977 issue of BYTE magazine),
TRACER program notes, complete assembly and
source listing in 6800 assembly language, object
program listing, and machine readable PAPERBYTE™
bar codes of the object code.
ISBN 0-931718-02-3
Authors: Robert D. Grappel
& Jack E. Hemenway
Pages: 24
Price: $6.00
MONDEB: AN ADVANCED M6800 MONITOR-
DEBUGGER has all the general features of Motorola's
MIKBGG monitor as well as numerous other capabili-
ties. Ease of use was a prime design consideration.
The other goal was to achieve minimum memory
requirements while retaining maximum versatility.
The result is an extremely versatile program. The size
of the entire MONDEB is less than 3 K.
Some of the command capabilities of MONDEB in-
clude displaying and setting the contents of registers,
setting interrupts for debugging, testing a program-
mable memory range for bad memory locations,
changing the display and input base of numbers,
displaying the contents of memory, searching for a
specified string, copying a range of bytes from one
location in memory to another, and defining the loca-
tion to which control will transfer upon receipt of an
interrupt. This is a PAPERBYTE™ book.
ISBN 0-931718-06-6
Author: Don Peters
Pages: 88
Price: $5.00
BAR CODE LOADER. The purpose of this pamphlet
is to present the decoding algorithm which was de-
signed by Ken Budnick of Micro-Scan Associates at
the request of BYTE Publications, Inc., for the PAPER-
BYTE™ bar code representation of executable code.
The text of this pamphlet was written by Ken, and
contains the general algorithm description in flow
chart form plus detailed assemblies of program code
for 6800, 6502 and 8080 processors. Individuals with
computers based on these processors can use the
software directly. Individuals with other processors can
use the provided functional specifications and detail
examples to create equivalent programs.
ISBN 0-931718-01-5
Author: Ken Budnick
Pages: 32
Price: $2.00
BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458
Please send the books I have checked.
□ Computer Music $10.00
□ SGPERWGMPGS $6.00
□ Tiny Assembler (3.1) $9.00
D Circuit Cellar $8.00
□ BASEX$8.00
□ Program Design $6.00
□ Simulation $6.00
□ RA6800ML $25.00
□ Link68 $8.00
□ TRACER $6.00
DMondeb$5.00
□ Bar Code Loader $2.00
Total Books
Add 60c per book
Postage/Handling
Grand Total
□ Check enclosed □ Bill Visa □ Bill Master Charge
Card No Exp. Date
Title
Company
Street
City
State/Province
88 BYTE August 1979
Circle 36 on inquiry card.
Illllllllllllll
BYTE News
I
eUBBT^K N1 p;r,/-' >r( V .A [iRlVM;- f^ <_ ^ii lM^B-:,< n-T AI, C7 ( ja<l I MJ r 1^.1, ; ' . Rockwell International has introduced a
bubble memory board for a personal computer system. The board contains 128 K bytes of storage and
plugs directly into the expansion bus for the AIM-6502 processor (which is the same as the KIM-1
bus). Rockwell also supplies a controller card which allows the bubble memory to function as a floppy
disk replacement. The controller will control up to 16 memory boards for a total of 2 M bytes of bub-
ble memory. However, before you rush out to buy it, be aware that each bubble memory board costs
$2500 and the controller board costs $1000.
Intel and National will also soon become manufacturers of bubble memory. Texas Instruments and
Rockwell are currently supplying bubble memories. Texas Instruments and Rockwell devices contain
256 K bits. The Intel device, which will be in volume production in early 1980, will contain 1 M bits,
while the National device will contain 256 K bits. Texas Instruments and Rockwell have been produc-
ing limited quantities of the bubble memory devices and they do not expect to begin volume produc-
tion until 1980. Furthermore, one Japanese manufacturer, Fujitsu, appears to be near bubble memory
introduction .
MORE LARGE COMPANIES RUMORED ABOUT TO ENTER PERSONAL COMPUTER MARKET.
Rumors continue that RCA, Hewlett-Packard and Zenith are seriously considering entering the per-
sonal computer market. Each is known to have a personal computer system development project in
progress. Other companies seriously investigating the market include IBM and Bell Labs, each of
which is known to have personal computer projects at the research facilities.
Several Japanese companies also introduced personal computer systems at the June NCC show in
New York, Matsushita introduced its JD-700 to sell for $5,000 to $6,000. It has a 2 K byte read only
memory, two minifloppies, and a printer, and it uses Extended BASIC. Sord introduced the M200
($6,000 to $7,000), which uses a Z-80 with 64 K memory, up to four minifloppy drives, and BASIC,
FORTRAN, or COBOL. Ai Electronics showed its APC-20 ($7,500) which is Z-80 based, has two 5
inch drives and hardware arithmetic, and has software options which include FORTRAN, BASIC,
COBOL, PL/3 and CP/M.
DIGITIZED HI-FI ON THE HORIZON. An industry group called the "Digital Audio Disk Council" was
formed in late 1978 to establish guidelines and standards for pulse code modulation (PCM) recor-
dings. The council includes 35 companies and is an international group. The standard is expected to
be adopted in one to two years.
It is expected that pulse code modulation recordings will be the next generation of super hi-fi disks.
The technique provides wider frequency response and greater dynamic range, and virtually
eliminates distortion and noise. The record will also include an address code for random access of
selections. Applications to published software products may well impact the small computer field.
INTEL RETIRES THE 1103. Intel has finally retired the 1103 dynamic memory which houses 1 K bits.
This was Intel's first successful MOS memory product and it was a pioneer in the field of IC-MOS
memories. Intel has made 35 million of these units since its introduction in 1971.
TI INTRODUCES SPEAKING TRANSLATOR. At the June Consumer Electronics show, Texas Instru-
ments introduced a hand-held language translator which displays and speaks the translated words
through the use of a speech synthesizer circuit. This is a significant advance over the Craig and
Lexicon units introduced six months earlier, which only display translated words. The unit will cost
$250, plus $50 for plug-in language modules. English, Spanish, French and German modules will be
available, with Russian, Japanese and Chinese to follow later. The unit displays 1000 words, 500 of
which can be spoken. Craig has also increased their module vocabularies to 2,400 words.
UPI NEWS WIRE NOW AVAILABLE TO PERSONAL COMPUTER USERS. United Press International
(UPI), one of the prime sources of news used by newspapers throughout the country, has made their
service accessible to personal computer users. The UPI wire can be dialed as a local number in most
US cities. UPI will charge $15 per hour during business hours, and $2.75 during other times.
IBM DEVELOPS ULTRA-HIGH SPEED LOGIC. The IBM Research Center at Yorktown Heights NY
has disclosed their development of logic circuits with switching speeds of 13 picoseconds. Based on
August 1979 © BYTE Publications Inc 89
Josephson junction technology, the devices are still in an experimental form. The new circuits are
called "Current Injection Logic" and they generate thousands of times less heat than previous types of
logic. As a result, higher circuit densities will be possible.
MINIATURE FLOPPY DISKS IN DEVELOPMENT. At present we have 8 inch (20.3 cm) and 5.25 inch
(13.3 cm) floppy disks. A new, smaller disk is now well into development and has been proposed for
international standardization. Commonly referred to as the Eurodisk, it is a square package that
measures 4.12 inches (10.5 cm), will store 400 K bytes, use 50 tracks per side, and have a 300 K bps
data transfer rate. The standard 5.25 inch (13.3 cm) floppy disk holds 125 K bytes on 40 tracks and
has a 125 K bps data transfer rate (double these figures for double density) . Olivetti is also expected
to announce a very low cost 2.55 inch (6.5 cm) disk which will store 8 K bytes. It will take several
seconds to read or write, there is no provision for random file access, it will be thicker, and will not
use a jacket. It is rumored to be intended for use in a personal computer that is now nearing introduc-
tion. Rumors also continue that IBM will use the 3.25 inch (8.3 cm) disks, currently used in their dic-
tating units, in some of their low end computer systems such as the 5110.
FLAT DISPLAY PANELS SHOWN. At the May meeting of the Society for Information Display, several
Japanese companies demonstrated prototype flat panel displays that are now in an advanced stage of
development. Ise Electronics showed a 240 character (40 characters by 6 lines) vacuum-fluorescent
display that was 250 mm wide by 100 mm high and 14.5 mm thick. It operated off of low voltage and
was low power. Hitachi exhibited an 80 character LCD panel which was 280 mm by
50 mm by 23 mm, and operated from 5 VDC and dissipated only 100 mw. NEC showed a storage type
LCD panel of 120 characters, and Fujitsu demonstrated a 1560 character plasma display panel.
VIEWDATA AND TELETEXT NEWS. Both the Viewdata and Teletext home data-base access systems
will be introduced to the US market by the mid 1980s. Viewdata is a system that connects the home to
a central computer via telephone lines. The user can call up data to appear on a modified television.
General Telephone and Electronics presently has a Viewdata research development project. Trial
systems are already in operation in England and West Germany.
Teletext transmits data on a television signal, fitting the data into the blank space between picture
frames. Micro-TV, a Philadelphia -based company has been doing this for over two years, while KSL-
TV, Salt Lake City, has done the same for one year. Texas Instruments is supplying the decoders for
the KSL test.
The Electronic Industries Association is currently evaluating Teletext. Some companies believe that
by the late 1980s the home system will include Viewdata, Teletext, video disk, and a personal com-
puter system to control them. In fact, Apple Computer already offers a service, in conjunction with
Dow Jones and Co, which permits Apple owners to display stock market information by dialing a
phone number.
Viewdata and Teletext are viewed as complementary services to help bring advanced household
management, home environmental control, teaching, and entertainment into the home. Some experts
feel that it will be realized in as little as three years.
Oak Industries of Crystal Lake IL recently demonstrated their Teletext system. Called "Videotext,"
it allows cable television operators to pipe data to subscribers via a microprocessor-based decoder.
Each decoder has its own address which allows the cable company to monitor all units. This means
that they will know immediately if a set is stolen. The cable company will also be able to cut off non-
paying subscribers, thereby rendering stolen units useless.
A Miami-based company, Knight-Ridder Newspapers Inc, has formed a subsidiary named Viewdata
Corporation of America, which will undertake a two year, $1.3M test. The Hong-Kong Telephone
Company also expects to implement a Viewdata system next year.
The Canadian government and telephone companies are currently testing systems which transmit
data over both telephone lines and television signals. One system, constructed by Bell Canada,
presently has 25 units in a network, linking together Toronto, Montreal and Ottawa. The units were
built by Bell Northern Research. Bell Canada expects to have 1,500 to 2,000 units installed in homes
next year. Several others are conducting tests.
Sol Libes
ACGNJ
1776 Raritan Road
Scotch Plains NJ 07076
MAIL: I receive a large number of letters each month as a result of this column. If you wish a
response, please include a stamped, self-addressed envelope.
90 August 1979 © BYTE Publications Inc
VUordsmith is the video text editing system you've been
waiting for. Its power, flexibility and simplicity help you carve
any text editing task down to size — in a way you can
understand. We wanted a system that allows you to think in
traditional ways about text layout, yet at the same time makes
the traditionally tedious operations such as cut and paste
simple and fast. We think we've done it. We want you to decide
for yourself ^^^^^H^B^BBi^^i^^
Flexibility
Logical/ Physical Page Distinction. Define your own
hardcopy size. Wordsmith remembers the difference
between the screen size and the hardcopy page size.
Modular Hardcopy Driver. Drive a Qume® Sprint-5 or
TTY-like device directly now, Diablo, NEC and other
hardcopy devices soon.
Pure Text. Wordsmith files are pure text with no control
characters mixed in. This universal format keeps you as
compatible with the world as possible. What you see on the
screen is what you get as hardcopy.
Page Templates. Snapshots of the block layout of a page
can be saved as named disk files, then later recalled and
superimposed on the current page. Use such "templates"
for standard multicolumn layouts, common letter formats,
and fixed-field forms. A single keystroke dispatches you
quickly from block to block as you fill in your page.
Take a
snapshot
of a
<l
CZ3
ZZH
□
page s
window
layout
File Switching. Moving from document to document to
examine, copy, move and change text is like rolling off a log.
You're not confined to one disk file at a time anymore. ■■
Power
Page Oriented Philosophy. A document is a collection of
pages. The screen displays one entire page at a time. Simple
random access page flipping commands take you quickly to
any page in the document. Equally efficient commands allow
you to insert, delete, copy and move pages both within one
document and across documents.
Extensive Block Manipulation Capabilities. Using
"windows", portions of text, charts, etc., can be quickly and
effortlessly moved around on the current page, or across
pages. The shape and size of any window can be changed in
real time, with the contained text automatically
reformatting itself (heeding word and paragraph
boundaries) to conform to the new shape.
Move
Text Blocks
Set Up
Multiple Text
Regions
Change Text Shape
Instantaneous Formatting. Compacting (extraneous
blank deletion) and right justifying are simple commands
that tidy up a full page or window's worth of text in the blink
of an eye. Random access cursor movement, line and
character insert and delete, line and page split and join, and
a host of other line and character level commands help you
put text in its place quickly and accurately.
Simplicity
Auto Word Break. Forget the right margin. Wordsmith
notices when you won't be able to complete the current
word and moves it to the next line for you as you continue
typing.
Understandable Commands. The most frequently used
commands are single keystrokes. The rest are easily
remembered abbreviations.
Informative Status Lines. The top two screen lines
constantly display page number information, document
name, cursor position, tab stops and status/error
phrases. You're always in touch with your document.
Page 3 of 8
File=ADV1
Cursor row 28, col 43
1 I
1
1 ♦
Protection Against Catastrophic Errors. Its nearly
impossible to ruin your document with a single bad
command. Wordsmith's page oriented design and double-
checking user interface help you do what you mean!
The TM
tooROsraftb
TEXT EDITOR
Defining the New Generation of Text Editing
from Micro Diversions, Inc.
8455-D Tyco Rd.
Vienna, Va. 22180
(703) 827-0888
Direct CP/M® and North Star DOS compatibility
Available for 40x86, 24x80 and 16x64 memory-mapped
video boards
Fully reentrant for efficient multi-programming environ-
ments (6K program space, 5K data area)
8080 and Z80 compatibility
Ordering
Information:
$200
(Screensplitter™ Owners: $80)
Manual only: $1 5
Check, VISA, Mastercharge
1. CP/M or North Star DOS
version?
2. TTY or QUME interface?
3. Brand and memory address of
video display board?
4. Ship on single or double
density, 5" or 8" diskette?
Inquire about our custom keyboard.
Circle 219 on inquiry card.
BYTE August 1979 91
Aw, cut it out!
Save these pages. It's our latest, up-to-the-minute list of super software.
r
J EFFECTIVE
Software /
with /Manual
Manual/ Alone
DIGITAL RESEARCH
□ CP/M* FDOS — Diskette Operating -System complete with
Text Editor, Assembler, Debugger, File Manager and system
utilities. Available for wide variety of disk systems including
North Star, Helios II, Micropolis, iCOM (all systems) and Altair.
Supports computers such as Sorcerer, Horizon, Sol System III,
Versatile. Altair 8800, COMPAL-80, DYNABYTE DB8/2, and
iCOM Attache. Specify desired configuration $145/$25
□ MAC — 8080 Macro Assembler. Full Intel macro definitions.
Pseudo Ops include RPC, IRP, REPT, TITLE, PAGE, and
MACLIB. Z-80 library included. Produces Intel absolute hex
output plus symbols file for use by SID (see below) S100/S15
□ SID — 8080 symbolic debugger. Full trace, pass count and
break-point program testing system with back-trace and histo-
gram utilities. When used with MAC, provides full symbolic
display of memory labels and equated values $85/$1 5
D TEX — Text formatter to create paginated, page-numbered
and justified copy from source text files, directable to disk or
printer $85/$1 5
□ DESPOOL — Program to permit simultaneous printing of
data from disk while user executes another program from the
console $50/$1
MICROSOFT
D Disk Extended BASIC — Version 5, ANSI compatible with
long variable names, WHILE/WEND, chaining, variable length
file records $3 /$25
□ BASIC Compiler — Language compatible with Version 5
Microsoft interpreter and 3-10 times faster execution. Pro-
duces standard Microsoft relocatable binary output. Includes
Macro-80. Also linkabtetbFORTRAN-80 or COBOL-80 code
modules $350/825
□ FORTRAN-80 — ANSI '66 (except for COMPLEX) plus
many extensions. Includes relocatable object compiler, linking
loader, library with manager. Also includes MACRO-80 (see
below) $400/$25
□ COBOL-80 — ANSI 74 Relocatable object output. Format
same as FORTRAN-80 and MACRO-80 modules. Complete
ISAM, interactive ACCEPT/DISPLAY, COPY, EXTEND
$625/$25
D MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog
mnemonics supported. Relocatable linkable output. Loader,
Library Manager and Cross Reference List utilities included
$149/$15
□ EDIT-80 — Very fast random access text editor for text with or
without line numbers. Global and intra-line commands sup-
ported. File compare utility included $89/$ 15
XITAN (software requires Z80** CPU)
D Z-TEL — Text editing language. Expression evaluation itera-
tion and conditional branching ability. Registers available for
text and commands. Macro command strings can be saved on
disk for re-use $69/$20
D ASM Macro Assembler — Mnemonics per Intel with Z-80 ex-
tensions. Macro capabilities with absolute Intel hex or relocat-
able linkable output modules. New version 3 with added
features $69/$20
D LINKER — Link-edits and loads ASM modules . . .$69/$20
D Z-BUG debugger — Trace, break-point tester. Supports dec-
imal, octal and hex modes. Dissassembler to ASM mnemonic
set. Emulation technique pennits full tracing and break-point
support through ROM $89$20
□ TOP Text Output Processor — Creates page-numbered, jus-
tified documents from source text files $69/$20
*CP/M is a trade name of Digital Research
* *Z80 is a trademark of Zilog, Inc.
***Good until August 31, 1979
Software /
with /Manual
Manual/ Alone
□ A4 package includes Z-TEL, ASM, LINKER, Z-BUG, TOP
$299/$40
EIDOS SYSTEMS
□ KISS — Keyed Index Sequential Search. Offers complete
Multi- Keyed Index Sequential and Direct Access file manage-
ment. Includes built-in utility functions for 16 or 32 bit arithme-
tic, string/integer conversion and string compare. Delivered as
a relocatable linkable module in Microsoft format for use with
FORTRAN-80 or COBOL-80, etc $535/$23
□ K BASIC — Microsoft Disk Extended BASIC with all KISS
facilities, integrated by implementation of nine additional com-
mands in language. Package includes KISS.REL as described
above, and a sample mail list program $995/$45
MICROPRO
□ Super-Sort I — Sort, merge, extract utility as absolute
executable program or linkable module in Microsoft format.
Sorts fixed or variable records with data in binary, BCD,
Packed Decimal, EBCDIC, ASCII, floating, fixed point, expo-
nential, field justified, etc. etc. Even variable number of fields
per record! $250/$25
□ Super-Sort II — Above available as absolute program only
$200/$25
□ Super-Sort III— As II without SELECT/EXCLUDE
$150/$25
□ Word-Master Text Editor — In one mode has super-set of
CP/M's ED commands including global searching and replac-
ing, forward and backwards in file. In video mode, provides full
screen editor for users with serial addressable-cursor terminal
$150 $25
a%\D Word-Star — Menu driven visual word processing sys-
btf %^<?\ tem f° r use witn standard terminals. Text formatting performed
P%, °&$ te \ on screen. Facilities for text paginate, page number, justify,
>?&)/ <?/ k ) center, underscore and PRINT. Edit facilities include global
<v^<2'/ J search and replace, read/write to other text files, block move,
& — etc. Requires CRT terminal with addressable cursor position-
ing. Word-Master users may upgrade for $395!*? . $495/$25
SOFTWARE SYSTEMS
D CBASIC-2 Disk Extended BASIC — Non-interactive BASIC
with pseudo-code compiler and runtime interpreter. Supports
full file control, chaining, integer and extended precision var-
iables etc $90/51 5
STRUCTURED SYSTEMS GROUP
D General Ledger — Interactive and flexible system providing
proof and report outputs. Customization of COA created inter-
/^p$\ ^^\ actively. Multiple branch accounting centers. Extensive check-
fc-rfos ^ ] in 9 performed at data entry for proof, COA correctness etc.
•ces a * Q a\\ J Journal entries may be batched prior to posting. Closing pro-
P^ c0^y cedure automatically backs up input files. All reports can be
^d^ ^-/ tailored as necessary. Requires CBASIC $899/$25
O □ Accounts Receivable — Open item system with output for
° ' internal aged reports and customer-oriented statement and bill-
ing purposes. On-Line Enquiry permits information for Cus-
tomer Service and Credit departments. Interface to General
Ledger provided if both systems used. Requires CBASIC
S699/S25
□ Accounts Payable — Provides aged statements of ac-
counts by vendor with check writing for selected invoices. Can
be used alone or with General Ledger and/or with NAD. Re-
quires CBASIC $699/$25
D NAD Name and Address selection system — interactive mail
list creation and maintenance program with output as full re-
ports with reference data or restricted information for mail
labels. Transfer system for extraction and transfer of selected
records to create new files. Requires CBASIC $79/$20
EFFECTIVE JUNE 19, 1979
92 BYTE August 1979
Software for most popular 8080/Z80 computer disk systems including
NORTH STAR, MICROPOUS, iCOM, SD SYSTEMS, DYNABYTE DB8I2,
ALT AIR, EXIDY SORCERER, VECTOR MZ, 8" IBM, HEATH H17 & H89,
HELIOS, IMSAI VDP42 & 44, REX and OHIO SCIENTIFIC formats.
Software /
with /Manual
Manual/ Alone
D QSORT — Fast sort/merge program for files with fixed record
length, variable field length information. Up to five ascending or
descending keys. Full back-up of input files created. Parameter
file created, optionally with interactive program which requires
CBASIC. Parameter file may be generated with CP/M assem-
bler utility S95/S20
GRAHAM-DORIAN SOFTWARE SYSTEMS
D PAYROLL SYSTEM — Maintains employee master file.
Computes payroll withholding for FICA, Federal and State
taxes. Prints payroll register, checks, quarterly reports and W-2
forms. Can generate ad hoc reports and employee form letters
with mail labels. Requires CBASIC. Supplied in source code.
$590 $35
□ APARTMENT MANAGEMENT SYSTEM - Financial
management system for receipts and security deposits of
apartment projects. Captures data on vacancies, revenues,
etc. for annual trend analysis. Daily report shows late rents,
vacancy notices, vacancies, income lost through vacancies,
etc. Requires CBASIC. Supplied in source code. . $590$35
□ INVENTORY SYSTEM — Captures stock levels, costs,
sources, sales, ages, turnover, markup, etc. Transaction in-
formation may be entered for reporting by salesman, type of
sale, date of sale, etc. Reports available both for accounting
and decision making. Requires CBASIC. Supplied in source
code $590 $35
□ CASH REGISTER — Maintains files on daily sales. Files
data by sales person and item. Tracks sales, overrings, re-
funds, payouts and total net deposits. Requires CBASIC.
Supplied in sourcecode $590/$35
MICRO FOCUS
D CIS COBOL — Version 3 is ANSI 74 subset with extensions
which offer powerful interactive screen formatting and built in
cursor control. Version 4 additionally offers full level 1 ANSI for
Nucleus, Table Handling, Sequential Relative and Indexed I/O,
Inter-Program Communication and Library
Version 3, $650/$50
Version 4, $850/$50
□ FORMS — Interactive utility to create CIS COBOL source
code to perform CRT screen handling in application programs.
Supports full prompt text, protected fields and input validation
against data type and range expected $1 50/$1 5
When purchased with CIS COBOL $1 25/$1 5
OTHER
D tiny C — Interactive interpretive system for teaching struc-
tured programming techniques- Manual includes full source
listings S7S/$40
□ C Compiler — Supports most major features or language, in-
cluding Structures, Arrays, Pointers, recursive function evalu-
ation, linkable with library to 8080 : binary output. Lacks data
initialization, long & float type and static & register class speci-
fiers. Documentation includes "C" Programming Language
book by Kernighan & Ritchie $1 10/$15
D Z80 Development Package — Consists of: (1) disk file
line editor, with global inter and intra-line facilities; (2) Z80
relocating assembler, Zilog/Mostek mnemonics, conditional
assembly and cross reference table capabilities; (3) linking
loader p oducing absolute Intel hex disk file for CP/M LOAD,
DDT or SID facilities $95/$20
D DISTEL — Disk based disassembler to Intel 8080 or TDU
Xitan Z80 source code, listing and cross reference files. Intel or
TDLVXitan pseudo ops optional. Runs on 8080. Standard CP/M
and TRS-80 CP/M versions available $65/$ 10
□ DISILOG — As DISTEL to Zilog/Mostek mnemonic files.
Runs on Z80 only $65/$1
Software /
with /Manual
Manual/ Alone
D TEXTWRITER II — Text formatter to justify and paginate
letters and other documents. Special features include insertion
of text during execution from other disk files or console, permit-
ting recipe documents to be created from linked fragments on
otherfiles. Ideal for contracts, manuals, etc $75/$5
D WHATSIT? — Interactive data-base system using associa-
tive tags to retrieve information by subject. Hashing and ran-
dom access used for fast response. Requires CBASIC
$125/$25
□ XYBASIC Interactive Process Control BASIC — Full disk
BASIC features plus uniaue commands to handle bytes, rotate
and shift, and to test and set bits. Available in Integer, Ex-
tended and ROMable versions.
Integer Disk or Integer ROMable $295/$25
Extended Disk or Extended ROMable $395/$25
D SMAU80 Structured Macro Assembled Language — Pack-
age of powerful general purpose text macro processor and
SMAL structured language compiler. SMAL is an assembler
language with IF-THEN-ELSE, LOOP-REPEAT-WHILE, DO-
END, BEGIN-END constructs $75/$15
D Selector II — Data Base Processor to create and maintain
single Key data bases. Prints formatted, sorted reports with
numerical summaries. Available for Microsoft and CBASIC
(state which). Supplied in source code $195/$20
D Selector III — Multi (i.e., up to 24) Key version of Selector II.
Comes with applications programs including Sales Activity, In-
ventory, Payables, Receivables, Check Register, Expenses,
Appointments, and Client/Patient. Requires CBASIC Supplied
in source code $295/$20
Enhanced version for CBASIC-2 $345/$20
□ CPM/374X Utility Package — has full range of functions
to create or re-name an IBM 3741 volume, display directory
information and edit the data set contents. Provides full file
transfer facilities between 3741 volume data sets and CP/M
files $195/$10
D Flippy Disk Kit — Template and instructions to modify sin-
gle sided 51A" diskettes for use of second side in singled sided
drives $9t75
D BASIC Comparison — A comprehensive features and per-
formance analysis of five 8080 disk BASIC languages —
CBASIC, BASIC-E, XYBASIC, Microsoft Disk Extended
BASIC, and Xitan's Disk BASIC. Itemizes results of 21 different
benchmark tests for speed and accuracy and lists instructions
and features of each BASIC (send 20tf S.A.S.E.) FREE
Orders must specify disk
systems and formats:
e.g. North Star single or
double density, IBM sin-
gle or 2DI256, Altair,
Helios II, Micropolis Mod
I or II, 5Va" soft sector
(Micro iCOMiSD Salesl
Dynabyte), etc.
Add $1 litem shipping ($2
min.). Add $1 additional
for UPS C.O.D.
Manual cost applicable
against price of subse-
quent software pur-
chase.
The sale of each pro-
prietary software pack-
age conveys a license
for use on one system
only.
1
TM
Lifeboat Associates, 2248 Broadway, N.Y., N.Y. 10024 Telex: 668-585 (212) 580-0082
rM The Software Supermarket is a trademark of Lifeboat
=J
BYTE August 1979 93
The Nature of Robots
Part 3: A Closer Look at Human Behavior
William T Powers
1138 Whitfield Rd
Northbrook IL 60062
In part 1 of this series, I demonstra-
ted that the concept of behavior is not
as clear as certain people would in-
dicate. The patterns that we call
behavior result from the convergence
of many influences, only a part of
which can be attributed to the organ-
ism that we say is behaving. Yet the
behaving organism varies its own
actions so that when the influence of
these actions is added to all that is un-
predictable, the result is recognizable
as patterns of behavior.
In part 2 we observed that a control
system controls its input, not its out-
put. It acts on its environment to
make its own sensory or perceptual
signal match a reference signal re-
ceived from elsewhere, and to auto-
matically counteract the effects of
disturbances. It does not have to
sense the cause of the disturbance: it
senses the quantity it is controlling,
and reacts to deviations of that quan-
tity (or the signal representing it)
from a reference level that is set by
the reference signal.
The reference signal acts just as an
intention ought to act. It specifies
some state of affairs that is to be
achieved, and serves as a target to-
ward which action always urges the
perception of the controlled variable.
Under normal circumstances the con-
trol system can make its perceptual
signal track a changing reference sig-
nal, and still oppose the effects of
disturbances.
There are two main rules of thumb:
About the Author
William T Powers has been exploring the
meaning of control theory for studies of human
nature since 1953, He spent a number of years
(to 1960) in medical physics, and then another
13 (to 1975) as Chief Systems Engineer for the
Department of Astronomy at Northwestern
University. His occupation has been designing
electronic, optical, and mechanical systems for
• The reference signal reaching a
good control system controls the
perceptual signal in that system.
• The actions of the control system
vary so as to oppose the effects of
disturbances, even if the reference
signal remains constant.
Let's see how this control system
model applies to one small human
subsystem: a spinal reflex arc (reflex
just means "turned back on itself").
This will lead to some concepts that
will be of use to the designers of
robots.
The Tendon Reflex
In the early 19th century, Sir
Charles Bell established the fact that
sensory nerves are separate from
motor nerves, and described the "cir-
cle of nerves" found in a spinal reflex.
A sensory nerve that is part of a
spinal reflex arc (we will talk about
one that is stimulated by the stret-
ching of a tendon) sends its signal to
the spinal cord, and the same cell that
receives this signal emits a motor
signal that reaches a muscle. When
the muscle contracts, it has physical
effects that stimulate the same sen-
sory nerve. These are closed loops;
the effects of sensory nerves that are
stimulated by muscle action affect the
same muscle action.
In all such loops that have been
discovered, the sense of the feedback
is negative. This is true of the tendon
reflex. If signals from cells in the
spinal cord cause a muscle to con-
tract, the resulting stretch of the ten-
don stimulates sensors clustered
around the tendon. The signals from
these sensors reach the same cells in
the spinal cord to inhibit their firing.
Apparently the materials are pre-
sent for a control system, but before
we discuss this, a digression is
necessary.
All or None or Some
One of the most unfortunate ac-
cidents to occur in neurology was the
discovery that signals in nerves are
carried by impulses. The effect was as
if the discoverers of electricity had
discovered the electron before they
had formulated laws of current flow,
and thus developed the whole theory
of electricity on the basis of collisions
between one electron and another
electron. As soon as there were in-
struments to detect nerve signals it
was known that the amplitude of an
impulse generated by a nerve cell was
independent of the source; there was
a trigger effect, so that either an im-
pulse was generated, or it was not.
As a result, almost all neurological
research has focused on single im-
pulses. The "all-or-none" principle
became so firmly entrenched that by
the time digital computers arrived on
the scene, most people were led off
the track. "Aha," they said, "if a
nerve-cell has a threshold that is just
high enough, 2 impulses will have to
reach it simultaneously to fire it:
behold, an AND gate!" Since inhibi-
tion (an impulse tending to reduce the
sensitivity of a nerve cell to an im-
pulse arriving by a different path) can
occur, we clearly have the NOT
operator, and with the addition of
OR (a nerve cell that can be fired by
an impulse from any of several
paths), we have all of the ingredients
for a generalized logic circuit.
There is no longer sufficient reason
to believe that the nervous system
works in this way. Those who tried to
analyze nerve nets as logic devices
had to make a lot of assumptions,
such as synchronism or clocking, that
are incompatible with experimental
facts. This more modern under-
Figure and listing numbering continued
from part 2.
94 August 1979 © BYTE Publications Inc
standing was reflected in Dr Ernest
Kent's recent BYTE article series,
'The Brains of Men and Machines"
(January 1978 BYTE, figure 2, page
16). It now seems that single impulses
are not a significant unit of informa-
tion for most neurons. What counts is
frequency of firing. The sum of fre-
quencies of excitatory and inhibitory
impulses reaching a given neuron has
an effect on the rate of that neuron's
firing so that the output frequency is
a function of a set of input fre-
quencies. Most neurons, in other
words, compute analog, not digital,
functions. As we all know, it is
perfectly possible to build digital cir-
cuitry out of analog components.
Digital integrated circuits are all con-
structed from analog transistors.
Therefore, when I begin to identify
components of a control system, as I
will do in a moment, the signals will
be thought of as continuously
variable frequencies, not as on/off
binary quantities. The functions that
combine some signals will be func-
tions of continuous variables. While
any one neuron behaves as a rather
nonlinear device, a collection of
neurons performing essentially the
same function in parallel yield an
overall pleasantly linear input/ output
relationship, especially if we consider
the normal, rather than extreme
range of frequencies (zero or satura-
tion rates of firing).
The spinal reflex systems we will
now examine involve several hundred
— sometimes several thousand —
control systems operating in parallel,
although they will be drawn as simple
control systems. A perceptual signal
is really the mean rate of firing in a
whole bundle of pathways, all start-
ing from sensors that are measuring
the same input(eg: stretch in a ten-
don). The signal that enters the mus-
cle in this system is a bundle of
signals, each exciting 1 or 2 small
fibers out of the thousands that make
up 1 muscle. Thus, we will be dealing
with neural impulses in much the way
electronic engineers deal with elec-
trons. In the majority of cases, the
number of impulses passing through a
cross-section of a bundle of redun-
dant pathways per unit time will be
"the signal," just as the number of
electrons passing through a cross-
section of a conductor per unit time is
called "the current."
The way you
check line-by -line with
an A P Intra-Swltch or
Intra -Connector.
You plug your Infra-Switch In-line
with standard socket connectors,
and Instantly you've got a separate,
independent on-off switch for each
and every line In your flat ribbon
cable. To switch, you nudge with a
pencil point. It's that quick.
Imagine how much time and
trouble Intra-Switch will save you in
your diagnostic and quality testing,
your programming and selective
line inhibiting.
Or, plug In your Intra-Connector
(see box) the same way, and you
have an extra set of male contacts
at right angles. Instant line-by-line
probeability— and an easy way to
tap your system and daisy chain It
Into new areas.
Both Intra-Connectors and Intra-
Switches come in 20, 26, 34, 40 and
50-contact models.
Where? At your nearby A P deal-
er. Where's that? Phone (toll-free)
800-321-9668. And ask for the com-
plete A P catalog, The Faster and
Easier Book.
AP PRODUCTS
INCORPORATED
Box 110D • 72 Corwin Drive
Painesville, Ohio 44077
Tel. 216/354-2101
TWX: 810-425-2250
Faster and Easier is what we're all about.
Circle 10 on inquiry card.
August 1979 © BYTE Publications Inc 95
Figure 13: Figure 13a is the standard control- system diagram we have been using in this
series. Figure 13b is a spinal reflex arc. FNI is the input function; P, the perceptual
signal; C, the comparator; R, the reference signal; E, the error signal; FNO, the output
function; O, the output quantity; FNF, the feedback function; I, the input quantity;
FND, the disturbance function; and D; the disturbing quantity. Roots are bundles of
nerve fibers entering or leaving the spinal cord. An actual spinal reflex arc may involve
several hundred systems like the one in figure 13b, with as many motor cells all
operating in parallel. Thus, a signal is a bundle of signals that carry similar information.
(a)
'
1
R
, +
c
iP
-
E
i
FNI
FNO
I
1
1 1
Od
(b)
TO
k FROM
HIGHER
1 HIGHER
SYSTEMS
1 SYSTEMS
Level-1 Control System
Figure 13b is a schematic diagram
of the tendon reflex. Figure 13a is the
diagram of a general control system
that I have already shown and dis-
cussed earlier. Figure 13a has an input
function FNI, a perceptual signal P, a
comparator C, a reference signal R,
an error signal E, an output quantity
O, a feedback function FNF and an
input quantity I completing a closed
loop. Entering this loop at the same
point as the input quantity are the ef-
fects of a disturbing quantity D, af-
fected by the disturbance function
FND.
Figure 13b contains the same com-
ponents in the same relationships.
The input function is a sensor which
emits a signal P, the frequency of
which depends continuously on the
amount of stretch I of the tendon at
the end of the muscle. This signal P
travels to the spinal cord, and the
local branch enters an inverter which
is specialized to produce inhibitory
effects on any neuron it reaches (these
actually exist in the spinal cord as
Renshaw cells). This inverted copy of
the perceptual signal reaches the cell
body of a motor neuron C, which
also receives an excitatory input from
a pathway descending from centers
that are higher in the nervous system
(the reference signal R).
The signal emitted by this motor
neuron represents the excess of excita-
tion over inhibition, and thus rep-
resents the difference between the
reference and (inverted) perceptual
signal: it is clearly the error signal E.
The error signal enters the muscle,
where it is converted into an average
shortening of the contractile fibers in
the muscle FNO. The output quantity
O is the net stretch of the connective
tissue that links the individual con-
tractile fibers together. The feedback
function FNF consists of the mech-
anical relationships that sum all these
individual little forces into one force
that will tend to stretch the tendon.
I have shown the disturbance as a
string that pulls directly on the ten-
don. It is rather hard to disturb the
tendon control system without dis-
secting the organism, a procedure
that always leaves one wondering
whether or not this is the original
system. The reflex that is tested with
a hammer just under the kneecap is a
different one, a muscle-length control
96 August 1979 © BYTE Publications Inc
32K Board Pictured Above
New RAM Prices.
From The Dynamic Memory Company.
16K— $249
48K— $500
32K— $375
64K— $625
Ever since we started making
these memory boards over a year
ago we have continued to lower
our prices to stay competitive.
Due to your confidence in us, we
are again able to lower our
prices! Our reliability has been
proven by months of superior
performance in thousands of
installations. Our low-power boards
are being used by quality-minded
systems manufacturers across the
country and overseas.
4MHz boards now available.
After receiving hundreds of
requests, our engineering staff has
come up with a new version of our
board which runs on 4MHz Z-80
systems. It wasn't easy to come
up with a high speed board which
would operate as reliably as our
450ns version, but after months of
careful design and testing, we did
it. The price of the 250ns board is
$10 per 16K additional.
Circle 45 on inquiry card.
All of our features remain.
Our boards didn't become great
sellers only because of the price.
We still offer you our deselect
feature which allows our RAM to
overlap with any fixed memory
areas in your system. Also, the
RAM area of our board is fully
socketed so that you can expand
the board yourself.
Other standard features include:
plug selectable addressing on 16K
boundaries (shorting plugs are
placed over wire-wrap pins to
address the board — located on
the top of the board for easy
changes), S-1 00 and Z-80
compatability and totally invisible
refresh — no wait states.
Fully assembled, tested, and
guaranteed.
All of our boards go through a
rigorous testing procedure. They
are then placed on burn-in running
a series of memory tests to detect
any other possible faults. After you
receive the board, you are backed
by us with a one year warrantee.
Low power consumption keeps
your computer from " losing its
cool."
The total power consumption of
our 1 6K board is typically less
than 4 watts ( + 8V @ 300ma,
+ 1 6 V @ 1 50ma and - 1 6V @
20ma). Boards with additional
memory typically increase power
consumption only 1 watt per 1 6K!
Standard S-1 00 Interface.
Our board is designed to
interface with any standard S-1 00
CPU. All of the timing of the board
is independent of the processor
chip, and the board is set up for
different processors by changing
two plugs on the board.
Contact your local dealer.
To find out more about our RAM
boards, contact your local dealer.
If he is unable to help you, call or
write us for a fast response.
Central Data Corporation, 1207
North Hagan Street, Champaign, IL
61820. (217) 359-8010
Central Data
BYTE August 1979 97
Circle 73 on inquiry card.
-p/VS'H p asca |
MICROENGINE™
16-bit P-code CPU
Pascal executes 13x faster than on an LSI-11
and 3x faster than on a PDP11-34!
*2695*
tLk W %/ W READY TO RUN
$ 2995 List price
*1795* Without case & power supply
STANDARD
• 16-bit P-code CPU
• 64K bytes RAM
• Floppy disk controller
• Direct memoryaccesscontroller
• Floating point hardware
• 2 serial (RS-232) I/O ports— 50 to 19200 baud
• 2 parallel I/O ports
• Pascal & Basic compilers, text editors, file
manager, CPU & memory diagnostics,
symbolic Pascal debugger, linker, utilities, etc.
The MICROENGINE'" P-Machlne architecture
implements direct execution of P-code (UCSD
Pascal version 3.0) replacing software inter-
preters. All data and I/O paths are 16 bits wide.
Both single and multi-byte instructions are
available. Floating point hardware using the
proposed IEEE standard supports the execution
of floating point instructions.
P-Machine architectureoptimizes memory
utilization. Stack design renders Pascal
programs automatically reentrant and
recursive with no performance penalty.
Extensive compiler error checking and high
level language sustains high reliability.
Programs are transportable to other systems
running Pascal.
Built-in floppy disk controller handles up to 4
drives, switch selectable for 5% or 8 inch, single
or double sided. A hard disk controller will be
availablesoon.
$799'
List price $ 956
PERKIN-ELMER (Model 550)
Shugart
floppy disk (Model S A850) '695*
Shugart
floppy disk (Model SA800) »595-
Texas Instruments
printer (Model 810) M895*
X-pert Systems™ designed by Computex
are integrated and cost effective. Complete 16-bit
systems areavailablestarting as lowas J 3l39.
Customer satisfaction is guaranteed.
Full refund with the return of any product within
10 days. Service contracts available. Systems
catalog $1. MICROENGINE™ owners manual
M9. 95 postpaid.
•LIMITED TIME cash price. 10% down
guarantees priority. IL residents add 5% sales
tax. Master Charge and VISA cards accepted.
(312) 684-3183
COMPUTER
"THE COMPUTER EXPERTS"
5710 Drexel, Chicago, IL 60637
system. Artificially stretching the ten-
don will tend to relax the muscle,
since the feedback is inhibitory.
In part 2 I described how control
systems work. We now immediately
know what this spinal reflex loop
does. It maintains the perceptual
signal P matching the reference signal
R. Since P is a measure of tension in
the tendon, we can say that this con-
trol system controls the sensed ten-
sion, and not the degree of contrac-
tion of the muscle. It also varies the
amount of contraction in the fibers of
the muscle to oppose any extraneous
effects that tend to alter the tension in
the tendon, either increasing or
decreasing it.
We know that muscles are attached
to bones, generally across a joint, and
that when a muscle changes tension it
often changes the angle at the joint
that it spans. In this way movements
are created and forces are applied to
objects, or against gravitational and
other forces. However, this little con-
trol system knows nothing of that.
The only behavior it produces is
sensed tension. It controls a neural
signal which represents the net force
being created by the muscle and any
active disturbances. The control
system does not know this — it has,
after all, only the one kind of sensor.
It knows only how much signal it is
getting from the outside world, and
not even what kind of signal this is. It
is just an amount. It would need
many other sensors and a very in-
telligent computer in order to know
that this amount is measured in units
of tension.
First Level of Behavioral Control
Every muscle that is used in volun-
tary behavior (as opposed to internal
or visceral) is involved in a control
system like that in figure 13b. There
are no exceptions. Thus, there is no
way that any higher process in the
brain can directly produce a muscle
tension. The brain can produce a
muscle tension only by providing a
reference signal which specifies how
much tension is to be sensed. This
does not even determine how tense
the muscle will be, for if there is a
steady external disturbance working,
the muscle will adjust its degree of
contraction to compensate for the
disturbance. Pull steadily on the ten-
don, and the muscle will completely
relax, even with the presence of a
nonzero reference signal. Inject
Novocain into the perceptual
pathway, and the muscle may go into
a violent spasm because it is trying to
create a perceptual signal. The brain
cannot command the muscles to con-
tract. It can only tell level-1 control
systems how much tension to sense. It
is up to those control systems to do
what is necessary to create the
demanded signal.
Gray's Anatomy names about 200
muscles, most of which occur in
pairs, and many of which consist of
numerous subdivisions capable of
having different effects. There are
perhaps 500 to 800 muscles which can
be distinguished on the basis of dif-
ferent directions of effect. Thus, we
own 500 to 800 level-1 control sys-
tems. Every human action must be
performed by adjusting the reference
signals for these control systems. The
behavior of these control systems
need not be simulated for the simple
reason that this has been done to a
sufficient degree in part 2 of this
series.
There are actually more level-1
control systems than muscles. For ex-
ample, every muscle also contains
length sensors, which are involved in
level-1 control systems that govern
not force, but something related to
the stretching of the muscle itself.
Length and force can be controlled
quite independently under suitable
circumstances; however, we won't be
getting into such details here. The
main point is that we chew, scratch,
talk, walk, run, and swim by using
level-1 control systems, and by telling
them not what to do, but what to
sense.
Higher Levels of Control
We have accounted for all outgoing
signals from the brain that are con-
cerned with overt actions (in the sense
that all will act on level-1 control
systems, although there may be, at
level 1, control systems we haven't
considered here). We have not, how-
ever, accounted for all incoming
signals. The nervous system has hun-
dreds of millions of sensory endings,
most of which are not involved in
level-1 control systems.
You'll notice that in figure 13b the
perceptual signal branches. This is a
real branch; all level-1 perceptual
signals involved in these control
systems branch, sending one branch
98 August 1979 © BYTE Publications Inc
Circle 120 on inquiry card.
SPECIALIZING IN
QUALITY MICROCOMPUTER HARDWARE
INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS • PERSONAL
BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT
R 2 I/O
2K ROM
2K RAM
3 Serial Ports
1 Parallel Port
ECT-100-F
RACKMOUNT
CARD CAGES
POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS
16 K RAM
FULLY STATIC
MEMORY
6Ucfa
«ni t - q
""'-' &,,,„
TT-10
TABLE TOP
MAINFRAMES
763 RAMSEY AVE.
HILLSIDE, N.J. 07205
ELECTRONIC CONTROL TECHNOLOGY god gsmoso
SAVE THE WHALE
The Fin Whale is the world's greatest long-distance communicator.
Scientists believe that loud, deep-tone, low-frequency
sounds made by Fin Whales (frequencies around 20
hertz, or cycles per second) actually travel
underwater for distances of at least 500
miles, and under optimum conditions
might carry for a radius of over
4,000 miles, potentially reach
ing an area greater than the
entire Atlantic Ocean.
Drawing by
Dan Sintli
d$
Fin Whales
creatures ever to have lived on planet
earth, grow up to 24 meters in length (ex-
ceeded only by the 30-meter Blue Whale), and
ihabit all the oceans of the world. Tens of thousands of
Fin Whales have been "harvested" in recent years, by agreement
of the International Whaling Commission, for the sale of products
for which substitutes are readily available.
The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit edu-
cation and conservation organization dedicated to seeking the abolition of all whale killing. Any
concerned citizen can help our efforts by sending name and address and a $1 5 or more contribution
to: CCS, P. O. Box 145, Wethersfield CT 06109.
BYTE August 1979 99
upward. Many of the branches —
enough to represent what is going on
in all the muscles — continue upward
to the next level of organization. The
perceptual signals from level-1 input
functions that are not parts of control
systems do likewise. Thus, we can
imagine a higher part of the nervous
system that is completely sur-
rounded, with regard to input and
output, by level-1 systems and input
functions.
The signals going downward from
this higher part end up in control
systems of the general type shown in
figure 13b, controlling sensed tension
and a few other simple variables. The
signals going upward, the level-1
perceptual signals, all reach the next
higher level of organization, which
happens to be represented in the brain
stem, the cerebellum, and one part of
the cerebral cortex.
Imagine a second level of control
systems. The input functions of this
new layer will not be equipped with
sensors; instead, they will receive the
perceptual signals generated by
level-1 input functions (or in the case
of signals involved in level-1 control
systems, copies of them, courtesy of
the bifurcation of the dorsal roots).
These signals, in subsets, are the real-
time inputs to level-2 input functions,
each of which generates one level-2
perceptual signal. We define a level-2
input function in terms of the way a
single level-2 perceptual signal de-
pends on some set of level-1 per-
ceptual signals.
It is now clearly possible to con-
struct a level-2 comparator, provide
it with a reference signal, and make it
generate a level-2 error signal. That
error signal can then be wired to the
input of a level-2 output function,
and copies of the output of that FNO
can be fanned out to serve as ref-
erence signals for level-1 control
systems.
In fact, we can construct as many
level-2 control systems as we like,
until we run out of neurons that are
located where the level-1 perceptual
signals terminate and the level-1
reference signals originate. All out-
going signals that are further inward
will be accounted for; they will be
READ THE MAGAZINE
THE PROS READ.
For over 20 years DATAMATION has
been the magazine for the data process-
ing professional. Now DATAMATION
magazine is available to hobbiests, busi-
ness men, accountants, engineers, pro-
grammers . . . anyone with a deep curio-
sity about the real world of data pro-
cessing.
Written by the data processing pro-
fessional for the data processing profes-
sional, DATAMATION magazine's ar-
ticles cover a wide range of subjects . . .
industry trends, "how to do it better"
articles, budget and salary surveys, new
computer applications, advanced tech-
nology, new products and services.
Whether your interest in computers is
for fun or profit, DATAMATION mag-
azine has a world of information for you
every month . . . plus an annual Special
Edition, the Industry Profile featuring
the "DATAMATION" 50" — the top
U.S. DP companies.
Technical Publishing
nn acompanyof
MMMM The Dun& Uradstrcct Corporation
FOR A ONE YEAR SUBSCRIPTION
(13 ISSUES) SEND $32.
TO: SUZANNE A. RYAN
DATAMATION magazine
666 FIFTH AVENUE
NEW YORK, NY 10019
Name .
Address
City
State/Zip.
<8>
magazine
level-2 reference signals. (If you can
figure out why they can't be level-1
reference signals, bypassing level 2,
you are beginning to understand con-
trol theory. Hint: Level-1 reference
signals are adjusted by level-2 sys-
tems: what happens if an arbitrary
signal is added to the output of a
level-2 system?)
Some level-1 perceptual signals
may be combined to produce level-2
perceptual signals, without involving
the new perceptual signals in any
level-2 control system. Perceptual
signals that are involved in level-2
control systems branch, just as their
counterparts at level 1 do: one of
the branches heads further inward
and upward in the brain. We can now
repeat the process of going from the
first to the second level of control.
Clearly, a third level of control
systems can be constructed, then a
fourth, and so on, until we run out of
brain and find ourselves looking at
the inside surface of the skull.
This is my model of the brain. It
will be discussed in greater detail in
the next article of this series. At pre-
sent we will develop a clearer under-
standing of the relationship between
one level of control and the next
higher level of control through the
use of BASIC. As you will see, the
relationship has some rather amazing
and challenging properties.
Two-Level Control Hierarchy
We are going to model a very
elementary 2-level control system. I
won't attempt to model a real human
system because it would get too com-
plicated. The imaginary system will
consist of 3 level-1 control systems,
each controlling sensed force (just as
in the tendon reflex system) and 3
level-2 systems, each controlling a
separate aspect of the forces control-
led by level-1 systems.
The 3 muscles will be laid out in a
plane, one end of each being joined at
a common central point, and the
other being anchored to a point in the
plane. If the angles between the mus-
cles are equal, they will form a Y. We
will assume that the common connec-
tion does not move; the muscles will
apply a force there but, as in the case
of flying a stick-controlled airplane,
any movement will be negligible.
This allows us to ignore some com-
plex interactions between the mus-
cles. Those interactions would not in-
100 August 1979 © BYTE Publications Inc
Circle 94 on inquiry card.
pBOUD tY
ince
cowip uT
ANH°.2,THiHK
MINIMAX
"FULLY INTEGRATED COMPUTER SYSTEM"
4f €*
MINIMAX SERIES COMPUTER
THE MINIMAX SERIES WAS DESIGNED
TO OFFER THE MARKET MINICOMPUTER
CAPABILITIES AT MICROCOMPUTER PRICES.
COMPARE THE CAPABILITIES & PRICE!
CONTACT NEECO FOR FULL SPECS - FREE MINIMAX MANUAL.
MEET THE
MINIMAX COMPUTER THE MINIMAX SERIES computer was designed by industry professionals.
COMPARE THE PRICE AND FEATURES TO ANY OTHER COMPUTER IN ITS CLASS!
MINIMAX I - .8 MEGABYTE
ON LINE MINIFLOPPY STORAGE
MINIMAX II - 2.4 MEGABYTE
ON LINE 8" FLOPPY STORAGE
MINIMAX I -
MINIMAX II
PRINTER NOT
INCLUDED IN PRICE
$4495
$5995
• THE MINIMAX SERIES COMPUTER IS AN INTEGRATED, COMPACT UNIT CONTAINING THE CPU. DUAL DENSITY DISK STORAGE, 12
INCH CRT, AND FULL STYLE KEYBOARD, WITH SEPARATE NUMERIC ENTRY PAD. ALL KEYS (INCLUDING CURSOR) WITH FULL
REPEAT • HYBRID 2 MEGAHERTZ 6502 CPU • 108K SYSTEM RAM (48K USER) • FASTEST FLOPPY DISK ACCESS (24K LOADS IN 4.2
SECONDS) • 16K ROM CONTAINS COMPUTHINK BASIC (AN EXTENDED MICROSOFT BASIC) WITH EXTENDED PRECISION, DOS
INCLUDES COMPLETE FILE I/O WITH FULL RANDOM ACCESS. COMPLETE MONITOR WITH DEBUG & TRACE. AND TINY 6502
ASSEMBLER • COMPLETE HIGH RESOLUTION GRAPHICS WITH INDIVIDUALDOT (240x512) POINTSCREEN ADDRESSABILITY •
FULL SCREEN TEXT EDITING WITH OVERWRITE. INSERTION OR DELETION • SPLIT SCREEN/WINDOW MODES • INDIVIDUAL
FIELD EDITING WITH FIELD PROTECT AND AUTO SKIP TO NEXT FIELD • DISK STORAGE SYSTEM TRANSFERS 6K PER SECOND
WITH AUTO VERIFY AND PARITY CHECK • 12 INCH CRT-64 CHARACTERS BY 30 LINES. UP TO THREE PROGRAMMABLE
CHARACTERFONTSFORLANGUAGESORSPECIALCHARACTERS ••• SWITCHABLE 1 10 OR220V OPERATION •• • • HYBRID
CPUISMICROPROGRAMMABLEWITH64USERDEFINABLEOPCODES.CHOICEOF800KOR2.4MEGABYTEDISKSTORAGE •FULL
SERIAL RS-232C PORT WITH PROGRAMMABLE BAUD RATES AND MODEM CONTROL SIGNAL • DEDICATED DISK PORT •
PRINTER PORT SUPPORTS PARALLEL COMMERCIAL PRINTERS • 24 PIN I/O USER PORT • PAGEMATE DATABASE
AVAILABLE • PLM COMPILER AVAILABLE • BUSINESS PACKAGES AVAILABLE • COMPLETE DIAGNOSTICS & SCHEMATICS
INCLUDED • COMPLETE USER MANUAL INCLUDED
SPECIAL DEALER PRICING AVAILABLE ON DEMONSTRATION
MINIMAX AND SOFTWARE PACKAGES TO QUALIFIED
SELECTED DEALERS. CONTACT NEECO FOR INFO.
THE MINIMAX WAS DESIGNED AND IS MANUFACTURED BY COMPUTHINK
COMPUTER CORP. DISTRIBUTED IN EUROPE AND THE EASTERN U.S. BY NEECO.
IN ADDITION TO HARDWARECAPABILITIES THAT ARE UNMATCHED IN THE INDUSTRY, THE MINIMAX
COMPUTER SUPPORTS A COMPLETE DATA BASE SYSTEM (PAGEMATE), CONTAINING FULL
STATISTICAL, SORTING, AND EDIT FUNCTIONS. A PLM COMPILER IS AVAILABLE, FULL BUSINESS
SUPPORT SOFTWARE IS AVAILABLE AND MORE!— FULL DEALER SUPPORT IS AN IMPORTANT
PART OF OUR MARKETING. CONTACT NEECO FOR FURTHER INFORMATION.
THE MINIMAX IS NOW AVAILABLE FOR QUANTITY DELIVERY. DOMESTIC DEALERSHIPS AVAILABLE.
EUROPEAN DISTRIBUTORSHIPS/DEALERSHIPS AVAILABLE TO QUALIFYING COMPANIES WITH
SUPPORT CAPABILITIES. SOFTWARE HOUSES AND OEM INQUIRIES INVITED. CONTACT NEECO.
NEECO
NEW ENGLAND ELECTRONICS CO., INC.
679 HIGHLAND AVE., NEEDHAM, MA 02194
MON-FRI, 9:00-5:30, E.S.T.
TELEX 951021, ANSWERBACK "NEECO"
(617)449-1760
Circle 281 on inquiry card.
BYTE August 1979 101
terfere with control, but would make
the model very complicated. In simu-
lating a control organization, it is
always the simulation of the environ-
ment that creates complexities. The
geometric interactions between the
muscles are properties of the world in
which these control systems live, not
of the control systems proper.
There will be 3 level-1 control
systems, 1 for each muscle. Each will
sense the force being generated by its
own muscle. Each will have a loop
gain of 10, and a slowing factor of
0.07 (see part 2 for discussion of these
properties).
There will also be 3 level-2 control
systems. One will use the 3 muscles to
control a force in the X direction (left
and right), another will control a
force in the Y direction (up and
down), and the third will control the
sum of the 3 forces, this sum cor-
responding to what physiologists call
"muscle tone." We will see why there
is such a thing as muscle tone (the
steady mutually cancelling tension
that is always there in muscles). Each
level-2 control system will have a
loop gain of 50, and a slowing factor
of 0.01.
I hope that this arrangement looks
a little amazing. Here we have 3
muscles spaced at roughly 120-degree
intervals around a common point. No
one muscle pulls in either the X or the
Y direction. To pull in the X direc-
tion, all 3 muscles must alter their
tensions. To pull in the Y direction,
all 3 must alter their tensions. To
vary the muscle tone all 3 must once
more alter their tensions. We will be
able to set reference values for these 3
variables at the same time, throw in a
disturbance of arbitrary size and
direction to boot, and there will be no
interference among the systems that
cannot be easily taken care of. Each
level-2 force-controlling system will
be able to keep its perceptual signal
matched to any reference signal,
while the others do the same thing at
the same time.
It may add interest to know that
the outputs from the level-2 systems
to the level-1 systems will not be ac-
curately weighted: the only choice
will be whether or not a given level-2
Interactive Computer
Graphics Software.
For Microsoft and DEC* Fortran
liffererit devices ranging
' : CR1 terminals to incre-
'letters, and even high speec
sshed raster scan displays
ipiete package is written it
i Fortran IV, making it porta
if computers, including mini
and micro systems.
The entire set of over 20 subpro-
grams, indudin$ drivers for a CRT ter-
minal md a Diablo 1620 printer, sells
$400. Drivers for other devices
iay be added.
larkrof Digital Equipment Corp.
p'#i
The above graphs are examples of the
GSR The top 3; aph.Was made on a X-Y-Z
self-refreshed display. The bottom graph
was made" on a Diablo* 1620 printer V;
onrtpco
8705 North Port Washinston Road
3»jkee,Wis.53217 414/351-3404
COMPUTER SPECIALISTS
output reaches a given level-1 com-
parator after multiplication by 1, 0,
or — 1. All 3 level-2 outputs will
reach and be added together in all 3
level-1 comparators. The neat separa-
tion of X, Y, and tone control is not
accomplished by carefully balancing
the amount of output sent to each
level-1 system. Only the crudest ad-
justment has to be made on the out-
put side, essentially the choice bet-
ween positive and negative feedback,
with negative always being chosen.
We now come to what is perhaps
the most fundamental concept of this
theory of brain function. The organ-
ization which determines that an X
vector, a Y vector, and a tone or
scalar force will be controlled is
found in the input functions, not in
the output functions. The organiza-
tion of behavior is determined by the
perceptual, not the motor organiza-
tion of the brain. By the time we
finish this installment you will see ex-
actly how that happens.
Setting Up the Model
Let us start by looking at a typical
control system of unspecified level in
a hierarchy of control systems. This
system will receive multiple input
signals from lower-level systems and
multiple reference signals from
higher-level systems. It will emit just
1 output signal (we will assume that
the only need for an explicit output
function is to provide error amplifica-
tion and to smooth; otherwise the er-
ror signal could be used directly as
the output signal). Figure 14 shows
this typical system.
Perceptual Inputs from
Lower Levels
The input function will now be a
little too complicated to be repre-
sented as a BASIC function since we
need a set of weighting factors so that
each input can be assigned a weight
before summing all of the inputs
together. The easiest way to deal with
weighting factors for a generalized
system is to use a matrix that contains
all of the factors for all of the levels.
For the input function we designate
the matrix as S (for sensory) and
write it as:
S(L,J,K),
where: L = level
J = system at that level
K = weight of Kth signal
from level L — 1.
102 August 1979 © BYTE Publications Inc
Circle 53 on inquiry card.
TO HIGHER LEVELS
FROM HIGHER LEVELS
Q g g o
1| J!
M-MATRIX
(R-2)
ft
FROM LOWER LEVELS
TO LOWER LEVELS
Figure 14: A typical control system in the middle of a hierarchy of control systems. This
system receives multiple reference signals, given a positive or a negative sign by an
appropriate entry in the M matrix (no other weighting). The sum of these reference
signals is the effective reference signal. The system also receives multiple input signals
which are copies of perceptual signals in lower-order systems. These signals are given
quantitative weightings by the S matrix and summed in the input function FNI of the
system to create this system's perceptual signal P. A duplicate of the perceptual signal
travels upward to higher-level systems.
The perceptual signal is subtracted from the effective reference signal (or vice versa),
and the remainder is emitted by the comparator C as the error signal. The error signal is
amplified and smoothed by the output function FNO with the result being emitted to
lower-level systems as the output signal O.
The perceptual signal for this Jth
system at the Lth level will be
designated P(LJ). The perceptual
signal can thus be written as the sum
of contributions (weighted) from
some set of lower-level systems, a
weighting of O in the S matrix mean-
ing absence of a connection:
N(L-1)-1
P(LJ) = i; S(LJ,K)XP(L-1,K)
K =
where N(L — 1) is the number of
systems in the next lower level.
Reference Inputs from
Higher Levels
A similar operation is performed to
calculate the net reference signal
R(LJ). A matrix M(L,J,K) is used to
select a connection factor (1, 0, or
— 1) for each output of a higher-level
system; the net reference signal is the
sum of all the outputs of the higher-
level systems, each multiplied by its
appropriate factor. A 0, of course,
means no connection.
The M matrix is filled by looking at
the sign of the corresponding entry in
the S matrix for the next higher level.
NEW! Internal
Power Supply!
Plus External
xm.Hvi3i3 • • •
fffffl
The Best of
Both Worlds
Looking for multi-purpose PET* expansion?
The Betsi S-I00 Interface/ Motherboard has
a new inboard power supply, for the best of
both worlds.
Outside the PET, the versatile Betsi inter-
face provides four S-100 slots for instant plug-in
expansion. The availability of S-100 boards
puts a wide range of applications within easy
reach of a PET /Betsi system.
The new Betsi Power Supply mounts inside
PET, eliminating excess clutter. It takes only
minutes to install, plugs into PET's existing
connectors, and even turns on and off with
your PET!
Betsi features:
• Dynamic Memory Controller for use of S.D.
Systems "Expandoram" board. (Get full 32K
PET expansion on a single S-100 card!)
• Direct plug-in connection to PET. No
additional cables or backplanes required.
• Accepts nearly, all S-100 boards, including
memory I/O, speech processors and more.
• On-board sockets for8K of PROM firmware
(no extra hardware needed).
The new Betsi Power Supply makes a PET/
Betsi system easier than ever to use. With prices
worth a second look, you can afford to have
multi-purpose PET expansion now!
BETSI INTERFACE/MOTHERBOARD-KIT
With all components, one 100 pin connector, and
complete assembly and operating instructions
$119
BETSI INTERFACE/MOTHERBOARD
ASSEMBLED & TESTED
With four 100 pin connectors, complete
assembly and operating instructions, 6-month
warranty $165
BETSI POWER SUPPLY
& TESTED
ASSEMBLED
$34
See Betsi and its new power supply at your local
dealer or write directly to:
FORETHOUGHT
PRODUCTS
87070 Dukhobar Road #F
Eugene, Oregon 97402
(503) 485-8575
ORDERS NORMALLY SHIPPED WITHIN
24 HOURS/VISA, MASTERCHARGE
ACCEPTED
August 1979 © BYTE Publications Inc 103
To understand how this correspon-
dence is figured, think of the second
index in the matrix as the destination
of the signal, and the third index as
the source.
Suppose that we wanted to fill in
the M matrix for 1 level of systems.
An entry will be —1 if the corres-
ponding S matrix entry of the next
higher level is negative, if the S
matrix entry is 0, and 1 if the S matrix
entry is positive. But which is the en-
try in the S matrix for level L + l cor-
responding to M(LJ,K)?
The answer is simple: M(LJ,K)
corresponds to S(L + 1,K,J). The
source and destination indices are
simply interchanged. If a higher-level
system gives a negative weight (of
any amount) to the perceptual signal
from a given lower-level system, it
sends a copy of its output to the com-
parator of the same lower-level
system with a negative (inhibitory)
sign. A negative connection factor
means that the output of this higher-
level system will subtract from the
contributions of other higher-level
systems to the lower-level net
reference signal.
Thus, once the S matrix for the
next higher level has been filled in, we
can calculate the entries in the M
matrix:
M(LJ,K) = SGN (S(L + 1,K,J))
where SGN is the Sign
function that generates the
appropriate 1, 0, or — 1.
You may choose to skip these pro-
cedures and simply spell out each
connection one at a time. My thought
in using a general solution is not
merely to save lines of program, but
to point the way toward expanding
the simulation both horizontally (ad-
ding more systems at each level) and
vertically (adding more levels).
The reference signal for level L,
system J, is found by summing over
the outputs of all systems of level
L + l, multiplying the output from
each higher-level system by the ap-
propriate connection factor from the
M matrix:
N(L + 1)-1
R(LJ) = £ M(LJ,K) X 0(L+1,K)
K =
Discover why
hundreds of PDP-11 users
have turned to us
for Pascal.
They're i n process control. In
database management. In educa-
tion, research and communica-
tions. Running on LSI-1 1 s, PDP-
1 1/70's and everything in be-
tween. RSTS/E, RT1 1, RSX or IAS —
it makes no difference, they praise
our Pascal.
Because they all have one thing
in common. A desire to get more
from their PDP-1 1 than another
language — or another Pascal —
can provide.
We've captured the elegance of
Pascal in a real world compiler. It
converses directly in machine lan-
guage, giving remarkable execu-
tion speed and efficient memory
use. It features straight-forward
r -~, spj, minicomputer
S®TOW(§ inc.
program structure,
uncluttered syntax,
and other advantages of
full standard Pascal.
But there's more, in the form of
real-time extensions. 1 5 digit (dou-
ble precision) arithmetic. In-line as-
sembly code. I/O hardware ac-
cess. FORTRAN interface. Direct-
access files. Overlays. Plus others.
There's even an interactive sym-
bolic debugger.
Reliability? Introduced in 1975,
we're at over 400 sites now. We
guarantee stated performance and
provide 1 year of follow-up sup-
port. Give us a call; we have a
demo library, manuals, and bench-
mark, ready for your inspection.
2340 SW Canyon Road
Portland, Oregon 97201
(503) 226-7760
TWX 910-464-4779
PDP-11. LSI-11, PDP-11/70. RSTS/E. P.T11, RSX, and IAS are trademarks of Digital Equipment Corporation
Distributors:
Australia: Sydney; Network Computer Services.
2903677
Canada; Vancouver; Valley Software,
(604| 524-9741
England; Stafford; Hourds Computing Ltd,
0785 44221
Japan; Tokyo; Rikei Corporation, 03-345-141 1
To complete this general model we
need only calculate the error signal E
and the output signal O. The required
slowing factor and the error sensitiv-
ity are put in the output function.
E(LJ) = R(LJ) - P(LJ)
0(L,J) = O(LJ) + K(L) x
(G(L)x E(LJ) -
O(LJ))
where K(L) is the slowing fac-
tor for all systems of level L
(see part 2), and G(L) is the
error sensitivity for all systems
of level L.
Top and Bottom of the Model
We do not have a complete control
system at the top of this hierarchy
where we will be injecting reference
signals for the highest complete level.
Therefore we designate those signals
as (in this case) 0(3,1), output signals
from 3 imaginary level-3 systems (us)
indexed by I = (X force), 1 (Y
force), or 2 (tone). The M matrix for
level 2 is set up so that M(2,I,I) is 1, I
running from to 2; this establishes
connections from each level-3 output
to 1 corresponding level-2 reference
input. All other entries are left at
(my North Star BASIC zeros arrays
when they are first dimensioned).
At the bottom, the output signals
0(1,1) are supposed to create muscle
tensions that affect 3 input quantities;
the amount of stretch in the tendon
attached to each muscle. To avoid
treating a special case, we will
designate these input quantities as
"level perceptual signals," P(0,I).
The value of each input quantity is
found by adding the magnitude of the
corresponding output to the compo-
nent of a disturbance that acts along
the length of the associated muscle.
The value of the input quantity P(0,I)
represents the net stretch in a tendon
created by the muscle contraction and
this component of the disturbance as
they act together.
The Ievel-1 S matrix simply con-
nects each input quantity, multiplied
by 1, to its respective input function.
Thus, we set S(0,I,I) = 1, for I = 0,
1, and 2. All other entries in this
matrix are 0.
The geometry of the muscles is ad-
justable. Since setting up this
geometry is the opening phase of the
BASIC program, we will take a quick
run through this program and discuss
the muscle setup. See figure 15 to help
104 August 1979 © BYTE Publications Inc
Circle 293 on inquiry card.
TRS-80 BOUTIQUE
Intro-
ducing!
"WORDP II"
The TRS-80 Word
Processing System
that really does the job!
If you've been looking for a true word
processing capability for your TRS-
80 .. .STOP! WORDP II is it!
WORDP II allows you to enter, edit,
and printvariousamountsoftext
(with right margin justification) in one
program. The EDIT program permits
addition, insertion, and deletion of
whole lines and characters within
lines. The TYPESET program fills and
right justifies paragraphs auto-
matically.
Other features include: indent,
center, right justify non-paragraph
text, count and label pages by
number or without headings, and
lots more.
SPECIAL INTRODUCTORY PRICE
$75.00
Send S1 for operating manual - see
what the system will/will not do before
you buy!
DEALER INQUIRIES INVITED
(714) 774-1270
AJA SOFTWARE
P.O. Box 2528 • Orange, CA 92669
Improve TRS-80
performance
with new DOS'
Enjoy the wizardry of your TRS-80 to its fullest: maximize and
expand all of its magical capabilities with the new D0S+. Just look at
the capabilities you can evoke.
Modifications, corrections, and enhancements to Radio Shack's
TRSD0S2.1.
• A Basic REFerence command for variables and numbers.
• Asuper-fast machine language RENUM program execu-
table under BASIC.
• A built in kevboard-debounce routine.
• A print screen option under DOS or BASIC to your line printer.
Simplypress JKL keys.
• Newcopycommands for backup, allows you tocopy from drive
to drive keeping the same filespec.
• Execution of DOS commands while in BASIC.
• New BASIC scrolling and invocation commands and more.
• Apparat's own SUPERZAP, a Hex dump utility to examine or
or modify disk or memory locations.
• Modified EDITOR ASSEMBLER with Disk I/O and new cross
reference feature.
• Asuper-fast machine language DISASSEMBLER program.
• A LOAD MODULE for transferring machine tapes to disk.
• Faster disk access.
• Level I ROM relocated in Level II RAM.
• The capability of storing anc 1 retrieving Level I programs on Disk.
• An improved DISKDUMP program.
• A DIRCHECK program to test a directory & list/display the
contents in alphabetical order with extensions.
You don't have to pull a rabbit out of a hat . . . Send S99 for the
Apparat/MTI New DOS-h (on diskette). See all the magic unfold
before your eyes.
INTRODUCTORY SPECIAL
NEWDOS+and the very Best of Apparat's disk utility programs
S99.00 (a $250.00 value).
To order your diskette of tricks, write or call one of our dealers.
Apparat Inc., 6000 E. Evans Ave., Bldg 2, Denver, CO 80222,
303-758-7275
Microcomputer Technology Inc., 2080 S.Grand Ave.,
Santa Ana, CA 92705, 7 1 4-979-9923
?i
COMPUTER DEALER CO-OP
5082 SHIRLEY DRIVE, LA PALMA, CA 90623
(714) 979-9925
Circle 50 on inquiry card.
BYTE August 1979 105
Circle 161 on inquiry card.
LQQK
TO H AYDEN
FOR YOUR
LANGUAGE
NEEDS...
New! APL: An Introduction (Peelle)
This workbook/textbook offers a
problem-solving approach to
learning computer programming
in APL. #5122(1 58.50
COBOL WITH STYLE: Pro-
gramming Proverbs (Chmura &
Lecigarci) Covers structured
COBOL programming, and how
to use the top-down approach with
COBOL. #578/ -4, $t>.95
New! FORTRAN WITH STYLE:
Programming Proverbs (Ledgard
& Chmura) Programming style
guide that conforms to the new
FORTRAN 77. #5GH2G, $G.95
New! Z-80 AND 8080 ASSEMBLY
LANGUAGE PROGRAMMING
(Spracklen) An extensive introduc-
tory look at assembly language
programming for the sosoand Z-80
processors. #5 1 G7(). $7.93
New! PASCAL WITH STYLE:
Programming Proverbs (Ledgard
& Nagin) A style guide specially
written for PASCAL users and how
to use the top- down approach with
PASCAL. #3124-7. 56.H5
New! BASIC FROM THE GROUND
UP (Simon) Explores computers
and the BASIC language in a
simple direct way, without relying
on a heavy mathematical back-
ground. #57(501. $H.95
Available at your
local computer
store!
nr\ Hayden Book
'-*-' Company, Inc.
50 Essex Street,
Rochelle Park, NJ 07662
visualize how everything works.
Figure 16 is the same system, more
closely representing the organization
of the brain.
The Simulator
Muscle angles. After the dimension
statements and the statements that set
slowing factors and error sensitivities
for each level have been called, the
program calls a subroutine that asks
for the angle at which each of the 3
muscles is to be set (in degrees). You
can use 30, 150, and 270 degrees (for
equal spacing). There is nothing to
prevent the choice of any angles you
like, although you should draw a
diagram to determine the effect on the
system. It is hard to create a force in a
direction in which there is no compo-
nent of force from any muscle.
Sensory weightings. Lines 9 to 15
organize the perceptions of this sys-
tem, and thus organize its behavior.
For values of I from to 2, all 3 levels
of sensory matrix are set up. You can
now see how X and Y forces are sens-
ed. The weights for level 2, system 0,
correspond to the cosine of the angle
between the positive X axis and the
angle of each muscle. Those for level
2, system 1, correspond to the sine of
the same angles. Each input function
is weighting the perceptual signals
from the muscles according to the
component of force that is aligned
with the direction being sensed. The
tone system, level 2, system 2 adds
the signals together to yield a total-
force signal.
Motor weightings. Lines 19 to 23
use the already entered values of the S
matrices to create the connection
matrix M. The sign function selects
the sign that will preserve negative
feedback.
Highest-level reference signals. In
line 24, the program calls a sub-
routine that asks for 3 reference
signals: one designating the amount
of X force, another designating the
amount of Y force, and a third des-
ignating the sum of forces, or muscle
tone. Positive or negative numbers
are allowed. A real nervous system
cannot handle negative frequencies,
but the same effect can be created by
suitable use of inverters so that one
(positive) frequency means a positive
quantity and another (also positive)
frequency means a negative quantity.
In reality there would be 6 systems of
level 2 in this 4-quadrant system.
I have set up level 1 to behave
realistically like a muscle control
system; neither negative signals nor
negative forces can be produced.
Disturbance. At line 25, the pro-
gram calls a subroutine which asks
for the amount and direction of a
constant disturbance. A disturbance
might be created by seizing the place
where the 3 muscles join, moving it,
and holding it in the new position.
Despite the fact that the control
systems are neither detecting nor con-
trolling position, arbitrary movement
of this junction in space will stretch or
relax the muscles, creating changes of
force due to the spring constants of
the muscles. Therefore it is rea-
sonable to suppose that a force distur-
bance can be created, one which pro-
jects into the direction of each muscle
according to the cosine of the angle
between the disturbance vector and
the axis of the muscle.
Calculating the behavior. Lines 29
through 37 call a subroutine that ac-
tually does the calculation of signals
in all 6 control systems. You will
notice 3 nested FOR-NEXT loops.
The outer 2 loops cause the lower-
Text continued on page 111
Figure 15: The 2-level hierarchy simulated in this article. Three level-1 systems each
control the amount of tension in 1 muscle, as represented by the 3 level-1 perceptual
signals. Copies of these 3 perceptual signals reach all 3 level-2 systems, where they are
weighted and summed so as to represent the X component of muscle force (P(2,0)), the
Y component of muscle force (P(2,l)), and total muscle force or muscle tone (P(2,2)).
Each second level system sends an amplified and smoothed version of its error signal
as an output signal to all 3 lower-level systems. Each output signal splits into 3 identical
branches, 1 for each level-1 system. When a branch reaches a level-1 comparator, it
may be connected directly or through an inverter before being summed with other
reference inputs. There is no other weighting of output signals. If necessary, an inverter
is used to preserve negative feedback for a particular path.
Each level-1 system amplifies and smooths its error signal to make an output signal
reaching just 1 muscle.
A higher-level system determines the reference signals for X, Y, and total force. These
are specified by the operator of the simulator. All systems correct their own errors
simultaneously.
106 August 1979 © BYTE Publications Inc
X
0(3, 0)
M201
M202
+\R(2,0)
P(2, 0)
M2I0
Y
0(3, I)
NI2II M2I2
P(2, I) h
E(2,0)
f(G 2 , K 2 )
S200
S20I
S202
MI00
MI0I
P(l.0)
SI00
S10I
SI02
R(2,i)
E(2,l)
HG 2 ,K 2 )
0(2.0)
S2I0
MI02
'R(i,0)
MM©
P(l. I) "
E(l,0)
f (G,, K,)
0(2,1)
'R(I.I)
0(1,0)
SI 10
P(l.2)
E (I, I)
f{G,, K,)
SM I
SM2
0(1, I)
SI20
SI2I
SI22
E(l, 2)
f (G,, K|)
0(1.2)
MUSCLES
"LEVEL O"
August 1979 © BYTE Publications Inc 107
(PERCEPTUAL SIGNALS)
I MIDBRAIN I
(REFERENCE SIGNALS)
X Y T
LEVEL
2
LEVEL
I
Figure 16: Topological transform of figure 15 shows how control systems are arranged in the human nervous system, at least accor-
ding to some cybernetic theoreticians. The major difference from figure 15 is that all sensory functions are lumped together at each
level, and comparison and output functions are also lumped together. The 5 and M matrices are represented in a nervous system as
synaptic connections, the weighting of which is determined by the number of branches (from one to hundreds) that form just as a
nerve fiber reaches the next cell body. The sign of a weighting is determined by whether or not a Renshaw cell (specialized to pro-
duce inhibition) is interposed. A collection of comparators and output functions is called a motor nucleus. For level 2 and higher,
the branches of perceptual signals that cross over and enter a motor nucleus are called collaterals.
108 August 1979 © BYTE Publications Inc
Wondering which memory
is best for you?
bo/© 2* offers the following products
to the S-100 market at the industry's
lowest prices:
E r T H r 7; " i r r
S' hj ~B w^?r?^ Jfr^?^^.a J™?vf. J*ffi"^ -jJ^ff ^R - jjl^^^ IJ^WB^W
I.
8K Static Memory Board
This 8K board is available in two versions. The 8KS-B operates at 450ns for use with
8080 and 8080A microprocessor systems and Z-80 systems operating at2MHz. The
8KS-Zoperatesat 250ns and is suitable for use with Z-80 systems operating at4MHz.
Both kits feature factory fresh 2 1 02's (low power on 8KS-B) and includes sockets for
all IC's. Support logic is low power Schottky to minimize power consumption. Address
and data lines are fully buffered and 4K bank addressing is DIP switch selectable.
Memory Protect/Un protect, selectable wait states and battery backup are also
designed into the board. Circuit boards are solder masked and silk-screened for ease
of construction. These kits are the best memory value on the market! Available from
stock . . . 8KS-B $125 (assembled and tested add $25.00)
8KS-Z $145 (assembled and tested add $25.00)
16K Static Memory Board
Base2cannowofferthesame price/performance in a 16K static RAMas in itspopular
8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on
DIP switches. This low power unit provides on-board bank selection for unlimited
expansion ... No MUX board required. Using highest quality boards and components
we expect this kit to be one of the most popular units on the market. Available in two
speed ranges, the 16KS-B operates at 450ns while the 1 6KS-Z operates at 250ns.
16KS-B $275.00 (assembled and tested)
16KS-Z $300.00 (assembled and tested)
Z-80 CPU Board
Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and
the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at
unbelievably low cost. A socket is included on the board for a 2708 EPROM which is
addressable to any 4K boundary above 32K. The power-on jump feature can be
selected to address any 4K boundary above 32K or the on-board 2708. An On-board
run-stop flip-flop and optional generation of Memory Write allows the board to run with
or without a front panel. The board can be selected to run in either the 8080 mode, to
take advantage of existing software, or h the Z-80 mode for maximum efficiency. For
use in existing systems, await state may be added to the M1 cycle, Memory request
cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all
signals from the processor board. All this and more on tOD quality PC boards, fully
socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125
S-100 for Digital Group Systems
This kit offers, at long last, the ability to take advantage of S-100 products within your f ™M WJfflril B ?Mlt\'fci\
existing Digital Group mainframe. Once installed, uptofourS-1 OOboardscan be used
in addition to the existing boards in the D.G. system. The system includes an
"intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 ****t###t§jjrf£
board and a power wiring harness. The DGS-1 00 is designed to fit in the 5-3/4" x 12" B § B § £
empty area in the standard D.G. cabinet. It may seem expensive butthere's a lot here! «v^
End your frustration! DGS-100 $250.00
Send for more details on these products. Get on our mailing list for
information on more soon to be announced products at factory-direct
m A prices from BASE 2. Why pay more when you can get the best at
■ fl^ ^fet A ^^ M ^Rk. 0^ these prices???
Jml ■■■■■ #% ■■ bC P.O. Box 3548 • Fullerton, Calif. 92634
\fMtmJ %+ f J* II IV« (714)992-4344
.............................. M ■ CA '^dentS add 6% t8X
JIM MC/BAC accepted • FOB — U.S. destination
Circle 29 on inquiry card.
BYTE August 1979 109
Circle 190 on inquiry card.
i:i=|:]*«e1=*^
BETTER
ft&
*%r
$38**
;.-.-'i<.s ■,-,(•..'. ■■•;.-• A . .; ..■•■ ■. \-v -A>. .-.•■. -\.<. -,.■{., "•.■■;-. V*
•-. ■ '•'■• W ■. _> ■i.s'* l ;-'-j ■,:■;■ j'.'-v ;t '~' r - '■ ^ -In-: **<»<■•!.-■•■'*.;■ . •■.''■■■:'.'' ■ -J .-'V
Thousands of users know the
Ithaca Audio Simple Upgrade™ as
the best memory expansion available
— and with good reason.
Our clear, concise, step-by-step
instructions and illustrations make
upgrading a snap. Jumpers are
packaged just as they appear in the
diagrams, no hunting for the correct
part.
Fully-tested RAMs and prepro-
grammed shunts provide a kit that
works the "first time." In fact, a
Simple Upgrade is the only memory
expansion that requires no cutting or
customizing to install.
Each kit has a 100% guarantee; if a
part ever fails we replace it absolutely
free. No other manufacturer has the
confidence to offer that kind of war-
ranty and support.
Now the best gets even better: the
Simple Upgrade is just $119.00.
The full line of Upgrades is avail-
able nationwide at Computerlands,
Byte Shops and independent compu-
ter retailers.
For the name of the dealer nearest
you, contact:
ITHACA
AUDIO
P.O. Box 91
Ithaca, New York 14850
(607) 257-0190
TRS-80 is a registered trademark of Tandy Corp.
Apple II is a registered trademark of Apple Computer Inc.
Sorcerer is a registered trademark of Exidy Inc.
110 August 1979 © BYTE Publications Inc
Listing 3: North Star BASIC simulation of a 3-muscle system. The muscles have 3
operations they are to perform: movement in the X direction, movement in the Y direc-
tion, and tone control. A sample run of the simulator is shown in listing 4. The exclama-
tion point is used as an abbreviation for the PRINT statement.
1 Dir, P(2 / 2) / R(2 / 2) / E(2 / 2) / 0(3 / 2) / S(3 / 2 / 2) / M(2 / 2 / 2) / A(3) / K(2)
2 DIM G(2)
3 G(1)=10\ K(1)=.07\ G(2)=50\ K(2)=.01
4 P = 3. 1415927/180
5 G0SUB 99\ REM (SET UP MUSCLE GEOMETRY)
6 rem •••••••••••••••••••••••••
7 REM SET UP SENSORY WEIGHTINGS
8 REM *************************
9 FOR 1=0 TO 2
10 S(1 / I / I)=1
11 5(2,0,1)= COS(ACI))
12 5(2,1,1)= SIN(ACI))
13 S(2,2,I)=1
*************************
SET UP MOTOR WEIGHTINGS
••••••••••••••••••••••••a
22 M(L,I,J)-SGrl(S(L + 1,J,I))
23 NEXT J\ NEXT I\ NEXT L
24 GOSUB 109\ REM (SET UP REFERENCE SIGNALS)
25 GOSUB 116\ REM (SET UP DISTURBANCE)
*************************
CALCULATE SYSTEM BEHAVIOR
*************************
29 !\F0R Q=1 TO 5
30 FOR J3=0 TO 1
31 L=2\ GOSUB 50\ REM CALCULATE SYSTEMS AT LEVEL L
32 FOR J2=0 TO 1
33 L=1\ GOSUB 50
34 FOR 1=0 TO 2
35 P(0,I)=0(1,I)+D*C0S(A(I)-A(3))
36 NEXT I\ NEXT J2\ NEXT J3
37 GOSUB 69\ REM (PRINT TABLE OF VALUES)
38 NEXT Q
39 !"(A)NGLE? (R)EFS? (D)IST? (C)ONT? (P)RIflT MATRICES?
40 INPUT ,M, ,AS
THEN 42\ GOSUB 102\ GOTO 29
14
S(3,I,I)=1
15
NEXT I
16
REM
17
REM
18
REM
19
FOR L=1/T0
2
20
FOR 1=0 TO
2
21
FOR J=0 TO
2
26
REM
27
REM
28
REM
45
IF ASO"P"
46
i " ????
"\
47
REN
48
REM
49
REM
50
FOR J=0
TO
51
v=n
52
FOR K=0
TO
41 IF A$<>"A"
42 IF A$<> ,, R" THEN 43\ GOSUB 109\ GOTO 29
43 IF ASO"D" THEN 44\ GOSUB 116\ GOTO 29
44 IF A$<>"C" THEN 45\ GOTO 29
THEN 46\ GOTO 76
! \ GOTO 39
********************************
CALCULATIONS FOR LEVEL L SYSTEMS
********************************
2
53 V=V+P(L-1,K)*S(L,J,K)
54 NEXT K
55 IF L=1 AND V<0 THEN V=0
56 P(L,J)=V\ V=0
57 FOR K=0 TO 2
58 V=V+0(L+1,K)*h(L,J,K)
59 NEXT K
60 R(L,J)=V\ V=0(L,J)
61 E(L,J)=R(L,J)-P(L,J)
62 V=V+K(L)*(G(L)*E(L,J)-V)
63 IF L=1 AND V<0 THEN 0(L,J)=0 ELSE 0(L,J)=V
64 NEXT J
65 RETURN
66 REN ***********************
67 REM DATA LISTING SUBROUTINE
68 REN ***********************
69 !\! "ITERATION # ",%2I,Q," —
70 FOR J=2 TO 1 STEP -1/
71 !\! "LEVEL ",Z2I, J ,;i#7F2
72 FOR 1 = TO 2\!" ",R(J,D," ",\ NEXT I
73 !\F0R 1=0 TO 2\!" ",P(J,I)," ",0(J,I)," ",\ NEXT I
74 !\ NEXT J
Circle 40 on inquiry card.
Text continued from page 106:
level system to iterate twice for every
iteration of the higher-level system.
This proves to be an exceedingly
useful, easy way to stabilize the
2-level system. (I have also tried this
with a 3-level system, and it worked
just as well.) I have no formal ra-
tionale for why this works; informal-
ly, it seems to be a good idea to let the
lower-level system correct most of its
error before the higher-level systems
take their own errors seriously.
The inner loop, line 35, simply
calculates the values of the input
quantities for the level-1 systems,
using the angles of the muscles and of
the disturbance. This is, in effect, the
simulation of the environment (the
muscles are in the environment of a
neural control system).
At line 37 a routine is called which
prints out the signals for all systems:
the reference signal on 1 line, the
75
76
77
78
79
SO
81
82
83
84
85
86
87
86
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
!\
!\!
FOR
FOR
i "
FOR
!5J6
NEX
NEX
j
NEX
!\!
FOR
!"L
FOR
i "
FOR
i »
NEX
NEX
j
NEX
!\
REM
RE
RE
! \
IN
AC
RE
RF.
RE
RE
! \
IN
IN
RE
RE
RE
RE
! \
IN
AC
RE
RETURN
"SENSORY MATRIX"\ !
L=1 TO 2
EVEL ",'/1I,L
J=0 TO 2
ii
K=0 TO 2
F2,SCL / J,D /
T K
T J
T L
"MOTOR MATRIX"\J
L=1 TO 2
EVEL 'V;1I,L
J=0 TO 2
it
K=0 TO 2
6F2,r'i(L,J,K),
T K
T J
perceptual signal to the lower left of
it, and the output signal to the lower
right for each system. Line 38 closes
the iteration loop; 5 iterations are
called for.
Lines 39 through 46 ask what ac-
tion is to be taken after 5 iterations.
Calculation subroutine. Lines 50 to
65 calculate the signals for each
system. The V that occurs here and
there is simply a way to reduce the
number of times a subscript has to be
calculated. The perceptual signal is
calculated first, then the reference
signal, the error signal, and the out-
put signal, for each system of level L.
The level is set at lines 31 and 33 by
the calling program. Line 62 contains
the slowing routine which appeared
in part 2. Lines 55 and 63 determine
whether or not level 1 is being
calculated; if it is, the perceptual and
output signals are prevented from go-
ing negative.
T L
GOTO
M
K
i'TiU
PUT1
0) = A
TURN
hi
M
M
!"RE
PUtl
PUT1
TURN
M
F1
n
! "D
PUT1
3) = A
TURN
39
•••••••••••••••••••••A
SET UP MUSCLE GEOMETRY
**********************
SCLE ANGLES:"
"M\ ",AC0)\ INPUT1 " f<2\ ",AC1)\ IMPUT1
(0)*P\ AC1)=AC1)*P\ AC2)=AC2)*P
***********************
SET UP REFERENCE SIGNALS
**********•••****•*•*****
FERENCE SIGNALS:"
"X: ",OC3,0)\ INPUT1 " Y: ",0(3,1)
" TONE: ", 0(3,2)
•••••••••••••••••••••••••a
SET UP DISTURBANCE & ANGLE
**************************
ISTURBANCE:"
"MAGNITUDE: ",D\ INPUT1 " ANGLE: ",A(3)
(3)*P
?/3\ ",AC2)
READY
(SdUVSd HASm
Texas
Instruments
TI-99/4
Home Computer
• 26 K RAM extended Tl BASIC.
• 16 color graphics, and music and sound effects.
• High quality 13" color monitor.
• 16 K RAM user memory.
CTC'S DISCOUNT PRICE FOR THE COMPLETE
SYSTEM CONSOLE & 13" COLOR MONITOR
$1099
Price subject to change without notice. Refunds guaranteed.
CTC The Computer People
San Diego's largest Discount Computer & Calculator
Store. 5560 Ruffin Road, San Diego, CA 92123
Please ship me the following merchandise.
Tl & HP CALCULATORS
Tl-Programmer
TI-58C
$ 49.95$
programmable constant memory
99.95 $
TI-59
programmable mag cards
219.95$
Tl 50
slimline scientific
33.95 $
TI-5025
printing handheld
69.95 $
TI-5225
business desktop
179.95$
Tl 1025
5 function w/memory
10.95$
TI-1000
5 function
8.95$
Spelling B
electronic spelling aid
25.95 $
Speak & Spell
spelling aid that talks!!
59.95 $
HP-33E
programmable scientific
76.95 $
HP-38E
programmable business
98.95 $
HP-92
desktop business
399.95 $
HP-67
programmable w/mag card
361.95$
HP-97
desktop programmable
597.00 $
Tl HOME COMPUTER PRODUCTS
PHC004M TI-99/4 Home Computer $1099.00 $_
PHA2000 Dual Cassette Cable 6.95 $_
PHP1100 Remote Controls {Pair} 29.95 $_
PHP1500 Speech Synthesizer 149.95 $_
COMMAND MODULES
PHM3000 Diagnostic 29.95 $_
PHM3001 Demonstration 69.95 $_
PHM3002 Early Learning Fun 29.95 $_
PHM3003 Beginning Grammar 29.95 $_
PHM3004 Number Magic 19.95 $_
PHM3005 Video-Graphs 19.95 $_
PHM3006 Home Financial Decisions 29.95 $ _
PHM3007 Household Budget Management 44.95 $ _
PHM3008 Video Chess 69.95 $_
PHM3009 Football 29.95 $.
PHM3010 Physical Fitness 29.95 $_
TOTAL $ .
Shipping, add 3% $ -
Cal. residents add 6% tax $ -
Amount enclosed $ -
(check or money order)
(Credit Cards for Sales of $700 or less)
Charge to my {J VISA Q MASTER CHARGE
Acct # Bank# Exp. Date
Name_
Street or P.0._
% City
. State.
-ZiP-
August 1979 © BYTE Publications Inc 111
Listing 4: A sample session with the simulator in listing 3. When the simulator is in-
itialized, the user is allowed to set up several values: the 3 muscle angles, the reference
signals, and the disturbance magnitude and angle. For each iteration the values for level
1 and level 2 are output in the following form. First the reference signal for the par-
ticular muscle is printed. The perceptual signal is printed on the next line, just to the left
of the reference signal, and the output signal is printed to the right. This is repeated for
every muscle.
RUN
MUSCLE ANGLES:
#1\ 30 tf2\ 150 #3\ 270
REFERENCE SIGNALS:
X: -30 Y: 40 TONE: 175
DISTURBANCE:
MAGNITUDE: ANGLE:
ITERATION U 1
REFERENCE
LEVEL 2 PERCEPTUAL SIGNAL OUTPUT
-30.00 SIGNAL 40.00 SIGNAL 175.00
-18.19 -20.76 38.50 20.55 187.25 80.50
LEVEL 1
80.29 121.81 39.19
74.52 73.35 109.52 110.46 37.83 36.14
ITERATION U 2
LEVEL 2
-30.00 40.00 175.00
-32.12 -19.13 45.65 10.29 163.72 61.33
LEVEL 1
52.49 90.75 31.91
47.36 47.64 82.67 82.54 27.25 28.61
ITERATION U 3
LEVEL 2
-30.00 40.00 175.00
-29.56 -18.68 37.28 12.56 177.48 67.63
LEVEL 1
61.51 98.87 36.40
55.96 55.93 89.92 89.89 33.67 33.22
ITERATION ft 4
LEVEL 2
-30.00 40.00 175.00
-29.54 -18.83 40.19 12.57 172.81 65.13
LEVEL 1
58.87 96.52 33.73
53.51 53.52 87.72 87.74 30.57 30.64
DISTURBANCE:
MAGNITUDE: 40 ANGLE: 135
ITERATION U 1
LEVEL 2
-30.00 4U. 00
-72.05 2.40 82.15 -8.75
LEVEL 1
59.40 54.60
52.56 63.30 63.87 16.98
175.00
173.67 65.75
76.90
57.11 93.27
Listing 4 continued on page 114
Data listing subroutine. This
subroutine is called after every com-
plete iteration of both levels. It prints
only the perceptual signal, reference
signal, and output signal from the 3
systems at each level.
Running the Program
After the RUN command is given,
the program asks for all adjustable
parameters and then does 5 itera-
tions, printing out the values of all
signals each time. It then issues a
prompting message, the answer to
which determines what happens next.
The C command means do 5 more
iterations. The P command causes the
sensory and motor matrices to be
printed out. To get an idea of the time
scale on which human Ievel-1 and
level-2 systems work, imagine that
each iteration takes about 1/20 of a
second. (If you are looking for mental
exercise, you might adapt the plotter
from part 2 to show the variables in
this simulation.)
What the Simulator Shows
There has always been a problem
in conventional models of the brain
that have to do with coordinated ac-
tions. The standard description is that
something high in the brain thinks of
a general command like ''push!" and
sends the equivalent signals down-
ward toward lower systems. Those
lower systems receive the general
commands, and elaborate on them,
turning them into more detailed com-
mands at every step. At the lowest
level, all of the detailed commands
converge into the final common
pathway, the relatively few channels
running from the spinal cord to the
muscles. There, at last, the neural
signals are turned into tensions that
create motions that create behavior.
The problem that nobody has ever
been able to figure out is how a sim-
ple general command gets turned into
specific commands that will have ef-
fects that satisfy the general com-
mand. Unfortunately, neurology is
full of sentences that sound like ex-
planations but are really restatements
of the effect that is to be explained.
When such sentences are uttered,
they create the impression that the
problem has been solved and needs
no further investigation.
The simulator described here
shows a different way for commands
to get turned into actions. The com-
mand that specifies an X force doesn't
112 August 1979 © BYTE Publications Inc
£: ,:■
isn
the
hole
it's on the doughnut!
INTRODUCING — LOUMAR MANAGEMENT SYSTEMS SOFTWARE
£
programs to give you a comprehensive package for business management
The Loumar General Accounting System is a versatile, fully integrated software package designed for small and medium sized
businesses. It is also suitable for CPA's and bookkeeping service films.
The complete software system is composed of four main modules: GENERAL LEDGER, ACCOUNTS RECEIVABLE, ACCOUNTS
PAYABLE AND PAYROLL. Each module may be used separately or in combination with any other module. Supplied on disk as
run-time modules. Source not available.
All software is written in CBASIC II and utilizes the powerful CP/M operating system.
General system features include:
Automatic posting to general journal • Strict error detection • Report production on demand • Consistent operating procedures •
User oriented. No previous computer knowledge required • Designed by accounting professionals • Comprehensive, well pre-
sented reports and manuals • Single or multiple client capabilities.
HARDWARE SPECIFICATIONS PAYROLL: Up to 500 employees - $550.
The end user's microcomputer must satisfy the following require ACCOUNTS RECEIVABLE: Up to 1000 customers and 1000 monthly
ments:
48k RAM
Dual floppy disk system
Printer with tractor. All printing is done in 80 col. format
CRT with at least a 64 character by 1 6 line display
CP/M and CBASIC II
Write forour brochure - Dealerships still available
Contact: Distributor
MISSION CONTROL • 2008 WILSHIRE BOULEVARD, SANTA MONICA, CA 90403 • (213) 829-5137
transactions — $550
ACCOUNTS PAYABLE: Up to 1000 vendors and 1300 monthly
transactions n- $400
GENERAL LEDGER: Up to 200 accounts with 2000 entries -
$450
Circle 237 on inquiry card.
BYTE August 1979 113
Circle 54 on inquiry card.
Control
System
Software
i gt/en i
display
programs ir«(
subprograms
ter subprogre i,
Bode Algorithm . . . - . > CS-B $1 00.
• Root locus Algorithm C5-R $ 100.
• Time Response * . . ♦ . .CS-T $100.
All of the above packages, will rwn on a
80 or Z80t — based CP/M* sys
eiemarfc of ZHo
irch
HULTIPU!N= r
COMPCO is a software and hardware
systems development house located
in the Midwest. COMPCO has a
variety of software products, and
performs custom and
o-sy^iwvr, ■■■"■ ;,?' : ':'
COMPCO is a distributor of ALTOS
Computer systems and also sells
General Robotics LS1-11* systems.
trademark of Digital Equipment Corp.
Compco
8705 North Port Washington Road
Milwaukee, Wis. 53217 414/351-3404
COMPUTER SPECIALISTS
Listing 4 continued from page 112:
ITERATION U 2
LEVEL 2
-30.00 40.00
-12.87 -16.21 21.01 20.17
LEVEL 1
66.48 98.91
59.89 69.94 90.08 54.02
175.00
180.28 62.52
26.14
25.92 50.56
ITERATION U 3
LEVEL 2
-30.00 40.00 175.00
-31.36 -17.12 49.55 10.51 167.41 64.63
LEVEL 1
58.02 92.26 37.01
52.07 62.22 87.97 48.88 29.19 58.92
ITERATION U 4
LEVEL 2
-30.00 40.00 175.00
-29.97 -16.26 37.42 11.18 175.04 66.18
LEVEL 1
61.10 93.62 38.75
54.44 64.92 88.54 49.97 32.97 61.01
ITERATION A' 5
LEVEL 2
-30.00 40.00 175.00
-29.55 -18.39 39.87 11.75 173.88 64.95
LEVEL 1
60.31 93.10 36.81
53.94 64.25 88.17 49.52 30.93 59.18
simply get partitioned among the
muscles. It is a request for a percep-
tion, not a command to act. The
system receiving this request per-
ceives the X force through a con-
vergent, not a divergent network. A
divergent network cannot be treated
as a function; a convergent network
can. When the perceived X force
matches the reference X force, the
cause of the perception must be in one
of the states that will, in fact, create
that component of force in the X
direction. There is an infinity of dif-
ferent muscle tensions that could
create the same component of force.
If I were not also specifying 2 other
functions of force, there would be no
way to predict the exact muscle ten-
sions that would exist when the X
control system experienced zero
error.
Since we are specifying 3 functions
of 3 variables, and setting reference
levels for the value of each function,
there is only one state of the muscles
that will allow zero error in all 3
systems at once. What we have done,
in fact, is set up an analog computer
for the simultaneous solution of 3
equations in 3 variables.
This simulator shows that the
reference signals for the lower-level
systems do not correspond to any one
output from a higher-level system.
Nevertheless, the perceptual signal
sensed by each higher-level system
matches the corresponding reference
signal. The higher systems each sense
a different function of the set of
lower-level perceptual signals. In-
dependent control is possible only
because the functions represent in-
dependent dimensions of variation of
the lower-level world.
In the environment of this 2-level
system, there is no such thing as X
force, Y force, or tone. There are
simply 3 tendons in various states of
tension. I have created the idea of
114 August 1979 © BYTE Publications Inc
-<^jBook2
Design of
Perignof | Pfeltal Syrteim
Digital Sysl
BookS
Designing
Digital Systems
Two programmed learning courses:
hardware and software; theory
and application.
Design of Digital Systems - six volumes
ADVANCED COURSE
DESIGN OF DIGITAL SYSTEMS
Six large-format volumes — each 11 J A x 8 1 A".
CONTENTS
The contents of Design of Digital Sys-
tems include:
Book 1: Octal, hexadecimal and binary;
number systems; representation of nega-
tive numbers; complementary systems;
binary multiplication and division.
Book 2: OR and AND functions; logic
gates; NOT, exclusive-OR, NAND, NOR and
exclusive - NOR functions; multiple input
gates; truth tables; DeMorgan's Laws;
canonical forms; logic conventions; Kar-
naugh mapping; three-state and wired
logic'.
Book 3: Half adders and full adders; sub-
tractors; serial and parallel adders; pro-
cessors and arithmetic logic units (ALUs);
multiplication and division systems.
Book 4: Flip-flops; shift registers;
asynchronous counters; ring, Johnson and
exclusive-OR feedback counter; random
access memories (RAMs); read-only
memories (ROMs).
Book 5: Structure of calculators; key-
board encoding; decoding display data;
register systems; control unit; program
ROM; address decoding; instruction sets;
instruction decoding; control program
structure.
Book 6: Central processing unit (CPU);
memory organization; character represen
tation; program storage; address modes
input/output systems; program interrupts
interrupt priorities programming; assem
biers; executive programs, operating
systems, and time-sharing.
OUR CUSTOMERS
Design of Digital Systems has been
bought by more than half the 50 largest
corporations in America, and by Motorola,
Intel, DEC, National Semiconductor, Fair-
child, General Instrument, Hewlett-
Packard, Heath Co., M.I.T., NASA, Smith-
sonian Institute, Bell Telephone Labs. And
many, many more, as well as corporations
and individuals in over 50 countries.
BASIC COURSE
Digital Computer I Digital Computer
Logkand iLogkand
Electronics I Electronics
8$_B>>
Digital Computer Logic & Electronics
CONTENTS
Digital Computer Logic and Electronics
is designed for the beginner. No mathe-
matical knowledge other than simple arith-
metic is assumed, though you should have
an aptitude for logical thought. It consists
of 4 volumes — each HV2" x 8V4" — and
serves as an introduction to the subject of
digital electronics.
Contents include: Binary, octal and
decimal number systems; conversion be-
tween number systems; AND, OR, NOR
and NAND gates and inverters; Boolean
algebra and truth tables; DeMorgan's
Laws; design of logical circuits using NOR
gates; R-S and J-K flip-flops; binary
counters, shift registers and half-adders.
NO RISK GUARANTEE
There's absolutely no risk to you. If
you're not completely satisfied with your
courses, simply return them to GFN within
30 days. We'll send you a full refund, plus
return postage.-
TAX DEDUCTIBLE
In most cases, the full cost of GFN's
courses can be a tax deductible expense.
PHONE ORDERS- FREE
To order by phone, call (603) 224-5580
with your credit card information. It won't
cost you a dime, because we'll deduct the
cost of your call from the price of the
courses you order.
TO ORDER BY MAIL
You may use the order form below if you
wish, but you don't need to. Just send your
check or money order (payable to GFN In-
dustries, Inc.) to the address below. If you
don't use the order form, make sure your
address is on your check or the envelope,
and write M DDS" (Design of Digital Sys-
tems). "DCLE" (Digital Computer Logic &
Electronics), or "both" (both courses) on
yourcheck.
There are no extras — no sales tax. And
we pay all shipping costs.
We also accept company purchase
orders.
AIR MAIL
The prices shown include surface mail
postage anywhere in the world. Air mail
postage costs an extra $10 for both
courses (10 volumes).
DISCOUNTS
Call or write for details of educational
and quality discounts, and for dealer costs.
SAVE $5
If you order both courses, you save $5.
Order at no obligation today.
fc
GFN Industries, Inc.
Bldg. 7-20
203 Loudon Road
Concord
NH 03301
Call (603) 224-5580 to
order by phone - free.
7 days, 24 hours
Order free by phone
No sales tax
No shipping charges
Money-back guarantee
Tax deductible
Save $5
To: GFN Industries, Inc., Bldg. 7-20, 203 Loudon Road, Concord, NH 03301
Please send me
sets of Design of Digital Systems $19.95 $
sets of Digital Computer Logic & Electronics $14.95
sets of both courses $29.90 „
Enclosed is check/money order (payable toGFN Industries, Inc.) for total $
NAME
ADDRESS
CITY/STATE/ZIP . R8
Circle 143 on inquiry card.
BYTE August 1979
115
these 3 forces, by designing input
functions that will sense them. I could
have made one system that would
sense force along a set of curved lines
representing direction, and another
that would sense force along a dif-
ferent set of curved lines crossing the
first set; a coordinate system without
any straight lines in it. This would
result if the sensors were nonlinear, as
we know they are. It would have
made no difference, except for the
fact that there would not have been a
simple label like X force to assign as a
meaning for the perceptual signals. It
would still be possible to specify 3
reference signals and thus set the 3
perceptual signals to specific values,
thereby creating a specific state of
tension in .all 3 tendons that would
automatically resist disturbances.
The way in which the external situa-
tion is represented is almost im-
material, as long as 3 reasonably in-
dependent perceptual functions are
created. There is no coordinate
system in the outside world. The
behaving system makes up one of its
own.
If there were sensors on each mus-
cle to detect muscle length as well as
force, we could add 3 more control
systems at level 1, and 3 more in-
dependent aspects of the external
world to control at level 2. In fact,
there are muscle-length sensors, and I
am working on several models that
take them into account.
If you now imagine 500 to 800
muscles involved with at least twice
as many level-1 control systems
(length and force surely; rate of
change highly likely), you will begin
to perceive the richness of the world in
which level-2 systems exist. Add to
this the millions of sensors for heat,
cold, vibration, joint angle, light,
sound, taste, smell, hunger, pain, ill-
ness, angular acceleration, joint com-
pression, and so on, and you might
begin to glimpse the complexity of the
real system we are modeling. Since
perceptions that arise from sources
other than direct effects of muscles
exist - in large numbers, there can
clearly be far more level-2 systems
than level-1 systems, although the
number of level-2 systems that can
Bowling
Bookkeeper
Tested in Actual League Use
for Two *
•> v;'\;, r ,r c ' - 'i
^ ^-'C^v.. r ..
? Vvtf
u$
c.C
IR€ tfOWHfig
age that does ever/thins that a first class league secretary
would do — and more. For example the Bowling Soak-
keeper will list each bowler's high series of the year and
each bowier^high game of the year every week,
The Bowling Bookkeepers prompts the user through each
part so even' a non-compute rite can easily use the package,
The Bawling Bookkeepers runs under standard CP/M*.
The entire Bowling Bookkeeper! system Which includes a start
up program, a score entering program; a posting program, and an
error recovery program costs $400. A complete computer system
consisting of an Altos 8000- 1 microcomputer, a MTcroterrn MIME
terminal, CP/M* operating system, and the Bowling Bookkeeper: is
available from COMPCO for under $5,000
"[Trademark of COMKO
''Trademark of Digital Research
$400 for Complete Package
Comp
CO
COMPUTER SPICIAUSTS
8705 North Port Washington Road Milwaukee/ Wis. 53217 414/351-3404
act independently at the same time is
limited by the total number of com-
parators available at level 1.
Perhaps you can now see why this
approach to a model of a human be-
ing (rudimentary is it is at this point)
has some powerful implications for
the building of robots. I suggest a for-
mal distinction between a robot (an
imitation of a living system) and an
automaton (a device which automati-
cally produces complex actions). An
automaton is designed to create pre-
selected movements; a robot is
designed to control preselected per-
ceptions (its own). In order for an
automaton to produce precise and
repeatable behavior, it must be built
so strongly that normal disturbances
cannot alter its movements, or it must
be protected from disturbances that
might interfere with its movements.
In order for a robot to create, for
itself, precise and repeatable percep-
tions (and thus precise and repeatable
consequences of behavior), it need
only perceive precisely, have a
sufficiently high error sensitivity, and
be capable of producing forces as
large as the largest disturbances that
might reasonably occur.
There is much more that can be
said about the general relationship of
one level of control to another, but
this installment has raised enough
points to ponder. To prepare for part
4, you should run this simulator and
observe what happens to all of the
variables in it. Try keeping the distur-
bance constant in magnitude and
rotating its angle; try altering the
muscle angles; change line 3 to use
different error sensitivities (G(x)) and
slowing factors (K(x)). Use the C
command for longer iterations, and
convince yourself that a steady state
has really been reached. See what
happens if the muscle tone isn't set
high enough (there is a very good
reason for muscle tone control). Do a
series of iterations with slowly chang-
ing reference signals, and plot muscle
tension against each reference signal.
Get the feel of this small extract of the
whole human hierarchy because in
part 4 we will widen the field of view
to include everything, and we will
begin to look at some experiments
with human subjects. These ex-
periments will be noninvasive,
nondestructive — more like video
games than science — but far more
useful than the games. ■
116 August 1979 © BYTE Publications Inc
Circle 56 on inquiry card.
SrM-
Z60
ml®-
IjOCrQ*
\9ssr
TH€V
?<>***
*\^
s^t J
s^ 2 - W*^
-fipo
a*^:
MPO 1
Son
■jj*-
gS»f
SB
€R€
■ H ; ". **% M '■■■'■ "l'& «*^" - A* 83 ** s * gigi—""
141 1^ Pads. 0ne aUiesaver;.^ bie ct codes progra rn) nd
1 .« Program* P *; e micro- a nn tnQ » ^ catt or revise y ecllon tap
r stvie *«*> "SiSS^'iS 65 ° 2 ° r Jesses. £ JjS* W**""* «,
improve **«g lorm «».«£ *, 6800 ^0 alo n 9
postage and Tl^— rr^SuR ban^ ° .»„ 2 sRo^5^!^- — m^^^tM
D Hot off the
^ ir^o^i — Osborne and Flssociates!
-~^" Z80 ASSEMBLY LANGUAGE PROGRAMMING
by Lance A. Leventhal
t off the press, here's the Z80 assembly language and its use in Lance Leventhal's
yrctpinc style. A parallel to his earlier book 6800 LANGUAGE PROGRAMMING, it covers
the Z80 instruction set in depth and programming techniques for its use. Included are more
than 80 sample programs in source and object code, Z-80 I/O devices and interfacing
Please use order form on page 161
for ordering the above books.
*fittention Dealers:
BITS PROGRAMMER PADS™ are
in great demand among microcom-
puter programmers and users
everywhere. We invite your in-
quiries. Please write or call today.
Please send me the following BITS PROGRAMMER PADS
□ Z80 □ 6800 □ 6502 □ 8080A □ 1802 @ $2. 50 each
Name
Add ress
City
State_
□ Check □ Master Charge □ Visa
Card #
Signature
■ Zip_
.Expires.
_pads $_
Post. &
Handl.
TOTAL
1 B2089
BYTE August 1979 117
TRS-80
AT LAST! HIGH-QUALITY SOFTWARE
AT MASS-PRODUCTION PRICES.
WORD PROCESSOR DOS & 16K $39
Be selective! Avoid 'word processor' converted from
another system. It is hard to load (an object program),
and the worst is you cannot store your text file in disk.
Our WORD-HI is the first word processor specifically
designed for TRS-80 that uses disk storage for text.
Written in BASIC. No special hardware, no text size
limit. Use for letters, manuals & reports.
MAILING LIST DOS & 16K $35
It lets you maintain data base and produce reports &
labels sorted in any field. 500 labels/disk. Random
access. 2-digit selection code used.
INVENTORY DOS & 16K $39
While others use inefficient sequential file, we use 9-
digit alphanumeric key for fast on-line random access.
Record has key, description, level, safety level, order
amt., unit cost & price, annual usage, location and
vendor code. Reports give order info, performance
summary, etc.
KEY RANDOM-ACCESS UTIL DOS & 16K $19
Lets you access a record by specifying a key. Features
hashing, blocking, buffering technique, auto I/O error
retry, etc.
DISKETTE DATA BASE DOS & 32K $49
You can use it to maintain a data base & produce
reports without any programming. Define fields, type,
screen & report formats on-line. Almost use up all 32K.
ACCOUNT manage client accounts & account
receivable. Remark fields for general use. Automatic
billing & transaction recording. 32K req. DOS $59.
SORT & LINKED-LIST ACCESS UTIL Lev. II
Unlimited # of sort-keys. All data type. Link & unlink a
record in a list. 4K. $10 each or $16 both.
CASSETTE WORD PROCESSOR Lev. II & 16K $29
Level I or II cassette software:
data base manager, inventory 16K $20 each
check balance & stock security 4K $10 each
or $15 both
Our competitors offer $99 cassette word processor,
$90 sequential 'on-memory' inventory, inflexible mail
system that does not produce report, 16K data base.
Compare all these basic features first. If still not
convinced, send $1 and 2 self-addressed stamped
envelopes.
MICRO ARCHITECT
96 Dothan St.
Arlington, MA 02174
Text continued from page 16:
Conditional Expressions
Clearly, the meaningful use of predicates and
recognizers requires the existence of language constructs
to modify the program flow. Such constructs are called
control structures. One basic control unit in LISP is called
the conditional expression. In M-LISP it is written:
[<p 1 >-<e 1 >;<p 2 >-<e 2 >;...t-<e M >]
The meaning of such a conditional expression is as
follows:
Each <p,*> is a predicate; the <e,->s are arbitrary
LISP expressions. We evaluate the <p ( >s from left
to right, finding the first which evaluates to true.
The value of the conditional expression is the value
of the corresponding <e { > . If none of the <p,> s
are true, then the value of the conditional is < e„> .
Notice that this last case is really forced upon us
since the last predicate is the constant t. It is com-
mon to read t used in this context as "otherwise."
We extend our M-LISP to S-LISP mapping to include this
new construct, mapping it to:
(COND (< predicate > T < expression! > T )
(<predicate 2 > r < expression > r )
( T< expression,, > T ))
The evaluation of a conditional expression is different
from the technique we have used in previous LISP in-
structions. Previously we have insisted that we evaluate
all of the operands in an instruction. In the conditional
expression, we evaluate the minimal part of the condi-
tional which gives us a true predicate; then we evaluate
the corresponding expression.
For example: (COND ((A TOM 'A) 'FOO) (T 1)) gives
value FOO, since (ATOM 'A) gives T. (COND ((ATOM
'(A)) 'FOO) (T 1)) gives value 1 since (ATOM '(A))
gives NIL.
We have introduced all the instruments in the LISP or-
chestra. Now it's time to make some music.
The Factorial Function
Our first example is the venerable LISP program to
compute the factorial function:
1 if n is
n! =nX(n-l)l if n=£0
We want to convert this description into a LISP
algorithm. The "if" structure can be converted into a con-
ditional expression, and we can name the new operation
fact. We assume our LISP machine has such a multiplica-
tion operation named times; we also assume the existence
of a simple subtract-by-one function, subl. Here's the
body of a factorial algorithm in M-LISP:
[eq[n;0l-l;
t— times[n;fact[subl[n]]]]
Notice the occurrence of the function name fact in the
118 August 1979 © BYTE Publications Inc
Circle 214 on inquiry card.
The problem will solve itself before we
get tired of reducing.
body; it is the name of the function we are defining, and
somehow we must associate that name with the body.
We symbolize that association using "< =". For
example:
fact[n]< =[eq[n ; 0] — l;
t— time s[n;f act [subl[n]]]]
Here is its pretty-printed translation in S-LISP:
(DEF FACT (N) (COND ((EQ N 0) 1)
(T (TIMES N (FACT (SUB1 N ))))))
The new ingredient in these definitions is the use of
recursion. A typical recursive definition has several
characteristics:
• The body of the definition should be a conditional
expression. A definition like foo[x] < =
baz[foo[bar[x]j] will cause nothing but grief. The
conditional expression will contain two basic parts:
the termination case and the general case(s).
• The termination case describes what to do when a
primitive data structure is recognized. We consider
the integers built from zero, using the successor
function, addl. Therefore, our termination case in
FACT involves recognition of 0, and terminates
with value 1.
• The general cases involve "composite" data struc-
tures. We can decompose a positive (composite) in-
teger down to zero by a sequence of subtract-by-
one operations. The essential idea is that reducing
the complexity of the argument in a recursive call
will thereby reduce the complexity of the problem.
That's an old trick; what recursion says is that we
can solve the original problem by reducing it to a
simpler case of the same problem. If we persist, the
problem will solve itself before we get tired of
reducing; it's like dieting.
Recursive definition is similar to inductive description,
like those we gave for defining lists or the M-LISP to
S-LISP mapping. The techniques involved in finding the
right inductive steps are similar to those involved in find-
ing the right decomposition in a recursive definition.
Recursive definition is a powerful descriptive technique;
fortunately it can also be implemented as a very efficient
computational mechanism.
Equal
For a further example, assume that we want to test the
equality of two lists, where equality means that each ele-
ment of two lists is identical and the order in which those
elements occur is identical. The identity relation also ex-
tends to sub-elements of lists. For example:
equal
(A BC) (A B C)
(A(B C)D) (A(B C)D)
()()
nonequal
(A BC)(AB D)
(A(B C)D) (A D(B C))
(A(B(C)D)) (ABC D)
Let EQUAL be an algorithm to compute this extended
equality; it will be recursive. Regardless of the complexi-
ty of objects, all we need to do is find the right way to
decompose them, and then pounce on the pieces. The
decomposition operators we have for lists are FIRST and
REST. We also have to stop the decomposition. In FACT
we tested for the occurrence of zero; in EQUAL we test
for the occurrence of an empty list, and since we are
assuming that elements of a list may either be sublists or
atoms, we need to test for the occurrence of an atom.
Let's try the simplest case first, the empty list:
(DEF EQUAL (X Y)(COND ((NULL X) ...?)
What should we do? If x is empty, then we will only have
equality if y is also empty, otherwise we will have an ine-
quality:
(DEF EQUAL (X Y)
(COND ((NULL X)(COND ((NULL Y) T)
(T NIL)))
...?)
Note that we embedded a conditional expression within a
conditional expression. Note also that the interior condi-
tional returns either T or NIL; but that's what we wanted
It's
M3GIC
for graphics!
NEW
ASSEMBLY LANGUAGE
3D GRAPHICS
FOR THE APPLE II . . .
Our 30 packages allow you to animate 3D or
2D data bases created with standard XYZ coor-
dinates. The two users manuals (90 pages total)
are written at different technical levels to give all
Apple users a quick understanding of access
and uses from BASIC and assembly
language. The small 8K memory
requirement lets you use the
subroutine with most of your
educational, scientific, and
game programs.
$45 (available August 25,
1979). Disc and relocat-
able cassette option
available.
We re open 9 to 6. Monday thru
Friday, centra! time. Give us a call.
The engineering & graphics people
(217) 367-0299
LOGIC
Box V, Savoy, I L 61874
Circle 353 on inquiry card.
August 1979 © BYTE Publications Inc 119
since EQUAL is to encode a predicate and T and NIL are
our representations of the truth values t and /. Note too
that we depend on the order dependence of the condi-
tional evaluation; we won't test the (NULL Y) expression
unless (NULL X) is true. We won't get to the ". . . ?" condi-
tion unless (NULL X) is false.
We can still have x non-empty, and y empty; let's take
care of that:
(DEF EQUAL (X Y)
(COND ((NULL X)(COND ((NULL Y) T)
(T NIL))
((NULL Y) NIL)
...?)
Now the "... ?" has been reduced to the case that both
lists are non-empty, and we can massage the pieces with
FIRST and REST. We look at the FIRST pieces; if they're
equal, then our decision on the equality of the original
lists depends on the equality of the remainders (or RESTs)
of the lists. If the FIRSTs are not equal, then we can stop
immediately with a false indication. This analysis yields
two cases: if the first elements are atomic, then use EQ to
check their equality; otherwise use EQUAL itself on the
first elements. Here we go:
(DEF EQUAL (X Y)
(COND ((NULL XXCOND ((NULL Y) T)
(T NIL))
((NULL Y) NIL)
((ATOM (FIRST X))
(COND ((ATOM (FIRST Y))(EQ X Y))
(T NIL)))
((ATOM Y) NIL)
((EQUAL (FIRST X)(FIRST Y))
(EQUAL (REST X)(REST Y)))
(T NIL))))
Reverse
So far our examples have been either numerical or
predicates. Predicates only require traversing existing
lists; we will certainly want to write algorithms which
build new lists. Consider the problem of writing a LISP
algorithm to reverse a list x. There is a simple, informal
computation: take elements from the front of x and put
them onto the front of a new list y. Initially, y should be
( ) and the process should terminate when x is empty.
For example, reversal of the list (A B C) would produce
the sequence:
X
y
(ABC)
()
(BC)
(A)
(C)
(BA)
()
(CBA)
The reverse function will build the new list by con-
catenating the elements onto the second argument of
rev ' :
reverse [x] < = rev ' [x;( )]
rev f [x;y]< =[null[x]-~y;
t^rev' [rest[x];
concat[first[x];y]]]
Since y was initialized to ( ) we are assured that the
resulting construct will be a list.
We leave it to the reader to translate this algorithm into
S-LISP.
Summary
Those of you who have already heard about LISP pro-
gramming know that LISP's two major characteristics
are: lots of parentheses, and strange function names like
car, cdr, and cadadr. By now you should at least under-
stand why the parentheses are used, if not totally under-
stand why the representation is a benefit rather than a
curse.
LISP's second characteristic is definitely a blemish.
More to the point, it's a commentary on the state of LISP
120 August 1979 © BYTE Publications Inc
Circle 33 on inquiry card.
NEECO
PET 2001 — 32K
PROUDLY ANNOUNCES THE NEWEST
PET MICROCOMPUTERS BY COMMODORE!
The PET™ is now a truly sophisticated
Business System with the
announcement of these Peripherals.
Tne Per*, incorporated win !he Floppy Disk and Prtnler
makes an ideal business syslon tor mosl professional
and specialized Irelds medicine, law, denial, research
n in ring loolmakiny pnnhng, educalion energy con-
servalion etc ThePET'" Business System a s a
managcmenl lool. delivers infotmal.on loall levels ol
Business previous'/ atiamableorily wiih ocirpmeni
many limes mere exponsive Tne PET " Business
System is one ol the most cost etfiaem business tools
loday il otters a wide range ol applications Irom logging
managcmenl strategy tn major corporations toorganaing
accounls and irivenlor/ conlrol ol small businesses Here
areiusl a Icwol lliecosl-savmg uses inthe corporation,
professional office or small Dusmess slock conlrol
purchasing forecasting, manufacturing costing customer
records, mailngl sis etc The PET". RoppyDiSkand
Printer, a compatible cosiness system a! a reasonable
pnee — Take a closer fooK at Ihese Penoherals
.;, tT- Y' Y"Y- v' if i \ i 4 1 to i^
LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE!
PRODUCT DESCRIPTION
PET 2001— 4K 4K RAM
PET 2001— 8K 8K RAM
PET 2001 — 16KN (Large Keys)16K RAM*
PET 2001— 32KN (Large Keys)32K RAM
PET 2023 PRINTER
PET 2022 PRINTER
PET 2040A
PET 2040
PETC2N
ROLL FEED
TRACTOR/ROLL
SINGLE FLOPPY
DUAL FLOPPY*
2nd Cassette
'The 16K/32K (large keyboard) units do not include a cassette drive. Order C2N Cassette.
2040 Floppy Drive requires a 16K or 32K unit. 8K RAM Retrofit available July.
PRICE
$ 595
$ 795
$ 995
$1295
$ 850
$ 995
$ 895
$1295
$ 100
AVAILABILITY
IMMEDIATE
IMMEDIATE
IMMEDIATE
IMMEDIATE
IMMEDIATE
IMMEDIATE
JUNE/JULY
IMMEDIATE
IMMEDIATE
ALL UNITS ARE FULLYTESTED BY NEECO BEFORESHIPMENT. ALL PET'S ARE
WARRANTEED (BY NEECO) FOR 1 FULL YEAR! NEECO IS A FULL CUSTOMER-
ORIENTED BUSINESS. PLEASE CALL FOR ADDITIONAL INFORMATION. ALL
UNITS ARE IN STOCK & READY TO SHIP. FULL SOFTWARE AVAILABLE!
FOR 8K PETS
(small keyboards)
.4 Megabytes of Disk
Storage for 8K PETS!
(Requires Expandamem)
400K-8S DISK SYSTEM INCLUDES RANDOM
ACCESS IN DOS-LOADS 20K IN 4 SECONDS!
24K Expandamem Memory s 525 $10Q^
32K Expandamem Memory -615 1^5/0
COMPUTHINK .4 & .8 MEGABYTE DISK
I DRIVES FOR THE NEW 16/32K PETS!
DISK SYSTEMS INCLUDE DISKMON OPERATING
SYSTEM IN ROM AND INTERFACE TO 16/32 PETS!
• Dual Minifloppy Drives with 200K per diskette side for total 400K.800K on hne
• 800K model accesses all 4 diskettesides via dual read and write arm system
• Dual Density Hardware and DOS loads 20K (with verification) in 42 seconds complete
• DISKMON (DOS) adds 17 commands to BASIC including Random Access and printer support
• System comes complete with plug in internal board containing 8K RAM. DOS. and Disk Controller
Hardware— Board plugs directly onto internal memory expansion pins
• System does not utilize IEEE or USER Port, system functions directly from memory port
• All DISKMON DOS commands reside interactively with BASIC— disk directory command and
format command do not interfere with program m RAM— DOS command were designed for
simplicity of use System was manufactured for heavy commercial use.
• System installs completely in less than ten minutes immediately ready for use
• M295 and s 1595 prices include all hardware, DOS. complete user manual, and demo/utilrty diskette.
• Available software includes PLM Compiler ( s 250). Relocatable Assembler ( l 70), Source-Editor
Program ( s 70). Autolink Linking Loader («70). and a complete Database system (Pagemate'495).
• Call or write for complete product information and specifications— User manual l 10.
(PRODUCT AVAILABILITY IS AUG/SEPT— CALL FOR INFO)
ALL 16/32K MODELS INCLUDE AN 400K-16N M295
INTERNAL PLUG-IN INTERFACE 400K-32N s 1295
BOARD CONTAINING DOS, 8K OF 800K-16N s 1595
RAM, AND CONTROLLER 800K-32N s 1595
CALL OR WRITE FOR A FREE COPY OF OUR NEW JULY CATALOG!
NEW CENTRONICS 730 PRINTER FOR PET!
• NEWEST TECHNOLOGY FROM CENTRONICS • 50 CPS • 80 CHARACTER LINE
• 10 CPI • 7x7 DOT MATRIX • HANDLES ROLL FEED, PIN FEED
L PAPER • UPPER & LOWER CASE— $ 1099 PRICE INCLUDES
~~ - INTERFACE TO IEEEPORT. AVAILABLE AUG/SEPT.
*1099
TRS-80 USERSI-THE
MODEL 730 IS AVAILABLE FOR USE WITh
THE TRS-80. PRICE
INCLUDES CABLE
only
$ 995
WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTS
CALLOR WRITE FOR OUR* FREE* SOFTWARE/HARDWARE DIRECTORY
ALL NEECO PETS CARRY A FULL ONE-YEAR NEECO WARRANTEE
NEECO
NEW ENGLAND ELECTRONICS CO., INC.
679 HIGHLAND AVE., NEEDHAM, MASS. 02194
MON. - FRI. 9:30 - 5:30, EST.
(617)449-1760
MASTERCHARGE OR VISA ACCEPTED
TELEX NUMBER 951021, NEECO
Circle 282 on inquiry card.
BYTE August 1979
121
DP SYSTEMS
SEMINARS
OF EXCELLENCE
LOCAL PERFORMANCE^
NETWORKS {^EVALUATION
IMAGE ,' Hjggg \ ^SOURCE 1
PROCESSING, PROCESSING ] SHAR | N G
J.- L ^
' ' ' ^
INCAPACITY 1 COMPUTER / QUEUEING N
[ PLANNING | CRIME * NETWORKS .
SIX DYNAMIC 3-DAY SEMINARS
BY THESE EXPERTS
DENNING
PERFORMANCE EVALUATION
WASHINGTON, D.C. ■ OCTOBER 3-5, 1979
FARBER-JENSEN
DISTRIBUTED COMPUTER ARCHITECTURE
WASHINGTON, DC. ■ OCTOBER 8-10, 1979
ANDREWS-
STOCKHAM-SAWCHUCK
DIGITAL IMAGE PROCESSING
WASHINGTON, D.C. ■ OCTOBER 24-26, 1979
BUZEN-
DENNING -ARTIS
CAPACITY PLANNING
WASHINGTON, D.C. ■ NOVEMBER 13-15, 1979
PARKER -ABBOTT
FIGHTING COMPUTER CRIME
SAN FRANCISCO ■ NOVEMBER 28-30, 1979
KLEINROCK
QUEUEING SYSTEMS
CHICAGO ■ NOVEMBER 28-30, 1979
Seminar Fee:
$675
Call or write today:
(213)476-9747
!£H!?we¥?¥U¥E=
P.O. BOX 49765, LOS ANGELES, CA. 90049 (213) 476-9747
programming, rather than the language. When we ex-
amine the very low level representation of LISP opera-
tions, we see that the primitive selection operations of
LISP data structure can be described as selecting either
the left or right branch of a binary graph. Car and cdr are
these selection functions, and cadadr is an abbreviation
for a composition of these operations. Since all LISP data
structures (in our simple subset, remember) must ulti-
mately be representable as combinations of atoms and
binary graphs, then all algorithms must ultimately be ex-
pressible as manipulations of graph structure involving
car, cdr, and a function to construct new graphs, cons.
Most LISP programs are constructed in just such a
fashion. The result is unsatisfactory from at least two
views. First, the programs become almost totally unread-
able. Instead of couching the data structure abstractly in
terms of the concept , recognizer: is dogfxj; selectors:
left eye[xj, tail[xj , . . . ; and constructor(s):
make dog[xi;...x n ] — , the programmer performs the
transformation mentally and gives us eq[cadr\x)\
DOG],cadaddr[x), and consfx; cons[z;y]...], which
borders on gibberish. Neither the programmer nor a
reader has much chance of remembering what is going
on.
An equally serious problem is that this style of pro-
gramming deeply intertwines conception and implemen-
tation. Given that a new representation of "dog-ness" is
required, the programmer must search out all areas of
program which use the arcane encoding and replace them
very carefully.
Essentially there are two solutions to this problem.
One solution is to require the programmer to spell out de-
tailed rules for data structuring a la Pascal. Of course
there's no reason to suppose that the programmer's abili-
ty to remain abstract will survive any better here. Indeed
since Pascal really supplies "abstract storage structures"
rather than "abstract data structures," along with the re-
quisite verbiage of a typed language, there are reasons to
believe that the programming process will suffer in the
long run. The alternative is to supply the programmers
with an exceptional programming tool and an under-
standing of abstraction, modularity and the power of
their tool. It may be naive to believe that programmers
can be self-disciplined, but the alternatives are not at all
attractive.
The other LISP articles in this issue explore detailed ex-
amples of LISP applications. Throughout these articles a
recurrent theme is the delicate balance between realistic
abstraction and overspecification. One of the real
wonders of LISP is that it allows you to work with ideas.
Traditionally, all LISP implementation problems have
been dealt with in software. An exciting alternative is to
build LISP machines in hardware, thereby raising the
programming floor to a much more acceptable machine
level than previously available. Several very healthy pro-
jects exist, from re-microcoded machines, through
specially constructed hardware, to experiments with very
large scale integration LISP devices. For those readers
who are interested in more details, several of these efforts
will be documented in an issue of the IEEE Transaction on
Computers later in 1979. It is clear to me that LISP is only
beginning to have an impact upon the computing com-
munity. ■
122 August 1979 © BYTE Publications Inc Circle 364 on inquiry card.
*m «j VII"'
^J^\ tor users of .
iJ^^SS-^Hl Lifeboat Associates, sp «'2 disk . b a Se d language and
SSli i.1"****-^^ TO» computer. Written
lly ,o convert system tapes lb ^ recover to disk.) mu
l* ities "iSSXte with single drive systems) $1«
(Program to transfer rue ope rate in
AH items i listed tttow op system
olot pius symbols file lor use by SID is coun( d
PORTRAN-80 ' ^^Sl
&fo* 7 «g%1 sag
ff^ InSreVcEPT/D.SPLAY. COP ^
mnemonics support^ Cross Referenc e List ^ ,e $l49/$l5
Library Manager anu _ . . , t tn or
wit h ma,l labels, HP . _ ^ _ ^
APARTMENT ^ff^aS^
management system rfata on vacancy ^^
STvfflM! mlin, Beoolres CB.SIC. SepP
' aWeS e nisk Kit -Template and instrocrions to n^y s-
r 93ZdWr Sekettee «or P ose ol second s,de >n s g $w5
gle sided a Processor.
ventory Payables R*$ patient . Require , CBASIC PP ^
^r^^^^!!^ —
cassette tape. ■
UfeboatAssoaate^
is proud to otter the first ^W^j computer. Wntten
u «y package for the , R die Sir j*Hft age ^
b Y Microsoft, creators of Leve J^ mQre drives an
a TRS-80 system w * 3 JJj on diskettes and consists of:
-rucnns The software is suppiieu un w=
ssssssssss*
I HIKING LOUDER » link-adil and
for execution
SUBROUTWE LIBRARY a = *
?"ary of subroutines -,ggm as ^^
linkable modules ggj^ston square
rofna"u^o 9 g :transce P n d enta, S ,etc.
B»?SJofAfB^^f
modify FORTRAN * n be used as a general
SSI'textfdSrcorrespondence
and other documents.
,N anueow""--
age with full documentation ^^ sysTEM
DISCOUNT PRICE OF ShKIJ
The Macro Assembler
1 oader Editor, and Cross Q -
Rete'enceUtilitiesalone.SQU
The Fortran Compiler, Loader
Id' or and extensive library of
Lifeboat Associates
2248 Broadway
New York, NY. 10024
Please eendUw«o»ow|W
Software
Telex: 668-585
.boat Associates
TIE
till 111
TM
(212)580-0082
User Manual, aUutcK-nc^
casS ette,a P . ,_ ^ trademarks of Tandy Corporation.
•Radio Shack and TRS au at ^^^^_
MINIMAX. THE COMPUTER TH
No microcomputer in the world can
match Minimax incredible feature for
incredible feature.
Simply stated, Minimax is the
most advanced, least expensive com-
puter ever created.
NEVER BEFORE HAVE THESE
FEATURES BEEN AVAILABLE ON A
MICROCOMPUTER AT ANY PRICE -
LET ALONE $4495.
More Memory. Minimax comes in two
sizes. Both with 108,544 bytes of semi-
conductor internal memory
In addition, the Minimax I has an
external storage capacity of 800k
while the Minimax II features an
enormous 2.4 megabytes of on-line
disk storage. It's the most memory for
the least money.
More Speed. Minimax's speedy 15,000
character per second data transfer
rate is substantially faster than any
other microcomputer.
Split screen combination of character
and graphic information.
More Graphic Resolution. Minimax's
screen has the highest resolution
graphics of any microcomputer.
122,880 (240x512) individual points,
each program addressable.
More Screen Capabilities. Minimax
offers the most advanced full screen
data entry and editing capabilities of
any microcomputer, They include
word or character insertion or deletion,
split screen modes, individual field
editing and automatic skip to
next field.
More Programability. Minimax
features exceptionally advanced soft-
ware development tools. The CPU
comes complete with 64 user
definable opcodes and ROM resident
software. Plus Microsoft BASIC, PLM,
DOS operating system, FIFTH
language interpreter, a machine
language monitor with Tiny
Assembler, Disassembler, Dump
Facility and Debugging Aid.
More Applications Software.
Minimax's superior software selection
allows you to perform most of the
common data manipulation, accounts
receivable, accounts payable,
general ledger, inventory, payroll and
software development functions with-
Circle 71 on inquiry card.
AT OUTCOMPUTERS THEM ALL
out expensive or time consuming
programming.
YOU GET 2.4 MEGABYTES
WITHOUT TAKING A BIG BITE OUT
OF YOUR BUDGET.
At 34,495 for the 800k Minimax I and
$5,995 for the 2.4M Minimax II, it is not
only incomparable feature for feature,
but dollar for dollar as well.
While these prices do not include
a printer, a wide range of character,
high speed and word processing
printers are available.
High resolution graphics for original
design development.
THERE'S MORE INSIDE A SINGLE
MINIMAX THAN MOST COMPUTERS
TWICE ITS SIZE AND FOUR TIMES
ITS PRICE.
Minimax's remarkable sophistication
also makes it remarkably versatile for
business, scientific or engineering
applications.
For business, everything from pay-
roll checks to accounting ledgers can
be instantly processed, printed
and filed.
Engineers, architects and
scientists can use the high resolution
graphics as a visual research and
planning tool.
Because of its comprehensive
software capabilities, software
engineers can develop finished
programs for other microcomputers
or the most sophisticated mainframes.
PEOPLE CALL IT INCREDIBLE.
WE CALL IT MINIMAX.
There has never been so much
capacity, flexibility and sophistication
built into a computer so affordable.
To obtain the complete Minimax
story — including ordering informa-
Complete business software packages.
tion — please send the reader service
card or contact us directly.
The more you know about
Minimax, the more incredible
it becomes.
WHAT MAKES ONE COMPUTER
BETTER THAN ANOTHER MAKES
MINIMAX THE BEST.
MINIMAX
Developed and Manufactured by
COMPU/THINK™ 3260 Alpine Road,
Menlo Park, CA 94025 (415) 854-2577
john d OWENS ASSOCIATES, inc.
12 SCHUBERT STREET (new address)
STATEN ISLAND, NEW YORK 10305
WE ARE KNOWN FOR OUR PROMPT, COURTEOUS SERVICE
TELETYPE MODEL 43
4320 AAA (TTL interface) $985
4320 AAK (RS232 interface) $1 ,085
with transformer to operate on 50Hz, 220v, installed inside cabinet add $50
We stock paper and ribbon for the Teletype Model 43
DEC LA 34
Low cost, convenient desk-top design. Feels and operates like a typewriter. 128 ASCII
character set. Switch selectable 110 and 300 baud rates. 30 cps. Adjustable character
widths and line spacing. Attractive 9x7 dot matrix. Includes RS232 interface $1,159
HAZELTINE
1500 (assembled only) $945
1510 $1 ,085
1 520 $1 ,425
with 50Hz, 220v current adaptation add $100
also available with Danish, German or French character sets add $60
INTERTUBE SUPER BRAIN $2,885
DUAL Z80, dual floppy, double density, 64K RAM 4Mhz., CP/M, FORTRAN, COBOL,
BASIC, Assembler Language. Contained in Intertube II.
INTERTUBE II $800
Smart terminal for intelligent users. Switch selectable 50 Hz option at no extra cost. With
220v transformer. Installed add $100
MARINCHIP SYSTEMS M9900 CPU — S-100 COMPATIBLE
Network operating system, PASCAL, Extended precision commercial BASIC, FORTH,
META and applications package. Complete kit and DISCEX software $550
Assembled $700
We configure systems to meet your budget and your needs. Hard Disk interface (with
software) available.
IMS MEMORY, 16K Fully static, 250 ns $346
TEI S-100 MAINFRAMES
12 slot — MCS 112 $433
22 slot — MCS 122 $528
These mainframes are completely assembled, tested and contain everything required
for plug-in operation.
KONAN HARD DISK CONTROLLER $1,550
S-100 compatible, plugs into S-100 mainframe. Controls 1-4 disk drives.
FUJITSU HARD DISK $5700
50 megabytes of unformatted data in a single, removable cartridge.
IMS 5000 SERIES, COMPLETE ZB0 SYSTEM $2,170
2 I/O ports, 1 K EPROM bootstrap loader, double density, dual 5 1/4 inch disks. S-1 00, 12
slot mainframe. A new rising star! No waiting.
PER SCI FLOPPY DISK DRIVES
299 DUAL DISK, 2 Sided $1,495
277 DUAL DISK, Single Sided $1,210
1170 CONTROLLER, Single/Double Density $1,015
2142 CABINET & POWER SUPPLY for 277 $300
2149 CABINET & POWER SUPPLY for 299 $390
MODEM: THE CAT from Novation $190
Originate/Answer. 300 baud.
TO ORDER: We ship within 24 hours after receipt of certified check, money order or
cashiers check. Credit cards: add 4%. Personal checks: allow ten days. $12 shipping for
terminals. $3 for memories, and modem. New York residents include sales tax.
- WE EXPORT TO ALL COUNTRIES -
— OVERSEAS CALLERS USE (212) 448-6298 ONLY —
john d OWENS ASSOCIATES, inc.
12 SCHUBERT STREET (new address)
STATEN ISLAND, NEW YORK 10305
— DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME! -
WE HAVE NO READER INQUIRY NUMBER, PLEASE CALL OR WRITE.
(212) 448-6283 (212)448-6298
Technical Fopum
Permutation
Bibliography
Eduardo Kellerman
IBM
Endicott NY 13760
In the article "Solving the Eight Queens
Problem " (October 1978 BYTE, page 122)
Terry Smith asked readers for information
on algorithms for generating permutations.
In April 1975, I compiled the following
bibliography on the subject (I have not
updated it since then). I think some readers
may find it useful.
I Generation of Permutations
Mark B Wells, "Generation of Permutations
by Transposition," Mathematics of Compu-
tation, volume 15, 1 961 .
Frank Harary, "Permutations with Restrict-
ed Position/' Mathematics of Computation,
volume 16, 1962.
J R Howell, "Generation of Permutations
by Addition," Mathematics of Computation,
volume 16, 1962.
Selmer M Johnson, "Generation of Permu-
tations by Adjacent Transposition," Math-
ematics of Computation, volume XVII,
number 83, July 1963.
D H Lehmer, "The Machine Tools of Com-
binatorics" in Applied Combinatorial Math-
ematics, edited by E F Beckenbach, John
Wiley and Sons Inc, New York.
G G Langdon Jr, "An Algorithm for Gen-
erating Permutations," Communications of
the ACM, volume 10, number 5, May 1967.
M Renaud and S Regnier, "Programme de
Permutations," Revue Francaise a" Informa-
tique et de Recherche Operationell, May-
June 1967.
D Pager, "A Number System for the Per-
mutations," Communications of the ACM,
volume 13, number 3, March 1970.
126 August 1979 © BYTE Publications Inc
E Kellerman, "Method for Generating
Permutations, " IBM Technical Disclosure
Bulletin, volume 13, number 8, January
1971.
Kazuaki Harada, "Generation of Rosary
Permutations Expressed in Hamiltonian
Circuits," Communications of the ACM,
volume 14, number 6, June 1971.
B R Heap, "Permutations by Interchanges,"
source unknown.
D J Lorch, "Permutations of N out of M,"
personal communication, July 18 1972.
Ronald C Read, "A Note on the Generation
of Rosary Permutations," Communications
of the ACM, volume 15, number 8, August
1972.
C T Fike, "A Permutation Generation
Method," IBM Technical Report TR73.002,
Systems Research Institute, New York.
Mohit Kumar Roy, "Reflection-Free Per-
mutations, Rosary Permutations, and Adja-
cent Transposition Algorithms," Communi-
cations of the ACM, volume 16, number 5,
May 1973.
R A Davis, "Permutation of Bits in a Bit
String," IBM Technical Disclosure Bulletin,
volume 16, number 5, October 1973.
E Kellerman and D J Lorch, "Generation of
Permutations and an APL Implementation,"
IBM Technical Disclosure Bulletin, volume
15, number 5, October 1972.
M M Halpern, "Permutations," Proceedings
of the Fifth International APL Users Con-
ference, May 15 thru 18 1973 (Canadian
Printco Limited).
B M Zlotnik, "An Algorithm of Permutation
Enumeration,"/! vtomatika i Vychislitel 'naya
Teknika, number 2, 62, 1972.
S Even, Algorithmic Combinatorics, Mac-
millan, New York, 1 973, pages 2 thru 1 1 .
C K Wong and D Coppersmith, "The Genera-
tion of Permutations in Magnetic Bubble
Memories," IBM Technical Report RC5174,
IBM Research, December 1974, Yorktown
Heights, New York.
B M Zlotnik and V S Kogan, "A Method of
Transforming Permutation n!-Codes," Avto-
matika i Telemekhanika, number 1, January
1975, pages 139 thru 142.
E W Stacy, "Exact Evaluation of Determi-
nants Via Permutation Arrays," IBM Tech-
nical Disclosure Bulletin, volume 18, number
9, February 1976.
F M Ives, "Permutation Enumeration:
Four New Permutation Algorithms," Com-
munications of the ACM, volume 19, num-
ber 2, February 1976.
Nachum Dershowitz, "A Simplified Loop-
free Algorithm for Generating Permutations,"
BIT 1 5 1975, pages 158 thru 164.
Algorithms in the Communications of the
ACM: 71, 86, 87, 102, 115, 202, 235,
242, 250, 306, 307, 308, 317, 323, 362,
383.
Algorithms in the Computer Journal:
6, 27, 28, 30.
:
Technical Forum is a feature intended as an interactive
dialog on the technology of personal computing. The subject
matter is open-ended, and the intent is to foster discussion
and communication among readers of GV7"£. IVe ask that all
correspondents supply their full names and addresses to be
printed with their commentaries. We also ask that corres-
pondents supply their telephone numbers.
TTL- HIT
1 00 Prime Pieces of the most needed TTL (7400
series) contained in a unitized steel cabinet with
24 transparent doors. All packed and clearly
labeled. Ready to use.
You get 20 different types (5 of each) or buy the
"Designer TTL Kit", 40 different types (5 of
each), 200 pieces of hard to find TTL neatly
packaged for your project.
aqss
(+3.50 shipping)
The TTL Kit
(20 types, 5 each, 100 total) $39.95
(+3.50 shipping)
Double TTL Kit
(20 types, 10 each, 200 total) $69.95
(+4.50 shipping)
Designer TTL Kit
(40 types, 5 each, 200 total) $1 19.95
(+4.50 shipping)
ELECTRONIC PACKING COMPANY
Box 581 • Greenfield, IN 46140 *
(317)462-9511 • Dealer inquiries invited
Circle 121 on inquiry card.
August 1979 © BYTE Publications Inc 127
Technical Fcnism
TI Has Faster Solutions
Marvin A Larson, 345 Birchwood Dr, Moraga CA 94556
Before reading Mr Arp's article, "The Power of the
HP-67 Programmable Calculator, Part 2" (April 1979
BYTE, page 176), I was under the impression that the
Hewlett-Packard HP-67 and the Texas Instruments TI59
programmable calculators were about equal in function,
utility, and calculating power. Both are "top of the line"
although the HP-67 costs about 70% more than the TI59.
The procedures used by Mr Arp in writing his simul-
taneous equations program can be applied, with minor
reprogramming, to the TI59. The resulting program
would then be capable of solving 29 simultaneous equa-
tions in 29 unknowns, as opposed to 9 equations in 9
unknowns with the HP-67.
The TI59 can use up to 100 data storage registers, com-
pared to 26 registers for the HP-67. It can read/write data
from /to magnetic cards in banks of 30 values. Each card
can thus contain the 29 coefficients and one constant term
for one complete row of the solution array.
The Library Module supplied with the TI59 contains a
program for solving simultaneous equations which will
solve up to 8 equations with 8 unknowns, as compared to
4 equations with 4 unknowns for the HP-67.
Mr Arp did not tell us how much time is required to
solve the set of 9 equations given in his listing 4 (page
186), or the resultant accuracy of the solution. It appears
to involve one hundred or more read/write operations
from/to magnetic cards, a considerable amount of exter-
nal manual bookkeeping to keep track of the cards, hand
copying of coefficients, and the like. My guess is that
solution time is about 90 minutes, provided the wrong
card does not slip in. With regards to accuracy, Mr Arp
gives his solution results with 6 digit values, but does not
state the closure error on back substitution in the
original equations.
For comparison, I tried the library program in the
TI59. To reduce the problem to eight equations instead of
nine, I deleted cell 9 in figure 1 (page 180). This has the ef-
fect of deleting the ninth coefficient of the first eight equa-
tions and the entire ninth equation of table 1 (page 180).
This was my first experience with using the TI59 to
solve simultaneous equations, so I read the instructions
carefully. Then I timed the operation. From the beginning
at the start of data entry, to the end after all eight
unknowns had been copied down, the procedure took
just 13 minutes.
All answers came out as 10 digit numbers. On back
substitution all equations closed out with a maximum
error of 4.6E — 9 and a mean absolute error of 2.2E — 9.
Most of the functions and operations on Mr Arp's "wish
list" are already available on the TI59. He would be well
advised to check out the TI59.
Incidentally, Texas Instruments software isn't always
quite as good as its hardware. The TI59 has sufficient
computing capacity to solve 10 simultaneous equations in
10 unknowns with the program entered from magnetic
cards, and 11 equations in 11 unknowns with the pro-
gram resident in a library module. This is with a full set
of equations with non-zero values for all coefficients.
6809 Commentaries,
Continued...
Don't Be So Superficial!
Jim Howell 5472 Playa Del Rey, San Jose CA 95123
I would like to correct some statements made by David
Kemp concerning the 6809 microprocessor in "Compare
New Microprocessors Carefully" (Technical Forum, May
1979 BYTE, page 213).
The 6809 has several more 16 bit instructions than
those mentioned by Mr Kemp (ADDD, SUBD, and
CMPD). The CMPX, CMPY, CMPS, and CMPU instruc-
tions compare the X, Y, S, or U register with (up to) 16
bits of data. The ABX instruction adds B (8 bits, unsign-
ed) to X (16 bits) putting the 16 bit result into X.
D
■o KIM ANALOG INPUT
Analog to Digital Conversion System for the KIM Computer
Give the KIM the ability to
measure* and control tfte uorld around
it with DAM SYSTEMS modules. Just. Plus*
the KIMSET1 into the KIM to Set 16
channels of anelos input. Screw
t-eriiiinals are provided for each channel
so you can hooK uf- Joysticks* potsi or
whatever appropriate sensors you h*a>^&.
Each of t-he 16 analoa inputs* in
the ranQe of t.o 5.12 volts* is
converted to a decimal nuniber between O
and 255 (20 millivolts per count.).
Conversion time is 100 niicrosconds.
The K1MMOD provides one user port,
as well as a DAM SYSTEMS port-
Software is provided.
n i hou
«£3Cf
] .*. huMUHijh
1-AIM161
1-KIMMOD
1- CABLE A24
1-MANM0DI
1-P0W1
KIMSET1
- 1 6 ANALOG INPUTS - 8 BITS - 1 00 MICROSEC
- 24 INCH INTERCONNECT CABLE
POWER MODULE
KIMSETIa for 110 VAC $ 28S
KIMSETIe for 230 VAC $299
Ord«r direct or contact your localcompunr store.
CONNECTICUT microCOMPUTER , Inc.
150 POCONO ROAD
BROOKFIELD, CONNECTICUT 06804
TEL: (203) 775-9659 TWX: TLX: 7104560052
128 August 1979 © BYTE Publications Inc
Circle 78 on inquiry card.
The major 16 bit arithmetic instruction of the 6809,
however, is the Load Effective Address instruction. This
instruction is actually four instructions: LEAX, LEAY,
LEAS, and LEAU, depending on which register gets the
result of the arithmetic. This instruction computes an ad-
dress in the same way as the indexed addressing mode,
but puts the resulting address into a register (X, Y, S, or
U). Load Effective Address adds any one of the registers
X, Y, S, U, or PC to any of the following: a signed im-
mediate value (5, 8, or 16 bits), the sign-extended A or B
register, or the D register (A and B together as a 16 bit
register), and puts the result in any of X, Y, S, or U — not
necessarily the same as the source register. The PC (pro-
gram center) can actually be the destination for such a
calculation using the branch instruction with the indexed
addressing mode. I think Mr Kemp is exaggerating when
he states that the user pays "heavily" for the generality of
being able to transfer (or exchange) any register with any
(like-sized) register. The designers of the 6809 included
instructions to transfer and exchange between any pair of
the four 8 bit registers A, B, DP (direct page), and CC
(condition code), and between any pair of the six 16 bit
registers X, Y, S, U, D, and PC. Excluding transfers or ex-
changes of a register with itself, this gives 42 different
transfers and 21 different exchanges. (TFR A,B and TFR
B,A are different but EXG A,B and EXG B,A are the
same.) Each of these is a 2 byte instruction, the first byte
specifying transfer or exchange, and the second byte
specifying those registers which are involved. It would
have been possible to provide a (small) subset of these
transfers and exchanges as 1 byte opcodes at the expense
of making some other instructions longer. Transfers and
exchanges not provided for in this scheme would take at
least two instructions and two bytes (probably three of
each for exchange) and would operate more slowly than
the 2 byte transfer or exchange. If some transfers and ex-
changes are allowed and others are not, the assembly
language programmer also has to remember which ones
these are. Either scheme of register transfers and ex-
changes would have been possible, but since these in-
structions are not that common in programs (falling into
the "11.3% other" category), I think the designers of the
6809 made the better choice.
I cannot comment much on the 6516 mentioned by Mr
Kemp, since my knowledge of that processor is limited to
what he wrote in his letter. (Are you sure that's an 8 bit
processor?) The comparison of number of cycles, used in
the letter, is valid only if the cycle times of the two pro-
cessors are the same (or are related in a known ratio). In
any event, comparing cycle times of some isolated in-
structions does not necessarily indicate the relative speeds
of the two processors on real programs. The 6516 may
have 16 bit AND, OR, and XOR instructions, but how
often would these be used? As for Mr Kemp's comment
that the 6809 "costs more" (more than other 8 bit pro-
cessors?) because it uses a larger piece of silicon and has
more logic gates than other 8 bit processors, how much
will a $20 difference in microprocessor cost make in the
final product cost? Besides, doesn't the 6516 "suffer" from
this same cost problem?
6809 Commentaries,
continued
Richard F Serge, 655 Lewisville-Vienna Road,
Lewisville NC 27023
Never, until now, have I been compelled to respond to
any magazine article I have read. I refer to David Kemp's
commentary "Compare New Processors Carefully" (May
1979 BYTE, page 213).
As a designer of microprocessor systems I have follow-
ed the instructions in the title of Mr Kemp's article with
great care. In comparing the 6809 with other processors
in its performance range, it may take an hour or so of
comparing data sheets to get a feel for the typical hard-
ware required, the addressing modes available, the
relative execution times, and the number of bytes re-
quired for the more common instructions. To stop at this
point and decide which is "best" is the equivalent of flip-
ping a coin. At this point several passes through the
programming manuals are required, along with a study
of any other literature pertaining to the processors in
question.
Only after a designer has a thorough understanding of
the processors' instruction set and addressing modes, and
how to efficiently utilize these features, can the task of
careful comparison begin. Recalling past design projects
AIM 65
AIM 65 is fully assembled, tested and warranted. With the addition of a low cost, readily available power
supply, it's ready to start working for you. It has an addressing capability up to 65K bytes, and comes
with a user-dedicated 1K or 4K RAM.
• Thermal Printer
• Full-Size Alphanumeric Keyboard
• True Alphanumeric Display
• Proven R6500 Microcomputer System Devices
• Built-in Expansion Capability
• TTY and Audio Cassette Interfaces
• ROM Resident Advanced Interactive Monitor
• Advanced Interactive Monitor Commands
PRICE: $375.00
(IK RAM)
Plus $4.00 UPS (shipped in U.S. must give street address), $10 parcel post to APO's, FPO's, Alaska,
Hawaii.Canada, $25 air mail to all other countries
We manufacture a complete line of high quality expansion boards. Use readerservicecard to be added
to our mailing list, or U.S. residents send $1.00 (International send $3.00 U.S.) for airmail delivery of our
complete catalog.
ENTERPRISES
INCORPORATED
2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564
Circle 324 on inquiry caro.
August 1979 © BYTE Publications Inc 129
Circle 211 on inquiry card.
T M
rUlAEBAR/l
KEYED FILE MANAGEMENT
Put data at your fingertips. . .easily accessed, displayed and
updated by key. Designed to meet all of your data management
needs. MAGSAM™ allows you to quickly implement sophisticated
keyed file structures through simple CBASlC statements.
Standard MAGSAM ,M featuresincluderecordretrieval with random
by key, sequential by key. and generic ("wild card") search, and
complete compatibility with all CBASlC file facilities. Each
MAGSAM™ Package includes the MAGSAM™ file manager.
MAGSAMX™ tutorial program. MAGSAMD™ file dump utility, User
Guide. Reference Card, and one year update service.
Select the version of MAGSAM™ that meets your requirements. All
versions of MAGSAM™ are completely upward compatible and
may be upgraded at any time for the price difference.
• MAGSAM III™ — Most advanced version. Multiple Key support
(any number of keys), and Record and Key Deletion with automatic
reclamation of disk space $145t
• MAGSAM IT" — Single Key support with full Delete
capability $99t
• MAGSAM I™ — Entry level version. Single Key support without
Delete capability $75f
• User Guide only - comprehensive tutorial and reference
manual $15
Available for 8" soft sector. Micropolis. and TRS-80disk formats.
Requires CP/M* or derivative and CBASlC. Distributed as CBASlC
subroutines in source form.
Visa and Masterchagre welcome. Dealer and OEM inquiries
invited.
fUlAG
Micro applications Group
7300 CALDUS AVENUE
VAN NUYS. CA 91406
* Trademark of Digital Research, f Single site license
and how they could have been implemented on the pro-
cessors being compared is an excellent way to make a fair
comparison (not just one or two projects, but several).
The real test is laying out $30 K for a couple of develop-
ment systems and actually doing it, but....
The procedure which I have outlined is more of a study
than a comparison. It takes a long time, and a concen-
trated effort to be fair right up to the end.
Although I disagree with most of Mr Kemp's article, I
take special issue with the light regard he appears to have
concerning the multitude of various addressing modes of-
fered by the '09. The difference between having and not
having just one of these modes can very easily alter the
entire design of a software package, making the execution
times of even most instructions seem like trivia compared
to what can be saved. Being able to write recursive, posi-
tion independent code with the '09 should also weigh
heavily in any comparison being attempted with the '09.
There is another point I would like to clarify. Mr Kemp
states that "many 6809 instructions require 4 bytes to
specify." Many readers may have gone away thinking
"most," rather than "a few," since no further explanation
followed. Motorola says that they chose these 4 byte in-
structions as some of the lesser used op codes, and I find
that these 4 byte instructions occur about once per page
of assembly listing (typically 50 lines of code). The vast
majority are 2 bytes.
I have been designing with the 6809 (a real part) since
mid-March 1979. The reason: it is the most powerful 8 bit
MOS microprocessor. And I do not work for Motorola. ■
Turning programmers into composers!
Buy this book at your favorite computer
bookstore or order direct from BYTE BOOKS.
Add 60 C per book to cover
postage and handling.
For the first time hard-to-obtain computer
music has been collected into one con-
venient, easy-to-read book The BYTE
Book of Computer Music combines the
best from past issues of BYTE magazine
along with exciting new material.
This fascinating book, edited by
Christopher P. Morgan, includes articles
discussing four-part melodies, a practical
music interface tutorial, electronic organ
chips, and a remarkable program that
creates random music based on land
terrain maps.
$10.00
ISBN 0-93171841-2
70 Main St., Peterborough, NH 03458
130 August 1979 © BYTE Publications Inc
Circle 36 on inquiry card.
ikMf\i
OMj
Announcement I. The first eight Personal
Programs® from Aladdin Automation are
NA/aiting for you now at your neighborhood
computer retailer or direct from Aladdin.
Now you can get your full share of Aladdin
magic in every one of these Personal
Programs® :
Math-Ter-Mind® A delightful,
educational learning experience
for your pre-school child. Watch
the smile on your child's face as a correct
answer makes the mathematician smile on the
screen before you. A nursery song also serves
as a reward for learning elementary addition
and subtraction. With Aladdin's Math-Ter-
Mind® your child's pathway to learning will be
fun-filled . . . for both of you. Math-Ter-Mind®.
The first release from the Aladdin Education®
Series, (nursery song currently available only
on Apple II® program)
Lunar Lander In a controlled
descent, you're just seconds away
from your first landing on the cold,
forbidding surface of the moon. As you
navigate your delicate spacecraft downward to
the safety of Moonbase, you must be ever
watchful of the dangers rising to meet you with
each passing moment: a fuel level fast
approaching zero; deadly meteor showers that
come from any direction, at any time; sheer-
faced rock cliffs and rough terrain; choosing
the correct landing pattern and rate of descent.
Aladdin's Lunar Lander. Your chance to reach
out and touch the stars . . . without leaving the
safety and comfort of your own chair. The first
release from the Aladdin Simulation® Series.
Craps All eyes in the casino are
on you. The dice are in your
hands. Lady Luck sits at your
shoulder, whispering . . . "Just one more time.
Try your luck just one more time." You throw
. . . and watch the dice tumbling on the
screen. With Aladdin's Craps you play against
the computer, so it's awfully tough to win. But
when you do. it's an experience you're likely
never to forget. Craps. An exciting, heart-
pounding Personal Program®. The first release
from the Aladdin Las Vegas® Series.
Mastermind A challenging game
of intrigue, centuries old. that will
giveyou full chance to test your
powers of logic, deduction and reason. And
test them you will, as you try and solve the
computer's puzzle, using clues as they're
provided one-by-one. You control the degree of
difficulty in this classic Personal Program® that
offers one simple, yet all-consuming challenge:
beat the Mastermind in a direct, one-on-one
battle of wits. Aladdin's Mastermind. The first
release from the Aladdin Old Favorites® Series.
Tic-Tac-Toe Five different levels
of difficulty allow a person of any
age or skill to takepart in this
relaxing, enjoyable game that can act as a
learning tool, as well. Level I. for example, is
suitable for children and is excellent also for
teaching simple mathematics. The computer
plays just about perfectly at Level V. Just
about, that is. so go ahead and take your best
shot. See if you can beat the computer in this
traditional favorite of young and old alike.
Tic-Tac-Toe. Another first release from the
Aladdin Old Favorites® Series.
Jungle Island® Shipwrecked in a
raging storm at sea, miraculously
you survive only to find yourself
stranded on a seemingly deserted jungle
island. Without food, water or supplies of any
kind, you begin to try and find your way to
safety. The computer will be your eyes and
ears as you explore your jungle island and all
the mysteries and dangers that lie in wait for
you. Jungle Island®. A captivating first
release from the Aladdin Adventure® Series.
Stix® Aladdin's Stix® can be
played with 2 to 5 piles of sticks
and between 1 and 1 9 sticks in
each pile. The object: to be the one to pick up
the last stick. Sounds simple? Yes. but you're
playing against the computer. Take heart,
though, because you can control the degree of
difficulty in this update of the ancient game of
Nim. Stix®. Another first release from the
Aladdin Old Favorites® Series.
Super Pro Football® Here's your
chance to be more than just an
armchair quarterback. With
Aladdin's Super Pro Football® you can replay
any Super Bowl game, from the first, between
Green Bay and Oakland, to last year's classic
victory by Pittsburgh over Dallas. For once you
can turn back the clock and go for that one big
play that made the difference between victory
and defeat in pro football's biggest game of all.
Super Pro Football®. The first exciting release
from the Aladdin Super Pro® Series.
Visit your neighborhood computer retailer or
contact Aladdin direct to get your full share of
the magic in Announcement I. the first eight
Personal Programs® from Aladdin Automation.
Mat h-Ter- Mind® Lunar Lander Craps
Mastermind Tic-Tac-Toe Jungle Island® Stix®
Super Pro Football®
Welcome to the All-New World of
Aladdin. And Get Ready to
Make Your Own Magic
Al/VD*\ AJTOM/TTION, nc
/LMxm COMPUTE? CORR
3420 Kenyon Street. Ste. 131, San Diego. CA 9211C
Copyright 1 978 by Aladdin Automation
Design and copy by Campbell Marsh Graphic Communications
Circle 3 on inquiry card.
BYTE August 1979 131
The Design of an M6800
LISP Interpreter
S Tucker Taft
Harvard University Science Center
1 Oxford St
Cambridge MA 02138
The primary data structure is the list.
Anyone exposed to small computer systems has used a
language interpreter of some sort, and certainly may
have thought about implementing their own interpreter.
Unhappily, implementing an interpreter for a complete
version of most computer languages is a difficult and
time-consuming job, unsuitable for a part-time personal
computer enthusiast. The language LISP provides a uni-
que opportunity in this respect. The foundation for a
very complete interpreter can be programmed by a single
person in several months of part-time effort. As a bonus,
the resulting interpreter provides the user with a high
level language in which to express algorithms.
The Language
From the user's point of view, the primary data struc-
ture in LISP is the list. Every element of a list is either an
atom or another list. An atom is a primitive named ob-
ject, the name being an arbitrary string of characters:
ABC is an atom.
135 is an atom.
(ABC 135) is a list of two elements, both atoms.
((ABC 135) XYZ) is a list of two elements, the first
of which is a list, the second is an atom.
( () () ) is a list of two elements, both being lists of
zero elements. A list of zero elements, the null list, is
identified with the atom NIL.
The feature of the language LISP which makes it at the
same time a uniquely interesting language, and relatively
About the Author
Tucker Taft first programmed a computer in 9th grade. He spent the
following summers at various programming jobs until he graduated
fromHarvard in 1975 with a degree in chemistry. Since his graduation,
Tucker has spent two years as the full-time systems programmer for
Harvard's Student Timesharing System, combined with teaching some
introductory computer courses at Harvard.
Tucker is now starting a microcomputer software consulting business
based on a multilanguage compiler being written in LISP. In what is left
of his free time, he is found on a squash or tennis court, in a Cambridge
coffee shop, in a bookstore, or in a Chinese restaurant.
easy to implement, is that all program elements are
represented using these same kinds of objects: atoms and
list. Constants, variables, expressions, conditionals, even
function definitions are all represented using only atoms
and lists.
A value is associated with each atom, allowing atoms
to represent program variables and constants. A sym-
bolic atom, like XYZ, would represent a variable. A
numeric atom, like 237, would represent a constant.
Operations on variables and constants, like addition,
or a function call, are represented by list expressions:
(ADD 2 5) would represent the expression 2 + 5.
(SIN (MUL 2 Y)) would represent the expression
sin(2y).
Conditionals, loops, and function definitions are also
represented by list expressions, as illustrated by this
recursive function implementing Euclid's greatest com-
mon divisor algorithm:
(DEF GCD (LAMBDA (X Y)
(COND
((GREATER X Y) (GCD (SUB X Y) Y))
((GREATER Y X) (GCD X (SUB Y X)))
(TX)
)
))
This would be equivalent to the Pascal program:
function gcd(x,y: integer) : integer
begin
if x> y then gcd ; = gcd(x-y, y)
else
if y>x then gcd := gcd(x, y~x)
else
gcd : = x
end.
An important difference to note in the above com-
parison is that no explicit assignment to a function return
value is made in LISP, whereas in Pascal one must ex-
plicitly say gcd := ... to specify the return value. In
Pascal, and most other procedural languages, a distinc-
tion is made between program statements and expres-
sions. In such languages some program statement must be
132 August 1979 © BYTE Publications Inc
ONE PACKAGE DOES IT ALL
Includes these Application Programs . . .
Sales Activity, Inventory, Payables, Receivables, Check/Expense Register,
Library Functions, Mailing Labels, Appointments, Client/Patient Records
'MICRO-AP MICRO-AP MICRO-AP MICRO-
>-AP MICRO-AP MICRO-AP MICRO-AP MICR
P MICRO-AP MICRO-AP MICRO-AP MICRO-
:RO-AP MICRO-AP MICRO-AP MICRO-AP MICR
O-AP MICRO-AP MICRO-AP MICRO-AP MICRO-
.ICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR
CRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-
.P MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR
, MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-
>-AP MICRO A P MICRO-AP MICRO-AP MICRO-AP MICR
MICRO-AP MICRO-AP MICRO-AP MICRO-
\P MICRO-AP MICRO-AP MICRO-AP MICR
MICRO-AP MICRO-AP MICRO-AP MICRO-
\P MICRO-AP MICRO-AP MICRO-AP MICR
MICRO-AP MICRO-AP MICRO-AP MICRO-
\P MICRO-AP MICRO-AP MICRO-AP MICR
-AP MICRO-AP MM f ■ " | M ^» ■°' AP MICRO-AP Ml
;ro-ap MiCRO-AF«B[^F^^^jBBfc^^B B;ro-ap micro-ap *
-AP MICRO-AP »■■ ■ > ; ■ BO-AP MICRO-AP Ml
;ro-ap micro-af* ^m^- mv- ; "T^B^^" Kro-ap micro-ap t
-AP MICRO-AP Mll^^^Ml BO-AP MICRO-AP Ml
IRO-AP MICRO-AM KRO-AP MICRO-AP t
-AP MICRO-AP Ml JO-AP MICRO-AP Ml
:ro-ap micro-af« B:ro-ap micro-ap p
-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml
;RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP I
-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml
:RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP t
RANDOM, MULTI-KEY RECORD RETRIEVAL under CP/M, CDOS, IMDOS, ADOS
SELECTOR III ALLOWS
INSTANT RECALL OF ANY
RECORD USING ANY IN-
FORMATION ITEM IN THE
RECORD. That statement
deserves re-reading, be-
cause that ability makes
SELECTOR III the most
powerful Date Base Man-
agement System in micro-
computers today!
With SELECTOR III
you can...
• define a record format,
assign retrieval keys, and
begin entering data in min-
utes.
• create sorted pointers to
records matching your spe-
cif or range of requirements.
Circle 213 on inquiry card.
• automatically generate
reports with control-break
summaries and unlimited
variety.
•bring an application on-
line in hours instead of
months.
SELECTOR III comes com-
plete with eight application
programs that perform the
tasks listed at top of page.
And, since it's distributed in
source code form, you can
easily add subroutines to do
specific computations or
file updates.
SELECTOR III runs under
CBASIC Vers. 1 or 2, and is
priced at $295. SELECTOR
III-C2 is dedicated to Vers. 2
only, runs about twice as
fast, and costs $345.
Both systems are available in
a variety of CP/M, diskette
size and density formats
including IBM 8"; North Star;
Micropolis; TRS-80; Pro-
cessor Tech Helios II; Altair;
iCOM; Dynabyte; Imsai;
and others.
Available from computer stores nationwide:
LIFEBOAT Associates
2248 Broadway, Suite 34,
New York, N.Y. 10024 • (212) 580-0082
Or order direct from
MICRO-AP
9807 Davona Drive, San Ramon, CA 94583
(415) 828-6697
BYTE August 1979 133
(ABC) IS BUILT UP OUT OF THREE OOTTEO PAIRS
[ """"I
A _
( J(KLM)N) IS BUILT UPOUTOF SIX OOTTEO PAIRS
CI
Figure 1: In most LISP systems, lists are built up out of dotted
pairs which are two address cells. The left cell points to the first
element of a list, and the right cell points to the rest of the list.
The letters in the figure stand for atoms. NIL is a special atom
used to signify the end of a chain of dotted pairs.
executed to specify the return value, usually either a
return statement or an assignment to the function name.
In LISP, and other applicative languages, no such distinc-
tion is made. A function is simply a single expression,
whose value is the return value of the subprogram.
This is made possible by built-in functions like COND
used above. COND takes a list of two element lists as
argument. It goes down the list of pairs, evaluating the
first element of each pair. If the result is true (the atom
T), the result of the entire COND is the value of the se-
cond element of the pair. If the value of the first element
of the pair is false (the atom NIL), COND proceeds to the
next pair. If COND reaches the end of the list, the result
of the entire COND is simply NIL. In the above example
this would never happen because the first element of the
last pair is the atom T (whose value is always guaranteed
to be itself, the atom T). This is the normal technique in
LISP for using the COND function.
The expression:
(DEF GCD (LAMBDA (X Y)...
defines the atom GCD to be a function (or lambda ex-
pression) taking two arguments, to be called X and Y in
the body of the definition. Notice that no explicit
specification of the type of X or Y is provided. In LISP
any arbitrary value, atom, or list may be the value
associated with an atom. In this sense LISP is a typeless
language. In fact the type of a value (ie: whether it is an
atom or a list) is always determinable at execution time.
Functions must check the types of the values of atoms if
only certain types are legal arguments. In the above
example the calls on GREATER and SUB would fail if the
values associated with X and Y were not numeric atoms.
CARs and CDRs
Thus far we have only shown how to re-express
algorithms written in a more conventional language, in
the language LISP. The real power of LISP comes from its
ability to directly manipulate lists, a data type not nor-
mally accessible in other languages. Three primitives,
CAR, CDR (pronounced could-er), and CONS are pro-
Our MacroFloppy™
goes twice the distance.
For $ 695.
Introducing the Micropolis MacroFloppy T M041 and :1042 disk drive sub-
systems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a
5M-inch floppy disk than anyone else. 143K bytes, to be exact For as little
as $695.
The MacroFloppy:1041 comes with the Micropolis Mod I floppy packaged
inside a protective enclosure (without power supply). And includes an S-100
controller Interconnect cable. Micropolis BASIC User's Manual. A diskette con-
taining Micropolis BASIC, and a compatible DOS with assembler and editor:
The :1041 is even designed to be used either on your desk top, or to be inte-
grated right into your S-100 chassis.
The MacroFloppy:1042 comes with everything the :1041 has, and more.
Such as d.c. regulators, its own line voltage power supply, and, to top it off,
a striking cover: Making it look right at home just about anywhere.
Both MacroFloppy systems are fully assembled, tested, burned-in, and
tested again. For zero start-up pain, and long term reliability. They're also
backed up by our famous Micropolis factory warranty
And both systems are priced just right. $695 for the MacroFloppy:1041
and $795 for the MacroFloppy:1042.
You really couldn't ask for anything more.
At Micropolis, we have more bytes in store for you.
For a descriptive brochure, in the U.S. call or write Micropolis
Corporation, 7959 Deering Avenue, Canoga Park, California 91304. Phone
(213) 703-1121.
Or better yet, see your local dealer.
MICROPOLIS
More bytes in store for you.
134 August 1979 © BYTE Publications Inc
vided for list manipulation. The function CAR takes a list
as argument, and returns the first element of the list,
which may either be an atom or another list. The func-
tion CDR takes a list as argument, and returns the tail of
the list, that is, all but the first element of the orginal list,
as a new list. The function CONS takes two arguments, a
new first element, and the tail of a list, and reconstructs a
list, now one element longer. For example:
Assume the atom X is associated with the value:
(ABC)
Assume the atom Y is associated with the value:
(THE CAT IN THE HAT)
(CAR X) would be the atom A.
(CDR Y) would be the list (CAT IN THE HAT).
(CONS (CAR X) (CDR Y)) would be the list:
(A CAT IN THE HAT)
(CAR (CDR X)) would be the atom B.
In general the CAR of the CDR of a list is its second ele-
ment, and a function called CADR is frequently defined
as a kind of shorthand for CAR of the CDR.
You might wonder what would result if you gave two
atoms as arguments to CONS, rather than an atom and a
list. In most LISP systems this is in fact legal. The result
reveals the underlying representation used for lists in
LISP. In virtually all LISP systems, lists are built up out
of dotted pairs, two-address cells, the left cell pointing to
the first element of a list, and the right cell pointing to the
rest of the list. This can be diagrammed schematically as
in figure 1.
Because dotted pairs are used this way to build up lists,
it is natural to call the left cell of a dotted pair the CAR
and the right cell the CDR. (In fact the genealogy of the
words CAR and CDR runs the other way. Dotted pairs
were used in the initial implementation of LISP, and CAR
and CDR referred to the address field and the decrement
field of a word on the IBM 704.) Now you can perhaps
guess that when you pass two atoms as arguments to
CONS, you simply get a dotted pair with an atom in both
the CAR and CDR. For example:
A
B
would be printed as:
(A.B)
The notation (A . B) is used whenever the CDR of the last
dotted pair forming a linked list is a non-NIL atom. In
general (D E F . NIL) would be equivalent to (D E F),
whereas (D E F . G) could not be expressed without the
dot notation.
Given the three primitives CAR, CDR, and CONS,
and understanding the underlying representation of lists
using dotted pairs, it is possible to write powerful list-
manipulating programs in LISP. For example, suppose it
is desirable to edit a large data structure, and change all
occurrences of the symbol APPLE to ORANGE. In LISP
we could easily write a routine called REPLACE which,
given the data structure (ie: list structure), the original
symbol (the atom APPLE), and the replacement symbol
TM
MetaFloppy
The Micropolis MetaFloppy™ gives you more than four times the capacity of
anyone else's 5M-inch floppy Because it uses 77 tracks instead of the usual 35.
The field-proven MetaFloppy, with thousands of units delivered, comes
in a complete family of models. And, like our MacroFloppy™ family of disk
drives, MetaFloppy is designed for the S-100/8080/Z-80 bus.
For maximum capacity, choose our new MetaFloppy : 1054 system. Which
actually provides you with more than a million bytes of reliable on-line stor-
age. For less money than you'd believe possible.
The MetaFloppy:1054 comes complete with four drives in dual config-
uration. A controller. Power supply Chassis. Enclosure. All cabling. A new BASIC
software package. And a DOS with assembler and editor. There's even a built-
in Autoload ROM to eliminate tiresome button pushing.
If that's more storage than you need right now, try our
MetaFloppy:1053, with 630,000 bytes on-line. Or our Meta-
Floppy:1043, with 315,000 bytes on-line. Either way, you can
expand to over a million bytes on-line in easy stages, when you
need to. Or want to.
In other words, if your application keeps growing, we've got
you covered. With MetaFloppy
The system that goes beyond the floppy
For a descriptive brochure, in the U.S. call or write Micropolis
Corporation, 7959 Deeripg Avenue, Canoga Park, California 91304
Phone (213) 703-1121.
Or better yet see your local dealer.
MICROPOLIS™
More bytes in store for you.
goes
beyond
August 1979 © BYTE Publications Inc 135
(the atom ORANGE), would go through the structure
and do the replacement, using itself recursively to do the
replacement in all sublists of the list structure:
(DEF REPLACE (LAMBDA (STRUC OLD NEW)
(COND
((EQ STRUC OLD) NEW)
((ATOM STRUC) STRUC)
(T (CONS
(REPLACE (CAR STRUC) OLD NEW)
(REPLACE (CDR STRUC) OLD NEW)
))
)
))
Notice how the first two lines of the COND allow for
the possibility that the input data structure is simply an
atom (which may or may not be equal to the atom to be
replaced). In addition, notice that the entire body of this
function definition is a single COND, just as it was in the
GCD example given above. This is frequently true in
LISP programs. Finally, notice how the function simply
passes the buck to recursive calls on itself if the STRUC
argument is not an atom, CONSing together the results
of the two inner calls. The reader is encouraged to go
through an example of the execution of this function
when the argument OLD is the atom APPLE, the argu-
ment NEW is the atom ORANGE, and the argument
STRUC is the list structure:
(AN (APPLE A DAY) KEEPS (THE (APPLE MAN)
BUSY))
The result should be:
(AN (ORANGE A DAY) KEEPS (THE (ORANGE
MAN) BUSY))
If STRUC were:
(PEAR BANANA . APPLE)
the result should be:
(PEAR BANANA . ORANGE)
Other kinds of list-manipulating programs which are
relatively easy to write in LISP, but very difficult in more
conventional languages, include formula manipulation
programs which might take in the list representation for a
function (eg: (SIN (MUL 2 X)) ), and return the list
representation for its derivative according to the rules of
the calculus (eg: (MUL 2 (COS (MUL 2 X))) ).
The author's system is being used for the development
of a compiler/interpreter system which generates the list
representation for a program written in a programming
language, and then either interprets it directly, or
generates the list of machine language statements to im-
plement the program on a particular microcomputer.
LISP makes such an undertaking quite straightforward
(although not trivial, unfortunately!).
LISP Interpreter
Because programs are data objects (list structures) in
LISP, the same routines used to read and print data ob-
jects may be used to read and print programs. Further-
more user functions, like a general list editor, can be used
also to edit programs. This uniformity vastly simplifies
the task of writing an interpreter for LISP. Only three
basic modules need be produced: READ, EVAL, and
PRINT . READ accepts a LISP list expression from the
terminal, in full parenthesized notation, and builds the
internal representation of the list, sometimes called a
forum. EVAL takes a form as its single argument, and
evaluates the form according to the LISP convention that
the first element of such a list specifies the function, with
the rest of the list as arguments.
The result of EVAL is another form. (The term form is
sometimes reserved for LISP expressions which are legal
input to EVAL. The term S-expression covers all types of
lists, whether or not the first element is a legal function
name. Within this paper, form will be used to refer to the
internal representation of any type of LISP expression.)
PRINT takes a form as its argument, and types it on
the terminal in fully parenthesized form. The top level
loop of the LISP interpreter simply prompts the user for
input (— > is the LISP prompt), READs in the users in-
put, EVALs the resulting form, and PRINTs the result of
EVAL. In a conventional high level language syntax, this
would be:
while true do begin
patom("— > ");
form : = read( );
form := eval(form);
print(form)
end.
or in M6800 assembly language:
BIGLUP LDX PRMPAT get prompt atom
JSR PATOM print the atom
JSR READ read the form typed in
* result now in M6800 x-register
JSR EVAL eval the form
* result of EVAL back in x-register
JSR PRINT print the form
BRA BIGLUP and loop around
PATOM is a subroutine, also called by PRINT, when a
form is known to be an atom. In an assembly language
implementation, it would be very convenient to pass
forms in the M6800 index (X) register. This register is 16
bits long, so it requires that forms be only 16 bits. Some
representation must be chosen for all LISP objects so that
a single 16 bit number may uniquely specify any ar-
bitrary object. Dotted pairs are used to represent lists.
Dotted pairs hold two forms, a CAR and a CDR, so they
must be 32 bit objects. A natural choice is to allocate 4
consecutive M6800 memory bytes for dotted pairs, and
specify dotted pairs by the address of their first byte. This
means that any two different dotted pairs will be easily
differentiated by the forms that specify them.
This still leaves the problem of deciding on an internal
representation for atoms, including symbolic atoms,
numeric atoms, and NIL. In the author's LISP system
only two items of information are needed for each sym-
bolic atom, the string of characters which are the print
name of the atom, and the value currently associated
with the atom (which is an arbitrary form). Again a 4
byte representation is chosen, with the first two bytes
used as a memory address pointing to the first character
of the print name, and the third and fourth bytes used to
hold the value (a form) of the atom. Now the address of
Text continued on page 140
136 August 1979 © BYTE Publications Inc
Let your LSI-11* break
harrier
With our Bank-Switching family
In LOCAL mode our memory is functionally just
like DEC memory. But when you run out of
memory space you're not lost. Add an inex-
pensive Bank-Switch Controller (BSC-256) and
you can go to two megabytes. Add another
and go to four megabytes.
So don't get boxed in with other brands of
LSI-1 1 * memory. Break free. Join the family:
RMA-032 32K by 16 bit RAM. $1200
On-board refresh (Single qty.)
RMS-016 16K by 16 bit ROM. $300
(Intel 2716) (Single qty.)
BSC-256 The Bank-Switch $300
Controller (Single qty.)
Substantial quantity discounts are available. For a free
copy of our Bank-Switching manual, call or write on your
company letterhead.
Digital Pathways Inc.
4151 Middlefield Road
Palo Alto, C A 94306
(415) 493-5544
*Registered trademark of Digital Equipment Corporation
DIGITAL PATHWAYS
Circle 86 on inquiry card.
BYTE August 1979 137
PET / TRS-80 /APPLE: Personal Software brings you the finest!
Ml
CHESS
The Industry's First
Gold Cassette
Over 50,000 Sold
MICROCHESS is the industry's best selling computer game. And
no wonder— because MICROCHESS gives you more than just a
chessplaying program: A convenient, foolproof set of commands
and error checks ... complete instructions in a 5V2" by 8V2" booklet ...
a cassette that's guaranteed to load, with disk versions coming
soon ... and several levels of difficulty to challenge you not just
once, but time after time. It's available through well over three
hundred computer stores and many mail order sources ... always
originating from Personal Software. What's more, every Personal
Software product is selected to give you these same benefits of
easy availability, reliable cassettes, readable documentation, a
carefully thought out user interface ... and most important,
continuing challenge and enjoyment, not just once but time after
time. If you haven't already, order your own gold cassette:
MICROCHESS, by Peter Jennings, for 8K PETs, 16K APPLEs, and
4K Level I and II TRS-80s $19.95
TIM
TREK
A Tour De Force
In Real Time Action
Strategy Games
TIME TREK by Brad Templeton for 8K PETs and Joshua Lavinsky
for 4K Level I and II TRS-80s adds a dramatic new dimension to the
classic Star Trek type strategy game: REAL TIME ACTION! You'll
need fast reflexes as well as sharp wits to win in this constantly
changing game. Be prepared— the Klingons will fire at you as you
move, and will move themselves at the same time, even from
quadrant to quadrant— but with practice you can change course
and speed, aim and fire in one smooth motion, as fast as you can
press the keys. Steer under power around obstacles— evade enemy
A 1
.3
■
■
■ i
A
■
■ ■ 1
■
-6.3 -3.\ -i e ..
■ ■
■ ■
■ ■
■ -15 .
S /
.s
shots as they come towards you— lower your shields just long
enoughtofireyour phasers, bettingthatyou can getthem back up
in time! With nine levels of difficulty, this challenging game is easy
to learn, yet takes most users months of play to master. ADD
SOUND EFFECTS with a simple two-wire hookup to any audio
amplifier; the TRS-80 also produces sound effects directly through
the keyboard case, to accompany spectacular graphics
explosions! You won't want to miss this memorable version of a
favorite computer game $14.95
BLOCKADE by Ken Anderson for 4K
Level I and II TRS-80S is a real time
action game for two players, with high
speed graphics in machine language.
Each player uses four keys to control
the direction of a moving wall. Try to
force your opponent into a collision
without running into a wall yourself! A
strategy game at lower speeds,
BLOCKADE turns into a tense game of
reflexes and coordination at faster
rates. Play on a flat or spherical course
at any of ten different speeds. You can
hear SOUND EFFECTS through a
nearby AM radio— expect some
razzing if you lose! 14.95
GRAPHICS PACKAGE by Dan Fylstra
for 8K PETs includes programs for the
most common 'practical' graphics
applications: PLOTTER graphs both
functions and data to a resolution of 80
by 50 points, with automatic scaling
and labeling of the axes; BARPLOT
produces horizontal and vertical,
segmented and labeled bar graphs;
LETTER displays messages in large
block letters, using any alphanumeric
or special character on the PET
keyboard; and DOODLER can be used
to create arbitrary screen patterns and
save them on cassette or in a BASIC
ELECTRIC PAINTBRUSH by Ken
Anderson for 4K Level I and IITRS-80s:
Create dazzling real time graphics
displays at speeds far beyond BASIC,
by writing 'programs' consisting of
simple graphics commands for a
machine language interpreter.
Commands let you draw lines, turn
corners, change white to black, repeat
previous steps, or call other programs.
The ELECTRIC PAINTBRUSH manual
shows you how to create a variety of
fascinating artistic patterns including
the one pictured. Show your friends
some special effects they've never
seen on a TV screen! $14.95
program $14.95
WHERE TO GET IT: Look for the PERSONAL SOFTWARE™ display rack at your local computer store. If you can't find the product you
want, you can order direct with your V ISA/Master Charge card by dialing 1 -800-325-6400 toll free (24 hours, 7 days; in Missouri, dial
1-800-342-6600). If you have questions, please call 408-745-7841 . Or you can mail your order to the address below.
Personal Software
592 Weddell Drive
Sunnyvale, Calif. 94086
TM
138 BYTE August 1979
Circle 302 on inquiry card.
Look for Personal Software™ products at the dealer nearest you!
ALABAMA
BYTE SHOP
Huntsville, AL 35805
COMPUTERLAND
HuntsviJIe. AL 35805
CPU, INC.
Montgomery, AL 36104
THE LOGIC STORE
Opelika. AL 36801
ALASKA
ALPHA ELECTRONICS
Anchorage, AK 99503
ARIZONA
MILLET'S TV & RADIO
Mesa. A2 85204
PERSONAL COMPUTER PLACE
Mesa, A2 85202
COMPUTERLAND OF PHOENIX
Phoenix, A2 85016
COMPUTER SHOWROOM
Tucson. A2 85710
ARKANSAS
COMPUTERLAND
Little Rock. AR 72212
DATACOPE
Little Rock, AR 72204
CALIFORNIA
JAY-KERN ELECTRONICS
Bakersfield, CA 93305
BYTE SHOP
Burbank, CA 91506
SILVER SPUR
Chino. CA 91710
BYTE SHOP OF SACRAMENTO
Citrus Heights. CA 95610
COAST COMPUTER CENTER
Costa Mesa. CA 92627
CAPITOL COMPUTER SYSTEMS
Davis. CA 95616
COMPUTERLAND SAN DIEGO EAST
El Cajon, CA 92020
COMPUTERLAND OF EL CERRITO
El Cerrito, CA 94530
COMPUTERWARE
Encinitas, CA 92024
BUSINESS ENHANCEMENT
COMPUSERVICE
Escondido, CA 92027
CHANNEL DATA SYSTEMS
Goleta, CA 93017
RAINBOW COMPUTING
Granada Hills, CA 91344
JADE COMPUTER PRODUCTS
Hawthorne, CA 90250
BYTE SHOP OF HAYWARD
Hayward, CA 94541
COMPUTERLAND OF HAYWARD
Hayward. CA 94541
COMPUTERLAND OF WEST LA.
Inglewood, CA 90302
PROFESSIONAL COMPUTER STORE
La Crescenta, CA 91214
COMPUTER COMPONENTS
OF SOUTH BAY
Lawndale, CA 90260
COMPUTERLAND OF SOUTH BAY
Lawndale. CA 90260
A-VIDD ELECTRONICS
Long Beach, CA 90815
COMPUTERLAND
Los Altos, CA 94022
BYTE SHOP
Mountain View. CA 94040
HOBBY WORLD ELECTRONICS
Noithndge, CA 91324
COMPUTERS-MADE-EASY
Palmdale. CA 93550
BYTE SHOP OF PLACENTIA
Placentia. CA 92670
COMPUTER CENTER
Riverside. CA 92503
CAPITOL COMPUTER SYSTEMS
Sacramento, CA 95821
COMPUTERLAND
San Bernardino, CA 92404
COMPUTER AGE INC.
San Diego, CA 92111
COMPUTERLAND OF SAN DIEGO
San Diego, CA 92111
COMPUTER MERCHANT
San Diego. CA 92115
COMPUTERLAND OF
SAN FRANCISCO
San Francisco. CA 94105
VIDEO GAMES & COMPUTERS
San Francisco, CA 94118
VILLAGE ELECTRONICS
San Francisco, CA 94121
COMPUTERLAND OF SAN JOSE
San Jose. CA 95129
COMPUTERLAND (Central)
San Leandro, CA 94577
BYTE SHOP
San Luis Obispo. CA 93401
MARIN COMPUTER CENTER
San Rafael, CA 94903
ADVANCED COMPUTER PRODUCTS
Santa Ana, CA 92705
COMPUTER CITY
Santa Ana. CA 92704
BYTE SHOP
Santa Clara. CA 95051
COMPUTER FORUM
Santa Fe Springs. CA 90670
THE COMPUTER STORE
Santa Monica, CA 90401
SANTA ROSA COMPUTER CENTER
Santa Rosa, CA 95404
BYTE SHOP
Suisun. CA 94585
COMPUTERS PLUS
Sunnyvale. CA 94087
BYTE SHOP OF TARZANA
Tarzana, CA 91356
COMPUTERLAND OF
THOUSAND OAKS
Thousand Oaks. CA 91360
SMALL SYSTEM SOFTWARE
Thousand Oaks. CA 91360
COMPUTER COMPONENTS
Van Nuys, CA 91411
COMPUTERLAND
Walnut Creek, CA 94598
BYTE SHOP
Westminster. CA 92683
COMPUTER COMPONENTS OF
ORANGE COUNTY
Westminster, CA 92683
COLORADO
BYTE SHOP
Boulder, CO 80301
COMPUTERLAND
Colorado Springs, CO 80917
AMPTEC
Denver, CO 80216
COMPUTERLAND
Denver. CO 80222
BYTE SHOP
Engtewood, CO 80110
MICRO WORLD ELECTRONIX
Lakewood, CO 80226
CONNECTICUT
COMPUTERLAND OF FAIRFIELD
Fairfield. CT 06430
JRV COMPUTER STORE
Hamden, CT 06518
THE COMPUTER STORE
Hartford. CT 06103
COMPUTER LAB
New London, CT 06320
THE COMPUTER STORE
Windsor Locks. CT 06096
WASHINGTON D.C.
COMPUTER CABLEVISION
Washington, D.C. 20007
FLORIDA
COMPUTERLAND
Boca Raton. FL 33432
THE COMPUTER STORE
Bradenton, FL 33505
THE COMPUTER STORE
Clearwater. FL 33516
TRANS-DATA CORP
Coral Gables, FL 32134
UCATAN
Destin. FL 32541
BYTE SHOP
Fort Lauderdale. FL 33334
COMPUTERLAND
Fort Lauderdale, FL 33308
COMPUTERS FOR YOU
Fort Lauderdale. FL 33312
DATA MOVERS
Fort Meyers, FL 33901
SOUND IDEAS BYTE SHOPPE
Gainesville, FL 32601
FOCUS SCIENTIFIC ENTERPRISES
Miami. FL 33132
GRICE ELECTRONICS
Pensacola, FL 32589
COMPUTER AGE
Pompano Beach, FL 33062
PAPERBACK BOOKSMITH
Sarasota, FL 33581
AMF ELECTRONICS
Tampa, FL 33612
MICRO COMPUTER SYSTEMS
Tampa. FL 33609
COMPUTER CENTER OF
PALM BEACHES
West Palm Beach. FL 33409
GEORGIA
ADVANCE COMPUTER TECHNOLOGIES
Atlanta, GA 30328
COMPUSHOP
Atlanta, GA 30342
DATAMART
Atlanta, GA 30305
THE LOGIC STORE
Columbus, GA 31906
COMPUTERLAND OF ATLANTA
Smyrna, GA 30080
HAWAII
COMPUTERLAND
Honolulu. HI 96813
MICROCOMPUTER SYSTEMS
Honolulu. HI 96813
RADIO SHACK (Dealer)
Lihue. HI 96766
IDAHO
NORTHWEST COMPUTER CENTER
Boise. 10 83704
ILLINOIS
COMPUTERLAND OF
ARLINGTON HEIGHTS
Arlington Heights, IL 03904
FARNSWORTH COMPUTER CENTER
Aurora, IL 60505
KAPPEL'S COMPUTER STORE
Belleville. IL 62220
DOW-COM
Carbondale. IL 62901
BYTE SHOP
Champaign. IL 61820
THE ELEKTRIK KEYBOARD
Chicago, IL 60614
EMMANUEL B. GARCIA JR.
AND ASSOCIATES
Chicago, IL 60613
PERSONAL COMPUTER
Chicago, IL 60611
VIDEO ODYSSEY
Deerfield. IL 60015
COMPUTERLAND
Downers Grove, IL 60515
COMPUTER STATION
Granite City, IL 62040
ORCUTT BUSINESS MACHINES
La Salle, IL 61301
ILLINI MICROCOMPUTERS
Naperville, IL 60540
COMPUTERLAND OF NILES
Niles. IL 60648
COMPUTERLAND
Oak Lawn, IL 60453
BIES SYSTEMS
Oak Park, IL 60302
COMPUTERLAND OF PEORIA
Peoria. IL 61614
WALLACE ELECTRONICS
Peoria, IL 61614
DATA DOMAIN
Schaumburg. IL 60195
INDIANA
DATA DOMAIN OF FORT WAYNE
Fort Wayne, IN 46805
HOME COMPUTER CENTER
Indianapolis. IN 46220
PUBLIC COMPUTING
Lalayette, IN 47904
COMPUTER CENTER
So. Bend. IN 46637
IOWA
SYNCHRONIZED SYSTEMS
Des Moines. IA 50310
COMPUTER SHOP
Spencer, IA 51301
THE COMPUTER CENTER
Waterloo, IA 50701
KANSAS
THE COMPUTER ROOM
Overland Park. KS 66212
PERSONAL COMPUTER CENTER
Overland Park, KS 66206
COMPUTER SYSTEMS DESIGN
Wichita, KS 67214
KENTUCKY
BARNEY MILLER'S INC.
Lexington, KY 40507
LOUISIANA
COMPUTER SHOPPE
Metaire. LA 70002
MARYLAND
COMPUTERLAND
Rockville. MD 20855
COMPUTER WORKSHOP
Rockville, MD 20852
COMPUTERS ETC.
Towson. MD 21204
COMPUTERS UNLIMITED
Towson, MD 21204
MASSACHUSETTS
THE COMPUTER STORE
Burlington, MA 01803
THE COMPUTER STORE
Cambridge. MA 02139
CPU SHOP
Charlestown. MA 02129
MAD HATTER SOFTWARE
Dracut, MA 01826
NEW ENGLAND ELECTRONICS
Needham. MA 02194
MICHIGAN
NEWMAN COMPUTER EXCHANGE
Ann Arbor. Ml 48104
NEW DIMENSIONS IN COMPUTING
East Lansing, Ml 48823
COMPUTER HOUSE DIV.
Jackson. Ml 49202
COMPUTERLAND OF
GRAND RAPIDS
Kentwood. Ml 49508
COMPUTRONIX
Midland. Ml 48640
COMPUTER MART
Clawson, Ml 48017
TRI CITY COMPUTER MART
Saginaw. Ml 48603
COMPUTERLAND
Southfield, Ml 48034
LEVEL FOUR PRODUCTIONS
Westland, Ml 48185
MINNESOTA
COMPUTERLAND
Bloommgton.MN 55431
ZIM COMPUTERS INC.
Brooklyn Center. MN 55429
MINN. MICRO SYSTEMS
Minneapolis. MN 5' 54
MISSISSIPPI
OXFORD SOFTWAR 0.
Oxford. MS 38655
MISSOURI
FORSYTHE COMPUTERS
Clayton, MO 63105
COMPUTER COUNTRY
Florissant, MO 63031
FUTUREWORLD. INC.
St. Louis. MO 63131
GREATEST GRAPHICS
Springfield, MO 65804
NEBRASKA
OMAHA COMPUTER STORE
Omaha. NE 68127
NEVAOA
CENTURY 23
Las Vegas, NV 89102
HOME COMPUTERS
Las Vegas. NV 89109
NEW HAMPSHIRE
TRS-80 SOFTWARE EXCHANGE
Milford, NH 03055
COMPUTERLAND OF NASHUA
Nashua, NH 03060
BITS, INC.
Peterborough. NH 03458
NEW JERSEY
COMPUTER LAB OF NJ
Budd Lake, NJ 07828
COMPUTER EMPORIUM
Cherry Hill. NJ 08002
COMPUTER MART OF NJ
Iselin. NJ 08830
MSM ELECTRONICS
Medford, NJ 08055
COMPUTERLAND
Mornstown, NJ 07960
COMPUTERLAND
Paramus, NJ 07652
COMPUTER NOOK
Pine Brook, NJ 07058
COMPUTER CORNER
Pompton Lakes, NJ 07442
COMPUTER ENCOUNTER
Princeton, NJ 08540
TYPTRONIC COMPUTER STORE
Ramsey. NJ 07446
STONEHENGE COMPUTER CO.
Summit. NJ 07901
NEW YORK
COMPUTERLAND
Buffalo. NY 14150
COMPUTERLAND
Carle Place. NY 11514
COMPUTER SHOP OF SYRACUSE
De Wilt, NY 13214
THE COMPUTER TREE
Endwell, NY 13760
COMPUTERWORLD INC,
Great Neck, NY 11021
LONG ISLAND COMPUTER
GENERAL STORE
Lynbrook. NY 11563
COMPUTER MICROSYSTEMS
Manhasset, NY 11030
COMPUTER SHOPPE
Middle Island. NY 11953
ARISTO-CRAFT
New York. NY 10001
THE COMPUTER FACTORY
New York, NY 10017
COMPUTER MART OF NEW YORK
New York. NY 10016
DATEL SYSTEMS
New York, NY 10036
AUTOMATIC SYSTEMS
Poughkeepsie, NY 12603
COMPUTER HOUSE
Rochester, NY 14609
THE COMPUTER STORE
Rochester, NY 14618
HOME COMPUTER CENTER
Rochester, NY 14607
THE COMPUTER CORNER
White Plains, NY 10601
READOUT COMPUTER STORE
Williamsville. NY 14221
NORTH CAROLINA
BYTE SHOP
Charlotte, NC 28212
COMPUTERLAND
Charlotte, NC 28205
COMPUTER ROOM
Charlotte. NC 28203
FUTUREWORLD
Durham, NC 27707
BYTE SHOP
Greensboro, NC 27401
MICROCOMPUTER SERVICES
Hickory, NC 28601
BYTE SHOP OF RALEIGH
Raleigh, NC 27605
OHIO
BASIC COMPUTER SHOP
Akron, OH 44314
INDUCTIVE COMPONENTS
Amelia. OH 45102
CINCINNATI COMPUTER STORE
Cincinnati. OH 45246
21ST CENTURY SHOP
Cincinnati, OH 45202
DIGITAL DESIGN
Cincinnati, OH 45202
CYBER SHOP
Columbus. OH 43227
MICRO MINI COMPUTER WORLD
Columbus. OH 43213
COMPUTER SOLUTIONS
Dayton. OH 45409
DAYTON COMPUTER MART
Dayton. OH 45409
ASTRO VIDEO ELECTRONICS
Lancaster, OH 43130
COMPUTERLAND OF CLEVELAND
Mayfield Heights. OH 44121
RADIO SHACK (Dealer)
St.Clairsville. OH43950
OKLAHOMA
HIGH TECHNOLOGY
Oklahoma City. OK 73106
MICROLITHICS
Oklahoma City. OK 73127
HIGH TECHNOLOGY
Tulsa, OK 74129
OREGON
THE COMPUTER STORE
Corvalhs, OR 97330
CAMERA AND COMPUTER
EMPORIUM
Portland. OR 97205
COMPUTERLAND OF PORTLAND
Tigart. OR 97223
PENNSYLVANIA
BYTE SHOP
Bryn Mawr, PA 19010
PERSONAL COMPUTER CENTER
Frazer, PA 19355
COMPUTER AID
Latrobe. PA 15650
THE COMPUTER WORKSHOP
Murrysville. PA 15668
A B COMPUTERS
Montgomeryville. PA 18936
MICROTRONIX
Philadelphia, PA 19106
COMPUTER HOUSE
Pittsburgh. PA 15220
SOUTH CAROLINA
DATA MART
Greenville, SC 29607
TENNESSEE
MICROCOMPUTER STORE
Knoxville, TN 37919
COMPUTER LABS OF MEMPHIS
Memphis, TN 38117
DOC'S COMPUTER SHOP
Nashville, TN 37211
TEXAS
COMPUTER POST
Arlington, TX 76011
COMPUTERLAND OF AUSTIN
Austin, TX 78757
COMPUTERS 'N THINGS
Austin, TX 78731
MICRO COMPUTER SHOPPE
Corpus Chnsti. TX 78411
MICROSYSTEMS SERVICES INC.
Corpus Chnsti, TX 78411
COMPUSHOP
Dallas, TX 75243
COMPUTER IMAGINEERING
Dallas, TX 75234
COMPUTERLAND
Dallas, TX 75231
KA ELECTRONICS SALES
Dallas, TX 75247
COMPUTER TERMINAL
El Paso, TX 79901
RAM MICRO SYSTEMS
Fort Worth, TX 76116
COMPUTERCRAFT
Houston, TX 77063
COMPUTERLAND OF HOUSTON BAY
Houston, TX 77058
INTERACTIVE COMPUTERS
Houston. TX 77036
NEIGHBORHOOD COMPUTER
Lubbock, TX 79401
COMPUTER PATCH OF SANTA FE
Odessa, TX 79762
COMPUSHOP
Richardson, TX 75080
THE COMPUTER SHOP
San Antonio, TX 78216
COMPUTER SOLUTIONS
San Antonio. TX 78229
MICRO MART
San Antonio. TX 78205
WICHITA COMPUTER SYSTEMS
Wichita Falls, TX 76301
UTAH
ADP SYSTEMS
Logan, UT 84321
TRI-POWER ELECTRONICS
Murray. UT 84017
COMPUTER SPECIALISTS
Ogden. UT 84402
COMPUTER CONCEPTS GROUP
Salt Lake City, UT 84109
COMPUTERLAND OF SALT LAKE
Salt Lake City, UT 84111
THE HI-FI SHOP
Salt Lake City. UT 84117
VERMONT
COMPUTERMART
Essex Junction. VT 05452
VIRGINIA
COMPUTER HARDWARE STORE
Alexandria, VA 22314
Circle 302 on inquiry card.
COMPUTERS PLUS
Alexandria. VA 22304
COW, INC.
Blacksburg, VA 24060
HOME COMPUTER CENTER
Newpoit News, VA 23606
COMPUTER TECHNIQUES
Richmond, VA 23235
THE COMPUTER PLACE
Roanoke, VA 24015
COMPUTER WORKSHOP
Springfield. VA 22151
COMPUTERLAND
Vienna. VA 22180
HOME COMPUTER CENTER
Virginia Beach, VA 23452
WASHINGTON
COMPUTERLAND
Bellevue. WA 98007
OMEGA NORTHWEST
Bellevue, WA 98004
COMPUTERLAND OF SOUTH
KING COUNTY
Federal Way. WA 98003
YE OLDE COMPUTER SHOPPE
Richland, WA 99352
THE COMPUTER SHOPPE
Seattle, WA 98115
EMPIRE ELECTRONICS
Seattle, WA 98166
PERSONAL COMPUTERS
Spokane, WA 99202
COMPUTERLAND
Tacoma, WA 98499
WISCONSIN
BYTE SHOP OF MILWAUKEE
Greenfield, Wl 53227
COMPUTERLAND
Madison, Wl 53711
MADISON COMPUTER STORE
Madison. Wl 5371 1
COMPUTERLAND
Milwaukee. Wl 53222
FOX VALLEY
COMPUTER STORE
Neenha. Wl 54956
WYOMING
COMPUTER CONCEPTS
Cheyenne. WY 82001
AUSTRALIA
ELECTRONIC CONCEPTS PTY. LTD.
COMPUTERLAND
Sydney. N.S.W.
CANADA
COMPUSHOP
Calgary. Alberta T2N2A4
THE COMPUTER SHOP
Calgary. Alberta T2T 4T9
ORTHON COMPUTERS
Edmonton, Alberta T5N 3N3
TJB MICROSYSTEMS
Edmonton, Alberta T5M OH9
CONTI ELECTRONICS
Vancouver, B.C. V5W 2Z4
COMPUTER CITY
Wmnepeg, Manitoba R3P OH8
COMPUTERLAND
Wmnepeg, Manitoba R3G OM8
INTERACTIVE COMPUTER SYSTEMS
Fredenckton, New Brunswick
MINICOMP SYSTEMS
Halilax, Nova Scotia B3K 2G1
KOBETEK SYSTEMS
Wollville. Nova Scotia BOP 1X0
COMPUTERLAND
Burlington, Ontario
LYNTRONICS
Downsview, Ontario M2J 2W6
COMPUTER CIRCUITS
London. Ontario N6A 3H2
COMPUMART
Ottawa, Ontario K2A 1J2
COMPUTER INNOVATIONS
Ottawa, Ontario K1B 4A8
RICHVALE TELECOMMUNICATIONS
Richmond Hill. Ontario
THE COMPUTER CENTRE
Sarnia. Ontario N7T 1B4
COMPUTER MART
Toronto. Ontario M4G 3B5
THE COMPUTER PLACE
Toronto, Ontario M5V 1Z1
COMPUTER SPECIALIST
Toronto. Ontario M3K 1E7
HOME COMPUTER CENTRE
Toronto. Ontario M2M 3W2
HOUSE OF COMPUTERS
Toronto. Ontario
MARKETRON
Toronto, Ontario
MICRO-WARE
Toronto, Ontario M4E 2L2
COMPUCENTRE
Montreal. Quebec H1J 124
FUTURBYTE
Montreal, Quebec H3B 3C9
CUSTOM COMPUTING SERVICES
Saskatoon. Saskatchewan S7K 2B5
DIGITAL SERVICE
Saskatoon, Saskatchewan S7J 3A9
PUERTO RICO
MICROCOMPUTER STORE
Rto Piedras, PR 00921
BYTE August 1979 139
Text continued from page 136
this 4 byte object can specify the atom uniquely from all
other atoms and from all other dotted pairs.
Unfortunately this does not provide a simple way of
distinguishing atoms from dotted pairs, when just given
the form. Several solutions to this problem are possible.
One is to restrict dotted pairs to a certain part of
memory, then the address would determine whether the
form specified an atom or a dotted pair. A second
method is to add an additional byte to both dotted pairs
and atoms which simply contains a type specifier, say 1
for dotted pairs and 2 for atoms. This method makes
future expansion of types simple, but is somewhat
wasteful in terms of space. The third method, the one
chosen for the author's system, is to align all dotted pairs
and atoms on 4 byte boundaries, that is, with addresses
which are a multiple of four. This means that the low
order two bits of the address are expected to always be
zero, and hence may be used to encode type information.
In the author's system, dotted pairs are specified by forms
with both bits zero, and symbolic atoms by 01 in the
lower two bits. One of the bits is still unused, but will
become very handy when garbage collection methods are
discussed below.
With numeric atoms, their name determines their
value, and hence only their name (or their value) need be
specified by a form. On the author's M6800 system only
hexadecimal memory addresses 0000 thru 7FFF were ac-
cessible for storage of dotted pairs and atoms, meaning
that the high order bit of forms specifying either of these
was always zero. A representation for numeric atoms
was chosen to be a form with the high order bit set, 14
bits of numeric value, and one bit left for garbage collec-
tion.
A special representation for the NIL atom is used both
because the value of NIL is, like numeric atoms, required
always to be the atom itself, and because it is used univer-
sally to represent the end of a list. The form chosen to
specify NIL is simply the value zero. In fact any form
with the high order byte zero is treated like NIL to
simplify the test for NIL in certain cases. This means that
the 256 byte page starting at zero is not usable for storing
atoms or dotted pairs, but this restriction causes no pro-
blem at all, since both are allocated starting at the highest
address available, and the allocator runs into program
long before it reaches page zero.
When writing a LISP interpreter, the implementor
must decide relatively early on how forms will specify all
types of LISP objects. Unfortunately, it may not be until
well into the implementation that the implementor
discovers that certain choices were inefficient or incon-
venient.
One important requirement affecting this decision not
yet mentioned is the need to implement the LISP EQ func-
tion. This function takes two arbitrary forms, and
returns the atom T or the atom NIL depending on
whether the forms specify the same dotted pair, or
whether the forms specify the same atom. Whenever an
atom is input by READ, it must return the form specify-
ing that atom to the caller. Whenever the same symbolic
atom name is typed, READ must return the same form,
ie: a pointer to the same 4 byte cell. This is accomplished
by retaining a linked list of all defined symbolic atoms
(called the OBLIST).
Before allocating a new 4 byte cell for an atom, READ
scans the OBLIST for an atom of the given print name. If
found, READ returns a form specifying that pre-exisiting
atom. (Otherwise it must copy the name into some area
used for storing names, allocate a 4 byte cell, initialize the
left cell to point to the name, and the right cell to NIL,
and return a form specifying the new atom.) This method
guarantees that two forms specify the same symbolic
atom if and only if they have the same address.
In some implementations of numeric atoms, this same
rule cannot be guaranteed. In such systems, numeric
atoms are simply allocated an appropriately large cell to
store their numeric value (and hence allowing numeric
atoms greater than 14 bits), a new cell being allocated
every time a new number is generated (which happens at
every ADD, MUL, etc). In these systems it would be im-
practical to scan a list like the OBLIST every time any
arithmetic calculation is done, and so the LISP function
EQ may not rely on the rule that unequal forms indicate
unequal atoms. In such systems, EQ must look at the
contents of the cell specified by a numeric atom form,
and make the comparison that way. In systems like the
author's, EQ simply compares the forms themselves, no
matter what type of atom the form may specify.
The choices made in representing the various types of
LISP objects can be summarized in the high level
language (Pascal-like) data structure specification in
listing 1.
type lisp type =
(dtprtype, sy mat m type, numatmtype, nilatmtype);
dtpr =
record
car: form;
cdr: form
end;
symatm =
record
name: \ array [0..n] of char;
value: form
end;
for/?? =
packed record
gcbit: boolean;
case obj type: Hsptype of
dtprtype: (dtprform: I dtpr);
symatmtype: (symatmform: f symatm);
numatmtype: (numatmform: -5000.. 4999);
nilatmtype: ( )
end.
Listing 1: A Pascal data structure specification that could be
used to represent various types of LISP objects.
READ Function
READ is the basic input routine for the LISP inter-
preter. READ accepts a fully parenthesized expression
from the terminal, and builds up the internal representa-
tion, allocating new dotted pairs and atoms as necessary.
If the expression is a list, READ returns a form specifying
the first dotted pair of the constructed list. If the expres-
sion typed in is simply an atom, READ returns a form
specifying the atom.
The logic of the READ routine is straightforward
because the syntax of LISP expressions is so simple.
READ calls a function RATOM to return the next input
atom. RATOM actually does the work of allocating new
4 byte cells for symbolic atoms (when necessary) as ex-
140 August 1979 © BYTE Publications Inc
H NTRTCC DATA SYSTBVB |
- •■" J
if : '
sr ■ -x
v ^a, f n N-f
Tlie Honor Graduate
There's been a lot of talk lately
about intelligent terminals with
small systems capability. And, it's
always the same. The systems
which make the grade in perfor-
mance usually flunk the test in
price. At least that was the case
until the SuperBrain graduated with
the highest PPR (Price/ Perfor-
mance Ratio) in the history of the
industry.
For less than $3,000*, SuperBrain
users get exceptional performance
for just a fraction of what they'd
expect to pay. Standard features in-
clude: two dual-density mini-flop-
pies with 320K bytes of disk storage,
64K of RAM to handle even the most
sophisticated programs, a CP/M
Disk Operating System with a high-
powered text editor, assembler and
*Quantity one. Dealer inquiries invited.
Circle 180 on inquiry card.
debugger. And, with SuperBrain's
S-100 bus adapter, you can even add
a 10 megabyte disk!
More than an intelligent terminal,
the SuperBrain outperforms many
other systems costing three to five
times as much. Endowed with a
hefty amount of available software
(BASIC, FORTRAN, COBOL), the
SuperBrain is ready to take on your
toughest assignment. You name it!
General Ledger, Accounts Receiv-
able, Payroll, Inventory or Word Pro-
cessing ... the SuperBrain handles
all of them with ease.
Your operators will praise the
SuperBrain's good looks. A full
ASCII keyboard with a numeric key-
pad and function keys. A non-glare,
dynamically focused, twelve inch
screen. All in an attractive desktop
unit weighing less than a standard
office typewriter. Sophisticated
users will acclaim SuperBrain's twin
Z-80 processors which transfer data
to the screen at 38 kilobaud! Inter-
facing a printer or modem is no
problem using SuperBrain's RS-
232C communications port. But best
of all, you won't need a PhD in com-
puter repair to maintain the Super-
Brain. Its single board design makes
servicing a snap!
So don't be fooled by all the fresh-
man students in the small systems
business. Insist on this year's honor
graduate . . . the SuperBrain.
3
sintetoc
Cdata
s systems.
2300 Broad River Road, Columbia, SC 29210
(803) 798-9100 TWX: 810-666-2115
BYTE August 1979 141
Circle 352 on inquiry card.
"Programming." Whether in Arabic or English, can sometimes be as
confusing as learning a foreign language.
With this in mind, Structured Analysis Systems developed
SP80, an innovative concept providing structured programming
capabilities within assembly language.
Designed specifically for the 8080/Z80 systems, SP80 can
be used with most macro assemblers; TDL, Cromemco Z80,
Microsoft, or Digital Research.
Statements include:
• Iteration; LOOP-EXITIF, REPEAT-UNTIL, WHILE-ENDWHILE, DO
• Conditional; IF-ELSE-ENDIF
• Case analysis; SELECT-CASE-CASE-CASE-ENDCASE
Specific capabilities:
• Conjunction/Disjunction; AND, OR
• Unsigned relations; EQ, NE, LT, LE, GT, GE
• Signed relations; SLE, SLT, SGE, SGT
• Conditions; CARRY, NZ,
PLUS, Etc.
• Z80 or 8080 code
generation
SP80's manual
includes; functional
source listings of up
to two macro
libraries, macro syntax (with examples), and ^^
detailed sample SP80 program. ^^
Send $50 for CPM diskette and manual, or $25 for manual alone, (add $5
overseas and $2 Canadian postage) to: Structured Analysis Systems
Post Box 2745
Reston, Va. 22091/703-860-8794
Please specify only up to two assemblers for which to receive documentation.
Also available in Macro-11 for the LSI-11 and PDP-11.
Laminated SP80 reference cards available at $5 each.
plained above. RATOM returns a form specifying the
atom typed. If this atom is anything but the atom "("
READ simply returns the atom as its result. If the atom
returned by RATOM is "(", READ calls itself recursively
until it gets the atom ")", meanwhile stringing the forms
returned together as the CARs on a linked list of dotted
pairs. This could be written as in listing 2.
In the LISP functions we are assuming that the atoms
LPAREN and RPAREN were initialized to point to the
atoms with print names "(" and ")" respectively. Notice
that in the LISP version, READ accomplishes the loop of
the machine code version with recursion in READL. The
routines LSTINI, LSTADD, and LSTEND used in the
assembly language version build up a linked list of dotted
pairs, using two pointers on a stack, one to the first dot-
ted pair, one to the dotted pair at the current end of the
linked list. The pointers are on a stack so that READ may
call itself recursively. The stack is actually a linked list
itself. The linked-list stack is manipulated with the
routines in listing 3. With these routines it is straight-
forward to implement LSTINI, LSTADD, and LSTEND
for use in READ. These routines are shown in listing 4.
The primitive function RATOM turns out to be the
real workhorse of READ. It is stuck with the job of ac-
cepting characters one at a time from the terminal, and
building them up into an atom. RATOM must distin-
guish symbolic atoms from numeric atoms, and build up
the corresponding forms. Atoms are in general separated
by spaces, tabs, or carriage returns. However a few
special characters always form single-character atoms
Text continued on page 145
PTDOS + CBSort = FAST!, FAST!, FAST!
CBSort IS NOW AVAILABLE FOR PTDOS® — HELIOS® SYSTEMS
SPEED AND COMPATABILITY CBSort is fully compatible
with the incredible power of PTDOS. CBSort, written in
8080 Assembler, coupled with the power of PTDOS buf-
fering produces lightning speed sorts.
FLEXIBLE YET EFFICIENT CBSort can sort any file with a
fixed record length of up to 4095 bytes. CBSort sorts up
to 5 fields of any length, up to the length of the record.
Each field can start on any byte of the record and each
field can be ordered in ascending or descending se-
quence. The file can be fully described in the calling
parameters or based on the TYPE parameter standard
defaults for that type can be assumed. CBSort is a logical
byte sort so that any bit convention, ASCII, EBCDIC,
BCD, Packed Decimal or binary can be sorted in ascend-
ing or descending order.
EASE OF INTERFACING CBSort works well either as a
stand alone sort or with production and turnkey sys-
tems. Special linking programs are included with
CBSort to allow insertion into a stream of programs.
CBSort is compatible with Extended Disk Basic, FOR-
TRAN, Pascal or any other language available on the
HELIOS system.
PRACTICAL CBSort can really sort a full disk because it
does not require extra space on your disks for merge
and work files as other sorts do. CBSort sorts files so
you do not have to contend with the overhead of mem-
ory consuming indexed tags in order to get sequential
data. CBSort is practical for the micros and not a trans-
plant from the gluttonous dinosaurs.
EXTRACTION CBSort has the ability to extract from the
main file and create a sorted secondary file that contains
only the selected fields and a pointer to the main file.
This can be extremely useful when using a binary search
technique for field verification, for quick file summari-
zation or further field extraction.
EASY TO USE The User's Manual describes in detail the
features and operation of CBSort and contains many
examples of its use. CBSort does extensive error check-
ing and produces clear runtime error diagnostics.
CBSort on PTDOS data disk with User's Manual $75.00
®PTDOS and HELIOS are registered trademarks of Processor Technology
(cBs) Computer Bookkeeping Services, Inc.
MIrm niwlalnn ' ' ^^
1446 Leimert Blvd. • Oakland, CA 94619 • (415) 531-7427
Micro Division
142 August 1979 © BYTE Publications Inc
Circle 49 on inquiry card.
_*~
.^
x:
3
o
CD
jj
O
4->
CO
c
C
CO
O
4->
CJ
to
-S
•rH
T
c«
o
"5
I
c
•S-
n
T>
•rH
E
V
C
C_
JJC
CD
CJ
cj
cc -o
•H
\- H
rH
Ou CO
-i*
re
y h ^>
cj
CD
an o >»
CO JO rH
"co
C
TO
F. CJ
■*-!
o
a;
e >» >
co
4->
O «0 -rH
Ad
bOJ-J
1- 4-J
i
CJ
o
<«-• cu o
CC £)
u.
TO
U CU
E- <L
l
cr: n q.
Ou u.
X
jt CJ
ttf 1 •
0)
U CC CU
f- X £
•*— •
o
c
Q u.
CO v-
^
x:
a u
<J 3
o
jj
CD XI
a- x: 4-i
c
4-> T3
x: 4-j cu
e_
cu
c t?
4-J k-
o
O
4->
c ro c
OJ
•d
TO
•rH ro
0) U. T^
cs
1»
o
cu
4J O C
5
3
o
rH <C O
ra jj q
rH
r-H
rH O
■o w
cu
r-H
•H '>-'
a ai
>
03
C« «-
3 U.
-Si
+ X
a.
E
CD
_l
cc cc .
cr:
JZ
LU
E- x h «-
t- X
+ '
U
a. -a. +
a. -
*~
l-
^ CX ^ DC
^ cc
o
CO
UJ
H Cj E- Q E-'i <
o
CUO
CO Cj CO CJ CO u
00
>
vo
co
< «C <C <C
5
CO
cc
< < <c er:
X X CO
n c h o i-H
H Q H
X
en
-J tT H (Ti CO —1 Cu
<T)
uu 1
co
ro
Qu
X
o
o
CJ
E
O
O
00
a.
bO
Lu
o
i cu co -rH
. Q. 0) f\
: o a.
i 0) J)
J. 4-J 4J 10
: 4J -H -rH
; O i-h
> t? n
CO LU
1 CU LxJ
/ o -cc
• J-. 4-> LJU
I 4-J
: o. cj
1 3 u a,
O 4-J
i _•< E ro
I -rH O Ct
1 ri, l: d
en
c
Q> O
c.
■^ 4->
u*
c
h^
h a>
C
O r;
1
4->
X
c
o
T7
CD
O
r-l
rH
CU
u
•o
C
cu
ro x:
X +
cl
>;
DC UJ CC -C
H UJ X h >- h x -- x+«-
.Oucc -Du+£U- -H>Q_ . a. +
: u; u, ct; ui :: w cc cc v t; 7 cr
.. cc c» c_"i cc f-j c: Q ci [ -i < h <
• «i:
- ^-: cc cc -r < «r -
; X U < «i ,- ci: cr c: <•: <; cr ^ r,-
i u ci j ci u i ; u u u « j n cr
tr
X +
+ X
a- cc
cc
-CC —1
■O DC DC -
i- f-
XH
t- (— CaJ
Cj (-, x £-, ^ X
i a.
-Cu
+ DuU
jj CU -CU + -
X ^u
cc^
CC >^ Ul
4-J U-l CC IxJ cc cc
t--
U 5-^
Cj (- CC
O DC U CC Cj <r
4-J
C_) c.,
CJ CO Lju
■DuOLuUU
<r <r
<S <
q «- <r <: <
X
<x. <--:
<£ < «a:
'.<<<X01
0) UJ
QH
Qhcr
Q.C-J t- Q H Cj H
o
4->
^-J 0;
-» co a
3 ~j CO j co -J oc
CJ —1
CO
CJ LU
0i X
u u
3 cu c/: cj
. x x co
i Q Cj t-
Cj C-»
<£ <:
I -J LU
w a «<
CJ CJ >
*t r-
lu o
DC CJ
<:
^ LU
r; cc
, o
u
4->
^
CU
•H
c
cu
c^-
CO
o
O V-
rc 4-j
JZ
E E
• r^
..H
p
a-rH
fj
4-J
OOF
r-H
a
O T3
a
J JO
4> e
■o TD
C«
ro ro 4J
•o
o
(U ro
cu -o
a
o
ro
CU
4-J
4-j ro
4J =
^
= 4-J
4-J
4-J
u.
3 ^ O
e
>>
^ CO
o -c
cu
•H
a= x:
•rH
r- 1
Z -rH
t: e
on
CD
c: 4-j
rH
CJ
rH
ro
a
•H CJ
>
C
2
»
-
x: e
ro
•H
x: cu
cu -
"U
4->
•D
4-J 4-J U
CO
4-J sz
e cc
c
CO
0)
X 3
CJ
u.
4-J
<
3
•rH
4-J
cu o J- 3
N
3
o
ro cj
O
l—i
4-J
•
C 4-J QJ
•r-i
O
4J cu
u,
o
e
J-
rH
cu
N
a» cu
c
CU
•o
^
0) rH
ro
^_
i~\ -H
4-j x:
x:
3
x: ro >»
• r-t
10 rH
cr 4-j
a. 4-j
4-J
4->
4-J 3 rH
4->
£—
3 CO
o
o
CO
CU
cr a
•H
<:
cr e
O tu-
o
ai
u.
u,
a o p
C
Lh
O -rH
N
3 -H
• rH
CC
c«
rn
•rH
c«
•o
4-J CO
4->
n; rH
-a
l—i
c
.* -rH
-
r-l
■r-i
r-H
c
CD
CU
rc
o
CO
r-H
CO
-•rH
CO
e
x:
•H CO o
cu
n;
co cu
O c«
4-J
a.H e
>>
o
■•-* >»
c:
C«
{- rH h- Z Cl CJ
^<hn <3 a Ou^:
c5ccLUi-tC:cxO< =>LU
h<cch<<uh — ih
< a. a to lu c u co cj co
cc_icc_irccccc_i cc^j
ccxuKcxcicr
CO cu ZZ 01 Ci Cu LU CO
—3 cj a -j c; c j ci -a
< cc
CC CO
CO -a
a
o
—i cc
rH Cj
^ CJ
cu o
x: x:
4-J 4-J
o-c
a to
CO cu
-l£^
O -4-J
Ch _j 10
o x t— X
ro ra o x cu zc
4-J DC co ^ co
CO .* LU ZJ E- ^)
o rvi cu co cu
or co
x: 4-j
4-j coxcexxxcu
Q CO Cj LU LU ?T
a4J jt-iQQ^
3 CO
Jw H
4-J -rH i_:
■O bC-H
cu cu ro c«
j tao.
C I
•rH m -o co •
o o «o
a. -d 4-j a>
C 4-J u.
4-J CD O TO-
CO TO TO
•H - CD
rH rV) CD
cu a.
4-> O
e 4-j
a o
3
o
TS
to
CO
3
P
fc
^
a
o
CiJ **
o a.
fjj ts
Kg c
a o
3 Si
3
r- O
Uj -Q
-J H^
-^ °i
^S >
C V4lt,
Q £
Uj O
■a o^
CU CU V-
^:
ro 3
c -h a n.
V- 4-J > 4-J
c
TT ^
•H<~ O
1 cu cu cu
•r-i
Q.
o a a
<C r:0 ^ l_
- 1
«- 3
+ X X
4->
-^-1 DC
cc
CC -DC
TO
WW H
E- X
H «- H X «-
C U.
CU CJ Cu x
cu -
CU + CU - +
O O X X
LHhOu
— 1 cc
_l cc ^ cc cc
4-J CU Q.
1 LU LU CJ
IU CJ
Loj Cj E— <! <C
4.) C C C3
X O CJ (-
CJ o
cj cj co cj cj
CO -H Cu Cu
•rH o
CO
<r <
ca en «=c cj
rH a
V_ CC X cc
*r: <c
< <C X <c <c
C/0
DC cu
CJ CO E- CO
CJ H
QhQh^
H
<« e c/0 3:
JO -0 CO -3
^J GO
^jt/j JOj CO
cc
t— l_ *~3 —j
JO
O 3
O CJ
4-> CO
rH CJ
CX CU r:
o <c
O u. LU
August 1979 © BYTE Publications Inc 143
,-h 4-) e
4->
XJ
re p
v- <o o- x:
O C rH 4-3
a. co —
E k- 3 3
4-3 jr cd c 3
~j> k. o
C (D 4-)
L 4JT- CD <L'
I tU O k- CJ
X O
*J4J -XJ
cd e to a;
> h u a^
(0 O -rH O i-H
to o.t~ e re
X) I
I M
<-< j:
XT <0 4-3
4-3 3 •-•
■r-< cr y
3 c c-
CJ 3
C L v. o
k- CO 13 CJ
3 XT 4-)
4-> cj o a; ,
cy
O
d. o rii-i
o a> o i-i
>> to cj ro
t- h- *-
<\j uj iij uj
m- a. cc cc cc
y p- x cl cl x cl
f-- s- -s; 2- -;-,
x x o cj cj *- CJ
N
o
a
CO
E
QJ CC
cj
4->
H
k.
Cu
3
E CJ
jJ
k.
Cu
CD
O
C/3
k.
<~
4-3
~
o
(U
a
>
to
QJ
ro
<u
x
10
I-
-cc s: *^ cc cc
F H X H 5 F- r-
ro cu -<r. G5;a a. j:
4->E-ce_jHcee:2:oce
ra tO < n Li uj CJ < cu O
j U 2 Q: Ml n t/1 L
•a
s
CD
J- o
40
O 4-3
c~
O
3 a>
T
CD 4-3
C
cj cj
•<h
cj o
O
u a
4-)
3
4-> JZ
F
CD 4-3
i_
1- -H
k-
O
Y—
3
•rH
C_
r_
CO
■c
CO
a>
r~l
cj ^h
Q.C«
_J
CO ,-H
O
-V
Cm
CD
T-"
•—*
^H CJ
CD 4-3
•— '
4-3
•rH
U F
4-> XJ
Q_
o o
o
D
4-3
XI
k-
3T
3 X
CD CC
r
CD
C-, X>
cj 3
O
k-
u_
-?-■•
CD
ro
co cj
cc
<=:
1
<!■
c; au
4-3 3
«— i
■
CO
c
•-
0-
O 4->
4-3
'0
o a>
CD
rt
rH tO
to
1—:
o :r I
4-3 <C I
re r: 1
*h + cr
cc _j cc »—
& « c=« <r
c o cc:
CO CD
T. to
=) -rH
r= 3
U CD
r.
t« 4-)
00
CD 4-)
-V
> CO
•
e
4J .-H
3-rH
CD
O U
to
X> 0/
cc
E
4-> f-
4-3 CJ 4-3
O-cr,
c
to
■rH t0 -r-(
CD r-<
3
X)
QT-.C bC
e 3 -rH
1— 1
v_
•H 4-3 -r-i
O O 3
ru
ru
XJ XJ
-C r-l JO
>
to
i_
4-3 rH
CO O CO
cr ►
4-3
v_
t£
cd :.;
t~
O
4-3 W 4-3
V- 4-^
■1-1
C-H
O -rH O
1
x:
C X5 £
E c: «r.
to
23 ZD Z3
n =r r-: o ?:
X o C-J O X Ci CO CC
C3=Jsaj^CQ«-CU^lju
I
E
o
4-3 <~
o a»
=r cj •
-4-3 X •
-X) C t3
O CJ — 1
r>> i_ x,
- 3 3 •
C\J O 4-3 U
»H Q
•- i- JZ
CD 4-3
4-3 O C 3
•r-( 4-3 CO
X) 10
cc cc
CJ O
h- c-o y is. c/j uj m :z co u i: r: h a ^ :: cc h
cv j O rci h a u u h rj h h t/: j h h tn k
roXXXUJXXXXXc/':
OQCL^QHQHaH
CD ^j ^_i CJ CO ~j CO „-( ci _i cn
(0 X
Q
CD ~-i
c=.x x cc
CT2(-Cn
-a »-< cn ~ : _;
<r <x <rr -x
\— tz* v- cc
.-. CC _' CO |X;
to X)
I
CO CD
e
to o
3 «=c <-c < n ccj <=: cc <r dt <s <
X<CQh^HhUJ«:C^X N j^c:j<XutOut/l
n n a d j >: u o) 2 a h o o f) o o h Q u h u h
c ^1 u a u en [■ ■ ffi u o) k rc: < fc a to j u cc co k
x: t
CD rH
d' o
4-3 m
cd >r.
u. ZD
* * Me CJ
5
3
o
CD
a> ro
4-3
UJ.
cr:
rx
x: a
ro
u:
10
O
4-3 to
(~
Q.
CJ rH
■r-( CO
c: 4-3
n
r-H
■rH to
c >-
r;
CJ 4-'
>~
•rH C 1
CD
X)
CJ -r-»
X 1 -rH
(0 4-3
E
v_
O
•rH
a ^
4-3 ro
(0
ro
rH
j ' x:
a.
c u
c
x:
:.?
3 CJ 4-3
>>
tv
O ^ -rH
4-3 4-3
O C.4-3
CJ
J- uj •*
a-
V
—3
•rH
UJ
E V-
to to
<D
X
k-Ci- c
c a.-
>>
rH
O
•
ro »_
4-3 4-3
ro ro
r—i
c:
ex
v_
x: cj 3
ro c
3
O
— 1 4-3
■— t
rH CJ
6
4J
4->
c
4_) rv
ro :*:
1,
l—t
(0
4-3 4J» V-
x Ci.
bJ
rj'
CD -r-(
(T
CJ IjJ
C" 1
X5
T"?
or x>
CJ CD
is. 0-
-
CJ
c.
<D C
>
LJ
-
to
CJ
ro
Q' > ro
1- ro
La-! tO
r\
to ro
to
CU -rH
C
>>
"
3 to
Z ID
— F
Ci, (0 r-l
ro
ro
a a
to
to
4/
CD
F
E
4-3 Zj£ CO 4-J
■rH
x:
re to
rH rH I U C O
3
CJ
a
CO 3 UJ ro
T-! >> l^
■rH E CU CJ U
0: O-
F
to
c 4-3 ro cd
ro to
CJ 1-
■r-i
rc n.x: x:
<d 4-3 j) oj:
ro
4-3
XJ •
C= CJ 4-3
Q. CJ 4-3 to CJ
r-
X) -ro
ro
4-3 Cl
* CD
to ro
k.
ro
CO CL 4-3
r-> "C". T) 4_)
r-H
TJ
>,
CD O .C C
CO 1—. CL to X
4-3
(— 1 l—i
c:
an
V_ 4-3 4_) CD
O 3 0.'
ro
ro ro
O
ro £
4.J C> t: L
x_
•>H
O X)
4-2 CD CD
.^t - c:
ro
- O
-
CJ
CD CJ I- k.
- to ro 4-3
CL
tO CD
to
- rr.
F. -h O
to ro c
CD
a; a
<b
O
(0 O 4-> c
■<-* CJ >. CU)
to
>> to
>.
CJ
C Q. 10 -rH
a
a
c:
F
n
>>
O
4-3
to
CU
c.
ro
a-
p
P"
iii"
F
x:
CD
b
re
c
O
F 4->
x:
4-3
F
ro
cc
•rH
4-3
k.
43
ro
k.
H
-P
ro
l_
O
to
Q_
CO
(^
q
3
C-,
-
y:
•r-l
4-3
t«
CD
E
<t:
X
X
rj
CJ
t«
O
li*.
CL
CD
•rH H
4-3
O
4J
I
e
k. CO
c
CD
ro
4J
O
a. h
•iH
XJ
4-3
ro
k.
E ~j
O
.— .
CD
Ci
4-3
3 CJ
O.
4-3
X)
x:
4->
cj u
to
4J
ro
CJ
c
O
3
k.
x:
k.
n
CJ 0:
4-3
F
c^
O
*-)
3
k. XT
s=
x:
+J
4-3
O
3 4-3
CC
-
O
k.
XJ
V
^n
4J
H
4-3
4-3
O
v_
4->
k.
a. CJ
Cu
to
CO
1
c>
■rH
-
k. CO
E-
— H
3
4-3
3
— .
rH
1— t
4-3
O
c
4J
n
to
_i
X
1— 1
■r-t
CD
•rH
3
■30
<~
CD
O
k.
CT
-
b r .
ro
e
k.
a
(V
X)
cu
•« CD
CJ
ro
a. cj
a. a
•fH
XJ
4 j
CD
4J
F
3
4J
cd ro
10
CJ
CU
r--
0)
ro
>» CJ
3
CD
bJ
O
a;
O
c~
CJ
>> CD
r- 1 E
Q.4-3
jT
F'
ro
U
CD
4-3
1
c>
3
r- 1
CJ
4-3
CD
k-
4-3
4-3
1
ro
X
yx
(L
4-3
CJ
v_
CD
CJ
•
J_>
C-i
ro
ro
<D
to
a
CO
a.
CU
CJ
CJ
o
&,
in
bo
^3 K
tv^CC CC Ci,
CD f-H p- O CJ ZJ
Ldny cj :•: c_j ^_i
1 cj t: u; oj *r < o.
x cu cc uj <•: :r ui uj
t: ^ cu *. u c- t".
k. <r <
O X X «^ Cu {- tr.: <
im tj h q r: o ij k
_i c: -1 cj cj r. -1 ci:
s
2 =
•rH cj s:
H UJ
«.-. UJ UJ
ro r.-i a.
o u cj «• u o u o cj o cj cu
4j>M^_3Q^:c-iCjtij:^-ii:>Mr3
it a. cj — 1 <c <c «c c\j -x c^ <r: c. ^j
CJ CU Ci ( J CJ UJ «~r cj cu cj c."» CJ
t*-. cj c: cr. cc tv; cc ^ co c/:- co cj cc
ro -c
:; e m iu rr. «•- c Q- y (t a n: <
co ;'] jj; cwrr, co :_ —1 c/j uj oj k:
4-3 co u?. f2 cj c 1 . cr. cj cj ctJ 1 J ci co
o
CD
4.JJ CC CC
QPCU CU
CD CJ X CJ
u. cu ~ cu
1 co a x.i
U, X «< X X CO
njjJhzhh
£ J C, H t/j CC
Q.CJ
c >-
O Q-
ro ^-1
W CJ »-^
10 > CU -
•rH =fe C/J =^
ro
JZ
CL C? Cu CO
c_ i>. uj :r F-
■•H CJ CJ CJ CC
o rr
CD CJ
cr.. > t— cc r-: >" r" cc cu
cj >;■ rjj) o j H h- x x en h { •« x — 1
>h D ;: n a. <t « •> rr <x a. - ;r
Cu 7- E - -j H *-< cc a: tu cz; [— rr; -rr:
O ^ ti) CO CO U ) < < " J CO Q u
u cj cc o j :: u cj cj o _j cj c:
F rx cr: D-. r_) x x cj X x x qc cj x x «-•:
l u c i to u a (-■ ui u u a :: iij a n (•.
CD CJ CU -5 * ^j CO CJ ^j Q _j CJ CJJ _i _i CTJ
rH O
3 IT
cj <:
; '.:- -- X X
r- «^ " -
»x::(Jr-
4-> X
*t t .3
10 4-3 XX
•"-Jj "^
n E— cj
O CJ1
cd ro u. cj ^j
—1 _i
k. 0'
ro 4-3 x:
cc-rH xj l-:
cju 0<
CU
ro 1 rH r-
^J
c> rvi cu
CU
* * Me O
CJ
144 August 1979 © BYTE Publications Inc
(a) (DEF PRINT (LAMBDA (F)
(PROGN
(PRINR F)
(PATCM MEWL INFO
F
(b)
))
)
(DEF
PRINR
(COND
((ATOM F)
(T (PRCGr
(L.AM5DA (F)
(PATOM F))
(PATOM
(PRINR
(PRINL
(PATCM
LPAREN)
(CAR F))
(CDR F))
RPAREN)
))
))
(DEF PRINL (LAMBDA (L)
(CCNP
((DTPR L) (PRCGK
(PATCM SPACE )
(PRINR (CAR L))
(PRINL (CCR D)
>)
))
)
* type
out a
form, ful]
y parenthesized, and then go to a new
pr hit
JSR
PUSI1X
save X-reg on stack
3SR
PRINR
simply pass the buck to recursive PRI
LDX
CRLFAT
type out CR/LF
DSR
PATOM
using PATOM
JMP
POPX
restore X-reg and return.
* type
out a
f o r 'it , with
no CR/LF
* clo'
bber s
X-re*
PRINR
JSR
IS A TOM
is the form an atom?
PCC
PATCM
yes, pass the buck to PATOM
JSR
PUSHX
nope, stack the X-rer,
LDX
LPAFAT
type out a "( "
DSR
PATOM
PRINL
JSR
TOPX
restore the X-reg
LDX
CAR,X
type out the CAR
GSR
PRINR
(recursively! )
JSR
POPX
restore pointer to the dotted pair
LDX
CTR.X
advance to next dotted pair in linked
JSR
ISDTPR
is there a next dotted pair?
3CS
PRPAR
nope, jo type a " ) "
JSR
PUSHX
yep, save the new X-re"* ag?in
LDX
SPACAT
type out a space
[kSR
PATOM
BRA
PRINL
one! loop around.
PRPAR
LDX
RPARAT
type out a ")"
BRA
PATOM
and return (through PATOM).
1 ine .
list
Listing 6: LISP and M6800 assembly code of the PRINT routine.
Text continued from page 142
when encountered (eg: "(" and ")") without any separator
characters necessary.
In the author's LISP system RATOM is relatively
sophisticated, allowing for atoms with spaces in their
names if they are quoted ("..."). Also the single quote
character (" '") is given special significance, as are "[" and
"]". However a simpler RATOM is quite enough for an
initial implementation. To make this exposition simpler,
only single digit numeric atoms will be allowed. Certain-
ly in an eventual implementation, multidigit numeric
atoms, optionally preceded by a minus sign would be ac-
cepted.
In this RATOM, the characters are copied into an area
set aside to hold the names of atoms as they are input. A
null character (ASCII code zero) is used to terminate the
name, when a separator or special character is en-
countered. If the name is entirely numeric, then the atom
is a numeric atom, and the form is simply the value of the
number, with the high order bit set, and one other bit left
zero for use in the garbage collector. Otherwise the atom
is a symbolic atom, and a scan is made of the OBLIST for
a pre-existing atom with the same name. If one is found,
the characters just typed in are thrown away and a form
specifying the pre-existing atom is returned. If the atom is
a new one, a 4 byte cell is allocated (using GETCEL defin-
ed in listing 4) and a pointer to the new atom is added to
the OBLIST. A form specifying the new atom is returned.
The M6800 assembly language code for this is in listing 5.
PRINT Function
PRINT is the second major recursive function compris-
ing the LISP interpreter. It takes a single form as argu-
ment, and types the value as a fully parenthesized LISP
expression. PRINT simply calls the more primitive func-
tion PATOM when it is given an atom to type. Other-
wise, PRINT types a left parenthesis, calls itself recursive-
ly to type out the elements of the list, and then types a
right parenthesis. In any case, PRINT always types out a
carriage-return/line-feed at the end. This can be coded as
in listing 6.
In the LISP routines, the special function PROGN is
used. PROGN simply evaluates all of its arguments in se-
quence, and then returns the value of the last one as the
value of the entire PROGN. The two functions ATOM
and DTPR are used to test the type of a LISP object.
ATOM returns T if the argument evaluates to an atom —
symbolic, numeric, or NIL. Otherwise ATOM returns
NIL. DTPR is the exact opposite. It returns T if the argu-
ment evaluates to a dotted pair, and returns NIL other-
wise. Such functions which return either T or NIL are
called "predicates" in LISP in analogy with predicates as
used in symbolic logic. Such functions in other languages
are called Boolean functions.
Nowhere in the routines for PRINT, nor for that mat-
ter in the routines given earlier for READ, is the
allowance made for the input or output of list structures
which require the use of "dot" notation. A structure like
(A B C . D) could not be input, and the above PRINT
routines would type it out as (A B C), simply assuming
that the atom which ended the linked list was NIL. It
turns out that the changes necessary to implement dot
notation are quite straightforward. For example, to add it
to the LISP version of PRINT, only the routine PRINL
need be rewritten, as follows:
(DEF PRINL (LAMBDA (L)
(COND
((DTPR L) (PROGN
(PATOM SPACE)
(PRINR (CAR L))
(PRINL (CDR L))
))
((EQ L NIL) NIL)
(T (PROGN
(PATOM SPACE)
(PATOM DOT)
(PATOM SPACE)
(PATOM L)
))
August 1979 © BYTE Publications Inc 145
A corresponding change could be made to the assembly
language routines.
As with the primitive function RATOM, the function
PATOM turns out to be more difficult to implement than
the recursive PRINT. PATOM must distinguish between
symbolic atoms, numeric atoms, and NIL, and act accor-
dingly. With symbolic atoms, PATOM simply types the
null-terminated name of the atom. With numeric atoms,
PATOM must convert back from the internal represen-
tation of the numeric value, to the string of ASCII
characters which represent the number. With NIL,
PATOM simply types 'NIL ' . Listing 7 is a simplified ver-
sion of PATOM with numeric atoms of only a single
digit.
EVAL Function
The EVAL function is the heart of the LISP interpreter.
EVAL accepts one form as an argument, and evaluates it
according to the LISP convention: the value of NIL is
NIL, the value of a numeric atom is itself, the value of a
symbolic atom is the form associated with the atom, and
the value of a list is determined by applying the function
specified by the CAR of the list to the list of arguments
which make up the CDR of the list.
In most LISP systems at least two distinct kinds of
functions exist, SUBRs and LAMBDAs. SUBRs are the
built-in functions of the LISP system, written in machine
code (like CAR, CDR, PATOM). LAMBDAs are the
user-defined functions, defined like (DEF GCD (LAMB-
DA (X Y) ...)). The effect of such a DEF is simply to
define the list (LAMBDA (X Y) ...) as the value associated
with the atom GCD.
The type of object used to specify a SUBR function
varies among LISP systems. Frequently a new type of ob-
ject is defined, called CODE, distinct from atoms and
dotted pairs. A second alternative is to treat SUBRs like a
funny kind of atom. The author's LISP system treats the
bytes which make up the machine code of the SUBR like
the print name of an atom. The SUBR is then specified by
a dotted pair, with the CAR being the atom "SUBR" to
identify the type of function, and the CDR being this
atom with the funny print name. In fact the print name is
prefixed with a special string which is unlikely to occur in
a normal atom's print name, and hence PATOM could
detect that the print name was not typeable, and simply
type, say, "!" instead. In addition EVAL can check for the
presence of this special string at the beginning of the print
name to avoid treating a normal atom's print name as
machine code. This method for specifying SUBRs avoids
introducing an additional type, but the added complica-
tion in PATOM and EVAL may rule out the method in
some implementations.
When EVAL is given a list to evaluate, it first evaluates
the CAR of the list (recursively). The evaluation of the
CAR should be either a LAMBDA expression, or a SUBR
expression. If the evaluation of the CAR is an atom, or a
list not headed by LAMBDA or SUBR, then EVAL stops,
and indicates an error to the user.
If the CAR of the list gives a LAMBDA expression, the
arguments to the function call are evaluated one at a time
and saved on a list. The value associated with the "for-
mal" arguments of the LAMBDA expression (eg: X and Y
to the GCD routine given earlier) are saved on the stack.
These formal arguments are then set one at a time to have
the value of the corresponding actual arguments to the
function (which were evaluated already). Finally, the
"body" of the LAMBDA expression is evaluated, with the
formal arguments now holding their new values. The
result of evaluating the body is the result of the original
function call. As a last step, EVAL restores the original
values of the formal arguments.
Following the details of evaluation of such a function
call is very difficult at first. The sequence of these steps is
critical: evaluate actual arguments, save old values of
formal arguments, set new values of formal arguments,
evaluate body of LAMBDA, restore old values of for-
mals. With any other sequence there is a chance that
changes to the formal arguments of this function might
interfere undesirably with the values of atoms in the call-
ing routine's environment. These formal arguments are
supposed to be strictly "local," that is, the choice of a
name for a formal argument should be a strictly local
decision, having no impact on variables with the same
name in calling routines. Observing these rules allows
LISP functions to be freely recursive. As the above ex-
amples of routines demonstrate, this recursion is in fact
heavily used in LISP programming.
The steps in applying a SUBR function are simpler,
because there are no formal arguments to worry about.
EVAL simply evaluates the arguments to the SUBR, and
passes them as a list to the machine code subroutine.
EVAL expects the result of the SUBR to be left in register
X when the subroutine returns.
This much of EVAL can be implemented on the M6800
as in listing 8.
The routines EVLALS, POPFRE, EVLNSV, EVLRSO,
and EVLRST have not been included in listing 8 for bre-
vity's sake. They are all relatively straightforward
routines, making heavy use of GETCEL, PUSHX, POPX,
and FRECEL to build up and then release the lists of saved
values.
Two additional types of LISP functions, normally
recognized by an EVAL function, are called NLAMBDAs
and NSUBRs (or FSUBRs, or FEXPRs if you prefer).
These types of functions take their argument lists un-
EVALed. NSUBRs are simply passed the CDR of the ori-
ginal function call list, instead of a list of evaluated argu-
ments. Similarly, NLAMBDAs are provided with only a
single argument, the list of unevaluated arguments.
Without NSUBRs it is necessary for EVAL to recognize
functions like COND as special cases, so that their argu-
ment list is not immediately evaluated. NSUBRs are
specified in the same way as SUBRs, with the atom
"NSUBR" replacing "SUBR" in the CAR of the dotted
pair. PRINT will type out NSUBRs as "NSUBR .!)"
NLAMBDAs are very useful for creating elaborate
user-defined functions which take argument lists that are
as or more complicated than COND. NLAMBDAs are
necessary anytime the number of arguments is variable,
or some of the arguments are wanted unevaluated.
To incorporate NLAMBDAs and NSUBRs in the above
Text continued on page 148
146 August 1979 © BYTE Publications Inc
qj 2;
i- cc
w o
<C QJ
cj .o
•H O
bO E
"■» o
O ~ 4->
4-> >» ro
10 4->
QJ l_ rH
ro qj
bO
a; o
4-> O 4-> 3 3 rH
qj rH .-i i_ i_ - -h
> -rH TO w (0 4->
ro 3 > to qj cj
10 CD -H >,..H
QJ Q
•o CD
cj «x
O J
4-> L.
o o
cj <~
j- sz
QJ 4->
to to
3 4->
CJ
< OQ)
Q 4-> Q.
cu x
2! l_ QJ
*c o
J U (1)
I- cj
QJ <V -r-t
SZ -P =
4-> 4-> 3
I- O
>» O V.
,-h a.
Q. QJ J*
a. i_ ro
>» - cj ro ti-
ro
QJ
cc <i:«3: _
<: >co :
UUJHL
> 3
TO O
CO CJ
E X
o
4-> CL CC
CO J <£
I Lu u
>»
o c~
bO<i:
C- Q
cc -CO
CD to 21
Z> QJ <d
CO >»_J
O bO.O
bO
E- CO E-
<C 3 <C
CC CO CO
CD ^J S
Z> > <t
CO UJ _)
-~j o
QJ >
>>UJ OJ
OO
t: •»-> co
«* 2:
cj cc
O cc
• J» CJ 10 rH
O l i
I -rH 3 =r
. 4-> 4->
> TO CD QJ
3 i- i-
QJ TO CJ 4-)
I. O l. > > W
1
3 O
X
O j-> <~
I- QJ
cj
.£> l_ "C
•iH
3 QJ
CO 4-) CJ
4->
CJ O
QJ -rH -rH
3
•o o +J
to
o ao
QJ
CJw c
3
QJ 10 <~
cj bo
4->
•H \- <~
r. ro o
3
o
TO <♦-« CC
CJ
•
E O CJ
L.
T.
U
3 CC
QJ 4->
4->
O
SI 10 4->
QJ Lu
4-> -rH TO
V-
r-»
X3
rH 4->
X3
CJ
rH _J CJ
CJ
TO
TO <C -rH
TO
o > o
CC 4->
CD QJ
> -H UJ CC
rH ?:x X
3 CC CL CL D« CL
to O O ^J O — i
CD U* CL n: CL Lu
cl cl cc
O -i o
a- «c Lu
to CO
rH TO **-*
CC T. cc
X cc o cc
rH <£ - u) E- UJ
^O-CC j< J
b0> — i Q > CO >
UUJL.UUJH UJ
TO
L. E
4-> QJ
W 4->
TO QJ
E
QJ -O
E TO
O QJ
o cj
cj to
4->
QJ 3
TO 4->
W
CJ
QJ O
4.) -H
U O
O l_
CX<r>
cj a
M
i- «~
(« o
O OJ
■H 4->
<« <r>
I- O J= —
cc cc
X cc cc
«— UJ ou 2". <cs:x
ccxrvjjxojxcca-cc j
<C ««r>> *<r>> -O C O >
uo^sijj'-%ujf\j|j - a-[x 1 uj
3 bO
to
TO
>>
-- 1 E
O U
1—!
E
i—t
u u
l_ TO
TO
L.
QJ
TO O
n
«
F
o
<r
>
l-<~
•
3 -o
— i
i_
<~ G
■iH
o
J
to <u
<C
10 o
en
to
a<«
*r
4-> ^-j
>
b0<^«
Su,
%'
L.
E o
>
^ r-l <C
UJ
L.
o <r
3
QJ
UJ
>-* 3 >
ro <~
<« ^j
O
4-) 10
TO tO UJ
E
o
QJ
QJ
E
CJ QJ
o
<«
to
<«
L.
E 3
O
l_ <~
u
o to
QJ
o
>w/
U rH
i_
O
bO
t«
QJ
3
O TO
bO^
^ -o
QJ
^■v
4-) 3
rH
>•
>.<«
QJ
O QJ 4->
L.
£
•
10 rH
TO
TD
"O
V- CJ
c to
1
U
•
•H TO
>
O
o
4-) -O
1 u
tO u -H
X
3
•
rH >
X)
A
rH rH
X 3
^C 3 rH
4->
3
3 O
4J>
O 4->
QJ
QJ
">
QJ "O
QJ
o
QJ
to
QJ QJ
o qj a
i_
U
bi
4-) rH
CJ
4J>
4->
QJ QJ
V- l-
rH U 3
O
TO O
TO
I. v-
O
4J
X3
^>
3
QJ
4J>
3
o
4-> -O
CC QJ OJ
to
CJ
v_x
rH 0;
U
CJ
rH
QJ 4->
10 CJ
CD > OJ
QJ
TO
TO >
O
■iH
TO
> to
QJ TO
3 TO l_
l-
<
> TO
4J>
o
>
TO QJ
V-
CO 10 <—
Q
CD
2:
cu to
to
a
QJ
to l_
CO
E-
«: co >
o
H
H
-J
•— i
j
-1 CO
CO
X
CO
H
^<2CC » — I CC X
J J jcucc ^cu^a-_)
CJ>>>^t >—!>—!>
OUJUJUJ U,U UJLu.tjJU.UJ
X CC CC u o
a co co u si <c
^J CD -a CD 10 Q
CD
bos:
QJ <C
I- ^Jj
I
3
X X
. E- Q
xc_>xc_y qjxcc i_ uxccxccxccxxco
CL.UJCL.UJ QcO O E-COE-COE-COE-QE-
OCDuCDrHJ-3 CJCO-aCO-acO-acOJCC
O
TO
bO
QJ CC
t-\ CC
r-t UJ
rH l_
TO 3
L. QJ rH
O i_ X
CJ J
>
* * UJ
ccXXujcct)xx<CLUJ<CLUJccXo:x<
U C/J QQ— i(/]UUDQV2Qr2(/)hnacc
n
• CO
> ~J
>
:ccccxx ccxccx<
icocoQq coE-coacc
>-3-3^Jj^J -3CO-3^-JCD
rH 21
TO <C
> -J
QJ
3
O
CJ
5
t
CJ
•r-t
L.
o
QJ
Hi
4->
Cm 4->
CJ
o
r- 1
3
•rH
•H
^ E
ST
o
QJ X)
4->
4-> U
r
L.
4->
3
_•*.»
QJ O
>t TO
O
"5b
to <~
F
bO
QJ
L.
QJ
n
• i-
O
e
E
TO
F
4->
3
^
-H
4.) <«
4->
•H
•r-t
SZ
TO
i_ tH
O u
-Si
TO
O
■r-t O
TO
L.
4->
V
CJ
QJ
CJ TO
CJ
L.
A
4J
TD 4->
SZ
"bb
•H
QJ
4->
t«
E
to
TO
4->
<«
L. l«
L. O
•S
E
N
J= -rH
O
L.
3
O
O -rH
O
to
L.
QJ
to
bO-O
QJ
o
T3
4J
TO
a
L.
s:
3 to
o
L.
O-
<~ 4->
3
2
5
4J
•rH
J= 3
E
4J
L.
QJ
O
QJ 4->
= a .
w o
TO
J
TO
QJ
o
4->
rH -O
N
•rH
* 21
CJ
F
r—t
CJ
r— 1
<^>
CJ
CJ
4->
o
CJ
bC
= J- O
3
O
i-
E
•
z
L.
•H
O
•r-t
TO
4->
4-> TO O")
L.
O E-
to
to
i_
O
O v-
4->
4J
o
E
e
L.
3
TO
o -o
4-> 4-J <X.
QJ
QJ
t«
4-> TO
CJ
3
L.
4->
u
10
o
TO
O
-C\J
c«
3 -H CL,
E
4->
TO QJ
•rH
o
o
TO
QJ
L.
E sz
1
JiC QJ •»
QJ
O CJ
-C
TO
TO
t«
r-t
L.
t«
CJ
4J
TO
L.
O
•
c
O 4-> «-
QJ
rH
O E
cj
CJ
rH
•H
O O
Q.4->
•rH
1
jr
ro 27.
-o
a
O >»
O X)
bO
QJ F O
^5
3
•r-t
•rH
4->
E
1— 1
oro
4->
c
>»
H£l A
O
CJ
a u
4->
L.
-
L. -
O
c
L.
rH
o cc
X
3
4J>
1
4->
o
•rH
>> o <~
3
o-»
QJ E
4->
QJ
•rH
QJ
3
QJ
QJ
O
bO
*
>. »_ 1
•rH
to
4-> 4->
O
O
<~ n
E O
a
L.
4->
CJ
sz
rH
QJ
CJ
L.
QJ
CJ
E
rH QJ
X) H
CJ
2":
3 4->
L.
>>
a
4J
JZ
TO
L.
i_
O
CJ -u -3"
r—t
TO
>»4-> »-
QJ
bO
•-
CJ TO
QJ
4J
r—t
TO
3 4->
O
1
3
4->
O L. -
/N U
rH -H 3
a
QJ
4->
o
r-t
4->
C
4->
a
X
4J>
TO
O on
1
CO
CJ
Q, b0 4->
h.
>>
L. 4->
4-> CJ
CJ
o
4->
3
O
3
bO
o
QJ
*■
1
<t
TO
E -rH QJ
a.
4->
1
c
CJ -H
•H
bO
CJ
4J
O
rH
CJ
QJ
o
QJ
L.
O
. 3 c\j
SZ
•Ht3 U
X
•rH
•rH rH
o
bO
■H
•rH
O
r—t
L.
•r-t
?: o
o
c
■P
10
~
L.
L. O
CL-O
C
a>
4J
QJ 4-)
to
CJ
o
TD
L.
CC rH 10
•H
■u "C
V4_^
bO
<b
a
Q..O
CJ
•rH
j=
CJ
Q.
CJ
3
TO
ID
4->
C
QJ O 4->
4J
QJ
-cj c
o
QJ
>
E
4->
TO
L.
4->
•H
>. 3
>
CJ
to
TO
f=
LU 4-> -H
•H
X)
V-
10 QJ TO
L.
TO
o
O >. QJ
4->
» — '
o
4J
T3
TO
QJ
3
QJ X)
n -c
o
QJ tO
C
1
to
no
bd to
bO
10
a
TO
L.
CJ
CJ bO
cu
E
>>
o
X
*2
CJ
H
f-
>-
2
O
•o «-
2
cu
•H
<I
<c
X
UJ
-
<
S
UJ
QJ +
Z>
p
X-J
s:
•>
s:
-J
2i
Q u
y
T.
CJ
J- 5.
(\J
O Q
•Si
E
CC
H
r>
cc
*j;
H
JXhh
<t
cc
o
OCC
o en
s:* E- E-
L.
bOO 2
2
<x
z
z
rH
.
<f. 3
p".
O
4JO
o
»■
-
2
- Z> «3T
o
QJ Lu CL
CU
o
a.
•
o
sr
O CL. 0u
Cu
Lu
to
tO Lu
^t
s^s
%
Cu
% cu cu
v^>
t«
L.
L.
"a.
o
1
X
QJ
>
>>
T3
•iH
TO
F
to
<£
T3
aj <c <c <c <c <j:
<c
to
O
QJ x cr E- x
X
<c
o
CD
X
<t
accx
<C
X CO
QJ
u<o:uQ0luj<q:<
^
4J
>
E- UJ
HU1Q
cc
o
o
Q Q UJ CO 2
CC
a e-
•H
rH a co o a
JU
-j
Q CO cc
TO
L.
CO CD
CD Q
_l
CD
Lu
Lu
^Jj
^_i
CD -3
n
CD
J CC
<«
ro_i^«3:<i:c_>co^Jj-3CO
C\
CJ
QJ
to
r-t
E
CXJ
•S
QJ
QJ
j-;
H
^
a
L-H
>
L.
2:
<
<x.
UJ
r>
E
o<c
•rH
ao
s
J
T.
Q
•rH
U-> 2"
c\j
.to
bO
H
J
H
<x.
H
to
z5
21
<C
t-H
II
zz
<
"nr.
2
^J
*
Cu
*
2
*
CL
Cu
Jit
Cu
*
* cu
CL.
5
a.
5
bo
TO GJ
Q. 3
>. JO 0/ L
rH XI 3
a >» cj
F o- i_ 4->
•rH g L. CO "O
10 O TO 3 TO
*» -P o F O
H * TO r-t
H J O -
_ H O 4-> ^ -
2 -rH CJ L. ^n
rH -rH TO 4-)
5 L. O QJ QJ
X O JZi O r-t 10
= E o
U E >»4-> 4->
J O tO -rH 4-> -rH
4-> JD -H X)
= TO TO JD
1 QJ 3
} O tO 4-> 3 O
" -r-t .rH TO O rH
J- JT 4-> rH w
D QJ 4-> O ^
> E »- co
3 10 w O QJ
1 CJ -rH CJ >»
L. TD
O CJ
4-> TO
TJ — I «-
CU rH 4-
to 21 2 2Z
to cc ?■ cc
TO O ^ O
CXLu 2 Lu
cc cc
a o
U Lu
XUXCCOXXXCO
(DhnQOUUJQhh
4_>cOCD_icccDQ^JjcOCC
TO
>>2
xi cu
QJ —I
o cu
QJ —I
•rH (X)
4-> 3
CJ rH
CJ TO
3 >
QJ
•O -r-t
CJ bO
-J O
Lu 4-)
3 4-)
O CJ
C X X X
o x a: x 2!
•rHCucOcucOCucOcc
4->— iZ>— 13^)30
o<:cL,LuCunT:CLLu
x cc x cc x cc x
j Q CO O CO Q CO Q
) J ^ ^j -3 J -3 J
August 1979 © BYTE Publications Inc 147
COMPUTER/
COMMUNICATION
SEMINARS
OF EXCELLENCE
SKA I TELEPROCESSING"
^.L ^SYSTEMS
DATA ' COMPUTER 1
| NETWORKS | NETWORKS j PROTOCOLS ]
a - i.
*"* I ' ""
"PACKET I DATA '
SWITCHING * COMMUNICATIONS ' ENCRYPTION J
SIX DYNAMIC 3-DAY SEMINARS
BY THESE EXPERTS
LUCKY -GREEN
DATA COMMUNICATION SERVICES
AND PROTOCOLS
CHICAGO ■ OCTOBER 8-10, 1979
KONHEIM
ENCRYPTION FOR COMPUTER
COMMUNICATION SECURITY
WASHINGTON, D.C. ■ OCT. 31 -NOV. 2, 1979
KLEINROCK-
FRANK- ROBERTS
EXPERTS ON NETWORKS
BOSTON ■ NOVEMBER 7-9, 1979
Mcquillan -cerf
COMPUTER COMMUNICATION PROTOCOLS
WASHINGTON, DC. ■ NOVEMBER 5-7, 1979
CYPSER
ALL ABOUT IBM's SNA
BOSTON" DECEMBER 3-5, 1979 .
KLEINROCK
COMPUTER NETWORKS
SAN FRANCISCO ■ DECEMBER 3-5, 1979
Seminar Fee:
$675
Call or write today:
(213) 476.9747
SESTNSWWPe
P.O. BOX 49765, LOS ANGELES, CA. 90049 (213)476-9747
EVAL routines, two additional checks must be added im-
mediately prior to EVLERR:
BEQ EVLLAM
CPX NSUBAT
BEQ EVLNSU
CPX NLAMAT
BEQ EVLNLA
* illegal exp...
EVLERR
NSUBR?
yes, go call machine code
subroutine
NLAMBDA?
yes, pass list of args as single
argument
and the additional routines EVLNSU and EVLNLA must
be included. Both of these routines are simpler than the
corresponding routines EVLSUB and EVLLAM.
To make EVAL useful, some number of built-in SUBRs
and NSUBRs must be written. The number of such built-
in primitives can be kept quite small in LISP if they are
chosen carefully. Most routines can be implemented as
user functions if a few primitives exist. The primitives
will certainly include PATOM, RATOM, EVAL, CAR,
CDR, CONS, COND, SET, ADD, SUB, EQ, GREATER,
ATOM, and NUMBER. All but SET and NUMBER have
been used in the LISP function listings. SET is the
primitive LISP assignment function. SET takes an atom
and a value, and sets the value associated with the given
atom to be the given value. NUMBER is a predicate func-
tion like ATOM, and simply returns T when its argument
is a numeric atom. Listing 9 is an example of one of these
primitives, the SUBR EQ.
Notice that the SUBRs and NSUBRs will start with the
preface string (hex 21, 00 is used in this system). The
argument list is always pointed to by ALP. Also notice
that the SUBR may not assume that the proper number of
arguments were supplied. The general rule is to treat
* two argument SUBR EQ
* return T if given identical forms, NIL otherwise
EQSBR FCB $21 special preface string
FCB $00
* ALP points to the list of evaluated arguments
EQSNIL
TRUE
LDX
ALP
get first arg
BEQ
TRUE
no args is equivalent to
(EQ NIL NIL )
which should return T.
LDX
CAR,X
save first arg temporarily
STX
XTMP
LDX
ALP
pick up second arg
LDX
CDR,X
BEQ
EQSNIL
(EC X) is equivalent to
(EQ X NIL)
LDX
CAR,X
CPX
XTMP
are the forms identical?
BEQ
TRUE
yes, return T.
LDX
ZERO
no, return the NIL form
RTS
LDX
TATOM
return T atom
RTS
Listing 9: EVAL may have built in primitives to expand the
language. This is an example of the primitive SUBR EQ.
148 August 1979 © BYTE Publications Inc
Circle 365 on inquiry card.
The face is (becoming) familiar
No surprise ... it stands out in the crowd. The
quality and reliability that Industrial Micro Systems'
customers have grown accustomed to is now avail-
able in our complete system. A system that will grow
with your needs.
You can start with a minimum 16K, single disk
system. The system shown above can be expanded
to 608K-Bytes of fast RAM with three double-sided,
double-density drives. And more to come.
The microcomputer industry standard CP/M™
operating system is delivered with the system.
PASCAL is available. Industrial Micro Systems sys-
tems users are developing an impressive array of
application software.
The system is offered in rack mount and table
top versions and also in our own desk enclosure.
In addition to gaining in familiarity, the Indus-
trial Micro Systems picture for total system products
should be coming into focus for everyone. Advanced,
reliable electronics . . . industry standard software . . .
and functional, high quality enclosures.
Industrial Micro Systems, your source for com-
plete systems. And the prices are right.
Ask your dealer to see the full Industrial Micro
Systems line of products and be watching for excit-
ing new additions soon to come from Industrial Micro
Systems, 628 N. Eckhoff St., Orange, CA 92668.
(714)633-0355.
INDUSTRIAL MICRO SYSTEMS, INC
The great unknown.
Circle 173 on inquiry card.
' CP/M is a trademark of Digital Research, Inc.
BYTE August 1979 149
use TRcopy
WITH YOUR LEVEL II TRS-80*
TRcopy is a cassette tape copying system that lets
you SEE what your computer is reading.
COPY ANY CASSETTE TAPE**
With the TRcopy system you can copy any TRS-
80 Level II cassette tape whether it is coded in
Basic or in machine language. You can also copy
data created by programs and you can copy assem-
bler listings.
YOU CAN SEE THE DATA
As the tape is being loaded, you can SEE the
actual data byte-for-byte from the beginning to the
end of the program. Up to 320 bytes are displayed
at one time. ASCII characters are displayed on the
first line and hexadecimal code is displayed on the
following two lines. Data is displayed exactly as it
is input including memory locations and check sums.
IDENTIFY PROGRAMS
With TRcopy you can identify programs on cas-
sette tapes without written documentation because
you can SEE the filename. If you forget to label a
tape, you can use TRcopy to display the tape contents
and identify the cassette.
VERIFY CASSETTE TAPES
With TRcopy you can verify both the original tape
and the tape copies. You can make certain that your
machine reads the original tape correctly and that it
makes byte-for-byte copies. TRcopy also counts as
it reads giving you the exact length of the data.
MAKE BACKUPS FOR YOUR PROGRAMS
Now you can make backup copies of your valuable
programs. Many times a cassette that you make will
load better than one that is mass produced. The
original can then be kept as a backup in case the
copy is damaged. f
MAKE COPIES OF YOUR SOFTWARE
If you are in the software business you can use
TRcopy to make tested copies of your programs for
sales distribution. TRcopy produces machine lan-
guage tapes that are more efficient than those pro-
duced by the assembler itself.
RECOVER FAULTY DATA
With TRcopy you can experiment with the volume
and level controls and you can SEE what the computer
is reading — even if your computer will not read the
data through normal read instructions! In this way it
is possible to read and cojiy faulty tapesby adjusting
the volume control until you SEE that the data is
input properly.
SIMPLE - FASCINATING - FUN
TRcopy is not only a practical utility program.lt
is also a fascinating graphics program that lets you
SEE, for the first time, cassette data as your com-
puter is reading it. And it's as simple as 1-2-3.
Just load, verify and copy. You will now be able to
use cassette tapes with confidence knowing that
TRcopy is there when you need it.
The TRcopy system is a machine language program
with documentation explaining tape leaders, sync
bytes, check sums and other formatting conventions.
With the TRcopy system, you can SEE what you are
doing!
TRcopy System Including
Cassette Tope and Documcntatic
195
rr .J in 14 days. No CODV R«tm
1 lull refund if you arc not satisfied.
ND. Orders Add *TRS80 is a trod
3% Sales Tax. of the Tandy Co
Data/Print
DEPT.BT, BOX 903, FARGO, N.D. 58107
YOUR
ORDER
E H
o o
ill
J? 5 ? £ =
^ g z w —
^ TS " "8 =
~ -- *" °JI n I—
-a a. =1 a ^
Qi s s 1 1 g
2J or- 51 < CC
SO 8*jL « ~
o a -a <d
zu
o ■£
E
0) c
E ""
S I.
a.
o z _
C/D
5 °*
O -a Z
a. ** **
„ * rj"S CC
1 - ^ •- °
~ e "2 Z
a o — c
TOLL FREE
SAME DAY
SHIPMENT
unspecified arguments as though they were NIL. In EQ
above, this gives some rather strange behavior, where
simply (EQ) will always return T. It still remains for the
implementor to initialize the atom EQ to point to a dotted
pair, (SUBR . funny-atom), with the print name of the
funny atom set to point to the code at EQSBR as shown
in listing 9. The final section of this article goes over some
of the problems involved with this kind of initialization.
Garbage Collector
A garbage collector eventually becomes essential in
any LISP system. It is possible to create dotted pairs that
are no longer accessible to a LISP program by any path.
This happens, for example, if a function like REPLACE is
called and then the value returned simply PRINTed but
not saved as a LISP atom. This cannot go on for long
before all of the free space is used up" with dotted pairs.
The garbage collector's job is to find all of the dotted
pairs.
The various algorithms for locating such jetsom of the
LISP function evaluation process are all quite intricate.
The basic idea is always to trace systematically down
every list structure to its component atoms, marking
every dotted pair encountered along the way. If a dotted
pair is encountered which is already marked, then that
branch of the list structure is assumed to be already fully
traced. The garbage collector then makes a sequential
scan of all of memory space occupied by dotted pairs,
and links together all unmarked dotted pairs onto a
special list, the free list. During the scan, the marked dot-
ted pairs are simply skipped over, because they are
assumed to still be a part of some useful list structure.
When a marked dotted pair is skipped over, its mark is
also cleared in anticipation of future garbage collections,
when it might no longer be so lucky.
The difficulty with this trace and collect algorithm is
that each dotted pair points to possibly two more dotted
pairs, so during the tracing phase the garbage collec-
tor must eventually follow both paths. What this means
is that a second indication must be made on each dotted
pair, indicating that the garbage collector is now busy
tracing the CAR of this dotted pair, and will be returning
later to trace the CDR of the dotted pair.
During the tracing phase, the garbage collector might
very well be thought of as an ant determined to visit
every branch of a tree. It goes out to the tip of each
branch, but as it returns it must remember whether it has
already traversed the other paths going out from each
branching point. Even this analogy underrepresents the
difficulty of a garbage collector, because the ant can
simply turn around when it reaches the tip of a branch,
but the garbage collector would normally have no clue as
to how to climb back toward the root of a list structure
once it gets out on a distant dotted pair.
The solution to the garbage collector's problem is to
either reverse all the pointers in the list structure as it
forays out to the terminating atoms and then reset the
pointers on the way back in, or to keep a list of all dotted
pairs which still require that their CDRs be traced. The
first solution is like stringing a spool of thread behind you
as you venture into an unexplored cave, following the
thread back toward the mouth of the cave when you
reach a dead end. Of course the same danger exists; that
150 August 1979 © BYTE Publications Inc
Circle 96 on inquiry card.
Circle 357 on inquiry card.
The garbage collector may run at any
moment.
the delicate thread leading you back to the starting point
might get tangled or broken.
The second solution is simpler, but suffers from the
grave problem that it requires room to store the list of
partially visited dotted pairs, and garbage collectors tend
to be called upon at times when there is no more room to
spare. In fact, the list of partially visited pairs need
get no longer than the maximum "depth" of any list
structure in the system, so that by setting aside a small
portion of memory reserved for the use of the garbage
collector's list, the implementor can get by with coding a
much simpler tracing algorithm.
The author's system uses the pointer reversal method,
and he will testify to the unlimited number of obscure
problems which can appear during the debugging phase
of its implementation.
It should be clear now why it was important to leave
one bit in each form, and hence two bits per dotted pair,
free for the use of the garbage collector. The bit in the
CAR form can be used to indicate that the dotted pair has
been visited once, and the bit in the CDR can be used to
indicate that both paths from the dotted pair have been
traced. These bits are only used during garbage collec-
tion, but because the garbage collector may be called at
any time when GETCEL finds that there are no more 4
byte cells on the free list it may, in fact, run at almost any
moment.
Because of this unpredictability, a LISP system with a
garbage collector must be coded "defensively," jealously
protecting any dotted pair allocated but not yet added to
some accessible list structure. The machine code routines
given in the listings do not all adhere to this rule. The
reason for ignoring the garbage collector in the develop-
ment thus far was simply to keep the design of the rou-
tines simple and relatively intuitive.
If the reader intends to include a garbage collector in
an implementation of a LISP interpreter, more care must
be taken. For example, two versions of the routine
PUSHX would be defined, normal PUSHX and PROPSH
(protected push). The PROPSH would be used when the
16 bit value being pushed on the stack pointed to list
structure which might not be accessible in any other way,
and hence might get collected in the next garbage collec-
tion scan. PROPSH avoids this danger by marking the
cell used to store the saved value so that the garbage col-
lector will know to trace this form and its descendents.
Initialization
It is ironic, but somehow appropriate, that the section
on initialization comes at the end of this article. Frequent-
ly it is in fact one of the last things an implementor thinks
about. That is probably because initialization is one of
the biggest difficulties facing the implementor of any
language: assembler, interpreter, or compiler. By ini-
tialization is meant the inevitably awkward methods of
getting the symbol tables, or the OBLIST in LISP pre-
loaded with the names which are to be built-in to the
system. Most of the routines written to enter symbols in-
TINY' PASCAL
for TRS-80®
& NORTH STAR®
Now you too can have Pascal! The Chung/Yuen 'Tiny' Pascal has
been specially designed for TRS-80 & North Star owners. The full
power & elegance of 'Tiny' Pascal is at your command. Programs
written in 'Tiny' Pascal run at least 4 times faster than the same
program in BASIC! 'Tiny' Pascal is also a great way to learn
Pascal Programming, & fun too.
The minimum system requirements are: Level II, 16K for TRS-80,
& 24K for North Star (specify single or double density).
SOURCE TOO!
But most important, you also get source to 'Tiny' Pascal written
in Pascal with each purchase! You can even compile the com-
piler! You can customize your own version, or just use it the way
it is.
'Tiny' Pascal is a subset of Standard Pascal & includes:
RECURSIVE PROCEDURE/FUNCTION, IF-THEN-ELSE,
REPEAT/UNTIL, 'PEEK & POKE', WHILE, CASE, & MORE!
(Plus full graphics for TRS-80 as well)
Also you can save & load programs.
Tiny Pascal supplied on cassette for TRS-80 and Diskette for
North Star.
You get all this & more, plus a user's manual for $40.00.
available from:
/wmon
P.O. Box 1628
Champaign, IL 61820
[217) 344-7596
All orders pre-paid, Illinois residents add 5% sales tax
HARD DISC
FOR S100 MICROS
The XCOMP DCF-10 Disc Controller pro-
vides the OEM with a high performance,
low.cost interface forfixed and removable
(2315 or 5440) cartridge disc drives. The
DCF-10 is currently supported by two
operating systems. For information or
manuals, contact XCOMP.
XCOMP
INCORPORATED
9915-A Businesspark Ave., San Diego, C A 92131 • (714) 271-8730
Circle 393 On inquiry card. August 1979 © BYTE Publications Inc " 151
to symbol tables, or to add new atoms to the OBLIST,
are all oriented toward names entered by the user of the
language processor. The initialization phase of the system
becomes quite complicated because of this orientation.
The methods finally chosen are, in general, tedious, re-
quiring a lot of special preparation by the writer of the
intialization routine.
The best way to avoid these initialization difficulties is
to spend a little extra effort in designing a few nice
routines for taking information out of tables which are
convenient for the implementor to set up and modify,
and let these routines do the intricate bit-twiddling work
necessary to get the objects in shape for the symbol table,
or the OBLIST.
In the author's LISP initialization module are routines
to build up dotted pairs in the form required for SUBRs
and NSUBRs, and routines to allocate 4 byte cells for
built-in atoms. The atom initialization routines are given
the address of a contiguous table of null-terminated
ASCII names, each followed by the address of a memory
cell where the form specifying the new atom should be
stored. This is where the symbols like TATOM,
SUBRAT, LAMB AT, etc came from. They refer to
memory locations in the base page of the M6800 (0 thru
255), where the forms specifying the atom T, SUBR, and
LAMBDA, etc, are stored. The table to initialize these
atoms was simply:
ATMTAB FCC
T'
FCB
FDB
TATOM
FCC
'SUBR'
FCB
FDB
SUBRAT
FCC
'LAMBDA
FCB
FDB
LAMBAT
FCC
FDB
FCB
null-
null-name terminates table
Although writing the special initialization routines was
initially time-consuming, it was more than compensated
for by the ease of adding more built-in atoms as the
system grew.
Conclusion
We have traced through the implementation of a LISP in-
terpreter and looked at a specific example for the M6800
processor. For further information on the garbage collec-
ting routines and a complete listing of the interpreter,
order BYTE document number 112. ■
Nyfjbles
The Nybbles Library is an inexpensive means for BYTE
readers to share some interesting but specialized forms of
software. These programs are written by readers with
small computers and printer facilities, and are therefore
designed for particular systems. The algorithms and pro-
gramming techniques in these programs can be directly
used by readers with similar equipment, or can serve as
an inspiration for improvisation on computers of dif-
ferent characteristics.
Potential authors for such programs should send us a
self-addressed stamped envelope, with a request for a
copy of our "Guideline for Nybbles Authors. " Payment
for Nybbles items is based on sales and length of the item.
Rates are set when author's proofs are returned.
Nybbles Library programs are sent in listing form,
printed on 8.5 by 11 inch, three hole punched paper for
collection in loose leaf binders.
This month "An M6800 LISP Interpreter" has been ad-
ded to the Nybbles Library. To order your personal copy
at $10.00 (US and Canada), $12.00 (foreign airmail)
postpaid, fill out the coupon below.
Please send
copies of BYTE Nybble it_
at $_
postpaid.
Please remit in US funds only.
Check Enclosed
Bill my VISA It
Bill my MC $
Name
Street
City
. Exp Date
. Exp Date
State
Zip Code
BYTE Nybbles Library, 70 Main St, Peterborough NH 03458
You may photocopy this page if you wish to keep your BYTE intact.
152 August 1979 © BYTE Publications Inc
NEW POWER FOR
YOUR APPLE n FROM
MOUNTAIN HARDWARE.
ROMPLUS+
«&
NEW EXPANDABILITY.
ROMPLUS+ is a peripheral board whose added features
can turn the Apple II* into the most powerful personal
computer available today.
NEW POWER.
ROMPLUS+ provides six sockets to accept individually
addressable 2K ROM's or EPROM's. Keyboard Filter™,
a 2K ROM program, comes installed on the ROMPLUS+
board and adds many useful features to your Apple II,
including:
• Upper and lower case letters. The only system that
offers keyboard input and standard shift key operation.
•Multiple user-defined character sets.
• Colored or inverse-colored letters.
•Keyboard macros— two key-stroke, automatic typing of
multiple, user-defined words or phrases. Including
BASIC and DOS commands.
•Mixed text and graphics.
• Improved cursor control.
• STOP LIST and END LIST.
•Works with Integer BASIC, RAM or ROM Applesoft,
and DOS.
• And more... quick to learn. Easy to use.
• Software support provided on disk includes
demonstration programs and two Editors that allow you
to define your own characters or keyboard macros.
SOPHISTICATED FIRMWARE.
In addition to the Keyboard Filter ROM, ROMPLUS+
offers five sockets for ROM or EPROM, plus "scratch-
pad" RAM. And, sophisticated firmware on ROMPLUS+
allows one, two, or more of its chips to be used simul-
taneously for programs longer than 2K.
EXPANDED UTILITY.
Many software programs really ought to be utilized
as firmware. ROMPLUS-f makes that an actuality for
the Apple II by providing six additional ROM sockets.
AT YOUR DEALER. NOW.
$169. Complete and tested. Including the powerful
Keyboard Filter ROM and full documentation. Ask your
dealer for a demonstration.
&
Mountain Hardware, Inc.
LEADERSHIP IN COMPUTER PERIPHERALS
300 Harvey West Blvd., Santa Cruz, CA 95060
(408) 429-8600
Sounds great.
□ Please send me all the details on ROMPLUS+ and
Keyboard Filter.
Name
Address.
City
Phone
. State.
.Zip.
* Apple II is a trademark of Apple Computer, Inc.
Circle 258 on inquiry card.
BYTE August 1979 153
Text continued from page 8:
Gary also wanted readers to understand that the LISP
of the "Lots of Infernal Stupid Parentheses" does not
represent the essential beauty of this approach. This
relatively awkward notation is the assembly language of
a LISP machine. It suffers from all of the disadvantages of
assembly languages. Relatively simple to program, this
"S-expression" form of LISP notation is one that is most
often implemented, and it tends to give a distorted view
of the language. Gary wanted readers to understand that
the alternative "M-expression" form of LISP, with special
characters noting relationships, is perhaps the most
elegant and natural form of expression for many pro-
blems. Rarely, however, does anyone implement an
"M-expression" oriented version of LISP at the user soft-
ware level.
The problem is similar to that of the language APL,
with one notable difference. In APL a special character
set was invented and assigned to the language for use in
representation of the new abstractions involved. The
same could be done for LISP if an "M-set" and an
automatic "pretty-printer" were employed at the user's
terminal interface, instead of a lot of parentheses and
ASCII codes.
One explanation for the reason that LISP has not yet
caught on as generally as APL might be the fact that APL
was first developed on large IBM computer equipment
with an elegant user interface. IBM Selectric printing ter-
minals were available to be adapted to a natural expres-
sion APL via the "APL-ball," while LISP was seldom used
with IBM equipment during its period of development as
a tool. With today's technology of personal computer
graphics, the same principle can be adapted to the user
interfaces of LISP software. The best LISP packages for
personal computers should incorporate an appropriate
display philosophy which allows the elegance of the
language to shine.
[While on this subject of "today's technology," we
have also heard some exciting words about a computer
system design from the Laboratory for Computer Science
at MIT. This is only an advance hint of what may come.
The machine is described as an experimental computer
with a very high resolution (1024 point) black and white
display, 32 bit internal architecture, an advanced LSI
processor such as Z-8000 or 68,000, gobs of memory im-
plemented with 65,536 (64 K) bit parts, and an advanced
operating system. As a commercial product it may be
available in 12 to 24 months in a price range of about
$5000. The word I have from its designer, Steve Ward, is
that the technology has been transferred by license to a
commercial firm which has existing interests in personal
computing products. MIT's motivation with respect to
having a commercially manufactured version is to be able
to buy several hundred of the machines for local use in its
technological community. We may have thought that the
past two years were exciting, but the field has hardly
begun its maturation...]
This series of BYTE August issues on languages empha-
sizes the fact that no one language will optimally satisfy
all uses. Just as people continually create new forms of
expression in any art, the history of computing has
demonstrated a similar tendency toward a variety of
forms of expression for algorithmic and data concepts.
Our coverage of APL, Pascal, and LISP by no means ex-
hausts the possibilities. In my own biased space of
language concepts, I see potential future August issue
attention to the concept of threaded interpretive
languages such as FORTH, and languages which it in-
spired, like URTH. Other possible linguistic points of
discussion might include string languages such as
SNOBOL, and even macro languages like GPM and
Calvin Mooers' TRAC. Then there are such concepts as
data base languages, and the whole issue of designing
language technologies for special applications such as
music, architectural concepts, graphics, etc.
The fundamental point of this essay still remains: no
one language will optimally satisfy all the needs of all
users. Some people care only about quick implemen-
tation and debugging, and do not really care about speed.
Some people just like one particular style of expression.
Some people think literally in tree forms and have to
strain to think in sequential processing forms. To the ex-
tent that programming concepts are universal, choice of a
language is often a matter of personal aesthetics. And
where languages go off in one or more partially or wholly
orthogonal conceptual directions, then the choice of
language is based upon the underlying uses of the tool.
(Fuel for a number of heated arguments is present in the
determination of just what is an orthogonal conceptual
direction.)
While on the subject of different languages and choices
of tools, I should mention one of the most exciting items
seen at the recent West Coast Computer Faire. This item
VAK-1 MOTHERBOARD
• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers
• Standard KIM-4* Bus
• Fully buffered Address and Data Bus
• Provides 8 expansion board slots
• Complete with rigid card-cage
• All IC's are socketed
• Provides separate jacks for one audio-cassette, TTY, and Power
• Completely assembled (except for card-cage)
We manufacture a complete line of high quality expansion boards. Use reader service
card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00
U.S.) for airmail delivery of our complete catalog.
* Product of MOS Technology
PRICE: $129.00
We also carry the SYM-1
Microcomputer with manuals $269.00
3Jrnb>
ENTERPRISES
INCORPORATED
2967 W. Fairmount Avenue • Phoenix, AZ 85017 ■ (602) 265-7564
154 August 1979 © BYTE Publications Inc
Circle 325 on inquiry card.
IffOW
««««*"*!
t£&&.
'?J*K J^^V
wjfe
S*A*o
ISBN 0-931718-07-4
Buy this book at
your favorite com-
puter bookstore
or direct from
BYTE BOOKS.™
Add 60c per book for
postage and handling
The marvelous
computer projects that
Steve Ciarcia has constructed in his
cellar are explained in detail so that you
can make your microcomputer perform the same
useful functions. Each article is a complete tutorial,
presented in such an easy-going style that even
beginners can understand and enjoy.
wjBOTITvw
"BOOKS OF INTEREST TO COMPUTER PEOPLE"
70 Main Street Peterborough, New Hampshire 03458
Circle 36 on inquiry card.
BYTE August 1979 155
is a whole new language for interaction with computers
at an intellectual user's level. As a tool for use with com-
puters, this language-like method of structuring an inter-
face is completely orthogonal to any conventional se-
quential language from BASIC to Pascal, although its
conceptual underpinnings are very LISP-like. The pro-
duct has roots in the artificial intelligence community,
and it is a direct result of the programming efforts of two
gentlemen with strong ties to the MIT computer science
scene, Dan Bricklin and Bob Frankston. It is presently
available on the Apple-II computer, and will soon be
available on Atari, Pet and TRS-80 computers.
Dan and Bob have formed a firm of their own called
Software Arts Inc. Their only customer is Personal Soft-
ware, a company formed last year by another graduate of
the Cambridge computer scene, Dan Fylstra (along with
Peter Jennings of Microchess fame). The Personal Soft-
ware company distributes this new product exclusively,
at retail cost and through manufacturers. The product is
called "Visi-Calc." The first "public" showing of Visi-
Calc occurred last May in the form of a hospitality suite
at the Fourth West Coast Computer Faire in the San Fran-
cisco Convention Center. The display was oriented to
dealers and manufacturers. Advertisements have ap-
peared earlier this year, and we should see more detailed
publicity by the time of this issue.
As an interactive screen oriented piece of software,
Visi-Calc makes the memory of the computer a logical
''blackboard" where data is remembered along with rela-
tionships. This last phrase, "along with relationships," is
the key element of the concept. When I record some
TRS-80 ... all business! !
...with CP/M, CBASIC2,
& applications software.
CP/M Operating System (w/Editor, Assembler,
Debugger, Utilities & 6 manual set) $150
CBASIC2 Compiler (w/manual) $ 95
DESPOOL Print Spooler (w/manual) $ 75
*0sborne & Assoc. PAYROLL W/COST
ACCTNG $250
*0sborne & Assoc. ACCTS. RECEIVABLE &
ACCTS. PAYABLE $250
*0sborne & Assoc. GENERAL LEDGER $250
*=CBASIC2 source programs; add $15 (each) for
applicable O & A book.
APH -Self-administered Automated Patient
History $175
DOWNLOAD -TR-80 (or other)
CP/M to CP/M $95
data/program (source or object) transfer over
RS232 link
Send 30d SASE for add'l. Software avail, (including
CP/M Users Group software) and FREE "CP/M Primer/'
CA residents add 6% tax. Visa, M/C,M/0,Check OK.
(714) 848-1922
^lV[BtE{RLN L EtT^LCLS
1
8041 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647
number, eg: 3.1415927, at an intersection of the
blackboard's coordinate grid named [B:32], that number
is stored in that location on the blackboard.
Since available memory is much larger than the visible
screen, I can use cursor controls to make my display win-
dow examine any portion of the total blackboard. I might
move to location [A:12] and write the value of some
angle, perhaps 0.33 radians. I can refer to other locations
in defining a relationship for some location instead of raw
data.
Suppose, then, that I put the relationship:
"SIN([A:12] * [B:32]) - COS (- [A:12] * [B:32])"
in location [Z:21]. Location [Z:21] now depends upon
locations [A:12] and [B:32]. I can then move the cursor
back to [A:12] and put in any angle that I like, for exam-
ple 1.2. On changing any such location, Visi-Calc
automatically searches the tree of dependent expressions
and evaluates new data for such locations. The depen-
dency can effectively go through many levels of calcula-
tion so that we can look at any intermediate stage of a
calculation by noting it on the blackboard. When I return
to location [Z:21] with the cursor controls, I will find the
results of the [Z:21] expression as calculated with the new
data. All pointing is done via cursor movements, so for
the most part users never even refer to the
"[letter.-number]" coordinates of places on the
blackboard.
The same technique can be applied to many program-
ming tasks of an ad hoc nature; for personal, business,
engineering and scientific applications. The software
handles strings as well as arithmetic data and includes a
full set of engineering and scientific functions such as the
transcendentals used in the above example. Visi-Calc has
to be one of the neatest software innovations of 1979, if
not the most fundamental new concept to date in the per-
sonal computing field. It will certainly be used as a prac-
tical piece of software by many of our readers with
various mass-marketed small computers.
An interesting comment was noted by authors Bricklin
and Frankston and relayed in a recent conversation with
Dan Fylstra of Personal Software. The comment was that
the techniques used in Visi-Calc are possible only when a
full processor is totally available to one user as a personal
computer. The calculational bandwidth required to sup-
port this sort of technique is impossible to find at
reasonable cost in a traditional large computer time shar-
ing system. It only works when the concept of "one user,
one processor" is employed, ie: when the computer
power is "personal." As part of Visi-Calc's authors'
experiences at MIT over the past decade, they often had
this kind of relationship with traditional main frame com-
puters like PDP-10's and IBM 370's. Such excessively ex-
pensive computing power devoted to one user is not
possible outside of a research context. With the coming of
the current age of microcomputing however, the personal
(one user, one processor) approach is possible on a wider
and less expensive scale. The products that are now
available in this market for under $3000 are getting very
close to the level of power which was restricted to
research laboratories. Software products like Visi-Calc
take advantage of this.
156 August 1979 © BYTE Publications Inc
Circle 85 on inquiry card.
TJ^^CTA. F¥«a<9C3£i
- XEHO ■*
TSHBraisicUfllilfifcS
o, 3% digit Luu display
DIGITAL MULTIMETER .$149 DIGITAL
1 display
ETER ..$149
New Data Precision super-accurate portables.
To use 'em is to love 'em. Or your money back.*
Both meters feature 1 / 2 " LCD display, 200 hour battery life (9 volt alkaline),
pushbutton ranging, tough construction, good electrical protection, and only
one calibration adjustment. These meters boast the best accuracy specs in
their class, and represent the best value in portable meters today. In stock now!
(PLEASE CALL US FOR QUANTITY DISCOUNT QUOTE)
Please send me Model(s) 935 @ $149
Please add the following options:
BE9 Battery Eliminator (120VAC±10% 50-60Hz)..@ $15
CS11 10A Current Shunt @ $20
IP151 Clamp-On Current Probe (2-150A) @ $65
IP1001 Clamp-On Current Probe (10-1000A) @ $139
RF471 RF Probe (to 700MHz) @ $99
RFH1 Retractile hook probe tip for RF471 @ $5
T5 Test Leads @ $5
T7 Universal Test Lead Kit @$12
TP1 51 Temperature Probe (-60°to+ 1 50° @ $95
V41A High Voltage Probe (40kVDC) @ $45
Please send me_
_Model(s) 938 @ $149
Please add the following options:
BE9 Battery Eliminator (120VAC±10% 50-60Hz)..@ $15
CC35 Carrying Case @ $5
LCI Plug-in Lead-Clip Test Fixture @ $7.50
T9 12" Test Leads with Alligator Clips @ $5.50
SUB TOTAL $
STATE & LOCAL TAX (if any) $
SHIPPING & HANDLING $ 5.00
TOTAL AMOUNT OF ORDER $
mil
Applications Specialists and Distributors
of Computer Terminals, Peripherals, Power Conditioning and Instrumentation
159 Northern Boulevard /Great Neck, New York 11021
516/482-3500, 212/895-7177, Outside N.Y.S.: 800/645-8016
I CAN'T WAIT TO GET MY HANDS AROUND THEM!
□ Check/M.O. enclosed □Bill Visa nBill American Express
Card No. Expiration Date
Signature .
Name (Please print)
Title
Company
Address
City_
State,
.Zip.
Phone
*lf you are unhappy with these meters for any reason, return them to us within ten days in good working order, and we will
refund your money less our costs for shipping and handling.
BYTE August 1979 157
HONEST
, useo
computes
K*W*S5
"...and this one was owned by a little old lady who
only used it once a month to balance her checkbook. "
Belais' Master Index Can Give You Access to
$14,836.14 Worth of Computer Programs
for Just $5.95!
Special Pre-Publication Offer
You paid hundreds or even thousands of dollars
for your new microcomputer. By now it may be
dawning on you that a S1.000 computer with no
software is just S1000 worth of scrap metal!
But computer programs cost money. In a recent
survey of 1.984 computer programs offered for
sale in the top three home computer magazines,
the average price was found to be S27.94. What a
rip-off!
You don't need to spend hundreds of dollars to
get a complete library of programs for your com-
puter. That is. you don't if you have Belais'Master
Index to Computer Programs in BASIC.
Belais' Master Index gives reviews of 531 pro-
grams that have appeared in 10 major home
computer magazines— programs that you can
type into your computer for free!
This is not just a simple listing of a bunch of
article titles, but a complete reference work' Each
BMI review is complete— it has everything you
need to know about a program. A brief index line
capsulizes the review for quick reference. Source
information shows you where the program can be
found. Any updates or corrections are shown so
you know the information is accurate and com-
plete. The text of the review gives you a full
description of what the program does. In addition,
the review gives you detailed technical informa-
tion about what hardware and software the pro-
gram needs. Everything you need to know is right
at your fingertips!
You don't have to be a programming wizard to
use Belais' Master Index. That's because BMI lists
only finished, ready-to-run programs in BASIC,
the easy-to-use language enjoyed by millions.
Even if you're a master programmer, you'll
appreciate Belais' Master Index. Why slave away
hours, days, or even weeks writing a program
when someone else has probably already done the
work for you? These programs are working,
documented, and ready-to-go.
Programs like: Circuit Design, Psychoanalysis,
PASCAL Compiler, Forrester's World Simulation,
and Color T.V. Tester. Never again will you have
trouble answering that question, "But what are
home computers good for?'
Then again, there's always MONEY. Maybe you
haven't thought of all the ways your "fun" com-
puter could turn out a little of the green stuff for
you. Maybe you haven't— but a lot of other people
have, and they've written up their ideas for you to
use. Belais ' Master Index lists dozens of programs
that you can use to set up your own business.
If you already have a business, Belais' Master
Index has the programs to turn your home com-
puter into a full-fledged business system. General
ledger, billing, payroll, mailing lists, word pro-
cessing—no matter what type of business you
have, Belais' Master Index has the programs you
need.
All this and save S4.00, too! The west coast
paper mill strike has delayed publication of Belais'
Master Index. Because of this, we're making a
special pre-publication offer. Reserve your copy
now and you can have it for just S5.95— S4 off the
S9.95 cover price. But don't wait; when our presses
start rolling again IT WILL BE TOO LATE!
To order, write the words "Belais' Master Index"
on a check. Be sure your name and address are
printed on the check. Make out the check for S5.95
plus 51 shipping (Calif, residents add 36c sales
tax). Send your order to Falcon Publishing, Dept.
D-1, 140 Riverside Ave.. P.O. Box688,Ben Lomond,
CA 95005.
If you want to use your VISA or Master Charge
card, write "Belais' Master Index" on a piece of
paper. Give the total for your order, your account
number, expiration date, and signature.
We absolutely guarantee you'll love your copy
of Belais' Master Index. If you're not completely
satisfied, return ittousandwe'llrefundeverycent
you paid. You can't lose, so order NOW
Returning to the LISP theme of our current issue, Visi-
Calc is an example of a tree-oriented parallel data struc-
turing problem for which LISP is a most appropriate lan-
guage of expression. Due to a lack of availability of LISP
as a software development tool for personal computing
hardware, its authors did not use LISP. They also had to
make a number of compromises and tradeoffs as a result
of the small size (eg: 16 K to 48 K bytes) of the main
memory of personal computers. But they did use many of
the tree concepts of artificial intelligence research. This
provides us with the ultimate example of the relevance of
LISP-like languages and approaches to personal com-
puting: one of the most generally useful new user soft-
ware tools for small machines, Visi-Calc, tackles just the
sort of problem for which LISP is an appropriate tool of
expression.
Notes on the
Appearance of
BYTE...
by Carl Helmers
Readers will notice a number of changes in the ap-
pearance of the design layout of BYTE, starting with this
issue. These changes are the cumulative result of several
trends in our organization.
Perhaps the biggest such trend, from our readers' point
of view, is the arrival of a form of computerized typeset-
ting for BYTE magazine. I have often felt during the four
years since BYTE started that we have been like the pro-
verbial shoemaker's children who went barefoot. We
have been producing a computer magazine without the
benefit of any computer technology in the actual opera-
tion of our business. My own personal recovery from this
situation occurred last fall when I began using a machine
capable of running UCSD Pascal for all of my program-
ming and writing. At about the same time, we were able
to specify and order a computerized system of typesetting
and page layout produced by Compugraphic. With this
August 1979 issue, approximately 80% of the copy for
the magazine was produced using the Compugraphic
system. (Of course this measure is exclusive of adver-
tisements which are generally prepared in final form by
advertising agencies.)
The new magazine layout beginning in this issue was
designed by Ellen Bingham and Nancy Estle of our pro-
duction department. One of its major features is the use
of symmetrical page layouts employing 2, 3, and 4 col-
umn widths on a page, depending upon the demands of
subject matter and placement in the magazine. In the old
layout, an asymmetrical two and a half column format
wasted a lot of blank space. It also greatly complicated
the production department's magazine layout design task
158 August 1979 © BYTE Publications Inc
Circle 133 on inquiry card.
each month. Since article pages in the old format were
committed to either a right or left-hand side of an open
magazine, the relative placement of pages became quite
involved, sometimes even requiring last minute modifica-
tion of "final pasted" pages to switch them from left to
right-hand asymmetry!
The new format, aside from freeing up placement in
the magazine, also allows more information to be placed
on each page. It simplifies the problem of embedded
equations or examples since the column width is greater
in the two or three columns used for articles. When an ar-
ticle includes many long examples and equations, these
will often fit on one line in the two column format, mak-
ing the result easier to read. When an article does not
have a large proportion of such embedded illustrations,
the three column variant is available for use by our
designers.
One question that we are frequently asked is related to
magazine layout: Why do certain articles get split into
sections, with portions of text continued at the back of
the magazine? One reason for this is the use of color in
the magazine. Approximately half of each issue is printed
in color. Color pages are printed in groups of sixteen,
called forms. It is sometimes necessary to begin two color
articles in the same form, continuing one of the articles in
another location in the issue. The relative length of ar-
ticles also plays a part in how they are laid out in the
magazine. We make every effort to keep each article in
one contiguous piece whenever possible.
Speaking of computers for magazine production, we
hope eventually to be able to accept articles from authors
on floppy disks, using either the CP/M or Pascal format
on full-size floppy disks. This means 8 inch single or dou-
ble density, IBM compatible; for nonstandard informa-
tion formats, documentation sufficient for conversion
would have to be included. We will report on this subject
as matters progress.
Changing the format of a magazine requires months of
preparation and hard work. We want to reassure our
readers that we plan to keep the content of BYTE just as it
is. The new typeface, new column layouts, and updated
feature pages are designed with you in mind. We would
appreciate your comments and suggestions.
Coming Up in BYTE.
With next month's September issue of BYTE, we begin
our fifth year of publication. Returning to the genesis of
personal computers in the hands of inveterate hackers,
the theme of that issue is "homebrewing." In future issues
we will see such special interest theme topics as education
and computers, "domesticated computers," music, data
bases, and a special theme on computer games of the
Adventure/Dungeons and Dragons variety. Other topics
we are contemplating for the coming year include con-
tinued attention to themes of voice input and output,
graphics, languages, artificial intelligence and
robotics... CH
ANNOUNCING
1 10 or 300 baud, RS 232C serial
ASCII
Friction feed, paper width to 15"
New
from DIABLO
0IABL01640 $2 P 690. 00
Receive-only $2,331.°°
High-quality daisywheel printing at
45 cps.
DIABLO 1650 $2,779.°°
Receive-only $2,419.°°
Metal daisywheel printing at 40 cps.
S0R0CIQ 120 $795. 00
• RS 232C, upper/lower case full
ASCII
• Numeric keypad, protected fields
• Cursor keys plus addressable
cursor
• Auxiliary extension port
New
from DEC
LA34 DECwriler IV
$ U99. 00
Upper/lower case, 9 x 7 dot matrix
1 0, 12, 1 3.2, 1 6.5 characters /inch
2, 3, 4, 6, 8, or 12 lines/inch
22"Wx7 ,, Hx15 1 /2 , 'D, 25 lbs.
Teletype 43 $999.00
• RS 232C, 110 or 300 baud
• Upper/lower case full ASCII
• Pin feed, 12" x 8 1 /2" paper
T.I. 810 printer $1,695.°°
• 150 characters per second
• RS 232C serial interface
• Adjustable forms tractor
• Upper/lower case option $90.00
S0R0C IQ 140 $1,250.0°
• RS 232C and 20mA current loop
• Extensive editing features
• 25th line terminal status display
• 16 function keys (32 with shift)
To Order: Send certified check (personal or company checks require
two weeks to clear) including handling* and 6% sales tax if delivered
within California.
'Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything
shipped freight collect in factory cartons with manufacturer's warranty.
cMCRQMfl
E
MICROMAIL • BOX 3297 • SANTA ANA, CA 92703
(714) 731-4338
Circle 223 on inquiry card.
August 1979 © BYTE Publications Inc 159
BITS
LET'S TALK LISP
by Laurent Siklossy
□ This is a discussion of LISP, the most important non-numeric
language in use today. All features of the language, including
elementary functions, recursive functions, the PROG feature,
MAP functions, generators, property lists, and the "cell value"
concept, are carefully explained while avoiding the details of
any particular LISP implementation. For experienced program-
mers a quickie introduction to LISP is included. Good pro-
gramming is emphasized throughout and a full complement of
exercises help to illuminate the material. If Al is your direction,
LISP is your language.
235 pp $16.95
Books to erase the impossible
LANGUfiG€
t^
QUICKTRAN
by C. Kevin McCabe
□ Learning a language can be made easier if one begins by
mastering a small part of the language and then adds the re-
maining features as needed. Kevin McCabe has taken this
approach in teaching standard FORTRAN IV. He starts with
the basic concepts of computing and Quicktran, a fundamental
subset of FORTRAN IV that allows the student early program-
ming experience. Part II expands the readers' proficiency and
adds other features of the language and by the end of Part 111
all of standard FORTRAN IV has been covered. Example
programs abound.
220 pp. $8.95
(pmm
Kh
fflPQ,
A PRACTICAL INTRODUCTION TO PASCAL ^
by I.R. Wilson and A.M. Addyman
□ PASCAL will soon supercede BASIC, and for good reason. It
is a simple and efficient language, encouraging structured
programming. Wilson and Addyman have written an intro-
duction to PASCAL suitable for first time or experienced pro-
grammers. Describing PASCAL using syntax diagrams, the
book encourages the stepwise refinement technique of struc-
tured programming. Over 60 programs are included as ex-
amples, and seven of its 14 chapters are devoted to data struc-
tures. This book comes highly recommended and complements
PASCAL-User Manual and Report by Jensen and Wirth.
148 pp. $7.90
PASCAL USER MANUAL AND REPORT
(Second Edition)
by K Jensen and N Wirth
167 pp. $7.90
STRUCTURED PROGRAMMING IN APL
by Dennis Geller and David Freedman
D APL is a rich computer language. Most books on APL
concentrate on its powerful operators and their use, leaving
program design and structure to be learned elsewhere. This
book by Dennis P. Geller and David P. Freedman takes a better
approach, presenting APD with the structure and programming
techniques you need to program successfully in APL. From the
preface: "Overall, our approach is to present the fundamentals
of programming in APL. Students may go on from here to learn
to write faster programs, or more compact programs, or more
aesthetic programs: this, we hope, is where they will learn to
write working programs."
$©®m
m
COMPUTING WITH FORTRAN IV: A PRACTICAL COURSE
by Donald M. Monro
□ A book for those who have had some programming ex-
perience, expecially BASIC, and who want to learn FORTRAN
programming. Monro claims that most experienced program-
mers are self-taught. In his book you'll find yourself program-
ming immediately and learning through experience. Designed
as a learning aid, the book carefully relates all of the components
of standard FORTRAN IV plus some essential nonstandard
features. Throughout the book all subjects taught are compared
with their BASIC counterparts. This book will have you learning
FORTRAN first hand, making it interesting and challenging.
242 pp. $16.95
A FORTRAN COLORING BOOK
by Roger E. Kaufman
□ Who says learning FORTRAN isn't fun? Inside this book are
the repetitive doloop bird, your mommy's bureau drawers,
and a flowchart for making a rug from bellybottom lint! You'll
also find everything you need to know about programming in
FORTRAN, in a very clever instructional style. Learn FORTRAN
programming painlessly.
285 pp. $6.95
324 pp. $10.95
APL - AN INTRODUCTION Kl£V)3 '
by Howard A. Peelle ™
□ This is APL for the self-taught programmer or experimenter.
Nine U-Program chapters present the APL functions and ex-
pressions through examples followed by exercises designed to
assure comprehension. Answers to all problems are included
and access to a computer is not required. This method of learn-
ing APL won 't put you to sleep!
242 pp. $8.50
ALGORITHMS & DATA STRUCTURES = PROGRAMS
by Niklaus Wirth
D "Programs, after all, are concrete formulations of abstract
algorithms based on particular representations and structures
of data". Niklaus Wirth here presents the fundamental concepts
of algorithms and data structures and their interdependence. In
his lucid treatment he covers fundamental data structures,
sorting, recursive algorithms, dynamic information structures,
language structures and compilers, using PASCAL in the
examples and exercises. An important text.
366 pp. Hardcover $19.95
Working in assembly languages?
Good programming deserves good
Protect your efforts using
documentation.
,TM
The Bits Programmer Pad
See ad on page
117
160 BYTE August 1979
16FIRNING
6502 APPLICATIONS BOOK
by RodnayZaks
□ 6502 microcomputer board users, here's your book! It is the key to putting your
KIM, Sym, or Aim65 to work. The 6500 family I/O chips are covered in depth (6520,
6522, 6532, and 6530) along with the interface techniques needed to use them. Ap-
plications examples include displays, computer music, alarms, and A/D conversion.
Standard peripheral interfacing is explained. The appendices contain applications
programs and a 6502 assembler in BASIC. The only prerequisite is some familiarity
with 6502 assembly language programming. This is the definitive 6502 "input/output"
book. Get it!
284 pp. $12.95
PROGRAMMING THE 6502
by RodnayZaks
□ Here is the 6502 microprocessor from top to bottom: basic concepts, hardware or-
ganization, basic programming techniques, the 6502 instruction set, addressing tech-
niques, input-output techniques, data structures and program development. This book
is a systematic course in 6502 assembly language programming, including excercises
and application examples. Solid for you KIM and Apple users!
304 pp. $10.95
^
LIVING
FUNDAMENTALS OF RECORDKEEPING AND FINANCE FOR
THE SMALL BUSINESS
by Robert C. Ragan, CPA, And Jack Zwick, Ph.D.
□ Once you have your organization or business up and running,
records must be kept. What should I keep, and how do I record
them? This book on fundamentals will give you a helpful start.
Section one deals with maintaining records, protecting assets,
and providing a basis for planning. Section two provides a
starting point for owner-managers who want to sharpen their
financial management skills.
196 pp. Hardcover $10.00
UP YOUR OWN ORGANIZATION!
by Donald Dible
□ A great handbook on how to start and finance a new business
or get an existing business out of neutral and into high gear.
Written for the person willing to work hard at being success-
ful in business, it is intended to save time, money and possible
heartache by eliminating false starts and "blind alley" ap-
proches where appropriate. All drawn from the author's
extensive experience in entrepreneurial business. This is the
most comprehensive reference we've seen on the subject. For
the programmer-consultant or the basement homebrewer-
turned-entrepreneur, this is your book. It is recommended in
the Bank of America Small Business Reporter and Changing
Times magazines.
372 pp. Hardcover $14.95
yfr
ffffW*
Mm
RUNNING WILD
THENEXT INDUSTRIAL REVOLUTION
by Adam Osborne
'^^XB
□ Many of the uses to which computers are being put today
could cause profound problems tomorrow. In industry, govern-
ment, medicine and commerce, the full effects of computer
technology — the next industrial revolution — have not yet been
realized. That is why Running Wild has been written. Dr.
Adam Osborne, a well-known writer and consultant in the world
of microelectronics, has written this book for the layman. Its
purpose is to confront the reader with what is going on today,
and what will certainly be happening tomorrow.
NEW FROM OSBORNE AND ASSOCIATES $ 3 - 95
NTS, .
WHAT EVERYONE SHOULD KNOW ABOUT PATENTS,
TRADEMARKS AND COPYRIGHTS
by Donald M. Dible
□ So you've written a program that's of use to microcom-
puterists everywhere? Got a circuit the world's waiting for. The
next crucial step is to secure rewards for your ideas and work.
This book is a distillation of the latest information available
covering trademarks, copyrights and patents. Each topic is
covered in a simple stand-alone style designed to communicate
all of the essential points with a minimum of legalistic jargon.
As an entrepreneur you should be familiar with your rights and
responsibilities under these laws.
254pp. Hardcover $10.00
BITS n
DIAL YOUR BANK CARD ORDERS TOLL FREE 800-258-5477
Boo^s to erase the impossible
25 Route 101 West, PO Box 428, Peterborough, NH 03458
Name
Address .
City
State.
■ Zip_
□ Check enclosed
Card#
Signature
□ Master Charge
Expires_
□ VISA
QTY.
TITLE
PRICE
TOTAL
Dr ^ $ .75 for each book domestic
MAK.ni -J * $1.00 for each book foreign
P&H
MANUL
- IINnj (maximum postal charge - $3.00)
Total
(in N.H. dial 924-3355) MON-FRI 9-5 ^
1B1089
! I
You may photocopy this page
Dealer inquiries invited
BYTE August 1979 161
A Mathematician's View
of LISP
Vaughan R Pratt
Assoc Prof of Computer Science
and Engineering
MIT Laboratory for Computer Science
545 Technology Sq
Cambridge MA 02139
All higher order languages offer the programmer
mechanisms for simplifying and clarifying programs.
Viewed from the distance that mathematicians such as
myself prefer, away from the distractions of detail, LISP
stands out as the first language to pay serious attention to
the following issues:
• Mobility of data.
• Modularity of function.
• Declarative programming.
• Metalinguistics (the ability of a language to talk
about language).
Since the development of LISP, two other languages
(APL and, to a lesser extent, SNOBOL) have joined LISP
in dealing with at least some of these issues. As such, one
would assume that they would have improved on LISP. I
believe that LISP outclasses these languages despite its
having been developed earlier. Other languages, such as
FORTRAN, BASIC, ALGOL, PL/I, and Pascal (or
FBAPP as Professor Alan Perlis of Yale University refers
to them collectively) are, in Perlis' opinion and mine, not
in the same class as LISP and APL with respect to the
issues discussed here. (I do not know Professor Perlis'
opinion of SNOBOL.)
Mobility of Data
In a computer, data flows between three major classes
of sites: storage, functions, and devices. Storage consists
of registers and main memory in assembly language, and
variables (simple and subscripted) in higher level
languages. Functions (or procedures, or subroutines) are
quite alike in all languages, though with minor technical
About the Author:
Vaughan Pratt joined the MIT faculty in 1972 in the Department of
Electrical Engineering and Computer Science and is associated with the
Laboratory for Computer Science and Artificial Intelligence
Laboratory. He received his PhD under Donald Knuth at Stanford
University (Shell Sort and Sorting Networks). He is currently the head
of the Theory of Computation Section at the Laboratory for Computer
Science. His work includes natural language, algorithms, program
semantics, and verification. His hobbies include collecting, repairing,
and playing musical instruments and building robots.
distinctions. Typical devices are printers, keyboards,
floppy disks, paper tape readers, and the like.
The corresponding mechanisms available to the pro-
grammer for expediting this flow of data are fetch and
store instructions, parameter passing and value returning
constructs, and read and write commands.
A mobile datum is one which can be moved from one
site to another by the program with a minimum of fuss.
Here are two tests for mobility of data:
Width test. Must the data be moved piecemeal? For
example, on your microprocessor, can you move a 2 byte
address around as a unit, or do you have to move each
byte separately? In your favorite language, can you read
in an array from floppy disk or paper tape using one
instruction, or must you write a loop to read the array
elements individually?
Length test. Are intermediate sites needed to get data
from one site to another? For example, to take the
logarithm of a number that the user types in from a
keyboard, do you have to store the number in a variable
first and then take its logarithm, or can you just say
(LOG (READ)) as in LISP?
If the data type fails either test it is not fully mobile.
Note that if it fails both, the effect can be multiplicative.
For instance, moving three bytes with each requiring two
steps, requires six steps altogether.
It is often possible to enhance the mobility of data by
writing the appropriate subroutines. For example you
might write a routine to read an array from a device. This
observation shows that mobility is a concept that is
relative both to the available programming language con-
structs and to the available software.
Promised mobility is the possibility of writing such
subroutines. Promised mobility is not as good as real
mobility, as it requires the programmer to do the work of
supplying the mobility, which may be more effort than it
is worth for the particular application the programmer
has in mind.
One basis for classifying programming languages is the
mobility of their data types in the absence of additional
subroutines such as the above mentioned one for reading
162 August 1979 © BYTE Publications Inc
RADIO SHACK COMPUTER OWNERS
TRS80
MONTHLY
NEWSLETTER
PRACTICAL APPLICATIONS
BUSINESS
GAMBLING • GAMES
EDUCATION
PERSONAL FINANCE
BEGINNER'S CORNER
NEW PRODUCTS
SOFTWARE EXCHANGE
MARKET PLACE
QUESTIONS AND ANSWERS
PROGRAM PRINTOUTS
AND MORE
WORD PROCESSING PROGRAM (Cassette or Disk)
For Writing Letters, Text, Mailing Lists, Files, Etc.
With Each New Subscriptions Or Renewal
Send for FREE Software Catalogue (Including listings of hundreds of
TRS-80 programs available on cassette and diskette).
iCQMRJTRQNICS":
MATVe^AnCAL APWJCAnorsS S€F*/C£"
Box 149 New City, New York 10956
ONE YEAR SUBSCRIPTION $24 _
TWO YEAR SUBSCRIPTION $48 _
SAMPLE OF LATEST ISSUE $4
HOUR
24 ORDER
LINE
(914) 425-1535
^7
START MY SUBSCRIPTION WITH ISSUE_
(#1 - July 1978 • #7 - January 1979)
NEW SUBSCRIPTION RENEWAL .
CREDIT CARD NUMBER
SIGNATURE
NAME :
EXP. DATE_
ADDRESS
Circle 159 on inquiry card.
BYTE August 1979 163
in arrays. In the machine language of a microcomputer,
only bytes (and sometimes words) are mobile, and even
then generally not for I/O (input/output). Only numbers
and Booleans, and sometimes strings, are truly mobile in
BASIC, FORTRAN, and ALGOL.
The major languages developed in the 1950s and 1960s
whose structured data types are mobile are (in order of
development) LISP, APL, and SNOBOL, the respective
types being lists, arrays, and strings. LISP and APL also
have mobile strings. In LISP, atoms serve as strings. In
APL, a vector of characters is printed without spaces be-
tween its characters and so can play the role of a string.
LISP and SNOBOL have arrays that are not nearly as
mobile as APL's arrays, though some implementations of
LISP come close, namely to within the ability to read and
write them from and to devices.
Lists are preferable to arrays as a general-purpose data
type since anything that an array can represent can be
conveniently represented by a list, whereas the converse
is far from true. You can't have arrays of differently
shaped arrays in APL, for example: LISP, however, per-
mits any data type to be a list element. In this respect,
APL data types are not fully mobile with respect to array
elements viewed as data sites (which they are).
From the implementation (and hence the efficiency)
viewpoint, arrays offer faster random access. However,
the modern APL style of programming makes relatively
light use of random access. (This is a potential source of
endless and quite technical debate between LISP and APL
enthusiasts, and is not by any means an easy issue to
WINCHESTER DRIVE
CONTROLLER
The XCOMP DC/M Controller provides the
OEM with a high performance, low cost in-
terface to the Marksman® drive. An eight bit
bus permits the DC/M to be used with all
popular microcomputers.
XCOMP
INCORPORATED
9915-A Businesspark Ave., San Diego, C A 92131 • (714) 271-8730
dismiss.) Moreover, as compiler optimizers get pro-
gressively "smarter," it will become progressively harder
to infer properties of the implementation from properties
of the language definition.
For example, often the compiler has enough informa-
tion to infer that a LISP list is being used array-style, and
it can then choose to represent the list as an array. Con-
versely it may spot that an APL array would best be
implemented as a LISP-style list (eg: when much
concatenation of APL arrays is being performed and no
random access is used).
An aspect of APL not shared with LISP is its insistence
on homogeneous arrays. In APL you can have arrays of
numbers, or arrays of characters, but not arrays of a mix-
ture. An advantage of this is that you don't need to store
type information for every array element, leading to effi-
ciency gains. A disadvantage is that it restricts the pro-
grammer's options considerably. LISP programmers take
full advantage of the ability to mix types in lists.
LISP and APL (and to an extent SNOBOL) have
mobile expressions. In LISP you can treat the expression
(PLUS X (TIMES Y 5)) as an ordinary datum. It can be
bound, that is, assigned to variables, passed as an argu-
ment to a function, returned as the value of the function,
printed out, and read back a year later, still meaning
the same thing. And, of course, it can be evaluated by ap-
plying the LISP function EVAL to it.
The mobility of an expression is inherited from that of
its representing medium, just as the mobility of an integer
in the range — 128 to 127 is inherited from that of the 8 bit
byte that represents it.
With some restrictions, the same is true of APL. The
string (ie: character vector) 'X + YX5' can be passed
around just as freely in APL, and of course it can be exe-
cuted by applying the APL function Execute to it. One
restriction is that Execute cannot handle more than one
line at a time, effectively preventing the use of APL's ver-
sion of Goto in conjunction with Execute. Another
restriction is that there is no APL expression whose exe-
cution results in an APL function becoming defined; in-
stead one uses a separate function, DFX. LISP observes
neither of these restrictions.
LISP goes beyond APL by also having mobile func-
tions. From a programmer's viewpoint the main differ-
ence between an expression and a function is that func-
tions are objects that explicitly take arguments, whereas
the only way to pass information to an expression is to
store it in some variables before evaluating the expres-
sion.
LISP implements mobile functions by using lambda ex-
pressions, a method of representing functions due to the
logician Alonzo Church. For example, the function that
computes the length of a two-dimensional vector whose
coordinates are X and Y could be represented with the
list:
(LAMBDA (X Y) (SQRT (PLUS (TIMES X X)
(TIMES Y Y))))
Such an object can be read, printed, assigned to
variables, passed as an argument to another function,
returned as the result of a function, and of course applied
to a pair of arguments. To take an unusual example, run-
164 August 1979 © BYTE Publications Inc
Circle 394 on inquiry card.
S reasons why you should not buy
the electric pencil II
^* ° 1978 Michael Shrayer
Check the appropriate box(es):
You love typing the same copy 20 thousand times a day.
□ Your secretary can type 250 words per minute.
□ You're dying to spend $15,000 on a word processing system, just for the
tax investment credit.
□ All your capital assets are tied up in a 10-year supply of correction fluid.
□ You never commit a single thought to paper.
If you have checked one or more boxes, you do not need The Electric Pencil.
On the other hand, you may want to join the thousands of people who haven't
checked a single box.
TM
The Electric Pencil II is a Charac-
ter Oriented Word Processing System.
This means that text is entered as a
string of continuous characters and is
manipulated as such. This allows the
user enormous freedom and ease in the
movement and handling of text. Since
line endings are never delineated, any
number of characters, words, lines or
paragraphs may be inserted or deleted
anywhere in the text. The entirety of
the text shifts and opens up or closes
as needed in full view of the user. The
typing of carriage returns or word
hyphenations is not required since
lines of text are formatted automatic-
ally.
As text is typed and the end of a
line is reached, a partially completed
word is shifted to the beginning of the
following line. Whenever text is insert-
ed or deleted, existing text is pushed
down or pulled up in a wrap around
fashion. Everything appears on the
video display as it occurs, which elim-
inates guesswork. Text may be review-
ed at will by variable speed scrolling
both in the forward and reverse direc-
tions. By using the search or search
and replace functions, any string of
characters may be located and/or re-
placed with any other string of charac-
ters as desired.
Numerous combinations of
line length, page length, line
spacing and page spacing permit
automatic formatting of any
form. Character spacing, bold
face, multicolumn and bidirec-
tional printing are included in
the Diablo versions. Multiple
columns with right and left justified
margins may be printed in a single pass.
Wide screen video
Versions are available for Imsai
VIO video users with the huge 80x24
character screen. These versions put al-
most twice as many characters on the
CP/M versions
Digital Research's CP/M, as well as
its derivatives, including IMDOS and
CDOS, and Helios PTDOS versions are
also available. There are several NEC
Spinwriter print packages. A utility
program that converts The Electric
Pencil to CP/M to Pencil files, called
CONVERT, is only $35.
Features
• CP/M, IMDOS and HELIOS compatible
• Supports four disk drives
Dynamic print formatting
DIABLO and NEC printer packages
Multi-column formatting in one pass
Print value chaining
• Page-at-a-time scrolling
• Bidirectional multispeed scrolling con-
trols
• Subsystem with print value scoreboard
• Automatic word and record number
tally
• Cassette backup for additional storage
• Full margin control
• End-of-page control
• Non-printing text commenting
• Line and paragraph indentation
• Centering
• Underlining
• Bold face
Upgrading policy
Any version of The Electric Pencil
Have we got a version
for you?
The Electric Pencil II operates
with any 8080/Z80 based microcom-
puter that supports a CP/M disk sys-
tem and uses an Imsai VIO, Processor
Tech. VDM-1, Polymorphic, VTI, Solid
State Music VB-1B or Vector Graphic
video interface. REX versions also
available. Specify when using CP/M
that has been modified for Micropolis
or North Star disk systems as follows:
for North star add suffix A to version
number; for Micropolis add suffix B,
e.g., SS-IIA, DV-IIB.
Vers.
Video
Printer
Price
SS-II
SOL
TTY or similar
$225.
SP-II
VTI
TTY or similar
225.
SV-II
VDM
TTY or similar
225.
SR-II
REX
TTY or similar
250.
Sill
VIO
TTY or similar
250.
DS-II
SOL
Diablo 1610/20
275.
DP- 1 1
VTI
Diablo 1610/20
275
DV-II
VDM
Diablo 1610/20
275
DR-II
REX
Diablo 1610/20
300
Dl-ll
VIO
Diablo 1610/20
300.
NS-II
SOL
NEC Spinwriter
275
NP--II
VTI
NEC Spinwriter
275.
NV-II
VDM
NEC Spinwriter
275
NR-II
REX
NEC Spinwriter
300
Nl-ll
VIO
NEC Spinwriter
300
SSH
SOL
Helios/TTY
250
DSH
SOL
Helios/Diablo
300
MICHAEL SHRAYER SOFTWARE, INC
1253 Vista Superba Drive
Glendale, CA. 91205
(213)956-1593
may be upgraded at any time by sim-
ply returning the original disk or cas-
sette and the price difference between
versions, plus $15 to Michael Shrayer
Software. Only the originally purchas-
ed cassette or diskette will be accepted
for upgrading under this policy.
Attention: TRS 80 Users!
The Electric Pencil has been de-
signed to work with both Level I
(16K system) and Level II mod-
els of the TRS-80, and with vir-
tually any printer you choose.
Two versions, one for use with
cassette, and one for use with
disk, are available on cassette.
The TRS-80 disk version is easily tran-
sferred to disk and is fully interactive
with the READ, WRITE, DIR, and
KILL routines of TRSDOS 2.1.
Version Stora ge Price
TRC Cassette $100.
TRD Disk $150.
screen ! !
Demand a demo from your dealer !
Circle 319 on inquiry card.
BYTE August 1979 165
Up Your
Output.
TEMPOS
MULTI-TASKING!
The TEMPOS Operating System is quickly becoming the standard in Multi-
User, Multi-Tasking operating systems for 8080 and Z80 microcomputers.
Multi-Tasking means that, even with only one user at one terminal, more
than one job can be running on the system simultaneously ! If you have ever
had to go get a cup of coffee while you wait for your computer to print list-
ings, you know the advantages of a system that will handle one job while
you are working on another. TEMPOS is a true time sharing system, and
the maximum number of jobs is limited only by your memory.
MULTI-USER!
Want to share your computer with another user? With TEMPOS all it takes
is another terminal ... up to seven interactive terminals are allowed! And
with Re-Entrant programs, each user does not need a complete copy in
memory. We include three Re-Entrant programs (the OPUS/THREE High-
Level Language, the TEXTED Text Editor, and FILES, a disc file
directory/manipulator) or write your own! In addition, we include an
assembler, a linking loader, over a half-dozen other utility programs and
over 60 system subroutines, callable by the programmer!
PROVEN!
With TEMPOS, you get a package that has been tested in our facilities for
over two years, and in the field at over 50 different installations. We have
used this system ourselves for everything from writing high-level languages
to developing applications to text editing to games. TEMPOS is undoubted-
ly the most flexible software tool on the market . . . and you can have it for
much less than you think!
COMPATIBLE!
TEMPOS is available for many different systems; pre-written drivers may
include yours. Or, using our interactive System Generation Routine, you
can add your own. Call or write now for our free catalog and the name of a
dealer near you. The TEMPOS Operating System is available for $787.00,
the manual set (price may be credited toward the purchase of the TEMPOS
package) for $21.50 (prices include shipping within the U.S.).
ADMINISTRATIVE
□□SYSTEMS
□□□INC
□□
1642 S. Parker Road, Suite 300, Denver, Colorado 80231
(303) 755-9694
ning the program (APPLY (READ) (LIST 3 4)) would
cause the function typed in response to the Read to be ap-
plied to the list of arguments (3 4). If the user typed in the
above lambda expression, the result would be 5.
The closest APL can come to this is to have a name of a
function, say ZOT, be a datum. To apply the function so
named in APL, one would concatenate the name with the
argument(s), say 3, then Execute the resulting program
"ZOT 3". The catch is that names on their own mean
nothing: the technique will not work if the name is not
defined, or if somebody changes its definition. Thus
if you print the name of an APL function on a device
from which you want to read it back in later, the original
definition may in the meantime change or disappear from
the workspace. This difficulty does not arise with lambda
expressions, which contain their own definition. Thus
functions have at best limited mobility in APL.
The notion of mobility, perhaps surprisingly, is not a
concept that many people are familiar with. In hindsight
it is clear that mobility was a concern, whether or not a
subconscious one, for the designers of LISP, APL and
SNOBOL. The late Christopher Strachey, a British com-
puter scientist, made the distinction between "first and
second class citizens" when discussing data, the former
being what I have called mobile data. The first published
reference to the concept appears to have been made in
1968 by another British computer scientist, Robin
Popplestone, in a description of the virtues of his
language POP-2. Popplestone did not use the word
"mobile" either, talking instead in terms of a "charter of
rights" for data.
Modularity of Function
Subroutine libraries have something that programming
languages often lack, and that is modularity of function.
One does not view a subroutine library as a monolith but
rather as a loosely coupled set of subroutines. The term
subset, often applied in a vague way to programming
languages, has an obvious and precise meaning for sub-
routine libraries.
LISP and APL, in contrast, are each just like a sub-
routine library, being little more than a set of functions.
The user may add to this set by getting more functions
from whatever subroutine library is maintained by the
local environment. And the user's program itself consists
of a set of functions. Any of these functions can be invok-
ed from the user's terminal or from the user's or any other
program. All three kinds are invoked with identical syn-
tax (within each language), in LISP:
(Function Argl Arg2 ...Argn)
in APL:
d x for unary functions
op y for binary functions, assuming right
associativity
op x
x
The conventions for representing lists, LISP's primary
structured data type, are the same for representing pro-
grams. Since those conventions are simple, there is little
to learn. In this respect LISP differs from APL, which has
166 August 1979 © BYTE Publications Inc
Circle 8 on inquiry card.
a convention for representing the structure of its pro-
grams (namely the invocation of the right-associativity
rule, that x op y op z is read as x op (y op z) that has no
analog in the representation of APL data.
I should add that my own preference in programming
in LISP is to use an ALGOL-like language, CGOL, which
is then automatically translated to LISP. Despite the
regular and easily learned syntax of LISP, I do not like
having to write x + y as (PLUS X Y). I do too much
mathematics to feel comfortable switching represen-
tations in order to program. Fortunately it is not
necessary to compromise functional modularity in order
to use other syntactic conventions. If I were an APL pro-
grammer I would want to do the same thing: have a syn-
tactic preprocessor that permitted me to use the syntax I
felt most comfortable with.
Declarative Programming
Here is an innocent looking pair of equations:
(a + 1) Xb=aXb+b
X b =
What sets these equations apart from the millions of
other equations I could have written is that these permit
me to convert any method for adding into a method for
multiplying nonnegative integers. Suppose, for example,
I want to multiply 3 by 7. Since 3 = 2 + 1, I can use the
equation to express 3X7 as 2X7 + 7, reducing the
original problem to a smaller one which can be solved by
the same method. Eventually I have '(((0X7 + 7) + 7) + 7,
which the second equation turns into ((0-\-7)-\-7)-\-7. Us-
ing the method for adding, three times, I end up with the
desired answer.
Turning these equations into a LISP program to give a
recursive definition of (TIMES A B) is an essentially
mechanical procedure yielding:
(COND ((ZEROP A) 0)
(T (PLUS (TIMES (SUB1 A) B) B)))
or in the "syntactically sugared" version of LISP referred
to earlier:
if a=0 then else (a-l)*b + b
The significance of this example lies in two observa-
tions: first, the facts were so obvious it was hard to make
a mistake; and secondly, the procedure for converting
those facts into something we could run as a program was
so stereotyped and straightforward (match the problem
against the lefthand side of an equation, replace it by the
corresponding righthand side) that, again, it was hard to
make a mistake.
Programming in LISP comes close enough to this
declarative style to make programming a remarkably
error-free process. To those who can read LISP, a well-
written LISP program will look like a collection of facts.
The subtlety of the program then amounts to the subtlety
of the facts. If the facts are obvious, as with the above,
there is little to explain. If the facts are not obvious, then
you have a program that needs to be proved correct.
«
Software
Tools
Have you thought
about text editing?
Our ED-80 Text Editor offers a refreshing new approach for the
creation and editing of program and data files conversationally - and it
saves money! Its powerful editing capabilities will satisfy the most
demanding professional - yet it can still be easily used by the inexper-
ienced beginner.
Look at these
outstanding features:
■ By far the best text editor available for microcomputer-
based systems.
■ Repays its initial cost many times over with its unique
time-saving editing capabilities.
■ FULL SCREEN window displays for viewing and edit-
ing data a page-at-a-time, rather than line-by-line.
■ Forward and backward scrolling in the FULL SCREEN
mode.
■ Displays the results of every edit command.
■ Commands include forward or backward Locate and
Change, Insert, Delete, Replace, Inline, Input, Print,
List, Window, Get, Put, Macro, Tabset, Append, Case,
Scale, and Dump.
■ Simple line-oriented commands with character string
manipulation capabilities.
■ Text may be located by string value, by line number,
or by relative line number.
■ Global string search and replace capabilities.
■ Commands for moving, copying, and merging edit files
on the same or different diskettes.
■ Self-explanatory diagnostic messages.
■ Single keystrokes for the most commonly used com-
ands.
■ Safeguards to prevent catastrophic user errors that
result in loss of the edit file.
■ Designed for today's high speed CRT's, video monitors,
and teletypewriter terminals.
■ Thoroughly field tested and documented with a User's
Manual of over 60 pages.
■ Compatible with existing CP/M edit files and deriva-
tive operating systems.
And remember - in today's interactive programming environment - the
programmer's most important software development tool is the text editor.
Our ED-80 Text Editor is working in industry, government, univer-
sities, and in personal computing to significantly cut program develop-
ment time and high labor costs. Why not let ED-80 begin solving your
text editing problems today?
Mail to: SOFTWARE DEVELOPMENT ft TRAINING, INC.
P. 0. Box 4511, Huntsville, AL 35802
ED-80 is protected by copyright and furnished under a paid-up license
for use on a single computer system.
D Please send additional information.
D Send Diskette, User's Manual, and paid-up license agreement $99.00
Specify SINGLE DENSITY Diskette size □ 5" □ 8"
G Send User's Manual (credited on purchase of a paid-up license) $10.00
□ Check or money order enclosed for $
□ Pleasecharge to my credit ca rd □ VIS A □ Master Charge
Card No. Bank No Exp.Date __
NAME
ADDRESS
CITY STATE ZIP
SIGNATURE .
C-l
SOFTWARE DEVELOPMENT & TRAINING, INC.
Post Office Box 4511 — - Huntsville, Alabama 35802
Dealer Inquiries Welcomed
® CP/M is a trademark of Digital Research
August 1979 © BYTE Publications Inc 167
Table 1 ; LISP finds applications in many areas dealing with language processing.
Area
Compiling
Algebraic simplification
Natural language
Automatic theorem proving
Program verification
Automatic programming
Knowledge 1 based systems
Language
Parsed programs
Algebraic formulas
Parsed sentences
Logical formulas
Parsed programs and logical formulas
Specifications and resulting programs
Facts and rules
Though the example above dealt with numbers, the
mobility of LISP's structured data types makes it possible
to apply the same method to writing programs that
operate on lists, functions, programs, and so on.
My own research includes developing and testing new
algorithms for a variety of problems. For the sake of ease
of implementation and short debugging time, my style is,
as far as possible, to set down the facts relevant to the
computation and express them as LISP functions. Thanks
to the quality of the LISP compiler used at MIT, I can
produce reasonably efficient programs, in many cases as
efficient as if I had adopted a more traditional style of
programming with while loops and assignments. (One
thing I miss, however, is the ability to just write down the
pure equations and have a preprocessor automatically
combine them into a single LISP program.)
My prime testing program referred to in Martin Gard-
ner's "Mathematical Games" column in the August 1978
Scientific American is written entirely in this style. Some
of the facts it uses are obvious ones concerning such
topics as exponentiation modulo n. Some of the facts
however are considerably deeper and were first proved
by the well-known computer scientist Michael Rabin.
Rewriting this particular program in some other pro-
gramming style would achieve little, if anything, in the
way of efficiency. It would, however, make it harder to
see the connection between the collection of facts suppor-
ting the method and the program itself. Rewriting the
program in another programming language while preser-
ving the declarative style would be possible provided
recursion was permitted and numbers were mobile. A
problem here is that numbers of the size my program
works with, up to 1000 decimal digits, are not merely
immobile in most languages, they do not even exist. The
implementation at MIT is one of the implementations
which takes much effort to protect the programmer from
frequent painful encounters with boundaries by not
limiting the size of integers.
This principle of executing facts as programs has en-
couraged people to generalize the idea to other facts
besides equations, and a series of programming languages
have evolved based on this generalization, two of the
more prominent ones being Planner and Prolog.
Metalanguage
Meta is Greek for about. LISP lists can be used, inter
alia, to represent expressions in various languages. Thus
LISP makes an ideal metalanguage, a language for talking
about language. As such, LISP finds applications in a
large variety of areas dealing with the processing in lan-
guage, as shown in table 1.
In all of these areas, the expressions of the language in
question are treated as structures rather than as strings.
Structures represent the level of language processing
where the real action takes place. Parsing (eg: converting
strings to structures) may present more or less of a
challenge depending on the area, but the general feeling
in most such areas is that it is what takes place after par-
sing that is more interesting.
What makes LISP particularly well-suited to these
applications is that they frequently call for operations on
expressions that are best viewed recursively as facts and
procedures stated in terms of the immediate constituents
of the expressions. This is an instance of the declarative
style described earlier, for the case when the data are
expressions.
To take an example from algebraic simplification, the
derivative of an expression can be defined in terms of the
derivatives of its immediate constituents. Thus (DERIV
'(PLUS X Y)) would be:
(LIST 'PLUS (DERIV X)
(DERIV Y))
where X and Y themselves may be quite complicated
algebraic expressions. Similarly (DERIV '(TIMES X Y))
would be:
(LIST 'PLUS (LIST TIMES (DERIV X) Y)
(LIST TIMES X (DERIV Y)))
and so on for other operators. From such facts it is
straightforward to construct a recursive LISP program
for differentiating algebraic expressions.
A helpful way to think about the principle illustrated
by the above is to view the equations from which the
LISP programs are derived as dealing with only a small
region of an expression at a time. While algebra tends to
supply particularly nice examples of this principle, the
principle in one form or another pervades essentially all
areas where linguistic structures are encountered.
Conclusion
This discussion of LISP has confined itself to those
aspects of LISP directly visible to the user. It has not con-
sidered LISP's substantial contributions to language im-
plementation technology, such as garbage collection, the
interpreter/compiler dichotomy, and dynamic module
linking in place of the usually more static linking loader.
It did consider LISP's relation to other languages, finding
APL to be as good as LISP in some respects, but lacking
in some particularly vital areas.
While it is difficult to consider LISP unique in any
single one of its aspects, when looked at as a whole LISP
stands out as a quite remarkable and original language
that does credit to its inventor, John McCarthy. ■
168 August 1979 © BYTE Publications Inc
CBASIC Business Software for Microcomputers
Osborne & Associates is publishing CBASIC editions of its business software
books, Payroll With Cost Accounting, Accounts Payable and Accounts Receiva-
ble and General Ledger. The CBASIC programs in these new editions will run on
many floppy disk-based microcomputer systems.
PAYROLL WITH COST ACCOUNTING
ACCOUNTS PAYABLE AND
ACCOUNTS RECEIVABLE
GENERAL LEDGER
Each book includes complete source listings with remarks, program and system
documentation, and an operator's manual. All this for just $15.00! The softbound
Wang BASIC versions of all three books are available now. CBASIC Payroll
With Cost Accounting is also available now. The remaining books in the
CBASIC series will be published in the fall of 1979. The new CBASIC-2 editions
are in a convenient, loose-leaf format.
Not a programmer? Don't want to key in thousands of lines of source code from
the book? You can buy the programs ready-to-run on floppy disk from one of our
200 dealers. Contact us for the name of your nearest dealer.
CBASIC or Wang BASIC won't work? Here is a partial list of independent con-
sultants who have converted Osborne programs to run on many popular systems
using our books as their manuals. Contact us for a complete, up-to-date list of
these conversions.
CONSULTANTS • COMPUTER STORES • SOFTWARE HOUSES
You can be a dealer for the magnetic surface of Osborne's CBASIC-2 software. We will sell the pro-
grams on 8" floppy disks to dealers, consultants and computer stores only. The disk for each book
sells for $250.00. Once you buy the floppy disk you may copy it as many times as you like, resell it,
change the programs, or use it for your own purposes. But the best part is that we have already writ-
ten your operator's manuals — our books! We grant you the unrestricted right to use, transfer, or
otherwise deal in any way with the machine-readable form of our BASIC programs. We copyright
only the printed word in our books.
ALPHA MICRO:
Peter Burke
THE BASIC BUSINESS SOFTWARE CO., INC.
P.O. Box 2032
Salt Lake City, Utah 74110 (801)363-1199
APPLE II:
Jimmy Walter
A.CE. COMPUTER SYSTEMS
2449 North Westshorc
Tampa. Florida 33607 (813) 872-2798
COMMODORE PET:
Chuck Stuart
CMS SOFTWARE
5115 Mcncrcc Drive
Dallas. Texas 75227 (214) 381-0690
CROMEMCO:
Richard French
THE NETWORK COMPUTER SYSTEMS
495 Third Avenue #8
San Francisco. California 94118 (415) 668-7777
DATAPOINT 1500:
Paul Marchetti
OCCIDENTAL COMPUTER SYSTEMS, INC.
6666 Valjcan Avenue
Van Nuys, California 91406 (213) 782-3005
M1CROPOLIS, NORTHSTAR
(REQUIRES CP/M):
James Rountree
R&A COMPUTER SERVICES
7700 Edgewatcr Drive, Suite 723
Oakland. California 94621 (415) 562-3133
MICROSOFT disk BASIC:
Dan Kindred
GNAT COMPUTERS
7895 Convoy Court
San Diego. California 921 1 1 (714) 560-0433
NORTHSTAR BASIC:
Isaac Bornstcin
COMPUTER SERVICES OF ENCINITAS
341 Willowspring Drive
Encinitas, California 92024 (714) 436-2486
POLYMORPHIC 8813:
Bruno Caprez
KEYSTONE SYSTEMS
P.O. Box 767
Spokane, Washington 99210 (509)747-5623
TRS-KI):
Don French
APPLIED DATA CORPORATION
P.O. Box 16020
Fort Worth. Texas 76133 (817)738-0251
Irwin Taranto
TARANTO & ASSOCIATES
P.O. Box 6073
San Rafael, California 94903 (415) 472-1415
WAN(J BASIC ON FLOPPY DISK:
Richard Armour
ATLANTIC COMPUTING & CONSULTING
P.O. Box 7294
Hampton, Virginia 23666 (804) 340-9350
Order Form
Name: .
Address:
City:
State:
. Zip:
Phone:.
#j 1 OSBORNE & ASSOCIATES
^-^ 630 Bancroft Way, Dept. 123
Berkeley, CA 94710 USA
(415) 548-2805 TWX 910-366-7277
Title
Price
Quantity
Amount
22-5 Payroll With Cost Accounting - CBASIC
$15.00
23-3 Accounts Payable/Receivable - CBASIC
15.00
24-1 General Ledger -CBASIC
15.00
09-8 Payroll With Cost Accounting - Wang BASIC
15.00
13-6 Accounts Payable/Receivable - Wang BASIC
15.00
20-9 General Ledger - Wang BASIC
15.00
Shipping (Shipping for large orders to be arranged) California residents tax
a All foreign orders $4.00 per book for airmail .
□ S0.45 per book 4th class in the U.S. (allow 3-4 weeks)
□ S0.75 per book UPS in the U.S. (allow 10 days) Total Amount Enclosed
□ SI. 50 per book special rush shipment by air in the U.S.
Calif, residents add 6% sales tax.
S.F. BART residents add 6-1/2 % sales tax.
a I am an end user interested in
running CBASIC programs on disk.
Please notify me of the closest dealer
for:
□ I am a dealer interested in
purchasing CBASIC programs on
disk for resale. Please send descrip-
tion and order information for:
□ CBASIC Payroll With Cost Accounting
a CBASIC Accounts Payable/Receivable
D CBASIC General Ledger
Please send the following information:
□ Becoming an Osborne dealer
□ School discounts
D List of foreign distributors
D Other Osborne publications
□ Please send me the current conversion list
Payment in advance must be enclosed for purchases of up to S70.00. Invoicing
U.S. purchases over S70.00 available upon approval of your account. All foreign
orders must be prepaid in U.S. dollars drawn on a U. S. bank.
Circle 292 on inquiry card.
SI034
BYTE August 1979 169
A Preview of the
Motorola 68000
A I Halsema
4921 Patrae St
Los Angeles CA 90066
It is difficult to classify the new
Motorola 68000 processor. It seems
incongruous to call a machine with 32
bit wide data paths a microcomputer.
The 68000 should be available in late
1979. As this is being written, the ar-
chitecture of the machine has been
frozen, and the microcode is nearing
completion. A user programmable,
on chip, control memory for dyna-
mically changing the machine's
instruction set is not planned, but you
may be able to specify your own
microcode, which is burned into an
on chip read only control memory at
the factory.
vcc
GND
CLK
FCO
FCI -+-
E ■*-
VMA •*-
VPA —
RES «*-
HLT —
BERR
MC68000
ADDRESS
>
I-A23)
\ (D0-DI5)
* AS
* R/W
D ► UDS
-•> LDS
DTACK
BR
BG
BGACK
I~ACK
IPLO
IPLJ
IPL2
Figure 1: Pin assignments for the Motorola 68000 package. A description of
the functions of the different pins is found in table 1. Figure reproduced
courtesy of Motorola Semiconductor Products Inc.
170 August 1979 © BYTE Publications Inc
Using HMOS (high density metal
oxide silicon), the 68000 will come in
a 64 pin package (see figure 1).
Capable of directly addressing up to
16 M bytes (actually 2 24 =
16,777,216 bytes) of memory, the
68000 is about 15 times more complex
than the 6800 (coincidentally it has
about 68,000 transistors on the chip,
and has about 10 times greater
throughput). External data paths are
16 bits wide and access memory that
is organized as bytes. Through the
use of a signal called VPA (valid
peripheral address), the 68000 will be
able to use the slower 6800 peripheral
devices.
Internally the 68000 is an ortho-
gonal and consistent machine, with
16 identical 32 bit accumulators, 61
basic mnemonics (shown in table 2),
which can be used with any of the 14
addressing modes and any of the six
data types. See figure 2 for an illustra-
tion of the programming model. The
five basic addressing modes are
register direct, register indirect, ab-
solute, immediate, and program
counter relative. The ability to do
postincrementing, predecrementing,
offsetting, and indexing is included.
Data types recognized by the machine
are bits, bytes, BCD (binary coded
decimal) digits, ASCII characters, 16
About the Author
Aillil Ian Halsema has worked as a program-
mer since 1971. He is now a senior member of
the programming staff at Xerox Corp. His per-
sonal computer system includes a Southwest
Technical Products Co 6800 and Okidata
CP-110 printer.
bit words, and 32 bit long words. By
combining the instructions, data
types, and addressing modes, more
than 1000 instructions are available.
Some of the more interesting in-
structions are PACK (pack ASCII to
BCD digit form), UNPK (unpack
from BCD digits to ASCII), CHK
(check register against bounds),
TRAP (provides access to 16 software
trap vectors), LINK, and UNLK (link-
ed list operations). With eight levels
of priority interrupts, this machine
can access 256 interrupt vectors.
Hardware traps to catch software
errors include word access with odd
address, illegal instruction, unimple-
mented instruction, illegal addressing
mode, illegal memory access,
overflow on divide, and overflow
condition code. Through the use of
the unimplemented instruction trap,
the user can implement his own oper-
ation codes (in a fashion similar to
SVC on the IBM 360/370 systems).
Designed with timesharing in
mind, the 68000 has supervisory and
user states, with the ability to run
eight tasks in the user state simul-
taneously. Supervisory state makes
certain instructions legal for oper-
ating a separate memory manage-
ment controller. This controller will
provide dynamic management of
memory segments that contain read
only data, read/write data, program
code, or protected data or code. As
an aid in debugging, the machine in-
cludes a bit in the status register that,
when set, puts the machine into single
step operation.
The 68000 instruction set was
designed by programmers for pro-
grammers, and is designed for ease of
use in compiler generation and
timesharing system implementation.
The orthogonality referred to above
reduces the number of details the pro-
grammer must keep in mind when
programming — a register is a
register like any other on the
machine, with no special conditions
restricting register use.
Applications
Computers are useful for process-
ing vast amounts of data, and for per-
forming long repetitive sequences of
operations. Since the personal com-
puter enthusiast has neither the
facilities nor the time to collect large
amounts of data for processing, the
computer is more likely to be used in
Pin Identification and Definitions
D0-D15
Address Leads
Data Leads
AS
Address Strobe
R/W
Read/Write
UDS, LDS
Data Strobes
DTACK
BR
Data Transfer
Acknowledge
Bus Request
BG
Bus Grant
BGACK
IACK
IPLO,
IPL1,
IPL2
FCO, FC1
Bus Grant
Acknowledge
Interrupt
Acknowledge
Interrupt Priority
Level
Function Code
CLK
Clock
RES
Reset
HLT
BERR
Halt
Bus Error
E
VPA
VMA
GND
Enable
Valid Peripheral
Address
Valid Memory
Address
4-5 V
Ground (two pins)
23 bit address bus; capable of addressing
16,777,216 bytes in conjunction with UDS and
LDS.
16 bit data bus; transfers 8 or 16 bits of infor-
mation.
Indicates valid address and provides a bus lock for
indivisible operations.
Defines bus operation as Read or Write and
controls external bus buffers.
Identifies the byte(s) to be operated on according
to R/W and AS.
Allows the bus cycle to synchronize with slow
devices or memories.
Input to the processor from a device requesting
the bus.
Output from the processor granting bus arbitra-
tion.
Confirmation signal from BG indicating a valid
selection from the arbitration process.
Identifies that the bus is performing an interrupt
service cycle.
Provides the priority level of the interrupting func-
tion to the processor.
Provides external devices with information about
the current bus cycle.
Master TTL (transistor-transistor logic) input clock
to the processor.
Provides reset (initialization) signal to the pro-
cessor and peripheral devices.
Stops the processor and allows single stepping.
Provides termination of a bus cycle if no response
or an invalid response is received.
Enable clock for M6800 systems. Identifies
addressed area as a 6800 compatible area.
Indicates to 6800 family devices that a valid
address is on the bus.
Table 1: Description of pin functions on 68000 processor.
the second mode (number crunching).
Today's microprocessors fail miser-
ably as number crunchers due to low
speeds and limited amounts of
memory space. The 68000 will correct
these deficiencies. (Coupled with the
new low cost, high density memory
devices with 64 K bit capacity and
with even greater density coming, the
personal computer will attain or ex-
ceed the power of an IBM 360 Model
30 within the next decade.) Number
crunching applications requiring little
external storage (ie: disk or drum) in-
clude artificial intelligence, encryp-
tion/decryption, simulation, games,
and Dynabook type applications.
[See the article by Alan Kay on page
230 of the September 1977 Scientific
American for a general description of
small talk, a software system intend-
ed for small portable Dynabook com-
puters.... CH]
Artificial intelligence attempts to
provide the computer with the ability
to learn from past experience (ie:
heuristic procedures), and to simulate
operations of the human brain in
recognizing patterns. Brain simula-
tions are generally performed using
arrays in memory as brain cells, with
software logic taking the part of the
complex interconnections between
cells. Array arithmetic requires a fair
amount of processing power. Such
power is not available on 8 bit
machines.
A common array operation in arti-
ficial intelligence is finding the inner
or dot product of two arrays. If array
X represents a set of cell states, and
array D represents data upon which
the "brain" is to work, then the inner
product of the two arrays is repre-
sented by: z = X 1 D 1 + X 2 D 2 +
. . . + X n D n , where z might be the
result of a vote taken by n cells of the
"brain" in a committee network. This
calculation can be very slow on an 8
bit machine without hardware multi-
ply, and exceedingly slow if the ar-
rays are large or each element is
several bytes long. Multidimensional
arrays take up large amounts of
August 1979 © BYTE Publications Inc 171
PROGRAMMING MODEL
31
16 15 8 7
1 1
DO
Dl
D2
-
D3
EIGHT
-
DATA
.
D4
REGISTERS
-
D5
D6
1 1
D7
31
16 15
AO
Al
A2
~
A3
EIGHT
-
ADDRESS
.
A4
REGISTERS
A5
1
A6
USER STACK POINTER
A7
A7 1
PROGRAM
1
I
SUPERVISORY STACK POINTER
23
f
1
I
COUNTER
15 8 7
STATUS
1
l
REGISTER
STATUS REGISTER
15
13
10
TRACE MODE
SUPERVISORY
INTERRUPT
MASK
EXTEND
NEGATIVE
ZERO
OVERFLOW
CARRY
Figure 2: Programming model and register organization for the Motorola
68000 processor. Note that the data registers and address registers are func-
tionally identical except for register A7. A7' , the supervisory mode stack
pointer, is not available to the programmer. Figure reproduced courtesy of
Motorola Semiconductor Products Inc.
memory space which today's micro-
processors cannot support.
Modern methods of encrypting and
decrypting messages can require large
amounts of processing power. As an
example, the method for obtaining
digital signatures and public key
cryptosystems developed by R L
Rivest (a "trapdoor" system) requires
raising the message text to a power
and dividing by two large secret
prime numbers. Large means
anything from 50 to 500 digits, with
the larger numbers giving greater
security. The mathematical oper-
ations of raising to a power, perform-
ing lengthy divisions, and finding the
large prime numbers (which need be
done only once) cannot feasibly be
performed on an 8-bit machine, but
come within the realm of the possible
when using the 68000.
A simple example that the reader
can program involves finding the
Godel number (named after the
mathematician who discovered them)
which encrypts a word or message.
Each character in the message is
represented by the natural order of
primes (2, 3, 5, 7, 11, 13, ...etc). The
identity of the letter occupying a posi-
tion in the message is given by an ex-
ponent: the exponent 1 meaning that
the letter is an A, 2 meaning a B, etc.
The message as a whole is then ren-
dered as the product of all the bases
and exponents. For example, the
word "CAB" can be represented as
23X31X5 2 or 600 (8X3X25=600).
Decode the message by dividing the
product by each prime number until a
remainder appears. The number of
divisions is the exponent representing
a particular character. Regardless of
how the problem is ordered, much
computation is required to find the
prime numbers, exponentiate, and
multiply. This gives you an idea of
the sort of processing power required
for a full public key cryptosystem.
Games and simulations can become
more complex. A space war game
was programmed nearly a decade ago
at Massachusetts Institute of
Technology that included realistic
simulations of orbital mechanics in
the vicinity of a planet or star. A
space war game with simulations of
relativistic effects at near light speeds
could be challenging both for the
172 August 1979 © BYTE Publications Inc
"THE ORIGINAL"
1 Personal
C Computing
PC 79
®
Plan Now to attend
the best Personal
Computing show ever,
Friday, Saturday, Sunday
October 5 -6 -7th
Philadelphia Civic Center
Philadelphia, Pa.
Don't be confused — Other shows are copying us but
they cannot equal us. We are the Original Personal
Computing Show. Now in our Fourth Year.
FEATURING:
Major Exhibits
from the
Leading Companies
•
Personal Computing College
with 80 Hours of
Free Seminars by the
Industry's Leading Speakers
•
Major Emphasis
on
Software Exhibits
•
2nd Annual
Computer Music Festival
Bigger! Better!
•
Antique
Computing Devices
on Display
•
See All the Latest
Hardware
•
Business Systems
and
Business Software
For more information and a
Free subscription to our "PERSONAL
COMPUTING" newspaper, send
your name and address to:
PERSONAL COMPUTING 79
Rt. 1, Box 242 • Mays Landing, N.J. 08330 • 609/653-1188
Industry TRADE SHOW on October 4th
For exhibiting information please call or write.
Circle 304 on inquiry card.
BYTE August 1979 173
player and the programmer. Simula-
tions of nonlinear and dynamic pro-
cesses require the large amounts of
computing power made available by
the 68000. High resolution graphics
require the large address space pro-
vided by the 68000, and with suffi-
cient processing speed, true real time
animation can be created.
Dynabook is a project headed by
Alan Kay at Xerox Corporation's
Palo Alto Research Center. One of
the objects is to provide the power
of a medium size computer in a pack-
age the size of one encyclopedia
volume. The 68000 computer, bubble
memories, and low cost semiconduc-
tor memories bring this target within
reach. With 8 simultaneous tasks, the
owner of such a system could use one
Mnemonic
Description
ABCD
Add Decimal with Extend
ADD
Add
ADDX
Add with Extend
AND
Logical And
ASL
Arithmetic Shift Left
ASR
Arithmetic Shift Right
BCC
Branch Conditionally
BCHG
Bit Test and Change
BCLR
Bit Test and Clear
BRA
Branch Always
BSET
Bit Test and Set
BSR
Branch to Subroutine
BTST
Bit Test
CHK
Check Register Against Bounds
CLR
Clear Operand
CMP
Arithmetic Compare
DCNT
Decrement and Branch Nonzero
DIVS
Signed Divide
DIVU
Unsigned Divide
EOR
Exclusive Or
EXG
Exchange Registers
EXT
Sign Extend
JMP
Jump
JSR
Jump to Subroutine
LDM
Load Multiple Registers
LDQ
Load Register Quick
LEA
Load Effective Address
LINK
Link Stack
LSL
Logical Shift Left
LSR
Logical Shift Right
MOVE
Move
MULS
Signed Multiply
MULU
Unsigned Multiply
NBCD
Negate Decimal with Extend
NEG
Two's Complement
NEGX
Two's Complement with Extend
NOP
No Operation
NOT
One's Complement
OR
Logical Or
PACK
Pack ASCII to BCD (binary coded decimal)
PEA
Push Effective Address
RESET
Reset External Devices
ROTL
Rotate Left without Extend
ROTR
Rotate Right without Extend
ROTXL
Rotate Left with Extend
ROTXR
Rotate Right with Extend
RTR
Return and Restore
RTS
Return from Subroutine
SBCD
Subtract Decimal with Extend
sec
Set Conditional
STM
Store Multiple Registers
STOP
Stop
SUB
Subtract
SUBX
Subtract with Extend
SWAP
Swap Data Register Halves
TAS
Test and Set Operand
TRAP
Trap
TRAPV
Trap on Overflow
TST
Test
UNLK
Unlink Stack
UNPK
Unpack BCD to ASCII
task as a clock, one for a calculator,
one for personal data base process-
ing, another for memos, reminders,
and schedules, and yet another for
text processing, and still have 3 other
tasks available for long-term number
crunching, games, or whatever the
imagination can visualize. With as
much as 16 M bytes of memory, each
task could be allotted 2 M bytes. This
amount of storage is difficult to com-
prehend, but for comparison, the text
of this article requires about 10,000
bytes of storage. This Dynabook sys-
tem would be battery powered and
portable, with a solid-state display
and thin, typewriter keyboard.
There can be no doubt that the in-
expensive super computer is coming.
IBM estimates that an entire central
processing unit with 1 M bytes of
memory will fit in a cube 1 inch (2.54
cm) on a side by the end of the 1980s.
[This particular device will require
cooling to superconductor tempera-
tures.] An example of what is possible
with today's technology can be seen
in Texas Instruments' "Speak and
Spell" toy, which for under $50 pro-
vides a keyboard, alphanumeric
display, and microprocessor control-
led speech feedback with a vocabu-
lary of about 250 words and
numerous messages and phrases. The
functions that can be performed by
the Motorola 68000 and the new
generation of microprocessors it
represents are limited only by the im-
agination. ■
Table 2: Instruction set of 68000 processor. Operation of instructions is as con-
sistent as possible.
BIBLIOGRAPHY
1. Feucht, Dennis, "Pattern Recognition:
Basic Concepts and Implementation,"
Computer Design, December 1977, pages
57 thru 68.
2. Kay, Alan C, "Microelectronics and the
Personal Computer," Scientific American,
volume 237, number 3, September 1977,
page 230.
3. Rivest, R L; Shamir, A; Adleman, L, "A
Method for Obtaining Digital Signatures
and Public-Key Cryptosystems," Com-
munications of the ACM, volume 21,
number 2, February 1978, pages 120 thru
126.
174 August 1979 © BYTE Publications Inc
Here's the LATEST news...
We're expanding again! CompuKit is now CompuPro to reflect the fact that more and more
of our production is being devoted to non-kit products ... not only is there increased demand
for our standard assembled & tested models, but the high-reliability Certified System Compo-
nent boards (with 200 hour burn-in and immediate replacement in event of failure within 1 year
of invoice date) are really taking off. Kit builders need not fear, however; when economy is para-
mount, most CompuPro products are also available in "unkit" form (sockets, bypass caps pre-
soldered in place). All of this is part of our continuing commitment to provide the best possible
products at the lowest possible prices ... the same commitment responsible for making us an
industry leader in the first place.
THE ECONORfiM* MEMORY LINE:
LOW POWER AND LOW PRICE MEET HIGH TECHNOLOGY.
Name
Storage
Buss
Speed
Technology
Configuration
Unkit
Assm
CSC
Econoram MA
8KX8
S-100
4 MHz
static
2-4K blocks
$149
$179
$239
Econoram IV
16KX8
S-100
4 MHz
static
1-16K
$295
$329
$429
Econoram VI
12KX8
H8
2 MHz
static
1-8K, 1-4K
$200
$270
N/A
Econoram VII
24KX8
S-100
4 MHz
static
2-4K, 2-8K
$445
$485
$605
Econoram IX
32KX8
Dig Grp
4 MHz
static
2-4K, 1-8K, 1-16K
$559
$639
N/A
Econoram X
32KX8
S-100
4 MHz
static
2-8K, 1-16K
$599
$649
$789
Econoram XI
32KX8
SBC
4 MHz
static
2-8K, 1-16K
N/A
N/A
$1050
BfiNK SELECT MEMORIES (for filpha Micro Systems,
Marinchip, etc.)
Econoram XII-16
16KX8
S-100
4 MHz
static
2 indep. banks**
$369
$419
$ 519
Econoram XII-24
24KX8
S-100
4 MHz
static
2 indep. banks**
$479
$539
$ 649
Econoram XIII
32KX8
S-100
4 MHz
static
2 indep. banks**
$629
$699
$ 849
'Econoram is a trademark of Bill Godbout Electronics
••Econoram XII-16 and
-24 have 2 independent banks addressable on 8K boundaries; Econoram XIII has 2 independent banks addressable
on 16K boundaries.
SPECIAL SUMMER SfiLE: 16K MEMORY
EXPANSION CHIP SET 44*9- $87. 20
20% off one of our all-time best sellers from July 15 to August 31
only. For Radio Shack-80, Exidy Sorcerer, Apple computers. 250 ns ac-
cess time, low power parts, DIP shunts included, 1 year limited warran-
ty, and easy-to-follow instructions that make memory expansion a
snap.
S-100 MOTHERBOARD
18 slot unkit: $124. Each motherboard Includes all
edge connectors wave-soldered in place for easy assembly, integral
active termination circuitry, extra wide power and ground traces, and
much more.
fiCTIVE TERMINATOR KIT $34.50
As written up by Craig Anderton in the April 79 issue of Kilobaud
Microcomputing. Our much imitated design plugs into any S-100
motherboard to reduce ringing, crosstalk, noise, and other buss-related
problems.
H8 EXTENDER BOARD KIT $39
New from Mullen Computer Products. Really takes the hassle out of
troubleshooting or testing the popular Heath H8 microcomputer; in-
cludes jumper links in the power supply lines for insertion of fuses, Am-
meters, current limiters, and the like.
S-100 EXTENDER BOARD KIT $39
From Mullen Computer Products. Includes jumper links in supply
lines, on board logic probe, and general purpose "kluge board" area for
installing custom testing jigs or other circuits.
DUAL CHANNEL/DUAL FUNCTION S-100
I/O BOARD $189 unkit, $249 assm.
This board does things the others only dream about. Features two
independently addressable serial ports with full RS232C, current loop
(20 mA) and TTL signals on both ports. Includes on board xtal timebase
and Baud rate generator for Baud rates up to 19.2 KBaud, EIA 232C
receivers and drivers (1488, 1489), hardware LSI UARTs that don't tie up
the computer's CPU, operation with 2 or 4 MHz systems, software pro-
grammable UART parameters/interupt enables/handshaking lines
(handshaking lines are full RS232 — not just a 3 wire system), optically
isolated current loop, provision for custom frequency compensationon
both receive and transmit sides to accommodate varying speed/noise
situations or unusual cable lengths . . . and even all this isn't the full
story of what this board can do for you. See it in person at a computer
store near you, or order direct from us.
2708 EROM BOARD "UNKIT" $85
4 independently addressable 4K blocks, with selective disable for
each block. Built to CompuPro/Econoram standards (dipswitch ad-
dressing, top quality board, sockets wave-soldered in place), and in-
cludes dipswitch selectable jump start built right into the board. In-
cludes all support chips and manual, but does not include EROMs.
Special: if you order before August 1st, our introductory price of $69.95
is still in effect. Orders postmarked August 1st or later are no longer
eligible for the introductory price ... no exceptions.
POPULAR COMPUTER ICs
Low power 21L02 static 1K RAMs on special: 10/$9.90 (under 1$ per
byte!) 1791 MOS LSI dual density disc controller from Western Digital:
$59 with pinout and data. 1771 single density controller: $22.50. All
parts are offered on a while-they-last basis.
We realize that it is becoming less and less common for manufacturers to offer their products in kit form, so we'c
like to emphasize that we are not planning to phase out our kits. The "hackers" who derive enjoyment from building
and testing equipment themselves were our very first customers, and we recognize that these experimentally-minded
individuals have been responsible for many significant developments in the microcomputer field. As long as people
want to put things together with their very own hands, we'll continue to offer kits . . . and continue to repair them
promptly under the terms of our 1 year limited warranty (almost always without charge), in the rare event that \
problem occurs.
TERMS: Cal. res. add tax. Allow
5% shipping, excess refunded.
Orders under $15 add $1 han-
dling. VISA®/Mastercharge® call
our 24 hour order desk at (415)
562-0636. COD OK with street ad-
dress for UPS. Prices good
through cover month of magazine
except as noted.
Circle 150 on inquiry card.
CompuPro M
Box 2355, Oakland Airport, CA 94614
from
ELECTRONICS
FREE FLYER: We'll be glad to tell
you more than the space of this ad
permits. Just send your name and
address, we'll take care of the
rest. If you're in a hurry, enclose
41c In stamps for 1st class
delivery.
BYTE August 1979 175
LISP Based Symbolic
Math Systems
David R Stoutemyer
The Soft Warehouse
POB 11174
Honolulu HI 96828
On an interactive terminal, a user begins by typing the
assignment:
Q - 6*Xt3/(9*X)
where — denotes assignment, * denotes multiplication,
and t denotes raising to a power. Such a command would
be erroneous in most languages because the variable X
has not previously received a value. However, symbolic
math systems accept and even simplify expressions con-
taining such unbound variables. Thus, the response of
such a system to the above command is the automatic
output:
2*Xt2/3
which is also saved as the value of Q. Some of the
systems have more elaborate output routines which
would display the above output in a two-dimensional
format such as the following:
2Xf
3
It is the ability to accept and transform input-data con-
sisting of expressions which contain unbound variables
that most characterizes computer symbolic math. As is
also illustrated by this example, virtually all such systems
are capable of exact rational arithmetic. In fact, the ra-
tional arithmetic is usually indefinite precision, wherein
each number occupies as much memory as is necessary
for exact representation up to some very large maximum,
imposed perhaps only by the total amount of remaining
space allocated for numbers. Even the small 8080 based
muMATH-79 system can compute 99" exactly, in less
than three seconds, and the SCRATCHPAD system was once
involved in a proof that the incredibly large number
2 i9.937 -i i s p r i m e.
Virtually all symbolic math systems also support sym-
bolic differentiation. For example, if the user enters an ex-
pression after the above assignment to Q such as the
trigonometic example:
DIF(A*SIN(Q),X),
the automatic interactive response is:
4*A*X*COS(2*Xt2/3)/3
Later sections will discuss even more sophisticated built-
in mathematical capabilities of these systems.
Symbolic math systems are often called computer-
algebra systems despite their ability to do trigonometric
simplification, calculus, and other operations aside from
algebra.
Most general-purpose computer-algebra systems are
implemented in LISP or in a disguised variant thereof,
because LISP is especially suitable for the purpose. This is
not to say that the user of a LISP based system must
know LISP or use a LISP like syntax for his expressions.
Because the syntax of traditional applied math is so dif-
ferent from that of LISP, each of these systems provides a
parser which translates the traditional external represen-
tations of input expressions into corresponding internal
representations which are more suitable for performing
the various mathematical transformations. Similarly,
each of these systems provides an output deparser which
About the Author
David R Stoutemyer is a Professor of Electrical Engineering at the
University of Hawaii. He has received his doctorate in Computer
Science from Stanford University, with specialization in numerical
analysis. His current research interests include both numerical and non-
numerical scientific computation. Current educational interests include
innovative computer aided math education at the elementary through
college level.
176 August 1979 © BYTE Publications Inc
AMERICAN TAX ASSOCIATES
Alpha Fedtax and Caltax
a
years in use
cro systems
This is a thoroughly tested and successfully installed software package. It is very user oriented
and simple to use. The package is as comprehensive as available computer tax services. It
will calculate taxes, prepare and print all forms.
This package is supported by American Tax Associates, an established California accounting
firm. In this way you can be assured that the yearly updates will be consistent with the current
laws and accounting practices.
This package is a real time saver. It can perform income averaging automatically, and based
on the data input, the program can determine whether to itemize or to use the standard de-
duction.
The client data collection and input procedures were selected based on the experiences of
American Tax Associates, and the techniques used by many service companies. A simple
form is completed during the client interview. The data from this form is later input into the
computer for processing.
When the client data is entered into the computer you may select to have it print an audit trail
of all data entered. This will enable you to double check the data entered.
The returns are printed on continuous preprinted IRS approved forms. Those forms not requir-
ing a preprinted form are formulated and printed on blank paper. The data disk will hold up to
120 clients so the software is designed to print all of one page at a time.
The Alpha Micro system was chosen as the base computer system because of its multiuser
capability, high throughput, and upward expandability into a hard disk system.
Yearly updates will be supported by American Tax Associates. These updates are available
from either your dealer or directly from Mission Control.
SYSTEM REQUIREMENTS:
Language: Alpha Micro Systems Basic (compiled)
Media: 8" floppy diskette
CPU: Alpha Micro AM-100
Memory: 64K RAM
Printer: 132 col with tractor feed
Floppy: Dual 8" drives required
Write for our brochure - Dealerships still available
Contact: Distributor
DISTRIBUTED BY
2008 WILSHIRE BLVD., SANTA MONICA, CA 90403 • (213) 829-5137
Ml!
CONTROL
Circle 238 on inquiry card.
BYTE August 1979 177
translates the internal representation into a traditional
mathematical representation for display.
In addition to using the built-in math facilities in the
symbolic calculator fashion illustrated above, many users
want to eventually extend the built-in capabilities by
means such as entering appropriate function definitions.
Since most users of these systems are accustomed to a
traditional Von Neumann style of programming lan-
guage, rather than LISP, the parser is also generally used
to provide users with a surface programming language
which resembles ALGOL or another widely acceptable
syntax. In fact, many of these systems provide an exten-
dable parser-deparser, so that the user can introduce
mathematical operators and programming syntax to suit
personal needs and tastes. Such functional or parser ex-
tensions can be freely intermixed with calculations utiliz-
ing built-in facilities and previous extensions so that the
interaction is of the full incremental variety, a la LISP
and APL, rather than a semi-interactive style, a la
BASIC.
I have spent many fascinating hours using the four
most actively supported and publicized LISP based
systems and it seems likely that increasing numbers of
students, scientists, engineers, and mathematicians will
want an opportunity to try some of these systems. Conse-
quently, the following four sections briefly describe some
of their capabilities and their availability, in order of in-
creasing size. In the interest of brevity, each section em-
phasizes features not described in previous sections.
As with many other LISP programs, these computer
algebra systems seem almost magical when first en-
countered. Thus, it is especially satisfying and educational
to learn how they work. Accordingly, these four sections
also briefly indicate some of the underlying techniques,
together with the issues that they address.
Interest in computer algebra is growing rapidly, and
the final section discusses the impact that this powerful
tool can have on education, recreation, and research.
muMath-79
muMATH-79 is a small computer-algebra system im-
plemented by Albert Rich and the author for Intel 8080
based microcomputers using the popular Digital Research
CP/M operating system. The system will also run on the
upward-compatible Intel 8085 and Zilog Z-80 processors,
and upward-compatible operating systems such as the
Cromemco CDOS or IMSAI-IMDOS systems. In its en-
tirety, including an allowance of 5.7 K bytes for a resi-
dent operating system, the system occupies 28 K bytes,
for which an additional minimum of 16 K bytes is recom-
mended to store the control stack, the symbol table,
character strings, numbers, expressions, and user-defined
functions. The system is modular so that users can save
space by omitting unneeded packages. For example, the
symbolic integration, differentiation, logarithmic,
trigonometric, and inverse trigonometric packages can be
omitted when one is interested only in algebra. Similarly,
the algebra and rational arithmetic packages can also be
omitted when one is interested only in exact integer
arithmetic. Here is a brief summary of the built-in
facilities:
• The system provides indefinite precision rational
arithmetic, including integer factorization and
simplification of fractional powers. For example,
the system can perform the simplification:
VJ8 " Vf 1
V3
^6
where — denotes is transformed to.
• Unavoidable automatic algebraic simplifications in-
clude collection of similar terms, collection of
similar factors, reduction of integer powers of the
imaginary number i, and exploitation of the identi-
ty properties of and 1, such as:
l*u — u
for any expression u.
• Optional, more drastic automatic algebraic
transformations include expansion of integer
powers of sums, expansion of products of sums,
factoring common factors from all the terms of a
sum, placing expressions over a common denom-
inator, and distribution of denominators over the
terms of corresponding numerators. Optional
transformations are controlled by the values of a
few option variables so that users can employ or
suppress these more drastic transformations to suit
their needs and tastes for each specific problem.
Unavoidable and optional automatic logarithmic
transformations include:
e i«co _ U/
ln(e M ) — u,
ln(u*v) zr ln(u) + ln(v),
ln(u t v) 71 v*ln(u),
for all u and v.
• Unavoidable and optional automatic trigonometric
transformations include exploitation of symmetry
to remove minus signs from trigonometric
arguments, exact computation for angles which are
integer multiples of ir/12, multiple angle expansion,
angle-sum expansion, conversion of trigonometric
powers to multiple angles, and conversion of trigo-
nometric products to angle sums.
• Symbolic differentiation and integration rules are
built-in for all of the built-in mathematical
operators and functions. Also, there is a mechanism
for introducing differentiation and integration rules
for other operators and functions defined by the
user.
As an example of the speed of muMATH, on an 8080
running at 2 MHz with 48 K bytes the system can expand
298!, (1+x) 20
sin(17x), (x! + x 2 +... +x 13 ) 2 ,
or
sin(x 1 +X2 + ...+x 5 ) in one minute. Try doing these by
hand!
Because of the incremental expression-oriented style, a
knowledge of computer programming is unnecessary for
using the built-in capabilities of muMATH in the
symbolic-calculator fashion. When a user's needs are not
met by the built-in facilities, they can be modified or ex-
tended by entering appropriate function definitions,
simplification rules, or operator parse rules. The built-in
178 August 1979 © BYTE Publications Inc
Expansive
but not expensive
MicroAge introduces for Horizon
and Alpha Micro Systems, the most
powerful Hard Disk Units You've
Ever Seen.
Welcome to "Hard" Times: a new
age of hard disk cartridge drives
for Horizon and Alpha Micro . . .
so powerful, so reliable, so
economical, you've never seen
anything like it. Fast, easy and
versatile: the revolutionary new
Fujitsu M2201 with 40
(formatted) megabytes of
storage . . . and the dynamic CDC
Phoenix with 27 (formatted)
megabytes. Both are operated
with North Star and Alpha Micro
commands. Added capacity
means the ability to fully utilize
the complete range of software
and capabilities of North Star
Horizon and Alpha Micro
mainframes.
But their family interface
compatibility is not all that's
expansive. Speed and economy
are impressive, too. Super-fast
access time means no waiting for
command execution . . . easy
handling of large files. And the
price? Unbelievably low for this
much flexibility, power, speed
and capacity. And the low price
includes the hard disk drive,
S-100 controller, software
interface, cords and disk pack.
Fujitsu M2201 Cartridge
Module Drive
50 megabyte storage
(40 formatted)
Exclusively from MicroAge
CDC Phoenix Cartridge
Module Drive
32 megabyte storage
(27 formatted)
Either.
$9995.00
Includes drive, S-100 controller,
software interface and disk pack.
Askyour dealer about Hard Times — the Fujitsu M2201 and CDC Phoenixdrivesfrom MicroAge. Availableto
qualified dealers and OEM's. If a dealer is not available in your area, call 800-528-1415.
Circle 212 on inquiry card.
BYTE August 1979 179
Circle 366 on inquiry card.
LIGHT PEN trs so
BYPASS THE KEYBOARD
INTERACT WITH THE
SCREEN DIRECTLY
APPLICATIONS:
• Education
• Business
• Games
• Home
NO ASSEMBLY NECESSARY
READY TO PLUG IN
COMPLETE INSTRUCTIONS AND
DEMONSTRATION PROGRAM PROVIDED
TRS-80 PEN Includes
Demo-Game Cassette
MAIL COUPON TODAY!
30 DAY UNCONDITIONAL
MONEY BACK GUARANTEE!
Please send me a 3-G Light Pen. I've enclosed a check or money order.
I— , TRS-80
LJ $34.95
n PET
LJ $29.95
ADD $1.50 FOR
MAILING AND HANDLING
($6.00 FOREIGN)
NAME
ADDRESS
CITY
. STATE
§
3G Company, Inc., Dept. BT
Rt. 3, Box 2BA
Gaston, OR 97119
HOW TO BUY
A BUSINESS
COMPUTER
WHEN TO BUY • WHEN NOT TO BUY #\
HOW TO CHOOSE CONSU LTANTS ©DATA
GATHERING • PACKAGED VS CUSTOM
SOFTWARE ©CONTRACTS • FINANCING
• WARRANTEES AND MAINTENANCE ©INSTALLATION
MANAGEMENT AND MUCH MORE
"SUPER BOOK!" DP Consultant, Mercer Island, Washington.
"I wish I'd had this book before I bought my computer! "TV
Station General Manager, California.
"It's the best book I've seen on the subject. Send me 5 copies
to send to my clients!" CPA, Orange County, California.
"I really learned something from this book and I'm in the
business. I'm recommending it to my clients." DP Consultant,
Alhambra, California.
Here's a straight forward approach to business computer
purchase and installation. It will save you time and money.
ORDER NOW! If not completely satisfied, return within 30
days for a full and immediate refund.
8 1 / 2 x 11 Softbound ■ 178 pp. ■ $12.95
Credit Card Orders 1-805-964-7448
DDC PUBLICATIONS b
5386 Hollister Ave., Santa Barbara, CA 93111
Rush copies of "Winning The Computer Game" at $1 2.95
per copy. (CA residents add 6% sales tax)
NAME
ADDRESS
CITY/STATE/ZIP.
DCheck
Card No
DMasterCharge
□ Visa
Exp. Date .
mathematical algorithms are written in the same general
environment and high-level syntax provided to the user.
Consequently, the user does not need to master a second
underlying environment and syntax, such as LISP, in
order to understand the system and fully integrate his ex-
tensions into the system.
As an example of a functional extension, suppose that
we wish to introduce the trigonometric cosecant function
named CSC, together with the automatic transformation:
CSC(u) - l/SIN(u)
for any expression u. To accomplish this, we merely enter
the definition:
FUNCTION CSC(U),
1/SIN(U),
ENDFUN;
Thereafter, until the function is redefined, the above
transformation will automatically occur for the CSC of
any expression.
Now, suppose that as the sole exception to the above
transformation, we wish to introduce the transformation:
CSC(0) - UNDEFINED
where UNDEFINED is a variable. To accomplish this, we
merely enter the new definition:
FUNCTION CSC(U),
WHEN U = 0, UNDEFINED EXIT,
1/SIN(V)
ENDFUN;
As illustrated by these two examples:
• The body of a function definition consists of a se-
quence of expressions separated by commas.
• The value returned when a function definition is ap-
plied to its arguments is the value of the last expres-
sion evaluated therein.
• A conditional exit expression consists of the match-
fix operator named WHEN, followed by one or
more expressions separated by commas, followed
by the matching delimiter named EXIT.
• The value of a conditional exit is that of the last ex-
pression evaluated therein when the conditional exit
is evaluated.
• If the first expression in a conditional exit evaluates
to FALSE, then the exit fails and evaluation pro-
ceeds to any successive expression following the
conditional exit.
• For a successful exit, proceeding sequentially from
the nonFALSE expression, when evaluation first
reaches an EXIT delimiter it proceeds to the point
following the next ENDFUN, ENDLOOP, or END-
BLOCK delimiter.
To illustrate the LOOP construct, suppose that we
wish to define a function which uses repeated first
derivatives to compute the Nth partial derivative of an
expression EXPN with respect to a variable VAR, for any
specific integer N>0. We could do so as follows:
180 August 1979 © BYTE Publications Inc
Circle 89 on inquiry card.
FUNCTION DIFN(EXPN, VAR, N),
LOOP
EXPN^DIF(EXPN, VAR),
WHEN N = 1,EXPN EXIT,
N-N-l
ENDLOOP
ENDFUN;
As illustrated by this example:
• A loop-expression consists of the matchfix operator
named LOOP, followed by zero or more expres-
sions separated by commas, followed by the
matching delimiter named ENDLOOP.
• Even an assignment is an expression, having as its
value the value assigned.
• A loop can contain any number of conditional exits
anywhere in the loop, thus providing a single struc-
tured generalization of the REPEAT, WHILE, and
halfloop constructs of some languages.
Moreover, when a function definition is applied to fewer
arguments than there are parameters, the extra para-
meters are initialized to FALSE and they are available for
use as local variables within the definition.
An alternative recursive definition of DIFN is:
FUNCTION DIFN(EXPN, VAR, N),
WHEN N = 0, EXPN EXIT,
DIFN(DIF(EXPN, VAR), VAR, N-l)
ENDFUN;
As is frequently the case, the recursive version is more
compact, and compactness is important on small com-
puters.
The block control-construct consists of the matchfix
operator named BLOCK, followed by a conditional exit,
then zero or more arbitrary expressions, then the mat-
ching delimiter named ENDBLOCK. The value of a block
is the value of the last expression evaluated therein. A
block can contain any number of conditional exits in-
terspersed among other expressions, thus providing a
structured generalization of the case-statement of some
other languages, including the IF-THEN-ELSE construct
as a special instance.
Some users may want to extend the syntax by in-
troducing additional mathematical operators or addi-
tional programming control-constructs. The
incrementally-extendable Pratt parser makes it easy to in-
troduce such extensions as they are needed.
Every operator can have a left and a right binding
power. For example, the left and right binding powers of
/ are 120, whereas t has a left binding power of 140 and a
right binding power of 139. When two operators are
competing for an operand between them, the operator
with higher binding power toward the operand wins the
operand (eg: the expression X/Yt2 is parsed the same as
X/(Yt2) rather than (X/Y)t2). When there is a tie, the
operator on the left wins the operand (eg: X/Y/2 is pars-
ed the same as (X/Y)/2 rather than X/(Y/2 ).
Prefix operators precede their operands. For example,
to establish COS as a prefix operator so that we can omit
parentheses from around suitable arguments of COS, we
can enter the command:
Circle 331 on inquiry card.
16K STATIC RAM
with
$275 450 ns
$300 250 ns
memory chips
Assembled, Tested and Guaranteed
Static TMS 4044 or equivalent - Fully Static 4Kx1 Memory Chips
for full DMA capability, no tricky timing problems.
Fully S-100 Bus Compatible - All lines fully buffered, Dip Switch
Addressable in two8K block, 4K increments. Write Protectable
in 2 blocks, Memory Disable using Phantom, Battery back up
capability.
Bank Select - Using output port 40H (Cromemco software
compatible)-addressable to 512KB of Ram for time share or
Memory Overlap, also has alternate ports 80 H, COH.
Guaranteed - Parts and labor for one year. You may return the
undamaged board within 10 days for a full refund.
Orders - You may phone for Visa, MC, COD ($4 handling charges
for COD) orders. Personal checks must clear prior to shipping.
Shipping-Stock to 72 hours normally. Will notify expected
shipping date for delay beyond this. Illinois residents add 5%
tax. Please include phone number with order.
S.C.cDigital
P.O. Box 906 Phone:
Aurora, I L 60507 (312)897-7749
NO FRILLS! NO GIMMICKS! JUST GREAT
DISCOUNTS
MAIL ORDER ONLY
HAZELTINE
1400 $ 679.00
1500 995.00
Mod 1 1495.00
CENTRONICS
779-1 954.00
779-2 1051.00
700-2 1350.00
761 KSR tractor 1595.00
703 tractor 2195.00
NORTHSTAR
Horizon I assembled. . 1629.00
kit 1339.00
Horizon II assembled. . 1999.00
kit 1599.00
Disk System 589.00
TELETYPE
Mod 43 995.00
IMS
16K Static Memory. . . 459.95
DIGITAL SYSTEMS
Computer $4345.00
Double Density
Dual Drive 2433.00
IMSAI
VDP 80/1000 $5895.00
VDP40 . 3795.00
VDP42 3895.00
VDP 44 4195.00
16K Memory assem.. , 399.00
PCS 80/15 679.00
15% off on all other Imsai products
CROMEMCO
System III $1000 off . . 4990.00
10% oft on all other Cromemco products
TEXAS INSTRUMENTS
810 Printer 1595.00
CENTRONICS
Microprinter 495.00
Most items in stock for immediate delivery. Factory-fresh, sealed cartons.
DATA DISCOUNT CENTER p.o.boxioo
135-53 Northern Blvd., Flushing, New York 11354, 212/465-6609
N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y.
I BankAmericard, Master Charge add 3%. COD orders require 25% deposit.
Circle 91 on inquiry card.
August 1979 © BYTE Publications Inc 181
PROPERTY COS PREFIX 170.
Then, COS X/Y parses the same as COS(X)/Y, because
170 exceeds 120. Alternatively, we could enter the com-
mand:
PROPERTY COS PREFIX 119
if we wished COS X/Y to parse the same as COS (X/Y).
Postfix operators follow their operand, infix operators
lie between their operands, and matchfix operators (such
as LOOP) precede an arbitrary number of operands
separated by commas and delimited by a matching
delimiter (such as ENDLOOP). Numbers and variable
names parse as themselves. A functional expression
parses into a list containing the function name followed
by the parsed representations of its arguments. An opera-
tional expression parses into a list containing the name of
the operator followed by the parsed representations of its
operand. As an example, COS(2/N!) parses into the
nested list (COS,(/,2,(!,N))).
In general, this representation is called Cambridge
prefix (as opposed to Polish prefix or ordinary functional
prefix). We are all so accustomed to infix notation that
most people find mathematical Cambridge prefix
tiresome to read, and many people also find it tiresome to
write. However, the parser prevents us from having to
write Cambridge prefix, and the deparser prevents us
from having to read it, in order to enjoy its great advan-
tages as an internal representation. These advantages are
many.
In order for our programs to determine simply and
quickly which transformations to apply to expressions,
the programs must be able to easily determine whether
the expressions are numbers, variables, or more general.
If the latter, the program must be able to easily determine
the outermost operator or function name, and easily ac-
cess the individual associated operands or arguments. Tc
keep the transformation programs fast and compact, the
syntactic rules governing the internal representation
should be few and simple. Moreover, it is sometimes con-
venient to regard expressions as data in order to apply
transformations to them. At other times it is convenient
to regard expressions as programs in order to execute
them. Cambridge prefix offers all of these advantages.
For each cycle of interaction, after parsing the input ex-
pression, muMATH merely applies the built-in LISP like
EVAL function, then deparses the result for output. For
computer-algebra it is appropriate for such an EVAL
function to at least do the following:
• Evaluate numbers and unbound variables as
themselves.
• Evaluate bound variables as the values to which
they are bound.
• Evaluate a list for which the first element is the
name of a function definition as the value obtained
by applying the function definition to the values of
the other elements in the list.
• Otherwise, the value of a list is the list of its values.
Unfortunately, most LISP EVAL functions implement
only a subset of these rules, leaving undefined the result
Household Finance I & II
$15.00
Part I: Inputs data on each household expenditure; lists, adds, updates,
changes or deletes previously input items. Writes data to cassette tape.
Part II: Reads data tape. Provides monthly and yearly summaries of
financial data, single category summaries, and graphs a spending profile.
Seawolf
$10.00
Ultra fast realtime graphics! Sink
the ships with your moveable tor-
pedo gun; extended play for high
scoring. Uses joystick or keyboard
this version of Life has variable
speed pattern generation and nu-
merous other special features.
Creative Software products are now
available at these fine dealers:
PC Computer Computer Forum
10166 San Pablo Ave. 14052 E. Firestone Blvd.
El Cerrito, California Sante Fe Springs, Californi
Barney Miller's Marin Computer Center
232 E. Main St. 70 Sky view Terrace
I Lexington, Kentucky San Rafael, California
Computer Shoppe
3225 Danny Pk.
Metairie, Louisiana
Memory Bank Inc.
4128 Brady St.
Davenport, Iowa
Olson Electronics
Sherwood Plaza Rte. 9
Natick, Massachusetts
Computerland
4546 El Camino Real
Los Altos, California
Germany
Hbfacker Verlag
Tegernseerstrasse 18
D-8150 Holzkirchen
Munchen, West Gem
Many other Creative Software products, including single
and dual joysticks, are available for the PET. If your local dealer
doesn't carry Creative Software products or program infor-
mation, write directly to the address below. When placing an
order please note:
Add $1.50 shipping for each program ordered. California residents
add 6% sales tax. VISA, MASTERCHARGE accepted. Include
card number and expiration date.
France
S.I.V.E.A.
20 rue de Leningrad
75008 Paris, France \
Austria
BYTE Computer Shop
1040 Wien
Favoritenstrasse 20, Austria
Creative Software
P.O. BOX 4030, MOUNTAIN VIEW, CA 94040
Model DMB-6400 Series dynamic 64k byte RAMS incorporate the
features which are standard in the DM-6400 Series and adds the
following capabilities:
• ALPHA MICRO, CROMEMCO,
and NORTH STAR output port
bank select compatible.
• Four (4) 16k byte, functionally
independent memory banks.
• Memory bank size can be incre-
mented to 64k bytes in 16k
increments.
• Eight (8) 64k byte banks of mem-
ory per output port.
Model DM-6400 Series dynamic 64k memory boards feature IEEE
S-100 compatible timing and on board transparent refresh.
• Memory selectable and deselec- • 25 MHz on board crystal oscillator
table in 4k byte increments. for independent timing,
DMB-6400 and DM-6400 Common Features:
• 4 MHzZ80 operation with no wait
states.
• Tested and bumed-in.
• Low power- 8 watts maximum.
• Reliable, expandable memories.
ONE YEAR GUARANTEE
THE FOLLOWING PRODUCTS ARE AVAILABLE FROM YOUR LOCAL DEALER.
D DMB-6400/64KRAM
□ DMB-4800/48KRAM
□ DMB-3200/32KRAM
D DMB-1600/16KRAM
□ DM-6400/64KRAM
□ DM-4800/48KRAM
□ DM-3200/32KRAM
□ DM-1 600/1 6K RAM
U.K. & EUROPEAN REPRESENTATIVE:
ABACUS COMPUTERS LTD
62, NEW CAVENDISH STREET
LONDON. W1M 7LD U.K.
TEL: 01-580/8841 TELEX: 881-3085
AUSTRALIAN REPRESENTATIVE:
COMPUTERLAND OF MELBOURNE
555 COLLINS STREET
MELBOURNE. VIC3000
TEL: 625581
MEASUREMENT
systems & controls
incorporated
867 North Main Street • Orange, CA 92668
Telephone: 714/633-4460
Circle 215 on inquiry card.
BYTE August 1979 183
Circle 310 on inquiry card.
TRS-80 LEVEL II AND DOS
COMMAND PROCESSOR 'COMPROC' ***NEW PRODUCT***
Automatically load and execute any sequence of System and/or
BASIC programs and data from power up.
Command files created, saved, and edited in BASIC.
Sophisticated options include interactive prompting and substitutional
parameters. Allows non-computer personnel to easily execute programs,
RENUMBER WITH 'REMODEL' - MERGE WITH 'PROLOAD'
REnumber any section or an entire program.
MOve program segments. DELete program lines.
All line references readjusted as required.
COMBINE programs with renumber and merge.
LOAD or SAVE any portion of program from tape.
GENERAL SUBROUTINE FACILITIES 'GSF'
Collection of fast easy-to-use machine language routines.
IN-MEMORY SORT with multiple variables and keys.
SORT 1000 - Element array in 9 seconds.
ARRAY read/write to tape, compress/uncompress/move data.
SCREEN scrolling, save screendisplays, and more
DISK SORT PROGRAM '00S0RT'
SORT/MERGE multi-diskette sequential files.
MULTIPLE variables and keys. User input/output sort exits.
Includes GSF machine language in-memory sort, etc. 32 or 48K.
COPY SYSTEM TAPES WITH 'COPSYS'
Dealer Inquiries Invited
REMODEL
REMODEL + PROLOAD
GENERAL SUBROUTINE FACILITIES
DISKSORTPROGRAM
Must specify 16, 32, or 48K on above.
COMMAND PROCESSOR (DOS ONLY)
COPSYS (Not DOS)
For TAPES that TEST best
|-RACET
COMPUTES -3
702 Palmdale, Orange C A 92665
Order TS21D at $24.95
Order TS22D at $34.95
Order TS25D at $24.95
Order TS26D at $34.95
System house discounts.
Order TS27D at $19.95
Order TS24D at $14.95
Order 10 ea at $14.95
Check. VISA. IYI/C. C.O.D.
Calif, residents add 6%
1714)637-5016
SrFffiFLEET .
fBIBfl sf^'
A specially designed SF TACTICAL BATTLE GAME for
your PET, TRS-80 or APPLE Computer.
The man called Sudden Smith watched the five blips on
his screen spread out to meet the enemy. Two freighters
converted into something like battlewagons, powerful
but slow, and three real cruisers: the most powerful group
of warships ever seen near the Promethean system — except
for the Stellar Union fleet opposing them. Everyone was
calling it Starfleet Orion, though it existed for only this
day. It was life or death, and, after the object lesson on
the planet Spring, everyone knew it.
STARFLEET ORION is a complete 2 player game system
• rule book • battle manual • cassette
• ship control sheets • program listings
Includes 2 programs, 22 space ship types, and 12 playtested
scenarios. Game mechanics are extremely simple, but play
is exciting, challenging, and rich in detail. Specify PET (8K),
TRS-80 (Level II, 16K), or APPLE II (16K& 32K) $19.95.
Ask your local dealer or send your check to:
Automated Simulations
Department Y
P.O. Box 4232
Mountain View, CA. 94040
California residents please add 6% sales tax
of applying EVAL to an unbound variable or a list whose
first element is not the name of a function definition. In
computer algebra, no one would want to quote every in-
stance of every unbound variable. It is often desirable to
write subexpressions such as f(x), even though there is no
corresponding function definition named /. Accordingly,
most LISP based algebra systems begin by defining an
algebraic EVAL function in terms of the built-in LISP
EVAL function.
Since muMATH is intended for microcomputers, we
did not want to waste precious space on two near-
duplicate EVAL functions so we included the above
upward-compatible generalizations of the usual LISP
EVAL in one EVAL. These generalizations are convenient
in other LISP applications, so we would like to see LISP
evolve in this direction.
The lexical and syntactic rules appropriate for input
and output of LISP and computer-algebra expressions
also differ. Many LISP implementations do not directly
accept special characters such as + as valid names, and
LISP scanners do not distinguish between blanks and
commas. Again, we did not want to waste precious space
on two sets of I/O (input/output) routines, one of which
would never be employed by users of the computer-
algebra system. Accordingly, using assembly language,
two semantically similar but lexically and syntactically
different general-purpose list-processing systems were
implemented: muLISP-77 which implements the tradi-
tional LISP lexical and syntatic rules, and muSIMP-77
which employs the lexical rules and high-level syntax il-
lustrated in the preceding examples. We used muSIMP-77
to implement muMATH-79, but muSIMP-77, being a dis-
guised version of LISP, is applicable wherever LISP is ap-
plicable. We think that beginners are more comfortable
with muSIMP than with LISP, hence they are more will-
ing to learn the lovely semantics of LISP, and to ultimate-
ly appreciate the Spartan syntactic simplicity of LISP,
together with its consistency between program and data.
To illustrate the convenience of Cambridge prefix as an
internal representation, here is an example of how dif-
ferentiation could have been implemented in muMATH:
FUNCTION DIF(EXPN, VAR),
WHEN EXPN = VAR, 1 EXIT,
WHEN ATOM(VAR), EXIT,
WHEN FIRST(EXPN = ' + ,
DIF(SECOND(EXPN),VAR)
+
DIF(THIRD(EXPN),VAR)
EXIT,
WHEN FIRST(EXPN)= '* ... EXIT,
WHEN FIRST(EXPN) = LN,
DIF(SECOND(EXPN),VAR)
/SECOND(EXPN)
EXIT
LIST(DIF,EXPN,VAR)
ENDFUN;
The built-in function named ATOM returns TRUE if
its argument is a number or a name. The built-in func-
184 August 1979 © BYTE Publications Inc
Circle 18 on inquiry card.
Circle 289 on inquiry card.
tions named FIRST, SECOND, and THIRD, respectively,
return the indicated elements of the list which is their
argument. The function named LIST takes any number of
arguments returning a list of their values. As indicated, a
single quote is used in contexts where one wishes to pre-
vent the parser from seeking operands for a name which
happens to be an operator.
In simplified results the operators + and * have two or
more operands which have been sorted into a lexical
order to facilitate collection of similar terms and factors.
Consequently the above example would have to use a
loop or recursion to march down the list of operands of
+ .
For modularity and other reasons, differentiation and
most other mathematical transformations are im-
plemented with the aid of a sort of pattern matcher. The
following sections illustrate pattern-matching techniques.
Reduce
REDUCE is a LISP based computer-algebra system im-
plemented by Anthony Hearn and his colleagues for a
variety of large computers. Currently there are supported
implementations for the PDP-10, PDP-20, IBM360,
IBM370, Univac 1108, CDC Cyber, and Cray-1
machines, running under various popular operating
systems. In its entirety, the system occupies about 400 K
bytes on an IBM370, for which an additional minimum of
at least 50 K bytes is recommended as workspace. The
system is modular so that users can save space by omit-
ting unneeded packages (eg: 100 K bytes can be saved by
omitting the integrator). For those who have access to the
ARPA computer network, REDUCE is available at
several sites, including USC-ECL and SU-AI, where ac-
counts may be obtainable. REDUCE is also directly
available on magnetic tape from Professor Hearn at the
University of Utah Computer Science Department in Salt
Lake City for $100. It has been distributed to over 500
sites worldwide. Here is a brief summary of the built-in
facilities:
• The system provides single-precision floating-point
arithmetic as well as indefinite-precision rational
arithmetic.
• Unavoidable algebraic transformations and op-
tional ones controlled by flags are approximately
similar to those of muMATH, except that REDUCE
provides an important additional optional transfor-
mation: cancellation of polynomial greatest
divisors from the numerators and denominators of
rational expressions. REDUCE can perform such
simplifications as the following:
2a 2 x 2 -a 2 bx-a 2 b 2 -ax 3 + axb 2 -x 4 + bx 3 2ax-hab + x 2
a 2 x 2 -a 2 b-ax 2 -2axb-ab 2 -bx 2 +b 2 x
a+b
which might be overlooked by most people.
• There are some built-in exponential, logarithmic
and trigonometric simplifications.
• Matrices having symbolic expressions as elements
can be added, subtracted, multiplied, divided and
raised to integer powers, including inversion
• There are special facilities for solving the quan-
tumelectrodynamics problems of the high-energy
physics.
SOFTWARE AVAILABLE FOR F-8, 8080, 6800, 8085, Z-80, 6502, KIM-
1, 1802, 2650.
EPROM type is selected by a personality module which plugs into
the front of the programmer. Power requirements are 115 VAC,
50/60 HZ at 15 watts. It is supplied with a 36 inch ribbon cable for
connecting to microcomputer. Requires IV2 I/O ports. Priced at
$155 with one set of software. Personality modules are shown
below.
Part No.
Programs
Price
PM-0
TMS 2708
$15.00
PM-1
2704, 2708
15.00
PM-2
2732
30.00
PM-3
TMS 2716
15.00
PM-4
TMS 2532
30.00
PM-5
TMS 2516,2716,
2758
15.00
Optimal Technology, Inc.
Blue Wood 127, Earlysville, VA 22936
Phone (804) 973-5482
List
CROMEMCO 20% DISCOUNT
System III 5990
System II 3990
System 1 1 with 1 Meg Disk 9995
16KRam 595
NORTH STAR 16% DISCOUNT (or more)
Horizon I - 32K Ram asm 2099
Horizon I - 16K Ram asm 1899
Horizon I - 32K Ram kit 1849
Horizon I to Horizon 2 450
32K Ram asm 659
VECTOR GRAPHICS 20% DISCOUNT
Vector MZ-2 (630K disk) 48K Ram 3750
SoroclQ120 995
Perkin Elmer Bantam CRT 996
Intertubell 995
LA-36 1630
Integral Data IP125 799
Escon Selectric Interface 496
NEC 5510 RO Word Processor Printer 2900
IMSAI 15%
Radio Shack 5%
Professional A/R, A/P, Ledger, Payroll, Medical Billing
Available. We discount TRS 80 Software, Microage
and Structured Systems Software. Most Hardware items
Send for our catalog — Some prices too low to quote.
SARA TECH
COMPUTERS ;s^™
P. 0. Box 692
400 Base
Venice, FL
33595
(813)485-3559
Our Price
4792
3192
7996
480
1763
1595
1553
378
525
3000
790
750
750
1440
699
422
2450
off
off
Software
Software
in stock.
Circle 320 on inquiry card.
August 1979 © BYTE Publications Inc 185
• There is a high-level surface programming
language, which is essentially ALGOL, sweetened
by modern control constructs such as a WHILE
loop, REPEAT loop, and CASE statement.
• Symbolic differentiation and integration are built-
in, and the latter is significantly more powerful than
the muMATH integrator, which merely uses a few
elementary rules such as:
(u + v)dx — judx + jvdx,
c u dx — cju dx if c= constant,
v f(u)dx — v jf(u)du if - v . = constant,
du/dx du/dx
x M — In x,
x a — — — ir a = const and ^ — 1,
jsin(x)dx — cos(x).
In contrast, extensive greatest-common-divisor,
factorization, and linear-equation-solving support
routines permit REDUCE to use the powerful new
Risch-Norman integration algorithm. For a large
class of integrands and solution basis functions, this
algorithm is guaranteed to determine a closed-form
solution if one exists, otherwise terminating with a
guarantee that one does not exist.
• REDUCE provides a convenient pattern matcher,
which provides a natural means for users to imple-
ment many extensions. To have the system
automatically replace every subsequent instance of
mc 2 by E, we can merely enter the rule:
LETM*C**2 = E;
Thereafter, an expression such as 5*M*C**3 + 8 would
be replaced automatically by 5*E*C + 8. There is also a
mechanism for letting pattern variables represent ar-
bitrary subexpressions. To make logarithms of all
powers, products and quotients can be expanded
automatically, we can enter the rules:
FOR ALL X, Y LET
LOG (X**Y) = Y*LOG(X),
LOG(X*Y) = LOG(X) + LOG(Y),
LOG(X/Y) = LOG(X) - LOG(Y);
Thereafter an expression such as A + 2* LOG(B) —
LOG(E**A*B**2*C) would simplify to -LOG(C). Final-
ly, there is a mechanism for imposing extra prerequisites
to replacements. To make the above LOG rules depen-
dent upon the value of an option variable, we could
change the first line to:
FOR ALL X,Y SUCH THAT LOGEXPAND >
New North Star Software
• DOS+ $35
Enables any program to execute all North Star
Disk and/or Meca Tape commands. Allows
batch command list and more.
• PRO-TYPE WORD PROCESSOR $75
Easy to learn. Combines text input, editing and
printing in one program. Features right margin
justification, tabs, paging, underlining,
relocation of text blocks, etc. Requires only 8K
of memory. Manual alone, $25.
• GUIDE TO BASEX $33
A new interactive compiler similar to BASIC
for 8080-type microcomputers (Z-80, 8085).
Executes programs up to 10 times faster than
equivalent programs while requiring about half
the memory space. Features include: array
variables; string manipulation; arithmetic
operations on signed 1 6 bit intergers; and
versatile I/O communication functions.
Manual alone $8.
• BASEX TAPE and DISK GUIDE $35
Allows your BASEX programs to access up to
four North Star Disk and/or Meca Tape drives.
All operations can be executed from the
keyboard. Manual alone $20.00.
Specify:
North Star Disk/Meca Tape/Other
Send for Free Literature
INTERACTIVE MICROWARE INC.
P.O. Box 771 - in-
state College, PA 16801 ■ ■■■■
(814)238-8294 l|A|l
186 August 1979 © BYTE Publications Inc
Circle 179 on inquiry card.
Most of REDUCE is written in a modular subset of
itself called RLISP. In turn, RLISP is bootstrapped from
standard LISP, which is a subset of many LISP implemen-
tations. RLISP has the semantics of LISP clothed in the
syntax of sweetened ALGOL. RLISP is applicable not on-
ly to computer algebra, but also wherever LISP is ap-
plicable, and I have found students far more receptive to
LISP if they are introduced to it via a surface language
such as RLISP.
REDUCE was originally inspired by a desire to perform
symbolic high-energy-physics computations which are
far too arduous to do manually. Consequently, the inter-
nal representations of expressions reflect a major concern
with speed and storage efficiency for large expressions:
• In applied math, the most numerous operations in
very large expressions are usually addition, subtrac-
tion, multiplication, and exponentiation with
positive integer exponents. There is frequently, at
most, one division operation present, because ex-
pressions are often put over a common
denominator. If fractional powers, exponentials,
logarithms, trigonometric functions or other irra-
tional operations occur, they may usually be reduc-
ed to numerous repetitions of a few unnested
distinct irrational functions having trivial
arguments such as x, x + y or 27tjc. Thus,
polynomial operations account for most of the time
and space. This suggests using a data structure
oriented toward polynomials, thereby saving space
and time by making the operators + , X , and t im-
plicit. This usual nature of large expressions also
suggests storing irrational subexpressions uniquely,
and treating them as additional variables with
respect to any polynomial operations involving
them.
• As the number of variables and their maximum
degrees increase, a multivariate polynomial must
have zero as a sharply increasing portion of its
possible terms, in order to fit the polynomial into
the computer memory. Moreover, the fit is possible
only if the internal representation takes advantage
of this sparsity. In general, we can avoid wasting
space on intermediate-degree terms which are zero
only if we explicitly store the exponents of the
nonzero terms.
• Many multivariate polynomial algorithms are most
concisely stated as univariate algorithms, recursive-
ly involving coefficients which are polynomials in
at least one less variable.
• Classic multivariate polynomial division requires
that one variable be distinguished as the leading
variable and that the terms be accessible in decreas-
ing order of degree.
REDUCE uses Cambridge prefix for some purposes,
but REDUCE internally represents polynomials in a stan-
dard form. A standard form is defined as an element from
the underlying coefficient domain or as a leading term
dotted with a reductum, where the latter is recursively
The
ftlQQ fiJJHl
\M l\^\^ i ELECTRONICS
An S-100 Bus Adapter/Motherboard
for the TRS-80
plus a whole lot more!!!
• S-100 BUS INTERFACE
• 6 SLOT MOTHERBOARD
The 8100 allows a Riidii. Shack TRS-80 computer to be
interfaced to the popular S-100 Bus for memory expansion
and uxtended I/O capabilities. For example, you can now
easily add more memory, floppy disc systems, PROM
boards, printer interfaces, multi-purpose I/O boards, AC
dcviccconlralleis.andfi whole hoslof olhervarieHperiph
The 8100 has it sown built-in fi slot motherboard which
includes our unique cord tfuide system which keeps the
boards in their places.
Tlie 8100 has support circuitry and sockets for eight
I6K dynamic RAM chipsallowing you to expand the mem-
ory of your TRS-80 by IfiK without having to buy any S-100
RAM boards.
• SERIAL RS232/20ma I/O
• PARALLEL INPUT AND OUTPUT
• SPACE FOR 16K DYNAMIC RAM
• CAN USE LEFT OVER 4K CHIPS
• LOW COST- PRICES START AT $185*
• AVAILABLE IMMEDIATELY
If you purchased an expansion memory kit for TRS-80
you could be left with eight 4 K RAM chips and nowhere to
put them! Well, they can go in the RAM sockets instead!
Thai's right, you can use eitlier 4K or IfiK chips and ad-
dressthem anywhere you like.
The 8100 hnsn full KS232/20 ma serial interface who's
features include: RS232 and 20 ma current loop inteifacc,
software programmable baud rate from DC to 5fiK baud,
software programmable modem control lines, on board
DB-25 connector and much more.
The 8100 also hits an S bit parallel input port and
an 8 bit parallel output port. Both arc latched, haveboth
positive and negative strobe inputs and outputs and have
plenty ofdrive cupahility.
PRICES START AS LOW AS $185* (S-100 bus interface only)
RuhI
! ELECTRONICS
1429 Maple St.
San Mateo, CA
94402
(415) 573-7359
CALLOR WRITE FOR COMPLETE PRICING
INFORMATION AND MORE DETAILS
THE 8100 IS AVAILABLE FROM LEADING
COMPUTER DEALERS OR FACTORY DIRECT
DEALER INQUIRIES INVITED
•Extra S-100 connectors, RAM support,
I/O circuitry optional.
USA DOMESTIC PRICE ONLY.
fiuHl N "MINI-81QQ
^!maZ!X!Z an <?.-inn riiq
[ELECTRONICS AN S-100 BUS
.tltllHUNIlb ADAPTER/MOTHERBOARD
FOR THE TRS-80
MINI-SIZE!
MINI-PRICE!
but MAXI-PERFORMANCE!
HUH Electronics' 8100 is the established
leader in S-I00/TRS-80 interfaces, running re-
liably since November 1978 and giving you
the most features for your dollar. But some
folks don't need all the 8l00's versatility or
want something more compact.
So we created the MINI-8100. The MINI-
8100 has the same proven reliable S-100 Bus
interface circuitry as it's big brother coupled
with a 4 slot shielded motherboard. It con-
nects to the TRS-80 or to the expansion inter-
face and opens up the vast world ofS-100 Bus
products to the TRS-80 owner.
For those of you who already own an S-100
mainframe or motherboard, the MINI-8100
may be purchased without (he built-in
motherboard. (MINI-8100S). Just plug it in
and go!
The MINI-8100 has the same high quality as
all HUH Electronics products — easy assem-
bly, fully socketed, solder mask and silk
screen component legend, comprehensive
manual and design excellence that speaks for
itself.
PRICES
MINI-8100 KIT
MINI-8100 ASM
MINI-8100S KIT
MINI-8100S ASM
- includes all parts and one S-100 connector
- assembled and tested, includes four S-100 connectors
- S-100 sized board, plugs into mainframe
- same as above, but assembled and tested
-S115
-S155
- $ 95
-$125
fiUHJ
S ELECTRONICS
1429 Maple St.
San Mateo, CA
94402
(415) 573-7359
•TRS-80 is a Radio Shack product.
ORDERING INFO: The MINI-8100 is availa-
ble from leading computer dealers or factory
direct. Please include S4 for shipping and
handling, CA residents include (-,% sales tax.
We accept VISA or Mastcrcharge or we can
ship COD.
USA DOMESTIC PRICES ONLY.
DEALER INQUIRIES INVITED
Circle 168 on inquiry card.
Circle 169 on inquiry card.
August 1979 © BYTE Publications Inc 187
Circle 95 on inquiry card.
CP/M
LOW-COST
MICROCOMPUTER
SOFTWARE
CP/M® OPERATING SYSTEM:
• Includes Editor, Assembler, Debugger and Utilities.
• Standard version for BOBO, ZBO, or Intel MDS
(other versions available.]
• For IBM-compatible floppy discs.
• S100-Diskette and Documentation.
• S25-Documentation [Set of 6 manuals] only.
MAC™ MACRO ASSEMBLER:
• Compatible with new Intel macro standard.
• Complete guide to macro applications.
• $90-Diskette and Manual.
SID™ SYMBOLIC DEBUGGER:
• Symbolic memory reference.
• Built-in assembler/disassembler.
• $75-Diskette and Manual.
TEX™ TEXT FORMATTER:
• Powerful text formatting capabilities.
• Text prepared using CP/M Editor.
• $75-Diskette and Manual.
DESPOOL™:
• Background print utility.
• Use with CP/M (version 1.4)
• $50. Diskette and Manual.
m DIGITAL RESEARCH*
P.O. Box 579 • Pacific Grove, California 93950
(408) 649-3896
TRS-80 SOFTWARE
32K with 2 DISK DRIVES
PAYROLL SYSTEM $235
Includes: a) File Maintenance
b) Payday Entries
c) Earnings Record
d) Payroll Register
e) Write Pay Checks
f) Write Other Checks
Handles up to 300 employees per diskette.
Automatically calculates FICA, FED. TAX,
UNEMPLOYMENT and much more.
ALSO AVAILABLE
ACCOUNTS RECEIVABLE $195
ACCOUNTS PAYABLE $195
INVENTORY CONTROL with
BILLING & ACCT'S REC $550
MANUALS $29.95/ea.
CUSTOM PROGRAMS & OTHERS
CAI
1st Security Bank Bldg.
3306 W. Walnut Suite 507
Garland, TX 75042
PHONE: (214) 272-3211
With money order or certified check, orders shipped within
24 hours.
defined as a standard form of lower degree in the main
variable of the leading term. The underlying coefficient
domain can be indefinite-precision integers, indefinite-
precision rational numbers, integers modulo some
modulus, or single-precision floating-point numbers. A
leading term is defined as a leading power dotted with a
leading coefficient, where the latter is recursively defined
as a standard form not containing the main variable of
the leading power. A leading power is defined as the main
variable dotted with the leading degree, where the latter
is a positive integer. In Backus-Naur form, we can sum-
marize this definition as follows:
standard form ::= domain element
: : = LT standard form. + RED standard form
RED standard form : : = standard form
LT standard form
:: = LPOW standard form . * LC standard form
LC standard form :: = standard form
LPOW standard form
:: = MVAR standard form.** LDEG standard form
I have also taken the opportunity to introduce the
REDUCE infix constructor macros named . + , .*, .**,
which clearly indicate the implied operator, but are all
defined as merely the LISP CONS operation. Similarly, I
have introduced the mnemonic prefix REDUCE prefix
selector macros named LT, RED, LPOW, LC, MVAR,
and LDEG, which are respectively defined as the LISP
functions CAR, CDR, CAAR, CDAR, CAAR, and
CDAAR.
With this representation and macros, the REDUCE
multivariate polynomial addition function definition is
extraordinarily compact and elegant — an ideal in-
termediate level example of reductum recurso. Listing 1
below shows this reduce function, expressed in RLISP.
SYMBOLIC PROCEDURE ADDF(U,V);
IF ADDITIVEIDENTITY U THEN V
ELSE IF ADDITIVEIDENTITY V THEN U
ELSE IF DOMAINP U THEN ADDD(U,V)
ELSE IF DOMAINP V THEN ADDD(V,U)
ELSE IF LPOW U = LPOW V THEN
ADDFF(ADDF(LC U, LC V),
ADDF(RED U, RED V ))
ELSE IF ORDPP(LPOW U, LPOW V) THEN
LT U . + ADDF(RED U, V)
ELSE LT V .+ ADDF(U, RED V);
SYMBOLIC PROCEDURE ADDD(D,V)
IF ADDITIVEIDENTITY V THEN D
ELSE IF DOMAINP V THEN ADDDM(D,V)
ELSE LT V .+ ADDD(D, RED V);
SYMBOLIC PROCEDURE ADDFF(F1, F2);
IF ADDITIVEIDENTITY Fl THEN F2
ELSE IF ADDITIVEIDENTITY F2 THEN Fl
ELSE LPOW U .*F1 .+ F2;
In listing 1, use has been made of the ADDITIVE-
IDENTITY prefix recognizer macro which tests for a
zero, the DOMAINP prefix recognizer macro which tests
188 August 1979 © BYTE Publications Inc
Circle 198 on inquiry card.
for the underlying coefficient domain, the ORDPP
predicate which tests the relative order of two leading
powers, and the ADDDM function which adds domain
elements. Since the syntax is essentially ALGOL, for
which descriptions are widely available, we leave the
serious reader to ponder this example, moving on now to
another computer algebra system.
MACSYMA
MACSYMA is a very large computer-algebra system
implemented by the Mathlab group at the MIT
Laboratory for Computer Science in Cambridge MA.
The system will probably be made available for DEC
PDP-10 computers in a year or two.
In its entirety, excluding the library of user-submitted
routines, MACSYMA occupies 400,000 36 bit words on
the PDP-10. The system is modular, starting with a
nucleus of 100,000 words. As is perhaps implied by its
name, MACSYMA provides more built-in math opera-
tions than any other computer-algebra system. Here are
some highlights:
• The system provides arbitrary-precision floating-
point as well as indefinite-precision arithmetic.
• Besides the usual unavoidable algebraic transforma-
tions, there are numerous optional automatic ones
controlled by flags or which are employed by ap-
plying specific functions to expressions. The most
sophisticated of these transformations include
cancellation of polynomial greatest common
divisors, partial-fraction decomposition, nested
polynomial decomposition such as completion of
powers, and factorization. For example, MAC-
SYMA can perform the factorization:
3w 2 z 6 + 2w 3 z 4 + 114xy 2 z 3 - 10w 2 y 2 z 3 +
45w 2 x 3 z 3 - 3w 2 z 3 + 76wxy 2 z - 2w 3 z - 380xy 4 +
1710x 4 y 2 + 10w 2 y 2 - 45w 2 x 3 -
(3z 2 + 2wz - 10y 2 + 45x 3 )(w 2 y 3 + 38xy 2 - w 2 ).
• There are numerous built-in transformations for
fractional powers, exponentials, logarithms,
trigonometric functions, inverse trigonometric
functions, hyperbolic functions, and inverse hyper-
bolic functions. There are also transformations for
some higher transcendental functions such as the er-
ror, gamma, be:a, zeta, and psi functions.
• There is built-in matrix algebra on matrices having
unspecified elements and unspecified size.
• There are special facilities for series analysis of
periodic phenomena such as orbits.
• There is a high-level surface programming language
which resembles ALGOL, with evidence of meta-
LISP influence.
• There is a powerful pattern-matching facility and
an extendable Pratt parser.
• Symbolic differentiation and integration are built-
in. The latter employs a powerful Risch algorithm,
among other techniques. There is also a distinct
program for definite integrals, which employs con-
tour integration and other techniques besides in-
definite integration.
Circle 378 on inquiry card.
Expand your TRS-80.
Save $100.
Meet the Vista V80 Mini Disk System. The perfect way
to upgrade your TRS-80* system. Inexpensively.
(Our $395.00 price is about $1 00.00 less than the
manufacturer's equivalent.) Here's how it can help you.
23% more storage capacity. Useable storage
capacity is increased from 55,000 to 65,000 bytes on
drive one.
8 times faster. While electronically equal to the TRS-
80 Mini-Disk system, track-to-track access is 5ms
versus 40msfor the TRS-80.
Better warranty. The V80 carries a 1 20 day warranty -
longer than any comparable unit warranty available.
The Vista V80 Mini Disk System comes complete with
Minifloppy disk drive, power supply, regulator board
and case. And it's ready to run - simply take it out of the
box, plug it in and you're ready to go.
Vista
1 320 East St. Andrews Place, Suite I
Santa Ana, California 92705
(714)558-8813
At Vista, we mean business.
*TRS-80 ©Tandy Corp.
the ULTIMATE in
CHEAP VIDEO
BOOK & KIT
ONLY $42.95
Don Lancaster's "Cheap Video "concept allows almost
unlimited options, including:
* Scrolling- Full performance cursor.
* Line/Character formats of 16/32, 24/80, 32/64 ....
or almost anything.
* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR
C requires low- cost option modules 3
* Works with 6502 , 68OO and other micros.
SPECIAL OFFER: Buy the Kit Cupper case alpha-
numeric option included) & get the Book at 1/2 price.
ELECTRONICS, DEPT.8-B, 1D2QW. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116
I'm Sold, PLEASE RUSH CD SEND FREE CATALOG
C ) TVT-65/8 Kit & Cheap Video Cookbook - $42.95 (enclosed]
C D TVT-65/8 Kit only Cbook required for assembly) -$39.95
address:,
city:
. state:
zip:
ELECTRONICS DEPT.8-B, 1020 W. WILSHIRE BLVD., OKLAHOMA CITY, OK 73116
Circle 297 on inquiry card.
August 1979 © BYTE Publications Inc 189
Circle 327 on inquiry card.
6800 DEVELOPMENT SOFTWARE
An integrated applications development and execution system.
SDOS
All devices interrupt-driven including typehead. Provides
device independent, byte addressable random files. Supports
any mixture of floppy or hard disk drives up to 2.5 billion bytes.
Sector read-ahead and buffer pool enhance application perfor-
mance. Flexible: Currently runs on 7 manufacturers' systems,
using 10 different drive/controllers, including mini-floppies and
hard disk.
BASIC COMPILER
For speedy business applications. 10 digit BCD; random access
to variable size records; long variable names; formatted out-
put; if-then-else; error trapping. Field proven for over 2 years.
EDIT
A powerful text editor with change, delete, replace commands.
Automatic display of modification or context changes; macro
facilities for complex or repetitive editing.
ASM
2 pass conditional assembler; 32 character labels; symbol table
dump and cross-reference; error cross-reference; extensive
arithmetic and listing control.
IDB
Single-step, multiple, real time breakpoints; memory dump;
multiple display modes. No special hardware needed.
Over 500 pages of documentation to match this proven soft-
ware.
Complete package: $760.00
Also (not including SDOS) available for SWTP, Exorcisor, SSB
and MSI DOS.
Write for free catalogue. Sizable distributor discounts.
SOFTWARE DYNAMICS
2111 W. Crescent Avenue, Suite G
Anaheim, CA 92804
(714)635-4760
• PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001
i s
« Programmer's Guides §
I for the PET™ 3
TIS
WORKBOOKS FOR THE COMMODORE PET 2001
Getting Started with Your PET WB-1 $4.00
Covers the fundamentals of PET BASIC: calculator
and program mode, data input and output, data
representation, program storage on the cassette.
PET String and Array Handling WB-2 $3.95
Covers string and substring search, concatenation,
replacement and manipulation.
PET Graphics WB-3 $4.95
Covers use of cursor control and special graphics
symbols to draw plots, histograms, and sketches.
PET Cassette I/O WB-4 $4.95
Covers OPEN, CLOSE, string and numeric data files.
Miscellaneous PET Features WB-5 $3.95
Covers the clock, random number generator, upper
and lowercase alphabetic characters, saving memory
space, etc.
PET Control and Logic WB-6 $3.95
Covers IF. GOSUB, logical operations, and ON X.
Add $1.50 for shipping and handling.
TIS
P.O. Box 921
Los Alamos, NM 67544
Dealer
Inquiries
Invited
Money back guarantee M
We also sell PET Software. Write for details.
PET is a trademark of Commodore Business Machines g
§
• PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001
|-0
• There is a powerful function which employs
L'Hospital's rule and other techniques to computer
limits.
• There are powerful functions for determining in-
finite and truncated generalized power-series expan-
sions of expressions.
• Laplace transforms and their inverses are built-in.
• There is a function which uses a variety of tech-
niques to seek closed-form solutions to first-order
and second-order ordinary differential equations.
• There is a built-in function which uses the powerful
new Gosper algorithm to find closed forms for sums
with indefinite or infinite summations limits. For
example, the function is able to make the transfor-
mation:
^ j 4 4' 2(n+l)(63n 4 +112n 3 +18n 2 -22n+3)4" _ 2
N) 693( 2 n n ) ~ 231
• Equations are legitimate expressions. Two equa-
tions or an equation and a nonequation can be ad-
ded, multiplied, etc, and there is a powerful func-
tion named SOLVE which uses a variety of tech-
niques to seek solutions to one or more
simultaneous linear or nonlinear equations. SOLVE
is able to determine, as exact symbolic expressions
involving c, the four values of x which satisfy the
quartic equation:
x 4 = ex + 1.
As another example, SOLVE is able to determine
that the exact solutions for the two simultaneous
nonlinear equations:
z 4 + X 2 Z 2
+ xz 2 + y 2 + x 3 = 2yz 2 + x 2 y + xy,
yz 2 + 2xyz + xy = 2xz 3 + 2x 2 z + y 2 ,
are the curve (x = r, y = s 2 , z = r) together with the
surface (x=r, y =s 2 + r, z = s), where r and s are ar-
bitrary parameters.
• There is an extensive user-contributed program
library which includes packages for vector and ten-
sor analyses, ordinary and variational optimiza-
tion, solution of integral equations, higher
transcendental functions, and dimensional analysis.
Most of MACSYMA is written in MACLISP, which is
a particularly elaborate version of LISP also developed at
MIT. MACSYMA uses several internal representations,
including Cambridge prefix and a recursive polynomial
representation somewhat like that of REDUCE. The ma-
jor difference from the REDUCE polynomial representa-
tion is that in MACSYMA the variables are also implicit
and stored separately, only once per complete
polynomial. This usually saves additional space in the ex-
pressions. Although the resulting algorithms are
somewhat faster when combining polynomials having
the same variables, there is some awkwardness or
overhead involved in a preliminary padding phase when
combining polynomials that do not have identical
variables.
190 August 1979 © BYTE Publications Inc
Circle 370 on inquiry card.
SCRATCHPAD
SCRATCHPAD is a very large computer-algebra
system implemented at the IBM Thomas J Watson
Research Center. It is available there on an IBM 370, and
it is available from other IBM corporate sites via
telephone. Regrettably, this fine system has not yet been
released to the public, but it is discussed here because of
its novel features.
In its entirety, the system occupies about 1600 K bytes
on an IBM 370 with virtual storage, for which an addi-
tional minimum of 100 K bytes is recommended for
workspace. The variety of built-in transformations cur-
rently lies between that of REDUCE and MACSYMA.
However, each of the three systems has features that
none of the others possess, and one of these features may
be a decisive advantage for a particular application. Here
are some highlights of the SCRATCHPAD system:
• The system provides single-precision floating-point
arithmetic as well as indefinite-precision rational
arithmetic.
• The built-in unavoidable and optional algebraic
transformations are approximately similar to those
of MACSYMA.
• The built-in exponential, logarithmic, and
trigonometric transformations are approximately
similar to those of REDUCE.
• Besides built-in symbolic matrix algebra, APL like
array operations are included, and they are even
further generalized to permit symbolic operations
of nonhomogeneous arrays and on arrays of in-
definite or infinite size.
• Symbolic differentiation and integration are built-
in, with the latter employing the powerful Risch-
Norman algorithm.
• There is a particularly elegant built-in facility for
determining Taylor series expansions.
• There is a built-in SOLVE function capable of deter-
mining the exact solution to a system of linear equa-
tions.
• There is a powerful pattern-matching facility which
serves as the primary mechanism for user level ex-
tensions. The associated syntax is at a very high
level, being the closest of all computer-algebra
systems to the declarative, nonprocedural notation
of mathematics. To implement the trigonometric
multiple-angle expansions, we can merely enter the
rewrite rules:
cos(n*x) = 2*cos(x)*cos((n — l)*x) —
cos((n — 2)*x), n in (2,3, . . . ), x arb
sin(n*x) = 2*cos(x)*sin((n — l)*x) —
sin((n — 2)*x), n in (2,3, . . . ), x arb
Then, whenever we subsequently enter an expres-
sion such as cos(4*b), the response will be a cor-
responding expanded expression such as:
8 cos 4 (B) - 8 cos 2 (B) + 1
Omikron transforms TRS-80*
into a powerful business system.
STANDARD DRIVES 8" Drives give you 5
times the speed and 3 times the storage of
your mini drives! Our system provides a
standard Shugart interface so you can use
either your 8" drives or ours. Omikron
drives are enclosed in an attractive metal
cabinet, and include a power supply.
SOFTWARE CP/M* is the most popular
operating system for microcomputers. But
many high-level languages and advanced
business programs cannot run with the
special CP/M* designed exclusively for the
TRS-80* The Omikron MAPPER with
standard CP/M* allows you to expand your
software capability to go beyond the few
available TRS-80* compatible packages.
TRS-80* with MAPPER
out- performs systems ,>*
costing $1000
more!
The MAPPER I and MAPPER II are plug-
in modules. They don't require any circuit
changes, are easy to install, and they don't
interfere with the normal operation of your
TRS-80? All your original software, includ-
ing Level III BASIC will still run properly.
Omikron products require 16K L II BASIC
and the TRS-80* Expansion Interface.
• • •
MAPPER I is a memory management unit
which adapts your TRS-80* to run stan-
dard CP/M* Versions for both 5" and 8"
drives are available. The package includes
CP/M* software on 5" or 8" diskette, and
documentation. 5" unit, $169. 8" unit, with
adapter cable, $199.
MAPPER II includes the MAPPER I pack-
age plus a disk adapter module which
allows both 5" and 8" drives to run on the
same cable. Drive selection is under soft-
ware control to permit easy file transfer
between the drives. With cable, $249.
CONVERSION -If you purchase MAP-
PER I or II and plan to use only mini-
drives, Omikron will transfer CP/M* files
from 8" diskette to a 5." This allows you to
run software previously available to only
8" drive owners. $25 per mini-diskette.
DRIVE - 8" drive, $849. Additional drive,
$695. WARRANTY- 1 year on boards;
90 days on drives. VISA/MasterCharge
accepted. Prepaid orders given top priority.
*CP/MisaTMofDigital
Research. TRS-80 is
a TM of Tandy
Corporation.
Circle 287 on inquiry card
August 1979 © BYTE Publications Inc
Thus, programs resemble a collection of math for-
mulae, much as they would appear in a book or ar-
ticle.
• SCRATCHPAD has a particularly powerful yet
easily used mechanism for controlling the output
format of expressions. For example, the user can
specify that an expression be displayed as a power
series in x, with coefficients which are factored ra-
tional functions in b and c, etc. For large expres-
sions, such fine control over the output may mean
the difference between an important new discovery
and an incomprehensible mess.
This generalized recursive format idea is so natural and
effective that SCRATCHPAD is now absorbing the idea
into the internal representation. A study of the
polynomial additional algorithm in the previous section
reveals that it is written to be applicable to any coefficient
domain which has the algebraic properties of a ring. The
coefficients could be matrices, power-series, etc. That
coefficient domain could in turn have yet another coeffi-
cient domain, and so on. With a careful modular design,
packages to treat each of these domains can be
dynamically linked together so that code can be shared
and combined in new ways without extensive rewriting
and duplication. Then not only the output, but also the
internal computations can be selected most suitably for a
particular application.
For further information about SCRATCHPAD, con-
tact Richard Jenks at the IBM Thomas ] Watson Research
Center, Yorktown Heights NY 10598.
The Future
If the preceding sections have whet your appetite for
more information about computer algebra, try some of
the survey articles, collections of articles, and relevant
books listed in the bibliography. Also, annual member-
ship in the ACM Special Interest Group on Symbolic and
Algebraic Manipulation costs a mere $2.50 for students,
$5 for other ACM members, or $8 otherwise. Member-
ship includes a subscription to the SIGSAM Bulletin,
which contains the latest information about relevant
meetings, reports, and developments.
Computer algebra is increasingly available on a wide
variety of processors ranging in size from the Intel 8080
microprocessor to the Cray 1 supercomputer. Within a
short while computer algebra should be economically
and conveniently accessible to most engineers, scientists,
mathematicians, students, and hobbyists. This
widespread availablity will have a profound effect on
research utilizing applied math, math education, com-
puter education, and recreational math. Consider the
following:
• How frequently approximate numerical computa-
tions are employed without first checking to see if a
more informative analytical solution is obtainable
with the help of computer algebra.
• How many mistakes in manual analytical analyses
could be caught by checking the derivations with
computer algebra.
• How little of elementary-school through university
math education is concerned with floating-point
arithmetic.
• How much of this education is concerned with the
kind of arithmetic and symbolic transformations
provided by computer algebra, or concerned with
theorem proving, which is especially well supported
by other LISP programs.
• How dramatically computer algebra demonstrates
the utility of LISP like languages, providing
numerous well-motivated examples for teaching
such languages.
• How much more students and enthusiasts are in-
trigued by artificial intelligence and game playing
application of computers than by accounting and
floating-point scientific applications.
The conclusion is inescapable: computer algebra and
LISP like languages provide an ideal first exposure to
computer programming, and are an invaluable compo-
nent of scientific programming skills. ■
Bibliography
1. Aho, A V, Hopcroft, J E, and Ullman, J D, The Design and
Analysis of Computer Algorithms, Addison Wesley Publishing
Co, 1975.
2. Borodin, A, and Munroe, I, The Computational Complexity of
Algebraic and Numeric Problems, American Elsevier, 1975.
3. Brown, W S, and Hearn, A C, "Applications of Symbolic
Algebraic Computation," Comp Phys Comm, (forthcoming).
4. Communications of the ACM, August 1966.
5. Communications of the ACM, August 1971.
6. Jenks, R, (editor), Proceedings of the 1976 ACM Symposium on
Symbolic and Algebraic Computation, ACM Inc. 1976.
7. Journal of the ACM, October 1971 .
8. Knuth, D E, The Art of Computer Programming, Volume 1, Basic
Algorithms, Addison Wesley Publishing Co, 1967.
9. Knuth, D E, The Art of Computer Programming, Volume 2,
Seminumerical Algorithms, Addison Wesley Publishing Co,
1968.
Petrick, S R (editor), Proceedings of the Second Symposium on
Symbolic Manipulation, ACM Inc. 1971.
Proceedings of 1974 Eurosam Conference, ACM SIGSAM
Bulletin 8, August 1974.
Proceedings of the 1977 MACSYMA Users Conference, NASA
CP2012, June 1977.
13. Proceedings of the Second MACSYMA Users Conference, MIT
Laboratory for Computer Science, June 1979.
14. Proceedings of the 1979 Eurosam Conference, Springer-Verlag,
(forthcoming).
1 5. SI AM Journal on Computing, June 1 979.
16. The Soft Warehouse, POB 11174, Honolulu HA 96828,
distributes the author's muMATH-79 source code free to those
who obtain muSIMP-77. Object listings of the latter or of
muLISP-77 cost $85, and a machine readable version costs an
additional $95. Primers and reference manuals are available
separately for each of these systems at a cost of approximately
$0.10 per page.
10
11
12
192 August 1979 © BYTE Publications Inc
Business
&
Application
Software
Available
• Client Billing
• A/R • A/P
• Gen .Ledger
• Inventory
• Payroll
• Mailing List
• File Handling
for
TRS-80 APPLE
&
OTHERS
Call or Write for Details
* * ^V^'*'//^
PROGRAM
GALACTIC BLOCKADE RUNNER
SCI-FI GAME SAMPLER
R/T LUNAR LANDER
MICRO-TEXT EDITOR
OTHELLO III
AIR RAID
MICRO-CHESS
BRIDGE CHALLENGER
APPLE 21
STAR WARS/SPACE MAZE
RENUMBER
DISK RENUMBER
PILOT 2.0
PILOT 3.0
APPLE TALKER
APPLE LIS'NER
TIC-TAC-TALKER
SYSCOP
ANDROID NIM-2
SNAKE EGG
LIFE 2
DCV-1
MUSIC MASTER
DISK MUSIC MASTER
TRS-80 CP/M
DESCRIPTION
• AN EXCITING SPACE WAR GAME WITH GRAPHICS
• 3 GAMES— LUNAR LANDER— STAR MONSTER— SPACE BATTLE
• A REAL TIME LUNAR LANDER WITH GRAPrllCS
• FORMAT TEXT— SAVE & LOAD TO TAPE— OUTPUT TO PRINTER
• A STRATEGY BOARD GAME— PLAY AGAINST COMPUTER OR OTHERS
• A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG.
• PLAY CHESS WITH YOUR COMPUTER-VARIOUS LEVELS OF DIFF.
• DON'T WAIT FOR OTHERS TO PLAY-YOUR COMPUTER'S READY
• BLACKJACK WITH HIRES GRAPHICS
• SCI-FI GAMES FOR THE APPLE
• RENUMBER YOUR BASIC PROGRAMS-RENUMBERS EVERYTHING
• SAME AS ABOVE, BUT ON DISK
• THE EDUCATIONAL LANGUAGE. IN MACH. LANG.— INC. EDITOR
• THE DISK VFRSION OF THE ABOVE
• YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED
• SPEECH RECOGNITION THE EASY WAY-GREAT WITH THE TALKER
• TIC-TAC-TOE USING SPEECH SYNTHESIS AND RECOGNITION
• MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY
• GAME OF NIM WITH ANIMATED ROBOTS AND SOUND
• A BETTING GAME WITH ANIMATED SNAKES AND SOUND
• 100 GEN. PER MIN. LIFE & BATTI F OF LIFE W/ANIMATION & SOUND
• PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS
• ENTER SHEET MUSIC-THE TRS-80 THEN COMPILES & PLAYS IT
• SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS
• OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80
TRS-80
r - *°
-Eg
>
■0
T
r
pj
• • •
• • •
• • •
• • •
• • •
$ 9.95
$ 7.95
$ 7.95
$ 9.95
$ 7.95
$ 14.95
$ 19.95
$ 14.95
$ 9.95
$ 12.95
14.95
19.95
14.95
24.95
15.95
19.95
19.95
9.95
14.95
14.95
14.95
$ 9.95
$ 14.95
$ 24.95
$150.00
10<7o OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG— GIVE TYPE OF COMPUTER
TO ORDER BY PHONE OR FOR DEALER INFO— CALL— (617) 682-8131
ADD 75c SHIPPING & HANDLING • MASS, RESIDENTS ADD 5% SALES TAX
MAD HATTER SOFTWARE • 900b SALEM RD • DRACUT, MA 01826
CD
CD
o
SD
o
CD
AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS
CAPITOL COMPUTEK SYSTEMS
3396 EL CAMINO AVE.
SACRAMENTO CA 95821
TRS-80 SOFTWARE EXCHANGE
17 BRIARCLIFF DR.
MILFORD NH 03035
OP AMP TECH BOOKS
1033 N. SYCAMORE AVE.
LOS ANCLES CA 90038
COMPUTER CABLEVISION, INC.
2617 42ND ST. NW 12
WASHINGTON DC 20007
KENNEf.Y SYSTEMS
74 BROAD ST.
LYNDONVILLE VT 058SI
ADVANCFD COMPUTER PRODUCTS
13108 i£ EllNriF.R
SANTA ANA CA 92705
HOBBY WORLD ELECTRONICS
19355 BUSINESS CENFER DR. #6
NORTHRIDGE CA 91324
AUGUST AUTOMATION
28 MILK ST.
WESTBORO MA 01581
THE CPU SHOP
39 PLEASANT ST.
CHARLESTOWN MA 02129
J&J ELECTRONICS LTD
28COLLINGTONAVE.
BEXHILL-ON-SEA. E. SUSSEX. ENG.
COMPUTER VILLAGE
931 SW 87TH AVE.
MIAMI FL 33174
L. C. SALES
100 HINCHEY AVE. »705
OTTAWA. ONT.. CAN. KIY4L9
Circle 202 on inquiry card.
BYTE August 1979 193
GYTElseugs
Marsport, Here I Come
Delmer Hinrichs has
found several corrections
which should be made to
"Marsport, Here I Come"
(April 1979 BYTE, page 84):
• page 90, step 4 should be
"x < y?" Since there is
no "x < y?" step avail-
able on the HP67/97,
users could probably cor-
rect this.
• page 90, step 25 should
be "ST I." Since there is
no "ST 1" (only
"STO 1"), this is probably
correctable by users.
• page 90, steps 119 and
120 must be reversed.
Users might be able to
figure this out by noting
other similar conversions.
• page 92, step 182 should
be " — x — " (print/pause),
not "X" (multiply). This
could probably be
figured out from the pro-
gram operating instruc-
tions and flow diagram.
In any case, if you get
here, you're going to
crash.
• page 92, step 204 should
be "GSB C," not "GSB
c". This error is
disastrous, as it causes
the spaceship to
materialize at the center
of Mars.
Don't Share Your Soap
An acronym was wrongly
interpreted in "History of
Computers: The IBM 650"
by Keith S Reid-Green
(March 1979 BYTE, page
238.) The name of the SOAP
assembler program is pro-
perly derived from the
phrase "symbolic optimal
assembly program," not
"SHARE optimum assembly
program," as was stated.
Thanks to Leo Walder of
Greenbelt MD for pointing
this out.
A Bug on the Beam
There was a bug in the
labeling of figure 10 on page
49 of Steve Ciarcia's Circuit
Cellar article "Communicate
on a Light Beam" (May 1979
BYTE). The center tapped
transformer should have
been labelled as 24 V instead
of 18 V.
Tic Tac Bug
Delmer Hinrichs has
discovered a small bug in
the program for "Tic-Tac-
Toe: A Programming Exer-
cise" (May 1979 BYTE, page
196). Line number 340
should end with 3,2,5,7,9
rather than 2,3,5,8,9.
In addition, BASICs other
than TDL 8 K might have to
write:
230 RANDOM
instead of:
230F = RND(-1)
to initialize the random
number generator. Lines 465
and 570 might have RND(l)
replaced with RND(0) to
give a random number be-
tween and 1.
A Bug in the Field
John P Costas has inform-
ed us that several errors
crept into listing 1 of "Cryp-
tography in the Field" (April
1979 BYTE, page 145). The
locations and the correct
code are given below.
Location
Code
70
STO-5
90
STO-8
111
STO-9
122
—
178
STO- 3
\*o*
I'd
from Computer Headware
. . . the Self-Indexing Query System
for your Apple II, North Star, or CP/M machine
Distributed by:
i Infoimation Unlimited / 219-924-3522
P.O. Box 8372. Merrillville, Indiana 4641
i Lifeboat Associates / 212-580-0082 (CP/M model only)
2248 Broadway, Suite 34, New York City 10024
i Structured Systems Group, Inc. / 41 5-547-1 567
5208 Claremont Avenue, Oakland, California 94618
194 August 1979 © BYTE Publications Inc
Circle 236 on inquiry card.
Event Queue
AUGUST 1979
August 1-3
Microcomputer Applica-
tions, Southern Technical
Institute, Marietta GA. The
emphasis of this seminar will
be on the applications of
microcomputers in industry.
Software, hardware and in-
terfacing techniques will be
discussed. Contact Dr
Richard L Castellucis,
Southern Technical Institute,
Electrical Engineering
Technology Dept, 534 Clay
St, Marietta GA 30060.
August 6-8
Pattern Recognition and
Image Processing, Hyatt
Regency Chicago O'Hare,
Chicago IL. This conference
is sponsored by the Machine
Intelligence and Pattern
Analysis Committee of the
IEEE Computer Society. The
program will consist of sub-
mitted and invited papers,
and a large trade show of
graphics and image process-
ing equipment. Contact
PRIP 79, POB 639, Silver
Spring MD 20901.
August 6-10
SIGGRAPH '79, Chicago IL.
This sixth annual conference
on computer graphics will
feature tutorials, technical
sessions and an exposition of
state-of-the-art computer
graphics and image process-
ing equipment. Contact
Maxine D Brown, SIG-
GRAPH 79 Exposition,
Hewlett-Packard, 19400
Homestead Rd, Cupertino
CA 95014.
August 6-10
Modern Communication
Systems: Analysis and
Design, University of
Southern California, Los
Angeles CA. This course is
devoted to the analysis and
design of modern com-
munication systems, with
emphasis on the derivation
of practical design equations
useful for trade-off studies
and overall synthesis. Con-
tact University of Southern
California, Continuing
Engineering Education, Los
Angeles CA 90007.
August 6-10
Advanced Microcomputer
System Development: High
Level Languages,
Technology Trends, and
Hands-On Experience,
University of Southern
California, Los Angeles CA.
This course is intended to
present the participants with
a clear picture of the
microcomputer revolution,
provide hands-on program-
ming experience using ex-
tended BASIC and FOR-
TRAN, analyze technology
trends in the microcomputer
field, and assess the impact
of VHSI/VLSI. Contact
University of Southern
California, Continuing
Engineering Education, Los
Angeles CA 90007.
August 8-10
SIGPLAN Symposium on
Compiler Construction,
Boulder CO. This sym-
posium will consider
methods of, and experience
with, constructing com-
pilers. The emphasis will be
less on theoretical methods
and more on techniques ap-
plied to real compilers. Con-
tact Professor Leon
Osterweil, Dept of Com-
puter Science, University of
Colorado, Boulder CO
80309.
August 8-10
First Annual Conference on
Research and Development
in Personal Computing,
Hyatt Regency Chicago
O'Hare, Chicago IL. This
conference is sponsored by
the Association for Com-
puting Machinery (ACM)
Special Interest Group on
Personal Computing
(SIGPC). A large trade show
IMMEDIATE
DELIVERY
Domestic & Export
DEC LSI -u
COMPONENTS
A full and complete
line with software
support available.
mini Computer
Suppliers, Inc.
25 CHATHAM ROAD
SUMMIT, NEW JERSEY 07901
SINCE 1973
(201) 277-6150 Telex 13-6476
TCS
Word Processing
and Data Management
TEXTFORM
This text-processing program can be used for the preparation of letters, manuals, and
general documentation. It produces output for either the console, line printer, or into a
file, with automatic right margin justification, pagination and titling, centering, under-
lining, indenting, and multiple line spacing. Formatting commands are interspersed
with the source textfile for ease of correction.
Textform will automatically loop for repeated formatting such as form letters. A
preprocessing program is able to select a subset of the text data according to a user
defined matching pattern.
Here are a few sample commands:
• PL n— Set page length to n
• FO- Define footer title
• RM n— Set right margin to n
• JU— Justify right margin
• N J— Ragged right margin
• SO file— Read input source from 'file'
• RD file —Read input data from 'file'
INFORMER
This program is a general purpose data management and retrieval system for inven-
torycontrol, sales analysis, project scheduling, billing, check writing, and mailing lists.
Informer is a collection of commands for creating, updating, manipulating, dis-
playing, and analysing well defined data files.
Here are a few sample commands:
• NEWF1LE— Creates and defines fields for a file
• SELECT —Selects data items for processing
• SORT— Quick sort of file by specified field
• FORMAT— Prepares form letters, bills and checks
• COMMAND— Defines a new command as a sequence of system commands
• TOTAL— Subtotals a field by a specified key.
Each of the software packages runs on 8080/Z80 systems
under the CP/M operating system.
Special introductory
price of $350*00 per package
Manual alone: $25.00
Media: 8" IBM single density Diskette
Suggested retail price is $495.00
Write or call:
DIGITAN, INC.
5001 16th Avenue, Brooklyn, New York 11204, (212) 436-3777
Circle 88 on inquiry card.
August 1979 © BYTE Publications Inc 195
Circle 93 on inquiry card.
,-,.x ;,!;■;>•:■ ■ •: ■-;.-.: ::■
25 START-AT-HOME
COMPUTER BUSINESSES
In "Low Capital, Startup
Computer Businesses"
CONSULTING • PROGRAMMING • MICRO COMPUTER
OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE
WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD
SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES •
PUBLISHING • HARDWARE DISTRIBUTORS • SALES
AGENCIES • USED COMPUTERS • FINDER'S FEES •
SCRAP COMPONENTS • AND MORE . .
Plus — ideas on moonlighting, going
full-time, image building, revenue
building, bidding, contracts, marketing,
professionalism, and more. No career
tool like it. Order now — if notcompletely
satisfied, return within 30 days for full
immediate refund.
• 8V2 x 11 ringbound • 156 pp. • $20.00
Phone Orders 901-761-9090
DATASEARCH
incorporated
4954 William Arnold Road, Dept. B, Memphis, TN 38117
Rush my copy of "Low Capital Startup Computer Businesses" at $20.
NAME/COMPANY
ADDRESS
CITY/STATE/ZIP
□ Check Enclosed
DVISA D Master Charge
Exp. Date
UGHT-PENtrs^o
PLUGS RIGHT IN! Exclusive design includes two sample
programs and complete documentation so you can write
your own programs in Basic. Long life from standard
9-volt battery. A bargain at only $24.95!
PRACTICAL APPLICATIONS™ (415) 5738217
Post Office Box 4139, Foster City, CA 94404
□ Please send me TRS-80 Light Pens
($24.95each enclosed. Calif, residents add tax).
□ Send your catalogs.
Name_
Address
City
TRS-80 is a trademark of Tandy Corp.
_State_
-Zip-
BY79
of personal computer and
graphics equipment is plan-
ned to accompany an assort-
ment of papers, panels, user
group meetings, workshops,
and person to person poster
booths. Contact Bob Gam-
mill, Computer Science
Division, Dept of
Mathematical Sciences, 300
Minard Hall, North Dakota
State University, Fargo ND
58102.
August 13-15
Minicomputers and
Distributed Processing,
Atlanta GA. This three day
seminar will examine the
uses, economics, program-
ming, and implementation
of minicomputers. Contact
the University of Chicago,
Center for Continuing
Education, 1307 60th St,
Chicago IL 60637.
August 13-15
Conference on Simulation,
Measurement and Modeling
of Computer Systems
Boulder CO. This con-
ference will feature perfor-
mance prediction techniques
employed during the design,
procurement and
maintenance of computer
systems. It will provide a
forum for both applied and
theoretical work in the
disciplines of performance
monitoring, modeling, and
simulation of computer
systems. Contact Gary Nutt,
Xerox PARC, 3333 Coyote
Hill Rd, Palo Alto CA
94304.
August 13-16
Q-GERT Network Modeling
and Analysis, Ramada Inn,
Lafayette IN 47905. This
course will provide the at-
tendee with the information
necessary to model complex
systems using Q-GERT. Em-
phasis will be on the pro-
cedures for modeling and
analysis. Contact Pritsker
and Associates Inc, POB
2413, W Lafayette IN 47906.
August 13-17
High Speed Computation:
Vector Processing, The
University of Michigan, Ann
Arbor MI. In this course,
the architectural, software,
and algorithmic issues of
vector architecture are coor-
dinated by discussion of
concepts in computer archi-
tecture and detailed study
of current vector processors
and their use. Contact
Engineering Summer Con-
ferences, 400 Chrysler
Center, North Campus, The
University of Michigan, Ann
Arbor MI 48109.
August 19-22
International Conference on
Computing in the
Humanities, Dartmouth Col-
lege, Hanover NH. This
conference is intended to
foster computer research and
technique in all areas of
humanistic study; to pro-
mote international coopera-
tion in the development of
programs, data banks, and
equipment; and to make the
results of research available.
The program will include a
plenary session each evening
and shorter sessions during
the day. Contact Stephen V
F Waite, Kiewit Computa-
tion Center, Dartmouth Col-
lege, Hanover NH 03755.
August 19-24
1979 Symposium for In-
novation in Measurement
Science, Hobart and William
Smith Colleges, Geneva NY.
Sponsored by the Scientific
Instrumentation and
Research Division of the In-
strument Society of
America, scheduled sessions
at this symposium include
innovation in computers and
electronics, mass flow
measurement, chemical
analysis, applied analysis in
instrument control, physical
analysis, medical instrumen-
tation, and advances in in-
dustrial measurement. Con-
tact Instrument Society of
America, 400 Stanwix St,
Pittsburg PA 15222.
August 22-24
Understanding and Using
Computer Graphics, San
Francisco CA. This course is
for people who are using, or
are contemplating using
computer graphics and
would like to understand its
role in their organization. It
will describe computer
graphics, explain the
available hardware and soft-
ware systems, and give cost
and performance com-
196 August 1979 © BYTE Publications Inc
Circle 303 on inquiry card.
parisons. Contact Frost and
Sullivan, 106 Fulton St, New
York NY 10038.
August 23-26
National Small Computer
Show, New York Coliseum,
New York NY. Exhibitors
will include major manufac-
turers, distributors, and
publications in the small
computer field. A lecture
series will include topics of
interest to business and pro-
fessional people, hobbyists,
and the general public. Con-
tact National Small Com-
puter Show, 74 E 56th St,
New York NY 10022.
SEPTEMBER 1979
September 4-6
International Conference
and Exhibition on Engineer-
ing Software, University of
Southampton, England. The
aim of this conference is to
provide a forum for the
presentation and discussion
of recent advances in
engineering software and to
present a state-of-the-art in
this field. An exhibition,
held in conjunction with the
conference, will cover all
software products, services,
and equipment related to
engineering software. Con-
tact Dr R Adey, Engsoft, 6
Cranbury Place, Southamp-
ton S02 OLG, ENGLAND.
September 4-7
Compcon Fall'79, Capital
Hilton Hotel, Washington
DC. This eighteenth IEEE
Computer Society Interna-
tional conference will pre-
sent the latest developments
in microprocessor architec- .
ture, support software,
operating systems, and
peripheral devices. Contact
IEEE Computer Society,
POB 639, Silver Spring MD
20901.
September 5-8
Info/ Asia, Ryutsu Center,
Tokyo. This exposition will
be devoted to information
management, computers,
word processing, and ad-
vanced business equipment.
The exposition will be ac-
companied by a four day
conference. Contact Clapp
and Poliak Inc, 245 Park
Ave, New York NY 10017.
September 18-20
Wescon/79, St Francis
Hotel, San Francisco CA.
Contact Electronic Conven-
tions Inc, 999 N'Sepulveda
Blvd, El Segundo CA 90245.
September 24-26
Minicomputers and
Distributed Processing, New
York NY. See August 13-15
for details.
September 25-27
WPOE 79, San Jose Con-
vention Center, San Jose
CA. This show will be
dedicated to word process-
ing and office/business
equipment, services and
materials. Complementing
the exhibit will be a three
day executive conference
program that focuses on
emerging technologies and
their applications in the of-
fice. Contact Cartlidge and
Associates Inc, 491 Macara
Ave, Suite 1014, Sunnyvale
CA 94086.
September 26-29
MIMI 79, Queen Elizabeth
Hotel, Montreal, Canada.
This symposium is intended
as a forum for the presenta-
tion and discussion of recent
advances in mini and
microcomputers and their
applications. Special em-
phasis will be given to the
theme of the conference:
"The Evolving Role of Minis
and Micros Within
Distributed Processing."
Contact The Secretary,
MIMI 79 Montreal, POB
2481, Anaheim CA 92804.
September 28-30
Northeast Personal and
Business Computer Show,
Hynes Auditorium, Boston
MA. Displays and exhibits
will showcase microcom-
puters and small computer
systems of interest to
businesspeople, hobbyists,
professionals, etc. Lectures
and seminars will be
presented for all categories
and levels of enthusiasts, in-
cluding introductory classes
for novices. Contact North-
east Exposition, POB 678,
Brookline MA 02197.
Text continued on page 200
Circle 102 on inquiry card.
Retro-Graphics™
mm /
!:h^^
or your uumt> terminal. The Retro
Graphics PC card mounts easily in the Lear
Siegler ADM-3A to provide you with an afford-
able graphics computer terminal.
Features:
• Z-80 Based • Point Plotting
• 512 by 250 • Automatic Vector
Dot Matrix Generation
• Simple Plug-in • Optional TEKTRONIX
Interconnect Software Compatibility
You will be impressed with the packaging, per-
formance and price of the Retro-Graphics card.
Write or phone today for complete specifications.
DIGITAL ENGINEERING, INC.
1787 Tribute Road, Suite K
Sacramento, CA 95815
(916) 920-5600
Computer Lab of New Jersey
Computer Lab sells the best S-1 00 Bus products at the best
possible prices. Notonlyare ourpricesgreat, so isourdeliv-
ery. We offer a 1 0% discount on most major lines, plus a 5%
additional discount for a cash purchase.
Seattle Computer Products 1 6K Plus
Memory Board, Assembled & Tested (2Mhz)
Cromemco Single Card Computer-
Assembled
Ithaca Audio Z-80 CPU Bare Board
8K Static Ram Bare Board
Electronic Control Technology R 2 I/O Inter-
face Board, Assembled & Tested
IMC Dual Mini Box for 2 Shugart
SA-400 Drives
Oliver Paper Tape Reader Kit
Subject to available quantities. Prices quoted include cash discount.
Shipping and Insurance Extra.
Call for our prices on:
California Computer Systems, Godbout, IMSAI, Integral Data Systems,
Michael Shrayer Electric Pencil, Micropolis, Mullen, SOROC, SSM,
Tarbell, TEI, Thinker Toys, Vector Graphic
Computer Lab of New Jersey
141 Route 46 • Budd Lake, N.J. 07828
Phone: (201)691-1984
HOURS: Monday & Friday: 10 to 6, Tuesday-Thursday: 10 to 9
Saturday: 10 to 5
Call or write for our free catalog & price list
OUR
LIST
CASH
PRICE
PRICE
$495.00
$423.00
$450.00
$384.00
$ 35.00
$ 29.00
$ 25.00
$ 21.00
$295.00
$252.00
$ 79.00
$ 67.00
$ 74.00
$ 63.00
Circle 55 on inquiry card.
August 1979 © BYTE Publications Inc 197
TRS-80 SOLUTIONS I
BUSINESS
Appointment log by M. Kelleher. Perfect for the
professional. Accepts name and address, meeting
start and endings, subject matter, derives elapsed
time. For Level II, 16K $9.95
Payroll by Stephen Hebbler. Comprehensive 24 pg.
manual with step-by-step instructions included in the
package. Supports W2 and 941 information. D,
$59.95.
Mail List I by Michael Kelleher is the economy model
of disk-based mailing list programs. Uses a single
drive and handles up to 1400 names per disk, plus
provisions for sorting options. 16K, D $19.95.
Text-80 by Frank Rowlett. Fully-documented text
processing system for disk. Create, edit, move,
delete, insert, change, print words or lines. D, 32K
$59.95
KVP Extender by Lance Micklus. Corrects keyboard
bounce, upper case lock, permits use as a terminal,
screen printing. On tape ($24.95) or disk ($29.95)
BUS-80
The Business Software People®
Just about everything you need ... within 1
year, participants receive programming for
Inventory, Accounts Receivable, Accounts
Payable and General Ledger systems, plus
Sales and Payroll. Complete documentation
and software on diskette, $200.00
ST 80 - Smart Terminal
Lance Micklus
Turns your TRS-80 into a computer terminal.
Features include CONTROL key, REPEAT
key, ESC key, RUN key and a functioning
BREAK key. Lets you list incoming data on
line printer. Reprogram RS-232-C switches
from keyboard, making baud rate changes
simple. Level II, 16K $49.94
ST80D
Lance Micklus
The smart terminal made even smarter.
Contains extensions for disk systems to
exchange files with a timesharing computer
or another TRS-80 miles away. Professional
quality, not an amateur program. 32K $79.95
Batter Up by David Bohlke. Level II, 16K $5.95
Ten Pin by Frank Rowlette. A game of coordination,
the scoring is true to the rules of the sport. Level II,
16K$7.95
Taipan by Art Canfil. Sail the China seas, dodging
pirates and cutthroats, to make your fortune trading
in arms and opium. Level II, 16K. $9.95.
Balloon Race by Dean Powell. High above the
Atlantic, your balloon must be cleverly maneuvered
with the prevailing winds to reach Paris. Level II,
16K, $9.95.
Mail List II by BUS-80. Complete mail list system for
dual disk. Enter, update, merge, sort, and print
mailing labels. D, 32K $99.95
Small Business Bookkeeping by Roger W. Robitaille,
is based on the Dome Bookkeeping Journal, sold for
years in stationery and discount outlets. Level II, 4K
with ($22.00) or without ($15.00) Dome journal.
Small Business Bookkeeping For Disk by Miller
Microcomputer Services and Roger W. Robitaille, Sr.
Extended version. 32K Disk. With journal $31.95;
without journal $24.95.
Inventory S by Roger W. Robitaille, Sr. 240 stock
items can be contained using the full 6 data areas and
2 pieces of alpha information. Level I or 1 1 , 1 6K $25.00
Inventory 1 1. 2 Disk based program allows for
creation, maintenance and review of over 2,000 items
per clean diskette. Operates under Disk BASIC, DOS
2.1 with minimum memory allocation. D, $59.95
Electric Pencil by Michael Shrayer. A word
processing system. Insertions, additions, deletions
and corrections made more easily than with an
editor's pencil. Perfect text printouts. Level II, 16K,
$100.00. 32K Disk, $150.00
Accounts Receivable II by S. Hebbler. Does your
billing, provides running balance, tracks overdue
accounts, custom message printing option, much
MORE. Requires 32K 2-disk system $79.95
General Ledger I by M. Kelleher. Establishes,
defines, deletes and sorts up to 400 accounts. Up to
200 entries per session. For small-to-medium
businesses not requiring double entry books. A com-
prehensive, flexible accounting system. Requires
32K disk. $79.95.
Inventory System 2.3 by M. Kelleher. One of small
business management's most difficult problems
brought under control. Keep current on price
increases, shrinkage, low stock, profit margins.
Program can handle up to 1 ,000 items per data
diskette. Improved version, lower price. With
documentation $99.95, 32K 2-disk.
8080-Z80 Conversion by M. Kelleher. Permits you to
enter 8080 codings and returns the Z80 equivalent. L
II, 16K $15.00
Basic Statistics by Steve Reisser. Pearson product-
movement correlation coefficient, chi-square, Fisher
T-test, sample analysis of variance, Z-scores and
standard scores, with a random number generator
built in to simulate data. L II, 16K $20.00
NEWDOS
Apparat
DISK ERROR SOLVED! Stop blaming your
drive, fix your DOS with NEWDOS: an
enhanced disk-operating system capable of
correcting over 70 errors in TRSDOS 2.1 to
improve reliability, and key bounce, enable
DOS commands to be called from BASIC and
much more! Available NOW for 16K systems
with a minimum of 1 disk drive. $49.95
NEWDOS +
Includes all the features of the original
NEWDOS and adds 7 new utilities, including
SUPERZAP, Disk Editor/Assembler, Dis-
assembler, and Level I BASIC for Disk.
$99.95
ACTION GAMES
Slalom by Denslo Hamlin. Choose between Slalom,
Giant Slalom and Downhill. Level II, 16K $7.95
X-Wing Fighter II by Chris Freund. Piloting an
X-wing fighter, you're out to destroy the Death Star!
A new, improved version of an exciting space
favorite. Level II, 16K. $9.95
Air Raid by Small System Software. High speed
machine language program with large and small
aircraft flying at different altitudes. Ground-based
missile launcher aimed and fired from keyboard.
Planes explode when hit, cause damage to nearby
aircraft. Score tallied for hits or misses. Level I or II,
4K $14.95.
All Star Baseball by David Bohike, Level II, 16K
$7.95
ADVENTURES
Scott Adams
Feel as if you're manipulating HAL from 2001
when you play these machine language
games. Hardly any rules, finding out is part
of the fun. Two adventures on 32K disk,
$24.95. Tape - choose from Land Adventure,
Pirate's Cove, Mission Impossible, The
Count, and Voodoo Castle - $14.95 each.
DOG STAR ADVENTURE
Lance Micklus
You're trapped aboard an enemy battlestar
... can you find the gold, rescue the princess,
discover the plans and safely escape? Level
II, 16K $9.95.
Amazin' Mazes by Robert Wallace. Ever -changing
maze situation. Level II, 16K $7.95
Kamikaze by Russell Starkey. Command your ship
against attacking suicide planes. Machine language
graphics make this fast and fun! L II, 16K $7.95
Space Battles by Level IV. Features three levels of
play, fast, machine language graphics, real-time
input, and "smart" enemy ships that move and
shoot! Level II, 16K Tape or 32K Disk. Tape $14.95,
Disk $19.95.
MISCELLANEOUS
Diskettes Dysan 104/1 Box of five, $24.95 + $1.00
shipping. Verbatim, box of ten, $34.95 + $1.00
shipping/handling.
Z80 Instruction Handbook by Scelbi Publ. $4.95
+ $1.00 shipping/handling.
The BASIC Handbook byDr. David A. Lien $14.95 +
$1.00 shipping/handling.
Percom Disk Drives. Single or dual, for TRS-80's.
Reliable, high quality, priced $100 lower than
comparableunits! Single drive - $399.00; Dual Drive -
$799.00; Cable (required) - $29.95.
Floppy Armour Protective envelopes for shipping
floppy disks, of high-density, ultra-lightweight
polymer. 5-pack, $4.95 + $1.00 shipping/ handling
16K MEMORY KITS
Ithaca Audio
8 tested, guaranteed 16K RAM's, amazing
low price - $99.95
198 BYTE August 1979
Circle 374 on inquiry card.
SIMULATIONS
3-D Tic TacToe by Scott Adams. Three skill levels -
author warns you to practice before tackling
computer's third skill level. I or II, 16K $7.95
Star Trek III .3 by Lance Micklus. One of the most
advanced Star Trek games ever written. Level II, 16K
$14.95.
End Zone by Roger W. Robitaille, Sr. Authentic
football simulation, right down to the 2-minute
warning. Level I or II, 16K $7.95
Cribbage by Roger W. Robitaille, Sr. You versus the
computer cribbage played by standard rules. Level I
or II, 16K, $7.95.
Bridge Challenger by George Duisman. You and the
dummy play 4-person contact bridge against the
computer. Level II, 16K $14.95
'Round the Horn by Rev. George Blank. You're the
captain of a clipper ship racing from New York to San
Francisco. Level II, 16K $9.95
Concentration by Lance Micklus. One of the most
popular television games. Level I or II, 16K $7.95
Safari by David Bohlke. You're in the running for a
film contract at a major Hollywood studio. To qualify,
you must photograph the most wild animals in their
natural habitat. Level II, 16K$7.95.
Pork Barrel by Rev. George Blank. Places you in the
shoes of an aspiring Congressman. Level II, 16K
$9.95
Backgammon by Scott Adams. Level II, 16K $7.95
Chess Companion by M. Kelleher. Combines chess
clock features with ability to record your moves while
action is fast and furious. Level II, 16K $7.95
Sargon Chess by Dan & Kathe Spracklen. Winner of
the 1978 San Jose Microcomputer Chess Tourna-
ment. Level II, 16K $19.95
Mastermind 1 1. 2 by Lance Micklus. Lets you and the
computer take turns making and breaking codes.
Level II, 16K$7.95
T|«
TRJ-OO Software Exchange
l*603*675*5M4
17 BRIAR CLIFF DRIVE MILFORD, NEW HAMPSHIRE 03055
PERSONAL
RPN Calculator by Russell Starkey. A self-document-
ing calculator program. Uses Reverse Polish Notation
with 4-level stack, 100 memories, scientific functions.
Level II, 16K $9.95
Home Financial Management by M. Kelleher. Turns
your computer into a personal financial advisor. Level
II, 16K$9.95
Tarot by Frank B. Rowlett, Jr. Probably the best
future-gazing type program ever written. Try it -
you'll like it! Level I or II, 16K $9.95
Ham Radio by M. Kelleher. Amateur Frequency Allo-
cations, ID Timer, Q-signal File, Amateur Log
Routine, Propogation Forecasting. L II, 16K $9.95.
Special Disk-enhanced version, 32K $24.95
Educator Assistant by Steve Reisser. Five programs
of value to educators. Compute percentage,
individual student averages, class averages, standard
test scores, final grades. L II, 16K $9.95 D, $14.95
Electronic Assistant by John Adamson. A group of 9
subprograms designed to solve problems such as
tuned circuits and active and passive filters. L II, 16K
$9.95
Personal Finance by Lance Micklus. 33 different
budgets can be easily adapted by user to fit his
individual needs. A 2-part program, entry and
search. Level II, 16K $9.95
Advanced Personal Finance by Lance Micklus. Same
as above with advanced analysis routine. Supports
Disk Files D, 32K $24.95
jatsa
Magazine Section
Appfe Seed/
^ If you're an Apple II pioneer,
^u you've been longing for a software
2£ publication and hoping someone
5^ would get around to it.
8£ We have. Apple Seed is to the
^5 Apple II what SoftSide is to the
^TRS-80. And it's brand new. The
3?first issue will roll off the press in
3?August or September. Apple II
t& enthusiasts will eat up this special
!p introductory offer!
SoftSide is for pioneers . . . those
hardly souls who have adopted a
TRS-80, installed it in their living-
room or office, and unleashed their
imaginations.
SoftSide helps you discover the
endless variety of tasks your new
friend wil] do for you, as you build a
unique partnership of human being
and machine.
We publish software for the
partners. Every month we publish
games, household application pro-
grams, educational aids, business
programs. We help you realize your
expectations, fantasies, and
dreams.
SoftSide means Software!
A bi-monthly magazine for the
serious programmer who wants to
know HOW his computer works and
WHY. PROC/80 emphasizes tech-
nique rather than canned programs.
The subjects include machine lan-
guage, construction projects and
specialized applications software, not
just for the advanced computer
hobbyist, but for the computerphile
who wants the most from his
machine.
DEALER
INQUIRIES
INVITED
For further details call:
603-673-5144
SOFTSIDE
□ 1 Year- 12 issues
PROG/80
□ 1 Year -6 issues
APPLE SEED
D 1 Year- 12 issues
Exp. Date .
Signature -
Name
$18.00
$20.00
$15.00
PO Box 68 Milford, NH 03055
D USA first class $25.00 - 1 yr.
O APO/OVERSEAS surface $25 - 1 yr.
□ CANADA/ MEXICO $25 - 1 yr.
D OVERSEAS airmail $30 - 1 yr.
.Interbank # [M/C only].
Address .
City
.State.
_Zip.
Telephone orders accepted for Master Charge or VISA accounts. Call Monday through
Friday, 9:30 to 5:30 EST at 603-673-5144
Circle 313 on inquiry card.
BYTE August 1979 199
OCTOBER 1979
October 1-3
Second Annual Symposium
on Small Systems, Hilton
Inn, Dallas TX. The sympo-
sium will consist of a blend
of paper and panel discus-
sions with major emphasis
on microcomputer applica-
tions. Both hardware and
software topics presenting
state-of-the-art and state-of-
the-industry aspects will be
included. Contact Gerald
Kane, Southern Methodist
University, Dallas TX.
October 2-4
NEPCON Central 79,
O'Hare Exposition Center,
Rosemont IL. This tenth an-
nual exhibition and con-
ference of electronic and
microelectronic packaging
and production equipment
will feature displays of elec-
tronic and microelectronic
materials, hardware, tools,
supplies and test instru-
ments. Contact Industrial
and Scientific Conference
Management Inc, 222 W
Adams St, Chicago IL
60606.
October 14-17
International Data Process-
ing Conference and Business
Exposition, Town and
Country Hotel, San Diego
CA. Contact Data Proces-
sing Management Associa-
tion, 505 Busse Highway,
Park Ridge IL 60068.
October 15-18
Sixth Information Manage-
ment Exposition and Con-
ference, New York Col-
iseum, New York NY. Con-
tact Clapp and Poliak Inc,
245 Park Ave, New York
NY 10017.
October 15-19
CPEUG 79, San Diego CA.
This is the fifteenth meeting
of the Computer Perfor-
mance Evaluation Users
Group sponsored by the Na-
tional Bureau of Standards.
Contact Judith G Abilock,
The Mitre Corp, Metrek
Div, 1820 Dolley Madison
Blvd, McLean VA 22102.
October 16-18
Understanding and Using
Computer Graphics,
Washington DC. See August
22-24 for details.
October 21-23
New York State Association
for Educational Data Sys-
tems Annual Conference,
Granit Hotel, Kerhonksen
NY. The theme of this con-
ference is "Instructional
Computing — Hardware/
Software /Courseware . "
Contact Mary E Heagney,
9201 Shore Rd, Brooklyn
NY 11209.
October 22-24
Computers in Aerospace
Conference II, Hyatt House
Hotel, Los Angeles CA. The
conference theme, "Com-
puter Technology for Space
and Aeronautical Systems in
the Eighties," will be carried
out by a series of panels, in-
vited presentations, and
contributed papers which
will bring computer system
technologists together with
specialists in the application
of embedded computers in
space and aeronautics. Con-
tact American Institute of
Aeronautics and
Astronautics, 1290 Ave of
the Americas, New York NY
10019.
October 22-25
ISA/79, O'Hare Exposition
Center, Chicago IL. The
conference theme, "In-
strumentation for Energy
Alternatives," will em-
phasize current practices in
instrumentation design and
implementation. Contact In-
strument Society of
America, 400 Stanwix St,
Pittsburgh PA 15222.
October 28-30
The Tenth North American
Computer Chess Champion-
ship, Detroit Plaza, Detroit
Michigan. Sponsored by the
Association for Computing
Machinery, this is a four
round, Swiss style tourna-
ment, with the first two
rounds to be played on Oc-
tober 28th (1 PM and 7:30
PM), the third on October
29th (7:30 PM), and the
final round on Tuesday, Oc-
tober 30th (7:30 PM). Con-
tact Monroe Newborn,
McGill University, School of
Computer Science, 805 Sher-
brooke St W, Montreal PQ,
CANADA H3A 2K6.
October 29 - November 2
Applied Interactive Com-
puter Graphics, University
of Maryland, College Park
MD. This course is designed
to cover the most important
facets of graphics that are
necessary to develop general
graphic applications.
Systems considerations in-
cluding configuration selec-
tion criteria, and the pros
and cons of off-the-shelf
software are stressed. The
most important factors and
techniques are described for
hardware, software, and
geometric modeling. Contact
UCLA Extension, 10995 Le
Conte Ave, Los Angeles CA
90024.
October 30 - November 1
Interface West, Anaheim
Convention Center,
Anaheim CA. This third an-
nual West Coast small com-
puter and office automation
systems conference and ex-
position will feature over
100 company exhibits and
60 conference sessions cover-
ing a variety of data pro-
cessing, word processing,
data communications,
management hardware, soft-
ware, and service topics.
Contact the Interface
Group, 160 Speen St, Fram-
ingham MA 01701.
Clubs and
Newsletters
Sacramento Micro-
computer Users Group
According to Push & Pop,
the newsletter of the
Sacramento Microcomputer
Users Group, this organiza-
tion meets the fourth Tues-
day of every month at 7:30
PM at the SMUD Training
Facilities on 59th St. Their
mailing address is POB
161513, Sacramento CA
95816.
Northwest Computer
Society Meets
Twice a Month
The Northwest Computer
Society meets at Seattle
University in the Library
Auditorium, Room 115. The
University is on 12th Ave
between E Madison St and E
Cherry St. Meetings are held
the first and third Thursday
of each month at 7:30 PM.
The first meeting of the
month usually features a
formal presentation by a
speaker or speakers. The se-
cond meeting is usually
more informal with free-
wheeling discussion and pro-
blem solving. Membership
in the Northwest Computer
Society, which includes the
impressive Northwest Com-
puter News, is $7. For more
information, write the club
at POB 4193, Seattle WA
98104, or call (206) 284-6109
for recorded information.
The Computer
Hobbyist Group
of North Texas
The Printed Circuit is a
well organized, informative
newsletter published by The
Computer Hobbyist Group
of North Texas. In a recent
issue there were reports
from various user groups
within the club, a list of
coming attractions, a reprint
of an article about the
Tandy and Texas Instru-
ments' race for the home
computer, an S-100 bus arti-
cle, new products, and
more. The Printed Circuit
may be obtained by joining
the group at a rate of $7 per
year. Dues should be sent to
Warren Bean, 2405 Briar-
wood, Carrollton TX 76006.
Denver Amateur
Computer Society
The Denver Amateur
200 August 1979 © BYTE Publications Inc
Circle 175 on inquiry card.
Circle 376 on inquiry card.
EasyWriter™
a
Word Processor
for your
Apple-II
If you've been hunting high and low for
a word processor that you can live with,
try on EasyWriter — a word processor you
can't live without!
You saw it at the West Coast Computer
Faire. If you liked it then, you'll love it
now. It's easy. It's clean. It's just what
you've been waiting for.
Try one on for size.
EasyWriter makes writing easy!
A product
of
CAP'N
SOFTWARE
San Francisco, CA
Information Unlimited
Software
146 N Broad St
Griffith IN 46319
(219) 924-3522
Contact:
Gregg DesElms
ms-80
VOTRAX
COMPUTALKER
SYNTHESIZERS
Our ANGLOPHONE ZG0/G0G0 program converts ordinary
English ASCII in reol rime into phonetic codes to drive your
speech synthesizer.
For TRS-80 (Level II 16K cassette or 32K diskette) $45
For Computolker (requires CSR1 ) $45
ForVotroxVSK S100
For Votrox VS-6 $200
(CUTS, CP/M G", North Star 5", Paper Tope)
TALKING TERMINAL
Our ANGLOTERM program turns any TRS-GO Level 1 11 6K with
Expansion Interface, RS-232-C Doord and Voice Synthesizer
into a talking computer terminal. Cossette or diskette $145.
UPPER CASE, 201 1 Silver Ct. E.. Urbano, IL 61801
(217) 364-4362 VISA/Master Charge
innnrroTiT?nrrjr5TBTyirB"6T^
yTo further improve
service to our customers we
have installed a toll-free
WATS line in our
^Peterborough, New
Hampshire office.
If you would
like to order a
^subscription td
BYTE, or if
Toll-free x youhavea
i
BYTE's New
%
Subscriber
W.A.T.S. Line
(800)258-5485
We thank you and look
| o forward to serving you.
question relat-*
ed to a BYTE'
subscription,)
you are invited\
to call 3
(800)258-5485
between 8:00 AM and
4:30 PM Eastern Time.
^Friday 8 AM -Noon). A
^# Galls from conti-
nental U.S.
only.
9178*.
UUUUUULP O
r
*x
e&wptns&s pahs. me.
/it 1UC% %u* /fa4wt&
6120 ?i4stc&uA "Road
AteuuuOii*. 1/i%yuua, 22390
Yes, We're moving into larger quarters
and onto bigger things . . . like expanded
inventory, larger service facilities and a
curriculum of microcomputer courses. All
this, thanks to our patrons who have made
this possible. Our thanks for your support!
■a
^
The Plus Makes the Difference"
J
Circle 65 on inquiry card.
BYTE August 1979 201
Circle 132 on inquiry card.
If you own an
IBM Selectric®
you already have
a high quality output printer.
• Escon printer conversion fits right in
• Installation does not affect:
Shape or normal functioning of typewriter nor
eligibility for IBM warranty and service
• Available in S-100, Parallel RS-232 or IEEE-488
• Entire high quality printer system for TRS-80,
Apple, PET, Sorcerer, Horizon, etc.
• All systems assembled, tested and burnt-in
• Factory installations available; complete
systems with typewriter available
Prices* S-100 $496.00 Parallel $525.00
RS-232 $549.00 IEEE $575.00
* Prices valid in USA only
Escon Products, Inc.
171 Mayhew Way, Suite 204,
Pleasant Hill, CA 94523
(415) 935-4590
APPLE II
DEVICES BY MICROPRODUCTS
CENTRONICS 779 and PR-40 PRINTER INTERFACE
Fully assembled with software driver on cassette S49.95
With Centronics connector installed 64.95
OKIDATA 110 PRINTER INTERFACE
Fully assembled with software driver on cassette 49.95
With OKIDATA connector installed 64.95
EPROM PROGRAMMER 99.95
Fully assembled, programs 5 volt EPROMs, e.g.. INTEL 2716,
2758 and Tl 2516
APPLE II EPROM SOCKET ADAPTER 14.95
Adapts 5 volt EPROMs to APPLE II ROM sockets
INTERFACE BRAIN (call for current pricing)
Converts above products into intelligent peripherals callable
from BASIC. Consists of a 2758 EPROM containing printer
drivers and EPROM Programmer driver.
6 CHARACTER LABEL EDITOR/ASSEMBLER
Second generation editor/assembler with enhanced editor features
and text file compatibility with the 6 Character Disassembler.
ON CASSETTE 34.95
ON DISKETTE 39.95
6 CHARACTER LABEL DISASSEMBLER/TEXT
FILE MANAGER
Second generation disassembler which creates a text file that may
be reassembled by the 6 Character Assembler above.
ON CASSETTE 34.95
ON DISKETTE 39.95
SEE YOUR LOCAL DEALER
MICROPRODUCTS
2107 Artesia Blvd. / Redondo Beach / CA 90278
(213)374-1673
Computer Society has
recently increased the
printing of their newsletter,
Interrupt, to 1,000 copies,
and has begun over-the-
counter distribution at local
computer stores. First class
mailings of the newsletter
will be restricted to paid
members only. The club
meets the third Wednesday
of the month at 7:30 PM at
1380 S Santa Fe, Denver
CO. Many user groups
within the club meet at
different times and
locations. For further infor-
mation, write to Mike
Dymtrasz, president of the
society, at the above
address.
Computers in Psychiatry
and Clinical Psychology
Computers in
Psychiatry/ Psychology
(formerly Micro- Psych), a
bi-monthly newsletter for
professionals interested in
the use of computers in
psychiatry and clinical
psychology, is beginning its
second year of publication.
It addresses itself in an in-
formal, scientific style to
clinical users of the com-
puter. Three pages of each
issue are devoted to a
description of the computer
related activities of sub-
scribers. Each issue of the 13
page newsletter contains
summaries and reviews of
recently published articles
and books as well as an on-
going bibliography and a
program catalogue. Recent
additions include a clear-
inghouse for information on
training opportunities in the
field and a new hardware
column. Subscriptions to
Volume 2 can be obtained
by sending $15 to Com-
puters in Psychiatry /-
Psychology, 26 Trumbull St,
New Haven CT 06511. The
Best of Micro-Psych —
Volume 1, a 52 page com-
pilation of articles and infor-
mation from Volume 1, is
also available for $12.
The New England
Computer Society
The New England Com-
puter Society meets on the
first Wednesday of each
month to exchange com-
puter hobbyist information
and sponsor activities. The
NECS is the oldest and one
of the largest clubs in the
Boston area, with over 200
members. Within the club
are 8080, 6502, TRS-80,
6860, PET, Apple and
Digital user groups. The
meetings start at 7 PM and
are held at the Mitre Corp
cafeteria, Route 6, east of
Route 3, Bedford MA. For
additional information,
write to the New England
Computer Society, POB
198, Bedford MA 01730.
Heath Company
Newsletter
Buss is an independent
newsletter of Heath Com-
pany computers. It contains
Heath product information
and user reports. The price
for 12 issues is $8 ($10
overseas). Contact Charles
Floto, 325 Pennsylvania Ave
SE, Washington DC 20003.
Publication for the
Computer Professional
The Data Processing
Digest (DPD) is written for
the computer professional
and the manager who uses
computer technology for
planning, control and pro-
duction. The editors of DPD
regularly search through
numerous business and in-
dustrial periodicals and
reports to locate articles on
all aspects of computer
technology and its applica-
tion to operations and
management. Concise sum-
maries of these articles,
reviews of books on data
processing, and listings of
current professional
meetings and seminars ap-
pear in each issue. The
subscription rates are $57
for one year; $108 for two
years; and $153 for three
years. Contact Data Process-
ing Digest Inc, 6820 La Ti-
jera Blvd, Los Angeles CA
90045.
202 August 1979 © BYTE Publications Inc Circle 208 on inquiry card.
((
^
^^
A Message
to our Subscribers
From time to time we make
information of interest to
the BYTE subscriber list
them in the mail. Used are
available to other companies
our subscribers' names and
who wish to send our
addresses only (no other
subscribers promotional
information we may have is
materia! about their products.
ever given).
We take great care to screen
these companies, choosing
While we believe the
only those who are reputable,
distribution of this
and whose products, services,
information is of benefit to
or information we feel would
our subscribers, we firmly
be of interest to you. Direct
respect the wishes of any
mail is an efficient medium
subscriber who does not want
for presenting the latest
to receive such promotional
personal computer goods and
literature. Should you wish to
services to our subscribers.
restrict the use of your name,
simply send your request to
Many BYTE subscribers
BYTE Publications Inc, Attn:
appreciate this controlled
Circulation Department,
use of our mailing list, and
70 Main St, Peterborough NH
look forward to finding
03458. Thank you.
^
))
Circle 12 on inquiry card.
Tremendous Savings
on Refurbished AJ
Couplers/Modems
Your chance to buy the best from the world leader in
data communications. We have a variety of couplers
and modems — formerly on lease to our customers
— fully refurbished. This is a rare opportunity for you
to have the same models used by the largest compa-
nies in the world.
• Some models under $100!
• 30-day parts/ labor warranty
• Nationwide AJ service network
• Fast delivery
• Variety of models — up to 1200 baud
• Limited quantities
• Use your Visa or Master Charge
Act now. First come, first served. Write Anderson
Jacobson, Inc., 521 Charcot Ave., San Jose, CA
95131. Or call your nearest AJ office:
San Jose, CA Rosemont, IL Hackensack, NJ
(408) 946-2900 (312) 671-7155 (201) 488-2525
ANDERSON
JACOBSON
Circle 291 on inquiry card
BYTE August 1979
Circle 379 on inquiry card.
U.S. ROBOTICS, INC.
PENR1L 300/1 200 MODEM
Originate/Auto-Answer
4ew $79900
300 or 1200 Baud
Bell 212 Compatible
FCC Certified
RS232
Half/Full Duplex on
Dial-up Phone Lines.
1 year warranty
Stand Alone
PERKIN-
ELMER
BANTAM
$799.00
All the Features of the
Hazeltine 1400 & LSI ADM-3A
Plus
Upper/Lower Case
7x10 Char Matrix
White or Black Char.
Transparent Mode
Addressable Cursor
Tab Function
Backspace Key
Shiftlock Key
Print Key
Integrated Numeric
Pad
$41 .61 per monl
Lease-Purchase
$1095.00
TELETYPE
MODEL 43
KSR
with RS232
10 or 30 CHAR/SEC
132 COLUMNS
UPPER/LOWERCASE
USR-310
Originate
Acoustic
$159,00 Coupler
0-300 Baud Stand Alone
Crystal Controlled RS232
USR-330
Originate
Auto-Answer
$339,00 Modem
FCC Certified for Direct Connection
to Phone Lines
USR-320 Auto-Answer
Only Modem $319-00
All Units include a 120day warranty
Optional Maintenance package available
Any Product may be returned
within 1 days for a full refund.
U.S. RDBDTICS, INC.
• 1D35 W. LAKE ST.
CHICAGO* ILL. 6D6D7
Sales (312)733-0497
General Offices (3 1 2) 733-0498
Service (312)733-0499
Australian Tandy
Users Club and
Software Exchange
8th Bit is the main
medium by which Software
Exchange members keep in-
formed of what is happening
in Australia. This newsletter
contains information on
what is for sale and the
location,contributions from
members, and information
of general significance.
Membership in the Exchange
is $10 per year. Contact Pitt
St Microcomputer Centre,
Second Floor, 373-375 Pitt
St, Sydney 2000
AUSTRALIA.
Detroit Personal
Computer Network
Andrew Fellman has writ-
ten to inform us that the
Detroit Personal Computer
Network will be meeting in
August. This organization
was formed to help micro-
computer users discover and
exchange ideas on user pro-
jects, to promote business or
financial gain, and for en-
joyment. More information
may be obtained by writing
to Andrew at 13043
McNichols, Detroit MI
48219, or calling (313)
865-4374.
Software of the
Month Club
Creative Discount Soft-
ware has announced the
opening of its new Software
of the Month Club. The
new club will have separate
branches for users of the
Apple II, TRS-80, Ohio
Scientific, Exidy, PET and
CP/M based systems. Mem-
bers will select division
memberships such as
business applications, educa-
tion applications, high level
languages, games and fun
applications, and personal
and home management ap-
plications. Membership
enrollment applications are
available from Creative Dis-
count Software, Software of
the Month Department,
POB 24-B-67, Los Angeles
CA 90024.
The Physicians
Microcomputer Report
The Physicians Microcom-
puter Report is a monthly
publication for doctors who
wish to become better in-
formed about the computer
and its application in the
field of medicine. Some of
the features include software
news, calculator corner,
computers in patient health
care, microcomputer hard-
ware news, the bargain
market, and computer ar-
ticles of special interest to
the physician. Additionally,
the report contains articles
on nonmedical applications
such as linking your com-
puter to a stock portfolio in-
formation center. Another
intent of this publication is
to facilitate the exchange of
information between physi-
cians who own computers.
For this purpose, the
magazine has a listing of
user groups.
The Physicians Microcom-
puter Report is available for
$25 a year, $12.50 for
students. Contact Dr Gerald
M Orosz, POB 6483,
Lawrenceville NJ 08648.
BYTE's Bite
Call for Papers
The International Society
for Mini and Microcom-
puters (ISMM) will hold an
international symposium on
microcomputers and their
application January 30 to
February 1 1980 in
Monterey CA. The sym-
posium will highlight
technology, hardware, soft-
ware engineering, languages,
systems architecture, design
methodology, computer net-
works, performance evalua-
tions, concurrent processing,
real time processing,
operating systems, portabi-
lity for software systems,
systems security, digital
signal processing, education,
204 August 1979 © BYTE Publications Inc
and applications. Send three
camera ready copies of 200
word abstracts to Secretary,
MIMI-80 (Monterey), POB
2481, Anaheim CA 92804 by
September 1 1979. Notifica-
tion of acceptance will be
sent by October 1. Camera
ready copies of accepted
papers are due December 15
1979. Additionally, pro-
posals for half day and one
day tutorials are solicited in
the above areas and should
be received by September 1
1979.
Exidy to Sponsor
Software Contest
Exidy Inc, the makers of
the Sorcerer microcomputer,
are sponsoring a contest for
microcomputer programs
this summer. Four Sorcerer
computers will be awarded
as grand prizes. The purpose
of the contest is to en-
courage people who have
written good programs to
share their programs with
other computer owners.
Exidy will publish a book
featuring the best programs
entered in the contest. The
contest is open to all BASIC
language computer programs
which will run on the
Sorcerer. Prizes of free com-
puters will be awarded to
the program judged best in
each of four categories:
business, education, fun and
games, and home and per-
sonal management. Every
entrant will receive a free
poster and a professionally
written program in exchange
for the program they sub-
mit. The contest runs from
June 1 thru August 31 1979.
For further information,
contact Paul Terrell,
Marketing Communications,
Exidy Inc, 969 W Maude
Ave, Sunnyvale CA 94086.
Department of Missing
Authors
Once again an author of a
yet-to-be-published article
has moved and neglected to
inform us of his new ad-
dress. We therefore request
that James Cherry, whose
last known address was 28
The Fenway, Boston MA
02215, please contact us
with his current address and
telephone number.
Call for Papers for
Fifth International
Conference on
Computer
Communications
Technical papers for the
Fifth International Con-
ference on Computer Com-
munications to be held
October 27 thru 30 1980 in
Atlanta GA are being
solicited for presentation at
the regular conference ses-
sions and publication in the
official proceedings. The
conference is held biannually
by the International Council
for Computer Communica-
tions as an interdisciplinary
forum for discussing social,
economic, political and
technological implications of
computer communication
networks.
Topics for 1980 may in-
clude a wide range of sub-
jects and issues relevant to
the development and use of
computer communications
and its effect on human
affairs. All papers must be
original, written and
presented in English, and
cannot exceed 5,000 words.
Specific suggested subjects
are: broad needs and re-
quirements, social implica-
tions, applications, and
technology. Manuscripts
must be typed, double spac-
ed, and on one side of the
paper only. A cover page
must give the title, the full
names of the author(s), the
affiliation of each author,
and the name, address, and
telephone number of the
primary author. A 100 to
200 word abstract and a full
set of illustrations must
accompany the manuscript.
Six copies of all material
should be sent by March 1
1980 to Dr J Salz, Program
Chairman, ICCC '80, Bell
Laboratories 1G-509,
Holmdel NJ 07733. The Pro-
gram Committee would also
appreciate advance notice of
the intention to submit a
paper. ■
SUPER
SOFTWARE!
MICROWARE 6800 SOFTWARE IS
INNOVATION AND PERFORMANCE
INEWl LISP Interpreter
The programming language LISP offers exciting new possibilities for
microcomputer applications. A highly interactive interpreter that uses
list-type data structures which are simultaneously data and executable
instructions. LISP features an unusual structured, recursive function-
oriented syntax. Widely used for processing, artificial intelligence,
education, simulation and computer-aided design. 6800 LISP requires
a minimum of 12K RAM.
Price $75.00
A/BASIC Compiler
The ever-growing A/BASIC family is threatening old-fashioned
assembly language programming in a big way. This BASIC compiler
generates pure, fast, efficient 6800 machine language'from easy to
write BASIC source programs. Uses ultra-fast integer math, extended
string functions, boolean operators and real-time operations. Output is
ROMable and RUNS WITHOUT ANY RUN-TIME PACKAGE. Disk ver-
sions have disk I/O statements and require 12K memory and host DOS.
Cassette version runs in 8K and requires RT/68 operating system.
Price: Disk Extended Version 2.1 $150.00
Cassette Version 1.0 $65.00
[NEWl A/BASIC Source Generator
An "add-on" option for A/BASIC Compiler disk versions that adds an
extra third pass which generates a full assembly-language output
listing AND assembly language source file. Uses original BASIC names
and inserts BASIC source lines as comments. SSB and SWTPC
Miniflex version available.
Price: $50.00
[NEWl A/BASIC Interpreter
Here it is— a super-fast A/BASIC interpreter that is source-compatible
with our A/BASIC compiler! Now you can interactively edit, execute
and debug A/BASIC programs with the ease of an interpreter— then
compile to super efficient machine language. Also a superb stand-
alone applications and control-oriented interpreter. Requires 8K RAM.
The cassette version is perfect for Motorola D2 Kits.
Price: $75.00
RT/68 Real Time Operating System
MIKBUG— compatible ROM that combines an improved monitor/
debugger with a powerful multitasking real-time operating system.
Supports up to 16 concurrent tasks at 8 priority levels plus real time
clock and interrupt control. Thousands in use since 1976 handling all
types of applications. Available on 6830 (MIKBUG-type) or 2708
(EPROM-type) ROM. Manual is a classic on 6800 real-time applications
and contains a full source program listing.
Price: RT68MX (6830) $55.00
RT68MXP (2708) $55.00
6800 CHESS
A challenging chess program for the 6800. Two selectable difficulty
levels. Displays formatted chess board on standard terminals. Re-
quires 8K memory. Machine language with A/BASIC source listing.
Price: $50.00
ELIZA
6800 version of the famous MIT artificial intelligence program. The
computer assumes the role of a psychoanalyst and you are the patient.
This unusual program is unique because the dialog with the com-
puter is in unstructured plain English. An impressive demonstration
program.
Price: $30.00
Our software is available for most popular 6800 systems on cassette or diskette
unless otherwise noted. Disk versions available on S.S.B., SWTPC, or Motorola
MDOS. Please specify which you require. Phone orders are welcomed. We accept
MASTERCHARGE and VISA. We try to ship orders within 24 hours of receipt.
Please call or write if you require additional information or our free catalog.
Microware software is available for OEM and custom applications.
MICROWVRE
SYSTEMS CORPORATION 1
P.O. BOX 4865
DES MOINES, IA 50304
(515) 265-6121
August 1979 © BYTE Publications Inc 205
LISP Applications in Boolean Logic
Richard Weyhrauch
Stanford Artificial Intelligence Laboratory
Stanford University
Stanford CA 94305
and
Henson Graves
Dept of Mathematics
San Jose State University
San Jose CA 95192
In LISP, some data structures can be viewed two dif-
ferent ways, either as data or program. This feature
makes LISP unique among high level languages. When
seen as a program, LISP expressions can be executed and
return a value: when seen as data, they may be used as
arguments for other programs. This means that if we
think about a LISP program as a piece of data we can
write programs directly in LISP which transform them in-
to more useful programs.
We use LISP to imitate the manipulations that are done
by engineers when designing combinatorial circuits. In
this sense LISP can be used as a calculator for Boolean
logic.
The examples presented here are well known to anyone
who has studied a little hardware design. The purpose of
this article is to give beginners with LISP some idea of
what LISP programs look like and how some interesting
symbolic manipulations can be represented in a natural
way using LISP. It is written primarily with novices in
mind. For this reason there are some elementary remarks
about how LISP actually works. The code in this article
was written as examples of LISP style programming.
What we have tried to do is present some programs as
they might be written in existing LISP systems. Of course
the style is ours.
We illustrate the use of the recursive data structures,
lists and S-expressions, and the use of lambda abstraction
as a control structure to facilitate recursive transforma-
tions on them.
Combinatorial Circuits as Boolean Logic
One learns in circuit theory that combinatorial circuits,
those with no feedback, may be represented as Boolean
or propositional expressions. Although these are the
simplest circuits that an engineer might use, this article is
meant to give simple examples of how LISP can be used.
For example the circuit in figure 1 is represented by the
Boolean expression:
(XI A X2).
We may view this expression as specifying a Boolean
function. We may also think of this expression as a
Boolean program which may be evaluated using the or-
dinary rules of logic. There are, of course, many different
expressions which have the same behavior.
A circuit's behavior can be described by a Boolean
function. The Boolean function for (XI A X2) may be
represented by:
<1
X2
F (X1,X2)
1
1
1
1
1
Representing Boolean Expressions
Both the circuit diagrams and Boolean expresions are
concrete representations of an abstract data structure,
which we refer to as WFFs (well-formed propositional
formulas). In LISP we use a concrete representation of
well-formed propositional formulas as lists. For example,
we represent the expression:
(P V Q) A R
Figure 1: A simple digital circuit whose
function can be defined by the Boolean
expression (XI A X2)
xi O-
X2 C^
xi
X2
O
-O XUX2
206 August 1979 © BYTE Publications Inc
as the list:
(AND (OR P Q) R)
<wff>
<const>
<var>
< unary >
< binary >
We follow usual programming language practice and
describe the lists which represent well-formed proposi-
tional formulas using a BNF(Backus Naur form) grammar
as in table 1.
We can recognize which lists represent well-formed
propositional formulas by writing a LISP program which
takes a list as input and whose value is T if the list
represents a WFF and NIL otherwise. This program can
be viewed as a parser for the language generated by this
grammar. It has a recursive definition which parallels the
grammar:
(DEFINE ISWFF (E)
(COND ((ISCONST E) T)
((ISVAR E) T)
((ISUNARY E) (ISWFF (body E)))
((ISBINARY E) (AND (ISWFF (lhs E))
(ISWFF (rhs E)))
(T NIL) )) )
The subfunctions body, lhs, rhs, ISCONST, ISVAR,
ISUNARY and ISBINARY must also be defined. Their
definition reflects our specific representation of well-
formed propositional formulas in LISP. For example:
(DEFINE ISUNARY (E)
(EQ (CAR E) (QUOTE NOT)) )
Evaluation of these defining programs has the side ef-
fect of storing the function definition in memory. Subse-
quently, the name ISWFF may itself be used in a pro-
gram. LISP represents function application by evaluating
the list whose first element is the function and the remain-
ing elements are the arguments. Evaluating the program:
(ISWFF (QUOTE (AND (OR P Q) R)))
returns the value T.
For any expression A the evaluation of (QUOTE A) is
simply A. This is how we make LISP treat A as data.
Thus in the above program the argument to ISWFF is
treated as data.
Representing Boolean Programs
If we consider T as representing true and NIL as false
then we can represent the usual Boolean expressions as
LISP programs using COND. COND is LISP's version of
IF-THEN-ELSE.
(DEFINE NOT (A)
(COND (A NIL) (T T)) )
(DEFINE OR (A B)
(COND (A T) (T B)) )
(DEFINE AND (A B)
(COND (A B) (T NIL)) )
(DEFINE IMPLIES (A B)
(OR (NOT A) B) )
<const> | <var> | <unary> | <binary>
T j NIL
<: identifiers
(NOT <wff>)
(AND <wff> <wff>) | (OR <wff> <wff>) |
(IMPLIES <wff> <wff>) | (EQUIV <wff> <wff>)
Table 1: In LISP, list representations for WFFs (well-formed pro-
positional formulas) are described using a Backus Naur form of
grammar. In LISP, T and NIL are generally used as the constants
for true and false respectively. These correspond to 1 and in
digital circuit diagrams.
(w,v)
f.f
w
t
W V V
f
WAV
f
W5V
t
w D v
t
f.t
t
f
f
f
t
t.f
f
t
f
f
f
t,t
f
t
t
t
t
Table 2: Examples of truth tables for Boolean algebra. For two
inputs (w and v) Boolean results are shown for the negated value
of w, w OR v, w AND v, equality, and implication.
(DEFINE EQUIV (A B)
(OR (AND A B) (AND (NOT A) (NOT B)) )
Notice that we have defined IMPLIES, and EQUIV in
terms of NOT, AND, and OR. These definitions mean
that well-formed propositional formulas like:
(AND (OR T NIL) T)
are valid LISP programs whose evaluation returns a truth
value (ie: T or NIL). These values correspond to those
determined by the usual truth table evaluation of Boolean
expressions as reviewed in table 2.
For example, if in the well-formed propositional
formula (AND (OR P Q) R), we replace P by T, Q by
NIL, and R by T: by observing that (t V f ) = t and (t A
t) = t, we calculate the value of this well-formed proposi-
tional formula as T. Logicians call this kind of assignment
of truth values to the atoms an interpretation of the well-
formed propositional formula.
One question we should ask is what happens if we try
to evaluate a well-formed propositional formula which
contains variables rather than simply T and NIL. For
example:
(AND (OR P Q) R))
will return an error message saying that P is an undefined
variable.
One thing we can use to make the substitution of T and
NIL to these variables is the lambda construction.
Evaluation of:
((LAMBDA (P Q R) (AND (OR P Q) R) (T NIL T))
will result in T.
Viewing Programs as Data
Evaluation of a Boolean program corresponds to a
simulation of the circuit represented by the program. We
August 1979 © BYTE Publications Inc 207
may also want to use LISP to answer questions about our
circuits. We will consider two standard questions asked
about programs for these circuit programs:
• When do two programs compute the same func-
tion? (analysis)
• Given an I/O (input/output) specification con-
struct a program with this behavior, (synthesis)
Analysis
Analysis of a program starts with the question — what
is its behavioral description? One may then consider
questions of efficiency. The complete input/ output
description is expressed by the Boolean function. Above
we have called this the function computed by the pro-
gram. In logic this function is just the set of all interpreta-
tions of the well-formed propositional formula. The
Boolean function for the expression (X A Y) V Z ex-
pressed as a table is:
X,Y,Z)
(X A Y) V Z
0,0,0
0,0,1
1
0,1,0
0,1,1
1
1,0,0
1
1,0,1
1
1,1,0
1,1,1
1
If a well-formed propositional formula, w, has n vari-
ables then there are 2 n interpretations. Thus the I/O table
has 2 n entries. Complete behavioral knowledge could be
obtained by making the 2 n possible evaluations. Often
only partial behavioral knowledge is needed and this may
sometimes be obtained without complete simulation.
Two programs are called equivalent when they com-
pute the same function, i.e., they have the same
behavior. A well-formed propositional formula which
evaluates to T under all interpretations is called a
tautology. The well-formed propositional formula (IM-
PLIES (AND P Q) (OR R P)) is a tautology. Two well-
formed propositional formulas wl and w2 are called
equivalent if (EQUIV wl w2) is a tautology. This means
that wl and w2 have the same I/O behavior. Thus for
circuit programs the notion of equivalence coincides with
the logic notion of equivalence.
One simple way to determine if a well-formed proposi-
tional formula is a tautology is to compute all its inter-
pretations. This brute force technique can be improved
upon by using an algorithm introduced by Quine in 1950.
Our experience with the FOL project at the Stanford Ar-
tificial Intelligence Laboratory indicates that this
algorithm represents considerable improvement over the
listing of all cases. It is informally described as follows.
Choose one variable p and make two new expressions,
one obtained by substituting t for p in the well-formed
propositional formula and the other obtained by
substituting f for p in the well-formed propositional for-
mula. Take the conjunction of the two expressions, and
use the following simplification rules.
/^From the
Originator
of the
TRS-80
Project
FORTRAN
Now Sale Priced!
Comparable to compilers on large
mainframes and minicomputers. All
of ANSI Standard FORTRAN X3.9-
1966 is included except COMPLEX
data type. Therefore, users may
take advantage of the many appli-
cations programs already written in
FORTRAN. Package includes:
FORTRAN Compiler
Macro Assembler (Z80)
Linker
Library
Lib Manager (Not in TRS-DOS
version) Price -$35&Se
For this month only
Sale Priced at $250.00
Manual $25.00
(Specify TRS-DOS or CP/M versions)
CP/M is a registered trademark of Digital Research Corp.
TRS-80 is a registered trademark of Radio Shack.
PASCAL
UCSD Pascal, the powerful general
purpose language system, de-
veloped for large and complex
programs is now available for your
TRS-80.
The FMG/UCSD PASCAL system
opens a new generation of value
for your TRS-80. Package in-
cludes:
Operating System
Screen Editor
Z80 Macro Assembler
Debugger
Pascal Compiler
Utilities and System
Reference Book $150.00
Requires 48K System
with 2 Drives
Available without
Macro Assembler
Linker and Debugger $100.00
CP/M OPERATING
SYSTEM
Editor, Assembler, Debugger and
Utilities for 8080 and Z80 Sys-
tems. Up to four floppy disks.
Package includes:
CP/M System Diskette 5Va"
CP/M Features and
Facilities Manual
CP/M Editor's Manual
CP/M Assembler Manual
CP/M Debugger Manual
CP/M Interface Guide $150.00
(Set of 5 manuals $25.00)
CORPORATION
A Division of Applied Data Corporation
P. O. Box 16020. Fort Worth, Texas 76133, (817) 294-2510
208 August 1979 © BYTE Publications Inc
Circle 134 on inquiry card.
Listing 1: A program can be written to look for tautologies. Two
well-formed propositional formulas are said to be equivalent if
they both exhibit the same behavior.
(DE TAUT (WFF) (TAUT1 (SIMP WFF)))
(DE TAUT1 (W)
(COND
((ISCONSTW)W)
(T(TAUT
((LAMBDA (X) (MKAND (SUBSTTXW)
(SUBST NILX W)))
(FIRSTVAR W)) ))))■!■
(DE SIMP (W)
(COND ((OR (ISCONST W) (ISVAR W)) W)
((ISNOT W) (SIMPNOT (SIMP (body W))))
((ISOR W) (SIMPOR (SIMP (Ihs W))
(SIMP(rhs W))))
((ISAND W) (SIMPAND (SIMP (Ihs W))
(SIMP(rhs W))))
((ISIMPLIES W) (SIMPIMP (SIMP (Ihs W))
(SIMP(rhsW))))
((ISEQUIVW) (SIMPEQUIV (SIMP (Ihs W))
(SIMP(rhs W))))))
(DE SIMPNOT (W) (COND ((ISFALSE W) T)
((ISTRUEW)NIL)
(T (MKNOT W))))
(DE SIMPOR (W1 W2) (SIMPANDOR ' OR W1 W2 W1 W2))
(DE SIMPAND (W1 W2) (SIMPANDOR ' AND W1 W2 W2 W1))
(DE SIMPIMP (W1 W2) (SIMPOR (SIMPNOT W1) W2))
(DE SIMPEQUIV (W1 W2)
(SIMPAND (SIMPIMP W1 W2)(S I M P I M P W2 W1)))
(DE SIMPANDOR (OP W1 W2 V1 V2)
(COND((ISTRUE W1)V1)
((ISTRUE W2) V2)
((ISFALSE W1)V2)
((ISFALSE W2) V1)
(T(MKOPOP W1 W2))))
(DE FIRSTVAR (W1)
(COND ((ISVAR W1) W1)
((UNARY W1) (FIRSTVAR (body W1)))
((FIRSTVAR (Ihs W1)))
(T (FIRSTVAR (rhs W1)))))
(DE ISIMPLIES (X) (EQ X T))
(DE ISFALSE (X) (EQ X NIL))
(DE ISNOT (X) (EQ (CAR X) (QUOTE NOT)))
(DE ISOR (X) (EQ (CAR X) (QUOTE OR)))
(DE ISAND (X) (EQ (CAR X) (QUOTE AND)))
(DE ISIMPLIES (X) (EQ (CAR X) (QUOTE IMPLIES)))
(DE ISEQUIV (X) (EQ (CAR X) (QUOTE EQUIV)))
(DE ISEQOR (X) (EQ X (QUOTE OR)))
(DE Ihs (WFF) (CADR WFF))
(DE rhs (WFF) (CADDR WFF))
(DE body (WFF) (CADR WFF))
(DE MKOP (OP X Y) (LIST OP X Y))
(DE MKAND (X Y) (MKOP (QUOTE AND) X Y))
(DE MKNOT (X) (LIST (QUOTE NOT) X))
f := t
t D w
=
w
f D w
=
t
t V w
=
t
t A w
=
w
T:= f
w D t
=
t
w D f
=
w
f V w
=
w
f A w
=
f
Repeat the branching and simplifying until all branches
consist of either t or f. If all branches terminate in t, the
well-formed propositional formula is a tautology, other-
wise it is not. Applying the Quine algorithm to the well-
formed propositional formula, (p A q) D (r V p)
yields:
((t A q) D (r V t)) A ((f A q) D (r V f))
(q D t) A (f D r)
t A t
t
The LISP program in listing 1 represents the Quine
algorithm.
The evaluation of:
(TAUT (QUOTE (IMPLIES (AND P Q) (OR R P))))
returns T. Notice we have used the Boolean functions
IMPLIES, AND, and OR in these definitions.
Synthesis
Consider the problem of synthesizing a program with
its I/O behavior specified by the table:
X
Y F(X,Y)
1 1
1
1
1
1
table may be represented by the list:
( (X Y)
(0
0)
(0 1
1)
(1 o
1)
(1 1
0) )
(DE ISCONST (W) (OR (EQ W T) (EQ W NIL)))
Listing 1 continued on page
210
A well-formed propositional formula which has this
behavior may be constructed by observing that:
F(X,Y) = 1 if either X = and Y = 1
or
X = 1 and Y = 0.
This Boolean function mayj?e realized by the well-
formed propositional formula (X A Y) V (X A Y). This
well-formed propositional formula has a very special
form. Well-formed propositional formulas which are
Text continued on page 211
August 1979 © BYTE Publications Inc 209
Circle 205 on inquiry card.
DISCOUNT PRICES
Microcomputers & Peripherals
B
ITS
YTES
00 KS
ARGAINS
r
-<§t
a
Cromemco • SWTPC • Lear-Siegler
Hazeltine • RCA • North Star
Verbatim • Perkin Elmer and others
Fast, off the shelf delivery.
Call TOLL FREE 800/523-5355
MARKETLINE SYSTEMS, Inc.
2337 Philmont Ave., Huntingdon Valley, Pa. 19006
215/947-6670 • 800/523-5355
Dealer Inquiries Invited ^/
BYTE
BACK IMUE&
ton SALE
The following issues are available:
March, May thru December, 1977; February thru
October, 1978; and January, February, April, May, June
and July 1979.
Cover price for each issue thru August '77 is $1.50 plus
25$ postage and handling ($3.50 total foreign).
September '77 thru 79 issues are $2.00 plus 50$
postage and handling
($4.00 total foreign).
Send requests
with
payment
to:
BYTE
Publications
70 Main St.
Peterborough
NH
03458
Attn:
Back Issues
Listing 1 continued from page 209:
(DE ISVAR (W) (AND (ATOM W) (NOT (NUMBERP W))))
(DE UNARY (W) (EQ (CAR W) (QUOTE NOT)))
(DE BINARY (W)
(OR (OR (OR (EQ (CAR W) (QUOTE AND))
(EQ (CAR W) (QUOTE OR)))
(EQ (CAR W) (QUOTE IMPLIES)))
(EQ (CAR W) (QUOTE EQUIV))))
(DEFINE SYNTHESIS (L)
(mkor (REVERSE (CAR L)) (REVERSE (CDR L))))
(DEFINE mkand (V L)
(PROG (X)
(COND ((EQUAL (CAR L) 0) (RETURN NIL)))
(SETQ L (CDR L))
(SETO X (COND ((EQUAL (CAR L) 0) (LIST (QUOTE NOT) (CAR V)))
(T (CAR V))))
L1 (SETQ V (CDR V))
(SETQ L (CDR L))
(COND ((NULL L) (RETURN X)))
(SETQ X
(CONS (QUOTE AND)
(CONS (COND
((EQUAL (CAR L) 0) (LIST (QUOTE NOT) (CAR V)))
(T (CAR V))) (LIST X))))
(GOLD))
(DEFINE mkor (V L)
(PROG (X)
(SETQ X (mkand V (REVERSE (CAR L))))
L1 (SETQ L (CDR L))
(COND ((NULL L) (RETURN X)))
(SETO X (CONS (QUOTE OR) (CONS (mkand V (REVERSE (CAR L))) (LIST X))))
(GO L1)))
Listing 2: A well-formed propositional formula which is a sum
of products with each summand having literal factors is said to
be in disjunctive normal form. Any Boolean function F(X1, . . .
Xn) of n variables may be described by a well-formed proposi-
tional formula in disjunctive normal form. This program con-
structs a well-formed propositional formula in disjunctive
normal form.
(DE PN (WFF Z)
(COND ((ATOM WFF) (COND ((ISEQOR Z) (MKNOT WFF)) (T WFF)))
((ISNOT WFF) (PN (body WFF) (FLIP Z)))
((ISEQUIV WFF)
(MKOPZ
(MKOP(FLIP Z)
(PN (Ihs WFF) (QUOTE OR))
(PN (rhs WFF) (QUOTE AND)))
(MKOP(FLIPZ)
(PN (Ihs WFF) (QUOTE AND))
(PN (rhs WFF) (QUOTE OR)))))
((ISIMPLIES WFF) (MKOP (FLIP Z)
(PN (Ihs WFF) (FLIP Z))
(PN (rhs WFF) Z)))
((ISAND WFF) (MKOPZ
(PN (Ihs WFF)Z)
(PN (rhs WFF) Z)))
((ISOR WFF) (MKOP (FLIP Z)
(PN (Ihs WFF) Z)
(PN (rhs WFF) Z)))))
(DE FLIP (Z) (COND ((EQ Z (QUOTE OR)) (QUOTE AND)) (T (QUOTE OR))) )
Listing 3: Any well-formed propositional formula may be
transformed into disjunctive normal form. This recursive LISP
program uses the rules described in the text to complete the
transformation.
210 August 1979 © BYTE Publications Inc
Circle 316 on inquiry card.
Text cojitijuied from page 209:
either variables or the negation of variables are called
literals. The above well-formed propositional formula is
an example of a sum of products where the factors of
each summand is a literal. A well-formed propositional
formula of this type is said to be in DNF (disjunctive nor-
mal form).
The_well-formed propositional formula (X A Y) V
(X A Y) was constructed by looking at each row of
the above table which has the value 1. For each such row
we form a conjunction containing those variables with
value 1 and the negation of those with value 0. We finish
by taking the disjunction of all these conjunctions. Any
Boolean function F(X1, . . .Xn) of n variables may be
realized by a well-formed propositional formula in dis-
junctive normal form in this way. The code in listing 2
uses the list representation of function tables displayed
above and constructs a well-formed propositional for-
mula in disjunctive normal form. Every well-formed pro-
positional formula may be put into disjunctive normal
form. The following transformation rules applied to a
well-formed propositional formula w as long as any
simplifications can be made to yield a disjunctive normal
form equivalent to w.
(wl s w2) := ((wl D w2) A (w2 D wl))
(wl D w2) := ((wl) V w2)
((wl)) := wl
(wl A w2) := (wl) V (w2!
(wl V w2) := (wl) A (w2)
(wl A (w2 V w3)) := ((wl A w2) V (wl A w3))
((wl V w2) A w3) := ((wl A w3) V (w2 A w3))
These rules may also be converted into a recursive LISP
program as in listing 3.
The program PN (push negation) removes EQUIV and
IMPLIES, pushes all negations into the well-formed pro-
positional formula so that NOTs only appear as part of a
literal. PN works by "remembering" how many NOTs it
has seen. This is kept track of by a flag which is AND
when the number is even and OR if it is odd.
DNF1 then applies the distributive law until the for-
mula is in disjunctive normal form. Thus we compute the
disjunctive normal form of a well-formed propositional
formula, w, by evaluating:
(DNF (QUOTE w)).
Conclusion
In this short paper we have given some examples of us-
ing LISP data structures in several different ways at once
with examples from circuit design. These are not the only
examples we could have chosen. A natural extension is
the set of programs which deal not only with synthesis
and analysis but with the optimization of circuits. That
is, construct a program with a specified behavior which
is by some measure best. For example, we could write
code to compute the minimal sum of products representa-
tion of a circuit where each product is a prime implicant.
This is the typical kind of thing studied in courses on
combinatorial circuits. ■
CATCH THE
S-100INC.
BUS!
OUR
LIST SPECIAL
PRICE CASH
PRICE
Imsai PCS 80/10 "8080" Kit
Shugart 800-R 8" Disk Drive
Georgia Magnetics 8"
Diskettes Soft Sectored per
Box of 10
Godbout 8K Static "Unkit"
SSM VB-2 Video Board Kit
Dynabyte 16K Static Memory
Board 250 nanoseconds
750.00 625.00
610.00 425.00
45.00 30.00
149.00 118.00
159.00 125.00
555.00 440.00
Call for Our Prices on:
Cromemco, IMSAI, Vector Graphic, North Star, Sanyo,
Hazeltine, IMC plus Most Other Major Lines.
Subject to Available Quantities • Prices Quoted Include Cash Discounts.
Shipping & Insurance Extra.
Bus...5-IDD,inc.
Address .7 White Place
Clark, N.J. 07066
Interface. .201-382-1318
Z s - SYSTEMS
:
64K HAM BOARD
mK ^^^' 4B4B
--■
1AM
Compatible with Cromemco
Th
3 Zs-SYSTEMS 64K I
board is designed to operate
system, Fully assembled,
in any Z80 based microcom-
burned in, & tested
puter having S-100 bus. It
Available from stock
uses 16K dynamic RAM chips,
to 60 days
& features:
As low as $500.00 in
— Board select
quantities of 100
— Bank select
— Transparent on-board
Price of one $649.00
refresh
PC board only $59.00
— 2 or 4MHz operation
With 16K RAM $359.00
(w/ no wait state)
Plus shipping charges
— Memory disable
FLOPPY DISK
m$*MI
CONTROLLER
Handles with no modification
'
* 4 standard 8" drives
Use CP/M Disk Operating System
(Shugart or compatible) or
Using the 1771 LSI controller
Price oi one $245.00
Run with 2 or 4 MHz CPU
PC board onlv S35.00
SEND FOR FREE INFORMATION
6 months warranty on c
our boards with normal use
Zs SYSTEMS
PO Box 1847, San Diego, CA 92112
(714) 447-3997
Circle 401 on inquiry card.
August 1979 © BYTE Publications Inc 211
Assembly
Language Switching
frcgpsromingOuicMes
Ira Chayut
Bell Laboratories
Naperville IL 60540
When programming in assembly language,
it is often useful to borrow the tools
commonly available to high level language
programmers. One such tool is the switch
construct, or multi-way jump. A switch
steers program execution to one of a number
of memory locations, depending on a test
value. The switch may be implemented as a
series of compares and conditional jumps.
An alternate implementation is to create
the switch with a subroutine and case tables.
A case table can be of variable length; it lists
values to be tested for and the associated
addresses to which program control may be
passed. In addition, a default address is
included in the list. If the test value is not
equal to any of the values in the list,
program execution continues at the default
address.
One possible use of the switch is to
decode 1 -character commands and jump to
Listing 1: SWITCH, a program to perform multi-way jumps. SWITCH is
entered via a jump with register A containing the test value and register pair
HL containing the starting address of a case table. The format of the case
table is any number of 3 byte case entries followed by a 3 byte default entry.
Each case entry consists of a 1 byte case value followed by a 2 byte address.
The default entry consists of a byte containing hexadecimal FF followed by a
2 byte address. If the test value contained in register A is equal to a case
entry, a jump to the associated address is executed. If no match is found, a
jump to the address of the default entry is executed. Since the default value is
hexadecimal FF a case value of FF is not allowed.
Routine SWITCH does not execute a return itself. If it is entered via a call
instruction, the routine indicated in the case table should contain returns to
the calling program.
get case value
point to case address
case and test values equal?
-yes, prepare to jump
-no, case entry equals FF?
-yes, prepare to jump
-no, point to next case entry
try next case
get low byte of case address
SWITCH:
MOV
B,M
INX
H
CMP
B
JZ
SW01
INR
B
JZ
SW01
INX
H
INX
H
JMP
SWITCH
SW01:
MOV
B,M
INX
H
MOV
H,M
MOV
L,M
PCHL
get high byte of case address
put low byte in L
jump to case address
Stand Alone Video Terminal
«jJTS s9'- xj>virIW»fto is? 04 ** W$ I *++*
1 "#$•;&-' O *+, - . / 01 2456739 : : <=>?
SO- 100 VIDEO BOARD FEATURES
• 64x16 line format with 128 displayable characters
• Serial ASCII or BAUDOT with multiple Baud rates
# $107 Assembled or $167 Kit (Partial Kit $99)
• Full cursor control with scrolling and paging
• On board power supply
• Serial interface RS23 2 or current loop
• Purchase SCT-100 alone or complete terminal
»XIT€XCORI>
9861 Chartwel! Drive
Dallas, Texas 75243 (214) 349-2490
ORDER BY PHONE/Qyeraeas orders & dealer* welcome
»XIT€X MORSE TRANSCEIVER
> S225 Complete Kit
• S95 Partial Kit
COPY
• I to 150 WPM with
Auto-Sync.
• Continuously computes
and displays Copy WPM
• Auto Spate on word boundries
• Grid/Cathode key output
• LED Readout for WPM
Buffer space remaining
212 August 1979 © BYTE Publications Inc
Circle 392 on inquiry card.
Listing 2: Example use of
SWITCH routine. The
value to be tested is put in
register A by the call to
routine GET In this case
we are checking I -charac-
ter commands for addition
and subtraction. If the
character is neither a sub-
traction nor an addition
symbol, the routine exits
at the default jump.
the appropriate servicing routine. The
default address might be the start of a
section of code to print out an error
message.
Listing 1 contains the switch procedure
for the 8080 processor. A section of code
and a case table illustrating the switch's use
appear in listing 2."
*
CALL GET
LXI H f CTBL
JMP SWITCH
; get a character
; point to case table
; decode command
ADD: • • ■
; add routine
SUB: • ■ •
; subtract routine
ERR: • ■ •
; invalid command handler
; case table follows
CTBLDB '+'
DWadd
; add command
DB '"'
DWsub
; subtract command
DB FFH
DWerr
; default, error
Turn Your KIM
into a Metronome
David Kellerman
1047 Schuyler Dr
Endicott NY 13760
Using the program described in listing 1
(on page 214) and a tape recorder, readers
can transform their KIM-1 computers into
metronomes. The main part of the program
consists of three nested timing loops used to
periodically invert the line going to the tape
recorder. The resulting square wave pulse
is audible as a click through the tape
recorder's speaker when the monitor switch
is on and the tape recorder is set as if a tape
were being recorded. If your recorder has no
monitor switch, simply make a recording of
the clicks and play it back.
To use the program, set hexadecimal
memory locations 0000 and 0001 equal to
the appropriate values for the desired click
rate (see figure 1 on page 214). Start the
program at location 0002, and have fun ac-
companying your computer!
4K CMOS Memory IC
Eliminate heat build-up &
Reduce Power Supply Requirements
4Kx1 6504 CMOS memory chips $8.00 each
The 6504 is plug compatible with 4044 NMOS
1 Kx4 6514 CMOS memory chips $8.00 each
BOTH CHIPS FEATURE:
Low Power Standby <2.5mWMax
Low Power Operation <25 mW/MHz Max
Fast Access Time OOOnsecMax
TTL Compatible Input and Output
Common Data Input/Output
Industry Standard 21 14 Type Pinout
On Chip Address Register
Easy Interfacing With Multiplexed Bus uP's (8085)
ALL CHIPS TESTED - 100% FUNCTIONAL
DIGITAL GROUP
Equipment Users
32K Memory Boards without memory chips
These boards are designed to use either
the 6504 or 4044 NMOS memory chips
$60.00
KIT ASSEM
$284 $359
$508 $608
32K memory boards with 16K of memory
32K memory boards with 32K of memory
ROTA-STROBES for monitoring and adjusting
PHI-DECK Tape Speed $4.50 each
Send Orders To: EMERGE SYSTEMS
P.O. Box 2518
Satellite Beach, Fl 32937
ALL ORDERS MUST BE PREPAID WITH CHECK OR M. O.
Allow time for personal checks to clear
Florida residents add 4% sales tax
Circle 131 on inquiry card.
August 1979 © BYTE Publications Inc 213
Listing 1 : Metronome program for the
KIM-1 computer. Nested timing loops
create audible clicks through a tape re-
corder hooked up to the computer.
The period can be easily altered by the
user.
Hexadecimal
Address
Opcode
Label
Instruction
Comments
0002
AO
80
LDY
#80
Make line to tape recorder
0004
8C
43 17
STY
1743
an output line.
0007
AD 42 17
LDA
1742
Produce a click by inverting
000A
49
80
EOR
#80
the line that goes to the
OOOC
8D
42 17
STA
1742
tape recorder.
OOOF
A5
00
LDA
00
\
0011
85
EO
STA
EO
I
0013
A5
01
L3
LDA
01
1
0015
85
E1
STA
E1
1
0017
AO
FF
L2
LDY
#FF
1
0019
88
L1
DEY
V Delay
001 A
DO
FD
BNE
L1
I
001 C
C6
E1
DEC
E1
1
001 E
DO
F7
BNE
L2
1
0020
C6
EO
DEC
EO
1
0022
DO
EF
BNE
L3
/
0024
4C
07 00
JMP
0007
Repeat
Figure 1: Calculating the metronome's
period. First, find the desired number
of beats per minute on the Y axis,
then read across to the two curves and
enter the corresponding values for the
program on the X axis into hexadeci-
mal memory locations 0000 and 0001.
s
9 — -Il
8 — "1§
t jj
6._-.||
ill
111
11=
lllllllllli
SSSEE5ES5SS
====== =====
— =p j | _ _ _ . =^— : " = M =: ~ : ^t == f =: ^
4 =E
IB
||i|j||l=EE=
lllllllllHllliiSllllllSlliiiiii=p|S
^3^EEE|§jE
= EEEEEEEE^^EEEEE±EEEEEE^^EEEEEEEEEEE==^
9 1
2__ T
J*iWtnnti 6f\\M3'h)r <KJ0 = r
9 — B
ilii
jRrjr^- --— —-
lj|lll|clz^^zjr^^
^Jj£== ===.== == £|==£==.=
=— s§^SI= ? ^========s=========
7___=E
■= ILL
jjiliiiilli
£ ^|^ jjp
•.-■ill
— fTi-Li— ZL.:-j_ [=^g= == = E -~jl~;"~! 1= EE = E= = = = = = EiE ==^F==
BL.J= =
~,^gg
^^^p=F^i=P
= ^^SP^^^^^lll|llllllllllllll 111111
4._ = =
|| j
SpEEEEEEEE
llIIl||BllIIIIIIli|lllIIIIIIIIIIIIIIII
3L- =~
^ffjplfe^^^^^^^
— J 1 |— j 1 .
2.
E=
-^hF
"^r ~i~ ~" zzzzzzzzzztzzzzzzzzzzzzzz zzzzzz
\ 1 f "
10.. __
L »hl
00
2(
) 40
60 80 AO CO EO
CONTENTS OF LOCATION 0000 (In h«x)
214 August 1979 © BYTE Publications Inc
Memory Test Program
Frank J Caperello
1806 Kuser Rd Apt 9
Trenton NJ 08690
Did you ever have a program that ran
successfully for months, only to have it
suddenly bomb? Or are you getting in-
consistent results from your data? It could
be that your computer is losing its memory.
Your problem may be due to memory loca-
tions becoming degraded because of a bit
failure. With microprocessors having 4 K
byte or greater amounts of memory it is
almost impossible to check each and every
location manually for a bad bit, unless you
have a year of free time on your hands.
This wouldn't be a problem if the micro-
processor had parity memory. Parity mem-
ory is implemented as an extra hardware bit
that detects a bit malfunction. Unfortun-
ately, parity memory also has a high cost
factor, so it is usually unavailable on micro-
computer systems. The memory test pro-
gram shown here will not replace parity
memory, but will assist you and save time
in locating bit malfunctions.
This program is 8080 compatible and
will check up to 64 K bytes of memory.
Although the program was written for an
IMSAI 8080 system with front panel, it
can easily be modified to work on other 8080
based microcomputer systems. The program
can also be modified to be placed in read
only memory so a check can be run without
having to manually load the program.
Basically, this program clears and sets
up the internal registers, inputs the amount
of memory you want to test, loads the test
memory with a pattern and then checks it.
If all goes well, it increments the pattern
and repeats the entire process. The test
pattern starts out at octal 000 and is in-
cremented to octal 377; when it is incre-
mented again, a pass has been completed.
A pass counter is incremented and displayed
in the control panel output port light
emitting diodes (LEDs). On start up, the
Text continued on page 21 7
68 MICRO JOURNAL
®
•
•
THE
ONLY
6800/09
USER-ORIENTED-
MAGAZINE
Months ahead of all others with
6800/09 articles & new products
Crunchers Corner — Bryant (A monthly programming
tutorial) * Flex® to BFD — Puckett * Tiny Music —
Thompson * Semiconductor, Part 1 — Kinzer * Soup Up
Your TVT — Pass * Hints & Kinks —fixes (soft & hard) *
50 pages plus Each Month!
Crunchers Corner — Bryant * A Look at
the SWTPC CT-82 — Ferguson * 6800
Relative Branch Calculation (Hand) —
Berenbon * Relative Calculator (Machine)
— Heatherington * Maillist (Disk) — Lilly *
Modems — Schuman * Semiconductor -
Part 2 — Kinzer * Locate — Pigford * A20
MA, Printer-SWTPC — Perdue * AS-50
Monitor Board — Pentecost * TSC Basic
for 6800 — Shirk * Plus Much-Much More!
Crunchers Corner — Bryant * A
Case for the Small DOS — Mauch
* MF-68 Motor Fix — Sorrels *
Transfer (FLEX 1 to 2 or 5) -
Womack * 6800 Delay — Beren-
bon * Make Like a 6809 — Fein-
tuch * Games (Basic) — Harmon
* Boot (Flex-BFD) — Puckett *
Freeze Display (SSB) —Johnson
* Paper Tape Reader — Adams *
FLEX® Fixes and Much More!
MAGAZINE COMPARISON
(2 years)
Monthly Averages
6800 Articles
KB
7.8
TOTAL
PAGES
BYTE CC DOBB'S
6.4 2.7 2.2 19.1 ea. mo.
Average cost for all four each month: $5.88
(Based on advertised 1-year subscription price)
'68' cost per month: 88£
($10.50 Charter Subscription Rate)
That's Right! Much. Much More
for
1/6 the Cost!
CHARTER SUBSCRIPTION SPECIAL
1-Year $10.50 2 Years $18.50 3 Years $26.50
OK. PLEASE ENTER MY SUBSCRIPTION
Bill
My: Master Charge □ —
VISA □
Card =
Exp. Date
For n
1-Year
O 2 Years
□ 3 Years
$
Name. .
Street
City
SlalP
7in
My Computer Is:
68 MICRO JOURNAL
3018 Hamill Road
HIXSON, TN 37343
FOREIGN ADD:
$9.50 PerYr. Surface
$26.50 Per Yr. Air Mail
NOTE:
Subscription Rates to increase
August 1 979 by 40% — Don't miss
anymore than you have already!
• MORE 6800 ARTICLES THAN ALL OTHERS COMBINED*
Circle 329 on inquiry card.
August 1979 © BYTE Publications Inc 215
Listing 1: Memory test program.
000
START
XRA
A
257
001
MOV
E,A
137
002
MOV
D,A
127
003
CMA
057
004
MOV
C,A
117
005
OUT
323
006
377
377
007
IN
333
010
377
377
011
MOV
B,A
107
012
INX
BC
003
013
REDO
MOV
A,E
173
014
LXI
HL
041
015
XXA
(FIRST)
133
016
XXB
000
017
LOAD 1
MOV
M,A
167
020
INX
H,L
043
021
MOV
A,C
171
022
CMP
L
275
023
JC
Z
312
024
LOAD 2
032
025
000
026
LOAD 3
MOV
A,E
173
027
JMP
303
030
LOAD 1
017
031
000
032
LOAD 2
MOV
A,B
170
033
CMP
H
274
034
JC
NZ
302
035
LOAD #
026
036
000
037
MOV
A,E
173
040
LXI
HL
041
041
XXC
(FIRST)
133
042
XXD
000
043
CHECK 1
CMP
M
276
044
JC
NZ
302
045
ERR
107
046
000
047
INX
HL
043
050
MOV
A,C
171
051
CMP
L
275
052
JC
Z
312
053
CHECK
2
061
054
000
055
CHECK 3
MOV
A,E
173
056
JMP
303
057
CHECK 1
043
060
000
061
CHECK 2
MOV
A,B
170
062
CMP
H
274
063
JC
NZ
302
064
CHECK 3
055
065
000
066
MOV
A,E
173
067
INR
A
074
070
MOV
E f A
137
071
CPI
376
072
000
000
073
JC
NZ
302
074
REDO
013
075
000
076
MOV
A,D
172
077
INR
A
074
100
MOV
D f A
127
101
CMA
057
102
OUT
323
103
377
377
104
JMP
303
105
REDO
013
106
000
107
ERR
SHLD
042
110
ERR 3
131
111
000
112
STA
062
113
ERR 2
130
114
000
115
MOV
A,M
176
116
STA
062
117
ERR 1
127
Os to register A.
Os to pattern register.
Os to pass complete register.
377 to output to reflect in light emiting diode (LED).
377 to low order half of maximum address.
Output 377 to reflect 0.
In output port LEDs.
Input from the switches the high half of the maximum
address.
Move it to the high half of maximum add register.
Increment the register.
Move the test pattern to register A.
Load the first memory location to be tested into the
current address register.
Go put the test data in.
Increment the address.
Get low order half of maximum address.
Compare it to low order half of current address.
It compared now go check the high order half of
maximum address.
Here there is still more to do.
Go get test pattern and jump back and deposit it again.
Get the high order half of maximum address.
Compare it to low order half of current address.
Jump if it does not compare.
This means that there is still more to do.
Here we start to check so you get the test pattern.
Reload the current address register with the first
memory location to be tested.
Check the memory location.
If they do not compare jump to the error routine.
Here if they do compare, increment the current address
to the next location.
Now get low order half of maximum address.
Compare it to low order half of current address.
If they are equal go jump to check the high order
half.
Here if still more to check, go get the test data and jump
back to recheck it again.
Get the high order half of maximum address.
Compare it to low order of current address.
Jump if it does not compare.
This means that there is still more to do.
Get the test data.
Increment it for the next pattern.
Save the test data.
See if the test data is equal to 0s.
Jump if it is not — this means that we still have patterns
to do before we can complete this pass.
Pass complete so get the pass counter.
Increment register.
Put it back to save it.
Complement it so it looks correct in the control panel
LEDs and output it to the IO port.
Go back and redo the test.
Here if we have an error store the current address where
the fault occurred.
Store the correct data as it should have been read from
memory.
Go retrieve the incorrect data.
Store it so we can see where the error was.
Listing 7 continued on next page.
216 August 1979 © BYTE Publications Inc
Circle 78 on inquiry card.
PET PRINTER ADAPTER
GET HARD COPY FROM YOUR
COMMODORE PET USING A
STANDARD RS-232 PRINTER
1200B
1200C
The CmC ADA 1200 drives an
RS-232 printer from the PET
IEEE-488 bus. Now, the PET
owner can obtain hard copy
listings and can type letters,
manuscripts, mailing labels,
tables of data, pictures, in-
voices, graphs, checks, needle-
point patterns, etc., using a
standard RS-232 printer or
terminal.
$98.50 ADA1200B
Assembled and tested
$169.00 ADA1200C
With case, power supply
and RS-232 connector
m m
Order direct or contact your local computer store.
Add $3.00 for postage and handling per order.
O CONNECTICUT microCOMPUTER
gjjj |=q 150 POCONO RD. BROOKFIELD. CT 06804
La (203) 775 9659 TLX: 7704560052
120
000
121
MOV A,D 172
Now get the number of complete
122
STA
062
away for future use.
123
ERR
126
124
000
125
HLT
166
Stop.
126
ERR
000
000
Pass number.
127
ERR 1
000
000
Bad data.
130
ERR 2
000
000
Good data.
131
ERR 3
000
000
Low order half of failed address.
132
000
000
High order half of failed address.
133
FIRST
000
000
First tested location.
Text continued from page 215:
program receives the number of the 256
locations of memory to be tested via the
control panel input port switches. The test
will run until the stop button is depressed
or until an error is detected.
Let's look at what happens when an error
is detected; the machine comes to a halt —
the error location contains the number of
successfully completed passes.
In the error 1 location is the incorrect
data as retrieved from the faulty memory.
In the error 2 location is the correct data as
it should have been read from memory.
In the error 3 location is the low order half
of the offending address, while in the error
3+1 location is stored the high order half of
the offending address. By comparing the
data in error 1 and error 2, we can determine
which bit was picked up or dropped — but
what if they're the same?
You then have what is known as a "soft
error," or an error that is incorrect on the
first read out, but correct the second time
around. A soft error can be caused by a
timing problem, or a refresh problem when
using dynamic memory. The program starts
checking data from the lowest address to the
highest. When an error is detected, the data
from error 1, 2 and 3 should be recorded.
Since there is more memory to check,
add 1 to the error 3 data and deposit this in
locations xxA and xxC. The error 3+1 loca-
tion should be entered into locations xxB
and xxD. Record the next error when it oc-
curs, continuing the same routine until no
new errors are detected, or until a pattern of
errors is evident."
NORTH STAR SOFTWARE
TIMESHARING
for th€ Horizon—
The only true interrupt driven, bank
switching timesharing software available |
for the Horizon.
A machine language program
on 5' ," disk S49.95 I
DOSCHG4 (8" disk drive interface patch to
Release 4 North Star DOS and BASIC) $49.95
DOSCHG5 (8" disk drive interface patch to
Release 5 North Star DOS and BASIC) $49.95
CSUB disk and documentation package $49.95
The following programs, written with CSUB, are presently
available:
General Ledger (for accountants) $49.95
General Ledger (for business use) $49.95
Accounts Receivable (for accountants) $49.95
Accounts Receivable (for business use) $49.95
Accounts Payable $49.95
Payroll $49.95
Inventory $49.95
Specify Release 4 (single density) or Release 5 (double density)
North Star DOS and BASIC.
All programs are shipped on 5 1/4" diskette and include documentation.
This Summer:
Hard Disk Interface For The Horizon
oA/WAfc
Micro Mike's, Incorporated
905 South Buchanan * Amarillo, Texas 79101 * USA
(806) 372-3633
Circle 204 on inquiry card.
August 1979 © BYTE Publications Inc 217
Bock Reviews
Practical Microcomputer Program-
ming: The Z-80
by W J Weller
Northern Technology Books
Evanston IL
481 pages
$29.95
Practical Microcomputer Program-
ming: The Z-80 is the third volume in a
series which also includes works on the
8080 and 6800 microprocessors. My re-
view of the 8080 volume was published
in BYTE, January 1978.
The most obvious differences be-
tween the Z-80 and the 8080 volumes in
this series are the length and the price.
The Z-80 version costs $8 more than its
predecessor and it is almost 60 percent
longer. There are more than 100 pages of
additional text, and much more software
is included. The Z-80 volume treats
several new topics, among which are
floating point arithmetic and graphical
output.
This book is intended for two au-
diences: the first is the beginning
assembly level programmer (as all of the
textbook basics are included and iden-
REBUILT Like New
TTY-33ASR
3320/5 J E ALSO 3320/6 J E
Ml 2 Design 2400 Printers
NEWKSRandRO
Up to 1200 Baud
• Immediate Delivery
• 90 Day Warranty i tty-33 only j
• Quantity Discounts
• Terms Available
CALL BUD SCOTT
214/358-3681
Data Communications International, Inc.
2636 Walnut Lane, Suite 350
Dallas, Texas 75229
tified so that the more advanced reader
can skip them), and the second is the
programmer who is familiar with the
8080 and wants to become skilled in the
use of the Z-80. With this in mind, the
mnemonics used are not those used by
Zilog, but an 8080 compatible set. The
new Z-80 instructions use forms based
on the 8080 mnemonics. Unfortunately,
the two sets of Z-80 mnemonics are not
compatible.
The topics which the book treats are
fairly standard: moving data, arithmetic
(single and multiple precision, fixed and
floating point, binary, and decimal),
logical operations, use of the stack
pointer, tables and arrays, I/O (input/-
output) programming, and the use of in-
terrupts. I/O programming is divided in-
to sections on polled, interrupt-driven,
and graphical output. Explanations are
clear, and there are many good ex-
amples.
The appendices are a nice feature.
These contain documentation and
listings for a debugging monitor and a
conversational assembler. Both of these
are written in the 8080 subset of the Z-80
instructions, so that an 8080 program-
mer can use them (the assembler flags
non-8080 instructions). Typing in the
code (either object or source) for pro-
grams of this size is very tedious, and for
this reason paper tapes of the object
code for both the monitor and the
assembler are free by returning the
coupon at the back of the book to the
publisher. The assembler can take its
source code either from memory or
from a tape or disk. A simple line editor
is included. You do not have to load the
editor, load the source code, punch the
source code, load the assembler and
load the source code again, as is
necessary with separate editors and
assemblers. It looks very convenient.
In conclusion, Practical Microcom-
puter Programming: The Z-80 has all of
the advantages of its 8080 predecessor,
while avoiding the major faults. The
book is clear and complete (including
the index of assembler mnemonics
which was missing from the 8080 ver-
sion), and the appendices are very good.
I have been programming the Z-80 for a
year and a half, and I wish that I had
picked up the knowledge this book of-
fers 18 months ago! ■
John A Lehman
716 Hutchins #2
Ann Arbor Ml 48103
218 August 1979 © BYTE Publications Inc
Circle 87 on inquiry card.
SURPLUS ELECTRONICS
ASCII
ASCII
IBMSELECTRIC
BASED I/O TERMINAL
WITH ASCII CONVERSION
INSTALLED $645.00
• Tape Drives i Cable
• Cassette Drives • Wire
• Power Supplies 12V15A, 12V25A,
5V35A Others, • Displays
• Cabinets • XFMRS • Heat
Sinks • Printers • Components
Many other items
Write for free catalog
WORLDWIDE ELECT. INC.
130 NORTHEASTERN BLVD.
NASHUA, N.H. 03060
Phone orders accepted using VISA
or MC.Toll Free 1-800-258-1036
In N.H. 603-889-7661
[^ TRS-80 J
SPECIAL PROMOTION SALE
SAVE 10%, 15% or more on ALL
Computers, Peripherals, Software,
and ALL other fine Radio Shack®
products.
NO TAXES on out-of-state ship-
ments.
FREE Surface delivery in U.S.
WARRANTIES will be honored
by your local Radio Shack® store.
Offered exclusively by
Radio Shack 8
Authorized Sales Center
1117 Conway
Mission, Texas 78572
(512) 585-2765
\
^
J
SUPPLIES
■ FLOPPY DISKS, MINI OR
STANDARD MEM0REX OR 3M
■ 3M DATA CARTRIDGES
DC300A, OC100A
• 3M DIGITAL CASSETTES
• 3M OR MEM0REX AUDIO
CASSETTES, C-BO
■ 3M DISK CARTRIDGES
WE OFFER:
•COMPETITIVE PRICING
•IMMEDIATE DELIVERIES
(Any Quantity)
• UNCONDITIONAL GUARANTEE
BETA BUSINESS SYSTEMS
8369 VICKEBS ST., #G
SAN DIEGO. CA 9211
(714) 565^505
m
Circle 391 on inquiry card.
Circle 314 on inquiry card.
Circle 34 on inquiry card.
FLOPPY DISK
REPAIR
m PerSci and Shugart
• Quick turnaround
% Factory trained on
PerSci
COMPUTER SERVICE CENTER
7501 Sunset Blvd
Hollywood CA 90046
213-851-2226
TRS-80 16K MEMORY EXPANSION KIT
INCLUDES 8 TESTED & GUARANTEED M5K 4116 3 16K RAMS.
PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS.
$72 00 PER KIT
6800 64K BYTE RAM SET AND CONTROLLER
CHIPSET mE 6 MBYTES Of MEMORY FOR YOUR
$29589
6800. THE CHIPSETS INCUJOE:
32 M5K 4116-3 16K RAMS.
1 MC3480L MEMORY CONTROLLER.
PER COMPLETE SET.
MC3242AP MEMORY ADDRESS
MULTIPLEXER/COUNTER.
DATA & APPLICATION SHEETS.
PARTS TESTED & GUARANTEED.
16K DYNAMIC RAMS
M5K 4116-3 200NSEC
ACCESS TIME/375NSEC
CYCLE TIME.TESTEO &
BURNED-IN.
J850EACH/MIN.QTY.8
4K STATIC RAMS
EQUIV.TOTMS40L44-30
300NSEC ACCESS TIME/
CYCLE TIME FOR 4MHZ
2-80 OPERATION.
JTO EACH/MIN.QTY. 8
TESTED & GUARANTEED
QUANTITY DISCOUNTS MAILABLE
ALL ORDERS POSTPAID. U.S.FUNOS. CHECK OR MONEY
ORDER. VISA,BA,MASTERCHARGE-SEND ACCOUNT NO,
EXPIRATION DATE , INTERBANK NO., & SIGNED ORDER.
PHONE ORDERS: 714/633-4460
MEASUREMENT SYSTEMS & CONTROLS.inc.
MEMORY DEVICES DIVISION, DEPT. B3
867 NORTH MAIN ST., ORANGE, CA 92668
Memorex
Floppy Discs
Lowest prices, WE WILL NOT
BE UNDERSOLD!! Buy any
quantity 1-1000. Visa. Mastercharge
accepted. Call free (800)235-4137
for prices and information. All
orders sent postage paid.
PACIFIC
EXCHANGES
100 Foothill Blvd.
San Luis Obispo, CA
93401. (InCal. call
(805) 543-1037.)
Circle 68 on inquiry card.
Circle 216 on inquiry card.
Circle 294 on inquiry card.
MAXIMUM VALUE
FOR YOUR DOLLAR
NORTH STAR COMPUTER PRODUCTS
HORIZON1 16K KIT S 1275.00
16K RAM BOARD KIT S 250.00
32K RAM BOARD KIT $ 475.00
VERBATIM DISCS FOR NORTH STAR
BOX OF 10 $29. POST PAID
COMPLETE SYSTEMS AVAILABLE
CUSTOM SOFTWARE FOR NORTH STAR SYSTEMS
CASIO CALCULATORS
AT DISCOUNT PRICES
MANY OTHER SUPER VALUES
WRITE OR CALL:
A.E.I.
3851 HACKETT AVE.
LONG BEACH, CALIF. 90808
(213) 421-4815 (21 3) 429-0535
save more than 20%!
NORTH STAR INTERTUBE
THINKER TOYS HUH
the smartest computers at the smartest price
DOUBLE DENSITY
HORIZON-1-16Kkit, list $1599 ...$1279
Assembled & tested, list $1899 ...$1519
HORIZON-2-32Kkit, list $2249 ...$1799
Assembled & tested, list $2549 . . .$2039
HORIZON 2 32K QUAD DENSITY
Assembled & tested, list $2999 . . . $2399
PASCAL for NORTH STAR on Disk $49
Powerful NORTH STAR BASIC FREE
Measurement Systems asm memory 64K. $640
Thinker Toys Discus/2 D asm $1149 $949
TRS80 toS-100 HUH kit list $295 $260
Assembled & tested, list $375 $350
INTERTUBE II Terminal, list $995 $780
MARYELLEN Word Processing. . .
$34 + $1.50 shipping
VERBATIM Disks. . .
10 for $29.50 + $1.50 shipping
Which Computers are best? BROCHURE. . . FREE
AMERICAN SQUARE
COMPUTERS
KIVETT DR, JAMESTOWN NC 27282
(919) 883-1105
RECYCLED)
COMPUTERS
^■■■■■■KHEHiaHHHHHKKHHKIIKirilltiriinBnBllHHHHHKIlXHHSH
BUY £ SELL £> SWAP
Hardware & Software
NEW PRODUCT ANNOUNCEMENTS
■n 03P€*
Mailed 1 st Class every 3 Weeks
Iyr. (18 issues) %? $3.75
ON_LINE ■■#«■
O.iur I'irrllr. Oublislitr £si.iUlisfirt> hi??
24695 Santa Cruz Hwy.. Los Gatos, CA 95030
Circle 21 on inquiry card.
Circle 5 on inquiry card.
Circle 288 on inquiry card.
An Overview
of Long Division
Geoffrey Gass
5240 SW Dosch Rd
Portland OR 97201
On the very simplest level, a divi-
sion problem starts with two num-
bers, a dividend, which we want to
divide by a divisor, to obtain a third
number, a quotient. In terms of grade
school long division:
Quotient
Divisor )Dividend
+ Remainder
The quotient (integer portion) is
simply the number of times the
divisor can be subtracted from the
dividend and still leave a positive re-
mainder.
The simplest computer program for
this calculation goes as follows:
• Put the dividend into register N.
• Put the divisor into register D.
• Clear a quotient register Q.
• Assign a remainder register R.
• Subtract D from N and put the
result in R.
• Test R.
• If R is positive, increment Q,
transfer R into N, and go back
to the subtract step.
• If R is negative, exit. Q is now
the (integer) quotient and N
contains the remainder.
There is nothing basically wrong with
this procedure, but it's not very
useful. If N is 1,000,000 and D is 2, it
will take 500,000 operations of the
program to get Q. If D is 797,236, the
program will quickly tell us the
answer is 1, with a remainder.
Let us check off the chief deficien-
cies. First, if the two numbers are
very different, the program will give
us an accurate answer, but will take a
long time doing it. Second, if the two
numbers are very close in value, the
program will be very quick, but not
very precise. Third, if D is larger than
N, zero is the only answer. Fourth, if
D happens to be zero, the program
will loop forever trying to get Q up to
infinity.
What we'd prefer is a quicker pro-
gram that gives us an answer correct
to at least as many places as the
significant digits of the numbers we
put in, regardless of the magnitude of
the numbers. But won't that take a
more complicated program and won't
a more complicated program take
longer to execute? A program
2,000,000 instructions long could be
quicker to execute than one which
loops through six instructions
500,000 times. And it certainly won't
take two million instructions to make
a quite thorough, precise, accurate
and quick division program.
To get speed and precision, start
out just as a previous generation was
taught in grade school, by juggling
the decimal points around (or binary
points if we are working in binary).
To put it another way, multiply the
divisor and dividend some number of
times by the base of the number
system (10 or 2, for example) until the
REGISTER
N (DIVIDEND)
D (DIVISOR)
R (REMAINDER)
Q (QUOTIENT)
INTEGER • FRACTION
Figure 1: Four registers for division, each with two words for integers and two for frac-
tions, except register Q which is double size. The registers are usually strung out serially
in adjacent memory locations, but it is convenient to think of them in block form as
shown.
220 August 1979 © BYTE Publications Inc
N
D
R
Q
0000 0000
0000
0000
0000
0000
nnOO
OOOd
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000 0000
Table 1: Starting arrangement of the registers for division. The dividend and divisor
have been loaded; all other registers are cleared.
dividend is only slightly larger than
the divisor. Note how many places it
is necessary to shift the numbers so
they are nearly equal. (In old-fash-
ioned long division, the divisor is
shifted until it is an integer, and the
dividend is shifted the same number
of times. The rest of the necessary
shifting is done by relocation of the
quotient with respect to a fixed loca-
tion for the decimal point.)
To start, set up an array of registers
large enough to hold the largest
numbers we want to deal with. The
quotient register is twice as large as
the others, since dividing a very small
fraction by a very large number pro-
duces a yet smaller fraction, and
dividing a very large number by a
small fraction gives an even larger
quotient. Then arbitrarily define
some point in each register as the
decimal or binary point. A conven-
ient place is between two memory
words, as shown in figure 1. Al-
though a more common technique is
to use only three registers (no R
register), using four is a little easier,
and you'll never notice the slightly in-
creased time required for putting R
into N after every successful subtrac-
tion. However, extra time is only
needed for BCD (binary coded deci-
mal) division. In binary arithmetic,
the extra time for an addition after
every unsuccessful subtraction
approximately balances the time
wasted in transfers.
The first operation is to load in the
numbers, being careful to locate them
in the proper position with respect to
the decimal point. If the dividend N is
nnOO, it will go into the word just to
the left of the point in N. If the divisor
is OOOd, it will go in the correspond-
ing word of register D. All other loca-
tions must be cleared to 0000, if not
already done. Table 1 shows our star-
ting arrangement. Because the pro-
gram is general purpose, and must be
able to operate with any kind of
numbers that can be fitted into its
registers, it can't "know" how big N
and D are. Its first job is to find out
their magnitudes so it can set them to
be nearly equal.
The easiest way to do this is to start
by shifting register D to the left and
insert zeros at the least significant
digit position of the fraction part of
the register until something pops up
at the most significant digit position
at the left of the integer part of the
register. In this operation we must set
a limit to the number of shifts allow-
ed, so when we have done 16 shifts
and still get nothing at the top of the
register, we can stop. Division by
zero is not allowed, of course, and the
computer has better things to do than
spend hours shifting empty registers.
Then do the same thing with register
N, shifting it left until its most signifi-
cant digit shows at the top of the
register. We can use the same counter
used for D to keep track of how many
shifts it takes, starting with the count
left over from counting D's shifts and
counting in the opposite direction.
Our final count will reflect the dif-
ference in magnitude between the two
numbers. That number is saved for
later. Again, with N, it is necessary to
set a limit to the count or we'll be
shifting forever if N happens to be
zero. The limit needn't be exact (it
can't be, because we don't know what
number we started with in the coun-
ter), but that's not critical. All that's
needed is something that will get us
out if the count starts looking like
infinity. A limit of -20 or +20,
depending on which way the count-
ing starts, is adequate. In the example
of table 1, the saved number is 3 (the
difference between the seven shifts it
took to get D to the top of the register
and the four shifts required for N).
Before starting subtraction, coun-
ting and shifting, a certain number of
MICROPROCESSOR
SOFTWARE ENGINEER
A leader in the rapidly growing field of medical diagnostic instru-
ments, Abbott Laboratories has produced major systems for clinical
chemistry, hematology, microbiology, and radioimmunoassay.
Our products include ABA/VP, the number two selling chemistry
analyzer... ADC-500, the top-performing automated white cell clas-
sifier... MS-11, the only fully-automated microbiology system. ..and
Logic/Auto-LOGIC, the top selling gamma counters for RIA.
A new product development group has an immediate opening for a Software Engi-
neer to design microprocessor systems for clinical instruments. Responsibilities
include developing systems specifications, defining software, writing and debugging
programs.
You will work closely with chemists and mechanical, optical and electrical engi-
neers on a dynamic product team which has developed innovative instruments for
medical diagnostics.
Experience must include at least 2 years of real time control applications using
Intel or Zilog products. Applicants should have designed and generated executive
and support software for microprocessor based system. A BS in EE or Computer
Science or equivalent experience is required.
Starting salary is highly competitive and commensurate with experience. If you
are interested in pursuing a career in this area, please send resume with salary
history in confidence to:
E. Marciano
Corporate Placement
NORTH CHICAGO, ILL. 60064
Abbott is an Affirmative Action Employer
August 1979 © BYTE Publications Inc 221
operations must be set. Since we
started with possible 16-position
numbers, 16 operations should give
16 position answers, which is what
we were looking for. We will be mov-
ing quotient digits into the Q register
at a point 15 places to the right of the
binary/decimal point. If the answer is
1, 16 shifts will put that first and only
digit of the answer just to the left of
the binary/decimal point in Q.
Now, with a starting count of 16,
and the D and N numbers in position,
subtract D from N and put the result
in R. Is R negative? (If binary coded
decimal notation is used D could be
larger than N, and R could therefore
be negative. If binary notation is
used, N must equal D, so R could not
in the specific example be negative;
but we test for it anyway.) If R is
negative, go immediately to the next
operation. If R is positive, transfer R
to N and increment Q. If working in
binary arithmetic, go to the next
operation at this point, since another
subtraction cannot be done. If work-
ing in binary coded decimal, how-
ever, N could be 9 and D could be 1,
and there are eight operations yet to
go. So for binary coded decimal, loop
back and keep on subtracting and
swapping R back into N until R is
finally negative, then stop. Don't
transfer R or increment Q, just get on
to the next operation.
At this point, the most significant
digit of the quotient is in the least
significant digit position of register
Q. Now shift D one position to the
right and shift Q one position left,
marking the end of one operation in
our operations counter. Keep
repeating the above process until all
16 shifts have been done. At this
point, the first Q digit is one position
to the left of the binary or decimal
point in Q. Now, go back and look at
the magnitude difference count ob-
tained at the start of the program. If it
is positive, shift Q to the left that
many times; if it is negative, shift Q
to the right that many times. (We
could have checked the magnitude
difference count when the operations
counter was set: if the magnitude dif-
Build The World's Most
Powerful 8-Bit Computer
Featuring The Famous Intel 8085!
Explorer/85™
Starting for just $129.95 you can now build
yourself a sophisticated, state-of-the-art
computer that can be expanded to a level
suitable for industrial, business and
commercial use. You learn as you go. . . in
small, easy-to-understand, inexpensive levels'
As featured in
POPULAR ELECTRONICS
EXPLORER/85 shown wilh Video Montor and Keyboard/Video Terminal
CHOICE OF HEX KEYPAD OR TERMINAL INPUT
II you plan to customize EXPLORER for dedicated use. we recommend lhal you order
hex keypad input. But. if you are planning to go whole hog and blow EXPLORER up
into a lull size, state-ol-lhe-art syslem with 8K or extended basrc (commg soon), up
1o 64K ol memory. Iloppy disks, telephone interlace, printers and all sorts ol S-100
plug-ins— you II be beller ollwilhlhe Keyboard/Video Terminal mpui The SI49 95
EXPLORER Keyboard/Video Terminal includes lull ASCII decoding wilh 128 ASCII
upper/lower case sel. 96 pnnlable characters, onboard regulators and selectable
display lormals— 32x16 lor tv sel or 64x16 lor video monitor (nol included)
EXPAND EXPLORER. LEVELBYLEVEL
Level "B", al S49 95. adds S-100 signals plus onboard RAM/ROM decoding
Includes all parls necessary lo generate the signals for S-100 bus accessories Just
add Iwo S- 1 00 bus connectors and you have a complete S-1 00 compa1il)le compuler
wilh a world of add-ons al your Imrjertips Choose from hundreds ol products to
EXPLORER/85 gives you 'big computer features immedialely. withoul lurning you satisly your individual needs Level "B krt also includes the address decoders lor
mlo an appliance operator, doomed lo run pre-developed soflware lor life Simply onboard RAM and ROM expansion, which are addressableanywhere in Ihe 65K lield
connect EXPLORER to a terminal video monitor or tv set and 8 voll power supply and Level "C ' expansion, at S39 95. expands the S-100 bus lo allow a lolal ol six
start running programs Ihe very lirsl night' Level A leaches you machine s- 100 cards to be plugged mlo EXPLORERS motherboard and contained m
language and compuler tundamenlals It lels you run exercise programs including EXPLORER'ssleelcabinet includes all hardware, mounting brackets board guides,
programs lo examine Ihe cpu registers, examine memory, till memory, move memory etc Jusladd Ihe number ol S-100 bus connecters you need
and make up games You can load and play back these programs on an ordinary tape L eue i --d" expansion, at S69 95, gives you 4K ol onboard slnlic RAM utilizing
cassette— and display your ellorls on any 1v screen video monitor or printer (S8 95 2114 iC's Your board will also accept lour 27i6 EPR0M s. which can be purchased
RF modulator required lor 1v use ) The simplified arcHMecture ol the miel 8085 separately You now have an advanced rnamlrame lhal can be customized wilh the
makes EXPLORER lar easier lo understand lhan computers using the older, more peripherals ol your choice to lit any (or all) specific requirements Each level of
complex but less powerlul 8080A Then when you re ready. EXPLORER can be EXPLORER is separately regulated lor ihe ultimate in stability Factory service is
expanded— by you— lo rival the power of any 6-bil computer on earth Or you can available from Netronics OrderyourEXPLORERloday!
customize it lo perform adedicated task, thanks 10 onboard ,_ _ _ — — — ORDER FROM THISCOUPON TODAY! — — — — 1
• Features Intel 8085 cpu/100% compatible with
8080 A software!
• Onboard S-100 bus (up to 6 slots)!
• Onboard RAM and ROM expansion!
• Built-in deluxe 2K Monitor/Operating ROM!
• Cassette/RS 232 or 20 maJ4-V2 8bit parallel
I/O and timer all on beginner's Level "A " system!
Netronics R&D Ltd., Dept BY-8, 333 Litchtield Road, New Millord. CT 06676
D Level "A" EXPLORER/85 kit (speedy □ ter-
I mmal or □ hex keypad input). Si 29 95 plus
■ S3 p&h
1 □ Power Supply kit. 5 amp. ±8 volt. S34 95
plus $2 p&h
prototyping. RAM and ROM expansion capabilities
LEVEL "A" SPECIFICATIONS
EXPLORER'S Level "A" system tealures an advanced Intel
8085 cpu. which is 50% taster lhan its 8080A prede-
cessor, yet 100% compatible wilh 8080A soltware
which, you'll discover, exists Dy the ton Big computer*
features include an 8355 ROM with 2K deluxe monitor/ ^u^^on
operating system which has two programmable 8-bn I rj im e i 8085 User s Manual. $7 50 ppd
bi-direcllonal parallel I/O ports, built-in cassette interlace n ASC „ Keyboard/Video Terminal kit. S149 95
with tape control circuitry lo allow label mg assetie files. | D lusS3D&h
and commands which include: "disp lay contenls ol * M . CMni . .,_
memory." run al user location (go to)'' "insert data.' | □ Hex Keypad kit for hex version. S69 95 plus
■■move contents ol memory. ' examine registers individ- * d P an ,, ..,„„.,« ,
ually or all ' lilt command (to Ml Ihe contents of memory I D Level "B S-100/Onboard RAM/ROM Decoder
with any variable), automatic baud rate selection, program- M (less S-100 connectors). S49 95 plus S2
mable characters per line display output tormat. and more 1 | P& n
An 8155 RAM— 1/0 chip contains 256 bytes ol RAM. Iwo □ Level "C" S-100 5-Card Expander kit (less
programmable 8-bn bi-direclional and one programmable I connectors). S39 95 plus S2 p&h
6-bit bi-directional 1/0 ports plus programmable 14-btl □ S-100 Bus Connectors(goid). S4 85each.
binary counter/timer, user interrupt and reset switches ' rj Levei rj- 4K onboard RAM kit S69 95 plus
Onboard expansion provisions exist for up to stx S-100 I $2 p&h
boards. 4K of RAM and 8K of ROM, PROM or EPR0M L___ -
D Deluxe Steel Cabinet lor EXPL0REH/85.
S39 95 plus S3 p&h
D Deluxe Steel Cabmel tor Keyboard/Video Ter-
minal. S19 95 plus S2 50 P&h
D RF Modulator kit. S8.95 Ppd
□ Total Enclosed (Conn res add lax) $
D VISA □ Master Charge Exp. Dale
Account # . _
PHONE ORDERS CALL (203) 354-9375
Print
City
. DEALER INQUIRIES INVITED.
ference was negative, set that many
fewer operations for the program. We
would not have added any positive
number, however; that would set up
a divide by zero for the 17th opera-
tion.) Register Q now has the correct
quotient.
We neglected the small problem of
loading the digits into the registers in
their proper positions, and didn't get
into fine detail on how a subtract or
shift operation might be performed in
a multiword register; however, the
general outline of the algorithm can
now be imagined, and that's half the
battle. And there are some details of
it that can help us along to the next
step.
When the numbers were shifted up
to the tops of their registers in the
earlier example, we were actually
going through the process of conver-
ting fixed point to floating point
numbers, by normalizing the digits,
with a saved exponent indicating how
far they'd been shifted. In that
specific example, we saved only the
difference in exponents, but this gave
us the information needed to create a
conventional notation number from
our floating point answer in Q.
Our next step is to establish a full
floating point format in order to
avoid the magnitude limitations for-
ced on us by fixed point data. Because
most processors are equipped with
binary coded decimal arithmetic aids,
there is no need to bother with binary
coded decimal to binary conversions
(and vice versa) when handling num-
bers input via the keyboard. Also,
battling with the attendant conver-
sion problems can be avoided (ie:
decimal fractions that can only be
approximated by binary fractions
and rounding operations which don't
come out the same in binary coded
decimal and binary).
In floating point format, every
number is stored as a string of digits,
with the most significant nonzero
digit at the top of the register and the
decimal point location saved in a
separate register. The programmer
can arbitrarily say that the imaginary
decimal point is anywhere in the
normalized string of digits as long as
the program is internally consistent.
For ease of output in standard scien-
tific notation, however, it's best to
say that the position of the decimal
point is immediately following the
222 August 1979 © BYTE Publications Inc
Circle 280 on inquiry card.
most significant digit in the register.
That is, the number stored is 1 or
greater and less than 10, and is to be
multiplied by 10 to the power indi-
cated to obtain conventional nota-
tion.
The number 6045.35 is stored as:
EXP NUMBER
03 604535
with the number in EXP indicating
how many places further to the right
of the first digit the decimal place
must be moved for conventional
notation. If EXP is 00, the number is
6.04535; if EXP is FD (—3 in hexa-
decimal form), the number is
.00604535. In addition to the number
and the base exponent, we also need
something to indicate the sign of the
number.
In binary operations, the most
significant bit of a number can be
considered the sign bit, providing a
single byte with the range of values
+ 127 to -128 decimal. Arithmetic
performed under this convention
gives consistent answers (except
under overflow conditions for which
most processors have detection cir-
cuits and warning flags). For binary
coded decimal, the topmost digit
position is the sign digit: for a
positive number, and 9 for a negative
number. Negative numbers are
generally handled in tens complement
form, obtained by subtracting the ab-
solute value from 999999999.... 9
and then adding 1 to the least signifi-
cant digit (this is the way many early
adding machines handled subtrac-
tion).
Without going into the detail of
how it got that way, simply assume
that all data in our division problem
will be available to us in tens comple-
SlGN
EXP 8 MS0 * n n n n
n n n LSD
° □□'[
]•□!
Figure 2: Register arrangement for floating
point binary coded decimal division. Note
that it is no longer necessary to provide a
double size register for Q. The imaginary
decimal point is located immediately
following the most significant digit.
ment form, in the format shown in
figure 2. The exponent could be in
binary coded decimal form (maxi-
mum values + and — 79, with the
most significant bit used as a sign bit),
but it's easier to keep it in binary
form, allowing a value range of + 127
to —128, limited by the program to
plus and minus 99. The format gives
nine significant digits, of which we
may elect to hold out two or three as
guard digits, and display only six or
seven, rounded off according to the
value of the guard digits.
There is one more complication in
our division routine: signs. The
operation we want to perform here is
repeated subtraction of absolute
values, not just the simple signed sub-
traction for which the tens comple-
ment form can give correct answers.
When dividing +956 by —3, we do
not want the remainder to become
larger and larger! So first of all, look
at the sign digits of the two numbers
(if a number is negative, the 9 at the
most significant digit position will set
the N bit of a condition code register,
just as for binary operations) and
determine the proper sign for the quo-
tient. Store this flag away for the
moment.
Next, if the dividend is negative,
use a tens complement routine to get
its absolute value, and put it back in
register N. We might also test it for
at this point, and do an early exit if
the answer is going to be 0. This
would be appropriate only if we had
already checked D, since D might
also be 0, and 0/0 would be an inde-
terminate value, not 0. So don't
bother with the zero check at this
point if register N is being processed
first.
What we do with register D
depends on the processor being used.
Some processors have decimal sub-
tract operations, or a binary coded
decimal adjust instruction which is
effective after a subtraction. In the
Motorola 6800, the DAA instruction
works properly only after an ADD
operation with register A (ADD A,
ADC A or ABA). For the 6800, then,
the subtraction function requires
8P2SM PARALLEL/SERIAL I/O BOARD
WITH MODEM
PARALLEL PORTS: h Ports, m total bi-dire< iion.il bitv
SERIAL PORTS:
AVAILABLE BAUD
RATES:
J Serial Ports with asso< i.iled < onlrol line
One Port TTL or RS-232.
One Port 111 or MODEM.
107.2
153.b
7(,.H
W4
19.2
%on
4H00
2400
kilobaud
kilobaud
kilobaud
kilobaud
kilobaud
baud
b,!LJ(l
baud
1760
1200
600
500
150
110
75
27.5
baud
baud
baud
baud
baud
b.iud
baud
baud
r
i
I
I
I
Please rush the following :
□ I/O Card (kit)
□ I/O Card (assembled)
MODEM:
BUS TYPE:
PRICE:
or any user supplied baud rates up to 500 kilobaud.
Full Duplex, answer or originate. 300 Baud
5-100
$149 (kit)
$199 (assembled
&
^
ind rested).
CA residents add 6%
MicroDaSys
P.O. Box 36051
Los Angeles, CA 90036
(213)935-4555
Circle 221 on inquiry card.
August 1979 © BYTE Publications Inc 223
register D to be in tens complement
negative form, so our subtraction can
be performed with an addition
instruction. For other processors, D
must be in absolute (positive) form if
a subtract instruction is to be used, or
in complemented form for an add
instruction, depending on what is
available in the machine.
So we do or don't run the data in
register D through a tens complement
operation depending on its present
form and the form required by our
division routine. While checking the
sign, we can also note if D is 0; if it is,
we set an error flag and exit. If D is
not 0, check here to see if N is 0, and
exit early if it is (assuming register Q
is already cleared), thus saving a little
processing time.
Next, look at the exponent data to
discover what the final exponent will
be. Subtract the D exponent from the
N exponent, but before storing it
away check for overflow (a carry into
the sign bit, effectively reversing the
sign from what it should be), or, if we
have set limits of + and — 99, check
for a number exceeding these limits. If
the magnitude of the answer is going
to be out of limits, we may choose to
reject the problem, set a warning flag,
or simply set Q to or 999999E99 to
indicate that the result is beyond the
capacity of the machine if the pro-
gram is simply a calculator program
without programmability or other
exotic features. For a scientific pro-
gram, this sort of thing could lead to
serious and probably undetectable
errors, and would never do. For an
interpreter program, the exponent
overflow should spring out to an
error message and halt the program.
If the exponent is within limits, store
it as the tentative exponent for Q,
subject to later adjustment.
Now, we're finally ready to divide.
We can skip the procedure done
earlier in running data up to the tops
of the registers. First, set up a count
of nine (the number of digits desired).
Subtract D from N, with binary
coded decimal adjustment as re-
quired, and store the difference in R.
If R is positive (checking byte 1 in R),
increment the least significant bit in
register Q (no need for binary coded
decimal adjustment here — the digit
will never exceed nine), transfer R to
N and repeat until R is finally
negative. Leave R alone this time and
do not increment Q. Shift Q one digit
(four bits) left, starting at the least
significant byte of the register and
shifting it one bit left, repeating the
process four times. Then shift D one
digit (four bits) right, starting at the
most significant byte of the register
and going through it four times. One
more operation must be remembered
when working with D in tens comple-
ment form and doing additions: the
sign digit of D must be extended back
to the top of the register. Do this by
adding 90 to the most significant byte
after we have completed the shifting
above. When we get down to the last
operation, register D should be all 9s
except for the least significant digit.
Before going back to the subtract
operation, step the operations
counter by one, and exit if the
counter indicates completion. When
the subtracting is done, check the
most significant digit of register Q. If
it is 0, the result of the first subtrac-
tion was no good and the initially
assigned exponent for Q was too
large. Under these circumstances we
shift Q one more digit to the left and
reduce the exponent that was calcu-
lated earlier by 1.
Now, everything is taken care of
except the sign. If we have a simple
calculator program, we can just look
at the sign flag stored away and either
do or don't output a minus sign,
followed by the register Q data in
absolute form. However, for most
applications, Q will have to be stored
away for future use in machine usable
form (as previously discussed in
figure 2), just as we got the N and D
data to start with.
So look at the sign flag. If it says Q
is negative, send Q through the tens
complement routine, then store the
result wherever it belongs. If Q is to
be positive, store it as is, with for a
sign digit. In either case, "park" the
exponent data next door, so it can be
retrieved along with Q's digits
whenever needed.
Well, we did it. A whole long divi-
sion program in binary coded
decimal, with a constant precision
answer. Of course, we haven't actual-
ly formatted the digits for output, or
converted our binary exponent to
signed ASCII, or decided whether to
output the number in conventional or
scientific notation (there really isn't
room on the average printer for 99
zeros). We also haven't figured out
how to use the exponent to locate the
decimal point in the printout of con-
ventional notation data. But these
things are incidental. Once past the
conceptual problem of the "engine" in
this dividing machine, the design of
the transmission, differential, seat
cushions and bumpers should be no
barrier to rapid progress in any direc-
tion that suits the user. ■
E,
c PET ANALOG INPUT
Analog to Digital Conversion System for the Commodore PET Computer
iYlTEMl ,
Give the F*ET the ability to sense*
»ure» and control the world around
it. with IiAM SYSTEMS modules. Just. r1u3
the PETSET1 into the PET to Set 16
channels of analog input. Screw
terminals are provided for each channel
so «=mdu can hook up Joysticks* pots, or
whatever appropriate sensors you have.
Each of the 16 analog inputs* in
the rande of to 5.12 volts* is
converted to a decimal number between O
and 235 < 20 millivolt, s per count.).
Conversion time is lOO microsconds.
In addition* the PETMOD provides
two IEEE ports and one user port as
well as a DAM SYSTEMS port..
Software is provided. A one line
program is all Lhat is necessary to
re&ii 3 channel .
ACCELERATION
HUUI01TY
LIGHT LEVEL
FLUID LEVEL
1-AIM161
1 - PETMOO
1- CABLE A24
1-MANM0D1
1- P0W1
PETSET1
16 ANALOG INPUTS -8 BITS-100 MICR0SEC
24 INCH INTERCONNECT CABLE
MANIFOLD MODULE -SCREW TERMINALS
FOR INPUTS, REFERENCE, GROUND
POWER MODULE
DISPLAY MODULE
f GP!B 1 f RS-232 1
I MOD J I. MOO J
VISA
ADD
PETSETia for 110 VAC $295
PETSETIe for 230 VAC $305
0rderdirec< or contact your local computer store.
CONNECTICUT microCOMPUTER , Inc.
150 POCONO ROAD
BROOKFIELD, CONNECTICUT 06804
TEL: (203) 775-9659 TWX: 710-456-0052
AND M/C ACCEPTED-SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER.
$3 PER ORDER FOR SHIPPING a HANDLING - FOREIGN ORDERS ADD 10% FOR AIR POSTAGE.
224 August 1979 © BYTE Publications Inc
Circle 78 on inquiry card.
What's New?
16 K Byte Dynamic Programmable
Memory Board
Called SupeRam, this S-100 bus com-
patible 64 K byte dynamic program-
mable memory board is available from
Alpha Micro, 17881 Skypark N, Irvine CA
92714. It is completely compatible with
the 16 bit Alpha AM-100 processor.
SupeRam is a high density program-
mable memory board capable of storing
up to 64 K bytes of data on a single
board. Completely S-100 bus compati-
ble, it utilizes 16 K byte dynamic pro-
grammable memories to achieve maxi-
mum bit density, minimum power dissi-
pation, and optimum cost and perfor-
mance ratio.
Refresh requirements are satisfied on
the SupeRam board without support
from the processor and are therefore
transparent to the user. Exact and
reliable internal timings are generated
on board using digital delay line tech-
niques. Memory is addressable as in-
dependent 16 K byte blocks, providing
maximum capability with existing Alpha
Micro Systems.
Circle 559 on inquiry card.
New Software for Computalker
Speech Synthesizer
Computalker Consultants, designers
and developers of the Computalker CT-1
Speech Synthesizer (a device that
enables a computer to speak) has an-
nounced the availability of the new Soft-
ware Package II. Designed to expand the
range of applications of the Compu-
talker CT-1, Software Package II con-
tains: CTEDIT, a new parameter editor;
CSEDIT, an editor for the CSR1 input;
CTEST, a CT-1 hardware diagnostic;
PLAYDATA, to hear the data files; MEM-
VOICE, a vocal memory dumper; KEY-
PLAY, a subroutine to play letters and
digits; and PIANO, a simple musical
keyboard.
Software Package II is written in 8080
assembly language and includes the
source code. It is priced at $45 and is
available on CP/M format 8 inch floppy
disk; North Star and Micropolis disks;
Tarbell, CUTS, MITS ACR cassette for-
mats; and paper tape. For further infor-
mation, contact Computalker Consul-
tants, 1730 21st St, Suite A, Santa
Monica CA 90404.
Circle 560 on inquiry ca'rd.
Z-80 Assembler Package
ZASSEMBL is a package of software
designed for development of Z-80
assembly language programs.
ZASSEMBL is written in North Star
BASIC with critical routines imple-
mented in Z-80 machine code. Zilog sug-
gested mnemonics are used exclusively
for all 696 standard Z-80 instructions.
The package consists of three BASIC
programs:
Editor enters and edits source
text
Assembler one pass file oriented
assembler with back-
patching of forward re-
ferences. Inserts ASCII
hexadecimal represen-
tation of the op code
into the source code
Loader generates binary exe-
cutable code and loads
it into either program-
mable memory or a file
The minimum hardware requirements in-
clude a Z-80 processor, 32 K bytes of pro-
grammable memory, one 5 inch floppy
disk drive with a controller, interactive
terminal, and optional printer as an out-
put device.
The package is priced at $35 which in-
cludes 5 inch floppy disk, a manual with
full program listing in BASIC, and Z-80
commented assembler. For further infor-
mation, contact Nemco Data Processing,
9 Walnut St, Rutherford NJ 07070.
Circle 561 on inquiry card.
Programming the 6502
Programming
the 6502 by
Rodney Zaks is
an educational
text designed to
teach program-
ming from the
ground up. It will
show the reader
both the advan-
tages and disad-
vantages of us-
ing the 6502. The
knowledge of pro-
gramming gained
with this book may be applied to other
microprocessors. Structured from simple
to complex, this 310 page text may be
used by the person who has never pro-
grammed as well as by programmers
wishing to familiarize themselves with
the 6502. The book is priced at $10.95
and is available from Sybex, 2020 Milvia
St, Berkeley CA 94704.
Circle 562 on inquiry card.
64 K Byte Programmable
Memory Card
This 64 K byte programmable memory
card will reduce system card count by
using only one S-100 card slot. It uses the
same power as the standard 16 K byte
programmable memory card, thus lower-
ing power requirements. Buffered signal
lines mean less loading on buses.
Memory is expandable in 16 K byte in-
crements up to 64 K bytes and memory
may be disabled in 256 byte blocks for
read only memory programs. The fast
cycle time of the new 16 by 1 dynamic
programmable memory means no wait
states are needed for reads, writes or
refreshing. The memory card handles
refresh. For more information, contact
Microcosm Inc, 534 W 9460 S, Sandy UT
84070.
Circle 563 on inquiry card.
Attention Readers and
Vendors. . .
Where Do New Products Items
Come From?
77? a in form at ion printed in the
new products pages of BYTE is
obtained from "new product" or
"press release" copy sent by the
promoters of new products. If in
our judgment the information
might be of interest to the per-
sona! computing experimenters
and homebrewers who read
BYTE, we print it in some form.
We openly solicit releases and
photos from manufacturers and
suppliers to this marketplace. The
information is printed more or
less as a first in first out queue,
subject to occasional priority
modifications. While we would
not knowingly print untrue or
inaccurate data, or data from
unreliable companies, our capa-
city to evaluate the products
and companies appearing in the
"What's New?" feature is neces-
sarily limited. W~e therefore can-
not be responsible for product
quality or company performance.
August 1979 © BYTE Publications Inc 225
The
I
TO ORDER CALL TOLL FREE 800-223-7318
«e« PET BUSINESS SYSTEM
PET 2001 -16/32K
The PET is now a truly sophisticated Business System with the
announcement of the Floppy Disk and Printer. This is an ideal
business system for most professional and specialized fields:
medicine, law. dental, research, engineering, toolmaking.
printing, education, energy conservation, etc. . . .
The PET Business System as a management tool, delivers
information to all levels of Business, previously attainableonly
with equipment many times more expensive. The PET
Business System is one of the most cost efficient business
tools today. Here are just a few of the cost-saving uses in the
corporation, professional office or small business: stock
control, purchasing, forecasting, manufacturing costing,
customer records, mailing lists, etc. . . .
Features Include:
• 16 or 32K bytes RAM user memory
• 14K ROM operating system including a machine
language monitor
• Full-sized Business Keyboard
■ Upper/Lower case and 64 graphics characters
• 9-inch CRT
• 8K ROM expansion sockets
■ File management in operating system
16K- $995,
32K - $1295
DUAL DRIVE FLOPPY DISK 2040
The Dual Drive Floppy is the latest in Disk technology with
extremely large storage capability and excellent file
management. As the Commodore disk is an "intelligent"
peripheral, it uses none of the RAM (user) memory of the PET.
The Floppy Disk operating system used with the PET computer
enables a program to read or write data in the background
while simultaneously transferring data over the IEEE to the
PET. The Floppy Disk is a reliable low cost unit and is
convenient for high speed data transfer.
Due to the latest technological advances incorporated in this
Model 2040A Single Disk Unit - $895
disk, a total of 360K bytes are available in the twostandard 574-
inch disks, without the problems of double tracking or double
density. This is achieved by the use of two microprocessors
and fifteen memory IC's built into the disk unit.
Features Include:
• 360K bytes storage • 4K encoder and decoder in ROM
• 6504 microprocessor-controlled • 4K RAM
• 8K operating system in ROM • Uses single or double sided floppies
TRACTOR FEED PRINTER 2022
(Next day delivery available.)
MODEL 2022
The Tractor Feed Printer is a high specification printer that can
print onto paper (multiple copies) all the PET characters -
letters (upper and lower case), numbers and graphics available
in the PET. The tractor feed capability has the advantage of
accepting mailing labels, using standard preprinted forms
(customized), check printing for salaries, payables, etc.
The PET is programmable, allowing the printer to format print
for: width, decimal position, leading and trailing zero's, left
margin justified, lines per page, etc. It accepts 8y 2 -inch paper
giving up to four copies.
Features Include:
• 150 cps • 6504 microprocessor-controlled • y 2 K RAM buffer
• Bottom and rear tractor feed • 4K operating system in ROM
Model 2023 (Friction Feed) - $849
CABLE FROM PET TO DISK OR PRINTER - $39
CABLE FROM PRINTER TO DISK - $49
FULL SYSTEM NOW IN STOCK FOR IMMEDIATE DELIVERY!
SUPER WORD PROCESSING SYSTEM
$2395 complete
with software *'
System Includes: • Anderson Jacobson 841 Selectric Prime
• 16K PET with Full Sized Keyboard • Interface
The Super V
Assembly Ls
for such tasl
performance printers with incremental and proportional letter
spacing. The Super Word Processor easily creates, edits,
rearranges, and formats text. It can merge multiple texts. In
lands, the system has automatic text
i mates the need for carriage returns.
The system uses a holding buffer to rearrange blocks
BUSINESS SOFTWARE FOR
PET BUSINESS SYSTEM
• Super Word Processing Package
(disk & tape versions)
• Real Estate
• Statistics
• Banking &. Finance
• Mail List Management
• Data Base System
anywhere on the page. Up and down screen scrolling makes
editing a breeze! Commands include end-to-end cursor line
SCAN, INDENT, TAB, soft HYPHEN) for splitting syllables at
the end of a line, ( and four-direction cursor control. Output
formatting includes dynamic print control, Indentation, right
justification, line width and line-to-line spacing and
proportional letterspacing.
Also included are programming capabilities for performing
such useful tasks as direct-mail form-letter typing, multiple
column printing, and automatic multiple forms entry. You may
obtain this system in a cassette or disk drive version.
• Small Business Package
(A/R. A/P, G/L)
• General Ledger
• Super Random Access
• Cash Receipts &
Disbursements
• Inventory Control
(for manufacturers)
PERIPHERALS FOR PET
• 24K,Memory Expansion
• 16K Memory Expansion
• PET to RS232 Serial
• 2 Way Serial/Communication ,
Min Credit Card
Order $75
VISA 9
N.Y. residents add 8% sales tax • Same day
shipment on prepaid and credit card orders
• Add $5 shipping for computers. $3 for
boards. $.25 each cassette tape.
Open Mon-Fri 10-6 Sat 10-4
alog to Digital Board .
16 Devices
PET MUSIC BOX
Add music and sound effects
to your programs. Compose,
play, and hear music on your PET.
Completely self-contained
(no wiring). Free 3 programs
including; Star Wars theme,
sound effects, etc. S39
iNEWhrcn
Eventide
AUDIO
SPECTRUM
ANALYZER
• Mounts inside the PET
• Third-Octave
audio spective analysis
• Complete with software
and documentation
• Replaces equipment costing
thousands of dollars
MARK SENSE CARD
READER $750
• Automatic turn-on and card feed|
• Ideal for marking test scores
• Accepts any length card
• Perfect for schools & business^
TO ORDER CALL TOLL FREE 800-223-7318 (46thSt)
TIlA fVMWIDI ITCD CAf^Tf^DV 485 Lexington' Avenue 750 Third Avenue New York. N.Y, 10017
I lit; K^KJiVirU I Cn TMV* I V/n I (212) 687-5OOI (212) PET-2001 Foreign order desk - Telex 640055
226 BYTE August 1979
I
SUPRBRAIN
TM
INTE3TEC
DATA
SYSTEMS
ONLY
$2995
TO ORDER CALL TOLL FREE 800-223-7318
only $795
• 14K ROM Operating system
• 8K RAM Memory
• 9" Video Monitor
• Built in Keyboard
• Digitally controlled tape
More than an intelligent terminal, the SuperBrain outperforms many other
systems costing three to five times as much. Endowed with a hefty amount of
available software (BASIC, FORTRAN, COBOL), the SuperBrain is ready to
take on your toughest assignment. You name itl General Ledger, Accounts
Receivable, Payroll. Inventory or Word Processing. . .the SuperBrain handles
all of them with ease.
Your operators will praise the SuperBrain's good looks. A full ASCII keyboard
with a numeric keypad and function keys. A non-glare, dynamically focused,
twelve inch screen. All in an attractive desktop unit weighing less than a
standard office typewriter. Sophisticated users will acclaim SuperBrain's twin
Z-80 processors which transfer data to the screen at 38 kilobaud! Interfacing a
printer or modem is no problem using SuperBrain's RS-232C communications
port.
Features Include:
• two dual-density minifloppies with 320K bytes of disk storage
• 64K of RAM to handle even the most sophisticated programs
• a CP/M Disk Operating System with a high-powered text editor,
assembler and debugger.
APPLE II PLUS ONLY$1 1 95
A cumplete self-contained computer system with APPLESOFT floating point
BASIC in ROM, full ASC 1 1 keyboard in a light weight molded carrying case.
Features Include:
• auto-start ROM • Hi-Res graphics and 15 color video output.
• Expandable to 48K.
Disk $595
Add-on Disk 495
Pascal Card 495
Business Software 625
Monitor 149
Printer Card. 180
Programmer's Aid 50
Speechlab 229
Lightpen 250
Communication Card 225
Modem 200
EPROM Programmer 100
SALE!
W8SS8
S35 of Software with purchase of any
computer on this page
Send for FREE Illustrated Software
Catalog for PET/APPLE/TRS-80
with hundreds of selections from
all over the world.
$1495 Complete!
16K Model add $200
32K Model add $500
Compucdorll
COMPUCOLOR II Disk-Base^ Mnrioi -\
Advanced hardware and soft
gives you:
• 13" Color Display
• Advanced Color Graphics
• 51K Disk Built-in
• 16K ROM Operating System
» 8K RAM User Memory
• 4K RAM Refresh
• 80B0A Microcomputer
• RS-232 I/O
Every unit comes with an extended DISK-
BASIC that has full Hie management capa
bility resident in the COMPUCOLOR II m
16K of ROM. Color is fantastic, but COM-
PUCOLOR II has the power to handle con
plex tasks and small business applications
An impressive software library supplement
BUSINESS
COMPUTER
IMSAI
The low cost solution
for all small business
problems A wide variety
ol software is
available lor all your needs
PCS series include dual floppies, 32K RAM
I O, DOS. BASIC
• PCS-42 (400KB) $3295
• PCS-44 (780KB) $3995
VDP-42 series adds video terminal, key-
board and VIO to above
PET
^SPECIAL SPECIAL
$200 FREE Software with^^l
purchase of 8K PET >* |
BUSINESS COMPUTER
><
/
DATA GENERAL
micro NOVA
The ultimate in small business computers
when matched with COMPUTER FAC-
TORY'S minicomputer; Software Accounts
hie/Payable, Inventory Control/
' Data Lieneicll 0rd8r Emrv ' General Ledger. Payroll Sys
terns from about <t
$13,500
• VDP-42
• VDP 80
$4995
$7995
• VDP-44
• VDP 180
$5595
$8995
SUPER SOFTWARE
Word
Processing
For PET
This super advanced full function program will allow
you to create text from PET or terminal keyboard. [
• INSERT • DELETE • CENTER • UNDERLINE • |
FULL SCREEN EDITING • MOVE LINES OR
BLOCKS • SAVE TEXT ON TAPE • AUTO PRINT [
FEATURE.. ..$45
This fantastic program disk allows the statistician,
Moving mathematician, trader in stocks, money or
Average commodities, the ability to maintain 30 database
Plot series of up to 300 values and plot3differentmoving
Program averages of a series at the same time, in 3 different
FOR colors. Files can be updated, deleted, changed,
APPLE extended, etc.
A sure value disk at only $40!
Word Processing For Apple on disk... $50
SORCERER
SPECIAL
12" Video Monito
for SORCERER
($299 value)
ONLY
$125 with 8K unit
95 with 16K unit
65 with 32K unit
RADIO SHACK • PET • SORCERER •
lAPPLE • COMPUCOLOR • ETC.
PRINTERS • PRINTERS • PRINTERS
The COMPUTER FACTORY'S extensive CENTRONICS 779. . . . $1095
inventory and wide selection of computer TRENDCOM ... 375
printers assures you of finding the printer INTEGRAL DATA .... 795
best suited for your needs and QUME or DIABLO .... 3400
specifications. The following printers work COMPRINT 560
well with all known personal computers
ANDERSON JAC0BS0N
„NOW
• ASC 1 1 Code
• 15 cps Printoul I
• High Quality Selective Printing
• Use Keyboarfl lor PET
• Reliable heavy duly Mechanism
• Completely Refurbished by A.J.
• Service in 15 Ma| f Cit
STOCK'|
Parallel -
$1095
Serial
$1195
Open
I Min Credit Card VISA* y\ on _ Fri
Order $75 I ,'_:■ -.■■'> X iq-6
NY residents add 8°/ D sales tax • Same day c a | 1 fl-d.
shipment on prepaid and credit card orders ^ a *- ■ U" 4 *
• Add S5 shipping for computers, S3 for
boards. S 25 each cassette tape
NEW
CENTRONICS 730
SO CPS - MICROPROCESSOR
CONTROLLED!
Tractor & Friction Feed • Uses
Single Sheets, Roll, Fanfold • Upper
& Lower Case • Light Weight
Parallel $995
Serial $1045 < -££\t a
oU!
,o<*
Atf
TO ORDER CALL TjOLL FREE 800-223-7318 [m
f\Wk IQI ITCD CAf^TTT\DV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017
KJlVlfr U I EH "My I V/rl I (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055
BYTE August 1979 227
What's New?
PERIPHERALS
Video Board Features High Density and Reverse Video
A higher density version of the
Flashwriter Video Board, featuring op-
tionally controlled reverse video, has
been announced by Vector Graphic lnc (
31364 Via Colinas, Westlake Village CA
91361. Displaying 80 characters by 24
lines, the Flashwriter II uses an 8 by 10
dot matrix to produce crisp, sharp reso-
lution for 1920 character positions in a
2048 byte memory block. In addition to
normal video, reverse video is optionally
controlled by the higher order bit of the
character code. As many as 256 char-
acters can be generated by 2708/2716
erasable read only memories which may
be user-programmed for special symbols
or graphic displays.
The Flashwriter II allows rapid up-
dating of the screen via memory mapped
I/O (input/output). Special circuitry
prevents flashes on the screen when up-
dating memory, and a keyboard port
with latched data provides easy inter-
face to Vector Graphic's Mindless Ter-
minal or other parallel keyboards.
The Flashwriter II is priced at $320
assembled.
Circle526 on inquiry card.
Low Cost Alphanumeric Printers
These two compact, light weight, 5 by
8 dot matrix printers are being offered by
^
American Micro Products Inc, 6550
Tarnef, Houston TX 77074. The 12
column PL12 at $59.95 and the 20
column PL20 at $99.95 provide quiet
economical hard copy output. A general
specification manual, art work for a
printed circuit board (available only with
the PL20), parts lists, flow chart, and
schematics describing the 8 bit parallel
interface (Centronics type] are included
with each printer. In addition, the
microprocessor control device and the
printed circuit board (PL20 only] are
available as options. These elements of
the interface are priced at $99.95 and
$29.95, respectively.
Circle 527 on inquiry card.
FCC Approved Data Modem and
Communications Adapter v
This S-1 00 bus compatible data
modem and communications adapter,
designated the MM-103, has been ap-
proved by the Federal Communica-
tions Commission (FCC) for direct con-
nection to the public switched tele-
phone network without the use of a
DAA (CBS or CBT). Under software
control, it can originate and answer
calls automatically. It can also dial
the telephone automatically.
In addition to normal digital com-
munications capabilities, the MM-103
provides auxiliary inputs and outputs
that will interface with computer sys-
tem power-up control (on telephone
ring or external input); voice recorder
announcement equipment; and alarm
recognition and automatic dial equip-
ment.
The modem is available fully as-
sembled for $319.95 which includes
an unconditional ten day return privi-
lege and a one year limited warranty.
For further information contact Poto-
mac Micro-Magic Inc, POB 11149,
Alexandria VA 22312.
Circle 528 on inquiry card.
New Family of RS-232
Switching Units
A new family of low cost miniature
switching units has been introduced by
Giltronix Inc, 3156 Avalon, Palo Alto
CA 94306. The family, called RS232-X,
switches serial RS-232 peripherals be-
tween several driving sources. Model
RS232-X3 allows three driving sources.
By turning the three position switch
mounted on the RS232-X3, the user can
select the driving device that will ex-
change data with the peripheral unit. A
unique arrangement allows the cas-
cading of two or more RS232-X switches,
thereby expanding the selection from
three devices to five or more. Model
RS232-XF is similar to the RS232-X3, but
switches additional signals. Both come
with 25 pin female connectors. The price
of the RS232-X3 is $64.95 assembled, and
$47.95 in kit form. The RS232-XF is
$78.95 assembled, and $59.95 in kit form.
Circle 529 on inquiry card.
TRS-80 Speech Synthesizer from
Computalker
Computalker Consultants, developer
of the Computalker CT-1 Speech Syn-
thesizer, has announced the availability
of the Model CT-1T, a speech synthesizer
adapted specifically for the Radio Shack
TRS-80 microcomputer equipped with
Level II BASIC and a minimum of 16 K
bytes of programmable memory (32 K
bytes recommended). The Model CT-1T
Speech Synthesizer is a completely self-
contained unit with its own AC power
supply. The interface circuit board con-
tains an on board 2 W audio amplifier, an
S-100 connector for the CT-1 speech syn-
thesizer board, and a Radio Shack com-
patible edge connector. An interconnect
cable (supplied with the Model CT-1T)
connects the unit to the TRS-80 bus con-
nector on either the keyboard or expan-
sion interface. Standard phone jacks pro-
vide connections for external speakers,
headphones or external amplifier (not
provided).
The Model CT-1T can be operated in
two modes: direct parameter control and
phonetic, and it is supported by a grow-
ing library of software. Each unit is ship-
ped with a hardware user manual, basic
set of software consisting of CTEDIT
Parameter Data Editor and speech
parameter data files Hello, Letters and
Digits, and the Computalker CSR1
Synthesizer-by-Rule Software program.
All software is available in a choice of 5
inch disk or standard cassette.
The CT-1T is priced at $595. A special
unit is available for persons who already
own a Model CT-1 and is priced at $225.
For further information, contact Com-
putalker Consultants, 1730 21st St, Suite
A, Santa Monica CA 90404.
Circle 530 on inquiry card.
228 August 1.979 © BYTE Publications Inc
ITHACA AUDIO
THE OEM MARKETPLACE
Assembled and Tested
Added at Ithaca Audio
Field-proven
reliable engineering
Over 15,000 boards worldwide prove Ithaca
Audio provides the quality and reliability you
demand.
Ithaca Audio Boards are fully S-100 com-
patible, featuring gold edge connectors and
plated-through holes. All boards (except the
Protoboard) have fully buffered data and
address lines, DIP switch addressing, solder
mask and parts legend.
• Z-80 CPU Board still the most power-
ful 8 bit central processor available. Featuring
power-on-jump, provision for on-board 2708.
Accepts most 8080 software.
A&T 4 mHz $205.00
A&T 2 mHz $175.00
Blank PC $ 35.00
• Disk Controller Board controls up
to 4 single or double sided drives. Supported
by a host of reliable software packages:
K2 FDOS, Pascal, Basic and complete diag-
nostics.
A&T $175.00
Blank PC $ 35.00
• K2 FDOS Disk software in the DEC
tradition. Includes character oriented text
editor (TED), File Package (PIP), Debugger
(HDT), Assembler (ASMBLE), HEXBIN, 1
COPY, System Generator (SYSGEN) and
more. Command syntax follows Digital's
OS-8/RT-11 format. First in a family of high
level software. Basic and Pascal available
now. Soon-to-be-released Fortran.
K2 Disk $ 75.00
• Video Display Board features the
full 128 upper/lower case ASC^I character
set. Easy-to-read 16 line x 64 character
format can be displayed on an inexpensive
video monitor or modified TV set. Includes
TTY software. Add our powerful K2 FDOS to
create a versatile operator's console.
A&T $145.00
Blank PC $ 25.00
• 8K Static RAM Board High speed
static memory at a reasonable cost per bit.
Includes memory protect/unprotect and
selectable wait states.
A&T 250 ns $195.00
A&T 450 ns $165.00
Blank PC $ 25.00
• 2708/2716 EPROM Board mdis-
pensable for storing dedicated programs and
often used software. Accept up to 16K of
2708's or 32K of 271 6's.
A&T (less EPROMs) $ 95.00
Blank PC $25.00
2708 EPROMs $ 11.00
Circle 191 on inquiry card.
The leading manufacturer of blank S-100
boards is adding a new wrinkle— nowall their
boards are available assembled and tested.
"This is a natural progression for the com-
pany" according to Mr. James Watson,
President. "Actually we've been supplying
assembled and tested for some time to our
volume customers and OEM's, particularly
those overseas. Our production staff is now
fully up to speed, so just about everything is
available from stock." The company sched-
uled 6 months to phase in assembled and
tested to allow time to build base inventories,
before offering the boards to the public. "We
feel this is quite important. A lot of companies
have earned themselves a bad name in this
business by announcing products they can't
really deliver. We simply won't do that." Mr.
Watson further explained that Ithaca Audio
intends to remain leader in blank boards and
expects to release a minimum of 6 new
designs by August, which will be offered both
blank and assembled and tested.
Memory Prices
Tumble
Ithaca Audio first to break
1$/Byte Barrier
By cutting prices for 32K of RAM to $319
Ithaca Audio becomes the first computer
vendor ever to offer high speed memory for
less than a penny a byte. Commenting on the
announcement, Steve Edelman, Director of
Engineering said "Just a few years ago
people were wishing for a penny a bit, and
even now memory for most large computers
costs about 2C/byte and that's only in 1
Megabyte chunks." In fact it's the relative
modest capacity of the 32K board that makes
it so interesting. Users need not buy the full
64Kto take advantage of the lowpriceperbit.
Furthermore, the board is available both as a
kit and assembled and tested.
Delivery is stock to two weeks. Pricing is:
• 32K kit $319
• 32K A&T $359
• 64K kit $645
• 64K A&T $695
8" Disk Drives
Shugart compatible Memorex 550's are in
stock.
Single and double density compatible, 330K
bytes capacity with our controller or use your
own.
Either way $456
• Protoboard Universal wire-wrap board
for developing custom circuitry. Room for
three regulators. Accepts any size DIP
socket.
Blank PC $ 25.00
Pascal/Z Ready
The first Pascal Compiler for the Z80, and the
fastest Z80 Pascal ever is now ready. Over
one year in development, Ithaca Audio was
obviously pleased with the results. "We really
have outperformed them" states Jeff
Moskow, Director of Software Engineering,
beaming over the recently released bench-
marks, in which Pascal/Z averaged better
than five times the speed of a recent P-code
implementation.
"Pseudo-code means a vendor only has to
supply one compiler to lots of people using
lots of different machines, and that makes his
life very easy, but it also means users' pro-
grams execute significantly slower. There-
fore, we chose to write a native compiler that
delivers fast re-entrant ROMable code, with
no need for an intermediate language and
interpreter. That's where our speed comes
from." As a matter of fact, Pascal/Z is often
twenty times as fast as UCSD's implementa-
tion and may well be faster than dedicated
Pascal machines such as the recently
announced Western Digital Pascal Micro-
engine.™ Unlike the Microengine, Pascal/Z
does not require any new special CPU
hardware and has the added benefit of com-
patibility with existing Z80 software.
Operational requirements of Pascal/Z are
the Ithaca Audio K2 Operating system and
48K of memory during compiles. The output
is standard Z80 Macrocode which is linked
and run through the Ithaca Audio Macro-
assembler. Binary files may be as small as
2.5K, or even less if the full library is not used.
The compiler, including the Macroassembler,
is available on an 8" K2 floppy disk. Price
including full documentation is $175.00. The
Macroassembler is available separately for
$50.00. Delivery is from stock.
More Software:
For those that don't require the speed of a
compiler like Pascal/Z, Ithaca Audio also
offers the convenience of BASIC. BASIC/Z,
an extended version of TDL's Super Basic,
runs in slightly over 1 2K and is supplied on an
8" K2 disk for $75.00.
SAVE Even More -
When you buy your software as a package
K2 and Pascal/Z $225
SAVE $25
K2, Pascal/Z and Basic/Z $275
SAVE $50
HOW TO ORDER
Send check or money order, include $2.00 shipping per order.
N.Y.S. Residents include tax.
For technical assistance call or write to:
ITHACA
AUDIO
P.O. Box 91
Ithaca, New York 14850
Phone: 607/257-0190
BYTE August 1979 229
CASSETTE AND FLOPPY
DISC LABELS.
□
»e!i-tdhnsNe
STANDARD CASSETTE
Avery offers a complete line of labels for
cassettes and floppy discs — all with re-
movable adhesive. Including these stan-
dard sizes*
Cassette Label (1%" x 3 1 /2") #5250
Floppy Disc Label (W x 5 1 /2") #5252
Write for more information and free
samples to:
Avery Label
777 East Foothill Blvd.
Azusa, CA 91702
Avery Label
An Avery International Company
Circle 20 on inquiry card.
"CRT INTERFACES"
Mack m white/color
Monitors * Combination Rcvr /monitor sets
* Modulator kits * B-W Cameras * Color
Cameras * Audio Subcarrier kits * Parts
WRI^E or PHONE for DETAILS & PRICING.
DIAL: 402-987-3771 F-
Dealers welcomed. Well established program.
13-B ATV Research Sl ko l a „5iP'
Broadway y ^L^M NE - 6BT3 '
Circle 19 on inquiry card.
GLARE FILTER
HIGH CONTRAST
SHARP RESOLUTION
MICRO-POROUS OPTICAL FILTER
FOR HOME COMPUTER CRT'S
No Filter
TRSBO
16.95
PET
16.95
A0M3A
16.95
Soroc 10 120
16.95
Hazeltine
Southwest Tech.
16.95
14001500
16.95
Micro-Term
Pel kin Elmer .
16.95
ActV
16.95
Easily Installed • Instructions Included
For information on other models
dial (415) 456-8909
SUN-FLEX COMPANY, INC.
3020 Kerner Blvd. • San Rafael, CA 94901
Check/money order Visa/Mastercharge
cc
.<
L
THE
RECREATIONAL
PROGRAMMER
\
QUALITY SOFTWARE!
Tl & HP Programmables
BASIC (or most computers
LU
Q_
O
00
cc
GAMES- ALGORITHMS- PUZZLES
STOCK ANALYSIS- AND MORE!
OVER 30 PAGES BIMONTHLY!
ANNUAL SUBSCRIPTION ONLY:
$12 within USA & APO/FPO's
$24 Foreign by AIRMAIL
Single issue for S3 incl P&H
VISA and MASTERCHARGE OK!
CALL (616) 343-3546 NOW!
Box 2571 Kalamazoo Ml 49003
HAZE LTINE
1400
only
$649.95!
• Verbatim Mini Diskettes . . .
... $3.70 each {boxes of 1 0)
• Intertube . . $784.00
• TRS-80 16K Level II
Expansion Kit $89.95
• Centronics 779 tractor ....
$1050.00
• Horizon II ass. ... $ 1 999.00
Ma' 1 TORA SYSTEM INC.
Order 2 9-02 23rd Avenue
° nly - Astoria NY 11105
(212)932-3533
AIRCRAFT SIMULATOR
FOR APPLE II
PROGRAMMERS
SOFTWARE EXCHANGE
Three versions on cassette for $19.95
1. Presents the pilot with a flying situation
which must be successfully completed to
avoid a crash.
2. Presents a simulated instrument panel during
an IFR flight for prolonged practice.
3. Provides machine code for building flight
problems and displaying them on the screen.
Satisfaction guaranteed!
P.O. BOX 199 (501)843-6037
CABOT, ARKANSAS 72023
SINGLE BOARD COMPUTER
$99.50*
with 6800 MPU, 6850 serial I/O, 2
6820 parallel I/O (32 lines), 512 RAM,
socket for 2708, 2716, EROM. Inter-
face modules for industrial control,
data acquisition, lab instrumentation,
on 44 pin 4Vfe"*6W PCB's. RAM,
ROM, CMOS RAM/battery, A/D.D/A,
Driver/Sensor, Serial I/O, Parallel
I/O, Counter/Timer, IEEE 488 GPIB,
floppy controller.
'OEM (500 piece) price
iH w «™l Corp.
902 N. 9th Street
Lafayette, IN 47904
Phone (317) 742-6802
Circle 389 on inquiry card.
L
• APPLE )
SUPER SALE
16K Apple II $1019.95
Disk with
Controller $529.95
Apple Soft Cards. . .$159.95
Carrying Case $29.95
Super Mod $29.95
Printers— call for price
UCATAN CORP.
P.O. Box 1000
Destin, Fla. 32541
904-837-2022
Credit Cards Accepted ■
Circle 375 on inquiry card.
SOFTWARE
for TRS-BO & North Star Z80
all programs written in
Z80 assembler
WORD PROCESSOR $1 25
Superior to the Electric Pencil at half the price.
Gives total freedom of layout. Auto line justi-
fication, underlining, centering, linespacing,
pagination, re-pagination, etc. Works with any
printer.
B04B CROSS ASSEMBLER $95
Assembles programs for B04B. 8041. B035
series at 1 1 00 lines/min. INTEL mneumonics &
error codes, multiple source files, symbol re-
ference count, format control.
TEXT EDITOR £75
UNIX™-style editor with global search & re-
place, pattern matching, reads & writes partial
files, change, move, copy, append, delete, print,
etc.
UNIX™ is a trademark of Bell Labs
Send 51 for specifications.
S3 for documentation
Dealer discounts available
SOFTWARE INGENUITY
P.O. Box 1964, Eugene, OR 97401
Circle 356 on inquiry card.
Circle 315 on inquiry card.
Circle 333 on inquiry card.
Computer
Boards
h HOBBY WORLD®
CALL TOLL FREE: (800) 423-5387
CA, HI, AK: (213) 886-9200
Your No.l Source for Computer Electronics
SlOO Bus
CCS = California Computer S>ilerr
WMC = Wameco
IA Ithaca Audio
SSM= Solid Stale Music
SDS = SD Systems
SPL = Spfechlab
HUH = HUH Electronics
MH = Mountain Hardware
a At assembled & tested
Cat No. Mfr/Mode! Description
■ 16K. STATIC RAM MODULE, 450ns kit
1601A CCS-MXVI
1601B CCS-MXVI
1602A CCS-MXVI
1602B CCS-MXVI
* CCS-MXVI
CCS-PT1
CCS-PT2
CCS-PT3
SSM-PB1
SSM-T1
SSM-MB7
SSM-MB7
SSM-MB7
1603
1600
1604
1609
1440
1442
1405
1406
1407
1425
1426
1436
1437
1429
1430
1431
1414
1415
1416
1408
1409
1410
■ 1432
1411
1412
1413
1403
1441
1404
1417
1418
1419
1400
1401
1402
1433
1434
1435
1438
1439
1420
1422
1424
1324
1325
1322
1323
1337
SSM-MB3
SSM-MB9
SSM-MB9
SSM-OB1
SSM-OB1
SSM-OB1
SSM-J02
SSM-102
SSM-102
SSM-SB1
SSM-SB1
SSM-SB1
SSM-MT1
SSM-104
SSM-104
SSM-104
SSM-CB1
SSM-CB1
SSM-CB1
SSM-VB1B
SSM-VB1B
SSM-VB1B
SSM-MB6B
.M-MB6B
1M-MB6B
as above. 200ns kit
as above, 450ns a&t
as above, 200ns a&t
as above, bareboard
WIREWrtAP PROTOTYPING BOARD
SOLDERTAIL PROTOTYPING BOARD
ETCH PROTOTYPING BOARD
4K/8K EPROM BOARD
TERMINATOR BOARD
16K STATIC RAM BOARD, kit
as above, a&t
as above, bareboard
2K/4K EPROM BOARD, kil
as above, a&t
4K STATIC PROM/RAM BOARD, kit
as above, a&t
Price
$285
$330
$330
$375
ni\
i«
$135
$ 29
$329
$383
$ 26
$ 54
$108
$ 64
>118
VECTOR JUMP/PROTOTYPING CARD, kit $47
as above, a&t
as above, bareboard
UNIVERSAL I/O BOARD, kil
as above, a&t
as above, bareboard
MUSIC SYNTHESIZER, kil
as above .i&t
js j have, b.uc'mard
15 SLOT MOTHfcKBOARD, bareboard
2 PARALLEL + 2 SERIAL PORTS, k.t
1509
1510
1511
1513
1512
1514
1500
1501
1505
1506
1518
1520
1516
1517-0
1517-16K
1517-32K
1517-48K
1517-64K
as above, u «... uu «.
8080A CPU BOARD, kit
as above, bareboard
as above, a&t
VIDEO INTERFACE BOARD, kit
as above, a&t
as above, bareboard
8K STATIC RAM BOARD, kil
as above, a&t
_ as above, bareboard
SSM-MB8A 16K 2708 EPROM BOARD, kil
SSM-MB8A as above, a&t
SSM-MBISA as above, bareboard
SSM-VB2 VIDEO BOARD, kil
SSM-VB2 as above, a&t
SSM-MB4 STATIC RAM BOARD, kil, 2MHz
SSM-MB4 as above, a&t
SSM-MB4 as above, bareboard
WMC-EPM1 4K EPROM BOARD, bareboard
WMC EPM2 16/32K EPROM BOARD, bareboard
VVMC-FPB1 FRONT PANEL BOARD, bareboard
WMC-CPU1 8080A CPU BOARD, bareboard
WMC-FDC1 FLOPPY DISK CONTROLLER BOARD,
bareboard
WMC-MEM18K STATIC RAM KIT, bareboard
WMC-MEMlparfs only for above
5708/1 6 JEPROM BOARD, bareboard
IA
IA
IA
IA
HUH-MPA
HUH-MPA
MH
MH
SPL-20S
SPL-50S
SDS
SDS
SDS
SDS
SDS
SDS
APPLE BUS
1607 CCS
1606 CCS
1608 CCS
1519 SPL
8K STATIC RAM, bareboard
Z-80A CPU BOARD, bareboard
WIRE WRAP PROTOTYPING BOARD
PET & APPLE TO S-100 ADAPTER, kit
as above, a&t
100,000 DAY CLOCK, a&t
INTROL
32 WORD SPEECHLAB, a&t
64 WORD SPEECHLAB, a&t
VERSAFLOPPY, kit
EXPANDORAM, kil
as above, with 16K RAM
as above, with 32K RAM
as above, with 48K RAM
as above, with 64K RAM
SOLDERTAIL PROTOTYPING BOARD
WIREWRAP PROTOTYPING BOARD
ETCH PROTOTYPING BOARD
32 WORD SPEECHLAB
$ 74
$ 26
$ 48
$ 93
$ 26
$145
$212
$ " '
$
$139
$193
$ 26 |
$119 I
$ 34 I
$164 I
$129 |
$176
$ 26
$129
$183 |
$ 26
$ r~
$118
$ 26
$139
$199
$ 89
$142
$ 26
$ 28
$ 28
$ 48
$ 28 |
$ 48
$ 28
$ 80
$ 28
$ 28
$ 32
$ 24
$199
$279
$219
$329
$189
$299
$159 I
$185
$249
$330
$425
$500
$ 21
$ 21
$ 18
$189
HUH 8100
|TRS-80k>S100 BusAtaptorl
• 6 Slot motherboard
Includes options such as
serial RS232/20ma I/O,
parallel input and output,
space for 4K or 16K RAM,
and more. Basic unit in-
cludes Bus interface and
connectors only.
1460 Bus interface kit $167
Ram Support kit $ 42
I/O Option kit $ 77
5 connectors + guides $ 42
Complete Package $266
Bus Interface a&t $220
Complete Pkg. a&t $340
Cat No
Cat No
Cat No
Cat No
Cat No.
Cat No. 1465
Cat No. 1466
1461
1462
1463
1464
*ti&
¥&
<*'
^^
LOW PROFILE BASE
Cat No. PV305
$^9 $10.50
BASE TRAY
Cat No. PV312
$ p& $ 8.50
BASE MOUNTING CLAMP
Cat No. PV311
$j3<9t $10.00
HORIZONTAL VISE HEAD
Cat No. PV304
$1>rf9 $12.00
IC Sockets
Penny-A-Pin
» Texas Instruments
• Solder tail
» Package quantities only |
Order by Cat No. 1117 and
pins
8 pin 20 for $1.60
14 pin 10 for $1.40
16 pin 10 for $1.60
18 pin 8 for $1.44
20 pin 8 for $1.60
22 pin 8 for $1.76
24 pin 3 for .72
28 pin 3 for .84
40 pin 2 for .80
TRS80
I Level III Basic
Loads on top of Level II,
turns your TRS-80 into a
powerful system. Gives disk
commands without the
DOS. Solves loading prob-
lems, cures keyboard
bounce. Software cassette,
with the power of a hard-
ware modification. Guaran-
teed satisfaction.
Cat No. 1 32 $49.00
$49
Moltage
Regulators
I Type Equal to CASE PRICE I
I7805KLM340K + 5
J7812KLM340K + 12
|7815KLM340K-f 15
17818KLM340K + 18
I 7805 T LM340T + 5
J7812T LM340T + 12
I7815T LM340T+15
|7818TLM34oT + 18
I7905KLM320K-5
7912KLM430K-12
■ 7905T LM320T-5
■ 7912TLM320T-12
I7915T LM320T-15
TO-3 $1.40 1
TOO $1.40 1
TO-3 $1.40 1
TO-3 $1.40 1
TO-220 .95 I
TO-220 .95 I
TO-220 .95 1
TO-220 .95 I
TO-3 $1.75 1
TO-3 $1.75 1
TO-220 $1.25 I
TO-220 $1.25 1
TO-220 $1.25 I
19355 Business Center Dr. 6B8
NorthridgeGf 91324
STANDARD BASE
Cat No. PV300
$>eK^9 $10.50
VACUUM BASE
Cat No. PV380
$1^9 $14.50
WIDE OPENING
VISE HEAD
Cat No. PV366
$j>><5 $11.25
STANDARD VISE HEAD
Cat No. PV303
$}*$$ $11.25
PC BOARD VISES ,
Cat No- PV315 Standard. $1>$8 $14.75
Cat No. PV315 S-100 $fcjf $16.75
TRS232
Printer Serial
Interface $42
Software driven RS232 out-
put port. Interface printers
such as DIABLO, TELE-
TYPE, Tl SILENT, etc.
Easy to install, with inst-
ructions.
Cat No. 1199 $42.00
TTL'S
i irdei by
16K Memory
>4c!d-On
$95
• For TRS-80, Apple II
Guaranteed memory expan-
sion! Includes everything
you need. ..chips, jumpers,
and step by step instruc-
tions. No special tools, no
soldering!
Cal No. 1156
"LIFT-IT-
PC Duplicating Kit
$25
Copy PC patterns
magazines quickly
"--sal
from
and eas-
ily! No additional materials
required, no camera needed.
With 10x12" sheet of film.
We stock all refills. With
step-by-step instructions.
Cal No. 1203 $25
LEEDEX
12" Video /Monitor
$139
• TRS-80 compatible
[no interfacing required)
• High resolution
Accepts standard composite
video input, no RF modu-
lator necessary. Stable &
sharp. Lightweight. Ship-
ping $6 gnd, $12 air, USA
only.
Cat No. 1204 $139.00
Pay by check, COD, Visa,
or Mastercharge. Order by
phone or mail. Please in-
clude phone number and
magazine issue you are or-
derinR from. USA: add $2
7400
.15
7402
.20
7403
.20
7404
.20
7405
.20
7406
.30
7407
.30
7408
.20
7409
.20
7410
.20
7411
.25
7412
.25
7413
.35
7414
.60
7416
.25
7417
.25
7420
.20
7423
.25
7425
.25
7426
.25
7427
.25
7430
.25
7432
.25
7437
.25
7438
.43
7440
.20
7441
.70
7442
.50
7443
.50
7444
.25
7445
.75
7446
.75
7447
.65
7450
.20
7451
.20
7453
UO
7454
.20
7470
.30
7472
.25
7473
.35
7474
.35
7475
.45
7476
.35
7481
1.20
7483
.60
7485
.75
7486
.35
7489
1.75
type number
7490 .45
7491
7492
7493
7495
7496
74107
74109
74121
74122
74123
74126
74132
74141
74145
74150
74151
74153
74154 roo
74155 .70
74157 <60
74160 §5
74161 .75
74163 .75
74165 .95.
.55
.45
.45
.65
.65
.35
.55
.35
.40
.60
.40
.65
.80
.65
.90
60
60
74166 1.25
74170 1.60
74173 1.10
74174 .85
.70
74175
74176
74177
74180
74181 1.75
74190 1.25
74191 .95
.75
.65
74192
74193
74194
74195
.75
.75
.90
.70
74198 1.49
74221 85
74365
74366
74367
74368
.65
.65
.65
.65
Send for
FREE CATALOG
Featuring
The best selection of computer
accessories add-ons, factory
fresh IC's, led's, semi's, soft-
ware, PC aids, prototyping
aids, books, test equipment,
and more! Always updated!
Dozens of new products every
for shipping/handling, $3
for air. Foreign: add $3 for
surface, 56 for air. COD's
also add $1. Guaranteed
satisfaction for 120 days or
your money back!
Circle 170 on inquiry card.
BYTE August 1979 231
IN CALIFORNIA
d®iMra sum
Mainframes
Personal Computers
S100 Bus Boards
Systems
Software
Peripherals
Supplies
Books
Magazines
701 MacArthur Blvd
SAN LEANDRO, CA
(415) 569-4174
Circle 70 on inquiry card.
Come Help Us
Celebrate The Child
St. Jude Children's Research
Hospital continues its search for
life-saving knowledge about
catastrophic childhood disease.
And this search continues
because people core. There's
no charge to patients or their
families, once admitted to its
research studies by physician
referral. The cost of drugs,
equipment, and research
programs is met primarily
by public contributions. Help
us celebrate the child by send-
ing your tax-deductible check
or request for further informa-
tion to St. Jude Children's
>_ m Research Hospital,
* mT 539 Lone Ave.,
A? Memphis, TN 38105.
ST.JUOS CHILDREN'S HESEARCH HOSPITAL
ROBOT
ATTENTION FRANKENSTEINS
12-VOLTDC, 17-RPM,
REVERSIBLE GEARMOTORS
500-ma NO LOAD,
750-ma FULL LOAD
11 INCH-POUNDS TORQUE
2 MOTORS SEPARATELY DRIV-
ING 6-INCH DIAMETER WHEELS
WILL DRIVE A 1 00-LB ROBOT.
$18.00* EACH PLUS $1.50 PER
MOTOR FOR SHIPPING AND
HANDLING IN USA. CHECK OR
MONEY ORDER PLEASE. CALIFOR-
NIA RESIDENTS ADD 6% TAX.
GLEDHILL ELECTRONICS
P.O. BOX 1644
MARYSVILLE, CA 95901
•THIS IS $5.50 BELOW MANUFACTURER'S UST!
FOR TRS-80™ OWNERS !
Programming Amateur's Letter
THE "DO-IT-YOURSELF"
SOFTWARE NEWSLETTER
PUBLISHED MONTHLY
LEVEL II FROM THE BOTTOM UP
BUSINESS
PERSONAL
HOBBY
There's Nothing Else Like it!
$24 per year . . . or write for FREE DETAILS
THE MAIL MART
Dept BA.Box 1 1 102,SanFrancisco,CA94101
Circle 199 on inquiry card.
fiuss
ll?e Jn dependent
YeivsleHer of
Heaty Co. Computers
31?-31fenns^ vania Awe. ,S.E.
Ufos)?!n^toin,?.C. 20003
ft 2.30 for 12 issues
j 15.60 for 1H issues
(overseas, $10. 50 /H- y
$ 70/24
payable on a U.$. bank)
Circle 32 on inquiry card.
ALIGNMENT
ONLY
$ 35
SHUGART
E
FLOPPY
A
DISC
R
$ 80
INCLUDES MISC. PARTS
THfc
COMPUTER
REPAIR Cm.
8746 Wurzbach / Suite 207
San Antonio TX 78240 / (512) 696-0907
Sad
MICRO FOOTBALL
(TRS-80 16K Level II Cassette)
Great graphics and player action!
You can run, pass, draw, punt,
blitz or kick a field goal.
Touchdown, safety, interception,
fumble are all included.
You can call an offense, your op-
ponent calls a defense! Instruc-
tions are included to 'fine tune'
odds if you wish.
(Send $12.95 to:)
GLA Enterprises
P.O. Box 125
Reistertown, MD 21136
(Maryland residents include sales tax)
Circle 145 on inquiry card.
Special Sale!
DATA TERMINAL t«)AA
PRINTER 05J «9
We Buy-Sell-Trade all brands &
models of Data Processing
Equipment.
USB-330 10/30 CPS impact
Printing Tractor Feed 132 Print Positions
tO-Key Pad
Nearly a million dollars In inventory
* * Phone for Price Quotes
Ull" 214/357-5725
"KALHRO
computer brokers
Formerly U S Brokers Co . A Division of Kalbro Corp
2636 WALNUT HILL LANE, SUITE 347
DALLAS, TEXAS 75229
••••••••••••••
Circle 377 on inqu
ry card.
get your
hands on . . .
Hands on microprocessor short course with
FREE take home microcomputer included in
the$449tuition.
5 dayjtiPand interfacing workshops
Oct. 15-19 Washington, DC
Oct. 22-26 Lafayette, IN
Dec. 3-7 Lafayette, IN
NEW Advanced programming work-
shop
Dec. 10-14 Lafayette, IN
Learn microprocessor* first hand from the
original hands on people.
For more information call Jerilyn Williams,
(317) 742-6802 or writeWintek Corp., 902 North
9th Street, Lafayette. IN 47904
■ 6800 Hardware/Software
■ Custom Hardware/Software
■ In-house short courses
| WIN IKK
Corp.
Circle 146 on inquiry card.
Circle 390 on inquiry card.
computer
products, inc.
11542-1 KNOTT STREET
GARDEN GROVE. CALIFORNIA 92641
(714)891-2663
MICROBYTEZ80/I-O
• A complete single board Z60A
CPU and serlal/paralle I/O system
• Fully S-100 Bus compatible,
IMSAI, ALTAIR
• ZBOA CPU (4.MHz version of the
Z80)
• 158 Instructions — superset of
and upward compatible from the
8080's 78 instructions
• Provision for up to 4K on board
monitor program using 1K (2708),
2K (2716), 4K 2732
• On board EPROM can be hard-
ware and/or software deselected
• 2 MHz or 4 MHz operation is
switch selectable
• or 1 wait state for all cycles is
switch selectable
• 2 RS-232C serial ports with 8251
USARTs
• Serial baud rates switch
selectable
■ 24 programmable parallel I/O
lines (uses 8255)
1 Gold Contacts for higher relia-
bility
1 Power requirements: +8V @
800mA, + 16V, @ 86mA, - 16V
@ 100mA
• Operating temperature 0*-55*C
• Will operate with or without
IMSAI/ALTAIR front panel
» Low power shottky tri-state buf-
fers on all address and data lines
' Fully warranted for 120 days from
date of shipment
$325.°'
IMSAI CONN.
100 PIN-SOLDERTAIL
GOLD CONTACTS
$3.°° each or 10/2.60 each
8251
PROGRAMMABLE/U-ART
TESTED® 4 MHZ
$5. 00 each
TRS-80
Floppy disk drive with
cabinet & pwr. supply
compatible with Radio
Shack Interface. Ass-
embled & tested with
1 yr. warranty on
parts & labor.
Mfg. by Lobo Drive
$385. 00 "
Interface Cable Available
SPECIAL
.1 @ 12 VOLTS
CERAMICCAP
10$ each
or
100 /$9. 00
MICROBYTE 16K STATIC RAM BOARD
Fully S100 Bus Compatible,
IMSAI, SOL, ALTAIR, ALPHA
MICRO
Uses National's Low Power 5257
4K x 1 Static Rams
2 MHz or 4 MHz operation
On board single 5 amp regulator
Thermally designed heat sink
(board operating temperature 0'
- 70'C)
Inputs fully low power Shottky
Schmitt Trigger buffered on all
address and data lines
Phantom is Jumper selectable to
pin 67
Each 4K bank addressable to any
4K slot with In a 64K boundary.
4K hardware or software select-
able
Selectable port address
4K banks can be selected or dis-
abled on power on clear or reset
Will operate with or without front
panel
• Compatible with ALPHA MICRO,
with extended memory manage-
ment for selection beyond 64K
No DMA restriction
Low power consumption 1.3 amp
Fully warranted for 120 days from
date of shipment
Extended addressing up to 1
megabyte of addressable ram
450 NS $320.°o
300 NS $340.00
MICROBYTE 32K STATIC RAM BOARD
• Fully S100 Bus Compatible,
IMSAI, SOL, ALTAIR. ALPHA
MICRO
• Uses National's Low Power 5257
4K x 1 Static Rams
• 2 MHz or 4 MHz operation
• On board single 5 amp regulator
■ Thermally designed heat sink
(board operating temperature 0*
- 70'C)
• Inputs fully low power Shottky
Schmitt Trigger buffered on all
address and data lines
• Phantom Is jumper selectable to
pin 67
• Each 4K bank addressable to any
4K slot with in a 64K boundary.
• 4K hardware or software select-
able
• One on board 8-bit output port
enables or disables the 32K in 4K
blocks
• Selectable port address
• 4K banks can be selected or dis-
abled on power on clear or reset
• Will operate with or without front
panel
Compatible with ALPHA MICRO,
with extended memory manage-
ment for selection beyond 64K
No DMA restriction
» Low power consumption 2.3 —
2.5 amps
1 Fully warranted for 120 days from
date of shipment.
Extended addressing up to 1
megabyte of addressable ram
450 NS $620. 00
300NS$650. 00
MICROBYTE MOTHERBOARD
• Extra wide ground plane
■ Silk screen and solder mask
• Assembled and tested
» Active Diode termination
• Slot for IMSAI front panel
» Terminal block connection for
easy hook-up
9 slot kit $70. 00 A&T$100. 00
20 slot kit$125. 00 A&T$155. 00
Bare Board 9 slot $30. 00 20 slot $50. 00
MICROBYTE DISK CONTROLLER
'IBM 3740 Soft Sectored 'Compat-
ible
■ Z80 or 8080 compatible on S-100
Bus
• Single density runs both mini and
full size drives, runs CPM, on
Shugart, Persci, Memorex etc.
• Selectable port/address
• On board 2708/2716 for bootstrap
or monitor program
» No hardware jumpers, uses plug
in modules for different drives
• Uses 1771 B-01 controller chip
• Assembled and tested
• Specify disk drive used when
ordering by mail
$225.'
SHUGART
801 -Disk Drive
WITH CABINET & POWER SUPPLY
ASSEMBLED & TESTED
1 YR PARTS & LABOR
Mfg. by Lobo Drive
$585. 00
Dual Cabinet & Drives Available
2708's
LOW POWER
450 NS.
$8. 75 each
8for$66. 00
SHUGART
SA400
DISK DRIVE INCLUDES CABINET, NO PWR
SUPPLY, CUTOUTS FOR SWITCH, FUSE, &
INTERFACE CABLE
Mfg. by Loho Drive
2716
5 VOLT ONLY
LOW POWER
450 ns
$325.
00
$40,
00
SCANBE/RN
SOCKETS - LO PROFILE
(tin)
1-24 25-99 100-499 500 up
REGULATORS
14 PIN
.16
.15
.14
.12
16 PIN
.17
.16
.15
.14
18 PIN
.20
.19
.18
.16
20 PIN
.29
.28
.26
.25
24 PIN
.34
.32
.30
.28
40 PIN
.60
.58
.56
.52
320 T 5
320 T- 12
340 T5
340T-12
78H05
1-9 10-49 50ud
1.25 1.15 1.05
1.00 .90 .85
.70
.70
.75
.75
.65
.65
6.00 5.70 5.40
NEW PRODUCTS
8086 — CPU BOARD
8088 — CPU BOARD
Double Density Controller
CALL OR WRITE
FOR DEALER INFO
CABLE
ASSEMBLY
for 8" disk drives
(2) 50 PIN CARD-
EDGE CONNECTORS
ON 4ft. RIBBON
CABLE
$20. 00 ea.
extra conn. $7. 00 ea.
ORDERING INFORMATION:
Name, Address, Phone
Ship by: UPS or P.P.
Shipping Charge: Add $2.50 up to
5 lbs., all excess shipping
charges will be refunded. Credit
cards will be charged appropriate
freight.
TERMS:
We accept cash, check, money
orders, Visa, and Master Charge
cards. (U.S. Funds Only).
COD's: on approval only
Open Acct's: companies may
inquire for net terms.
Tax: add 6% for Calif, residents only
Circle 11 on inquiry card.
BYTE August 1979 233
TRS-80 USERS
Loweco Computer Introduces 3 Diskless
TRS-80 Programs
- Telephone/ Address/Mailing list pro-
gram - sorts by name or zip code.
Retrieves telephone ff from name and visa
versa. 'Access time is under 2 seconds,
over 100 listings, Level II <16K - $30.00
- Checkbook program - hard electronic
copy, easily accessible. 170 listings, Level
II 16K - $30.00
- Mandalas for the Cybernectic Age I & II
- amazing graphic programs, better than
TV - lasts hours without repeating or com-
mercials. 2 sets of four interweaving
designs, Level I or II 4K RAM - $30.00
- Introductory offer - all 3 for $75.00
LOWECO COMPUTOR
1803 Rodney
LOS ANGELES CA 90027
213-660-7530
6% Tax in California
Cashier Check Speeds Delivery
Radio /haelf o E * LE »
MICRO
MANAGEMENT
SYSTEMS
Up To 15% Discount
on
TRS-80's
MICRO-COMPUTER SPECIALIST
LARRY OWENS
COMPUTER CENTER
MINI MALL
DOWNTOWN SHOPPING CENTER
CAIRO, GEORGIA 31 72B
912-377-7120
A/D
• S-100 Bus Compatible A/D
Converter
• 1 2 Bit Accuracy
• 16 Channel Analog Input
• Programmable Gain Amplifier
with Sample-and-Hold
• High Quality Commercial/
Industrial Construction
2 and 4 Channel, 12 Bit D/A
Boards also available.
CALIFORNIA DATA
CORPORATION
3475 Old Cone jo Road, Suite C10
Newbury Park, California 91320
(805) 498-3651
Circle 207 on inquiry card.
Circle 41 on inquiry card.
KIM SOFTWARE
9K MICROSOFT BASIC
Includes:
• Over 55 Commands
• Full String Handling
• 9 Digit Precision
• Hypertape Built-in
• 70 Page Manual
SPECIAL
INCLUDES "DATA/SAVE"
(added commands to record
both programs and data!)
KIM CASSETTE & MANUAL
$100.00 prepaid
UPDATE KIT & MANUAL FOR KIM BASIC
WITHOUT MICROZ FEATURES . . . $35.00
MICRO-Z COMPANY
Box 2426
Rolling Hills, CA 90274
APPLE X
RESET KEY
PROTECTOR
FAST RELIEF for the
ACCIDENTAL RESET BLUES '
* Prevents reset when reaching
for - and return
* Allows deliberate usage
* Custom, precision molded
part * Easily installed
* Original equipment look
only S2.25- ihcl. shtp.&hndl.
(calif, res. add 6 tax)
send check or mon. order to:
pkC, inc. dept. B
2003 Quail St.. N.B. CA 92660
1
1112000
system
^
k^m^
The best choice
in mainframes !
• S100 CARD FRAME ■ AXIAL BLOWER
■ 22MHi 12" CRT MONITOR • ASSEMBLED & TESTED
■ 18 AMP POWER SUPf'LY • READY FOR YOUR CARDS
• UPPER & LOWER CASE • S995.O0
ASCII KEY BOARDS
VER r A 1 TRACTIVE OEM. ANO
DEALER OlSCOUtiTS AVAILABL E.
•CM INFINITE INCORPORATED
CclcbrttlmK Our Illti Year.
819 E. STRAWBRIDGE, MELBOURNE. FL 32901 - (3051 724-1588
Circle 234 on inquiry card.
Circle 299 on inquiry card.
Circle 174 on inquiry card.
nnnnnnnnnr^
E
E
BYTEs New
Toll-free
Subscriber
W.A.T.S. Line
{800)258-5485
To further improve service to
our customers we have installed
a toll-free WATS line in our
Peterborough, New Hampshire
office. If you would\like to order
a subscription to BYtE, or if you
have a question related; to a BYTE
subscription, you are, invited to
call (800) 258-5485|between \
8:30 AM and 4:30 PJVl Eastern /
Time. This applies to calls from
within the continental US only.
We thank you arid look
forward to serving you.
16K RAMS & RAM CONTROLLERS
16k x 1 DYNAMIC RAM MK4116P3
• 200 NSEC ACCESSI375 NSEC CYCLE TIMES
• 16 PIN CERAMIC DEVICE/TTL COMPATIBLE
• ALL CHIPS BURNED IN 8 125°C AND FULLY TESTED.
BOTH DYNAMICALLY AND STATICALLY
• PRICE (WITH DATA SHEET):
• S68.00 IN OTY OF 8/THAT'S $8.50 EACH
DYNAMIC MEMORY CONTROLLER MC3480L
• GENERATES RAS/CAS & REFRESH TIMING FOR 16K
TO 64K BYTE MEMORIES
• PRICE (WITH DATA SHEET): $13.95 EACH
MEMORY ADDRESS MUX/COUNTER MC3242AP
• MUX ADDRESS & REFRESH COUNTER FOR 16K TO
64K BYTE MEMORIES
• PRICE (WITH DATA SHEET): $12.50 EACH
QUANTITY DISCOUNTS AVAILABLE
ALL ORDERS POSTPAID. U.S. FUNDS ON INTERNATIONAL
ORDERS. CHECK OR MONEY ORDER. VISA/BAfMC ALSO AC-
CEPTEO. SEND ACCT. NO., EXPIRATION DATE, & INTERBANK
NO. WITH SIGNED ORDER. CALIF. RESIDENTS PLEASE ADO
6% SALES TAX. PHONE ORDERS: 1714] 633 4460.
MEASUREMENT SYSTEMS & CONTROLS, INC.
MEMORY DEVICES DIVISION
867 NORTH MAIN ST., ORANGE. CA 92668
6800 MICROPROCESSOR PARTS
(Brand New Limited Quantities)
M6800 CPU $8.95
M6821 PIA $4.95
M6810 RAM. . .'. $4.95
2708 EPROM (8K) $9.95
2716 EPROM (16K). . . .$24.95
Complete 6800 computer board
kit with M6800, M6821, M6810,
2708 EPROM, p.c. board, and
power supply ready for oper-
ation on 115 VAC with full
instructions (with 2716 EPROM,
add $10.00) $49.95
ODS INC.
P.O. BOX 2346
Gaithersburg, MD 20760
Circle 217 on inquiry card.
Circle 286 on inquiry card.
t ^-computer
^/Products
*A&
/RAM boards.
itfF*
S-100 32K (uses 21 14)
ASSEMBLED Kit 6 \ l h
450ns. 599.00 450ns. 539.95
250ns. 699.95 250ns. 599.95
Bare Board 49.95*
Bare Board w/all parts less mem. 99.95
S-100 16K (uses 21 14) KIT (exp. to 32K)
ASSEMBLED 450ns. 279.00
450ns. 325.00 250ns - 299.00
250ns. 375.00
Bare Board 49.95
LOGOS i 8K
ASSEMBLED
450 ns. 169.95 KIT 450ns. 125.95
250ns. 189.95 250ns. 149.95
Bare PC Board w/Data S21 .95
Now over 1 year successful field experience
"Special Offer" Buy (4) 8 K 450ns. Kits S 1 1 7.00
mm
FLOPPY DISK DRIVES
1. VISTA V-80 MINIDISK
FOR TRS-80
• 23% More Storage
Capacity- 40Tracks
• Faster Drive - f X
Up to 8 Times Faster (395.00 I
2 Drive Cable Add $29.95 V J
4 Drive Cable Add S39.95 N y
2. VISTA V-200 MINI-FLOPPY SYSTEM
• 204K Byte Capacity • w/CPM, Basic "E'
• One Single Sided. ^-— » v
Double Density Drive /v-200
• One Double Density 1699.00
Controller w/Case & P.S.
Add to your EXIDY,
HORIZON, etc.
3. VISTA V-1 000 FLOPPY DISK SYSTEM
• (2)Shugart 800-R 8" Floppy Disks
• Controller Card, Cable, >*"—*«v
Case & P.S. /VMOOOA
• CPM & Basic "E", H 699.0OJ
InstructionsS Manual ^^_-^
4. MPI B51-5V4". 40 tracks 279.00
5. Shugart SA400-5W\ 35 tracks .... 295.00
6. Siemens/GSI FDD1 00-8 8". ..... 375.00
7. Shugart 800/801 R 8" 495.00
8. PERSCI Model 277 Dual 1 195.00
EXPANDORAM MEMORY KITS
• Bank Selectable • Uses 4 1 1 5 or 4 1 1 6
200 ns.
• Write Protect • Power 8 VDC. ±1 6VDC
• Phantom • Lowest Cost/Bit
Expando 32 Kit (41 1 5) Expandoj>4 Kit (4 1 1 6)
8K S 179.00 16K S248.95
16K S229.00 32K S369.00
24K S299.00 48K S469.00
32K S349.00 64K S565.00
IMS STATIC RAM BOARDS #&
•k Memory Mapping ■*■ Low Power 5*
• Phantom • Assembled & tested
Recommended by Alphamicrosystems
250 ns^ 450 ns.
8K Static S209.00 ~S 189.00
16K Static S449.00 S399.00
32K Static S799.00 S699.00
ANADEX PRINTER
Model DP-8000 compact, impact, parallel or
serial. Sprocket feed, 80 cols,
84 lines/min., bi-directional.
New only S895.00
4&
VERBATIM™ DISKETTES
• 5%" Minidiskettes • JJfltf
Softsector. 1 Sector, 16 Sector -^OV
S4.25 Each, 10/39.95 rt0^<
• 8" Standard Floppy Disks • TctfS"
Soft Sector, Hard Sector v w
S4.50Each, 10/41.95
•Add 4.95 for 10 Pack in Deluxe Disk Holdei
MOTOROLA EXORCISER COMPATIBLE
9600 MPU Module w/6802 CPU $495.00
9601 16 Slot Mother Board 1 75.00
9602 Card Cage (19" Retma R ack Moun t) . . . 75.00
9603 6 Slot Mothe r Board 1 00.00
9604SwitchmodeSystem Power-Supply ... 250.00
961 Utility Prototyping Board 36.00
961 6 Quad 8K Eprom Module '**
9620 1 6 Channel Parallel I/O Module .... 295.00
9622 Serial/Parallel I/O Combo *"
9626 8K Static RAM Module 29 5.00
9627 1 6K Static 450ns 495.00
9630 Card Extender 68.00
9640 Multiple Programmable Timer
(24 Timers) 395.00
9650 8 Channel Duplex Serial I/O 395.00
96103 32/32 I/O Module 275.00
96702 32 Point Reed Relay Module 35000
6800 BARE BOARDS
9620-0 $45.00 9603-0 27.00
9626-0 45.00 9600 55.00
9650-0 45.00 96103 55.00
9601-0.. ..50.00 96702 55.0(3
Also AMI EVK System in Stock
APPLE/EXIDY/EXPANDO
TRS 80 1 6K-UPGRADE KIT
*■ 16K with Jumpers & instructions
for either Level I or Level II S89.95
*■ 16K for Apple It Upgrade S89.95
Special: TRS80 Schematic S 4.95
Expansion Interface Schematic . . . . S 4.95
TRS 80 TO S-100
PET TO S-100 ADAPTER
Allows Pet/TRS 80 to be interfaced to
popular S-100 Bus.
Pet to S-100 Kit S1 89.95
Assembled S269.95
TRS80toS-100HUH 8100 Kit — S275.00
Assembled S355.00
KEYBOARD ASCII ENCODED
Onetime purchase of
NEW Surplus key-
boards. From the Singer
Corporation. The
keyooard features 128
GElpASCII characters in a 63
BegF key format, M OS
encoder circuitry "N" key
rollover, lighted shift lock, control, escape and
repeat functions. Ltd Qty 63 KEY $59,95
UV "EpronV' Eraser
Model UVS-11ES64.95
Holds 4 Eprom's at a time
Backed by 45 years
experience.
Model S-52T... $21 9.95
Professional Industrial Model
TARBELL FLOPPY INTERFACE
# Z80/8080 S100 Compatible * Uses CPM
Assembled for Shugart. . . . SALE $229.00
Assembled Other Drives $269.95
Kit $179.95
Bare Board S36.95 (Doc. Add S 1 0.00)
■Jflll. ?c- CPM *<:j ,-0O0 Dv. IK.11 ax **J S.>0 00
Vista Double Density 5V/' Controller
Assem S299.00
SD Versa Rooov Kit S159.95
SD Versa Floppy Assembled S189.95
Tarbel Cassette I/O Kit $11 5.00
Sale • 1771-01 Floppy Chip $27.95
BYTE USER 8K EPROM BOARD
■*■ Power on Jump • Reset Jump
Assembled 8 Tested S94.95
Byteuser Kit S64.95
Bare PC Board $21.95
Special Offer: Buy 4 kits only $59.95 each
MR-8 8K w/1 K Ram S99.50
MR- 16 16Kw/1KRam S99.50
EPM-1 4K 1 702 S59.95
EPM-2 2708 or 2716 Eprom S69.95
Z-80/Z-80A/8080 CPU BOARD
• On board 2708 • 2708 included (450ns.)
■*■ Power on jump • completely socketed
Assembled and tested S1 85.00
Kit SI 29.95
Bare PC Board S 34.95
• For 4MHz Speed Add S15.00
8080AKit S 99.95
8080A Assembled S149.95
S-100 MOTHERBOARD SPECIAL
8 slot expandable w/9 conn.
reg S69.95 NOW S52.95
TARBELL FLOPPY CONTROLLER
Card assembled and tested for use with Shugart
Drives S SALE PRICE only S229.00
ACOUSTIC MODEM
NOVATION CAT™
0-300 Baud
Bell 103
Answer, Originate $198.00
ACOUSTIC COUPLER SPECIAL
AJ MODEL A30
SPECIAL PURCHASE
OF SURPLUS UNITS
AVAILABILITY LIMITED S29.95
DATA BOOKS • COMPUTER BOOKS
1976 IC Master 49.95 Inlet MCS 90 Manual
NSC 1TL Daia 3.95 Intel MCS 40 Manual
NSC Linear 4.95 AMD 8080A Manual
NSC Linear App Notes ll . 3-95 AMD Schoiiky Daiabook .
NSC CMOS 395 AMI MOS/LSI Data
NSC Memory 3 95 Gl MOS/LSI Data
Intel Daiabook 4.95 Harris Analog Databook-
Inlel MCS85 Manual 7.50 Tl Linear Control Data. . . ,
BALI • OSBORNE BOOKS • SALE
Intro to Micros vot. . ....IkeM
Inlro to Micros Vol. I fl*sj)
80 SO A Programme ftSQ
68 00 Programming ff"SQ
Z80 Programming ' bSq
Vol. II Some Real Microprocessors w/Bmder .. 30QQ
Vol Ml Some Real Support Devices w/Bmder . TftGG.
Intro lo Micros Vol til T&8Q.
SALE • DILITHIUM COMPUTER BOOKS • SAL!
Understanding Computers . TMJ*.
BOBOMicroComputer Experiments T3^ft.
Btifjinning BASIC *9fc
Begm nors Glossary S Guide . Bi*.
Peanul Butter & Jelly Guide to Computur-. . . .TrS*.
8060 Machine l.anjj-.i.c.;" P'ogMmminrj T"9A-
Hame Computers Vol I Hardware T^*
Home Computers Vol H Software T*96.
THE FIRSTTO OFFER PRIME PRODUCTS TO THE HOBBYIST ^
AT FAIR PRICES NOW LOWERS PRICES EVEN FURTHER!
1. PrOV6l1 Quality Factory tested products only, no re-tests
or fallouts. Guaranteed money back. We stand behind our products.
1979 CATALOG NOW AVAILABLE.
Send $ 1 .00 for your copy of the mosl complete catalog of computer products. A must
for the serious computer user.
MICROPROCESSORS STATIC RAM HEADQUARTERS
Z-80 Sia.95
Z-80A
F-3 (38501
2650
CDiB02
8080A4WHZ
SALE BOB 5
8008-1
6502
18.95
16U5
18 95
1995
9 95
19 95
18.05
14 95
1695
24 95
49.95
39 95
it 50
19.95
2995
1695
2495
6502A
IM6100
6800 ...
6802P
8035
8755
874B
SUPPORT DEVICES
388? (2-80 CTCi
8224 Qo
8224-4 u
8226 Bw
□nver
2 50
2 95
9 75
395
1-24
25-99
100
21L024S0nS
1 30
1 25
1 15
21L02 250ns
1 59
1 55
2102
1 25
t 15
1 10
2111
375
3 65
3 55
2112-1
2 95
285
265
290
270
2.55
2l14L-250ns
12 95
1095
9 95
21UL-300ns
6.95
7 95
6.45
2114L-450ns.
7 50
675
4.75
4044/404T 300ns
995
B75
7 95
4044/4041 450ns
7 50
6 75
4.75
EMM4200A
9 75 8 75
7 95
EMM4402
7 95
7 25
625
EMM4804
12 50
11 50
995
5101C-E
7 95
7 95
7 25
u[>0410 142001
1095
10 25
9 25
AMD9140 4I
1095
1025
525
AMD9130 31 k
1295
1195
1025
FSC 460 .164 16K C :D Q>
$lB95Eacn
MQ1
IBS
' 1 75
1 25
P2I25 9342b i45p
1 *35
735
7 25
650S IK* 1 CMOS
795
795
7 25
6518 1K.v 1 CMOS
7 95
7 95
7 25
-45130 •-.•: t ii iijiti
3 95
325
2 50
81 55 l/Ow/flam 2
.95
2147 Lo>v Power 4K
Static 1
4 95ea
CHARGE COUPLED DEVICES
i6kccd • r«tii ikhu'
nk'red Fa.rcmld 460 CCD
penmenl w
hCCD
lecitnolcKly ;il .1 reaso
iabie or
ce UpaieApphca-
uonnoiesuoCiteUivitr
eacnor
der Ouanlii
ylimiled)
$18.95 each (reg.
43.00)
8228 Sys Control
8238 Sys Cont
8251 Proa 1.0
8253 In! t.mer
8255 Prog F'O
8257 Prog DMi
6259 Prog Inl
827 5 CRT Conl'OHer
82 7 9 Prog Keyboard
6810-1 128 » 8 RAM
6820 PIA
6621 PIA
6828 PrionlV tr.l
6834-1 512 ■ 6 Eprcn
6850 ACIA
6852 Ser.nl Ajaol*'
66.15 H0.S6505CRTC
6860 Mad em
6862 Muduiator
687 1 A 1 Gmhj OSC
6875
6880 Bus Drive-
MC6848B >»«=
1821 SCO ii\ RAM 2 5 00
1B22SCD?S»4F;AM If 95
1824 CrjU? .8 BAM 995
1852CD81HI0 1095
l854Uar1 1095
1850 CD iO 895
18S7C0I0 895
6520 PIA 1 50
S522 Mull
6530-002
6530-003
6530-004
6530005
3851 F6Pr05l Slur
CRYSTALS
Microprocessor Ti
Frequency Price
19 95
4 75
6 50
6.50
11.00
39 95
995
1 t 95
2595
825
9 25
DYNAMIC RAMS
416MH6 16K(16Pm|
Sr>lo!8 416's
41158K|16P.n)
4050 4K* 1 t)8 Pin)
4080 .m« 1 122 P,n]
4096 4K» I {16 Pml
t24 5
8995
6.95
4027 .!Kxl(
5261 .. 19
5262.. 1.9
5270 . 4 9
1103
4006L
CG05. .
6804 .
6002
2/16-5V
27 16-5V L'V
2758 5V
•".203AO
5204 A«
68S4-1
IM 5610
SALE 8223 32 s£
sisnssiaxen:
82S12332J.8
825126 256x4 ..
825129 256x4(T!
825130 512x4|0'
NSC DM7578 32 x
3 50
5995
4000
-.2.93
18.95
. 2.50
.3 50
...3.50
. 6.50
. 2.95
CHARACTER GEN
2513-001 t5V)Upper
251 3.005 (5V) Lower
2513-ADM3(5V)Lo\ve
MCMS571
MCM6571A
MCM6S74
MCM6575
14 95
1075
1075
UARTS/USRTS
TR1602B(5V 12VI 395
AV5l0l3i5V. '^Vl 4 95
AY5I014A.161- 5 14'/, 695
AY51015A/1863 ilVI 695
TMS6011 (5V 12V) 5 50
IM6402 795
IM8403 895
2350USRT 9 95
l67lBASIros 2495
SALETR1472B ».«5
BAUD RATE GEN
KEYBOARD ENCODERS
AY5-2376 13 75
AY5-:i&00 13 ?b
HD0185
74C922 .
74C923
.9 95
9.95
9 95
A/D CONVERTERS
5536
1OOMH/
UOMH. 1
7/t.l.lMM.. 59S 48 0MH.'
100KC
DISPLAYS/OPTO/LED'S
* 7 SEGMENT * CALC * CLOCKS
DL 704 ICC) DL 707 ICAI 300' Bed
FN0 3S7 1CC) 357" Red
FND 500/503 ICCI 500" Rtrd .
FND 507/510 ICAI 500' 'Red
FND 800/803 ICCI 800" Red
FND 807/810 (CA) 800" Red
NAN 3062 500" Green
HP5082-773I (CA) 300" Red
9 digit Butiblp Mmi Calc Display
9 Diqil Pan;tniex Display 400"
9 Dlgil Fluorescent 300"
MA 1 003 1 2V Aulo Clocl. Modulf 1
Bezel lor MA 1003 w/RedFilln'
MA1002ALED 12 hr Cock Module
COMPUTER SPECIALS
rtPlol Digihzei
Ex.dy W/32K
Apple II w/1 6K
CompuCOlDr II w/ 1
TEIPT208H avail
Cromemco Sys III
Commodore Pel
SoroclO/120
ADM3A Assem
Teletype 43
Cenlroi
***
Cent
sS-1
15 00
1395 00
1 1 95 00
1695 00
499500
5990 00
795 OG
995 00
395 00
1349 00
49500
59500
SALE
89900
73500
119500
104500
159500
399500
53950C
765 (VI
69500
829 00
115000
39500
52500
8223 Pr or
MK50I
74 14 IN
LM2S1?
fir26'8!2a
95H90
C^ic
ATTENTION
APPLE II USERS
16 P.«
n ST 17
n S T 20
.1ST 22
18 Pin WW 60 1 8 Pin ST J1
2CP.n\VW 90 20P.nST34
22 F-p W W 93 22 P.n S \ 35
;j PnWW 85 24 Pm S T 41
.Iti Pm \\ W I 15 28 Pin Si 49
40 Pm WW I 49 JO Pm S T 63
TEXTOOL ZERO
INSERTION FORCE
SOCKETS
16 Pin S 5.50 24 Pin S7.50
40PmSl0.2S
CONNECTORS
43/86 WAV S/T MOT
50/100 S- 1 00 Connecloiw
50/100 S-100 Connector s<
095
* HEX DISPLAYS * ENCODED DISPLAYS *
If 5062-7340 Red Hextdecimal . . 15 95
HP 5082-7300 Red N/menc 1 4.95
TIL 306 Numeric w/LogiC 8.95
TIL 308 Number w/Logic 8 95
TIL 309 Number w/Logic 8 95
TIL 311 Hexadecimal 1295
MAN 2A 320' BeO Alpha-Num^nc 5 95
MAN 10A 270" Red Alpnti-Numcnc 8 95
• LED'a * OPTOISOLATERS *
LEDSRed. Yello* Green 185 5/100
MCT 2 Priolo XSTR HFE 250. 30V 99
4N25 Photo XSTRHFE 250, 30V 1.29
4N33 Photo Darlinyion 1.75
FPT noBPholoXSTRFiatLense SALE4/1 00
ATTENTION KIM USERS
KlMSAI-expansion to S-100 125 00 K.t/16500
KIMSt to KIM Connector 5 75/pair
KIM 1 6502 Single Board Compuler .179 00
KIM I Power Supply 59.95
KIM Memoiy Plus ■ (tonsists oi 8K Bam.
6K27 1 6 Eprom. Programmer, I/O elc). . . 245 00
KIM SOFTWARE
• Please package (cassette! 12 games. .. 16.95
• Help Editor package(cassette) 1695
• Help Mailing Lisl pkg. (cassette) . 16 95
• Hetp Into Retnva! »kg (cassette) .. 16.95
• Microcness (cassette) 16 95
• Microaid Assembly/Disassem/Ediior . ..2795
• Microaid Source Listing (cassettei . 2 7 95
• Tiny Basic tor KIM (paper taoe) 10.95
CTSDIPSWITCHES
CTS 206-1 Si 75 CTS206-8
SI 95
CT520G-5 SI 75 CTS206-9 SI 95
CTS206-6 Si 75 CTS206-10 Sl.95
CTS206-7 Si 75
LIVERMORE BASIC
ON S5K ROM
that s right on bom 1 "
OUR FR1CE only S95 00
NAKED PC BOARD SALE
2-80 CPU (llhaca) .. .
S3495
8O80ACPU
.34.95
8K Sialic RAM (Logos)
21 95
16K Static RAM (2114)
29 95
32K Sialic RAM 12 11 4)
.49 95
Floppy i/»(Tarbell|.
3995
Cassette I/O (rarbell)
29.95
8K Eprom (2706)
2195
1702 Eprom Boa'd .
300C
2708/2716 Eorom lllhacal
34 95
2708/271 6 Eprom(WMC)
30 00
Realtime Clock
34 95
ACP ProlO Bd.(3M Conn )
27 95
Veclor 8800 Proto
19 95
Vetlor 8803 1 1 slot MB
2995
ACP Extender w/Conn
1595
Video Interlace ISSM)
.27 95
Parallel Inlerface ISSM)
27 95
13 SI01 MotherBoard IWMCl 32 95
9SlolMotherBoard(WMC) .
2995
8 Sioi M other lexpandabie)
3495
WAVEFORM
GENERATORS
8038 FuncliCn Gen
395
MC4024 VCO
245
LM566VCO
1 75
XR2206 Function Geneiator 5 25
FLOPPY DISK I/O
177101 6' & Mmiiioppy
27 95
uPd372 Nee Floppy
4995
1781 Dual Floppy
3995
1791 Dual Flooov
44.95
TV INTERFACES
Puue-vener
8 50
TV-i Video interlace .
-8.95
Microv erlcr
3500
M*R Modulator . ....
3500
ATTENTION
PET USERS
BETSI-pet expansion to S100
105 00 Kit/160.00
PET Connector Kit. Includes (4)
Connectors for memocy expansion.
IEEE 488 I/O. cassette I/O and
oaraileluser noil .,, 7.95/set
Video Buller
(converts i o Sid Video)
Peluma (Music Board)
Combo (Video S Petunia]
Beeoer (signals tape lo c
29 95
2995
.4995
ATTN TRS 80 USERS
20/40 Pin Memory Exp Conn
16K Memory Add-on w/ln
V.sta V80 Mmiiioppy .
40TrackDOSPalchonOi5
4 Drive Cable lor V80..
Centromcs779w/1raclor
Centre
s 701 E
S795
1 8995
39500
1095
3995
1179.00
1579.00
995 00
MONTHLY IC SPECIALS
LF13508 JFET Anloa Mult. 8 bit . 695
ICM7206 Seven Decade Counter 17 95
ICM7207 Oscilialor Controller 6 95
ICM 7045 Precision Slo/Watch Time- 22 95
iCL7l07 3 , »Difll1 A/D (LEDi M95
ICL821 1 Vo'lage Relerencf) I 95
LM390 Battery OP Audio Amp 3/1 00
LM1830 Fluid Deleclor 3/1 00
LM1850 Ground Fault IC 'Ml 00
LM1800 Phase Lock Loon FM Slerco 3/1 00
LM1820 AM Radio 3' 1 00
DS3825 Dual Mos Sense Amo 2 50
t-IUBUi 4-IU95 10l47ECLRa(^79.9S
148H/I4a9 2/1 99 NE56 , 500
S/T SocktM 10/1 00 LF3 56HBiFet .. 3/V99
% *l MCM14505 8.95
■ Ao ? 4S89 3/1.99
V' 39 74107N 6/1.99
3/ ' 9S 75452N S/1.99
??f> 741N-14 10/1.99
K39 S55CN 5/1.S9
9 95 556CN ..3/1.99
ANADEX DP8000
Mioo-P (same as Ouick Printer)
. 395 00
CsblelooluginExpanSiOnliO 3900
Power Strip |8 oullets)
Surge Suppressor/Filter
Microsofl Fortran on Du
Eiecinc Pencil on Cassette
Electric Pencn on D.sk
CPrM lor TRS on Disk
V 100 IC
U.cro Chess, icassetiei
23 95
32500
, 99 00
150 00
15000
49.95
. 1995
tjviXiP'-*t*-i
MMS/lrMCh.n*".
All Shiprmm!. FCM or UHS. O
under S100.0 add 5% handling
post g« Ordtrt over S100.QB add 2 5
handling & poilage. Mastercharge/Bank-
americard/COD accepted w/25% deposit
California Reudcittt add 6% tax. Foreign
Orders add 8% handling. All Darttiuime
laciory letted auaranteed. Same day
slilpmont. Add .35 cents lor Data.
Ri>l;iil jjricmy ni.iy v.siy inwn Mail Ordei
Puciiin Al1 Pnci'^J "ublect to change
withoul nolica
P. 0. BOX 17329 Irvine, California 92713 Phone (714) 558-8813
TWX: 910-595-1565
Retail Store Open Mon. - Sat.
Located at 1310 "B" E. Edinger,
Santa Ana, CA 92705
Circle 4 on inquiry card.
BYTE August 1979 235
What's New?
SOFTWARE
Extended FORTRAN Preprocessor
X4 is an extended FORTRAN pre-
processor for use in the Cromemco
CDOS environment. X4 translates pro-
grams into standard FORTRAN from a
readable, well structured language pro-
viding modern control structures for con-
ditionals and iteration that virtually
eliminate the need for statement
numbers and GOTO statements. X4 also
provides automatic file inclusion, a
macro facility, mixed upper and lower
case input, and the expansion of quoted
strings into numeric character codes
where desired. X4 is available with com-
plete documentation on CDOS (CP/M)
format 5 inch floppy disk for $59.95.
Contact Modular Systems Inc, 4005
Seven Mile Ln, Pikesville MD 21208.
Circle 531 on inquiry card.
Word Processor For TRS-80 Disk
Operating System
Word-Ill is a text processor for the
TRS-80 disk operating system. Requiring
16 K bytes of memory, it accepts lines
of text interspersed with lines of format
control information and then formats
the text into a displayable document.
Word-Ill features automatic line adjust-
ing, margin right justification, page
numbering, centering, title, page size,
line width, indentation, and vertical
spacing control. It is written in TRS-80
Disk BASIC for easy loading and expan-
sion. Word-Ill is disk based with a size
limited by disk storage. It uses the
printer interface that already exists in
the expansion module. Instructions are
given to make software modification to
other printers not using 1PRINT com-
mand.
The price of Word-Ill is $39 com-
plete with source code. For further in-
formation contact Micro Architect, 96
Dothan St, Arlington MA 021 74.
Circle 532 on inquiry card.
6502 Robot Language
Written in 6502 machine language,
Robot is an interactive programming
language for the control of robots. The
robot may be a Turtle, plotter, or video
cursor. The heart of Robot is a com-
mand processing module designed to
allow the user to design a language of
personalized commands and command
subroutines to suit a particular appli-
cation.
The version of Robot that is being
offered includes a command set and sub-
routine package for the control of a
video robot. The subroutines are designed
specifically for the TVT-6 video inter-
face, but will work with any memory
mapped video display and can be adapted
by the user for varying formats. Robot
takes slightly more than 1 K bytes of
programmable memory and comes with
a user manual and a completely com-
mented source listing.
Robot is priced at $5 (add $3 for
KIM-1 Hypertape cassette). For further
information contact Michael Allen, 6025
Kimbark, Chicago IL 60637. This vendor
also offers a 6502 tiny editor and as-
sembler.
Circle 533 on inquiry card.
Free Monthly Review of
Software Products Available
Users of Northstar BASIC can receive
a free subscription to John Dvorak's Soft-
ware Review. Each month the software
review examines and reviews new soft-
ware packages and reports on the
relative merits and value of the product.
At the moment the mailing list has focus-
ed on users of Northstar BASIC but plans
are in the works to introduce a newslet-
ter for users of CP/M oriented systems,
TRS-80 and eventually Apple users. For a
free subscription, write to J Dvorak, 704
Solano Av, Albany CA 94706.
Circle 534 on inquiry card.
Business Software Series in BASIC
The Standard Software Library is a
series of books containing listings of
programs written in BASIC with com-
plete documentation. Each volume in
the series is devoted to a single applica-
tion. The first three volumes deal
with accounting programs for small
computers. Volume I, General Ledger
enables a small business to set up a fully
automated general ledger system with a
complete chart of accounts. Included
are programs for editing, sorting, merg-
ing and posting of transactions. A trial
balance report is available in either sum-
mary or detail at the user's option.
Income statement and balance sheet re-
ports may be obtained at the close of
each accounting period with both
current and year to date totals and
percentages.
Volume 2, Accounts Receivable pro-
vides a fully automated system for
dealing with customer accounts. Volume
3, Payroll enables a business to automate
all of the normal payroll functions. All
of the programs are written in a level of
BASIC common to practically all of the
current microprocessors and minicom-
puters. The modular nature of the pro-
grams and the accompanying documen-
tation make it easy to revise the program
to meet special user requirements.
The documentation includes an over-
all view of the program, a list of the
variables used, a description of the
required user inputs and an illustrative
example with sample output reports.
Annotated comments are contained in
all of the programs.
Contact Creative Computer Consul-
tants Inc, POB 2111, Norwalk CT 06852.
Circle 535 on inquiry card.
Microcomputer Text Editor
Edit-80 is a random access, line or-
iented editor for 8080 and 2-80 systems.
It provides almost instantaneous access
to any record of the file, even if the
available memory space is considerably
smaller than the file being edited. In
addition to the standard line commands
to insert, delete, print or replace lines
of text, Edit-80 offers many other fea-
tures such as automatic line renum-
bering, global find and substitute,
multiple page files and ability to read
in files without Edit-80 line numbers.
Edit-80's alter mode provides a complete
set of intraline subcommands to edit
portions of individual lines. With Edit-
80, the edited file is not written to disk
until a write command is given, and the
original file is always saved as back-up.
The Edit-80 Text Editing Package
includes a file compare utility program
called Fl LCOM which compares source
or binary files and outputs differences
between them.
Edit-80 runs on any 8080 or Z-80
system with the CP/M operating system.
The price for the Edit-80 Text Editing
Package is $120 and the manual is avail-
able for $10. For further information
contact Microsoft, 300 San Mateo NE,
Suite 819, Albuquerque NM 87108.
Circle 536 on inquiry card.
The Realty Expense Analysis Program
REAP is designed for the property
owner or manager and provides complete
expense information for each building in
payment-by-payment and summary for-
mat which includes tax ready totals for
IRS filing. The building payee report
displays expenses for any building,
for all or selected payees. The utility
summary report displays yearly, year-to-
date, or monthly average utility expenses
for each building under the categories
electric, gas, water, and trash. The tax
totals report displays totals for each
building under the categories utilities,
insurance, repairs and property tax.
Special accounts may be set up to track
auto, general office management, adver-
tising, telephone or any other expense
type. Complete data inpu ting, editing,
and sorting capabilities, all with exten-
sive error recovery, provide easy data
file maintanence. Expense data may be
added to the file and the latest reports
run at any time interval.
REAP is available on cassette with
complete documentation for the TRS-80
Level I and II, Apple, and PET com-
puters. Each 16 K bytes of user memory
will handle 500 yearly expense pay-
ments. Larger data files are possible by
using disk data storage. REAP is priced
at $25. Documentation only with sample
reports is $2.50. For further information
contact Realty Software Co, 2045 Man-
hattan Av, Hermosa Beach CA 90254.
Circle 537 on inquiry card.
236 August 1979 © BYTE Publications Inc
Venus 2001
Video Board
kiti99
95
Assembled & Tested
$259.95 •Complete
Unit with 4K Memory
and Video Driver on
Eprom assembled
and tested $339.95
OPTIONAL: • Sockets $10.00
• 2K Memory $30.00
• 4K Memory $60.00
• Video Driver Eprom $20.00
• S-100 plug-in • Parallel keyboard port
On board 4K Screen Memory (Optional). On board Eprom
(Optional) for Video Driver or Text Editor Software.
Up and down scrolling through video
memory Reverse Video, Blinking Characters.
Display ; 128 ASC1 1 Characters 64 X 32 or 32 X
16 Screen format (Jumper Selectable). 7 by 1 1 Dot
Matrix Characters.
American or European TV Compatible
(CRT Controls Programable) Dealer Inquiries Invited
32-K Static RAM $499.
• S-100 Plug-In • Kit includes P.C. board, all parts
and assembly manual • Uses 21 14L, 450 nS.
I.C. sockets -$20.00
P.C. BOARD BY S-100 CO.
16-K Static RAM $249.
• S-100 Plug-In Kit includes P.C. board, all parts and
assembly manual. Uses 21 14L450 nS.
Sockets -$10.00
Add $40.00 for 300 nS (4MHz) RAMS
P.C. BOARD BY WAMECO
z-80 cpu $125.
• S-100 Plug-In Kit includes P.C. boards, all parts
and assembly manual.
FEATURES: 2MHz operation • S-100 plug-in
• Power-on jump • On board provision for 2708
(optional at $12.95).
P.C. BOARD BY ITHACA AUDIO
ASCII Keyboard Kit $ 79.95
Assembled and Tested $95.95
• Single + 5V Supply • Full ASCII Set (Upper and Lower
Case) • Parallel Output • Positive and Negetave Strobe •
2 Key Rollover • 3 User Definable Keys • P.C. Board
Size: 17-3/16" X 5" • Control Characters Molded on Key
Caps • Optional Provision For Serial Output
OPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 •
Sockets $4.00 • Upper Case Lock Switch $2.50 • Shift
Register (For Serial Output) $2.00
Dealer Inquiries Invited
Apple II I/O Board Kit
Plugs into Slot of Mother Board
• 1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 Input
Port • 15mA Output Current Sink or Source • Can be
used for peripheral equipment such as printers, floppy
discs, cassettes, paper tapes, etc. • 1 free software listing
for SWTP PR40 or IBM selectric.
PRICE: 1 Input and 1 Output Port $49.00
1 Input and 3 Output Ports $64.00
Dealer Inquiries Invited
n&N ! A DREAM COME TRUE
lntroducing:30 MHZ
DUAL TRACE
PORTABLE
foran$CCCv :
amazing *J*JkJ 9
• Dual trace 2-channel; separate,
chopped or alternate modes. • 30 megahertz
bandwidth. • External and internal trigger.
• Time base - 0.05 , Microseconds to 0.2 SEC/div
21 settings • Battery or line operation.
• Line synchronization mode.
• Power consumption less than 50W. • Vertical gain -
0.1 to 50 volts/div- 1 2 settings. • Size: 2.9" H 6.4"
W8.5" D. • Weighs only 3.5 lbs. with batteries.
• Complete with input cable and rechargeable
batteries and charger unit.
OPTIONAL: Leather case $45.00 • 10:1 probe $27.00
(2 for $49.00)
MS -SIS ~
15 mhz Dual Trace Portable Scope $ 399.
MS-15 15 mhz Single Trace Scope $ 299.
SHIPPING $3.50 / California residents add 6% sales tax
ELECTRONICS WAREHOUSE In<
15820 Hawthorne Boulevard
Lawndale, CA 90260
(213) 370-5551
What's New?
MISCELLANEOUS
New Fully Implemented Pascal System
The Independent Business System's
Betasystem is a complete operating
system that features the UCSD imple-
mentation of Pascal. The operating sys-
tem contains a powerful screen oriented
text editor, a fast Pascal compiler, file
and library handling systems, linker,
Z-80 assembler and more. This Z-80
microprocessor comes complete with 48
K byte programmable memory, dual
. quad density (630 K byte formatted)
disk drives, serial and parallel ports, 60
character per second dot matrix printer
with tractor feed, and intelligent ter-
minal with addressable cursor. It sells
for $5485. For further information con-
tact Independent Business Systems Inc,
5476 CleoCt, Livermore CA 94550.
Circle 635 on inquiry card.
16 K Byte Programmable
Read Only Memory Board
Electronic Solutions 16 K byte pro-
grammable read only memory board is
compatible with the Intel SBC 80 bus
and single board computer. The
PROM-16 accepts sixteen 2708 erasable
read only memories. The board has a
convenient addressing scheme allowing
jumper selection of the board base ad-
dress at the beginning of any 4 K block.
Any number of 1 K byte memory blocks
may be deselected by jumper removal,
thus freeing these 1 K byte memory ad-
dresses for the processor, programmable
memory, etc. When fully loaded with six-
teen 2708 erasable read only memories,
the board typically draws 0.31 A (from
+ 5 V), 0.48 A (from -5 V), and 0.80 A
(from +12 V). For further information,
contact Electronic Solutions Inc, 7969
Engineer Rd, San Diego CA 92111.
Circle 558 o n inquiry card.
BUILD YOUR OWN LOW COST
MICRO-COMPUTER
POWER SUPPLIES
FOR S-100 BUS, FLOPPY DISCS, ETC.
POWER TRANSFORMERS (with mounting brackets)
ITEM
NO.
USED IN
KIT NO.
PRI. WINDING
TAPS
SECONDARY WINDING OUTPUTS
2 x 8 Vac 2x 14 Vac 2 x 24 Vac
SIZE
W x D x H
UNIT
PRICE
T1
T 4
V, 110V, 120V
V, 110V, 120 V
V, 110V, 120 V
V, 110V, 120 V
2x9A
2x1 2.5 A
2x9A
2x4.5A
2x2.5A
2x3.5A
2x2.5A
2x2.5A
2X4.5A
33/4"x3 5 / 8 "x3 1 /8"
33/4"x4%"x3 1 /b"
33/4"x43/8"x3 1 /b"
33/4 M x3y8"x3V8 n
19.95
25.95
27.95
19.95
POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy.time)
ITEM USED FOR @+8Vdc @-8 Vdc @+16Vdc (3-16 Vdc @+28 Vdc
SIZEWxDxH UNIT PRICE
KIT1 18 CARDS SOURCE 18A
KIT 2 SYSTEM SOURCE 25A
KIT 3 DISC SYSTEM 18A
KIT 4 DISC SOURCE 8A
2.5A
3A
2A
2.5A
3A
2A
4A
8A
12"x6"x4 7 /8"
12"x6"x4%"
14"x6"x4 7 / 8 "
10"x6"x4 7 /a"
46.95
54.95
62.95
44.95
1A
1A
EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, BASE
PLATE, MOUNTING PARTS AND INSTRUCTIONS.
REGULATED POWER SUPPLY "R2" assy. & tested, open frame, size: 9" (W) x 5" (D) x 5" <h) $69.95
SPECS: +5V +1%, @ 5A, +24V, +1%, @ 5A. OVERCURRENT PROTECTION AND +5% ADJ. FOR BOTH VOLTAGES.
REMARK: IDEAL FOR ROCKWELL AIM-65 MICROCOMPUTER. ALSO -5V, @ 1A OPTIONAL, S5.00 ADDITIONAL.
SHIPPING FOR EACH TRANSFORMER: $4.75. FOR EACH POWER SUPPLY: $5.00 IN CALIF. $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. OEM WELCOME.
MAILORDER:
P.O. BOX 4296
TORRANCE, CA 90510
SUNNY INTERNATIONAL
(TRANSFORMERS MANUFACTURER)
Telephone: (213) 633-8327
STORE:
7245 E. ALONDRA BLVD.
PARAMOUNT, CA 90723
STORE HOURS: 9 AM-6 PM
238 August 1979 © BYTE Publications Inc
Circle 354 on inquiry card.
CaUFornIa Diq'iTAl
Post Office Box 3097 B • Torrance, California 90503
\
Sankyo Magnetic
Card Reader
I These Sankyo I/O units are capable of storing and retrieving over
'400 characters of data in under two secords.
The flexability of this device lends itself to numerous applications.
As an input reader to a computerized security system, the com-
puter has the ability of identifying the card holder and admitting
I only those individuals who are authorized to enter the premises
I during specified time frames. The device is also suitable for
1 maintaining customer information files, or any other application
I where small amounts of information must be quickly entered into
J a data processing system.
I Accepts 2" by 4" HP style mag-cards. (Similar to bank cards. )
1 Motorized feeder pulls the magnetic card across the four channel
| read/write head. NEW surplus, original cost $2*00. Full documentation
CONNECTORS
C2 "°°° 1
l°^^?°l
your choice
DB25P
male plug &hood
or
DB25S female
»395
Oty. fe. male hd.
10 3.45 2.45 1.15
25 3.15 2.25 1.05
100 2.S5 1.90 .95
500 2.25 1.60 .85
IK 1.97 1.37 .73
Edge
Connectors
GOLD
100 PIN
IMSAI/ALTAIR
imsai solder. 125X.250
Imsai w/w.l25centers
Altair soldertail .140 row
SPECIALS
22/44 Kim eyelet.156"
25/50 solder tab. 156"
36/72 wide post w/w.156
$3.95 Z/% 9.00
$4.95 3/$13.00
$S.95 3 $15.00
$1.95 3 $5.00
$1.09 3 $2.00
$1.95 3/$5.00
S-100 Mother Board
Quiet
HEXADECIMAL KEYBOARD
Maxi'Switch hexadecimal keyboards are designed lor
microcomputer systems that require 4-bil output
in standard hex code.
Each assembly consists ot 16 hormetl- *w _
cally sealed reed switches and TTL "onej
shot" debounce circuitry.
Reliable low Irictionacetai resin
plungersare credited lor the smooth
operation and long life ol this premium
keyboard.
Requires single + 5 volt supply.
$ UNIVAC
KEYBOARD
TELETYPE MODEL 4 3
Even if we have to give them
away, we're going to ship more
43's in 1979 than the aggregate
of all our competitors.
Model 43AAA
EACH 3
TTL)
$925. 875. 850.
RS-232 Interface"**" Add'7$00
11?
Tne lamous Sper
TEN KEY
Data Entry Pad
Plugs directly into you Apple II.
Allows you to enter numerics,
punctuation and upper case alpha
characters, all from the data
entry pad. Sold assembled in
walnut finished enclosure.
brrtoflm apple/trs-80
clOallll 1 Mini - Soft sector
SPGCiflL
T ff*41
50 + *3.85
a
Scotch
BH AN
Diskettes
8inchSoft(IBMi
8 inch 32 sector
Mini Soft sec.
Mini lOsector
Mini 16 sector
Certified Digital
CASSETTES
Won't drop a BIT!
*5. 50
\^Lshugar
APPLE ((
ISK MEMORY
COLOR 'GRAPHICS. SOUND
S1024
PLUS SHIPPING
Mfg.Sug.
Retail....
CALIFORNIA
INDUSTRIAL
is an
Authorized
Dealer of
Scotch Brand
Dataproducts
MEMORY
ugart Associates
SA800-R Floppy Disk Drive
The most cost effective way to store data proc-
essing information, when random recall is a
prime factor. The SA800 is fully compatible
with the IBM 3740 format. Write protect cir-
cuitry, low maintenance & Shugart quality.
$449.50
CALIFORNIA DIGITAL
16 BiT 8086
S-100 CPU Board
Directly addresses one megabyte.
8 bit unidirectional & 16 bit bi-
directional. 4K of static memory
is supplied on board. $650. 00
DiqiCAST
A/V-100
R.R MODULATOR
S9QQR Broadcast both
fc*F,*'^ audio and vidio
on your existing color
television. Recommend-
ed for the Apple II.
TRS-80©
APPLE II
16k memory (8) 4U6's
• As you may be aware, publishers
require advertisers to submit their
ad copy 60 to 90 days prior to "press"
date. That much lead time in a volatile market place,
such as memory circuits, makes it extremely difficult
to project future cost and availability.
To obtain the best pricing on memory we have made
volume commitments to our suppliers, which in turn
affords us the opportunity to sell these circuits at the
most competitive prices. Please contact us if you
if you have a demand for volume state of the art mem-
ory products.
STATIC 1-31 32-99 100-5C -999 1K +
21L02 450nS.
1. 49
1
19
1.05
.95
.89
21L02 250nS.
1. 69
1.
49
1. 45
*
*
2114 1Kx4 450
6.95
6
50
6. 25
6.00
5. 75
2114 1Kx4 300
8. 95
8
50
8. 00
*
*
4044 4Kxl 450
5.95
5
50
5.00
+
*
4044 4?ocl 250
9.95
9
50
9.00
*
*
4045 1Kx4 450
8. 95
50
8.00
*
*
4045 1Kx4 250
9.95
9
50
9. 00
+
*
5257 low pow.
7. 95
7
50
7. 05
6. 75
6.45
SPECIAL CIRCUITS
Z80A 4 MHz.
24.95
AY5-1013A UART 4.95
8080A CPU
9.95
Floppy Disc Controllers
8085
22.50
WD 1771
single D. 39. 95
8086 Intel 16 bits
*
WD 1781
Doubl
eD 65.00
T MS 0900 16 bits
-19. 95
WD 1791
D/D3
740 *
E PROMS 1-15 16-63 64+
1702A 2K 4.95 4.50 4.00
2708 8K 9.95 9.50 9.00
2716 5vl6K 49.95 45.00 42.50
2532 32K * * *
PORTABLE DATA ENTRY SYSTEM
These used data terminals were originally designed for chain store inventory con-
trol and order entry systems. The operator enters the inventory control number,
merchandise on hand and the unit price. After all pertinent data has been entered into
the recorder, the main warehouse is telephoned, the handset is placed in the acoustic
coupler and ail the recorded information is transmitted back to the master computer.
With a little imagination and one of these portable entry systems, you should be able
to exchange programs and computer information wii.th associates across the country.
All units were removed from service in working condition. Original cost $2,500.
Each system comes complete with:
■Portable Cassette Drive Unit "Five Gould "D" NiCads "DB25 Cable
■Removable Entry Keyboard "Acoustical Coupler »Shoulder starp
with LED Display "Battery Charger
•Full Documentation
your choice
10 50 100 Ik
$.88 .81 .73 .66 |
SPOT Miniature Toggles
7101 C&K ON -NONE- ON
7107 jbt ON-OFF(mnt.ON) I
7108 CK ON-(moment.ON) ]
Rocker JBT DPDT
Rotary 3P-4-Pos.
Rotary 3P-6-Pos.
PushEMN.O.) 5.39ea. 4 SI
DIP Switch
$149
DISCOUNT
I
Wire Wfap<entef
lg~S^ '_-_. ^^ tt'« »°l vth;n that California Digital ven-
\-c^i*"~r£ i ^, l tures into the distribution of consumer pro-
. . -'' ■">.; „. ducts, but we have resently come accross
^vl n^S^^^ a P loducl ,nal appears so unique that we just had to add it
V' to our product line. This is the System X-10 manufactured
by ihe B SK turntable company. T his space age system will re-
motely control any light or appliance in your home or office. Command sig-
nals are transmitted from the command console over your existing wiring.
f't'om your bod or easy chair you can control up to 16 different electrical de-
vices inside and outside your home. U se the System X-10 to control your
stereo, television or any light fixture on the premises.
The basic sampler package comes complete with command console, battery
operated ultrasonic controller, one- each of the appliance module, lamp mod-
ule and wall switch. The basic package is priced at only $99.50 Additional
modules are available for .$13.95 each.
IC SOCKETS
pin
Wire Wrap
ea. 25 50
low profile
ea. 25 50
8
14
17= 16 IS
18 17 16
37 36 35
16
38 37 36
19 18 17
24
99 93 85
36 35 34
40
169 155 139
63 60 58
50ft.
J .98
KYNARW
500 1,000 11,000
S9. $15. $105.
C^nmn
7400 TTL
SN7400N
SN7401N
SN74Q2N
SN7403N
SN7404N
SN7405N
SN7406N
SN7407N
SN7408N
SN7409N
SN7410N
SN7411N
SN7412N
SN7413N
SN7414N
SN7416M
SN7417N
SN7420N
SN7421N
SN7422N
SN7423N
SN7425N
SN7426N
SN7427N
SN7428N
SN7430N
SN7432N
SN7437N
SN7438N
SN7439N
SN7440N
SN7441N
SN7442N
SN7443N
SN7444N
SN744SN
SN7446N
SN7447N
SN7448N
SN7450N
SN7451N
SN74S3N
SN74S4N
SN74S9A
SN7460H
C04000
CO4001
CO4002
C04006
CD4O07
C04009
C04010
C04011
C04012
CO4013
CD4014
CO4015
C04016
CO4017
C04018
C04019
C04020
CD4021
CD4022
CD4023
CD4024
C04026
C04026
CD4027
74CO0
74C02
74C04
74C08
74C10
74C14
74C20
74C30
74C42
74C48
74C73
J4G74_
.60
.90
78MG
LM106H
LM300N
LM301CN/H
LM302H
LM304H
LM30SH
LM307CN/H
LM306CM/H
LM309H
LM309K
LM310CN
LM311N/H
LM312H
LM317K
LM318CN/H
LM319N 1.30
LM320K-S 1.35
LM320K-5.2 1.35
LM320K-12 1.35
IM320X-15 1 .35
LM320K-18 1.35
LM32QX-24 1.35
LM320T-S 1.25
LM320T-5.2
LM320T-8
LM320M2 1.25
LM320T-15
LM320T-18
LM320T-24
LM323K-5
LM324M
LM339N
LM340K-5
LM340K-«
LM340K-8
LM340K-12 1.35
LM340K-15 1.35
6.50
1.25
5.95
1.35
74LS0O
74LS01
74LS02
74LS03
74LS04
74LS05
741508
74LS09
74LS10
74LS11
74LS13
74LS14
74LS15
74LS20
74LS21
74LS22
74LS26
74LS27
74LS28
74LS30
74LS32
74LS37,
74LS40
L74LS42
.29
SN7470N
SN7472N
SN7473N
SN7474N
SN7475«
SN7476N
SN7479N
SN74B0M
SN7482N
SN7483N
SN74B5N
SN7486N
SN7489N
SN7490N
SN7491N
SN7492N
SN7493N
SN7494N
SN7495N
SN7496N
SN7497N
SN741QON
SN74107N
SN74109N
SN74116N
SN74121N
SN74122N
SN74123N
SN74125N
SN74126N
SN74132N
SN74136N
SN74141N
SN74142N
SN74143N
SN74144N
SN74145N
SN74147N
SN74148N
SN74150N
SN74151N
SN74152N
SN74153N
SN74154N
SN74155N
SN74156N
SN74157N
.65
3 00
.79
2.95
2.95
2.95
C/MOS
C04029
C04030
C04035
CO4O40
CD4041
C04042
CD4043
C04044
CD4046
CO4047
C04048
C04049
C04050
C04051
CO40S3
C04056
C04059
C04060
C04066
C04068
CD4069
74C00
74C85
74C90
74C93
74C95
74C107
74C151
74C154
74C157
74C160
74C161
3.00
2.15
2.49
249
LINEAR
LM340K-18 1.35
LM340K-24 1.35
LM340T-5 1.25
LM340T-6 1.25
LM340T-8 1.25
LM340M2 1.25
Uyl340M5 1.25
LM340T-18 V25
LM340T-24 1.25
LM358N
LM370N
LM373N
LM377N
LM380N
LM380CN
I.M381N
LM382N
NE501N
NE510A
NE529A
NE531H/V
NE536T
NE540L
NE544N
NE550N
NE555V
NES56N
NE560B
NE5618
NE5628
NES65N/H
NE566CN
NE567V/H
NE570N
LM703CN/H
UM709N/H
1.95
3.25
4.00
1.25
3.95
6.00
6.00
4.95
1.30
5.00
500
5.00
SN74150N
SN74161N
SN74162N
SN74163N
SN74T64N
SN74165N
SN74166N
SN74167N
SN74170N
SN74172N
SN74173N
SN74174N
SN74175N
SN7417BN
SN74177N
SN74179N
SN74180N
SN74181N
SN74182N
SN74184N
SN74185N
SN74186N
SN74188N
SN74190N
SN74191N
SN74192N
SN74193N
SN74194N
SH74195N
SN74196N
SN74197N
SN74198N
SN74199N
SN74S200
SN74251N
SN74279N
SN74283N
SN74284N
SN74285N
SN74365N
SN74367N
SN74368N
SN74390N
SN74393N
CO4070
C04071
C04072
CD4076
C04081
C04082
C04093
CD4098
MC14409
MC14410
MC14411
MC14419
MC14433
MC14506
MC14507
MC14562
MC14583
C04508
CD4510
CD4511
C04515
C04518
CD4520
C04566
74C163
74C164
74C173
74C192
74C193
74C195
74C922
74C923
74C925
74C926
80C95
80C97
2.49
2.49
2.49
5.95
6.25
8.95
8.95
1.50
1.50
LM710N 79
LM711N .39
LM723N/H .55
LM733N 1.00
LM739N 1.19
LM741CN/H .35
LM741-14N .39
LM747N/H .79
LM748N/1) .39
LM1310N 2.95
LM1458CN/H .59
MC14B8N 1.39
MC1489N 1.39
LM1496N .95
LM1556V 1.75
MC1741SCP 3.00
LM2111N 1.95
LM2901N 2.95
LM3053N 1.50
LM3065N 1.49
LM390ON(3401).49
CM39I-I5N
LM390SN
MC5558V
LM75450N
75451CN
7S452CN
75453CN
75454CN
75491CN
75492CN
75493N
75494CN
RC4136
RC4151
RC4194
RC4195
4.95
74LS00TTL
74LS138
741S139
74LS47
.89
74LS151
74LS51
.29
74LS155
74LS54
.29
74LS157
74LS55
.29
74LS160
74LS73
.45
74LS161
74LS74
.45
74LS162
74LS75
.59
7415163
74LS76
.45
741S164
74LS78
.49
74LS175
74LS83
.89
74LS181
74LS85
1.25
74LS190
74LSS6
.45
7415191
74LS90
.59
74LS192
74LS92
.75
74LS193
74LS93
.75
74LS194
74LS95
.99
74LS195
74LS96
1.15
74LS253
74LS107
.45
74LS257
74LS109
.45
74LS2S6
74LS112
.45
74LS260
74LS123
1.25
74LS279
74LS125
.89
74LS367
74LS132
.99
74LS368
74LS136
.49
74LS670
EXCITING NEW
JE600 HEXADECIMAL
ENCODER KIT
FEATURES:
• full 8 bit laldted output tor micro-
processor USB
• 3 User Define keys wiirt one being bi-
stable operation
• Oebounce circuit provided tor a* 19
keys
• LEO readout to verily entries
• Easy interfacing with standard 16 pin
1C connector
• Only +5VDC required lor operations
FULL 8 BIT LATCHED OUTPUT— 19 KEYBOARD
TheJE600Encoder Keyboard provides two separate hexadecimal
digits produced horn sequential key entries to allow direct proa-
ramming for 8 bit microprocessor or 6 bit memory circuits Three
(SJaddillonalkoysare provided foruseroperationswithonehavirto
a blstsbleoutputavaiui le. The outputs arelatcliedand monitored
with LED readouts. Also included is a key entry strobe.
JE600 $59.95
KITS Di o i,al
Thermometer Kit
■Dual sensors— switching control for In-
door/outdoor or dual monitoring
■Continuous LED .8" ht. display
■Range: -40°F to 199°F / -40°C to 100°C
•Accuracy: ±1°nominal
■Set far Fahrenheit or Celsius reading
■Sim. walnut case- AC wall adapter incl.
■Size: 3-1/4"HxB-5/8"Wx1-3/8 : 'D
JE300 $39.95
DISCRETE LEDS
.200' dil.
XC556R red
XC556G green
XC556Y yellow
XC556C clear
.200" dla.
XC22R red
XC22G green
XC22Y yellow
.170- dla.
MV10B red 4
.OSS' dla.
MV50 red 6
INFRA REO LED
1/4-X1/4-X1/16" flat
Sflj
5/St
4/S1
4/S1
4/S1
5/51
4/51
4/S1
XC209R
XC209G
XC209Y
XC526R
XC526G
XC526Y
XC526C
XC111R
XC111G
XCT11Y
XC111C
.125- a».
red
green
yellow
.185-dla.
red
green
yellow
dear
.190* dia.
red
green
yellow
clear
5/S1
4/S1
4/S1
5/S1
4/S1
4/S1
4*1
5/51
4/S1
4/S1
4/S1
DISPLAY LEDS
TIMEXT1001
LIQUID CRYSTAL DISPLAY
CLASS II
FIELD EFFECT
raj 4 zzz
4 DIGIT - .5" CHARACTERS
THREE ENUNCIATORS
2.00" X 1.20" PACKAGE
INCLUDES CONNECTOR
TIOOITransmiui e $7.95
T1Q01A-Reflective 8.25
TYPE
MM 1
MAN 2
MAN 3
MAN 4
MAN 76
MAN7Y
MAN72
MAN 74
MAN 82
MAN 84
MAN3620
MAN 3630
MAN 3640
MAN4610
MAN4640
MAN 4710
MAN 4730
MAN 4740
MAN 4810
MAN 4840
MAN 6610
MAN 6630
MAN6640
MAN 6650
POLARITY I
Common Anode-red
5 x 7 Dot Matrix-red
Common Cathode-red
CommonCatrtode-red
Common Anode-green
Common Anode-yellow
Common Anode-red
Common Cathode-red
Common Anode-yellow
Common Cathode-ydtow
Common Anode-orange
Common Anode-orange ♦ 1
Common Catiiode-orange
Common Anode-orange
Common Cathode-orange
Common Anode-red
Common Anode-red ± 1
Common Cathode-red
Common Anode-yellow
Common Cathode-yellow
Common Anode-orange-0.0. .
Common Anode-orange ± t
Common Cathode-oange-D.D. .
Common Catliode-ofange ± 1 ,
CommonAnode-orange
Common Cathode-orange
Common Anode-red-O.D.
TYPE
MAN 6730
MAN 6740
MAN 6750
MAN 6760
MAN 6780
DL701
DL704
DL707
DL728
DL741
0L746
0L747
DL749
DL750
DL338
FN070
FND358
FND359
FND503
FN0507
5082-7730
HDSP-3400
HDSP-3403
5082-7300
5082-7302
5082-7304
5082-7340
POLARITY
Common Anode-red ± 1
Common Cathode-red-D.D.
Common Cathode-red ± 1
Common Anode-red
Common Cathode -red
Common Anode-red ± 1
Common Cathode-red
Common Anode-red
Common Calhode-red
Common Anode-red
Common Anode-red ± 1
Common Anode-red
Common Cathode-red * 1
Common Cathode-red
Common Cathode-red
Common Cathode
Common Cathode ± 1
Common Cathode
Common Calhode(FND500)
Common Ancde (FND510)
Common Anode-red
Common Anode- ed
Common Cathode red
4x7 sgl. DlgilRHDP
4 x 7 Sgl. Digit-LHOP
Overrange character ( *1)
4x7 Sgl. Digit-Hexadecimal
1.30
2.10
2.10
19.95
19.95
15.00
22 50
RCA LINEAR
CA3013T
CA2023T
CA3035T
CA3039T
CA3046N
CA30S9N
CA3060N
CA3080T
CA3081N
2.15 CA3082N
2.56 CA3083N
2.48 CA3086N
1.35 CA3089N
1.30 CA3130T
3.25 CA3140T
3.25 CA3160T
.85 CA3401N
2.00 CA3600N
8 pin LP
14 pin LP
18PU1LP
18 pin LP
20 phi LP
1-24
.$17
.20
.34
IC
CALCULATOR
CHIPS/DRIVERS
MM5725
S2.95
MM5738
2.95
DM8864
2.00
DM3365
100
DMS887
.75
DM8889
.75
9374 7 seg.
C A LEO driver
150
CLOCK CHIPS
MM5309 $4.95
MM5311 4.95
MM5312 4. 95
MM5314 4.95
MM5316 6.95
MM5318 995
MM5369 2.95
MM5387/1998A 4.95
MM5841 9.95
MOTOROLA
MC1406I.7 $4.95
MC1408LB 5.75
MC1439L 2.95
MC3022P
MC3061P 3.50
MC4016(74416) 7 50
MC4024P
NTC4Q40P 6.95
MC4044P 450
.32
14 pin ST $.27 .25
16 pin ST .30 .27
18 pin ST .35 .32
24 pin ST .49 .45
8 pinSG $.30 .27
14P«SG .35 .32
16pinSG .38 .35
iSpinSG .52 .47
6 pin WW $39 .38
10 pin WW .45 .41
14 pin WW .39 .38
16 pin WW 43 .42
18pln WW 75 68
SOLOERTAIL — LOW PROFILE (TIN) SOCKETS
50-100 1-24
2 2 pin LP t .37
24 pin LP .38
28 pin LP 45
36 pin LP .60
M SOLOERTAIL STANDARD (TIN) «P'"LP 63
28 plnST $ .99
36pinST 1.39
40 pin ST 1.59
SOLOERTAIL STANDARD (GOLD)
24 pin SG $ -70
50-100
.35
.24
.29
WIRE WRAP SOCKETS
(GOLD) LEVEL #3
28plnSG 1-10
36pinSG 165
40pinSG 1-75
22 pin WW s .95
24 pin WW i 05
28 pin WW 1.40
36 pin WW 1.59
40 pin WW 175
11
1.30
1.40
1/4 WATT RESISTOR ASSORTMENTS - 5%
ASST. 3
ASST. 4
ASST. 5
ASST. 6
ASST. 7
10 OHM 12 OHM 15 OHM
27 OHM 33 OHM 39 OHM
68 OHM 82 OHM 100 OHM
180 OHM 2?0OHM 270 OHM
470 OHM 560 OHM 680 OHM
I 8 OHM 72 OHM
47 OHM 56 OHM
120 OHM 150 OHM
330 OHM 390 OHM
so pcs $1.75
so pes 1 .75
3.3K
Sea B.2K
1.3K
3.9K
180K
470K
1.?M
3.3M
l.flK
4.7K
22QK
560K
1.5M
3.9M
8?0 OHM
2.2K
IK
2.7K
39K
IBK
47K
I00K 120K
270K 330K
680K 820K
I-8M ?.?M
4.7M 5.6M
BO PCS
50 PCS
50 PCS
SO PCS
1.75
175
1.75
1.75
ASST. 8R Includes Resistor Assortments 1-7(350 PCS.
so pcs 1.75
$9.95 ea.
$10.00 Mln. Order - U.S. Funds Only Spec Sheets - 25f
Calif. Residents Add 6% Sales Tax 1979 Catalog Available - Send 41c 1 stamp
Postage— Add 5% plusSI Insurance (if desired)
PHONE
ORDERS
WELCOME
(415) 592-8097
EE3H33EJI
MAIL ORDER ELECTRONICS - WORLDWIDE
1021 HOWARD AVENUE. SAN CARLDS. CA 94070
ADVERTISED PRICES GOOD THRU AUGUST
TELEPHONE/KEYBOARD CHIPS ^^\
AY-5-9100 Push Button Telephone Oialler S14.95
AY-5-9200 Repertory Dialler 14.95
AY-5-9500 CMOS Cbck Generator 4.95
AY-5-2376 Keyboard Encoder (86 keys) 14.95
HD0165 Keyboard Encoder 16 ksys) 7.95
74C922 Keyboard Encoder (16 keys) 5.95
ICM7045
ICM7205
ICM7207
ICM7208
ICM7209
ICM CHIPS
CMOS Precision Timer
CMOS LED Stopwatch /Timer
Oscillator Controller
Seven Decade Counter
Clock Generator
24.95
19.95
7.50
19.95
6.95
NMOS READ ONLY MEMORIES
MCM6571 128 X 9 X 7 ASCII Shitted with Greek 13.50
MCM6574 128 X 9 X 7 Math Symbol & Pictures 13.50
MCM6575 128 X 9 X 7 Alphanumeric Control 13.50
Character Generator
TL074CN
TL494CN
TL496CP
11C90
95H90
4N33
MK50240
DS0026CH
TIU08
MM5320
MM5330
L0110/111
MISCELLANEOUS
Quad Low Noise bi-fet Op Amp
Switching Regulator
Single Switching Regulator
Orvfde 10/11 PrescaFer
Hl-Speed Oi Ide 10/11 Piescaler
Photo-Darlington Opto-lsolator
Top Octave Freq. Generator
5Mhz 2-phase MOS clock driver
2.49
4.49
1.75
19.95
1T.95
3.95
17.50
3.75
,27" red num. display w/integ. logic chip 1 0.50
TV Camera Sync. Generator
4V* Digit DPM Logic Block (Special)
3V4 0igitA/D Converter Set
14.95
3.95
25.00/set
LITRONIX ISO-LIT 1
Photo Transistor Opto-lsolator
(Same as MCT 2 or 4N25)
2/99^
SN 76477
SOUND GENERATOR
Generates Complex Sounds
Low Power - Programmable
3.95 each
TV GAME CHIP AND CRYSTAL
AY-3-8500-1 and 2.01 MHZ Crystal (Chip & Crystal _ _. .
includes score display. 6 games and select angles, etc, f . JU/ScI
$840
4.40
4.40
1.55
XR205
XR210
XR215
XR320
XR-L555 1.50
XR555 .39
XRS56 .99
XR567CP .99
XR567CT 1.25
XR131DP 1.30
XR1468CN 3.85
XR1488 1.39
XR1489 1.39
EXAR
JE2206KA 14.95
JE2206KB 19.95
XR1B00 3.20
XR2206 4.40
XR2207 3.85
XR220B 5.20
XR2209 1.75
XR2211 5.25
XR2212 4.35
XR2240 3.45
XR2242CP 1.50
XR22B4 4.25
XR2556 3.20
XR2567
XR3403
XR4136
XR4151
XR4194
XR4202
XR4212
XR4558
XR4739
XR4741
1.25
1.25
2.85
495
360
2.05
.75
1.15
1.47
TYP*
1N746
1N751
1N752
1N753
1N754
1N757
1N759
1N959
1N965
1NS232
1N5234
1N523S
1N5238
1N5242
1N5245
1N456
1N458
1H465A
W0O1
DIODES
VOLTS W
3.3 400m
5.1 400m
5.6 400m
6.2 400m
6.8 400m
9.0 400m
120 400m
8.2 400m
15 400m
5.6 500m
500m
SOOm
500m
PRICE
4/1.00
4/1.00
4/1.00
4/1.00
4/1.00
4/1.00
4/1.00
4/1.00
4/1.00
50 PIV 1 AMP
6/1.00
6/1.00
5/1.00
12/1.00
TYPE
1N4002
1N4O03
1N4004
1N4005
1N4005
1N4007
1N3600
1N4148
1N4154
1N4305
1N4734
1N4735
1N4736
1N4738
1N4742
1N4744
1N1183
1N1184
1N1165
1N1186
1.N1188
VOLTS W
100 PIV1AMP
200 PIV 1 AMP
400 PIV 1 AMP
600PIV1 AMP
800 PIV 1 AMP
1000 PIV 1 AMP
200m
75
10m
35 10m
PRICE
12/100
12/1.00
12/1.00
10/100
10/1.00
10/1.00
6/1.00
15/1.00
12/100
15/1.00
2B
28
15
1w
50 PIV35 AMP
100PIV35AMP
150PIV35AMP
200 PIV 35 AMP
400 PIV 35 AMP
SCR AND FW BRIDGE RECTIFIERS
C36D 15A ® 400V SCR(2N1849)
C38M 35A @ 600V SCR
2N23Z8 1.6A @ 300V SCR
MOA 980-1 12A @ 50V FW BRIDGE R£C
MDA 980-3 12A®20QV FVDLBRIDGE R£C.
C106S1
MPSA05
MPSA06
TI597
TIS98
40409
40410
40673
2N918
2N2219A
2N2221A
2N2222A
PN2222 Plastic
2N2369
2N2369A
MPS2369
2N2484
2N2906
2N2907
PN290? Pestle
2N292S
MJE23S5
2N30S3
I Transistors
1.95
5/1.00
6/1.00
6/1.00
4/1.00
5/1.00
7/1.00
5/1.00
4/1.00
5/1.00
4/1.00
4/1.00
5/1.00
7/1.00
5/1.00
1.25
2/100
2N3055
MJE3055
2N3392
2N3398
PN3567
MPS3638A
MPS3702
2N3704
MPS3704
2N3705
MPS3705
2N3706
MPS3706
2N3707
2N3711
2N3724A
2N3725A
2N3772
2N3823
2N39Q3
1.00
5/1.00
5/1.00
3/1.00
4/1.00
4/1.00
5/1.00
5/1.00
5/1.00
5/1.00
5/1.00
5/1.00
5/1. DO
5/1.00
5/1.00
5/1.00
65
1.00
2N3904
2N3905
2N3906
2N4013
2N4123
PN4249
PN4250
2N4400
2N4401
2N4402
2N4403
2N4409
2N5086
2N5087
2N5088
2N5089
2N5129
PN5134
PN5138
2N5139
2N5210
2N5449
2N5951
4/1.00
4/1.00
4/1.00
3/1.00
6/1.00
4/1.00
4/1.00
4/1. 00
4/1.00
4/100
4/1.00
5/1.00
4/1.00
4/1.00
4/1.00
4/1.00
5/100
5/1.00
5/1.00
5/1.00
5/1.00
3/1.00
3/1.0Q
CAPACITOR K= CORNER
10 pf
22 pi
47 pt
100 pi
220 pi
470 Dt
.001ml
.0022
0047mt
.01ml"
.1/35V
• 15/35V
.22/35V
.33/35V
47/35V
.68/35V
1.0/35V
.47/50V
1.0/50V
3.3/50V
4.7/25V
10/25V
10/50V
22/2 5V
22/50V
47/25V
47/50V
100/25V
100/50V
220/25V
220«0V
470/25V
1000/16V
2200/16V
.04 03 .OOVF
.04 .03 .0047^
.04 .03 .OVF
.04 .03 .022/iF
.04 .03 .047 M F
.04 .035 .W
100VOLT MYLAR FILM CAPACITORS
.022ml
047ml
_». 10-99 100
.05 .04 OlT
.05 .04 .035
.05 .04 .035
.06 .OS .04
.06 .05 .04
.09 .075
.12 .10 .07
.12 .10 .07
.13
.11
08
12
1ml
-22ml .33 2
+20% DIPPED TANTALUMS (SOLID! CAPACITORS
' 1.5/35V .30 2!
2-2/25V .31 .2
33/25V 31 .2
4.7/25V 32 .21
6.8/25V .36 .31
15/25V .63 .H
.28
.28 .23
.17
•WW TUBE ALUMWUM ELECTROLIfTIC CAPACITORS
UrWLttd ItodiiJLud
.15 .13 .10 47/25V .15 13
-16 .14 .11 .47/50V .16 .14
.14 .12 .09 1.0/16V .15 .13
-15 .13 .10 1.0/25V .16 .14
.15 .13 .10 1.0/50V .16 .14
16 .14 .12 4.7/16V .15 .13
.17 .15 .12 4.7/25V .15 .13
.24 .20 .18 4.7/50V .16 .14
.19 .17 .15 10/16V .14 .12
.25 .21 .19 10/25V .15 13
.24 .20 .18 10/50V .16 .14
.35 .30 .28 47/50V .24 .21
.32 .28 .25 100/16V .19 .15
.45 .41 .38 100/25V .24 .20
.33 .29 27 100/50V .35 .30
.55 .50 .45 220/16V .23 .17
.70 .62 .55 470/25V .31 .28
240 BYTEAugustl979
Circle 200 on inquiry card.
Transistor Checker
- Completely Assembled —
— Battery Operated —
The ASI Transistor Checker is cap-
able of checking a wide range of
transistor types, either "in circuit"
or out of circuit. To operate,
simply plug the transistor to be
checked into the front panel
socket, or connect it with the alli-
gator clip test leads provided.
The unit safely and automatically
identifies tow, medium and high-
power PNP and NPN transistors.
Size: 3%" x 6V*" x 2"
"C" cell battery not included.
Trans-Check $29.95 e<X
Custom Cables & Jumpers
Part No.
DB25P-4-P
DB25P-4-S
DB25S-4-S
DJ14-1
DJ16-1
DJ24-1
DJ14-M4
DJ16-1-16
DJ24-1-24
DB 25 Series Cables
Cable Length Connectors Price
4 Ft, 2-DP25P S15.95 ea.
4 r 1-DP25P/1-25S S16.95 ea.
4 ft, 2-DP25S
Dip Jumpers
1 -'14 Pin
1-16 Pin
1 -24 Pin
2-14 Pin
2-16 Pin
2-24 Pin
1ft.
1 ft.
1 ft.
1 ft.
1ft.
1 ft.
S17.95 ea.
S1 .59 ea.
1.79 ea.
2.79 ea.
2.79 ea.
3.19 ea.
4.95 ea.
For Custom Cables & Jumpers, See JflMECO 1979 Catalog for Pricing
CONNECTORS
25 Pin-D Subminiature
DB25P (as pictured} PLUG (Meets RS232) $2.95
DB25S SOCKET (Meets RS232) 53.50
DB51 226-1 Cable Cover for DB25P or DB25S $1.75
PRINTED CIRCUIT EDGE-CARD
156 Spacino-T'f-Doufi'* Read -Out — Btfuracted Contacts — Fits .054 to .070 PC Cards
15/30 PINS (Solder Eyelet) $1.95
18/36 PINS (Solder Eyelet) $2.49
22/44 PINS (Solder Eyelet) $2.95
50/100 (.100 Spacing) PINS (Wire Wrap) $6.95
50/100 (.125 Spacing) PINS (Wire Wrap) R681-1 $6,95
4-Digit Clock Kit
* Brignt .357" ht. red display
* Sequential flashing colon
* 12 or 24 hour operation
* Extruded aluminum case (black}
* Pressure switches for hours, minutes & hold functions
* Includes all components, case and wall transformer
* Size: 3Vj x IVi x 1V4
je730 $14.95
Jumbo
6-Digit Clock Kit
* Four ,630"ht. and two ,30Q"ht. common anode displays
* Uses MM5314 clock chip
* Switches far hours, minutes and hold functions
* Hours easily viewable to 30 feet
* Simulated walnut case
* 115VAC operation
* !2 or 24 hour operation
* Includes all components, case and wall transformer
* Size: 6V< X 3Vb x l*i
je747 $29.95
JE701
• Bright .300 ht. comm. cath-
ode display
• Uses MM53 14 clock chip
•Switches for hours, minutes
and hold modes
•Hrs. easily viewable to 20 ft.
• Simulated walnut case
•115 VAC operation
• 1 2 or 24 hr. operation
•Incl. all components, case Si
wall transformer
•Size: 6&" x 3-1/8" x 1 %"
6-Digit Clock Kit $19.95
REMOTE CONTROL
TRANSMITTER* RECEIVER
$19.95
Digital Stopwatch Kit
* Use Intersil 7205 Chip
♦Plated tnru double-sided P.C. Board
* LED display (red)
* Times to 59 min. 59.59 sec. with auto reset ;
* Quartz crystal controlled
* Three stopwatches in one: single event, split
(cummulatlve)& taylor (sequential timing)
* Uses 3 pentite batteries
* Size: 4.5" x2.15" x .90"
je900 $39.95
MICROPROCESSOR COMPONENTS
8080A
8212
8214
8216
8224
8226
8228
8238
8251
8253
8255
8257
8259
MC6800
MC6802CP
MC6810API
MC6821
MC6828
MC6830L8
MC6850
MC6852
MC6860
MC6862
MC6880A
Z80(780C)
2B0A(78O-1) CPU
CDP1802
2650
6502
8035
P8085
TMS990aiL
-8080A/8080A SUPPORT OEVICES—
CPU
8-Bit Inpul Output
Priority Interrupt Control
Bf-Directionai Bus Driver
Clock Generator/Driver
Bus Orlver
System Conlroller/Bus Driver
System Controller
Prog. Comm. 1/0 (USART)
Prog. Interval Timer
Prog. Periph. 1/0 (PPI)
Prog. DMA Control
Prog. Interrupt Control
—6800/6800 SUPPORT OEVICES —
-MICROPROCESSOR MANUALS -
M-Z80 User Manual
M-CDP1802 User Manual
M-2650 User Manual
S7.50
7.50
5.00
- ROM'S -
2513(2140) Character Genera1or(upper case) $9 95
2513(3021) Cfia acler Genera1or(lower case) 9.95
2516 Characler Generator 10.95
MM5230N 2048-Bil Read Only Memory 1 .95
MPU
S14.95
MPU with Clock and Ram
2495
128X8 Sialic Ram
5.95
Periph. Inter. Adapt (MC6820)
7.49
Priority Interrupt Controller
12.95
1024X8 Bil ROM (MC68A30-8)
14.95
Asynchronous Comm. Adapter
7 95
Synchronous Serial Data Adapt.
9.95
0-600 bps Digital MODEM
12.95
2400 bps Modulator
14.95
Quad 3-Slate Bus. Trans. (MC8T26)
2 25
PROCESSOR CHIPS-MISCELLANEOUS
CPU
$19.95
CPU
24.95
CPU
19.95
MPU
1995
B-Bit MPU w/clock, RAM, 1/0 lines
CPU
16-Bil MPU w/ltardware, multiply
& divide
SHIFT REGISTERS
1101
5103
2101(8101)
2102
21L02
2111(8111)
2112
2114
2114L
2114-3
2114L-3
5101
5280/2107
7489
74S200
93421
UP0414
(MK4027)
UPD416
(MK4116)
TMS4044-
45NL
TMS4045
2117
256X1
1024X1
256X4
1024X1
1024X1
256X4
256X4
1024X4
1024X4
1024X4
1024X4
256X4
4096X1
16X4
256X1
256X1
4K
MM500H
Dual 25 Sit Dynamic
MM503H
DualSO Git Oynamic
MM504H
Oual 16 Bil Static
MM506H
Oual 100 Bit Static
MM510H
Dual 64 Bit Accumulator
MM5U16H
500/512 Bit Dynamic
2504T
1024 Dynamic
2513
Hex 32 Bit Slatic
2522
Oual 132 Bit Sialic
2524
512 Static
2525
1024 Dynamic
2527
Dual 256 Bit Slatic
2528
Duat250 Static
2529
Oual 240 Bit Static
2532
Quad 80 Bit Slaur
2533
1024 Sialic
3341
Fifo
74LS670
4X4 Register File (TriSta
$.50 MM5262 2KX1
- RAMS
Sialic
Dynamic
Static
Static
Sialic
Static
Static M0S
Slalic450ns
Static 450ns low power
Static 300ns
Sialic 300ns low power
Slatic
Dynamic
Sialic
Sialic Trislate
Static
Dynamic 16 pin
Dynamic 16 pin
Sialic
Static
Dynamic 350ns
(liouse marked)
Oynamic
1.75
4.95
2.95
- PROM'S-
3.95
4.95
2.95
.99
2.95
2.95
4.00
4,00
2.95
2.95
1702A
2716INTEL
TMS2516
(2716)
TMS2532
2708
2716T
2048
FAM0S
16K* EPROM
16K' EPRDM
■Requires single +5V power supply
4KX8 EPROM
8K EPROM
16K" EPROM
"Requires 3 voltages, — 5V, +5V, +12V
5203 2048 FAM0S
A-Y-5-1013 30K GAUD
6301 -.1(7611) 1024
6330-1(7602) 258
82S23 32X8
82S115 4096
82S123 32X8
74186 512
7418B 256
74S287 1024
Trislale Bipolar
Open C Bipolar
Open Collector
Bipolar
Trislate
TTL Open Collector
TTL Open Collector
Static
3.95
19.95
3.95
995
3.95
2.95
CONTINENTAL SPECIALTIES
Ptoto Board 203
*75.00
Number
LiWiH
(Inches)
Price
P8-6 6.0x4.5x1.4 515.95
PB-100 6.0 X 4.5 x 1.4 $19.95
PB-1U1 6.0x4,5x1.4 S22.95
Board 203 A
All iht return ill 1h« PB 20J elm
ufdid mil i-i.vt si!(iij'' t Mdibilily.
piavidti r; R.-;..ijr--i 5VOC supply
lunu mtcilicitmni » PB 2031 Ht,
uUied lepiriit +t5VOC md -IS
VOC 0.5A suapliti. -J.:" with
InUtMtt) »r>d ini]e(iBfiden]|y ii)|U>t
-1SV it
I )0mV II
PBZQ3A $724.95
Model LiWiH
Number (Inches) Price
PB-102 7.0x4.5x1.4 $26.95
PB-103 9.0x6.0x1.4 $44.95
PB-104 9.8x8.0x1.4 $54.95
THE SINCLAIR PDM35
Options: AC adapter lor
117 V 60 Hz power
De-luxe padded
carrying wallet.
DC Uolls (4 ranges)
Range 1mV1o 1000V
Accuracy ol reading 1.0%- 1 count.
Nole 10MO inpul impedance
AC Volls (40 Mi-5 KIIjtI
Range IV to 500 V.
Accuracy ol reading 1 ± 2 counts
DC Current (6 ranges)
Range 1 n-\ lo20t)m.\.
Accuracy ol reading 1 - 1 count.
Note: Max. resolution 1 n.A
Resistance (5 ranges)
Range 1X2 to 20 Un
Accuracy ol reading: 1.5%± 1 count.
Also provides 5 jundion-lest ranges
Dimensions: 6 in x 3 in x T'i in.
Weight: 6V* oz.
Power S
Sinclair ..__
Sockets: Standard 4mm lor
resilient plugs
PDM35: Digital Multimeter .
(completely assembled)
PDM-AC: 117V AC Adapter .
PDM-DP:
Deluxe padded carrying case.
, . $59.95
. 6.95
. 6.95
JE200
JE200 $14.95
5V-1 AMP
POWER SUPPLY
*Uses LM309K
*Heat sink provided
*PC Board construction
♦Provides a solid 1 amp
@ 5 volts
*Can supply up to ±5V,
+ 9V and ±12V with
JE205 Adapter
♦Includes components,
hardware & instructions
♦Size: 3J4"x5"x2"H
100 MHz
8-Digit
Counter
• 20 HM00MH: Range • Four power souces, I.e
« 6 LED Display batteries. 1l0or220Vwith
• Cryslakontrolled limebas* charger 12V with aulo
• Fully Automatic lighter adapter and external
• Portable — completely 7. 2- 10V power supply
.£38?x7.3i- MAX10 ° $134.95
*5 63* .
ACCESSORIES FOR MAX 100:
Mobile Chirger Eliminator
use power Irom car battery Model 100 — CLA S3. 95
Charger/Ellmlnstor
use 110 VAC Model 100 — CAIS9.95
REGULATED POWER SUPPLY {&
JE205
ADAPTER BOARD
- Adapts to JE200 -
±5V,±9Vand±12V
•DC/DC converter w/
+ 5V input
•Toriodal hi-speed
switching XMFR
'Short circ. protection
•PC Brd. construction
•Piggy-hack to JE200
board
■Size:3%"x2"x9/16"h
JE205 $12.95
S10.00 Min. Order - U.S. Funds Only Spec Sheets - 25s?
Calif. Residents Add 6% Sales Tax 1979 Catalog Available - Send 41* stamp
Postage— Add 5% plusSI Insurance (if desired)
PHONE
ORDERS
WELCOME
(415) 592-8097
FREE
? 1979 catalog;
J a 3
MAIL ORDER ELECTRONICS - WORLDWIDE
1021 HOWARD AVENUE, SAN CARLOS, CA 94070
ADVERTISED PRICES GOOD THRU AUGUST
The Incredible
"Pennywhistle 103'
$139.95
Kit Only
The Pennywhlslln 103 is capable ol recording data 1o and from audio tape without
cnlicalspeed requirements forlhe recorderandilis ablelo communicatedirecllywilh
another modern and terminal lor telephone "hamming" and communications. In
addition, it is free ol critical adjustments and is built with non -precision, readily available
parts.
Data Transmission Method Frequency-Shift Keying, lull-duplex (halt-duplex
selectable).
Maximum Dala Rale 300 Baud.
Data Formal Asynchronous Serial (return to marklevel required
between each character).
Receive Channel Frequencies . . .2025 Hz lor space; 2225 Hzlor mark
Transmit Channel Frequencies , .Switch selectable: Low (normal) >• 1070 space,
1270 mark; High = 025 space. 2225 mark.
Receive Sensitivity -46 dbm accousticaily coupled.
Transmit Level -t5 dbm nominal. Adjustable from -6 dbm
to -20 dbm.
Receive Frequency Tolerance .. .Frequency reference automatically adjusts 1o
allow1oropera1ionbe1ween1800Hzand2400Hj.
Digital Data Interlace EIA RS-232C or 20 mA current loop (receiver is
oploisolated and non -polar).
Power Requirements 120 VAC, single phase. 10 Watts.
Physical. ....All components mount on a single 5* by 9"
printed circuit board All components included.
Requires a VOW. Audio Oscillator, Frequency Counter and/or Oscilloscope to align.
TRS-80
16K Conversion Kit
Expand your 4K TRS-80 System to 16K. Kit
comes complete with:
* 8 each UPD416-1 (16K Dynamic Rams) 250NS
* Documentation for conversion
TRS-16K
$75.00
COMPUTER CASSETTES
. 6 EACH 15 MINUTE HIGH
QUALITY C-15 CASSETTES
. PLASTIC CASE INCLUDED
12 CASSETTE CAPACITY
. ADDITIONAL CASSETTES
AVAILABLE#C-15-S2.95ea
CAS-6
$14.95
(Case and 6 Cassettes)
SUP 'R' MOD II
UHF Channel 33 TV Interface Unit Kit
Wide Band B/W or Color System
• Converts TV to Video Display tor
home computers, CCTV camera,
Apple II, works with Cromeco Daz-
zler, SOL-20. IRS-80, Challenger,
etc.
MOD II is pretuned to Channel 33
(UHF).
* Includes coaxial cable and antenna
transformer.
MOD II
$29.95 Kit
Function Generator Kit
* Provides 3 basic waveforms:
sine, triangle & square wave
* Frequency range from 1 Hz to
100K Hz
* Outputamplituue fromO-voltsto
over 6 volts (peak to peak)
* Uses a 12Vsupp!yora±6V split
supply
* Incl. chip. P.C. board, compo-
nents and instru tions.
JE2206B $19.95
IDEAL FOR TRS 80 CASSETTE CONTROLLER
"Plug/Jack interface to any
computer system requiring
remote control ot cassette
functions"
The CC100 controls cassette
motor functions, monitors
tape location with its internal
speaker and requires no
power. Eliminates the plugging
and unplugging of cables dur-
ing computer loading opera-
tion from cassette.
63-Key Unencoded Keyboard
This is a 63-key, terminal keyboard newly manufactured by a
large computer manufacturer. It is unencoded with SPST keys,
unattached to any kind of PC board. Avery solid molded plastic 13
x 4" base suits most application. IN STOCK §29 95/eacfl
Hexadecimal
Unencoded
Keypad
19-key pad includes 1-10 keys,
ABCDEF and 2 optional keys and a
shift key. $10.95/each
Circle 201 on inquiry card.
BYTE August 1979 241
Circle 171 on inquiry card.
COMPUCOLOR II IS HERE!!
HERE IS A SURPRISINGLY
AFFORDABLE COMPUTER
THAT MAKES THE COMPE-
TITION LOOK TWICE I !
STANDARD FEATURES
4 13" COLOR CRT
* SPECIAL GRAPHICS PKG.
* EXTENDED DISK BASIC
* MINI DISK DRIVE
* 8K RAM MEMORY
* 72 KEY KEYBOARD
PRICE & OPTIONS
MODEL 3- 8K USER RAM- 1495 .oo
MODEL 4-16K USER RAM -1695. oo
MODEL 5-32K USER RAM -1995. oo
2nd DISK DRIVE -400.oo
EXPANDED KEYBOARD - 1 3 5 .oo
FORMATTED DISKETTE - 5 .oo
MANY PROGRAMS AVAILABLE *
TO ORDER
SEND CHECK OR MONEY ORDER
CALIF. RES. add 6% TAX
shipping 1% all orders
HOLLYWOOD
SYSTEMS
CATALOG - 5(K
9100 SUNSET BLVD.
SUITE 112
L.A. CALIF. 90069
n
BECKIAN ENTERPRISES
All Prime Quality — New Parts Only
Satisfaction Guaranteed
J5y'
EDGE CARD CONNECTORS: GOLD PLATED. (Not Gold Flash}
BODY: Non brittle. Solvent res., G.E. Valox.
CONTACTS: Bifurcated; Phos/Bronze: Gold over Nickel.
ABBREVIATIONS: S/T Solder Tail; S/E Sold. Eyelet:
W/W Wire Wrap 3; SW/W Short W/Wrap;
PART P
5010
5020
5030
5040
5050
1450
Description
50/100 S/T ALTAIR
50/100 S/T IMSAI
50/1 00 W/W IMSAI
50/100 S/E ALT/IMSAl
50/100 S/T.CROMEMCO
IMSAI CARD GUIDES
.100" Contact Center Connectors.
1020
1040
1050
1060
1065
1070
1075
1080
1085
1090
1093
1095
13/26 S/E Imsai MIO:
2 5/50 S/E
2 5/50 S/T
36/72 W/W Vector.
36/72 S/T Vector.
40/80 S/E PET
40/80 W/W PET
40/80 S/T PET
43/85 S/E Cos. ELF
43/86 S/T Cos. ELF
43/86 S/T Cos.ELF
43/86 W/W Cos.ELF
POLARIZING KEYS: For Above
.156" Contact Center Connectors.
1550 6/- S/E PET.Etc
1560 6/12 S/T PET:NSC.
1575 12/24 S/E PET
1580 12/24 S/T PET
1590 1 5/30 S/E GRI Keybd.
1620 18/36 S/E
1650 22/44 S/E KIM.VECTOR
1660 22/44 S/T KIM.VECTOR
1670 22/44 W/W KIM.VECTOR
1690 36/72 W/W
1710 36/72 S/E
1720 36/72 S/T
1730 43/86 S/T Mot. 6800
1740 43/86 S/T Mot. 6800
1 750 43/86 W/W Mot. 6800
POLARIZING KEYS: For Above
Bow Sp.
.140
.250
.250
.140
.250
.140
.140
.140
.200
.200
.140
.200
.140
.140
.140
.200
.200
.140
.140
.140
.140
.140
.140
.140
.140
.200
.200
.140
.200
.140'
.200
.200
1-4
3.75
3.95
4.10
5.00
6.25
0.16
2.10
2.95
3.00
4.80
4.00
4.80
5.00
4.90
5.00
5.10
4.95
5.50
0.10
1.30
1.35
2.15
2.10
2.25
2.40
2.20
2.00
2.40
3.90
3.50
3.30
4.40
4.35
4.45
0.10
5-9
10-24
3.50
3.30
3.75
3.50
3.90
3.70
4.50
4.25
6.00
5.75
0.14
0.12
1.85
2.75
2.80
4.60
3.75
4.50
4.65
4.60
4.75
4.85
4.70
5.20
0.10
1.10
1.15
1.95
1.90
2.05
2.20
2.00
1.80
2.20
3.75
3.30
3.10
4.15
4.10
4.25
0.10
1.75
2.50
2.60
4.30
3.50
4.30
4.35
4.25
4.50
4.60
4.45
4.90
0.10
0.90
0.95
1.75
1.70
1.85
2.00
1.80
1.70
2.00
3.50
3.10
2.90
3.90
3.85
4.10
0.10
RS232 & 'D' TYPE SUBM1NIATURE CONNECTORS:
QUANTITY
DE9P Male
DE9S Female
DE1 10963-1
DA15P Male
DA15S Female
DA51211-1
DA1 10963-2
DB25P Male
DB25S Female
DB51212-1
DB51226-1A
DB1 10963-3
DC37P Male
DC37S Female
DC1 10963-4
DD50PMale
DD50S Female
DD51216-1
DD1 10963-5
2pc. Grey Hood
1pc. Grey Hood
2pc. Grey Hood
1pc. Grey Hood
2pc. Black Hood
2pc. Grey Hood
2pc. Grey Hood
1pc. Grey Hood
2pc. Grey Hood.
D2041B-2 Hardware Sets
1-4
1.45
193
1.20
1.95
2.80
1.25
1.22
2.20
3.20
1.30
1.40
1.35
3.70
4.90
1.95
4.40
4.90
2.30
2.40
0.75
5-9
1.35
1.80
1.10
1.80
2.60
1.15
1.10
2.10
3.00
1.20
1.30
1.25
3.50
4.70
1.85
4.30
4.70
2.10
2.20
0.70
10-24
1.25
1.70
1.00
1.70
2.40
1.10
1.05
1.90
2.70
1.10
1.20
1.15
3.35
4.40
1.75
4.10
4.50
1.90
2.00
0.65
IC. SOCKETS. GOLD.
WIRE WRAP 3 TURN.
14 pin $0.36 ea.
16 pin 0.38 ea.
IC. SOCKETS
Dip Solder. Tin .
14 pin $0.1 5 ea.
16 pin 0.17ea.
8080 PRIME
$B.OO ea.
2708 EPROMS PRIME
$14.00 ea.
CONNECTORS FOR CENTRONICS 700 SERIES:
Amhpenol 57-30360 For Back of Centronics '700' Series:
Price: $9.00ea. 5 pes. $7.50ea.
WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet.
Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. JL4 5^9 10-24
$22.00 $19.00 $18.00
WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE
WELCOME.
WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IF YOU DO NOT SEE
WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL
RE PL Y.
TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders
o*er$25.00 in USA and Canada: WE PA Y THE SHIPPING.
NOTE: CA residents please add 6% sales tax.
NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.
MAIL orders to ^ ec i Qim Enterprises
P.O. Box 3089
Simi Valley, CA 93063
242 BYTE August 1979
Circle 30 on inquiry card.
PRECUTWIRE
#30 WIRE KITS
#1 $7.95 #2 $19.95
WIRE WRAP TOOLS
250
3"
100 4V 2 "
250
2V 2 "
250
5"
250
3V 2 "
100 5"
500
3"
100
5 1 / 2 "
100
4"
100 6"
500
3 1 / 2 "
250
6"
500
4"
100
6 1 / 2 "
250
4 1 / 2 "
100
7"
#3
$24.95
#4 $44.95
500
500
500
500
2V 2 '
3"
3V 2 '
4"
500 4V 2 "
500 5"
500 5V 2 "
500 6"
1000 2'/ 2 " 1000 4V 2 "
1000 3" 1000 5"
1000 3V 2 " 1000 5'/2"
1000 4" 1000 6"
Choose One Color or Random Assortment:
Red, Blue, Green, Yellow, White, Orange, Black.
* #26 Prices on Request
#30 Kynar stripped 1" on each end. Lengths are overall.
Colors: Red. Blue, Green, Yellow. Black, Orange, White.
Wire packaged in plastic bags. Add 25C/length for tubes.
In_
2V?
3
3</2
4
4V 2
5
5'/?
6
6'/?
7
Vh
9Va
10
100
1.04
1.08
1.13
1.18
1.23
1.28
1.32
1.37
1.60
1.66
1.73
1.78
1.82
1.87
1.92
1.99
:15
500
1000
5000
2.98
. 5.16/K
4.67/K
3.22
5.65/K
5.06/K
3.46
6.14/K
5.46/K
3.20
6.62/K
5.87/K
3.95
7.1 2/K
6.25/K
4.20
7.61/K
6.62/K
4.48
8.10/K
7.03/K
4.72
8.59/K
7.43/K
5.37
9.84/K
8.48/K
5.63
10.37/K
8.91/K
5.89
10.91/K
9.33/K
6.15
11.44/K
9.79/K
6.41
11.97/K
10.19/K
6.76
12.51/K
10.62/K
6.93
13.04/K
11.05/K
7.26
13.57/K
11.48/K
.60
HOBBY
WIRE WRAP TOOL
BW 630 (Back Force) $34.95
BT 30 Extra Bit 2.95
BT 2628 #26 Bit 7.95
Batteries & Charger 11.00
INDUSTRIAL
WIRE WRAP TOOL
BW928
BW 928BF (Back Force)
#30 Bit & Sleeve
#26 Bit & Sleeve
Batteries & Charger
$49.95*
52.95*
29.50
29.50
11.00
ELECTRICAL INDUSTRIAL
WIRE WRAP TOOL
EW7D
EW 7D BF (Back Force
#30 Bit & Sleeve
#26 Bit & Sleeve
Industrial Tools do not include Bit & Sleeve
L Spring Loaded bit on Back Force models.
$85.00*
92.90*
29.50
29.50
£
EDGE CARD CONNECTORS
44 pin Solder Tail $1.95 $17.50/10 ALLareGold
00 pin Solder Tail $3.95 $35.00/10 100 pin are IMSAI
00 pin Wire Wrap S3.95 S35. 00/10 spacing.
TT
b
(
INTERCONNECT CABLES
•s
Ribbon cableconnectorsfor connecting boards to front panels, or board to board.
SINGLE ENDED DOUBLE ENDED
14 pin )6 pin 24 pin 14 pin 16 pin 24 pin
6"
12"
24"
48"
1 24 1 34 2.05
1 33 1.44 2 24
1.52 1.65 2 63
1.91 2.06 3.40
224 2.45
2.33 2.55
252 2.76
291 3.17
3.37
392
4.31
5.08
OK PRODUCTS
WD 30
50 ft.
Wire Dispenser Red,
White, Blue,
or Yellow
S3.75
WD-30-TRI
R-30-TR]
TRI Color Dispenser
Refill for TRI Color
5.50
3.75
INS 1416
14 &
16 pin Insertion Tool
3.25
MOS40
40 pir
Insertion Tool
7.50
EX-1
IC Ex
tractor Tool
1.49
H-PCB-1
WSU 30
WSU 30M
Hobby PC Board
Hand Wrap/Unwrap/Strip Tool
Same as WSU30 with Modified Wrap
4.99
6.25
7.50
SOLDERLESS
BREADBOARDS
SK 10 $16.50
2.2" x 6.5" .//.&
MB1Q
$18.95
SK10 mounted on board
W74 Binding Posts &
Rubber Feet
WIRE WRAP SOCKETS
1-9 10-24 25-99 100-249 250-999
8 pin'
.40
.36
.34
.31 .27
14 pin'
—
.39
.37
34 .32
16 pin'
—
.42
.40
.36 .34
18 pin'
70
.60
55
.50 .45
20 pin
.90
.80
.75
.65 .62
22 pin"
.95
85
.80
.70 .65
24 pin
.95
.85
.80
.70 .65
25 pin strip
1.25
1.15
1.00
.95 .90
28 pin
1.25
1.15
1.00
.95 .90
40 pin
1.65
1.45
1.35
1.20 1.10
. Gold 3-Level Closed
Entry Design
•End & Side Stackable
^
2-Level Sockets Available
P/K mm, mm
135 E. Chestnut St. #5 Monrovia 1 . CA 91016 (213) 357-5005
^
Ordering Information:
• Orders under $25 and COD's add $2
• All others, shipped Ppd in U.S, via UPS
• For Blue Label (Air) or 1st Class, add $1
• We accept Visa & Mastercharge
Catalog available on request.
LOGIC PROBE
PRB-1
$ 34.95 4\ mi i
Dealer Inquiries Invited
Circle 298 on inquiry card.
• Compatible with all
Logic Families
l • 10 Nsec pulse response
BYTE August 1979 243
Circle 387 on inquiry card.
WAMECO
THE COMPLETE PC BOARD HOUSE
EVERYTHING FOR THE S-100 BUSS
* FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM
Hex Displays, IMSAI Replaceable $54.95 2708 or 2176 interchangeable $30.00
* FDC-1 FLOPPY DISC CONTROLLER BOARD *QMB-9 9 SLOT MOTHER BOARD
Controls up to 8 Discs $45.00 Terminated $35.00
* MEM-1A 8K BYTE 2102 RAM Board ....$31.95 *QMB-12 12 SLOT MOTHER BOARD
* MEM-2 16K BYTE 2114 RAM Board ....$31.95 Terminated $40.00
* CPU-1 8080A CPU Board * RTC REALTIME CLOCK
With Vector Interrupt $31.95 Programmable Interrupts -$27.95
*EPM-1 4K BYTE 1702A EPROM $29.95
FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD,
IO BOARD WITH CASSETTE INTERFACE.
DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE
AT YOUR LOCAL DEALER
wwc
iftC. WAMECO INC. 111 GLENN WAY #8, BELMONT, CA 94002 (415) 592-6141
■I
CALIFORNIA COMPUTER SYSTEMS
16K RAM BOARD. Fully buffered addressable In 4K
blocks. IEEE standard for bank addressing 2114's
PCBD $26.95
Kit 450NSEC $259.95
PT-1 PROTO BOARD. Over 2,600 holes 4" regu-
lators. All S-100 buss functions labeled, gold fingers.
PCBD $26.95
PT-2 PROTO BOARD. Similar to PT-1 except set-
up to handle solder tail sockets.
PCBD $26.95
==iit
FORMERLY CYBERCOM/SOLIO STATE MUSIC.
PB-1 2708 & 2716 Programming Board with provisions
for 4K or 8K EPROM. No external supplies require
textool sockets. Kit $124.95
CB-1 8080 Procersor Board. 2K of PROM 256 BYTE
RAM power on/rest Vector Jump Parallel port with
status Kit $119.00 PCBD $30.95
MB-6B Basic 8KX8 ram uses 2102 type rams, S-100
buss. Kit 450 NSEC $139.95 PCBD $26.95
MB-7 16KX8. Static RAM uses /iP410 Protection,
fully buffered Kit $299.95
MB-8A 2708 EROM Board. S-100. 8K8X or 16Kx8
kit without PROMS $75.00 PCBD $28.95
MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or
82S129 PROM kit without RAMS or PROMS $72.00
IO-2 S-100 8 bit parallel /IO port. % of boards is for
kludging. Kit $46.00 PCBD $26.95
IO-4 Two serial I/O ports with full handshaking
20/60 ma current loop: Two parallel I/O ports.
Kit $130.00 PCBD $26.95
VB-1B 64 x 16 video board, upper lower case Greek,
composite and parallel video with software, S-100.
Kit. $125.00 PCBD $26.95
Altair Compatible Mother Board, 1 1 x 1 1 Vz x 1 /s ".
Board only $39.95. With 15 connectors $94.95
Extended Board full size. Board only $ 9.49
With connector $13.45
SP-1 Synthesizer Board S-100
PCBD $42.95 KIT $135.95
/W7J?C/ j„ c WAMECO INC.
FDC-1 FLOPPY CONTROLLER BOARD will drive
shugart, pertek, remic 5" & 8" drives up to 8 drives,
on board PROM with power boot up, will operate
with CPM (not included).
PCBD $42.95
FPB-1 Front Panel. IMSAI size, hex displays. Byte,
or instruction single step,
PCBD $47.50
MEM-1 8KX8 fully buffered, S-100, uses 2102 type
rams. PCBD $25.95
QM-12 MOTHER BOARD, 13 slot, terminated, S-100
board only $34.95
CPU-1 8080A Processor board S-100 with 8 level
vector interrupt PCBD $26.95
RTC-1 Realtime clock board. Two independent in-
terrupts. Software programmable. PCBD $23.95
EPM-1 1702A 4K Eprom card PCBD $25.95
EPM-2 2708/2716 16K/32K
EPROM CARD PCBD $25.95
QM-9 MOTHER BOARD, Short Version of QM-12.
9 Slots PCBD $30.95
MEM-2 16Kx8 Fully Buffered
2114 Board PCBD $26.95
5101-8P $ 8.40
2114(450NS)lowpwr... 7.25
2114(250NS)lowpwr... 7.99
2102A-2L 1.50
2102A-4L 1.20
4116 8/89.95
8080A $9.95
8212 2.49
8214 4.49
8224 3.49
2708 9.49
5101-1P 6.90
wmm
(415) 592-1800
P. O. Box 424 • San Carlos, California 94070
Please send for IC, Xistor
and Computer parts list
AUG SPECIAL SALE
ON PREPAID ORDERS
(charge cards not included on this o(ler)
VB-1B WITH MIKOS #6 KIT $84.95
8KX8RAM Fully buffered 450 NSEC.
2.5 amp typical assembled parts may
be unmarked or house numbered.
$99.99
MIKOS PARTS ASSORTMENT
WITH WAMECO AND CYBERCOM PCBDS
MEM-2 with MIKOS -7 16K ram
with L2114 450 NSEC $249.95
MEM-2 with MIKOS r 13 16K ram
with L2114 250 NSEC $279.95
MEM-1 with MIKOS #1 450 NSEC 8K
RAM , $119.95
CPU-1 with MIKOS #2 8080A CPU $94.95
MEM-1 with MIKOS #3 250 NSEC 8K
RAM $144.95
QM-12 with MIKOS #4 13 slot mother
board $89.95
RTC-1 with MIKOS #5 real time clock $54.95
VB-1B with MIKOS #6 video board less
molex connectors $99.95
EMP-1 with MiKOS #10 4K 1702 less
EPROMS $49.95
EPM-2 with MIKOS #11 16-32K EPROMS
less EPROMS $59.95
QM-9 with MIKOS #12 9 slot mother
board $79.95
FPB-1 with MIKOS -14 all parts
(or front panel $134.95
MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME
PARTS. KITS INCLUDE ALL PARTS LISTED AS 'REQUIRED
FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS
INCLUDED.
VISA or MASTERCHARGE. Send account number, Interbank
number, expiration date and sign your order. Approx. postage
wili be added. Check or money order will be sent post paid in
U.S. II you are not a regular customer, please use charge,
cashier's check or postal money order. Otherwise there will
be a Iwo-week delay for checks to clear. Calif, residents add
6% tax. Money back 30 day guarantee. We cannot accept re-
turned IC's fhat have been soldered to. Prices subject to
change without notice. $10 minimum order. $1.50 service charge
on orders less than $10.00.
244 BYTE August 1979
Circle 230 on inquiry card.
•••
•••
••••••
••••••
••••••
••••-•
••••••
••••••
••••••
••••••
••••*.
••••••
••••••
••••••
•••••■
••••••
••••••
••••••
••••••
••••••
•••••■
•••••■
••••••
••••••
••••••
••••••
••••••
•••«.
••••••
••••••
••••»
••••••
••••••
••••••
••••••
••••••
••••••
••••••
•••...
••••••
••••••
••■•••
••••••
••••••
•••*..
•••••■
••••••
••••••
••••••
••••••
••••-
©•...
••••••
•••...
••••••
••••••
••••••
••••••
••••••
•••••■
•••...
••••••
••••••
•••«.
©•♦..
••••••
••••••
•••••
•••••
••••
••••
•••
16K EPROM CARD-S 100 BUSS
OUR
BEST
SELLING
KIT!
USES 2708s!
Thousands of personal and business systems around
the world use this board with complete satisfaction.
Puts 16K of software on line at ALL TIMES! Kit features
a top quality soldermasked and silk-screened PC board
and first run parts and sockets. All parts (except 2708's)
are included. Any number of EPROM locations may be
disabled to avoid any memory conflicts. Fully buffered
and has WAIT STATE capabilities.
OUR 45QNS 2708'S
ARE $8.95 EA. WITH
PURCHASE OF KIT
ASSEMBLED
AND FULLY TESTED
ADD $25
8K LOW POWER RAM KIT-S 100 BUSS
250 NS SALE!
'ADD $5
FOR
250NS!
$129
KIT
(450 NS RAMS!)
Thousands of computer systems rely on this rugged, work
horse, RAM board. Designed for error-free, NO HASSLE,
systems use.
KIT FEATURES:
1. Doubled sided PC Board with solder
mask and silk screen layout. Gold
plated contact fingers.
2. All sockets included.
3. Fully buffered on all address and data
lines,
4. Phantom is jumper selectable to pin
67.
FOUR 7805 regulators are provided
Blank PC Board w/Documentation
$29.95
Low Profile Socket Set., .13.50
Support IC's (TTL & Regulators)
$9.75
Bypass CAP'S (Disc & Tantalums)
$4.50
J V on card.
ASSEMBLED AND FULLY
BURNED IN ADD $30
16K STATIC RAM KIT-S 100 BUSS
$295
KIT
FULLY
STATIC, AT
DYNAMIC PRICES
|i ii ii ii ill ii i mi
:;{■■ ■.■,i>:i.i ■ ■'■ ; 'i.i.i ■ ■
mm
WHY THE 2114 RAM CHIP?
We feel the 21 14 will be the next industry standard
RAM chip (like the 2102 was) This means price,
availability, and quality will all be good' Next, the
21 14 is FULLY STATIC We feel this is the ONLY
way to go on the S-100 Buss 1 We've all heard the
HORROR stories about some Dynamic Ram
Boards having trouble with DMA and FLOPPY
DISC DRIVES Who needs these kinds ot
problems? And finally, even among other 4K
Static RAM's the 21 14 stands out' Not all 4K static
Rams are created equal' Some of the other 4K's
have clocked chip enable lines and various timing
windows just as critical as Dynamic RAM's. Some
of our competitor's 16K boards use these "tricky"
devices But not us 1 The21 14 is theONLY logical
choice for a trouble-free, straightforward design
BLANK PC BOARD W/DATA-$33
LOW PROFILE SOCKET SET— $12 ASSEMBLED & TESTED— ADD $30
v SUPPORT IC'S & CAPS— $19.95 , 2114 RAM'S— 8 FOR $69.95
KIT FEATURES
1 Addressable as tour separate 4K Blocks
2, ON BOARD BANK SELECT circuitry
(Cromemco Standard 1 } Allows up to 512K on
line 1
3 Uses 2114 (450NS) 4K Static Rams
4 ON BOARD SELECTABLE WAIT STATES
5. Double sided PC Board, with solder mask and
silk screened layout. Gold plated contact fingers
6 All address and data lines fully buffered
7 Kit includes ALL parts and sockets
8. PHANTOM is jumpered to PIN 67.
9, LOW POWER under 2 amps TYPICAL from the
-t8 Volt Buss.
10 Blank PC Board can be populated as any
multiple of 4K,
16K STATIC RAM SS-50 BUSS
$ 295
KIT
llfllfllBifllfll
Ill II
FULLY STATIC
AT DYNAMIC PRICES
KIT FEATURES:
FOR SWTPC
6800 BUSS!
Addressable on 16K Boundaries
Uses 2114 Static Ram
Runs at Full Speed
Double sided PC Board. Solder
mask and silk screened layout.
Gold fingers.
5. All Parts and Sockets included
6. Low Power: Under 2 Amps
Typical
BLANK PC BOARD— $33 COMPLETE SOCKET SET— S12
SUPPORT IC'S AND CAPS-S19.95
TM990 BUSS PROTOTYPE & WIREWRAP BOARD
For use with the Texas Instrument Series of 16 Bit
Microcomputer Modules. Fully buss compatible. An
inexpensive and quick way to expand the capacity
of your Tl computer. Made of G-10 Epoxy PC
material. Gold plated contact fingers all plated
through holes. High density, up to over 100 DIP's.
Fuily documented. $70 each (OEM Discounts Available)
Z-80 PROGRAMMING MANUAL
By MOSTEK, or ZILOG. The most detailed explanation
ever on the working of the Z-80 CPU CHIPS. At least
one full page on each of the 158 Z-80 instructions. A
MUST reference manual for any user of the Z-80. 300
pages. Just off the press. $12.95
450 NS!
2708 EPROMS
Now full speed! Prime new units from a
major U.S. Mfg. 450 N.S. Access time.
1K x 8. Equiv. to 4-1702 A's in one
package.
$15 . 75 oa>
$ 9
95
A For $ 50.00
PRICE CUT
NOT ASSOCIATED WITH
DIGITAL RESEARCH
OF CALIFORNIA,
THE SUPPLIERS OF
CPM SOFTWARE.
ANNOUNCEMENT:
To bptler serve our customers we
are splitting Digital Research
Corp of Texas into two operating
sections Parts and Computers
We feel this change wrll allow us
to offer you lower prices, better
service and many more new
products Continue to order
parts clock modules etc from
DRPPO Box 401 247 Garland
TX 75040 To order computer
parts and computer kits order
from Digital Research' Compu-
ters PO Box 401565 Garland.
TX 75040
16K DYNAMIC RAM CHIP
16KX 1 Bits, 16 Pin Package Same as Mostek 41 16-4. 250
NS access. 410 NS cycle time Our best priceyet for this
state of the art RAM. 32K and 64K RAM boards using this
chip are readily available These are new. fully guaranteed
devices by a major mfg. VERY LIMITED STOCK!
8 FOR $79.50
Digital Research: Computers
** (OF TEXAS) r
P.O. Box 401565 • GARLAND, TEXAS 75040 • (214)271-2461
TERMS: Add 50C postage, we pay balance Orders under $15 add 75C handling
No C O D We accept Visa. MasterCharge. and American Express cards Tex
Res add 5% Tax Foreign orders (except Canada add 20% P & H 90 Day Money
Back Guarantee on all items
• •••
• •••
• •••
•••••
■••••
•»•••
•••••
•••••
>••••
•••••
•••••
»••••
•••••
•••••
•••••
*•#••
•••••
•••••
•••••
•••••
• ••••
•••••
• ••••
•••••
*••••
•••••
• ••••
•••••
•••••
•••••
•••••
• ••••
•••••
•••••
••••§
•••••
• ••••
■•••••
•*•••§
■••••I
•••••§
••••••
••••••
••••••
•••••
■•••••
-••••
••••••
••••••
-••••
••••••
■•••••
••••••
•••••#
••••••
••••••
••••••
••••••
••••••
■•••••
••••••
•»••••
••••••
••••••
••••••
••••••
••••••
••••••
••••••
*•••••
■•••••
••••••
••••••
••••••
••••••
••«•••
■•••••
••••••
*••••
*••••§
■•••••
••••••
••••••
••••••
••••••
••»•••
••••••
♦•••••
••••••
••••••
••••••
••••••
•••••
■•••••
•••••
-•••#
•••••
•••••
Circle 151 on inquiry card.
SO TH&> SILL
G6DB0UT SAYS
7D US,
ite act ekadWnjL k -fmerraj
anef loe. ckn't havt, VW -fir
•fl3?/ftS OF SALE- - &ft itettf uh'jk-'ife^
fat for VISA® or m^rdwpP orders:
CAii our & hr. order desk flf (4I5')JK2-
063G ■ Ctft'frt'nk rsside/\fc add Sales "fa{.
r\dd 5% -fir shifphjj excess ft{w\d*4-
Cov ok (Mk stftit address far UPS
delivery, 'for /norc \*fo see our -fit/h
pQjc-) $oneo)haf- We -formi ad Mc -
till dodtwk Gkc4*>mt£ 3 Hutidm 7& %
CXtkhnd Airport i CA W
)ntiudt$ J 20 n$ h^ moer* ^eVe- Q&f- rtzJ product?; ) df-
7W* a /of erf mmtry vf
fio*Si*n fir $87.2o! Oar Jef-
h^-L.J^ J irr\ »* L , u^ -^
GblfSj dtp jhuffc. an4 -full &- /W pric&% ) ui<ik k(( *&«- per-
Wsm a*4 memory 4tytaii5tol ^ &eyr me4>
earner^ 2p, .
■Some. CCw&raa/i TC Ctnb'h around, andL
$129 I Ovr bftu\& -n»J best -fact KarrA fo Ifa hdirfry
Oesi-
4'
■xmi ccvidrart jl CMifiih around o.a<L °P era 'f' a n ■ Our usih'f- 'fac a f/
mnt -fa dearihtn auh Even tu-hxfauk S m *** MfP^S Ca P s P*'
Kce/leyt fayy. T+ o-Oers lull 2 **"*$JSS*Mj. d year (tmUM
m i«*ihi (*>pEr cZL**i, T^fl T >i <"&**■
<fyhk ;<«&**<}£ «s Til- ifc s !ii ' t^i! til tb*
FREE!
UPT0S170 IN
MERCHANDISE
WITH THE PURCHASE OF ONE
OF THE FOLLOWING PET-CBM
ITEMS!!
\ ASK ABOUT
EDUCATIONAL
DISCOUNTS
ON PET
PET SPECIALS
PET 16N 16K full size graphics keyboard
PET 16B 16K full size business keyboard
PET 32N 32K full size graphics keyboard
PET 32B 32K full size business keyboard
list FREE
$ 995 $130
S 995 $130
S1295 $170
S1295 $170
KIM-1 $159 (Add S30for Power Supply) SYM-1 $229
BAS-1 Microsoft ROM Basic f or SYM $139
IEEE - RS232 Printer Adaptor for PET
BETSI PET to S-100 Interface & Motherboard
PET Connectors- Parallel or IEEE $ 2.25
- Cassette Port $ 1.60
Personal Information Management System-
Add S3 for PET program cassette $ 8.90
Protect-A-Pet dust cover $ 9.50
EXS 100 Floppy Disk Controller For PET $299.00
MICROCHESS for PET (Peter Jennings) $ 17.90
PET 4 Voice Music Board (MTUK-1002-2) $ 49.00
Music Software (K-1002-3C) for PET $ 19.00
CmC Word Processor program for PET $ 25.00
Bridge Challenger program for PET $ 13.50
Play and reply bridge hands against the PET
Graphics Utility Package for PET $ 13.50
Stimulating Simulations-Book & PET tape $ 13.50
Kite Flight - 2 player action game $ 7.95
Write for PET Software List
Auto-Repeat Hardware for PET S 24.50
Word Processor for PET— Machine Language
version. Auto scroll, insert, delete, form letter append, etc.
8K Version $ 24.00 16K or 32K with disk $ 95.00
* Amount of Free Merchandise with Purchase of PET-CBM Item.
PET 16S 16K small keyboard, integral cassette $ 995 $130
PET 32S 32K small keyboard, integral cassette $1295 $170
PET BK 8K small keyboard, integral cassette $ 795 $100
PET 2040 Dual Disk Drive - 343,000 bytes $1295 $170
PET 2040A Single Disk Drive - 171,000 bytes $ 895 $115
PET 2022 Tractor Feed Printer $ 995 $130
PET 2023 Pressure Feed Printer $ 849 $110
PET C2N External Cassette Deck $ 95 $ 12
$ 79.50
$119.00
WRITE FOR 6502 AND
S-100 PRODUCT LIST
FREE!
UP TO $170 IN
MERCHANDISE
Memory Plus
SEA-16 New 16K Static RAM
Seawell Motherboard-4K RAM
space
KTM-2 Synertek Keyboard and
Video Interface with Graphics
Capability
RAM 16 4MHz 16K Static S-100
RAM
2114 L 450ns 4K Static RAM
2716 EPROM (5 Volt)
6550 RAM (for PET 8K)
6502 Microprocessor Chip
6522 VIA
6502 PIA
BOOKS
Programming the 6502 (Zaks)-
6502 Applications Book (Zaks)
6500 Programming Manual (MOS)
Programming a Microcomputer:6502
Basic for Home Computers
$199
$325
$ 99
$290
$309
$6.95
$ 38
$16.20
$ 9.95
$9.75
$10.50
$ 9.90
$11.90
$ 6.50
S 8.90
$ 5.90
3M "Scotch'
8" disks
10/S31
3M "Scotch*
' 5" diskettes SALE
10/S35
Verbatim 5"
diskettes
(Write for quantity prices)
10/S28
Minimum Order $10.00
A B Computers
Cassettes (all tapes guaranteed)
Premium quality, high output lownoise in 5
screw housing with labels:
C-10 10/5.95 50/25.00 100/48.00
C-30 10/7.00 50/30.00 100/57.00
115-A E. Stump Road
Montgomery ville, PA 18936
(215)699-8386
J
246 BYTE August 1979
Circle 1 on inquiry card.
K0
COMPUTER TERMINAL
BREAKTHROUGH
$795
BUY A PET" AND GET
A TERMINAL FREE
If > C? commodore
This is not the first terminal built around a
microprocessor, but there has never been a
terminal at this price which could also be used
as a complete computer system. Now the same
unit you use for talking to a large time-sharing
system can also be used for many other tasks
without requiring outside computer support.
With the proper software you can handle small
jobs such as complex calculations and animated
graphics. ;
Economy through mass production
If an entirely new product was designed specifi-
cally to do all the things you can do with the
T/C 2001, it would have to cost thousands of
dollars. NCE/CompuMart has bypassed a lot of
expensive design work by employing a mass-
produced computer as the heart of the T/C
2001. The Commodore PET has now been in
production for nearly two years and more than
50,000 units have been sold worldwide. There
is no other computer at this price which has all
these built-in features: 9" TV monitor, 73-key
keyboard (larger sizes available), cassette tape
drive for loading programs and data, high-level
BASIC language, four interfaces and a 24-hour
clock. And it's expandable! If you find that
you need faster data storage, you can plug in a
floppy disk. If you want to be able to print
forms or listings, you can attach a printer.
Free tape drive
The 8K PET which costs $795 comes with
a built-in tape drive but its keyboard is smaller
than the standard typewriter you may be used
to. The $995 16K PET and the $1295 32K PET
have a standard-sized keyboard but they require
an external cassette tape drive for operation.
Normally $95, we include it free with each 16K
or 32K PET. The T/C 2001 package, worth
$69 if purchased separately, is free with any
PET ordered from this ad.
&&
NX
CAT ACOUSTIC
MODEM
fcV
<%
$189.00
Novation's new 300 baud acoustic modem, the
CAT sets a new price standard for units with
originate and answer capabilities. It's the
perfect T/C 2001 companion, making the
final link with your timesharing service. It's
RS-232 with full or half duplex using any Bell
103 compatible modem. This amazingly com-
pact unit comes with acoustic self-test, too.
FREE 10 DAY TRIAL
NCE/CompuMart has been selling computers by mail since 1971 and we know our
business. We know that you need to have complete confidence in the product and the
company behind it so we offer you this unconditional guarantee: Try it for 10 days and
if it does not meet all of your expectations, return it for a full refund of your purchase
price. In addition, since the PET is one of the most reliable systems we've ever sold,
we're doubling the manufacturer's warranty on machines ordered from this ad to protect
you for a full 6 months against defects in parts or workmanship. You can't lose; it's
our way of assuring satisfaction to those who aren't able to visit our showroom at the
NCE/CompuMart store and warehouse in Ann Arbor.
Accessories
Cassette Tape Drive — A second cassette tape drive is required
whenever you need to update long files or perform backup copy
operations. It plugs directly into the PET and is accessed through
the BASIC language. Note: All PETs ordered through this ad
include the first tape drive.
Dual Floppy Disk Drive — Programs which take 3 minutes to
load from a tape require only seconds to load from a disk. The
PET 2040 Dual Floppy Disk Drive requires no extra memory or
expansion box, it plugs right in for fast, reliable program and
data storage up to 36K. The 2040 is compatible only with the
16Kand 32K PETs.
T/C 2001 Terminal Package — If you already own a PET, you
can add this valuable option by simply plugging in our special
adapter and loading a program from the included tape. Please
specify which model PET you have. The output is TTL in the
standard serial format, input is RS-232.
How to order -Simply fill out the order blank below or call (313) 994-3200
to place charge card orders. If you don't already have our all -new 48-page NCE
Mini -Micro Computer Catalog, check the box and we'll send you one right away.
NCE/COMPUMART. P.O. Box 8610 • 1250 N. Main St.. Ann Arbor, Ml 48107
PHONE ORDERS ACCEPTED (313)994-3200
8K T/C 2001 $795.00
plus $10.07 shipping and handling
16KT/C2001 $995.00
plus $10.07 shipping and handling
32KT/C2001 $1,295.00
plus $10.07 shipping and handling
Dual Floppy Disk Drive $1,295.00
plus $7.16 shipping and handling
T/C2001 Terminal Package $69.00
plus $3.99 shipping and handling
CAT ACOUSTIC COUPLER $189.00
plus S3. 35 shipping and handling
D Send ma my FREE catalog
PAYMENT
D check #
D money order
D charge
D VISA
D MASTERCHARGE
Acct. #
Name
Address
City
State
O
00
m
m
Member:
Computer Dealers
Association
Interbank #.
Zip.
Circle 283 on inquiry card.
BYTE August 1979 247
£
Computer Products
1
THE PIGGY MAINFRAME
This sleak new mainframe is neatly trimmed to hold six S-100
boards, two mini-floppy drives, and is available in five colors. Power
requirements: 115/220 VAC. 50 60 HZ. Weight: 27 lbs. (with drives).
Dimensions: 21 .375' Wide X 8.4' High X 15.875 Deep. PowerSupply:
8 volts at 18 Amps unregulated. 16 volts at 3 amps uregulated. - 16
voltsat3ampsunregulated. 5 voltsat3 amps regulated. 12voltsat
3 amps regulated. _.
THE PIGGY IS HERE!
THE PIGGY (Without Drives).
S475.00
VIDEO INTERFACE
S-100 Compatible Serial inter
face with Sockets Included.
Kit $117.95
Assembled & Tested $159.95
Bare Board w/manual $ 35.00
MEM-2
16 K Static RAM Board
Kit- (450ns) . S250.00
Kit- (250ns) . S285.00
Assembled- (450ns) . S325.00
Assembled- (250ns) S350.OO
DYNAMIC RAM BOARDS
EXPANDABLE TO 64K
32K VERSION* KITS
Uses 4115 {BKxl, 250ns) Dynamic
RAM's, can be expanded in 8K
ncrements up to 32K:
8K $159.00
16K $199.00
24K $249.00
32K $299.00
4115 SALE
8 for S39.95
64K VERSION -KITS
Uses 4116 (16Kx 1, 200ns) Dynamic
RAM's, can be expanded in 16K
ncrements uo to 64K
arr-jflr-n
$245
6502 based single board
computer with keyboard/dis-
play, KIM-1 hardware compa-
tible, complete documentation.
SYM— 1 CASE $39.95
JADE
ISO— BUS
MOTHERBOARDS
Comes in either 6, 12, or
18 slot sizes. These
boards with a special
ground plane assures a
silent operation
JADE 6 Slot
Kit S49.95
Assembled S59.95
Bare Board S24.95
JADE 12 Slot
Kit S89.95
Assembled S99.95
Bare Board S39.95
JADE 18 Slot
Kit S129.95
Assembled . . . $149.95
Bare Board .... S59.95
sTsTe"
SD SYSTEMS
Z-80 STARTER KIT
Based on the powerful Z80
CPU, this kit is an ideal
introduction to micropro-
cessors. It has an on-board
keyboard and display, plus
cassette tape interface and
expansion provisions for
two S-100 connectors. This
"Do-lt-aH M Board will also
program the 2716 2K
EPROM.
Kit $249.95
Assmbld and Tstd $399.95
PROTO BOARD
Includes gold plated
fingers, S-100 size, holds
72-16 pin dips, accomo-
dates all 8 thru 40 pin dip
packages.
Reg -S19 95 Special Price-
Si 6.95
PARALLEUSERIAL
INTERFACE
S-100 compatible, 2 serial I/O
ports. 1 parallel I/O.
Kit JG-P/S 4124 95
Assembled & Tested
JG-P/SA J179.95
Bare Board W/Manual t 30.00
JrTRS-BO-APPLE-SORCERER'TRS-SO'APP'
> JADE MEMORY I
I EXPANSION KITS For;
j TRS— 80, Apple. & Exidy?
4116's r
Everything a person needs to |
?dd 16K of memory. Chips j
come neatly packaged with [
< asy to follow directions. In ;
minutes your machine Is {
ready for games and more \
advanced software. >
$82.00 |
r
Solid State Music's
I/O 4
2 Serial & 2- Parallel I O
Ports S-100 with full hand-
shaking.
KIT S149.95
Assembled S199.95
Bare Board S29 95
Summer M*^
iHMiuriMtt*MaMM***i
The €xidu
SORC6R6R
Flexibitty is the key. The Sorcerer Computer gives you the flexibility of using ready-to-
run, pre-packaged programs or doing your own thing and personalizing the programs lor
yourself. Which ever you choose, the Sorcerer is the personal computer that speaks your
language.
The Sorcerer also provides full graphics capabilties. Each character, formed by an 8 x 8
dot cell, can be programmed as a graphic symbol set. High resolution (512 x 240
addressable points) gives a total of 122.880 locations for super animation and extremely
tight plotting curves. The alphanumeric set gives 64 x 30 characters on the video screen
With 16K of memory S1 150.00
16K $249.00
32K $369.00
48K $469.00
64K $569."
+ STATIC RAM +
SPECIALS
2114's,
450ru
300ns
ow power (1024x4)
1-15 16-99,100 j
1.00
9.00
6.95
1.00
5.50
6.50
TMS4G44/MM5257, low power
4S0m
300ns
1.00
9.95
7.50
• .75
6.50
1.00
4200A (4Kxl, 200ns)
| 9.95 | S.50 | 1.00
410D (4K x 1, 200 ns)
11.25 [ 7.00 16,75
1"-»J_
STATIC RAM
BOARDS
JADE 8K
Kits: 450ns $125.95
250ns $149.75
Assembled ft. Tested:
450ns $139.75
250ns $169.75
Bare Board: $ 25.00
16K - Us*t2114's (low power)
Assembled & Tested:
RAM 16 (250ns) $375.00
RAM 16B (45 0ns) $325.00
16 K with memory management
Assembled L Tested:
RAM 65 (250ns) $390.00
RAM 65B(450nsj $350.00
32K Static
Assembled & Tested:
250ns $795.00
450ns $7,25.00
250ns Kit $575.00
Rockwell nim-65: The Head-Start
In microcomputers
A KiM 1 compatible machine with
on-board Dnnter and a real Keyboard
$375.00 w/1K RAM
$450.00 w/4K RAM
4K assembler/editor in MOM:
8K BASIC m ROM:
Power supply
Case for AlM-6b:
Special Package Price: $599.00
AlM-65 (4K), Power Supply, Case, and bK BASIC ROM
SD SYSTEMS
SBC-100
An S-100 single board com-
puler Z-80 CPU with 1024
bytes ol RAM 8lo32Kby1es
ot PROM Serial I O port
K 't S239 95
Assembled S369 95
TARBELL
Cassette Interface
lugs into your IMSAI or
ALTAIR 4 extra slatus lines.
37 page manual included. 4
tra control lines
I S99 95
Assembled S175.00
Bare Board S40 00
Wa.tual S8 00
poller
supplies
PSD-249A: For a Single 5 1 4 Disk
Drive By Power-One or Alpha Power 1
5V at 7A. '. . :■■■•'.;•; ^
PSD-205A For Single 8 Disk Drive.
y Power-One 5V al 1 A. -5V at 5A
24V at 1 5A S89.95
PSD-206A: For Two 8 Disk Drives
By Power-One or Alpha Power. 5V
ai 2 5A -5V al 5A -24V at
3A $125.00
Rockwell Aini-65 Power Supply
PSX-030A S59 95
KIM-1 or SYM-1 Power Supply
PSX-020A S59 95
DIP SWITCHES
Part Nn p
>si!l0
IS 1-9
SWD 103
3
SI 18
5 WD '04
4
S1 20
SWD 'Ii5
5
SI 24
SWD 1 f )6
6
SI 28
SWD 107
7
S1 30
SWD 108
8
S1 34
SWD 109
9
S1 36
SWD 110
10
S1 38
TEXTOOL
ZIP*
DIP" II
Sockets
♦ZERO
INSERTION FORCE
, , ,-f ti»ocketi
I JinniinnnrJ ~j
■ I SSB|3 J PRtCES:
16 pm Zip Dip II $6.60
24 pin Zip Dtp II $7.50
40 pm Zip Did II $10.25
CHIPS
MICROPROCESSORS
F8 S1695
Z8U (2MHz) S10.95
Z80A (4MHz) S14.95
CDP1802CD S19.95
6502 S11 95
6800 , S9 75
6802 S14.00
8008-1 S15 95
8035 S2400
8035-8 S24.00
8080-A S10.00
8085 S23.00
TMS9900TL S49 95
8080A SUPPORT DEVICES
8212 S2 90
8214 S4.65
8216 S275
8224 (2MHz) S4.30
8224-4 (4MHz) S9 95
8226 S2.75
8228 S6 40
8238 S64C
8243 S8 00
8251 S7 50
8253 S20 00
8255 S6 40
8257 S18 00
8259 S18 00
8275 S51 20
8279 S17 70
USRT
S2350 S10 95
UARTS
AY5-1013A S5 25
AY5-1014A S8 25
TR1602B S5 25
TMS6011 S595
IM6403 S9 00
BAUD RATE GENERATORS
MC14411 S10.00
14411 Crystal S4 95
6800 PRODUCT
6821P S525
6828P S9 50
6834P S16 95
6850P S4.80
6852P S525
6860P S9.25
6862P S12 00
6875L S7.30
6880P S2 50
CHARACTER GENERATORS
2513 Upper (1-12 5) S6.75
2513 Lower (112 5) S6.75
2513 Upper (5 volt) S9 75
2513 Lower (5 void) 510 95
MCM6571 up scan S10 95
MCM6571A down scan S10.95
PROMS
1702A S5 00
2708 S12.95
2716 (5 1?i $49.00
2716 (5v) S49.00
2758 (Sv) S30.00
DYNAMIC RAMS
4I6D 4116 (200ns) S12.50
2104 4096 S4 00
2107B-4 S3. 95
TMS4027 4096 S4.00
STATIC RAMS 1-15 16-100
21L02 (450ns) S1.50 $120
21L02 (250ns) S1 75 S1 50
2101-1 S2.95 S2.60
2111-1 S3 25 S300
2112-1 S295 S265
FLOPPY DISK CONTROLLERS
1771801 S3995
1791 S49 95
KEYBOARD CHIPS
AY5-2376 S13 75
AY5-3600 S13 75
MM5740 S18 00
248 BYTE August 1979
Circle 195 on inquiry card.
BMll
PLACE ORDERS TOLL FREE:
800/421-5809 Continental U.S.
800/262-1710 Inside California
7 ~ \ i|ii» il ' ll
THEBIGZ
THE NEW Z-80
CPU BOARD FROM JADE
Features Include: ■ S-100 Compatible, available in 2MHz or4MHz
versions. ■ On-board 2708, 2716, 2516, or 2532 EPROM can be
addressed on any 1K, 2K. or 4K boundary, with power-on jump to
EPROM. ■ On-board EPROM may be used in SHADOW mode,
allowing full 64K RAM to be used. ■ Automatic MWRITE generation
if front panel is not used. ■ On-board USART for synchronous or
asynchronous RS232 operation (on-board baud rate generator). ■
Reverse-channel capability on USART allows use with buffered
peripherals or devices with "not-ready" signal.
2MHz- 4 MHz-
Kit: CPU-30200K. 2 lbs . . . S149.95
Assembled and Tested:
CPU-30200A, 2 lbs ... $199.95
Kit: CPU-30201K, 2 lbs . . $159.95
Assembled and Tested
CPU-30201A, 2 lbs . . $209.95
mm*
JADE'S
DOUBLE DENSITY
■ Single or Double Density
Recording
■ Full Size or Mini Floppy
TM ■ CP/M Compatible in either
density
■ Programmed Data Transfer,
no DMA
■ Controls up to 8 drives
■ IBM format in either density
■ Software Selectable
KIT: $249.00 Density
Assmb. & Tstd: $299.00
■ This controler utilizes the proven reliability of the IBM
standard format as well as the lastest phase-locked-loop for
data separation ■ All clocks are generated from an on-board
crystal oscillator a Right precompensation is used to enhance
data recovery reliability in the double density mode ■ Density
selection is entirely transparent to the users Single and double
density diskettes can be mixed on the same system.
WfflWW
LEEDEX MONITOR
• 12 Black and White
• 12MHZ Bandwidth
• Handsome Plastic Case
INT6GRRL DflTR SVST6MS MOD6L 440
$995.00
$139.'
CABLES
MINI-DISK CABLE KIT: To conned
two 5 1/4" drives to disk controller
board. Contains assembled and tested
5' long signal cable with 34 pin edge
connectors. Also includes cables and
connector for D.C. power supply.
WCA-3431K S34.95
8" DISK CABLE KIT: To connect two 8"
disk drives to edge-type controller
(e.g., Versafloppy, Double-D).
'Contains assembled and tested signal
cable with connectors plus cable and
connectors for both A.C. and D.C.
power.
WCA-5031K S38.45
8" DISK CABLE KIT: Same as WCA-
5031K except controller end of signal
cable uses "Header" type connector,
e.g., for Tarbell Controller.
WCA-5032K S38.95
SIGNAL CABLE ONLY: For one 5 1/4"
drive to edgetype controller connector
(e.g., TRS-80 to Vista Disk Drive).
WCA-3421A S24.95
Same as Above, except for two 5 1/4"
drives. WCA-3431A S29.95
TH€ PflPGR TIG6R
PRINTER
I Up to 1 98 CPS
l 1.75" to 9.5" Adjustable Tractor Feed
l Parallel and Serial Interface
l 96 Character ASCII Set &$S
l 1 32 columns- 6 or 8 lines/inch %ZyZ
l €ight software selectable Character sizesWi,
1110, 300, 600, 1200 Baud Rate
FOR TH6 GRAPHIC OPTION WITH 2K, RDD $199.00
o o o o o
SPECIAL
O O O
5V*" Diskettes
$29.95/Box of T6N
SP6CIFV SOFT. 10, or 16 S€CTOR
8" SINGKE SID€, SINGKE D€NSITY
$34.95/Box of T€N
1km
Plugboards
8800V
Universal/Microcompu-
ter/Processor Plugboard
Use With S-100 Bus.
Complete With Heat Sink
& Hardware.
5.3" x 10" x 1/16"
$19.95
8801-1
Same as 880V Except
Plain, Less Power Buses
& Heat Sink.
$15.95
P Pattern Plugboards For
I.C.'s. Epoxy Glass 1/18"
44 Pin. Connector Space
.156
3662 6.5" x 4.5".... $7.65
3662-2 9.6" x 4,5" $11.45.
Hi-Density Dual-ln-Llne
Plugboard For Wire Wrap
With Power & Grd. Bus
Epoxy Glass 1/16" 44 Pin
Con Spaced .156
3682 9. 6" x 4. 5".. $10.97
3682-2 6.5" x 4.5... $9.81
Gen Purpose D.I. P.
Boards With Bus Pattern
For Solder Or Wire Wrap.
Epoxy Glass 1/16" 44 Pin
Con. Space .156
3677 9.6" x 4.5".. $10.90
3677-2 6.5" x 4.5... $9.74
3690-12
Card Extender
Card Extender Has 100
Contacts 50 Per Side ON
.125 centers. Attached
Connector is Compatible
With S-100 Bus Systems
$25.83
3690
6.5" 22/4 Pin .158 Centers
Extenders.
$13.17
DISK DRIVES
MPI B51 5 1/4 " $295.00
Single or double density, up to 40
tracks, track to track access time
only 5ms.
MPI B52 5 1/4" 5450.00
Double head version of MPI B51
Shugart SA400 5 1/4" $325.00
Single Density, 35 Track
Siemens FDD100-8 8" $495.00
Shugart 801R replacement, Singleor
double density, runs cooler and
quieter.
Siemens FDD200-8 8" $575.00
Double head version of FDD100-8
capable of double density, double
sided storage.
Shugart 801 R 8 " $875.00
Hard or soft sectored, 400K BYTE
drive. __
■ Two Drives Siemens/
GSI 8" Floppy
■ Power Supply for Above
■ Jade Double Density
Board (KIT)
■ CP/M Operating System
with Basic E
■ Package of 10 Blank 8"
Diskettes (Double Density)
■ Includes Interface
Cables
Price if Purchased
SeDarateiv
$1 544.95
Jade Special Package
Deal
$1225.00
NOVATION CAT
ACOUSTIC MOD6M
features Include: 300 Baud
Rnswer/Originate, Bell 103, Comes
Rssembled and Tested
Midsummer
Special
$189.00
^™ Computer Products
4901 W. ROSECRANS AVE., HAWTHORNE, CALIFORNIA, 90250
ORDER TOLL FREE
/
800-421-5809
CONTINENTAL U.S
Wm 800-262-1710
■■ INSIDE CALIFORNIA
WRITE FOR OUR FREE CATALOG
Cash, checks, money orders, and credit cards accepteo.
Minimum order: S10. 00. California residents add 6 sales tax
Minimum shipping and handling charge: S2.50. Discounts
available at OEiVl quantities.
FLOPPY DISK INTERFACE
JADE FLOPPY DISK (Tarbell
b oard)
Kit $195 00
Assembled & Tested $250 00
S.D. Computer Products
VERSA-FLOPPY
Kit S159.95
Assembled & Tested S239.00
Vista V80
Mini DISK
SYSTEM
FOR TRS—80
$395.0fJ
Includes disk drive, power supply,
regulator board, and compact case.
The V-80 offers 23° o more storage
capacity. Simply take it out of the box.
plug in the cable, and it's ready to run.
Requires 16K. Level II. expansion
interface.
Interface Cable . . $24.95
Circle 195 on inquiry card.
BYTE August 1979 249
Circle 340 on inquiry card.
-:,..;
C/MOS
7? 4023 -
77 4074 -
71 4075
40O9 - 45 4027 -
45 4Q2B -
.22 4029 -
1012 - .22 4030 -
■ t.20 4035 -
- 1 00 4047 -
4016 - 45 4044 -
05 4040 -
4018 - 90 4050 -
4019 - 45 40SI -
4053 -
4055 -
4022 - 1.00 4066 -
(DIODE CLAMPED)
4069
.BO 4520 -
.95 74C00-
.35 74C02 -
.97 74CQ8-
.B5 74C10-
.85 74C20-
75 74C42-
74C83-
74C86 -
74C90-
74C93
74C151
74C157
74C1M
TSUSTATICSHIfTREO -
7706 SK EPHOM 1450 ral -
TMS WO9tfC80BIT$DYN
71071 MfOml
2iit i :ss»« STATIC-
■CRYSTALS 13.49m.
2.000 MHz G.144MH;
4.000 MHz 8.000 MH,
3.57 MHz 10.000 MHz
5.000 MHz 20.000 MHz
G.OOQ MH.t
50 coiid. - .90/pet
CTS 206-8 eight position dip switch ST. 60
CTS 206-4 four position dip switch $1.45
LIGHT ACTIVATED SCR's to 18. 200 ,V 1 A. . $.70
SILICON SOLAR CELLS
i" diameter .4V at 1 AMP $10.00
PRINTED CIRCUIT BOARD
4" x 6" DOUBLE SIDED EPOXY
BOARD 1/16" thick
S.60 ca 5/32.60
7WATTLD-65LASERDIODEIR $a95
2N3820PFET S 45
2N 5457 N FE1 S 4b
2N2646 UJT S 45
ER 900 TRIGGER DIODES 4 SI 0(1
2N6028PROG ujt 5 G5
MINIATURE MULTI-TURN TRIM POTS
100. IK. 2K. 5K. I OK. 20K. 50K.
200 K. IMeri. 2Mc<]. $ 75 each 3/S2.00
25 watt Infra R«d Pulse
Laser Diode (Spec sheet included) $24.95
VERIPAX PC BOARD $ 12.95
Our now Pmioivni tin is ;i hi density 4>»" x 6Vi'
single sided 1/16" epoxv lioiird. It will hold 40,
24, 16 134 units). 14 ♦ 8 pin IC's. Tharp at a
three busses, '5V, cjround and a floating buss.
There is a pad for a TO-220 regulator. There is a
22 Pin edge connector with .156" spacing.
FP 100 PHOTO TRANS S 50
RED. YELLOW. GREEN
LARGELED's.2" 6/S1 00
TIL-118 0PTOISOLATOR S .75
MCT-6 OPTO ISOLATOR $80
1 WATT 2ENERS: 3.3. 4.7. 5.1. 5.6.9.1,
10, 12, 15, 18. or 22V 6/S1.0G
MCM6571A 7 x 9 character gen . . S 10.75
UNIVERSAL 4Kx8 MEMORY BOARD KIT
$69.96
32-2102-1 fullv tiu Herod, 16 address lines, on
board decoding for any 4 of G4 pages, standard
44 pin buss, inav bo usiul with F S 8i KIM
TRANSISTOR SPECIALS
2N6233 -NPN SWITCHING POWER S 1.95
MRF-8004 a CB RF Transistor NPN $ 75
?r\J3772 \<PN Si TO 3 S 1.00
2N1546 PNP GE TO-3 S .75
3N49f)i! I'NP Si 10 J . S I 00
7N008G PNP Si TO-97 4 S 1 .00
2N3137 NPN SI RF $ .55
2N39I9 NPN Si TO 3 HI- S 1 50
2N1 420 NPN Si TO 5 . 3/S 1 -00
2N376 7 NPN S. TO 66 . S 70
?N?22 NPN St TO- 18 5S 1 .00.
2N3005 NPN S.T0 3 .5 .50
2N3904 NPN S> T0 92 6/S 1.00
2N3906 PNPSi T0 92 6/S 1.00
2N5296NPNS. TO 220 . S 50
2N6100 PNP Si TO 220 S 55
;'N3C.3a PNP S. TO 5 . 5 S 1 00
MPSA 13 NPN Si 4/S 1.00
Silicon Power Rectifiers
FND 359 C.C. . 4" S. 60 LED READOUTS
FCS80S4 4 ci.rj.i DL-704 C.A. .3" $.75
C.C 8" display S595DL7J7CA 6" $1,50
FMD003CC D" $ 85 HP3400 .8"CC 3195
FNOS1QC.A 5"$ 85 HP3405 .8"CA $1.95
. 704 J c c
90
_2J2 LQQ.
1 30 4 35 6.50
1 .50 6 5U 9.50
5 50 12.50
UJSU 16.50
SAD 1024 a MLDICON 1024 stage
O'lgade" shill retiuter.
12 50 20 00
RS232 DB25Pm d le. S2 95
CONNECTORS DB 25S femjie $3.50
HOODS SI 50
323K -5V3A. .5 5.75
309K $1.60
723 $ .50
320T •
5, 12. or 15 V
.. .$ 140
REGULATORS
340K- 12, 15
or 24 V. . . .S1.50
340T-5.6, 8, 12
15, 18 or 24VS 1.40
78 MG S 1.35
TTLIC SERIES
31
«491 -
JS497 -
- 47
75154 -
- 47
74157 -
*s
14161 -
4S
74167 -
- 91
74163 -
- 1 JO
74164 -
47
74165 -
- 1 B7
741 71 -
£3
74S74 -
74175 -
1)4
74176
1011
741B0 -
M
741B1 -
74190
47
74191 -
74193 -
Of
7419a -
74194
PAT A <: ASM IHSI.' HR s .95
MM5387AA .
M70O1 . . . .
MM5369 . . .
CLOCK CHIPS
NO 30 WIRE WRAP WIRE SINGLE
STRAND 100*51.40
JIH'.MtMWW n
IP SOCKETS
6 PIN .17 24 PIN .35
14 PIN .20 28 PIN .40
16 PIN .22 40 PIN .60
18 PIN .25
SANKEN AUDIO POWER AMPS
Si 1010 G 10 WATTS S 7.80
S» 1020 G 20 WATTS $15.70
Si 1050 G 50 WATTS. . S28.5Q
TANTULUM CAPACITORS
.22UF 35V 5/51.00
.47UF 35V 5/S 1.00
.68UF 35V5/S1.00
1UF 35V 5/51.00
2.2UF20V5/S1.00
3.3UF 20V 4/S1.00
4,7UF15V5/$1.00
74Ls5gRiEs
6.8UF 35V 4/51 .00
10UF 10V 5.25
22UF 25V S.40
15UF 35V 3/51.00
30UF 6V 5/S1.00
150UF 15V $.95
47UF 20V $.35
68UF 15V $.50
>«LSoe
MLSW
MLSM
I4LS43
74LS1S3
MLSIW
14LS196
MIS191
MUSIS'.
HLSJ6B
74LS779
741.SM5
74LS36S
i«Lsasa
J* LSI 14
LINEAR CIRCUITS
LM 201 -.75
t.w 301 7,48 75
LM307 - 30
LM 324 -
LM339
LM 3S8
LM 3»;
CA 30SO
LM S37
LM 553
LM555
LM5S6
560
LM 5310
1456
1458
3900
B038CC
lCCi YUNIAlUHt TOGGLE SWITCH
MTA 106SPDT
MTA 206 DPDT
MTA 206 PDPD1 CENTER OTF
MSD 206 P DPDT CENTFROFF
LEVER SWITCH
r^OZOFF 20%0FF
YOUR OWN TRS-80 SYSTEM AT TREMENDOUS SAVINGS
I
ITEM
TRS-80 Complete System
Level II - 4K RAM
TRS-80 Complete System
Level II 16 K RAM
Expansion Interface
Pertec FD200 Mini Disk Drive
Centronics 779 Printer
Centronics 101 Printer
Anadex DP-8000 Printer
Centronics P1 Printer
Trendata1000
Memory Kit-(16K)
"FREE INSTALLATION
Verbatim Diskettes ea.
3
10
Maxell Diskettes ea.
3
10
5
25
12
fanfold.
REG.
PRICE
OUR
PRICE
$ 698.00 $ 628.20
QTRS-80 Complete System DISK DRIVES NOW IN STOCK! Comprehensive circuit analysis for your system
Includes: CPU/ Keyboard, Power Supply,
Video Monitor, Cassette Recorder, Manual,
and Game Cassette.
©Line Printer
©Mini Disk System
QC-10 Cassettes
©Verbatim Diskettes
C-10 Cassettes
$ 988.00
$ 299.00
$ 495.00
$1599.00
$1595.00
$1295.00
$ 534.00
$1495.00
$ 199.00
$ 5.95
$ 17.89
$ 59.00
$ 10.00
$ 30.00
$ 100.00
$ 4.95
$ 24.75
$ 29.95
$ 889.20
$ 269.10
$ 385.00
$1175.00
$1400.00
$ 995.00
$ 445.00
$1295 00
$ 98.00
$ 4.95
$ 12.00
$ 37.00
$ 7.50
$ 21.00
$ 60.00
S 4.50
$ . 18.75
S 23 95
• RAM — tests for Random Access Memory
errors
• ROM — tests for Read Only Memory errors
• CPU — tests for errors in Processor func-
tions
• I/O — tests for Input/Output errors in peri-
pheral equipment
The one "necessity" for any
TRS-80 system — use as pre-
ventive maintenance for de-
tecting circuit malfunctions
and as a diagnostic tool tor
pinpointing hardware problems. $34*95
There are new developments every day —
write or call for the latest information.
Outlet Hours:
Mon.-Fri.; 9 am.-
Sat. 12— 5 pm.
-7 pm.
C-30 Cassettes
Paper (9 1 /2"x 11
3500 sheets) $ 35.00 $ 29.95
Model List Price Our Price
Level M— 4K $698.00 $628.20
Level II— 16K $988.00 $889.20
Expansion Interface $299.00 $269.10
2©ala B
777 Henderson Boulevard N-6
Folcroft Industrial Park
Folcroft PA 19032
(215)461-5300
lSJEJj
Classroom Instruction offered in Level II Basic— $49.95; and DOS/Disk Basic— $69.95
niiiiiimiiiiiiiminiiTitiinn
250 BYTE August 1979
Circle 384 on inquiry card.
10-DAY FREE TRIAL
Send for our
FREE Catalog
4K - Keyboard C $ 595
8K - Keyboard C $ 795
16K - Keyboard B $ 995
16K - Keyboard N $ 995
32K - Keyboard C $1195
32K - Keyboard B $1195
32K - Keyboard N $1195
C— calculator keyboard (only version with tape deck)
B— large business keyboard without graphics symbols
N— large keyboard with graphics symbols
$100 FREE ACCESSORIES
WITH 16K Or 32K PET
T/C 2001 PET TERMINAL OPTION
PET ACCESSORIES
Commodore Dual Floppy Disk Drive $1295.00
New! PET Terminal Package $69.00
Second Cassette — from Commodore $95.00
Commodore PET Service Kit $30.00
Beeper - Tells when tape is loaded $24.95
Petunia - Play music from PET $29.95
Video Buffer - Attach another CRT $29.95
Combo - Petunia and Video Buffer $49.95
New Serial Printer Interface for PET $79.95
Integral Data Printer w/new interface $878.95
PET - Compatible Selectric in Desk $895.00
TTY KSR-33 Screen Printer for PET . . f U CS $395.00
Originate Answerback Modem for PET. . . .„ .$320.00
Si-directional RS-232 Interface $280.00
Betsi 4-slot S-100 Motherboard $160.00
S-100 PET Interface was $289.00 SALE $99.00
apple II
200 FR€€ RCCCSSORICS
Buy a 48K Apple II. mention this ad and take $200 in
accessories free (if ordered together). This offer is good
for $150 on 32K and $100 on 16K Apple ll's.Now you can
enjoy more of the best for less.
16K Apple II — $1 195 (take $100 in free accessories)
32K Apple II — $1345 (take $150 in free accessories)
48K Apple II — $1495 (take $200 in free accessories)
Apple II Accessories
Centronics Printer Interface 5225
Disk and Controller $595
Second Disk Drive $495
Parallel Printer Card $180
Communications Card $225
Hi-Speed Serial Card $195
Firmware Card $200
Hobby/Proto Card $24
Microverter RF Mod $35
Sanyo M2544 Recorder $55
CENTRONICS PRINTERS
UP TO 76% OFF LIST
We had purchased an entire truckload of Centronics printers and terminals and
when the semi arived we were amazed. Used Centronics were stacked from floor
to ceiling and from end to end! We realized that we have to movethese terminals
and printers fast. So we're offering these reconditioned Centronics at incredibly
low prices. However, some models are in limited quantities and the 779 and 703
models are already gone! Call today to get in on this great opportunity.
MODEL
301
306
306C
306SC
308
330
500
500D
501
508
530
700
701
703
761
SPEED
(1pm)
70-175
60-150
55-145
55-145
165
165
40-150
120
50-175
165
165
13-90
25-120
70-370
60
WIDTH
(col's)
80
80
80-132
80-132
80-132
80-132
132
132-218
132
132
132
132
132
132
132
PRINT
MATRIX
5x7
5x7
5x7
Dual
5x7
9x7
5x7
5x7
5x7
5x7
9x7
5x7
5x7
7x7
7x7
Character Elongation
Character Elongation
Variable Density
Variable Density
Teleprinter
Teleprinter. 96 char.
Character Elongation
Multiple Form
Character Elongation
Teleprinter
Teleprinter. 96 Char.
Character Elongation
Char. Elong.. Bidirectional
Char. Elong.. Bidirectional
Teleprinter. Bidirectional
CENTRONICS
LIST
$2,275
2.055
2.360
3.950
3.100
2.700
2.995
3.200
3.315
4.110
2.950
1.520
1.815
2.805
1.850
90-DAY 2
WORKING 1 WARRANTY
PRICE PRICE
$595
595
695
695
715
550
750
750
750
775
900
660
695
$695
695
795
795
815
650
850
850
850
875
1.000
1.075
1.175
SOLD OUT
695 1.025
"Model 761 includes Keyboard
779 21-90 80-132 5x7 Variable Density 1.250 SOLD OUT
780 21-90 80 5x7 Character Elongation 1.905 995 1.095
781 43-120 80 5x7 Char. Elong.. Bidirectional 1.980 995 1125
All machines require a parallel interface except the 330.530 & 761 models which require serial interfaces.
All machines feature 64 character ASCII code unless otherwise indicated.
1. Guaranteed in working condition when shipped Comes with a 10-day free trial
2. Comes with a 10-day free trial and our 90-day limited warranty.
INTERFACES AVAILABLE FOR
CENTRONICS PRINTERS
TRS-80
SORCERER
S-100
COMPUTERS
CRT
TERMINALS
Serial versions can use
the GPA TRS-80 interface
($69.95 from NCE) or the
Radio Shack Expansion
unit. Parallel versions use
the Radio Shack Expan-
sion unit.
Serial Versions can use
the GPA PET interface
($79.95 from NCE).
Serial versions can use
the Apple Serial Card
($195 OOfromNCE) Paral-
lel versions can use the
Apple Centronics Card
($225.00 fron NCE).
No hardware is required
forserial versions, a cable
($24.95 from NCE) is re-
quired tor parallel ver-
sions.
Cromemco and others
make interfaces for both
parallel and serial ver-
sions of the Centronics
Printers.
Our Centronics Printers
can be connected to a
Hazeltine 1510 or 1520
with a cable ($50 from
NCE). Contact us for use
with other terminals.
NCE/CompuMart
<&
SELLING COMPUTERS
BY MAIL SINCE 1971
1250 North Main Street, Department BY89
P.O. Box 8610 Ann Arbor, Michigan 48107
IMPORTANT ORDERING INFORMATION
All orders must include 4% shipping and handling. Michigan residents
must also add 4% for state sales tax. All foreign orders (except Canada)
need an additional 10% for shipping and handling. We cannot process
your order without these.
(313)994-3200
Phones open from 9:00 a.m. to 7:00 p.m. EST Monday-Friday, 10:00 a.m. to
5:00 p.m. Saturdays • P.O.'s accepted from D & B rated companies — ship-
ment contingent upon receipt of signed purchase order • Open accounts
invited — call for credit application • Most items in stock for immediate
shipment — call for delivery quotation • Sorry, no CO.D.'s • All prices
subject to change without notice • In the Ann Arbor area? Retail store open
11:00 a.m. to 7:00 p.m. Tuesday-Friday, 10:00 a.m.to 5:00 p.m. Saturdays
(Closed Sunday and Monday)
Circle 284 on inquiry card.
BYTE August 1979 251
INTEGRATED CIRCUITS MICROPROCESSOR LED'S SOCKETS CAPACITORS DIODES TRANSISTORS RESISTORS POTENTIOMETERS
CO
Z
00
H
<
LU
I
00
cc
o
H
CJ
LU
z
z
o
cj
C/5
Q.
LU
c/)
QC
LU
Q
-1
O
I
LU
00
D
LL
00
z
CO
<
LU
I
CO
cc
o
I-
cj
LU
z
z
o
CJ
<
I-
co
>
cc
o
CO
LU
I
o
CO
electronic components
One-Stop Component
and Kit Center
JC600 Hexadecimal
Encoder Kit
FULL 8 BIT LATCHED OUTPUT - 19 KEY BOARD
The JE600 Encoder Keyboard provides two separate hexadecimal digits
produced from sequential key entries to allow direct programming for
8 bit microprocessor or 8 bit memory circuits. Three (3) additional keys
are provided for user operations with one having a bistable output avail-
able. The outputs are latched and monitored with 9 LED readouts. Also
included is a key entry strobe.
FEATURES:
• Full 8 bit latched output
for microprocessor use
• 3 User Define keys with one
being bistable operation
• Debounce circuit provided
for all 19 keys
• 9 LED readouts to verify
entries
• Easy interfacing with standard
16 pin IC connector
• Only +5VDC required for
operations
NOW!! ! OVER 300 AUTHORIZED DISTRIBUTORS . . . HERE'S JUST A SAMPLING:
ALABAMA
ILLINOIS (Corn
nued)
MISSOURI
RHODE ISLAND
Mobile
Lafayette Radio Electronics
Oak Pork
Spectronics
El Dorado Springs
Beckman Electronics
Cranston
/ Jabbour Electronics City
ALASKA
Rockford
Computer Store of Rockford
MONTANA
Pawtucket
Jabbour Electronics City
Anchorage
TV Mart
Schaumburg
Data Domain
Billings
Conley Radio Supply
Warwick
Heathkit Electronic Center
ARIZONA
INDIANA
Bozeman
Electronic Service & Dist.
TENNESSEE
Yuma
Yuma Electronics
East Chicago
Aero Electronics Corp.
NEBRASKA
Chattanooga
William's Data Comp Div.
CALIFORNIA
Evansvjlle
Hutch & Son Inc.
Lincoln
Altair Computer Center
Clarksville
Masstromcs
Anaheim
Heathkit Electronic Center
IOWA
Lincoln
Scott Electronic Supply Inc.
Cookeville
Wagnon's Stereo Center
Antioch
Radio Mart
Indianola
Elecxronix Limited
Omaha
Heathkit Electronic Center
Knoxvtlle
Eastern Micro
Bellflower
Earl's Hobby Shop
KANSAS
Omaha
Omaha Computer Store
Nashville
Electra Distributing Co.
Berkeley
Al Lasher Electronics
Salina
Electronics. Inc.
NEVADA
TEXAS
Fullerton
Orvac Electronics Inc.
Wichita Amateur Radio Equipment Company
Las Vegas
Century 23
Amarillo
Computer Encounters Inc.
Mission Viejo
Tower Electronics Corp.
KENTUCKY
NEW JERSEY
Dallas
CompuShop
Monterey
Zackit
Lexington Radio-Electronic Equipment Co.
Brick town
Radio Shack Associate Store
Dallas
Heathkit Electronic Center
Oceanside
Electronic Center
Louisville Peerless Electronic Equipment Co.
Cherry Hill
The Computer Emporium
Houston
CompuShop
Palo Alto
Zack Electronics
LOUISIANA
Fair Lawn
Heathkit Electronic Center
Houston
Interactive Computers
Pasadena
Dow Radio Inc.
Baton Rouge
Pelican Electronics
Ocean
Heathkit Electronic Center
San Antonio
Appliance & Equipment Co.
Sacramento
Heathkit Electronic Center
Houma
Pelican Electronics
Pennsauken
Lafayette Radio
San Antonio Sherman Electronics Supply Inc.
Sacramento
Zackit
Metarie
Pelican Electronics
Pompton Lake
Computer Center ol N.J.
UTAH
San Carlos
J& H Outlet Store
MARYLAND
Ramsey
Typetronic Computer Store
Midvale
Heathktt Electronic Center
Son Diego Radio Shack A.S.C.—Miro Mesa
Annapolis
J & M Electronics
NEW MEXICO
Provo
Alpine Electronic Supply Co.
San Fernando
San Fernando Electronics
Baltimore
Harco of Baltimore
Las Cruces
Mannie's Electronic Supply
VIRGINIA
San Francisco
Zack Electronics
Churchville
Churchville Electronics
NEW YORK
Alexandria
Computer Hardware Store
San Francisco
Zenith Distributing Corp.
Damascus
Damascus CB
Endwell
Computer Tree Inc.
Alexandria
Heathkit Electronic Center
San Jose
United Radio & TV Supply
La Vale
J & M Electronics
Jericho
Heathkit Electronic Center
Blacksburg
Scotty's Radio & TV Inc.
San Luis Obispo
Mid-State Electronic Supply
Rockville
Computer Workshop
Kingston
Greylock Electronics
Charlottesville
Graves Electronics
Soma Ana
Quality Electronics
Rockville
Heathkit Electronic Center
New York
Computer Mart of New York
Falls Church
Crossroad Electronics
Santa Cruz
Santa Cruz Electronics
Towson
Baynesvitle Electronics Inc.
North White Plain
Heathkit Electronic Center
Hampton
Lafayette Radio
Santa Maria
Caps Electronics
Towson
Heathkit Electronic Center
Rochester
Heathkit Electronic Center
Norfolk
A/ec Electronics Corp.
Santa Monica
Mission Control
MASSACHUSETTS
Troy
Trojan Electronics
Richmond
Avec Electronics Corp.
Suisun City
Byte Shop
Peabody
Heathkit Electronic Center
Utica
Am-Com Electronics
Roanoke
The Computer Place
Sunnyvale
Sunnyvale Electronics
Pittsfield
Pittsfield Radio Co. Inc.
NORTH CAROLINA
Virginia Beach
Heathkit Electronic Center
Valleio
Zackit
Waltham
Computer Mart Inc.
Boone
Alpha Digital Systems
WASHINGTON
Walnut Creek
MicroSun Computer Center
Wellesley
Heathkit Electronic Center
Durham
Futureworld
Longview
Progress Electronics
COLORADO
Worcester
RM Electronics Inc.
Greensboro
Byte Shop
Moses Lake
Ron's Electronics
Aurora
Com Co Electronics
MICHIGAN
Raleigh
Bvte Shop of Raleiah
Pasco
Riverview Electronics
Durango
The Computer Shop
Ann Arbor
Eric Electronics
NORTH DAKOTA
Seattle
Amateur Radio Supply
CONNECTICUT
Ann Arbor
Wedemeyer Electronic Supply
Fargo
The Computer Company
Seattle
CCom
Heathkit Electronic Center
Canton
Electronic Connection
OHIO
Seattle
Empire Electronics
Bridgeport
Bridgeport Computer
Clawson
Radio Supply & Engineering
Bucyrus
Mead Electronics
Spokane
Persons! Computers
DELAWARE
Detroit
Heathkit Electronic Center
Cincinnati
Heathkit Electronic Center
Tacoma
C& G Electronics
New Castle
Delaware Amateur Supply
East Detroit
Heathkit Electronic Center
Columbus
Heathkit Electronic Center
WEST VIRGINIA
FLORIDA
East Lansing
Flint
Eric Electronics
Reynoldsburg
Universal Amateur Radio
Morgantown
Electro Distributing Co.
Ft. Lauderdale
Computers For You
Hobby Electronic Center
Youngstown
Ross Radio Company
Wheeling
Lafayette Radio
Hlaleah
Heathkit Electronic Center
Garden City
Computer Center
OKLAHOMA
WISCONSIN
GEORGIA
Grand Rapids
Radio Parts Inc.
Oklahoma City
Bits. Bytes & Micros
West Allis
Olson Electronics
Atlanta
Atlanta Computer Mart
Lansing
Fulton Radio Supply Co.
Oklahoma City
Heathkit Electronic Center
CANADA
Columbus
Radio Wholesale
Coleman's Electronics
Lansing
Wedemeyer Electronic Supply
OREGON
Alberta (Calgary)
The Computer Store
Stone Mountain
Livonia
Eric Electronics
Albany
Oregon Ham Sales
Ontario (Toronto!
House of Computers
HAWAII
Livonia
Radio Supply & Engineering
Coos Bay
Her rick Electronics
Ontario (Willowdale) Home Comouter Centre
Honolulu
Integrated Circuit Supply
Midland
Computronix Corp.
Portland
Portland Radio Supply
Quebec (Montreal!
Wang's Microcenter
IDAHO
Niles
Niles Radio Supply
Salem
Computer Pathways
ENGLAND
Idaho Falls
Audiotronics
Oak Park
Eric Electronics
PENNSYLVANIA
Berkshire
NewBear Computing Store
ILLINOIS
Sterling Heights
Eric Electronics
Mr. D's Digital Electronics
GUAM
Marianas Electronics
Evanston
Tri-State Electronic Corp.
MINNESOTA
Herslwy
Microcomputer Systems Inc.
PANAMA
Groveland
Moyer Electronics
Duluth
Northwest Radio of Duluth
Philadelphia
Heathkit Electronic Center
Panama City
SINGAPORE
Sonitel. S.A.
Mount Prospect
Tri-State Electronic Corp,
Hopkins
Heathkit Electronic Supply
Pittsburgh
Heathkit Electronic Center
Inter-trade (PTEl Ltd.
St. Paul
Heathkit Electronic Supply
York
G.Y.C. Company
ASK YOUR ELECTRONICS STORE TO STOCK JIM-PAK® TODAY!!
JIM-PAK® ■ 1021 HOWARD AVENUE, SAN CARLOS, CALIFORNIA 94070 • (415)592-8097
<
C/J
>
cc
cj
00
LU
I
cj
00
CO
LU
-J
CO
LU
CO
CO
<
CD
<
CJ
CO
cc
LU
0.
D
~3
Q.
Q
CO
H
CO
o
o
CO
CO
Q-
CJ
H
co
LU
00
QC
LU
Q
-I
O
I
LU
CO
D
IL
CO
z
CO
<
LU
I
CO
cc
o
H
CJ
LU
z
z
o
CJ
<<
H
00
>
QC
CJ
00
LU
I
CJ
H
£
CO
INTEGRATED CIRCUITS MICROPROCESSOR LED'S SOCKETS CAPACITORS DIODES TRANSISTORS RESISTORS POTENTIOMETERS
252 BYTE August 1979
Circle 203 on inquiry card.
Circle 296 on inquiry card.
COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER
PRINTER
TERMINALS
?fl! , —
• • * •
» • ♦ ♦
• • i *
* ? r
MODEMS
TAPE DRIVES
•ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle for less than
letter-quality printout from your computer? Refurbished IBM Model 725
can be used as off-line typewriter or on-line printer. Complete with solenoids,
power supply, case and ASCII interface card (TTL to CPU parallel port.)
Interface includes programmable ASCII translation table on EPROM with up to
8 tables for use with various type spheres. Feedback signals on completion of
each print cycle insures fastest printing speed (1 5 cps.)
Price: programmed w/3 translation tabjes (one type sphere): $695.00
•SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII
& IBM code versions with microcomputer interface software & hardware (RS-
232 connector.) Cassette drive models permit up to 2400 baud data transfer
rate as well as off-line data storage, use as memory typewriter, & use as data
entry device for office personnel familiar with Selectric typewriters but no.t
computers. Wide-carriage, interchangeable type spheres; optional built-in
modem. All units cleaned, adjusted & warranted.
Model 5541 (IBM Correspondence code) $695.00
Model 5550 (corres. code, built-in cassette drive) $1195.00
Model 5560 (ASCII code, built-in cassette drive) $1295.00
•DIABLO MODEL 1550 "DAISY-WHEEL" TERMINAL: Refurbished
letter-quality terminal with Hytype I printer (30 cps), full ASCII key-
board, RS-232 serial prot, 110, 150, 300 baud, 768 char, print buffer,
software controlled graphics mode (1/60 in. spacing), built-in stand.
SHIP WT. 200 lb. Price, refurbished: $1895.00
•DIABLO HYTYPE I Model 1200 PRINTER MECHANISM: used, complete
and tested. Requires power supply, case & mCPU interface. 15 day return
privilege - no other warranties. LIMITED QUANTITY! $750.00
-6' Ribbon cable & connector for printer Main Logic PCB $10.00
-14-pin Winchester connector & 18" power supply cable $5.00
-"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00
-New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.00
• POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/or BELL 202
FREQUENCIES: Unique POS control design permits use in one housing of
both Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modem
modules originally made by VADIC Corp. for a telephone company subsidiary.
FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display,
telephone line interface via acoustic coupler, manual DAA, or auto-answer
DAA (sold separately.) FULLY ADJUSTED; no special tools required.
3,000 mile range over standard dial-up telephone lines.
-POS 103 MODEM (with Auto Answer, Auto Dial) $179.95
-POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95
-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) $279.95
-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95
•POS-100 NRZ1 TAPE DRIVE CONTROLLER/FORMATTER: Designed as
interface between S-100 bus mCPU and 9-track, 800 BPI, NRZ1 tape drive.
Allows microcomputerist to read and write IBM-compatible Vz" mag tapes.
Software provided for 8080 or Z-80 systems. Requires modification for drives
of various mfrs.
Price: (Includes S-100 card, controller card, 10' cable, software listing} . $750.00
•NRZ1 TAPE DRIVE by WILLARD LABS. 9-track, 800 BPI, NRZ1 format,
12"/sec, 1200 ft. reels (10 megabyte capacity) Fully tested and warranted $599.00
•CONVERT 15" IBM OFFICE SELECTRIC TO I/O TYPEWRITER: Kit
includes assembled solenoids, switches, wire harness, magnet driver PCB plus
instructions for installation and mCPU interface $200.00
• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;
AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25.
• FORMS TRACTORS. Moore Variable width "Form A-Liner" for print terminals:
a) Model 565P for 1 5" Carriage IBM Selectrics (new): $50.00
bJModel K81 for QUMEor DIABLO Hytype I or II printers (new): .... $90.00
•POWER SUPPLIES for Disk Drive, mCPU, tested under load shown:
-No. 519 (w/fan & AC cord): +5V reg.,±12V reg., +24V, @4A (10 1b.). .$39.95
-LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $69.95
NO RISK! 15 DAY APPROVAL ON ALL MAILORDERS-
Full documentatron included PLUS interface instructions jL PACIFIC OFFICE SYSTEMS, INC.
where indicated. All equipment is shipped insured FOB m 2600 El Camino Real, Suite' 502 '
Palo Alto within 14 days after check clears or COD ^ p a lo Alto, Calif. 94306
order is received. Prices may change without notice. *\ (41 5) 321-3866
Call or write for details, quantity prices, catalog. 1 5 day
return privilege PLUS 90 day no charge replacement of
defective parts. All orders shipped from stock. No back
orders, no substitutions. M/C & VISA accepted.
ProComp/IMew England
120 Boylston Street Fourth Floor
Boston, MA/02116 Phone 617-482- 4450
HOURS: M-F 10-5, S 10-4
U
Seattle 16K Static Ram
Measurement Systems 48 64K Dynamic Ram
Micromation Doubter Disk Controllers
Computalker CT-1
Cromemco Single Card Computer
...AND MORE
~
Compucorp 625 Mkll & 665
Imsai VDP42 & VDP80
Complete Double Density Disk Systems
Graham- Dorian
Structured Systems Group
National Software Exchange
Selector III
. . . AND MORE
Sypptei
Diskettes
Storage Binders
Printer Ribbons
d SPECIAL BARGAINS ON USED EQUIPMENT!!
□ Special prices on these and other in-stock items during our Grand Opening Sale
now through September 30th.
□ Write, call or stop in for our catalog and Grand Opening Sale Price List.
a VISA and
MASTERCHARGE
Circle 69 on inquiry card.
BYTE August 1979 253
Electrolabs n e w
6721,Stanford,Ca94305 CATALOGUE
POB
[AMERICAN "J
EXPRESS I
FLOPPY SYSTEMS
TLX:
*« -415-321-5601
■ 800-227-8266
345567
Crystals
Integrated circuits
Keyboards
Lasers
LSI 11
Media
RAMs
S-100 Components
Z-80 Components
8" Siemens FID0 120-8 Drive
All. Siemen's options included
in this drive which can be con-
figured hard or soft and single
or double density. (Others give
only stripped unit) S39Q.00
"Power One" Model CP206
Floppy Power Unit. For two
drives going full-out, and poss-
ably more on less severe service.
2.8A@24V, 2.5A@5V, 0.5A@-5V.
Beautiful quality. $99.00
DISKETTES (Standard)
<$s
Boxed 10
Boxed 10
$39.00
$34.95
Tarbell ("It Works") Interface
(Includes cable set for 2 drives)
$265.00 BUT ONLY $219.00
with purchase of two drives.
Cable Kits 10' with 50 cond.
cable and connectors and also
Molex connectors and power
cable: For one drive: $27.50
For two drives: $33.95, and
for three drives: $38.95
CABINETS for FDD120 and
801 R Drives, or CP206 power
supply. Matte finish in mar
resistant black epoxy paint
.Stacking type design. $29.99
ELECTROLABS is proud to announce appointment as
DISTRIBUTOR by Cll-Honeywell Bull.
PRICE BREAKTHROUGH on SUPERDISK 10MBY! $3495.00
General purpose controller (requires 2 parallel I/O ports) 1 500.00
S-100 Controller (DMA) 995.00
"RL-01/RK-05" surrogate 1900.00
(transparent to RT f RS, RX)
SOFTWARE: (CP/M Compatible)
SUPERD0S1
(Z-80) $695.00
MICR0D0S1
(TRS-80) ... $1 99.00 »™"" W^1|j|
Power supply (switching)
$395.00
Enclosure (desktop)
$ 99 00
Removeable Media Cartridge Drive
Used Sylvania 12" Video Moni-
tors. Composite video 15mhz,
115vac, 50/60hz New Tube. As
shown $109 OEM style without
case: $99, Anti-glaie tube option
add $12. Specify p4 or p39
ESAT 200B
BILINGUAL 80x24
COMMUNICATING
TERMINAL
Scrolling, full cursor, bell,
8x8 metrix, 110-19,200
baud. Dual Font Appli-
cations. Arabic & Hebrew,
Multilingual Data Entry,
5 1 / 4 "
MINI- FLOPPY
DRIVE
$299.00
-single or double dens-
ity - quick access time
- high reliability &
durability
Mini-floppy CABLE KIT:
for TRS-80 or your
Tarbell controller.
$24.95
Daisy Wheel Printers
Qume Sprint 3\45
Print wheels S8.95 Ribbons S5.95
OEM Style mechanism $1399.00
Forms Drawing, Music Instruction, Specialized Graphics (e.g. Games, Chemical Plants,
Switchyards) $349.00 We carry keyboards, cases, power supplies, etc., enough to make
an entire system Q
254 BYTE August 1979
Circle 115 on inquiry card.
P.O. Box 4430X Santa Clara, CA 95054
RCA Cosmac Super Elf Computer $106.95
Compare features before you decide to buy any
other computer. There is no other computer on
the market today that has all the desirable bene-
fits of the Super Elf for so little money. The Super
Elf is a small single board computer that does
many big things. It is an excellent computer for
training and for learning programming with its
machine language and yet it is easily expanded
with additional memory, Tiny Basic, ASCII
Keyboards, video character generation, etc.
The Super Ell includes a ROM monitor for pro-
gram loading, editing and execution with SINGLE
STEP lor program debugging which is not in-
cluded in others at the same price. With SINGLE
STEP you can seethe microprocessor chip opera-
ting with the unique Quest address and data bus
displays before, during and alter executing in-
structions. Also, CPUmodeand instruction cycle
are decoded and displayed on 8 LED indicators.
An RCA 1861 video graphics chip allows you to
connect to your own TV with an i nexpensive video
modulator to do graphics and games. There is a
speaker system included for writing your own
music or using many music programs already
written. The speaker amplifier may also be used
to drive relays for control purposes.
A 24 key HEX keyboard includes 16 HEX keys
plus load, reset, run, wait, Input, memory pro-
tect, monitor select and single step. Large, on
Super Expansion Board with
This is truly an astounding value! This board has
been designed to allow you to decide how you
want it optioned. The Super Expansion Board
comes with 4K of low power RAM fully address-
able anywhere in 64K with built-in memory pro-
tect and a cassette Interface. Provisions have
been made for all other options on the same
board and it fits neatly into the hardwood cabinet
alongside the Super Elf. The board includes slots
for up to 6K of EPROM (2708, 2758, 2716 or Tl
2716) and is fully socketed. EPROM can be used
fortrje monitor an'd Tiny Basic or other purposes.
A IK Super ROM Monitor $19.95 is available as
an on board option in 2708 EPROM which has
been preprogrammed with a program loader/
editor and error checking multi file cassette
read /write software, (relocatible cassette file)
another exclusive from Quest. Itincludes register
save and readout, block move capability and
video graphics driver with blinking cursor. Break
points can be used with the register save feature
to isolate program bugs quickly, then follow with
single step. The Super Monitor is written with
subroutines allowing users to take advantage of
monitor functions simply by calling them up.
board displays provide output and optional high
and low address. There is a 44 pin standard
connector for PC cards and a 50 pin connector for
the Quest Super Expansion Board. Power supply
and sockets for all IC's are included in the price
plus a detailed 127 pg. instruction manual which
now includes over 40 pgs. of software info, in-
cluding a series of lessons to help get you started
and a music program and graphics target game.
Remember, other computers only offer Super Elf
features at additional cost or not at all. Compare
before you buy. Super Ell Kit $106.95, High
address option $8.95, Low address option
$9.95. Custom Cabinet with drilled and labelled
plexiglass front panel $24.95. Expansion Cabinet
with room for 4 S-100 boards $41.00. NICad
Battery Memory Saver Kit $6.95. All kits and
options also come completely assembled and
tested.
Questdata, a 12 page monthly software publica-
tion for 1 802 computer users is available by sub-
scription for $12.00 per year.
Attention Elf Owners
New products in hardware and software
coming soon.
Tiny Basic cassette $10.00, on ROM $38.00,
original Elf kit board $14.95.
Cassette Interface $89.95
Improvements and revisions are easily done with
the monitor. If you have the Super Expansion
Board and Super Monitor the monitor is up and
running at the push of a button.
Other on board options include Parallel Input
and Output Ports with full handshake. They
allow easy connection of an ASCII keyboard to the
input port. RS 232 and 20 ma Current Loop for
teletype or other device are on board and if you
need more memory there are two S-100 slots for
static RAM or video boards. A Godbout 8K RAM
board is available for $1 35.00. Also a 1 K Super
Monitor version 2 with video driver for full capa-
bility display with Tiny Basic and a video interface
board. Parallel I/O Ports $9.85, RS 232 $4.50,
TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pin
connector set with ribbon cable is available at
$12.50 for easy connection between the Super
Elf and the Super Expansion Board.
The Power Supply Kit for the Super Expansion
Board is a 5 amp supply with multiple positive and
negative voltages $29.95. Add $4.00 for shipping.
Prepunched frame $7.50. Case $10.00. Add $1.50
for shipping.
Auto Clock Kit $17.95
DC clock with 4-.50" displays. Uses National
MA-1012 module with alarm option. Includes
light dimmer, crystal timebase PC boards. Fully
regulated, comp. instructs. Add $3.95 for beau-
tiful dark gray case. Best value anywhere.
RCA Cosmac VIP Kit $229.00
Video computer with games and graphics.
Fully assem. and test. $249.00
All VIP options avail. week deliv.
Not a Cheap Clock Kit $14.95
Includes everything except case. 2- PC boards.
6-.50" LED Displays. 5314 clock chip, trans-
former, all components and full instructions.
Orange displays also avail. Same kit w/.80"
displays. Red only. $21.95 Case $11.75
60 Hz Crystal Time Base Kit $4.40
Converts digital clocks from AC line frequency
to crystal time base. Outstanding accuracy. Kit
includes: PC board, IC, crystal, resistors, ca-
pacitors and trimmer.
Digital Temp. Meter Kit $39.95
Indoor and outdoor. Switches back and forth.
Beautiful. 50" LED readouts. Nothing like it
available. Needs rio additional parts for com-
plete, full operation. Will measure -100° to
+200°F, tenths of a degree, air or liquid.
Beautiful woodgrain case w/bezel $11.75
NiCad Battery Fixer/Charger Kit
Opens shorted cells that won't hold a charge
and then charges them up, all in one kit w/full
parts and instructions. $7.25
PROM Eraser Will erase 25 PROMs in
lb minutes. Ultraviolet, assembled $34.50
Rockwell AIM 65 Computer
6502baseasingleboardwithtullASCII keyboard
and 20 column thermal printer. 20 char, al-
phanumeric display, ROM monitor, fully expand-
able. $375.00. 4K version $450.00. 4K Assem-
bler $85.00, 8K Basic Interpreter $100.00.
Power supply assem. in case $60.00. AIM 65 in
thin briefcase with power supply $485.00.
TERMS: S5.00 min. order U.S. Funds. Calif residents add 6% tax.
BankAmericard and Master Charge accepted.
Shipping charges will be added on charge cards.
7400TTI
7400N
7402N
7404N
7409N
7410N
7414N
7420N
7422N
7430N
7442N
7445N
7447N
7448N
7450N
7474N
7475N
7485N
7JB9N
7490N
7492N
7493N
7495N
74100N
74107N
74121N
74123N
74125N
74145N
74150N
74151N
74154N
74157N
74161N
74162N
74163N
74174N
74175N
74190N
74192N
74193N
74221N
74298N
74365N
74366N
74367N
74LSQQ TTL
74LS00N
74LS02N
74LS04N
74LS05N
74LS08N
74LS10N
74LS13N
74LSI4N
74LS20N
74LS22N
74LS28N
74LS30N
74LS33N
74LS3BN
74LS74N
74LS75N
74LS90N
74LS93N
74LS95N
74LS107N
74LS112H
74LS113N
74LS132N
74LS136N
74LS151N
74LS155N
74LS157N
74LS162N
74LS163N
74LS174N
74LS190N
74LS22IN
74LS258N
74LS367N
LINEAR
CA3045
CA3Q46
CA3081
CA3082
CA3089
LM301AN/AH
LM305H
LM307N
LM308N
LM309H
LM309K
LM311KW
LM3I7T/X
LM318
LM320K-5
LM323K-5
LM320K-12
LM320K-15
LM320T-5
LM320T-B
LM320T-12
LM320T-15
LM324N
LM339N
LM340K-5
LM340K-6
LM340K-12
LM340K-15
LM340K-24
LM340T-5
LM340T-8
LM340T-12
LM340T-15
LM340T-18
LM340T-24
LM343H
LM350
LM370
LM377
LM379M
LM380N
LM381
LM382
LM703H
LM709H
LM723H/N
LM733N
LM741CH
LM741N
LM747H/N
LM748N
LM1303N
LM1304
LM1305
LM1307
LM1310
LM1458
LM1800
LM1812
LM1889
LM2H1
LM2902
LM3900N
.34 LM3905 1.7
.59 LM3909N .6
.39 MC1458V .5
.69 NE550N .6
.95 NE555V .4
.69 NE556A .7
1.00 NE565A 1.0
.69 NE566V 1.5
87 NE567V 1.2
87 NE570B 5.0
.87 NE571B 5.0
.96 78L05 6
.90 78L08 6
1.15 79L05 .7
.87 78M05 8
.85 75108 1.7
1.55 75491CN 5
1,65 75492CN 5
.95 75494CN .8
.95
95 A to CONVERTER
74C922
74C923
74C925
74C926
74C927
INTERFACE
8T13
8T20
8T23
8T24
8T25
8T26
8T28
8T97
8T98
WIRE WRAP LEVEL 3
8700CJ
8701CN
3750CJ
LD130
9400CJWF
ICL7103
ICL7107
8702
CMOS
CD34001 Fair.
CD4000
CD4001
CD4002
CD4006
CD4007
CD4008
CD4O09
CD4010
CD4011
CD4012
CD4013
CD4D14
CD4015
CD4016
CD4017
CD4018
CD4019
CD4020
CD4021
CD4022
CD4023
CD4024
CD4025
CD4026
CD4027
CD4028
CD4029
CD4030
CD4035
CD4D40
CD4042
CD4043
CO4044
CO4046
CD4049
CD4050
CD4051
CD4060
CD4066
CD4068
CD4069
CD4070
CD4071
CD4072
CD4073
CD4075
CD4076
CD4078
CD4081
CD4082
CD4U6
CD4490
CD4507
CD4508
CO4510
CD4511
CD4515
CD4516
CD4518
CD4520
CD4527
CD4528
CD4553
CD4566
CD4583
13.95
55.95
13.95
2102-1
2102AL-4
7.4U 211.02-1
9.50 21F02
4.25 2104A-4
7.95 21078,4
2111-1
2112-2
50 21141.-3
.16 4116
28 25138
5.50
5.50
6.95
695
6.95
UART/FIFO
.95 AY5-1013
.95 AY5-1014
.95 3341
.95
1.25 PROM
4.50 1702A
3.00 N82S23
5.50 N82S123
3.10 N82S126
3.50 N82S129
3.20 N82S131
1.69 N82S136
2.75 NB2S137
1.69 2708
1.69 DM8577
,.u fl223
,AM „„ 2716T1
395 2716 tntel
1.60
1.18
1.25
CRYSTALS
1 MHz
1.10
MM5262
MM5280
MM5320
.„ MM5330
' 3 g PD411D-3
39 P04110-4
2fl P5101L
on 4200A
36 82S25
86 91L02A
66 H00165-5
' 36 MM57100
94 G1AY38500-1
94 MCM6571A
T« 9368
-HOD
2 MHz
4 MHz
5 MHz
10 MHz
18 MHz
20 MHz
32MHz
6.30 32768MHz
-'40 1.8432 MHz
300 35795 MHz
?•« 2.0100 MHz
5 94 2.097152 MHz
£•00 2.4576 MHz
3.2768 MHz
5.0688 MHz
5.185 MHz
5.7143 MHz
6.5536MHz
14.31818 MHz
18.432 MHz
10.95
13.95
ready to hook up with transformer and
switches. Very compact with .50" and
.84"dinits.
MA100ZA. C or E .50" 8.95
102P3 Transformer 2.25
MA1O10A. C or E .84" 11.95
1B2P2 Transformer 2.25
Speclaltransformerand six
twitches when purchased
w/module
MA10O3 car module .3"
green lluor. display
RESISTORS V* watt 5%
1 pe r type .03 1000pertype .012
2 5 pe r type .025 350piece pick
100perlype .015 5 pertype- 6.75
KEYBOARDS
56 key ASCII keyboard kit S67.50
Fully assembled 77 50
53 key ASCII keyboard M 60.00
Fully assembled 70.00Enclosure 14.95
LEDS
RedTOIS .15
Green. YellowT018 .20
Jumbo Red .20
Green. Oranrje. Yellow Jumbo - .25
Cllpllle LEO Mounting Clips 8*1.25
(ifl£SitW^l amber, orcon. yellow, clear)
CONTINENTAL SPECIALTIES In Xtotk
'Cfimplef e Sne ol breadbc ard lest equip.
MAX-100 S digit Freq. Ctr. 1128.95
OK WIRE WRAP TOOLS In Jtoek
Portable Multimeter $16.00
DIGITAL THERMOMETER $48.50
Bait. oper. Genera (purpose or medical
32 J -230'F. Disposable probe cover
" "ip, Assy '
from F» t
COMPUTER BOARD KITS
6K RAM Board Kit $135.00
4K EPROM Kit 114.95
I'O Board Kit 44.50
Extender Board w/connedor 12.50
1EK EPROM board Kit w/o PROMS 74.50
Norttt Star Floppy Disk Kit £665.00
Additional Drlvo Kit 415.00
SPECIAL PRODUCTS
MM5865 Stopwatch Timer 9.00
PC board 7.50
Swltehei Mom. Pushbutton .27
3 pos. slide .-25
Encoder HM1E5-5 6.95
3Dlonunberul
Counter Board Kit
Operates 5-iB Volt DC to 5 MHz
typ. .125" LED display 10.5D
Voice actuated twitch .50
Parationics 10OA Logic
Expand
KH
$235.00
S229.00
9.95
9.95
2211
4 MHz
416
CLOCKS
MM5309
MM5311
MM5312
MM5313
, n MM5314
79 MM5315
CONNECTORS
44 pin edge 2.75
100 pin edge 4.50
100 pin edge WW 4.75
KEYBOARD ENCODERS
AY5-2376
AY5-3600
390 74C922
'" 74C923
HD0165-5
3.60
Black
'•02 MM5316
•28 MM5318
1 -02 MM5369
1.02 MM5841
11 MM5865
•£3 CT7001
•63 CT7010
'•67 CT7015
•36 MM5375AA/N
•36 MM5375AB/N
•13 7 205
1.42 J2Q7
l\ TOT
■JO 7209
40 D50026CN 3.75
•40 DSO056CN 3.75
•28 MM53104 2.50
\1 MICROPROCESSOR
2fl 6800 17.50 .
{i\ 6802 18.75 2N3904
40 8080A with data 8.95 2N390B
16.50
7.50
15.95
TRANSISTORS
2N1893
2N2222A
2N2369
2H29Q4A
2N2907A
2N3053
2N3S36
2N3643
Model 150 Bus
GrabberKit
Sinclair 3V<: Digit
Multimeter »
Clock Calendar Kit $
TRANSFORMERS
6V300 ma
12 Volt300 ma transformer
12.6VCT600ma
„ 12V250ma wall plug
$12 50 12VCT 250 ma well plug
)795 24VCT400ma
5 5fj 1DV t.2 amp wall plug
5 50 12V6amp
6^95 DISPLAY LEOS
MAN1 CA 270 2.90
MAN3 CC .125 .39
10 MAN72/74 CA/CA .300 1.00
DL704 CC .300 "
DL707/DL707R CA .300
Dl 727/728 CA/CC .500
DL747/750
DL750
FND353
;•■:
.'■
FNDB0Q/B07
3 digit Bubble
4 digit bubble
$369.0!
12.95
CA7CC .600 1.95
CC .600 1.95
CC .357 .70
CC/CA .500 1.35
CC/CA .500 .90
CC/CA ,800 2.20
.25
6085
Z80A
8212
8214
8216
8224
8228
8251
8253
8255
8257
8259
1B02CP plas,
1802OP plas.
1861P
CDP1802CD
COP1802D
COP1861
2N3055
19.75 2N4400 25 1600
2.90 2N4401 .75 2QQ0
B.00 2N4402 .20 3200
2.90 TIP31 60 5500
2.90 TIP33A 1.00 seoO
5.35 6100
8.50 Connectors RS232 6100
10.00 25 Pin Subminiatures 7700
9/25 DB25P 2.95 8000
1950 D325S 3.95 10000
19.50 Cover 1.50 12000
13.95 RS232 Complete Set 6.50 35000
17.95 DE9P 1.50 55000
11.50 DE9S 1.95 82000
19.95 DA15P 2.10 60000
25.00 DA15S 3.10-760%
12-95 -rV20000
DG8 fluorescent
OG10 Fluorescent
5 digit 14 pin display
NSN69 9 digit display
7520 Claire* photocells
TIL311 Hex
Multi-volt Computer Power Supply
8v 5 amp, ±18v .5 amp, 5v 1.5 amp, -5v
.5 amp, 12v .5 amp, -12 option. ±5v, ±12v
are regulated. Kit$29.95. Kit with punched frame
$37.45. Woodgrain case $10.00.
Video Modulator Kit $8.95
Convert your TV set into a high quality monitor
without affecting normal usage. Complete kit
with full instructions.
2.5 MHz Frequency Counter Kit
Complete kit less case $37.50
30 MHz Frequency Counter Kit
Complete kit less case $47.75
Prescafer kit to 350 MHz $19.95
79 IC Update Master Manual $35 oo
Complete IC data selector, 2500 pg. master ref-
erence guide. Over 50,000 cross references. Free
update service through 1979. Domestic postage
$3.50. Foreign $5.00. 1978 IC Master closeout
$19.50.
Stopwatch Kit $26.95
Full six digit battery operated. 2-5 volts.
3.2768 MHz crystal accuracy. Times to 59
min., 59 sec, 99 1/100 sec. Times std., split
and Taylor. 7205 chip, all components minus
case. Full instructions.
Hickok 3 1 / 2 Digit LCD Multimeter
Batt/AC oper. 0.1mv-1000v. 5 ranges. 0.5%
accur. Resistance 6 low power ranges 0.1
ohm-20M ohm. DC curr. .01 to 100ma. Hand
held, W LCD displays, auto zero, polarity, over-
range. $69.95.
S-100 Computer Boards
8K Static RAM Kit Godbout $135.00
16K Static RAM Kit 265.00
24K Static RAM Kit 423.00
32K Dynamic RAM Kit 310.00
64K Dynamic RAM Kit 470.00
8K/16K Eprom Kit (less PROMS) $89.00
Video Interface Kit $139.00
Motherboard $39. Extender Board $8.99
FREE: Send for your copy of our NEW 1979
QUEST CATALOG. Include 28c stamp.
Circle 311 on inquiry card.
BYTE August 1979 255
PEFGCM SAMPLEf)
> r
For your SS-50 bus computer — the
CIS-30+
• Interface to data terminal and two cas-
sette recorders with a unit only 1/10
the size of SWTP's AC-30.
• Select 30, 60, or 120 bytes per second
cassette interfacing, 300, 600 or 1200
baud data terminal interfacing.
• Optional mod kits make CIS-30+ work
with any microcomputer. (For MITS
680b, ask for Tech Memo TM-CIS-
30+— 09.)
• KC-Standard/Bi-Phase-M (double fre-
quency) cassette data encoding. De-
pendable self-clocking operation.
• Ordinary functions may be accom-
plished with 6800 Mikbug™ monitor.
- Prices: Kit, $79.95; Assembled,
$99.95.
Prices include a comprehensive instruction
manual. Also available: Test Cassette, Re-
mote Control Kit (for program control of
recorders), IC Socket Kit, MITS 680b mod
documentation, Universal Adaptor Kit
(converts CIS-30+ for use with any com-
puter). MIKBUG®Motorola, Inc.
In the Product Development
Queue . . .
Coming PDQ. Watch lor announce-
ments.
6809 Processor Card — With this SS-50
bus PC board, you'll be able to upgrade
with the microprocessor that Motorola
designers describe as the "best 8-bit
machine so far made by humans."
The Electric Crayon™ — This color
graphics system includes its own |iP and
interfaces to virtually any microcomputer
with a parallel I/O port.
Printer Interlace — For your TRS-80™.
Interface any serial RS232 printer to your
TRS-80™ with this system.
™ELECTRIC WINDOW. ELECTRIC CRAYON. Pilon-
30 and Pilon-10 are trademarks of Percom Data
Company. Inc.
TRS-80 is a trademark of Tandy Corporation and Radio
Shack which has no relationship to Percom Oata Company.
Orders may be paid by check or money order,
or charged to Visa or Master Charge credit
account. Texas residents must add 5% sales
tax.
For your data storage — Pilon-30™ and
Pilon-10™ data cassettes
• Orders-of-magnitude improvement in
data integrity over ordinary audio cas-
settes.
• Pilon-coated pressure pad eliminates
lint-producing felt pad of standard
audio cassettes.
• Smooth pilon coating minimizes erra-
tic tape motion.
• Foam pad spring is energy absorbing.
Superior to leaf spring mounted pad
which tends to oscillate and cause flut-
ter.
• Five-screw case design virtually pre-
cludes deformation during assembly.
• Price: $2.49.
For your S-100 computer— the CI-812
• Both cassette and data terminal inter-
facing on one S-100 bus PC board.
• Interfaces two recorders. Record and
playback circuits are independent.
• Select 30, 60, 120, or 240 bytes per
second cassette interfacing, 110 to
9600 baud data terminal interfacing.
■ KC-Standard/Bi-Phase-M (double fre-
quency) encoded cassette data. De-
pendable self-clocking operation.
• Optional firmware (2708 EPROM)
Operating System available.
• Prices: kit, $99.95; assembled,
$129.95.
Prices include a comprehensive instruction
manual. In addition to the EPROM Operating
System, a Test Cassette, Remote Control Kit
(for program control of recorders), and an 16
Socket Kit are also available.
CASSETTE SOFTWARE
For 8080/Z-80 /uCs . . .
BASIC ETC — Developed by the co-
authors of the original Tiny BASIC, BASIC
ETC is easy to use yet includes com-
mands and functions required for power-
ful business and scientific programs as
well as for hobby applications. 9.5K bytes
of RAM. 1200-baud cassette and 42-page
user's manual $35.00
Cassette Operating System — EPROM
(2708) COS for the Percom CI-812 dual
peripheral interfacing PC card . . $39.95
If you're programming on a 6800 /iC,
you'll want these development and de-
bugging programs written by Ed Smith of
the Software Works:
Disassembler/Source Generator — Dis-
assembles SWTP Resident Assembler,
TSC Mnemonic Assembler/Text Editor or
Smoke Signal Mnemonic Assembler/Text
Editor and produces compacted source
code suitable for re-editing. Prints or dis-
plays full assembly-type output listing.
4K bytes of RAM.
(Order M68SG) $25.00
Disassembler/Trace — Use to examine
(or examine and execute) any area of
RAM or ROM. "Software-single-step"
through any program, change the con-
tents of CPU or memory location at any
time, trace subroutines to any depth.
2.3K bytes of RAM.
(Order M68DT) $20.00
EPROM Support/Relocator Program —
This program relocates a program in any
contiguous area of RAM or ROM to any-
where in RAM. Use to assemble and test
programs in RAM, adjust pron^ams for
EPROM operating addresses and then
block move to your EPROM burner ad-
dress. 952 bytes of RAM. Loads at hex
1000.
(Order M68EP) $20.00
Relocating Assembler & Linking Loader
(M68AS) $50.00
Relocating Disassembler & Segmented
Source Text Generator (M68RS) $35.00
Americana Plus — 14 tunes for the New-
tech Model 68 Music Board in machine
language ready to load and run. Cassette
compatible with Percom CIS-30+ and
SWTP AC-30. Order MC-1SW . . $15.95
HARDWARE
Newtech Model 68 Music Board — Pro-
duces melodies, rhythms, sound effects,
morse code, etc. from your programs.
Includes manual with BASIC for writing
music scores and assembly language
routine to playtherri. Installs in SWTP I/O
slot. Assembled & tested $59.95
The Percom ELECTRIC WINDOW™ —
Memory-resident and programmable,
this video display character generator
board for your SS-50 bus displays up to
24 80-character lines. Features dual
character generators, dual-intensity
high-lighting. One programmable regis-
ter controls scrolling. Compatible with
standard video monitors $249.95
SS-50 Prototype Cards:
Large card (up to 70 40-pin ICs) $24.95
I/O size card $14.95
PERCOM™ 'peripherals for personal computing'
PERCOM DATA COMPANY, INC.
DEPT. B
211 N. KIRBY • GARLAND, TX. 75042
To order products or request additional lit-
erature, call Percoms toll-free number:
1-800-527-1592. For detail technical In-
formation call (214) 272-3421.
256 BYTE August 1979
Circle 301 on inquiry card.
Circle 126 on inquiry card.
TlielXVU-rRVNSlOOO
A completely refurbished
IBM Selectric Terminal with
built-in ASCII Interface.
Features:
• 300 Baud
• 14.9 characters per second
printout
• Reliable heavy duty Selectric
mechanism
• RS-232C Interface
• Documentation included
• 60 day warranty - parts and
labor
• High quality Selectric printing
Off-line use as typewriter
• Optional tractor feed available
• 15 inch carriage width
$1395
HOW TO ORDER
DATA-TRANS 1000
1 . We accept Visa, Master
Charge. Make cashiers checks or
personal check payable to:
DATA-TRANS
2. All orders are shipped
EO.B. San Jose, CA
3. Deliveries are immediate
For orders and information
DATA-TRANS
2154 OToole St
UnitE
San Jose, CA 95131
Phone: (408) 263-9246
MICRO-
PROCESSORS:
FROMCHIPSTO
SYSTEMS
This book cover all as-
pects of microp-
rocessors, from the
basic concepts to ad-
vanced interfacing
techniques, in a pro-
gressive presenta-
tion. It is independent
from any manufac-
turer, and presents
uniform standard
principles and design
techniques, including
the interconnect of a
standard system, as
well as specific com-
ponents. It intro-
duces the MPU. how
it works internally, the
system components
[ROM, RAM, UART,
PIO, others), the sys-
tem interconnect,
applications, pro-
gramming, and the
problems and tech-
niques of system de-
velopment. By R.
Zaks. SYBEX. Ref.
C201.S9.95
MICRO-
PROCESSOR
INTERFACING
TECHNIQUES
Microprocessor in-
terfacing is no longer
an art. It is a set of
techniques, and in
some cases just a set
of components. This
comprehensive book
introduces the basic
interfacing concepts
and techniques, then
presents in detail the
implementation de-
tails, from hardware
to software. It covers
all the essential per-
ipherals, from key-
board to floppy disk,
as well as the stan-
dard buses (S100 to
IEEE 4BB] and intro-
duces the basic trou-
bleshooting tech-
niques. [2nd Ex-
panded Edition). By
Austin Lesea and R.
Zaks. Ref. C207
SYBEX. $11.95
PROGRAMMING
THE 6502
PROGRAMMING
THE Z80
PROGRAMMING
THE 8080*
It covers all essential
aspects of program-
ming, as well as the
advantages and dis-
advantages of the
B502 and should
bring the reader to
the point where he
can start writing
complete applications
programs. For the
reader who wishes
more, a companion
volume is available:
The B502 Applica-
tions Book. By R.
Zaks. B502: Ref.
C202; ZBO: Ref.
C280; BOBO: Ref.
C208. SYBEX. Each
$10.95
44 BUS MOTHER
BOARD
Has provisions for ten
44 pin (.156) connec-
tors, spaced 3/4 of an
inch apart. Pin 20 is
connected to X, and
22 is connected to Z
for power and ground.
All the other pins are
connected in parallel.
This board also has
provisions for bypass
capacitors. Board
cost $15.00 Part No.
102. Connectors
$3.00 each Part No.
44WR
AN INTRODUCTION
TO PERSONAL AND
BUSINESS
COMPUTING
No computer back-
ground is required.
The book is designed
to educate the reader
in all the aspects of a
system, from the se-
lection of the mic-
rocomputer to the
required peripherals.
By Rodnay Zaks. Ref.
C200, SYBEX $6.95
TVT COOKBOOK
Bk 1064 — by Don
Lancaster. Describes
the use of a standard
television receiver as
a microprocessor
CRT terminal. Ex-
plains and describes
character genera-
tion, cursor control
and interface infor-
mation in typical, easy
-to- understand Lan-
cascaster style.
$9.95
COMPUTER
PROGRAMMING
HANDBOOK
A complete guide to
computer programm-
ing & data process-
ing. Includes many
worked-out examples.
By Peter Staak, TAB
$9.95
DIGITAL
CASSETTE
5 min. each side. Box
of 10 $9.95. Part No.
C-5.
lO OrdSr ■ Mention P art no ' description, and price. In USA shipping paid by us for orders accompanied by check or money order.
We accept C.O.D. orders in the U.S. only, or a VISA or Master Charge no., expiration date, signature, phone no.,
kj shipping charges will be added. CA residents add 6.5% for tax. Outside USA add 10% for air mail postage and han-
'J dling. Payment must be in U. S. dollars. Dealer inquiries invited. 24 hour order line C408) 226-4064.
Send for FREE Catalog ... a big self-addressed envelope with 41* postage gets it fastest!
ELECTRONIC SYSTEMS Dept B - p - °- Box 21638 ' San Jose ' CA USA 95151
Circle 125 on inquiry card.
BYTE August 1979 257
COMPUCRUISE
Put a computer in
your car, which gives
you the most effec-
tive and functional
cruise control ever
designed, plus com-
plete trip computing,
fuel management sys-
tems, and a remark-
able accurate quartz
crystal time system.
So simple a child can
operate, the new
CompuCruise com-
bines latest computer
technology with
state-of-the-art re-
liability in a package
whichwillnotlikelybe
available on new cars
for years to come •
Cruise Control •Time,
E.T., Lap Timer. Alarm
• Time, Distance, Fuel
to Arrival • Time, Dis-
tance, Fuel to Empty •
Time, Distance and
Fuel on Trip • Current
or Average MPG,
GPH • Fuelllsed, Dis-
tance since Fillup •
Current and Aver-
age-Vehicle Speed •
Inside, Outside or
Coolant Temperature
• Battery Voltage •
English or Metric
Display. $199.95
FLOPPY DISK
STORAGE BINDER
This black vinyl
three-ring binder
comes with ten
transparent plastic
sleeves which ac-
commodate either
twenty, five-inch or
ten, eight-inch floppy
disks. The" plastic
sleeves may be or-
dered separately and
added as needed. A
contents file is in-
cluded with each
sleeve for easy iden-
tification and organiz-
ing. Binder & 10 hol-
ders $14.95 Part No.
BBOO; Extra holders
95* each. Part No.
BOO
OPTO-ISOLATED
PARALLEL INPUT
BOARD FOR
APPLE II
There are B in-
puts that can be dri-
ven from TTL logic or
any 5 volt source. The
circuit board can be
plugged into any of
the B sockets of your
Apple II. It has a 16 pin
socket for standard
dip ribbon cable con-
nection.
Board only $15.00.
Part No. 120. with
parts $69.95. Part
No. 120A.
TIDMA
• Tape Interface Direct
Memory Access • Re-
cord and play programs
without bootstrap load-
er (no prom) has FSK
encoder/decoder for
direct connections to
low cost recorder at
1200 baud rate, and
direct connections for
inputs and outputs to
a digital recorder at
any baud rate • S-1 00
bus compatible • Board
only $35.00 Part No.
112. with parts $110
Part No. 112A
SYSTEM
MONITOR
8080. 8085. or Z-BO
System monitor for use
with the TldlvIA board.
There is no need for the
front panel. Complete
vyith documentation
$12.95.
How to Profit from
Your Personal
Computer:
Professional,
Business, and Home
Applications
"...useful reading for
the small business-
man, contemplating a
computer, or for the
personal computer
advocate contemplat-
ing a business appli-
cation." Kilobuad. By
T. G. Lewis. HAYDEN
78-2780. $8.95
ASCII KEYBOARD
TTL & DTL compatible • Full 67 key array
• Full 12B character ASCII output • Positive
logic with outputs resting low Data Strobe
• Five user-definable spare keys • Standard
22 pin dual card edge connector • Requires
+5V0C. 325 mA. Assembled & Tested.
Cherry Pro Part No. P70-05AB. $135.00.
ASCII KEYBOARD
53 Keys popular ASR-33 format • Rugged
G-10 P. C. Board • Tri-mode MOS encoding
•Two-Key Rollover •MOS/DTL/TTL Compat-
ible • Upper Case lockout • Da,ta and Strobe
inversion option • Three User Definable
Keys • Low contacf bounce • Selectable Par-
ity • Custom Keycaps • George Risk Model
753. Requires +5, -12 volts. $59.95 Kit.
ASCIITO CORRESPONDENCE
CODE CONVERTER
This bidirectional board is a direct replace-
ment for the board inside the Trendata 1000
terminal. The on board connector provides
RS-232 serial in and out. Sold only as an
assembled and tested unit for $229.95.
PartNo.TAIOOOC
DISK JACKET™
Made from heavy duty
.0095 matte plastic
with reinforced
grommets. The mini-
diskette version holds
two 5-1/4 inch disk-
ettes and will fit any
standard three ring
binder. Thepockets to
the left of the disk-
ette can be used for
listing the contents of
the disk. Please order
only in multitudes of
ten. $9.95/10 Pack.
INTERNATIONAL
MICROPROCESSOR
DICTIONARY
English, French, Dan-
ish, German, Italian,
Hungarian, Norwe-
gian, Polish, Spanish,
Swedish. 10 lan-
guages, 28 pp.
SYBEX. Ref. IMD.
$4.95
TTL COOKBOOK
Bk 1063 — by Don
Lancaster. Explains
what TTL is, how it
works.and how to use
it. Discusses practi-
cal applications, such
as a digital counter
and display system,
events counter, elec-
tronic stopwatch, di-
gital voltmeter and a
digital tachometer.
$B.95
MICRO-
PROCESSOR LEXI-
CON—ACRONYMS
AND DEFINITIONS
Bk 1040 — compiled
by the staff of
SYBEX, is a conven-
ient reference in
pocket-size format.
Sections include ac-
ronyms and defini-
tions, part numbers
and their definitions,
S-100 signals,
RS232 signals, IEEE
499 signals, micro-
computers and mi-
croprocessors.
JETDS summary (mil-
itary) and a code con-
version table. $2.95*
RS-232/20mA
INTERFACE
This board has two
passive, opto-isola-
ted circuits. One con-
verts RS-232 to
20mA. the other con-
verts 20mA to RS-
232. All connections
go to a 10 pin edge
connector. Requires
+12 and -12 volts.
Board only $9.95,
part no. 7901, with
parts $14.95 Part
No. 7901A.
COMPUCOLOR II
Model 3, BK $13.95,
Model 4, 16K $15.95,
Model5,32K$1B.95.
Prices include color
monitor. computer,
and one disk drive.
PET COMPUTER
With 32K & monitor -
$1195: Dual Disk
Drive -$1195.
^nppta
ii
1BK - $1095. 32K -
$1195, 48K - $1293.
Disk & cont. $5B9
\
6502 1
APPLICATIONS
BOOK
Z80 APPLICATIONS
BOOK*
This book will teach
you how to connect a
board to the outside
world and implement
practical applications
for the B502. Cor
ZBO). Applications
range from home con-
trol (a complete alarm
system, including
heat sensor), to in-
dustrial applications.
You will learn tech-
niques ranging from
simulated traffic con-
trol to analog-digital
conversion. All exper-
iments can be realized
with a minimum of ex-
ternal Clow-cost)
components. They are
directly applicable to
any 6502-based
board such as SYM.
KIM, AIM 65. This
book also studies in
detail input-output
techniques and com-
ponents, and is the
logical continuation of
C202 Cor C2B0). By
Rodney Zaks.
SYBEX. 6502: Ref.
D302; ZBO: Ref
D3B0. Each $12.95
T.V. INTERFACE
• Converts video to.
AM modulated RF,
Channels 2 or 3. So
powerful almost no
tuning is required. On
board regulated power
supply makes this ex-
tremely stable. Rated
very highly in Doctor
Dobbs* Journal. Recom-
mended by Apple •
Power required is 12
volts AC C.T., or +5
volts DC • Board only
$7.60 part No. 107,
with parts $1 3.50 Part
No. 107A
EHU1B|&|Q|
PARALLEL TRIAC
OUTPUT BOARD
FOR APPLE II
This board has B tnacs capable of
switching 110 volt 6 amp loads (660 watts
per channel) or a total of 52B0 watts. Board
only $15.00 Part Nv. 210. with parts
$119.95 Part No. 210A.
row
w&t
TO 0rd6r ! Mention P art no - description, and price. In USA shipping paid by us for orders accompanied by check or money order.
We accept C.O.D. orders in the U. S. only, or a VISA or Master Charge no., expiration date, signature, phone no.,
shipping charges will be added. CA residents add 6.5% for tax. Outside USA add 10% for air mail postage and han-
dling. Payment must be in U. S. dollars. Dealer inquiries invited. 24 hour order line (408) 226-4064.
; Send for FREE Catalog ... a big self-addressed envelope with 41* postage gets it fastest!
.ELECTRONIC SYSTEMS De P l - B - p - °- Box 21638 . San Jose, CA USA 95151
258 BYTE August 1979
Circle 125 on inquiry card.
TRS-80 ES
SERIAL I/O
• Can input into basic
• Can use LLIST and
LPRINT to output, or
output continuously •
RS-232 compatible •
Can be used with or
without the expansion
bus • On board switch
selectable baud rates
of 110,150,300,600,
1 200, 2400, parity or
no parity odd or even,
5 to 8 data bits, and 1
or 2 stop bits. O.T.R.
line • Requires +5,
-12 VDC • Board only
$19.95 Part No. 8010,
with parts $59.95 Part
No. 801 OA, assembled
$79.95 Part No. 8010
C. No connectors pro-
vided, see below.
m
6IA/RS-332 con-
nector Part No.
OB25PS6.0awith
9', 8 conductor
cable $10.95 Part
No. DB35P9.
3' ribbon cable
with attached con-
y:*:-. ■-■ nectorstaf itTRS-
■fjgjjlfifrjy 80 and our serial
t^mjmn-T °° ard ^ 1 9.95 Part
^ fflMnW 1 No. 3CAB40.
RS-232/ TTL
INTERFACE
• Converts TTL to RS-
232, and converts RS-
232 to TTL •Twosep-
arate circuits • Re-
quires -12 and +12
volts • All connections
go to a 10 pin gold
plated edge connector
• Board only $4.50
Part No. 232, with
parts $7.00 Part No.
232A 10 Pin edge
connector $3.00 Part
No. 10P
MODEM
• Type 1 03 • Full or
half duplex • Works up
to 300 baud • Origi-
nate or Answer • No
coils, only low cost
components • TTL in-
put and output-serial
• Connect B fl speak-
er and crystal mic.
directly to board •
Uses XR FSK demod-
ulator • Requires +5
volts • Board only
$7.60 Part No. 109,
with parts $27.50 Part
No. 109A
DISKETTES
\feii>afim
Box of 10, 5" $29.95.
B" $39.95.
Plastic box, holds 10
diskettes, 5" -$4.50,
B"-$6.50.
RS-232/TTY
INTERFACE
This board has two
active circuits, one
converts RS-232 to
20mA, and the other
converts 20mA to
RS-232. Requires
+12 and -12 volts.
Board only $4.50 Part
No. 600, with parts
$7,00 Part No. 600A.
S-100 BUS
ACTIVE TERMINATOR
Board only $14.95 Part No. 900, with parts
$24.95 Part No. 900A
APPLE IK-
SERIAL l/D
INTERFACE
Baud rate is continuously adjustable from
to 30,000 • Plugs into any peripheral
connector • Low current drain. RS-232 input
and output • On board switch selectable 5 to
8 data bits, 1 or 2 stop bits, and parity or no
parity either odd or even •Jumper selectable
address • SOFTWARE • Input and Output
routine from monitor or BASIC to teletype or
other serial printer • Program for using an
Apple II for a video or an intelligent terminal.
Also can output in correspondence code to
interface with some selectrics. • Also
watches DTR • Board only $1 5.00 Part No.
2, with parts $42.00 Part No. 2A. assembled
$62.00 Part No. 2C
8K EPROM piiceon
Saves programs on PROM permanently(until
erased via UV light) up to BK bytes. Programs
may be directly run from the program saver
such as fixed routines or assemblers. • S-
100 bus compatible • Room for BK bytes of
EPROM non-volatile memory (2708's). •On-
board PROM programming • Address
relocation of each 4K of memory to any 4K
boundary within 64K • Power on jump and
reset jump option for "turnkey" systems and
computers without a front panel • Program
saver software available • Solder mask both
sides • Full silkscreen for easy assembly.
Program saver software in 1 2708 EPROM
$25. Bare board $35 including custom coil,
board with parts but no EPROMS $1 39, with
4 EPROMS $179, with 8 EPROMS $219.
^r
WAMECO PRODUCTS
WITH
ELECTRONIC SYSTEMS PARTS
FDC-1 FLOPPY CONTROLLER BOARD will
drive shugart, pertek, remex 5" S. 8" drives
up to 8 drives, on board PROM with power
boot up, will operate with CPM (not
included). PCBD $42.95
FPB-1 Front Panel. [Finally] IMSAI size hex
displays. Byte or instruction single step.
PCBD $42.95
MEM-1A 8Kx8 fully buffered, S-100, uses
2102 type RAMS.
PCBD $24.95, $1 68 Kit
QMB-12 MOTHER BOARD, 1 3 slot, termi-
nated, S-100 board only $34.95
$89.95 Kit
GPU-1 8080A Processor board S-1 00 with
8 level vector interrupt PCBD . . $25.95
$89.95 Kit
RTC-1 Realtime clock board. Two independ-
ent interrupts. Software programmable.
PCBD ..... $25.95, $60.95 Kit
EPM-1 1702A4K EPROM
card PCBD $25.95
$49.95 with parts less EPROMS
EPM-2 2708/2716 16K/32K
EPROM card PCBD $24.95
$49.95 with parts less EPROMS
QMB-9 MOTHER BOARD. Short Version of
QMB-12. 9 Slots PCBD $30.95
$67.95 Kit
MEM-2 16Kx8 Fully Buffered 2114 Board
PCBD $25.95, $269.95 Kit
T.V.
TYPEWRITER
• Stand alone TVT
• 32 char/line, 16
lines, modifications for
64 char /line Included
• Parallel ASCII (TTU
input • Video output
• 1 K on board memory
• Output for computer
controlled curser •
Auto scroll • Non-
destructive curser •
Curser inputs: up, down,
left, right, home, EOL,
EOS • Scroll up, down
• Requires +5 volts
at 1.5 amps, and -12
volts at 30 mA • All
7400, TTL chips •
Char. gen. 2513 •
Upper case only •
Board only $39.00
Part No. 106, with
parts $145.00 Part
No. 1 06A
UART&
BAUD RATE
GENERATOR
• Converts serial to
parallel and parallel to
serial • Low cost on
board baud rate gener-
ator • Baud rates:
110, 150, 300, 600,
1200, and 2400 •
Low power drain +5
volts and -12 volts
required • TTL com-
patible • All characters
contain a start bit, 5
to 8 data bits, 1 or 2
stop bits, and either
odd or even parity. • All
connections go to a 44
pin gold plated edge
connector • Board only
$12.00 Part No. 101,
with parts $35.00 Part
No. 101 A, 44 pin edge
connector $4.00 Part
No. 44P
TAPE
INTERFACE
• Play and record Kan-
sas City Standard tapes
• Converts a low cost
tape recorder to a
digital recorder • Works
up to 1200baud» Dig-
ital in and out are TTL-
serial • Output of
board connects to mic.
in of recorder • Ear-
phone of recorder con-
nects to input on board
• No coils • Requires
+5 volts, low power
drain • Board only
$7.60 Part No. 111,
with parts $27.50 Part
No. 111A
HEX ENCODED
KEYBOARD
E.S.
This HEX keyboard
has 1 9 keys, 16 encod-
ed with 3 user defin-
able. The encoded TTL
outputs, 8-4-2-1 and
STROBE are debounced
and available in true
and complement form.
Four onboard LEOs
indicate the HEX code
generated for each
key depression. The
board requires a single
+5 volt supply. Board
only $15.00 Part No.
HEX-3, with parts
$49.95 Part No. HEX-
3A. 44 pin edge con-
nector $4.00 Part No.
44P.
DC POWER SUPPLY
• Board supplies a regulated +5
volts at 3 amps., +1 2, -1 2, and -5
volts at 1 amp. • Power required is
8 volts AC at 3 amps., and 24 volts
AC C.T. at 1.5 amps. • Board only
$12.50 Part No. 6085, with parts
excluding transformers $42.50
Part No. 6085A
. Mention part no. description, and price. In USA shipping paid by us for orders accompanied by check or money order
' We accept C.O.D. orders in the U. S. only, or a VISA or Master Charge no., expiration date, signature, phone no.
shipping charges will be added. CA residents add 6.5% for tax. Outside USA add 10% for air mail postage and han-
dling. Payment must be in U. S. dollars. Dealer inquiries invited. 24 hour order line C4081 226-4064.
Send for FREE Catalog ... a big self-addressed envelope with 41* postage gets it fastest!
ELECTRONIC SYSTEMS °ePt- B, P. 0. Box 21638,SanJose, CAUSA 95151
Circle 125 on inquiry card.
BYTE August 1979 259
Circle 312 on inquiry card.
The EXPANDORAM is available
in versions from 16K up to 64K, so
for a minimum investment you
can have a memory system that
will grow with your needs. This is
a dynamic memory with the in-
visable on-board refresh, and IT
| WORKS!
• Interfaces with Altair, IMSAI, SOL-8,
Cromenco, SBC-100, and others.
• Bank Selectable
• Phantom
• Power 8VDC, ± 16VDC, 5 Watts
• Lowest Cost Per Bit
• Uses Popular 4116 RAMS
» PC Board is doubled solder masked and
has silk-screen parts layout.
our new retail location!
SD EXPANDORAM
• Extensive documentation clear-
ly written
• Complete Kit includes all
Sockets for 64K
• Memory access time: 375ns,
Cycle time: 500ns.
• No wait states required.
• 16K boundries and Protection
via Dip Switches
• Designed to work with Z-80,
8080, 8085 CPU's.
EXPAND0 64KIT(4116)
16K $249
32K $324
48K $399
64K $474
HSCDRIVES
SugartSA400 5 1 /4"
with attractive metal case
$325
Sugart 801
with attractive metal case
$495.00
Siemens FDD 200-8 &
double-sided
| double density
$650.00
Continental specialties corporation
DISC CONTROLLER
SD "VERSAFLOPPY" Kit
Only s 159 '
The Versatile Floppy Disk
Controller
FEATURES: IBM 3740 Soft Sectored Compati-
ble. S-100 BUS Compatible lor Z-80 or 8060. Con-
trols up to 4 Drives (single or double sided).
Directly controls the following drives:
1. Shugart SA400/450 Mini Floppy
2. Shugart SA800/850 Standard Floppy.
3. PERSCI 70 and 277.
4. MFE 700/750.
5. CDC 9104/9406.
6. GSI/Siemans FDD120-8.
34 Pin Connector for Mini Floppy. 50 Pin Con-
nector lor Standard Floppy. Operates with
modified CP/M operating system and C-Basic
Compiler, The new "Versaf loppy" from SD.
Computer Products provides complete control
for many of the available Floppy Disk Drives,
Both Mini and Full Size. FD1771B-1 Single Den-
sity Controller Chip. Listings for Control Soft-
ware are included in price. „ . n/\nfl
CPM for SD VersaflopDy 1 00
SAVE $ 100 00
DM2700S DISK &
CABINET with
POWER SUPPLY
DM2700S includes Siemans or
Shugart Disk Drive
with the following features:
• Single or Double Density
• Hard or Soft Sector Cabinet includes
• Write Protect
• Hard Sector Detection
• 500 KB/S Transfer
• 800 KB unformated
Bit density 6536 BP1
110V to 125V 60 Hz power supply
Data Cable
Fan
Accepts per SCI, Shugart, Siemans
8" Drives
**&
«?
• Sugart 800 Series Compatable
DM2700S Disk Drive & Cabinet s
REG. $750 SALE PRICED
650
00
DM2700 Cabinet, less Drive
J>i $225 00
LOGIC PROBES
SPECIAL: SD Versafloppy Kit, CPM, and DM27Q0S *888 J
Logic Probes and
Digital Pulsers
CSC logic probes are trie ultimate tool (or breadboard design and testing.
These hand-held unlls provide an Instant overview of circuit conditions.
Simple to use; just clip power leads to circuit's power supply, set logic
family switch to TTUDTL or CMOS/HTL. Touch probe to test node. Trace
logic levels and pulses through digital circuits. Even slrelch and latch for
easy pulse detection. Instant recognition of high, low or Invalid levels, open
circuits and nodes. Simple, dual-level detector LEDs lell it quickly, correct-
ly. HI (Logic "1"); LO (Logic "0"). Also Incorporates blinking pulse detector,
e.g.. HI and LO LEOs blink on or off. tracking "I" or "0" states at square
wave frequencies up to 1.5 MHz. Pulse LED blinks on for 'A second during
pulse transition. Choice of three models to meet individual requirements;
budget, project and speed ol logic circuits.
MODEL LP-1
Hand-held logic probe provides instant reading of logic levels for TTL. DTL.
HTL or CMOS, input Impedance: 100,000 ohms. Minimum Detectable Pulse:
SO ns. Maximum Input Signal (Frequency): 10 MHz. Pulae Detector (LED):
High speed train or single event. Pulae Memory: Pulse or level transition
detected and stored. ^^ -
^CSC Model LP-1 Logic Probe-Net Each JW*S5 $42.70
MODEL LP-2
Economy version of Model LP-1. Safer than a voltmeter. More accurate than
a scope. Input Impedance: 300.000 ohms. Minimum Detectable Pulae: 300
ns. Maximum Input Signal (Frequency): 1 .5 MHz. Pulse Detector (LED): High
speed train or single event. Pulse Memory: None. ^^
CSC Model LP-2Loglc Probe-Net Each E*43$5 $23.70
MODEL LP-3
High speed logic probe. Captures pulses as short as 10 ns. Input Im-
pedance: 500,000 ohms. Minimum Detectable Pulse: 10 ns. Maximum Input
Signal (Frequency): 50 MHz. Pulse Detector (LED): High speed (rain or
single event. Pulse Memory: Pulse or level transition detected and stored.
CSC Model LP-3Loglc Probe-Net Each SlM^gS $66.45
DIGITAL PULSER
The ultimate in speed and ease of operation. Simply connect clip leads to
positive and negative power, then touch DP is probe to a circuit node;
automatic polarity sensor detects circuit's high or low condition. Depress
the pushbutton and trigger an opposite polarity pulse Into the circuit. Fast
troubleshooting includes injecting signals at key points in TTL. DTL. CMOS
or other popular circuits. Test with single pulse or 100 pulses per second
via built-in dual control push-button; button selects single shot or con-
tinuous modes. LED Indicator monitors operating modes by flashing once
lor single pulse or continuously for a pulse train. Completely automatic,
pencil-size lab'field pulse generator for any family of digital circuits. Out-
put: Trl state Polarity: Pulse-sensing auto-polarity. Sync and Source: 100
mA Pulse Train: 100 pps. LED Indicator: Flashes for single pulse; stays lit
for pulse train.
CSC Model DP-1 Digital Pulser-Nel Each $W5jf $71 .20
SD COMPUTER BOARDS
|$319 Krr
VDB-8024 Video Display Board
With On-Board Z80 Microprocessor
• Full 60 Characters by 124 lines display
• Characters displayed Iry High Resolu-
tion 7x10 Matrix
• Keyboard Power and Interface
■ Composite Video Output
• Separate TTL IjcvcI Synchronization
and Video Output*
• UK Bytes Independent (>n Board
Memory
• On.BoardZ80 Mlcruprooctmor
• CJltch Free Display
• 96 Cppcrand Lower Cm* Characters
• 352 Special Character Set
• 128 Additional user Programmable
Characters
• FultCuisorConUul
• Forward and Reverse Scrolling
Capability
• Operates at) an Independent Terminal
• VariableSpccd Display Rule
• Blinking, Underlining, Field Reverse,
Field Protect and Combinations
$239 KIT
SBC-100 Single Board Computer
with Onboard RAM, PROM, CTC
• Four Channel Counter/Timer
(ZaO-CTC)
• Software Programmable Baud Kuie
General or
• S-lOOBusCompuublc
• No Front Panel Required I'ur Operation
• Optional Vectored Interrupts
• ZaOCcnwal Proceneing l/nlt
• lOSMBylcfiofKamSom AeccMiMcmoiy
• oKUvlie of Available PROM
• Serial Input/Oulpiit Port with both
Synchronous and iVsjiichronotm
Operation
• Parallel Input and Output I'mhi
$249
Z80 Starter Kit
A Complete Microcomputer on a Hoard}
PRIORITY ONE ELECTRONICS©
16723B Roscoe Blvd. Sepulveda CA 91343 ''
Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax
Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling,
minimum $2.50. Excess refunded. Just in case . . . please include your phone no.
Prices subject to change without notice.
We will do our best to maintain prices thru August 1979. OEM and Institutional
Dhone orders welcome (213) 894-8171, (800) 423-5633 in««iri« invited.
• Z80 Central I'
Insti-uctJorih
• On Board Keyboartluntl Display
• Kansas Cltv Suuulurd Cassette
Interface '
• ['ROM Pn>KrummcrBwlliiin.t*«inl
• ivrpartstlon provision fur two S-1O0
• \\1 re VI rap area for custom circuitry
• SlnglcS Volt Operation when not
prunraimiilra{
• IK Bytes of RAM OiNpaiulubk- to
Hilts)
• tK Uvics of RAM (Expandable to
Hues)
SHiHg Cull with IBM • Two Bi-directional H-hli I/O 1'onhtV.
PIO)
• SvvltchSclcctable PKOM or Monltoi
Rcsl
• UK Byle ZBl/G Monitor in ROM
• Memory Examine and Cluirajc
• Port Examine tuuiChiuitfc
• JC«>CPl*RcglsU-r Examine and Changc
• ( 'p to 5 Programmable Breakpoints
• Sltutlc Sic,. through RAM or I'ROM
• Audio Cassette Load and Dump
i K • Vectored I ntcmipls |>ro\1dcd bv
ZSO-tTTumiZHO-I'IO
£K • Ideal for E^pcriiueniolon and
ExuluuiiiiKihcZHOnr
ORDER TOLL FREE 1-800-423-5633 ORDER TOLL FREE 1-800-423-5633
Visit our new ret
eTQi
Circle 312 on inaui;
A Portable, Dual Trace Oscilloscope with Big Performance and a Low, Low Price
NEW MS 230 Dual Trace Miniscope with 30 MHz Bandwidth!
Non-Linoar Systems, Inc.
Progress Since 1952
$ 559
00
PORTABLE BATTERY OPERATED • MADE IN THE U.S.A.!
With Rechargeable Batteries & Charger Unit
FEATURES
• Dual Trace— 2-channel; separate, chopped or alternate modes.
• 30-megahertz bandwidth. • External and internal trigger.
• Time Base— 0.05 microseconds to 0.2 Sec/dlv— 21 settings. • Battery of line operation
• Line synchronization mode. • Power consumption less than 50W.
• Vertical Gain— 0.01 to 50 volts/dlv— 12 settings. Size: 2.9" H x 6.4" W x 8.5" D.
• Weighs only 3.5 lbs with batteries.
• TEST MOST DIGITAL LOGIC CIRCUITS INCLUDING MICROPROCESSORS
From the originators of the Digital Voltmeter, the people who have broken sales and performance
records for Osciloscopes, Non-Linear Systems, comes the MS-230 miniscope.
Non Linear Systems took their engineering and modular construction skills and made a dream a
reality, a Dual-Trace 30 MHz miniscope, small enough to fit in most briefcases with room to spare
at an affordable price.
VERTICAL
Mode: CH1, CH2, CH1 & CH2 (Chopped) & CH2(Alt.)
(The following specifications apply to each
channel.)
Bandwidth: DC to 30 MHz, ± 3 db @ 3 division
deflection. Typical 4 division deflec-
tion Is obtainable up to 20 MHz.
Coupling: AC, DC or ground, switch selectable. Low
frequency 3 db point on AC is 3 Hz.
Rise Time: Approximately 10 nSec @ 3 division
deflection.
Vertical Input: 10 mV/dlv to 50V/div in 12 calibrated
ranges. Accuracy is 3% of full scale
with vernier in full clockwise posi-
tion. Vernier provides continuously
variable deflection factors between
fixed ranges, uncallbrated.
Input Impedance: 1 megohm In parallel with 50 pF.
Maximum Input Voltage: 250V (DC and Peak AC).
HORIZONTAL
Mode: Internal Time Base or External Horizontal,
switch selectable. In the XY mode, vertical
Input Is through CH1 and horizontal input
through CH2.
Time Base: 0.5u Sec/dlv to 0.2 Sec/dlv In 21
calibrated ranges. Accuracy Is 3% of
full scale with vernier In full
clockwise position. Vernier provides
continuously variable settings bet-
ween fixed ranges, uncallbrated.
Amplifier
Bandwidth: DC to 1 MHz (±3 db)
Coupling: AC, DC or ground, switch selectable.
Low frequency point on AC Is 3 Hz.
Deflection Factor: 10mV/d.vto 50V/dlv In 12 cali-
brated ranges. The ranges can
be calibrated with the CH2
gain control.
Input Impedance: 1 megohm In parallel with 50 pF.
Maximum Input Voltage: 250V (DC and Peak AC).
TRIGGER
Modes:
Automatic: trigger Is disabled, time base
free runs.
internal: In the dual trace modes, the Internal
trigger source Is CH 1. External and Line
(line not functional when MS-230
operates on batteries.) Input Impedance
Is 1 megohm on External Trigger.
External: Controls function as J or internal triQgenng(1 Megohm
input mpedence}
Line: Trigger is derived from line frequency when using the
battery charger.
Slope: + or -, switch selectable.
Coupling: AC
Sensitivity: Less than 1 dlv for Internal trigger and
less than 1 volt for external trigger.
Level: Trigger level control permits continuous ad-
justment of trigger point In all modes except Auto.
CALIBRATOR! A square-wave signal of 1
volt p-p is provided. Voltage
accuracy Is ±5%, frequen-
cy Is approximately 1 KHz.
DISPLAY
Graticule: 4x5 div, each division is 0.25 inch,
Viewing area 1.1" H x 1.35" W.
CRTl Blulsh-whlte phosphor, medium persistence.
CRT uses low power filament for low battery
drain.
POWER SOURCES
Internal: Three sealed, rechargeable lead-acid ceils.
Operating time using fully charged cells Is
approximately 45 minutes. Charging cir-
cuitry is Integral and functions when the
MS-230 Is connected to power line through
plug-In transformer (supplied with each In-
strument). Battery charge time with instru-
ment non-operating is 16 hours.
External: Operates continuously from 115 vac
source 50 - 400 Hz when connected via
plug-In transformer. (230 vac Is available)
Power consumption from AG line Is less
than 50 watts.
ENVIRONMENT
Operating Temperature: 0° to 40°C
Shock and Vibration: Will withstand normal shock
and vibration encountered In
commercial shipping and
handling.
PHYSICAL MEASUREMENTS
Size: 2.9" H x 6.4" W x 8.5" D. (73.7 mm x 162.6mm
X215.9 mm)
Weight: 3.5 lbs. (1.59 kg) with batteries.
FURNISHED ACCESSORIES:
Tilt stand, battery charger. 2 input cables, and 3
miniature banana plugs
WARRANTY! One year parts and labor.
Made in the USA!
MS-230 with Rechargeable Batteries and Charger
S559°°
PROBES
Deluxe 10 to 1 probe with 10 megohm Input. 100 MHz
probe with 4 Interchangeable tips: Spring-loaded
retractable cover tip, Insulating tip, BNC tip, IC tip,
also Included cap adjustment tool and zlppered vinyl
case.
41141 $27.00
DELUXE COMBINATION PROBE
Same as above except the probe has a switch to
select; 10 to 1, 1 to 1 or a ground reference position.
41-37R Red probe body ^
41-37G Grey probe body $38.50
LEATHER CARRYING CASE
The leather case has 2 separate compartments One to hold the scope, the
other to holdthe charger, probe, shoulder strap, etc The case can be worn
on the belt, or over the neck
The snaps used on the case are "one way", thus accidental striking of
the case against an object will not undo the snaps or let it be pulled off your
belt
41-180 $45.00
I
75.00 OFF
I
J on any accessories purchased |
I with MS-230 Miniscope. Just send or I
| mention this COUPON and Byte |
I Magazine.
PRIORITY ONE ELECTRONICS
W23B Roscoe Blvd. Sepulveda CA 91343
Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax.
Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling,
minimum $2.50. Excess refunded. Just In case . . . please include your phone no.
Prices subject to change without notice.
We will do our best to maintain prices thru August 1979. OEM and Institutional
Dhone orders welcome (213) 894-8171. (800) 423-5633 inquiries invited.
ORDER TOLL FREE 1-800-423-5633 ORDER TOLL FREE 1-800-423-5633
Circle 312 on inquiry card.
HICKOK LX303 $74.95
HICKOK LX303^
$7495*
RS232 & "D'
P = Plug-Male S =
»
PART NO.
DE-9P
DE-9S
0E-9C
DA15P
DA15S
OA15C
DB-25P
DB-25S
DB51212-1
DB 1226-1 A
.5%, 3V2 digit 19
Range DVM. W l LCD displays
runs 200 hrs on 1 battery. 10 Meg
Ohm Input. 1 yr. guarantee, made in
U.S.A., test leads included.
Available Accessories
RC-3 115V AC Adapter $7.50
CC-3 Deluxe Padded Vinyl
Carrying Case $7.50
VP-10 X10 DCV Probe Adapter/
Protector 10Kv $14.95
VP-40 40Kv DC Probe $35.00
CS-1 10 Amp Current Shunt $14.95
FREE
Just for Asking.
FREE BATTERY with your meter.
-T2bu
ItleO mountingsoacef s.
> Wving ytfe sttron Coffl-
BSfltnl stf» te*epoiy
gsals nth vflils narkmgi lo
component locatoftv
• GlOwqrgl*ssbMrfltmtn*otfnc'
copper, sokisi pUttdand 038danw-
ter hoiesf onewSs.
• S&Ott mjiVwilhsoldnwmdowSon
elched circuilsiotvojilauidenut s»WI
> Mourns 1 1 letepuc*! wimi00eon!ac!s(2
rows^on >25cen!tisiM h 2 50 fir* soacmg.
Vector pjrtnufiioetR6ai-2:of mounll 10/ocep-
ticKspiusintef«onneclwnsiavTUIW(notli«rOotfi3 I
• li>el\id«itfcr*deircuitt*mJi-jtruchon»l«oplia-ol
»ctiw. puM-up. of floating terminationi.
• Urge Ousts +SVinU GND 1 10 AMPS). ±12VoM6V|7
AMPS! Cum»n|ratiigsifep«rMa Sl0-275wi h 10°C
Price:
$29.50
DESCRIPTION
9 Pin Male
9 Pin Female
9 Pin Covet
15 Pin Male
15 Pin Female
15 Pin Cover
25 Pin Male
25 Pin Female
1 pc. Grey Hood
2 pc. Black Hood
OB 1 10963-3 2 pc. Grey Hood
OC37P 37 Pin Male
37 Pin Female
37 Pin Cover
50 Pin Male
50 Pin Female
50 Pin Covei
^Tffiffiffi%\
S jO BOBUtrWl
TTmnrr
DC37S
DC37C
DD50P
OD50S
DD50C
D20418S
TYPE CONNECTORS
Socket-Female C = Cover-Hood
PRICE
1.4 5-9 10-24
1.50 1 30 1 10
1.95 1 75 1.45
1.50 1 30 1 10
2 00 1.80 V55
2.90 2.70 2.45
1,80 1.60 '1.30
2.50 2.20 2.05
3.50 3.10 2.95
1.65 1.35 120
1.80 1-50 1-35
1,70 1.40 1.25
3.95 375 3,50
5.50 5.25 4.90
2.00 1.80 1.60
5,00 4 75 4.60
6.50 6 00 5 75
2.50 2,30 220
1 00 80 70
1 1 KUAIC — T V
Hardware Set (2 pair)
Connector lor CENTRONICS 700 SERIES:
Amphenol 57-30360 (or back of Cenlromcs 700 Senes printers
1-4-S9.00 5-UP-S7 50
3 LEVEL GOLD WIRE WRAP SOCKETS
Sockets purchased in multiples of 50 per type may be combined for best price.
1-9 10-24 25-99 100-249
250-999
8 pin
.40 .36 .34 .31
.27
>V 14 pin
.39 .38 .36 .32
.31 A*.
.^C^V 16 p,n
.50 .42 .40 .36
.34 J$$h%^
^toSv^ 18 P ,n
.70 .60 .55 .50
.45 J//fl$)w
\*8w 20 pin
.90 .80 .75 .65
.62 v/ff/f
^^ 22 pin
.95 .85 .80 .70
.65 *fif
24 pin
.95 .85 .80 .70
.65
28 pin
1.25 1.15 1.00 .95
.90
40 pin
1.65 1.45 1.35 1.20
1.10
All sockets are GOLD 3 level closed entry. 2 level Tail, Low
Profile, Tin Sockets
and Dip Plugs available. CALL FOR
QUOTATION.
S10O-WWO 50/100 Cont. .125 ctfs. 3
LEVEL WIRE WHAP .025" so. posts on
,250 spaced rows. GOLD PLATED.
1-4 5-9 10-24
54.00 S3.75 13.50
S100ALT 50/100 Cont. 125 ctrs. DIP
SOLDER TAIL on .140 spaced rows tor
ALT AIR motherboards. GOLD plated.
1-4 5-9 10-24
S4.S0 S4.2S $400
S10O-STG 50/100 Cont. .125 clrs DIP
SOLDER TAIL on .250 spaced rows lor
VECTOR. IMSAI. CROMENCO mother-
boards GOLD plated.
1-4 5-9 10-24
J3.50 $3.25 $3.00
S100SE 50/100 Conl. .125 clrs. PIERCED
SOLDER EYELET tails GOLD
1-4 5-9 10-24
$5.00 $4.50 $4.00
Other Popular Edge Connectors
D2244-5SE 22/44Cont . 156 ctfs PIERCED
SOLDER EYELET (alls. GOLD plated
1-4 5-9 10.24
$3.00 $2.60 $2.20
02244-5WW 22/44 Cont. .156 clrs. WIRE
WRAP (ails. GOLD.
1-4 59 1024
$3.95 $370 $3.40
CO 1 IMSAI Slyte Card Guides 5/S1 00
See our July Ad for many other connectors.
THE MICROBYTE M32KSS
32K STATIC MEMORY BOARD]
Fully S100 Bus Compatible, IMSAI, SOL, ALTAIR. ALPHA MICRO
Uses National's Low Power 5257 4K x 1 Static Rams
2 MHz or 4 MHz operation
Gold contacts for higher reliability
On board single 5 amp regulator
Thermally designed heat sink (board operating temperature 0° -70°C)
Commercially designed power bus. 7 ground bus bars. 0:1 uf decoupling capacitors. J
Fully tri-state buffered
Inputs fully low power Shottky Schmitt Trigger buffered on all address and data lines. I
Phantom is jumper selectable to pin 67
Each 4K bank addressable to any 4K slot with in a 64K boundry.
' 4K hardware or software selectable
One on board 8-bit output port enables or disables the 32K in 4K blocks '
Selectable port address
4K banks can be selected or disabled on power on clear or reset
Will operate with or without front panel
Compatible with ALPHA MICRO, with extended memory management for selection I
beyond 64K
No OMA restriction
1 Low power consumption 2.3 — 2.5 amps
• Fully warranted for 120 days from date of shipment.
32K2MHzS619 32K 4MHz $649
,|
8800V
Universal Microcomputer/processor
plugboard, use witti S-100 bus. Com-
plete with heal sink & hardware 5.3" x
10'x1/l6"
1-4 5-9 10-24
$19.95 $17.95 $15.96
8801-1
Same as 8800V except plain; less power
buses Sheat sink
1-4 5-9 10-24
$15.22 $13.79 $12.18
3682 9.6" x 4.5"
$10.97
3682-2 6.5" x 4.5"
$9.81
Hi-Density Dual-ln-Line
Plugboard for Wire Wrap
with Power & Grd. Bus
Epoxy Glass 1/16" 44
pin con. spaced .156
9.6"x4.5"
$10.90
3677-2 6.5" x 4.5"
$9.74
Gen. Purpose D.I. P.
Boards with Bus Pattern
for Sotder or Wire Wrap.
Epoxy Glass 1/16" 44
pinccn. spaced .156
3662 6.5" x 4.5"
$7.65
3662-2 9.6" X 4.5"
$11.45
P pattern plugboards tor
IC's Epoxy Glass 1/16"
44pin con. spaced .156
3690-12
CARD EXTENDER
Card Extender has 100 con-
tacts 50 per side on .125
centers-Attached connec-
tor-is compatible with
S-100 Bus Systems. $25.83
3690 6.5" 22/44 pin .156
ctrs. Extenders $13.17 d
1/16 ikfldi BOARD
.042 dia holes on
0.1 spacing for IC's
Phenolic
PART NO.
64P44XXXP
169P44XXXP
Epoxy Glass
64P44
84P44
169P44
169P84
SIZE
4.5x6.5"
4.5x17"
PRICE
1-9 10-19
$1.56 $1.40
$3.69 $3.32
MEMORY EXPANSION KITS
4116'sRAMS
from Leading iAanutadwers
(16Kx1 200ns)
r for $75.00
Add $3*00 for programming Jumpers
tor TRS-80 Keyboard
TR^-RO/APPl F .I'C SOCKET SALE
r\0 KJ\J/ t\\ 1 14 pin tow Profile
10/$2.16 100/$14.0ti
16 pin Low Profile
10/S2.20 100/$16.00
24 pin Low Profile
3/$i:Q0 4Q/$10.00
40 pin Solder Tail
3/$1.00 40/$10.00
24 ptn Dip Plug with
cover
3/$1,0Q40/$10 F QQ ;;
14 & 16 PIN
GOLD 3 LEVEL
WIRE WRAP
SOCKES I
14-G3 100 for
$33.00
16 - G3 100 for
$33.00
50 of each for $35.00 J
MEMORY MEMORY
21Q2LIPC Low Power 4SQns in lotsof 25 $1.10
2102AL-2 Low Power 250ns in lots of 25 $1.25
21 1 4-4L1 Kx4 450ns Low Power
21 1 4-3L 1 Kx4 300 ns Low Power
5257-3L 4Kx1 300ns Low Power
2708 8K 450ns EPROM
2716 : 16K 5 Volt Only EPROM /
ia£*J
PANAVISE TILTS, TURNS, AND
ROTATES TO ANY POSITION.
IT HOLDS YOUR WORK
EXACTLY WHEHE YOU WANT IT.
WRAP. POST
for .0.42 dia. hdles u
J (all boards on this page) "
|T44/Cpkg. 100 .. $ 2.34 ,
|T44Mpkg. ;.J
1000 $14.35 \
I A-13 hand installing \
tool S 2 But
llvMOA Ll«t HMO 1
SPECIAL
$56.95 with tube
Perfeclly balanced fluorescent lighting
with precision magnifier lens. Tough
thermoplastic shade. Easy lens re-
moval. New wire clip design permits
easy Installation and removal of
fluorescent tube. Comes with plastic
shield to protect tube from soiling and
damage.
Colors: Gray, Black, and Chocolate Brown.
Com 03 with one 22 watt T-9 CI r ell no fluores-
cent lube. 3 diopt er lens.
67$50.00
8/$5CK00;
$9.00
$45.Q0
mmmmmm
«
ORDER TOLL FREE
1 800 423 563:
except CA., AK., HI., Gait
(213)894-8171
JELECTRONICS
16723B Roscoe Blvd. Sepulvedo, CA 91343
Terms: Visa, MC, BAG, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax.
Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling
minimum $2.50. Excess refunded. Just In case . . . please include your phone no.
Prices subject to change without notice.
We will do our best to maintain prices thru August 1979. OEM and Institutional"
phone orders welcome (213) 894*8171. (800) 423-5633 inauiries invited
^PRECISION
TEST
EQUIPMENT
CALL FOR
SPECIAL PRICES
ORDER TOLL FREE 1-800-423-5633 ORDER TOLL FREE 1-800-423-5633
\/. W I \CLASSUfM) POLICY
Readers who have equipment, software or other items
to buy. sell or swap should send in a clearly typed notice
to that effect. To be considered for publication, an adver-
tisement must be clearly noncommercial, typed double
spaced on plain white paper, contain 75 words or less, and
include complete name and address information.
These notices are free of charge and will be printed one
time only on a space available basis. Notices can be ac
cepted from individuals or bona fide computer users clubs
only. We can engage in no correspondence on these and
your confirmation of placement is appearance in on issue of
BYTE.
Please note that it may taku three or four months for an
ad to appuar in the magaeme. ■
Unclassified Ads
FOR SALE: SwTPC MP-A2 processor board {latest),
with SWTBUG monitor, $105. Four 4 K program-
mable memory boards with premium 350 ns low
power chips. $65 each. AC-30 cassette interface,
$50. All assembled, burned in and running. Prices
are 1/3 less than kit. Robert Levine, 32 King St, New
York NY 10014, (212) 691-2897 evenings.
FOR SALE: Digital Group 8 K static programmable
memory board. In original package, unassembled,
complete with all new chips, etc. Best offer over
$80 takes. Will guarantee. Bob Waber, 6564 E
Michigan Av, Apt 52, Saline Ml 48176, (313)
429-7174.
FOR SALE: AMS memory system. 32 K by 16 bits
plus parity. Includes rack mount cabinet, power sup-
ply, two fans, battery backup, 25 slot dual back
plane, no documentation. Originally used with Ad-
vanced Memory Systems 2100 processor. Has 66 K
bytes of Intersil/AMS 6002 dynamic memory (1024
by 1). $500 plus shipping. Dan S Parker, 1007 3rd
St, Davis CA 95616, (916) 758-2341.
FOR SALE: IMSAl 8080 mainframe with 1 1 edge
connectors. Dual serial input/output ports. 8 K static
programmable memory with hardware memory pro-
tect. 8080 processor board. Documentation and
software. ASR33 Teletype with paper tape reader
and punch. $ 1 600 or best offer. Rich Levinson, 1 24
Nashoba Rd, Concord MA 01742, (617)
369-8471.
FOR SALE: Digital Group Z-80 system. Includes
dress cabinet, 10 K static memory, TVC-64, l/O-F.
12 A power supply, complete documentation and
software including Assembler, MaxiBASIC and
diagnostic/demonstration tape. Add a keyboard and
monitor and you're ready to run. $850 or will con-
sider reasonable offer. W Colsher, 4328 Nutmeg Ln
Apt 111, Lisle IL 60532, (312) 964-1 1 68 anytime.
FOR SALE: An IBM type 1004 used Selectric ter-
minal. It can be converted into a microcomputer
Selectric printer with high quality printout. All
documents and the reprints of the articles from
various journals will be included for free. The first
cashier check for $245 will get all. Please send
check along with your telephone number to H T
Chen, Physics Dept UGA, Athens GA 30602.
FOR SALE: 6502 microcomputer system built on
OSI number 400 series boards. Includes 1 6 K static
programmable memory (four number 420c memory
boards), TIM monitor (1 K read only memory), 20
mA or RS-232 serial input/output, 8 slot mother
board, MOS Technology manuals, wire wrap kludge
board, cabinet, oversized power supply and soft-
ware on paper tape. Software includes BASIC,
Editor/Assembler and games. Asking $350 for all
this, you ship. Kenneth A Scharf, 34 Royal Crest Dr,
Marlboro MA 01752, (617) 481-5534.
FOR SALE: PET Printer adapter with built-in power
supply and connectors, $90 complete. GE computer
grade caps. 2900 mF, 350 V, $6.50, 850 mF, 450
V, $3.50. All new but surplus. J Gatliff, POB 627.
EauGallie FL 32935.
FOR SALE: MMD-1 with 256 bytes programmable
memory, all documentation plus BUGBOOKS three
and five. Excellent tutorial system. $2 50 plus UPS.
Frank DeBolt, 1 1 4 Eastpines Rd, Savannah GA
31410, (912) 897-1384.
MUST SELL: New, unused equipment for 8080 or
Z-80 based systems with S-100 bus. Purchased
before deciding to buy a PET. North Star Micro-Disk
System: controller, drive in cabinet with power sup-
ply, DOS and BASIC on diskette, documentation,
cost $800. North Star Hardware Floating Point
Board: greatly speeds up math calculations in BASIC
cost $400. Will sacrifice. Karta S Khalsa, 32 The
Hollow, Amherst MA 01002, (413) 256-0391.
FOR SALE: Texas instruments 30 cps Silent 700
printer/keyboard terminal in good condition $380.
Teletype BRPE 1 10cpsPTpunch $160. Caelus 2.5
M bytes top loading disk drive $700. Also NOVA ex-
tender board. NOVA wire wrap board, mounting
slides, AMP and TRW connectors, etc. Nemeth, 560
Upr Mountain Av, Montclair NJ 07043.
FOR SALE: Heathkit H9 video terminal with full
documentation, RS-232 input/output scrolling, 110
to 9600 bps. $400 postpaid. Excellent condition.
Charles E Zalenski, 9 River Ter, Johnson City NY
13790, (607) 797-5777 days.
FOR SALE: September 1975 thru December 1978
BYTE. Good condition except some response cards
used. No missing covers or pages. Sell one or all for
best total price (over $99) by end of month this ad
printed. High bidders notified, send SASE if response
desired otherwise. Jim Matthews, 2028 Merrily Dr,
Montgomery AL 361 1 1.
FOR SALE: 64 K plus memory - Interfaced for
S100 buss. General Electric 16 K by 40 core
memory complete with all cables, power supplies
and total documentation. Only $350 plus shipping
from Kansas City MO. Jon Smirl, 1 927 Orrington Av
Apt 8209, Evanston IL 60201, (312) 492-0794.
After June 1 5th the address will be: 5817 Hutson
Rd, Kansas City MO 64151, (816) 741-5688.
FOR SALE: Diablo Hytype II (1345WP) word pro-
cessing printer (with metal wheel), with cover and
friction feed platen. Never used. Interfaceable to
SOL, 6800 or 8080s. $1599 without power sup-
ply. Roger Gersonde, 301 1 N Sherman Blvd,
Milwaukee Wl 53210, (414) 332-9202 day, (414)
445-7880 nights.
FOR SALE: Two 1 6 K 250 ns TDL static program-
mable memory boards, one 16 K 250 ns Seattle
static programmable memory board, TDL Z-80 pro-
cessor, SMB board and software (cassette and paper
tape), separately or together. All working perfectly;
just changing to different system configuration.
Barry Gordon, 31 E 3 1 st St, Baltimore MD 2 1 2 1 B.
WANTED: Radio Shack TRS-80. Any quantity, any
condition. Immediate cash available. Some used
units available. Write with description, condition and
phone number for immediate quote. DEC PDP-8/E
and M modules, RK05. ASR33, RKBE, etc. buy. sell,
trade, repair, custom interface. Jim Simpson, POB
632, W Caldwell NJ 07006, evenings (201)
226-9185or342-3110.
WANTED: Information on the TC-71 sold by NCE
from anybody who has one or has worked on one.
Also, have one Radio Shack keyboard for sale,
reasonable. Burl E Anderson, 71 Edwards Av,
Galesburg IL 61401, (309) 342-5660.
FOR SALE: Altair S-1 00 bus single drive, single den-
sity 8 inch PERTEC floppy disk system with Altair
Extended BASIC Version 4.1, read only memory
card with Bootstrap read only memory, floppy disk
controller boards, cables and complete documenta-
tion. Excellent working condition. Reliable. Selling to
reconfigure system for hard disk drive. $2800 new.
Make offer. Mike Harris, 3750 S Maple Grove Rd,
Boise ID 83705, (208) 362-5154.
FOR SALE: Two 4 K by 1 6 Heath memory boards,
$125 each. One H10 paper tape punch with five
rolls and three boxes of fanfold tape, $125. Two
parallel interface boards, one assembled $130. one
unassembled at $85, Digital cassette recorder,
$175. James E Tarvid, 2735 N Frederick, Mil-
waukee Wl 532 11, (414) 964-8633.
FOR SALE: 16 bit minicomputer, Interdata 5/16
complete on one 1 by 10 inches board with 24 K
bytes programmable memory, microprogrammable
with monitor in read only memory, Micro-I/O (input-
/output) buss interfaces with microcomputer style
peripherals, ASCII terminal port and Interdata
multiplexor buss. Large Interdata software library in-
cluding BOSS, BASIC, FORTRAN, FFT's, processor
and memory tests, etc. Brand new with full
documentation, asking $2 750. Also, Interdata
universal logic interface for I/O, status and control
ports with wire wrap area, $300. David Rosenboom,
POB 543 Sta Z, Toronto, Ontario CANADA M5N
2Z6, (416) 593-4179.
FOR SALE: Beehive SuperBee II video display ter-
minal. 8008 microprocessor controlled. Scroll
mode, page transmit or line transmit. 24 line by 80
character screen, but can hold 200 plus lines in own
memory to scroll/page backward and forward.
Editing features: line insert/delete, character insert/-
delete. Function keys. Tabs settable anywhere, may
be set by computer. Formatted screen (fill in blanks)
can be specified. Truly the Rolls Royce of terminals.
$900 or best offer, Michael J Eager, 481 Century
Dr. Campbell CA 95008. You must send SASE.
FOR SALE: Heath HB with 48 K, two each SIO/-
cassette, interface; $1975. Heath WH17 dual flop-
py disk system; $925. Heath H9 video terminal;
$ 550. Heath cassette plus recorder;$45. All factory
tested and running, some under factory warranty.
Reason selling: I have two computer systems. Buy
package for $3300 or separately. All offers con-
sidered. Ray King, 915 El Rancho, Pocatello ID
83201. (208) 237-0979.
FOR SALE: 32 K static programmable memory fac-
tory assembled and tested. Four Industrial Micro 8 K
S-100 boards, cost $884 new, asking $650 (ran
out of slots). Teletype ASR33 teletypewriter with
paper tape reader/punch, stand, $595 plus shipping.
Mark Lyon, 6320 Red Prairie Rd, Sheridan OR
97378.
WILL TRADE: Have written programs for Bally HLC
with audio cassette interface such as: Checkbook
Balancer, Number Sort, Math Quiz, Tic-Tac-Toe, Slot
Machine, Hourglass Graphics. I am interested in ac-
quiring other Bally BASIC programs on audio cas-
sette. Chuck Zellers, 2921 Roselawn Dr, Grand
Island NE 68801.
FOR SALE: Data Products portable terminal. 1 cps,
hard copy, built-in modem and coupler, ASCll/-
Teletype, RS-232 interface. The first check for
$550 will receive this device which is excellent for
timesharing or as a microcomputer terminal. Carl
Echols, 1 1 2 Creekside Ln, Noblesville IN 46060,
(317) B49-5247.
FOR SALE OR TRADE: REM EX high speed paper tape
reader with stop on character, $150; Burroughs
digital cassette drive, $50; 5 V at 70 A power sup-
ply, $ 50. All work fine. Trade any or all for X,Y plot-
ter/recorder. Jim McCord, 330 Vereda Leyenda,
Goleta CA 93017, (805) 968-6681.
FOR SALE: DEC MPS microcomputer. Includes 16 K
programmable memory plus 4 K bytes eraseable
read only memory. Also has vectored interrupt board
with parallel input/output. Price $395 plus shipping.
Curtis P Hoffman, 169 Millham St, Marlboro MA
01762, (617) 481-7827.
August 1,979 © BYTE Publications Inc 263
Hesdep Service
To get further information on the products advertised in BYTE, fill out the reader service card with your name and address. Then
circle the appropriate numbers for the advertisers you select from the list. Add a 15-cent stamp to the card, then drop it in the mail.
Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring
you a bigger BYTE.
Inquiry No.
Page No.
Inquiry No.
Page No.
Inquiry No.
Page No.
Inquiry No.
Page No.
4
3
6
5
12
9
10
11
19
18
20
21
29
30
34
31
33
32
41
39
45
43
47
44
53
54
56
48
46
49
50
55
75
66
68
69
65
70
73
71
40
78
83
80
85
87
89
Abbot 221
91
Data Discount Cenler 181
216
AB Computers 246
94
Datamation 100
217
Administrative Systems 166
96
Data/Print Publishing Co 150
212
Advanced Computer Products 235
93
Datasearch 196
213
Aladdin Automation 131
126
Data-Trans 257
211
Altos 41
98
Delta Products 73
214
American Square Computers 219
99
Diablo (Div of Xerox) 74
220
Anderson Jacobson 203
102
Digital Engineering 197
221
Apple Computer 17
86
Digital Pathways 137
219
AP Products 95
88
Digitan 195
223
ASAP Computer Products 233
95
DRC (CA) 188
*
ATV Research 230
100
DRC (TX) 245
204
Automated Simulations 184
115
Electrolabs 254
*
Avery Label 230
120
Electronic Control Technology 99
208
Avionic Enterprise 219
121
Electronic Packing Co 127
198
base 2 inc. 109
125
Electronic Systems 257, 258, 259
209
Beckian Enterprises 242
130
Electronics Warehouse 237
*
Beta Business Systems 219
131
Emerge Systems 213
231
Biotech Electronics 35
132
Escon202
233
Bits Inc. 117, 160, 161
133
Falcon Publishing 158
234
Body Peripherals 120
134
FMG Corp 208
230
Buss/Charles Floto 232
*
Forethought Products 103
236
BYTE Back Issues 210
143
GFN Industries 115
237
BYTE Books 49, 53, 85-88, 130, 155
144
Gimix 83
238
BYTE Subscriber 203
145
GLA Enterprises 232
255
BYTE WATS Line 201. 234
146
Gledhill Electronics 232
256
California Data Corp 234
150
Godbout Electronics 175
257
California Digital 239
151
Godbout Electronics 246
258
Central Data 97
152
Graham Dorian Enterprises Clll
*
Chatsworth Data 62
153
G W Computers Ltd 20
281
Chrislin Industries 78
159
M & E Computronics 163
282
CODEX 54
161
Hayden Book Co 106
280
COMPCO 102
162
Heath Company 33
283
COMPCO 114
170
Hobbyworld 231
284
COMPCO 116
171
Hollywood Systems 242
285
COMPRINT (Computer Printers Int'l Inc) 3£
I 172
Houston Instruments 23
286
CompuServe (MicroNET) 64, 65
168
HUH 187
290
Computer Bookkeeping Services Inc 142
169
HUH 187
291
Computer Dealer Co-op 105
173
Industrial Micro Systems 149
287
Computer Factory NY 226, 227
174
Infinite Inc 234
•
Computer Headware 194
175
Information Unlimited Sottware 201
288
Computer Lab of NJ 197
176
Intecolor (Div Intelligent Systems) 13
289
Computerland 8, 9
177
Integrand 48
293
Computer Mart of NJ & PA 12
179
Interactive Microware 186
292
The Computer Repair Co 232
180
Intertec Data Systems 141
*
Computer Service Center 219
190
Ithaca Audio 110
299
Computer Service Systems Network 253
191
Ithaca Audio 229
294
Computers Plus Inc 201
195
Jade Co 248, 249
296
Computer Store of San Leandro / 232
200
Jameco 240
298
Computex Corp 98
201
Jameco 241
297
Computhink 124, 125
203
Jim-Pak 252
305
CTC 1 1 1
377
Kalbro Computer Brokers (formerly
306
CT Micro Computer 128, 217, 224
US Brokers Co Div Kalbro Corp) 232
301
Corvus Systems 45
*
Lifeboat Associates 92, 93, 123
304
Creative Software 182
207
Loweco Computer 234
302
Cromemco 1, 2
202
Mad Hatter Software 193
303
Cybernetics Inc 156
199
The Mail Mart 232
312
Data Communications Int'l 218
205
Marketline Systems 210
313
Data Decisions 180
215
Measurement Sys & Controls 183
315
ecMe-
EYTE's Ongoing McnittrEcx
Article No.
ARTICLE
1 Allen: An Overview of LISP
2 Laubsch, Fischer, and Bocker: LISP Based Systems for Education
3 Prini and Rudalics: Lambdino Storage Management System
4 Kornfeld: Pattern-Directed Invocation Languages
5 Ciarcia: Anyone Know the Real Time?
6 Albus: A Model of the Brain for Robot Control, Part 3
7 Yeager: Exploring TRS-80 Graphics
8 Powers: The Nature of Robots, Part 3
9 Taft: The Design of an M6800 LISP Interpreter
10 Pratt: A Mathematician's View of LISP
1 1 Halsema: A Preview of the Motorola 68000
12 Stoutemyer: LISP Based Symbolic Math Systems
13 Weyhrauch and Graves: LISP Applications in Boolean Logic
14 Gass: An Overview of Long Division
Measurement Sys & Controls 219
Measurement Sys & Controls 234
Micro Age 179
Micro Ap 133
Micro Applications Group 130
Micro Architect 118
MicroDaSys 5,
MicroDaSys 223
Micro Diversions 91
Micromail 159
Micro Management Systems 234
Micro Mike's 217
Micropolis 134, 135
Micro Products 202
MicroSoftware (CAI) 188
Microtek 15
Microware 205
The Micro Works 42
Microworld 63
Micro-Z Co 234
Mikos 244
Mini Computer Suppliers 195
Mission Control 113
Mission Control 177
Morrow/Thinker Toys 11
Morrow/Thinker Toys 37
Mountain Hardware 58
Mountain Hardware 153
M.T.I. 157
NEECO 101
NEECO 121
Netronics 222
Newman Computer Exchange 247
Newman Computer Exchange 251
North Star Computer 21
ODS Inc 234
Ohio Scientific Instrument CIV
OK Machine and Tool 203
Omikron 191
onComputing 81
On Line 219
Optimal Technology 185
Oregon Software 104
Osborne & Associates 169
Owens Associates Inc 126
P.K.C. Inc 234
Pacific Exchanges 219
Pacific Office Systems 253
Page Digital 243
PAIA Electronics 189
PerCom Data 60
PerCom Data 61
PerCom Data 256
Personal Computing 79 173
Personal Software Inc 138, 139
Practical Applications 196
Priority I 260,261.262
Prog 80 199
Programmer's Software Exchange
317 PRS 47
81 Q Kit (Div J R Conwell Corp) 57
311 Quest Electronics 255
310 RACET Computes 184
314 Radio Shack Auth Sales Center 219
322 RCA 69
* The Recreational Programmer 230
324 RMB 129
325 RNB 154
326 Rochester Data 14
316 S-100lnc211
* St Jude 232
320 Sara Tech 185
331 SC Digital 181
319 Michael Shrayer Software 165
* Shugart Associates 6, 7
329 68 Micro Journal 215
330 SMA80
328 Smoke Signal Broadcasting 29
* Software Dev and Training 167
327 Software Dynamics 190
333 Software Ingenuity 230
335 SSM 16
340 Solid State Sales 2-50
341 Soroc Technology Inc 43
350 Southwest Technical Products Corp CM
352 Structured Analysis Systems 142
353 SubLOGIC 119
356 Sunflex230
354 Sunny International 238
357 SuperSoft 151
358 Sybex 25
355 Synchro Sound 79
360 Tarbell Electronics 71
363 Technical Systems Consultants 75
364 Technology Transfer 122
365 Technology Transfer 148
366 3 G Co Inc 180
368 3/M Company 27
369 Robert Tinney Graphics 55
* ToraSystems Inc 230
370 Total Information Services 190
374 TRS-80 Software Exchange 198
375 Ucatan 230
376 Upper Case Books 201
379 US Robotics 204
378 Vista Computer 189
384 V R Data 250
387 Wameco 244
* Whales 99
389 Wintek Corp 230
390 Wintek Corp 232
391 Worldwide Electronics 219
393 XComp 151
394 XComp 164
392 Xitex 212
401 2 S Systems 211
230
Page
10
18
26
34
50
66
82
94
132
162
170
176
206
220
""Correspond directly with company.
May BOMB Maps a Winner
The May 1979 first place BOMB
award of $100 went to William D
Johnston for taking a direct route to
the top with "Computer Generated
Maps/' page 10. The second place
prize of $50 went to Steve Ciarcia for
"Communicate on a Light Beam/'
page 32. Placing third was "Represen-
ting Three Dimensional Objects In
Your Computer/' page 14 by Richard
Blum, with Bob Haas' "Single Chip
Video Controller/' page 52 taking
fourth place.
26SJ August 1979 © BYTE Publications Inc
BITE
READER
SERVICE
August 1979
4189
For fastest service transfer mailer label from wrapper
to coupon provided at the right. Requests cannot be
honored unless zip code is given. This card valid for
90 days only.
NOTE — If label is missing or defaced fill out coupon carefully
—PLEASE PRINT— this is only way to get requested material
to you.
Name
(Title)
(Company)
Address
City
_State _
-Zip.
1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 401 421 441 461 481 501 521 541 561 581 601 621 641
2 22 42 62 82 102 1 22 142 162 182 202 222 242 262 282 302 322 342 362 382 402 422 442 462 482 502 522 542 562 582 602 622 642
3 23 43 63 83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 403 423 443 463 483 503 523 543 563 583 603 623 643
4 24 44 64 84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 404 424 444 464 484 504 524 544 564 584 604 624 644
5 25 45 65 85 105 1 25 145 165 1 85 205 225 245 265 285 305 325 345 365 385 405 425 445 465 485 505 525 545 565 585 605 625 645
6 26 46 66 86 106 126 146 166 186 206 226 246 266 286 306 326 346 366 386 406 426 446 466 486 506 526 546 566 586 606 626 646
7 27 47 67 87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 407 427 447 467 487 507 527 547 567 587 607 627 647
8 28 48 68 88 1 08 1 28 1 48 1 68 1 88 208 228 248 268 288 308 328 348 368 388 408 428 448 468 488 508 528 548 568 588 608 628 648
9 29 49 69 89 109 1 29 149 169 189 209 229 249 269 289 309 329 349 369 389 409 429 449 469 489 509 529 549 569 589 609 629 649
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 410 430 450 470 490 510 530 550 570 590610630 650
11 31 51 71 91 111 131 151 171 191 211 231 251 271 291 311 331 351 371 391 411 431 451 471 491 511 531 551 571 591 611 631 651
12 32 52 72 92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 412 432 452 472 492 512 532 552 572 592 612 632 652
13 33 53 73 93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 413 433 453 473 493 513 533 553 573 593 613 633 653
14 34 54 74 94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 414 434 454 474 494 514 534 554 574 594 614 634 654
15 35 55 75 95 115 135 155 175 195 215 235 255 275 295 315 335 355 375 395 415 435 455 475 495 515 535 555 575 595 615 635 655
16 36 56 76 96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 416 436 456 476 496 516 536 556 576 596 616 636 656
17 37 57 77 97 117 137 157 177 197 217 237 257 277 297 317 337 357 377 397 417 437 457 477 497 517 537 557 577 597 617 637 657
18 38 58 78 98 118 138 158 178 198 218 238 258 278 298 318 338 358 378 398 418 438 458 478 498 518 538 558 578 598618638 658
19 39 59 79 99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 419 439 459 479 499 519 539 559 579 599619639 659
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 560 580 600 620 640 660
MENTION
BITE
WHEN WRITING TO ADVERTISERS
BIT!
SUBSCRIPTIONS
4I89
For a subscription to BYTE, please complete this card.
Name .
Address .
City.
State.
Zip.
□ 1 year
D 2 years
D 3 years
.Country.
USA
□ $18
D $32
D $46
Canada
Mexico
□ $20
□ $36
□ $52
D $32 Europe (air freight) payment enclosed
□ $32 Elsewhere (surface mail) payment enclosed
(Air mail rates available upon request)
Please remit in US funds drawn on a US bank.
Thank you.
D Check enclosed (Bonus: one EXTRA issue
— receive 13 issues for the price of 12)
□ Bill me (North America only)
D
Card No
Expiration date.
Pour digits above name - Master Charge only.
Signature _
. Date.
Please allow eight weeks for processing.
Thank you
BO IVI B I BYTE's Ongoing Monitor Box
BYTE's BOMB is your direct line to the editor's desk. Each month.
the two top rated authors receive bonuses based on your votes. To
use this card, refer to the list of authors, titles, and corresponding
BOMB article numbers on the opposite page. Then rate each article on
a scale from to 10 below by circling the appropriate rating number
ro the right of each BOMB article number. Your feedback helps us
produce ihe best possible magazine each month.
4189
BOMB
Article
Number Poor
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
10
1
11
1
12
1
13
1
14
1
15
1
16
1
17
1
18
1
19
1
20
1
Comments.
Rating
Fair
Good Very Good Excellent Wow!
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 £
8 <
8 <
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
9
10
10
PLACE
STAMP
HERE
EITE
READER SERVICE
PO Box 911 GPO
New York NY 10001
USA
c
>
-D
VI
■ ■
a>
o
DO
r+
CD
£
^v
cr
&>
^^__
o
D*
M^
-1
^^^^B
o
c
00
Ln
m
D"
Z
"O
X
c
cr
o
0)
LO
Ln
00
cr.
o
5"
n
-. ui -o
5 > >
Sso
m -a m
c £ 3
> * °
13 O
— Ln
* O
o
00
00
lu
Ln
C
00
Ln
n
H
Ln
PLACE
STAMP
HERE
\
Grahsm-Qopisn's Integrated, On Line Pncgpsms
Ape Fast, Efficient, And Easy Tc Use.
Rely on Graham-Dorian, a full-line
computer software manufacturer, for
sophisticated programs — the most detailed
on the market today. They're ready to go to
work immediately or to be tailored for even
more specific needs.
On-line capabilities enable you to make a
single entry and update all affected files. An
inquiry into a file at any time provides
up-to-date information — no batching or
sorting of input data.
The programs are easy to use. Messages
on the video display guide you each step of the
way. Programs make use of indexed
sequential and chained files forfast and
convenient retrieval of data with efficient use of
disk space.
Order in standard eight-inch disk either
double or single density, or various mini-floppy
formats. Each program contains a free
CBASIC-2, plus user's manual and hard copy
source listing.
• Accounts Receivable — Records invoices, prepares
statements and trial balance reports, etc. Automatically
reports aging of accounts in periods of 30, 60, and 90
days, with each item listed separately.
• Accounts Payable — Vendorlookup and change,
entering vendor invoices, writing checks (many options),
cash flow analysis, accounts payable check register, and
vendor list. Ideal for analyzing expenditures by vendor and
by due date.
• General Ledger — Includes lookup and change, making
journal entries, trial balance, transaction register, chart
of accounts, financial statements, and monthly closing.
• Job Costing — Provides work order lookup, enters
labor transactions, material set-up, progress report of
hours, labor distribution report, weekly labor reset, actual
versus estimated cost per job.
• Inventory — Can be connected with cash register for
point of sale inventory control. Number of on-line items
limited only by disk space available.
• Cash Register — Creates daily sales reports containing
information on gift certificates, paidouts, overrings,
refunds, and how much in each category a salesperson sold.
• Payroll — Handles 100% of all necessary payroll
functions including state income tax tables for your state.
Ideally suited for both large and small companies.
• Apartment — Said one user, "Obviously, this was
developed by apartment owners." The package fills
virtually all the needs of apartment owners and managers.
Ideal for projects with 75 units or more.
• CBASIC-2 — The most comprehensive and powerful
commercially oriented BASIC available today.
Enhancements over CBASIC-1 : integer variables, multiple
line functions, CHAINing with COMMON variables,
additional predefined functions, etc. Comes free with any
package, or purchase separately.
Compatible with many computers: Northstar,
IMSAI, Altos, Cromenco, Industrial Micro Systems,
Radio Shack TRS-80, SD Systems, Digital Microsystems,
Dynabyte DB8/2, Micropolis MOD II, Vector MZ, and
other 8080, 8085, and Z-80-based systems.
See your GDSS dealer or send for information
packet and sample runs.
G^i
Circle 152 on inquiry card.
Graham-Dorian Software Systems
A Division of Graham- Dorian Enterprises
211 N. Broadway / Wichita, KS 67202 / (316) 265-8633
■ Tf ■' . '
Ohio Scientific has taken its standard Challenger III
computer and married it to the new Shugart 29 Mega-
byte Winchester Drive. The result is the C3-C. This new
microcomputer now fills the vacuum that existed for
computer users who need more mass storage capa-
bility than floppies can offer-yet until now, could not
justify the additional cost of a larger capacity hard disk
computer such as our C3-B 74 Megabyte disk system.
Winchester Technology
Winchester hard disk drives offer small business and
professional computer users the logical solution to
mass storage problems that are beyond the capability
of floppy disks. In addition, Winchester
disksfeatureatrack seek-
time that is much better
thanfloppiesand because
they spin at eight times the
rate of floppies, Winches-
ters have a shorter latency. I
Both of these points reflect 1
one remarkable speed
advantage Winchester disks
have over floppies.
CoupledtotheChallenger ill
Computer
Ohio Scientific's award win-
ning Challenger III computer
is a classic. It is the only com-
puter series that utilizes the
three most popular micropro'c-
essors-6502A, 68B00 and
Z-80. This tremendous proc-
essor versatility enables one to
utilizeaseeminglyendless selec-
tion of quality programs available
from Ohio Scientific's software
library as well as from many
independent suppliers.
Yields the Microcomputer of the Future
With an eye toward the future, the C3-C, like all other
Challenger Ill's wasdesigned with provisions for future
generation 16 bit microprocessors via plug-in options.
There are ten open slots for lots of I/O and multi-
user operation. Truly, the Ohio Scientific C3-C is a
computer with a future.
The new C3-C computer
with 29 Megabyte
Winchester Hard Disk,
S9340 with 48K static
RAM and OS-65U
operating system!
600K byte
Dual 8" floppys
And Advanced Software
For instance, there are single user,
multi-user and network operating
systems. A complete turnkey sma
business package, OS-AMCAP pro
vides accounts receivable, accounts
payable, disbursements, cash re
ceipts, general ledger, etc. OS-CP/M
offers a complete FORTRAN and
COBOL package. And there is WP-2, a
complete word processing system. For
information management, OS-DMS
features an advanced file handling system
and program library that simplifies informa-
tion storage and recall and routinely per
formstasks which usually require special
programming on other systems.
SCIENTIFIC
1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101
Easy to configure
and service.
Rack slide mounting
on all subassemblies..
10 open slots for
expansion.
Shugart SA-4008
29 Megabyte
Winchester Disk
(23 Megabytes of
formatted user space
under OS-65U).
OEM pricing available
Circle 290 on inquiry card.