AUGUST 198 ! Vol. 6, No.
$2.50 in USA/$2.95 in Canada
A McGraw-Hill Publication
Circle 357 on inquiry card.
SOUTHWEST TECHNICAL PRODUCTS CORPORATION
219 W. RHAPSODY
SAN ANTONIO, TEXAS 78216 (512) 344-0241
CROMIX FILE SYSTEM
/(root ill ioc I my)
CROMIX* — Cromemco's outstanding
UNIX ' — like operating system
cromix is just the kind of major
development you've come to expect
from Cromemco. After all, we're
already well-known for the most
respected software in the microcom-
puter field.
And now we've come up with the in-
dustry's first UNix-lookalike for
microcomputers. It's a tried and proven
operating system. It's available on both
5" and 8" diskettes for Cromemco
systems with 128K or more of memory.
Here are just some of the features you
get in this powerful Cromemco system:
• Multi-user and multi-tasking
capability
• Hierarchical directories
• Completely compatible file,
device, and interprocess I/O
• Extensive subsystem support
FILE SYSTEM
One of the important features of our
cromix is its file system comprised of
hierarchical directories. It's a tree struc-
ture of three types of files: data files,
•CROMIX is a trademark of Cromemco, Inc.
tUNIX is a trademark of Bell Telephone Laboratories
directories, and device files. File,
device, and interprocess I/O are com-
patible among these file types (input and
output may be redirected inter-
changeably from and to any source or
destination).
The tree structure allows different
directories to be maintained for different
users or functions with no chance of
conflict.
PROTECTED FILES
Because of the hierarchical structure
of the file system, cromix maintains
separate ownership of every file and
directory. All files can thus be protected
from access by other users of the
system. In fact, each file is protected by
four separate access privileges in each
of the three user categories.
TREMENDOUS ADDRESS SPACE,
FAST ACCESS
The flexible file system and general-
ized disk structure of cromix give a disk
address space in excess of one gigabyte
per volume — file size is limited only by
available disk capacity.
Speed of access to disk files has also
been optimized. Average access speeds
far surpass any yet implemented on
microcomputers.
'C COMPILER AVAILABLE, TOO
Cromemco offers a wide range of
languages that operate under cromix.
These include a high-level command
process language and extensive sub-
system support such as cobol, Fortran
IV, RATFOR, LISP, and 32K and 16K BASICS.
There is even our highly-acclaimed
'C compiler which allows a program-
mer fingertip access to cromix system
calls.
THE STANDARD OS
FOR THE FUTURE
The power and breadth of its features
make cromix the standard for the next
generation of microcomputer operating
systems.
And yet it is available for a surprisingly
low $595.
The thing to do is to get all this
capability working for you now. Get in
touch with your Cromemco rep today.
a
Circle 96 on Inquiry card.
Cromemco ™
incorporated
280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400
Tomorrow's computers today
CROMEMCO process control
■I
1
1 ,
1
u»
■■■
valve »
♦ , . •
*i.«l
Management Information Display
Ultrasonic heart sector scan
Process Control
Get the professional color
display that has
BASIC/FORTRAN simplicity
LOW-PRICED, TOO
Here's a color display that has
everything: professional-level resolution,
enormous color range, easy software,
NTSC conformance, and low price.
Basically, this new Cromemco Model
SDI* is a two-board interface that plugs
into any Cromemco computer.
The SDI then maps computer display
memory content onto a convenient color
monitor to give high-quality, high-
resolution displays (756 H x 482 V pixels).
When we say the SDI results in a high-
quality professional display, we mean you
can't get higher resolution than this
system offers in an NTSC-conforming
display.
The resolution surpasses that of a color
TV picture.
BASIC/FORTRAN programming
Besides its high resolution and low
price, the new SDI lets you control with
optional Cromemco software packages
that use simple BASIC- and FORTRAN-
like commands.
Pick any of 16 colors (from a
4096-color palette) with instructions like
DEFCLR (c, R, G, B). Or obtain a circle of
specified size, location, and color with
XCIRC (x, y, r, c).
•U.S. Pat. No. 4121283
Model SDI High-Resolution Color
Graphics Interface
HIGH RESOLUTION
The SDI's high resolution gives a
professional-quality display that strictly
meets NTSC requirements. You get 756
pixels on every visible line of the NTSC
standard display of 482 image lines. Ver-
tical line spacing is 1 pixel.
To achieve the high-quality display, a
separate output signal is produced for
each of the three component colors (red,
green, blue). This yields a sharper image
than is possible using an NTSC-composite
video signal and color TV set. Full image
quality is readily realized with our high-
quality RGB Monitor or any conventional
red/green/blue monitor common in TV
work.
Model SDI plugs into Z-2H 11 -mega byte
hard disk computer or any Cromemco
computer
DISPLAY MEMORY
Along with the SDI we also offer an
optional fast and novel two-port memory
that gives independent high-speed access
to the computer memory. The two-port
memory stores one full display, permit-
ting fast computer operation even during
display.
CONTACT YOUR REP NOW
The Model SDI has been used in scien-
tific work, engineering, business, TV,
color graphics, and other areas. It's a
good example of how Cromemco keeps
computers in the field up to date, since it
turns any Cromemco computer into an
up-to-date color display computer.
The SDI has still more features that
you should be informed about. So contact
your Cromemco representative now and
see all that the SDI will do for you.
Q
Cromemco
Incorporated
280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040
Tomorrow's computers today
(415)964-7400
Circle 96 on inquiry card.
H
■I
In The Queue
Volume 6, Number 8
August 1981
Features
1 *T Introducing the Smalltalk-80 System by
Adele Goldberg / A readers' guide to the Smalltalk articles in
this issue.
3 O The Smalltalk-80 System by the Xerox Learning
Research Group / How message-sending objects are used in the
Smalltalk-80 system.
50 Build a Z8-Based Control Computer with
BASIC, Part 2 by Steve Ciarcia / Steve continues his
description of the Z8-BASIC Microcomputer and suggests two ap-
plications.
# *W Object-Oriented Software Systems by
David Robson / Object-oriented software systems provide the
underlying design of Smalltalk.
"U The Smalltalk Environment by Larry
Tesler / Programming and debugging in Smalltalk are always in-
teractive activities.
%*TM User-Oriented Descriptions of Smalltalk
Systems by Trygve M H Reenskaug / A Smalltalk applica-
tion program will limit the user's access to the language.
1 68 The Smalltalk Graphics Kernel by Daniel H
H Ingalls / The Graphics Kernel provides the interface through
which all text and graphics are displayed.
&UO The Japanese Computer Invasion by Stan
Miastkowski / Like it or not, the Japanese small computers are
on their way.
230
Building Data Structures In the
Smalltalk-80 System by James C Althoff Jr /
Many kinds of data structures can be added easily to the
Smalltalk-80 system.
286
Design Principles Behind Smalltalk by
Daniel H H Ingalls / The design principles of a language
strongly affect its power and usability.
300
The Smalltalk-80 Virtual Machine by Glenn
Krasner / The use of a Smalltalk-80 Virtual Machine allows the
system to be transported easily among different 1 6-bit
microprocessors.
Building Control Structures In the
Smalltalk-80 System by L Peter Deutsch /
Design of complicated control structures is easy in the
Smalltalk-80 language.
348
Is the Smalltalk-80 System for Children? by
Adele Goldberg and Joan Ross / Although Smalltalk-80 is
not meant to be used by children, application programs can be
written that will allow them to be creative and, at the same
time, learn about programming.
369
ToolBox: A Smalltalk Illustration System by
William Bowman and Bob Flegal / The versatile
Smalltalk-80 language can create an environment for graphics
design that can be used by non technically oriented people.
378
Virtual Memory for an Object-Oriented
Language by Ted Kaehler / Virtual memory techniques must
be used when the active memory space needed by a language
is much larger than the amount of available memory.
Reviews
398 Microsoft Editor/Assembler Plus by Keith Carlson
40 1 BOSS: A Debugging Utility for the TRS-80
Model I by Scott Mitchell
Nucleus
6
30
197
224
392
388
391
391
392
394
402,
404,
421
478
479
480
Editorial: Smalltalk: A Language for the 1980s
Letters
BYTE's Bits
BYTELINES
BYTE's Bugs
Ask BYTE
Books Received
Software Received
Clubs and Newsletters
Event Queue
41 3 System Notes: Indirect I/O Addressing on the 8080;
Aim-65 16-bit Hexadecimal to Decimal Conversion
408, 414, 417, 418 Programming Quickies: A Disk
Catalog for the Eighties; Alpha-Beta Tree Search Con-
verted to Assembler; Fast Line-Drawing Techniques;
Word Ujbnmarle; Binary-to-BCD Converter Program for
the 8080
What's New?
Unclassified Ads
Reader Service
BOMB, BOMB Results
KITE
Page 14
Page 50
Page 90
Page 168
June 1961 © BYTE Publications Inc 3
M
Editor in Chief
Christopher Morgan
Managing Editor
Mark Haas
Technical Editors
Gregg Williams, Senior Editor;
Richard S Shuford; Curtis P Feigel;
George Stewart; Stan Miastkowski;
Charles Freiberg, New Products Editor;
Steve Garcia, Mark Dahmke,
Consulting Editors;
Jon Swanson. Draftsman
Copy Editors
Beverly Cronin, Chief; Faith Hanson;
Warren Williamson; Anthony J Lockwood;
Ann Graves
Assistants
Faith Ferry; Debe Wheeler;
Karen A Cilley
Production
Nancy Estle, Director; Christine Destrempes,
Asst Director; Wai Chiu Li;
Deborah Porter; Jonathan M Graves;
Patrice Scribner; Sherry McCarthy,
Chief Typographer; Debi Fredericks;
Donna Sweeney; Valerie Horn
Advertising
Thomas Harvey, Director;
Marion Gagnon; Rob Hannings;
Marilyn Williams; Jacqueline Earnshaw,
Reader Service Coordinator
Circulation
Gregory Spitzfaden, Manager;
Andrew Jackson, Asst Manager;
Agnes E Perry; Barbara Varnum;
Louise Menegus; Bill Watson;
James Bingham, Dealer Sales
Controller's Office
Daniel Rodngues, Controller;
Mary E Fluhr. Acer & DIP Mgr; Karen Burgess;
Jeanne Cilley; Mary Beth Ireland; Linda Fluhr
Traffic
N Scott Gagnon
Receptionist
Joanne Colburn
Publishers
Virginia Londoner; Gordon R Williamson;
John E Hayes, Associate Publisher;
Cheryl A Hurd, Publisher's Assistant
Officers of McGraw-Hill Publications Com-
pany; Paul F McPherson, President; Executive
Vice Presidents: James E Boddorf, Gene W
Simpson; Group Vice President: Daniel A
McMillan; Senior Vice President-Editorial: Ralph
R Schulz; Vice Presidents: Kemp Anderson,
Business Systems Development: Robert B Doll,
Circulation; James E Hackett, Controller; Eric B
Herr, Planning and Development; H John
Sweger, Marketing.
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.
In This Issue
Smalltalk isn't small talk any more. Three years ago, the cover of BYTE
depicted the island kingdom of Smalltalk as a place where great and magical
things happen, though its "craggy aloofness" kept it out of the mainstream of
the computer programming community. During the past three years the Xerox
Learning Research Group has continued developing Smalltalk, and this month
we present the culmination of its work — the debut of the Smalltalk-80
system.
Because of the special nature of this issue, we have added a special in-
troduction by Adele Goldberg, manager of the Xerox Learning Research
Group based in Palo Alto, California. Adele guides you gently through the ar-
ray of articles-describing the Smalltalk-80 system and related topics.
In addition to our regular features, we also have the concluding part of
Steve Ciarcia's article, "Build a Z8-Based Control Computer with BASIC." And
Stan Miastkowski presents an in-depth report on what we can expect from
Japan in his article, "The Japanese Computer Invasion."
BYTE is published monthly by BYTE Publications Inc. 70 Main St. Peterborough NH 03458. phone |603)
924-928 1 . a wholly-owned subsidiary of McGraw-Hill, Inc. Address subscriptions, change of address, USPS Form
3579, and fulfillment questions to BYTE Subscriptions, POB 590. Martinsville NJ 08836. Controlled circulation
postage paid at Waseca, Minnesota 56093 - USPS Publication No. 528890 (ISSN 0360-5280). Canadian second
class registration number 9321 . Subscriptions are S 19 for one year, S34 for two years, and S49 for three years in
the USA and its possessions. In Canada and Mexico, S2I for one year, S 38 for two years, S55 for three years. S43
for one year air delivery to Europe. S35 surface delivery elsewhere. Air delivery to selected areas at additional
rates upon request. Single copy price is S2.50 in the USA and its possessions, S2.95 in Canada and Mexico. S4.00
in Europe, and S4.50 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 BYTE, POB 372, Hancock NH 03449. 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 © 1981
by BYTE Publications Inc. All rights reserved. Where necessary, permission is granted by the copyright owner for
libraries and others registered with the Copyright Clearance Center (CCC) to photocopy any article herein for the
base fee of S 1 .00 per copy of the article or item plus 25 cents per page. Payment should be sent directly to the
CCC, 2 1 Congress St, Salem MA 01 970. Copying done for other than personal or internal reference use without
the permission of McGraw-Hill is prohibited. Requests for special permission or bulk orders should be addressed to
the publisher.
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 WCIR 4EJ England.
Subscription WATS Line: (800) 258-5485
Office hours; Mon-Thur 8:30 AM - 4:30 PM, Friday 8:30 AM - Noon, Eastern Time
NATIONAL ADVERTISING SALES REPRESENTATIVES:
NORTHEAST (617) 444-3946
Hajar Associates
280 Hillside Ave
Needham Heights MA 02 1 94
NORTHWEST (41 5| 964-0706
Hajar Associates
lOOOEIwellCt, Suite 227
Palo Alto CA 94303
MIDWEST (312) 966-0160
Hajar Associates
5225 Old Orchard Dr
Skokie IL 60076
SOUTHWEST (714) 540-3554
Hajar Associates
3303 Harbor Blvd
Suite K-4
Costa Mesa CA 92626
MID ATLANTIC (212) 682-5844
Hajar Associates
52 1 Fifth Ave
New York NY 10017
SOUTHEAST (305) 886-7210
Hajar Associates
1220 Prairie Lane
Apopka FL 32703
August 1981 © BYTE Publications lnc
". . .stands well above
other S-100 graphics dis-
plays in its price and per-
formance range."
BYTE, Product Review
. . better monochromatic
. . . display .
ELECTRONIC DESIGN,
1981 Technology Forecast
MICROANGELO
HIGH RESOLUTION GRAPHICS SINGLE BOARD COMPUTER
512 x 480 resolution black and white and vivid color displays
RS-170 com-
posite or direct
drive output
Local or external
sync generation
4MhzZ80
microprocessor
60 hertz real-
time clock
8 level interrupt
tie-in
IEEE SI 00 bus
compatible
Light pen
interlace
Time multi-
plexed refresh
4K resident
Screenware™
Pak I operating
system
32KRAM
isolated from
host address
space
High speed
communications
over parallel
bus ports
Screenware™ Pak I
A 4K byte operating system resident in PROM on
MicroAngelo™. Pak I emulates an 85 character
by 40 line graphics terminal and provides over
40 graphics commands. Provisions exist for user
defined character sets and directly callable user
extensions to Screenware™ Pak I.
Screenware™ Pak II
An optional software superset of Pak I which
adds circle generation, polygon flood, program-
mable split screen for separate graphics and ter-
minal I/O, relative coordinates, faster vector and
character plotting, a macro facility, full UCSD
Pascal compatibility, and more.
8455-D Tyco Road • Vienna, Virginia 22180 • TWX: 710-831-9087 • (703) 827-0888
Circle 339 on inquiry card.
And now. ..COLOR!!
The new MicroAngelo™ Palette board treats from
2 to 8 Micro Angelos as "bit planes" at a full
512 x 480 resolution. Up to 256 colors may be
chosen from 16.8 million through the program-
mable color lookup table. Overlays, bit plane
precedence, fade-in, fade-out, gray levels, blink-
ing bit plane, and a highly visual color editor are
standard.
Circle 114 on inquiry card.
TM
PLAN8Q
A financial modeling sys-
tem that runs on a desk top
computer, is easy to use yet
powerful enough to re-
place most timesharing ap-
plications.
PLAN80 Is a financial modeling
system that runs on a desk top
computer. It's easy to use yet
powerful enough to replace most
timesharing applications.
PLAN80 lets you tackle any
numeric problem that can be de-
fined in worksheet format. It per-
forms complex calculations quickly
and precisely and lets you exam-
ine "What If?" questions so you
can evaluate more planning alter-
natives In greater detail.
With PLANSO you get more than
your calculated results . . . You
know how you get them, because
you define rows and columns with
familiar names such as UNITS,
PRICE and JANUARY and express
calculations in terms such as
SALES= UNITS' PRICE. It's easy to
review your assumptions and
methods with people who have
never seen PLANSO.
At any point In the PLANSO model
you may display or print results on
your screen, printer or disk, save all
or part of the results for use by
another model, or play "What If?"
by imputting new values, recalcu-
lating and displaying or printing
results.
Best of all, you can incorporate
PLANSO results Into any report
that requires a financial model
-using your word processor to cre-
ate professional results.
Anyone can use PLANSO to cre-
ate budgets, project sales or ana-
lyze costs - or even build a com-
plex system of interrelated plans.
PLANSO requires 56K RAM and
CP/M. Also available for CP/M-86.
Specify Z8C 8080/85, CDOS or
8O86. Formats: 8" single density
IBM soft-sectored, Cromemco
CDOS, 5'/4" NorthStar DD, Microp-
olis Mod II, Superbrain 3.O. Price is
$295. Manual alone - S30. Add
S7.00 for shipping and handling.
Dealer inquiries invited.
SOFW/4RE
SOFTWARE
DIGIML AMRKETING
DIGITAL /W4RKETING
2670 CHERRY LANE
WALNUT CREEK • CA 94596
(415) 938-28SO
traden id ■ irfol Research
Editorial
Smalltalk: A Language
for the 1980s
by Chris Morgan, Editor in Chief
Welcome to the fifth annual BYTE language issue. Over the past four years
we have devoted our August issues to discussions of APL, Pascal, LISP, and
FORTH, respectively. This year we are pleased to present the Smalltalk-80
language, the culmination of ten years of research by the Xerox Learning
Research Group located at the Xerox Palo Alto Research Center (PARC) in
California.
During the past few months the BYTE staff has been acquainting itself with
Smalltalk. I spent some time this spring working with the Smalltalk systems at
Xerox PARC and being briefed by Adele Goldberg and Dave Robson. I came
away excited by this revolutionary language. I hope the articles in this issue
convey some of that excitement.
Smalltalk is an object-oriented language, as opposed to procedure-oriented
languages such as BASIC, Pascal, and FORTRAN. Because of this, program-
ming in Smalltalk is similar to the process of human interaction. An analogy
might help to clarify this point. Suppose a person wishes to invest in a good
mutual fund. He sends a telegram to his broker. The broker analyzes the cur-
rent state of the market and picks what he considers to be the best mutual fund
for his client. That in a very small nutshell describes the basic activity inherent
in all Smalltalk programs: a message is sent to a receiver to invoke some
response. In our analogy, the telegram is the message and the broker is the
receiver. The telegram has two parts, called the selector and the argument.
Here the selector is "buy" and the argument is "best mutual fund." The broker
belongs to a class which contains the description of the method he uses to pick
the best mutual fund. Because of this, the client does not have to tell the broker
how to do his job.
Of course, my analogy skims only the thinnest surface of the deep waters of
the Smalltalk-80 system, as you'll see when you read the articles in this issue.
When I first worked at a Smalltalk-80 computer terminal, I noticed an
interesting phenomenon: I did very little typing, although a full keyboard was
available to me. This is because of the window menu format and the presence
of the "mouse," a small mechanical box with wheels that lets you quickly
move the cursor around the screen. (Stoney Ballard of Digital Equipment Cor-
poration, who has been doing research work lately with the Smalltalk-80
system, points out that he was able to do a significant amount of programming
with his experimental system over several weeks even though his keyboard
was not working.) Choosing a particular item in a list from a window causes
another window to appear on the screen. Additional levels of nested windows
can be accessed by continuing to reposition the cursor and pressing the
appropriate key on the mouse.
This makes for fast programming. Those who saw the remarkable
demonstration of the Xerox Star terminal (Xerox's new $16,000 office ter-
minal) at the National Computer Conference (NCC) this past spring got a taste
of what a programming environment can do for productivity.
Smalltalk allows the user to solve more problems without becoming a com-
puter expert. Larry Tesler from Apple (who wrote 'The Smalltalk Environ-
Smalltalk-80 is a trademark of Xerox Corporation.
August 1981 © BYTE Publications Inc
Percom Mini-Disk Drive Systems for TRS-80* Computers . .
Now! Add-On and Add-In Mini-Disk
Storage for your Model III.
New for the TRS-80* Model HI
Patterned after our fast-selling TFD Model I drives. And
subjected to the same reliability controls. These new
TFD mini-disk systems for the Model III provide more
features than Tandy drives, yet cost far less.
• Flippy Capability: Both internal (add-in) and
external (add-on) drives permit recording on either
side of a diskette.
• Greater Storage Capacity: Available with either 40-
or 80-track drive mechanisms, Percom TFD mini-disk
systems store more. A 40-track drive stores up to 180
Kbytes — formatted — on one side of a 5-inch
diskette. An 80-track drive stores a whopping 364
Kbytes.
• 1.5 Mbyte On-line: The Percom drive controller
(included with the initial drive) handles up to four
drives. With four 80-track mini-disk drives you can
access over 1.5 million bytes of on-line file data.
Moreover, the initial drive may be either an
internal add-in drive or an external add-on drive. And
whichever configuration you get, the initial drive kit
comes complete with our advanced 4-drive
controller, interconnecting cables, power supplies,
installation hardware, a DOS and of course the drive
mechanism itself.
• First Drive Includes DOS: OS-80™, Percom's fast
extendable BASIC-language disk operating system, is
included on diskette when you purchase an initial
drive kit. Originally called MicroDOS, OS-80 was
favorably reviewed in the June 1980 issue of Creative
Computing magazine.
• Works with Model III TRSDOS: Besides being fully
hardware compatible, Percom's Model III 40-track
drive systems may be operated with Tandy's Model III
TRSDOS — without any modifications whatsoever.
And, TRSDOS may be easily upgraded with simple
software patches for operating 80-track drives.
The industry leader in microcomputer peripherals,
Percom not only gives you better design, better
quality and first-rate service, but you pay less
to boor.
Still #1 for Model I
As if greater storage capacities, exceptional quality
control measures and lower prices aren't reasons
enough to make Percom your first choice for Model I
add-on drives, all Percom Model I drives are also rated
for double-density operation.
Add our innovative DOUBLER™ adapter to your
Model I Expansion Interface, and with Percom drive
systems you can enjoy the same double-density storage
capability as Model III owners.
The DOUBLER includes a TRSDOS*-like
double-density disk operating system called DBLDOS™
We also offer a double-density Model I version of
OS-80 as well as DOUBLEZAP programs for modifying
NEWDOS/80 and VTOS 4.0t for DOUBLER
compatibility.
Of course you don't have to upgrade your computer
for double-density operation to use Percom mini-disk
drive systems. In single-density operation, our TRS-80*
Model I compatible 40-track drives store 102 Kbytes of
formatted data on one side of a diskette, and our
80-track drives store 205 Kbytes. By comparison,
Tandy's standard drive for the Model I stores just 86
Kbytes.
And like our Model III drives, Model I add-on drives
are optionally available with "flippy" storage capability.
System Requirements:
Model III: 16-Kbyte system (min) and Model III BASIC.
The second internal drive may be installed after the first
internal drive kit is installed, and external drives #2, #3
and #4 may be added if either an internal or external
first-drive kit has been installed. External drives #3 and
#4 require an optional interconnecting cable.
Model I: 16-Kbyte system (min), Level II BASIC,
Expansion Interface, disk operating system and an
interconnecting cable. For double-density storage, a
Percom DOUBLER must be installed in the Expansion
Interface and DBLDOS (comes with the DOUBLER) or
other double-density DOS must be used. For
single-density operation, a Percom SEPARATOR™
adapter, installed in the Expansion Interface, will
virtually eliminate "CRC ERROR — TRACK LOCKED
OU 1 read errors. Prices and specifications subject to change without notice.
Percom TFD add-on drives start at only $399. Model
III Drive kits start at only $749.95.
Quality Percom products are available at
authorized dealers. Call toll free 1-800-527-1592
for the address of your nearest dealer or to order
direct from Percom.
PERCOM DATA COMPANY, INC.
211 N. KIHBY GARLAND, TEXAS 75042
(214) 272-3421
•Trademark of Tandy Radio Shack Corporation which has no relationship to Percom Data Company.
™DOUBLER. DBLDOS. OS-80 and SEPARATOR are trademarks of Percom Data Company, Inc.
tTrademark of Virtual Technology Corporation.
Circle 305 on inquiry card.
BYTE August 1981
FOR ANY €
THERE ISA 8*
WHnETONE MAINFRAME DEFINE
OUR WEll-DIFFERENTIATED
AREGUCuWED
SYSTEMS INTEGRATION
•
A simple algorithm
We work with the serious systems integrator ... on terms
that make sense to you. That means giving you a set of
products which expand your limits, not reduce them.
We manufacture the most complete family of high quality
IEEE/696 S-100 mainframes on the market. Choices in-
clude three mainframes in rack-mount or table-top pack-
ages with complete board sets, to serve as the building
blocks for your 8 or 1 6 bit system. We also provide other
options ranging from complete floppy disk systems right
up to our proven Pascal development system.
The S factor: one source.
No matter which option you choose, you get the benefit
of working with completely integrated products... fully
assembled and tested ... under one warranty and one
price structure ... leaving you free to concentrate on
value-added application development and sales.
Choose from mainframe options ...
Select from three packaging options: Rack-mount, table-
top or front panel models. All three feature our 20 slot
S-1 00 motherboard with 25 amp power supply and are
delivered fully assembled and tested with our Series II™
board sets. Any board configuration you choose works
with any DPS-1 version, allowing you to vary your pack-
age offering, or develop on one version and market
another.
♦ Front Panel model — a powerful development and
diagnostic tool for Z-80 f systems, which can be used for
prototyping, servicing, debugging, and software or
hardware development. Use its features to set break-
points, trigger scopes, single step, slow step and more.
♦ Front Panelless desk top model— a lower cost option for
OEM or other turnkey operations which do not require
the extra capability of our Front Panel.
♦ Rack Mount version — features a heavy gauge frame
designed to fit into standard 1 9" racks. CVT power supply
for brown out immunity is standard.
*ln Calculus, a fundamental statement in the definition of limit; interpreted
here to imply: "For your integration problem, Intersystems has a solution."
t Registered trademark of Zitog, Inc.
I
Board level options . . .
Intersystems mainframe packages,
equipped with Series II boards, are opera-
tional in both 8 and 16 bit settings and
support extended addressing in both I/O
and memory space, recognizing 16 bit
I/O addresses and 24 bit memory
addresses. Just look at
these individual
features;
flfiWfc
♦ MPU-80 — uses a Z-80, 8 vectored in-
terrupt lines and two 4K windows to ad-
dress up to 1 Megabyte of RAM without
bank select.
♦ 64KDR— sophisticated refresh circuitry
allows unlimited DMA and absolutely re-
liable operation without wait states.
♦ 6 Sl/O — six individually software-
controllable serial I/O ports with op-
tional interrupts. Each can runRS 232 at
up to 19,200 BAUD, as can our Vl/O
board.
♦ Vl/O — has two serial ports; two 8-bit
parallel output and two 8-bit parallel
input ports plus 8 individually controlla-
ble command lines and 1 6 levels of vec-
tored interrupts.
♦ FDC II— can DMA up to a full track into
16 Megabytes of memory. Optionally
generates interrupts and handles up to
four 8" floppies.
♦ MPU-8000 — available with the non-
segmented 1-8002*, which directly ad-
dresses 64K, or the segmented 2-8001*,
which can directly address 8 Megabytes.
Extended systems options . . .
Interfacing disk drives is not a trivial mat-
ter, so when your objectives and re-
sources dictate you spend your energy
elsewhere, use our resources to perform
the service for you. We can add our disk
drive package to any Z-80 or Z-8000 con-
figuration we provide . . . again, fully as-
sembled and tested and covered under
one warranty.
Or our complete
Pascal Development System.
We use it for our own hardware and
software development. It includes either
table-top mainframe, two 8"floppydisks,
128K RAM, CP/M*, and Intersystems
Pascal/Z™ compiler and Cache BIOS™.
THIS SYSTEM IS FAST! Why? Because
our ultra-fast Cache BIOS automatically
buffers whole tracks, eliminating most
disk accesses. This delivers up to three
times the throughput of any other
floppy-based system we know and is
equal to many small hard disk systems.
The system is versatile, too. SET program
allows you to change many BIOS
parameters and specify control charac-
ters to enable special features such as
diagnostic output to trace program execu-
tion. It can also provide remote I/O to
link your system to almost any
other computer,
large or small.
And it's reliable. The Cache BIOS System
runs continuous memory tests when idle,
and verifies with a Read after Write and
Read after Read.
And the system also includes our
Pascal/Z, a true native compiler pro-
ducing ROMable and Re-entrant code. It
features a minimum of extensions chosen
for the development of your scientific and
business applications. And it's compati-
ble with our native code Pascal for
Z-8000, providing a graceful upward
path to 16 bit applications. So what you
write now is right later.
One choice you won't have to make...
We don't believe you should ever have to
sacrifice good technical support to find a
good product. We'll back you to the hilt
with services like free technical consulta-
tion, board-swapping, diagnostic pack-
ages, and documentation that gives you
all you need to integrate, operate and
maintain your system ... right down to
schematics of the boards.
Your solution should be clear.
Whether you're integrating for scientific,
governmental or commercial applica-
tions, Intersystems can provide a Delta for
your Epsilon.
Talk to us today.
Ithaca Intersystems Inc.,
Dept. B
1650 Hanshaw Road,
P.O. Box 91
Ithaca, NY 14850
Phone
(607) 257-0190
DDitofestkHiDDsr
V^ Ithaca Intersystems Inc.
Micros for bigger ideas.
Circle 180 on Inquiry card.
#Registered trademark of Digital Research
'"Trademark of Ithaca intersystems, Inc.
Circle 158 on inquiry card.
High
Technology
We make our
competition
obsolete
with Information Master,™
Data Master,™ and Transit.™
Information Master is clearly the
best information management
software available for your Apple II *
and it's the easiest to use.
Here are two very useful
companions that add even more
power to Information Master.
• Data Master - Alter the file
layout of existing Information
Master files without re-entering
data. Add, omit, change fields,
subdivide and append files
selectively.
• Transit - Convert VisiCalc* files
(and almost any other files you
may have) into Information
Master files.
See your computer dealer today
for all the details.
* VisiCalc is a trademark of Personal Software Inc.
Apple II is a
trademark of
Apple
Computer
Inc.
High
Technology, Inc.
Software Products Division
P.O. Box B-14665
8001 N. Classen Blvd.
Oklahoma City, Okla. 73113
405 840-9900
•Apple II is a trade name ol
Apple Computer, Inc
Editorial,
ment" on page 90) spoke about the efficiency of the
language at the NCC. For example, suppose a user is run-
ning a complex program that churns away for nearly an
hour — then a bug appears in the output routine. All is not
lost. Since the Small talk-80 language is "modeless" (a
concept Tesler discusses in his article), the user can debug
the output routine and continue with the main routine
without having to start from the beginning. This is only
one of the advantages of the Smalltalk-80 system.
Where to Start
The order in which you read the Smalltalk-80 articles
in this issue makes a difference. The first stopping point
should be Adele Goldberg's article "Introducing the
Smalltalk-80 System" on page 14, in which she provides a
guided tour of the issue. I also recommend Dave
Robson's "Object-Oriented Software Systems" on page
74 as a good overview of the Smalltalk-80 philosophy.
The glossary on page 48 will be helpful as you begin to
absorb the rather extensive (and sometimes overwhelm-
ing) vocabulary used to describe the language. 1 found
that, once the terms become familiar, the concepts begin
to make elegant sense.
When Can I Buy It?
There are currently no personal computer implementa-
tions of the Smalltalk-80 language. Because of this, I'm
sure we'll be criticized by some for introducing the
language too early and frustrating our readers. Never-
theless, I feel that the time to begin exposing people to
object-oriented language is now. Only by challenging
and enticing the personal computer community can we
stimulate the industry to create the machines we all
dream of.
As far as future hardware hopes are concerned, it is
interesting to note that four of the speakers at the recent
NCC Smalltalk-80 symposium were from Digital Equip-
ment Corporation, Apple Computer Company,
Tektronix, and Hewlett-Packard. All four research repre-
sentatives were quick to point out that their companies
are not necessarily working on Smalltalk products, but
are rather exploring the language's potential. Despite the
disclaimers, though, I would be very surprised if we do
not see a computer with the Smalltalk-80 system built in
sometime in the next few years — perhaps sooner. I hope
this issue brings that dream closer. ■
Acknowledgments
/ wish to express my appreciation to Adele Goldberg and Dave Rob-
son at Xerox PARC for their invaluable help in preparing this special
issue— and especially to Adele for coordinating the many authors who
contributed their expertise. I'd also like to thank Gregg Williams for his
editorial skills in preparing this issue .... CM
10 August 1981 © BYTE Publications Inc
Circle 359 on inquiry card.
Make the Apple II* a powerful
IEEE -488 Controller In a snap.
Just plug the SSM A488 board into any Apple II* expansion slot for a low-cost,
full-featured instrumentation interface. SSM gives the Apple II the power and
versatility of a $9,000 IEEE-488 controller. At a fraction of the price.
Our board converts the Apple II into a truly sophisticated controller that
programs and controls up to 15 different instruments connected together
on the 488 bus.
We make programming easy. The 68488 chip, designed by Motorola, forms the
heart of our A488. We back this chip with powerful on-board firmware to
give you system control via simple string commands. The only software
you need is easy-to-program Applesoft* Basic. To develop special purpose
firmware, simply replace our PROM with a RAM. With the A488, bus com-
munications operate at top speed — without depending on software loops for
timing. And like the more expensive IEEE-488 controllers, this system interfaces
with more than 1200 instruments and peripherals.
Suitable for OEMs as well as end users. Whether you make test/measurement systems for re-
sale, or simply for yourself, the SSM/Apple combo gives you top performance. As it cuts
your costs. Call your local dealer or SSM today for complete details.
IEEE-488 bus cable
(6 ft. with stackable connectors)
Industrial grade circuit board
PROM firmware for powerful user interface
68488 IEEE-488 controller chip-
Slot-independent connection to Apple H-
SSM's A488 board expands the Apple II to
a high-performance IEEE-488 controller.
* Registered trademarks of Apple Computer Inc.
SSM Microcomputer Products, Inc.
2190 Paragon Drive
San Jose, CA 95131
(408)946-7400 Telex: 171171
TWX: 910-338-2077
Reddy Chirra improves his vision
with an Apple.
Reddy is an optical engineer who's
used to working for big companies and using
big mainframes.
But when he started his own consulting
business, he soon learned how costly main-
frame time can be. So he bought himself a
48K Apple II Personal Computer.
And, like thousands of other engineers
iy: v
&
,&.
T '"
■1
■ ■
and scientists, quickly learned the pleasures
of cutting down on shared time ^^ and hav-
ing his own tamper- proof data (r!T base.
His Apple can handle
formulas with up to 80 vari-
ables and test parameters on
250 different optical glasses.
He can even use BASIC,
FORTRAN, Pascal and Assembly languages.
And Apple's HI-RES graphics come in
handy for design.
Reddy looked at other microcomputers,
but chose Apple for its in-depth documenta-
tion, reliability and expandability.
You can get up to 64K RAM in an
Apple ILUp tol28KRAMinour new Apple III.
And there's a whole family of compatible
peripherals, including an IEEE-488 bus for
laboratory instrument control.
Visit your authorized Apple dealer to
find out how far an Apple can go with
scientific/technical applications.
It'll change the way you see things.
The personal computer. ■HCIPPKZ
for the dealer nearest you, call (800) 538-9696. In California, call (800) 662-9238. Or write: Apple Computer Inc., 10260 Bandley Dr., Cupertino, CA 95014.
Circle no. 22 for more information or Circle no. 416 for special OEM information
Introducing the Smalltalk-80 System
It is rare when one can
indulge in one's prejudices
with relative impunity,
poking a bit of good
humored fun to make a
point.
With this statement,
Carl Helmers
opened his remarks in the
"About the Cover" section
of the August 1978 issue of
BYTE. The issue was a
special on the language
Pascal, so Helmers took
the opportunity to present
Pascal's triangle as drawn
by artist Robert Tinney.
The primary allegory of
the cover was the inver-
sion of the Bermuda
Triangle myth to show
smooth waters within the
area labeled "Pascal's
Triangle." In explaining
the allegory, Helmers
guided the traveler
through the FORTRAN
Ocean, the BASIC Sea,
around the Isle of BAL, and up to the Land of Smalltalk.
Traveling upward (in the picture) through heavy seas
we come to the pinnacle, a snow white island rising like
an ivory tower out of the surrounding shark infested
waters. Here we find the fantastic kingdom of Smalltalk,
where great and magical things happen. But alas . . . the
craggy aloofness of the kingdom of Smalltalk keeps it out
of the mainstream of things.
It is rare when one can indulge in one's fantasies to re-
spond to so pointed a remark as that provided by the
then editor of
BYTE. This month's
cover design presents
Njust such an opportuni-
ty. It depicts the clouds
clearing from around
the kingdom of Smalltalk,
and, with banners stream-
ing, the Smalltalk system
is taking flight into the
mainstream of the com-
puter programming com-
munity. This cover was
also executed by Robert
Tinney, to the delight of
the Learning Research Group (LRG) of the Xerox Palo
Alto Research Center. LRG is the group that has de-
signed, implemented, and evaluated several generations
of Smalltalk over the past ten years.
The balloon on the cover symbolizes the Small talk-80
system that is being released this year for more general
access. The release is in the form of publications and a file
containing the Smalltalk-80 programming system.
Twelve articles describing the system appear in this issue
of BYTE. Through such publication, LRG's research will
become generally accessible, dispelling the clouds.
Smalltalk is the name LRG assigned to the software
14 August 1981 © BYTE Publications Inc
TRS-80* COMPUTING EDITION
©1981 Percom Data Co., Inc.
Ql\)t percom peripteral
35 cents
Percom's DOUBLER II™ tolerates wide variations in media, drives
GARLAND, TEXAS — May 22, 1981
Harold Mauch, president of Percom Data
Company, announced here today that an im-
proved version of the Company's innovative
DOUBLER' adapter, a double-density plug-in
module for TRS-80* Model I computers, is
now available.
Reflecting design refinements based on both
theoretical analyses and field testing, the
DOUBLER II , so named, permits even great-
er tolerance in variations among media and
drives than the previous design.
Like the original DOUBLER, the DOU-
BLER II plugs into the drive controller IC
socket of a TRS-80 Model I Expansion Inter-
face and permits a user to run either single- or
double-density diskettes on a Model I.
With a DOUBLER II installed, over four
times more formatted data — as much as 364
Kbytes — can be stored on one side of a five-
inch diskette than can be stored using a stan-
dard Tandy Model I drive system.
Moreover, a DOUBLER II equips a Model I
with the hardware required to run Model III
diskettes.
(Ed. Note: See "OSSO*: Bridging the TRS-
80' software compatibility gap" elsewhere on
this page.)
The critical clock-data separation circuitry
of the DOUBLER II is a proprietary design
called a ROM-programmed digital phase-lock
loop data separator.
According to Mauch, this design is more
tolerant of differences from diskette to diskette
and drive to drive, and also provides immunity
to performance degradation caused by circuit
component aging.
Owners of original DOUBLERs may pur-
chase a DOUBLER II upgrade kit, without the
disk controller IC, for $30.00. Proof of put-
chase of an original DOUBLER is required,
and each DOUBLER owner may purchase only
one DOUBLER II at the $30.00 price.
The Percom DOUBLER II is available from
authorized Percom retailers, or may be ordered
direct from the factory. The factory toll-free
order number is 1-800-527-1592.
Ed. note: Opening the TRS-80 Expansion In-
terface may void the Tandy limited 90-day
warranty. Circle 306 on inquiry card.
Percom DOUBtER
Mauch said "A DOUBLER II will operate
just as reliably two years after it is installed as it
will two days after installation."
The digital phase-lock loop also eliminates
the need for trimmer adjustments typical of
analog phase-lock loop circuits.
"You plug in a Percom DOUBLER II and
then forget it," he said.
The DOUBLER II also features a refined
Write Precompensation circuit that more
effectively minimizes the phenomena of bit-
and peak-shifting, a reliability-impairing char-
acteristic of magnetic data recording.
The DOUBLER II, which is fully software
compatible with the previous DOUBLER, is
supplied with DBLDOS", a TRSDOS"-
compatible disk operating system.
The DOUBLER II sells for $ZJ>^5, includ-
ing the DBLDOS diskette
e H*w*lH
**l
Circuit misapplication causes diskette read, format problems.
High resolution key to reliable data separation
GARLAND, TEXAS — The Percom
SEPARATOR" does very well for the Radio
Shack TRS-80' Model I computer what the
Tandy disk controller does poorly at best: reli-
ably separates clock and data signals during
disk-read operations.
Unreliable data-clock separation causes for-
mat verification failures and repeated read
retries.
CRC ERROR -TRACK LOCKED OUT
The problem is most severe on high-number
(high-density) inner file tracks.
As reported earlier, the clock-data separa-
tion problem was traced by Percom to misap-
plication of the internal separator of the 1771
drive controller IC used in the Model 1.
The Percom Separator substitutes a high-
resolutitm digital data separator circuit, one
which operates at 16 megahertz, for the low-
resolution one-megahertz circuit of the Tandy
design.
Separator circuits that operate at lower
frequencies — for example, two- or four-
megahertz — were found by Percom to provide
only marginally improved performance over
the original Tandy circuit.
The' Percom solution is a simple adapter that
plugs into the drive controller of the Expansion
Interface (EI).
Not a kit — some vendors supply an un-
tested separator kit of resistors, ICs and other
paraphernalia that may be installed by mod-
ifying the computer — the Percom
SEPARATOR is a fully assembled, fully tested
plug-in module.
Installation involves merely plugging the
SEPARATOR into the Model I El disk con-
troller chip socket, and plugging the controller
chip into a socket on the SEPARATOR.
The SEPARATOR, which sells for only
$29.95, may be purchased from authorized Per-
com retailers or ordered directly from the fac-
tory. The factory toll-free order number is
1-800-527-1592.
Ed. note: Opening the TRS-80 Expansion In-
terface may void the Tandy limited 90-day
warranty. Circle 307 on Inquiry card.
All that glitters is not gold
OS-80™ Bridging the TRS-80*
software compatibility gap
Compatibility between TRS-80" Model I diskettes and
the new Model III is about as genuine as a gold-plated lead
Krugerrand.
True, Model ! TRSDOS ' diskettes can be read on a Model
111. But first they must lie converted and re-recorded lor
Model III operation.
And you cannot write to a Model I TRSDOS'diskettc.
Not with a Model III. You cannot add a file. Delete a file. Or
in any way modify a Mode] I TRSDOS diskette with a Mode!
Ill computer.
Futthetmore, yout converted TRSDOS diskettes cannot
be converted buck fot Model I operation.
TRSDOS is a one-way street. And there's no retreating,
A point to consider before switching the company's payroll
to your new Model III.
Real software compatibility should allow the direa, im-
mediate interchangeability of Model 1 and Model III disket-
tes. No read-only limitations, no conversion/rc-recording
steps and no chance to be left high and dty with Model 111
diskettes that can't be run on a Model 1.
What's the answer? The answer is Percom's OS-80 3 *
family of TRS-80 disk operating systems.
OS-80 programs allow direct, immediate interchangeability
of Model I and Model III diskettes.
You can run Model I single-density diskettes on a Model
111; install Percom's plug-in DOUBLER® adaptet in yout
Model !, and you can run double-density Model III diskettes
on a Model I.
There's no conversion, no re-recording.
Slip an OS-80 diskette out of your Model I and insert it
directly in a Model III.
And vice-versa.
Just have the correct OS-80 disk operating system —
OS-80, OS-80D or OS-80/I1I — in each computer.
Moreover, with OS-80 systems, you can add, delete, and
update files. You can read and lerire diskettes regardless ol the
system of origin.
OS-80 is the original Percom TRS-80 DOS for BASIC
programmers.
Even OS-80 utilities are written in BASIC.
OS-80 is the Percom system about which a user wrote, in
Creative Computing magazine, ". . . the best $30.00 you
will ever spend. "t
Requiring only seven Kbytes of memory, OS-80 disk oper-
ating systems reside Completely in RAM. There's no need to
dedicate a drive exclusively tor a system diskette.
And, unlike TRSDOS, you can work at the track sector
level, defining and controlling data formats — in BASIC —
to create simple or complex «feta structures that execute
more quickly than TRSDOS files.
The Percom OS-80 DOS supports single-density opera-
tion of the Model I computer — price is $29. 95; the OS-30D
supports double-density opetation of Model I computers
equipped with a DOUBLER or DOUBLER II; and, OS-80/
III — for the Model 111 of course — supports both single- and
double-density operation. OS-80D and OS-80/11I each
sell for $49.95.
PRICES ANDSPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE.
PRICES DO NOT INCLUDE HANDLING AND SHIPPING.
PERCOM DATA COMPANY, IMC. 211 M. Kirby Street Garland, Texas 75042 (214) 272-3421
Trademark of Percom Dara Company, Inc. 'TRS-80 and TRSDOS are trademarks of Tandy Corporation which has no relationship to Percom Data Company. +Creative Computing Magazine, June. 1 980, page 26.
TWELVE STRONG
HEATH/ZENITH YOUR
Pick a strong partner
A computer purchase is the beginning of a long term
partnership between you and the people you buy from.
Your ongoing need for software and accessories re-
quires a partner who will stand by you with a growing
line of products. And nowhere will you find a more com-
plete line of hardware, software and accessories than
at your Heathkit Electronic Center. Here are twelve
strong reasons to make Heath/Zenith your partner.
1. The All-ln-One Computer
The heart of the Heath/Zenith line is the stand-alone
89 Computer. It's a complete system with built-in 5 1 /4-inch
floppy disk drive, professional keyboard and keypad,
smart video terminal, two Z80 microprocessors, and
two RS-232C serial I/O ports. It comes with 16K RAM,
expandable to 64K.
2. Peripherals
These include the popular Heath /Zenith
19 Smart Video Terminal, loaded with
professional features. And the 14 Line
Printer, priced as low as $495. Other
printer brands are on display,
including high-
speed, typewriter-^^
quality printers. .^^
3. Software
Word processing, includes reliable, easy-to-use
Zenith ElectronicTyping and powerful, full-featured
WORDSTAR.
Small Business Programs, feature General Ledger and
Inventory Control.
HUG, Heath Users' Group, offers members a library of
over 500 low-cost programs for home, work or play.
4. Programming Languages
For your own custom programs,
Microsoft languages are
available in BASIC (compiler
and interpreter), FORTRAN
and COBOL.
5. Operating Systems
Three versatile systems give you the capability to per-
form your specific tasks.
CPIM by Digital Research makes your system com-
patible with thousands of popular CP/M programs.
UCSD P-System with Pascal is a complete program
development and execution environment.
HDOS, Heath Disk Operating System gives you a
sophisticated, flexible environment for program
construction, storage and editing.
6. Utility Software
Expand the performance range of your computer with
a broad selection of utility tools, including the best of
Digital Research and the complete line of innovative
Softstuff products.
7. Disk Systems
The 8-inch Heath /Zenith 47
Dual Disk System adds over 2
megabytes of storage to your
89 Computer. Diskettes are
standard IBM 3740 format, double-sided,
I-~iilTTi ; il douDie " densit y-
The 5V4-inch 87 Dual Disk System adds
200K bytes of storage to your 89. Both
disk systems feature read/write protec-
^^^ tion and easy plug-in adaptability.
8. Self-Study Courses
Learn at your own pace
with Programming
Courses that teach you
to write and run your own
programs in Assembly,
BASIC, Pascal or
COBOL.
A course on Computer Concepts
for Small Business gives you
the understanding to eval-
uate the ways a computer
can benefit your business.
Personal Computing is a
complete introduction to
the fundamentals for the
novice. Every Heathkit/
Zenith course is pro-
fessionally designed
for easy, step-by-
step learning.
All Heath /Zenith
Computer Products
are available completely
assembled and tested for
commercial use. Or in easy-
to-build, money-saving kits
REASONS TO MAKE
COMPUTER PARTNER
9. Expansion Options
Communicate with the outside world through a Three-
port EIA RS-232C Serial Interface.
Expand RAM to 64K with easy-to-install expansion
chips.
Accessories
Your Heathkit Electronic Center has the
latest in modems, black-and-white and
color video monitors, computer furniture
and a full line of supplies, accessories, books
and parts.
11. Service
No one stands by you like Heath/Zenith
We help you get your system up and
running smoothly. Service is avail-
able from trained technicians,
over the phone or at one of 56
Heathkit Electronic Centers.
12. Value
Your money buys you more because
Heath/Zenith prices are among the industry's most
competitive. Make your own comparison and find out
how much you can save.
Complete, integrated computer hardware and soft-
ware, designed to serve you and to grow with you
- that's what to look for in a strong partner. And
with Heath/Zenith you get it all under
one roof.
All at your
Heathkit Electronic
Center
Pick the store nearest you
from the list at right. And
stop in today for a demon-
stration of the Heath/Zenith
89 Computer System. If you
can't get to a store, send
$1.00 for the latest Heathkit®
Catalog and the new Zenith
Data Systems Catalog of
assembled commercial
computers. Write to
Heath Co., Dept. 334-804,
Benton Harbor, Ml 49022.
Visit Your Heathkit Electronic Center*
where Heath /Zenith Products are displayed, sold and serviced.
PHOENIX, AZ
2727 W. Indian School Rd.
602-279-6247
ANAHEIM, CA
330 E. Ball Rd.
714-776-9420
CAMPBELL, CA
2350 S. BascomAve.
408-377-8920
ELCERRIT0.CA
6000 Potrero Ave.
415-236-8870
LA MESA, CA
8363 Center Dr.
714-461-0110
LOS ANGELES, CA
2309 S. Flower St.
213-749-0261
POMONA, CA
1555 N.Orange Grove Ave.
714-623-3543
REDWOOD CITY, CA
2001 Middlefield Rd.
415-365-8155
SACRAMENTO, CA
1860 Fulton Ave.
916-486-1575
WOODLAND HILLS, CA
22504 Ventura Blvd.
213-883-0531
DENVER, CO
5940 W. 38th Ave.
303-422-3408
AV0N.CT
395 W. Main St, (Rt. 44)
203-678-0323
HIALEAH, FL
4705 W. 16th Ave.
305-823-2280
PLANTATION, FL
7173 W.Broward Blvd.
305-791-7300
TAMPA, FL
4019 W. Hillsborough Ave.
813-886-2541
ATLANTA, GA
5285RoswellRd.
404-252-4341
CHICAGO.IL
3462-66 W. Devon Ave.
312-583-3920
DOWNERSGROVE.IL
224 0gdenAve.
312-852-1304
INDIANAPOLIS, IN
2112 E. 62nd St.
317-257-4321
MISSION, KS
5960 Lamar Ave.
913-362-4486
LOUISVILLE, KY
12401 ShelbyvilleRd.
502-245-7811
KENNER.LA
1900 Veterans
Memorial Hwy.
504-467-6321
BALTIMORE, MD
1713 E. Joppa Rd.
301-661-4446
R0CKVILLE.MD
5542 Nicholson Lane
301-881-5420
PEABOOY, MA
242AndoverSt.
617-531-9330
WELLESLEY, MA
165 WorcesterAve.
617-237-1510
DETROIT, Ml
18645 W. Eight Mile Rd.
313-535-6480
E. DETROIT, Ml
18149 E. Eight Mile Rd.
313-772-0416
HOPKINS, MN
101 Shady Oak Rd.
612-938-6371
ST. PAUL, MN
1645 White Bear Ave.
612-778-1211
BRIDGETON.MO
3794McKelveyRd.
314-291-1850
OMAHA, NE
9207 Maple St.
402-391-2071
ASBURYPARK.NJ
1013 State Hwy. 35
201-775-1231
FAIR LAWN, NJ
35-07 Broadway (Rt. 4)
201-791-6935
AMHERST, NY
3476 Sheridan Dr.
716-835-3090
JERICHO, L.I. NY
15 Jericho Turnpike
516-334-8181
ROCHESTER, NY
937 Jefferson Rd.
716-424-2560
N.WHITE PLAINS, NY
7 Reservoir Rd.
914-761-7690
CLEVELAND, OH
28100 Chagrin Blvd.
216-292-7553
COLUMBUS, OH
2500 Morse Rd.
614-475-7200
TOLEDO, OH
48 S. Byrne Rd.
419-537-1887
WOODLAWN.OH
10133 Springfield Pike
513-771-8850
OKLAHOMA CITY, OK
2727 Northwest
Expressway
405-848-7593
FRAZER, PA
630 Lancaster Pike
(Rt. 30)
215-647-5555
PHILADELPHIA, PA
6318 Roosevelt Blvd.
215-288-0180
PITTSBURGH, PA
3482 Wm.Penn Hwy.
412-824-3564
WARWICK, Rl
558 Greenwich Ave.
401-738-5150
DALLAS, TX
2715 Ross Ave.
214-826-4053
HOUSTON, TX
1704 W. Loop N.
713-869-5263
SAN ANTONIO, TX
7111 Blanco Road
512-341-8876
MIDVALE.UT
58 East 7200 South
801-566-4626
ALEXANDRIA, VA
6201 Richmond Hwy.
703-765-5515
VIRGINIA BEACH, VA
1055 Independence Blvd.
804-460-0997
SEATTLE, WA
505 8th Ave. N.
206-682-2172
TUKWILA.WA
15439 53rd Ave. S.
206-246-5358
MILWAUKEE, Wl
5215 W. Fond du Lac
414-873-8250
•Units of Vehtechnology
Electronics Corporation in
the U.S.
Prices and specifications subject to change without notice.
HEATH/ZENITH
Your strong partner
Figure 1
Figure 2
part of Alan Kay's personal computing vision, the Dyna-
book. The vision is a hand-held, high-performance com-
puter with a high-resolution display, input and output
devices supporting visual and audio communication
paths, and network connections to shared information
resources. LRG's goal is to support an individual's ability
to use the Dynabook creatively. This requires an
understanding of the interactions among language,
knowledge, and communication. To this end, LRG does
research on the design and implementation of program-
ming languages, programming systems, data bases, vir-
tual memories, and user interfaces.
The ivory tower on the island of Smalltalk is an excit-
ing, creative place in which to work on these ideas. A
sense of LRG's long-range goals is aptly portrayed in the
illustrations designed by Ted Kaehler.
In figure 1, we see a view of the conventional software
development environment: a wizard sitting on his own
computational cloud creating his notion of a Taj Mahal
in which programmers can indulge in building applica-
tions for nonprogramming users. The Taj Mahal repre-
sents a complete programming environment, which in-
cludes the tools for developing programs as well as the
language in which the programs are written. The users
must walk whatever bridge the programmer builds.
A goal in the design of the Smalltalk system was to
create the Taj Mahal so that programmers can modify it
by building application kits, which are specialized exten-
18 August 1981 © BYTE Publications Inc
Three cards in one! The Mountain Computer CPS MultiFunction Card provides all the capabilities of a serial Interface, parallel
output interface and real-time clock/calendar— all on one card— occupying only one slot in your Apple II®. Serial and Parallel
output may be used simultaneously from CPS. CPS is configured from a set-up program on diskette which sets the parameters
(such as baud rate, etc.) for all functions contained on the card and is stored in CMOS; RAM on the card. Once you have
configured your card, you need never set it up again. You may also change parameters from the keyboard with control
commands. All function set-ups stored on-board are battery powered for up to two years. "Phantom slot" capability permits
assigning each of the functions of CPS to different slots in your Apple without the card actually being in those slots! For
example, insert CPS in slot #4 and set it up so that is simulates a parallel interface in slot #1 and a clock in slot #7 and leave the
serial port assigned to slot #4. CPS's on-board intelligence lets it function in a wide variety of configurations, thereby providing
software compatibility with most existing programs. "We've put it all together for you" — for these reasons and many more!
Drop by your Apple dealer and see for yourself how our CPS MultiFunction Card can expand the capabilities of your Apple and
save you a great deal of money as well!
great dea
......
Calendar/Clock
One second to 99 years
Battery backed-up 1 2 years)
Two AA standard alkaline batteries
for back-up i provided)
Compatible with MCI Apple
Clock'" time access programs
K Mountain C
I N CORPOR
Parallel Output
» Features auto-line feed, Apple
tabbing, line length, delay after
carriage return, lower to upper
case conversion
Centronics standard—
reconfigurable to other standar
300 El Pueblo Scotts
1 408 1 438-6650 TWX
Circle 255 on inquiry card
'"Apple Clock was the trademark of Mountain Comput
Serial Interface
Features auto-line feed, trans-
parent terminal mode, Apple
tabbing, line length, delay after
carriage return, local echo of
output characters, simultaneous
serial/parallel output, lower to
upper case conversion, discarding
of extraneous LFs from serial input
Uses the powerful 2651 serial
PCI chip
16 selectable internal baud rates
50to19.2Kbaud
Half/Full duplex terminal operatior
I/O interface conforms to RS-232C
Asynchronous/Synchronous
operation
rademarks of Apple Computer Inc
Circle 45 on inquiry card.
Figure 3
sions and/or subsets of the system whose parts can be
used by a nonprogrammer to build a customized version
of the application. Applications that can be created from
a kit are related in a fundamental way: the programmer
may, for example, create it for building bridges, but it is
the user who pieces together the parts to create a cus-
tomized bridge (see figure 2).
One of LRG's current research goals is to provide sys-
tem parts to aid the programmer in creating kits. Al-
though Smalltalk itself is conceptually sufficient for this
task, it needs better support to help the programmer piece
together the graphical display and the control for an in-
teractive user interface. This is the "kit maker," as shown
in figure 3.
20 August 1981 © BYTE Publications Inc
Sy»t«m 200
IUMJ
CCS. MAKING MINIS OUT OF MICROS.
Here's the CCS line of board-level
computers for system builders on the
move. Push in the CCS board. And
push on with your application. CCS
board-level systems go together
easily, come up quickly, and run
reliably, with a proven return rate of
less than 1%.
CCS board-level computers
offer systems builders the optimal
combination of low development
cost, low manufacturing cost, and
high reliability from proven, tested
modules.
A headstart on reliability. CCS
modules are designed to industrial
performance standards, manufac-
tured to industrial quality standards,
fully burned in and tested. You spend
more time and energy on your
application when you rely on CCS
modules instead of reinventing (and
rebuilding) standard computer
functions.
A full selection of S-100 board-
level computers. Whether you want
to add capability to another S-100
based system, or build a system from
scratch, chances are you'll find solu-
Circle 46 on inquiry card.
,.__
dules
ules.
Static RAM Memory Mod
Dynamic RAM Memory Mo
^H
Serial and Parallel I/O Mod
^^■W^ffiffWSPfPJfjff
Hard Disk Contro.ler.
.
'••■!!■••♦
* Available Quarter 2. 1981.
♦ For use with CCS System Models 200, 300, t
ons for all your system needs in the
CCS product line. CCS manufactures
a comprehensive selection, so you
can tailor a system to your needs with
a minimum of components. You buy
exactly what you need. But you can
easily expand later.
We'd like to tell you more about
the CCS line of board-level com-
puters, OEM systems, and computer
systems. There's a lot more to tell.
Send in the coupon for more
information, contact your local
computer dealer, or call.
| O Please have a sales representative
call me. I
O Please send more information on
CCS Board-Level Computer
Modules.
Name .
Company
Address
City/State/Zip .
Phone (
I
'5
1 I
California Computer Systems)
250 Caribbean Drive
Sunnyvale, California 94086 I
(408)734-58111
Circle 260 on inquiry card.
DATA CORPORATION
TAKE A STEP
TOWARD TOMORROW
At MSI our small company environment en-
courages big ideas. If you've been thinking about
a high technology career in micro-computers that
offers high visibility , then why not think about
MSI, the leader in Hand-Held Source Data Entry
Systems. For Software Professionals, the follow-
ing positions are now available.
PROJECT GROUP LEADERS
Needed to direct a small team of technical profes-
sionals in:
High Level Languages
Background in HLL, i.e., PASCAL, ALGOL, etc.,
needed for development of Automatic Program
Generator Systems using BASIC compiler and
other languages. Assembly language required.
Operating Systems
Assembly language and/or interpreter experience
required. Hardware interface experience
desirable. Must have strong documentation and
design skills. Knowledge of FORTH and PASCAL
preferred.
SENIOR ENGINEERING PROGRAMMERS
Test and Integration
Background in test planning and evaluation. Will
be responsible for forming new group of
specialists to develop test programs, implement
test procedures and integrate software products.
Communications Development
Requires extensive experience in systems and
programming. Knowledge of BSC protocols
desirable and Hardware interface background in
assembly language required. Familiarity with
FORTH or PASCAL preferred.
Operating Systems Development
Senior and Intermediate Engineering Program-
mers. Assembly language programming ex-
perience on micro and mini-computers needed to
create application solution systems for our new
Route Accounting, Program Management Group.
Experience in HIGH LEVEL LANGUAGE and
FORTH would be a plus.
SOFTWARE TECHNICAL WRITER
Responsible for development and design of soft-
ware documentation manuals, including writing
maintenance documents, operating instructions
and design specifications. Degree plus 3 years'
software documentation experience in Assembly
and HIGH LEVEL LANGUAGE. Background in
FORTH would be a plus.
We offer a complete benefits portfolio including
paid medical, dental and life insurance, 100% tui-
tion reimbursement, and retirement benefits.
Please contact or call collect:
Joan Ramstedt
MSI Data Corporation
340 Fischer Avenue, Costa Mesa, CA 92626
(714) 549-6125
An Equal Opportunity Employer M/F/H
■HKtt
As part of the Dynabook vision, the system should
help the programmer build a personal computational
cloud (see figure 4). Two research projects, ThingLab by
Alan Borning and PIE by Ira Goldstein and Danny
Bobrow, took advantage of Smalltalk's support for creat-
ing new metaphors.
We are often asked: "What makes Smalltalk different
from other languages?" The articles in this issue attempt
to answer that question. Look for an emphasis on interac-
tive graphics, on modular development of programs, and
on integrated approaches to accessing program develop-
ment tools. Also, look for the distinction between a pro-
gramming language and a programming system, and con-
sider the difference in providing a system in which the
user can feel individual mastery over complexity. Al-
though each article can be read independently of the
Text continued on page 26
22 August 1981 © BYTE Publications Inc
Hake a look at our EPROW blaster
for your Apple" or TRS-80;
Apparat announces the most
versatile EPROM burner available
today for your TRS-80 model I and
III or Apple computer . . . the
Apparat PROM Blasting system
(A.P.B.). Most EPROM burners will
program only one type of EPROM.
The A.P.B. system will program all
commonly used 24 pin EPROMs by
using special personality modules
that adapt the unit to the EPROM.
The following EPROMs are
programmable: 2704, 2708, 2716,
(3-volt) & (5-volt), 2732, 2508, 2516
and 2532.
The versatility and power of the
A.P.B. system means you're getting a
PROM burning package with
extensive capabilities. The price,
$149.00, insures you're getting the
most cost-effective PROM burner on
the market today.
With a unique combination of
personality modules and
sophisticated software, A.P.B.
will perform many operations
impossible with conventional
PROM burners. Here's a brief
list of some of A.P.B. 's capabilities:
• Verify ROM is erased
• Read ROM
• Copy ROM
• Copy between different ROM types
■ Program ROM
• Partial programming and copies
• Verify programming
• Read or save ROM data on disk or
cassette (Apple only)
• Program directly from computer
memory
• Examine and/or modify working
memory
• Preset working memory
The A.P.B. system is the most
flexible PROM burner available. The
A.P.B. system package consists of an
interface card that plugs directly into
an expansion slot*, a complete set
of personality modules, software on
disk and a detailed instruction
manual. The software will run under
PiEWDOS/80, or TRSDOS™ for the
TRS-80, and APPLE DOS™ or APEX
for the Apple.
If you're looking for a powerful,
versatile and cost efficient EPROM
burner, call APPARAT today. Dealer
inquiries welcome.
(303) 741-1778
*TRS-80 version requires the TRS-80 bus
extender (Cat. # 1-025) or a separate
user provided power supply and cable.
TRS-80, and Apple are trademarks of Tandy Corp.
and Apple Computer.
Apparat, Inc.
440 1 So. Tamarac Parkway, Denver, CO 80237 (303) 74 1 - 1 778
T>N GOING SUPPORT FOR MICROCOMPUTERS'
Circle 21 on Inquiry card.
— H
Figure 5
24 August 1981 © BYTE Publications Inc
Circle 231 on inquiry card.
B&
MICRO-SCI SQUEEZES
MOKE OUT OF YOUR COMT
NOT YOUR POCKET
If you own an Apple II* or plan
to buy one, consider this:
The Disk II* subsystem made
for your Apple II provides only 35
tracks of storage. But Micro-Sci
subsystems made for your Apple II
provide up to 70 tracks, without
reduced versatility or compatibility.
MORE CAPACITY
FOR LESS MONEY
Our A40 system features 40
COMPATIBILITY TO SPARE
Micro-Sci has achieved this
extra storage while maintaining
compatibility with your existing
Apple formated diskettes.
Our subsystems operate with;:
DOS 3.2 and 3.3, Pascal, and the
Z80 SoftCard.
VERSATILITY PLUS
byte capacity of Disk II.
With either Micro-Sci system, you
pay a lot less per byte. And with
the A40, you could even end up
paying considerably less per drive.
A70's or one of each.
Single or dual A40 drive sub-
systems give you more capacity
(20,000 to 40,000 bytes) than
Disk II drives, for less money.
fj-sa
Micro-Sci's A40/A70 subsystem '
combines the diskette: level com- , !
patibility and interchangeability of |
the A40 with the superior storage
capacity of the A70,
Dual A70's provide over half- :'|
a-megabyte of storage, at 5Vi"
floppy prices! •
No matter which Micro-Sci
more money in your pocket.
mation and the name of your
nearest Micro-Sci Dealer.
•■"Disk H"'ls a registered trademark of Apple Computer. Inc..
Cupertino, Cfl 1
■"SoftCard Is a registered trademark of Micro- Soft Consumer*
Products.
MICRO-SCI
17742 Irvine Boulevard, Suite 205, Tustin, California 92680 / Phone: 714/731-9461 /Telex: 910-346-6739,
MICRO- SCI IS A DIVISION OF STANDUN CONTROLS. INC.
Text continued from page 22:
others, knowledge of the Smalltalk-80 system and its de-
sign philosophy is a prerequisite to understanding many
of them. The map in figure 5 is presented to help the
reader find a course through this hitherto uncharted
ivory tower.
You can begin at the drawbridge by reading Dave Rob-
son's introduction to object-oriented programming (page
74) and then proceed by reading the description of the
Smalltalk-80 language (page 36). The two examples of
programming in Smalltalk-80 are likely next steps: one,
by Jim Althoff, tells you how to build data structures
(page 230); the other, by Peter Deutsch, describes how to
build control structures (page 322). Or, you can follow a
hallway to the user interface window and read Larry
Tesler's description of the Smalltalk programming envir-
onment (page 90). Trygve Reenskaug offers further per-
spectives on providing a programming interface to a
Smalltalk system (page 147).
At any time, you can take the side stairs to read Dan
Ingalls' presentation of the design principles behind
Smalltalk (page 286). Those readers who are interested in
implementation details can head for the cellar and read
Glenn Krasner's article on the Smalltalk virtual machine
(page 300), or Ted Kaehler's article on a Smalltalk virtual
memory (page 378).
The walls of the tower are covered with visual images
that will please any graphics enthusiast. Many were
created by the ToolBox painting component of Smalltalk,
as described in Bill Bowman and Bob Flegal's article (page
369). Greater detail about the Smalltalk graphics kernel is
provided by Dan Ingalls (page 168).
Ivory towers are often associated with educational
enterprises. So it is not surprising that field studies of the
various versions of Smalltalk have been carried out most-
ly in educational settings; elementary, junior, and senior
high school students as well as university students have
helped us test our ideas. Joan Ross and I provide some of
the history in an article exploring whether the Small-
talk-80 system is for children (page 348).
Many people have helped to build our ivory tower, to
surround it with protective clouds, and then to blow
some of the clouds away. All the people, past and pre-
sent, of the Xerox Palo Alto Research Center contributed
a brick or two. George Pake, vice president of Corporate
Research, assembled the bricklayers. We especially
herald the person who is responsible for laying the foun-
dation, Alan Kay, and current members of LRG not
named as article scribes: Peggy Asprey, Alan Borning,
Laura Gould, Bruce Horn, Neil Jacobstein, Kim McCall,
Diana Merry, Steve Putz, and Steve Weyer. Special
thanks to Bert Sutherland who did the "preflight
check. "■
BARCODE FOR YOUR
SMALL COMPUTER.
/// '/■
//// ////
' / •■/ •-//
'/WW/////!,
7///W//M '■
'//////////
wma
wm/t/m
'WW/f,
WW////
mm
'W/i
m
«Si#
New in-depth report tells
you how-at savings
of up to $40,000
"Contemporary Applications of Optical
Bar Code Technology" is a new, compre-
hensive report from North American
Technology that can save you thousands
of dollars in research and development
time when programming and equipping
your small computer for bar code.
Written by the originators of Byte
Magazine's experiments with publication
of software in printed form, Walter Banks
and Carl Helmers, this report is the only
complete presentation of materials on
keyless data entry using modern bar code
technology. It will enable you to:
• Read HP-41C calculator formats into
your Apple, or other suitable computer.
• Prepare and deliver machine
readable printed software to your
customers.
• Read a UPC code into your personal
computer.
• Print Code 39 manufacturing inven-
tory tags with your formed character
or dot matrix printer.
Here, in clear, concise, understandable
language is all you need to know about
bar code history, software engineering
requirements, complete machine inde-
pendent Pascal software in source lis-
ting and machine-readable bar code
forms. There is also description of soft-
ware to generate and read all major
formats from Code 39 to HP-41C, and
UPC to the new NATI text software pub-
lication format You get information you
can use to program your small computer
for bar code without detail processing by
a human operator. This method speeds
the operation, eliminates translation and
entry errors and, where desirable, permits
the use of unskilled personnel for the
entry function. You save thousands of
dollars as a result The $500 purchase
price of the report includes license for
the commercial modification and use of
all software contained therein.
For detailed information, send for our
brochure. There is no cost or obligation.
Mail the coupon today.
in
1«*
Q>
NORTH AMERICAN
TECHNOLOGY, INC.
Strand Building
174 Concord St..
Peterborough, NH 03458
(603) 924-6048
Please send me your FREE brochure on
"Contemporary Applications of Optical Bar
Code Technology."
NAME
ADDRESS
CITY
STATE
ZIP-
26 August 1981 © BYTE Publications Ire
Circle 407 on Inquiry card.
ietting "STATIC" from our competition? . . if so, you're paying too much!
Try Ours
*179
64K Static $895
assembled
16K Static $179
assembled
tie* "
«^
• STATIC RAMS • FULLY ASSEMBLED • FULLY TESTED • BURNED-IN • FULLY SOCKETED • INCREDIBLE VERSATILITY • BANK SELECTABLE
• EXTENDED ADDRESSING • DELIVERY FROM STOCK • SAVE HUNDREDS OF DOLLARS • INTRODUCTORY PRICE - ORDER TODAY
The Memory Merchant Story
Why hasn't memory come down in price like it should? Here's
what is being done tor you.
High Performance and Low Price 16K Static Board
You want the most cost-effective, high performance memory
boards that technology will allow. With that in mind we commis-
sioned one of the top memory designers in the country. We told him
to design the board with the user in mind. It had to sell for less than
$200. It had to run cool and have low-power consumption. It had to
have both extended addressing capabilities and bank seleci
capabilities at no additional cost. You had to be able to de-select IK
blocks so the memory could accommodate memory-mapped video
displays or controller cards. The board had to be fast so a user could
run his processor at full speed. Finally, the board had to be reliable
and easy to install. He came up with all this and more. Here's a high
16K Ram, Model MM16K14 Specifications:
• Four independent 4KX8 byte segments
• One 4K segment equipped with IK windows
• Compatible with both existing bank select type
hardware and IEEE 696/S100 extended address protocol
• Operation guaranteed to 4 MHz with Z-80 and to
5 MHz with 8085 processors
• Low power consumption, typically 1.3 amps
• Uses low power 300 ns 2114 (IK X 4)
64K Ram, Model MM65K16S Specifications:
• Operation guaranteed to 8 MHz
• Compatible with both existing bank select type
hardware and IEEE 696 extended address protocol
• Fully loaded board (64K) draws 400ma. while max.
current is 550 ma.
• Four independently addressable 16K submodules on one
board organized as 2 pair of independent 32K banks or
as 1 64K extended address page. Each 32K bank re-
sponds independently to phantom. Bank select logic is
compatible with either Cromemco Cromix* or standard
bank select software.
• 2716 (5V) EPROM compatibility:
Programmed 2716 EPROMs may replace any or all of the
Ram components on the board.
• New 16K (2KX8) Static Rams which combine extreme
low power (40ma. ON; 5ma. OFF) with high speed
(200ns max. access time).
• Also available partially populated to 48K or 32K.
"Cromlx Is a trademark of Cromemco.
Circle 215 on inquiry card.
performance, fully assembled, tested and burned-in, guaranteed
16K board that we are introducing for only $179. Runs on any S-100
8080, 4 MHz Z-80, or 5 MHz 8085 system.
The Most Advanced 64K Static Board
The end user wants State-of-the Art when he buys a 64K board.
So we had our super designer put together the 64K board of the
future with tomorrow's high speed processors in mind. This board
had to work with all S-100 systems, with current processors and
future (up to 8 MHz) processors. It had to be ultra-low power. It had
to be designed so the advanced user could populate the board with
programmed EPROMs for special applications. This board, too, had
to have both bank seleci and extended addressing at no extra cost.
The board was also designed to be used as a 32K or 48K board and
we are selling it that way, too. Put in additional chips when you
want to increase the capacity!
OEM and dealer inquiries invited.
No Risk Free Trial
After you purchase one of our boards you may return
it (intact) for any reason within 15 days after shipment
and receive a full refund.
Free Six Months Memory Insurance
We will replace any board purchased from Memory
Merchant that becomes defective through normal use
for up to six months.
Yesl Please tend me the items listed below. I understand that if I'm not
fully satisfied with the product, I can get a full refund within 1 5 days
after shipment. (Send check, money order, or use your credit card.)
Note to credit card buyers: For extra fast service phone (415) 483-1008
SEND TO:
MEMORY MERCHANT (Bl)
14666 Doolittle Dr.
San Leandro, CA 94577
(NO C.O.D.'s)
D CHECK
D MONEY ORDER
a visa
*D MASTERCHARGE
(Must olio hove ICAU)
J4666 DOOLITTLE DR.
SAN LEANDRO,
CA 94577
(415) 483-1008
m
I (VI
memory
merchant
QUANTITY
DESCRIPTION
UNIT PRICE
TOTAL
64K
$895.00
48K
749.00
32K
569.00
16K
179.00
SHIPPING & HANDLING SS.OO/Boord
California Residents
TOTAL
Add 6% Tax
CARD NO.
' ICAN0.
NAME
ADDRESS
Strom City Shite Zip
Prices, terms, specifications subject to change without notice.
I
■•&p#|$
A Major Breakthrough
i '''A' f| Ski *
■ ■ v,.*V I
£'
The System 2800 is the next logical step in the
continuing line of innovative products from the
Systems Group.
Unbeatable S-100 Memory Boards
First was the development of the DMB6400
series of S-100 Memory boards featuring the
innovative Bank
Select switching
technique. This
enables users to
software select
up to four totally
independent
memory banks
per board.
The 2nd Generation
Then came the 2nd Generation of IEEE S-100
COMPATIBLE Z80 PROCESSORS, FLOPPY DISK
CONTROLLERS and SERIAL I/O BOARDS. Each
has been designed for single user, multi-user or
network operating systems
such as CP/M®,
MP/M™, CP/Net™
and OASIS™.
The Next
Logical Step ...
We challenged our design team to create an
innovative yet competitive system utilizing our
existing line of field proven, dependable S-100
boards. The result: a highly reliable, quality built,
state of the art microcomputer that gives you
the cost/performance edge you need to be a
leader in your field.
The System 2800 comes with a choice of
operating systems: CP/M with an enhanced
CBIOS for single user systems and either MP/M
or OASIS for multi-user, multi-tasking systems.
MP/M is available with either a standard or
CP/M MP/M and CP/Net are trademarks of Digital Research
OASIS is a trademark of Phase One Systems
1 1 [~] Essa
Croup
enhanced XIOS. The CP/M based System 2800
provides improved diagnostic reporting capability
and increased sector sizes of 1024 bytes, yielding
disk performance throughput increases up to
400% over standard unblocked systems.
The enhanced multi-user, multi-tasking MP/M
based System 2800 provides the same advanced
features as CP/M. In addition, this interrupt
driven implementation can offer performance
throughput increases up to 2000% thru
extensive disk buffering for applications
requiring a large number of disk accesses.
Also available is the OASIS operating system
with ISAM files, automatic record locking and
multiple-user print spooling.
All operating systems are available in either
floppy or hard disk configurations. The disk
drive selection includes single or double sided,
double density 8-inch floppies with up to 2.52
megabytes of formatted storage per system,
expandable to 5.04 megabytes, and an 8-inch 10
megabyte Winchester hard disk.
Cost Effective Reliability
Dealers, OEM's and System Integrators share
many common needs. Not the least of these is
dependable products. That's why we back our
System 2800 with our established reputation for
high quality products, superior support, prompt
and courteous service, and a one-year warranty.
Take the next logical step. See your nearest
computer dealer, or contact us for the complete
story on our S-100 family of board products and
enhanced systems.
Systems
Group
a Division of MEASUREMENT systems &. controls
incorporated
1601 Orangewood Ave.
Orange, Calif. USA 92668
(714) 633-4460 TWX/TELEX: 678 401 TAB IRIN
For International Sales Inquiries contact: SIGMA INTERNATIONAL, INC., P.O.
Box 1118, Scottsdale, AZ 85252 USA (602) 994-3435 / Telex 165 745 Sigma
Circle 213 on inquiry card.
Letters
Advertisements, Etc
An advertisement in the May 1981
BYTE could cause readers to mistakenly
conclude that certain products of Com-
puter Corporation of America are avail-
able through Computers, Etc.
Computer Corporation of America's
products and services are available only
through the Computer Corporation of
America. Additionally, the name "Com-
puter Corporation of America" is the ex-
clusive property of Computer Corpora-
tion of America, a corporation organized
under the laws of the Commonwealth of
Massachusetts.
Thank you, BYTE, for this opportunity
to eliminate any confusion concerning the
use of our name or availability of our
products and services.
Joseph Jarzembowski
General Counsel
Computer Corporation of America
575 Technology Sq
Cambridge MA 02139
Noise from the Past
I was pleased to see BYTE's ongoing re-
porting of new semiconductor devices
with April's "What's New7" mention of
LOUD Electronics's 3N120DB NED
(noise-emitting diode).
BYTE seems to be in error, however,
when it says that the device is a "new de-
velopment in indiscreet electronics." As I
remember, BYTE reported the develop-
ment of an earlier version of this device
five years ago, in 1976. At that time, the
device was only available in high-voltage
versions and had a much shorter lifetime
than the current component has.
In the 1976, BYTE said:
When connected across a +1000 V
supply, it makes a loud noise (once).
The NED was discovered by Igor
Pravaganda, whom, you'll recall,
worked many years trying to filter AC
with polarized electrolytic capacitors.
He'll always be remembered as the
father of the confetti generator.
System 3 $7053
This 16-bit Multibus™ computer
system includes:
• Z8001 CPU and 256K RAM
• 8 serial I/O ports
• 15-slot backplane
• Dual floppy disk drives
• Multiuser Operating System
Field upgrade to 16MB RAM,
268MB of hard disk, 32 users.
Pascal, BASIC, C, COBOL and
FORTRAN languages.
(312) 684
Dialogi
AMPEX Terminal $1045
• Full ASCII detached keyboard
• Separate edit/numeric keypads
• 25th status line
• 20 programmable function keys
• 2 pages memory (4 optional)
• 1 1 line drawing graphics characters
• 10 modes: block, protect, program. .
• Monitor mode displays control codes
COMPUTEX
MICROCOMPUTER SYSTEMS \
5710 Drexel, Chicago, IL 6063
At that time, the schematic diagram of
the device was also slightly different. I as-
sume the drawing of the NED has been
standardized to the current version in the
past five years.
1976 NED
1981 NED
While I am pleased to learn of the con-
tinued development of this device, I do
feel that, in the future, BYTE should be
more careful in reporting of "new" semi-
conductors.
David J Lindbergh
49 Beechmont St
Worcester MA 01609
We have been following the develop-
ment of the NED (which appeared for the
first time on page 41 of the February 1976
BYTE) very closely. Also at that time, we
reported on the invention of two other de-
vices: the Shiftless Register and the Fuzz-
Locked Loop. We believe that these three
devices will form the basis for data-com-
munications systems in the future. Watch
upcoming issues for a report on the Fast-
Fourier Stepdown Transformer. . . . CPF
April's Foolers
The hasty printing of data concerning
our Black-Hole Diode is not only an inva-
sion of our corporate security, but is not
in the national interest. (See the April
1981 BYTE, page 363.)
Our device, which is covered by US
patents and is classified by the National
Security Council as "Top Secret," should
not be pandered about in a general-circu-
lation magazine for all to see, especially
when those not friendly to our nation may
learn details of this device.
Furthermore, how BYTE learned of the
existence of our device is unknown to us,
but be advised that stricter security has
been imposed to forestall any further
lapses.
Be also advised that the company BYTE
lists as being responsible for creating the
30 August 1981 © BYTE Publications Inc
Circle 84 on inquiry card.
Circle 108 on inquiry card.
»&\ /A\
The next scncration
of business software
WHAT'S IN A NAME?
We've changed the name of our product line. Originally, we called our
products "Phoenix" because we saw the phoenix as an appropriate
symbol of quality. Unfortunately, a lot of other companies chose Phoenix
os well, and there was some concern that the market place would
become confused.
Our new name, PALANTIR" (pronounced pal'anreer), is not a new name
for us since it's our corporate name. It comes from J.R.R. Tolkien's The
Lord of the Rings and describes a block crystal ball, a "seeing stone",
used to see things at a distance.
Whatever the name on the package, the software in the package hasn't
changed. It is still the highest quality business software you can buy for
your microcomputer.
WORD PROCESSING
We know word processing. A year-and-a-half ago the owners of
Designer Software'" wrote a well-known word processor for another
company. In the last 1 8 months we've learned about other features you
want in a word processing package. PALANTIR™ Word Processing
reflects our experience. It is more powerful than other word processing
packages you can buy and can compete, feature for feature, with ex-
pensive dedicated word processors.
Many people have remarked that the user's manual we wrote earlier was
the best ever for microcomputer software. Even so, we fell that we could
have made it more accessible to the non-technical user. With PALANTIR™
Word Processing we have a separate Training Manual with beginning,
intermediate and advanced levels. By allowing you to work at your own
level, we have made the learning process easier and less intimidating.
ACCOUNTING
All five PALANTIR™ general accounting packages (General Ledger, Ac-
counts Receivable and Payable, Payroll and Inventory) were designed by
CPA's based on similar packages from mini and mainframe computers.
The programs are COBOL with an integral assembly-language data
base. They are integrated to allow automated posting to the General
Ledger. An internal screen handler permits full-screen data entry for
speed and ease of use. Although we made cosmetic enhancements prior
to distribution, the basic programs have been user-tested for at least
eighteen months.
PALANTIR™ Accounting also includes a growing number of specific
application packages. We have completed or scheduled for completion
Fixed Assets, Tenant Processing, Mail Management, Financial Projec-
tions and Time/Billing. Each package stands alone, but many also work in
conjunction with other PALANTIR™ packages. For example, Mail
Management will work very well by itself, but we also designed it to fit in
easily with the merging capabilities of Word Processing.
With all PALANTIR™ Accounting we have given special attention to
documentation. Not being content to describe which buttons to push, we
have taken the time to explain the accounting principles behind the pro-
grams and how each package helps to automate your office.
Designer Software
HOUSTON
// you wont to know what PALANTIR™ Word Processing and accounting can do for your
business, call, write, telex or use The Source to request more Information,
3400 Montrose Blvd • Suite 718 • Houston, Texas 77006
(713)520-8221 • Telex 790510 • Source TCU671
Circle 303 on inquiry card.
Tomorrow's
Software . . .
Today!
UCSD
P-SYSTEM
(FORTRAN)
Pascal
BASIC
LISP
portable
Powerful
Professional
FOR PROGRAMMERS
•Operating syslfcm with interpreter,
screen and character editors, filer,
assemblers, Utilities and compilers.
• PFASITMI -Keyed - ISAM in 6K user
memory
FOR ENGINEER^, CONTRACTORS
•Milestone!™) -Organic Software's
answer to PERT. Critical path
modeling.
•FORTRAN --ANSI 77 Subset
FOR DOCTORS, CLINICS
•MEDOFF[CE<™)_The complete
office system tor the professional.
•DATE BOOKW- Appointment
scheduling for your micro.
FOR SMALL BUSINESS
•GL, AR, AP, Payroll Packages
•Word Processing
FOR EDUCATORS, RESEARCHERS
• INTELLECT-UU™> _ A full range
LISP interpreter for A. I. applications
•mINDEXf™!— itext database system
for bibliographies, contracts,
abstracts, ete.:
And Much More —
READY TO RUN ON
DECLSI-11t
TRS-80 Model ll§
PCD SYSTEMS
P. 0. Box 143
Penn Yan, NY 14527
315-536-3734
ITM Digital Equipment
STM of Tandy Corp.
*tmu. of California
Letters ,
Black-Hole Device, Spatial Regression
Ltd, will shortly receive summons from
our legal department.
Any repetition or further disregard for
national security regarding this device or
its uses in particle-beam research will
bring about swift and final action.
J W Kelty
Chief Executive Officer
Code-7 Electronics
POB 1505
Modesto CA 95353
Each year, the BYTE staff enjoys slip-
ping a few joke items into the April issue
for our readers to find; some are subtle,
some are outrageous. Response to this
year's foolishness was greater than in any
year past. In case you missed it, look for
"Lost Dutchman's Bug" (photo),
page 302
"Black-Hole Diode" (new product),
page 363
"Noise-Emitting Diode" (new product),
page 364
"Slightly Used Cray-1" (unclassified
ad), page 414
So you see, there's no need for "swift
and final action" (gulp!) — we were just
kidding! By the way, where should we
return the sample device that was in-
cluded with your letter? . . . CPF
Unpublished Apple Logo
With some hesitation, I'm writing this
letter to inform BYTE readers of an unfor-
tunate situation concerning the distribu-
tion of the MIT Apple Logo programming
language. I've been writing Apple Logo at
the Logo laboratory for the last two years
as an undergraduate project. I've labored
under the understanding that Apple Logo
was to be placed in the public domain or
licensed to software-development com-
panies or dealers for distribution. How-
ever, for the past eight months, MIT has
withheld the language from the public.
I would like to explain why. The origin-
al intent of my project was to implement a
small subset of the Logo interpreter on the
Apple computer. The final product actu-
ally evolved into a full-scale implementa-
tion, with features surpassing the Texas
Instruments (TI) version, which also was
developed at the Logo laboratory. When
TI heard about this and the Apple Logo
project, it reacted angrily; it fears that a
August 1981 © BYTE Publications Inc
Logo for the Apple would adversely affect
sales of its Logo system. In fact, TI may be
quite justified in its fears, for there are
many people who think that Apple Logo
is superior to TI Logo as an educational
tool. It's rumored that Texas Instruments
is depending on TI Logo to redeem the
TI-99/4 home computer, which is not sell-
ing as well as expected.
Texas Instruments is a very generous
friend of MIT, and some people here are
embarrassed about a situation that might
threaten one of its sales programs. So, in
an effort to appease its corporate friend,
MIT has been stalling the distribution of
Apple Logo. There was a version ready
for distribution at the end of last year with
many improvements over the version re-
viewed in the June BYTE (see "Logo for
Personal Computers," page 36), and since
then it has been expanded and improved.
But I'm extremely frustrated that MIT
chooses to avoid angering Texas Instru-
ments by compromising the efforts of one
of its undergraduate students. This
frustration is compounded by the fact that
I feel, as do many here at the lab, that the
TI-99/4 has many serious deficiencies and
that the public will be cheated if forced to
buy it because it is the only machine on
which Logo is available.
Apple Logo is one of the finest pro-
grams that can be used on the Apple, and
I would like to see it widely distributed as
early as possible. Two years of my efforts
went into it, as well as those of several
others, and it's sad that MIT does not re-
cognize the injustice that it is doing to
myself, the Logo laboratory, and the
many Apple users who would benefit
from Apple Logo. If TI is afraid that its
sales will be hurt, then it should fix the
deficiencies in its machine and stop trying
to suppress this program. I urge BYTE
readers to write the Office of the Provost
at MIT and request that Apple Logo be
made public or licensed for distribution
without delay. Thank you.
Stephen Hain
MIT Logo Laboratory
545 Technology Sq
Cambridge MA 02139
Love's Labors Lost
Whilst enjoying very much the
Shakespearean research endeavours of
Andrew Kalnik, ft is oWious that he has
missed the point. (See "Micro-
Shakespeare," April 1980 BYTE, page 104
and "MicroShakespeare Revisited, " April
Circle 287 on inquiry card. — — ►
\
The guy on the left
^esn't stand a chance.
uy on the left has two file folders, a news maga- transmission couplers mean you need never work without
I I
The guy on the left has two file folders, a news maga
zine, and a sandwich
The guy on the right has the OSBORNE 1®, a fully
functional computer system in a portable package the size
of a briefcase. Also in the case are the equivalent of over
1600 typed pages, stored on floppy diskettes.
The owner of the OSBORNE 1 is going to get more
work done — and better work done — in less time, and with
less effort.
Unfold it, plug it in, and go to work
like you've never worked before. . . .
Goto work with WORDSTAR® word processing, so
your correspondence, reports, and memos take less time
to produce, and say more of what you wanted to say. And
with MAILMERGE® — the mailing system that turns out
personalized mass mailings in the time you'd spend on a
rough draft.
Go to work with SUPERCALC®, the electronic
spreadsheet package that handles complex projections,
financial planning, statistics, and "what if" questions in-
stantly. For the more technically minded, SUPERCALC will
process scientific data and calculate results.
Go to work with powerful BASIC language tools —
the CBASIC-2® business BASIC, or the Microsoft BASIC®
interpreter.
That's standard equipment.
Options include about a thousand different software
packages from a host of vendors designed to run on the
CP/M® computer system.
Go to work at the office, at home, or in the field.
Or anywhere. Optional battery packs and telephone
transmission couplers mean you need never work without
the capabilities of the OSBORNE 1 . That's good, because
you won't want to work again without it.
All for $1795. It's inevitable.
The OSBORNE 1 is the productivity machine that's
changing the way people work. Put simply, the machine
delivers a significant productivity edge — day in and day
out — to virtually anyone who deals with words or num-
bers. Or both.
Since the entire system is only $1795, it won't be too
long before the guy on the left has an OSBORNE 1 of his
own. The same probably goes for the person reading
this ad. In fact, we think it's inevitable.
The OSBORNE 1 includes a Z80A*CPU. 64K
bytes of RAM memory, two 100 kilobyte
{loppy disk drives, a business keyboard,
built-in monitor, IEEE 488 and RS232 inter-
faces for printers and other things that
get connected to computers, plus
CP/M, CBASIC-2, Microsoft BASIC,
WORDSTAR, and SUPERCALC. The
system is available from com-
puter retailers nationally.
$1795. It's
inevitable.
COMPUTER CORPORATION
26500 Corporate Avenue Hayward, California 94545
Phone (415) 887-8080 TWX (910) 383-2021
Letters ■
1981 BYTE, page 98.)
Careful scrutiny of the works of the
Bard of Programmers reveals that some
discarded program segments have become
garbled into the text, probably as the
result of bad file merges.
Take, for example, the statement
If it were done when 'tis done then 'twere
well it were done quickly
or, parsing
IF I(T) WERE D(ONE) WHEN T IS
D(ONE) THEN T WERE W(L) I(T)
WERE D(ONE) QUICKLY
which, written as we understand it, and
using X for ', gives
IF l(T) =D(1)
WHILE T(X) = D(1)
T(X) = W(L)
l(T) = D(1)
QUICKLY
The WEND statement is missing, but it
may be that QUICKLY denotes a ma-
chine-code subroutine that could have
some terminating function. (Mistress
Waiting On Delivery
ofADECLA120?
A
Avoid the hassle by upgrading your LA36 for 1200
baud operation with a DS120 Terminal Controller.
The Datasouth DS120 gives your DECwriter® II the high speed
printing and versatile performance features of the DECwriter® III
at only a fraction of the cost. The DS120 is a plug compatible
replacement for your LA36 logic board which can be installed in
minutes. Standard features include:
•165 cps bidirectional printing «RS232 interface
•Horizontal & Vertical Tabs «20 mA Current Loop interface
•Page Length Selection «Top of Form
•110-4800 baud operation 'Adjustable Margins
•1000 character print buffer 'Double wide characters
•X-on. X-off protocol 'Parity selection
•Self Test 'Optional APL character set
Over 4000 DS120 units are now being used by customers ranging
from the Fortune 500 to personal computing enthusiasts. In
numerous installations, entire networks of terminals have been
upgraded to take advantage of to-
day's higher speed data com-
munications services. LSI
microprocessor electronics
and strict quality control
ensure dependable per-
formance for years to
come. When service is
required, we will respond
promptly and effectively.
Best of all, we can deliver
immediately through our
nationwide network of
distributors. Just give us a
call for all the details.
DATASOUTH COMPUTER CORPORATION
4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704(523-6500
J^jJP"* ""i ssswtao > i iii i iii ,i " i, 'iui
IBP'-
Quickly is a comical character in The
Merry Wives of Windsor — an example,
perhaps, of a subroutine label being con-
fused with a file name?)
Further research has revealed, hidden in
the depths of the surviving listings, an in-
complete command syntax of a lost high-
level language.
Typical examples of this are
Lost Modern
Language Parlance
Armour Chain
Billet Log
Breach Input
Burden Load
Count Cont
Curtail Edit
Espy Peek
Fellow Cos
Folio Print
Hail , Call
Inquisition Exam
Buffet Poke
Missives Data
Near Close
Peasant Common
Scotch Erase
Scribe Write
Set Put
Tally List
Unbesmirch Clear
There are some commands still in use
today: GOTO, END, EXIT, ERROR, RE-
STORE, RUN are typical, whilst the use
of functions such as SIN, HEX, DIM, and
FIX show the arithmetical properties of
the language. It can safely be assumed
that commands such as READ and AUTO
were not generally implemented at this
time.
Research continues, but so far it looks
as if Sir Francis Drake made the first re-
corded visit to Silicon Valley, during
which, presumably, the natives acquired
the principles of his on-board naviga-
tional computer.
Ross Henderson
Systems Manager
Digital Devices Ltd
134 London Rd
Southborough, Kent,
TN4 0PL, England
It is obvious that, despite improve-
ments in hardware, some aspects of pro-
gramming never change — Shakespeare, in
his time, may have suffered the "slings
and arrows of outrageous fortune" just as
modem programmers do. What personal-
computer user has not, after seeing an
advertisement for software, purchased
same from The Software Merchant of
Letters continued on page 282
34 August 1981 © BYTE Publications Inc
Circle 103 on inquiry card.
spipsiuijik
Here's the white collar crime of 1981: Let
your people labor away for hours at jobs a
properly trained computer can do in seconds.
You pay for all those wasted hours.
And you're missing opportunities,
because the hours could be spent on new, pro-
ductive, profitable projects.
We can help you.
If you have a CP/M®-based microcomputer,
SSG's Business Productivity Packages will scoop
up all those hours you're losing and give you back
more productivity, more time, more information,
and more success.
ANALYST. $250. An information storage
and retrieval (data base) system that will replace
piles of files with information you can USE.
MAGIC WORKSHEET. $250. SSG's answer
to the world's demand for electronic spreadsheet
calculation and "what-if" capabilities on CP/M
systems. (Available quarter two 1981.)
NAD Name and Address. $100. A mailing
and addressing system to do all the typing and
clerical work on lists — from ten names to ten
thousand.
LETTERIGHT. $200. A correspondence
processing package that speeds letter writing AND
merges your letters with names selected from your
NAD list.
It takes very few hours at today's salary
levels to repay the cost of any of these systems.
They'll do you far better than that. SSG's
Productivity Software Packages will contribute
immediately to the growth and success of
your business.
Please act now. Tear out this page. This
coupon or a phone call will get you immediate
relief from the white collar crime of ,
1981. We'll send you complete
information. Or better
still, answer your ques-
tions immediately.
Time's a-wasting.
That's a crime.
i \
□ Please rush me
information on the SSG
Business Productivity
Packages for CP/ M-based
computers.
□ Please call me right away.
Name
Company .
Address
City State Zip
Telephone (
L
J
CP/M is a registered trademark of Digital Research. NAD, Magic Worksheet are trademarks of SSG.
Structured Systems Group
5204 Claremont. Oakland /California 94R1A f41fil.S471fifi7 INCORPORATED!
5204 Claremont, Oakland, 'California 9461 8 (415)5471567
Circle 362 on inquiry card.
BYTE August 1981 35
The Smalltalk-80 System
The Xerox Learning Research Group
Xerox Palo Alto Research Center
3333 Coyote Hill Rd
Palo Alto CA 94304
The Smalltalk-80 system represents the current state of
the object-oriented point of view as it has been reduced to
practice by the Xerox Learning Research Group. The
Smalltalk-80 system is composed of objects that interact
only by sending and receiving messages. The program-
mer implements a system by describing messages to be
sent and describing what happens when messages are
received.
The Smalltalk-80 system is the latest in a series of
programming environments that have applied the
object-oriented point of view more and more uniform-
ly to the design and production of software systems.
The fundamental ideas of objects, messages, and
classes came from SIMULA. (See reference 1.)
SIMULA allows users to create object-oriented sys-
tems, but uses the standard data/ procedure-oriented
ALGOL language to provide numbers, booleans, basic
data structures, and control structures. The Flex
system, the Smalltalk-72, Smalltalk-74, and
Smalltalk-76 (see references 5, 2, and 4, respectively)
systems extended the object-oriented point of view to
an increasing number of the elements of a program-
ming environment. For example, in Smalltalk-72,
arithmetic, list structures, and control structures were
represented as objects and messages, but classes were
not. In Smalltalk-74, class descriptions as objects were
introduced. The Smalltalk-76 system added the
capability to express relationships between classes,
and extended the object-oriented point of view to the
programmer's interface.
This article presents the central semantic features
and most of the syntactic features of the Smalltalk-80
system. It was prepared by Dave Robson and Adele
Goldberg as scribes for the group effort of designing
and implementing the system. Two forthcoming books
(see reference 3) provide the full specification of the
Smalltalk-80 system; in particular, the books describe
the implementation of the interpreter and storage
manager, and the graphical user interface.
Sending Messages — Expressions
Messages are described by expressions, which are se-
quences of characters that conform to the syntax of the
Smalltalk-80 programming language. A message-sending
expression describes the receiver, selector, and arguments
of the message. When an expression is evaluated, the
message it describes is transmitted to its receiver. Here
are several examples of expressions describing a message
to an object. (Note: color has been added to help identify
the receivers, selectors, and arguments in the following
examples.)
Key: □ Receiver
1.
frame
center
2.
origin
+
offset
3. frame moveTo: newLocation
4.
list
at:
index
put:
element
□ Selector
□ Argument
Each expression begins with a description of the
receiver of the message. The receivers in these examples
are described by variable names: frame, origin, frame,
and list, respectively. Generally, at least one space must
separate the parts of an expression.
Messages without arguments are called unary
messages. A unary message consists of a single identifier
called a unary selector. The first example is a unary
message whose selector is center.
A binary message has a single argument and a selector
that is one of a set of special single or double characters
called binary selectors. For example, the common
arithmetic symbols ( + , - , *, and /) are binary selectors;
some comparison operations are represented as double
characters (eg: = = for equivalence, ~ = for not
equal). The second example is a binary message whose
argument is offset.
A keyword message has one or more arguments and a
selector that is made up of a series of keywords, one
preceding each argument. A keyword is an identifier with
36 August 1981 © BYTE Publications Inc
a trailing colon. The third example is a single-argument
keyword message whose selector is moveTo: and whose
argument is newLocation. The fourth example is a two-
argument keyword message whose selector is made up of
the keywords at: and put: and whose arguments are index
and element. To talk about the selector of a multiple-
argument keyword message, the keywords are con-
catenated. So, the selector of the fourth example is
at:put:.
The message receivers and arguments in the examples
are described by variable names. In addition, they can
also be described with literals. The two most common
kinds of literals are integers and strings. An integer literal
is a sequence of digits that may be preceded by a minus
sign (eg: 0, I, 156, —3, or 1 3772). A string literal is a se-
quence of characters between single quotes (eg: 'hi',
'John', or 'the Smalltalk-80 system'). A binary message
with an integer literal as its receiver is
45 + count
A keyword message with a string literal as its argument is
printer display: 'Monthly Payroll'
When a message is sent, it invokes a method deter-
mined by the class of the receiver. The invoked method
will always return a result (an object). The result of a
message can be used as a receiver or argument for
another message. An example of a unary message
describing the receiver of another unary message is
window frame center
Unary messages are parsed left to right. The first
message in this example is the unary selector frame sent to
the object named window. The unary message center is
then sent to the result of the expression window frame
(ie: the object returned from window's response to
frame).
Binary messages are also parsed left to right. An exam-
ple of a binary message describing the receiver of another
binary message is
index + offset * 2
The result of sending the binary message + offset to
the object named index is the receiver for the binary
message *2. All binary selectors have the same
precedence; only the order in which they are written mat-
ters. Parentheses can be used to change the order of
evaluation. A message within parentheses is sent before
any messages outside the parentheses. If the previous ex-
ample were written
index + (offset * 2)
the result of the binary message * 2 to offset would be
used as the argument of a binary message with receiver
index and selector + .
Unary messages take precedence over binary messages.
If unary messages and binary messages appear together,
the unary messages will be sent first. In the example
frame center + window offset — index
the result of the unary message center to frame is the
receiver of the binary message whose selector is + and
whose argument is the result of the unary message offset
to window. The result of the + message is, in turn, the
receiver of the binary message - index. Parentheses can
be used to explicitly show the order of evaluation, eg:
((frame center) + (window offset)) - index. Parentheses
can also be used to alter the order of evaluation. In the
example
(center + offset) x
the binary message + offset would be sent before the
unary message x.
Whenever keywords appear in an unparenthesized
message, they compose a single selector. The example
window showText: Title' inFont: helvetica
indented: 15
is a single message whose selector is showText: inFont. in-
dented:. Because of this concatenation, there is no left-to-
right parsing rule for keyword messages. If a keyword
message is to be used as a receiver or argument of another
keyword message, it must be parenthesized. The expres-
sion
frame scale: (factor max: 5)
describes two keyword messages. The result of the ex-
pression factor max: 5 is the argument for the scale:
message to frame.
Binary messages take precedence over keyword
messages. When unary, binary, and keyword messages
appear in the same expression without parentheses, the
unary messages are sent first, the binary messages next,
and the keyword messages last. The example
bigFrame height: smallFrame height * 2
is evaluated as if it were parenthesized as follows:
bigFrame height: ((smallFrame height) * 2)
A cascaded message expression describes a sequence of
messages to be sent to the same object. A simple message
expression is a description of the receiver (ie: a variable
name, literal, or expression) followed by a message (ie: a
unary selector, a binary selector and argument, or a set of
keywords and arguments). A cascaded message expres-
August 1981 © BYTE Publications Inc 37
digits
digit
Figure 1: Syntax diagrams for the SmaUtalk-80 language.
sion is a single description of a receiver followed by
several messages separated by semicolons. For example,
in the expression
printer newLine; print: reportTitle; space;
print: Date today.
four messages are sent to the object named printer. The
selectors of the four messages are newLine, print:, space,
and print:. In the expression
window frame center: pointer location;
width: border + contents; clear
three messages are sent to the object returned from the
frame message to window. The selectors of the three
messages are center:, width:, and clear. Without
cascading, this would have been three expressions
window frame center: pointer location,
window frame width: border + contents,
window frame clear
Assigning Variables
The value of a variable can be used as the receiver or
argument of a message by including its name in an ex-
pression. The value of a variable can be changed with an
assignment expression. An assignment expression con-
sists of a variable name followed by a left arrow (— )
followed by the description of an object. When an assign-
ment expression is evaluated, the variable named to the
left of the arrow assumes the value of the object described
to the right of the arrow. The new value can be described
by a variable name, a literal, or a message-sending ex-
pression. Examples of assignments are
center — origin
index —
index — index + 1
index — index + 1 max: limit
In the last example, the message + I is sent to the
value of the variable index, the message max: limit is sent
to the result of the -I- 1 message, and the result of the
max: limit message becomes the new value of the variable
index.
A number of variables can be assigned in the same ex-
pression by including several variable names with left ar-
rows. The expression
start — index —
makes the value of both start and index be 0.
38 August 1981 © BYTE Publications Inc
symbol
identifier
binary selector
keyword
symbol constant
symbol
character
constant
<§>
string
o
—
o
<<>
r^-^Q-^
symbol
string
character constant
array constant
-(#>
literal
number
*
symbol constant
1 '
character constant
string
array constant
variable name
identifier
unary selector
binary
selector
<E>
7 >-
special character
special character
keyw
identifier
o-
Figure 1 continued on page 40
The syntax table in figure 1 is a diagram for parsing
well-formed Smalltalk-80 expressions. This table does
not specify how spaces are treated. Spaces must not ap-
pear between digits and characters that make up a single
token, nor within the specification of a number. Spaces
must appear
• between a sequence of identifiers used as variables or
unary selectors
• between the elements of an array in an array constant
• on either side of a keyword in a keyword expression
Spaces may optionally be included between any other
elements in an expression. A carriage return or tab has
the same syntactic function as a space.
Receiving Messages — Classes
A class describes a set of objects called its instances.
Each instance has a set of instance variables. The class
provides a set of names that are used to refer to these
variables. A class also provides a set of methods that
describe what happens when its instances receive mes-
sages. A method describes a sequence of actions to be
taken when a message with a particular selector is re-
ceived by an instance of a particular class. These actions
consist of sending other messages, assigning variables,
and returning a value to the original message.
To create a new application, modify an existing ap-
plication, or to modify the Smalltalk-80 system itself, a
programmer creates and modifies classes that describe
objects. The most profitable way to manipulate a class is
with an interactive system. Much of the development of
the Smalltalk-80 system has been the creation of ap-
propriate software-development tools. (See Larry Tesler's
article "The Smalltalk Environment," on page 90.) Unfor-
tunately, to describe a system on paper, a noninteractive
linear mode of presentation is needed. To this end, a
basic class template is provided as a simple textual
representation of a class. The basic class template in table
1 shows the name of the class, the names of the instance
variables, and the set of methods used for responding to
messages.
In table 1, the italicized elements will be replaced by
the specific identifiers or methods appropriate to the
August 1981 © BYTE Publications Inc 39
Figure 1 continued:
1 <i>
variable name
<D J
unary object description
unary expression
binary object description
unary object description
binary expression
unary expression
unary object description
unary selector
binary expression
binary object description
binary selector
unary object description
keyword expression
binary object description
rr
keyword
binary object description
] — *
simple message expression
unary expression
binary expression
keyword expression
cascaded message expression
simple message
<^
unary selector
binary selector
keyword
unary object description
binary object description
block
temporaries
expression
primary
L
.(7)
r
,
*
variable name
simple message expression
.l~-j
*
: *-
L
<£>
<D-
<!>
O
variable name
variable name
Z^
T~~
Q ^ ■
<]>
J~
0-
message pattern
unary selector
binary selector
rz
keyword
variable name
variable name
r
method
message pattern
temporaries
statements
I
40 August 1981 © BYTE Publications Inc
class name
identifier
instance variable names
identifier identifier identifier
methods
method
method
method
Table 1: The basic class template.
class. Names of classes begin with an uppercase letter,
and names of variables begin with a lowercase letter. As
an example, figure 2 shows the basic template form of a
class named Point whose instances represent points in a
two-dimensional coordinate system. Each instance has an
instance variable named x that represents its horizontal
coordinate and an instance variable named y that
represents its vertical coordinate. Each instance can res-
pond to messages that initialize its two instance variables,
request the value of either variable, and perform simple
arithmetic. The details of methods (in particular, the use
of '|', '.' and T) are the subject of our next discussion.
Methods
A method has three parts:
• a message pattern
• some temporary variable names
• some expressions
The three parts of a method are separated by vertical
bars (|). The message pattern consists of a selector and
names for the arguments. The expressions are separated
by periods (.) and the last one may be preceded by an up
arrow (t). In the method for selector + in figure 2, the
message pattern is + aPoint, the temporary variable
names are sumX and sumY, and there are three expres-
sions, the last one preceded by an t .
Line breaks have no significance in methods; format-
ting is used only for purposes of aesthetics. The vertical
bars and periods are delimiters of significance.
As stated earlier, each message pattern contains a selec-
tor. When a message is received by an instance, the
method whose message pattern contains the same selector
will be executed. For example, suppose that offset were an
class name
instance variable names
methods
Point
x: xCoordfnate y: yCoordinate
x — xCoordinate
y — yCoordinate
x| I
Ix
'y
+ aPolntl l [sumX sumY
sumX
- x +
a Point x.
sumY
- y +
aPointy.
t Point newX:
sumX Y:
sumY
- aPoint | differenceX differenceY
differenceX — x — aPoint x.
differenceY — y - aPoint y.
(Point newX: differenceX Y: differenceY
* scale-Factor |scaledX scaledY
scaledX — x * scaleFactor.
scaledY — y * scaleFactor.
t Point newX: scaledX Y: scaledY
Figure 2: Illustrated class template for the class Point
August 1981 © BYTE Publications Inc 41
class name
DepositRecord
superclass
Object
instance variable names
date amount
methods
of: depositAmount on: depositDate
date — depositDate.
amount — depositAmount
amount |
t amount
balanceChange |
\ amount
Table 2: Class template for class DepositRecord.
class name
CheckRecord
superclass
DepositRecord
instance variable names
number
methods
number: checklNJumber for: checkAmount on:
checkDate
number — checkNumber.
date — checkDate.
amount — checkAmount
of: anAmount on: aDate
self error:
'Check records are initialized with
number.for.on:'
balanceChange | | t — amount
Table 3: Class template for class CheckRecord.
instance of Point in the expression
offset + frame center
The method whose message pattern is + a Point would
be executed in response. For selectors that take
arguments, the message pattern also contains argument
names wherever arguments would appear in a message.
When a method is invoked by a message, the argument
names in the method are used to refer to the actual
arguments of that message. In the above example, aPoint
would refer to the result of frame center.
class name
identifier
superclass
identifier
instance variable names
identifier identifier identifier
class variable names
identifier identifier identifier
class messages and methods
method
method
method
instance messages and methods
method
method
method
Table 4: The ft
ill class template.
Following the message pattern, a method can contain
some temporary variable names between vertical bars.
When a method is executed, a set of variables is created
that can be accessed by the temporary variable names.
These temporary variables exist only while the method is
in the process of execution.
Following the second vertical bar, a method contains a
sequence of expressions separated by periods. When a
method is executed, these expressions are evaluated se-
quentially.
So, there are three steps in receiving a message, cor-
responding to the three parts of the method. Smalltalk
will
1. Find the method whose message pattern has the same
selector as the message and create a set of variables for
the argument values.
2. Create a set of temporary variables corresponding to
the names between the vertical bars.
3. Evaluate the expressions in the method sequentially.
Six kinds of variables can be used in a method's expres-
sions:
• the instance variables of the receiver
• the pseudo-variable self
• the message arguments
• temporary variables
• class variables
• global variables
The instance variables are named in the message
receiver's class. In the example, x and y refer to the values
of the instance variables of offset.
There is an important pseudo-variable available in
every method, which is named self, self refers to the
42 August 1981 © BYTE Publications Inc
receiver of the message that invoked the method. It is
called a pseudo-variable because its value can be accessed
like a variable, but its value cannot be changed using an
assignment expression. In the example, self refers to the
same object as offset during the execution of the method
associated with + .
Arguments and temporary variables are similar, in that
the names for both are declared in the method itself and
they both exist only during the method's execution.
However, unlike arguments, temporary variables are not
automatically initialized. The values of temporary
variables can be changed with an assignment expression.
Class variables are shared by all instances and the class
itself. Names for the class variables are shown in the full
class template in an entry called "class variable names"
(see table 4). Although they are variables and their values
can be changed, they are typically treated as constants,
initialized when the class is created, and then simply used
by the instances. For example, if the class of floating-
point numbers wanted to provide trigonometric func-
tions, it might want to define a variable called pi to be
used in any of its methods.
Global variables are shared by all objects. A global dic-
tionary, called Smalltalk, holds the names and values of
these variables. The classes in the system, for example,
are the values of global variables whose names are the
class names. With the exception of variables used to
reference system resources, few global variables exist in
the Smalltalk-80 system. Programming style that depends
on user-defined globals is generally discouraged.
If the last expression in a method is preceded by an t ,
the message that invoked the method takes on the value
of this expression. If an t does not precede the last ex-
pression, the value of the message is simply the receiver
of the message. For example, the x:y: message to a Point
(see figure 2) behaves as if it had been written
x: xCoordlnate y: yCoordlnate | |
x — xCoordinate.
y — yCoordinate.
t self
Methods can contain comments anywhere. A comment
is a sequence of characters delimited by double quotes.
Two consecutive double quotes are used to embed a
double quote within a comment. The methods in class
Point were purposely written in a verbose style to provide
examples. The messages for + could have been written
+ aPoint | |
t Point newX: x + aPoint x Y: y + aPoint y
The basic class template presents only the most important
attributes of a class. The complete description of a class is
provided by the full class template, described in the next
section.
Inheritance
The basic template allows a class to be described in-
dependently of other classes. It ignores inheritance
among classes. The full class template, however, takes in-
heritance into account. (See table 4.) With it, a class can
be described as a modification of another class called its
superclass . All classes that modify a particular class are
called its subclasses. A subclass inherits the instance
variable names and methods of its superclass. A subclass
can also add instance variable names and methods to
those it inherits. The instance variable names added by
the subclass must differ from the instance variable names
of the superclass. The subclass can override a method in
the superclass by adding a message with the same selec-
tor. Instances of the subclass will execute the method
found in the subclass rather than the method inherited
from the superclass.
To assemble the complete description of a class, it is
necessary to look at its superclass, its superclass's
superclass, and so on, until a class with no superclass is
encountered. There is only one such class in the system
(ie: without a superclass), and its class name is Object.
All classes ultimately inherit methods from Object. Ob-
ject has no instance variables. The set of classes linked
through the superclass relation is called a superclass
chain. The full class template has an entry called
"superclass" that specifies the initial link on the class's
superclass chain.
As an example, we might describe a class,
DepositRecord, whose instances are records of bank ac-
count deposits. Each instance has two instance variables
representing the date and amount of the deposit. The
class template is shown in table 2.
class name
superclass
instance variable names
class messages and methods
CheckRecord
DepositRecord
number
number: checkNumber for: checkAmount on:
checkDate | |
t self new number: checkNumber
for: checkAmount
on: checkDate
instance messages and methods
number: checkNumber for: checkAmount on:
checkDate | |
super of: checkAmount on: checkDate.
number — checkNumber
of: anAmount on: aDate | |
self error: 'Check records are initialized with
number:for:on:'
balanceChange [ | T — amount
Table 5: Full class template for class CheckRecord.
August 1981 © BYTE Publications Inc 43
A class, CheckRecord, whose instances are records of
checks written on an account is a subclass of
DepositRecord; this new class adds an instance variable
that represents the check number. The class template is
shown in table 3.
An instance of CheckRecord has three instance
variables. It inherits the amount message, adds the
number.for.on: message, and overrides the
balanceChange and of:on: messages. The of.on: method
contains a single expression in which the message error:
'Check records are initialized with number:for:on:' is sent
to the pseudo-variable self. The method for error: is found
in the superclass of DepositRecord, which is the class Ob-
ject; the response is to stop execution and to display the
string literal argument to the user.
An additional pseudo-variable available in a method's
class name
superclass
instance variable names
class variable names
class messages and methods
Point
Object
xy
P'
instance creation
newX: xValue Y: yValue | |
t self new x: xValue
y: yValue
newRadius: radius Angle: angle
t self new x: radius * angle sin
y: radius * angle cos
class initialization
setPI | | pi - 3.14159
instance messages and methods
accessing
x: xCoordlnate y: yCoordlnate | |
x — xCoordinate.
y — yCoordinate
xj | tx
y I I ty
radius | | t((x * x) + (y * y)) squareRoot
angle | | t(x/y) arctan
arithmetic
+ aPoInt | | t Point newX: x + aPoint x
Y:y + aPointy
- aPoint | | t Point newX: x - aPoint x
Y: y — aPoint y
* scaleFactor | | t Point newX: x * scaleFactor
Y: y * scaleFactor
clrcleArea | r |
r — self radius,
t pi * r * r
Table 6: Full class template for class Point.
expressions is super. It allows a subclass to access the
methods in its superclass that have been overridden in the
subclass description. The use of super as the receiver of a
message has the same effect as the use of self, except that
the search for the appropriate message starts in the
superclass, not the class, of the receiver.
For example, the method associated with
number:for:on in CheckRecord might have been defined
as
number: checklMumber for: checkAmount on:
checkDate | |
super of: checkAmount on: checkDate.
number — checkNumber
Metaclasses
Since a class is an object, there is a different class that
describes it. A class that describes a class is called a
metaclass. Thus, a class has its own instance variables
that represent the description of its instances; it responds
to messages that provide for the initialization and
modification of this description. In particular, a class
responds to a message that creates a new instance. The
unary message new creates a new instance whose in-
stance variables are uninitialized. The object nil indicates
an uninitialized value.
The classes in the system might all be instances of the
same class. However, each class typically uses a slightly
different message protocol to create initialized instances.
For example, the last expression in the method associated
with + in class Point (see figure 2) was
Point newX: sumX Y: sumY
newX.Y: is a message to Point, asking it to create a new
instance with sumX and sumY as the values of the new in-
stance's instance variables. The newX:Y: message would
not mean anything to another class, such as
DepositRecord or CheckRecord. So, these three classes
can't be instances of the same class. All classes have a lot
in common, so their classes are all subclasses of the same
class. This class is named Class. The subclasses of Class
are called metaclasses.
The newX.Y: message in Point's metaclass might be im-
plemented as
newX: xValue Y: yValue | |
t self new x: xValue y: yValue
The new message was inherited by Point's metaclass from
Class. One reason for having metaclasses is to have a
special set of methods for each class, primarily messages
for initializing class variables and new instances. These
methods are displayed in the full class-template form
shown in table 4; they are distinguished from the
methods for messages to the instances of the class. The
two categories are "class messages and methods" and "in-
stance messages and methods," respectively. Methods in
44 August 1981 © BYTE Publications Inc
the category "class messages and methods" are associated
with the metaclass; those in "instance messages and
methods" are associated with the class.
If there are no class variables for the class, the "class
variable name" entry is omitted. So, CheckRecord might
be described as shown in table 5.
It is often desirable to create subcategories within the
categories "class messages and methods" and "instance
messages and methods." Moreover, the order in which
the categories or subcategories are listed is of no
significance. (The notion of categories is simply a pretty
printing" technique; it has no semantic significance.)
Returning to the example of class Point, if the instance
methods of class Point include subcategories accessing
and arithmetic , the template for Point might appear as
shown in table 6.
When the class Point is defined, the expression
Point setPi
should be evaluated in order to set the value of the single
class variable.
A Point might be created and given a name by
evaluating the expression
testPoint - Point newX: 420 Y: 26
Another example of a message with a primitive
response is a message with the selector + sent to a
Smalllnteger
+ aNumber | | < primitive >
self error: 'Smalllnteger addition has failed'
One reason this primitive might fail to produce a result
is that the argument is not a Smalllnteger. In the example,
this would produce an error report. In the actual
Smalltalk-80 system, an attempt is made to check and see
if the argument were another kind of number for which a
result could be produced.
Indexed Instance Variables
An object's instance variables are usually given names
by its class. The names are used in methods of the class to
refer to the values of the instance variables. Some objects
also have a set of instance variables that have no names
and can only be accessed by messages. The instance vari-
ables are referred to by an integral index. Indexable ob-
jects are used to implement the classes in the system that
represent collections of other objects, such as arrays and
strings.
The messages to access indexed instance variables have
The new Point, testPoint, can then be sent the message
circleArea:
testPoint circleArea
or used in a more complex expression:
(testPoint * 2) circleArea
Primitive Routines
The response to some messages in the system may be
performed by a primitive routine (written in the im-
plementation language of the machine) rather than by
evaluating the expressions in a method. The methods for
these messages indicate the presence of such a primitive
routine by including < primitive > before the first expres-
sion in the method. A major use of primitive methods is
to interact with the machine's input/output devices.
An example of a primitive method is the new message
to classes, which returns a new instance of the receiver.
new | | < primitive >
This particular primitive routine always produces a
result. If there are situations in which a primitive routine
cannot produce a result, the method will also contain
some expressions. If the primitive routine is successful in
responding to the message, it will return a value and the
expressions in the method will not be evaluated. If the
primitive routine encounters difficulty, the expressions
will be evaluated as though the primitive routine had not
been specified.
class name
Array
superclass
IndexedCollection
indexable instance variables
class messages and methods
instance creation
with: anElement | |
t (self new: 1) at: 1 put: anElement
with: firstElement with: secondElement
an Array |
anArray — self new: 2.
anArray at: 1 put: firstElement.
anArray at: 2 put: secondElement.
t anArray
instance messages and methods
accessing
at: anlnteger |
< primitive >
self error: 'index ou
at: anlnteger put: ai
< primitive >
self error: 'index ou
funny stuff
embed
t Array with: self
Table 7: Full class tem\
: of range'
lEIement | |
r of range'
ilate for class Array.
August 1981 © BYTE Publications Inc 45
selectors at: and at:put:. For example
list at: 1
returns the first indexed instance variable of list. The ex-
ample
list at: 4 put: element
stores element as the value of the fourth indexed instance
variable of list. The at: and at.put: messages invoke
primitive routines to load or store the value of the in-
dicated variable. The legal indices run from one to the
number of indexable variables in the instance. The at: and
at: put: messages are defined in class Object and,
therefore, can be understood by all objects; however, on-
ly certain classes will create instances with indexable in-
stance variables. These classes will have an additional
line in the class template indicating that the instances con-
tain indexable instance variables. As an example, we
show a part of the template for class Array in table 7.
Each instance of a class that allows indexable instance
variables may have a different number of them; such in-
stances are created using the new: message to a class,
whose argument tells the number of indexable variables.
The number of indexable instance variables an instance
has can be found by sending it the message size. A class
whose instances have indexable instance variables can
also have named instance variables. All instances of any
class will have the same number of named instance
variables.
Control Structures and Blocks
The two control structures in the Smalltalk-80 system
described so far are
• the sequential execution of expressions in a method
• the sending of messages that invoke other methods that
eventually return values
All other control structures are based on objects called
blocks. Like a method, a block is a sequence of expres-
sions, the last of which can be preceded by an up arrow
(f). The expressions are delimited by periods; they may
be preceded by one or more identifiers with leading co-
lons. These identifiers are the block arguments. Block
arguments are separated from expressions by a vertical
bar.
Whenever square brackets are encountered in a
method, a block is created. Evaluation of the expressions
inside the square brackets is deferred until the block is
sent the message value or a message whose selector is a
concatenation of one or more occurrences of the keyword
value:. Control structures are implemented as messages
with receivers or arguments that are blocks. The methods
for carrying out these control-structure messages involve
sending the blocks patterns of value messages.
In the Smalltalk-80 system, there are two types of
primitive control messages: conditional selection of
blocks, ifTrue:ifFalse:, and conditional iteration of blocks,
whileTrue: and whileFalse:.
The representation of conditions in the Smalltalk-80
system uses distinguished boolean objects named false
and true. The first type of primitive control message pro-
vides for conditional selection of a block to be executed.
This is similar to the IF . . . THEN . . . ELSE of ALGOL-
like languages. The expression
queue isEmpty ifTrue: [index — 0]
ifFalse: [index — queue next]
evaluates the expressions in the first block if the receiver
is true and evaluates the expressions in the second block if
the receiver is false. Two other forms of conditional selec-
tion provide only one alternative
queue isEmpty ifTrue: [index — 0].
queue isEmpty ifFalse: [index — queue next].
When ifTrue: is sent to false, it returns immediately
without executing the block. When ifFalse: is sent to true,
the block is not executed.
The second type of primitive control message repeated-
ly evaluates the expressions in a block as long as some
condition holds. This is similar to the WHILE and UNTIL
statements in ALGOL-like languages. This type of con-
trol message is a message to a block; the receiver, the
block, evaluates the expressions it contains and deter-
mines whether or not to continue on the basis of the value
of the last expression. The first form of this control
message has selector whileTrue:. The method for
whileTrue: repeatedly executes the argument block as
long as the receiver's value is true. For example,
[index < = limit] whileTrue: [self process: list at: index.
index — index + 1 ]
The binary message < = is understood by objects
representing magnitudes. The value returned is the result
of comparing whether the receiver is less than or equal to
(< =) the argument.
The second conditional iteration message has selector
whileFalse:. The method for whileFalse: repeatedly ex-
ecutes the argument block as long as the receiver's value
is false. For example,
[queue isEmpty] whileFalse: [self process: queue next]
The messages whileTrue and whileFalse to a block pro-
vide a shorthand notation for messages of the form
whileTrue: aBlock and whileFalse: aBlock, if the argument
aBlock is an empty block.
Block arguments allow one or more of the variables in-
side the block to be given new values each time the block
is executed. Instead of sending the block the message
value, messages with selectors value: or value:value:, and
46 August 1981 © BYTE Publications Inc
so on, are sent to the block. The arguments of the value:
messages are assigned to the block arguments (in order)
before the block expressions are evaluated.
As an example, classes with indexed instance variables
could implement a message with selector do: that takes a
block as an argument and executes it once for every in-
dexed variable. The block has a single block argument;
the value of the appropriate indexed variable is passed to
it for each execution. An example of the use of such a
message is
list do: [ .element | self process: element]
The message might be implemented as
do: aBlock | index |
index — I .
[index < = self size] whileTrue:
[aBlock value: (self at: index),
index — index + 1]
Similar control messages can be implemented for any
class. As an example, a simple repetition could be pro-
vided by a timesRepeat: aBlock message to instances of
class Integer
timesRepeat: aBlock | index |
index — I .
[index < = self] whileTrue:
[aBlock value,
index — index + 1]
Examples of implementing other control messages are
given in L Peter Deutsch's article "Building Control Struc-
tures in the Smalltalk-80 System," on page 322.
The Smalltalk-80 System: Basic Classes
The Smalltalk-80 language provides a uniform syntax
for retrieving objects, sending messages, and defining
classes. The Smalltalk-80 system is a complete pro-
gramming environment that includes many actual classes
and instances. In support of the uniform syntax, this
system includes class descriptions for Object, Class,
Message, CompiledMethod, and Context, whose
subclasses are BlockContext and MethodContext. Multi-
ple independent processes are provided by classes Pro-
cessorScheduler, Process, and Semaphore. The special
object nil is the only instance of class UndefinedObject.
These classes comprise the kernel Smalltalk-80 system.
The system also includes class descriptions to support
basic data structures; these are numerical and collection
classes. The class Number specifies the protocol ap-
propriate for all numerical objects. Its subclasses provide
specific representations of numbers. The subclasses are
Float, Fraction, and Integer. For a variety of reasons,
there are both Smalllntegers and Largelntegers; of these,
there are LargePositivelntegers and LargeNega-
tivelntegers.
Class Collection specifies protocol appropriate to ob-
jects representing collections of objects. These include
Bag, Set, OrderedCollection, LinkedList, MappedCollec-
tion, SortedCollection, and IndexedCollection. The latter
provides protocol for objects with indexable instance
variables. It has subclasses String and Array. Elements of a
string are instances of class Character; bytes are stored in
instances of ByteArray. A subclass of String is Symbol; a
subclass of Set is Dictionary (a set of Associations).
Interval is a subclass of Collection with elements
representing an arithmetic progression. Intervals can be
created by sending the message to: or to:by: to Integer.
So, the expressions 1 to: 5 by: 1 and 1 to: 5 each create a
new Interval representing 1 , 2, 3, 4, 5. As a Collection, In-
terval responds to the enumeration message do:. For ex-
ample, in
(1 to: 5) do: [:index | anArray at: index put: index * 2]
the block argument index takes on successive values 1 , 2,
3, 4, 5.
For programmer convenience, an Integer also responds
to the messages to.do: and to.by.do:, allowing the paren-
theses in interval enumeration expressions to be omitted.
The ability to stream over indexed or ordered collec-
tions is provided by a hierarchy based on class Stream, in-
cluding ReadStream, WriteStream, and ReadAnd-
WriteStream. A file system, local or remote, is then im-
plementable as a subclass of these kinds of Streams.
Since instances of the system classes described above
are used in the implementation of all applications, an
understanding of their message protocol is as necessary to
understanding an implementation as an understanding of
the language syntax. These system classes are fully
described in the forthcoming Smalltalk books.
In addition to the basic data-structure classes, the
Smalltalk-80 system includes class descriptions to sup-
port interactive graphics (forms and images and image
editors, text and text editors), networking, standard files,
and hard-copy printing. A complete Smalltalk-80 system
contains about sixty class definitions, not including a
variety of windows or views, menus, scrollbars, and the
metaclasses. Many of these are discussed in companion
articles in this issue. (See Daniel H H Ingalls's 'The
Design Principles Behind Smalltalk," page 286, and Larry
Tesler's "The Smalltalk Environment," page 90.)
The important thing to note is that each of these class
descriptions is implemented in the Smalltalk-80 language
itself. Each can be examined and modified by the pro-
grammer. Some of the class descriptions contain methods
that reference primitive methods; only these methods are
implemented in the machine language of the implementa-
tion machine. It is a fundamental part of the philosophy
of the system design that the programmer have such com-
plete access. In this way, system designers, such as
members of the Xerox Learning Research Group, are able
to build the next Smalltalk in the complete context of
Smalltalk itself. ■
August 1981 © BYTE Publications lnc 47
References
Birtwistle, Graham; Ole-Johan Dahl; Bjorn Myhrhaug; and
Kristen Nygaard. Simula Begin. Philadelphia: Auerbach, 1973.
Goldberg, Adele and Alan Kay, editors. Smalltalk-72 Instruc-
tional Manual. Xerox PARC technical report, March 1976 (out
of print).
Goldberg, Adele; David Robson; and Daniel H H Ingalls.
Smalltalk-80: The Language and Its Implementation and
Smalltalk-80: The Interactive Programming Environment, 1981
(books forthcoming).
Ingalls, Daniel H H. "The Smalltalk-76 Programming System:
Design and Implementation." In Proceedings of the Principles
of Programming Languages Symposium, January 1978.
Kay, Alan, The Reactive Engine. Ph.D. Thesis, University of
Utah, September, 1969 (University Microfilms).
Glossary
Editor's Note: This glossary provides concise definitions for many of the keywords and concepts related to
Smalltalk-80. These definitions will be most useful if you first read the introductory Smalltalk articles. . . . GW
General Terminology
object a package of information and
descriptions of its manipulation
message a specification of one of an object's
manipulations
method a procedure-like entity; the descrip-
tion of a sequence of actions to be
taken when a message is received by
an object
class a description of one or more similar
objects
instance an object described by a particular
class
method die- a set of associations between
tionary message selectors and methods; in-
cluded in each class description
metaclass a class whose (single) instance is
itself a class
subclass a class that is created by sharing the
description of another class, often
modifying some aspects of that
description
Syntax Terminology
message re- the object to be manipulated, ac-
ceiver cording to a message
message sender the object requesting a manipulation
message selector a symbolic name that describes a
desired manipulation of an object
one of the objects specified in a
message that provides information
needed so that a message receiver
can be manipulated appropriately
a message without arguments
a message with a single argument
and a selector that is one of a set of
special single or double characters
a message that has one or more
arguments and a selector made up of
a series of identifiers with trailing
colons, one preceding each argu-
ment
message
argument
unary message
binary message
keyword mes-
sage
block
instance vari-
able
class variable
named variable
indexed variable
global or pool
variable
temporary vari-
able
pseudo-variable
nil
field
bytecode
object pointer
reference count
a literal method; an object repre-
senting a sequence of actions to be
taken at a later time, upon receiving
an "evaluation" message (such as
one with selector value or value:)
Semantics
a variable that is information used
to distinguish an instance from
other instances of the same class
a variable shared by all instances of
a class and the class itself
an instance variable that is given a
name in the class of the instance; the
name is used in methods of the class
an instance variable with no name,
accessed by message only; referred
to by an integer (an index)
a variable shared by instances of
several classes; a system example is
Smalltalk, a dictionary that includes
references to all the defined classes
a variable that exists only while the
method in which it is declared is in
the process of execution
a variable available in every method
without special declaration, but
whose value cannot be changed us-
ing an assignment. System examples
are self, super and thisContext.
a special object, the only instance of
class UndefinedObject
Implementation Terminology
the memory space in which the
value of an object's variable is
stored
a machine instruction for the virtual
machine
a reference to an object
of an object, is the number of ob-
jects that point to it (ie: that contain
its object pointer)
48 August 1981 © BYTE Publications lnc
Circle 336 on inquiry card.
Robots:
the future arrivt
(t'^_
- *\
Rw V !■. 1
%l IINMEY
'An asteroid mining team of
the 21st century. Not a human team, but
a team of self-replicating intelligent robots.
1961 Enter the first industrial robot— blind and unable
to respond to its environment— capable only of
unvarying, repetitive tasks.
1975 Robots with touch sensing begin to do precision
assembly.
1981 Robots are no longer blind — silhouette vision
arrives.
1982 Robots feel with an artificial skin.
1986 Robots adapt to the unstructured human envi-
ronment.
1987 Reasoning robots hear and speak human
speech.
The advances that make th
Robotics Age Magazine,
1990 Walking robots explore the surface of Mars.
1996 Orbiting robot factories construct solar power
stations.
2000 and beyond: Self-replicating robots terraform
the cosmos.
This future is unfolding today exclusively in
the pages of Robotics Age. Every two
months we bring you the latest state-of-
the-art robotic technology— from artificial
intelligence, to automated robotic
factories, to personal robots.
Join us in the robotics age.
is a picture of our future are happening today.
Post Office Box 423, Tujunga, California 91042
Ciarcia's Circuit Cellar
Build a Z8-Based Control
Computer with BASIC, Part 2
The Z8-BASIC Microcomputer
system described in this two-part
article is unlike any computer pre-
sently available for dedicated control
applications. Based on a single-chip
Zilog Z8 microcomputer with an on-
board tiny-BASIC interpreter, this
unit offers an extraordinary amount
of power in a very small package. It is
no longer necessary to use expensive
program-development systems. Com-
puter control can now be applied to
many areas where it was not
previously cost-effective.
The Z8-BASIC Microcomputer is
intended for use as an intelligent con-
troller, easy to program and inexpen-
sive enough to dedicate to specific
control tasks. It can also serve as a
low-cost tiny-BASIC computer for
general interest. Technical specifica-
tions for the unit are shown in the "At
a Glance" box on page 52.
Last month I described the design
of the Z8-BASIC Microcomputer
hardware and the architectures of the
Z8671 microcomputer component
and Z6132 32 K-bit Quasi-Static
Memory. This month I'd like to con-
tinue the description of the tiny-
BASIC interpreter, discuss how the
BASIC program is stored in memory,
and demonstrate a few simple appli-
cations.
Process-Control BASIC
The BASIC interpreter contained in
Copyright © 1981 by Steven A Garcia.
All rights reserved.
Steve Garcia
POB 582
Glastonbury CT 06033
ROM (read-only memory) within the
Z8671 is officially called the Zilog
BASIC/Debug monitor. It is essen-
tially a 2 K-byte integer BASIC which
has been optimized for speed and
flexibility in process-control applica-
tions.
There are 15 keywords: GOTO,
GO@, USR, GOSUB, IF... THEN,
INPUT, IN, LET, LIST, NEW, REM,
RUN, RETURN, STOP, PRINT (and
PRINT HEX). Twenty-six numeric
variables (A through Z) are sup-
ported; and numbers can be ex-
Photo 1: Z8-B ASIC Microcomputer. With the two "RAM" jumpers installed, it is
configured to operate programs residing in the Z6132 Quasi-Static Memory. A
four-position DIP (dual-inline pin) switch (at upper right) sets the serial data rate
for communication with a user terminal connected to the DB-25S RS-232C con-
nector on the top center. The reset button is on the top left.
50 August 1981 © BYTE Publications Inc
Circle 13 on inquiry card.
NEVER UNDERSOLD.
Thats right. If you can find a lower
price in this magazine WE WILL BEAT IT! Period.*
S-100 HARDWARE
Versa Floppy I kit $259
Versa Floppy II kit $349
ExpandoRam II kit $249
ITHICA INTERSYSTEMS . . . ,$CALL
ALTOS $CALL
NORTHSTAR $CALL
SUPPLIES
Verbatim Datalife Diskettes
MD525-01,10,16 $26.50
FD34-9000 $30.00
FD34-8000 $44.00
Avery Tabulables
5,000 3 J* X 1 5/1 6 $1 8.75
3,000 3^ X 1 5/1 6 $14.25
1,000 3 1 / a X15/16 $8.15
UARCO Paper [prices are FOB S.P.]
9 1 /sX11,15or18Lb $25.95
147/8X11, 15or18Lb. $35.00
SOFTWARE
Microsoft Basic-80 $299
Microsoft Basic Compiler ... .$319
Magic Wand $275
Apple Visicalc $113
Pickles and Trout CP/M® .... $1 75
APPLE HARDWARE
Microsoft Z-80 Softcard . $259
Microsoft Ramcard $1 70
SSMAIOAST $165
SYMTEC Apple Light Pen $219
MOUNTAIN HARDWARE:
Super Talker $270
ROMWRITER $157
INTROL/X-10 $180
R0MPLUS + $162
MUSICSYSTEM $499
Apple Clock $252
Lobo Drive $CALL
Videx 80x24 $299
Andromeda $1 70
M & R Sup-R-Term $299
Enhancer $1 00
NEC Green Monitor $240
Sanyo Green Monitor .... $240
D.C. Hayes Micromodem .$299
CALIFORNIA COMPUTER
SYSTEMS
See our full page ad in this
magazine.
ALPHA
BYTE
STORE/
PRINTERS
EPSON MX-80 CALL
MX-80 Graphics ROM . . . CALL
NEW EPSON MX-80 TF . . CALL
Okidata Microline 80 . . . < $41 5
Okidata Microline 82 $625
Okidata Microline 83 $899
IDS Paper Tiger 460G . $1050
AnadexDP-9000,1 ... .$1195
AnadexDP-9500,1 ... $1295
Centronics 737 $689
NEC Spinwriter $CALL
NEC w/ Sellum Option . . . $CALL
C. Itoh Starwriter 25 cps$1 440
C. Itoh Starwriter 45 cps$1 770
Diablo 630 $2195
Malibu165 $1995
Malibu200 $CALL
MPI88G $495
TRS-80 HARDWARE
TRS-80's $CALL
Micropolis 77 track ...... $399
Percom Doubter $199
Percom Separator $27
Orchestra 80 $79
5115 Douglas Fir Road • Suite B • Calabasas, CA 91302
* Include IB. 00 shipping and handling on all orders. Vlaa and Master Card accaptad. Navar undaraold offar applies only to itama currently dalivarabla from othar
retail vandora at advertised prica. All navar undaraold offara good aa aupply laata. Plaaaa add 18.00 for all COD ordara. Plaaaa call for Itama not ilatad. Wa glad-
ly anawar any quaatlana on all of our hardwara, aoftwara, and aupply needs. Quanlttty dlacounta available. School purchase ordara accepted. Plaaaa remember
to figure competitors shipping and handling chargaa whan arriving at navar undaraold price.
[213) 883-8594
pressed in either decimal or hexadeci-
mal format. BASIC/Debug can
directly address the Z8's internal
registers and all external memory.
Byte references, which use the "@"
character followed by an address,
may be used to modify a single
register in the processor, an I/O port,
or a memory location. For example,
@4096 specifies decimal memory
location 4096, and @%F6 specifies
the port-2 mode-control register at
decimal location 246. (The percent
symbol indicates that the characters
following it are to be interpreted as a
hexadecimal numeral.) To place the
value 45 in memory location 4096,
the command is simply, @4096 = 45
(or @%1000=%2D).
Command abbreviations are stan-
dard with most tiny-BASIC interpre-
ters, but this interpreter allows some
extremes if you want to limit program
space. For example:
IF 1>X THEN GOTO 1000
can be abbreviated
IF1>X 1000
PRINT'THE VALUE IS ";S
can be abbreviated
"THE VALUE IS ";S
IFX = YTHENIFY = Z
THEN PRINT "X = Z"
can be abbreviated
IFX = YIF Y = Z"X = Z"
One important difference between
most versions of BASIC and Zilog's
BASIC/Debug is that the latter
allows variables to contain statement
numbers for branching, and variable
storage is not cleared before a pro-
gram is run. Statements such as
GOSUB X or GOTO A*E-Z are
valid. It is also possible to pass values
from one program to another. These
variations serve to extend the capa-
bilities of BASIC/Debug.
In my opinion, the main feature
that separates this BASIC from others
is the extent of documentation sup-
plied with the Z8671. Frequently, a
computer user will ask me how he can
obtain the source-code listing for the
BASIC interpreter he is using. Most
often, I have to reply that it is not
available. Software manufacturers
that have invested many man-years
_At a Glance.
Photo 2: The Z8/ Micromouth demonstrator. A Z8-BASIC Microcomputer is
configured to run a ROM-resident program that exercises the Micromouth speech
synthesizer presented in the June Circuit Cellar article. A Micromouth board
similar to that shown on the left is mounted inside the enclosure. Six pushbutton
switches, connected to a parallel input port on the Z8 board, select various
speech-demonstration sequences. The Micromouth board is driven from a second
parallel port on the Z8 board.
Name
Z8-BASIC Microcomputer
Processor
Zilog Z8-family Z8671 8-bit microcomput-
er with programmable (read/write)
memory, read-only memory, and I/O in a
single package. The Z8671 includes a
2 K-byte tiny-BASIC/Debug resident in-
terpreter in ROM, 144 internal 8-bit
registers, and 32 I/O lines. System uses
7.3728 MHz crystal to establish clock
rate. Two internal and four external inter-
rupts.
Memory
Uses Z6132 4 K-byte Quasi-Static
Memory (pin-compatible with 2716 and
2732 EPROMs); 2 K-byte ROM in Z8671.
Memory externally expandable to 62 K
bytes of program memory and 62 K bytes
of data memory.
Input/Output
Serial port: RS-232C-compatible and
switch-selectable to 110, 150, 300, 1200,
2400, 4800, and 9600 bps.
Parallel I/O: two parallel ports; one
dedicated to input, the other bit-
programmable as input or output; pro-
grammable interrupt and handshaking
lines; LSTTL-compatible.
External I/O: 16-bit address and 8-bit
bidirectional data bus brought out to ex-
pansion connector.
BASIC Keywords
GOTO, GO®, USR, GOSUB,
IF... THEN, INPUT, LET, LIST, NEW,
REM, RETURN, RUN, STOP, IN,
PRINT, PRINT HEX. Integer
arithmetic/logic operators: +, — , /, *,
and AND; BASIC can call machine-
language subroutines for increased execu-
tion speed; allows complete memory and
register interrogation and modification.
Power-Supply Requirements
+ 5 V ±5% at 250 mA
+ 12 V ±10% at 30 mA
-12 V ±10% at 30 mA
(The 12 V supplies are required only for
RS-232C operation.)
Dimensions and Connections
4- by 4Vi-inch board; dual 22-pin
(0.156-inch) edge connector. 25-pin RS-
232C female D-subminiature (DB-25S)
connector; 4-pole DIP-switch data-rate
selector.
Operating Conditions
Temperature: to 50 °C (32 to 122 °F)
Humidity: 10 to 90% relative humidity
(noncondensing)
52 Augusl 1981 © BYTE Publications Inc
Circle 170 on inquiry card.
n Language
lies The Future,
Paul Lutus creates language. Language for the future.
From him we have Apple Writer, Apple World and MusiComp.
His software was used by the Viking Mars
Lander team and other advanced
space programs.
For the past three years he has
applied himself to the development
of more efficient and powerful
computer languages to
help him with his work.
These new languages \
of the future are now \
available for your use \
exclusively from Insoft.
See the new world of
programming from Insoft
pie dealer.
llil^
.tered trademark
pple Computer, Inc.
The languages of the future. The tools of today.
259 Harriett Rd. / Unit 3 / Medford, Or 97501 / (503) 779-2465
The fin
brilliant e
• Fully compiled
• Floating point
• Transcendental functions
• Strings and arrays
• Hires, Lores and Turtlegraphics
• Music
Far more compact and approachable than
Pascal, TransFORTH II is both recursive and
structured and easier to use than BASIC.
Over three years in development, this high
level language enables you to program in
English with far greater speed and conven-
ience than ever before possible.
TransFORTH II. A transformation in
computer programming. Available today.
The Assembly Language Development
System. Already the preferred assembler for
professional software developers.
• Object files to 18K
• Source files to 37K
• Cursor based screen editor
• Upper and lower case text entry
> Nested macro instructions
• Local, global and universal labels
> Comprehensive error trapping
The enormous file capacity of ALD System
II assures you of the ability to develop
virtually any imaginable software system.
And you can do so with ease since ALD
System li edits with the simplicity of a word
processor.
ALD System II. Powerful yet convenient.
The first choice of professionals.
The best comes last. Both new
programs are available for the
Apple II or Apple III.
Circle 137 on inquiry card.
DISCOUNT
LINE
1-800-528-8960
1-602-861-3181 Arizona
TWX #910-950-1194
ANADEX
9500-$1275 9501 -$1275
ATARI
400-$435 800-$7*>0
CENTRONICS
730-$600 737-$750
DATASOUTH
DS1 20-$595 DS1 80-$1 375
DIABLO
630-$21 50 l640-$2575
EPSON
MX70-$395 MX80-$470
HAZELTINE
1 ^21 -$755 1520-$1 350
1500-$995 Esprit-$650
IDSI
#60 Breakout "Blue Box"-$250
LOBO
Drive/Control ler-$ i t90
Drive-$390
MODEMS
Cat-$155 Hays-$325
MONITORS
Leedex-$135 Sanyo-$l65
MPI
88G-$595 99G-$725
NEC
5510-$25 / t0 5520-$2900
OKIDATE
M80-$385 SL125-$3150
M82-$550 SL160-$3150
M83-$825 SL250-$4200
TELEVIDEO
912-$725 950-$995
Tl
810-$U75 820-$1 795
SOROC
IQJ20-$730 1 0.1 35- $800
SSM
AI0-$160
ZENITH
Z89-$2150
Add - 3% Charge Cards
2% Shipping
EXPOTEK
CORPORATION
2231R W. Shangri La Rd.
Phoenix, AZ 85029
in a BASIC interpreter are not easily
persuaded to give away its secrets.
In most cases, however, a user
merely wants to know the location of
the GOSUB... RETURN address stack
or the format and location of stored
program variables. While the source
code for BASIC/Debug is also not
available (because the object code is
mask-programmed into the ROM,
you couldn't change it anyway), the
locations of all variables, pointers,
stacks, etc, are fixed, and their stor-
age formats are defined and described
in detail. The 60-page BASIC/Debug
user's manual contains this informa-
tion and is included in the 200 pages
FFFF
FFFD
Data-rate switches
Remainder
C000
undefined
BFFF
User-memory and l/O-
expansion area
8000
7FFF
2000
undefined
17FF
On-board 4 K bytes of read/write
memory or EPROM
800
7FF
100
BASIC/Debug ROM
FF
00
Z8 registers
Figure Is A simplified hexadecimal
memory map of the Z8-BASIC Micro-
computer.
of documentation supplied with the
Z8-BASIC Microcomputer board.
(The documentation is also available
separately.)
Memory Allocation
Z8-family microcomputers distin-
guish between four kinds of memory:
internal registers, internal ROM, ex-
ternal ROM, and external read/write
memory. (A slightly different dis-
tinction can also be made between
program memory and data memory,
but in this project this distinction is
unnecessary.) The register file resides
in memory-address space in hexadeci-
mal locations through FF (decimal
through 255). The 144 registers in-
clude four I/O- (input/output) port
registers, 124 general-purpose regis-
ters, and 16 status and control regis-
ters. (No registers are implemented in
hexadecimal addresses 80 through EF
[decimal addresses 128 through 239]).
The 2 K-byte ROM on the Z8671
chip contains the BASIC/Debug in-
terpreter, residing in address space
from address to hexadecimal 7FF
(decimal to 2047). External memory
starts at hexadecimal address 800
(decimal 2048). A memory map of the
Z8-BASIC Microcomputer system is
shown in figure 1.
When the system is first turned on,
BASIC/Debug determines how much
external read/write memory is avail-
able, initializes memory pointers, and
checks for the existence of an auto-
start-up program. In a system with
external read/write memory, the top
page is used for the line buffer,
program-variable storage, and the
GOSUB... RETURN address stack.
Program execution begins at hexadec-
imal location 800 (decimal 2048).
When BASIC/Debug finds no ex-
ternal read/write memory, the inter-
nal registers are used to store the vari-
ables, line buffer, and GOSUB... RE-
TURN stack. This limits the depth of
the stack and the number of variables
that can be used simultaneously, but
the restriction is not too severe in
most control applications. In a sys-
tem without external memory, auto-
matic program execution begins at
hexadecimal location 1020 (decimal
4128).
GUARANTEED RELIABLE
FOR 2 FULL YEARS.
Unprecedented product reliability deserves an
unprecedented warranty. IMS International
provides its dealers with both.
Our commitment is real.
We are so confident that our products are the
industry standard in reliability, we stand behind
them for two full years from date-of-sale to the
end user. All IMS manufactured products are
covered.
The success of our dealers will insure our
continued growth. That's why IMS International
is committed to providing every IMS dealer with
these distinct advantages in today's marketplace:
• 2 year warranty
• Low retail cost
• Best margins in the industry
• Protected territories
• Full factory technical support
• Complete system delivery in 30 days
• Comprehensive advertising and promotional
support
For more information about IMS International's
"Reliables" and our unique dealer plan, call
714/978-6966 or write us:
2800 Lockheed Way
Carson City, NV 89701
international Telex : 910-395-6051
Circle 164 on Inquiry card.
BYTE August 1981 55
In a system that uses an external
2 K-byte EPROM (type 2716), wrap-
around addressing occurs, because
the state of the twelfth address line on
the address bus (All) is ignored. (A
4 K-byte type-2732 EPROM device
does use All.) A 2716 EPROM de-
vice inserted in the Z6132's memory
socket will read from the same mem-
ory cells in response to accesses to
both logical hexadecimal addresses
800 and 1000. Similarly, hexadecimal
addresses 820 and 1020 will be treated
as equivalent by the 2716 EPROM.
Therefore, when a 2 K-byte 2716
EPROM is being used, the auto-start
address, normally operating at hexa-
decimal 1020, will begin execution of
Listing 1: Simple illustration of BASIC program storage in the Z8-BAS1C Microcom-
puter.
100 PRINT T
800 00 64 50 52 49 4E 54 20 22 54
E S T
80A 45 53 54 22 00 FF FF
Listing 2: A multiple-line illustration of BASIC program storage.
100 A = 5
200 B = 6
3005 "A*B = ";A*B
100 A = 5 200 B
00 64 41 3D 35 00 00 C8 42 3D
6 3005 " A * B = "
36 00 0B BD 22 41 2A 42 3D 22
A * B
3B 41 2A 42 00 FF FF
800
80A
814
GET YOUR SHARE OF THE MICRO MARKET!
IF A NUDGE IS ALL YOU NEED, READ ON....
HARDWARE — Boards, systems and support at the right
price, featuring CCS, Televideo and others.
SOFTWARE — Many industry-standard packages and
some unique surprises, such as:
AUTOGEN — Interactively reconligure your CP/M* BIOS.
Bring new peripherals on-line quickly.
READER — Analyze your English prose. Measure how
easy or hard it is to read.
Ti. — Do discrete-event simulation on a micro.
Write parallel programs, schedule resources,
much more.
INTERESTED? GET OUR CATALOG FOR THE FULL STORY!
CALL OR WRITE NOW!
Ill Ml
MICROCOMPUTER APPLICATIONS, INC.
11124 JOL.I.YVILLE ROAD, AUSTIN. TX 78759
(512) 346-5264
any program beginning at hexadeci-
mal location 820. For the purposes of
this discussion, you may assume that
programs stored in EPROM use type-
2716 devices and that references to
hexadecimal address 820 also apply
to hexadecimal address 1020.
Program Storage
The program-storage format for
BASIC/Debug programs is the same
in both types of memory. Each
BASIC statement begins with a line
number and ends with a delimiter. If
you were to connect a video terminal
or teletypewriter to the RS-232C
serial port and type the following
line:
100 PRINT "TEST"
it would be stored in memory begin-
ning at hexadecimal location 800 as
shown in listing 1.
The first 2 bytes of any BASIC
statement contain the binary equiva-
lent of the line number (100 decimal
equals 64 hexadecimal). Next are
bytes containing the ASCII (Ameri-
can Standard Code for Information
Interchange) values of characters in
the statement, followed by a delimiter
byte (containing 00) which indicates
the end of the line. The last statement
in the program (in this case the only
one) is followed by 2 bytes containing
the hexadecimal value FFFF, which
designates line number 65535.
The multiple-line program in listing
2 further illustrates this storage for-
mat.
One final example of this is il-
lustrated in listing 3 on page 58. Here
is a program written to examine itself.
Essentially, it is a memory-dump
routine which lists the contents of
memory in hexadecimal. As shown,
the 15-line program takes 355 bytes
and occupies hexadecimal locations
800 through 963 (decimal 2048
through 2499). I have dumped the
first and last lines of the program to
further demonstrate the storage
technique.
I have a reason for explaining the
internal program format. One of the
useful features of this computer is its
ability to function with programs re-
siding solely in EPROM. However,
56 August 1981 © BYTE Publications Inc
Circle 235 on inquiry card.
CIS COBOL™' software with FORMS-2™
for Apple II® computers is here. Now.
From Micro Focus.
Apple II users . . . the wait is over. And your pa-
tience has paid off. Now you can create serious
business programs with the world's most popular
professional programming language— COBOL.
And, run them on the industry standard operating
system— CP/M™.
COBOL — the only standard lan-
guage designed exclusively for
business programming.
COBOL gives you programs
that are easy to write, easy to
read, easy to maintain and easy
to learn.
A complete program in
20 minutes.
FORMS-2, a COBOL
source-code gen-
erator, lets you
begin with a
blank screen . . .
and end with a
fully-operational
program.
FORMS-2 gener-
ates standard
COBOL code.
You can use it as
is. Or build on it
to create even
more sophisti-
cated programs.
Business computer
compatibility.
CIS COBOL on Apple II is standard COBOL.
(ANSI X3.23-1974) With it, you have the broadest
applications flexibility available today. And the
most reliable.
Powerful file handling.
You can grow with CIS COBOL. It provides you
with all the power of ANSI COBOL file handling.
Underlying B-tree technology takes care of large
ISAM files . . . fast.
Circle 189 on inquiry card.
Quick, convenient program development.
With CIS COBOL and FORMS-2, you have your
very own low-cost tools that allow you to get work
done faster and less expensively than ever before.
Features include interactive debug, fast compile-
and-go, interactive screen creation and dynamic
loading of modules.
GSA approved.
CIS COBOL is certified on Apple II by the Gen-
eral Services Administration. Which means it's
been tested, re-tested and tested again ... all un-
der the most demanding conditions. No wonder
it's been chosen for use by over 25 of the
world's leading computer manufacturers.
See your Apple dealer for a demonstration.
Don't wait any longer. Get all the details about
CIS COBOL and
FORMS-2 today.
For further informa-
tion, visit your near-
est Apple dealer. Or
call us at (408) 248-
3982 for a FREE
fact-filled brochure.
CIS COBOL and FORMS-
2 are trademarks of Micro
Focus, Inc. Apple II is a
registered trademark of Apple
Computer Inc. CP/M is a trade-
mark of Digital Research.
MICRO FOCUS
The COBOL Company
Micro Focus, Inc.
1601 Civic Center Dr., Santa Clara, CA 95050
Tel: (408) 248-3982
Telex: 171135 MISSION SNTA
Micro Focus LTD.
58 Acacia Rd., London N.W. 8, ENGLAND
Tel: (01) 722-8843/4/5/6/7
Telex: 28536 MICROF G
the EPROMs must be programmed
externally. While I will explain how
to serially transmit the contents of the
program memory to an EPROM pro-
grammer, some of you may have on-
ly a manual EPROM programmer or
one with no communication facility.
But if you are willing to spend the
time, it is easy to print out the con-
tents of memory and manually load
the program into an EPROM device.
Dedicated-Controller Use
The Z8-BASIC Microcomputer can
be easily set up for use in intelligent
control applications. After being
Listing 3: A program (listing 3a) that examines itself by dumping the contents of mem-
ory in printed hexadecimal form. Listing 3b shows the first and last lines of the program
as dumped during execution.
(3a)
100
102
103
105
107
110
120
130
140
150
180
200
250
300
310
(3b)
PRINT "ENTER START
PRINT "THE LIST IS
PRINT SPRINT
B-X+8 JA«X+C
PRINT "ADDRESS
PRINT HEX (X)» " " f
G0SUB 300
X--XT1
IF" X=B THEN GOTO 180
GOTO 120
if x>=a then 250
print: print *b=x+8: goto 110
print: stop
PRINT HEX <i?X)?: PRINT" "?
RETURN
ADDRESS EOR HEX DUMP
HOW MANY BYTES LONG
: INPUT X
INPUT C
DATA" t PRINT
:RUN
ENTER START ADDRESS FOR HEX DUMP ? 2048
THE LIST IS HOW MANY BYTES LONG ? 30
ADDRESS
DATA
100
P
R
I
N
T
-
800
64
50
52
49
4E
54
22
E
N
T
E
R
Bp
S
T
808
45
4E
54
45
52
20
53
54
A
R
T
op
A
D
D
R
810
41
52
54
20
41
44
44
52
E
S
S
sp
F
O
R
sp
818
45
53
53
20
46
4F
52
20
:RUN
ENTER START ADDRESS FOR HEX DUMP ? 2360
THE LIST IS HOW MANY BYTES LONG ? 45
ADDRESS
DATA
300
938
4F
50
1
2C
50
52
49
N
T
sp
H
E
X
sp
(
940
4E
54
20
48
45
58
20
28
@
X
)
;
sp
P
R
948
40
58
29
3B
3A
20
50
52
I
N
T
SP
»P
"
;
950
49
4E
54
22
20
20
22
3B
310
R
E
T
U
R
958
1
36
52
45
54
55
52
N
65535
960
4E
FF
FF
tested and debugged using a terminal,
the control program can be written
into an EPROM. When power is ap-
plied to the microcomputer, execu-
tion of the program will begin auto-
matically.
The first application I had for the
unit was as a demonstration driver
for the Micromouth speech-processor
board I presented two months ago in
the June issue of BYTE. (See "Build a
Low-Cost Speech-Synthesizer Inter-
face," in the June 1981 BYTE, page
46, for a description of this project,
which uses National Semiconductor's
Digitalker chip set.) It's hard to dis-
cuss a synthesized-speech interface
without demonstrating it, and I didn't
want to carry around my big com-
puter system to control the Micro-
mouth board during the demonstra-
tion. Instead, I quickly programmed
a Z8-BASIC Microcomputer to per-
form that task. While I was at it, I set
it up to demonstrate itself as well.
The result (see photo 2 on page 52)
has three basic functional com-
ponents. On top of the box is a
Z8-BASIC Microcomputer (herein-
after called the "Z8 board") with a
2716 EPROM installed in the memory
integrated-circuit socket, the
Z8-board power supply (the wall-
plug transformer module is out of
view), and six pushbutton switches.
Inside the box is a prototype version
of the Micromouth speech-processor
board (a final-version Micromouth
board is shown on the left).
The Micromouth board is jumper-
programmed for parallel-port opera-
tion (8 parallel bits of data and a
data-ready strobe signal) and con-
nected to I/O port 2 on the Z8 board.
The Micromouth BUSY line and the
six pushbuttons are attached to 7 in-
put bits of the Z8 board's input port
mapped into memory-address space
at hexadecimal address FFFD
(decimal 65533).
The most significant 3 bits of port
FFFD are normally reserved for the
data-rate-selector switches, but with
no serial communication required,
the data rate is immaterial and the
switches are left in the open position.
This makes the 8 bits of port FFFD,
which are brought out to the edge
58 August 1981 © BYTE Publications Inc
Circle 367 on inquiry card.
SYBEX DOES PASCAL
□ INTRODUCTION TO PASCAL
by RodnayZaks is a simple yet comprehensive guide to
standard and UCSD Pascals: step-by-step presentation
with exercises for beginners, complex concepts and
extensive appendices for experienced programmers.
An indispensible book for everyone who wants to
learn Pascal programming.
320 pp., 100 illustr., Ref. P310, $14.95
□ THE PASCAL HANDBOOK
by Jacques Tiberghien is an easy-to-read, easy-to-use
dictionary containing all the features for most existing
versions of Pascal (Standard, Jensen-Wirth, OMSI,
UCSD, HP1000, Pascal/Z). Over 180 entries, arranged
alphabetically; each includes definition, description,
syntax diagram, details of implementation, variations
and examples. The perfect reference tool for any
Pascal user.
500 pp., 150 illustr., Ref. P320, $14.95
□ PASCAL PROGRAMS FOR SCIENTISTS
AND ENGINEERS
by Alan Miller is a comprehensive collection of
frequently used algorithms for scientific and technical
applications programmed in PASCAL. This time saving
book includes programs for curve fitting, approxima-
tions, random number generation, integrals, statistical
techniques and more.
250 pp., 80 illustr., Ref. P340 D$1 6.95 paper, D$25.00cloth
^p^^ MAIL TO:
^^^ SYBEX DEPT. B81
r cvDcy 2344 S|XTH street
EA. BERKELEY, CA 94710
PHONE ORDERS:
INSIDE CA 415/848-8233
TOLL FREE OUTSIDE CA 800-277-2346
^^Jw II
NAME
ADDRESS
CITY
ADD
. D SEND ME YOUR FREE CATALOG
STATE
ZIP
□ $1.50/book UPS or D75<t/book 4th class mail or D$8/book overseas airmail
(CA add tax) Total amt. Enclosed ORCHARGEMYDVISADMCDAMEX.
CARD NO EXP. DATE
SIGNATURE
connector, available for external in-
puts. In this case, pressing one of the
six pushbuttons selects one of six
canned speech sequences.
Coherent sentences are created by
properly timing the transmission of
word codes to the speech-processor
board. This requires nothing more
than a single handshaking arrange-
ment and a table-lookup routine (but
try it without a computer sometime).
The program is shown in listing 4a.
The first thing to do is to configure
the port-2 and port-3 mode-control
registers (hexadecimal F6 and F7, or
decimal 246 and 247). Port 2 is bit-
programmable. For instance, to con-
figure it for 4 bits input and 4 bits out-
Listing 4: A program (listing 4a) that demonstrates the functions of the Micromouth
speech synthesizer, operating from a type-2716 EPROM. The simple I/O-address
decoding of the Z8 board allows use of the round-figure address of 65000. The program
uses a table of vocabulary pointers that has been previously stored in the EPROM by
hand. Listing 4b shows a dump of the memory region occupied by the program, prov-
ing that storage of the BASIC source code starts at hexadecimal location 820.
(4a)
@246=0:@247=113
X=@65000 :A=%1400
IF X=254 THEN @2=0
GOTO 500
A=A+3 2 :GOTO 500
A=A+64 :GOTO 500
A=A+96 :GOTO 500
A=A+128 :GOTO 500
100
110
120
130
140
150
160
170
180
200
300
310
320
500
510
520
530
1000
1005
1010
1015
1020
1030
IF
IF
IF
IF
IF
IF
GOTO
@2=N
X=253
X=251
X=247
X=239
X=223
X=222
110
:N=
THEN
THEN
THEN
THEN
THEN
THEN
N=0 :GOTO 300
N+l :IP N=143 THEN 110
IF @65000<129 THEN 310
GOTO 300
@2=@A :A=A+1
IF @65000<129 THEN 510
IF @A=255 THEN GOTO 110
GOTO 500
Q=2048
W=0
PRINT HEX(@Q) , :Q=Q+1
W=W+1 :IF W=8 THEN PRINT"
IF Q=4095 THEN STOP
GOTO 1010 ■■■■§
:GOTO 1005
(4b)
:goto
1000
FF
FF
FF
FF
FF
FF
FF
FF
64
3A
40
33
35
30
25
31
49
46
20
54
0!
AT
1015
FF
FF
FF
FF
40
32
30
34
20
48
FF
FF
FF
FF
32
34
6E
30
30
58
45
FF
FF
FF
FF
34
37
58
20
30
3D
4E
FF
FF
FF
FF
36
3D
3D
3A
32
20
put, you would load FO into register
F6 (246). In this case, I wanted it con-
figured as 8 output bits, so I typed in
the BASIC/Debug command @246 =
(set decimal location 246 to 0).
The data-ready strobe is produced
using one of the options on the Z8's
port 3. A Z8 microcomputer has
data-available and input-ready hand-
shaking on each of its 4 ports. To set
the proper handshaking protocol and
use port 2 as I have described, a code
of hexadecimal 71 (decimal 113) is
placed into the port-2 mode-control
register. The BASIC/Debug com-
mand is @247= 113. The RDY2 and
DAV2 lines on the Z8671 are con-
nected together to produce the data-
available strobe signal.
Lines 1000 through 1030 in listing
4a have nothing to do with demon-
strating the Micromouth board. They
form a memory-dump routine that il-
lustrates how the program is stored in
memory. You notice from the mem-
ory dump of listing 4b that the first
byte of the program, as stored in the
ROM, begins at hexadecimal location
820 (actually at 1020, you remember)
rather than 800 as usual. This is to
help automatic start-up. The program
could actually begin anyplace, but
you would have to change the pro-
gram-pointer registers (registers 8 and
9) to reflect the new address. The 32
bytes between 800 and 820 are re-
served for vectored addresses to op-
tional user-supplied I/O drivers and
interrupt routines.
Programming the EPROM
The first EPROM-based program I
ran on the Z8-BASIC Microcomputer
manually loaded. I simply
was
FF
FF
FF
FF
3D
31
40
41
35
FF
FF
FF
FF
30
31
36
3D
78
34
60 August 1981 © BYTE Publications Inc
Circle 380 on inquiry card.
w
m
System/48
1
1
:
i ■
The System/48 is the outstanding office automation com-
puting system for the 80's it's so productive we call it
MAGIC <£| . Look at these features:
• One to eight interactive users per node
• Data management system
• Report generator
• Query processor
• Screen format generator
• Automatic interface code generator
• Up to '' 2 Mbytes of user memory
• Winchester disk with 1 8-million bytes (formatted
capacity)
• 1 5-minute mean-time-to-repair
• Built-in protection from line-voltage spikes, noise, and
brownouts
And, it features MAGIC 61 , the Operating System that gets
things done faster than you can say abracadabra because
of its multi-keyed Indexed-Sequential Access Method and
flexible file-organization. MAGIC' also offers high security,
with password protection. MAGIC supports global or local
printers for as many users as desired.
MAGIC also includes DataMagic II — TEl's red-hot data-
base manager. DataMagic II has even more tricks up its
sleeve — like automatic or manual record-lock protection
and automatic transaction backout to protect the database.
And it runs application software written for CP/M 2.X.
Take a MAGIC leap into the future!
Arrange to attend one of our regularly scheduled System/
48 workshops (RSVP).
OEM and Dealer Inquiries Invited
5075 S. LOOP EAST. HOUSTON. TX. 77033
(713) 738-2300 TWX. 910-881-3639
Circle 408 on inquiry card.
If you have anything
to do with small
computers, you
should be reading
the Carl Helmers
PERSONAL
COMPUTER
l£TT£R
every month!
You won't want to miss a single issue of
the new Personal Computer Letter. . .
a monthly publication of comprehen-
sive studies on issues affecting design,
implementation, and applications of
small computer systems. The Personal
Computer Letter is a journal compiled
and edited by Carl Helmers, co-founder
and first editor of Byte Magazine. Here
is valuable information in professionally
prepared format about small com-
puters, software, peripherals, trends in
the industry, and new ideas. We accept
no advertising and the information
provided is available nowhere else.
Written for executives, decision-makers,
market strategists, product designers
and authors in the small computer field,
each 12 to 16-page issue contains
analysis and design studies by many
of the personal computer industry's
foremost experts. For example, the
current issue covers: Intelligent Serial
Line Filters: Exploring a family of
application oriented product ideas.
Subscribe today. Mail the coupon with
your check for $200 for the next 12
monthly issues. Sample issues at
$25 per copy, applicable to a full
year's subscription.
■ MB
■■■
eft
; '■.■;
NORTH AMERICAN
TECHNOLOGY, INC.
Strand Building
174 Concord St.,
Peterborough, NH 03458
(603) 924-6048
□ Enclosed is my $200 check or
money order for the next 12 issues
of the Personal Computer Letter.
□ Enclosed is my $25 check or money
order for a sample issue, applicable
to subscription price.
NAME
ADDRESS
CITY
STATE ZIP
I
I
i
I
i
I
D
I
I
J!
Photo 3: Type-2716 EPROM programmer, adapted from "Program Your Next
EROM in BASIC" (March 1978 BYTE, page 84). The circuit, which is driven
through parallel ports, programs a 2716 in about 2Vi minutes and is controlled by
a BASIC program.
printed out the contents of the Z6132
memory using the program of listing
3 and entered the values by hand into
the EPROM programmer. This is fine
once or twice, but you certainly
wouldn't want to make a habit of it.
Fortunately, there are better alterna-
tives if you have the equipment.
Many EPROM programmers are
peripheral devices on larger computer
systems. In such cases, it is possible to
take advantage of the systems' capa-
bilities by downloading the Z8 pro-
gram directly to the programmer.
The programmer shown in photo 3
is a revised version of the unit I
described in a previous article, "Pro-
gram Your Next EROM in BASIC"
(March 1978 BYTE, page 84). It was
designed for type-2708 EPROMs, but
I have since modified it to program
2716s instead. All I had to do was
lengthen the programming pulse to
50 ms and redefine the connections to
four pins on the EPROM socket. It
still is controlled by a BASIC pro-
gram and takes less than 2Vi minutes
to program a type-2716 EPROM de-
vice. Refer to the original article for
the basic design.
Normally, the LIST function or
memory-dump routine cannot be
62 August 1981 © BYTE Publications Inc
used to transmit data to the EPROM
programmer because the listing is
filled with extraneous spaces and car-
riage returns. It is necessary to write a
program that transmits the contents
of memory without the extra charac-
ters required for display formatting.
The only data received by the
EPROM programmer should be the
object code to load into the EPROM.
In writing this program we can take
advantage of the Z8's capability of
executing machine-language pro-
grams directly through the USR and
GO@ commands. The serial-input
and serial-output subroutines in the
BASIC/Debug ROM can be executed
independently using these com-
mands. The serial-input driver starts
at hexadecimal location 54, and the
serial-output driver starts at hexadec-
imal location 61. Transmitting a sin-
gle character is simply done by the
BASIC statement
GO@ %61,C
where C contains the value to be
transmitted. A serial character can be
received by
C = USR (%54)
Circle 278 on inquiry card. — ►
Model I
Model III
Products that set Precedents.
T
i
j$&
W'-'
*****
■i
aet
!R CP/M Adapt'
CBASIC II" CP/M
THE
BEST
WORD PROCESS
$1000.00 VALUE
ONLY
$ 299
I
IKUHM \KKS
•IRS HI) K«dio sh«ck/ Uiuly ( orp.
••I I' \l, Oigilil KneMch
"Mlisu II ( ompikr SyHtr
••••PMlll MV 1'ilinlir Inc.
rocessin
v^ i
^
^
v\'
offici
itflFtCi
Well, to begin with, color graphics.
RCA's VP-3301 has unique color-locking circuitry that gives
you sharp, jitter-free color graphics and rainbow-free characters.
Plus much more: Microprocessor control. Resident and
programmable character set. Reverse video. State-of-the-art
LSI video control. 20 and 40 character formats. RS232C and
20 mA current loop. Six baud rates. Eight data formats. ASCII
encoding. Light-touch flexible-membrane key switches for
reliability and long life. CMOS circuitry and a spill-proof, dust-
proof keyboard for hostile environments.
The VP-3301 can be used with a 525-line color or monochrome
monitor or a standard TV set through an RF modulator." It
serves a wide variety of industrial, educational, business and
individual applications including communication with time
sharing and data base networks such as those provided by
Dow Jones News/Retrieval Service, CompuServe and Source.
All this— for the low price of $369. And it's made by RCA. So
get the whole story about the surprising VP-3301 today. Write
RCA Microcomputer Marketing, New Holland Avenue,
Lancaster, PA 17604. Order toll-free: 800-233-0094.
"Model VP-3303 with built-in RF modulator-S389.
"Suggested user price. Monitor and modem not included.
Listing 5: BASIC statements that print out
the entire contents of the 4 K bytes of user
memory, for use with a communicating
EPROM programmer.
1000 X = %800 :REM BEGINNING OF
USER MEMORY
1010 GO® %61,@X :REM TRANSMIT
CONTENTS OF LOCATION X
1020X = X + 1 :IFX = °/o 1801 THEN
STOP
1030 GOTO 1010
Listing 6: A simple BASIC program seg-
ment to demonstrate the concept of the
"black box" method of modifying data be-
ing transmitted through the Z8-BAS1C
Microcomputer.
100 @246 = 0:@247=113 :REM SET PORT
2 TO BE OUTPUT
110 @2 = X :REM X EQUALS THE DATA
TO BE TRANSMITTED
where the variable C returns the
value of the received data.
To dump the entire contents of the
Z6132 memory to the programmer,
the statements in listing 5 should be
included at the end of your program.
Execution begins when you type
GOTO 1000 as an immediate-mode
command and ends when all 4 K
bytes have been dumped. The trans-
mission rate (110 to 9600 bps) is that
selected on the data-rate-selector
switches.
Conceivably, this technique could
also be used to create a cassette-stor-
age capability for the Z8 board. In
theory, a 3- or 4-line BASIC program
can be entered in high memory (you
can set the pointer to put the program
there) to read in serial data and load it
in lower memory. Changing the pro-
gram pointer back to hexadecimal
800 allows the newly loaded program
to be executed. Since the Z8-BASIC
Microcomputer already has a serial
I/O port, any FSK (frequency-shift
keyed) modem and cassette-tape re-
corder can be used for cassette data
storage.
I/O for Data Acquisition
Data acquisition for process con-
trol is the most likely application for
the Z8-BASIC Microcomputer. Low-
Circle 334 on inquiry card.
Customizable
The Unique Difference that Sets
VEDIT Apart in Full Screen Editors
Total user customizability is a predominate reason that
over a thousand users find VEDIT the easiest to use full screen
editor. It makes VEDIT the only editing package which allows
you to determine your own keyboard layout and use the cursor
and special function keys on any terminal having them. And
only VEDIT fully supports all of the newly available terminals. It
may come as a surprise to you, that with any other editor or word
processor, you will have to memorize obscure control
characters or multi-character sequences, while your terminal's
extra keys and editing functions go unused. The customization
extends to setting the default tab positions, scrolling methods
and much more. It's almost like designing your own editor for
your system, applications and preferences. And all of this is
easily done with the setup program which requires no
programming knowledge or 'patches', but simply prompts you
to press a key or enter a parameter.
Unequaled Hardware Support
The CRT version supports all terminals by allowing you to
select during setup which terminal VEDIT will run on. Features
such as line insert and delete, reverse scroll, status line and
reverse video are used on 'smart' terminals. All screen sizes are
supported, including large ones such as the 60 X 80 format on
the Ann Arbor Ambassador terminal. Special function keys on
terminals such as the Heath H19, Televideo 920C and IBM
3101 , and keyboards producing 8 bit codes are all supported.
The memory mapped version is extremely flexible and supports
bank select and hardware cursors such as on the SSM VB3.
With this level of customizability and hardware support, you will
feel for the first time that the software was optimally designed for
your system.
Fully Compatible Replacement for Ed
Since VEDIT creates and edits standard text files of up to
one diskette in length, it serves as a replacement for the CP/M
standard editor ED. Of course, you benefit from the fastest and
easiest to use 'What you see is what you get' type full screen
editing available, fast disk access and an editor which takes up
only 1 2K of your valuable memory space. With VEDIT you will
never again need or want to use the slow and tedious ED.
Special Features
VEDIT is more than just a full screen editing replacement
for ED, it gives you many new editing capabilities, such as a
scratchpad buffer for moving and rearranging sections of text,
complete file handling on multiple drives and iteration macros.
Amoung its special features you will find automatic indenting for
use with structured programming languages such as Pascal
and PL/1, and other special facilities for Assembler and COBOL.
A real time saver is the ability to insert a specified line range of
another file anywhere in the text. Unlike most software, VEDIT
will even tolerate your mistakes. For example, one key will
'Undo' the changes you mistakenly made to a screen line, and
the disk write error recovery lets you delete files or insert another
disk should you run out of disk space.
Ordering
Many dealers carry VEDIT, or you may contact us for fast
delivery. Specify the CRT version, your video board or
microcomputer, the 8080, Z80 or 8086 code version, and disk
format required.
VEDIT for 8080 or Z80: Disk and manual $130
VEDIT for CP/M-86: Disk and manual . (NEW) $ 1 85
Manual: Price refunded with software purchase $15
VISA or MASTERCARD Welcomed
CP/M and MP/M are registered trademarks of Digital Research.
Inc. Apple II is a registered trademark of Apple Computer. Inc.
SoftCard is a trademark of Microsoft. TRS-80 is a trademark of
Tandy Corp.
North Star * Cromemco • Heath H8/H89 • SuperBrain • Apple II Softcard * TRS-80 Model II & Model
Most other CP/M Systems with CRT or Memory Mapped Displays * MP/M ■ CP/M-86
CompuView Products Inc.
618 Louise, Ann Arbor, Michigan 48103 • Telephone (313) 996-1299
Circle 85 on inquiry card.
INPUT CHANNELS
D7 O
Number
Type
+ 5V
GND +12V
IC1
74LS04
14
7
IC2
74LS30
14
7
IC3
74LS02
14
7
IC4
74LS373
20
10
IC5
ADC0808
see sc
nematic diagram
IC6
LM301
4 7
IC7
74LS00
14
7
Figure 2: Schematic diagram of an A/D
converter. This 8-bit, eight-channel unit
has a unipolar input range of to +5 V,
with the eight output channels addressed
as I/O ports mapped into memory-
address space at hexadecimal addresses
BF00 through BF07.
cost distributed control is practical,
substituting for central control per-
formed by a large computer system.
Analog and digital sensors can be
read by a Z8-BASIC Microcomputer,
which then can digest the data and re-
duce the amount of information (ex-
periment results or control param-
eters) stored or transmitted to a cen-
tral point. Control decisions can be
made by the Z8-BASIC Microcom-
puter at the process locality.
The Z8 board can be used for
analog data acquisition, perhaps us-
ing an A/D (analog-to-digital) con-
verter such as that shown in figure 2.
This 8-bit, eight-channel A/D con-
verter has a unipolar input range of
to +5 V (although the A/D in-
tegrated circuit can be wired for
bipolar operation), with the eight
output channels addressed as I/O
ports mapped into memory-address
space at hexadecimal addresses BF00
through BF07 (decimal 48896 through
48903). When the Z8671 performs an
output operation to the chara\el ad-
dress, the channel is initialized for ac-
quiring data, while data is read from
the channel when the Z8671 performs
66 August 1981 © BYTE Publications Inc
DAV2<
P3 6 [i0>^
P2 \TT>-
P2lEl>-
P2 2 (U>-
P2 3 (15^
P2 4(H>-
P2 5 Q7>-
P2 6 [H>-
P2 7 \T£ > -
23
IC1
COM2017
UART
TD1
TD2
TD3
TD4
TD5
TD6
TD7
TD8
CS
NP
TSB
NB2
NB1
EPS
XR
GMD
21
Number
Type
+5V GND
IC1 COM2017 1 3
IC2 COM5016 2 11
IC3 COM 1488 7
12V +12V
2
1
9
14
I C 3
MC1488
+ 5V
+ 5V
A
12
STR STT
P-A
IC2
COM5016
1 B
XTAL1
P-D
XTAL2
4.7K-
CRYSTAL
5.0688MHz
DB-25
CONNECTOR
I
I
{£>
i
RS-232C
OUTPUT
SWl
^o-
SW2
*SJ
DATA-RATE
GENERATOR
m
Figure 3: Schematic diagram of an RS-232C serial output port for the "black box" communication application of the Z8-BASIC
Microcomputer. The Z8671 must be configured by software to provide the proper signals: one such signal,
DAV2, is derived from two bits of I/O port 3 on the 2.8671. The pin numbers shown in the schematic diagram for P3, and P3 6 are
pins on the 7,8671 device itself, not pins or sections on the card-edge connector, as are P2 through P2 7 .
an input operation on the channel's
address.
Intelligent Communication
Another possible use for the
Z8-BASIC Microcomputer is as an in-
telligent "black box" for performing
predetermined modification on data
being transmitted over a serial com-
munication line. The black box has
two DB-25 RS-232C connectors, one
for receiving data and the other for
retransmitting it. The intelligence of
the Z8-BASIC Microcomputer, acting
as the black box, can perform prac-
tically any type of filtering, condens-
ing, or translating of the data going
through.
Perhaps you have an application
where continuous raw data is trans-
mitted, but you would rather just
keep a running average or flag devia-
tions from preset limits at the central
monitoring point rather than contend
with everything. The Z8 board can be
programmed to digest all the raw
data coming down the line and pass
THE
IEEE 488 TO S'lOO INTERFACE
< ^IEEE-488^ >
S-100
■Handles all IEEE-488 1975/78 functions
■IEEE 696 (S-100) compatible
■MBASIC subroutines supplied; no BIOS
mods required
■3 parallel ports (8255A-5)
■Industrial quality; burned in and tested
(Dealer inquiries invitedl
D&W DIGITAL
1524 REDWOOD DRIVE
LOS ALTOS, CA 95030 1415) 966-1460
Circle 98 on inquiry card.
August 1981 © BYTE Publications Inc 67
^
Circle 370 on inquiry card.
DISCOUNT
HARDWARE
IEEE 696/S-1 00 Standard Boards
Assembled, tested, warranted
(SmpuPro
from
STATE OF THE ART CPU BOARDS
DUAL CPU 8/16 bit $349
Z-80 CPU $249
FAST RELIABLE STATIC MEMORY
16K $299 32K $549
48K $799 64K $999
SYSTEM AUGMENTATION
BOARDS
I/O- 1 2 RS232 Serial Ports $199
l/0-ll 3 Parallel, 1 Serial Ports $199
l/O-lll 8-Port $549
DISK-1 DMA Disk Cont $399
MPX Multiplex Channel $399
SUPPORT-1 Multifunction $299
Port, clock, interrupts
timers, battery back-up
7 Boards in one
DISCOUNT HARDWARE
Division of System Interface Consultants, Inc.
1 7440 Revello Drive
Pacific Palisades, CA 90272
Enclosed is $
Please express the following assembled,
tested, and warranted IEEE 696/S-100
boards:
Name _
Address.
Phone i
Add S25 to each order for express shipping, handling
and insurance. California residents add 6% tax. Allow
2 weeks for personal checks. Prices subject to change
without notice.
CALL FOR INFORMATION AND PRICES ON
Mainframes, terminals, printers, and complete
integrated and tested systems to meet
YOUR UNIQUE REQUIREMENTS.
(213) 454-2100
DISCOUNT HARDWARE
Division of System Interface Consultants, Inc.
Computer Specialists Established 1969
70 August 1981 © BYTE Publications Inc
Photo 4: A three-integrated-circuit hardwired serial output port for the
Z8-BASIC Microcomputer. Connected to port 2, any program data sent to
register 2 will be transmitted serially at the data rate selected on the four-position
DIP switch (between 50 to 19200 bps). The Z8 board, configured with two serial
ports, is used to process raw data moving through it. Data is received on one
side, digested, and retransmitted in some more meaningful form from the other
port. Such a configuration could also be used to connect two peripheral devices
that have radically different data rates.
on only what's pertinent.
Another such black-box applica-
tion is to use the Z8 board as a printer
buffer. Photo 4 shows the interface
hardware of one specific application,
which I used to attach a high-speed
computer to a very slow printer. The
host computer transmitted data to the
Z8 board at 4800 bps. Since the re-
ceiving serial port used had to be bidi-
rectional to handshake with the host
computer, I added another serial out-
put to the Z8 board for transmitting
characters to the printer. Only three
integrated circuits were required to
add a serial output port. A schematic
diagram is shown in figure 3 on page
67. The UART (universal asynchro-
nous receiver/ transmitter, shown as
IC1) is driven directly from port 2 on
the Z8 board (port 2 could also be
used to directly drive a parallel-inter-
face printer), and IC2 supplies the
clock signal for the desired data rate.
Of course, the UART could have
been attached to the data and address
buses directly, but this was easier.
Transmitting a character out of this
serial port requires setting the port-2
and port-3 mode-control registers as
before. After that, any character sent
to port 2 will be serially transmitted.
The minimum program to perform
this is shown in listing 6 on page 64.
This circuit can also be used for
downloading programs to the
EPROM programmer.
In Conclusion
It is impossible to describe the full
potential of the Z8-BASIC Micro-
computer in so few pages. For this
reason, considerable effort has been
taken to fully document its character-
istics. I have merely tried to given an
introduction here.
I intend to use the Z8-BASIC
Microcomputer in future projects. I
am interested in any applications you
might have, so let me know about
them, and we can gain experience
together.
We know just how
good G&L
Microcomputers are.
Because we use them
in our own
PC's and CNC's.
And now we can fill all your
needs with reliable industrial
grade modules.
GL 868 MODULES
• CPU-FPA PROCESSOR
• RAM-CMOS-EPROM
• ANALOG MODULES
• VIDEO MODULES
• SERVO MODULES
NESTS-POWER SUPPLIES
• HALF NEST
• FULL NEST
• MASTER RACK
• POWER SUPPLIES
PERIPHERALS
SOFTWARE PACKAGES
DEVELOPMENT SYSTEMS
RELIABILITY
• 130°F AMBIENT RATED
• 95% RELATIVE HUMIDITY
• PRE-TESTED CHIPS WITH 125°C,
168 HOUR BURN-IN
• MODULE BURN-IN AND TEST AT 130°F
FOR 40 HOURS
GET THE FACTS
Ask for the fact-packed GL868 booklet.
Giddings & Lewis Electronics Co.,
P.O. Box 1658, 666 S. Military Road,
Fond du Lac, Wl 54935, U.S.A. Telephone
(414)921-9400.
Electronics Division
Giddings & Lewis
Circle 144 on inquiry card.
BYTE August 1981 71
Photo 5: When the Z8-BASIC Microcomputer is used with a ROM-resident pro-
gram, the two jumpers used with the 2,6132 are removed, and the EPROM
jumper is installed instead. When using a type-2716 16 K-bit (2 K-byte) EPROM
device, the "16 K" jumper is installed. If a type-2732 32 K-bit (4 K-byte) EPROM
is used instead, the "32 K" jumper is installed. The EPROM is inserted in the
lower 24 pins of the 28-pin Z6132 socket (IC2) as shown.
Next Month: Build a phonetic
voice synthesizer based on the Votrax
SC-01 synthesizer chip. ■
Special thanks to Steve Walters and Peter
Brown of Zilog Inc for their aid in producing
these articles.
BASIC/Debug is a trademark of Zilog Inc.
Editor's Note: Steve often refers to previous
Circuit Cellar articles as reference material for
the articles he presents each month. These
articles are available in reprint books from
BYTE Books. 70 Main St. Peterborough NH
03458. Ciarcia's Circuit Cellar covers articles
appearing in BYTE from September 1977
through November 1978. Ciarcia's Circuit
Cellar, Volume II presents articles from
December 1978 through June 1980.
receive a complete list of Garcia Cir-
:ellar kits available from The Micro-
be 100 on the inquiry card.
The following items are available
Z8-BAS1C Microcomputer Z8-BASIC Microcomputer power supply
postpaid in the United States from:
(Documentation includes: (Size: 2Y B by 4V 2 inches)
The MicroMint Inc
Z8 Technical Manual Provides: +5 V, 300 mA
917 Midway
Z8 Product Specification + 12 V, 50 mA
Woodmere NY 11598
Z6132 Product Specification -12 V. 50 mA
Telephone:
BASIC/Debug Manual Assembled and tested.... $35
(800) 645-3479 (for orders)
Z8-BASIC Microcomputer Construc-
(516) 374-6793 (for technical information)
tion/Operator's Manual)
Assembled and tested.... $170
Kit.... $140
These prices are in effect until September 15
1981; call for prices after that date.
All printed-circuit boards are solder-masked
and silk-screened. The documentation supplied with the Z8 board includes approximately 200
pages of materials. It is available separately foi
$25. This charge will be credited toward any subsequent purchase of the Z8 board.
Please include $2 for shipping and handling.
New York residents please include 7% sales tax.
TRS-80®Computers
Now Available with 5 Megabytes fixed and 5 Megabytes
removable storage.
Complete Hardware System including, 64K TRS-80
Model ii. $10,935.00
220V Systems available for our European customers, in-
cluding 64K TRS-80 Model II $1 2,995.00
ALL 2000 COMPUTER SYSTEMS
Via-Dell'Alloro,22R.A.
50123 Firenze, Italy
Telephone 28 37 72
Telex 572507
TRS-80 is a Trademark of Tandy Corp.
PAN AMERICAN ELECTRONICS
Dept. 200 • 1117 Conway Avenue
Mission, Texas 78572 U.S.A.
TOLL FREE ORDER 800/531-7466
Texas & Principal No. 512/581-2766
Telex 767339
V
Circle 298 on inquiry card.
COMPUSTAR
INTERTEC'S INCREDIBLE 255 USER SMALL BUSINESS COMPUTER
At last, there's a multi-user micro-
computer system designed and built the
way it should be. The CompuStar™. Our
new, low-cost "shared-disk" multi-user
system with mainframe performance.
Unlike any other system, our new
CompuStar offers what we believe to be the
most practical approach to almost any
multi-user application. Data entry. Distrib-
uted processing. Small business. Scientific.
Whatever! And never before has such
powerful performance been available at
such modest cost. Here's how we did it . . .
The system architecture of the
CompuStar is based on four types of video
display terminals, each of which can be
connected into an auxiliary hard disk stor-
age system. Up to 255 terminals can be
connected into a single network! Each ter-
minal (called a Video Processing Unit) con-
tains its own microprocessor and 64K of
dynamic RAM. The result? Lightning fast
program execution! Even when all users
are on-line performing different tasks! A
special "multiplexor" in the CompuStar
Disk Storage System ties all exter-
nal users together to "share" the
system's disk resources. So, no
single user ever need wait on an
other. An exciting concept . . .
with some awesome application
possibilities!
CompuStar™ user
stations can be configured in
almost as many ways as you
can imagine. The wide variety
of terminals offered gives you
the flexibility and versatility
you've always wanted (but
never had) in a multi-user
system. The CompuStar
Model 10 is a program-
mable, intelligent terminal
with 64K of RAM. It's a
real workhorse if your re-
quirement is a data entry
or inquiry/response application. And if your
terminal needs are more sophisticated,
select either the CompuStar Model 20, 30
or 40. Each can be used as either a stand-
alone workstation or tied into a multi-user
network. The Model 20 incorporates all of
the features of the Model 10 with the
addition of two, double-density mini-flop-
pies built right in. And it boasts over
350,000 bytes of local, off-line user stor-
age. The Model 30 also features a dual
drive system but offers over 700,000 bytes
of disk storage. And, the Model 40 boasts
nearly 1 1 / 2 million bytes of dual disk stor-
age. But no matter which model you
select, you'll enjoy unparalleled versatility
in configuring your multi-user network.
Add as many terminals as you like
- at prices starting at less than $2500.
Now that's truly incredible!
No matter what your application,
the CompuStar can handle it! Three disk
storage options are available. A tabletop
10 megabyte 8" winchester-type drive
complete with power supply and our spe-
cial controller and multiplexor costs just
$4995. Or, if your disk storage needs are
more demanding, select either a 32 or 96
megabyte Control Data CMD drive with a
16 megabyte removable, top loading car-
tridge. Plus, there's no fuss in getting a
CompuStar system up and running. Just
plug in a Video Processing Unit and you're
ready to go . . . with up to 254 more ter-
minals in the network by simply connect-
ing them together in a "daisy-chain"
fashion. CompuStar's special parallel
interface allows for system cable lengths
of up to one mile . . . with data transfer
rates of 1.6 million BPS!
Software costs are low, too.
CompuStar's disk operating system is the
industry standard CP/M* With an
impressive array of application soft-
ware already available and several
communication packages offered,
the CompuStar can tackle even your
most difficult programming tasks.
Compare for yourself. Of all
the microcomputer-based multi-
user systems available today,
we know of only one which
offers exactly what you need
and should expect. Excep-
tional value and upward
growth capability. The
CompuStar™. A true price
and performance leader!
sinte3tec
Fdata
ssystems*
2300 Broad Rivet Rd. Columoia SC 29210
(803) 798-9100 TWX- 810-666-2115
Circle 177 on Inquiry card.
•neijstaiu ifMnmaiii of [Muti! Rcsea'ch Inc ^^
Object-Oriented
Software Systems
David Robson
Learning Research Group
Xerox Palo Alto Research Center
3333 Coyote Hill Rd
Palo Alto CA 94304
This article describes a general class of tools for
manipulating information called object-oriented software
systems. It defines a series of terms, including software
system and object-oriented. The description is greatly
influenced by a series of object-oriented programming
environments developed in the last ten years by the Learning
Research Group of Xerox's Palo Alto Research Center, the
latest being the Smalltalk-80 system. The article describes
object-oriented software systems in general, instead of the
Smalltalk-80 system in particular, in order to focus attention
on the fundamental property that sets the Smalltalk-80
system apart from most other programming environments.
The words "object-oriented" mean different things to
different people. Although the definition given in this article
may exclude systems that should rightfully be called object-
oriented, it is a useful abstraction of the idea behind many
software systems.
Many people who have no idea how a computer works
find the idea of object-oriented systems quite natural. In
contrast, many people who have experience with com-
puters initially think there is something strange about
object-oriented systems. (I don't mean to imply that
computer-naive users can create complex systems in an
object-oriented environment more easily than experi-
enced programmers can. Creating complex systems in-
volves many techniques more familiar to the programmer
than the novice, regardless of whether or not an object-
oriented environment is used. But the basic idea about
how to create a software system in an object-oriented
fashion comes more naturally to those without a
preconception about the nature of software systems.) I
had had some programming experience when I first en-
countered an object-oriented system and the idea cer-
tainly seemed strange to me. I am assuming that most of
you also have some experience with software systems and
their creation. So instead of introducing the object-
oriented point of view as if it were completely natural, I'll
try to explain what makes it seem strange compared to
the point of view found in other programming systems.
Software Systems
A software system is a tool for manipulating informa-
tion. For the purposes of this article, I'm using a very
broad definition of information.
Information: A representation or description of
something.
There are many types of information that describe dif-
ferent things in different ways. One of the great insights
in computer science was the fact that information can
(among other things) describe the manipulation of infor-
mation. This type of information is called software.
Software: Information describing the manipula-
tion of information.
Software has the interesting recursive property of
describing how to manipulate things like itself. Software
is used to describe a particular type of information-
manipulation tool called a software system.
Software system: An information-manipulation
tool in which the manipulation is described by
software.
A distinction is made in information-manipulation
tools between hardware systems and software systems. A
hardware system is a physical device like a typewriter,
pen, copier, or television set. The type of manipulation
performed by a hardware system is built in and can only
be changed by physical modification. The type of
manipulation performed by a software system is not built
in — it is determined by information, which can be
manipulated.
The virtue of software systems is that the mechanism
developed for manipulating information can be used to
manipulate the mechanism itself. Software systems that
actually manipulate other software systems are called
programming environments.
Programming environment: A software system
that manipulates software systems. An environ-
ment for the design, production, and use of soft-
ware systems.
74 August 1981 © BYTE Publications Inc
Circle 78 on inquiry card.
"Our goal at The Denver Software Company is to translate the
advances in high technology — symbolized by the Space Shuttle
triumph — into practical, problem-solving microcomputer
programs for small business and home use."
,o
W^
cr
Microcomputers Are
The Door To The Future.
TT
^xliw73ti
Finally, there's an accounting package available for most
microcomputers — from the least expensive to the top-of-the-
line — that works the moment the machine is switched on.
Language, programs, everything needed for accurate
bookkeeping is built into the software, eliminating the need for
programming skills or expensive equipment add-ons.
The FINANCIAL PARTNER™
is a comprehensive financial pack-
age that takes the headache out of
bookkeeping. With general ledger,
cash receipts, accounts payable,
and check- printing capability, this
system also provides standard fi-
nancial reports. In addition, the
FINANCIAL PARTNER™ comes
with a detailed user's manual con-
taining basic bookkeeping instruc-
tion. By automatically sorting and
posting accounts, the FINANCIAL
PARTNER™ saves you valuable
time and is a complete guide to
money management for your home
or very small business. At $175, it's
worth its weight in gold.
Also from The Denver Software Company:
The PASCAL TUTOR™ , a computer assisted course in UCSD
Pascal*. This complete software package uses the microcom-
puter to teach this powerful new programming language. $125
for this fast, easy way to learn versatile UCSD Pascal*.
*UCSD Pascal is a trademark of the Regents
of the University of California.
Products available from your local dealer.
THE DENVER SOFTWARE COMPANY
MANUFACTURERS OF MICROCOMPUTER SOFTWARE
RNANCIAlHOTNffl
fete'
■■
lw#
The PA
those kng
ulos dra
debu
money as '
PROGRAM
igeable about
ly shorten the
ograms — by ai
as time.
Fa software breakthrough for
DSD Pascal*. Pre-tested mod-
ne spent coding, testing,' jflff
uch as 70%. For $125^^H
00 E. Jewell Ave
aler inquiries wejp
Thus, a programming environment is also recursive: it
is what it manipulates. The fact that software systems can
be manipulated is both good news and bad news. Since a
text editor is a software system, it is not "cast in concrete"
and you can change it to conform to your style of
interacting with text more closely than it does now (using
a programming environment). However, you also may
reduce it to the proverbial "pile of bits" (not a text editor
at all).
Data/Procedure-Oriented Software
The traditional view of software systems is that they
are composed of a collection of data that represents some
information and a set of procedures that manipulates the
data.
Data: The information manipulated by software.
Procedure: A unit of software.
Things happen in the system by invoking a procedure
and giving it some data to manipulate.
As an example of a software system, consider a system
for managing windows that occupy rectangular areas on
a display screen. The windows contain text and have
titles. They can be moved around the screen, sometimes
overlapping each other. (The details of this system are
m
COPY SERVICE
Information
Outside California Call
(800) 854-1 51 5 or (800) 854-1 516
In California Call Collect (714)436-4351
not important. Its main purpose is to point out the dif-
ferences between the structure of a data /procedure
system and an object-oriented system.)
A window-management system implemented as a
data /procedure system would include data representing
the location, size, text contents, and title of each window
on the screen. It would also include procedures that move
a window, create a window, tell whether a window
overlaps another window, replace the text or title of a
window, and perform other manipulations of windows
on a display. To move a window, a programmer would
call the procedure that moves windows and pass to it the
data representing the window and its new location.
A problem with the data/procedure point of view is
that data and procedures are treated as if they were in-
dependent when, in fact, they are not. All procedures
make assumptions about the form of the data they
manipulate. The procedure to move a window should be
presented with data representing a window to be moved
and its new location. If the procedure were presented
with data representing the text contents of a window, the
system would behave strangely.
In a properly functioning system, the appropriate
choice of procedure and data is always made. However,
in an improperly functioning system (eg: one in the pro-
cess of being developed or encountering an untested
situation), the data being manipulated by a procedure
may be of an entirely different form from that expected.
Even in a properly functioning system, the choice of the
appropriate procedure and data must always be made by
the programmer.
These two problems have been addressed in the context
of the data/procedure point of view by adding several
features to programming systems. Data typing has been
added to languages to let the programmer know that the
appropriate choice of data has been made for a particular
procedure. In a typed system, the programmer is notified
when a procedure call is written using the wrong type of
data. Variant records allow the system to choose the
appropriate procedure and data in some situations.
Object-Oriented Software
Instead of two types of entity that represent informa-
tion and its manipulation independently, an object-
oriented system has a single type of entity, the object,
that represents both. Like pieces of data, objects can be
manipulated. However, like procedures, objects describe
manipulation as well. Information is manipulated by
sending a message to the object representing the informa-
tion.
Object: A package of information and descrip-
tions of its manipulation.
Message: A specification of one of an object's
manipulations.
When an object receives a message, it determines how
76 August 1981 © BYTE Publications Inc
Circle 11 on inquiry card.
MORROW DESIGNS
Cost effective answers to
floppy disk problems.
DMA answers. Standard,
accumulator transfer floppy
disk controllers can stall your
microcomputer system's
CPU for as long as 160 mil-
liseconds. Just to access and
transfer a sector of data to
main memory. If CPU pro-
cessing speed and system per-
formance are critical, you need
something better. That's
where Morrow Designs' new
intelligent Disk Jockey DMA™
controller comes in. This new
breed of perpherial handles
both 5V4" and 8" drives and
can read almost any format
in existence. Speed? Your
CPU runs at full tilt while the
DMA controller seeks and
gathers a sector of data.
How? Information transfers
to and from main memory
occur as "cycle steals" from
the system bus. And the
missing memory cycles are
transparent to the CPU total-
ling only two milliseconds
instead of the usual 80.
Build a buffer. Give the Disk
Jockey DMA a little extra memory and your system's per-
formance gets even better. The extra storage is used as a
track buffer. So, whenever a sector on a new track is read
the track buffer is automatically filled with the other sec-
tors on the track. The result?
Additional data on the track
is immediately available.
Without the 80 millisecond
rotational latency normally
encountered. And similar
efficiencies occur with disk
writes. Sectors in the track
buffer are conditionally writ-
ten on the disk only if a new
track is accessed. And only
one revolution of the disk
is required.
Now, prices* All systems
listed are supplied with a
floppy disk drive, Disk Jockey
Direct Memory Access Con-
troller, CP/M" 2.2 operating
system, power supply, fan,
cables, cabinet and Microsoft
5.2 BASIC.
Even lower prices. Morrow
Designs' floppy disk systems
with Disk Jockey'" 2D control-
lers offer the same high qual-
ity at even lower prices. Now
without memory mapping!
Fast answers. See Morrow
Designs' family of cost effec-
tive floppy disk systems at
your computer dealer. For a somewhat more leisurely
answer, circle the reader service number below. For imme-
diate answers, phone us at (415) 524-2101.
LOOK TO MORROW FOR ANSWERS.
5 1 /4 Inch Systems (formatted data)
400,000 Bytes (1) Dual Sided 48 TPI Drive
800,000 Bytes (2) Dual Sided 48 TPI Drive
800,000 Bytes (1) Dual Sided 96 TPI Drive
1,600,000 Bytes (2) Dual Sided 96 TPI Drive
$1110
$1899
$1499
$2599
OEM pricing available
•Prices subject to change without notice.
Disk Jockey DMA and Disk Jockey 2D
are trademarks of Morrow Designs
•CP/M is a trademark of Digital Research.
8 Inch Systems (formatted data)
500,000 Bytes (1) Single Sided Drive
1,000,000 Bytes (2) Single Sided Drive
1,000,000 Bytes (l)Dual Sided Drive
2,200,000 Bytes (2) Dual Sided Drive
$1199
$1975
$1595
$2675
OEM pricing available
MORROW OE5IGN5
5221 Central Avenue, Richmond, CA 94804
(415) 524-2101
Circle 252 on Inquiry card.
BYTE August 1981 77
to manipulate itself. The object to be manipulated is
called the receiver of the message. A message includes a
symbolic name that describes the type of manipulation
desired. This name is called the message selector. The
crucial feature of messages is that the selector is only a
name for the desired manipulation; it describes what the
programmer wants to happen, not how it should happen.
The message receiver contains the description of how the
actual manipulation should be performed. The program-
mer of an object-oriented system sends a message to in-
voke a manipulation, instead of calling a procedure. A
message names the manipulation; a procedure describes
the details of the manipulation.
Of course, procedures have names as well, and their
names are used in procedure calls. However, there is only
one procedure for a name, so a procedure name specifies
the exact procedure to be called and exactly what should
happen. A message, however, may be interpreted in dif-
ferent ways by different receivers. So, a message does not
determine exactly what will happen; the receiver of the
message does.
If the earlier example of the window-management
system were implemented as an object-oriented system, it
would contain a set of objects representing windows.
Each object would describe a window on the screen. Each
object would also describe the manipulations of the win-
dow it represents — for example, how to move it, how to
determine whether it overlaps another window, or how
to display it. Each of these manipulations would corre-
spond to a selector of a message. The selectors could in-
clude move, overlap, display, delete, width, or height. (In
this article, an alternate typeface is used for words that
refer to specific elements in example systems.)
In addition to a selector, a message may contain other
objects that take part in the manipulation. These are
called the message arguments. For example, to move a
Circle 354 on inquiry card.
The
Powerful
New Alternative
To VisiCalc™
For CP/M based microcomputers,
SuperCalc is the superior new "electronic
worksheet'' for businessmen. Complex calcu-
lations, alternative recalculations, and
numerical forecasting are easy. Just type in
your numbers - SuperCalc does the rest.
SuperCalc pays for itself almost immediately,
and eventually it will save enough in time and
money to pay for your computer as well!
Dealer and distributor inquiries welcome.
SORCIM Corporation, 405 Aldo Ave.,
Santa Clara, CA 95050, (408) 727-7636
"What was needed for the OSBORNE 1 was
an easy-to-understand CP/M based alterna-
tive to VisiCalc from a qualified, reliable
company. SuperCalc by SORCIM is all that. . .
and more. "
Adam Osborne
Developer of the OSBORNE 1
Powerful Software Tools
SuperCalc: SORCIM
VisiCalc Is a trademark ol Personal Software Inc., SuperCalc Is a trademark of SORCIM Corp.
MORROW DESIGNS
Leading edge technology
in hard disk systems.
Complete systems. Morrow
Designs hard disk subsystems
are delivered complete with hard
disk, controller, cabinet, power
supply, fan, cables and CP/M"
2.2 operating system.
Widest range. Morrow Designs
offers the widest range of hard
disk systems available from a sin-
gle supplier. 5%," 8," 14." Five to
over 100 megabytes of formatted
hard disk storage. $2,995 to
$19,980. Cost effective systems
that work. And keep working.
S-100 and more. Morrow Designs
hard disk systems are designed
for use with the CP/M operating
system. Available soft-
ware packages allow our
systems to run on any
IEEE696/S-100 Standard
system with no hard-
ware modification.
Plus, Cromemco/ North
Star,** Vector Graphics,
Godbout, Dynabyte,
Exidy," IMSAI, Micro-
mation, Processor Tech-
nology and California
Computer Systems.
Reliable systems. Morrow Designs is com-
mitted to hard disk system reliability Not
simply with a 90-day warranty, but with a money
back guarantee. If our system fails to perform to
specification, send it back. We'll send back
your money.
•CP/M is a trademark of Digital Research.
"Northstat is a trademark of North Star Computers, Inc.
tCromemco is a trademark of Cromemco, Inc.
ttExidy is a trademark of Exidy Corporation.
Experience. As of April, 1981,
there were over fifteen hun-
dred Morrow Designs hard disk
systems successfully installed.
In fact, over 200 independent
systems integrators now use
our hard disks to solve their
mass storage problems.
Performance answers. Morrow
Designs hard disk systems have
been benchmarked against all
other systems. None is faster
under CP/M. Morrow Designs
hard disks operate at 10 times
the speed of a floppy disk
drive. Transfer rates range from
590,000 bytes to 900,000 bytes
per second. That kind of perfor-
mance can become addictive.
Cost effective answers. Compare
Morrow prices and performance
to anything presently available
for S-100 systems. You'll find
Morrow's price/megabyte/
performance ratio to be
unmatched. Leadership in
disk systems technology
earned us leadership in
price/performance. And
that may have earned us
a call from you. Circle the
Reader Service Number
for our full line data sheets.
Can't wait? Call us at
(415) 524-2101. And yes, OEM quantity prices are
available. LOOK TO MORROW FOR ANSWERS.
MORROW DESIGNS
5221 Central Avenue, Richmond, CA 94804
(415) 524-2101
n
Circle 253 on inquiry card.
BYTE August 1981 79
window, the programmer might send the object repre-
senting the window a message with the selector move.
The message would also contain an argument represent-
ing the new location. Since this is an object-oriented
system, the selector and argument are objects: the selec-
tor representing a symbolic name and the argument
representing a location or point.
The description of a single type of manipulation of an
object's information (the response to a single type of
message) is a procedure-like entity called a method. A
method, like a procedure, is the description of a sequence
of actions to be performed by a processor. However,
unlike a procedure, a method cannot directly call another
method. Instead, it must send a message. The important
thing is that methods cannot be separated from objects.
When a message is sent, the receiver determines the
method to execute on the basis of the message selector. A
different kind of window could be added to the system
with a different representation and different methods to
respond to the messages move, overlap, display, delete,
width, and height. Places where messages are sent to
windows do not have to be changed in order to refer to
the new kind of window; whichever window receives the
message will use the method appropriate to its represen-
tation.
Objects look different from the outside than they do
from the inside. By the outside of an object, I mean what
it looks like to other objects with which it interacts (eg:
what rectangles look like to other rectangles or to win-
dows). From the outside, you can only ask an object to
do something (send it a message). By the inside of an ob-
ject, I mean what it looks like to the programmer im-
plementing its behavior. From the inside, you can tell an
object how to do something (in a method). For example,
a window can respond to messages having the selectors
move, overlap, display, delete, width, or height.
IMPORTS
EPSON MX-80
Price Breakthrough • Coll!
OkidatoM-80 $399'
Okidata M-82 $549
OkidoroM-83 $849
PAPER TIGERS!
445G $749
460G $1119
560G $1395
HIGH SPEED
Anadex
9500/9501 $1274.00
Dotosoulh
D5-180 $1349.00
Tl 810 Bosk $1499.00
COMPUTERS
ADDS
NORTHSTAR
Burned and rested - backed by fast warranty
service. Find our why our prices, availability
and service make us the #1 source for the #1
S-100 system. Free gomes disk.
Horizon II 64K DD $2895.00
Horizon II 64K Qd $3295.00
ATAR
Atari 800 w/32K
$775
while they last
plus 410 $59- Stat RS27
Joysticks $14- 810 5449
ALTOS
NOW MORE FOR LESS
ACS-8000- 1 5 has 208K RAM. 1 Mg. on tloppys.
6 serial and 2 parallel pons. Upgrade w/Win-
Chester hard-disk drives and rope bock-up.
Multi-user at single user prices.
ACS8000-15
$4795
ZENITH
The oll-ln-one computer That's bached by
your local Zenirh/Hearh service center. Green
Phosphor screen and CP/M included.
Z69 w/4SK 2 SIO's $2249
We participate In arbitration
Jl for business and customers \
sm ithrough the Better Business ,^
Bureau of Maricopa County.
Scottsdale Systems^
6730 E. McDowell Road, Suite 1 1 0, Scottsdale, Arizona 85257
S (602)941-5856
MaitwCaid]
Coll 8-5 Mon.-Fri.
(We Export) TWX 910-950-0082 (IMEC SCOT)
The new leader! Detachable keyboard,
extra port, (unction keys, numeric
keypad. 24x80. RS-232, buiJr ond becked
by ADDS.
ADDS Viewpoinr $569
TELEVIDEO
910
Coll
912
$729
920
$759
950
$969
^terminals]
ILh H '
Zenith Z- 19
Soroc IQ 120
Soroc IQ 135
Hozelrine 1421
$789
$729
$799
$779
MORE PRINTERS
ORDERING
Centronics 737 $719.00
DECLA34AA $1049.00
MPI 88G .... $619.00
MPI99G $719.00
NEC 5510 $2689.00
Diablo 630 $2295.00
C. Ifoh Sfarwrifer .... $1495.00
NEC 5520 $3089.00
•Tractors included in price
MAIL ORDER ONLY
2% cosh discount included / charge cords odd 2%. Prices subject to
change, product subject to availability. Arizona residents odd 5%.
F.O.D. point of shipment Scottsdale. 0-20% restocking fee for
returned merchandise. Warranties included on all products.
I'll probably
come down
the hall to
see yoo.
"I like to tell anyone who has done a good job that I know
it and appreciate it. As far as I'm concerned, being the
President doesn't mean a big office with a closed door.
It's not private dining rooms and splendid isolation.
"You see, I know success at ITT DCD is its people. Our most
important asset is our people; the computers, the facilities-
whatever else we have or buy-nothing works right without the
right people. And when you find them you have to challenge
them, then reward them when they meet the challenges.
"People work for recognition. OK, I know what you're going to
say. It's the money they're after and the praise is only icing on
the cake. But believe me, you can't buy loyalty. You can pay
people for their talent . . . but you can't buy them.
"I really appreciate a special effort. And if you do something
innovative, notable, different-I'm going to get up, go and see
you, tell you what I feel. We've put millions into independent
research this year, because we believe you should back
original thought. As far as I'm concerned, today's bright idea
is tomorrow's profit. You can't get any simpler than that!
Corporate success is a collective success,
and it's my job to build a better team.
"For me it was alway ITT. It was my first significant exposure
to industry. I guess I'm a good example of the fact that staying
can work for you. From a Project Engineer to President in
14 years. Yes, you're looking for a long term commitment
and what it can do for you.
"And it looks like I'm here to stay-who would leave a life like
this. I've got a wonderful house in Morris County, NJ. There
I am, just 1 hour from Broadway, and I still have wild deer
wandering across my lawn. A great place to bring up children-
that wonderful mix of rural fantasy and Big Apple culture.
"Success? You could call it that.
But success is setting a goal and reaching it.
Satisfaction is finding yourself exactly where you want to be."
If you want to align your career with a company that looks for
ideas and backs them all the way to reality, consider ITT DCD.
We have openings for degreed engineering /scientific
professionals at all levels of experience in the following areas:
COMMAND & CONTROL COMMUNICATIONS
MESSAGE / CIRCUIT SWITCHING
VOICE / SIGNAL PROCESSING
• Hardware Systems Design
• Software Systems Design
• Systems Analysis • Programming
ITT DCD offers excellent salaries and a comprehensive benefits package that would be difficult to duplicate.
Beyond medical, dental and life, we offer a superior system of educational support which encourages acquisition
of credits and advanced degrees on our time at our expense. Relocation is another area of extraordinary effort on
ITT DCD's part. We ease your move by coordinating all phases through our in-house relocation specialist.
Please call or send resume to our Director of Professional Placement.
Where engineers never stop learning
ITT
DEFENSE
COMMUNICATIONS
DIVISION
An equal opportunity employer M/F
(800) 526-6292,(201) 284-2551
492 River Road, Nutley, New Jersey 071 10
MH1
Software/Hardware Professionals:
WHY KEEP YOUR
CAREER WAITING?
Timing is key to successful career change. But to make
sure you're prepared to seize the right opportunity at the
right time, you need professional assistance. Over the
past twelve years, R.M. Norton and Company has
offered the research and planning necessary for
successful career change.
Drawing on more than a decade's resources, our
consultants provide expert resume preparation and
knowledgeable career path advice. And since we
represent some of the country's premier companies, we
enjoy access to the choicest openings in a broad range of positions.
Current New England openings for the professional with state-of-the-art experience include:
Software Design and Development, Computer Sciences, Assembly or Higher Level
Language Programming, Data Base Design, Compiler and/or Operating Systems
Design, Digital Logic Design, Interface Design, Microprocessor Utilization, Computer
Architecture, Logic/ Circuit Design, Power Supplies, Terminals Development and
Distributed Systems Firmware.
If you can't keep your career waiting, contact us. At R.M. Norton, you'll find the expertise
that comes with twelve years of experience and service. And as you'd expect, client
companies assume all fees.
(617) 861-7800
271 Lincoln Street, Lexington, MA 02173
m
(L ei .mmm % mmsm. m,
Professional Placement Consultants
HARDWARE
SOFTWARE
professionals
Signal Process'g Engrs to40k
Project Engineers to 30k
Analog Design Engrs to45k
Digital Design Engrs to45k
Test Eqpmnt Designers t 35k
Test Engineers io32k
Software Engineers to30k
Diagnostic Engineers io37k
Sftwr Systems Analysts to38k
Search & Recruitment by:
David Barros
Call or send resume
C areer _Ar55ociatei, inc.
P O BOX 86, NO DARTMOUTH. AAA 02747
617-997-3311
COVERING NEW ENGLAND
AND THE U.S. SINCE
1964
We'v been placing engineers in challenging
more rewarding positions since 1964. We
know the market and the people to contact
here in New England. And through the Na-
tional Personnel Consultants Network we are
on top of openings in every area of the coun-
try. When you deal with E.P. Reardon you'll
save yourself time and money and you'll be
represented by a staff of experienced place-
ment consultants that can do it all for you.
We have openings in all of the areas listed
below from entry level to management.
Salaries range from 22-55K per year.
Telecommunica-
tions
Command, Control
and Communica-
tions
Automatic Test
Equipment
Microwave
Devices &
Systems
Radar Systems
CAD/CAM
Instrumentation
Optics & Electro
Optics
Circuit and Logic
Design
Robotics/
Automation
Guidance and
Control
Navigation
Systems
RF Design
Data Communica-
tions
Mechanical
Packaging
Process Control
Mechanism Design
Reliability
If you are qualified by education and ex-
perience in any of these or related fields put
Bob McNamara to work for you today. Call
him collect al (617) 329-2660 or contact him at
the address below.
£P%ha/doh Assoatifea
Washington Street. P.O.Box 228,
Dedham, MA 02026 Clients are EOE.
If you read
a lot of
computer
printouts-
Rest your tired
eyes on us.
Today's high technology engi-
neers and technical manage-
ment people — qualified
professionals just like yourself
— must work closely with com-
puters to stay on the leading
edge of the state-of-the-art.
However, this also means that
you must read many computer
printout sheets, each contain-
ing wide lines of characters
and/or numbers.
GRADUATING ENGINEER,
McGraw-Hill's magazine for
senior-level engineering stu-
dents, understands this
because its readers and their
professors are confronted with
the same problem in the
classroom.
To help ease their eyestrain we
have made available to the
professors a 15 inch (or 38
centimeters on the other edge)
clear plastic ruler.
It features a yellow highlight
bar down the center which can
be used to zero in on that im-
portant, and always elusive,
line of information.
Because we realize that indus-
try also burns the midnight oil,
GRADUATING ENGINEER is
pleased to extend this offer to
high technology professionals
too.
So, why don't you rest your
tired eyes on us? To request
your free computer printout
reading guide, just write to us
on your company or personal
letterhead to the address
below.
Willie Williams,
Editorial Associate
GRADUATING ENGINEER
McGraw-Hill Publications
1221 Avenue of the
Americas/Room 345
New York, New York 10020
m
MH2
Our Systems
Speak for themselves.
At Codex, we produce high-speed
state-of-the-art data communications
equipment. And our systems are
known as the best in the industry.
If you know where the future in elec-
tronics is, those facts should speak for
themselves.
Being the leader in data communica-
tions means we're part of one of the
fastest-growing fields today. Our clients are Fortune 1000
firms. And we're shaping tomorrow's information networks to
make them more efficient, and more productive.
What's in it for you? Just this. That kind of growth means
you can go places with us. We promote extensively from
within. And we make a conscious effort to enable our people
code^
A Subsidiary ot (A^) MOTOROLA INC.
An Equal Opportunity/Affirmative Action Employer M/F
to do more — technically and profes-
sionally — than they ever thought
possible.
Our technology helps the world com-
municate. Maybe it's saying something
to you.
Codex offers competitive salaries
and a comprehensive benefits package
including dental insurance and profit
sharing.
Interested candidates should forward a resume including
salary history, in confidence, to J.T. Dombrowski, CODEX
CORPORATION, 20 Cabot Boulevard, Mansfield, MA 02048.
Senior Systems
Engineer
Will be responsible for the design of
custom software interfaces, product
enhancements and product support for
data communications systems. Re-
quires a BS or MS in electrical engineer-
ing or computer science and a minimum
of 4 years software design with some
exposure to telecommunications and
Assembly language programming.
Senior Software
Engineer
Responsibility will be for the definition
and implementation of operating
systems in multi-microprocessor en-
vironment for data communications
systems. Requires a BS or MS in Com-
puter Science or a related field and a
minimum of 4 years of software develop-
ment including implementation of
operating systems software. Will utilize
the knowledge of a variety of operating
systems approaches in real-time
multiprocessing environment e.g. UNIX.
Senior Hardware
Engineer
This position involves designing hard-
ware to customer specifications for data
communications systems. A BSEE is re-
quired plus a minimum of 4 years ex-
perience in digital design of
microprocessor-based systems.
Knowledge of data communication
systems and some analog experience
is a plus.
MH3
WHAT
DOES IT ALL
MEAN?
You can call anybody a programmer analyst, given a few basic
elements. At Keane, our titles mean more than an impressive
name on your business card.
Keane Pro-gram-mer An-a-lyst:
1. (n.) One who is responsible for working under minimal supervision for a
leading computer consulting firm. May be called on to perform technical tasks
ranging from business s y stems design to p ro gram devel op ment. 2. (v. ) Interacts
with clients, works on varie ty of challen ging assignments. Plans, organizes and
leads others. 3. (adj.) Highly motivated. Aggressive, stro ng in inter p ersonal
skills. Interested in getting ahead. 4. {adj.) Experienced. Minimum of 2 or more
gears Commercial/COBOL. Knowledge of CICS, DB/DC, DL/1, IMS/TP, IDS or
IDMS is a plus. 5. (Synonym) None. There is no one quite like a Keane Pro-
grammer Analyst.
In addition to Programmer Anal ysts, we are also looking for P roject Manage rs
s for our nine branch offices throughout New England. We of-
fer competitive salaries and benefits that include health, dental, bonuses, merit
raises and much more.
Call Dick Pippin, New England Recruiting Manager, at (617) 482-3321,
or send your resume to him at Keane, Inc., 30 Federal Street, Boston,
MA 02110. We are an equal opportunity employer, M/F.
One of the key elements of our
success in the marketplace is the
total commitment of our Research
& Development organization to
keep us on the leading edge of com-
puter technology. This commitment
manifests itself through highly visi-
ble engineering opportunities where
achievement is recognized and
rewarded. If you agree that the
challenge of technical excellence
should be enhanced by growth in-
stead of being frustrated by it, the
Prime difference might be right for
you. Listed below is a brief synop-
sis of our major disciplines with a
list of positions we are currently
staffing.
HARDWARE
Principal activities in this area
include the design and development
of fully compatible 32 bit pro-
cessors and associated peripherals.
We are also engaged in a major
new emphasis on in-house LSI
technology and sophisticated CAD
tools for both electrical and
mechanical applications.
Processor Development
Memory Systems
Power Systems
Hardware Programs and
Planning
Special Systems/Hardware
Microelectronics
• Design Engineering
• Process Engineering
• Application Programming
Peripheral Development
• Disc Controller and Subsystems
• I/O Subsystems
• Terminal Development
Mechanical Design
• Sr. Technical Contributors/
Advanced Packaging
• Sr. Mechanical Engineers
Computer-Aided Design
Mechanical CAD/CAM
• Manager/Mechanical CAD
Systems
• Software Engineers
Electrical CAD Systems
• Software Engineers
• CAD Instructor
Communications
For the above areas,
contact Martha Polachi
at 879-2960, Ext. 3266.
SOFTWARE
Our "Software First"
philosophy combined with our
diverse product offerings provide
constant challenges for our soft-
ware engineers. Continued ex-
cellence is dependent upon filling
key future development positions
now. If you have untapped talents
in the following areas, we invite
you to see what well managed in-
novation can offer.
Translator and Compiler
Development
• COBOL
• Microprocessors
• Translators
Software System Performance
Evaluation
Office Automation
Data Management
For the above areas,
contact Glenn Tines
at 879-2960, Ext. 4019.
PRIME
Computer
RESEARCH &
ADVANCED SYSTEMS
Expanded and innovative ef-
forts in the areas of Reliability,
Availability and Serviceability,
combined with state-of-the-art
systems architecture and network-
ing, put this group on the leading
edge of Prime's Advanced Develop-
ment effort.
Advanced Development Manager
Reliability, Availability,
Serviceability
Human Factors Research
Database Research
For the above areas,
contact Charlie Cohen
at 879-2960, Ext. 3288.
To learn more about a career
with PRIME, contact the ap-
propriate recruiter named above
or forward your resume to
their attention at PRIME COM- /
PUTER, Dept. MH6, 500 Old
Connecticut Path, Framingham,
MA 01760. (617) 879-2960. Prime
is an Affirmative Action
Employer, seeking outstan
ding individuals.
MH5
UNABASHED
SUCCESS AND
WE'RE READY
TO SHARE IT!
We've entered a crowded market and pushed,
the competition aside. Today, HARRIS
COMPUTER SYSTEMS DIVISION is
growing at a compound annual rate of nearly
30%. This expansion will continue to
accelerate as emphasis on CAD/CAM,
energy and systems create a greater demand
for the Harris supermini-computer.
Now we're developing improved
architecture, even greater performance and
an expanded range of applications. These
developments will lead to opportunity for the
skilled SOFTWARE or HARDWARE
ENGINEER looking for a place to step out of
the crowd. If you have a BSCSor BSEE, 3-5
years of experience and a great deal of
promise, let's talk about unabashed success!
A high salary, great benefits and fine
working environment are only part of what
awaits you when you join Florida's largest
industrial employer. We're offering you a
way of life in the sunny, income tax free state
where off hours can be spent at almost every
conceivable form of recreation and relaxing.
But find out why high performance on the
job can lead to better performance all
around. For details, call Jan Kelley. toll free,
at 1-800-327-4986 or send your resume
including salary history to: HARRIS
COMPUTER SYSTEMS DIVISION, 2101
West Cypress Creek Road, Ft. Lauderdale,
Florida 33309.
^L/L/U
COMMUNICATION AND
INFORMATION PROCESSING
An Equal Opportunity Employer M/F
THE TIME IS NOW.
THE COMPANY IS
DRC.
At DRC you'll find an environment
that encourages personal growth
through high visibility, project mobil-
ity and technical recognition, both in-
ternally and through direct customer
contact. You'll be part of a small
team of highly skilled technical pro-
fessionals performing Systems
Analysis and Engineering Studies for
DOD program managers. With the in-
creased emphasis on Defense
Systems, the time is now to grow
with a leader in the industry.
We are specifically interested in
people with a BSEE, MS preferred,
with 5 to 10 plus years systems level
experience in these topical areas.
• Automatic Test Equipment
for use on military avionic
systems
• Military Aircraft Displays and
Instruments
• Fire Control Systems and
Airborne Computers
• State-of-the-art Radar and
ECM Systems
• IMU Component Reliability
Analysis
• Military Digital Computers
and associated Automatic
Test Equipment
• Inertial Component Test
• Creative Design
(Analog/Digital) of laboratory
test equipment
• F-16 Avionics Intermediate
Shop Management— Manage-
ment Information Systems
• Signal Processing for Elec-
tronic Warfare, ECM, ECCM
• Life Cycle Cost Analysis
• Operations Research for air-
borne and ground based
electronic systems
• Logistics Support Analysis
for weapons systems
applications
To learn more about these ex-
citing opportunities, please forward
your resume, including salary infor-
mation, to Don Shanley, Dept. MH6
Dynamics Research Corporation, 60
Concord Street, Wilmington, MA
01887.
An equal opportunity employer, M/F.
DYNAMICS RESEARCH CORPORATION i
MH6
ELECTRONIC
ENGINEERS
If you're the kind of engineer who enjoys the challenge of new technological problems, investigate the
professional positions available with The Aerospace Corporation. We seek scientists and engineers with
I'h.D or M.S. in EE or Physics with background in one of these areas:
Laser Communication Engineer
Perform analysis, design and development of laser
communications systems for a variety of space
programs, as well as other applications. In addition to a
background in communications systems, you should be
knowledgeable in the various laser transmitter
technologies including solid state and gas, as well as
laser receiver and optical components.
RF Systems Design
Antenna design studies, RF link calculations for
communications satellites, propagation studies to
determine link margins. A broad RF background, and
the ability to perform systems trade analysis for
terrestrial communications networks involving large
antenna and microwave subsystems are desirable.
Communications Systems Analysis
Statistical analysis of communications systems. The
ability to perform coding systems studies, link
calculations for communications satellites, modulation
and spread spectrum studies and systems trade analysis
for communications networks is desirable.
Optical and Electro-Optical
Systems Analysis
Analysis and laboratory evaluation of optical and
electro-optical components and systems such as CCD
imaging and signal processing devices, lasers, laser
modulators, fiber and integrated optics, and coherent
optical processing. Image analysis, diffraction effects,
optical systems design and specifications.
Space Power Systems
Analysis of the design, processing, assembly and testing
of solar cells and arrays, procurement and testing of
batteries, and electrical integration of solar arrays and
batteries into power systems.
For a more rewarding career please forward your
resume to:
The AerosDace Corporation
Professional Placement Dept. KK
2350 E. El Segundo Blvd.
El Segundo, CA 90245
The Aerospace Corporation
Where There's Space R>r\bur Ideas
An Affirmative Action Employer • U.S. Citizenship Required
MH7
The Challenge
of a Thought
MITRE accepts that challenge every
day. Throughout the projects we under-
take as General Systems Engineer to
the U.S. Air Force's Electronic Systems
Division, we have the same goal in
mind: turning a good idea into an
operational reality.
This is a great simplification of our
work in C 3 (Command, Control and
Communications), but essentially it
comes down to these basics:
Isolate the need. Figure out what we
think might work. Try it out and make
sure it will work. And finally — bring
it to fruition as a real capability in
the field.
Our elite group of systems engineers
has an unusual opportunity to provide
technical leadership in concept
development, design, demonstration
and evaluation — and the satisfac-
tion of seeing their thoughts come to
tangible completion. And with the
project-to-project mobility that is intrin-
sic in MITRE's structure, they know
there will be another challenge waiting
after this one.
Is to
Make 14
a Reality.
If you have a degree and background in
any of the following aspects of C 3 , you
should consider the challenge of
MITRE. This is a thought that could
make your career an entirely differ-
ent reality.
COMPUTER SYSTEMS
RADAR SYSTEMS
MAKE YOUR COMMITMENT TO EXCELLENCE.
rf
FOR THOSE WITH THE
TECHNICAL "MIDAS TOUCH
The next two decades may be
the most challenging — the most rewarding!
IT DEPENDS ON WHERE YOU ARE!
Grumman Aerospace is dedicated people combining their skills and re-
sources to find realistic solutions to many of today's most urgent problems.
It takes the best talents and efforts of many kinds of people, working
together, to produce the high-performance systems and vehicles demand-
ed of today's aerospace industry. Grumman pursues excellence in the de-
sign and development of a wide range of advanced aerospace products as
well as other exciting projects.
We will need more of the best and most innovative minds to continue
meeting these challenges of the future.
Immediate openings now exist in the following areas for degreed engin-
eers (or equivalent experience)
• Systems design, analysis and integration (EW,
ECM)
• Guidance and control • Software development
Field representatives
(U.S. Navy aircraft carrier deployment)
If you would like to apply your talents to forward-looking
programs send a comprehensive resume and salary
requirements in strictest confidence to Kaye B. Perry,
Manager, Employment Development, Grumman Aero-
space Corporation, Plant 28, South Oyster Bay Road,
Bethpage, NY 11714.
U.S. Citizenship Required/An Equal Opportunity Em-
ployer
GRUMMAN
SYSTEM SOFTWARE
COMMUNICATIONS
COMMAND AND CONTROL
SYSTEMS ARCHITECTURE
Send your resume including current or
required salary to David L. Finnegan,
4506 Middlesex Turnpike, Bedford, MA
01730. U.S. Citizenship or resident alien
registration required.
MITRE is an equal opportunity
employer actively seeking applications
under its affirmative action program.
MITRE
STAFF DESIGN
ENGINEERING
PROFESSIONALS
$25,000 to $60,000
Large Scale Computer
System Development
Our client, a prestigious leader in the computer
industry, has outstanding opportunities to work
and live in the scenic rural environment of New
York State's beautiful Hudson Valley. Positions
are presently available in the following disci-
plines:
Digital Logic Designers
You will be involved in digital logic design utiliz-
ing state-of-the-art devices and technologies.
Advanced Semiconductor
Device Engineers
You will be involved in designing high speed
microprocessor and memory products.
Software Architects
You will be designing and integrating high level
languages with large scale systems.
All of these positions require a B.S./M.S. Elec-
trical or Computer Science Engineering Degree
and a minimum of 18 months work experience in
one of the above disciplines. An ability to con-
ceive and develop innovative ideas is also neces-
sary.
You will enjoy an excellent starting salary and
an outstanding comprehensive benefits package.
For confidential consideration, send your re-
sume, a letter of interest, or call: (914)471-9700.
THE
Mr. Eugene Olan
59 Academy Street
Poughkeepsie, N.Y. 12601
Our client is an equal
opportunity employer
and assumes all fees.
Technical Division of Ethan Allen Personnel
HUDSON
GROUP
MH8
^Y£}
Our
products
range in
size from
devices to supersystems. Our technological range
invites more striking comparisons — mini- and micro-
computers, distributed processing, high density
packaging, electro-optics, automation, and C 3 I systems
to cite a few.
We employ about 300
engineers and are the only RCA
plant in New England. This
means individual achievers get
high visibility in our informal structure, yet we can call
upon RCA's worldwide corporate resources. Last year,
we upgraded or promoted over 25% of our engineers.
We have openings for engineers
who can design software, test
systems, high density packages,
maintainability and reliability
programs, and complex computer-based systems.
Our sales have tripled and our employment doubled in
the past five years. Our growth plan for the next five years
shows even brighter prospects
for the future. Become a part of
this Tradition on the Move,
contact Roger Bishop,
Employment Manager,
RCA Automated Systems, P.O. Box 588, Burlington, MA
01803,(617)272-4000.
r\
ItCJI
ATRADITION ON THE MOVE 1
MH9
DON'T WAIT FOR
TOMORROW...
CREATE IT.
When creative ideas are needed for
new and unprecedented software
systems, the people to see are at
Sof Tech. We take new techniques and
old approaches and combine them to
find the best possible solution to any
given problem.
At SofTech, you will have the opportunity to
apply your abilities to exciting, real-world
problems in such diverse areas as:
• Language design and compiler
development
• Communications
• Software engineering facilities
• Data base systems
• Requirements analysis
• Signal processing applications
• Operating systems and executives
• Computer-aided design and computer-
aided manufacturing.
• Sale and enhancement of microprocessor
software products — sole world-wide
distributor of the UCSD p-System
If you have the talent and vision to add to our
international reputation for excellence in the
development and application of new
systems and software technology, your best
position is waiting at SofTech.
We offer opportunities for professional
growth inherent in a 300 person
environment, coupled with excellent starting
salaries and outstanding benefits. Please
send your resume and salary requirements
to Judith M. Forsythe, Dept. 525, SofTech, Inc.,
460 Totten Pond Road, Waltham, MA 02 154;
or call toll-free 1-800-225-8854.
an affirmative action/equal opportunity employer
THE SOFTUJRRE TECHnOLOGV COrTIPRnv
Move Up To STC . . .
And COLORADO!
Storage Technology Corporation is
the world's largest manufacturer of
high performance tape and disk
storage equipment and a major
producer of high speed line printers.
A Fortune 500 company, we're locat-
ed at the base of the magnificent
Rocky Mountains and just minutes
away from Denver. We offer you ex-
citing career opportunities and the
kinds of challenges that stimulate
the most innovative of minds. Our
current openings for qualified
professionals include:
Manufacturing
Engineering Managers
•
Development Engineers
Mechanical Engineers
Test Engineers
•
Power Systems
Engineers
•
Software Test Engineers
•
Test Design
Engineers
•
VLSI Design Engineers
•
Senior Systems
Programmers
•
Quality Engineers
•
Senior Product
Specialist
•
Marketing Product
Line Planner
If you like to see your ideas impact
the industry, we'd like to hear from
you. We provide an excellent com-
pensation package that includes
health, dental and life insurance
benefits, stock purchase plan, com-
petitive relocation assistance and
more. For consideration, please
send your detailed resume in ab-
solute confidence to STORAGE
TECHNOLOGY CORPORATION,
Dept. MID, 2270 South 88th St., MD
#29, Louisville, CO 80027. We are an
equal opportunity employer.
MH10
We'll Give Yju Something to
About
GTE Systems' Strategic Systems Divi-
sion boasts the largest group of
engineering professionals dedicated to
C 3 in this part of the country. Profes-
sionals dedicated to such projects as: a
radio communications system that in-
corporates over 600 VLF, MF, VHF, UHF
and SHF radios; the world's largest fiber
optics cable network, over 15,000
kilometers; a hierarchy of over 5000 com-
puters; and one of the largest software
communications networks ever
developed.
In the past year alone, over 600
engineers made Strategic Systems Divi-
sion their first choice.
They came from major high-technology
centers all over the United States. ..from
England and Canada. Engineering pro-
fessionals at all levels of experience.
Over 600 of them chose to make their
move to GTE Systems' Strategic
Systems Division (SSD). All with the
realization that our tremendous success
and the incredible sophistication of our
technology make SSD the best place to
be for C 3 (command, control and com-
munications).
Our proven C 3 expertise has been
dramatically illustrated in such state-of-
the-art, long-term programs as the MX
and Minuteman. In addition, our Power
Systems Organization is recognized as a
leader in the design, development and
manufacture of high energy Lithium Bat-
tery power sources. Right now, we're
continuing our successful mode as we
actively pursue new and more advanced
programs in the C 3 and power systems
industries.
Perhaps another consideration that has
given SSD an edge is our advantageous
location. Here, in Eastern Massa-
chusetts, GTE professionals enjoy the
cultural and educational riches of this
prized New England environment, the in-
tellectual stimulation of our famed
Route 128 electronics belt and the
recreational advantages of our distinc-
tive seasons so enhanced by easy ac-
cess to winters in New Hampshire and
Vermont and spectacular summers on
the sandy beaches of Cape Cod. All this
in an area that claims the extraordinary
benefits of easily affordable homes,
both in suburban and rural areas.
Hardware
Engineering
D
Distributed Processing
Modems
Data and Voice
Multiplexing
Switching
Microprocessor
Hardware and
Firmware Design
Power Supply Design
(High-Efficiency,
Switching)
Analog Design
Frequency Synthesizers
Digital Radio
Digital Signal
Processing
Fiber Optics Interfaces
Electronic Surge
Arrestors
Display and Control
Telephone Switching
I/O Controller Design
Antenna Design:
VLFSHF
Equipment Integration
COMSEC Interface
Servo Design
C 3 Simulator Design
EMC/Tempest Design
Software
Engineering
Real-Time Command
and Control
Telecommunications/
Computer Networking
Real-Time Simulation
Diagnostics/ATE
Operating Systems and
Compilers
Microprocessor
Development
Data Base Management
Telephony
Systems Programming
Support Software
Test
Engineering
□ Test Planning
and Analysis
□ Unit Test
□ Subsystems Test
□ Systems Test
□ Site Test
□
□
D
□
□
□
□
□
□
Systems
Engineering
U Communications Systems
□ COMSEC Systems
□ Systems Software
Operability
□ Maintenance Systems
We will contact you.
Simply check off the area(s) of interest, complete the
following information and forward this page to Bill U.
Ahalt, GTE's Sylvania Systems Group, Strategic Systems
Division, 189 "B" Street, Needham, MA 02194.
Name
Phone
Address
State _
Degree
Power Systems
□ Research and
Development
Engineering
□ Chemical Engineering
□ Process/Production
Engineering
□ Program Management
□ Quality Control
D Mechanical Packaging
Engineering
D Industrial Engineering
(HT3
Systems
Zip
. Yrs. of Exp.
an equal opportunity employer M/F
MH11
Reach
for Excellence
Share in the excite-
ment of our outstand-
ing achievements. Be
part of Honeywell's
Small Systems and
Terminals Division
(SS&TD) at our Billerica
facility. And gain satisfying
rewards in an environment
governed by no less than
excellence.
Positions are available
at most levels in:
Since 1969, Billerica has been one
of Honeywell's foremost engineering
organizations with a history of significant
technical accomplishments.
As headquarters for SS&TD, Billerica continues
in this vein. Most recently, with the acclaimed
introduction of Honeywell's DPS-6 family of
small computers. ..and the WP-6 word process-
ing system, just the first of many advanced
products to be announced for Honeywell's new
office automation line.
Throughout the coming year, and in years to
come, our Billerica operation will continue to
advance Honeywell's state of the art. Our
engineers will continuously strive to find
innovative answers in the field of LSI and VLSI,
Terminals, Design Automation, Office Automa-
tion, Networking and Communications,
Distributed Data Processing and more.
Join us in our quest for excellence. In computer
technologies. In communications technologies.
And in each and every thing we do.
Honeywell
Small Systems and Terminals Division
300 Concord Road
Billerica, MA 01821
An Equal Opportunity Employer M/F/H
Terminals Software
Development
Product Planning &
Specification
Product Test
Programming &
Systems Analysis
New Terminal Products
Development
CAD/CAM Design
Systems Design
Custom Software Development
Terminals Hardware Development
Firmware & Maintainability Systems
Engineering
Analog Design
Custom Terminals Hardware Engineering
Mechanical Design & Engineering Support
Design Automation
Semiconductor Design
VLSI & LSI Design
Disk Controller Design
Components & Materials Engineering
Maintainability & Systems Design
Hardware & Systems Test
Peripheral Subsystem Design
Hardware & Software Technical Writers &
Editors
To investigate the above positions, please
forward your resume to Don B. Bats ford.
inljomputers
2gyearsin
Massachusetts
Honeywell
People,
X)ur C ompetitive
— tdge
MH12
The Landlord
TM
Apartment Management Software
Keeping track of apartment availabilities, rent
payments, security deposits, leases, and other
administrative functions consumes a great deal of time
and attention for apartment owners and managers. You
and your staff proPably spend countless hours dealing
with the paperwork necessary to manage your property.
With the Landlord'" apartment management
software and an Apple II* computer, file cabinets full of
paperwork and the frustrations of cumbersome
bookkeeping procedures can be eliminated. The
clerical work for your apartments can be accomplished
with greater accuracy in a fraction of the time you
presently spend. The Landlord™ will keep up-to-date files
on apartments and residents as well as detailed records
of property income and expenses.
You'll be able to enter, change, or delete information
by following the simple English instructions that appear
on the screen of the Apple II". The Landlord™ will
automatically organize and store your data and make
it available for your review at any time. With the
Landlord™, your resident manager can instantly
determine where apartment vacancies exist and when
additional units will become available for rental. The
Landlord™ also keeps track of resiaent payments, letting
"Apple II is a registered trademark of Apple Computer, Inc.
The Landlord is a trademark of MIN Microcomputer Software. Inc.
you see at a glance who is behind on rent or other
payments. Property and tax analysis reports are printed
automatically each month and allow you to monitor
the profitability of your apartments.
The Landlord™ apartment management software
and the necessary Apple II" equipment are available for
less than the cost of a new sub-compact car. If you own
or manage an apartment property with no more than
400 units, visit your nearest computer dealer for a
demonstration.
""bY88T"
Please return this coupon for more information about
the Landlord™ and the name of the dealer nearest
you.
Name
Company
Address _
City/State
Zip.
MIN MICROCOMPUTER SOFTWARE.
5835-A Peachtree Corners East
Norcross, Ga 30092
INC
Circle 251 on inquiry card.
BYTE August 1981
81
However, nothing is known outside the window about
how it responds to these messages. (It is known that a
window will move when asked to, but it is not known
how it accomplishes the move.)
The set of messages an object can respond to is called
its protocol. The external view of an object is nothing
more than its protocol; the internal view of an object is
something like a data/procedure system. An object has a
set of variables that refers to other objects. These are
called its private variables. It also has a set of methods
that describes what to do when a message is received. The
values of the private variables play the role of data and
the methods play the role of procedures. This distinction
between data and procedures is strictly localized to the
inside of the object.
Methods, like other procedures, must know about the
form of the data they directly manipulate. Part of the
data a method can manipulate are the values of its
object's private variables. For example, we might imagine
three ways that a window represents its location and size
(internally). The private variables might contain:
• four numbers representing the x and y location of the
center, the width, and the height
• two points representing opposite corners of the window
• a single rectangle whose location and size are the same
as the window's
The method that moves a window (the response to
Some things are just
naturally right.
tin
W
tiny-c is a structured programming language designed to
allow you to focus attention on the problems you want to
solve — rather than the language you're using to solve it. With
tiny-c you can expand your horizons far beyond the limits of
BASIC, tiny-c ONE (interpreter), $100- includes Owner's Manual
plus wide choice of media, source code. It's still the best struc-
tured programming trainer. Tiny-c TWO (compiler), $250 -
includes Owner's Manual, CP/M® disk, source code. This
version puts UNIX® pleasure into your CP/M.
tiny c associates, P.O. Box 269, Holmdel, NJ 07733
(201) 671-2296
* g , . You'll quickly discover tiny-c is
1^^/ naturally right for your language
<y
needs.
New Jersey residents include 5% sales tax. Visa or Master
Charge accepted. Include charge plate number with order.
• CP/M is a trademark of Digital Research. Inc.
- UNIX is a trademark of Bell Labs, Inc.
® tiny-c is a trademark of tiny c associates.
messages with the selector move) assumes that a par-
ticular representation is used. If the representation were
changed, the method would also have to be changed.
Only the methods in the object whose representation
changed need be changed. All other methods must
manipulate the window by sending it messages.
A message must be sent to an object to find out
anything about it (ie: our concept of manipulation in-
cludes inquiring about information, as well as changing
information). This is needed because we don't want the
form of an object's inside known outside of it. The
response to a message may return a value. For example, a
window's response to the message width returns an object
that represents its width on the display (a number). The
method for determining what to return depends on the
form of the window's private variables. If they are
represented as the first alternative listed above (four
numbers), the response would simply return the value of
the appropriate private variable. If the second alternative
is used (two points), the method would have to determine
the width from the x coordinates of the two corners. If
the third alternative is used (one rectangle), the width
message would simply be passed on to the rectangle and
the rectangle's response would become the window's
response.
Classes and Instances
Most object-oriented systems make a distinction be-
tween the description of an object and the object itself.
Many similar objects can be described by the same
general description. The description of an object is called
a class since the class can describe a whole set of related
objects. Each object described by a class is called an in-
stance of that class.
Class: A description of one or more similar
objects.
Instance: An object described by a particular
class.
Every object is an instance of a class. The class
describes all the similarities of its instances. Each instance
contains the information that distinguishes it from the
other instances. This information is a subset of its private
variables called instance variables. All instances of a class
have the same number of instance variables. The values
of the instance variables are different from instance to in-
stance. An object's software (ie: the methods that
describe its response to messages) is found in its class. All
instances of a class use the same method to respond to a
particular type of message (ie: a message with a particular
selector). The difference in response by two different in-
stances is a result of their different instance variables. The
methods in a class use a set of names to refer to the set of
instance variables. When a message is sent, those names
in the invoked method refer to the instance variables of
the message receiver. Some of an object's private
82 August 1981 © BYTE Publications Inc
Circle 385 on inquiry card.
SuperSoft's
Gallery of CP/M Masterwork§
Programming Languages
"C"
FORTH
FORTRAN IV
RATFOR
BASIC
TINY' PASCAL
Disk/Manual Only
$200/20
$200/25
$250/25
$100/NA
$200/25
$ 85/10
System Maintenance
Diagnostics II
Diagnostics 1
DISK DOCTOR
$100/15
$ 75/15
$100/15
Utilities
Utility Pack#1
Utility Pack #2
$ 60/NA
$ 60/NA
Text Processing
TFS
Super-M-List
$ 85/15
$ 75/10
Software Security
Encode/Decode II
Encode/Decode I
$100/20
$ 50/20
Intercommunications
TERM
TERM II
$150/15
$200/15
Entertainment
ANALIZA
NEMESIS
Dungeon Master
(For use with Nemesis)
$ 35/NA
$ 40/NA
$ 35/NA
Miscellaneous
Z8000 Cross-Assembler
"C" Cross-Compiler
(Z8000 Target)
$500/25
$500/25
TERM
A Complete Networking/Intercommunications Package
TERM allows the CP/M user to communicate with
other CP/M based systems or with remote timesharing
computers. TERM supports file transfers between both
timesharing systems and between CP/M systems.
TERM equals or exceeds comparable programs in
power and flexibility, but costs less, delivers more and
source code is provided on discette!
With TERM you can send and receive ASCII, HEX
and COM files. You also have a conversational mode,
and a timesharing terminal emulator. Below is a partial
list of features:
• Engage/disengage printer • terminal emulator
• auto error checking with re-try
• conversational mode
• send files • receive files
requires 32K CP/M and a minimal knowledge of assembly language
programming.
TERM is supplied with source and user manual: $150.00
Manual only: $15.00
^ ■ ♦"♦"♦"♦"♦"<
TERM
i"*"*"»"*"*" fl
Many programs include SuperSoft's online "HELP" system!
fe
W^
TfiHhrfnrfirfirfii'f-irfirfirfvfirfirTirT-irfTff-
S3H
SUPERDI5KS FOR SALE!
SuperSoft Has Great Prices on Blank Discettes
SuperSoft sought out and found a discette that
met our high standards. In the software distribution
business we needed a discette that was reliable,
sturdy, durable, and inexpensive We wanted no data
errors on any discette that we shipped
• Guaranteed
• Data density in excess of 3200 b.p.i.
• Approved by Shugart, Persci, Qume, Remex, others
• Operating temperature: 50-120 degrees Fahrenheit
Discette type [ price per box
Single Sided Single Density:
Soft sectored IBM compatible 8": $30.00
1 hard sectors 5%': $30.00
16 hard sectors 5% ": $30.00
Single Sided Double Density:
Soft sectored IBM compatible 8": $35.00
10 hard sector 5% ": $35.00
16 hard sector 5JC: $35.00
'Add $15.00 for Double Sided Discettes
Illinois residents add 5%
Add $1 .00 shipping per box
All SUPERDISKS are sold only in lots of 10 Each comes with jackets and box All orders musl be ore-
paid or C O D Generally we ship trom stock with arrival times running about 8- 10 days
h
U^L i M4M^iL^L iJV g IKff Sf SCfiL^i t ^^kl*kȴ^r
3E*(
For complete information on these and all other
SuperSoft products, please write for our free catalogue.
All software can be supplied on the following media:
CP/M formats ... 8" sft sectored, 5" Northstar,
5" Micropolis Mod II, Vector MZ, Superbrain DD/QD,
Apple 11 +
All Orders and General Information:
SUPERSOFT ASSOCIATES
P.O. BOX 1628
CHAMPAIGN, IL 61820
(217) 359-2112
Technical Hot Line: (217) 359-2691
(answered only when technician is available)
■CP/M REGISTERED TRADEMARK DIGITAL
RESEARCH
SSS FORTRAN is the copyright of
Smalt Systems Services, Urbana. Illinois
24 hour express service available!
SuperSoft
First in Software Technology
Prices suD/ecf to cnange without notice
Epson Printers
PRINTERS,
MONITORS
DISKS
Amdek Color Monitor $?. . -V/\]l 369
Amdek Green Screen : . . .\1 159
Amdek/Leedex B/W 12" Monitor 129
Centronics 737 737
Daisey Wheel Printer 1750
Epson MX70 CALL
Epson MX80 FT CALL
Epson MX80 CALL
NEC Spinwriter #5510 2590
Paper Tiger 445G 725
Paper Tiger 460G 1 175
Paper Tiger 560 1495
Silentype w/interface 529
Sanyo 9" B/W Monitor 169
Sanyo 12" B/W Monitor 255
Sanyo Green Screen 309
NEC Green Screen 239
Televideo 912C 669
Televideo 920C 749
Dysan Disks (pkg. 10) 50
Memorex Disks (pkg. 10) 40
Opus Disks (pkg. 10) 30
Verbatim "Gold" (pkg. 10) 35
^ ATARI"
C 7QQ MAKES
J> f Ow IT . WE
SELL IT
Assembler/Editor 45
Atari 800 789
Atari 400 8K 419
Atari 820 Printer 429
Atari 810 Disk Drive 499
Atari 410 Program Recorder 69
Atari 825 Printer 695
Atari 850 Interface 169
Atari Joystick 18
Atari Paddles 18
Le Stick 35
16k RAM Microtek 99
Microtek 32K RAM 189
Visicalc 180
Basketball 30
Video Easel 30
Super Breakout 30
Music Composer 45
Computer Chess 30
Star Raiders 45
3-D Tic-Tac-Toe 30
Invitation to Programing 17
LEEDEX VIDEO 1 00 jfe MONTHLY jfc
12" Black & White $139 ^ SPECIALS ^
CENTRONICS 737
cable sxlra I O f
AVAILABLE FOR IMMEDIATE SHIPMENT
oSrVx^ l+fS> *+/• Pinr speed
Y^/ VL"*//' 25 CP5
Paper width
381mm (15") max.
flacked by C. Iroh's 1 yr.
limired warranty
Interface — standard parallel or 'tej&te-
KS232-C compatible ^fl^,,
Ready-to-use, requiring no changes * "^ : -S s :-.^5
in hardware or software
Compatible with sheet feeders G . Excellent letter-quality
uses industry standard ribbon printing on 3 sharp copie
cartridges
TO ORDER: Phone orders invited using Visa. Mastercard or
bank wire transfers. Visa and MC service charge of 2%. Mail
orders may send charge card number (include expiration date),
cashiers check, money order or personal check (allow ten
business days for personal or company checks to clear). Include
3% ($5 minimum) for UPS shipping, handling, and insurance,
Calif, residents add 6% sales tax. Please include phone number.
No COD or PO accepted. APO and FPO include 5% for postage
FOREIGN ORDERS include 1% handling— shipped air FREIGHT
COLLECT only. Credit cards not accepted on foreign orders.
All equipment is in factory cartons with manufacturers warranty.
Opened products not returnable. Restocking tee for returned
merchandise. Equipment subject to price change and avail-
ability. Retail store prices differ from mail order prices. WE
SHIP THE SAME DAY ON MOST ORDERS!
(714) 579-0330 • MAIL TO: 1251 Broadway, el cajon, ca. 92021
^aaaamyaigs
div or
COMPUTER
METRICS
INC
Circle 76 on inquiry card.
DISK with CONTROLLER
NEW DOS 3.3 $529
without . . . $445
Nearly Everything
for Apple
fcipple ][
i6K computer
APPLE II 48K
$1095
^- WE WILL MEET OR BEAT
ANY ADVERTISED PRICES
ON MOST ITEMS IF MERCHANDISE
IN STOCK
APPLE SOFTWARE
Adventure by Microsoft 27
ABM by Muse 22
Alien Rain by Broderbund 22
Applebug Debugger 29
Apple PIE 129
Apple Pilot 129
Apple Plot System 59
Applepost Mailing List System 44
Applesoft Cassette Demos 29
Apple Game Paddles 26
Applesoft Utility Programs 29
Applewnter Word Processor 65
Ascii Express 65
Asteroid Field by Cabalier 19
Autostart ROM Pkg 59
Controller Bus. Pkg 514
Cosmos Mission/Space Invaders. ... 24
CCA Data Mgmt 84
3-D Animation Pack 55
Data Factory by Microlab 129
Desktop Plan II 169
DB Master by Stoneware 209
DOS Tool Kit 65
DOS 3 3 Upgrade 49
Dow Jones Portfolio Evaluator 45
Forth II by Softape 45
Fortran for Language Sys 159
Galaxian by Broderbund 23
Hi Res Football 33
Head-on 25
Integer Basic Cassette Demos 29
Pascal Language System 459
Peachtree Bus Pkgs CALL
Personal Filing System 84
Phantoms Five 39
Raster Blaster by Budge Cc 24
Sargon II Chess Game disk 32
Single Disk Copy Routines 35
Space Game Album by B Budges ... 39
Space Eggs 25
Star Cruiser 24
Stellar Trek 23
Sub-Logic FS-1 Fit Sim disk 34
Supertext II by Muse 129
3-D Graphics Tool by B Budges 39
Tranquility Base 24
Trilogy by Bill Budge 24
Visicalc II 169
Visihst CALL
Wizard and the Princess 32
Zork 34
LARGE SELECTION OF
SOFTWARE IN STOCK —
CALL FOR FREE BROCHURE —
CALL
PHONE
MON. -
Circle 76 on inquiry card.
1-800-854-2833
ORDERS
SAT. 8 to 6 P.S.T.
APPLE COMPUTER
INTERFACE CARDS
ALS Smartterm 324
Apple Clock/Calendar Card
by Mtn. Comp 225
Applesoft II Firmware Cd 149
CCS Asynchronous 7710A 145
CCS Parallel Print Cd. 7720A 155
Centronics Interface Cd 179
Comm. Cd. & DB25 Cable 179
CPS Multifunction by Mtn. Comp. . . 259
Expansion Chassis by Mtn. Comp. . . 649
HiSpeed Serial Int. Cd 155
Integer Basic Firmware Cd 149
ROMPLUS (keyboard filter extra) ... 135
Serial Interface Card 139
SSM AIO Serial/Parallel I/O
Assembled & Tested 189
ACCESSORIES
A/D D/A Board by Mtn. Comp 319
Andromeda 16k Ramcard 179
Arith. Processor 781 1 A or B 339
COPYROM by Mtn. Comp 51
Dan Paymar L.C. Kit 1 or 2 55
Extender Board 27
GPIB by CCS model 7490A 259
Graphics Input Tablet 649
Hayes Micromodem' 319
Introl X-10 Remote Control Sys 239
K & D Joystick for the Apple 47
Keyboard Filter ROM chip 49
M & R Sup-R-Term 80 column board 319
Music System by Mtn. Comp 479
Programmable Timer CCS 7440A . . . 159
Prototyping Hobby Card 22
ROMWRITER by Mtn. Comp 149
SuperTalker Speech Synthesizer. . . . 239
Symtec Light Pen 214
Versa-Writer Digitizer
Drawing System 209
Videx Keyboard Enhancer 115
Videx Videoterm 319
Z-80 Soft Card Microsoft 295
MEMBER, CHAMBER OF COMMERCE
AUTHORIZFD
APPLE
SALES &
SERVICE
(^TinT°X u M^ >
a^ar-ibsis
DIV OF
COMPUTER
METRICS
INC
variables are shared by all other instances of its class.
These variables are called class variables and are part of
the class.
The programmer developing a new system creates the
classes that describe the objects that make up the system.
The programmer of the window-management system
would create a class that contained methods correspond-
ing to the message selectors move, display, delete, width,
and height. This class would also include the names of
the instance variables referred to in those methods. These
names might be frame, text, and title, where:
frame is a rectangle defining the area on the
screen,
text is the string of characters displayed in the
window, and
title is the string of characters representing the
window's name
The classes representing rectangles and strings of
characters are included in most systems, so they don't
need to be defined.
In a system that is uniformly object-oriented, a class is
an object itself. A class serves several purposes. In a run-
ning system, it provides the description of how objects
behave in response to messages. The processor running
an object-oriented system looks at the receiver's class
when a message is sent to determine the appropriate
refqrmaTTer
GETS FILES ACROSS!
With REFORMATTER disk utilities you can read and write
IBM 3740 and DEC RT-11 single density formatted diskettes on your
CP/M" system.
REFORMATTER enables you to access large system databases,
improve data exchange with other organizations, increase program
development capabilities, and use your micro in distributed processing.
REFORMATTER programs feature bi-directional data transfer
and full directory manipulation. ASCII/EBCDIC conversion provided
with CP/M <-»IBM. MPIM is now fully supported.
Program Data Sheets, Application Guides, and Machine Compati-
bility (iuides available.
Each program $195.00 from stock. Specify CP/M <— IBM or
CP/M •* DEC. Order from MicroTech Exports, Inc., 467 Hamilton
Ave., Suite 2, Palo Alto, CA 94301 □ Tel: 415/324-9114 □ TWX:
910-370-7457 MUH-AIJOS □ Dealer and OEM discounts available.
hh CP/M* is a reRistercd trademark of Digital Research. Wm
method to execute. For this use of classes, it is not
necessary that they be represented as objects since the
processor does not interact with them through messages
(preventing a nasty recursion). In a system under
development, a class provides an interface for the pro-
grammer to interact with the definition of objects. For
this use of classes, it is extremely useful for them to be ob-
jects, so they can be manipulated in the same way as all
other descriptions. Classes also are the source of new ob-
jects in a running system. Here again, it is useful for the
class to be an object, so object creation can be
accomplished with a simple message. For example, the
message new might be sent to a class to create a new in-
stance.
Inheritance
Another mechanism used for implicit sharing in object-
oriented systems is called inheritance . One object inherits
the attributes of another object, changing any attributes
that distinguish the two. Some object-oriented systems
provide for inheritance between all objects, but most pro-
vide it only between classes. A class may be modified to
create another class. In such a relationship, the first class
is called the superclass and the second is called the
subclass. A subclass inherits everything about its
superclass. The following modifications can be made to a
subclass:
• adding instance variables
• providing new methods for some of the messages
understood by the superclass
• providing methods for new messages (messages not
understood by the superclass)
• adding class variables
As an example, the window-management system might
contain windows that have a minimum size. These would
be instances of a subclass of the ordinary class of win-
dows that added an instance variable to represent the
minimum size and provided a new method for the
message that changes a window's size.
Conclusion
The realization that information can describe the
manipulation of information is largely responsible for the
great utility of computers today. However, that
discovery is also partially responsible for the failure of
computers to reach the utility of some predictions made
in earlier times. On the one hand, it can be seen as a
unification between the manipulator and the
manipulated. However, in practice, it has been seen as a
distinction between software and the information it
manipulates. For small systems, this distinction is
harmless. But for large systems, the distinction becomes a
major source of complexity. The object-oriented point of
view is a way to reduce the complexity of large systems
without placing additional overhead on the construction
of small systems. ■
86 August 1981 © BYTE Publications Inc
Circle 241 on inquiry card.
f his time in iwif chers
Long the recognized leader In quality open-frame linears,
Power-One is now setting the pace in switching power supplies.
Our fast growing line of efficient high-performance switchers
offer a combination of features not found in others at these low
prices. Features such as fully regulated outputs, 115/230 VAC
input capabilities, superior hold-up time, and totally enclosed
packaging for enhanced safety. Additionally, these models
incorporate many other innovative ideas that set our switchers
apart... while reflecting the same simplicity
of design that has kept our open-frame lin-
ears the most cost-effective in the industry.
Best of all, Power-One switchers are 100%
American built by Power-One personnel, at
Power-One facilities, and under tough Power-One quality
control standards. Adding up to total dependability at typical
Power-One low prices.
So check us out. See why we're leading the way again. This
time in switchers.
Send for our new '81 Catalog. Better yet, contact your local
Power-One representative for immediate action.
VOLTS
AMPS
MODEL
5V
40A
SK5-40
12V
16.8A
SK12-16.8
15V
13. 4A
SK15-13.4
24V
8.4A
SK24-8.4
28V
7.2A
SK28-7.2
SIZE: 2"H X 4.88" W X 13"L
\
$250
200 WATTS
OUTPUT
VOLTS
AMPS
*1
5V
20A
#2
12V
5A
*3
-12V
3A
*4
5V. 12V,
15V. or 24V.
USER
SELECTABLE
3.5A
SIZE: 2"H X 4.88"W X 14"L
MAX OUTPUT POWER: 150 WATTS
CONTINUOUS. SUM OF ALL OUTPUTS
r
150 WATTS - 4 OUTPUTS
THE UNIVERSAL SHQ-150W
1
m
—
^^^ii^
J VOLTS
AMPS
MODEL
5V
10A
SD5-10
12V
4.2A
SD12-4.2
15V
3.4A
SD15-3.4
24V
2.1A
SD24-2.1
28V
1.8A
SD28-1.8
SIZE: 2"H X 4.88"W X 6.25T,
VOLTS
AMPS
MODEL
5V
20A
SF5-20
12V
8.4A
SF12-8.4
15V
6.7A
SF15-6.7
24V
4.2A
SF24-4.2
28V
3.6A
SF28-3.6
SIZE:2"HX4.88"WX10"L J<
FREE!
WIBMW-.
NEW 1981 CATALOG
AND POWER-ONE
TOUR GUIDE
d.c. power supplies
POWER-ONE INC. • POWER ONE DRIVE • CAMARILLO, CA 93010
PHONE: (805) 484-2806 • (805)987-3891 • TWX: 910-336-1297
Circle 312 on Inquiry card.
SEE EE M OR GOLDBOOK FOR OUR COMPLETE PRODUCT LISTING
AND LOCATION OF YOUR NEAREST POWER-ONE REPRESENTATIVE.
BUMPER CROP
8-inch Winchester Multi-User Systems. Now In Volume- $8,500.
Altos is delivering the cream of the
crop with their new 8-inch multi-user
Winchester disk systems. They're
freshly packed with the quality
features you expect from Altos, and
at a price you expect from Altos,
too-just $8,500.
Pick from two fully integrated
systems, each packaged in our new
compact, stylish cabinet suitable for
either rack mount or table top
applications. You get 10 MBytes of
reliable on-line storage in our 8-inch
Winchester drives. Then for system
back-up storage, you can select from
4 Users
SYSTEMS PICTURED:
ACS8000-10 (10Mb HD + 1 floppy) $ 8.S00
ACS8000-10/MTU (10Mb HD + DEI Mag Tape) $10,990
either 8-inch, single or double-sided
floppy drives (ACS8000-10 and -10D)
or a V4-inch magnetic tape drive
(ACS8000-10/MTU). And for powerful
performance, all of these Z80A*based
systems come complete with 208K
of RAM and 6 programmable serial
ports, ready to support four users.
Here's the most bountiful
selection of systems and capacities in
the field from the company that
knows how to deliver quality systems
in the volumes that OEMs need to
stay competitive.
And Altos supports these
systems with a broad software
selection including the three industry
standard operating systems— CP/M,
multi-user MP/M** and OASIS*.
These operating systems support
seven high level programming
languages: BASIC, FORTRAN, COBOL,
PASCAL, APL, PL/1 and C. Also
available are comprehensive
communications packages: ASYNC—
Altos-to-Altos, BISYNC-Altos-to-
mainframe and full networking with
CP/NET. All are designed to run on a
high speed 800 Kilobaud networking
channel— standard with every
system.
The ACS8000-10 Winchester
systems join our growing family of
field-proven products. In just three
years, more than 8,000 systems
have been shipped to an OEM
customer-base.
Get to market fast. Harvest
your 8-inch Winchester system direct
from the heart of Silicon Valley. Call
or write today for specific product
information and OEM pricing. Altos
Computer Systems. 2360 Bering
Drive, San Jose, CA 95131, (408)
946-6700, Telex 171562 ALTOS SNJ.
Packed with
Fresh Ideas
COMPUTER SYSTEMS
'Z80A is a registered trademark of Zilog. Inc.
**CP/M and MP/M are registered trademarks of Digital Research. Vnc
fOASIS is a registered trademark of Phase One Systems. Inc.
Jdatapro is a registered trademark of Datapro Research Corp.
© 1981 Altos Computer Systems
Circle 15 on inquiry card.
BYTE August 1981
89
The Smalltalk Environment
Larry Tesler
Apple Computer Inc
10260 Bandley Dr
Cupertino CA 95014
As I write this article, I am wearing a T-shirt (photo 1)
given to me by a friend. Emblazoned across the chest is
the loud plea:
DON'T
MODE
ME IN
Surrounding the caption is a ring of barbed wire that
symbolizes the trapped feeling I often experience when
my computer is "in a mode."
In small print around the shirt are the names of some
modes I have known and deplored since the early 1960s
when I came out of the darkness of punched cards into
the dawn of interactive terminals. My rogues' gallery of
inhuman factors includes command modes like INSERT,
REPLACE, DELETE, and SEARCH, as well as that in-
escapable prompt, "FILE NAME?" The color of the silk
screen is, appropriately enough, very blue.
My friend gave me the shirt to make fun of a near-
fanatical campaign I have waged for several years, a cam-
paign to eliminate modes from the face of the earth — or
at least from the face of my computer's display screen. It
started in 1973 when I began work at the Xerox Palo Alto
Research Center (PARC) on the design of interactive
systems to be used by office workers for document
preparation. My observations of secretaries learning to
use the text editors of that era soon convinced me that my
beloved computers were, in fact, unfriendly monsters,
and that their sharpest fangs were the ever-present
modes. The most common question asked by new users,
>
36V
".»[,« slH*'
Photo 1: The "DON'T MODE ME IN" T-shirt.
90 August 1981 © BYTE Publications Inc
at least as often as "How do I do this?," was "How do I
get out of this mode?" Other researchers have also con-
demned the prevalence of modes in interactive systems
for novice users (reference 1).
Novices are not the only victims of modes. Experts
often type commands used in one mode when they are in
another, leading to undesired and distressing conse-
quences. In many systems, typing the letter "D" can have
meanings as diverse as "replace the selected character by
D," "insert a D before the selected character," or "delete
the selected character." How many times have you heard
or said, "Oops, I was in the wrong mode"?
Preemption
Even when you remember what mode you are in, you
can still fall into a trap. If you are running a data-plotting
program, the only commands you can use are the ones
provided in that program. You can't use any of the useful
capabilities of your computer that the author of the pro-
gram didn't consider, such as obtaining a list of the files
on the disk. On the other hand, if you're using a program
that lets you list files, you probably can't use the text
editor to change their names. Also, if you are using a text
editor, you probably can't plot a graph from the numbers
that appear in the document.
If you stop any program and start another, data
displayed by the first program is probably erased from
the screen and irretrievably lost from view. In general,
"running a program" in most systems puts you into a
mode where the facilities of other programs are
unavailable to you. Dan Swinehart calls this the dilemma
of preemption (reference 2).
Many systems feature hierarchies of modes. A portion
of a typical mode hierarchy is shown in figure 1. If you
are in the editor and want to copy text from a file, you
issue the copy-from command and it gives the prompt
"from what file?" You then type a file name. What if you
can't remember the spelling? No problem. Leave from-
what-file mode, leave copy-from mode, save the edited
text, exit from the editor to the executive, call up file
management from the executive, issue the list-files com-
mand, look for the name you want (Hey, that went by
too fast. Sorry, you can't scroll backwards in that
mode.), terminate the list command, exit from file
management to the executive, reenter the editor, issue the
copy-from command, and when it prompts you with
"from-what-file?," simply type the name (you haven't
Circle 269 on inquiry card.
EEE33S
DYNABYTE
SYSTEMS+
NORSEA offers the most professional, cost effective and high
performance microcomputer systems and peripherals for USA,
Canada and the World. Quantity discounts start at quantity 2 level
COMPLETE SYSTEMS
(including software)
Professional Word
Processing System
Dynabyte 5200 -Dual 5/4"
Televideo 950
Starwriter I
WordStar
List $9,7 10 Net $6,312
Full Business
Accounting System
Dynabyte 5300 - Dual 8"
Televideo 950
DataSouth 180
Business Manager
List $12,520
Net $8,130
Net $15,650
11 MB Hard Disk Full
Business Accounting and
Word Processing System
Dynabyte5615-11MB
2-Televideo 950
Starwriter I
DataSouth 180
Business Manager
WordStar
List $24,075
45 MB Hard Disk
High Performance Business
Accounting and Word
Processing System
Dynabyte 5700 - 45 MB
4-Televideo 950
Starwriter II
Dataproducts 340CPS
Business Manager
WordStar
List $35,930 Net $23,360
Many other configurations
available, with or without
software.
REMEXFLOPPY
DISKDRIVES
The highest quality in 1MB
8" floppy drives
RFD4000 $699
Other REMEX products available.
PERIPHERALS
Volker-CraigVC414H
(Hazeltine 1510 compatible -
amber screen)
Televideo 950
Starwriter I
Starwriter II
DataSouth DS-180
Tally T-1705
Dataproducts M-200
HARD DISK
SUBSYSTEMS
(Can be daisy chained for
up to 1 04 MB of storage)
Formatted with S-100 Controller,
PSU and Cabinet
M10-10MB-8"
M20-20M-8"
M26-26MB-14"
Subsystems also available in OEM
stripped down versions.
$ 899
$ 999
$1,599
$1,799
$1,399
$1,799
$2,099
$2,995
$3,830
$3,995
DYNABYTE
MICROCOMPUTERS
This fast growing and truly professional
range of microcomputers is now
available at best prices through NORSEA,
with a wide choice of quality peripherals
and software.
EXPORTS
NORSEA specializes in the export of
Dynabyte microcomputers and a selected
range of high quality peripherals.
We are experienced in international
trading and we pride ourselves on fast
and courteous service at the
lowest prices possible.
FOREIGN SYSTEMS
MANUFACTURERS
NORSEA offers you a unique purchasing
service, procuring U.S., Canadian, and
Japanese made computer subsystems and
peripherals for your requirement at the
most attractive prices and deliveries.
Send us your shopping list including
quantity and delivery requirements.
TRADEMARKS
Business Manager by Dynabyte
Starwriter by C. Itoh
WordStar by MicroPro
To Order: Call (203) 775-0438
(203)775-4465
Telex 969638
NORSEA
DATA CORPORATION
U.S. Route 7, Brookfield
Connecticut 06804 U.S.A.
Prices subject to change without notice.
TO ORDER CALL (212) 687-5000
SUPR
INTE3TEC
DATA
SY5TEMS
64K
ONLY
$2995
anus
More lhan 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
Receivable, Payroll, Inventory or Word Processing. . the SuperBrain handles
all of them with ease FEATURES INCLUDE:
• 2 dual-density mimfloppies with 360K bytes of disk storage • A CP'M Disk
Operaling System with a high-powered lex! editor, assembler and debugger.
NEW96K
80 Column
Commodore
CBM
Basic 4.0
Operating
System
• 80 column by 25 line display
• 12" CRT
• New screen editor
• Split screen processing
• Super fast string handling
• 15 additional basic commands
• Supports relative record processing
Model B032
32K memory
$1495
NEW!
Model 8096
$1795
8050 DUAL DISK $1795
1 million bytes on-line storage
and DOS 2.0 operating system
NEW 2031 SINGLE DISK $695
Commodore Computer
These low cost Commodore PET Business
Computers have virtually unlimited business
capabilities. Accounts Receivable, Inventory
Records, Payroll, and ,
other accounting J *v s*
functions. / & $* #&
PET 16N & 32N/ I
COMPUTERS I
• Full size keyboard
16 or 32,000
Bytes Memory
Level III
Operating
System
- Full Screen ~
Editor
• Upper lower case & 64 graphic characters
. PET DUAL
FLOPPY DISK
• Stores 360,000
Bytes on-line
• Microprocessor
1^— — ""* controlled
• Uses single or
dual sided floppies
HI-SPEED PRINTER
• 150 cnaracters per
second • Up to 4
copies 8" wide
j • Microprocessor
Controlled • Prints
All Graphics • Full
Formatting Capability
%
APPLE II PLUS' or P r/ce
A complete self-contained computer system with APPLESOFT floating point
BASIC m ROM. lull 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
Supertalker $279 Micromodem $379
Disk 645 Superterm (24 x 80) 395
Add-on Disk 525 Speechlab 229
Pascal Card 495 Communication Card ... . 225
Business Software 625 Modem 200
Monitor 159 Graphics Printer 595
PRI
EPSON
MX-70
MX-80
MX-80FT
MX-100FT
Call for Prices
CENTRONICS
700-9
RS-
Printer Card 180 Graphics Tablet
[apple///
IS FINALLY HERE
128K RAM!!
795
l
cps Bi-Directional • Up to 15
Paper Width • 9 „ 9 Main
Upper/Lower Case
• Trartor Feed
• RS-232
Serial Interface
Qume
.^ SPRINT 9
* Only $ 2295
• 45 Cps
MONITORS
SANYO 12" GREEN $325
BMC 12" GREEN 295
LEEDEX 13" COLOR 449
ZENITH 13" COLOR 395
LEEDEX 12" GREEN 179
704
$1695
• 60 cps • Up to 15" paper width
• Tractor Feed • Parallel Interface
(or Apple & TRS-80 • 2 channel
vertical forms! • Top ot Form 1
737 Parallel $895
ANDERSON JAC0BS0N
841 I/O Terminal Ideal tor
word processing and
small businesses. $
ASCII Code
15 CPS Printout
High Quality Selectric Printing
Reliable heavy duty mechanism
Completely Refurbished by A.J.
Delivered FREE to nearest service center
Serial
; 895
HAZELTINE ESPIRIT
NEW!
■ 24 x 80
■ Green Screen
■ 7x11 Matrix
■ Full Format
Editing
Controls
■ Bi-Directional
DIABLO
630 Special $2495
On Site Warranty List $2755
./^^wvl-v^V
•«2S2K£~
COREST WU*Jgj 896-0700
Oppose
TO ORDER CALL (212) 687-5000 Mo ° p F e ; i06 Sat ^
Tl»^ fVMkJIDI ITCD CAf^TTMJV 485 L «5*'ngton Ave., New York, NY .10017 (461h St: Lobby)
i ne lAJiviru I en rtw* i v^n t® Rorelgn orde , de8k _,. Telex 640055
INCREDIBLY
ONLY $695
DEALER INQUIRIES
INVITED ON DIABLO.
CENTRONICS.
SUPERBRAIN
V/SA
Min. Credit Card Order $75
NY residenis and 8"o sales lax
• Same day shipment on prepaid and
ciedit card orders
ONYX
COMES EAST
THE COMPUTER FACTORY NOW STOCKS
THE MOST POWERFUL AND COST-EFFECTIVE
COMPUTER ON THE MARKET!
WINCHESTER DISK & TAPE BACK-UP— FLOPPIES ARE NOW OBSOLETE!
By using extremely advanced Winchester
Disk Technology the ONYX system can now
support up to 8 users simultaneously!
i Disk capacities available in increments of 6.1 ,
10, 20, 40 megabytes— up to 4 disks per
system (160 megabyte total!)
i Choice of 2 systems:
Z80A/OASIS® Z8002/UNIX®
i Memory from 64K to 1 megabyte!
■ Languages available include:
COBOL, BASIC, PASCAL, & FORTRAN
■ A choice of very sophisticated software that
formerly was only available to larger machine
users! (ACCOUNTING, relational databases,
WORD PROCESSING, INSURANCE, CONSTRUCTION, ETC.]
■ Systems start at under $ 9500
Come to the Computer Factory and our experts
will demonstrate the ONYX system which best
suits your business needs.
DEALER INQUIRIES INVITED
TO ORDER CALL (212) 687-5000 ^^ s „ „.,
The COMPUTER FACTORY. ""-tr^^SLr" lM "
forgotten it, have you?).
You don't have to be a user-sympathizer to join the
campaign against modes. The most coldhearted program-
mer is a victim as well. Say you have programmed a new
video game for your personal computer and have en-
countered a bug. An obscure error message appears on
the screen mixed in with spacecraft and alien forms. To
see the latest version of the program on the screen, you
have to wipe out the very evidence you need to solve the
problem. Why? Because the system forces you to choose
between edit mode and execute mode. You can't have
both.
Enter the Integrated Environment
Soon after I began battling the mode monster, I became
associated with Alan Kay, who had just founded the
Learning Research Group (LRG) at the Xerox PARC. Kay
shared my disdain for modes and had devised a user-
interface paradigm (reference 3) that eliminated one kind
of mode, the kind causing the preemption dilemma. The
paradigm he advocated was called "overlapping win-
dows."
Most people who have used computer displays are
familiar with windows. They are rectangular divisions of
the screen, each displaying a different information set. In
some windowing systems, you can have several tasks in
progress, each represented in a different window, and can
switch freely between tasks by switching between win-
dows.
What is a
CLOCALPEEP?
Another name for
the CCB-II, which is:
• a clock
hour, minute, second
• a calendar
day, day of week,
month, year
• an audio alarm
All on one board for your
TRS-80 Model II
It includes a pacemaker battery which will
give over 8 years of continuous timekeeping.
From the folks who brought you the best
CP/M 8 forthe Model II.
S175 plus shipping
Prepaid, COD, Mastercharge or Visa orders
accepted. California residents add 6%
sales tax.
TRS-80 is a trademark of Tandy Corp.
CP/M is a registered trademark of Digital Research Inc.
TrouT
PICKLES & TROUT
P.O. BOX 1206, GOLETA, CA 93116, (805) 967-9563
Warning: Installation requires opening the Model II, which may void its
warranty. We suggest that you wait until the warranty period has expired
before installing Ihe CCB-II.
The trouble with most windowing systems is that the
windows compete with each other for screen space — if
you make one window bigger, another window gets
smaller. Kay's idea was to allow the windows to overlap.
The screen is portrayed as the surface of a desk, and the
windows as overlapping sheets of paper (photo 2). Partly
covered sheets peek out from behind sheets that obscure
them. With the aid of a pointing device that moves a cur-
sor around the screen, you can move the cursor over a
partly covered sheet and press a button on the pointing
device to uncover that sheet.
The advantages of the overlapping-window paradigm
are:
• the displays associated with several user tasks can be
viewed simultaneously
• switching between tasks is done with the press of a but-
ton
• no information is lost switching between tasks
• screen space is used economically
Of course, windows are, in a sense, modes in sheep's
clothing. They are more friendly than modes because you
can't slip into a window unknowingly when you are not
looking at the screen, and because you can get in and out
of any window at any time you choose by the push of a
button.
Kay saw his paradigm as the basis for what he called an
"integrated environment." When you have an integrated
environment, the distinction between operating system
and application fades. Every capability of your personal
computer is always available to you to apply to any in-
formation you want. With minimal effort, you can move
among such diverse activities as debugging programs,
editing prose, drawing pictures, playing music, and run-
ning simulations. Information generated by one activity
can be fed to other activities, either by direct user interac-
tion or under program control.
When Kay invented the Smalltalk language in 1972, he
designed it with the ability to support an integrated en-
File manager
Copy from Insert
from what file?
List files Delete files
on directory? file name?
Figure 1: A portion of a typical mode hierarchy.
94 August 1981 © BYTE Publications Inc
Circle 310 on inquiry card.
35SSSSSS5SS3SSSSSSSSSSSSSSSSS5SSSSSSSSSSSSSSSS:
HOOK 3
WINNERS
$139.00
WINNER #1 ^
r
DOLPHIN
$179.00
WINNER #3^
$159.00
WINNER #2 »*
80 COLUMN
BLACK & WHITE
15 MHz
EN
IOSPHOR
15 MHz
• • *
_ -^*
mm
i
•
^M
WATCH
THIS SPACE
FOR
COLOR
WINNER
ESOLUTIiON
000+ LINES'
I
MMJD | 1
HT*TC i 1
*•'«!
iS
By
A
DEMAND THESE
UNITS FROM YOUR
DEALER!
Data-Ed
18 Bridge Street
Salem, NH 03079
603-893-2047 (collect)
Name.
TM-12GX Monitors at S179.00 plus 2.75 shipping
TM-12G Monitors at S159.00 plus 2.75 shipping
TM-12 Monitors at S139.00 plus 2.75 shipping
Address.
Q Please send OEM information
about your low cost custom fit smart
printers.
D Check or Money Order enclosed
d COD. Orders Accepted
□ Bill my-n VISA-n Mastercharge
Card No
City, State, Zip
Exp. Date
Signature
Bank No
SSSSSSSSSS5SSSSSSSSSTO5S^£S^^
Circle 101 on inquiry card.
BYTE August 1981
vironment. The implementations of Smalltalk produced
by Dan Ingalls and the other members of the Learning
Research Group have achieved ever-increasing integra-
tion. The file system, process-management system,
graphics capability, and compiler are implemented
almost entirely in Smalltalk. They are accessible from
any program, as well as by direct user interaction.
In recent years, the idea of an integrated environment
has spread outside the Learning Research Group and even
to non-Smalltalk systems. The window -per-program
paradigm is now commonplace, and many system
designers have adopted the overlapping-sheet model of
the screen.
In summary, the term environment is used to refer to
everything in a computer that a person can directly access
and utilize in a unified and coordinated manner. In an in-
tegrated environment , a person can interweave activities
without losing accumulated information and without giv-
ing up capabilities.
Strengths of Smalltalk
Before delving further into the nature of the Smalltalk
environment, we should first discuss its purpose.
Many general-purpose programming languages are
more suitable for certain jobs than others. BASIC is easy
to learn and is ideal for small dialogue-oriented pro-
grams. FORTRAN is well suited to numerical applica-
tions. COBOL is tailored to business data processing.
Pascal is good for teaching structured programming.
LINE VOLTAGE
TRANSIENT CLIPPING
Features Parallel Operation
PROTECTS:
•Computers
• Micro-Computer Systems
•Word Processors
•Cash Registers
• Power Supplies
5000 Hits/Second
PROTECTS AGAINST:
• High Energy Voltage
Transients
•On-Off Switching
• Lightning Induced Transients
•Inrush of On/Off Power
dVmar
INDUSTRIES,
c
INC.
Dealer
7133 Rutherford Rd
(301)298-3130
TRANSIENT VOLTAGE
SURGE SUPPRESSOR LISTED
®
Inquiries Invited.
Baltimore, Md. 21207
800 63&9098 ^
LISP is wonderful for processing symbolic information.
APL excels at manipulating vectors and matrices. C is
great for systems programming. SIMULA shines at
discrete simulations. FORTH lets people quickly develop
efficient modular programs on very small computers.
All these languages have been used for numerous pur-
poses in addition to those mentioned. You can write
almost any program better in a language you know well
than in one you know poorly. But if languages are com-
pared from a viewpoint broader than that of a narrow
expert, each language stands out above the others when
used for the purpose for which it was designed.
Although Smalltalk has been used for many different
applications, it excels at a certain style of software
development on a certain type of machine. The machine
that best matches Smalltalk's strengths is a personal com-
puter with a high-resolution display, a keyboard, and a
pointing device such as a mouse or graphics tablet (photo
3a). A cursor on the screen tracks mouse movements on
the table so you can point to objects on the screen. The
mouse (reference 4) has one or more buttons on its top
side (photo 3b). One button is used as a selection button.
If there are more buttons, they are normally used as
menu buttons.
If the machine has a high-performance disk drive, you
can use a virtual-memory version of Smalltalk and have
as little as 80 K bytes of main memory, not counting
display-refresh memory. Otherwise, you should have at
least 256 K bytes of memory. This much memory is re-
quired because the whole integrated environment lives in
one address space. It includes not only the usual run-time
language support, but window-oriented graphics, the
Photo 2: A typical Smalltalk display. The various "windows'
look and behave like overlapping sheets of paper.
96 August 1981 © BYTE Publications Inc
Circle 123 on inquiry card.
STATCOM
wages
1
•J7FI"
witn
CRTFORM
CRTFORM,™ a software package,
creates bug-free forms. Insurance
forms, order Forms, inventory
forms — CRTFORM makes all types
of forms for all kinds of people.
CRTFORM is a programmer
productivity aid which makes it
easy to create, test, modify, and
use forms. The forms provide art
interface between programmers
and end-users, such as secretaries,
executives, and CPAs. CRTForm
assures that the programmer will
receive correct information while
providing end-users information
on how to enter data. If end-users'
make a mistake, they receive a
message in plain English which
tells them what went wrong and
how to fix it.
The CRTFORM system consists
of a form file manager, an inpul-
field-oriented screen editor, and
precompiled run-time modules.
The system contains a code gen-
eration section which is available
to interface the program to the
Pascal, FORTRAN, BASIC, and
COBOL languages. In addition,
the system can be configured
without modification to run on
over 95% of the terminals cur-
rently on the market. CRTFoRM
is currently available to run under
the CP/M*. UCSD*, and Apple*
Pascal systems.
Statcom 1 " is a corporation spe-
cializing in software development
tools and techniques. In addition
to CRTForm, Statcom will soon
be releasing a business report
generation, file management,
and data entry system which elim-
inate the need for a programmer.
For the name and address of
your nearest CRTForm dealer,
call (512) 451-0221, or write- to
Statcom, 5766 Balcories, Suite
202, Austin, Texas 787IU.
Programs that write programs.
576B BALCONEE
CORPORATION
rE 20S AUSTIN TEXAS ~7BV3-}
illmvti CP/M— Digitu! IV
. Inc.lXSU— Regents I.e. San Ulvgii
Computer
Forms
Catalog
with 32 pages of
continuous
business forms for
small computer
systems
Send today for our NEW full color 32
page catalog with programming guides,
prices and order forms for continuous
checks, invoices, statements, envelopes,
stock paper and labels.
• Quality products at low prices
• Available in small quantities
• Fast Service
• Money Back Guarantee
• Convenient TOLL-FREE ordering
Fast Service by mail or. . .PHONE TOLL FREE
1 + 800-225-9550
Mass. residents 1+800-922-8560
8:30 a.m. to 5:00 p.m. Eastern Time Monday — Friday
Please rush a new computer forms catalog to:
Name
CODE 20460
Company
Street
City, State and Zip
Phone
Computer make & model
■ Computer Forms — ■
78 Hollis Street, Groton, Mass. 01471
A division of New England Business Service, Inc.
editor, the compiler, and other software-development
aids. The programs you write tend to be small because
they can build on existing facilities; no system facilities
are hidden from the user. Users of LISP and FORTH will
be familiar with this idea.
Smalltalk supports its preferred hardware by incor-
porating software packages that provide:
• output to the user through overlapping windows
• input from a keyboard, a pointing device, and menus
• uniform treatment of textual, graphical, symbolic, and
numeric information
These interactive facilities are utilized heavily by the
built-in programming aids and are available to all user-
written applications.
The style of software development to which Smalltalk
is oriented is exploratory . In exploratory development, it
should be fast to create and test prototypes, and it should
be easy to change them without costly repercussions.
Smalltalk is helpful because:
• The language is more concise than most, so less time is
spent at the keyboard.
Photo 3: A typical Smalltalk system (photo 3a) and a close-up of
the "mouse" (photo 3b), a device that allows you to move an
on-screen cursor and select certain options.
98 August 1981 © BYTE Publications Inc
Circle 266 on inquiry card.
comwreR WAREHOUSE
CALL TOLL FREE 1-800~S28-10S4
International Dealer & Personal Inquiries Invited, Prices May Vary. Tlx (0)668382 (MCB)
ATARI
Special 32K 800 System
800 w/32K, recorder
star raiders, joysticks $860
Above w/48K S925
800 (32K) $744
810 Disk Drive $440
825 Printer $575
850 Interface $155
410 Recorder $70
830 Modem $140
16K Memory S 75
32K Memory $150
DISK DRIVES
Lobo
Apple 1st Drive $490
Apple 2nd Drive $410
MODEMS
Novation
CAT $155
D-CAT $155
AppleCatll Call
AutoCat Call
VIDEO TERMINALS
Adds
Viewpoint Call
Soroc
IQ120 Call
iq 130 Call
IQ 135 Call
iq 140 Call
Televideo
912 c $699
920 C $749
950 Call
Zenith -Z- 19 Call
PRINTERS
C.ltoh
Starwnter $1380
Datasouth
DS180 $1299
Diablo Call
Epson
mx-80 Call
MX-80 F/T Call
MX-ioo Call
Fric Feed Opt. for MX-80 $50
nec Call
Okidata
Microline80 $399
Microline82 $515
Microline 83 $755
Oume Call
Qantex
Serial $1198
Parallel $1160
Texas Instruments
810 Basic $1480
810 Loaded $1739
COMPUTERS
Aitos Call
Northstar Call
Zenith
Z-89 48K Call
SOFTWARE
CBASIC
CP/M
MP/M for NorthStar
Call
Call
Call
DISKETTES
Scotch
5'/4-0, 10. 16 Sector (Qty100)$250
8"-0. 32 Sector (Qty100)$260
MONITORS
Sanyo - 9" Monitor
We Buy and Sell Used Equipment
Experienced Equipment
Diablo, NEC, Oume Call
Centronics 779 $450
Hazeltine1420 $600
Atari 820 printer $250
Soroc IQ 120 $475
Tl 810 Basic $1100
$165
Novation
^NorthStaf^
^^y TECHNOLOGY INC ^^ XClCVlClCO
Texas Instruments
EPSON
EPSON AMERICA. INC.
OKIDATA
MICROTEK PERIPHERALS CORP.
1
COniPU I fcR 2222 E. Indian School Rd. Phoenix, Arizona 85016
UJfiREHOUSE (6 ° 2) 954 " 61 ° 9 1-800-528-1054
Store Hours: Tues.- Friday 10-5 MST Saturday 10-4 MST
Personal checks will delay shipping two weeks Prices & availability subject to change without notice
Prices reflect 3% cash discount. Product shipped in factory cartons with manufactures warranty. Add 2%, a minimum of $5,
for shipping and handling.
• The text editor is simple, modeless, and requires a
minimum of keystrokes.
• The user can move among programming, compiling,
testing, and debugging activities with the push of a
button.
• Any desired information about the program or its
execution is accessible in seconds with minimal effort.
• The compiler can translate and relink a single change
into the environment in a few seconds, so the time usual-
ly wasted waiting for recompilation after a small pro-
gram modification is avoided.
• Smalltalk programs grow gracefully. In most en-
vironments, a system gets more difficult to change as it
grows. If you add 2 megabytes of virtual memory to the
Smalltalk environment, you can fill the second megabyte
with useful capabilities as fast as you can fill the first.
• The class structure of the language prevents objects
from making too many assumptions about the internal
behavior of other objects (see David Robson's article,
"Object-Oriented Software Systems," on page 74 of this
issue). The programmer can augment or change the
methods used in one part of a program without having to
reprogram other parts.
The Anatomy of a Window
Over the years, members of the Learning Research
Group have embellished Kay's original window concept.
Let us look at a Smalltalk window in more detail (figure
2).
The window is shown as a framed rectangular area
with a title tab attached to its top edge. The program
associated with the window must confine its output to the
framed area.
Every window has a window menu (photo 4a). The
window menu includes commands to reframe the win-
dow in a new size and location, to close the window, to
print the contents of the window on a hard-copy device,
and to retrieve windows hidden under it.
A window is tiled by one or more panes, each with its
own pane menu (photo 4b). The pane menu includes
commands appropriate to the contents of that pane. In
Title
Scroll
Bar
Scrol
Bar
1
i
1
1
1
Pane
Pane
pop-up
menu
Pane
Pane
pop-up
menu
Window
pop-up
menu
Scroll
Bar
3 ane
Pane
pop-up
menu
Figure 2: Anatomy of a window.
FULL COLOR
GRAPHICS
Complete line of color imaging systems with high
resolution real time video FRAME GRABBER
for the 8-100 bus.
Capture and digitize a video frame in l/60th of a second. Store
up to 2 million bits of image data in on-board buffer. By software,
select the best resolution for your application from 256 to 1280 |
pixels per TV line. Display your digitized image or your computer 1.
processed image! with up to 256 gray levels or 65,536 L
simultaneous
monitors.
%0 Cv,"- >%m
240x256 Digitized image, 16 levels
».
Features:
• Highest quality 480x512x8 digital video image
• Input capability from TV cameras or other sources
• Variety of synchronization choices
• 2 selectable video A/D conversion circuits
• Choice of 1 , 2, 4, 8, 16 or 24 bits per pixel
• 32K-byte image memory on the basic system
• 64K, 1 28K, 1 92K and 256K-byte system capacity
• High resolution lightpen input
• Photographic trigger control input
• Software selectable system parameters
• Stand-alone intelligent graphics unit with universal interface
Accessories:
• RGB color monitor • Hard copy printer/ plotter
• High performance lightpen • Software packages available
480x512 Computer-generated
ROBOTICS AUTOMATED COUNTING ArtDMEASURING-QUALn-YCONTROLMONITORING-
PATTERN RECOGNITION-IMAGE PROCESSING-MEDICAL AND SCIENTIFIC RESEARCH
I
^DIGITAL
^GRAPHIC
^SYSTEMS
935 Industrial Avenue
Palo Alto, CA 94303
(415) 856-2500
100 August 1981 © BYTE Publications Inc
Circle 113 on inquiry card.
MDBS . . .
true data base management
for small systems!
Harvey M. Weiss,
an independent
software reviewer,
has this to say
about our system:
"MDBS is truly a data base management system. . ., not a file management system."
"MDBS. . . offers the data manipulation, query, and report-writer capabilities of a DBMS
found on much larger and more complex computer systems."
"MDBS has come to the rescue with. . .products whose ability to reduce development time
and implement processes not available elsewhere make them invaluable to integrators and
developers of /xc-based systems."
For the complete Weiss review, see "Downscaling DBMS to the Microworld," Mini-Micro
Systems, April, 1981, pp. 187-195.
Check these Flexible, powerful data structuring capabilities: network and hierarchical data structures,
advanced features
for yourself:
Is MDBS right
for your system?
To learn more
including many-to-many relationships (not available elsewhere).
Genuine data base management capabilities: far surpasses file management in data
independence, automatic maintenance of relationships, and complete lack of data
redundancy.
English-like, nonprocedural query language interface: ad hoc queries result in the automatic
generation of desired reports, tables, files, and relations.
Host language interfaces, including various BASICS, COBOLS, PASCALS, FORTRAN, PL/I,
C, and several assemblers.
Extensive built-in data access security (256 levels).
Automatic transaction logging and data base recovery.
Dynamic data base restructuring.
Plus many other advanced data base management features.
MDBS is written in Z-80, 6502, 8080 and 8086 machine language and run under CP/M (and
similar derivatives) with CBASIC2, PL/1, PASCAL Z, PASCAL M, PASCAL MT+, BDS C, CIS
COBOL, and Microsoft COBOL, FORTRAN, or BASIC; under North Star DOS and North Star
BASIC; under TRSDOS or NEWDOS with TRS DISK BASIC; with Apple DOS and Applesoft
BASIC; and with 86-DOS.
MDBS requires only 18K to 20K bytes for the Z-80 version, 22K for the 8080, and 30K for the
6502.
MDBS is independent of the types and sizes of disk drives.
• For free literature about serious data base management on a microcomputer, please fill out
and mail the coupon.
• For a practical introduction to true data base management for small computers, please send
$20 (Indiana residents, add 80<t tax) for PRIMER/GUIDE manuals.
• For a comprehensive DOCUMENTATION PACKAGE consisting of THE PRIMER plus user
manuals covering the MDBS, QRS, RTL, and DRS, please forward $60 (+ $2.40 Ind. tax).
Setting standards of excellence for data base
software. . .worldwide.
Micro
Data Base
Systems, inc.
Box 248
Lafayette, Indiana 47902
31 7-448-1 61 6m/VX 810-342-1881
Dealer/distributor/OEM inquiries invited.
YES, please send me more information on the
remarkably flexible MDBS Data Base System.
Name
(Please print)
Title
Company
Address _
City
(State)
(Zip)
Phone
MAIL TO: Micro Data Base Systems, Inc.
P.O. Box 248-Y
Lafayette, IN 47902
Circle 225 on inquiry card.
BYTE August 1981
101
addition, a pane has a scroll bar on its left side used to
scroll the contents of the pane when more information ex-
ists than fits in the frame at one time.
Although you can see many windows and panes at
once, you can interact with only one pane at a time. That
pane and its window are said to be awake or active. To
awaken a different pane of the same window, move the
cursor over the new pane (photo 4c). To awaken a dif-
ferent window, move the cursor over the new window
and press the selection button on the pointing device
(photo 4d). When a window wakes up, its title tab and all
(4a)
:,: M
1
A two paned window j
This rexr ts in rlu' naMr-hand
pane of a two-panM window,
the window has a wiMaw
■■'■If
: 'frame'
1 collapsed 1
mmu and each pane has a pwu
'rule para 1
nMttM.
'growing'
'exuftaa 1
Note that lines of text break ar
'panes'
u'ord spaces automancallu.
'templates'
'rauat'ki'
unlet
frame
close
print
\
prvrubits
(4b)
A two pamd
self
'frame'
'collapsed'
'rule para'
'growing'
'exitflag 1
'panes''
'templates'
'title'
'rartaWes'
.J ^ ..J„J■ ' J ^ ■ ■ gr ??' J ?7 . ^^ ! ■■ ■ . l """
window ll
T
l lus rexr ts m the riant .
pane, of a two-paned window
The window has a window
mmu and each pane has a pwtrw
Note that lines of te xt break ar
word spac
again
cbpu
cur
paste
doit
."ompile
undo
cancel
aticaltu.
\
(4c)
TttS I
windc
pane
When
redisp
a use
Sizes ' Mm ii
'tulepara'
'growing'
'exttflaa
'panes'
'templates'
'title' k
'i-anablcs*
U LIU Hi U| U'lllH
Note that lines of text break at
word spaces automatically.
its panes are displayed, and it is no longer covered up by
other windows.
The scroll bar of the active pane is called the actiue
scroll bar. Its menu and the menu of its window are called
the active menus. In order to reduce screen clutter and
maximize utilization of precious screen space, no inactive
scroll bars or menus are displayed. On machines that use
a pointing device with three buttons, some versions of
Smalltalk even hide the active menus until one of two
menu buttons is pressed, at which time the associated
menu pops up and stays up until the button is released. If
the button is released when the cursor is over a command
in the menu, that command is executed (photo 4e).
Modeless Editing
The overlapping-window paradigm helps eliminate
preemption. It can also reduce the need for certain
prompts and their associated modes. For example, you
never have to type the name of a procedure you want to
examine. At worst, you point to its name in a list; at best,
the desired procedure is already in a window on the
screen, and you activate that window.
Unfortunately, overlapping windows do not eliminate
command modes like "insert" and "replace" by
themselves. Between 1973 and 1975, I worked at PARC
with various collaborators, including Dan Swinehart and
Timothy Mott, to banish command modes from interac-
(4d)
A two parted
This text
pane of a two-paned window.
A.m.- |W n- W »n«H>| |Ttu: wnulriw has a unndnu,
Tlas tc«c is in the onlij pane of a one -parted .as a
window. A window mat) have any number of
panes, but between one and six arc typical.
a pane can contain both text and graphics.
When a window is uncovered, all us panes
redisplay their contents.
a usei can arrange the desktop tui changing the'
sizes and locations of windows.
Week at
ally.
<4e)
A iwit paned window I
TT7! i. x[ r in id. im'i! ' .- '
-*-?" — - — I piii. of a two-paned uandoH
A 55 paned window] [I,, ^ U , WH , | * ,■,■■■„■, u
, ■ I 111'. WUUUilt ;..:., I
th. ntiln pan. of a one -pane d
uitndou 1 . A window may haw any numbei o|
I ,>., , t ui between om and ;u an typical.
■■ ; iru an i ontotn both u «t and graphics.
us panes
:-. it-
• , ■. , Hindi w is iineo
:. :• : lay thi ii contents.
■•■,.• u in .'.■;■ th< •
.- ■ .••. n of '■■■ i
past<
otni •..•
i chanavna the'
Photo 4: Windows and their behavior.
102 August 1981 © BYTE Publications Inc
Circle 165 on inquiry card.
54 dB.
Put up or shut up.
The Gauntlet Is Down
Can any dot matrix computer printer match the
INFOSCRIBE 1000? Its sound level in normal, continuous
operation is only 54 dBA. By independent sound laboratory
test.*
That's right, 54 dBA. Like a group office where paper
shuffling and throat clearing are making most of the noise.
As far as we're concerned, INFOSCRIBE 1000 is the
quietest serial matrix impact printer on the market.
Compare with the typical matrix printer that can sound
like a blender full of ball bearings, and you have the Number
One reason why your next printer will be an INFOSCRIBE 1000
Even printers advertised at 56dB are a full 2 dB higher
than ours. (Remember, every 3 dB up doubles the noise.)
A New Generation Printer
If INFOSCRIBE 1000's purr were its only benefit, you
should still buy it for the sanity of your office staff. But it
happens that INFOSCRIBE 1000 is also the most feature-
packed, the most beautiful, and the most economical printer
in its class.
Graphics Galore
INFOSCRIBE 1000 doesn't print characters only. Under
software control it produces charts, diagrams, graphs, signs,
anything within a vertical and horizontal resolution of 70 dots
per inch. Now we're talking about a capability that can
enhance management presentations, sales reports, even
technical documents.
Format Flexibility
INFOSCRIBE 1000 can produce data processing
quality characters at 10, 12, or 16.5 characters per inch, or
correspondence quality characters at 10. You also get
subscripts and superscripts in any selected pitch, double-
wide printing, true lower case descenders, and true
underlining.
In addition to two different character sets stored in the
printer, a third character set can be downloaded from the
host computer. This offers a total of 288 different characters
that can be selected on a character-by-character basis.
Gratifying Throughput
There's more to INFOSCRIBE 1000's speed than a
nominal 180 characters per second. High-speed paper
movement with vertical and horizontal tabbing, plus
bidirectional printing with logic seeking in both directions
gets a lot of work out of the machine. And that's equivalent
to having a faster computer.
Unmatched Elegance
It's almost unfair that INFOSCRIBE 1000 is also the
industry's best looking matrix printer, Slim, sleek, graceful,
it makes those machines with the visible viscera look like
remnants of early experimental days at Menlo Park.
INFOSCRIBE 1000 is completely enclosed, sealing dirt out
while sealing noise in. Its controls use membrane switches,
so not even knobs or buttons break its sculptured exterior.
Demand the INFOSCRIBE 1000
Is there a single reason why you should have any
printer but the INFOSCRIBE 1000? At $1,825 in singletons
(substantially less in OEM quantities), INFOSCRIBE 1000
becomes mandatory for your system.
Insist on it from your system specialists. And if you are
buying a first-time computer, no matter what make, ask for
the printer that is setting a new standard: INFOSCRIBE 1000.
Get full details from your nearest Infoscribe
distributor/representative. Or talk to your computer dealer.
If he doesn't handle Infoscribe yet, he will.
'Contact Infoscribe for an abstract of the independent
testing laboratory report.
INFOSCRIBE
QUIETLY AUTHORITATIVE
Corporate Headquarters and Factory: Infoscribe, Inc., 2720 S. Croddy Way, Santa Ana, California 92704. Distributor/Representatives: ga, hi (714) 964-4722 or
(415) 948-8961, CO, LIT, WY (303) 371-4140 or (801) 292-8145, WA, OR, MT, ID, AK (206) 455-4922; IA, IL, IN, Wl (312) 298-4830 or (414) 351-6123; TX, OK, AR, LA (214) 661-9633, (713) 681-0200,
(918) 252-9646 or (512) 454-3579; MA, VT, ME, CT, Rl, NH (617) 729-5770, (413) 737-6624 or (203) 624-7800; MN, ND, SD (612) 922-7011; DC, VA, MD (301) 424-1416; NY (315) 699-2651,
(716) 223-4490; Ranee 334-30-20; United Kingdom (063-33) 69162; Australia (61-2) 29-3763.
Overseas Distributor Inquiries Welcome
tive systems. Despite initial skepticism, nearly all users of
our prototypes grew to appreciate the absence of modes.
The following techniques were devised by us to eliminate
modes from text editing. They are analogous to the
techniques used to keep Polish-notation calculators
relatively mode-free. Similar techniques can be applied to
page layout, graphics creation, and other interactive
tasks.
Selection precedes command:
• Every command is executed immediately when you
issue it. You are not asked to confirm it. You can issue an
undo command to reverse the effects of the last issued
command. Although the main purpose of "undo" is to
compensate for the lack of command confirmation, it can
also be used to change your mind after issuing a com-
mand.
• For a command like "close the active window" that re-
quires no additional parameters, you simply issue the
command.
• For a command like "delete text" that requires one
parameter, you first select the parameter using the point-
ing device and then issue the command. Until you issue
the command, you can change your mind and make a dif-
ferent selection, or even choose a different command.
• For a command like "send electronic mail" that requires
several parameters (recipient, subject, content), you first
fill the parameters into a form using modeless text editing
and then issue the command. You are not in a mode while
filling out the form. If you want to copy something into
the form from another place, you can. If you want to do
something else instead, just do it; you may even return to
the form later and finish filling it out.
Typing text always replaces the selected characters:
• Pressing a text key on the keyboard never issues a com-
mand. It always replaces the current selection by the
typed character and automatically selects the gap follow-
ing that character.
• To replace a passage of text, first select it (photo 5a)
and then type the replacement. The first keystroke deletes
the original text (photo 5b).
• To insert between characters, you first select the gap
between those characters (photo 6a) and then type the in-
sertion (photo 6b). Essentially, you are replacing nothing
with something.
• The destructive backspace function always deletes the
character preceding the selection, even if that character
was there before the selection was made.
• The "undo" command (photos 6c and 6d) can be used
to reverse the effects of all your typing and backspacing
since you last made a selection with the pointing device.
Thus, the usual insert, append, and replace modes are
folded into one mode — replace mode — and one mode is
no mode at all.
Building Blocks for
Microcomputer Systems,
Dedicated Controllers
and Test Equipment.
R 2 l/0
S-100 ROM,
RAM & I/O
BOARD
ECT's R 2 l/0 is an S-100 Bus I/O Board with 3 Serial
I/O Ports (UART's), 1 Parallel I/O Port, 4 Status Ports,
2K of ROM with the 8080 Apple Monitor Program and
2K of Static RAM.
$295.00
RM-10
S-100
RACK MOUNT
CARD CAGE
ECT's RM-10 is a rack mount 10 slot Card Cage with
Power Supply, consisting of an ECT-100 rack mount
Card Cage (19"W x 12.25"H x 8"D), the MB-10 Mother
Board (with ground plane and termination) all 10
connectors and guides and the PS-15A Power Supply
(15A@8V, 1.5A@ ± 16V). $295 00
Specializing in Quality Microcomputer Hardware
Industrial • Educational • Small Business • Personal
Card Cages, Power Supplies, Mainframes, CPU's, Memory, HO, OEM Variations
ELECTRONIC CONTROL TECHNOLOGY
763 Ramsey Ave., Hillside, NJ 07205
(201) 686-8080
104 August 1981 © BYTE Publications Inc
Circle 129 on inquiry card.
Circle 388 on inquiry card.
Tiny BASIC MICROCOMPUTER
K-8073
The Engineer's Product Development Board Level Computer
LOW COST
POWERFUL/VERSATILE
ENGLISH-LIKE PROGRAMMING
m
IK Byte Local RAM
Ext. Expandable To 9K
ART/RC Master, For Single
Wire Data I/O Of 128 Slave Units
Real Time Clock
W/Exl. Battery Backup
Yr, Mo, Wk, Day, Hour, Sec
RS-232ForCRT
110-4800 Baud
K-8073
SINGLE UNIT
THIS IS AN ENGINEER'S COMPUTER.
Simply attach a CRT, connect 5 volts, and
you have yourself one each powerful, versa-
tile microcomputer that YOU can program.
If you're fed-up with board level compu-
ters that require expensive development sys-
tems plus the skills of an Assembly language
programmer, then you need the K-8073. With
an on-chip microinterpreter and the extra
control devices we designed into the board,
you can do your own programming in the
most simple English-like language available-
Tiny BASIC. Sophisticated application de-
signs can be implemented in hours instead of
days or weeks because you have eliminated
expensive and time consuming hardware and
software costs.
IN ADDITION TO ALL THIS, the K-8073
offers advantages unheard of in other board
level computers. Among these are an on-
board EPROM Programmer, A Real Time
Clock, Autostart, IK Byte local RAM for
variables, 8K Byte EPROM, ART/RC and
PPI W/24 line I/O.
STD (MOD) BUS 4.5 x 6.5 in.
5 Volt Only — Cassette
Tape In/Out— 2 Sense—
3 Flags
INS8073 Microinterpreter
Tiny BASIC Processor
Autostart EPROM 2K Byte
Utilities Firm ware. For
Software Dev., EPROM 2K
EPROM -2K Byte
EPROM Programmer, 2K
Byte Prm. Decoded— Req.
Ext. 25V Only
PPI. Programmable 1/0,
24 Lines
PPI Interface Ribbon
Connector
THE K-8073 IS FOR OEM'S AS WELL AS
END USERS.
Whether you manufacture Industrial Process
Control, Environmental or Test/Measurement
systems, or simply for your own use, you can
count on top quality performance. The K-8073
comes complete with all socketed devices
including the powerful F-2 Utilities Firmware
and a Hardware/Software manual.
In Industry, Education, or New Product
Development, the K-8073 provides you with
State-of-the-Art technology for micropro-
cessor efficiency and ease. With a full line of
support products, the TransWave line takes
care of your every need at the most reason-
able prices.
To order your K-8073 or for further infor-
mation, write or call TRANSWAVE COR-
PORATION,Cedar Valley Building, Vanderbilt,
PA 15486, (412)628-6370.
II
1WMMMW ■■
Development Station S195.00
COMPUTER DIVISION OF UTSC
(5a)
ttam Dotn text: ana grapn
(5b)
V IS
ir\ctmr$t
I all its pc
mm x\\c desktop by char
j mam nam text aria gmj
ow is exposed^ all its par
range the desktop by ch<:
Of li'iruiriu'*. '
(6a)
;ontam Dotn text ana grci
Photo 5: Replacing text in Smalltalk.
(6b)
ontatn Dotn text ana gra
low is| exposed, all its pq ^ow is ei>er| exposed, all i
r contents.
trange x\\e desktop by ch
n f u iir. , 1 Q] j to
k
trange the desktop by ch
: Of uiindnujc
(6c)
(6d)
j paste
tain both text doit
com
> is eperjexpo
ontents. car
align
nae th£ d££knIE OB n\hnl
main Dotn text ana grap
)w is| exposed, all its pan
m\qe the desktop by c\\a
Photo 6: Inserting text in Smalltalk.
[L
Creamio Cream 12 TimesRomans TimesRoman 10
TimesRoman 12 FixedP1tchl9
Helvetica 1 8
HeXXttcrlfl
N«-®'vn^roHx^a«=»iiiL|JH»© N — *-i«
j.*.0DAO<»e«Z*«OT*/<>-»|=t7,oo<^^
A-<>Q±Kt;i;;s3Ri^Ucj2rocX/iivs;7!t;cc:D
2>D§°>XCVf6j<>6
Photo 7: Multiple typefaces can be used in any window.
106 August 1981 © BYTE Publications Inc
The "shift lock" key and analogous commands like
"bold shift" and "underline shift" cause modes for the in-
terpretation of subsequently typed characters. However,
shifts are familiar to people and are relatively harmless.
The worst they do is change a "d" to a "D," "d," or "d"—
never to a Delete command.
The bit-map display can show boldface characters, as
well as italics, underlining, and a variety of styles and
sizes of printer's type (photo 7). Thus, as you enter text in
bold shift, the screen shows what the text will look like
when it is printed. A command like bold shift can also be
applied to existing text to change it to boldface.
In 1976, Dan Ingalls devised a user interface for
Smalltalk that incorporated most of the mode-avoidance
techniques discussed earlier. Consequently, it is rare in
Westico Software...
What good hardware deserves.
The professional wants good soft-
ware, wants it fast and backed by
expert service — There's one answer
— Westico, the Software Express
Service that really delivers. . .
Call (203) 853-6880 tor overnight delivery or.
when you need expert service.
Westico constantly improves its
quality software in a wide range of
categories including: Accounting,
Professional Time Accounting, Text
Processing, Planning and Analysis,
Telecommunications, Data Man-
agement, Development Tools, Lan-
guage Processors.
Westico knows that the speed in
which you receive a program is
often a key consideration in your
selection. That's why Westico is the
only software company to offer
overnight delivery.
For detailed program information
or for quick access ordering, just
dial-up the Westico computer (300
baud) (203) 853-0816.
for a wide
1 and other
iputer systems:
TRS-80 Model II, Apple, Vector
Graphic, iCom, Cromemco, North
Star, Micropolis, Ohio Scientific,
Altos, Dynabyte, SuperBrain and
more.
Westico is staffed by experts who
understand your software and the
equipment on which it runs. It's
nice to know when you need serv-
ice or advice, a Westico expert is
standing by.
Send for our NEW FREE Catalog.
Current Westico products with new
prices for complete systems and
documentation alone:
ACCOUNTS PAYABLE
495/60 • ACCOUNTS RECEIVABLE
495/60 • CLIENT WRITE-UP 895/60
• GENERAL LEDGER 495/60 • INVEN-
TORY CONTROL 595/60 • PAS-3
DENTAL 990/40 • PAS-3 MEDICAL
990/40 • PAYROLL 495/60 • PROP-
ERTY MANAGEMENT 895/60.
DATEBOOK™ II 295/25* ESQ-1 Legal
1495/50 • ESQ-1 Legal Demo 75/50
• PTA 595/40 • PTA Demo 75/40.
MAIL-MERGE™
125/25 • MINCE 175/25 • SPELL-
GUARD™ 295/25 • TEXTWRITER
125/20 • WORDMASTER™ 145/40
• WORDSEARCH™ 195/40 • WORD-
STAR™ 450/60.
MILESTONE™
295/25 • MINIMODEL 495/50 • STAT-
PAK 500/40 • TARGET 195/25.
175/20
ASCOM
. . . Dial-up our 24-hour Computer Hotline (300
baud) (203) 853-0816 tor program information or
orders.
CBS 395/50 •
CBS Demo 75/50 • CBS LABEL
OPTION 80/10 • HDBS 300/35 •
MAILING ADDRESS 395/60 • MAG-
SAM III 145/25 • MAGSAM IV 295/25
• MDBS 900/35 • MDBS DRS 300/5.*
MDBS RTL 300/5 • MDBS QRS 300/5
• PRISM/ADS 795/55 • PRISM/IMS
495/55 • SELECTOR IV 550/35 •
DATA STAR™ 350/60.
GENERAL SUB-
ROUTINE PAK 295/30 • APPLICATION
UTILITIES 495/30 • STRING BIT™ 65/15
• STRING/80™ 95/15 • STRING/80
SOURCE 295/-.
LYNX Over-
lay loader 250/25 • BASIC COM-
PILER 395/25 • BASIC-80 350/25 •
CBASIC-2 120/15 • NEVADA COBOL
150/25 • PASCAL/M 225/25 • PAS-
CAL/MT • 425/30 • PL/l-80™ 475/35
• S-BASIC™ 295/35.
SUPERSORT 1 225/40
• SURVEYOR 550/60 • ULTRA-
SORT II™ 165/15.
from Westico
MILESTONE: Tough Planning Jobs
Made Easy
MILESTONE is a powerful new tool for
managers and planners, which orga-
nizes complex projects and identifies
job schedules essential to on-time
completion.
MILESTONEflndsthecritical path through
hundreds of interrelated tasks and
determines where slack time can be
eliminated.
Equally significant. MILESTONE computes
manpower requirements and costs, allo-
cating them to proper schedule periods
and up to nine manpower skill/cost
levels can be allocated to each task.
With MILESTONE, projects can be meas-
ured in hours, days, weeks, months,
quarters or fiscal quarters; with provision
to specify working hours, holidays, vaca-
tions and other non-productive time
periods for up to 8,196 years.
Reschedule or complete tasks, revise
prerequisites, play "What If" games.
MILESTONE immediately displays the
results on your screen or printer — either
as a table or graphl
MILESTONE is easy to use and requires
no programming!
System with full documentation — S295.
Documentation alone — S25.
Versions for CP/M, APPLE PASC/
CDOS.
WES-31
• Write Westico, Inc. 25 Van Zant Street,
Norwalk. CT 06855.
• CgJL (203) 853-6880.
• Telex 643-788.
• Dial-up our 24-hour computer (300 baud)
(203) 853-0816
MasterCard and VISA accepted.
Prices do not Include shipping and are subject
to change. In CT add 7V4% sales tax.
Manual price may be credited toward pur-
chase of software.
Dealer Inquiries invited. Copyright ■ 1981 Westico. Inc
WESTICO
The Software Express Service
25 Van Zant Street • Norwalk, Connecticut 06855
(203) 853-6880 • Telex 643788
the present Smalltalk environment to encounter a mode.
Making a Selection
In the Smalltalk-76 user interface, text is selected using
the pointing device and a single button. First, the cursor
is moved to one end of the passage to be selected (photo
8a). The selection button is pressed and held down while
the cursor is moved to the other end of the passage. This
operation is called "draw-through," though it is not
necessary to traverse intermediate characters en route to
the destination. When the cursor reaches the other end of
the passage, the button is released. The selected passage is
then shown in inverse video (photo 8d).
The feedback given to the user during selection is as
follows. When the button is depressed, a vertical bar ap-
pears in the nearest intercharacter gap (photo 8b). (At the
(8a)
| A one-paned window
This text is in the only pai^e
one-paned, window. A window
may hape.ani) number of panes,
but between one and six are
typical.
A pan* can contain both, text and
graphics.
(8b)
| A one-paned window
This text is in the only pane of a
one-paned window. A window
may hapel^raj number of panes,
but betwe^L one and six are
typical..
A yam can contain both text and
graphics.
(8c)
a
A one -paned window I
This text is m the only pane
one-paned window. A window
may haw-HJBHBHB! er °f panes,
but between one ani( six are
typical.
A pane can contain both text and
graphics.
left end of a line of text, the bar appears to the left of the
first character. At the right end of a line, the bar appears
to the left of the final space character.)
If the button is released without moving the cursor, the
bar remains, indicating that a zero-width selection has
been made. This method — clicking once between
characters — is the one to use before you insert new text.
If the button is held down while the cursor is moved,
the system supplies continuous feedback by highlighting
in inverse video all characters between the initial bar and
the gap nearest to the cursor (photo 8c). When the button
is released, the selected characters remain highlighted
(photo 8d). This method — drawing through a passage — is
the one to use before you copy, move, delete, or replace
text, or before you change it to boldface or otherwise
alter its appearance.
Clicking the button twice with the cursor in the same
spot within a word selects that whole word and highlights
it (photo 8e). This special mechanism is provided because
it is very common to select a word. Informal experiments
lead us to believe that double clicking is much easier than
drawing through a word for beginners and experts alike.
It is also faster. It takes the average user about 2.6
seconds to select a word anywhere on the screen using
draw-through, but it takes only 1.5 seconds using the
double click (reference 5).
There is only one selection in the active pane. It is
called the active selection.
(8d)
| A one-paned window |
This text is m the" onlu pane of a
one-pane d window. A window
may ]vwel tv.wtw jffi Si
f±\\4c*wi£i E2 Li! Ax arc
typical. ^
A pan/ can contain both text
graphics.
and
(8e)
n
A one paned wu\daw\
■ m ■ i ■ ' t * r ' ■■—■■■■■»■■*
This text is iti rru: only pane" of a
one-paned u'm4ijM\ A window
may hai>K any number of panes,
but be ween one and six arc
typical.
m wmo.iW. borh r« <r
graphics. t
\Vhen a wvtvtow is exposed, all tts
I iru's redisplay tneir contents.
Photo 8: Selecting text using the mouse and the cursor.
108 August 1981 © BYTE Publications Inc
THE NEW
FLIP/FLOPPYDISK
with twice the byte
OMNI is pleased to bring you a reversible
5V4" mini diskette.. .the FLIP/FLOPPY DISK.
Now you can record on both sides for twice
the storage capacity of a single sided
disk. And you'll be able to do it far
more economically, too!
Each OMNI FLIP/FLOPPY DISK incorporates
all of the quality features you'd expect
from the very best single sided disk.
• Two recording surfaces
• Two sets of WRITE ENABLE notches
• Two index holes
• Reinforced Hub Rings
• Certified error-free operation at
more than twice the error threshold
of disk dFives
• Over 12 million rated passes without
disk related errors or significant wear,
for extra long life operation
Compatible with most 5V4" disk drives
including APPLE, TRS-80, PET, OHIO
SCIENTIFIC, and many more.
OMNI Resources
4 Oak Pond Avenue Millbury, MA 01527 • 617-799-0197
Call TOLL-FREE: In Mass. 1-800-252-8770
Nationwide 1-800-343-7620
INTRODUCTORY OFFER
Order the OMNI FLIP/FLOPPY DISK at this
special introductory price:
Five Pack...$21.00
Equivalent to ten single-sided disks.
Ten Pack.. ..$40.00
Equivalent to twenty single-sided disks.
OFFER EXPIRES OCTOBER 15, 1981
Please send me the following OMNI FLIP/FLOPPY DISK(s)
Five Packs(s) @ $21.00 each = $
Ten Pack(s) @ $40.00 each =
Shipping and handling
Massachusetts residents add 5% sales tax
TOTAL
□ Check made payable to OMNI RESOURCES
D Mastercard
Account Number
□ VISA/BankAmericard
Account Number _-_
Credit Card Expiration Date /
Copyrights 1981 by OMNI Resources
Circle 279 on inquiry card.
1.50
□ COD.
Name
Address
City
State
Zip
Phone Number t L
Authorized Signature
(Please allow approximately three weeks for delivery)
Money back guarantee if not completely satisfied
BYTE August 1981 109
SOFTWARE
for the ATARI 800
and ATARI 400*
from aibiLrry software
STARBASE
HYPERION"
By Don Ursem
Become absorbed in this intri-
guing, original space simulation
of war in the tar future. Use
strategy to defend a front line
Star Fortress against invasion
forces of an alien empire. You
create, deploy, and command a
fleet of various classes of space
ships, while managing limited
resources including power
generators, shields and probes
r-m-j * 1 y j ■« v "^v\ Real ,ime responses are
M /M I I J 1 1 A \VY^\ sometimes required to take
f L J J ■ ■ \ \ %\v\ advantage of special tactical
J £ JB | 1 \ ^^ i\\ opportunities. Use of color.
sound, and special graphics
add to the enioyment of this program. At least 24K of RAM is required.
On Cassette — $19.95 On Diskette — $22.95
NAME THAT SONG
By Jerry White
Here is great entertainment lor everyone!
Two players listen while the Atari starts
playing a tune. As soon asa player thinks
he knows the name of the song, he
presses his assigned key or joystick
button. There are two ways to play The
first way requires you lo type in the name
of the song. Optionally, you can play
multiple choice, where the computer
asks you to select the title from four possibilities. The standard version requires24K of
RAM (32K on diskette) and has over 150 songs on it. You also get a 16K version that has
more than 85 songs. The instructions explain how you can add songs to the program, if
you wish. Written in BASIC.
On Cassette — $14.95 On Diskette — $17.95
QS FORTH
By James Albanese
Want to go beyond BASIC? The remarkably efficient FORTH programming language may
be |ust lor you. We have taken the popular fig-FORTH model Irom the FORTH Interest
Group and expanded it lor use with the Alan Personal Computer. Best of all we have
written substantial documentation, packaged in a three ring binder, that includes a
tutorial introduction to FORTH and numerous examples. QS FORTH is a disk based
system that requires at least 24K of RAM and at least one disk drive. Five modules that
may be loaded separately from disk are the fig-FORTH kernel, extensions to standard
fig-FORTH. an on-screen editor, an I/O module that accesses Atari's operating system,
and a FORTH assembler.
Diskette and Manual — $79.95 Manual Only — $39.95
FOR OUR COMPLETE LINE OF ATARI SOFTWARE
PLEASE WRITE FOR OUR CATALOG
QUTILny SOFTW71R6
6660 Reseda Blvd.. Suite 105. Reseda, CA 91335
(213) 344-6599
ASK FOR QUALITY SOFTWARE products at your favorite computer store. If necessary
you may order directly from us. MasterCard and Visa cardholders may place orders by
calling us at (213) 344-6599. Or mail your check or bankcard number to the address
above. California residents add 6% sales tax. Shipping Charges: Within North America
orders must include $1.50 for shipping and handling. Outside North America the
charge for airmail shipping and handling is $5.00. Pay in U.S. currency.
indicates trademarks of Atari.
Issuing a Command
When you issue a command in Smalltalk, you are
sending a message to an object. There are two ways to
send a message from Ingalls's user interface. You can send
certain commonly sent messages to the active pane or
window by choosing them from menus; you can send any
message to any object by direct execution of a Smalltalk
statement.
(9a)
ro
(9b)
(9c)
A ora: paned window I
■pi i ■■■ i » »
Trus i> xt is m m> only pane of a
oru -{"Hint window. A window
man turn any numlv r of para sfl
ut oetween one ana six are
a pane can a
graphics.
■'■■.- n a wind
panes redisptc
ch text and
\
•osed, au its
ontents.
A on* paned window
flu , i. xt i . m rh<" onln pan* of a
)m pan. i! window. A window
iuiq nai>i any number of pan. sB
>ut Detween one ana six are
wjaw
A pan." can < \ ,;-,: h |th u. «.t and
""pastel
Ww n a wind ctoit
panes r* dispUicompil!
undo
incel
rased, aU u
ontents.
a
A on* paned window [
Hus t» xr i ■-, m th» onhi pan*, of a
one-paned window. A window
man have arm number of partes,
A pan. can contain both text and
graphics.
v'/fun a window is exposed, all its
pan.:-: redisplay their contents.
A user ran arranat rfv; desktop by
Photo 9: "Cutting" text in Smalltalk.
110 August 1981 © BYTE Publications Inc
Circle 322 on inquiry card.
HI'
cir>r>i<zic
Turn your Apple into the world's
most versatile personal computer.
The SoftCard™ Solution. SoftCard
turns your Apple into two computers.
A Z-80 and a 6502. By adding a Z-80
microprocessor and CP/M to your
Apple, SoftCard turns your Apple into
a CP/M based machine. That means
you can access the single largest body
of microcomputer software in exist-
ence. Two computers in one. And, the
advantages of both.
Plug and go. The SoftCard system
starts with a Z-80 based circuit card.
Just plug it into any slot (except 0) of
your Apple. No modifications required.
SoftCard supports most of your Apple
peripherals, and, in 6502-mode, your
Apple is still your Apple.
CP/M for your Apple. You get CP/M
on disk with the SoftCard package. It's
a powerful and simple-to-use operating
system. It supports more software
than any other microcomputer operat-
ing system. And that's the key to the
versatility of the SoftCard/Apple.
Circle 240 on inquiry card.
BASIC included. A powerful tool,
BASIC-80 is included in the SoftCard
package. Running under CP/M, ANSI
Standard BASIC-80 is the most
powerful microcomputer BASIC
available. It includes extensive disk I/O
statements, error trapping, integer
variables, 16-digit precision, exten-
sive EDIT commands and string func-
tions, high and low-res Apple graphics,
PRINT USING, CHAIN and COM-
MON, plus many additional com-
mands. And, it's a BASIC you can
compile with Microsoft's BASIC
Compiler.
More languages. With SoftCard and
CP/M, you can add Microsoft's ANSI
Standard COBOL, and FORTRAN, or
Basic Compiler and Assembly Lan-
guage Development System. All, more
powerful tools for your Apple.
Seeing is believing. See the SoftCard
in operation at your Microsoft or Apple
dealer. We think you'll agree that the
SoftCard turns your Apple into the
world's most versatile personal
computer.
Complete information? It's at your
dealer's now. Or, we'll send it to you
and include a dealer list. Write us. Call
us. Or, circle the reader service card
number below.
SoftCard is a trademark of Microsoft. Apple II and
Apple II Plus are registered trademarks of Apple
Computer. Z-80 is a registered trademark of Zilog,
Inc. CP/M is a registered trademark of Digital
Research, Inc.
CONSUMER^ PRODUCTS
Microsoft Consumer Products, 400 108th Ave. N.E.,
Bellevue, WA 98004. (206) 454-1315
6809
SOFTWARE
sTilvi i : ■ I»I»]
BY MICROWARE*
OS-9™ MULTIPROGRAMMING
OPERATING SYSTEM
/» true multitasking, real time operating system for
/ % timesharing, software development, database,
A m process control, and other general applications.
This versatile OS runs on almost any 6809-based computer.
■ UNIX'" -like file system with hierarchical directories,
byte-addressable random-access files, and full file security.
Versatile, easy-to-use input/output system is hardware in-
dependent and expandable.
■ Powerful "shell" command interpreter features: I/O
redirection, multiple job stream processing, and more. In-
cludes a complete set of utility commands.
■ OS-9 Level Two uses hardware memory management
and can address over one megabyte of memory. Also
includes pipes and filters for inter-process data transfers.
■ OS-9 Level One runs on systems without memory
management hardware having up to 56K memory.
□ OS-9 Level Two $495* □ Level One $195
BASIC09" PROGRAMMING
LANGUAGE SYSTEM
Extended BASIC language compiler/interpreter with
integrated text editor and debug package. Runs
standard BASIC programs or minimally-modified
PASCAL programs.
■ Permits multiple named program modules having local
variables and identifiers. Modules are reentrant, position
independent and ROMable.
■ Additional control statements for structured
programming: IF . . . THEN . . . ELSE, FOR . . . NEXT,
REPEAT . . . UNTIL, WHILE ... DO, LOOP . . . ENDLOOP,
EX1TIP . . . ENDEX1T.
■ Allows user-defined data types and complex data
structures. Five built-in data types: byte, integer,
9 digit floating-point, string and boolean.
■ Runs under OS-9'" Level One or Level Two. D$195*
OTHER OS-9™ FAMILY SOFTWARE
■ Stylograph" Screen-Oriented Word Processor
■ Interactive Assembler ■ Macro Text Editor
■ Interactive Debugger
BASIC09 and OS-9 are trademarks of Microware'" and Motorola. UNIX is
a trademark of Bell Laboratories." Most software is available on ROM or
diskette in versions for many popular 6809 computers. Contact
Microware® for specific availability.
For compatible hardware see GIMIX ad page 128.
MICROWARE ,,,
Microware Systems Corp., Dept. B2
pi 5835 Grand Avenue, Des Moines, Iowa 50304
(515) 279-8844 • TWX 910-520-2535
Smalltalk-76 provides pop-up menus for the most com-
monly used commands, like "cut," which deletes the
selected text. To issue the "cut" command, you pop up
the active-pane menu with one of the menu buttons on
the mouse (photo 9a), keep that button down while mov-
ing the cursor to the command name (photo 9b), and then
release the button (photo 9c). A command in the pane
menu can have only one parameter, the active selection.
A command in the window menu can have no
parameters.
To issue a command that is not available in a menu,
you select any place you can insert text, and type the
whole command as a statement in the Smalltalk language
(photo 10a). Then you select that statement and issue the
(10a)
A one paned window
A user can arrange the acsfctop tnj
changing fhe sizes anA locations of
windows.
4 max: 5
(10b)
W
"f^yi id window
again
copy
air
oasie
I
arrange cne aesRtop im
le sizes and locations of
COTTWU0
undo
cancel
alian
max: 5
(10c)
A an* paned window]
A usi t can arrange tne desktop U\
changing the sizes and locations of
windows.
4 max: 5
*
112 August 1981 © BYTE Publications Inc
Circle 242 on inquiry card.
Photo 10: Executing text using the "doit" message.
Circle 335 on Inquiry card.
Price breakthrough: $499.
For a CMOS microprocessor development system.
Our new CDP18S693 costs less
than any other 1802 microprocessor
development system on the market.
And the development system can even
become your final target system.
The incredibly low $499*
price includes:
• CDP18S601 computer Microboard.
• ROM/audio cassette controller
Microboard.
• Five-card chassis and case.
• Detachable 5-volt power supply.
• Audio cassette tape I /O drive for
mass storage.
You get these capabilities:
• Extended BASIC resident in ROM
with full floating-point arithmetic.
• 2K-byte monitor program with
' U.S. optional distributor resale, single unit price.
extensive memory manipulation.
• RS232C or 20 mA terminal interface,
up to 1200 baud.
Or, for $799* you can get the
CDP18S694. It has all the capabil-
ity of the 693, plus:
• ROM-based 1802 Assembler/Editor.
• PROM Programmer board.
• A second cassette tape I /O drive.
System expansion:
• Expand your Microboard system
capability, choosing from over 40
expansion boards and hardware
accessories.
• Memory expandable to full 65K bytes.
• Virtually unlimited I/O expansion
capability using any combination of
analog and digital I/O boards.
• Run-time BASIC 3 firmware for final
system configuration.
Develop software for any
1802-based component design,
or for any Microboard system in BASIC
or assembly language.
At these prices you can't afford not
to get into CMOS.
For more information, contact any
RCA Solid State sales office, sales
representative or distributor.
Or contact RCA Solid State
headquarters in Somerville, N.J.
Brussels, Belgium. Sao Paulo, Brazil.
Hong Kong.
Or call Microsystems
Marketing toll-free (800) 526-3862.
single-parameter command "do it" (photo 10b) to obtain
the result (photo 10c). The "do it" command provides im-
mediate execution of any Smalltalk statement or group of
statements. This method of command issuance uses the
previous method: you are sending the message doit to the
pane, with the Smalltalk statement as its parameter.
It is standard practice to keep a "work-space" window
around the screen in which to type your nonmenu com-
mands. When you want to reissue a nonmenu command
issued earlier, simply select the command in the work-
space window and "do it." You may, of course, edit some
of the parameters of the old command before you select it
and "do it." In a sense, you are filling out a form when
you edit parameters of an immediate statement.
Unfortunately, the common commands "move text
from here to there" and "copy text from here to there"
cannot be issued by a single menu command because they
require two parameters, the source selection and the
destination selection. Sometimes, they even involve
messages to more than one pane, the source pane and the
destination pane. In a modeless system, a move or copy
command is done in two steps:
(11a)
m ii
menmt
wed
\r\& of a nt'u-partfil window
'np has a windaw m
)ane has a pane mt
cut
past>;\
<toit
i.'ompu.
uivto
n/s of text break a
m
automatic
(He)
• A move is done by cut and paste. First, you select the
source text and issue the "cut" command (photo 11a).
The "cut" command deletes the selected text (photo lib),
but leaves it in a special place where it can be retrieved by
"paste." Then you select the destination and issue the
"paste" command (photo lie) to complete the move
(photo lid).
• A copy is done by copy and paste, which is completely
analogous to cut and paste, but does not delete the
original text.
Remember the "copy-from-file" example (the one
where you had to go in and out of many layers of
modes)? In the Smalltalk-76 user interface, you can ac-
complish this with six pushed buttons, no mode exits,
and no typing: (1) activate the source window that
displays the file you are copying from; (2) select the
desired text; (3) issue the "copy" command in the menu;
(4) activate the destination window; (5) select the destina-
tion point, and (6) issue the "paste" command in the
menu. The job requires little more effort than copying
within the same document. If the window is not already
(lib)
text is m me rhju-mnd
of a nm-pama window,
vindow has a wmdow m$m
>,ach pane has a pan$ m$nu,
that lints of c^xt break at
spaces^
■
mmmmmmmmnm
(lid)
fus"i
~>ane of a tu£
[he window
\nd each pa
Jote that Li
iwd spaces;
dOttfc
compil^
unao
'nrir
window.
indow me
pane men
break| at
pane of a two -parted, window.
The widow has a window menu
arid each pane has a pom menu.
Note that lines of text t>reak|_
at word spaces.
xutomaru
Photo 11: Moving text in Smalltalk.
114 August 1981 © BYTE Publications Inc
The perfect marriage of
Superbrain™ and Winchester?
00 K or 350 K
floppy storage
5 Megabytes
hard disk storage
Finally, a price-performance breakthrough for mass storage in a one-piece,
handsomely styled desk-top computer.
a
™
A product of CMC International
5 IV Micro-Winchester 5 Mbyte (formatted) hard disk
700K or 350K floppy disk back up
Dual Z-80 processors with 64K RAM
Dual RS232 ports
,TM
• Complete and ready to run with CP/M 2.2
• Also available 10 Mbyte hard disk, 5 MB removable
10 Mbyte hard disk SuperTen
TM
DEALER & OEM INQUIRIES INVITED
Telephone (206) 453-9777
CMC
bfiNA
Circle 56 on inquiry card.
A Division of Computer Marketing Corporation
11058 Main. Suite 125, Bellevue. WA 98004
on the screen and you can't remember the file name, you
can go to another window and scroll through a list of files
without having to exit any modes, invoke any programs,
save any edits, lose sight of the destination file, or lose
any time.
The Smalltalk-76 text-editing facilities not only relieve
you of the burden of modes, they also require very few
keystrokes and are easy to learn.
Software-Development Aids
One of my summer projects in 1977 was to increase the
speed and friendliness of the Smalltalk software-
development environment by adding inspect windows,
browse windows, and notify windows to the user inter-
face. These and other enhancements made by the Learn-
ing Research Group are described below. In recent
months, the team has further enhanced the Smalltalk-80
environment. Although it conforms to the same prin-
ciples as before, its details are different from what is
described in this article.
Inspecting Data Structures
Suppose someone has given you a Smalltalk program
to implement a "regular polygon" class (table 1) and you
want to learn more about it. It would be helpful to see an
actual instance of a regular polygon.
If the variable triangle refers to a regular polygon, you
type the following statement into your work-space
window:
triangle inspect
and then issue the "do it" command in the pane menu
(photo 12a). In a few seconds, a two-paned "inspect win-
dow" appears on the screen. Its title tab tells you the class
of the inspected object, in this case, RegularPolygon. The
window is divided into two panes. The left or variable
pane lists the parts of a regular polygon, sides, center,
radius, and plotter. The right or value pane is blank.
You point to the word sides in the variable pane and
click the selection button on the mouse. The word sides is
highlighted, and in the value pane, the value of the
variable sides appears (photo 12b), in this case, 3. You
point to the word center and click. In the value pane
appears the value of center (photo 12c), in this case, the
point 526@302. The value pane is dependent on the
variable pane because its contents are determined by
what you select in the variable pane. The arrow in figure
3 symbolizes this dependency.
Let's inspect the value of center. In the variable pane,
where center is selected, pop up the pane menu and issue
Figure 3: Principal dependencies among panes of an inspect
window.
116 August 1981 © BYTE Publications Inc
Circle 282 on Inquiry card.
EPSON
PRODUCTS
MX80/70 FRICTION FEED
KIT by Orange Micro
HERE AT LAST! A friction feed kit
for your EPSON MX80/70. The kit
allows the user to convert his
Epson printer to a friction feed and
pin feed mechanism.
The friction feed will accept single
sheets of your letterhead, or mul-
tiple copy forms such as invoices
with up to 4 part carbon copies.
The pin feed replaces the adjust-
able sprocket mechanism. It allows
use of 9 1 /2" wide continuous fan-
fold paper which is an industry
standard size.
No drilling required. Installation
takes about 15 minutes. All parts
are included with easy to follow
instructions.
75.
00
DEALER INQUIRIES
INVITED
EPSON
MX80
• 9 x 9 dot matrix • Lower case
descenders • 80 CPS • Bidirec-
tional, Logic seeking • 40, 66, 80,
132 columns per line • 64 special
graphic characters: TRS-80 Com-
patible • Forms handling • Multi-
pass printing • Adjustable tractors.
MX80 (List $645) $ CALL
MX80 Dot Graphics Upgrade (List $100) $ CALL
EPSON
MX70
• Super low-priced dot resolution
graphics • 5 x 7 dot matrix • User
replaceable printhead • Top of
Form.
MX70
.(List $495) SCALL
EPSON
MX80 FT
• Same basic features as the MX80
• PLUS friction feed for single
sheets • and adjustable tractors.
MX80 F/T (List $745) $ CALL
^
APPLE INTERFACE
For Epson
The Grappler interface card is
the first to provide on-board firm-
ware for Apple high resolution dot
graphics. No longer does the user
need to load clumsy software
routines to dump screen graphics
— it's all in a chip. Actually, it's our
E-PROM, and it is replaceable to
accommodate the Anadex, Epson
MX80 & MX70, IDS Paper Tigers,
Contronics 739, and future graphics
printers. The Grappler™ accepts
17 software commands including
Hi-Res inverse, 90° rotation, double
size, and much more.
165
00
Includes Cable
DEALER INQUIRIES
INVITED
Orange micro
UP TO 25% DISCOUNTS!
"THE COMPUTER PRINTER
SPECIALISTS"
SAME DAY SHIPMENT!
RADIO SHACK \
LINE PRINTER IV )
£3) CENTRONICS 739 (
With Graphics and
i Word Processing Prin t Quality
VISTA — C. ITOH
• 18 x 9 dot matrix; suitable for word
processing • Underlining • proportional
spacing • right margin justification • serif
typeface • 80/100 CPS • 9V2" Pin
Feed/Friction feed • Reverse Platen •
80/132 columns • Top of form
CENTRONICS 739-1 (Parallel) (List $995)
CENTRONICS 739-3 (Serial) (List $1045)
{Call
SCall
ANADEX
Dot Graphics, Wide Carriage
ft • 11 x 9 dot matrix; lower case descen-
/ ders • Dot resolution graphics • Bi-
directional, logic seeking • Up to 200
CPS • RS 232 Serial & Parallel • Forms
control • X-ON/X-OFF • Up to 6 part
copy.
ANADEX 9501
.(List $1650) $1350
AXIOM
AXIOM GP-80M .
Dot Graphics, Low Price
• Dot addressable graphics • 70 CPS
• 12 characters per inch • 80 columns
• adjustable tractors • 3 part copies
• Manufactured by Sieko • Parallel,
RS232 serial, IEEE-488 interfaces
available.
.(List $399) $349
IDS PAPER TIGERS
Dot Resolution Graphics, quality print, speed
• 7 wire printhead (445); 9 wire printhead
(460) with lower case descenders • Over
150 CPS • bl-dlrectlonal, logic seeking
(460) • 8 character sizes; 80-132 columns
• Adjustable tractors • High-resolution dot
graphics • Proportional spacing & text
justification (460).
IDS 445G 7 wire printhead, graphics (List $895) $ 750
IDS 460G 9 wire printhead, graphics (List $1394) $1150
IDS 560G 9 wire, wide carriage, graphics (List $1794) $1590
CALL FOR FREE CATALOG
(800) 854-8275
CA,AK, HI (714) 630-3322
At Orange Micro, we try to fit the right printer to your application.
Call our printer specialists for free consultation.
Daisy Wheel Letter Quality
• 25 CPS (Optional 45 CPS) • Typewriter
quality • Centronics parallel • RS 232
Serial (Optional) • Proportional spacing •
Bidirectional • Programmable VFU • Self
test • Diablo compatible • Friction feed
(Optional tractors) • 136 printable
columns. • Manufactured by C. ITOH.
VISTA V300(C. ITOH) (List $1895) SCall
ANACOM
Low Cost, High Speed, Wide Carriage
• 9 x 9 dot matrix • Lower case descenders • Wide carriage •
Adjustable tractors to 16" • 150 CPS, Bidirectional, Logic Seeking
ANACOM 150 (List$1350) SCall
MALIBU165
The Small Business Printer;
Letter Quality & Speed.
10x9 dot matrix • Letter quality print; Lower case descenders
High speed; 165 CPS, Bidirectional, Logic seeking • Wide car-
riage • Vertical forms control • User programmable character set
■ Dot Resolution Graphics.
NEC SPINWRITER
High Speed Letter Quality
• 55 CPS • Typewriter quality • Bidirectional • Plotting • pro-
portional spacing.
5510-5 RO, Serial, w/tractors (List $2995) $2650
5530-5 RO, Parallel, w/tractors (List $2970) $2625
mmk TELEVIDEO CRT'S
AT DISCOUNT PRICES!
QUANTITY PRICING AVAILABLE
TVI912C
TVI 920C
TV I 950
}
Please Call Toll Free
Prices are too low to
advertise
PRINTERS
MALIBU 165 wide carriage, graphics, letter quality .. (List $2495) $1975
QUME 5/45 typewriter quality (List $2905) $ 2559
INTERFACE EQUIPMENT
CCS APPLE PARALLEL Interlace & cable $ 150
ORANGE INTERFACE for Apple II
parallel interface board & cable $ 110
MICROTRONICSAtari parallel interface $ 69
ATARI 850 Interface module, serial/parallel $ 199
TRS-BO CABLES to keyboard or Exp. interface * Cal1
NOVATION D-CAT direct connect modem $ Call
TELEPHONE ORDERS: Mon.Fri. 8:30 - 5:00
The Orange Micro Printer Store (Retail):
Mon.-Fri. 10:00 - 6:00, Sat. til 4:00
-S
Phone orders WELCOME; same
day shipment. Free use of VISA &
MASTERCARD. Personal checks
require 2 weeks to clear. Manu-
facturer's warranty included on all
equipment. Prices subject to
revision.
Oronge
fTlfCrO, Inc.'
3150 E. La Pal ma, Suite I
Anaheim, CA 92806
The following template contains a description of a regular polygon with the following attributes:
sides Number of sides (3 for a triangle, 5 for a pentagon, etc.).
center If the regular polygon were inscribed in a circle, this would be its center point,
radius If the regular polygon were inscribed in a circle, this would be its radius,
plotter A pen that can draw an image of the polygon on the screen or on paper.
The following expressions provide an example of creating and using an instance of RegularPolygon.
triangle — RegularPolygon sides: 3 radius: 50.
triangle translateBy: -90 @ 60.
triangle plot: black.
triangle translateBy: 165 @ 20.
triangle scale: 0.6.
triangle plot: gray. "where gray denotes an ink color"
spow I <»,.m,)i, | 'in*
:lass name
superclass
instance variable names
class messages and methods
RegularPolygon
Object
sides center radius plotter
i.;m,i> ir.iri^l.u*-£u:
i-l-i.ll. I'lor: l>i.Kk:
1-
™^
fSSfSpSSi | in-itui: | V.n
trtflngU ~ fe-iiihirPMnvji, Ml
rrmrt.il. tf.inslAi.Bii: -c«i w fig
rn.lti.TU itot: Uiu'fc;
m.:n.il.- tr.vmtat.f.
rrto»0s scot*; 0.6.
mongJ v-tor: gray.
initialization
sides: s radius: r | |
"Create an instance of RegularPolygon whose center is located at the center of the currently active window on the display screen Screen is a
global variable that refers to the hardware display screen."
I self new sides: s radius: r center: (Screen activeWindow frame center)
instance messages and methods
initialization
sides: s radius: r center: c |
"Initialize all attributes. Class Pen is provided in the system as one way of side effecting the display screen ."
sides — s.
center — c.
radius — r,
plotter — Pen width: 2
analysis
center | | "Answer the center coordinate of the polygon.'
(center
Sides | ; "Answer the polygon's number of sides."
t sides
display
'Draw an image of the polygon using the specified ink color.'
'lift the pen to disable drawing"
'position the pen at the center"
face the top of the screen"
'position at a corner"
'turn to face along a side"
'select the ink color"
'lower the pen to enable drawing"
'for each side of the polygon:"
'plot that side"
'turn to face along the next side"
plot: Ink | |
plotter penup.
plotter goto: self center.
plotter up.
plotter go: radius.
plotter turn: 180 - (self comerAngle/2).
plotter color: ink.
plotter pendn.
I to: sides do:
[:i | plotter go: self sideLength.
plotter turn: 180-self cornerAngle]
transformation
scale: factor | |
"Scale the polygon radius by the specified factor."
radius — radius * factor
translateBy: deltaXY | |
"Change the polygon's location by the specified amount (a Point) "'
center — center + deltaXY
private instance methods
cornerAngle 1 | | "Answer the interior angle of any vertex, in degrees."
I 180 - (360/ sides)
SideLength | | "Answer the length of any one ol the equal sides "
12 * radius * (self cornerAngle 12) degreesToRadians cos
Table 1: Description and class template for class RegularPolygon.
118 August 1981 © BYTE Publications Inc
Circle 397 on inquiry card.
Take Your Cue From Vista . .
When it comes to Apples, take your cue
from Vista's A800 Eight-Inch Floppy Disk
Controller. The A800 offers a cost-efficient
approach to software compatible disk
memory expansion for your Apple 11^ computer.
The A800 Controller enables Apple II users to
access up to five megabytes of online storage
through conventional disk operating (DOS)
commands.
The Control and DMA Logic provides high speed
(1 microsecond per byte) transfer of data from
the disk drive directly to the Apple II memory
without processor intervention. Plus, the Phase-
Locked Loop Data Separator provides the
ultimate in data reliability.
AND THERE'S MORE.
The controller is compatible with the most
popular disk operating
systems for the
. ' * ■ *IA«
Apple II computer. It also interfaces to all
Shugart/ANSI Standard Eight-Inch Floppy Disk
Drives. The A800 provides complete IBM for-
n™** *\ mat compatibility in both single and double-
9 ۥ density modes.
Sure
THE HOT SHOT AT A COOL PRICE.
The A800 is reasonably priced at $595. A
price you can't beat when you compare its
quality and performance.
Cfcl«4%f' quality and performance.
CALL YOUR SHOTS.
Vista offers you a complete line of peripheral
equipment to maximize the capabilities of
your Apple system including: High capacity Mini-
floppy Disk Drives, the Vista Music Machine 9
and the Vista Model 150 Type Ahead Buffer. In
addition, Vista offers a line of advanced
components fully compatible with the
— - TRS-80 " and S-l OO based
computers.
„n\Jli
%#icf--k Computer
llslll Company
1 31 7 E. Edinger Avenue
Santa Ana, CA92705
(714)953-0523
Call Toll Free 800-854-801 7
© Apple II is a registered trademark of Apple Computers, Inc.
• TRS-80 is a trademark o( Radio Shack, A Tandy Co.
the "inspect" command (photo 12d). On the screen
appears another inspect window showing that center is
an instance of class Point (photo 12e). You can now ex-
(12a)
irvcmqie tran slate By: t 65
tnan$e scoUT
triangle plot:
natvU inspect
copy
cut
>aste
(12b)
(12c)
trtan$e inspect.
Re^ularPoU^on
self
'sides'
Jeraef
ramus*
1 plotter' ^
526la'»302
i riarui
^
le inspect.
-
1
ReguIarPoUjgon
* ~T
V center'
'n lams'
'plotter 1
■,.,■,■ mmmmi
amine that point's variables, x and y, reactivate the
original inspect window, close either or both windows,
or work in any other window. You are not in a mode.
Browsing Through Existing Definitions
Now that you have inspected a sample regular
polygon, you might want to find out what methods have
been defined in its class. One way to do this is to activate
a window called a "browse window" or "browser." Most
Smalltalk programmers leave a browser or two on the
screen at all times with the work-space window.
The title tab of the browser (photo 13a) says "Classes"
because the standard browser lets you examine and
change the definitions of all Smalltalk classes — classes
supplied by the system, as well as classes supplied by
yourself. It is easy to create a more restricted browser
that protects the system from ill-conceived modification.
But on a personal computer, you are just going to hurt
yourself.
The browser has five panes. The principal dependen-
(12d)
irianqie inspect.
\
ReguiorPoUgon
A
^v «* ««■ *** i egg ^ 3Q2
IMU
aiwoi,
X center
'radius'
'plotter'
■-..■'." •:
(12e)
RegularPolt^on
self
'sides'
'radius 1
'plotter 1
>Zb!a«oU2
Point
#11
u
Jfc
Photo 12: Inspecting data structures in Smalltalk.
120 August 1981 © BYTE Publications Inc
"Together we're working
to better serve mankind?
"Speaking on behalf of Vector computers, I'm pleased
to announce that TRW Customer Service Division will
provide a nationwide, nine-month on-site service warranty
that you, the end-user, will receive absolutely free*
"I'd also like to add that this is a unique program. It's
actually the first time a microcomputer has had this kind
of comprehensive nationwide on-site service — especially
from a company of experts like TRW.
"Now you have even more security when you buy a
Vector. In addition to increasing your personal productivity,
helping you make faster decisions, and improving your
business, we offer a network that will service us right in
your office if we ever need it. At no expense to you.
"Right now, you can get quick, dependable service in
Los Angeles, New York City, Denver, Dallas, Chicago, San
Francisco, Northern New Jersey, Philadelphia, Atlanta,
and Boston. With more cities on the way.
For more information and your nearest Dealer, call us
at 800-423-5857. In California, call 800-382-3367. Or write
to us at 31364 Via Colinas, Westlake Village, CA 91362.
"TRW and Vector. Now that we're helping each other,
there's no telling how much we can accomplish for you'.'
Vector Graphic Inc.
COMPUTERS FOR THE ADVANCEMENT OF SOCIETY.
Circle 393 on inquiry card.
'Within 50 mile radius of a TRW service center.
ADD EXCITING MUSIC
TO YOUR APPLE 8 !
j i r f JiJ i g
E£
a
^i^ff
j*
¥
P^
J J J 1 ANA , tt b i
SUB
<" INS DEL TIE -*
■
9474 FREE
MEASURE 3
END
SAUE«
A L F's 9-voice Music Card MCI
is only $195.
Here's what our customers have said:
(Excerpts from unsolicited letters. Copies of original letters available on request.)
About the A L F system:
It's a rare enough occurrence when hardware/software lives up to one's
expectations. For something to exceed one's wildest hopes — as the ALF
synthesizer certainly does — is a real treat. My congratulations to all
concerned.
— Dhahran, Saudi Arabia
I myself have told several people that next to a disk, I consider the [ALF]
synthesizer to be the most important peripheral they could purchase for their
system. Very excellent job! Keep up the good work.
— Oak Ridge, Tennessee
I recently purchased 2 of your Apple music boards. Out of the peripherals I
have for my Apple, I enjoy them the most. It has to be the most enjoyable
thing that has ever been invented. I hope you continue to develop products as
clever and enjoyable as this one. The Entry program has to be one of the most
sophisticated programs I have ever seen. It proves that a hardware manufac-
turer DOES have the ability to also produce quality software. It is almost
worth the price of the boards just for the Entry program.
— Burbank, California
About ease of use:
I have had my Music Card MC1 for a little more than a week now and I have
almost completed entering "The Maple Leaf Rag". I found it to be a lot
simpler than I thought and so I am very, very pleased. My family isn't because
I sit up to all ends of the night playing with the blasted thing!
— Cypress, Texas
ALF has opened up my head and ears and enabled me to do things musically
which I would like to be able to do on [conventional] instruments. As much as
I love the instruments I try to play, I just don't have the talent and technique to
play what is in my head. By golly, the ALF board doesn't know about my
limitations, though. I can play hell out of that thing, playing notes and tempos
which previously have existed only in my head. Many thanks from a frustrated
musician and satisfied ALF "player".
— Demopolis, Alabama
About documentation:
I don't know much about hardware, but I have been a programmer for 15
years and I have never seen a better piece of software documentation than
your user manual. It is a joy to study!
— Lancaster, California
About the competition:
Recently, I purchased an [ALF] 9-voice board and a couple of music al-
bums .... all I can say is that I wish I had listened and played with it before I
purchased the Mtn. Hardware board. It sounds about the same and is vastly
superior in software, ease of use, and price. The Entry program is a joy to use
and it's easier than Mtn. Hardware's, but then, I guess you guys know that
already. (Oh yes. you wouldn't happen to know of anyone that wants to buy a
Mtn. Hardware system? $450 or best offer?)
— Kirkland, Washington
I would like to tell you that after having used the system ONLY ONE DAY, that
I am absolutely delighted with it. In addition, I purchased the three boards
although I ALREADY own Mountain Hardware's music system. Now that I
have seen and own your system, I am putting my "old" one up for sale. I think
that your software makes it far easier to enter music, and that the software
routines allow for far greater flexibility. Again, I extend my compliments lo
you. As I said. I have owned another music system, and consider myself
therefore, qualified to make a judgement between the use ot the two. Yours is
the clear choice!
— Levittown. New York
See your local Apple®
or write:
dealer
ALF Products Inc.
122
1448 Estes Denver, CO 80215
Apple > ,i trademark >>i Apple Cumputer Inc
August 1981 © BYTE Publications Inc
cies between panes are symbolized by arrows in figure 4.
The top row has four panes called the class-category
pane, class pane, method-category pane, and method
pane. The large lower pane is called the editing pane.
(After you have used the system for a few minutes, the
significance of each pane becomes apparent, and it is not
necessary to memorize their technical names.)
In photo 13a, the browser shows a method definition in
the editing pane. You can tell that the method is class
RegularPolygon's version of scale: because Regular-
Polygon is highlighted in the class pane and scale: is
highlighted in the method pane.
The method-category pane lists several groups of
methods within class RegularPolygon: initialization,
analysis, display, transformation, testing, and private
methods. You can tell that scale: is a transformation
message in class RegularPolygon because that category is
highlighted.
The class-category pane lists several groups of classes,
including numbers, files, and graphical objects. You can
tell that class RegularPolygon is in the graphical objects
group because that category is highlighted.
Suppose you want to look at a different method,
translateBy:. Click its name in the method pane and its
definition is immediately displayed in that pane's depen-
dent, the editing pane (photo 13b). If the method you
want to see is in the method category analysis, first click
that category name. Immediately after you do that, its
dependent, the method pane, lists the methods in that
category. Now you can click the name of the desired
method (photo 13c).
If you want to know things about the class as a whole,
like its superclass and field names, click "Class
Definition" in the method-category pane and the defini-
tion appears in the editing pane (photo 13d).
Suppose you want to look at a different class, say
IrregularPolygon. Click its name in the class pane and its
method categories are immediately displayed in the next
pane (photo 13e). If the class you want to see is in the
class category windows, first click that category name.
Immediately after you do that, the class pane lists the
classes in that category. Now you can click the name of
Class Category
Pane
Class
Pane
Method Category
Pane
Method
Pane
*
Editing
Pane
Figure 4: Principal dependencies among panes of a browse
window.
IF YOU CAN RECOGNIZE VALUE
YOU CAN SAVE
*500
TRS-80®
MOD "'*
FIRST . . .
We lowered the prices of
the Model III from $2499* to
*1998
*We have taken rhe basic 1 6K Model III expanded
rhe memory ro 48K and added our MTI Double
Density, Dual Disk Drive system. System is fully
compatible with Radio Shack DOS and peripherals.
MOD HI/EXPANDED
Same as above but has double storage capacity
(708K storage). Your choice of 2 dual headed 40
track drives or 2 single headed 80 track disk drives.
Includes Microsystems DOS plus 3.0.
$ 2499
MOD 111/280
Our largest MOD III, approximately 1 .5 mega bytes
of sfotage, utilizes 2 dual headed 80 track, double
density disk drives. Complete with manuals and
professional operating system, Microsystems DOS
plus 3.0 (40 & 80 track capability).
$ 2799
MTI has a complete line of COMPUTER add ons:
INTERNAL DISK KIT 40 OR 80 TRACK EXTERNAL DISK KIT 40 OR 80 TRACK
Drive Kir #1 from $ 699
Drive Kir #2 from J 279
Drive Kir #3 from s 379
Drive Kir #4 from $ 359
TRS DOS & Manual *21.95
DOS PLUS from *99
MTI MOD III SALES, PARTS & SERVICE CENTERS - INDEPENDENT DEALERS
ARIZONA (602) 839-0546
SAN JOSE (408) 427-0836
MIDWEST (618) 345-5068
NEW YORK (212) 728-5252
CALL NORTH TIER .. (701) 594-5674
SAN DIEGO (714) 261-0285
TEXAS (214)247-6679
GEORGIA (404) 449-8982
EA
MICROCOMPUTER TECHNOLOGY INC.
3304 W. MACAPJHUK SANTA ANA, CA 92704
• (714)979-9923 • TELEX 6780401 TABIPJN •
• TR5-80 15 A P,EG TRADEMARK OF TANDY CORP 'Uses MTI Memory Disk Drives & Component
PRICES
F.O.D. SANTA ANA
Circle 234 on Inquiry card.
the desired class (photo 13f).
Categorization is used at both the class and method
level to help the programmer organize his or her program
and to provide fewer choices in each pane. If a list is
longer than what can fit in a pane, it can be scrolled by
pressing a mouse button with the cursor in the scroll bar.
If you just want to browse around reading class and
method definitions, you can do so by lazily clicking the
selection button with the cursor over each name, never
touching the keyboard. That is why the window is called
a browser. Browsers are further discussed in references 6
and 7.
Astute readers may have noticed that the class
template (see "The Smalltalk-80 System" by the Learning
Research Group on page 36 of this issue) presents the
methods of a class apart from the methods of its in-
stances, while the browser does not. This discrepancy
stems from differences between the Smalltalk-80 and
Smalltalk-76 languages.
Revising Definitions
If you are looking at a method definition or class
definition in the editing pane, you can revise it using the
standard text-editing facilities (select, type, cut, paste,
copy).
If you like, you can copy information into the defini-
tion from other windows — including other browse win-
dows — because you are not in any mode while browsing.
You can even interrupt your editing to run another pro-
gram, list your disk files, draw a picture, or do whatever
you like. You can later reactivate the browser and con-
tinue editing.
(13a)
(13b)
fttUS
DtsptcuiForrri
Form
HoUTOTW
Half Tot y r
IrteaularPuhMon
Point
Rectatial.
Oass Definition
Class Graardzatis
'initialization'
'analysis'
' UstJtou'
resting
pm-ate ins
Seal.- the pohiacm radius by the specified factor"
radius * factor
(13c
i» "■'■'.'■>
Rma classes
numbers'
collections'
text'
reenter
text display
windows'
vanes and menus'
files'
OisplfliiForm
Form
Halftone
Half toner
IrreaularPolif.
Point
ftectanqie
CtassDcfimtion
Class Oraamsation
'tnuiaUzatum'
display
'transformatwn
'testing'
'private- instance met
Ansiivr the center coordinate of me polygon.
(13e)
[lasses |1
rTie'i etas
numbers'
ollecnons'
f.'xf'
re iff display
windows'
panes and men
□
uspTatfFonri
Form
Half Tone
Half T oner
<Esm
•-cum k
Rectangle '
RvgularPoluaon
OossDefi
OassOras
'initial i3i
'analysis'
'display'
'resting'
'fransforr
IS'
isplayForm
Form
Half Ton*
HalfToner
IrreyularPolyijon
Point
Rectanalc
Class Definition
Class Orcjanizatu
'initialization'
'analysts*
Mtsplai
testing
pupate wstancj
"*"
»XY f "Change the location by the< specified amount
ter + delta XY
(13d)
en us'
Form
Half Ton*?
Half toner
IrreauiarPGlMgon
Potrir
Rectangle
Ciassuraamzation
'initial tidnon'
'analysis'
'display'
'transformation'
'testing'
'private instance met
•s: 'ReguiarPoiygon'
,es center radius plorter'
graphical objects'
*'A regular polygon has (sides) vertices,
each ar a distance of (radius) from (center).
It is drawn on the" screen t»ii the pen (plotter),
(13f)
Classes
kernel classes'
numbers'
collections'
text'
graphical objects'
texx dispiau
Browse Window
Code Window .
Font Window
OossDefi
Class Orac
'Initialled
'Private'
essageserwir
NottfnWindou'
Panea Window
PrajectWirtdow
Photo 13: Browsing through existing definitions in Smalltalk.
124 August 1981 © BYTE Publications Inc
*»K _
PERT/CPM TIMESAVER
I
\
As a project manager, you know the
value of careful planning. Oversights
and miscalculations can cost you
crucial time and money.
MILESTONE is a powerful "Critical Path"
Program that can be used for planning
and analyzing virtually any project, from
the opening of a retail store, to charting
the progress of a police investigation;
from drawing up a cost estimate for a
construction project to scheduling the
development (and involved expenses) of
a new computer; from keeping track of
rental equipment to allowing a winery
to chart the evolution of a vintage
Chardonnay from harvest to bottling.
The applications are endless.
What's more, MILESTONE is one of the
easiest software packages to use. Once
MILESTONE.
WHEN
TIME
IS
MONEY.
the working days, skill categories,
wages or salaries and time increments
are defined, then MILESTONE is ready
to do the work for you. Change, for
instance, the estimated completion
date of a particular time-critical task,
and you'll instantly see it's effect on
the entire project. All scheduling, man-
power costs, associated reports, etc.
are immediately re-tabulated. A calendar
display allows you to visually follow
the activities (200 per project with 64K
RAM, 100 with 56K RAM). Examples
are included on the disk.
TIME IS MONEY. SAVE BOTH WITH
MILESTONE.
Price is $295. Manual alone— $30.
SOFTWARE
SOFTWARE
DIGITAL /M4RKETING
DIGITA/VMRKETING
A PROJECT MANAGEMENT
AND TIME SCHEDULING
PROGRAM.
Circle 115 on Inquiry card.
2670 Cherry Lane
(415) 938-2880
Walnut Creek, CA 94596
Dealer inquiries invited.
Dealers outside California call (501)442-0864.
Inside California call (415) 938-2883.
Milestone Is a trademark of Organic Software.
CP/M is a trademark of Digital Research.
MILESTONE requires 56K RAM and
CP/M. Also available for CP/M-86, Apple
Pascal and UCSD Pascal. Specify 8080,
Z80, CDOS, 8086. UCSD Pascal or Apple
Pascal. Formats: 8" single density IBM
soft-sectored, 5V<" NorthStar DD,
Micropolis Mod II. Superbrain 3.0. Apple II.
The following template contains a description of an irregular polygon with the following attributes:
vertices An OrderedCollection of Points,
plotter A pen that can draw an image of the polygon on the screen or on paper.
The following expressions provide an example of creating and using an instance of IrregularPolygon .
triangle — IrregularPolygon vertices:
(OrderedCollection with
with
with
triangle translateBy: -90 @ 60.
triangle plot: black.
2 @2!
-25 ® -35
52® -7).
triangle translateBy: 165 @ 20.
triangle scale: 0.6.
triangle plot: gray, "where gray denotes an ink color"
:lass name
IrregularPolygon
superclass
Object
instance variable names
vertices plotter
class messages and methods
initialization
vertices: aCollectlon | |
"Create an instance of IrregularPolygon whose center is located at the center of the currently active window on the display screen
Screen is a global variable that refers to the hardware display screen."
I self new vertices: aCollection center: (Screen activeWindow frame center)
instance messages and methods
initialization
vertices: aCollectlon center: c | |
"Initialize alt attributes. Class Pen is provided in the system as one way of side effecting the display screen."
vertices — aCollection.
plotter — Pen width: 2.
self translateBy: c - self center
analysis
Center | sum | "Answei the cenier coordinate of the polygon '
sum — 0@0.
vertices do: [ :pt | sum — sum + pt].
I sum / self sides
Sides | | "Answei [he polygon's number of sides."
I vertices size
display
plot: Ink | |
plotter penup.
plotter goto: vertices last.
plotter color: ink.
plotter pendn
vertices do:
[:pt | plotter goto: pt]
transformation
scale: factor | center |
"Scale the polygon by the specified factor "
center — self center.
vertices — vertices collect:
[ :pt | (pt - center) *factor + center]
translateBy: deltaXY | |
"Change the polygon's location by the specified amount (a Point] "
vertices — vertices collect: [.vertex | vertex + deltaXY]
"Draw an image of the polygon using the specified ink color.'
"lift the pen to disable drawing"
"position the pen at one vertex"
"select the ink color"
"lowei [he pen to enable drawing"
"for each vertex"
"tfiaw a straiyhi line to it"
the center of expansion"
geneiate new vertex list from old If st '
Table 2: Description and class template for class IrregularPolygon.
126 August 1981 © BYTE Publications Inc
Circle 4 on inquiry card.
AND STILL THE LEADING EDGE .
IN SYSTEM PERFORMANCE
Hard Disk and Streaming Tape
reliability and versatility that can't be beat
OEM CONTROLLERS
Multibus
General Purpose
IflDES
31 or62 MByte formatted • 10.5 or 32 MByte formatted
• Lowest cost/MByte from any manufacturer
i CP/M* compatible "drop in" BIOS
• Single S100 card controller
• Fully expandable up to fourdrives, 8" or 14"
• Reliable high performance Priam Winchester Disks
1 Immediate delivery
SYSTEM 8
8" Winchester 10 or 32 MByte formatted
Integrated streaming cartridge backup
Streaming backup at 5 MB/min
Selective file backup under CP/M
Versatile parallel I/O or DMA interface
HDES
■CP/M is a trademark of Digital Research Corp.
ADAPTIVE DATA & ENERGY SYSTEMS
2627 Pomona Boulevard • Pomona, CA 91768
Phone: (714) 694-6858
When you are done editing, pop up the active-pane
menu and issue the "compile" command (photo 14a).
Compilation takes a few seconds or less because it is in-
cremental—that is, you can compile one method at a
time. The compiler reports a syntax error to you by
inserting a message at the point where the error was
(14a)
r*:?ti>;: cuis
numbers'
•coUtfetions'
'tY«r iltspuiM
tt'indmus 1
panes arid menus 1
cornerAn^TT
! 180 - (/Sides)
LHSpiai^onri
Form
Half Ton»:
Half Toner
InviiHlarPoi'Mon
Poim
RvaaruiU: '
'- it t :• b U
CtossC
'inuial
'analy<
'dtspla*
'transf
'test in
again
copy
cut
paste
401 1
uridit
aiiiitt
rlu' inferior aruiu
(14c)
ay
ut menus'
ImquiarPolMnon
Poim;
W
t
F ogam
copy
GUI
£j pas re
doit
compile
undo
e intern
2£LJ
detected and automatically selecting that error message
(photo 14b). You can then cut out or overtype the
message, make the correction, and immediately reissue
the "compile" command.
If you start to revise a definition and change your mind
about it, you can pop up the pane menu and issue the
(14b)
rumus'
ty£ q ular Polygon
Point
Rccramil*? -
Mi-
'in
're
I
LT
"Answer x\\e interior (
a/sule'
xpresston exvecia
(14d)
pUtr
JH'S'
a Tut menus'
HiUf i nrut
'rTY«iuiarPolniion
Point
RccrarmU"
An^e ""Answer mKrii
180 - (360/Slites)
Photo 14: Options during method compilation.
6809 SYSTEMS (& 6809 SYSTEMS (^ 6809 SYSTEMS (^ 6809 SYSTEMS
Featuring the GIMIX mainframe with 30 amp C.V. terro-resonant power supply; fifteen 50 pin and eight 30 pin slot Mother Board:
2 Mhz CPU with time of day clock & battery back-up, 1K RAM, 6840 programmable timer, provisions for 951 1A or 9512 F ° r lurlher information, pricing and brochures, contact:
Arithmetic processors, anc 4 PROM/ROM/RAM sockets that can hold up to 32KB of monitor or user software. ^_^ ^^■■^^■■'^. m
VARIETY: you can have 32KB, 56KB. 128KB and up of static RAM You can use 5" and/or 8" disk drives, single or double /77\ ^^^l^^iM jfL lt~IC.
density, single or double sided, and single or double tracking with GIMIX disk controllers. You have a wide choice ol serial or I J ■■§■! I ll^^^k
parallel I/O cards. ^vT \ Th ' Com i""v ""' d, "™ ra
EXPANDABILITY: You can add memory, l/Os, Video or Graphics cards, Arithmetic processors, additional drive capacity, and other ^""^- Ouaiiti Electronic products since 1975.
hardware now or in the future to this SS50 bus structured system from GIMIX or other SS50 bus compatible manufacturers. 1337 WEST 37th PLACE, CHICAGO, IL 60609
SOFTWARE VERSATILITY: GIMIX systems can use TSC's FLEX or UNIFLEX and MICROWARE'S OS-9 operating systems. A wide (312) 927-5510 • TWX 910-221-4055
variety of software and languages is available for these systems.
QUALITY: All boards are assembled, burned-in, and tested and feature GOLD PLATED BUS CONNECTORS. Only top quality com- GIMIX " and SH0 * ^ *J [«9 |slere[i trademarks
ponents are used and all boards are fully buffered for maximum system expansion. All boards come complete with bus connectors
and all necessary instruction and documentation. Flex and Unillex are trademarks ol Technical Systems
GIMIX designs, manufactures and tests, in-house, their complete line of products. Complete systems are available to fit your Consultants Inc. 0S9 is a irademark of Microware inc. See
needs. Please contact the factory if you have any special requirements. Ineir ads ,or 01her GIMIX compatible software.
For GIMIX compatible software see Technical Systems Consultants ad page 183 and Microware ad page 112.
128 August 19B1 © BYTE Publications Inc
Circle 145 on inquiry card.
MULTIUSER
I
COMPUTER
DIM S- TOO BUS
DESIGNED TO
' A WIDE
APPLICATIONS.
STANDARD FEATURES
INCLUDE: l_. I — f I VI _
OPERATING SYSTEM, B4K
EXPANDABLE, BANKSE-
E MEMORY.4MHZ
Z80A CPU WITH 4 SERIAL
AND 3 PARALLEL PORTS,
RELIABLE B" FLOPPY DISK
DRIVES IN A STURDY ALL
METAL CABINET.
$49DD
MP/M OPTIONAL.
7343-J RONSON RD.SAN DIEGO, CA.
C7 141 57 1-637 1
We're 1 to the world
. H-
m
#
Por t
\BKt
\ \
\ \
\ *
\
■
■ >
For two good reasons.
More people fly on Pan Am from America to places
overseas than on any other airline.
Because Pan Am provides more of what demanding
travelers demand.
Comfort and convenience.
For example, take comfort. To the Pan Am passenger,
that may mean the unabashed luxury of First Class.
With its spacious cabin and Sleeperette seats.
(A Pan Am first, we might add.)
Or comfort could be Clipper® Class. Our separate
section especially for business travelers. In Clipper Class,
no one sits in the middle. No matter where in the world
one is flying.
Sleeperette service® and Clipper Class are available
on most of our widebodies. And we've got more wide-
bodies than any other airline.
But offering more widebodies is just the beginning
of our convenience story. For another chapter, consider
this:
Pan Am can take passengers from more of the
U.S. to more of the world than any other airline. From
25 U.S. cities to 47 cities around the world.
All with one ticket. One baggage check-in. On one
airline.
If all this isn't reason enough to get you to fly us,
we've got more coming. More ways to make your trip
even more comfortable. Even more convenient.
Because at Pan Am, we intend to keep on ±{\
giving you reasons for making us uiJftflW
your number one choice.
*q#S-
United States
Detroit
Ft. Lauderdale/
Hollywood
Fort Myers
Honolulu
Houston
Jacksonville
Las Vegas
Los Angeles
Melbourne
Miami
Mobile
Newark
New Orleans
New York
Norfolk
Orlando
Pensacola
Phoenix
San Diego
San Francisco
Sarasota / Bradenton
Seattle / Tacoma
Tampa/ St. Pete
Washington, DC.
West Palm Beach
Caribbean
San Juan
Central and South
America
Buenos Aires
Caracas
Guatemala City
Maracaibo
Mexico City
Montevideo
Panama City
Rio de Janeiro
San Jose
Santiago de Chile*
Sao Paulo
Euro pe
Berlin
Frankfurt
Hamburg
London
Munich
Nuremberg
Paris
Rome
Stuttgart
Warsaw
The Middle East
and Africa
Abidjan
Accra
Ankara
Bahrain
Dakar
Dhahran
Istanbul
Lagos
Monrovia
Nairobi
The Far East
and Pacific
Auckland
Bangkok
Beijing (Peking)
Bombay
Delhi
Guam
Hong Kong
Karachi
Manila
Melbourne
Osaka
Shanghai ^
Singapore fL
Sydney ^
Tokyo (h
* Subject to government
approval
"cancel" command (photo 14c). The "cancel" command
redisplays the last successfully compiled version of the
method (photo 14d). If you cancel by accident, just issue
the "undo" command to return the revised version.
Adding New Definitions
To add a new method definition, select a method
category. In the editing pane, a template appears for
defining a new method (photo 15a). The template
reminds you of the required syntax of a method.
(15a)
\_ IW_» ■_■» IL'V J IT I 1 1 li_' I V
Class Organization
'initialization 1
anaiusu
Form
Half Tone
HalfToner
Irregular Polygon, J 'display'
Point I ' transformation
Rectangle I' testing'
'private instance m
ime and Arguments Temporary variables
intent about the method"
Ok
cnts fc
(15b)
p fc< xr\£\ classes'
utspuyi-arm
lui: :4j- rmui
'numbers'
Form
QassOrtjarus
'collections'
Half i on*:
'inuialtzatiori
't». »r !
HalfToner
Inv'iuliiTPolM.irni
£jHi£33MH
Point
'transformati
'uanOouJS'
RectangU
'testing'
'panes <xr\A menus'
xzt&wiMsmwm
'prtwiK insr<
ms>
perimeter
again
"the sum of my side lengths"
copy
cut
T suits + self side-Length
paste
dott
ffiuETJ
urfl(o
i iiitJ 1 1
■ llMIi
(15c)
O oss*s|
mm classes'
numbers'
collections'
text'
textatspwy
wVnaaws'
panes and menus'
fees'
orm
Form
Half Tone-
HalfToner
IrreaularPoUMon
Point
Rictan*
lispwu'
trarisfbnruition
testing'
private instana
pmnwit | |
"me sum of mu side lengths"
T sides ♦ self stdeLenam
Use standard editing facilities to supply the message
pattern, variable list, and body of the method. When the
definition is ready, issue the "compile" command (photo
15b).
Once compilation succeeds, the selector of the new
method is automatically added to the alphabetized list in
the method pane, and the message pattern is automati-
cally changed to boldface in the editing pane (photo 15c).
A new class definition is added in an analogous
manner. Start by selecting a class category (photo 15d),
then fill in a template for defining a new class and com-
pile it (photo 15e). New categories can be added and old
categories can be renamed and reorganized.
Program Testing
Let us purposely add a bug to a method and see how it
can be tracked down and fixed.
Browse to the method cornerAngle in class Regular-
Polygon, cut out the characters "180 — " (photo 16a),
and recompile it. In the RegularPolygon work-space win-
dow, select the test program and issue the "do it" com-
mand (photo 16b). Instead of the desired triangle, an
open three-sided figure is drawn because of the bug in-
troduced into the angle calculation.
(15d)
'keffU'i classes*
'numbers'
'cottecr, ions'
■ text'
K n aispUiii'
'U'lTulOU'S'
'pones and menus
ties'
I
uibTjiayt-urm
Form
Half Tone
HalfToner
iTregutorPolygon
Point
Rectangle
ReflularPouMon
fjL'Kcr subclass: 'Name Of Class'
fields: 'instVarWame I insrVarName2
declare: ' class V'arNamel class V'arNar
sharma: "
care >ionj : ' tjrapntcal ob j ects '
comment: "'uivtaU a>:scri.pnon of itu
(15e)
'kernel classes
numbers'
collections'
text'
text display
ii'irulou's'
partes and menus'
flics'
i|Form
Form
Half Tone
HalfToner
IrregulnrPolygori
Point
Rectangle
Regular'Polyaon
Object subclass: 'Circle
fields: 'center radius plotter
declare: "
sharing: "
category: 'graphical objects'
comment: 'A circle is described by us (center) and (radtu<
It is drawn by (plotter), a pen'
Photo 15: Adding new definitions in Smalltalk.
132 August 1981 © BYTE Publications Inc
C#Pkscal
Efficiency^rortability
Flexibility»Strong Typing
Now you don't have to compromise!
Whitesmiths Ltd. now offers portable language development systems for four
families of computers. Approximately one thousand installations use our
software.
We support complete versions of both C and Pascal, as compilers and cross-
compilers. You get C automatically when you license Pascal, and you get
native support with each cross-compiler. Test the software on your VAX
before burning PROMs for your 68000 or 8080.
Whitesmiths Ltd. offers a variety of licensing arrangements, the simplest
being a binary license for use on a single CPU. The full source code is avail-
able with internal documentation. Maintenance, training and sublicensing
rights may also be obtained.
Call or write for more information.
Source
Operating
Systems
8080 /Z80
Target It
LSI-11 /PDP-11
lachines
VAX-11
M68000
B080/Z80
CP/M
C: $750
Pascal: $950
*
*
#
LSI-11/ PDP-11:
Idris, Unix, RT11,
RSX-ll/M,
RSTS/E, IAS
C: $1350
Pascal: $1550
C: $750
Pascal: $950
*
C: $1350
Pascal: $1550
VAX-11
Unix/V32
VMS
C: $1350
Pascal: $1550
*
C: $750
Pascal: $950
C: $1350
Pascal: $1550
M68000
VERSAdos
#
*
*
C: $750
Pascal: $950
^ |^
Idris is a trademark of Whitesmiths, Ltd. ■ Unix is a trademark of Bell Laboratories ■ CP/M is a trademark of Digital Research Company ■ VMS,
RSX-ll/M, RSTS/E, LSI-11, VAX, are trademarks of Digital Equipment Corporation ■ VERSAdos is a trademark of Motorola Corporation
Protect .your software * Special ° rder
-\\r r1 investment ♦ j j 1
W mtesmiths, Ltd
EO. Box 1132 Ansonia Station New York, N.Y. 10023 (212) 799-1200 Telex 645 592
Distributors: Australia Japan United Kingdom
Fawnray Pty Ltd. Advance Industries Real Time Systems
Brighton-Le-Sands Chiyoda-ku.Tokvo Newcastle upon Tyne
522 5574 03-258-0839 0632 733131
Breakpoints
To track down the bug, let us set a breakpoint in the
method cornerAngle. Using standard editing facilities,
add the statement:
self notify: 'about to calculate angle'.
before the return statement (photo 16c). Now rerun the
(16a)
rfeemei classed
•numbers'
I' collections '
'text 1
rexr display
•windows'
'panes and menus
■fugs'
comerA
T
uispiuyruTin
Form
Half Tone
Half Toner
IrregtuarPolygon
Potnr
Recta ngle
'Answer me inter
(360/sides)
(16b)
Re gularPoUjoo n
fTlwDtfespawB
23.
•tubular triangle" i
triangle «■ RequtarPoUjoon sides: 3 radius: so.
triangle trajnstateBtj: -90 (a) 60.
mangle pioj: Dtacfe."
triangle translateBy: 16S (a> 20.
triangle seal*: 0.6. '
mancte plot: arau.
;•
(16c)
dosses
o
icnu'i .."liases 1
rvumtoers'
collections'
text'
text cusptay 1
Vt'UlitOH'S'
panes ana" menus'
■WW— ^ IIII J WW^W^WWWW
p | m m i i i i " l ' '
DlSpUMrOTTTi
nfnSn s 5Ef&
Wmug* \
self notify : 'a
Form
Halftone
Half Ton.; r
iTTecjularPolygon
Ponit
Rectanate
____J_g
Ansu'i'i" the wuenora
3assDef initio
ClasbOraatiiza
'initialization
'an alysis '
MlSp
'tra
if notific 'about to calculate angle'
T (360/SlOes)
test case. When the computer encounters the breakpoint,
a new window appears in midscreen. It is called a "notify
window" (photo 16d). The title tab of the notify window
says "about to calculate angle".
The notify window has one pane, the stack pane. It
shows RegularPolygon>> cornerAngle (ie: the class and
method in which the breakpoint was encountered). The
pop-up menu of that pane offers several commands, in-
cluding "stack" and "proceed" (photo 16e).
The "proceed" command closes the notify window and
continues execution from the breakpoint. If we issue a
"proceed" in our example, the same breakpoint will be
encountered again immediately because the cornerAngle
method is used several times during the execution of the
test program.
What a Notify Window Can Display
The "stack" command expands the contents of the pane
to include messages that have been sent, but have not yet
received replies (photo 17a). It reveals that the sender of
the message cornerAngle was RegularPolygon>>plot:.
The pop-up menu of the notify window offers the usual
repertoire, including the "close" and "frame" commands
(photo 17b). If "close" were issued, the notify window
would disappear from the screen and execution of the
Text continued on page 138
(16d)
tms oass
umbers'
jUecttons'
r»t'
mptiwai. obi#cfS'
»t ili-pliiM 1
'initou'i'
hi.-: and menus'
lies'
about to calculate anale I
RegutarPolygon come rAngU
iifi otwr
iTTOHiUrPohHon
Point
Rectangle
Pt^ularMtiawi
ii!\i1i.1)5tc.'
AlSpWM'
transformation'
testing'
prtttfwe instant tm\
mer Angle f ~ "ftnsivei trie interioi angle of ant| vtfu
self notify: 'about to calculate angle'.
t 060/ sides)
eotrv.
(16e)
about do calculate awfe
ReauiarPolugon ; >com gf'Ang|e
jtacE!
Fom
Half
Half
Inv,-
Poira
Rectangle
RcaiilafPolij^on.
rmrrmmn
Tttsparg
'transforrnattrm'
'testing 1
'private install** mw
_
cm&r
si4t"U"i
" * ,:.-, i , ■«■ <>-..- iv.f.-n.-.f ,1V, ll.- ,-,»' ,1V, 11 i,-tf, i 1)
Photo 16: Creating a faulty method for purposes of illustration.
134 August 1981 © BYTE Publications Inc
Circle 154 on inquiry card.
With the Hayes direct-connect
warranty. That's another reason
Micromodem II™ your Apple II can why it's the largest selling direct-
communicate by phone with the connect modem for Apple 1 1
outside world. You can access in-
formation networks like
The Source for a variety
of business and personal
applications, exchange
programs with friends mic
anywhere in North ^^t^ssF
America, and
even use your
you re away
from your home
Or office.
Dependable. The
Micromodem II is so dependable
it comes with a two-year limited
ssin- computers.
Programmable.
Automatic dialing
and answering?
. j Of course! We in-
nn prPj^~ Upler elude programs on
— qH-boqi. ( diskthatdial phone
i numbers for you,
messages while you're
away, and much more!
Complete. You
f get everything
you need to com-
municate with other Bell
dable 1 03 compatible modems at 1 1
nited or 300 baud. The serial interface
is built-in, and we even include our
FCC-approved Microcoupler™
that plugs directly into any modu-
lar telephone jack in the U.S. -
you don't even need the phone!
S-100, too. The Hayes
Micromodem 100 gives S-100
microcomputers all the advan-
tages of our Micromodem II!
Put the outside world inside
your computer with a data com-
munications system from Hayes.
Available at computer stores na-
tionwide—call
or write for the
location near-
est you. And
don't settle for anything less
than Hayes.
The Hayes Micromodem II
opens up your Apple Ilto tl
iMiiliWW
Hayes Microcomputer Products Inc.
5835 Peachtree Corners East, Norcross. Georgia 30092 (404) 449-8791
Micromodem II, Micromodem 100 and Microcoupler are trademarks ol Hayes Microcomputer Products Inc.
* TM Apple Computer Inc. Micromodem II can also be used with the Bell & Howell computer, (g 1 981 Hayes Microcomputer Products Inc.
&
f%>
m
EPSON MX-80
Now in stock!
TheMX-SO dot matrix printer.
Unequalled Epson reliability. Has
all the features ot the MX-70 plus
more power and extra functions.
CALL US
C-ITOH STARWRITER: LETTER
QUALITY PRINTING FOR UNDER
$2000!/This daisywheel printer
gives high quality at a low price.
25 cps. Parallel and serial inter-
faces available. CALL
NEC SPINWRITER FROM THE
FIRST NAME IN LETTER QUALITY
PRINTERS/Compumart offers
beautiful print quality with NEC
Spinwriter Terminals. We carry all
models from RO THRU KSR WITH
NUMERIC KEYPAD-5510-5530. All
versions give unsurpassed hard
copy output! CALL FOR PRICES
NEW INTEGRAL DATA'S 560
PRINTER/ All the exciting features
of the 400 series plus 141/2" paper
capacity. 132 col. graphics printer.
IDS 445. Priced lower than the 440
and equipped with a better print
head. With & w/o graphics.
IDS 460. Features include corre-
spondence quality printing, high
resolution graphics.
CALL FOR PRICES
/
cjV
4&?
CENTRONICS PRINTERS
3 SERIAL MODEL 737
The closest thing to letter quality
print for under S1000.
List S1045 SPECIAL $795.
737-1 Parallel Interface
List S995 SALE PRICE $695.
PLUS EXCITING REBATE OFFER
ON CENTRONICS PRINTERS.
OMNI 810 PRINTER FROM TEXAS
INSTRUMENTS CALLUS
The 820 RO PACKAGE includes
machine mounted paper tray and
cable. A compressed print option
and device forms control are
standard features.
THE 820 KSR PACKAGE includes
fully ASCII Keyboard plus all of the
features of the RO.
CALL FOR PRICES
CLEARANCE ZENITH COLOR
VIDEO MONITOR $349.
SUPER SELLING TERMINALS FROM
LEAR SIGLER/We have the follow-
ing Lear Siegler terminals in stock
at prices too low to print! Call for
quotes.
ADM-3 A/Industry's favorite dumb
terminal for some very smart
reasons/
ADM-3A + NEW from Lear Siegler.
CALL!
IT IS HERE! It is the new Intermedi-
ate Terminal from Lear Siegler.
CALL FOR DETAILS
SANYO MONITORS AT LOW COM-
PUMART PRICES/Sanyo's new line
of CRT data display monitors are
designed for the display of alpha-
numeric or graphic data.
9"SANYOB/W $169.
12" SANYO B/W CALL
12" SANYO W/
GREEN SCREEN CALL
1 3" SANYO COLOR CALL
NEC COLOR MONITOR/RECEIVER
HIGH RESOLUTION/
Composite video using BNC con-
nectors, 8-Pin connector for VCR/
VTR video loop In/ Out and
television reception. CALLUS!
Visit our giant
ANN ARBOR STORE
1250 North Main Street
Ann Arbor, Michigan
FREE CATALOGS
MICRO
Our complete
line of micro-
computers,
accessories
and
peripherals.
DEC LSI-H
Systems config-
ured and
integrated
with other
manufacturers
compatibles.
HP-41C CALCULATORS
MEMORY MODULES for storing
programs of up to 2000 lines of
program memory.
"EXTRA SMART" CARD READER.
Records programs and data back
onto blank magcards.
THE PRINTER. Upper and lower
case. High resolution plotting. Port-
able thermal operation.
APPLICATION MODULES
CALL FOR PRICES ON ALL
NEW SUPER 41-CV SYSTEMS with
Quad RAMS built-in. Maximum
memory on-board leaves slots
open for Application Pacs and
peripherals.
+ CARD READER
+ CARD READER -I- PRINTER
QUAD RAMS equivalent to four
Memory Modules all packed
into one. CALL ON ALL
MATROX PRODUCTS/Compumart
stocks the complete line.
CALL ON SPECS
DEC LSl-11/Compumart now
offers the entire product line.
CALL FOR PRICES AND DELIVERY
NOVATION CAT ACOUSTIC
MODEM Answer Originate. CALL
NEW! D-CAT Direct Connect
Modem from Novation. CALL
NEW! GILTRONIX RS 232 SWITCH/
The ultimate in flexibility. You can
connect three peripherals to one
computer or three computers to
one peripheral. Switches the eigh!
most important RS 232 signals.
CALL ON PRICE
DYSAN DISKETTES/Single side,
single density. Hard or Soft Sector
$5. ea.
MEMOREX 3401's/51/4 disks $3.25.
/with hub ring for Apple $3.50.
MEMORY INTEGRATED CIRCUITS/
Call for quantity discounts when
ordering over 50 units. CALL
MOTOROLA 4116 (200 Nano-
second Plastic) $4.50
RM EXPANSION ACCESSORIES
FOR AIM -
CALL SPECS AND PRICES
APPLE m IS IN STOCK/Applo HI
Information Analyst Package—
128K Apple III, Black and White
Monitor 12", and information ana-
lyst software. CALL
TOP SOFTWARE PACKAGES FROM
COMPUMART
VISICALC/FOR APPLE/FOR HP/
FOR COMMODORE/FOR ATARI
SOFTWARE FROM APPLE/ Apple
Plot (the perfect graphic comple-
ment for Visicalc/Dow Jones News
8( Quotes/ Apple Fortrom/ Apple
Writer/Pascal Language System/
Controller Business System CALL
PERSONAL SOFTWARE/Visidex/
VisiTrend/VisiPlot/VisiTerm CALL
MUSE/Super Text CALL
MOUNTAIN COMPUTER/
Expansion accessories for Apple/
Super Talker/The Music System/
ROM plus board with Keyboard
filter/ROM Writer/Clock Calen-
dar/ AtoD and D to A Converter/
Clock for Apple/ CPS Multifunction
Board CALL
VIDEX/Video Term (80 col. x 24
line, 7x9 Matrix plug in compati-
ble board for Apple II) w/wo
graphics EPROM/SSM Serial &
Parallel, Apple Interface/ ABT's
Numeric Key Plan/California
Microcomputer Keyboard CALL
*t* v
VIC 2 PERSONAL COMPUTER
FROM COMMODORE
$299.
Send for them!
IMPORTANT ORDERING INFORMATION
CALL 8CO 343-5504, in Massachusetts: (617) 491-2700, phones open
from 830 am. lo 7CO p.m. Mon-Fh 1LOO a.m. to 4:CO p.m. Sat.
PO's, Accepted from Dun & Bradstreet rated companies— shipment
contingent upon receipts of signed purchase order.
SALE PRICES, Valid for month of magazine date only— all prices sub
jecl to change without notice. Our Ann Arbor retail store is open
llOO a.m. to 7QO p.m. Tues-Fri, lOOO a.m. to &00 p.m. on Saturdays
*
$1895. $4695. $4249.
$795.
f3*
SAVE OVER $200 ON OUR BEST
SELLING APPLE SYSTEM/ System
includes a 48K Apple II, Apple
Disk. DOS 3.3 and Controller and a
Sup R MOD RF Modulator.
List S2209.
EXCLUSIVE FOR THE APPLE:
Magic Wand, Videx, Z-80 sottcard
(Requires 48K Apple and disk).
COMPLETE SYSTEM $925.
APPLE ACCESSORIES
CHOOSE FROM: Silentype Printer
w/x (ace/Light Pen/Easy Writer
(80 col. need a Videx )/C lock for
Apple.
FROM MICROSOFT: 16K RAM
Board/FORTRAN.
FROM COMPUTER STATION:
Hi-Res Dump for 460 Printer.
CRISP LETTER QUALITY OUTPUT
UNSURPASSED EASE OF
OPERATION
This Compumart/Commodore
system includes a COMMODORE.
8032 32K CPU, a 4040 DUAL DISK,
a C-ITOH PRINTER and x/iace and
WOEDCRAFT80 (all cables in-
cluded). List $5385.
CALL FOR DETAILS AND
LOW PRICES
A COMPLETE SYSTEM: includes
a DUAL DISK DRIVE/TRACTOR
PRINTER and an 80 COLUMN
32K CPU. No interfaces needed,
Cables included. List $3685.
COMPUMART $3335.
SAVE $200 ON COMMODORE
ACCESSORIES WITH PURCHASE
OFA32K PET-SAVE $100 WITH A
16K PET.
CHOOSE FROM:
Visicalc/Word Pro 4/Wordcralt 80/ |
Ozz the Information Wizzard/
Dow Jones Portfolio Mgmt System/
Assembler Development Package.
This Basic System from Hewlett-
Packard includes HP-83/ROM
DRAWER/MASS STORAGE ROM/
51/4" SINGLE MASTER FLEXIBLE
DISK DRIVE/HP-IB INTERFACE
MODULE/2 METER HP-IB CABLE.
SAVE $400 ON HP-85 SERIES AC-
CESSORIES WITH THE PURCHASE
OF AN HP-85.
CHOOSE FROM: PERIPHERALS;
Disk Drives to Graphics Plotters
ENHANCEMENTS; Basic Training/
General Statistics/Financial Deci-
sion/Math/Linear Programming
(SV5 EA.) ACCESSORIES; Enhance-
ment ROM's/ ROM drawer/Over-
head Transparency Kit SUPPLIES;
Plotter Pens/Tape Cartridges
INTERFACE MODULES; HP- IB Inter-
connect Cables/Serial (RS-232C)
Interface Module.
FROM ROCKWELL
Our AIM Starter System for Educa-
tional 8c Laboratory use includes
4K AIM/BASIC 8c ROM/ASSEMBLER
8c ROM/POWER SUPPLY EG1 EN-
CLOSURE/CRAIG TAPE RECORDER.
ACCESSORIES FOR AIM STARTER:
PL 65 High Level Language/Paper
for the Aim ( roll)/ Rockwell's 4 slot
Motherboard/
CALL
WE ALSO CARRY RM EXPANSION
ACCESSORIES FOR THE AIM-65.
CALL FOR SPECS AND PRICES
OUR APPLE INVENTORY IS COM-
PLETE. WE'VE GOT IT ALL-
CALL US FOR PRICES
■
WE CARRY EVERY PERIPHERAL
MADE FOR THE HP-85.
CALL US FOR PRICES
800-343-5504
Systems
IN MASS CALL 617-491-2700
COMPUMART
65 Bent Street, Dept 108
PO Box 568, Cambridge, MA 02139
From THE LEADER . . .
We just might be the largest independent small systems dealer in the country. Here's why:
COMPUMART has been serving the computer needs ot industry since 1971.
We stock, tor immediate shipment, only those products from the finest micro-computer
manufacturers.
And any product, except software, can be returned within 10 days for a full refund— even
if you just change your mind. We also honor all manufacturers' warranties. Our expert
technicians will service any product we sell
Call us for more information on products, product configuration and service. Our phones
are open Monday thru Friday, 8:30 a.m. to 7:00 p.m. and Saturday UOO am to 400 p.m.
We have a staff of highly knowledgeable sales people waiting to hear from you, and
to help. Because service is what we're all about.
Circle 62 on Inquiry card.
Slack
Pane
Method ^^
Variable
Pane
Nk Instance
Variable
Pane
->
Editing
Pane
Method
Value
Pane
->
Instance
Value
Pane
Figure 5: Principal dependencies among panes of a notify
window.
Text continued from page 134:
program under test would be aborted. Let us issue the
"frame" command instead. The notify window grows
larger and acquires a total of six panes (photo 17c). Their
interdependencies are diagrammed in figure 5.
The upper left pane is the stack pane retained from
before. The upper right pane is an editing pane. If you
select RegularPolygon >> plot: in the stack pane, its
method definition appears in the editing pane. You can
scroll through the definition and even edit it there and
recompile as in the browser.
The middle two panes are the "context variable" and
"context value" panes. They are analogous to the two
panes of an inspect window, but, in this case, the
variables you can examine are the arguments and local
variables of the method selected in the stack pane. Click
ink in the variable pane to see its value in the value pane.
The bottom two panes are the "instance variable" and
"instance value" panes. They also are analogous to the
panes of an inspect window. They let you examine the in-
stance variables of the receiver of the message selected in
the stack pane. Click center to see its value appear in the
value pane.
You can type statements into the value panes and
execute them using "do it" (photo 17d). They will be
executed in the context of the method selected in the stack
pane — that is, they may refer to arguments and local
variables of the method and to instance variables.
Debugging
You could step through the execution of the method in
the editing pane. You would select one statement at a
time in the editing pane and issue the "do it" command.
To close in on the planted bug, we can evaluate self
comerAngle, an expression on the last line of the method.
Select that expression and issue the "do it" command
(photo 18a). The answer, 1 20, appears to the right of the
question (photo 18b). Since the interior angle of a regular
(17a)
(17b)
about to calculate anale
ReaularPolugon ►comerAnale^^^
RoiularPoliVion plot: ES5B
im'4>:jtn>;.lut"'Ka DOIT pa^'n
L A D c ompile t .: palliated proo; ed |
CodePane execute :truto restart
m
Forr
half
Half
I'-TV.fiU/lTH.lUHlJ'.
Potnt
Recta ngU
•nv-^vm
'transformation'
'testing'
'ptlvw trtstsfflig? m*-!
smart
jiaeLeri
Ah-;.U'.:T ili> mi' mot aug. of arm why«. v\ (£q
(17c)
r~
1 about to caicul&U <Hl£*£
H
PequIarPoltjqoR> >corner Angte
Una3trLeaODject>>DOTr^
L A DCompiier> >e wUuate :in:t
Code Pane > >execute :tn:to :
Code Pane > >execwe :f or:
CodeParu>>>dott
Coi'tePane>>yellou't>ug it
Code-Patie>>eacrii:vnv; *
spwifiM ink ccior,*
plotter penup. *lifr rti
plotter goto: self center
plotter up. "fa™ t
plotter go: radius, "pi
plotter turn: 180 - (self
Tut
plotter color: ink. "»*
plotter pendn. "Ion
litis Context
a HalfTon/?|
self
'Slit>;i'
■t-.i-liiic' ^^^^^
205 (a' 34 S|
about to calculate axuje
R.: i.qi UarPoii >aon > ; corneiT mder
ReauiarPoUwon -plot:
1 1 nil left m (t ub j >.' c t > > D O I
l a d l ompiU" r e paiuat
CoaePane execute nn:
m
Forr
Half
Half
iTT.;.iru7rrFonTprr
Point
P.vtan.iU'
RfauiarPoitjfjoii
mspsg
transformation'
testing'
1 priviw immrvct- m<M
"Ansu'ir it'u" interior anal.; of arm verw?, in 3e<
(17d)
pujiu.! uuii: it>u
plotter colo
plotter peru
>enier*radvAk
a 1 34 8
comppu
unao
cancel
align
Photo 17: Use of the "notify" window.
138 August 1981 © BYTE Publications Inc
MEMORY
Blackout!
A PROBLEM FOR YOUR PRESENT RAM?
isuu i vui9C uic ucii micss. Get Olir
non-volatile memory and watch
elephants turn green with envy!
Are you looking for a reliable non-volatile memory on a rugged industrial-
standard IEEE-696 S-100card?Yoursearch is over. Our CMOS memory modules
have a battery backup that is guaranteed to keep programs and data intact
for a year. We didn't sacrifice performance ^m
for non-volatility in the design of our GVIEM .^R
module, so you get all the card you're
looking for . . . we even supply the battery.
□ 32K on a single board. 8 or 16-bit cpu compatible.
□ Switch selectable addressing on 4K boundaries.
□ Extended memory addressing through 24-bit lines.
□ 250 nanosec access time, no wait states required.
□ Runs at 4 MHz for both 8 and 16-bit S-IOO systems.
Q Programs developed 8. stored w/out disks or tapes.
D Power fail interrupts.
□ Software programmable write-protect window.
□ 8K bytes-$695, 16K bytes-$895, 32K bytes-$l095.
The DUAL 77 Data Acquisition and Control System
is a turnkey system built to industrial standards
and it comes ready to perform. As with all our
systems and modules, our computer was designed
with the wicked environment of the real world in mind.
BASIC language makes programming easy and the
built-in interface simplifies access to hundreds of
sensors. The enormous expandability of the system
allows its growth to meet your increasing needs,
even if you enjoy learning new languages. The DUAL
77 is economical; $9995 or higher with options.
DUAL SYSTEMS CONTROL CORPORATION
1825 Eastshore Highway, Berkeley, CA 94710
Phone (415) 549-3854 or (415) 549-3890
A/D CONVERTER
This S-100 based module is designed to withstand the rugged
environment of the laboratory or in industry for general use
in converting analog signals to digital information.
□ 32-channel single-ended, 16-channel differential.
□ 12-bit resolution and accuracy.
□ 30-microsecond conversion time.
□ Instrumentation amplifier on board.
D BASIC program for use provided.
□ $695 or $785 w/1-1000 gain transducer amplifier.
D/A CONVERTER
The AOM-12 analog output module is an industrial level
digital-to-analog (D/A) converter which converts digital
commands from the computer into analog voltages.
□ 12-bit ±'/i L.S.B accuracy over full 0-70°C temperature range.
D Voltage outputs of 0-10 volts, ±5 volts, or ±10 volts.
□ Short circuit protection on all voltage outputs.
□ Switch-programmable port base address for multiple boards.
D$575
NON-STOP CLOCK
Now you can keep time even with the main power off. Our
industrial level clock module utilizes a backup battery
circuit for a full year.
□ Day, date, hours, minutes and seconds.
□ Features new LSI CMOS chip.
□ Vectored interrupt capability.
□ Dip switch selectable port address.
□ Simple BASIC or Assembly language program.
□ Precision quartz crystal clock. □ $250
Dual Systems Control Corporation
Department B, 1825 Eastshore Highway
Berkeley, CA 94710 • (415) 549-3854
□ Please send your brochure with complete details on modules.
□ Please provide information on the DUAL 77 System.
Name
Title
Company
Street
City
State
Zip
DEALER AND OEM INQUIRIES INVITED
Circle 122 on inquiry card.
(18a)
^S
Jffljffl an image of me p of r,
aqam hfor/
ten copti "tf/r *fap «?n ra iftatfte
cer cut f center. ''pasjntfn rto p*
ter p aste " /to? fft£ Top of The sen
'"- rjHB&B m^' " pC'f-ff k"'.u i^f i? kT'.rTu
" TUffi- TO f\JCv \kGVuf &
ten
ter
undo
cancel
align
SeteCT To*'- //j« t-LUtir
x U$W£f The pen TO I'Tii
aaius
10250® 17400
(lsbT
■ Draw iwi. ijrrj4?*^ of me prt r^on. ms
ik color"
ap. •Wi/r rfit? pen to d^iitie drawiru
: self center, ''position, The pen. cenu
" face the top Of The screen*
radius, "position aT a come r*
i: ISO - (self coTTierAn4eH3S/2).
" Turn to face along*} suit"
r: ink. "selecT The ink colon-
ctn. "lower The pen to enat4e
10250® 17400
(18c)
to cagmag atiqw i
uaon»f„.
lndeftnedobjea>>DOIT \
D ' . omptU r> Hvaluaa an :t f.
:o u Pane > ■•*." xecutenhrto:
;ocU P.in»: ■->:«>:aiK:for:
1». Patu »ctoit
:o..t>: Pan* > >yeUou4m«)
xU P'iTu; >eachtime
:4>: Pan.; ! Object > startup
Icomer An^e | f "An?..u'.: t
i>erax, in degrees"
self notify: 'about to cab
T (360/sides)
^.>luliirPol'>.iort com* t Aruil.;
(18d)
about to calculate angle
►; guiarPCMgpn > >ptor:_
U ndef ine a Ob j c c t > : D 1 7
LADCompUer>>ei>alua«
Code Parte > >c ace \ ire anxc
Code Pane > > e* e cut*: :f or
CodePane) ►doit
Code Pane > yeUowbug
Code Pane >eacntime
__ _
i .I,
comer,
.-, ' ';v"t «. in degrees"
a 5 ai ? M80 -1360/S
:opu
«:ur
paste
doit
Photo 18: Debugging a faulty method.
140 August 1981 © BYTE Publications Inc
triangle is 60 degrees, we have found the planted bug.
Now select RegularPolygon>>comerAngle in the stack
pane. Its method definition, including the breakpoint we
set, appears in the editing pane (photo 18c). Use standard
editing to remove the breakpoint, correct the error, and
recompile the editing pane (photo 18d).
You can randomly access any level in the stack by
clicking it in the stack pane.
Resumption
After recompiling a method, you can resume execution
from the beginning of any method on the stack using the
"restart" command in the stack-pane menu (photo 19a).
This lets the test proceed (photo 19b) without having to
start over from the work-space window. Resumption of
execution after a correction is a handy capability when a
program that has been running well encounters a minor
bug.
The entire stack of the process under test was saved in
the notify window. When a notify window appears, the
rest of the system is not preempted. You are not required
to deal with the notify window when it appears. You can
(19a)
aDoux to calculate angun
tor:
eguiarr , oiyqon>>p
ltodeftned£»je<tf> >DuiT
LADLompUjCT". HvcAxuaejxxi
CodePane »executi
CodePane >>execu»
CodePane>>doit
Code Pane : tKliou't
CodePane»eacntii i
stack
spawn
QtXX
vertex, m degrees"
t 180-peo/sv
iiuiarPolq.ion Ton
(19b)
F"nf|wMitspqct
Photo 19: Compilation of a faulty method can be continued
without restarting, once the error has been corrected.
Circle 284 on inquiry card. »
New Products From Orange Micro
Mix APPLES and ORANGES?
... And you get GRAPHICS!
\0*
THE GRAPPLER™
FROM ORANGE MICRO
Apple Interface
and Cable
The Grappler™ Interface is the first universal parallel interface card to
provide on-board firmware for Apple high resolution dot graphics. No
longer does the user need to load clumsy software routines to dump
screen graphic - it's all in a chip. Actually, it's our E-PROM, and there are
versions to accommodate the Anadex, Epson MX80 & MX70, IDS Paper
Tigers, Centronics 739, and future graphics printers. The Grappler™
accepts 18 software commands including Hi-Res inverse, 90 ° rotation,
double size, and much more.
GRAPPLER INTERFACE FEATURES
TEXT FEATURES:
Printer Bell on/off
High Bit on/off
Left Margin
Right Margin
Var. Line Length
Var. Page Length (skip over perf.)
Video on/off
Alternate Command Chars.
Text Screen Dump
Hi-RES GRAPHICS FEATURES:
Print Hi-Res Page 1 or 2
Print Inverse
Rotate Picture 90 °
Single/Double Size
Variable Left Margin
Chart Recorder Mode
$ 165.°°
Includes Cable
Dealer/Distributor
Inquiries Invited
MX80/MX70 FRICTION FEED
FROM ORANGE MICRO
HERE AT LAST! A friction feed kit for your EPSON MX80/70. The kit
allows the user to convert his Epson printer to a friction feed and pin
feed mechanism.
The friction feed will accept single sheets of your letterhead, or
multiple copy forms such as invoices with up to 4 part carbon
copies.
The pin feed replaces the adjustable sprocket mechanism. It allows
use of 9V2" wide continuous fanfold paper which is an industry
standard size.
No drilling required. Installation takes about 15 minutes. All parts are
included with easy to follow instructions.
S 75i OO
Dealer/ Distributor
Inquiries Invited
CALL FOR FREE CATALOG
(800) 854-8275
CA,AK, HI (714) 630-3322
1981 Orange Micro, Inc.
RETAIL PRINTER STORES:
3150 E. La Palma. #l, Anaheim, CA.
13604 Ventura Bl., Sherman Oaks, CA.
Store Hours: M-F 10-6 Sat. 10-4
^S
Phone orders WELCOME; same
day shipment. Free use ol VISA &
MASTERCARD. Personal checks
require 2 weeks to clear. Manu-
facturer's warranty included on all
equipment. Prices subject to
revision.
Oronge
fllfCfO, Inc.
3150 E. La Palma, Suite I
Anaheim, CA 92806
work in other windows and come back to it later, cause
other notify windows to be created, or work a little in the
notify window and then do something else. There are no
modes.
Error Notifications
Error messages are no different from breakpoints, ex-
(20a)
•• instance met
.••V /»".-MV ^W/'if /MV
I one of tin equal sitfe;
sToRaaians
(20b)
Uization 1
au'
^formation'
rw 1
ite instance met
322EjEEflBII
paste
m one o : mi equal si doit
ees
s To Radians cosine
urul^t
cancel
aUan
(20c)
Message not understood: cosine |
• MW ^MVW
Float ( Ob j ect ) > >does Nor Understand
V*VW JVrtV .WW rtVW AW AWV rtWV
nu/iTPuivj.jUfr
'fmncfht-r riiirinri'
Photo 20: Displaying an error in a faulty method.
142 August 1981 © BYTE Publications Inc
cept that if they are supposed to be "unrecoverable" they
are programmed as:
self error: 'error whatever'.
If the user "proceeds" out of the notify window after an
error, the process under test is terminated.
The most frequently encountered Smalltalk error is
"Message not understood." It occurs when a method is
sent to an object and neither that object's class nor any of
its superclasses defines a method to receive that message.
Let us edit the method sideLength (photo 20a) to send the
message cosine instead of cos. After recompiling that
method (photo 20b) and reexecuting the test program, a
notify window appears (photo 20c) to announce that
class Real and its superclasses do not define cosine.
In most programming systems, equivalent error condi-
tions such as "undeclared procedure" and "wrong
number of arguments" are issued at compile time.
Smalltalk cannot detect these conditions until run time
because variables are not declared as to type. At run
time, the object sent the message cosine could be an in-
stance of a class that did define a method of that name.
Type Checking
When we program in languages like Pascal, we depend
on type checking to catch procedure-call errors early in
the software-development process. In return, we have to
take extra time maintaining type declarations, and we
lose the very powerful ability to define "generic" or
"polymorphic" procedures with the same name but with
parameters of varying types.
Type checking is important in most systems for four
reasons, none of which is very important in Smalltalk:
• Without type checking, a program in most languages
can "crash" in mysterious ways at run time. Even with
type checking, most programming systems can crash due
to uninitialized variables, dangling references, etc.
Languages with this feature are sometimes called
"unsafe." Examples of unsafe languages are Pascal, PL/1,
and C. Examples of fairly safe languages are BASIC and
LISP. Smalltalk is a safe language. It cannot be wiped out
by normal programming. In particular, it never crashes
when there are "type mismatches." It just reports a
"Message not understood" error and helps the program-
mer quickly find and fix the problem through the notify
window.
• In most systems, the edit-compile-debug cycle is so
tedious that early error detection is indispensable. In
Smalltalk, type errors are found early in testing, along
with value-range errors and other bugs.
• Type declarations help to document programs. This is
true, but well-chosen variable names and pertinent com-
ments provide more specific information than do type
declarations. A poor documenter can convey as little in-
formation in a strongly typed program as in an untyped
program.
This
Single
Boar '
m.
::tS£y§ir;; : ;
■
m'
..is the Heart
of the
roprocessor
World's
est Multi-User
System...
mmem/mr/
w \i=,ir\
MULTIPROCESSOR
,*'.:.#
!_-■■■
'./'>•
E DISCOVERY MULTIPROCESSOR
The dedicated power of this complete single board computer is provided to
each user, making the DISCOVERY MULTIPROCESSOR unique among
multi- user systems. With the power and expandability of distributed process-
ing • With the economy of shared peripherals • With the flexibility of shared
and public files • And all of this with full CP/M* and S-100 compatibility.
Multiprocessing Software Multiprocessing Hardware
Our Distributed Processing Oper-
ating System, dpc/os®, resides in
the Service Processor, establishing a
CP/M environment for each user
and managing access to the shared
system resources. Multiuser facilities
are provided for print spooling, for
interprocessor communication and
for private, public and shared- update
files. Several processors can be em-
ployed concurrently by a single user
via the enhanced batch submit facil-
ities. And with DISCOVERY all
CP/M compatible programs will
execute without modification, thus
protecting your software investment
The ACE 64 K Distributed Process-
ing Single Board Computer, the
dpc-180 gives the DISCOVERY
MULTIPROCESSOR its own unique
architecture. One DPC is dedicated
to each user providing exclusive use
of the onboard Z-80. 64Kram and
serial I/O. Access to the shared
resources is provided by an ex-
panded DPC used as a Service
Processor. Additional users can be
added at any time by simply inserting
additional DPCs.into the standard
S-100 bus — up to a total of sixteen
user processors in a single chassis !
CP/M is a registered TM of Digital Research, Inc.
DISCOVERY has been proven in installations throughout the World.
If you need the Power of Multiprocessing... it's time you discovered us!
The ACE DISCOVERY MULTIPROCESSOR dedi-
cates a complete 64K Z-80 Distributed Processing single
board Computer, the dpc-180 to each user. An ex-
panded DPC coordinates all of the system activities.
Multiuser mainframes with 192K ram start at
under $6000. The 64K dpc-180" is priced at
$1395. Immediate delivery. A complete line of
standard peripherals including a 26M byte hard
disk subsystem can be supplied on request
Dealer and OEM inquiries are invited.
Action Computer Enterprise, Inc.
The Multiprocessing Company
55 West Del Mar Boulevard, Pasadena, California 91105 USA • Cable ACEPAS Pasadena • (213) 793-2440
1
".imukuumr
r
Ideas I
l In'iCir---
n i inini i i i r ii »
"1
Boott Drafts]
EEJJJ
Photo 21: Project windows in Smalltalk. Each window, when
selected, makes available all the windows associated with that
project.
(22a)
exit to overview
lapsnot
quit ^
open a subvtew
open a browser
open a workspace'
turtle ite mo
(22b)
1
i. lasses
irul men
Message run un
FioanOt'ica) «1
LnsplatjForm
Form
Uout
ffipUw
FvaariiiU;
a
a
'in
'a?
Ml
'tr
'«
pt
Photo 22: Recording results in Smalltalk. The current state of
the Smalltalk system can be saved with "snapshot." Smalltalk
code can be saved to a text file by using "filout" and restored by
using "filin. "
• Most compilers can generate more efficient object code
if types are declared. Existing implementations of
Smalltalk cannot take advantage of type declarations.
We expect that future versions will have that ability. At
that time, type declarations may be added to the
language. They probably will be supplied by the system
rather than the user, using a program-analysis technique
called "type inference."
Project Windows
Although overlapping windows enable you to keep the
state of several tasks on the screen at the same time, you
may sometimes be working on several entirely different
projects, each involving several tasks. Smalltalk lets you
have a different "desk top" for each project. On each desk
top are windows for the tasks involved in that project. To
help you travel from one desk top to another, a desk top
can have one or more project windows that show you
other available desk tops and let you switch to one of
them (photo 21).
Saving Programs
In unintegrated systems, you create a program using
standard text-editing facilities. Then, using standard utili-
ty programs, you can obtain a program listing on paper,
back up the program on other media, and transmit the
program to other people. In an integrated system,
equivalent capabilities must be provided within the
system itself. Some of the program-saving capabilities of
Smalltalk are described briefly below.
One important facility is the snapshot (photo 22a). The
entire state of the Smalltalk environment — including
class and method definitions, data objects, suspended
processes, windows on the screen, and project desk
tops — can be momentarily frozen and saved on second-
ary storage. The snapshot can be restored later and
resumed. People familiar with the sysout in InterLISP or
the workspace concept in APL will understand the
benefit of this facility.
Another facility allows definitions of one or more
methods or classes to be listed on a printer. A related
facility is filin/filout. The filout message (photo 22b)
writes an ASCII representation of one or more definitions
onto a conventional text file. The definitions can then be
transfused into another Smalltalk environment by using
the filin message in that environment.
Often, during a programming session, the user changes
a number of method definitions that are scattered
throughout many classes and cannot recall which ones
were changed. The changes facility automatically keeps a
record of what definitions changed in each project, and
makes it easy for the user to filout those definitions at the
end of the session.
Implementation of the Environment
Because Smalltalk is an integrated environment, all the
facilities described in this article are implemented in the
Text continued on page 147
144 August 1981 © BYTE Publications Inc
Meet t he Tig er with
a bigger bite
Introducing the remarkable 132-column
Paper Tiger™ 560. The first full-width matrix
printer to give you fully formed characters
for a low $1695.*
The new 560 features a staggered nine-
wire ballistic type print head that overlaps
dots in both horizontal and vertical planes.
It bi-directionally prints up to 150 dense, text
quality characters per second.
The 560 also features a reliable cartridge
ribbon that lasts up to four times as long
presents a breakthrough in matriK printini
Bring the user excellent print quality wit]
ce of a matrix printer. Employing a uniq
red column" head manufactured by Integr
creates high quality printouts by overla
Paper Tiger 560 Print Sample
as spool and cassette ribbons, separate
heavy-duty stepper motors to drive the print
head and advance the paper, plus true
tractor feed.
And famous Paper Tiger performance
comes with every new 560. Like fixed or
proportionately spaced text, programmable
tabbing and business forms control, auto-
matic text justification, print formats to 220
columns, parallel and serial interfaces, self-
diagnostics, and more. All inside the most
compact printer of its kind.
Need more stripes? Dotplot,™ our high-
resolution raster graphics package, is stan-
dard on every 560.
For data processing, word processing
and small business applications, this is your
Tiger. The business-sized Paper Tiger™ 560.
It's a Tiger you can count on.
Call TOLL FREE 800-258-1386 (In New
Hampshire, Alaska and Hawaii, call
603-673-9100.) Or write: Integral Data
Systems, Inc., Milford, NH 03055.
Tiger 560
■S) llntegral Data Systems, Inc.
Circle 172 on Inquiry card.
"Suggested U.S. retail price.
BYTE August 1981 145
See us at Comdex '81 in Las Vegas, Booth §774.
TVP e
«0" P° sv
:■— »•— r
»\i'*- •
: ! ! 1 t,
*'* l »
The BOS M System:
The Universal Donor
The BOS M Card is the heart of the M System. It is designed to
be IEEE S-100 bus compatible for universal system use. Virtually
all elements of a computer mainframe now reside on one S-100
card — Z-80A CPU, 64k of 200ns RAM (no wait states), 4k 250ns
EPROM, Winchester Disk I/O port, two RS-232 serial ports, system
port, floating point processor, and parallel I/O. The same M Card
can be used in single-user, multi-user, or even multi-processor
systems.
Second Generation Multi-Processor. With the BOS M Card,
multi-processing is finally free of the Master/Slave and hand-
shaking parameters so prevalent in first generation multiprocessors
Inter-system communications are FIFO buffered; the old "Master"
is now a. slave to the user, and the system functions without "S-100
bus overrun" or system generated wait states.
The Universal Processor is now a reality! As a single-user system,
the BOS M is unmatched in performance (up to ten times the speed
of other microcomputers). As a multi-user system, this power can
be translated into a low cost multi-terminal capability. As a multi-
processor, the system leaves the realm of "microcomputer" and
competes in performance with a minicomputer! You can start with a
single-user computer and expand to a multi- user/multi-processor
computer system when needed.
ird
•Reglsteiad Trademark
of Digital Research.
TURBQDOS is
a product ol
Software 2000.
The Universal Product. BOS has what you need — anything
from a single M Card to a complete turnkey computer system.
Diskette, rigid disk, tape and telecommunications sub-systems
are all available. Compatible software includes CP/M*, MP/M*
CP/NET\ BOS/TURBODOS, complete monitor, languages,
application packages, and more!
Dealer and OEM Inquiries Welcome
^^^^^^^ Business Operating Systems, Inc.
2835 East Platte Avenue
Colorado Springs, Colorado 80909
n Colorado Call: (303) 634-1541
The BOS M System does what a Universal Donor must do — it provides high performance for all
system types; single-user, multi-user, and multi-processor. M Systems start at less than $5,000.00 for
a single-user computer with dual 8" double density diskette drives.
Text continued from page 144:
high-level language, including modeless editing, win-
dows, the compiler, and the notify mechanism. This was
possible because Smalltalk represents everything, in-
cluding the dynamic state of its own processes, as objects
that remember their own state and that can be sent
messages by other objects. Using the browser, you can
examine and (carefully) change the definitions of the
software-development aids.
In the implementation of Smalltalk-76, classes Inspect-
W/indow, BrowseWindow, and NotifyWindow are all
tiny subclasses of class PanedWindow, which defines
their common behavior. Similarly, classes StackPane,
VariablePane, ValuePane, and so on, are all tiny
subclasses of class ListPane. The superclass defines com-
mon behavior such as scrolling and selecting entries.
If someone shows you a system claimed to be
"Smalltalk," find out whether the software-development
aids exist and whether they are programmed as class
definitions in the high-level language. If not, the system is
not bona fide.
Conclusions
The Smalltalk programming environment is reactive.
That is, the user tells it what to do and it reacts, instead of
the other way around. To enable the user to switch be-
tween tasks, the state of the tasks is preserved in instantly
accessible windows that overlap on desk tops. To give
the user the maximum freedom of choice at every mo-
ment, modes rarely occur in the user interface. The result
of this organization is that tasks, including software-
development tasks, can be accomplished with greater
speed and less frustration than is usually encountered in
computer systems. ■
References
1 . Sneeringer, J. "User-Interface Design for Text Editing: A Case
Study." Software— Practice and Experience 8, pages 543 thru
557, 1978.
2. Swinehart, D C (thesis). "Copilot: A Multiple Process
Approach to Interactive Programming Systems." Stanford
Artificial Intelligence Laboratory Memo AIM-230, Stanford
University, July 1974.
3. Kay, A and A Goldberg. "Personal Dynamic Media." Com-
puter, March 1977 (originally published as Xerox PARC
Technical Report SSL-76-1, March 1976, out of print).
4. English, W, D Engelbart, and M Berman. "Display-Selection
Techniques for Text Manipulation." IEEE Transactions on
Human Factors in Electronics, volume 8, number 1, pages 21
thru 31, 1977.
5. Card, S, T Moran, and A Newell. "The Keystroke-Level Model
for User Performance Time with Interactive Systems." Com-
munications of the ACM, volume 23, number 7, July 1980.
6. Goldberg, A and D Robson. "A Metaphor for User-Interface
Design." Proceedings of the Twelfth Hawaii International Con-
ference on System Sciences, volume 6, number 1 , pages 148
thru 157, 1979.
7. Borning, A. "ThingLab — A Constraint-Oriented Simulation
Laboratory." To appear in ACM Transactions on Programming
Languages and Systems (originally published as Stanford
Computer Science Report STAN-CS-79-746 and Xerox PARC
Technical Report SSL-79-3, July 1979, out of print).
L >\ • »
COMPLETE CATALOG OF COMPUTER
EQUIPMENT AT DISCOUNT PRICES.
65K S-100 DYNAMIC MEMORY
BY FAMOUS NAME MANUFACTURER
unbelievable price
$299
FEATURES: Fully Compatible with IEEE-696. Assembled, tested
and fully populated with 65K of 200 ns. brand name memory.
Bank selectable. 4Mhz. operation, extended addressing, invisible
refresh 8/16 bit operation (per IEEE-696) and many other features.
One year warranty, manual included... Hurry, limited quantities!
TELEV1DEO TERMINALS:
Model 91 2C 695 00
Model 920C 720.00
New! Model 950 995 00
EPSON PRINTERS:
Model MX-70 SCALL
Model MX-80 SCALL
Q.T. COMPUTER SYSTEMS:
MODEL DESCRIPTION (ALL ASSFMBLt D 8. TFSTEDl PRICE
MFiDD12A ...25A Mainframe: 12 Slot. Si 00. Dual 8" Drive .$62500
MF+ 1 8A 25 A Tabletop Mainframe, 1 8 Slot. S1 00 450 00
MF+12A 25 A Mainframe: 12 Slot. S1 00. Dual 5" Drive ..450 00
Z+80A Single Board. Z-80 Computer 2/4 Mhz . S- 1 00 .. 185 00
Z+80A/2.2 Monitor Program for Z+80A & Tarbell or VF-1 3000
RAM 32 32K Static RAM Board. Low Power, S-100 499 00
QTCIOA 2 Serial & 4 Parallel Port I/O. S-100 339 00
QTCCCSA Clock Calendar Board. S-100 125 00
OTCCCAA Clock Calendar Board, for Apple 1 25,00
QTCCCTRS80 Clock Calendar Module for TRS-80 125 00
VISTA COMPUTER COMPANY:
MODEL DESCRIPTION (ALL ASSI MBLED & TEST FDl PRICE
V300/25 . . Letter Quality Printer, 25 CPS S1 895 00
V30CV45 ..Letter Quality Printer. 45 CPS 2195 00
V-DRI VE . . Dual 8" Disk Cabinet, Power Supply, Rack Mountable ... 375 00
COMPUTER SYSTEM RESOURCES:
MODEL DESCRIPTION .ALL ASSEMBLED S, TFSTFD PRICE
RAM 16 . . . 16K Static RAM, S-100 S189 00
RAM 16C . Low Power (CMOS) Version of RAM 16 13 Watt .... 259.00
RAM 65 . . . 16K Static RAM. I/O Port Bank Select. S-100 199 00
RAM 65C . Low Power (CMOS) Version of RAM 65. 1 4 Watt ... 279 00
RAM 32 . ..32K Low Power 8/16 Bit Static RAM, Fully IEEE 696 499 00
RAM 256 . . 256K 8/ 1 6 Bit Dynamic RAM. Fully IEEE 696 1 295 00
1. 0-8 8 Port Serial I/O. Fully IEEE, up to 200K BAUD 395 00
ORDERING INFORMATION:
Minimum Order is $15.00. Prices quoted do not include shipping
and handling. Foreign orders require prepayment by MICR or
Money Order in U.S. funds. Purchase Orders accepted from U S
Government & firms with published A1 Rating from Dunn &
Bradstreet. All other orders require prepayment, charge card.
or COD shipment.
TOLL-FREE PHONE NUM BER:
Call Toll-Free: 1 -800-555-1 21 2, and ask the operator for our New.
Toll-Free (800) Number. In Alaska. California, and hlawaii. call us
collect at (213) 883-3244
TO RECIEVE OUR FREE CATALOG:
Call our Toll-Free (800) number, or circle Reader Service tt.
7131 OWENSMOUTH AVE. / #21 D
CANOGA PARK, CALIFORNIA 91303
213 / 883-3244 ,
Circle 38 on Inquiry card.
Circle 168 on inquiry card.
August 1981 © BYTE Publications Inc 147
User-Oriented Descriptions
of Smalltalk Systems
Trygve M H Reenskaug
Central Institute for Industrial Research
Blindern, Oslo 3
Norway
For many people, the workings of a
computer remain a mystery. Just
exactly what the computer does and
how it does it is locked within the
code of a computer language. The
computer and the user understand
two completely different languages. It
is well known that only a few systems
are designed and written so that they
can be understood by the user. More
than twenty years of experience has
shown that a bad system design can
never be hidden from the user, even
by a masterfully devised user inter-
face. A quality system, therefore,
must be based on sound design that
can be described in terms with which
the user is familiar.
The Smalltalk system has been
designed to handle a great variety of
problems and solutions. It, therefore,
provides the greatest possible flex-
ibility for writing any kind of system
a programmer may desire. While this
flexibility is essential for experiment-
ing, there is the potential for
disastrous results if restrictions are
not put on the system structures that
are available to the application pro-
grammer.
This article shows how the basic
metaphors of Smalltalk can be used
to describe complex systems. Since
this magazine is not yet distributed in
a form readable by Smalltalk, we
have to restrict ourselves to tradi-
tional written documentation. (Let it
be a challenge to Smalltalk ex-
perimenters to convert this presenta-
tion into a graphic and dynamic one.)
The Smalltalk system user will
most likely employ his system to
organize the large amount of infor-
mation that will be available to him,
A/lore than twenty
years of experience has
shown us that a bad
system design can
never be hidden from
the user, even by a
masterfully devised
user interface.
such as reference materials in the
form of market information, news
services, and weather forecasts. Some
data, such as travel information and
bank transactions, may flow both to
and from the owner. Other informa-
tion, such as personal notes or
material that is not yet ready for
distribution, can remain private.
An individual's total information
needs are very large and complex. His
Smalltalk system, therefore, is also
likely to be large and complex. The
challenge to the Smalltalk ex-
perimenter is to find ways to struc-
ture systems so the user will not only
understand how to use them, but also
get an intuitive feel for their inner
workings. In this way, the user can
really be the master and the systems
his faithful slaves.
An important part of any system is
the software that controls the user's
interaction with the information.
Mastering the software is crucial to
handling the information. With
Smalltalk, software is just a special
kind of information and is treated as
any other information within the
total system. It is available to the user
in the usual manner.
A traditional way of describing
software is through written documen-
tation. Smalltalk provides more
dynamic interfaces through the use of
two-dimensional graphics and anima-
tion on the computer screen. Devising
such interfaces is probably the
greatest challenge in personal com-
puting today, and it provides a rich
field of endeavor for the interested ex-
perimenter.
System Descriptions
We can describe any application
system in three different ways: how it
is used, its system structure, and its
implementation:
• How it is used — This is the least
satisfactory type of description. The
user operates the system through rote
command sequences such as: switch
on the machine, type your password,
hit button A, listen to your system
saluting you by playing "Hail to the
Chief. " Since 80% of all user manuals
for electronic data processing systems
148 August 1981 © BYTE Publications Inc
Circle 394 on inquiry card.
are of this kind, we will not discuss
them further here.
This level of understanding has
been likened to walking around in a
strange city following directions such
as: "Go outside, turn right, walk
straight ahead for four blocks, turn
left . ..." It is easy to get lost under
such circumstances.
• System structure — With this type of
description, the user has an intuition
about the kinds of building blocks
that make up the system, how they
behave, and how they interact to
form the complete system. We show
that the basic Smalltalk metaphors of
objects and messages are well suited
to function as building blocks. The
metaphors are simple and easy to
understand; yet they permit construc-
tion of immensely powerful systems.
A basic system will
have several thousand
objects, and typical
applications would
contain many more.
Any Smalltalk system contains a
large number of objects. A basic
system will have several thousand ob-
jects, and typical applications would
contain many more. The common
software engineering device of layer-
ing becomes essential in making the
whole thing manageable. In the
description of a layer, essential func-
tion on that level is highlighted and
inconsequential detail is relegated to
lower levels. There is one absolute re-
quirement of these simplified descrip-
tions appearing on the different
layers: what is shown should be cor-
rect and complete as far as it goes.
This means that the structure of the
description has to be a pure tree struc-
ture: the function of each module has
to be limited to that module with no
hidden side effects upon the other
modules.
This level of understanding cor-
responds to the user having a street
map of the system. He knows the
major landmarks and the most im-
portant streets. This gives the user an
intuition about the total structure and
permits him tc find his way any-
where. It is almost impossible to get
totally lost under these cir-
cumstances.
• Implementation — Descriptions at
this level of understanding explain to
the user how each individual object is
built so that it behaves in the manner
prescribed on the system structure
level. Here he will find the third basic
metaphor of Smalltalk, the method.
A method is similar to a subroutine in
other languages; it prescribes the
actions to be taken by an object when
it receives a message.
On all layers but the lowest, the
behavior of an object is fairly com-
plex, and we can think of it as com-
posed of a number of sub-objects that
are used to implement it. The purpose
of the method is to enlist the aid of
the sub-objects to implement the
desired behavior. The user thus finds
that the typical object is structured in
much the same manner as his total
system, and it consists of a number of
sub-objects that send messages to
each other. The description tool is
recursive in that the same tool is used
on all levels. This recursion descrip-
tion is probably the most powerful
feature of Smalltalk. Once the user
masters the few very general con-
cepts, he can learn more and more
about his system by simply using
these concepts to dig deeper and
deeper into the system layers. In addi-
tion, the user can modify and expand
the system on any level by collecting
new components out of the building
blocks provided by the next level
below it.
The user at this level now has an in-
tuition of the overall layout of the
city. He also has sub-maps of all the
details and he knows how to read
them. Depending on his personality,
he may use these maps only when ab-
solutely necessary, or he may use
them to explore unknown territory.
In contrast to the tourist, the
Smalltalk user can even make
modifications and new extensions to
the city. The tools are there. The user
decides if, when, and how he wants
to use them.
Example of a System Description
The problem: Consider a small
manufacturing company that has two
The Converter
that transforms
your electronic
typewriter into a
computer
printer.
£> No modifications to
the typewriter
$> Does not affect normal
typewriter functions
& All typewriter functions
accessible by computer
£> RS232C, IEEE and
parallel interfaces
available
£> KSR version turns
typewriter into a
computer terminal
^ Fully assembled, tested
and burned in
NEW! NOW AVAILABLE
OLIVETTI PRAXIS 35
TYPEWRITER
■ +
CONVERTER TP35 =
DAISY WHEEL PRINTER
FOR LESS THAN $1000.
Prices start as low as $275.
CONTACT YOUR LOCAL
OFFICE EQUIPMENT DEALER
OR
VERTICAL DATA SYSTEMS INC.
FOR FURTHER DETAILS.
m Vertical Data Systems Inc.
1215 Meyerside Dr., Unit 2A,
IaU Mississauga, Ontario,
VVV Canada L5T1H3
(416)671-1752
Dealer inquiries invited
August 1981 © BYTE Publications Inc 149
>
Customer 3
Figure 1: A job-shop manufacturing company with its customers.
departments: sales and production.
The responsibility of the sales depart-
ment is to find customers for any pro-
duct the company can make, to con-
tact the production department to
find out when the product can be
delivered, and to sign a contract with
the customer. The responsibility of
the production department is to
manufacture each product as cheaply
as possible at a specified level of
quality and to have it finished on the
promised date. When the production
department has manufactured the
product, it is dispatched to the
customer through the sales depart-
ment.
The system: A natural way to map
this into a Smalltalk system would be
to represent each department as an
object. The function of the Sales ob-
ject would be to keep track of the
state of each sale in the following
sequence:
1. Fill in and send proposals
2. Reserve the necessary resources in
production for the product
3. Send contracts and packing notes
to the customer
The function of the Production ob-
ject would be to:
1. Keep track of commitments
2. Schedule the manufacture of pro-
ducts
3. Help keep the product quality
4. Control the manufacturing pro-
cess to get the products completed
on time
It also seems reasonable to include a
third kind of object in our system:
Customer objects. The purpose of
these objects would be to act as a
150 August 1981 © BYTE Publications Inc.
receptacle for the messages being
passed from the company to the
customer and from the customer to
the company. The various objects
with a set of reasonable communica-
tion channels is shown in figure 1.
The overall processing of an order:
The Smalltalk system would be pro-
grammed to reflect everything of im-
portance that takes place during the
processing of an order and to support
its user on every step. The process
that takes place inside the Smalltalk
system would, therefore, closely
resemble the actual processing of an
order. Let us assume the following
real-life process, which is depicted in
figure 2. A customer submits an in-
tention to buy, a request for offer, to
the company. The sales department
books resources from the production
department and returns an offer with
the cost and delivery date to the
customer. The customer answers with
a purchase order. This is transcribed
and passed from sales to production
as a requisition. The product is
manufactured in production, and a
ready-note is sent to sales, which ar-
ranges for transport and sends pack-
ing notes to the customer.
In the Smalltalk system, the Sales
object would help the user of the
system in corresponding with the
customer, in keeping track of pro-
gress, and in sending the required
forms to the production department.
The Production object would help the
user in the planning and control of
the manufacturing process.
In order to highlight the principles,
we have made this a very simple
system. The reader will have no dif-
ficulty in expanding it, for example,
by adding an object for the account-
ing department that takes care of bill-
VISIT THE
MkxoAQe
STORE IN YOUR
APEAI
9530 Viscount
El Paso, Texas
(915) 591-3349
611 Rockville Pike
Rockville, Maryland
(301) 762-7585
5742 E. Broadway
Tucson. Arizona
(602) 790-8959
2525 N. Scottsdale Road
Scottsdale, Aiizona
(602) 941-8794
1490 W. Spring Valley Rd.
Richardson, Texas
(214) 234-5955
83 South 10th Street
Minneapolis, Minnesota
(612)338-1777
f i
2760-S South Havana 4550-50 E. Cactus
Aurora, Colorado Phoenix, Arizona
(303) 6964950 (602) 996-2910
1 707 Monroe Avenue 24 W. Camelback
Rochester, New York Phoenix, Arizona
(716) 244-9000 (602) 265-0065
1220 Melbourne Drive 2591 Hamilton Road
Hurst, Texas Columbus, Ohio
(817)284-3413 (614)868-1550
2675 Maytalr Road 8615 Allisonville Road
Milwaukee, Wisconsin Indianapolis, Indiana
(414)257-1100 (317)849-5161
2065 El Camino Real West 1517N.E. 122ndAvenue.
Mountain Vlew.Calitornia Portland, Oregon
(415) 964-7063 (503) 256-4713
79 Main Street
Norwalk. Conneticut
(203) 8460851
COMING
SOON TO:
Salt Lake City, Utah
St. Louis, Missouri
San Diego, California
Omaha, Nebraska
Albuquerque, New Mexico
Spokane, Washington
Toronto, Canada
Boston, Massachusetts
Pompano Beach, Florida
Palm Beach, Florida
Houston, Texas
Wilmington, Delaware
Chicago, Illinois
Walnut Creek, California
Panama City, Panama
Ancorage, Alaska
FOR FRANCHISE
OPPORTUNITY
INFORMATION CALL
(602) 968-3168
■
CASH FLOW
PROBLEMS?
irS NICE TO KNOW SOMEONE
WHO HAS THE SOLUTION.
-
' ^
1 1
MicroAge is your Solution
Store . . . that means at
MicroAge Computer Stores
we have a wide selection
of time-saving computer-
ized business systems
designed specifically to
solve the daily cash flow
problems every business-
man faces.
— i
MicroAge has computer-
ized business systems that
quickly and affordably allow you to regain con-
trol of your critical accounts receivable ... at last
making it possible for you to carry out effective
collection procedures on a consistent basis.
MicroAge has accounts receivable program
packages to automatically display and update
account information; prepare trial balance
including a balance-due and delinquency aging
report, and take care of dozens of other tasks
that eat into your time and profit!
Computerized business systems from the Micro-
Age Computer Store are available in the $5,000
to $15,000 range, to suit the individual budget of
your small business or professional practice.
MicroAge backs up every system with personal-
ized service, warranty service and repair, instal-
lation, systems consulting, even customer train-
ing. Visit the MicroAge Computer Store in your
area soon with your business problems, and let
us help you with the solution.
MicroAge
co/MPUTer STpre
"The Solution Store" SM
Circle 219 on inquiry card.
Big sale
onK's!
16K...S 149.95
32K...S 199.95
48K... $249.95
64K... $299.95
New JAWS-IB
The Ultrabyte Memory Board
Due to the tremendous success of our JAWS I, we
were able to make a special purchase of first-quality
components at below-cost prices for JAWS-IB. And
we are sharing our cost saving with you. But don't be
surprised if the next time you see this ad the prices
have gone up substantially. Better yet, order now,
and get the best memory on the market at the best
price on the market.
ONE CHIP DOES IT ALL
laws-IB is the Rolls-Royce of all the S100 dynamic
boards. Its heart is Inters single chip 64K dynamic
RAM controller. Eliminates high-current logic parts
. . delay lines . . . massive heat sinks . . . unreliable
trick circuits. | AWS-IB solves all these problems.
LOOK WHAT (AWS-IB OFFERS YOU
Hidden refresh . . . fast performance . . . low power
consumption . . . latched data outputs . . . 200 NS
4116 RAM's . . . on-board crystal . . . RAM Jumper
selectable on 8K boundaries . . . fully socketed . . .
solder mask on both sides of board . . . phantom line
. . . designed for 8080, 8085, and Z80 bus signals . . .
works in Explorer, Sol, Horizon, as well as all other
well-designed S100 computers.
t
I U- II AV M0N£YBACK TRIAL: Try a lull) wiled
and lesled board lor 1 days — Ihen either keep
II, ii'ium II lor kit. or simply return II In working
condition.
Continental U.S.A. Credit Card Buyers Oul.side Conneclicul:
TO ORDER CALL TOLL FREE 800-243-7428
From Conneclicul Or For Assislance:
(203) 354-9375
Please send the items checked below:
JAWS-IB kit:
□ 16K $149.95*
D 32K $199.95*
Q 48K $249.95*
□ 64K $299.95*
JAWS-IB Fully Assembled, Wired & Tested:
D 16K $179.95*
D 32K $239.95*
□ 48K $299.95*
□ 64K $359.95*
D EXPANSION KIT, 1BK RAM Module, to expand
JAWS-IB in 16K blocks up to 64K. $59.95
'All prices plus $2 postage and insurance ($4.00 Canada).
Connect/cul residents fidrjsnles tux.
Total enclosed: $
Q Personal Check D Money Order or Cashier's Check
ID VISA D Master Card (Bank No. )
. Exp. Dale .
Signature
Print
Name
Address _
City
State .
.Zip _
I^NETRONICSR&DLUI.
■ fill 333 Litchfield Road, New Milford, CT <>l>77(>
Customer 2
requestFor Offer
book Product ionFocililies: after:
t plannedCompletionTime
Sales
purchaseOrder
produclionRequisition
I productReadyNote
Sales
packingNote:
Record request
Planning and reservation
Prepare and send offer
Evaluate offer
Record purchase order
Manufacture product
according to plan
Arrange for transport
Receive product
Figure 2: The processing of an order. The Smalltalk system supports this processing
through interaction with its owner in real-time.
ing, an object for the warehouse that
may or may not have the required
product in stock, and so on. Also,
figure 2 could probably be better
documented on a Smalltalk computer
by animating figure 1.
An Implementation Description
Let us inspect the Production object
of figure 1 and see how it processes
the message bookProductionFacilities:
after.. When this message is received
by the Production object, it consults
its message dictionary to find the cor-
responding method. If the products
were simple and the workshop small,
the object could contain the current
production plan directly and the
method could go something like that
shown in listing 1.
One of the instance variables of the
Production object is the table pro-
ductDuration which contains the time
it takes to manufacture various pro-
ducts. Looking at this table, we find
the duration for a product. In this
simple example, there is only one re-
source, and we find the first available
time slot for the product by sending
self the message findFreePeriod:
after:. This corresponds to calling a
local subroutine in other systems. We
then reserve the resource for our pro-
duct in that period. (These two steps
could have been combined into one,
but the separation gives us more flex-
ibility in varying the planning
algorithm if we wish to do so later.)
152 August 1981 © BYTE Publications Inc
TRANSFER YOUR DATA
INTO
HARDCACHE"
THE HARDCACHE SUBSYSTEM :
+ 30 Megabytes [Formatted] Winchester Disk
Average access time 48 milliseconds
♦ Cartridge tape drive provides :
Complete backup in under 10 minutes
File save/reload
Software distribution
+ S-1 00 Bus Intelligent Interface Card
DMA or programmed I/O data transfer
Disk throughput optimizer
Bootstrap ROM - switch selectable
Time of day clock - battery powered
+ Compatible with
CRDMEMCQ
VECTOR GRAPHICS
north star and other
S-1 00 based computer systems
+ Installs on any CP/M or
MP/M system*
•CP/M and MP/M are registered trademarks ol Digital Research.
EXECUTIVE SYSTEMS, INC.
15300 Ventura Boulevard
Sherman Oaks, California 91403
(213) 990-3457
.-jTiSTATE-OF-THE-ART
^>* SS16K/IEEE
16K STATIC RAM BOARD
ONLY $ 179 95
Expand your system beyond
64K — add universal bank
select option for only $20. 00
imriiTnritt(#lHtififfifffffiTmTfi'ifft
New: SS16K/IEEE RAM
It's everything you need in a 16K static RAM board
— at the lowst price you've ever seen. The
SS16K/IEEE comes with all the high performance
features listed below: And unlike obsolete-design
RAM's (without bank select) you can add-on our
universal software bank-selector system anytime,
now just $20.00. This makes the SS16K/IEEE capa-
ble of addressing 2,048 different banks. You can add
memory beyond the 64K limit. You can expand to a
multi-terminal system.
FEATURES OF SS16K/IEEE :
• Low-power 2114's
• All inputs and outputs meet the proposed IEEE
standards for the S 100 bus.
• 4.0 MHz operation.
• Schmitt trigger buffer on all signals for maximum
noise reduction.
• Addressable on 16K boundaries, 0-64K, dip switch
selectable.
• Phantom option, dip switch selectable.
• PWR/MWRITE option, dip switch selectable.
• Glass epoxy PC board with gold-plated contacts
and double-sided solder mask.
• Fully socketed.
• Four separate regulators, for maximum stability.
WITH BANK SELECT OPTION (now just $20.00)
YOU ADD THIS:
• Software bank selector featuring a universal
decoder works with Cromenco, Alpha Micro,
Netronics, most other systems, or your design.
On-board dip switches: Bank Select Enable, Reset
Enable, Reset Disable, Port Address, Port Data.
• LED Indicator to display status.
10-DAY MONEY-BACK TRIAL: Try a fully wired
and tested board for lOdays— then either keep
it, return It for kit, or simply return It In working
condition.
Continental U.S.A. Credit Card Buyers Outside Connecticut: £
TO ORDER CALL TOLL FREE 800-243-7428;
From Connecticut or For Assistance: ■
(203) 354-9375 I
Please send ihe items checked below: '.
SS16K/IEEE without bank select: I
□ Kit $179.95*;
Q Fully assembled, wire & tested $199.95"
SS16K/IEEE with bank select:
□ Kit $199.95*1
D Fully assembled, wired & tested $229.95*;
D SS16K/IEEE bank select option $20.00*;
'Plus $2 postage fr insurance {$5.00 Canada). Connecticut resi-B
dents add sales (ox. J
■
Total enclosed: S J
D Personal Check D Money Order or Cashier's Check"
VISA □ Master Card (Bank No. )!
. Exp. Date .
Signature
Print
Name
City .
State .
-Zip.
fekNETRONICS R&IJ Ltd. ■
*K1»333 Litchfield Road, New Mllford.CT 06776;
_*■■■*>■■■■■■*■■■«■■■■■■■■■■■■■■■■■■■■■!-
Listing 1: Smalltalk method for the message bookProductionFacilities:after:.
bookProductlonFacllltles: productType after: earllestStartTlme
"Reserves production facilities for a new product of given type as soon as possible after the
specified earliest starting time. Returns the planned completion time for the product."
| duration plannedStartTime |
duration — productDuration at: productType.
plannedStartTime — self findFreePeriod: duration after: earliestStartTime.
self reservePeriod: duration from: plannedStartTime.
t (plannedStartTime + duration)
Listing 2: Alternate Smalltalk method for the message bookProductionFacilities:after:.
bookProductlonFacllltles: productType after: earllestStartTlme
"Reserves production facilities for a new product of given type as soon as possible after the
specified earliest starting time. Returns the planned completion time for the product."
| productldentification |
productldentification — jobManager defineProduct: productType.
jobManager schedule: productldentification after: earliestStartTime.
t (jobManager plannedCompletionTime: productldentification).
Messages from the surrounding system
Production
Manager
Jl
^V
Job
Manager
^
Resource
Manager
Resource A
Job 3
Resource C
Figure 3: The internals of the Production object.
The planned completion time is
returned to the sender, in this case the
Sales object.
Lower-Level System Description
If the user wants more advanced
aids for production control, the Pro-
duction object would call upon the
services of a subsystem of intercon-
nected objects. A possible subsystem
is shown in figure 3.
The entrance to the internals of the
Production objects is through a Pro-
duction Manager object; it is con-
nected to a Job Manager object and a
Resource Manager object.
The manufacturing of a product is
split into a number of jobs. The
available production facilities (people
and machines) are split into a number
of resources. Each job is to be per-
formed by a single resource. A
natural way to map this into a
Smalltalk system is to represent each
job by a Job object and each resource
by a Resource object.
In this scheme, each Job object en-
sures that the job is performed by its
154 August 1981 © BYTE Publications Inc
r
Wild Hare Software Systems
Multiply the Capabilities of
Data General's
RDOS
INFOS
ICOS
DOS
Wild Hare gives Data General
users a choice when upgrading ^^
to a multi-user environment and -
eliminates the need to use AOS.
Wild Hare makes it easy for you. It creates
a true multi-lingual, multi-user environment for
your current system. No user software modifications
are necessary. There is no need to install a new
operating system. And, no expensive hardware upgrade is
required.
Features
• Each user is totally independent of all other users.
• Each user may run all standard Data General software.
• Each user may independently edit, compile, execute and debug
programs written in any language supported by RDOS, INFOS®,
ICOS and DOS.
• Standard languages supported include: Fortran IV, Fortran V,
COBOL, ALGOL, RPG, DG/L™, BASIC, PASCAL, MAC, etc.
• All NOVA's® and ECLIPSE'S® are supported.
• Wild Hare guarantees its software systems on a money back basis.
Wild Hares Software
Gives Data General Users
A Choice!
[MD
HARE
NOVA ■ tCLIPSE ■ and INFOS ' are registered trademarks of Data General Corporation
ox
RO. Box 3581 .Boulder , Colorado 80307
(303)494 0221
Circle 401 on inquiry card.
rCPU'S & SUPPORT CHIPS
2.25
3.60
2.90
8251
RAM's
2114L-3
4116-3
4116-2
21L02-3
2102-d
MK4027-3
MK4096-11
TMS404525
MS4050NL
2101-1
21076-5280
MM5270
MK4008P
IM7001
- 4.50
- 5.50
- 6.95
B257IAM9517}- 7.95
ZBOAS10 - 12.95
8275 - 16.95
- 34.95
ROM's
2708
2716
2716 I 5V
2732
82S23
82S112
825(15
82S123
82S129
825130
82S131
AM9218C
825181
8256-5 17418*
3.25
3.45
3.95
4027 -
.20
402B -
77
4030 -
4034 - 2
4035 -
Vfl
4042 -
w
4043 -
4044 -
Ml
4046 -
Wi
4047 -
:*)
.BO
4050 -
45
4052 -
M
4053 -
,H*>
4066 -
Hit
4069 -
71)
4071 -
«>
4076 -
4077 -
74C74
74C76 ■
74CS3
74C85
74C86
74C90
74C93
74C151
74C167
74C160
74C161
74C02
74C08
74C10
74CI4
74C20
74C32
74C73
UART's
AY5-1013 - 3.75 M8868A - 8.95
TR1602B - 3.95 COM2017 - 3.75
PT1482B - 3.25 AV3-8500 - 1.95
AY3-8700 - 2.25
INTERFACE SHIFT
& DRIVERS REGISTERS
8130
8830
8833
8834
8837
8T380
,-*> MM1402
*•" MM1403
i^i MM1404
\™ MM5013
£•» MM5016
S*™ MM 5055
g'SH MM5056
2-00 MM5057
*- w MM5058
MM5060
2.50
- 2.50
14 PIN HEADERS 3/$1.00
16PINHEADERS 40
24 PIN HEADERS 75
40 PIN HEADERS 1.10
50 PIN EDGEBOARD CONN 3.95
26 PIN EDGEBOARD CONN 2.50
50 PIN RIGHT ANGLE CONN 3.95
20 PIN RIGHT ANGLE CONN 2.25
PRINTED CIRCUIT BOARD
A" * 6" DOUBLE SIDED
EPOXY BOARD ?«* THICK
$.60 ea 5/$2.60
EPOXY GLASS VECTOR BOARD
1 /1 6" thick with 1 /1 0" spacing
AVi"x6%" $1.95
SPECIALS
10% DISCOUNT ALL SCR'S & TRIACS
4ea. 2716 ROM'S ( + 5V).. 28.00
8ea. 4116-3 RAM'S 20.00
MC68000L 125.00
8164E64K x 1 RAM (150NS) 39.00
15% Discount
All 74LS and S Series
20% Discount
340T and 320T Regulators
L14H4 IR & Visible Detector (TO-92)
3/$1.00
SPECIALS GOOD THRU AUG. 1981
CRYSTALS $3.45 ea.
6. I'M MHz
8.000MH;
DATEL'S DAC-08EQ
8 bit DAC - $7.95
INTERSIL DG1 IBP ANALOG SWITCH/
2 CHANNEL DRIVERS , $11.50
INTERSIL ICL 7104-12 CPL 12 BIT
AID CONVERTER $26.50
REOICON SAD 1024 ANALOG SWITCH
74S112
74S133
74S135
74S138
74S139
74S140
74S153
74S151
74S280 1.50.
7 WATT LD 65 LASER
DIODE IR $8.95
25 watt Infra Red Pulse (SG 2006 equiv.)
Laser Diode (Spec sheet included)) $24.95
2N3820 P FET $ .45
2N5457NFET $ .45
2N2646UJT $ .45
ER 900 TRIGGER DIODES 4/$ 1.00
2N 6028 PROG. UJT $ .65
DISC CAPACITORS
.1UF16V 10/S1.00 100/58.00
.01UF35V 16/51.00 100/S5.0Q
CLOCK CHIPS
MM5314 54.75 MM5316 54.95
2.000 MHz
4.000 MHz
3.000 MHz
3.57 MHz
5.000 MHz
6.000 MHz
10.000 MHz
18.000 MHz
18.432 MHz
I 20.00GMHz
WE SHIP OVER 95%
OFOURORDERS
WITHIN 24 HOURS
OF RECEIPT
MINIATURE MULTI-TURN TRIM POTS
50, 100. 5K, 10K, 250K $.75 each 3/$2.00
NO. 30 WIRE WRAP WIRE SINGLE STRAND
100' $1.40
ALCO MINIATURE TOGGLE SWITCHES
MTA 106DSPDT 51.20
MTA 206 DPDT 51 .70
MSD 206 P-DPDT CENTER OFF LEVER SWITCH .51.85
S
1.5A
CR
t!A
's
35A
110A
100
.45
.60
1.40
200
.70
.80
I.3G
9.00
40(1
1.70
1.40
7.R0
12.00
600
1.80
3.60
15.00
TRIAC's
PRV
1A
10A
25A
" 100
.45
.80
1.55
200
.84
1.30
2.10
400
1.30
1.90
3.10
600
2.00
2.75
4.30
FP 100 PHOTO TRANS S .50
RED. YELLOW, GREEN or AMBER LARGE LED's.2" 6/S1.00
RED/GREEN BIPOLAR LED's $ .55
MLED92 IR LED $ .75
MRD14B PHOTO DARL.XTOR S .50
TIL-118OPT0-IS0LAT0R .$ .45
IL-5 OPTO ISOLATOR S .45
1WATTZENERS: 3.3, 4,7, 5.1, 5.6, G.8, 8.2. 9.1. 10,
12, 15. 18. or 22V 6/S1.00
TANTALUM CAPACITORS
.47UF35V 5/S1.00 10UF 10V - $ .40
.68UF35V 5/51.00
1UF20V 5/51.00
I 2.2UF20V 5/$ 1.00
3.3UF20V 4/S1.00
1.7UF35V 4/S1.00
6.8UF35V 3/$1.00
22UF10V -$ .30
15UF16V 3/$1.00
30UF6V 5/31.00
33UF20V $ .60
47UF20V S .85
120UF6V S .75
SANKEN
AUDIO POWER AMPS
Si 1010 G 10 WATTS .$ 7.50
Si 1020 6 20 WATTS .$12.50
Si 1050 G 50 WATTS .$27.50
200 PRV 1A LASCR .95
RS232
CONNECTORS
DB25Pmale $3.25
DB 25S female . . . $4.25
HOODS $1.50
PRV
1A
3A
12A
50A
125A
240A
100
.06
.14
.35
.90
4.25
6.00
200
.07
.20
.40
1.30
5.25
9.00
4O0
.09
.26
.65
1.50
6.50
12.00
600
.11
.30
.80
2.00
8.50
15.00
800
.15
.35
1.00
2.50
10.50
18.00
.45 1,25 3.00 12.50 26.00
IN4148IIN914)
15/$1.00
.5V at 800ma SOLAR CELLS
3" diameter $4.35
7 SEGMENT DISPLAYS
FSC8024-4 digit
C.C.8"display $5.95
FND503C.C..5"...$ .85
FND510C.A. .5". ..$ .85
DL-704.3"C.C $ .85
DL-707C.A. .3"...
DL747C.A. .6"...
FND810.8"CA .. .
FND803.8"CC ...
MAN 5 C.C.Green
$ .75
$1.50
$1.95
$1.95
$ .75
TRANSISTOR SPECIALS
2NI307 PNP GE TO-B
2N404APNPGETO-5 3/
HEP 66014 -PNPGET0 3
TIP 1 1 1 6 .50 TIP 141 .
TIP 120 5 .55 TIP 145
TIP 126 $ .60 TIP11G
2NS233-NPN SWITCHING POWER .
MRF-B0M a CB RF TRANSISTOR NPN
2N3T72NPNSITO-3
2N4308PNPSiTO-3
2N3137NPNSiRF
2N3919NPNSiT0-3RF
2N142QNPNSiTO-5. . .31
2N2222NPNS1T0-18 . .5/
2N2907PNPSITO-1B 5)
2N3055 NPN 51 TO-3
2N3904 NPN Si TO-92 6j
2N3306 PNP Si TO-92 6,
2N52S6NPNSiTO-220..
2NS109PNPSiTO-22Q . .. .
2N530BNPNSiTO-3. ...
TIP31BNPNS1TO-220
HP32QPNPSiTO-220 . ..
IIP34PNPSi
TIP 121PNPSIU84
SFC 3301 - 50 PRV 30A
FAST RECOVERY DIODE t35ns) ..$2.25
20KV250MA DIODE $1 .90
SILICON POWER RECTIFIERS
7402 - .17
7403 - .17
7404 - .24
7405 - .24
7406 - .33
7407 - .35
7408 - .27
7409 - .24
7410 - .17
7411 - .22
7413 - .42
7414 - .50
7416 - .33
7417 - .37
7420 - .17
7425 - .30
7426 - .33
7427 - .30
7430 - .17
7432 - .27
7437 - .27
7438 - .27
7440 - .17
7447
7448
7450
7472
TTLIC
7473 -
,7474 -
7475 -
7476 -
7480 -
7483 -
SERIES
7491 -
7492 -
7493
7494 -
7495 -
7496 -
74107 -
74121 -
74122 -
74123 -
74125 -
74126 -
74145 -
74150 - 1
74151 -
74153 -
75154 -
74155 -
74157 -
74160 -
74161 -
74162 -
74163 -
74164 -
SB
74165 - .
40
74166 - .
40
74170 - 1.
40
74173 - .
45
74174 - .
50
74175 - .
fifi
74176 - .
4?
74177 -
4*
74180 - .
45
74181 - 1.
45
74182 -
46
74130 -
60
74191 -
HO
74192 -
.«1
74193 -
3fi
74194 -
35
74195 -
39
74196 -
.42
74197 -
.45
74279 -
45
74365 -
75
74367 -
in
74368 -
.50
74390 -
.40
75324 - 2
.10
74325 - 1
m
75491 - 1
Fin
75492 - 1
,R5
8T98 -
,65
9312 -
.60
9601 -
.60
9602 -
.60
FULL WAVE BRIDGE
PRV
2A
6A
25A
100
1.40
200
.60
1 .10
220
400
500
1.00
1.30
1.65
1 90
330
4 40
DIP SOCKETS
SPIN .17 22 PIN 30
14 PIN 20 24 PIN .35
16 PIN .22 28 PIN 40
18 PIN 25 40 FIN 60
74LS SERIES
74LS01 -
74LS02 -
74LSD3
74LSM -
74LSOS ■
74LS09 -
74LS10 ■
74LS11 -
74LS12 -
74LS13 -
74LS14
74LS1B -
74LS20
74LS21
74LS22
74LS26
74LS27
74LS28
74LS30
74LS40 -
74LS42 -
74LS47 -
74LE51 -
74LS54 -
74LS73 -
74LS74 -
74LS75 -
74LS76 -
74LS85 -
74LS86 -
74LS90 ■
74LS92 -
18
74LS33 - .
2(1
74LS109- .
20
74LS112- .
7?
74LS113 - .
73
74LS114- .
20
74LS123- .
77
74LS125- .
20
74LS126- .
72
74LS132- .
73
74LS136- .
4S
74LS138 - .
40
74LS139- .
3ft
74LS161 - .
in
74LS153- .
in
74LS156 - 1 .
75
74LS157- .
35
74LS158- ,
45
74LS161 - .
lfl
74LS162- 1.
35
74L51G3- .
srr
74LS164 - .
an
74LS168- 1.
4TI
74LS16S - 1.
74LS170- 1.
fiS
74LS173- .
7(1
74LS174- .
20
74LS175- .
SB
74LS1B1 -2.
35
74LS190- .
ss
74LS191 - .
45
74LS192- .
75
74LS193 - .
Rfi
74LS134- 1.
45
74LS195- .
74LS196-
74LS197 -
74LS221 -
74LS240 -
74LS241 -
74LS243 -
74LS244-1.
74LS245- 1
74LS248 - 1
74LS251 -
74LS253 -
74LS257-
74LS2S8 -
74LS259 - 1
74LS256 -
74LS273 - 1
74LS279 -
74LS2S0 - 1
74LS283 -
74LS290 -
74LS293 -
74LS365 -
74LS367-
74LS368-
74LS373 - 1
74LS374 - 1
74LS377 - 1
74LS386 -
74LS390 - 1
74LS393 - 1
LINEAR CIRCUITS
MAN 82 C. A. Yellow .$ .75
LM301/7'
741 CV -
741C - .:
LM307 -
LM308 -
LM324 -
LM339 -
LF355 -
LF356 -
LM311 -
LM318
LM348 - .'
LM3GB - .!
LM361 - 1
LM377 - I,
LM3B0- I.
LM3S2 - .!
LM3S3 - 2
LM386 - .1
LM387 - 1
LM553 - 2
LM55S - .1
LM180B- 1.75
LM1BE3 - 1.95
CA75S - 1 .75
CA3018 - 1 .95
CA3046 - .85
CA3073 - 1.50
CA3080 - 95
CA3086 - .95
CA3094 - 2.25
CA3140 - 1.25
LM2901 - .95
8038CC - 3.90
REGULATORS
LM317T 51.50
LM337 S2.50
323K-5V3A S4.50
79HGKC-5Vat5A S6.95
78L05 S .45
LM305G S .75
340K-12, 15or24VS1.50
340T-5. 6, 8. 9. 12.
15. 18o;24V,..S .85
LAS1412t-12V3AS3.95
POSTAGE ADD 10% FOR ORDERS UNDER $20.00
RATES ADD 5% FOR ORDERS BETWEEN $20.00 AND $50.00
ADD 3% FOR ORDERS ABOVE $50.00
TEHMS:FOB CAMBRIDGE. MASS. SEND CHECK
OR MONEY ORDER. MINIMUM TELEPHONE,
C.O.D. PURCHASE ORDER OR CHARGE 520.00
MINIMUM MAIL ORDER $5.00.
SEND S.25 FOR OUR CATALOG
FEATURING TRANSISTORS &
RECTIFIERS. 145 HAMPSHIRE
ST., CAMBRIDGE, MASS. 02139
SOLID STATE SALES
P.O. BOX74B
SOMERVILLE, MASS. 02143
TEL. (617)547-7053
WE SHIP OVER 95%
OF OUR ORDERS WITHIN
24 HOURS OF RECEIPT
TOLL FREE 1-800-343-5230
resource within the available time.
Similarly, each Resource object en-
sures that its resource is used in an ef-
ficient manner, that there is sufficient
time available for preventive
maintenance, and that there are no
unacceptable overloads. The method
in the Production object that handles
the bookProductionFacilities:after:
message could now be written as
shown in listing 2.
One of the instance variables of the
Production Manager object is a
pointer to the Job Manager object. By
using that pointer as a communica-
tion channel, the Production
Manager object passes most of the
work on to the Job Manager object.
First, the Job Manager is asked to
define the new product. The Job
Manager creates the Job objects (see
figure 3), links them to the proper
Resource objects, and returns an
identification that is to be used for
future references to the product. The
Job Manager is then asked to schedule
the product for manufacturing as
soon as possible after the given date.
Finally, the Job Manager is asked
when the product will be completed,
and this value is returned to the out-
side world (in this case, to the Sales
object). The planning process in the
Production subsystem that is shown
in figure 4 is controlled by this
method.
Definition of New Objects
The first task of the Job Manager
object is to define the new object. It
receives message defineProduct: when
this is to be done. The corresponding
method could be something like that
shown in listing 3. We are referencing
two instance variables of the Job
Manager object in this method: pro-
ductDescriptions and production-
Manager. productDescriptions is an
ordered collection with one member
for each product type. Each of these
members contains a sequence of small
objects with the class, duration, and
resource type for each of the jobs that
go into the manufacture of such a
product. productionManager con-
tains a pointer to the Production
Manager object. The result of the
product creation is put into a third in-
stance variable, the productDic-
156 August 1981 © BYTE Publications Inc
****************
RELATIONAL QUERY SYSTEM FOR MANAGEMENT
DATABASES: YOU'VE HEARD THE HYPE BEFORE . . .
THE TRUTH IS . . . REQUEST DELIVERS!
DATABASE MAINTENANCE —
• Uses sophisticated screen formatting & data
entry, like on IBM 3270's!
• Generates it's own screens automatically!
• Handles records up to 4K in length, using
multiple screen "Pages"!
• Automatic data compression for increased
disk capacity
• Uses Superkram (See below) access method
for incredibly fast access, LESS THAN .2
SECONDS FOR A RECORD!
• Automatic index creation/maintenance
• Automatic maintenance capabilities
• "Goof-Proof" error handling
• Input can come from VISICALC™ or
SOURCE™
DATABASE SELECTION—
• Uses screen masks to form query
• Provides extensive search capabilities
• Search arguments can include
arithmetic/boolean functions, multi-field
comparisons
• Queries can generate input for automatic
database maintenance
• Queries can be stored in "Query Library" and
executed from menu on demand
• Any number of fields can be queried
concurrently
• Query output can be routed to disk, CRT
report formatter, VISICALC" or SOURCE™
ONLY $225
DATABASE REPORTING—
• Automatic headlines
• Automatic field editing
• Report fields can be calculated, sub-totaled &
cross-footed in any manner desired.
• Optional counter breaks may be set
• Automatic grand totals
• Automatic statistics
REQUIREMENTS
Superkram (see below) and: Commodore Pet
32K (40 or 80 col.) and 2040/4040/8050 disk OR
Apple 1 1 48K with Applesoft or language system
and 2 disk drives or CORVUS.
SUPER KRAM
Now With Multi-Key Capabilities For Apple & Pet
Since KRAM™ was introduced in 1 979 it has fast become known as the quickest
and most powerful access method for serious Apple and Pet users. Now, after
hundreds of requests we have added MULTI-KEY, MULTI-INDEX, functions,
as well as increasing processing speed.
IBM/370 users have VSAM (Virtual Storage Access Method) to
provide fast, flexible keyed-access to theirdata. NowSUPER KRAM
(Keyed Random Access Method), from United Softwareof America,
gives Apple and Pet users the same flexibility, substantially
increasing Ihe processing power of the Apple and Pet.
Until SUPER KRAM the only "random access" capability in the
Apple and Pel consisted of a crude form of "relative record"
processing. While this is usable for very simple applications, it falls
far short of Ihe needs of today's business and analytical
applications. Using SUPER KRAM records may be processed by
any one of multiple "Key" values, which may consist of any kind of
data: numbers, letters, special characters, etc. Even Apples's long-
awaited DOS 3.3 doesn't have anything like this!!
vith Corvus disk)
KRAM™ 2.0 Only $99.95
SUPER KRAM™ Only $175
ATTENTION-EXISTING
Send $15 with original d
KRAM™ 2.0 Regular Features
• Written in 6502 machine code
Basic compatible
• Create/Open a dataset
■• Put record by key
• Add & delete records by key
• Get any record by Full/Partial key
• Access by any key in as little as .2 sec. (.1 sec.
• Supports multiple disks
• Read next or previous record
• Dynamic space allocation
• Dynamic space reclamation
• Dynamic index compression
• Files never need reorganization
• Compatible with language systems
KRAM USERS,
sk and ROM to United Software for improved version of Kram,
SUPER KRAM'S™ Added Features
• MULTIKEY SUPPORT — Allowing simultaneous access to a
KRAM file by more than one key field.
• HI-SPEED READ — This feature allows increased I/O speed up to
60% faster during processing of SUPER KRAM read next, read
previous, put and delete requests.
• IMPROVED INDEX ARCHITECTURE — Allowing faster index
searchers and more efficient disk space utilization.
• INTEGRATED BASIC COMMANDS — Allowing SUPER KRAM'"
commands to be coded in-line with Basic, providing easier usage
of KRAM than ever before.
• USER-SPECIFIABLE BUFFER POOL — Allowing the user to
specify how many KRAM files are allowed open at one time; will
support any number of KRAM files.
• LOGICAL RECORDS {KEYS MAY BE NON-UNIQUE) — Records
added to the KRAM files are immediately accessible by any of the
defined keys for the file (Automatic Upgrade).
• KRAM 2.0 files are totally compatible with SUPER KRAM
,= UNITED
S~ SOFTWARE
^%OF
750 3RD Avenue, AMERICA
New York NY 10017
(212) 682-0347 Telex 640055
****************
Look for the RED-WHITE-BLUE
United Software Display at your local
computer dealer, or send check or
money order, plus $3.00 shipping to:
DEALER INQUIRIES INVITED
REQUEST & KRAM are trade marks of United Software of America
Circle 245 on inquiry card.
MMSFORTH VERSION 2.0:
MORE FOR YOUR RADIO SHACK
TRS-80 MODEL I OR MODEL III !
• MORE SPEED
10-20 times faster than Level II BASIC.
• MORE ROOM
Very compact compiled code plus VIRTUAL
MEMORY makes your RAM act larger. Variable
number of block buffers. 31-char. -unique word-
names use only 4 bytes in header!
• MORE INSTRUCTIONS
Add YOUR commands to its 79-STANDARD-plus
Instruction set!
Far more complete than most Forths: single &
double precision, arrays, slring-handling, clock,
more.
• MORE EASE
Excellent full-screen Editor, structured &
modular programming
Word search utility
NOTEPADS Letter writer
Optimized for your TRS-80 with keyboard
repeats, upper/lower case display driver, full
ASCII, single- & double-width graphics, etc.
• MORE POWER
Forth operating system
Interpreter AND compiler
8080 Assembler
(Z8G Assembler also available)
Intermix 35- to 80-track disk drives
Model III System can read, write & run Model I
diskettes!
VIRTUAL I/O for video and printer, disk and tape
(10-Megabyte hard disk available)
FORTH
THE PROFESSIONAL FORTH
FOR TRS-80
(Over 1,500 systems in use)
Prices:
MMSFORTH Disk System V2.0 (requires 1 disk drive &
16K RAM, 32K lor Model III) $128.95*
MMSFORTH Cassette System V2.0 (requires Level II
BASIC & 16K RAM) I89.95 -
AND MMS GIVES IT
PROFESSIONAL SUPPORT
Source code provided
MMSFORTH Newsletter
Many demo programs aboard
MMSFORTH User Groups
Inexpensive upgrades to latest version
Programming staff can provide advice, modifications
and custom programs, to fit YOUR needs.
MMSFORTH UTILITIES DISKETTE: Includes FLOATING
POINT MATH (L2 BASIC ROM routines plus Complex
numbers, Rectangular-Polar coordinate conversions,
Degrees mode, more), plus a full Forth-style Z80 ASSEM-
BLER; plus a powerful CROSS-REFERENCER to list
Forth words by block and line. All on one diskette
(requires MMSFORTH V2.0, 1 drive & 32K RAM) . $39.95'
FORTHCOM: communications package provides RS-232
driver, dumb terminal mode, transfer of FORTH blocks,
and host mode to operate a remote TRS-80 (requires
MMSFORTH V2.0, 1 drive & 32K RAM) $39,95*
THE DATAHANDLER V1.2: a very sophisticated data-
base management system operable by non-pro-
grammers (requires MMSFORTH V2.0, 1 drive & 32K
RAM) $59.95*
MMSFORTH GAMES DISKETTE: real-time graphics &
board games w/source code. Includes BREAKFORTH,
CRASHFORTH, FREEWAY, OTHELLO & TICTACFORTH
(requires MMSFORTH V2.0, 1 drive & 32K RAM) . $39.95*
Other MMSFORTH products under development
FORTH BOOKS AVAILABLE
MIcroFORTH PRIMER ■ comes with MMSFORTH;
separately $15.00*
USING FORTH - more detailed and advanced than
above $25.00*
INVITATION TO FORTH - detailed beginner book on
figFORTH $17.50*
THREADED INTERPRETIVE LANGUAGES - advanced,
excellent analysis of MMSFORTH-like lan-
guage, $18.95*
PROGRAM DESIGN & CONSTRUCTION - Intro, to struc-
tured program, good for Forth $8.95*
FORTH -79 STANDARD MANUAL - official reference to
79-STANDARD word set, etc $10.00*
CALTECH FORTH MANUAL - good on Forth Internal
structure, etc $10.00*
FORTH SPECIAL ISSUE, BYTE Magazine (Aug. 1980) ■
we stock this collector's item for Forth users and begin-
ners $4.00*
* - ORDERING INFORMATION: Software prices include
manuals and require signing of a single system, single-
user license. SPECIFY for Model I or Model III! Add
$2.00 S/H plus $1.00 per additional book; Mass. orders
add 5% tax. Foreign orders add 20%. UPS COD, VISA &
M/C accepted; no unpaid purchase orders, please.
Send SASE tor tree MMSFORTH information
Good dealers sought.
Get MMSFORTH products from your
computer dealer or
MILLER MICROCOMPUTER
SERVICES (B8)
61 Lake Shore Road, Natlck, MA 01760
(617)653*136
158 August 1981 © BYTE Publications Inc
bookProductionFacilities: after i
Production
Production
Manager
tplrjnnedCompletionTim'e
defineProduct:
Job
Manager
Create job objects
toroductldentification
Production
Manager
Schedule product
schedule: after:
Job
Manager
Schedules jobs in sequence
/
\_
sche
duleAfter •.
a Job
Schedules job as soon as
possible after given date
schedule : after: duration
a Resource
Reserves facilities for job
t plannedSlartingTime
a Job
Records own start and
completion times
;
Figure 4: A simple planning algorithm implemented in a Smalltalk system.
Listing 3: Smalltalk method for the message defineProduct:.
defineProduct: productType
"To create a new product of given type. The corresponding Job objects are created and linked to
their resource objects."
| productldentification jobDescriptions jobjobList resourceObject |
productldentification — self nextProductldentification.
jobDescriptions — productDescriptions at: productType.
jobList — jobDescriptions collect:
[ description |
job — (description class) new.
job duration: (description duration).
resourceObject — productionManager getResource: (description
resourceType).
job resource: resourceObject].
productDictionary at: productldentification put: jobList.
t productldentification.
tionary. In this dictionary, each key is
a product identification; the cor-
responding entry is the sequence of
job objects for that product.
The first line of code gets a new,
unique identification for the new pro-
duct. Next, the list of job descriptions
is retrieved from the productSpecifica-
tion collection. We then build the se-
quence of Job objects by going
systematically through the job
descriptions. For each description, we
create a new Job object of the given
class, feed it its duration, and let it
Circle 104 on inquiry card. >
dotasouth announces. ••
THE TOTAL PRINTER PACKAGE!
n\\
T
• •
W
With so many matrix printers on the market today, it may seem
tough to find exactly the right one tor your application. Some
models may offer the speed you need, others the communications
flexibility and still others the forms handling capability. But no
printer offers all the features you need... until now.
The DS180 matrix printer provides the total package of perfor-
mance features and reliability required for applications such as
CRT slave copy, remote terminal networks and small to mid-range
systems. Not a "hobby-grade" printer, the DS180 is a real work-
horse designed to handle your most demanding printer require-
ments. And pricing on the DS180 is hundreds of dollars below
competitive units.
High Speed Printing- Bidirectional, logic-seeking printing at
180 cps offers throughput of over 200 Ipm on average text. A
9-wire printhead life-tested at 650 million characters generates
a 9x7 matrix with true lower case descenders and underlining.
Non-volatile Format Retention -a unique programming keypad
featuring a non-volatile memory allows the user to configure the
DS180 for virtually any application. Top of form, horizontal and
vertical tabs, perforation skipover, communications parameters
and many other features may be programmed and stored from the
keypad.When your system is powered down, the format is retained
in memory. The DS180 even remembers the line where you stopped
printing. There is no need to reset the top of form, margins, baud
rate, etc.... it's all stored in the memory. If you need to recon-
figure for another application, simply load a new format into the
memory.
Communications Versatility- The DS180 offers three interfaces
including RS232, current loop and 8-bit parallel. Baud rates from
110-9600 may be selected. A 1K buffer and X-on, X-off hand-
shaking ensure optimum throughput.
Forms Handling Flexibility-Adjustable tractors accommodate
forms from 3"-15". The adjustable head can print 6-part forms
crisply and clearly making the DS180 ideal for printing multipart
invoices and shipping documents. Forms can be fed from the front
or the bottom.
If you would like more information on how the DS180's low-cost
total printer package can fill your application, give us a call at
Datasouth. The DS180 is available for 30-day delivery from our
sales/service distributors throughout the U.S.
data©®*
computer corporation
4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704/523-8500
SOFTWARE
DEUEIOPIDEIIT
TOOLS FOR
IRDUSTRV
CP/M CROSS-ASSEMBLERS
Fast, comprehensive cross-assemblers
to run under CP/M.* Extensive pseudo-
ops include full listing control, nested
conditonals, mnemonic synonyms, and
inclusion of external source files. Gen-
erate object file, assembly listing, and
symbol table from source code for nine
popular microprocessor families.
XASM05 6805
XASM09 6809
XASM18 1802
XASM48 8048
XASM51 8051
XASM65 6502
XASM68 6800/6801
XASMF8 F8/3870
XASM400 COPS400
Assemblers .... $200.00 each
Manual only $25.00
8048 DEVELOPMENT PACKAGE
Now you can use the 8048 family of
single-chip microcomputers without
buying expensive equipment. Develop
8048 software with the XASM48 cross-
assembler. Then plug our EPR-48 board
into your S-100 system to program the
8748 EPROM version. (Similar packages
for 8051 and TMS9940E coming soon.)
8048 Development Package . . . $574.00
EPR-48 alone $449.00
PROM EMULATOR BOARD
Debug dedicated systems quickly. Our
PSB-100 PROM Emulator is an S-100
board with up to 8K of RAM. Cable with
24-pin plug replaces PROM(s) in your
target system for instant program test-
ing.
PSB-100 PROM Emulator
$445.00 w/
2K RAM
'Trademark ol Digital Research
804 south state st.
dover, dela ware/1 9901 /302-734-01 51
Visa and Maslercharge accepted. We ship on
B" single-density. Ask us about other formats.
OEM AND DEALER INQUIRIES INVITED.
Job Manager
/\
/
\
Class for new
Job type A
Class for new
Job type B
Class for new
Job type C
Figure 5: Sub-objects in the ]ob Manager actually create the new ]ob objects.
Object
message
received
pointer .
pointer -
pointer to class
communication
channels to
other objects
Class
-dictionary
method
method
-method
method
Figure 6: All objects contain a pointer to a Class object that contains their message dic-
tionary and methods.
any Object
any Object
a Class object
>
any Object
a Superclass object
any Object
a Class object
any Object
Figure 7: The superclass-subclass chains of pointers. The user does not meet them
unless he wants to become a real Smalltalk expert.
connect itself to its Resource object.
From figure 3, we see that there is no
direct connection between the Job
Manager object and the resources.
We therefore have to go via the Pro-
duction Manager object to get the
pointer to the Resource object that we
give to the new Job object.
We finally insert the new list of
jobs into the productDictionary in the
Production Manager object and
return the product identification.
The Job Manager is built so that
Job objects may belong to several dif-
ferent classes. The different Job ob-
jects created would all understand the
160 August 1981 © BYTE Publications Inc
Circle 206 on inquiry card.
The One Printer Solution
for the Two Printer Problem.
HIGH SPEED
DATA PROCESSING
The new Dual-Mode 200 brings speed and un-
compromising print quality to business and pro-'
fessional applications.
Financial statements, inventory reports, la-
bels and more are printed at data processing
speeds from 165 cps to 250 cps.
Fully adjustable tractors and a friction feed
platen provide precise forms handling for pin-
feed and single sheet paper.
Complete "Dot Control" graphics is standard
with resolution to 120 x 144 dots per inch.
Interfacing is easy with both E.I. A. RS-232C
serial and an ASCII parallel port.
LETTER QUALITY
WORD PROCESSING
The Dual-Mode 200 also features letter per-
fect print you will be proud to use for business
letters and reports. Letter Mode speeds range
from 42 cps to 60 cps.
The standard Titan 10 pitch font is comple-
mented by an array of optional fonts including
Elite 12 pitch, italics, proportionally spaced,
OCR-A, scientific and foreign character sets.
Up to 12 font selections may be stored in the
printer and interchanged while printing.
The Dual-Mode 200 accepts standard daisy-
wheel print commands for word processing sys-
tem compatibility.
It's the perfect solution for the two printer
problem.
The Dual-Mode 200 Printer
for the one printer office.
Call or write today for complete specifications
2301 Townsgate Road, Westlake Village, CA 91361 , (805) 496-1990
a subsidiary of
Corr^oraoon
malibu
Electronics Corporation
DOTS DO IT BETTER™
Thousands of SoftwareHows' u users agree — SoftwareHows
products set a new standard of excellence for solution-oriented
software. Instant installation for your system, powerful "word
processing-like" editing facilities and consistentoperating
features make this SolutionWare'" the only serious choice for
your needs.
Payroll
Why settle for a piece
when you can have
the whole pie?!
At last! An integrated system of business
software ideal for you!
How often have you purchased software
on ly to be disappointed by its features or
frustrated by the inability of the different
programs to work together? Are you tired
of entering the same data into your Pur-
chase Ordering System when a part is or-
dered , into Inventory when it arrives, Payables
when it's invoiced and General Ledger when
it's paid for? Can you easily link your Account-
ing Data Base with your word processing software
to create personalized letters, reports, notices and
announcements?* Does your Point of Sale. Order
Entry software also save a keyed file which may later
be Sorted for over 60 customer characteristics and used
to generate personalized sales literature?
If you don't like your answers to these questions, your accounting
software is costing you money!
The Data Base Integration '"System from SoftwareHows " does all
this and much morel This newest software product offers the
perfect blend of performance, price and flexibility. Every single
transaction feeds your master records. This common data base
approach organizes all your business information so that every
module is fully interactive. The result of this vast and easy to use
data base is unique. You'll be amazed at how much better you'll
understand the operation and cash flow of your business! And
better understanding means better planning — and higher profits
for you!
The Data Base Integration System is built around the basic four
accounting tools: General Ledger provides those all important
balance sheets and income statements, Accounts Receivable and
Payable take care of invoice control in a jiffy, while Payroll with
Cost Accounting does your payroll and provides cost effective-
ness data. All packages fully interact and are self-checking. The
amazing Order-Right '"order entry system and MicroDaSys In-
ventory, give you one of the most complete sales management
and material requirements systems available. Output is processed
with lightning speed and meticulous accuracy: invoices, shipping
labels, charge slips and COD tags. Orders automatically interact
with Inventory and Receivables. If your stock is too low, Inventory
recommends the best source of supply and approximate prices to
pay. Upon authorization, a purchase order is generated. The
receiving department verifies receipt and the invoice is trans-
ferred to Accounts Payable.
The Data Base Integration Business System is $2500. And that's
for all seven packages! Now there's a deal too good to pass up!
It includes over 1500 pages of user documentation, and a supply
of computer forms. With our unique DBI Installation Program,
getting the complete package up and running on your system
is a breeze. Best of all, complete CBASIC source code is included
with every CBASIC package. Current disk formats include 8" soft-
sectored, 5" hard- and soft-sectored.
Call or Write for the SolutionWare " to meet
your software needs — today!
□
□
Ask your dealer why our
business software is the best!
A Complete 200 page Overview of all
SoftwareHows SolutionWare is yours
for just $75, refundable with purchase.
^
a&f
,TM
a division of MicroDaSys
PO Box 36275 Los Angeles, CA 90036
(213)731-0876 TWX310-321-2378
same message protocols, but they
would differ in their implementation.
For example, a job might be: wait for
24 hours while a resin glue is curing.
This does not need any resources, and
the planning of such a job would be
very simple — wait 24 hours. Another
kind of job, such as pouring concrete,
should not span a weekend, since
joining old and new concrete could
give weak spots in the product.
As is the case with Job objects, we
often find that several objects share
the same message protocols and pro-
cess the messages with the same
methods. Their only difference is that
they appear in different places in the
total system and that their instance
The Smalltalk user
should be able to
"open up" the
application object on
the screen to see Its
component parts and
to find out how they
work together.
variables point to different objects
(their states are different). Such ob-
jects are created by the same class ob-
ject and are said to belong to the same
class.
It would be very inefficient if each
object of a class stored a replica of the
message dictionary and all methods,
and it would be extremely tiresome if
we actually had to program each ob-
ject by itself. We, therefore, use the
concept of layering to let each and
every object enlist the services of its
class object in order to decode an in-
coming message and to select the pro-
per method to process it. This
mechanism is illustrated in figure 6.
As in so many other parts of
Smalltalk, we find a recursive argu-
ment.
Many classes are very similar; they
differ only in the handling of a few
messages. The different kinds of Job
objects are a case in point. It seems
reasonable to let a class object enlist
the services of a superclass object
whenever it is called upon to execute
methods it shares with other classes.
Program to Recover
"Crashed" Discettes AUTOMATICALLY!
Maybe it was a lightning storm, static from the rug, or just
too late at night to be working. Whatever the cause, when a
discette "crashes" and valuable data or programs are
destroyed, the loss is enormous, both in time and money.
DISK DOCTOR is a program which automatically recovers
bad discettes. Best of all DISK DOCTOR does not require any
knowledge of CP/M file structure! If you can operate CP/M,
then you can use DISK DOCTOR. The entire system is menu
driven with key information displayed.
DISK DOCTOR is comprised of five "wards", each capable of
performing a specific discette recovery operation.
• Ward A: Verifies discettes and locks out bad sectors without touching the
good files that remain.
• Ward B: Copies whatever can be read from a "crashed" file and places it
Into a good file under user control.
• Ward C: Copies discettes without stopping for bad sectors. Bad sectors are
replaced by spaces.
• Ward D: "Un-erases" files. That is, Ward D will recover accidentally erased
disk files.
• Ward E: Displays directory of recoverable erased files.
DISK DOCTOR will pay for itself the first time It is used.
Best of all, DISK DOCTOR operates almost complete automatically. The
small amount of user interaction is explained in the manual as well as
prompted by DISK DOCTOR.
Requires: 48K CP/M, two drives
needed for complete operation.
DISK DOCTOR: $100.00
Manual Alone: $ 10.00
CP/M Formats: 8" soft sectored, 5"
Northstar, 5" Micropolis Mod II,
Vector MZ, Superbrain DD/QD, Apple II +
SuperScft
First in Software Technology
All Orders and General Information:
SUPERSOFT ASSOCIATES
P.O. BOX 1628
CHAMPAIGN, IL 61820
(217)359-2112
Technical Hot Line: (217) 359-2691
(answered only when technician is
available)
CP/M REGISTERED TRADEMARK DIGTAL RESEARCH
Circle 351 on inquiry card.
August 1981 © BYTE Publications Inc 163
G®00gQQDu0®[7
G®DDQ[°)DaO®[?g mail order
This is just a sample of our everyday low prices.
APPLE II PLUS
16K
for only
$1025
48K
for only
$1129
Apple Disk II Drive w/controller
Disk II Drive, Add-On
5ilentype Printer
Hayes Micromodem II
Epson MX-80 w/apple card . .
$519
$439
$349
$299
$599
Videx
Videoterm
$269
FREE!
1982 Catalog
In order to keep our phone lines clear for your orders,
please mail this coupon to receive a free catalog
rWIE
ADDRE55 -
CITY.
.5TATE^
ZIP
Microsoft
Z-80
Softcard
$269
TOLL FREE ORDER LINE 800*85 4—6654
in California or outside
the continental U.S.
(714) 698-8088
5ee pages 474-475 for more discount prices and order information.
164 BYTE August 1981
Circle 89 on inquiry card.
INC A
OF
We're in the business of saving you money.
Let's Face It. When you order anything
through the mails you never really know who
you are dealing with. We at Consumer Comput-
ers realize this every time we talk to you or re-
ceive a letter from you. We do our darndest to
see that you not only get the information and
help you need to intelligently place your order,
but also that the price we give you is the best
you can get anywhere.
We've been around. Consumer Computers
has been actively serving people's computer
needs in the 5an Diego area for 5 years now.
We will still be here tomorrow, and the next day,
too. 5o when you deal with Consumer Comput-
ers, you can rest assured that you're dealing
with people that are thoroughly familiar with the
business of selling computers. We pledge to
see that any order placed with us is handled
with the utmost efficiency and care, from the
time the order is placed until it arrives at your
doorstep. And if you have a problem, we think
you will find that the expertise of our Service De-
partment Is unmatched for the quality of their
work, and the speed that they have your equip-
ment back into your hands where it belongs.
That's our promise.
Computers.
That's Consumer
G®LjQ§DaODQ®[r
oiinnii'o
mail order
5ee our advertisement on previous page
Circle 89 on Inquiry card.
BYTE August 1981 165
Many classes will then share the same
superclass; we get a tree-shaped class
structure as shown in figure 7. Note
that the purpose of this structure is
convenience in programming and ef-
ficiency in implementation; it belongs
on the lowest levels of the system
hierarchy and is not part of the struc-
ture of the application system.
Future Experiments
When personal computing becomes
sufficiently entertaining and in-
teresting to become a widespread
tool, the new user of a Smalltalk
system is likely to begin by using its
ready-made application systems for
writing and illustrating documents,
for designing aircraft wings, for doing
homework, for searching through old
court decisions, for composing music,
or whatever. After a while, he may
become curious as to how his system
works. He should then be able to
"open up" the application object on
the screen to see its component parts
and to find out how they work
together. He could, for example, see
And Tfiw, H6*wf6t tyu
VccU't *%*vc A &UUCC
Now you can provide your customers with another of those
little extras that makes them feel good about the sale
*f
s»"
... a complete packet of the most attractive
stock forms on the market. From the people whose only business is
you and your customer.
• OVER 200 STOCK FORMS TO CHOOSE FROM
• 7-WORK1NG DAY GUARANTEED RUSH SHIPMENT
• PERSONALIZED SERVICE AND QUALITY YOU WILL
LEARN TO COUNT ON
CALL NOW TOLL FREE
For free packets for the following systems: S •
■ Systems Plus • TCS • Structured Systems Group
• Vector • Peachtree • Radio Shack • Osborne •
• Alpha Micro • Durango ■ Warex • Cado •
VECTOR • BPI .'Iliiitejy/llaejilro
& Many More
NATIONWIDE
800-854-2750
Ch©CkS IN CALIFORNIA
TO-GO 800-552-8817
^U e/l ^** T &t4fo*twi4- 76a /i&en*taicvc 76&t "DeAviue
something like figure 1 together with
his usual user interface. By exercising
the application commands, the com-
puting process could be illustrated on
the system diagram. Using Smalltalk
to document itself in this manner
should make it possible to make some
novel and extremely powerful system
description tools.
The next thing the user might want
to do is to build new systems similar
to the one he has been using. A kit of
graphical building blocks would let
the user compose a new system by
editing the system diagram on the
screen. While the Trip system (as
described in reference 2) is not a pro-
per kit, it could be a good source of
ideas to the experimenter on building
such systems.
Finally, the expert user would want
to make his own kits. Even here, it is
important that he sees only what he
needs and that all unimportant details
are suppressed. Since what is impor-
tant in one context might be unimpor-
tant in another, and vice versa, the
concepts of filters (see reference 1)
will be an essential ingredient for the
experimenter when he develops tools
for these expert users.
Much experimenting needs to be
done before we learn how to make
systems that are self-documenting on
any level and that provide a smooth
and stumble-free transition from one
level to the next. It is hoped that the
availability of Smalltalk will lead to
great activity in this field, to the
benefit of all future computer users. ■
References
1. Goldberg, Adele and David Robson. "A
Metaphor for User Interface Design." Pro-
ceedings of the University of Hawaii
Systems Science Symposium, January
1979, Honolulu.
2. Gould, Laura and William Finzer. "A Study
of TRIP: A Computer System for
Animating Time-Rate-Distance
Problems." Proceedings of the IFIP World
Conference on Computers in Education
(WCCE-81), Lausanne, Switzerland, July
1981.
3. Ingalls, Daniel H H. "The Smalltalk-76 Pro-
gramming System. Design and Implemen-
tation." Conference Record of the Fifth
Annual ACM Symposium on Principles of
Programming Languages, Tucson,
Arizona, January 1978.
166 August 1981 © BYTE Publications Inc
Circle 52 on inquiry card.
TYPE-W-TAL.K IS T.N.T.
The exciting text-to-speech synthesizer
that has every computer talking.
• Unlimited vocabulary
• Built-in text-to-speech
algorithm
• 70 to 100 blts-per-second
speech synthesiser
Type-'N-Talk] u an important technological
advance from Votrax, enables your com-
puter to talk to you simply and clearly —
with an unlimited vocabulary. You can
enjoy the many features of Type-'N-Talk,"
the new text-to-speech synthesizer, for
just $375.00.
You operate Type-'N-Talk" by simply typ-
ing English text and a talk command.
Your typewritten words are automatically
translated into electronic speech by the
system's microprocessor-based text-to-
speech algorithm.
The endless uses of
speech synthesis.
Type-'N-Talk'"adds a whole new world of
speaking roles to your computer. You can
program verbal reminders to prompt you
through a complex routine and make your
computer announce events. In teaching,
the computer with Type-'N-Talk'"can
actually tell students when they're right
or wrong — even praise a correct answer.
And of course, Type-'N-Talk'"is great fun
for computer games. Your games come to
life with spoken threats of danger, re-
minders, and praise. Now all computers
can speak. Make yours one of the first.
Text-to-speech is easy.
English text is automatically translated
into electronically synthesized speech
with Type-'N-Talk.'" ASCII code from
your computer's keyboard is fed to
Type-'N-Talk' u through an RS 232C inter-
face to generate synthesized speech,
lust enter English text and hear the verbal
response (electronic speech) through your
audio loud speaker. For example: simply
type the ASCII characters representing
"h-e-1-l-o" to generate the spoken
word "hello."
TYPE-'N-TALK "has its
own memory.
Type-'N-Talk' K 'has its own built-in micro-
processor and a 750 character buffer to hold
the words you've typed. Even the smallest
computer can execute programs and speak
simultaneously. Type-'N-Talk , "doesn't have
to use your host computer's memory, or tie it
up with time-consuming text translation.
Data switching capability
allows for ONLINE usage.
Place Type-'N-Talk "between a computer
or modem and a terminal. Type-'N-Talk"
can speak all data sent to the terminal
while online with a computer. Information
randomly accessed from a data base can
be verbalized. Using the Type-'N-Talk'"
data switching capability, the unit can be
"de-selected" while data is sent to the ter-
minal and vice-versa — permitting speech
and visual data to be independently sent
on a single data channel.
Selectable features make
interfacing versatile.
Type-'N-Talk'"can be interfaced in several
ways using special control characters.
Connect it directly to a computer's serial
interface. Then a terminal, line printer, or
additional Type-'N-Talk'"units can be
connected to the first Type-'N-Talk)"
eliminating the need for additional
RS-232C ports on your computer.
Using unit assignment codes, multiple
Type-'N-Talk '"units can be daisy-chained.
Unit addressing codes allow independent
control of Type-'N-Talk'"units and
your printer.
Look what you get for $375.00.
TYPE-'N-TALK' comes with:
• Text-to-speech algorithm
• A one-watt audio amplifier
• SC-01 speech synthesizer chip (data
rate: 70 to 100 bits per second)
• 750 character buffer
• Data switching capability
• Selectable data modes for versatile
interfacing
• Baud rate (75-9600)
• Data echo of ASCII characters
• Phoneme access modes
• RS 232C interface
• Complete programming and installation
instructions
The Votrax Type-'N-Talk" is one of the
easiest-to-program speech synthesizers on
the market. It uses the least amount of
memory and it gives you the most flexible
vocabulary available anywhere.
Order now. Toll free.
| Call the toll-free number below to
I order or request additional infor-
mation. MasterCard or Visa
I accepted. Charge to your credit
I card or send a check for $375.00
plus $4.00 delivery. Add 4% sales
I tax in Michigan.
1-800-521-1350.
Dealer Inquiries Invited
Circle 398 on Inquiry card.
Distributed by Vodex
A Votrax Company — Dept. RT
500 Stephenson Highway, Troy, MI 48084
(313) 588-0341
Type-'N-Talk rw is covered by a limited warranty.
Write Votrax for a free copy.
The Smalltalk Graphics Kernel
Daniel H H Ingalls
Learning Research Group
Xerox Palo Alto Research Center
3333 Coyote Hill Rd
Palo Alto CA 94304
Graphics are essential to the
quality of an interactive program-
ming system and to the interactive
applications that go along with such a
system. Qualitatively, people think
with images, and any system that is
incapable of manipulating images is
incapable of augmenting such
thought. Quantitatively, a person can
visually absorb information equiva-
lent to millions of characters a se-
cond, while the normal rate for
reading text is less than 100 characters
a second.
For the graphical interaction cycle
to be complete, a computer system
must provide a channel for input in
the visual domain as well. While the
projection of images from the realm
of thought into the space of electronic
information seems an impossible
task, a well-designed pointing device
can effectively harness the computer's
graphical output capability to express
graphical input from the user. Given
such a pointing device, the process of
selecting from graphical objects, such
as text displayed on the screen, is
natural and rapid. By tracking the
pointer with a program that simulates
a pen or paintbrush, the visual input
channel can be extended to include
line drawing and freehand sketches.
The purpose of graphics in the
Smalltalk system is to support the
reactive principle:
Any object accessible to the user
should be able to present itself in a
meaningful way for observation and
manipulation.
Meaningful presentation of any ob-
ject in the system demands maximum
control over the display medium, and
many technologies fall short in this
respect. One approach that provides
the necessary flexibility is to allow the
brightness of every discernible point
in the displayed image to be in-
dependently controlled. The simplest
implementation of this approach is a
contiguous block of storage in which
the setting of each bit (1 or 0) is
mapped into dark or light illumina-
■ *w *¥'^»'*; .
■
*_ . I
hzl
XI h'OK ...
Photo 1: An example of a Smalltalk-80
video display. Note the multiple win-
dows, the combinations of text and
graphics, and the pointer in the window
marked "UserView workspace. "
tion of the corresponding picture ele-
ment, or pixel, when displaying or
combining with other images. The
block of storage is thus referred to as
a bitmap, and this type of display is
called a bitmap display. The simplest
form of bitmap allows only two
brightness levels, white and black.
The Smalltalk-80 graphics system is
built around this model.
Photo 1 shows a typical view of the
Smalltalk-80 system, and it illustrates
the wide range of graphical idiom
implied by the reactive principle. Rec-
tangular areas of arbitrary size are
filled with white, black, and various
halftone patterns. Text, in various
typefaces, is placed on the screen
from stored images of the individual
characters. Halftone shades are
"brushed" by the user to create
freehand paintings. Moreover,
although not shown on the printed
page, images on the display may be
moved or sequenced in time to pro-
vide animation.
Graphical Storage — Forms
Simple images are represented by
instances of class Form. A Form has
height and width and a bitmap that
indicates the white and black regions
of the particular image being
represented. Consider, for example,
the arrow-shaped Form that appears
in the lower-right window of the
screen image in photo 1. The internal
representation of this Form is
depicted in figure 1. Its height is 16,
its width is 8, and its appearance is
described by the pattern of ones and
zeros (shown as light and dark
squares) in its bitmap. The height and
width of the Form serve to impose the
5
10
5
J L-L
Figure 1: A simple Form representing the
cursor in photo 1.
168 August 1981 © BYTE Publications Inc
11 12 13 14
The new Memorex® M Formula magnetic coating
has been widely accepted by major OEM drive manufac-
turers. Now M Formula is redefining performance and
reliability standards for removable rigid disc products on
all existing and new generation drives as well. M Formula,
containing our exclusive Hi/Oxide™ formulation,
offers the highest signal to noise ratio —
up to 30 dB at 10,000 flux changes per
inch — of any rigid media in the industry.
With higher performance margins and
protection against random errors, you're
assured greater data integrity.
Our revolutionary Hi/Oxide coating
provides higher coercivity, which allows
stronger and more consistent magnetic properties. Hi/Oxide
coating also forms a uniformly smooth, hard surface that
sets new standards for durability.
It all adds up to virtually trouble-free data handling.
But most importantly, the new M Formula helps ensure the
highest levels of data integrity in disc packs or cartridges.
To help you compare and evaluate
rigid media, send for a free copy of the
booklet, "Critical Factors in Purchasing
Rigid Media'.' Write to Debi Garringer,
Memorex Rigid Media and Components
Division, 1 1 25 Memorex Drive, Santa Clara,
CA 95052 or call (800) 538-8028; in
California (408) 987-2064.
MEMOREX
For twenty years, the expression of excellence.
1981 MEMOREX CORPORATION MEMOREX IS A REGISTERED TRADEMARK OF MEMOREX CORPORATION.
Circle 214 on Inquiry card.
fc
RAM FOR ATARI
Get the most from your ATARI 400. Memory
expansion to a full 48K is now possible with our
48K board. Expand your ATARI 800 with our 32K
board.
Available now - see your local
computer dealer.
48K Board 32K Board
$299. 00 $199.
00
77/ tec
3387 Del Rosa Avenue North Suite No. m
San Bernardino, CA 92404 Telephone (714) 864-5269
atari is the trademark of atari, inc.
Circle 171 on Inquiry card.
10 20 30 40 50
destForm
destX = 67
destY = 10
width = 7
height = 13
sourceForm:
sourceX = 248 10
sourceY =
Figure 2: Copying a character of text from a source Form (bottom) to a destination Form (top).
appropriate two-dimensional order-
ing on the otherwise unstructured
data in the bitmap. We will return to
the representation of Forms in more
detail later in this article.
A complex image can be rep-
resented in either of two ways: by a
very large Form, or by a structure
that includes many Forms and rules
for combining and repeating them in
order to produce the desired image.
The freehand drawing in the center of
photo 1 is an example of the former,
and the text below it is an example of
the latter.
The large unstructured Form has an
additional use of great importance: it
can be presented to the display hard-
ware as a buffer in memory of the
actual data to be shown on the
display terminal. We refer to the
Form which is so used as the
displayForm. Since the interface to the
hardware is through a Form, there is
no difference between combining
images internally and displaying
them on the screen. Animation can be
done simply in this manner: one Form
serves as the displayForm while the
next image to be displayed is
An Acoustic
Coupler for $125.
The Omnitec Model 715 (originate only) has the necessary
features, needed to expand any business or home
computer systems capability: 0-450 baud data rate,
RS232 compatibility and carrier detect at a low c^^
factory-direct price of $125. Or, select the Model 770 < ^^w
at $179.00 for originate or answer communications
Both models carry a one year warranty.
tfjjjN OMNITEC DATA ^/
V||liy 2405 South 20th Street • Phoenix. Arizona 05034 f
PRICES INCLUDE SHIPPING &
WHEN PRE-PAID
"3 + c?
Lmt-J
Circle 280 on Inquiry card.
August 1981 © BYTE Publications Inc 171
Circle 319 on inquiry card.
You can save buying whole-
sale through our firm. As your
agent we will buy computers
on the wholesale market for
you. Our fee is one fourth of
what we save you off list price.
Access to over 500 manufac-
turers. Minimum fee of $75 per
V order. Call for other prices. j
COMPUTERS
Alpha Micro 10MEG
Altos 8000-10
Altos 8000-1 5
Archives 64K QD
Compustar Model 30
Cromemco System 3
Dynabyte64K2MEG
Calif. Comp. B4K 1 MEG
Ithaca System 2A
Televideo Sys. I
DISK DRIVES
Corvus 5 MEG Hard
Con/us 20 MEG Hard
Morrow 26 MEG Hard
CRTS
ADDS View Point
DEC VT 100
Hazeltine Esprit
IBM 3101 Model 10
Lear Siegler ADM 3A +
Leedex 13 "Color Monitor
NEC 12" Monitor
Televideo TVI 910
Televideo 950
Visual 200
PRINTERS
Anadex9501
Centronics 737
Diablo 630 R/0
Epson MX80
IDS Paper Tiger 460 G
IDS 5B0/g
NEC 5510 w/Tractor
C. Itoh 25 cps
Tl 810 Basic
Whse.
Fee |
511,204 $1,243
5,695
701
4.014
494
4.450
512
3.595
225
5.357
659
5.929
691
3,987
427
2.520
270
2.600
349
2.588
290
4.450
500
3.596
349
505
36
1.305
130
565
45
1.140
60
710
58
350
25
190
18
545
39
835
90
765
107
1,150
125
650
86
1.795
200
410
58
1.020
94
1.220
119
2.360
164
1,200
175
1,355
135
249
63
200
" J
prepared in a second Form. As each
image is completed, the two Forms
exchange roles, causing the new
image to be displayed and making the
Form with the old image available for
building the next image in sequence.
Graphical Manipulation — BitBlt
To support a wide range of
graphical presentation, we have
specified a kernel operation on Forms
that we call BitBlt. All text and
graphic objects in Smalltalk are
displayed and modified using this
single graphical primitive. The author
wrote the original design in October
1975 with the advice and support of
Diana Merry. After five years' ex-
perience, we have felt the need for
only minor changes, and these im-
provements are largely due to Bob
Flegal and Bill Bowman. The re-
mainder of this article describes the
current BitBlt primitive in detail— its
specification, examples of its use,
and, finally, the details of its im-
plementation.
One of the first computers on
which a Smalltalk system was im-
plemented had an instruction called
BLT for block transfer of 16-bit
words. The name BitBlt derives from
the generalization of data transfer to
arbitrary bit locations, or pixels.
BitBlt is intentionally a very general
operation, although most applica-
tions of it are graphically simple, such
as "move this rectangle of pixels from
here to there."
A specific application of BitBlt is
governed by a list of parameters that
includes:
• destForm — a Form into which pixels
will be stored by BitBlt
• sourceForm — a Form from which
pixels may be copied
• halftoneForm — a Form containing a
spatial halftone pattern
• combinationRule— an Integer speci-
fying the rule for combining cor-
responding pixels of the sourceForm
and destForm
• destX, destY, width, height-
Integers specifying the rectangular
subregion to be filled in the destina-
tion
• clipX, clipY, clipWidth, clipHeight —
Integers specifying a rectangular
boundary that further restricts the af-
fected region of the destination
• sourceX, sourceY — Integers specify-
ing the location (top left) of the
subregion to be copied from the
source
In the remainder of this section, we
examine the effect of each of these
parameters in greater detail.
Source and Destination Forms
Figure 2 illustrates the process of
copying a character of text into a
region on the display. This operation
will serve to illustrate most of the
characteristics of BitBlt. The copy
operation involves two Forms, a
source and a destination. The source
in this example is a font containing a
set of character glyphs depicted in
some uniform style and scale and
packed together horizontally. Pixels
are copied out of the source (the font)
and stored into the destination (the
display). The width and height of the
transfer correspond to the character
size. The source x and y coordinates
give the character's location in the
font, and the destination coordinates
specify the position on the display
where its copy will appear.
Clipping Rectangle
In its specification, BitBlt includes a
rectangle that limits the region of the
destination that can be affected by its
operation, independent of the other
destination parameters. We call this
rectangle the clipping rectangle.
Often it is desirable to display a par-
tial window onto larger scenes, and
the clipping rectangle ensures that all
picture elements fall inside the
bounds of the window. By its inclu-
sion in the BitBlt primitive, the clip-
ping function can be done efficiently
and in one place, rather than being
replicated in all application pro-
grams. Figure 3 illustrates the result
of imposing a clipping rectangle on
the example of figure 2. Pixels that
would have been placed outside the
clipping rectangle (the left edge of the
"N" and half of the word "the") have
not been transferred. If other
characters had fallen above or below
this rectangle, they would have been
clipped similarly.
172 August 1981 © BYTE Publications Inc
Circle 369 on inquiry card.
Uni versatility/
It's as easy as 1. 2. 3.
'Universatility' can be found in three versions
of Synertek Systems' SYM single board computer
— the versatile, universal evaluation board.
Over 20,000 SYM-1 boards have been used for
learning about and evaluating 6502 microprocessors
for specific applications. OEM SYM boards are used in
hundreds of products.
Now Synertek Systems presents the new SYM-1 /68
for 6802 microprocessors, and the SYM-1 /69 for 6809
microprocessors. These boards are designed to reliably
perform the same functions as the SYM-1 board for
these popular microprocessors. Each SYM board is
complete and ready-to-use with its own version of
the 4K byte ROM SUPERMON monitor firmware.
Modification kits are also available to quickly and
easily convert existing SYM-1 boards to SYM-1 /68 or
SYM-1 /69 microcomputers.
Build on your microprocessor knowledge with
the 'universatility' of SYM microcomputer boards from
Synertek Systems.
Every SYM-1, SYM-1 /68, and SYM-1 /69 single
board computer features:
• 28 double-function keypad with audio response
• 4K byte ROM resident SUPERMON with over 30
standard monitor functions and expandable for
individual requirements
• Up to 24K bytes of available program memory
• Expansion to 4K bytes of on-board static RAM
• Expansion to 71 Input/Output lines
• Single +5V power supply required
• Standard interfaces for audio cassette with remote
control, 185 bytes/second cassette format, TTY and
RS-232-C, system expansion bus, four I/O buffers,
and oscilloscope single-line display
Synertek
Systems
RO. Box 552 Santa Clara, CA 95052
Telephone: (408) 988-5689
TWX: 910-338-0135
Dealer inquiries invited.
destForm:
clipX = 6
clipY = 4
clipWidth = 58
clipHeight = 23
10 20 30 40 50
H
10
20
30
40 —\
60 70
80
111
■■I
I!
Figure 3: An example of using a clipping window on the illustration in figure 2.
Halftone Form
It is often desirable to fill areas with
a regular pattern that gives the effect
of gray shading or texture. To this
end, BitBlt provides for reference to a
third Form (halftoneForm) containing
the desired pattern. This Form is
restricted to a height and width of 16.
When halftoning is specified, this pat-
tern is effectively repeated every 16
units horizontally and vertically over
the entire destination. There are four
"modes" of supplying pixels from the
source and halftone controlled by
eliding (supplying nil for) sourceForm
or halftoneForm:
• Mode — No source, no halftone
(supplies solid black)
• Mode 1 — Halftone only (supplies
halftone pattern)
Peachtree Software™ Announces-
TM
SALES TRACKER
k3olved! The case of ineffective business
control. Now Sales Tracker microcompu-
ter software gives business managers
unprecedented control over lifestream
activities.
You get ANSI COBOL, floppy and hard
disk support, and a modular format that
lets you install packages as you need them.
And look at these outstanding features.
Accounts Receivable: Multiple com-
panies on one disk. Nine selectable re-
ports including G/L sales and receivables,
customer classes, and sales tax routines.
Sales Analysis: Reports by salesman
(with commission), product class, inventory item
tomer, item by customer, and customer by item.
Order Processing: Handles multiple
shipping locations, automatic discount-
ing, partial shipments, back orders,
demand invoicing, full order status and
maintenance.
Inventory: Multiple companies on one
disk; reports by class, warehouse, price
level and quantity break; automatic
price updating; maintains items option-
ally by case, lot or serial number.
Values to why Sales Tracker is so easy to
use? Excellent documentation, sample
data files, conversant menu-driven pro-
grams, and standardized formats. For information call
800-835-2245 ext. 35 (Kansas, 800-362-2421, ext. 35)
PEACHTREE SOFTWARE, 3 Corporate- Square, Suite 700, Atlanta, Georgia 30329 (404) 325-8533
Telex II: 810-751-0273 PEACHTREE ATI..
174 August 1981 © BYTE Publications Inc
Peachtree Software and Sales Tracker are trademarks of Peachtree Software Incorporated.
Circle 304 on Inquiry card.
Circle 267 on Inquiry card.
Easy on your eyes
and your budget,
■ ■
'•/.*.
VK
■" ** CMOS! FK t ,_ '
d « dkm« V UIEW,HC
lH0O«Tti/ P "**
IkMjAfcfr
This high quality professional computer monitor
provides sharp, clear display of up to 80 characters by
25 lines of text, making it ideal for word processing as
well as standard business applications.
Lightweight industrial grade construction gives
maximum portability with reliable operation.
Color monitor also available for Apple,' Atari B and
other popular computers. See your authorized NEC
America Dealer.
80 character display makes it ideal for word
processing and scientific applications.
SEC
■■ -vv r Cc nputei
Of AFJ
NEC America, Inc.
1401 Estes Avenue
Elk Grove Village, IL 60007
modeO
all ones
model
halftone only
mode 2
source only
Figure 4: BitBlt's four possible source modes.
mode 3
source AND halftone
• Mode 2 — Source only (supplies
source pixels)
• Mode 3— Source AND halftone
(supplies source bits masked by
halftone pattern)
Figure 4 illustrates the effect of these
four modes with the same source and
Source Before S
destination and a regular gray
halftone.
Combination Rule
The examples above have all stored
their results directly into the destina-
tion. There are actually many pos-
sible rules for combining each source
D Destination Before
D' Destination After
Figure 5: A BitBlt combination diagram. This diagram, when filled in, specifies the ef-
fects of a given combination (or "rule") on all combinations of dark and light source and
destination cells. Each combination is given a number equal to the sum of the cells that
are darkened. See figure 6 for examples.
element S with the corresponding
destination element D to produce the
new destination element D'. Such a
rule must specify a white or black
result for each of the four cases of
source being white or black and
destination being white or black.
Figure 5 shows a box with four cells
corresponding to the four cases en-
countered when combining source (S)
and destination (D). For instance, the
cell numbered 2 corresponds to the
case where the source was black and
the destination was white. By ap-
propriately filling the four cells with
white or black, the box can be made
to depict any combination rule (there
are sixteen possible rules altogether).
The numbers in the four cells relate
the rule as depicted to the integer
value that selects that rule. For in-
stance, to specify that the result
DISASTER INSURA
PROTECT YOUR HARDWARE §
FROM THE UNEXPECTED.
Not to men ion the unavoidable pollutants in the air.
Performance rot bing dust, grime, spills and static electricity.
Cover Craft Dust Covers help extend the useful life of
your computer equipment at a fraction of the cost.
Perhaps that's why more people throughout the world
rely on Cover Craft Dust Covers than a
Visit your loc
Oust Covers lor most terminals, disks, printers, modems, etc. y'
$8.95-$15.95
C Shipping extra.
COVER CRAFTccrp
PO Box 555, Amherst, NH 03031 • (603) 889-6811
JTff
I
3
*4i.
-ft**"
^*J
176 August 1981 © BYTE Publications Inc
Circle 92 on inquiry card.
Pure Computing Power
The MicroFrame® is Pure Power for comput-
ing. It rs the industry standard for high quality,
reliable S-100 mainframes.
TEI manufactures each MicroFrame® with
great care. They deliver pure regulated power
at the proper level, improving the reliability of
your computer. Typically, the output voltages
remain virtually constant, even when the pow-
er line voltage varies widely. The MicroFrame®
will never notice a brown-out . . .and it provides
100 db noise rejection, protecting your com-
puterfrom power line voltagespikes and noise.
Complies with l-EEE S-100.
The combination of the lowest noise bus, a
regulated power system and a rugged chassis
produces a MicroFrame® without equal.
Distributor and OEM Inquiries Invited
For more information, call Rick Barnes at (713) 738-2300
Circle 381 on inquiry card.
5075 S. LOOP EAST, HOUSTON, TX. 77033
(713)738-2300 TWX. 910-881-3639
rule 3
D" = S
rule 7
D" = SORD
rule 1
D' = SANDD
should be black wherever the source
or destination (or both) was black,
we would blacken the cells numbered
4, 2, and 1. The associated integer for
specifying that rule is the sum of the
blackened cell numbers, or 4 + 2
+ 1 = 7.
Figure 6 illustrates four common
combination rules graphically. Each
is described by a combination
diagram, its integer rule number, and
the actual logical function being ap-
plied. The earlier case of ORing can
be seen in left center of the figure.
This case is often described as paint-
ing "under" the destination because
existing black areas remain black.
Smalltalk Access to BitBlt
In this section, we present the
Smalltalk interface to BitBlt and take
a detailed look at the application of
BitBlt to text display and line draw-
ing. In preparation, you will need
some additional context, which we
present here before describing class
BitBlt.
Besides class Form, two additional
classes are used extensively in work-
ing with stored images, Point and Rec-
tangle. Points contain x and y coor-
dinate values and are used for refer-
ring to pixel locations relative to the
top left corner of a Form (or other
point of reference). By convention, x
increases to the right and y down,
consistent with the layout of text on a
page and the direction of TV scan-
ning. A Rectangle contains two
Points: origin, which specifies the top
left corner, and corner, which in-
Figure 6: Four common combination rules.
dicates the bottom right corner of the
region described. Class Point pro-
vides protocol for access to the coor-
dinates and for various useful opera-
tions such as translation and scaling.
Class Rectangle provides protocol for
access to all the coordinates involved
and other operations such as intersec-
tion with other rectangles. It may be
useful to note the parallel between
classes Point, Rectangle, Form and
classes Number, Interval, Indexed-
Collection. Numbers index Collec-
tions and Points index Forms. Inter-
vals select subCollections, and Rec-
tangles select subForms.
Figure 7 shows the complete
representation of the Form shown in
figure 1. The width and height are
stored as Integers. The actual pixels
are stored in a separate instance of
class Bitmap. Bitmaps have almost no
protocol, since their sole purpose is to
provide storage for Forms. They also
have no intrinsic dimensionality,
apart from that projected by their
own Form, although the figure retains
this structure for clarity. It can be
seen that space has been provided in
Form
bitmap
width =
8
height =
16
rule 6
D' = S XOR D
the Bitmap for a width of 16; this is a
manifestation of the hardware
organization of storage and process-
ing into 16-bit words. Bitmaps are
allocated with an integral number of
words for each row of pixels. The in-
tegral constraint on row size
facilitates movement from one row to
the next during the operation of BitBlt
and during scanning of the display
screen by the hardware. While this
division of memory into words is
significant at the primitive level, it is
encapsulated in such a way that none
of the higher-level graphical com-
ponents in the system need consider
word size.
Class BitBlt
The most basic interface to BitBlt is
through a class of the same name.
Each instance of BitBlt contains the
parameters necessary to specify a
BitBlt operation. The BitBlt protocol
includes messages for initializing the
parameters and one message,
copyBits, that causes the primitive
operation to take place. The class
template for BitBlt is given in table 1.
10 —
Figure 7: The complete representation of figure 1.
178 August 1981 © BYTE Publications Inc
Circle 254 on inquiry card.
&
STD-BUS
BOARDS
Announcing
a major price
reduction.
MOSTEK,
Mostek, the world's largest
manufacturer of STD-Z80 BUS
microcomputer boards, is cutting
board prices by an average of 30%.
How can we do it? High volume.
Automated equipment. Advanced
manufacturing techniques.
Our price reduction is evidence
that STD-Z80 BUS microcomputer
boards are following traditional
VLSI learning curve trends. And
now, more than ever, these sys-
tem level components are the
cost-effective edge. For prototyp-
ing. For new designs. For rede-
signs. For volume applications.
STD-Z80 BUS microcomputer
boards give you faster turn-
around. More flexibility. More
options. More effective use of an
engineer's time. And now a price
reduction that puts all other sys-
tems, and all other design op-
tions, in the same category:
over-priced.
Send for our new price list.
Call or write Mostek Micro Sys-
tems, 1215 West Crosby Road,
Carrollton, Tfexas 75006. Phone
(214) 323-1829. In Europe, con-
tact Mostek Brussels, phone
762.18.80.
STD-BUS
BOARD PRICES
REDUCED BY 30%
1 1981 Mostek Corporation
class name
BitBIt
superclass
Object
instance variable names
destForm sourceForm halftoneForm
combinationRule destX destY width height
clipX clipY clipWidth clipHeight
sourceX sourceY
instance messages and methods
setup
destForm: forml sourceForm: form2 halftoneForm: form3 rule:
rule destRectangle: destRectangle clipRectangle: cllpRectangle
sourceOrlgln: sourceOrlgln | |
destForm — form 1 .
sourceForm — form2.
halftoneForm — form3.
combinationRule — rule.
destX — destRectangle minX.
destY — destRectangle minY.
width — destRectangle width,
height — destRectangle height.
clipX — clipRectangle minX.
clipY — clipRectangle minY.
clipWidth — clipRectangle width.
clipHeight — clipRectangle height.
sourceForm = = nil ifFalse:
[sourceX «- sourceOrigin x.
sourceY — sourceOrigin y],
self copyBits
operations
copyBits | | < primitive >
Table 1: Class template for class BitBlt.
operation to the next. This situation
occurs frequently in the graphics
kernel, as demonstrated in the follow-
ing section.
Image Synthesis of Text
Much of the graphics in the
Smalltalk system consists of text and
lines. These high-level entities are
synthesized by repeated invocation of
BitBIt. In this section and the next, we
examine these two important applica-
tions more closely.
One of the advantages derived
from BitBIt is the ability to store fonts
compactly and to display them using
various combination rules. The com-
pact storage arises from the possibili-
ty of packing characters horizontally
one next to another (as shown in
figure 2), since BitBIt can extract the
relevant bits if supplied with a table
of left x coordinates of all the
characters. This is called a strike for-
mat, from the typographical term
meaning a contiguous display of all
the characters in a font.
The scanning and display of text is
performed in the Smalltalk-80 system
by a subclass of BitBIt. This subclass
inherits all the normal state, with
destForm indicating the Form in
which text is to be displayed and
sourceForm indicating a Form con-
taining all the character glyphs side
by side (as in figure 2). In addition,
this subclass defines further state in-
formation, including:
The state held in an instance of BitBIt
allows multiple operations in a
related context to be performed
without the need to repeat all the
setup. For example, when displaying
a scene in a display window, the
destination Form and clipping rec-
tangle will not change from one
• text— a String of Characters to be
displayed
• textPos— an Integer giving the cur-
rent position in text
Bower-StGwart S* Associates software and hardware design
SGOLD DISKS CP/M® Compatible Z-80 Software
Available for all 8-5" SS-SD IBM format systems including TRS-80®, Northstar, SD Systems. Also available on 5" double density Superbrain.®
$175.
ppd
Un-can your canned software!
Z-80 Disassembler Feel couped up with your
canned software? Our Z-80 Disassembler
recreates assembly language source files from
absolute code enabling users to easily tailor
programs to meet their specific needs. The
Preconditioner works with the Disassembler to
decode ASCII.
Credit cards Immediate service, tree 24 hr phone - we will
credit invoice Checks. M.O.*s: Ten workday hold CA res- Add tax
$50.
ppd
^B ;^g
Great looking letters & reports!
E-Z Text A unique word processor organized
around user-created text files, embellished
with simple control commands, which supports
such 'BIG GUYS' features as Automatic Foot-
noting, Table Spacing, Heading, Paging, Left
& Right Margins, Proportional Spacing and
MORE, at a 'LITTLE GUYS' price tag.
State system & controller Allow time for surface mail
Trademarks Digital Research. Radio Shack. Intertec
POST OFFICE BOX 1389 HAWTHORNE, CALIFORNIA 90250 213/676-5055
180 August 1981 © BYTE Publications Inc
Circle 37 on inquiry card.
The Text Solution for APPLE II®
Now APPLE II® Owners Can Solve Text Problems
With VIDEOTERM 80 Column by 24 Line Video Display
Utilizing 7 X 9 Dot Character Matrix
Perhaps the most annoying shortcoming of the Apple II* is its limitation of displaying only 40 columns by 24 lines of
text, all in uppercase. At last, Apple II® owners have a reliable, trouble-free answer to their text display problem.
VIDEOTERM generates a full 80 columns by 24 lines of text, in upper and lower case. Twice the number of characters as
the standard Apple II- display. And by utilizing a 7 by 9 character matrix, lower case letters have true descenders. But
this is only the start.
VIDEOTERM, MANUAL,
SWITCHPLATE
VIDEOTERM
Other
Boards
I'llU'llH,-,/
B123456789. •;<•>?
fflBCDEFGHIJKLMNO
PORSTUVHXYZm*.
'dbcdefghijk Inno
p q r s t v v ii x y z { ! ) * I
7X12 MATRIX
18X80 OPTIONAL
! 'Kit ' ( )!♦, -. /
112345(789 : i < = > ?
(ABCDEF6HIJKLHN0
MISTIVIXTZtMt.
'jbcdtfjhijklino
pqrstuvuxyz{!)"|
7X9 MATRIX
24X80 STANDARD
Advanced
Hardware
Design
Available
Options
VIDEOTERM lists BASIC programs, both Integer and Applesoft, using the entire 80
columns. Without splitting keywords. Full editing capabilities are offered using the
ESCape key sequences for cursor movement. With provision for stop/start text
scrolling utilizing the standard Control-S entry. And simultaneous on-screen display
of text being printed.
Installation of VIDEOTERM in slot 3 provides Pascal immediate control of the
display since Pascal recognizes the board as a standard video display terminal and
treats it as such. No changes are needed to Pascal's MISC. INFO or GOTOXY files,
although customization directions are provided. All cursor control characters are
identical to standard Pascal defaults.
The new Microsoft Softcard' is supported. So is the popular D. C. Hayes Micro-
modem II' , utilizing customized PROM firmware available from VIDEX. The power-
ful EasyWriter" Professional Word Processing System and other word processors
are now compatible with VIDEOTERM. Or use the Mountain Hardware ROMWriter'
(or other PROM programmer) to generate your own custom character sets. Natural-
ly, VIDEOTERM conforms to all Apple OEM guidelines, assurance that you will have
no conflicts with currenl or future Apple II' expansion boards.
VIDEOTERM's on-board asynchronous crystal clock ensures flicker-free character display.
Only the size of the Pascal Language card, VIDEOTERM utilizes CMOS and low power con-
sumption ICs, ensuring cool, reliable operation. All ICs are fully socketed for easy
maintenance. Add to that 2K of on-board RAM, 50 or 60 Hz operation, and provision of power
and input connectors for a light pen. Problems are designed out, not in.
The entire display may be altered to inverse video, displaying black characters on a white
field. PROMs containing alternate character sets and graphic symbols are available from
Videx. A switchplate option allows you to use the same video monitor for either the
VIDEOTERM or the standard Apple II* display, instantly changing displays by flipping a
single toggle switch. The switchplate assembly inserts into one of the rear cut-outs in the
Apple II" case so that the toggle switch is readily accessible. And the Videx KEYBOARD
ENHANCER can be installed, allowing upper and lower case character entry directly from
your Apple II" keyboard.
1K of onboard ROM firmware controls all operation of the VIDEOTERM. No machine
language patches are needed for normal VIDEOTERM use.
Firmware Version 2.0
Characters
Options
7x9 matrix
7 x 12 malrix option;
Alternate user definable
character set option;
Inverse video option.
Display
24 x 80 {full descenders)
18 x 80 {7 x 12 matrix with full descenders)
Want to know more? Contact your local Apple dealer today for a demonstration. VIDEOTERM is available
through your local dealer or direct from Videx in Corvallis. Oregon. Or send for the VIDEOTERM Owners
Reference Manual and deduct the amount if you decide to purchase. Upgrade your Apple II' to full terminal
capabilities for half the cost of a terminal. VIDEOTERM. At last.
Apple II" is a trademark of Apple Compuier Inc.
ROMWriter' is a trademark ol Mountain Hardware Inc.
Micromodem II' is a trademark ol D. C Hayes Associates Inc
Softcard' is a Irademark of Microsoft
EasyWrilef is a Irademark of Inlormalion Unlimited Software Inc
• VIDEOTERM includes manual $345
• SWITCHPLATE $ 19
• MANUAL refund with purchase. . . .$ 19
•7x12CHARACTERSET $ 39
• MICROMODEM FIRMWARE $ 25
APPLE II® OWNERS!
introducing the
KEYBOARD & DISPLAY
ENHANCER
'PUT THE SHIFT AND SHIFT LOCK BACK WHERE IT BELONGS
■ SEE REAL UPPER AND lower CASE ON THE SCREEN
•ACCESS ALL YOUR KEYBOARD ASCII CHARACTERS
Videx has the perfect companion for your
word processor software: the KEYBOARD
AND DISPLAY ENHANCER Install the
enhancer in your APPLE II and be typing in
lower case just like a typewriter If you want an
upper case character, use the SHIFT key or the
CTRL key for shift lock Not only that, but you
see upper and lower case on the screen as you
type. Perfectly compatible with Apple Writer
and other word processors like, for example,
Super -Text.
If you want to program in BASIC, just put it
back into the alpha lock mode; and you have
the original keyboard back with a few im-
provements. Now you can enter those elusive 9
characters directly from the keyboard, or re-
quire the Control key to be pressed with the
RESET to prevent accidental resets.
KEYBOARD AND DISPLAY
ENHANCER is recommended for use with all
revisions of the APPLE II. It includes 6 ICs. and
EPROM and dip-switches mounted on a PC
board, and a jumper cable Easy installation.
meaning no soldering or cutting traces Alter-
nate default modes are dip-switch selectable
You can even remap the keyboard, selecting an
alternate character set. for custom applications.
PRICE »KDE-700 (REV. 7 or greater) $129.
• KDE-OOOfREV. 6 or less) $129.
Apple If is a trademark of Apple Computer. Inc
I!
idex
VIDEX
897 N.W. Grant Avenue
Corvallis, Oregon 97330
Phone (503) 758-0521
Circle 396 on inquiry card.
BYTE August 1981 181
Listing 1: The scanWord: method scans or prints text.
scanWord: endRun
| charlndex |
< primitive > "May be implemented internally for speed"
[charlndex > endRun] whileTrue:
[charlndex — text at: textPos.
(exceptions at: charlndex) >
ifTrue: [t exceptions at: charlndex].
sourceX — xTable at: charlndex.
width — (xTable at: charlndex + 1) - sourceX.
printing ifTrue: [self copyBits].
destX — destX + width.
destX > stopX ifTrue: [t stopXCode].
"pick character"
"check exceptions"
textPos — textPos
textPos — textPos -
t endRunCode
+ 1].
"left x of character in font"
"up to left of next char"
"print the character"
advance by width of character"
"passed right boundary"
"advance to next character'
• xTable — an Array of Integers giving
the left x location of each character in
sourceForm
• stopX— an Integer that sets a right
boundary past which the inner loop
should stop scanning
• exceptions — an Array of Integers
that, if non-zero, indicate that the
corresponding characters must be
specially handled
Once an instance has been initialized
with a given font and text location,
the scanWord: loop given in listing 1
will scan or print text until some
horizontal position (stopX) is passed,
a special character (determined from
exceptions) is found, or the end of
this range of text (endRun) is reached.
The check on exceptions handles
many possibilities in one operation.
The space character may have to be
handled exceptionally in the case of
text that is padded to achieve a flush
right margin. Tabs usually require a
computation or table check to deter-
mine their width. Carriage return is
also identified in the check for excep-
tions. Character codes beyond the
range given in the font are detected
similarly and are usually handled by
showing an exceptional character,
such as a little lightning bolt, so that
they can be seen and corrected. The
printing flag can be set false to allow
the same code to measure a line
(break at a word boundary) or to find
where the cursor points. While this
provision may seem over-general,
two benefits (besides compactness)
are derived from that generality.
First, if one makes a change to the
basic scanning algorithm, the parallel
functions of measuring, printing, and
cursor tracking are sure to be syn-
chronized. Second, if a primitive im-
plementation is provided for the
loop, it exerts a threefold leverage on
the system performance. The scan-
Word: loop is designed to be
amenable to such primitive im-
plementation; that is, the interpreter
may intercept it and execute primitive
code instead of the Smalltalk code
shown. In this way, much of the
setup overhead for copyBits can be
avoided at each character, and an en-
tire word or more can be displayed
182 August 1981 © BYTE Publications Inc
Circle 271 on inquiry card.
■
■ ■
^B
State-of-thedrf hardware
demands state-of-the-art software
Operating Systems & Support Software from Technical Systems Consultants
To perform to its fullest capabili-
ties, your hardware demands
software designed to meet the
specialized requirements of
today's microprocessors. State-of-
the-art software from Technical
Systems Consultants keeps pace
with the rapid advancements in
computer technology so your
hardware can live up to its full
potential. Our complete line of
tate-of-the-art software includes:
le UnlFLEX™ Operating System
UnfFLEX, a true multi-user, multi-
tasking system for the 6809 and
68000 microprocessors, supports
such features as:
• hierarchical file systems
• device independent I/O
• four Gigabyte disk capacities
• full file protection
• Inter-task communication via
pipes
• I/O redirection
• task swapping
• full random-access files
• comprehensive shell command
language
UniFLEX, structured for large-scale
microprocessor systems, will not
run with minimal systems and thus
has avoided design compromise.
(Off-the-shelf versions and OEM
licenses are available.)
The FLEX™ Operating System
FLEX, a powerful, easy-to-use
operating system designed for
the 6800 and 6809 microproces-
sors, includes:
• dynamic filespace allocation
• random files
• batch job entry
• automatic space compression
• English error messages
• user environment control
• disk resident commands
• flexible device I/O
• printer spooling
Plus, FLEX can accommodate
hard disks as well as floppies. The
System is available off-the-shelf
for a variety of systems and In a
field-adaptable version. (OEM
licenses available.)
FLEX and UnlFLEX are trademarks of
Technical Systems Consultants, Inc.
Support Software
Technical Systems Consultants
offers a full line of state-of-the-art
support software compatible to
FLEX and UniFLEX, some of which
are:
• native C and Pascal compilers
for advanced programming
• extended BASIC for business
and educational applications
• text editing and processing
software
• sort/merge package for busi-
ness applications
• variety of absolute and relocat-
able assemblers
• debug and diagnostic
packages
. . . and more. Write or call today
for our brochures describing
our complete product line.
Box 2570, 1208 Kent Avenue
West Lafayette, Indiana 47906
(317) 463-2502 Telex: 27-6143
Sculpture by Jocmn Chaney
Circle 2 on inquiry card.
SPECTACULAR
OFFERS
BASF "REXYDISK"... *ffi
Superior Quality data «""
storage medium.
Certified and guaranteed
100% error free.
SINGLE SIDED-SINGLE DENSITY
5Vt" or 8" Diskettes 1 0/$24
5Vt" or 8" Vinyl Storage Pages .10/$5
MAXELL- DISKETTES
The best quality
diskette money can buy.
Approved by Shugart
and IBM.
Sold only in boxes of 10
5", 1 side $3.30
8", 1-side $3.90.
5", 2-side $4.25
8", 2-side $5.60
ALL MAXELL DISKETTES ARE DOUBLE DENSITY
LIBRARY CASE...
3-ring binder album.
Protects your valuable
programs on disks
Fully enclosed and
protected on all sides.
Similar to Kas-sette storage box.
Library 3-Ring Binder $6.50
5Va" Mini Kas - sette/10 $2.49
8" Kas-sette/10 $2.99
DISKETTE DRIVE HEAD CLEANING KITS,
Prevent head crashes and
insure efficient, error-
free operation.
5V4* or 8" $19.50
SFD CASSETTES
C-10 Cassettes 1 0/$7
(All cassettes include box & labels)
Get 8 cassettes,C-10 sonic and
Cassette/8 library album for
only $8.00
(As illustrated)
HARDHOLE
Reinforcing ring of
tough mylar protects
disk from damage
5VV Applicator $3
8" Applicator $4
5Vt" Hardholes $6
50/8" Hardholes $8
VISA • MASTERCHARGE • MONEY ORDERS
CERTIFIED CHECK • FOR PERSONAL CHECKS
ALLOW TWO WEEKS • C.O.D. REQUIRES A 10%
DEPOSIT • CAL. RES. ADD 6% SALES TAX
MIN $2 SHIPPING & HANDLING • MINIMUM
ORDER $10 • SATISFACTION GUARANTEED
OR FULL REFUND
Write for our free catalog
PRODUCTS
8868 Clairemont Mesa Blvd.
San Diego, CA 92123
Toll Free
1-800-854-1555
For Orders! Only
For information or California orders
(714) 268-3537
Listing 2: The drawLoopX:Y: method draws lines.
drawLoopX: xOelta Y: yDelta
| dx dy px py p i |
< primitive >
dx — xDelta sign.
dy — yDelta sign,
px — yDelta abs.
py — xDelta abs.
Self COpyBitS. "first point"
py > px
ifTrue: "more horizontal"
[p - py/ 12.
1 to: py do:
[:i | destx — destx + dx.
(p — p - px) < ifTrue." [desty — desty + dy. p — p + py].
self copyBits]]
ifFalse: "more vertical"
[p - px/ 12.
1 to: px do:
[:i | desty — desty + dy.
(p — p - py)<0 ifTrue: [destx — destx + dx. p — p + px].
self copyBits]]
Listing 3: Methods for image magnification. @ is a shorthand message that returns a
new Point whose x-value is the receiver (on the left) and whose y-value is the argument
(on the right). Points respond to the + and * messages by distributing them over each
of the coordinates.
magnify: rect by: scale spacing: spacing
| WideForm bigForm | "First expand horizontally"
wideForm — Form extent: (rect width * scale x) @ rect height.
wideForm spread: rect from: self by: scale x
spacing: spacing x direction: 1 @ 0.
bigForm — Form extent: rect extent * scale. "Then expand vertically"
bigForm spread: wideForm asRectangle from: wideForm by: scale y
spacing: spacing y direction: @ 1 .
t bigForm
spread: rect from: sourceForm by: scale spacing: spacing
direction: dlr
| slice sourcePt |
slice — Rectangle origin: 0@0 extent: dir transpose * self extent + dir.
SOUrcePt — rect origin. "transpose returns a Point with swapped coordinates"
1 to: (rect extent dot: dir) do: "dot product selects direction of stretch"
[:i I "slice up the original image"
self copy: slice from: sourcePt in: sourceForm rule: STORing.
sourcePt — sourcePt + dir. slice moveby: dir * scale].
1 to: scale - spacing - 1 do:
[:i | "smear out the slices, leave some space"
self copyAIITo: 1 @ in: self rule: ORing]
directly. Conversely, the Smalltalk
text and graphics system requires im-
plementation of only the one
primitive operation to provide full
functionality.
Line Drawings, Image Synthesis
The same design principle applies
in the support for, drawing lines. By
using BitBIt, one algorithm can draw
lines of varying widths, different
halftone "color," and any combina-
tion rule. To draw a line, an instance
of BitBIt is initialized with the ap-
propriate destination Form and clip-
ping window, and with a source that
can be any Form to be applied as a
pen shape along the line. Starting
from the stored destX and destY, the
line-drawing loop, drawLoopX:Y:
(listing 2), accepts x and y delta
values and x and y step values as
necessary, calling copyBits at each
point along the line. The method used
184 August 1981 © BYTE Publications Inc
THE BACKBONE
OF YOUR SYSTEM
The Heath/Zenith 19 Smart Video Terminal gives
you all the important professional features, all for under
$700* You get the flexibility you need for high-speed
data entry, editing, inquiry and transaction process-
ing. It's designed to be the backbone of your system
with heavy-duty features that withstand the rigors
of daily use.
Standard RS-232C interfacing makes the 19 com-
patible with DEC VT-52 and most computer systems.
And with the 19, you get the friendly advice and
expert service that makes Heath/Zenith a strong
partner for you.
Pick the store nearest you from the list on page 00. And
stop in today for a demonstration of the Heath/Zenith
19 Smart Video Terminal. If you can't get to a store,
send $1 .00 for the latest Heathkit® Catalog and the
new Zenith Data Systems Catalog of assembled com-
mercial computers. Write Heath Co., Dept. 334-806,
Benton Harbor, Ml 49022.
Your strong partner
Completely ad-
dressable blinking
cursor lets you
edit anywhere on
screen.
Reverse video by
character lets you
emphasize words,
phrases or paragraphs.
High resolution CRT
gives you sharp, easy-
to-read image, reduces
eye-strain.
Complete ASCII
character set includ
ing uppercase,
lower case with
descenders, and
special graphic
symbols.
80 character by 24
line format, plus 25th
line for operator mes-
sages and prompts.
Professional
quality keyboard,
standard type-
writer layout, 72
keys, including
12 special function
keys.
Z-80 microprocessor-
control makes the Heath/
Zenith 19 capable of
multitude of high-speed
functions. It's the only
terminal with ROM
source code readily
available.
Insert and delete
character or line plus
erase to end of line
and end of screen
make the 19 ideal
for sophisticated
editors like WORD-
STAR.
Cursor and
special functions
are accessible
by keyboard or
computer, using
either DEC VT-52
or ANSI Standard
protocols.
Keypad in
calculator format
permits fast,
easy entry of
numeric data.
* In kit form, F.O.B. Benton Harbor, Ml. Also available completely assembled
at $995. Prices and specifications are subject to change without notice.
CP-202B
BYTE August 1981 185
Circle 120 on inquiry card.
tie SOFTWARE
ULTIMATE SOFTWARE PLAN
i/** (New items or new prices)
We'll match any advertised price
on any item that we cany. And if
you find a lower price on what you
bought within 30 days of buying
it, just show us the ad and we'll
refund the difference.
It's that simple.
Combine our price protection
with the availability of full profes-
sional support and our automatic
update service and you have the
Ultimate Software Plan.
It's a convenient, uncomplicated,
logical way to get your software.
CP/M users: specify disk systems and formats. Most formats available.
ARTIFICIAL INTELLIGENCE
Medical! PAS-3) S849/S40
Dental (PAS-3) $849/$40
ASYST DESIGN
Prof Time Billing S549/J40
General Subroutine. . . $269/$30
Application Utilities ... $439/$30
COMPLETE BUS. SYSTEMS
Creator $269/$25
Reporter $169/$20
Both $399/$45
COMPUTER CONTROL
Fabs(B-tree) $159/$20
UltraSortll $159/$25
COMPUTER PATHWAYS
Pearl (level 1) S 99/$25
Pearl (level 2) $299/$40
^ Pearl (level 3) S549/$50
DIGITAL RESEARCH
CP/M 2.2
NorthStar $149/$25
TRS-80 Model II (P+T)$159/$35
Micropolis $169/$25
Cromemco $189/$25
PL/l-80 S459/S35
BT-80 S179/S25
Mac $ 85/$ 15
Sid $ 65/$15
^Z-Sid $ 90/$ 15
^Tex $ 90/$15
DeSpool $ 50/$ 10
D.M.A.
Ascom $149/$15
DMA-DOS $179/$35
CSS $369/$45
Formula $539/$45
GRAHAM-DORIAN
General Ledger $729/$40
Acct Receivable $729/$40
Acct Payable $729/$40
Job Costing S729/S40
Payroll II $729/$40
Inventory II $729/$40
Payroll $493/$40
Inventory $493/$40
Cash Register $493/$40
Apartment Mgt $493/$40
Surveying $729/$40
Medical $729/$40
Dental $729/$40
MICRO-AP
S-Basic $269/$25
Selector IV $469/$35
MICRO DATA BASE SYSTEMS
HDBS $269/$35
MDBS $795/$40
DRS or QRS or RTL . S269/$35
MDBS PKG $1295/$60
MICROPRO
WordStar $319/$60
Customization Notes... $ 89/$na
Mail-Merge $109/$25
WordStar/Mail-Merge $419/$85
DataStar $249/$60
WordMaster S119/S40
SuperSort I $199/$40
MICROSOFT
Basic-80 $289/$30
Basic Compiler $329/$30
Fortran-80 $349/$30
Cobol-80 $574/$30
M-Sort $124/$30
Macro-80 $144/$20
Edit-80 $ 84/$20
MuSimp/MuMath $224/$25
MuLisp-80 $174/$20
ORGANIC SOFTWARE
TextWriter III $111/$20
DateBookll $269/$25
Milestone $269/$25
OSBORNE
General Ledger $ 59/S20
Acct Rec/Acct Pay. .. .$ 59/$20
Payroll w/Cost $ 59/$20
All 3 $129/$60
All 3 +CBASIC-2 $199/$75
PEACHTREE"
General Ledger $399/$40
Acct Receivable $399/$40
Acct Payable $399/$40
Payroll $399/$40
Inventory $399/$40
Surveyor $399/$40
Property Mgt $799/$40
CPA Client Write-up. . $799/$40
Mailing Address $349/$40
SOFTWARE WORKS
Adapt (CDOS to CP/M). $ 69/$na
Ratfor $ 86/$na
SOHO GROUP
MatchMaker $ 97/$20
Worksheet $177/$20
STRUCTURED SYSTEMS
GLorARor APorPay $599/$40
Inventory Control . $599/$40
Magic Worksheet . . $219/$40
Analyst $199/$25
Letteright $179/$25
OSort $ 89/$20
SUPERSOFT
Diagnostic I $ 49/$20
Diagnostic II $ 84/$20
Disk Doctor $ 84/$20
Forth (8080 or Z80) $ 1 49/$25
Fortran $219/$30
Fortran w/Ratfor $289/$35
Other. less 10%
TCS
GLorARor APorPay. $ 79/$25
All 4 $269/$99
UNICORN
Mince $ 99/$25
Scribble $ 99/S25
Both $189/$50
Amethyst $299/$75
WHITESMITHS
"C" Compiler $600/$30
Pascal (incl "C") $850/$45
DATA BASE
FMS-80 $649/$45
dBASE II $629/$50
Condor $599/$30
Condor II $899/$50
Access/80 $749/$50
PASCAL
Pascal/MT+
$429/$3C
Pascal/Z
_$349/$3C
v* Pascal/UCSD
.$399/$5C
$149/$?n
WORD PROCESSING'
.$179/$5C
$229/$25
VTS/80
$259/$65
Magic Wand
.$289/$45
Spell Binder
.$349/$45
OTHER GOODIES'
The Last One
.$549/$95
SuperCalc
.$269/$5C
Target
.$189/$3C
BSTAM
.$149/$15
Tiny"C"
.$ 89/$5C
Tiny "C" Compiler. . . .
.$229/$5C
CBASIC-2
$ 98/$2C
Nevada Cobol
$129/$25
MicroStat
$224/$2C
Vedit
.$105/$15
ESQ-1
$1349/$5C
MiniModel
.$449/$5C
StatPak
.$449/$4C
Micro B+
$229/$2C
Raid
.$224/$35
String/80
.$ 84/$20
String/80 (source)
$279/$na
APPLE II •
NFO UNLIMITED
EasyWriter
$224
Datadex
.$349
Other
. less 15%
MICROSOFT
Softcard(Z-80CP/M)
.$259
Fortran
.$179
Cobol
.$499
MICROPRO
Wordstar
.$269
MailMerge
$ 99
Wordstar/MailMerge .
.$349
SuperSort I
.$159
PERSONAL SOFTWARE
Visicalc
.$ 99
Visicalcll
.$159
CCA Data Mgr
.$ 84
Desktop/Plan II... ,
.$159
.$129
Visidex
.$159
Visiplot
.$149
Visitrend/Visiplot. . . .
.$229
Zork
.$ 34
PEACHTREE"
General Ledger. . . .
.$224/$4C
Acct Receivable- , - ,
$224/$4C
Acct Payable
.$224/$40
Payroll
.$224/$4C
Inventory
.$224/$40
OTHER GOODIES
^dBASE II
$329/$5C
VU #3(usew/Visicalc
.$ 49
Super-Text II
.$127
Data Factory
.$129
DB Master
$184
OEM (complete
accting)
.$399
Charles Mann . .
. less 1 5%
STC
. less 1 5%
ORDERS ONLY-CALL TOLL FREE VISA • MASTERCHARGE
1-800-854-2003 ext. 823 ■ Calif. 1-800-522-1500 ext. 823
Overseas — add S10 plus additional postage • Add $2.50 postage and handling per each item • California
residents add 6% sales tax • Allow 2 weeks on checks. C O.D. ok - Prices subject to change without notice
All items subject to availability • !'■— Mfgs Trademark.
THE DISCOUNT SOFTWARE GROUP
6520 Selma Ave. Suite 309 • Los Angeles, Ca. 90028 • (213) 666-7677
Irtt'l TELEX 499-0032 BVHL Attn: DiscSoft • USA TELEX 194-634 BVHL Attn: DiscSoft •
TWX 910-321-3597 BVHL Attn: DiscSoft
186 August 1981 © BYTE Publications Inc
is the Bresenham plotting algorithm
(IBM Systems Journal, Volume 4,
Number 1, 1965). It chooses a prin-
cipal direction and maintains a
variable, p. When p's sign changes, it
is time to move in the minor direction
as well. This procedure is another
natural unit to be implemented as a
primitive, since the computation is
trivial and the setup in copyBits is
almost all constant from one invoca-
tion to the next.
Image Processing
We have seen how BitBlt can copy
shapes and, in the foregoing ex-
amples, how repeated invocation can
synthesize more complex images such
as text and lines. BitBlt is also useful
in the manipulation of existing
images. For example, text can be
made to look bold by ORing over
itself, shifted right by one pixel. Just
as complex images can be built from
simple ones, complex processing can
be achieved by repeated application
of simple operations. Here, we pre-
sent three examples of such structural
manipulation: magnification, rota-
tion, and the game of Life. These ex-
amples were devised by the author in
collaboration with Ted Kaehler.
As we shall see in the next two sec-
tions, many applications of BitBlt are
very simple, such as filling a Form
with white, or copying all of one
Form to some location in another.
Smalltalk provides for such casual
use of BitBlt through a wide range of
simple messages to class Form, such
as:
someForm fillAII: white.
someForm copyAIITo:
destLocation in: destForm.
We will not list all such messages
here. In the examples that follow, the
reader should be able to infer the
meaning from the message names and
the accompanying explanations.
Magnification
It is often useful to magnify an
image for closer scrutiny and
especially to' allow convenient altera-
tion of stored Forms. Photo 1 shows
this function providing user control
over the font used for display of text.
Circle 289 on inquiry card. *
6 Brand New Books from Osborne/McGraw Hill
Interfacing to S-100
(IEEE 696) Microcomputers
by Sol Libes and Mark Garetz
This book assists S-100 users in expanding the power
and utility of their systems. It describes the S-100 bus
with unmatched precision and detail. Various chapters
describe its mechanical and functional design,
logical and electrical relationships, bus intercon-
nections, and bussing techniques. Both parallel and
serial interfacing are described as well as interfacing
to RAM, ROM, and the real world. Additional
chapters discuss D/A and A/D conversion, inter-
rupts, timers, and direct memory access.
#37-3 $15 □
Microprocessors for
Measurement and Control
by D.M. Auslander and P. Sagues
Learn to design mechanical and process equipment
which use microprocessor based "real time" com-
puter systems. This book shows you how, and, using
case studies, builds and explores problems of in-
creasing complexity. The book presents plans for
prototype systems, allowing readers (even those
unfamiliar with machine or assembly language) to
initiate projects and carry them through to com-
pletion. #57-8 $15.99 □
CBASIC" User's Guide
by Gordon Eubanks, Adam Osborne, and Martin McNiff
The CBASIC language may be the most advanced
version of BASIC yet created. Like Pascal, CBASIC
requires no line numbers and lends itself to highly
organized, structured programs— programs that are
readable, modular, and easier to change. CBASIC is
as easy to learn as BASIC and contains convenient
file handling facilities, making it very useful for many
business applications. It may be the only computer
language you'll ever need to learn. This guide was
co-authored by Gordon Eubanks, the creator of
CBASIC. It is not only a self-teaching textbook, it is
the definitive reference on the CBASIC language.
#61-6 $15 □
ATARI™
Some Common BASIC Programs
TRS-80™ level II
Some Common BASIC Programs
Two new editions of Osborne's celebrated collection
of 76 useful and informative programs in Math,
Finance, and Statistics. These programs will trans-
form your Atari 400 or 800 or your TRS-80 computer
from a plaything into a real workhorse. The
programs are clearly documented to serve as a
valuable instructional aid in learning BASIC.
ATARI version: #53-5 $14.99 □
TRS-80 level II version: #54-3 $14.99 a
Science and Engineering BASIC Programs
edited by John Heilborn
50 programs with a wide range of scientific and engineering applications - Clearly documented and easily adapted for
any popular microcomputer - This book is an indispensible tool for any scientist, engineer or student. Included are
programs for interpolation, regression, data analysis, roots of polynomials, matrix operations, and linear equations.
You'll also find programs for eigenvalues and eigenvectors, differential equations, Fourier analysis, Structural analysis,
thermodynamics, and many others. #63-2 $15.99 □
CA
Make check payable to: ^> ~ OSBORNE/McGraw-HIII
630 Bancroft Way, Berkeley, CA 94710 Dept. B19
TOLL FREE: 800
Phone: (415) 548-2805
■227-2895 Outside California
"M
Name
Address.
City/State/Zip .
Plus D .75/item 4th class D $1.50/item UPS D $2.50/item Air Mail D $10.00/Overseas (California Residents add applicable tax.)
□ Please send me your free catalog.
Total amount enclosed $_
Signature
. or charge my □ Visa □ Mastercharge Card #_
. Expiration Date_
Listing 4: The rotate method. This method rotates an image of size 2" by 2" one quarter-
turn clockwise.
rotate | mask temp quad |
temp — Form extent: self extent.
mask — Form extent: self extent. "set up the first mask"
mask copy: mask asRectangle halftone: white rule: STORing.
mask copy: mask asRectangle/2 halftone: black rule: STORing.
quad — self width/2 . "the size of a quadrant"
[quad > = 1] whileTrueDo:
[ "First exchange left and right halves"
mask copyAIITo: @ in: temp rule: STORing.
mask copyAIITo: 0@ quad in: temp rule: ORing.
self copyAIITo: 0@0 in: temp rule: ANDing.
temp copyAIITo: 0@0 in: self rule: XORing.
temp copyAIIFrom: quad @ in: self rule: XORing.
self copyAIITo: (0 - quad) @ in: self rule: ORing.
temp copyAIITo: quad @ in: self rule: XORing.
"Then flip the diagonals"
self copyAIITo: 0@0 in: temp rule: STORing.
temp copyAIIFrom: quad @ quad in: 'self rule XORing.
mask copyAIITo: @ in: temp rule: ANDing.
temp copyAIITo: @ in: self rule: XORing.
temp copyAIITo: quad @ quad in: self rule: XORing.
"Compute the next fine mask"
mask copyAIIFrom: (quad/2) @ (quad/2) in: mask rule: ANDing.
mask copyAIITo: quad @ in: mask rule: ORing.
mask copyAIITo: @ quad in: mask rule: ORing.
quad — quad/2]
The character for "7" has been
presented magnified nine times. Using
a pointing device, the user has
blackened some cells to provide a
European style "7," and the result can
be seen in both the upper-left and
lower-right windows on the screen.
A simple way to magnify a stored
Form would be to copy it to a larger
Form, making a big dot for every
little dot in the original. For a height h
and width w, this would take h X w
operations. The algorithm presented
in listing 3 (as two messages to class
Form) uses only a few more than
h + w operations.
The magnification proceeds in two
steps. First, it slices up the image into
vertical strips in wideForm separated
by a space equal to the magnification
factor. These are then smeared, using
the ORing function, over the in-
tervening area to achieve the horizon-
tal magnification. The process is then
self wideForm
r^~
wideForm
] I ==— I
bigForm
bigForm
Figure 8: Magnification with BitBlt. See the text for more details.
repeated from wideForm into
bigForm, with horizontal slices
separated and smeared in the vertical
direction, achieving the desired
magnification. Figure 8 illustrates the
progress of the above algorithm in
producing the magnified "7" shown
in photo 1.
Rotation
Another useful operation on
images is rotation by a multiple of 90
degrees. Rotation is often thought to
be a fundamentally different opera-
tion from translation, and this point
of view would dismiss the possibility
of using BitBlt to rotate an image.
However, the reader must consent
that the first transformation shown in
figure 9 is a step toward rotating the
image shown: all that remains is to
rotate the insides of the four cells that
have been permuted. The remainder
of the figure shows each of these cells
being further subdivided, its cells
being similarly permuted, and so on.
Eventually each cell being considered
contains only a single pixel. At this
point, no further subdivision is re-
quired, and the image has been
faithfully rotated!
Each transformation shown in
figure 9 would appear to require suc-
cessively greater amounts of com-
putation, with the last one requiring
several times more than h X w
operations. The tricky aspect of the
algorithm below is to permute the
subparts of every subdivided cell at
once, thus performing the entire rota-
tion in a constant times log 2 (h) opera-
tions. The parallel permutation of
many cells is accomplished with the
aid of two auxiliary Forms. The first,
mask, carries a mask that selects the
upper left quadrant of every cell; the
second, temp, is used for temporary
storage. A series of BitBlt operations
exchanges the right and left halves of
every cell, and then another series ex-
Figure 9: Image rotation with BitBlt. See the text for more details.
188 August 1981 © BYTE Publications Inc
Sic* 0100
prom slater
iJcffjgSBI
„, --» il
\m
■gSS
i Jit;;: : 'i!§fl
1
PROGRAMS MOST
FAMILIES OF EPROMS!
• Accepts 1K/2K/4K
or 8K EPROMS
• Extended Device Option
• Phantom Slave Option
• All Programming
Characteristics
Software Controlled
• Accepts Single or
3 Supply Parts
• Device Address Switch
Selectable
Kit Price $199.95
6009 SINGLE BOARD COMPUTER
2K ROM
4K/8K/16K RAM
20 Parallel I/O Lines
RS 232 Interface
Baud Rates from 110 to 9600
All Memory/I.O. Relocatable
on 4K Boundaries
8080 I/O Instructions Memory Mapped
(Gives 256 I/O Ports)
Complete Documentation
ADSMON Monitor Includes
User Callable Functions,
Autopatch and more
Kit Price $299.95 (Includes Software)
mO£HE=t 30A3D*
THREE S-100 MOTHER
BOARDS AVAILABLE;
• 3 Slots for Stand-Alone
Applications
• 9 Slots for Small Systems
• 18 Slots for Full Size
Systems
• Active Termination
(9 & 18 Slot Boards Only)
• Extensive Ground Shield
• Breadboard Area
(Write for complete
information)
The
products
shown Ihere
are just an
example of the
quality products
and service Ackerman Digital Systems offers. ADS is
an engineering company dedicated to providing the
micro computer industry with solid quality products
to meet a variety of needs.
All ADS products adhere to the I.E.E.E. 696/S-100 Bus
standard, a bus noted for its widespread acceptance
and versatility.
For catalog containing
complete hardware and
software information, write
Ackerman Digital Systems, Inc
110 N. York Rd., Elmhurst, IL
60126. TEL 312-530-8992
ACKERMAN
DIGITAL SYSTEMS, INC.
Circle 3 on Inquiry card.
self:
Flip left
and right
temp:
. . . then . .
self:
exchange
diagonals.
temp:
A
B
D
C
M
1
B
A
C
D
s
/
B
A
C
D
A
B
D
C
M
B
A
C
D
X(
)R
BD
7
9
?
A
B
D
C
AND
A
D
10
B
A
C
D
M
AN
w
BD
4
B
C
xor
A
D
11
D
A
C
D
XOR
BD
AB
CD
B
C
X(DR
12
D
A
C
B
X(|)R
BD
_B_J3
C C
ab|o
CD
B
A
c
D
XOR
AB
CD
M means
the quadrant mask
AB here
means A XOR B
Figure 10: Permuting four quadrants of a cell.
changes the diagonal quadrants,
achieving the desired permutation.
The complete method for rotation is
given in listing 4.
Figure 10 traces the state of temp
and self after successive operations.
The offsets of each operation are not
shown, though they are given in the
program listing. After twelve opera-
tions, the desired permutation has
been achieved. At this point, the
mask evolves to a finer grain, and the
process is repeated for more, smaller
cells. Figure 11 shows the evolution of
the mask from the first to the second
stage of refinement. The reader will
note that the algorithm presented
here for rotation is applicable only to
square forms whose size is a power of
two. The extension of this technique
to arbitrary rectangles is more in-
volved and is left as an exercise for
the reader. A somewhat simpler exer-
cise is to apply the above technique to
horizontal and vertical reflections
about the center of a rectangle.
The Game of Life
John Conway's game of Life is
probably well known to readers of
BYTE. It is a fairly simple rule for
successive populations of a bitmap.
The rule involves the neighbor count
for each cell — how many of the eight
adjacent cells are occupied? Each cell
will be occupied in the next genera-
tion if it has exactly three neighbors,
or if it was occupied and has exactly
two neighbors. This is explained as
follows: three neighboring organisms
can give birth in an empty cell, and
an existing organism will die of ex-
posure with less than two neighbors
or from overpopulation with more
than three neighbors. Since BitBlt
cannot add, it would seem to be of no
use in this application. However,
BitBlt's combination rules do include
the rules for partial sum (XOR) and
carry (AND). With some ingenuity
and a fair amount of extra storage,
the next generation of any size of bit-
map can be computed using a con-
stant number of BitBlt operations.
Listing 5 gives the method for next-
LifeGeneration. As shown in figure
12, the number of neighbors is rep-
resented using three image planes for
EH^EE
Figure 11: Refinement of the quadrant mask.
the Is bit, 2s bit, and 4s bit of the
neighbor count in binary. The 8s bit
can be ignored, since there are no sur-
vivors in that case, which is equiva-
lent to zero (the result of ignoring the
8s bit). This Smalltalk method is
somewhat wasteful, as it performs the
full carry propagation for each new
neighbor, even though nothing will
propagate into the 4-plane until at
least the fourth neighbor. Some
readers may enjoy improving upon
this algorithm.
Many other image-processing tasks
can be performed with BitBlt. The
author has built a complete optical
character-recognition system for San-
skrit text using the various combina-
tion rules and an operation that
counts the number of black bits in
any rectangle (how would you do
it?).
Bitmap processing is ideally suited
to VLSI (very large scale integration)
implementation. Readers who are in-
terested in this direction should check
the proceedings of the Design
Automation Conference, June 1981,
for "Parallel Bitmap Processor," by
Tom Blank, Mark Stefik, and Willem
vanCleemput.
Efficiency Considerations
Our original .specification for BitBlt
has been published elsewhere
190 August 1981 © BYTE Publications Inc
Circle 59 on Inquiry card.
YOUR SOFTWARE
STRATEGY FOR THE 80's
New Compiler and Support Team Brings
Products to Market faster and Easier
If your company's in the big game of small business
systems, you'll want to know more about Compiler Sys-
tems' support team and its new CB80.
Everyone's talking about the ultimate microcom-
puter winners and how software will be the driving force
in the market. Enter the new CB80 BASIC compiler.
CB80 is derived from the industry's standard
CBASIC™and designed for 8-bit micros supporting
CP/M®, MP/M™ and CP/NET™. It retains all of the
characteristics that made CBASIC widely used in busi-
ness applications, while providing substantial improve-
ments in speed and performance.
And advanced CSI design provides CB80 with
enhancements for multi-user support further expanding
your marketing opportunities.
CSI's support team will assist in your development
and marketing efforts — plus special assistance via a
technical hotline for users.
CB80 is sold throughout the U.S. and overseas by a
network of distributors. Call today (213) 355-4211 for
ordering information or write for technical details.
CP/M® . MP/M'" and CP/NET'" are trademarks of Digital Research
Circle 248 on inquiry card.
SUPERBRAIIM
Bv INTERTEC
\
64K Double or Quad Density units available. Uses
two Z-80 CPU's. Commercial-type terminal with
12" monitor. Dual double density minifloppies.
Over 350 kilobytes of storage (twice that with quad
density drives). Two serial RS232 ports. I/O ports
standard. Expandable with optional S-100
interface. Comes with CP/MTM 2.2 operating sys-
tem. MiniMicroMart can supply a wide range of
CP/M development and application software.
W/64K Double Density, List $3495 . . $2869
W/64K Quad Density. List $3995 $3395
Whp\ HEWLETT
mL/iM PACKARD
HP-41CV
$259.
data
systems
Z19 Video Terminal
Limited
Time
$799
List $995
IHKEE5SHMBA
- --X DeskTop
Computer
List
$3250
$2749
HP- 83
ust$225o Special $1749
F.O.B. shipping point. All prices subject to change and all
I offers subject to withdrawal without notice. Advertised prices
are for prepaid orders. Credit card and C.O.D. 2% higher.
C.O.D. may require deposit.
- WRITE FOR FREE CATALOG -
MiniMicroMart
1618 James Street
Syracuse, NY 13203 (315) 422-4467
192 August 1981 © BYTE Publications Inc
Listing 5: The nextLifeGeneration method. This method calculates the next Life genera-
tion given the BitBlt bitmap of the current generation. See figure 12.
"temp areas larger by 1 "
"bit all around"
nextLifeGeneration | nbrl nbr2 nbr4 carry2 carry4
nbrl — Form new extent: self extent + (2 @ 2).
nbr2 — Form new extent: self extent + (2 @ 2).
nbr4 — Form new extent: self extent + (2 @ 2).
carry2 — Form new extent: self extent + (2 @ 2).
carry4 — Form new extent: self extent + (2 @ 2).
(1 @ 1) eiqhtNeighbors do:
[.'delta f "delta equals a different neighbor-offset each time through this loop
carry2 copyAIIFrom: 0@0 in: nbrl rule: STORing
carry2 copyAIIFrom: delta in: self rule: ANDing.
nbrl copyAIIFrom: delta in: self rule: XORing.
nbr2 copyAIITo: @ in: carry4 rule: STORing.
carry2 copyAIITo: @ in: carry4 rule: ANDing.
carry2 copyAIITo: 0@0 in: nbr2 rule: XORing.
carry4 copyAIITo: @ in: nbr4 rule: XORing].
nbr2 copyAIITo: 1 @ 1 in: self rule: ANDing. "perform logic to determine the survivors'
nbr2 copyAIITo: 0@0 in: nbrl rule: ANDing. "(2s and self) or (2s and is))'
nbrl copyAIITo: 1 @ 1 in: self rule: ORing. ' "...aiiAND(NOT4s)"
nbr4 copyAIITo: @ in: self rule: NOTANDing "store next generation"
"over self"
"carry into 2"
"sum I "
"carry into 4"
"sum 2"
"sum 4"
self
neighbor counts
IHHI!
:i
4
111
J2I
11
l._
nbrl
next self
IS
■
n
or4
1
Figure 12: Counting neighbors in the game of Life.
(Newman and Sproull, Principles of
Interactive Computer Graphics, 2nd
edition, McGraw-Hill, 1979) under
the name RasterOp. The implementa-
tion described in that reference can
easily be extended to include the full
set of combinations, and the addition
of clipping is also straightforward.
Here, we add a few notes on efficien-
cy gathered from experience.
BitBlt is so central to the user inter-
face that any improvement in its per-
formance has considerable effect on
the interactive quality of the system
Circle 135 on inquiry card. — ►
&
3*^
Frustrating isn't it! No matter how
much you speed up your program
it still seems to take forever to save
data onto a cassette. Wouldn't it
be great if someone could design a
mass storage system with the speed
of a disk, but at half the cost?
Exatron did, the Exatron Stringy
Floppy (ESF) .
Totally self-contained, the ESF
is an extremely fast, reliable, and
economical alternative to cassette
or disk storage of programs or
data. All of the ESF's operations
are under the computer's control,
with no buttons, switches, knobs or
levers to adjust or forget.
The ESF uses a miniature tape
cartridge, about the size of a busi-
ness card, called a wafer. The
transport mechanism uses a direct
drive motor with only one moving
part. Designed to read and write
w»
digital data only, the ESF suffers
from none of the drawbacks of
cassettes - without the expense of
disks.
Several versions of the ESF are
available, for the TRS-80, Apple,
PET, OSI and an RS 232 unit.
Even the slowest of the units is 15
times faster than a cassette, and all
are as reliable as disk drives - in
fact a lot of users say they are more
reliable!
excellence in electronics
exatron
To get further information about
the ESF give Exatron a call on
their Hot Line 800-538 8559
(inside California 408-737 7111).
If you can't wait any longer then
take advantage of their 30 day
money-back guarantee, you've
nothing to lose but time!
181 Commercial Street
Sunnyvale, CA 94086
TRS-80, Apple and PET are trademarks of Tandy, Apple and Commodore respectively.
STD BUS '6809'
The newest in Datricon's family of low-cost 4th engines.
MEMORY capacity to 40k bytes, RS232/RS422 SERIAL PORT
and the powerful 6809 CPU, all on one 4.5 x 6.5 inch
STD Bus Card
29500 in one's
OEM pricing available
These Specifications Tell You More!
Every way you look at it, this powerful STD Bus Processor uses Industry-
wide Standards.
STD Bus interface (both STD-Z80 and STD-6800 compatible) offers
unprecedented user support with Analog, Power Input/Output,
Disk and advanced communications protocols.
SERIAL PORT supports RS232C or RS422 with full modem controls
including software baud rate, from 50 to 19.2Kbaud. User
selectable standard since RCVR/DRVR's are factory installed.
BYTE-WIDE MEMORY concept permits the use of 20 currently avail-
able memory devices from 2k x 8, 4k x 8, and 8k x 8 RAM,
ROM and EPROM.
QUALITY AND RELIABILITY
Backed by Datricon's standard one year parts and labor warranty, 200 hour
burn-in and extensive factory testing, our customers are assured of receiving
high quality product.
D-FORTH SOFTWARE
Datricon's popular D-FORTH software available on the Series 12 and 14 is
also available on the Series 09. Optimized for control systems, D-FORTH is
high-level and interactive, it is especially useful in interactive control applica-
tions such as testing and process monitor/control. Efficient memory utiliza-
tion and rapid execution provide exceptional Return On Investment.
Contact Datricon's nationwide staff of highly qualified sales representatives
or the factory for information.
lintricon
CORPORATION
QUALITY WITHOUT COMPROMISE
503 - 284-8277 791 1 NE 33RD Drive Portland, Or 9721 1
as a whole. In normal use of the
Smalltalk-80 system, most calls on
BitBlt are either in the extreme
microscopic or macroscopic range.
Let us examine these more closely.
In the macroscopic range, the
width of transfer spans many words.
The inner loop across a horizontal
scan line gets executed many times,
and the operations requested tend to
be simple moves or constant stores.
Examples of these are:
• Clearing a line of text to white
• Clearing an entire window to white
• Scrolling a block of text up or down
It is fortuitous that most processors
provide a fast means for block moves
and stores, and these can be made to
serve the applications above. Sup-
pose we structure the horizontal loop
of BitBlt as the following sequence:
1. Move left partial word
2. Move many whole words (or
none)
3. Move right partial word (or none)
Special cases can be provided for item
2 if the operation is a simple store or
if it is a simple copy with no skew
(horizontal bit offset) from source to
destination. In this way, most macro-
scopic applications of BitBlt can be
made fast, even on processors of
modest power.
The microscopic range of BitBlt is
characterized by a zero count for the
inner loop in item 2, so that the work
on each scanline involves, at most,
two words. Both overall setup and
vertical loop overhead can be con-
siderably reduced for this case.
Because characters tend to be less
than a word wide and lines tend to be
less than a word thick, nearly all text
and line drawing fall into this
category. A convenient way to pro-
vide such efficiency is to write a
special case of BitBlt that assumes the
microscopic parameters, but goes to
the general BitBlt whenever these are
not met. Because of the statistics
(many small operations and a few
very large ones), it does not hurt to
pay the penalty of a false assumption
on infrequent calls. ■
194 August 1981 © BYTE Publications Inc
! <I'
rMS-80
Organizes your
Organization
MS-80, a data base management system, oilers
the user a quick and easy way to organize and
efficiently manipulate data so sound decisions .
can be made on facts displayed.
FMS-80 000 "I
is the
most power-
ful stand
alone DBM
program
available
the micro
compute
industry.
Complet*
menu dr
and writ
in assem
language
it offers
these features:
• User definable
File Definitions .,
Screen Displays I
Reports (with |f
math and field
break analysis)
Selection Criteria
(on any or all
fields)
Menus (that ap-
plications programs
can be selected from)
• Instantaneous data query on
indexed records.
• Mathematical manipulation
of numeric data fields using
the report generator or the
programming language EFM
(Extended File Maintenance)
• Easy to use video "how to"
training tapes are available.
• Manipulation of up to 19 differ-
ent data files (using EFM)
at one time and display-,
ing this information
on the screen, "«*>•">-.
rating reports, generating other data files or on-
line updating of input files that already exist
FMS-80 is able to call other programs like sub-
routines in EFM
FMS-80 is able to read data files that other
programs have- generated
No restrictions to record .size other than avail-
able RAM memory space
Operates under CP/Mf MP/M" or CDOS 00
FMS-80 allows the flexibility to quickly create
programs that
allow data to be
A ^ ■ ■ ^ entered in a
/ 'f^*iJH — 5* "* I form that
fSfff, " flj? — '., a. secretary
' e&>A f>" ! ' * \ih* recognizes
a secretary
. ' ▼ \* recognizes
and
' generates
reports
that the
manager requires.
If you're continuously asked to
do applications programs and
don't have time to do it in
BASIC, consider FMS-80.
For additional
information contact
Systems Plus,
3975 East Bayshore,
Palo Alto, CA
s\ 94303. Phone
415/969/7047
Systems Plus
Circle 371 on inquiry card.
BYTE August 1981 195
ALL THE
PROGRAMS
YOU'LL
FOR
Say goodbye to the costs and
frustrations associated with writing software:
The Last One® will be available very soon.
More comprehensive and advanced
than anything else in existence,
The Last One® is a computer program that
writes computer programs. Programs that
work first time, every time.
By asking you questions in genuinely
plain English about what you want your
program to do, The Last One® uses those
answers to generate a totally bug-free
program in BASIC, ready to put to
immediate use.
What's more, with The Last Onef
you can change or modify your programs as
often as you wish. Without effort, fuss or any
additional cost. So as your requirements
change, your programs can too.
In fact, it's the end of programming
as you know it.
And if, because of the difficulties and
costs of buying, writing and customising
software, you've put off purchasing a
computer system up to now, you need delay
no longer.
The Last One® will be available very
soon from better computer outlets. To place
your order, take this ad into your local
dealer and ask him for further details. Or in
case of difficulty, please write to us direct.
®
THEMSTONE
YOU'LL NEVER NEED BUY ANOTHER PROGRAM.
D.J. 'AT Systems Ltd., Ilminster, Somerset, TA19 9BQ- England
Telephone: 04605-4117. Telex: 46338 ANYTYR G.
196 BYTE August 1981
Circle 188 on inquiry card.
BYTE's Bits
Apple Displaces
Organ at Wedding
The organ at St Bar-
tholomew Church, Cincin-
nati, Ohio, stood idle at the
wedding of Curt Brookbank
and Libby Nieman, but the
traditional wedding music of
Wagner and Mendelssohn
sounded as if an organist
were hard at work. The
organist was an Apple II. Ms
Nieman, a buyer in the
calculator department of the
21st Century Computer store
in Cincinnati, decided on
computerized wedding music
after playing some com-
puterized Christmas carols.
The Apple II computer was
equipped with ALF and
Mountain music boards.
Old Altalrs
Never Die . .
Five years ago, a computer
built by students at Venice
(California) High School
began operation. Today that
computer, and a duplicate
built one semester later, are
still operating. The com-
puters, Altair 8800s, were
built from kits for about
$2000 each, which at the
time was about a fourth of
what an equivalent commer-
cial computer would have
cost. The school's principal at
the time, Arnold Miller,
agreed to buy the computer
kits not only for the saving in
cost but also for the educa-
tional value to the students
who would build them and
those who would use them.
The computers, running
eight hours almost every day,
have served hundreds of
students in computer pro-
gramming classes and in
math classes. But the most
enthusiastic users are those
students who crowd the com-
puter room before and after
school and at other times to
play computer games.
The student-built com-
puters have been very reli-
able. They have never had a
serious malfunction, re-
quiring only the replacement
of two integrated-circuit
memory chips. The biggest
maintenance problems have
been mechanical, primarily
the keyboards, which have
taken a tremendous amount
of pounding over their ap-
proximately 8000 hours of
operation. It is estimated that
total maintenance costs over
five years for both Altairs
have been less than $50.
It is estimated that each
Altair represents an expen-
diture of $3000 including in-
itial cost and additions and
improvements over the five-
year period. This yields a
student-hour cost of less than
one-half dollar. ■
FORTRAN IV
for CP/M
"I needed a FORTRAN with
COMPLEX as well as REAL and
DOUBLE precision arithmetic,
that would produce relocatable
code and link in assembly lan-
guage subroutines. It also had to
be a FORTRAN that was easy to
use as well as being a complete
implementation. SuperSoft/SSS
FORTRAN is the only microcom-
puter FORTRAN that met my re-
quirements."
Supersott makes full WATFIV
FORTRAN IV available to micro-
computers. Supersoft/SSS FOR-
TRAN meets and exceeds the
ANSI 1966 standard. The com-
piler supports many advanced
features including: variable
character strings and recursive
subroutines with static variables.
Fully compatible RATFOR is also
available.
FEATURES
Code ROMable" COM" files or
generation: intermediate code files
(saves disk space). Ex-
ternal routines may be
called. Relocatable format.
Data types: Byte, Integer, real, dou-
ble precision, complex,
logical, character and
varying length strings.
Operations: All standard operations
plus string comparisons,
assignments, and .XOR.
Constants: Hexadecimal, decimal,
and character literals
with features to imbed
control characters.
Statements: ANSI 1966 standard with
multiple statement lines.
Controls: Map, List, and Symbol
table output options.
I/O: Read, Write, Append, Re-
wind, Close, Delete, Re-
name, Search, Sequen-
tial and Random I/O on
disk files. Supports all
CP/M devices.
System Requirements & Prices
SSS FORTRAN requires a 32k CP/M
system. Z80 only.
SSS FORTRAN with RATFOR: $325
SSS FORTRAN alone: $250
Manual only: $ 25
RATFOR alone: $100
Macro Assembler: $ 80
CP/M Formats: 8" soft sectored, 5" Nor-
thstar, 5" Micropolis Mod II, Vector M2,
Superbrain DD/QD Apple II +
All Orders and General
Information:
SUPERSOFT ASSOCIATES
P.O. BOX 1628
CHAMPAIGN, IL 61820
(217)359-2112
Technical Hot Line: (217)
359-2691
(answered only when technician
is available)
At lost, Q FORTRAN that will
run my large mainframe
programs."
SuperSoft
First in Software Technology
•CP'M REGISTERED TRADEMARK DIGITAL
RESEARCH
SSS FORTRAN is the copyright ol
Small Systems Services. Urbana. Illinois
McGraw-Hill helps you do business
in the People's Republic of China.
■ « ^ «o m i* * -at
"I don t know who you art-
1 don't know your company
[ don't know vour company's product
*^ wan* eft 4* w'ft«i <+ 2.
l don't know what vour compan\ stands for
I don't know vour company's customers
« ^ « an* eu i* m';h-m<g.»
I don't know your company's record
w =^ *n on* e*i *i a] at) *■ » so ra-
I don't know vour companv's reputation
SB £. , <* SJ * * -ft 2. » * QB ? '
Now -what was it vu wanted to sell us?"
You know how advertising in
McGraw-Hill magazines helps your com-
pany contact prospects, arouse interest in
products, overcome sales resistance, and
create preference when you're selling to
businesses here in America.
But you may not know that McGraw-
Hill's American Industrial Report can do the
very same things to help you sell to your
toughest prospects in the People's Republic
of China. And you also may not know that
American Industrial Report, as the first U.S.
technical magazine accepted into modern
China, has more than five years of experi-
ence and marketing expertise.
During the early 1980's, the People's
Republic of China will spend an estimated
$30 billion-plus for foreign technology and
capital goods. By 1985, they'll be buying a
projected total of $12-15 billion worth from
companies in the United States.
Obviously, the People's Republic of
China is an important new market for
American manufacturers.
But it's one thing to identify an impor-
tant new market. And quite another to suc-
cessfully capture a share of it.
Selling industrial products in the RR.C.
involves the same problems as selling them
in the U.S.
Plus the problems of a different lan-
guage and culture. And a different political,
economic and foreign trade system.
There are almost 1 billion Chinese.
McGraw-Hill's American Industrial
Report reaches the .1%you need
to do business with.
Every month, American Industrial
Report reaches 35,000 end-users, engineers,
managers, Foreign TVade Corporation and
ministry officials. With an estimated pass-
along of 50 readers per copy, that gives you
exposure to 1 million Chinese — the .1% of
the population who, as key decision-makers,
are your key prospects.
American Industrial Report also helps
you reach them in their own language. With
free translation of your advertising copy
into modern Chinese characters — the kind
used in technical journals in the RR.C, not
Hong Kong or Singapore. We also give you
free, expert advice on how to avoid the kind
of political and cultural errors that could
alienate or confuse the very people you're
trying to sell to.
A free guide to selling in the P.R.C.
and to the magazine that helps
you do it.
American Industrial Report would like
to share what it's learned over more than
five years of serving end-users in the People's
Republic of China — and serving American
advertisers who want to sell to them.
We've put it all into a free 84- page
guidebook, which you can get by writing
American Industrial Report, 1221 Avenue of
the Americas, New York, New York 10020.
Or calling Robert Christie at 212-997-6730.
Write or call for your copy today.
Now that the People's Republic of China
has opened the door, see how American
Industrial Report can help you get a foot in it.
frill r
McGraw-Hill Magazines
314 5th Ave. (32 ST) N.Y.C., N.Y. 10001
Tel: (212) 279-9034 & ask for enquiries
EPSOM
MX70
$379
*fe
The 150 cps Quality Printer
MODEL 6000 $1299
OKI
Call for $
FRICTION / TRACTOR
MODEL call for $
FRICTION CONVERSION
KIT for your EPSON Tractor
Printer only $ 69
VIC SO
"8 colors ■ built in "Sound generation
- built in "Programmable function keys
*5k memory expandable to 32k "Stan-
dard PETBASIC in ROM "Full size
keyboard "Graphics character set
$ 299 4k inc. color *
Atari
MODEL 400 $349
MODEL 800 $779
TYMAC APPLE
TO CENTRONICS
INTERFACE CARD
including CABLE $ 1 19.99
198 August 1981 © BYTE Publications Inc
Circle 417 on Inquiry card.
Circle 155 on Inquiry card.
At Hayes, we don't believe in sec-
ond best. Or planned obsolescence. We
believe in taking the state of the art to the
limit. Our new Smartmodem, for exam-
ple, is the most sophisticated 300-baud
originate/answer modem you can buy.
And yet, it is perhaps the easiest-to-use
modem ever.
RS-232C Compatible. Smartmodem
lets any RS-232C compatible computer
or terminal communicate by phone with
other computers and time-sharing sys-
tems located anywhere in North America.
You get full and half-duplex operation
with both Touch-Tone* and pulse dialing.
Auto-Answer/ Dial /Repeat.
Smartmodem can answer the phone, dial
a number, receive and transmit data, and
then hang up the phone- automatically!
If desired, Smartmodem will even repeat
the last command. You can depend on
Smartmodem for completely unattended
operation.
Completely Programmable.
Smartmodem can be controlled using
Microcomputer Component Systems
any programming language. Over 30 dif-
ferent commands can be written into your
programs or entered directly from your
keyboard.
Smartmodem also includes sever-
al switch-selectable features that let you
tailor performance to your exact needs.
You can "set it and forget it" for the ulti-
mate in convenience.
Built-in Audio Monitor. Thanks
to an internal speaker, you can actually
listen to your connection being made.
You'll know immediately if the line is busy
or if you reached a wrong number -
and you don t even need a phone!
Status at a Glance. Seven LED s
indicate Smartmodem's current operating
mode: auto-answer, carrier detect, off
hook, receive data, send data, terminal
ready and modem ready. You're never
left in the dark!
Direct-Connect Design.
Smartmodem is FCC registered for di-
rect connection to any modular phone
jack— there's no acoustic coupler to cause
signal loss and distortion.
Smartmodem, Smart Buy. Pro-
fessional quality features. Versatile per-
formance. A full two-year limited warranty.
A suggested retail price of only $279.
What more could you want? Per-
haps the matching Hayes Stack Chrono-
graph, an RS-232C compatible calendar/
clock system.
Check out the Smartmodem wher-
ever fine computer products are sold.
And don't settle < ■>
for anything less 111 L|o*«iO
than Hayes. I" I ndyCo
Smartmodem.
The ultimate concept in modems
is now a reality.
1L >
Hayes Mjefocdmp
Corners East, Norcross, Georgia 30092 (404) 449-87|l (yj
l/licrQcatwpuhfrPibiacteJnc- Sulci ijhiy in trie U S.A. ' TM American Telephone and Telegraph © 1981 Hayes Micraj^putej*Pfoducts. Inc.
Illustration by Jonathan Graves
The
Japanese
Computer Invasion
Whenever computer-industry peo-
ple get together these days the con-
versation inevitably turns to the so-
called "Japanese Computer
Invasion." From conversations I've
overheard, it sometimes seems that
there is an invasion fleet of Japanese
ships off the West Coast, waiting to
establish a beachhead in Silicon
Valley.
Cutting through the paranoia,
rumors, and just plain false informa-
tion about the Japanese computer in-
dustry is a time-consuming and
frustrating undertaking. It is further
complicated by the intense secrecy of
the Japanese, who, unlike their
American counterparts, never talk off
the record.
This article focuses on the Japanese
companies who are (or soon will be)
marketing personal computers in the
United States. Make no mistake:
Japanese computers are com-
ing — with long-term implications for
the American marketplace.
The Japanese Computer Industry
Contrary to popular belief, there is
no such thing as "Japan
Incorporated." Although many
Stan Miastkowski, Technical Editor
Americans view Japanese industry as
one huge conglomerate working to
take over foreign markets, the truth is
that the Japanese computer industry
is a group of fiercely competitive
companies. It is that competition that
fuels a rich variety of high-quality
Japanese consumer electronic pro-
ducts.
Another strong reason for the
quality of Japanese products is that in
Japan a worker generally stays with
one company throughout his or her
working life. Unlike American in-
dustry, where labor and management
are often at odds, Japanese workers
feel a strong loyalty toward their
employers, who pay them back with
virtually guaranteed lifetime employ-
ment and carefully listen to their sug-
gestions and complaints. This
cooperation between management
and labor produces a climate where
each worker feels personally respon-
sible for product quality.
Finally, one of the strongest points
working in favor of the Japanese
computer industry is that almost
without exception the companies are
vertically integrated — they control all
aspects of the product, from
manufacturing the silicon integrated
circuits to marketing the products.
This integration allows the Japanese
to closely control costs and ensure
product quality.
Fujitsu — the Company to Watch
Fujitsu Limited is the largest com-
puter company in Japan, taking that
coveted position by racking up $1.55
billion in computer sales during the
year ending in April 1980. It edged
past the Japanese subsidiary of
IBM— which had sales of $1.54
billion during the same period.
Although the margin was small, it
gave the Japanese an important
psychological boost — it was the first
time that a Japanese computer com-
pany was number one in Japan. In the
year ending this past April, Fujitsu
pulled ahead even further.
Unlike the other Japanese con-
glomerates that have entered the
computer market, Fujitsu's main
business is computers. Although in-
volved in a number of related fields,
Fujitsu's interests do not seem to lie in
the broad-ranging diversification of
most of the other Japanese giants.
It would be a mistake not to think
that Fujitsu is serious about the
200 August 1981 © BYTE Publications Inc
Circle 237 on inquiry card.
'JnOfc.
WHY SETTLE FOR A 68000 BASED microCOMPUTER
WHEN YOU CAN HAVE OUR 68K™ MINICOMPUTER ?
FEATURES:
8 MHz 68000 CPU
Virtual memory to 4 billion bytes
6809 peripheral processor
Multi-user/multi-tasking memory management
Each RAM board accomodates 2 megabytes
-fe Attend the
our experts will field your 68K questions and discuss:
ccsr 68000 architecture
ccsr 68K MiniFrame architecture
ccsr 68K hardware interface
<CSF MiniFrame programming
ICW $85 registration fee includes all-day seminar,
lunch, and take-home documentation
High-speed DMA for universal hard disk interface
6 RS-232 and 4 8-bit I/O ports standard
Dual 8" quad-density floppys
Extensive error checking and recovery
from
MicroDaSys
Dept. 5B, P.O.Box 36051
Los Angeles, CA. 90036
(213)731-0876
ICW in Los Angeles
/Please call or write for 68K
MiniFrame information and
the complete 1981
seminar schedule.
K*<fy
worldwide computer market. It owns
27.6% of Amdahl— the California-
based manufacturer of IBM-
compatible mainframe computers. It
is also making strong inroads into the
European market with its business
ties to the West German electronics
company Siemens. In contrast to
other Japanese computer makers,
who spend 5 to 6% of their sales on
research and development, Fujitsu
consistently sinks 10 to 12% of its
sales into R&D. The company has
come a long way since the early
1960s, when it approached IBM
about a joint venture to design and
build computers for the Japanese
market. At that time IBM flatly
turned them down.
The TRW/Fujitsu Connection
It's obvious that the United States
will be the next target for Fujitsu.
Early on, the company realized that it
would have to have strong ties to US
companies in order to compete in our
market. One of the main reasons for
this is that Fujitsu is an intensely
Japanese company. Fujitsu's president
rarely meets with foreigners and has
broken off discussions in the past
because of alleged breaches of Japan's
strict business protocols.
The purchase of a partial interest in
Amdahl was one of its first steps in
the United States designed to create
competition in the large-systems
business. Fujitsu has also set up a
marketing-service organization for its
line of Winchester-technology hard-
disk drives designed for small and
medium systems. In fact, a low-cost
5Vi-inch Winchester disk designed
expressly for personal computers is
expected to be available by the time
you read this.
Last year, Fujitsu signed an agree-
ment with another California-based
company, TRW. Fujitsu agreed to
supply computers, with TRW pro-
viding software development and
support as well as a nationwide sales
and service network.
The power of the TRW/Fujitsu
connection cannot be overempha-
sized. TRW/Fujitsu Vice-President
ATTENTION GOVERNMENT D P
USERS AND PURCHASERS
We represent many fine micro products and manufacturers
on the U.S. Government's GSA Schedule, including
Apple, Cromemco, Micropolis
and Seequa Computers
Purchasing from the Schedule will save you the time
consumed by the bid process. Products shipped throughout
the United States and world-wide. Visit or write any of our
stores for more information or to receive our catalogue of
products represented.
<
the dependable store
257 West Street, Annapolis, MD 21401 - (301) 268-6505
13A Allegheny Avenue, Towson, MD 21204 - (301) 296-0520
9330 Georgia Avenue, Silver Spring, MD 20910 - (301) 588-3748
6671 Backlick Road, Springfield, VA 22150 - (703) 644-5500
Plaza 38, 2442 Route 38, Cherry Hill, NJ 08002 - (609) 779-0023
Callers outside metropolitan areas served by our stores
Please call (301) 268-5801
Career Opportunities Available * An Equal Opportunity Employer
Garret Fitzgibbons told me the com-
pany plans a complete line of com-
puters and peripherals aimed square-
ly at the personal and small-business
markets. Late last year, the company
displayed a prototype of a computer
that was recently introduced. The
Facom 9450, tentatively priced at
$8000-plus, is an extremely powerful
system with a custom-designed 16-bit
microprocessor. Included in the price
are an 80-column video display, two
5V4-inch floppy-disk drives, and a
letter-quality printer.
The most revolutionary result of
the TRW/Fujitsu connection is in its
final development stage. Tentatively
named the Bubcom 80, it is a machine
that uses bubble memory, a
technology that American companies
have been reluctant to implement.
(Bubble memory stores information
in nonvolatile magnetic bubbles.)
The Bubcom 80 uses 32 K-byte
memory cartridges; 128 K-byte car-
tridges are scheduled to be introduced
in 1982. The computer is based
around a Z80 microprocessor and
comes with 64 K bytes of standard
programmable memory. The Bubcom
80 runs CP/M and comes complete
with an updated version of Microsoft
BASIC.
Recently introduced in Japan, the
Bubcom 80 sells for the equivalent of
about $1200 with one bubble memory
cartridge. Extra cartridges are about
$130.
But that's not all from the people at
Fujitsu/TRW. Their real personal
computer blockbuster, soon to be in-
troduced in the United States, is the
Micro-8. This machine uses twin
Motorola 6809 microprocessors to
greatly increase speed, and the
package includes full-color
graphics. The Micro-8 has Microsoft's
Extended Color BASIC (now
available in the TRS-80 Color Com-
puter) and will sell for about $1000.
In addition, a plug-in Z80 card will
convert the Micro-8 into a CP/M
machine. Also available are UCSD
Pascal and the 32 K-byte bubble
memory cartridges that will be stan-
dard in the Bubcom 80.
Early in March, a high-end
Text continued on page 206
202 August 1981 © BYTE Publications Inc
Circle 79 on inquiry card.
f Maker D:
it not only does more than VisiCak,
it does it on your computer.
VisiCalc is a fine aid for the computation of numerical
problems. But it does have two major limitations: it is
available only for a small number of systems, and its use
is limited strictly to numbers, not words. To overcome
these substantial limitations, Lifeboat Associates intro-
duces T/Maker II.
Unlike VisiCalc, T/Maker II is designed to run on most
small business computers with CP/M® or similar operat-
ing systems and a video terminal with cursor addressing
capabilities. And soon there will be T/Maker II versions
available for UNIX,™ RT-11™ and other systems.
Works with words as well as numbers. Like VisiCalc,
T/Maker II reduces the manual tasks involved in comput-
ing and calculating financial documents. But since most
business problems and reports involve words as well as
numbers, T/Maker II also functions as a full-screen text
editor for word processing.
T/Maker II is the most advanced aid for the analysis and
presentation of numerical data and text material. In a
matter of minutes, an entire document— including all
edited text, all figures and all calculations— can be created,
reviewed on your screen and reported in printed form.
T/Maker II turns your small business computer into a
powerful, sophisticated and convenient tool. A tool that
will save you money, time and energy, and eliminate the
need for costly time-sharing.
With T/Maker II you can easily perform an unlimited
number of analytical and reporting tasks which integrate
numerical and text processing. You'll find T/Maker II per-
fect for such things as:
rows and columns, define the relationships and T/Maker II
will do the rest: it will perform the computations and for-
matting necessary to prepare your document. When
you're finished you can analyze your report on your
screen or store it on a diskette. Or, you can have the report
printed with presentation quality.
And when any changes have to be made, simply enter
the new figure or relationship and tell T/Maker II to adjust
and recalculate all the new results.
Editing capabilities. As a full-screen editor for word
processing, T/Maker II handles text up to 255 characters
wide. It includes features like text formatting and justifica-
tion, centered titles, a text buffer for block moves and
repeated inserts, global search and replace commands
for printing your letters, reports and documents. Wide
documents are supported by horizontal scrolling.
Low cost. The cost of T/Maker II is only $275 plus shipping
and handling. Dollars well spent once you consider all the
time, energy and money it can save. T/Maker II is brought
to you exclusively and supported completely by Lifeboat
Associates, world's largest computer software publisher.
For more information send us the coupon below.
r,
i
i
i
• Financial Statements
• Statistics
• Profitability Reports
• Revenue and Expense
Analyses
• Portfolio Evaluations
• Price Lists
• Rate Structures
• Expense Accounts
• Cash Flow
Projections
• Checking Account
Reconciliations
Mail coupon to: Lifeboat Associates, 2005
1651 Third Ave., NY, NY 10028. Or call (212) 860-0300.
D Please send me more information on
T/Maker II.
D Please send me a free Lifeboat
Catalog featuring over 200 programs,
including integrated accounting
and professional practice systems,
office tools for bookkeepers and secre-
taries and sophisticated tools for pro-
grammers.
Name_
Title
Company-
Street
City
State
_Z,p_
T/Maker II is a trademark ol P. Roizen.
CP/M is a trademark of Digital Re-
search, Inc. VisiCalc is a trademark of
Personal Soft ware, Inc. UNIXisatrclde-
mark of Bell Laboratories. RT-11 is a
trademark of Digital Equipment Corp.
. . . and much, much more.
Easy to learn and use. You don't have to be a program-
mer to operate T/Maker II. Just follow T/Maker II s easily-
understood and ordered instructions, set up your data in
As an example of what T/Maker II can do, see the chart below. The operator entered only the data shown in boldface.
T/Maker II calculated and reported all the other values.
— Actual —
Growth
Total
— Projected—
1978
1979
1980
Rate
Average
(000's)
1981
1982
1985
Item A
42,323
51,891
65,123
24.04
53,112
159.34
80,782
100,206
191,262
ItemB
45,671
46,128
49,088
3.67
46,962
140.89
50,891
52,761
58,791
Total
87,994
98,019
114,211
13.93
100,075
300.22
131,673
152,966
250,053
% Item
48.10
52.94
57.02
8.88
52.69
158.1
61.35
65.51
76.49
% Item
51.90
47.06
42.98
-9.00
47.31
141.9
38.65
34.49
23.51
Total
100.00
100.00
100.00
~
100.00
300.0
100.00
100.00
100.00
LIFEBOAT WORLDWIDE offers you the world's largest library of software. Contact your nearest dealer or Lifeboat:
Lifeboat Associates Lifeboat Inc. Lifeboat Associates. Ltd. Lifeboat Associates GmbH Intersoff GmbH
1651 Third Ave OK Bids.. 5F P0 Box 125 P0 Box 168. Aegeristrasse 35 Schlossgartenweg 5
New York. NY, 10028 1-2-8. Shiba-Daimon London WC2H 9LU. England CH 6340 Baar, Switzerland D-80451smaning, W. Germany
Tel- (212) 860-0300 Miriato-ku. Tokyo, 105 Japan Tel: 01-836-9028 Tel: D42-3I-2931 Tel: 089-966-444
Telex: 640693 (LBS0FT NYK) Tel: 03-437-3901 Telex: 893709 (LBS0FTG1 Telex: 865265 (MIC0 CH) Telex: 5213643 (IS0FD)
TWX: 710-581-2524 Telex: 2422723 (ASRTY0J) m mm m /UK »
lifeboat Associates
Circle 197 on Inquiry card.
Software with full support
Lifeboat Associates, SARL
10. Grande Rue Charles de Gaulle
92600 Asnieres, France
Tel: 1-733-08-04
Telex: 250303 (PUBLIC X PARIS)
BYTE August 1981 203
DYNACOMP
Quality software for*:
ATARI TRS-80 (Level II)**
PET NORTH STAR
APPLE II Plus CP/M Disks/Diskettes
CARD GAMES
BRIDGE 2.0 (Available for -II computers) Price: $17.95 CRsselte/$21.95 Diskette
An all-inclusive version of this most popular of card games. This program both BIDS and PLAYS
either contract or duplicate bridge. Depending on the contract, your computer opponents will either
play the offense OR defense. If you bid too high, the computer will double your contract! BRIDGE 2.0
provides challenging entertainment for advanced players and is an excellent learning tool for the bridge
novice. See the software review in 80 Software Critique.
HEARTS 1.5 (Available for all computers) Price: $15.95 Cass«tte/Sl9.95 Diskette
An exciting and entertaining computer version of this popular card game. Hearts is a trick-oriented
game in which (he purpose is not to take any hearts or the queen of spades. Play against two computer
opponents who are armed with hard-to-beat playing strategies. HEARTS 1.5 is an ideal game for in-
troducing the uninitiated (your spouse) to computers. See the software review in 80 Software Critique.
STUD POKER (Atari only) Price: $11.95 Cassette/$15.95 Diskette
This is the classic gambler's card game. The computer deals the cards one at a time and you (and the
computer) be! on what you see. The computer does not cheat and usually bets the odds. However, it
sometimes bluffs! Also included is a five card draw poker betting practice program. This package will
run on a 16K ATARI. Color, graphics, sound.
POKER PARTY (Available for all computers) Price: $17.95 Cassette/$21.95 Diskette
POKER PARTY is a draw poker simulation based on the book, POKER, by Oswald Jacoby. This is
the most comprehensive version available for microcomputers. The party consists of yourself and six
other (computer) players. Each of these players (you will get to know them) has a different personality
in the form of a varying propensity to bluff or fold under pressure. Practice with POKER PARTY
before going to that expensive game tonight! Apple Cassette and diskette versions require a 32 K (or
larger) Apple 11.
CR1BBAGE 2.0 (TRS-80 only) Price: $14.95 Casselle/$18.95 Diskette
This is simply the best cribbage game available. It is an excellent program for (he cribbage player in
search of a worthy opponent as well as for the novice wishing to improve his game. The graphics are
superb and assembly language routines provide rapid execution. See the software review in 80 Software
Critique.
THOUGHT PROVOKERS
MANAGEMENT SIMULATOR (Atari, North Star and CP/M only) Price: $19.95 Cassette
$23.95 Diskette
This program is both an excellent teaching tool as well as a stimulating intellectual game. Based upon
similar games played at graduate business schools, each player or team controls a company which man-
ufacturers three products. Each player attempts to outperform his competitors by setting selling prices,
production volumes, marketing and design expenditures etc. The most successful firm is the one with
the highest stock price when the simulation ends.
FLIGHT SIMULATOR (Available for all computers) Price: $17.95 Cassette/$21.95 Diskette
A realistic and extensive mathematical simulation of take-off, flight and landing. The program utilizes
aerodynamic equations and the characteristics of a real airfoil. You can practice instrument approaches
and navigation using radials and compass headings. The more advanced flyer can also perform loops,
half-rolls and similar aerobatic maneuvers. Although this program does not employ graphics, it is ex-
citing and very addictive. See the software review in COMPUTRONICS.
V ALDEZ (Available for all computers) Price: $15.95 Cas*«tte/$ 19.95 Diskette
VALDEZ is a computer simulation of supertanker navigation in the Prince William Sound/Valdez
Narrows region of Alaska. Included in this simulation is a realistic and extensive 256 x 256 element
map, portions of which may be viewed using the ship's alphanumeric radar display. The motion of the
ship itself is accurately modelled mathematically. The simulation also contains a model for the tidal
patterns in the region, as well a; other traffic (outgoing tankers and drifting icebergs). Chart your
course from the Gulf of Alaska to Valdez Harbor! See the software review in 80 Software Criiique.
BACKGAMMON 2.0 (Atari, North Star and CP/M only) Price: $14.95 CasMtte/SlS.95 Diskette
This program tests your backgammon skills and will also improve your game. A human can compete
against a computer or against another human. The computer can even play itself, Either the human or
(he computer can double or generate dice rolls. Board positions can be created or saved for replay.
BACKGAMMON 2.0 is played in accordance with the official rules of backgammon and is sure to pro-
vide many fascinating sessions of backgammon play.
CHECKERS 3.0 (PET only) Price: $16.95 Casseiie/$20.95 Diskette
This is one of the most challenging checkers programs available. It has 10 levels of play and allows the
user to change skill levels ai any time. Though providing a very tough game at level 4-8, CHECKERS
3.0 is practically unbeatable at levels 9 and 10.
CHESS MASTER (North Star and TRS-80 only) Price: $19.95 Qusette/$23.95 Diskette
This complete and very powerful program provides five levels of play. It includes castling, en passant
captures and (he promotion of pawns. Additionally, the board may be preset before the start of play,
permitting the examination of "book" plays, To maximize execution speed, the program is written in
assembly language (by SOFTWARE SPECIALISTS of California), Full graphics are employed in the
TRS-80 version, and two widths of alphanumeric display are provided to accommodate North Star
users.
NOMINOES JIGSAW (Atari, Apple and TRS-80 only) Price: $16.95 Cassette/$20.95 Diskette
A jigsaw puzzle on your computer! Complete the puzzle by selecting your pieces from a table consisting
of 60 different shapes. NOMINOES JIGSAW is a virtuoso programming effort. The graphics are
superlative and the puzzle will challenge you with its three levels of difficulty. Scoring is based upon the
number of guesses taken and by the difficulty of the board set-up.
MONARCH (Atari only) Price: $1 1 .95 Cassette/$15.95 Diskette
MONARCH is a fascinating economic simulation requiring you to survive an 8-year term as your na-
tion's leader. You determine the amount of acreage devoted to industrial and agricultural use, how
much food to distribute to the populace and how much should be spent on pollution control. You will
find that all decisions involve a compromise and that it is not easy to make everyone happy.
CHOMP-OTHELLO (Atari only) Price: $1 1.95 CuHlte/$15.95 Diskette
CHOMP-OTHELLO? It's really two challenging games in one. CHOMP is similar in concept to NIM;
you must bite off part of a cookie, but avoid taking the poisoned portion. OTHELLO is the popular
board game set to fully utilize the Atari's graphics capability. It is also very hard to beat! This package
will run on a I6K system.
DYNACOMP OFFERS THE FOLLOWING
• Widest variety
• Guaranteed quality
• Fastest delivery
• Friendly customer service
• Free catalog
• 24 hour order phone
AND MORE...
STARTREK 3.2 (Available for all computers) Price: $11.95 Cassette/$I5.95 Diskette
This is the classic Starlrek simulation, but with several new features. For example, the Klingons now
shoot at the Enterprise without warning while also attacking starbases in other quadrants. The
Klingons also attack with both light and heavy cruisers and move when shot at! The situation is hectic
when the Enterprise is besieged by three heavy cruisers and a starbase S.O.S. is received! The Klingons
get even! Sec the software reviews in A.N.A.L.O.G., 80 Software Critique and Game Merchandising.
BLACK HOLE (Apple only) Price: $14.95 Cassette $18 .95 Diskette
This is an exciting graphical simulation of the problems involved in closely observing a black hole with
a space probe. The object is to enter and maintain, for a prescribed time, an orbit close to a small black
hole . This is to be achieved without coming so near the anomaly that the tidal stress destroys the probe.
Control of the craft is realistically simulated using side jets for rotation and main thrusters for accelera-
tion. This program employs Hi-Res graphics and is educational as well as challenging.
SPACE TILT (Apple and Atari only) Price: $10.95 Casselle/SU.95 Diskette
Use the game paddles to tilt the plane of the TV screen to "roll" a ball into a hole in the screen. Sound
simple? Not when the hole gets smaller and smaller! A built-in timer allows you to measure your skill
against others in this habit-forming action game.
MOVING MAZE (Apple only) Price: $10.95 Cassette. $14.95 Diskette
MOVING MAZE employs the games paddles to direct a puck from one side of a maze to the other.
However, the maze is dynamically (and randomly) built and is continually being modified. The objec-
tive is to cross the maze without touching (or being hit by) a wall. Scoring is by an elapsed time in-
dicator, and three levels of play are provided.
ALPHA FIGHTER (Atari only) Price: $14.95 Cuselte/SIB.95 Diskette
Two excellent graphics and action programs in one! ALPHA FIGHTER requires you to destroy the
alien starships passing through your sector of the galaxy. ALPHA BASE is in the path of an alien UFO
invasion; let five UFO's get by and the game ends. Both games require the joystick and get progressive-
ly more difficult the higher you score! ALPHA FIGHTER will run on 16K systems.
INTRUDER ALERT (Atari only) Price: $16.95 Cassette /$20. 95 Diskette
This is a fast paced graphics game which places you in the middle of the "Dreadstar" having just stolen
its plans. The droids have been alerted and are directed to destroy you at all costs. You must find and
enter your ship to escape with the plans. Five levels of difficulty are provided. INTRUDER ALERT re-
quires a joystick and will run on 16K systems.
GIANT SLALOM (Atari only) Price: $14.95 Cass* tte/$ 18.95 Diskette
This real-time action game is guaranteed addictive! Use the joystick to control your path through
slalom courses consisting of both open and closed gates. Choose from different levels of difficulty, race
against other players or simply take practice runs against the clock. GIANT SLALOM will run on 16K
systems.
TRIPLE BLOCKADE (Atari only) Price: $14.95 Cusetle/$18.95 Diskette
TRIPLE BLOCKADE is a two-to-thrce player graphics and sound action game. It is based on (he
classic video arcade game which millions have enjoyed. Using the Atari joysticks, the object is to direct
your blockading line around the screen without running into your opponent(s). Although the concept is
simple, the combined graphics and sound effect lead to "high anxiety".
GAMES PACK I (Available for all computers) Price: $10.95 Cusctte/$14.95 Diskette
GAMES PACK 1 contains the classic computer games of BLACKJACK. LUNAR LANDER, CRAPS.
HORSERACE, SWITCH and more. These games have been combined into one large program for ease
in loading. They are individually accessed by a convenient menu. This collection is worth the price just
for the DYNACOMP version of BLACKJACK.
GAMES PACK II (Available for all computers) Price: $10.95 Cassctte/$14.95 Diskette
GAMES PACK II includes the games CRAZY EIGHTS, JOTTO. ACEY-DUCEY, LIFE, WUMPUS
and others. As with GAMES PACK I, all the games are loaded as one program and are called from a
menu. You will particularly enjoy DYNACOMP's version of CRAZY EIGHTS.
Why pay $7.95 or more per program when you can buy a DYNACOMP collection for just $10.95?
MOON PROBE (Atari only) Price: SI ! .95 Casse(te/$15.95 Diskette
This is an extremely challenging "lunar lander" program. The user must drop from orbit to land at a
predetermined target on the moon's surface. You control the thrust and orientation of your craft plus
direct the rate of descent and approach angle.
ADVENTURE
CRANSTON MANOR ADVENTURE (North Star and CP/M only) Price: $21.95 Diskette
At lastl A comprehensive Adventure game for North Star and CP/M systems. CRANSTON MANOR
ADVENTURE takes you into mysterious CRANSTON MANOR where you attempt to gather
fabulous treasures. Lurking in the manor are wild animals and robots who will not give up the treasures
without a fight. The number of rooms is greater and the associated descriptions are much more
elaborate than the current popular series of Adventure programs, making this game the top in its class.
Play can be stopped at any time and the status stored on diskette.
ABOUT DYNACOMP
DYNACOMP is a leading distributor of small system software with sales spanning the world
(currently in excess of 40 countries). During the past two years we have greatly enlarged the
DYNACOMP product line, but have maintained and improved our high level of quality and
customer support. The achievement in quality is apparent from our many repeal customers
and the software reviews in such publications as COMPUTRONICS, 80 Software Critique
and A.N.A.L.O.G. Our customer support is as close as your phone. It is always friendly.
The staff is highly trained and always willing to discuss products or give advice.
'ATARI. PET, TRS-80, NORTHSTaR, CP/M and IBM are registered tradenames and/or trademarks. "TRS-80 diskettes are not supplied with DOS or BASIC.
Circle 125 on inquiry card.
BUSINESS and UTILITIES
SPELLGUARD™ (CP/M only) Price: SM9.95 Disk
SPELLGUARD u a revolutionary new product which increases the value of your current word processing system (WORD-
STAR, MAGIC WAND, ELECTRIC PENCIL. TEXTED EDITOR II and others). Written entirely in assembly language.
SPELLGt \a I ; ! '' rapidly assists the user in eliminating spelling and typographical errors by comparing each word of the
textagains: a dictionary (expandable) of over 20,000 of the most common English words. Words appealing in the text bui not
found in the dictionary are "flagged" for easy identification and correction. Most administrative staff familiar with word pro-
cessing equipmeni will be able to use SPELLGUARD™ in only a few minutes.
MAIL LIST 2.2 (Apple, Atari and North Star dbkelle only) Price: S34.9S
This program is unmatched in inability to store a maximum number oT addresses on one diskette (minimum of II 00 per disk-
ette, moreihan 2200 for "double density" systems!). Its many features include alphabetic and zip code sorting, label printing,
merging of files and a unique keyword seeking routine which retrieves entries by a virtually limitless selection of user defined
codes. Mail List 2.2 will even find and delete duplicate entries. A very valuable program!
FORM LETTER SYSTEM (FLS) (Apple and North Star diskette only) Price: S21.95
Use FLS to create and edit form letters and address lists Form letters are produced by automatically inserting each address in-
to a predetermined portion of your letter. FLS is completely compatible with MAIL LIST 2.2, which may be used to manage
your iddreis files.
FLS and MAIL LIST 2.2 are available as a combined package for $49.93.
SORTIT (North Star onto Price: $29.95 Diskette
SORTIT is a general purpose sort program written in 8080 assembly language. This program will sort sequential data files
generated by NORTH STAR BASIC. Primary and optional secondary keys may be numeric or one to nine character strings,
SORTIT is easily used with files generated by DYNACOMP's MAIL LIST program and is very versatile in its capabilities for
all other BASIC data file sorting.
PERSONAL FINANCE SYSTEM (Atari and North Star only) Price: $34.95 Diikeite
PFS is a single diskette, menu-oriented system composed of ten different programs. Besides recording your expenses and tax
deductible items. PFS will sort and summarize expenses by payee, and display information on expenditures by any of 26 user
defined codes by month or by payee. PFS will even produce monthly bar graphs of your expenses by category! This powerful
package requires only one disk drive, minimal memory (24K Atari, 32K North Sut) and will store up to 600 records per disk
(and over 1000 record* per disk by making a few simple changes to the programs). You can record checks plus cash expenses so
thai you can finally see where your money goes and eliminate guesswork and tedious hand calculations.
FAMILY BUDGET (Apple only) Price: £34.95 Diskette
The FAMILY BUDGET is a very convenient financial record-keeping program. You will be able to keep track of cash and
credit expenditures as well as income on a daily basis. You can record tax deductible items and charitable donations. The
FAMILY BUDGET also provides a continuous record of all credit transactions. You can make daily cash and charge entries to
any of 21 different expense accounts as well as to 5 payroll and lax accounts. Data is easily retrieved giving the user complete
control over an otherwise complicated (and unorganized!) subject.
THE COMMUNICATOR (Atari only) Price: $49.95 Dtskeite
This software package contains a menu-driven collection of programs for facilitating efficient two-way communications
through a full duplex modem (required for use). In or.c mode of operation you may connect to a data service (e.g., The
SOURCE or MicroNet) and quickly load data such as stock quotations onto your diskette for later viewing. This greatly re-
duces "conneci rime" and thus the service charge. You may also record the complete contents of a communications session.
Additionally, programs written in BASIC, FORTRAN, etc. may be built off-line using the support text editor and later "up-
loaded" to another computer, making the Atari a very imart terminal. Even Atari BASIC programs may be uploaded. Fur-
ther, a command file may be built off-line and used later as controlling input for a time-share system. That is. you can set up
your sequence of time-share commands and programs, and the Atari will transmit them as needed; batch processing. All this
adds up to saving both connect time and your time.
DYNACOMP also supplies THE COMMUNICATOR »
it available separaicly for $189.95.
iih an Atari 830 modem for a combined price of $219.95. The modem
TEXT EDITOR II (CP/M)
This is the second release ntti
EDITOR II you may build te:
deleted. Files may be ss
Price: $29.95 Dlskene/S33.45 Dtik
on of DYNACOMP's popular TEXT EDITOR I and contains many new features. With TEXT
files in chunks and assemble them for later display. Blocks of text may be appended, inserted or
disk/diskette in right justified /centered format lo be later printed by cither TEXT EDITOR II
it the CP/M ED facility. Futher, ASCII CP/M files (including BASIC and assembly language programs) may be read by the
editor and processed. In fact, text files can be built using ED and later formatted using TEXT EDITOR II. All in all. TEXT
EDITOR II is an inexpensive, easy to use, but very flexible editing system.
Price; $19.95
a specialized data base of all files and programs in the stack of disks
□ set up and use. It will organize your disks (o provide efficient locating of the
DFILE (North Star only)
This handy program allows North Star u
which invariably accumulates. DFILE is
desired file or program.
FINDIT (North Star only) Price: $19.95
This is a ihree-in-one program which maintains information accessible by keywords of three types: Personal (eg; last name),
Commercial (eg; plumbers) and Reference (eg: magazine articles, record albums, etc). In addition to keyword searches, there
are birthday, anniversary and appointment searches for the personal records and appointment searches for the commercial re-
cords. Reference records are accessed by a single keyword or by cross-referencing two or three keywords.
GRAFIX (TRS-80 only) Price: $14.95 Casaetle/$1l.95 Diskette
This unique program allows you to easily create graphics directly from the keyboard. You "draw" your figure using the pro-
gram's extensive cursor controls. Once the figure is made, it is automatically appended to your BASIC program as a string var-
iable. Draw a "happy face", call it HS and then print it from your program using PRINT HS! This is a very easy way to create
and save graphics.
EDUCATION
HODGE PODGE (Apple only, 48K Applesoft or Integer BASIC) Price: $19.95 Cauciie/$2J.95 Diikeite
Let HODGE PODGE be your child's baby sitter. Pressing any key on your Apple will result in a different and intriguing "hap-
pening" related to the letter or number of the chosen key. The program's graphics, color and sound are a delight for children
from ages 1 14 to 9. HODGE PODGE is a non-intimidating teaching device which brings a new dimension to the use of com-
puters in education.
TEACHER'S PET I (Available for all computers) Price: S11.95 Caaaelte/$15.95 Diskette
This is the first of DYNACOMP's educational packages. Primarily intended for prc-school lo grade 3. TEACHER'S PET
provides the young student with counting practice, letter-word recognition and three levels of math skill exercises.
MORSE CODE TRAINER (TRS40 only) Price: $12.95 Cassette /SI 6. 95 Diskette
MORSE CODE TRAINER is designed to develop and improve your speed and accuracy in deciphering Morse Code. As such.
MCT is an ideal software package for FCC test practice. The code sound is obtained through the earphone jack of any stan-
dard cassette recorder. You may choose the pitch of the tones as well as the word rate. Also, various modes of operation are
available including number, punctuation and alphabet tests, as well as the keying of your own message. A very effective way to
MISCELLANEOUS
CRYSTALS (Atari Only) Price: S 9.95 Caaaelte/S 13.95 Diskette
A unique algorithm randomly produces fascinating graphics displays accompanied with tones which vary as the patterns arc
built. No two patterns are the same, and the combined effect of the sound and graphics are mesmerizing. CRYSTALS has been
used in local stores lo demonstrate the sound and color features of the Atari.
NORTH STAR SOFTWARE EXCHANGE (NSSE) LIBRARY
DYNACOMP now distributes the 23 volume NSSE library. These diskettes each c<
standing value Tor the purchase price. They should be pan of every North Star user
for details regarding the contents of the NSSE collection.
Price: $9.91 each/$7.9J each (4 or more)
The complete collection may be purchased for $149.95
AVAILABILITY
DYNACOMP software is supplied with complete documcnla:ion containing clear explanations and examples. Unless othe
specified, all programs wilt run within I6K program memory space (ATARI requires 24K). Except where noted, programs are:
able on ATARI. PET. TRS-80 (Level II) and Apple (Applesoft) cassette and diskette as well as North Star single density (di
density compatible) diskette. Additionally, most programs can be obtained on standard (IBM formal) 8" CP/M floppy disks fo
systems tunning under MBAS1C.
ble
STATISTICS and ENGINEERING
DIGITAL FILTER (Available for ill computers) Price: $29.95 Casseile/S3J.95 Diskette
DIGITAL FILTER is a comprehensive data processing program which permits the user lo design his own filter function ot
choose from a menu of filter forms. The filler forms are subsequently converted into non-recursive convolution coefficients
which permit rapid data processing. In (he explicit design mode the shape of the frequency transfer function is specified b)
directly entering points along the desired filler curve. In the menu mode, ideal low pass, high pass and bandpass fillers may be
approximaiedio varying degrees according to the number of points used in Ihc calculation. These fillers may optionally also be
smoothed with a Hanning function. In addition, multi-stage Butlerworlh filters may be selected. Features of DIGITAL
FILTER include plotting of the data before and after filtering, as well as display of ihe chosen filler functions. Also included
arc convenient data storage, retrieval and editing procedures.
DATA SMOOTHER (Not available for Atari) Price: $14.95 Cassette /$ 18, 95 Diskette
This special data smoothing program may be used to rapidly derive useful information from noisy business and engineering
data which are equally spaced. The software features choice in degree and range of fit, as well as smoothed first and second
derivative calculation. Also included is automatic plotting of the input data and smoothed results.
FOURIER ANALYZER (Available for all computers) Price: $16.95 Cassette/ $10 .9 5 Diskette
Use this program to examine the frequency spectra of limited duration signals. The program features automatic scaling and
plotting of the input data and results. Practical applications include the analysis of complicated patterns in such fields as elec-
tronics, communications and business.
TFA (Transfer Function Analyzer) Price: S19.93 Caascltc/S23.95 Diskette
This is a special software package which may be used to evaluate the transfer functions of systems such as hi-fi amplifiers and
filters by examining their response to pulsed inputs. TFA is a major modification of FOURIER ANALYZER and contains an
engineering-oriented decibel versus log-frequency plot as well as data editing features. Whereas FOURIER ANALYZER is de-
signed for educational and scientific use, TFA is an engineering tool. Available for ail computers.
HARMONIC ANALYZER (Available for all computers) Price: S24.95 Cassette /SU. 9 5 Diskette
HARMONIC ANALYZER was designed for the spectrum analysis of repetitive wave] or ins Features include data file genera-
tion, editing and storage/ retrieval as well as data and spectrum plotting. One particularly unique facility is thai the inpul data
need not be equally spaced or in order. The original data is sorted and a cubic spline inlcrpolalion is used lo create ihe data file
required by the FFT algorithm.
REGRESSION I (Available for all computers) Price: $19.95 Cassette/ $23 .95 Diskette
REGRESSION I is a unique and exceptionally versatile one-dimensional least squares "polynomial" curve fitting program.
Features include very high accuracy; an automatic degree determination option; an extensive internal library of fitting func-
tions; data editing; automatic data and curve plotting; a statistical analysis (eg: standard deviation, correlation coefficient,
etc.) and much more. In addition, new fits may be tried without reentering the data. REGRESSION I is certainly the corner-
stone program in any data analysis software library.
REGRESSION II (PARAFTT) (Available for all computers) Price: S19.95 Casselte/S23.95 Dlsketle
PARAFIT is designed lo handle those cases in which the parameters are imbedded (possibly nonlinearlyj in ihe fining func-
tion. The user simply inserts the functional form, including the parameters (A(l ), A(2), etc.) as one or more BASIC statement
lines. Data and results may be manipulated and plotted as with REGRESSION I. Use REGRESSION I for polynomial fitting,
and PARAFIT for those complicated functions.
MULTILINEAR REGRESSION (MLR) (Available for all computers) Price: S24.9S Caaselle/S28.95 Dlsketle
MLR is a professional software package for analyzing data sets containing two or more linearly independent variables. Besides
performing the basic regression calculation, this program also provides easy to use data entry, siorage, retrieval and editing
functions. In addition, the user may interrogate the solution by supplying values for ihe independent variables. The number of
variables and dau size is limited only by the available memory.
REGRESSION I, II and MULTILINEAR REGRESSION may be purchased logelher for $51.95 (three cassettes) or $63.95
(three diskettes).
ANOV A (Available for all computers) Price: $39.95 Casseiie/S43.95 Diskette
In the past the ANOVA (analysis of variance) procedure has been limited lo the large mainframe computers. Now
DYNACOMP has brought ihe power of ihis method 10 small systems. For those conversant with ANOVA. the DYNACOMP
software package includes the 1-way, 2-way and N-way procedures. Also provided are the Yates 2*-P factorial designs. For
those unfamiliar with ANOVA, do not worry. The accompanying documentation was written in a luiorial fashion (by a pro-
fessor in the subject) and serves as an excellent introduction to the subject. Accompanying ANOVA is a support program for
building the data base. Included arc several convenient features including data editing, deleting and appending.
BASIC SCIENTIFIC SUBROUTINES, Volume I (Not available for Atari)
DYNACOMP is the exclusive distributor for the software keyed to the popular text BASIC Scientific Subroutines, Volume I
by F. Ruckdeschel (see the BYTE/McGraw-Hill advertisement in BYTE magazine, January 1981). These subroutines have
been assembled according to chapter. Included with each collection is a menu program which selects and demonstrates each
Collection #1: Chapters 2 and 3: Data and function plotting, complex variables
Collection fl: Chapter 4: Matrix and vector operations
Collection Hi: Chapters 5 and 6: Random number generators, series approximations
Price per collection; SI4.95 Cassette/Si 8.95 Diskette
All three collections are available for $39.95 (three cassettes) and $49.95 (three diskettes).
Because the text is a vital pan of the documentation, BASIC Scientific Subroutines, Volume 1 is available from DYNACOMP
for $19.95 plus 75< postage and handling.
ROOTS (Available Tor all computers) Price $10.95 Cassette /$ 14. 95 Diskette
In a nutshell, ROOTS simultaneously determines all the zeroes of a polynomial having real coefficients. There is no limit on
the degree of the polynomial, and because the procedure is iterative, the accuracy is generally very good. No initial guesses arc
required as input, and the calculated roots are substituied back into the polynomial and ihe residuals displayed.
ACTIVE CIRCUIT ANALYSIS (ACAP) (UK Apple only) Price: S25.95/S29.95 Diskette
ACAP is Hie analog circuit designer's answer to LOGIC SIMULATOR. With ACAP you may analyze the response of an ac-
tive or passive component circuii (e.g , a transistor amplifier, bandpass filter, etc.). The circuit may be probed at equal steps in
frequency, and the resulting complex (i.e., real and imaginary) voltages at each component juncture examined. By plotting the
magnitude of these voltages, the frequency response of a filter or amplifier may be completely determined with respect to boih
amplitude and phase. In addition, ACAP prints a statistical analysis of the range of voltage responses which result from
tolerance variations in the components.
ACAP is easy to learn and use. Simply describe the circuit in terms of the elements and their placement, and execute. Circuit
descriptions may be saved onto cassette or diskette to be recalled at a later lime for execution or editing. ACAP should be part
of every circuit designer's program library.
LOGIC SIMULATOR (Apple only; 48K RAM) Price: S24.95 Casselte/SM.95 Diskette
With LOGIC SIMULATOR you may easily lest your complicated digital logic design with respect to given set of inpuis to
determine how well Ihe circuit will operate. The elements which may be simulated include multiple input AND, OR. NOR,
EXOR. EXNOR and NAND gales, as well as inverters, J-K and D flip-flops, and one-shots. The response of the system is
available every clock cycle. Inputs may be clocked in with varying clock cycle lengths/displacements and delays may be intro-
duced lo probe for glitches and race conditions. At the user's option, a timing diagram for any given set of nodes may be plot-
ted using HIRES graphics. Save your breadboarding until ihe circuii is checked by LOGIC SIMULATOR.
LOGIC DESIGNER (North Star and CP/M only) Price: S34.95 Diskette
LOGIC DESIGNER is an exceptional Computer Aided Design (CAD) program. With it you may convert a large and compli-
cated digiiial truth table ((he functional specification) into an optimized Boolean logic equation. This equation may then be
easily converted into a circuii design using either NAND or AND/OR gales. Ope rati onally. LOGIC DESIGNER is composed
of a BASIC program which calls in a machine language routine to reduce execution lime. Example: For a 7 variable by 127 line
table, the processing lime is only two minutes. LOGIC DESIGNER is clearly a fast and powerful tool for building digital cir-
ORDERING INFORMATION
d include the appropriate computer ir
All orders are processed and shipped within 48 hours. Please enclose payment with order 1
formation. If paying by VISA or Master Card, include all numbers on card.
Shlpplog and Handling Charie*
Within North America: Add 51.50
Outside North America: Add lOTo (Air Mail)
e programs. Dealer discoum schedules are available upon request.
ft" CP/M Disks
Add S2.50 to the listed diskette price for each 8" floppy disk (IBM soft sectored CP/M format). Programs run under
Microsoft MBASIC or BAS1C-80.
DYNACOMP, Inc.
1427 Monroe Avenue
Rochester, New York 14618
24 hour order phone: (716)586-7579 recording
Office phone (9AM-5PM EST): (716)442-8960
New Yo* Stale reildenli pkHC *dd 1% NYS llkl III.
Circle 125 on Inquiry card.
Text continued from page 202:
business microcomputer was an-
nounced by TRW/Fujitsu. The
TFC-8500 system starts at $25,000
and goes upward to $200,000. In ad-
dition, the company will market a
line of point-of-sale computer cash
registers/terminals. This market is
very competitive at the present time.
It's obvious that there is a large
amount of activity going on behind
the scenes at both TRW and
Fujitsu — two companies to watch
carefully.
Sharp Electronics
Although not in the multibillion-
dollar league of many of the com-
panies we're discussing here, Sharp is
one of the most well known in the
United States. Its wide-ranging line of
calculators and other consumer elec-
tronics products is sold by approx-
imately 1400 dealers in the States.
Consequently, the company has a
great deal of marketing experience
here as well as an extremely strong
sales and service network.
Over the past few years, Sharp's
calculator products have become
more and more sophisticated;
therefore, it's not surprising that its
first personal computer resembled a
calculator. It's interesting that instead
of marketing the product itself, Sharp
sold initial marketing rights to the
company with one of the largest sales
and service networks in the
world — Radio Shack.
The Sharp PC-1211 Pocket Com-
puter became the TRS-80 Pocket
Computer, introduced in August
1980 by Radio Shack. By using the
immense marketing power of Radio
Shack, Sharp was "testing the
waters.", A source at Sharp told me
the company had doubts about how
the product would be received.
To say the reception was good is an
understatement. Sales of the TRS-80
Pocket Computer during its first six
months were estimated at 40,000
units — four times the Radio Shack
sales projections. The company in-
itially purchased approximately
10,000 units, creating supply prob-
HIPAD DIGITIZERS
Inexpensive Graphic Input
To Your Computer
The HIPAD Series Digitizers are the ideal graphic input devices for the
small system user. Utilizing the principle of X-Y coordinates to obtain posi-
tioning, they convert graphic coordinates into digital data that can be pro-
cessed by the computer.
Featuring:
•Digitizing surface of 11" X 11" (28cm X 28cm).
•Translucent digitizing area suitable for backlighting.
•Built-in switch selectable RS-232-C and 8 bit parallel interfaces.
•Resolution of 0.005 inches or .01 inches.
•Standard marking or non-marking
stylus.
•Optional one-or four-button cursor
models.
•Relocatable origin.
•Optional 5-digit LED display.
•UL Listed — Certified FCC Class B.
•Easily interfaced to Apple™, TRS— 80™, Atari™,
and most other microcomputers.
•Prices start at $795.
houston instrument
GRAPHICS DIVISION OF ^_^
BAUSCH LOMB ▼
One Houston Square, Austin, Texas 78753
Phone (512) 837-2820
Outside Texas call 1-800-531-5205
lems shortly after introduction.
Radio Shack's exclusive marketing
rights to the PC-1211 ran out in
March 1981. Sharp has started
marketing the Pocket Computer with
the addition of a printer although
Radio Shack will also offer a printer
in the near future.
Some observers of the personal
computer market feel pocket com-
puters are only a novelty — a fad that
will soon pass. However, a number of
companies seem committed to their
development. Although presently
limited in utility, pocket computers
will be a major factor in the
popularization of personal com-
puters.
In the meantime, Sharp has aimed
squarely at the small-business market
with the recent introduction of the
YX-3200. The system is being sold by
720 Sharp dealers and will retail in
the $6000 range. The powerful
Z80-based system includes a 12-inch
green-phosphor display (80-charac-
ters) and two 5Vi-inch quad-density
floppy-disk drives. Also included in
the price is an Epson MX-80 printer
(manufactured by a Japanese sub-
sidiary of Seiko). An interesting
sidelight is that the YX-3200 was
designed in the United States — by
American engineers.
The marketing of the YX-3200
system will also be an experiment.
Sharp has projected sales of 5000
systems by April 1982. It will be vir-
tually the first computer system to be
sold by persons who are not com-
puter dealers. The majority of Sharp
salesmen chosen to sell the system are
office equipment dealers. As the
small-business market continues to
grow, we are likely to see more and
more personal computer systems sold
in this way.
In the realm of the truly personal
computer, the MZ-80 is perhaps the
most interesting part of the Sharp
line. Not currently available in the
United States, it is one of the largest-
selling personal computers in Europe
and Japan. The MZ-80 retails for ap-
proximately $900 with a calculator-
style keyboard (not unlike the early
PET), $1200 with a standard
keyboard. It's an attractive machine
Text continued on page 212
206 August 1981 © BYTE Publications Inc
Circle 160 on inquiry card.
aiffllilfr"
Siapcia's
Circuit (Jellap
Y T E BOOKS
BUILD YOUR OWN
Z80 COMPUTER
by Steve Ciarcia
MfCROCOMf
STRUCTURES
by Sieve Ci.il
-ou've talked about it,
you've thought about it. Now,
here are four books to help you
do something about it!
So, for your next microcomputer
project . . . do it, and do it right.
With the help of BYTE Books.
EfTE
SSK^
hcj
$G&ttJStox\
brains: behavior
robotics
: '"'>es ( vv ^
AVAILABLE FALL 1981
DIGITAL HARMONY
by John Whitney
A new synthesis of
sight and sound
Digital Harmony lays the
foundation for the whole new
field of audio-visual art made
possible by microcomputers.
John Whitney, a pioneer of the
special effects technology
used in STAR WARS and 2001:
A SPACE ODYSSEY, explains the
special union of computer
graphics and music. His
computer-generated visual
art graphically depicts the
laws of harmonic motion
common to all music.
Digital Harmony includes a
complete description of
Whitney's computer, periph-
erals, and film techniques.
Colorful illustrations are in-
cluded, as well as the program
listings that generated them.
The descriptions dre sufficient
for anyone to begin to explore
this new territory as a com-
poser and computer experi-
menter - transforming the small
computer into an ideal instru-
ment for creating compositions
in aural and visual art.
John Whitney is on the
Faculty in the Department
of Art at the University of
California, Los Angeles.
ISBN 0-07-070015-X
240 pages
hardcover
over 50 color COl OC\
photographs yAl.srW
INVERSIONS:
A Catalogue of
Calligraphic
Cartwheels
by Scott Kim
Foreword by Douglas Hofstader
Backwor'd by Jef Raskin
Surprising symmetries in
design and letterforms
Illusion . . . calligraphy . . ,
visual magic - Scott Kim's new
book. Inversions, delights the
eye and enchants the mind.
Fiilea with intriguing designs,
woids that read the same right-
side up and upside down,
words within words, and un-
expected symmetries, these
compositions create a fresh
way to look at the alphabet.
The text includes the visual
principles of symmetry, lettering,
and problem solving that are
basic to these images. The
author also draws parallels to
related exercises in perception
in such diverse areas as art,
music, word play, and mathe-
matics. Scott Kim's original
inversion designs first appeared
in Omni magazine, inspiring
an overwhelming reader re-
sponse. An irresistable chal-
lenge, invertible writing appeals
to everyone who loves beauty
in mathematics and design.
Scott Kim is a doctoral student
in Computer Science at Stan-
ford University and is a concert
pianist and composer.
ISBN 0-07-034546-5
128 pages
softcover
over 50 illustrations
available summer 1981
$8.95
BRAINS,
BEHAVIOR,
AND ROBOTICS
by James S. Albus
Robotics design
and applications
This computer-oriented guide
explores how the brain functions
primarily as a computer device
for generating and con-
trolling behavior. The author
assesses behavior as a product
of three hierarchies of
computing modules:
• memory modules
• behavior-generating modules
• sensory-processing modules
A section on artificial intelli-
gence ties this hierarchical
model to vital computer
science techniques such as
planning, problem-solving,
machine vision, natural
language understanding and
knowledge representation. A
closing section on robotics
discusses the design consid-
erations in constructing a robot
control system fashioned after
this model of the brain, and
explores the current and
potential use of robots in
our environment.
Dr. James S. Albus is Project
Manager with the National
Bureau of Standards.
ISBN 0-07-000975-9
400 pages
hardcover
ISO illustrations
$15.95
THE BRAINS OF
MEN AND MACHINE!
by Ernest W. Kent
Human models for
computer design
When the "Brains of Men and
Machines" series of articles
first appeared in BYTE
magazine, the response was
immediate and enthusiastic.
Now Ernest W. Kent has expand-
ed his ideas about the brain
into a full-length book. As
researchers begin to unravel
the mysteries of the brain's
chemical, electrical, and
synaptic circuitry, their findings
are becoming immediately
applicable to advances in
robotic behavior and computer
design. The Brains of Men and
Machines "dissects" the brain
to provide new insights into
computer design and artificial
intelligence.
It is one of the rare books that
transcends disciplinary bound-
aries. In it the ever-increasing
relationship between man and
machine is freshly examined -
a relationship. Professor Kent
concludes, that is today being
reexamined in the light of
man's own neurological
self-image.
Dr. Ernest W. Kent is a
Professor of Physiological
Psychology and Psycho-
pharmacology at the University
of Illinois at the Chicago
Circle Campus.
ISBN 0-07-034123-0
304 pages
hardcover aip at
illustrated ^IO.tO
The BYTE BOOK Collection
Circle 40 on inquiry card.
BASIC
SCIENTIFIC
SUBROUTINES,
VOLUMES
1 AND 2
H-j»ini;g«lkir»'
by Fred Ruckdeschel i@!
Valuable programs for
professional and hobbyist
Designed for the engineer, scientist,
experimenter, and student, this series pre-
sents a complete scientific subroutine
package in BASIC.
• Volume 1 covers plotting, complex vari-
ables, vector and matrix operation,
random number generation, and series
approximations.
• Volume 2 continues with least-squares
approximation, special polynomial
functions, approximating techniques,
optimization, roots of functions, inter-
polation, differentiation, integration, and
digital filtering.
These volumes feature routines written in both
standard Microsoft and North Star BASIC,
extensive appendices, and subroutine
cross-referenes.
Dr. Fred Ruckdeschel is a Principal
Scientist with Dynacomp, Inc.
VOLUME 1 VOLUME 2
ISBN 0-07-054201-5 ISBN 0-07-054202-3
336 pages 384 pages hardcover
hardcover illustrated
illustrated available Fall 1981
$19.95 523.95
«BVTE Boakiri
»ascal THE BYTE
BOOK
OF
PASCAL
Blaise W. Liffick, Editor
A powerful, structured language
Based on articles, language forums, and
letters from BYTE magazine, this work is a
valuable software resource. Pascal con-
tinues to be popular as a structured pro-
gramming language. Written for both
potential and established users, this book
introduces the Pascal language and
examines its merits and possible imple-
mentations. Featured are two versions of a
Pascal compiler, one written in BASIC and
the other in 8080 assembly language;
a p-code interpreter written in both Pascal
and 8080 assembly language; a chess-
playing program; and an APL interpreter.
ISBN 0-07-037823-1
334 pages
hardcover
$25.00
THREADED
INTERPRETIVE
LANGUAGES
by Ronald Loeliger ,
How to implement
FORTH on your Z80
Threaded languages (such as FORTH) are
compact, giving the speed of assembly
language with the programming ease of
BASIC. They combine features found in no
other programming languages. This book
develops an interactive, extensible
language with specific routines for the Zilog
Z80 microprocessor. With the core inter-
preter, assembler, and data type defining
words covered in the text, it is possible to
design and implement programs for almost
any application and equivalent routines
for different processors.
Ron Loeliger is a Senior Analyst with
Intermetrics, Inc.
ISBN 0-07-038360-X
272 pages
hardcover
illustrated
$18.95
BEGINNER'S
S^:» GUIDE FOR
szzz::. THE UCSD
PASCAL
SYSTEM
by Kenneth L. Bowles
The most popular Pascal
version explained by its creator
Written by the originator of UCSD Pascal
System, this informative book is an orienta-
tion guide to the UCSD Pascal System. For
the novice, this book steps through the
System, bringing the user to a sophisticated
level of expertise. Once familiar with the
System, the reader will find the guide an
invaluable reference tool for creating
advanced applications. The package offers
programs which may be run without
alteration on:
• DEC PDP-11 or General Automation
minicomputers
• Western Digital Microengines
• 8080, 8085, Z80, 6502, 6800, 9900 or
AM-lOO based microcomputers (includ-
ing the popular Apple II and Radio Shack
TRS-80 microcomputers)
Dr. Kenneth L. Bowles is Director of the
Institute for Information Systems, University
of California, San Diego.
ISBN 0-07-006745-7
204 pages
softcover
$11.95
s&
aM*Wt>
YOU JUST
BOUGHT
A PERSONAL
WHAT?
by Thomas Dwyer and Margot Critchfield
A Structured Approach to
Creative Programming
Intended for both the novice programmer
and the experienced computer enthusiast,
this book presents practical ideas for
personal computer use at home or at work.
Its approach is especially suitable for
educational purposes. Written by the
leading contributors of computer educa-
tion material, this book is an entertaining
and resourceful tool. There are over 60
ready-to-use programs written in Microsoft
and Level II BASIC for the TRS-80 in the areas
of educational games, financial record
keeping, business transactions, disk-
based files, and word processing
Dr. Thomas Dwyer is a Professor of
Computer Science at the University of
Pittsburgh.
Margot Critchfield is a doctoral student
in Foundations in Education at the Univer-
sity of Pittsburgh.
ISBN 0-07-01 8492-5
343 pages
softcover
78 illustrations
$11.95
BEYOND GAMES:
SYSTEM
SOFTWARE
FOR YOUR
6502
PERSONAL
COMPUTER
by Kenneth Skier
Creating programs for the Apple,
Atari, Challenger and
PET computers
At last, a complete programming guide-
book for owners of personal computers
utilizing the 6502 microprocessor. A self-
contained course in structures programming
and top-down design, this book presents
a powerful set of tools for building an
extended monitor, disassembler, hexadec-
imal dump routine, and text editor programs.
Programs are thoroughly explained, with
clear instructions for modifications.
Kenneth Skier is a Systems Programmer
for Wang Laboratories, Inc., and a Lecturer
at MIT.
ISBN 0-07-057860-5
440 pages
softcover
illustrated
$14.95
stimulating, provocative, problem-solving
Circle 41 on inquiry card.
BYTE August 1981 209
CIARCIA'S
CIRCUIT
CELLAR
by Steve Ciarcia
Practical uses for home computers
Imaginative and practical, Ciarcia's Circuit
Cellar details a variety of microcomputer
projects. A collection of the best articles
from the popular series in BYTE magazine,
this volume includes
• D/A conversion
• Programming EPROMS
• AC remote-controlled appliances
• digitized speech
• touch input video display
Complete instructions are given on how to
construct each project. With amusing
anecdotes and an easy-going style,
Ciarcia presents his material in such a
manner that even a neophyte need not be
afraid of it.
ISBN 0-07-010960-5
125 pages
softcover
color photographs and diagrams
$8.00
CIARCIA'S
CIRCUIT
CELLAR,
VOLUME II
by Steve Ciarcia
More practical uses for
home computers
Composed of popular articles from BYTE
magazine, this volume tells how micro-
computers can be uniquely interfaced to
our environment. Projects include
• building a computer controlled home-
security system
• computerizing appliances
• transmitting digital information over a
beam of light
• building the Intel 8O86 microprocessor
system design kit
• input-output expansion for the TRS-8O
ISBN 0-07-010963-X
224 pages
softcover
photographs and diagrams
$12.95
a^r 5 **
MICRO-
COMPUTER
STRUCTURES
by Henry DAngelo
Digital Electronics,
Logic Design, and
Computer Architecture
Today, there is an increasing demand for
computer users who are not only well-versed
in software, but who can also maintain,
modify, and design their own hardware
systems.
This text introduces computer users with
little or no background in digital hardware
to the basic computer structures used in
microcomputer design and microcomputer
interfacing. Helpful examples and end-of-
chapter exercises further illustrate the
various concepts presented, and a detailed
bibliography provides additional reading
opportunities. As a resource and textbook,
it will assist
• programmers and systems analysts
• engineers and scientists
• managers
• students
Detailed Instructor's Manual also available.
Dr Henry D'Angelo is the Associate Dean
of the College of Engineering and Professor
of Manufacturing Engineering at Boston
University
ISBN 0-07-01 5294-2
288 pages
hardcover
314 illustrations
available spring 1981
$18.95
Instructor's Manual
ISBN 0-07-015298-5
softcover
$8.95
BUILD ,
YOUR OWN I
Z8O / ,
COMPUTER
by Steve Ciarcia
£yi. L *i YOUR OWN
jSSS r "Mr,'TPF
Every step spelled out for
do-it-yourself buffs
For the engineer, computer technician,
student, and anyone interested in building
a computer rather than buying one, this
practical guide shows how to build a work-
ing computer based on the Zilog Z8O micro-
processor. Each computer subsystem is fully
explained and supported by proven design
and testing information. The description
focuses on a basic single-board micro-
computer containing
• easy expansion to include a video terminal
• a 1 K-byte operating system
• serial and parallel ports
• hexadecimal display
• audio cassette mass storage
Readers can modify the system to meet
personal needs.
Steve Ciarcia is a Computer Consultant,
Electrical Engineer, and author of "Ask
Byte" and "Ciarcia's Circuit Cellar" columns
in BYTE magazine.
ISBN 0-07-010962-1
330 pages
softcover
available summer 1981
$15.95
BYTE Books' reputation is based
on providing technically
accurate, useful, and timely
information. Established on the
same principle as BYTE
magazine, BYTE Book's evolved
in response to the rapidly ex-
panding audience of home
and business computer users.
Computer professionals and
enthusiastic newcomers need
to keep pace with this
unabated growth. This selec-
tion of BYTE books can
expand your library of knowl-
edge and expertise.
TO ORDER, CALL TOLL
FREE 800-258-5420, OR
FILL OUT YOUR CHOICES
IN THIS COUPON and
return it with check,
money order, or charge
card number to:
BOTE
Bins
70 Main Street
Peterborough,
New Hampshire 03458
order now . . . !
m
210 BYTE August 1981
BOTE
70 Main Street
Peterborough, New Hampshire 03458
Name
Address.
City
State.
Zip
• Check enclosed in the amount of .
• Bill Visa. Card Number
Bill Master Charge. Card Number
Expiration Date
Include 75c per book to cover postage
and handling.
TITLE
PRICE QUANTITY AMOUNT
SHIPPING
TOTAL
Circle 42 on inquiry card.
LOWEST PRICE - BEST QUALITY
NORTH STAR
North Star Horizon 2
2-5% Disk Drives
32K Double Den
Factory assem. & tested
Factory guaranteed
List $3695
only
$2697
POWERFUL NORTH STAR
SUPERB FOR BUSINESS
FACTORY ASSEMBLED & TESTED
HORIZON-2-64K-DOUBLE DEN
HORIZON-2-32K-QUAD DENSITY
HORIZON-2-64K-QUAD
HORIZON RAM ASSM 1 6K = $279
HORIZON RAM ASSM 48K = $679
HORIZON DISK DRIVE SALE
DOUB DEN
NORTH STAR HARD DISK 18 Mb
BASIC FREE
& SCIENCE
LIST ONLY
$4195 $3062
$3995 $2916
$4495 $3281
32K=$479
64K=$879
SAVE!
$5375
NORTH STAR TIME SHARING MULTI-USER
$ 445
$3923
CALL
SUPERBRAIN
ZENITH
SUPERBRAIN QD 64K
List $3995 only $2995
Z-89 48K
List $2895 only $2299
TERMINALS Z-1 9 $725
INTERTUBEIII om y $725
DYNABYTE COMPUTER— SAVE— PHONE
EPSON MX-80— PHONE
ANADEX 9501 $1349
NEC PRINTER $2639
TRACTOR,
THIMBLE,
RIBBON
DIP-81 $395
TEC LETTER QUAL $1599
InterSystems
ITHACA INTERSYSTEMS 2A
Z-80A CPU 4 MHz
64K Dynamic RAM
Front panel
V I/O— with interrupts
FDCII Disk Controller
20 slot motherboard
CALL FOR PRICE-
TOO LOW TO ADVERTISE!
PASCAUZ + THE FASTEST PASCAL $375
Z-8000 & CACHE BIOS— POWERFUL— PHONE
8086 16 BIT CPU & SUPPORT CARD SEATTLE $695
CALIFORNIA COMPUTER 2210A ONLY $1795
MORROW 8" DISK
DISCUS 2D + CP/M" 600K ONLY $929
DISCUS 2 + 2 + CP/M® 1.2 MEGA B. $1240
ADD DRIVES 2D =$650 2 + 2 = $975
2D-DUAL + CP/M® ONLY $1540
FREE MBASIC FROM MORROW!!
MORROW HARD DISK
26,000,000 BYTES!!
LIST $4995 ONLY $3919
CP/M® IS INCLUDED!
SAVE ON MEMORY AND PROGRAMS
SYSTEMS MEMORY 64K A « T 4mHz WORDSTAR $315
$590
SYSTEM MEMORY 64K BANK SELECT
$740 SPECTRUM $269
COMPUPRO SAVE
ITHACA MEMORY 8/1 6-blt64K $845 EZ-CODER Translates English to BASIC
SEATTLE MEMORY 8/16 BIT 16K $249 $71
ECOSOFT FULL ACCOUNTING PKG
SSM KITS Z-80 CPU $221 $355
VIDEO BRDV83 4Mhz $412 BOX OF DISKETTES $29
ANADEX PRINTER DP-9500-1 $1349 SECRETARY WORD PROCESSOR
CAT NOVATION MODEM $169 The Best! $99
GOFAST NORTH STAR BASIC
ECONORAM2A8KASSM $179 OPTIMIZER— FAST $71
NSSE 1-22 & P01 TERRIFIC PROGRAMS Which Computers are BEST?
ONLY $10. EACH BROCHURE FREE
NORTHWORD $329 MAILMAN $246 North Star Documentation refundable
INFOMAN $411 w/HRZ$35
TARBELL COMPUTER-PHONE
AMERICAN SQUARE COMPUTERS BEATS ADV. PRICES
square
American [0] Computers
919-889-4577 KIVETT DR. JAMESTOWN N.C. 27282 919-883-1105
® CP/M Is a registered trademark of Digital Research, Inc.
Circle 18 on inquiry card.
BYTE August 1981 211
Text continued from page 206:
designed with the consumer in mind.
The keyboard, 10-inch black-and-
white display, and a cassette recorder
are all contained in a single compact
package. The MZ-80 is based around
a Z80 microprocessor and includes
16 K bytes of programmable
memory, Microsoft-compatible
BASIC, a real-time clock, and
sound/music capabilities. Dual
SVi-inch floppy-disk drives as well as
a variety of printers are also being
sold by Sharp in Europe and Japan,
making the MZ-80 a powerful low-
end business machine.
Sharp officials deny there are any
plans afoot to market the MZ-80 in
the United States. My personal feel-
ing is that it will make its appearance
here soon. The existing Sharp dealers
network is the ideal place to market a
machine such as this — designed for
the consumer.
Hitachi
Hitachi is yet
multibillion-dollar
another of the
Japanese giants.
1980 sales of $13.4 billion make it the
fifth largest company in Japan. Long
known for high-quality inexpensive
consumer electronics equipment (sold
under a variety of names in the
United States), Hitachi seemed to be
one of the first to plan a marketing
strategy to crack the US personal
computer market. The problem is
that, until recently, it never became
serious about the plan.
Hitachi was one of the first
Japanese companies to build a per-
sonal computer. The HD46800 was
announced in June 1978 and was a
true home computer designed for en-
vironmental control, menu and finan-
cial planning, as well as burglar and
fire alarm interfacing. But it was too
much, too soon. The US personal
computer market was then only
beginning to develop with the in-
troduction of the first Radio Shack
TRS-80 models.
Another major problem with
Hitachi is the lack of a marketing
organization in the United States.
There seems to be little movement in
the direction of developing one.
Lately, the company appears to be
concentrating on large computers to
compete in the IBM mainframe
market. Hitachi recently introduced
the AS-9000 computer with features
far and above IBM's largest computer
at a comparable price. But the lack of
a US organization has hurt. The
AS-9000 is being sold in the United
States by National Advanced
Systems — a company with a large
amount of small computer ex-
perience. Although the AS-9000 is
receiving a very favorable response,
service is already a major problem.
Recently, Lockheed Dialog installed
an AS-9000 in its well-known data-
base system. It was learned recently
that a strange bug caused the entire
system to crash at random intervals.
Servicing the AS-9000 required that
engineers be brought in from Japan,
an extremely expensive proposition
for Hitachi.
Even with the lack of a US
organization, it seems certain that
Hitachi will begin a major drive to in-
age 65
years worked Jo
retirement benefits
Many of the 50 million Americans who are covered by private pension plans think they'll automatically
qualify for benefits when they reach retirement age.
They're wrong!
Every plan has requirements that must be met under the Employee Retirement Income Security Act.
And the time to find out about those requirements is now— even if retirement is 30 years down the road.
There's a lot more to think about too. Does your plan permit early retirement? How much will your
plan pay you? Will you receive a monthly payment or a lump sum?
The U.S. Department of Labor has a free booklet that will help you answer these questions and a lot
more. Send for it today.
Write: Pensions, Consumer Information Center U.S. Department of Labor jfr y
Pueblo, Colorado 81009 ««
Printed by this publication as a public service.
212 August 1981 © BYTE Publications Inc
•tm
if He'd used select ,
it wouldn't have taken seven days
Learn SELECT in just 90 minutes. A whole new word processing software
concept that kicks the coded key habit and frees you from complicated instruction
manuals. SELECT is fast. SELECT is logical. With single key mnemonics, you'll use
dozens of commands that instantly access the rich capabilities of this system. There's
nothing like it.
Simply hit "C" and you'll be ready to Create a document.
Key "I" and you'll be in the Insert mode.
Key "M" and Move entire blocks of text. . . and key dozens more.
That's all there is to it. You'll get all that word processing software promises . . . plus a
few surprises.
SELECT with SUPERSPELL .* The only microcomputer software with an integrated
spelling dictionary. To proof your text all you do, of course, is to key "S". SUPERSPELL
with its 10,000 word dictionary scans your text at computer speed then displays and
corrects all your typing errors. You can increase SUPERSPELL's word power and
customize the dictionary by adding new words, one at a time. Ask to see it today at
your local dealer.
SELECT with SUPERSPELI just a little byte more.
ect
SELECT will run on any machine that uses CP/M or MP/M** or its derivatives.
It needs 40K of RAM and two disk drives. Special version now available for
Radio Shack Mod II** * and Apple II****
* SELECT and SUPERSPELL are trademarks of Select Informalion Systems Inc.
* ' CP/M and MP/M are trademarks of Digital Research
• " ' A trademark of Tandy Corp.
' * " " A trademark of Apple Computer Inc.
INFORMATION SYSTEMS 919 Sir Francis Drake Boulevard • Kentfield, California 94904 -(415) 459-4003
Circle 344 on inquiry card. byte August 1981 213
Circle 238 on inquiry card.
MICROMAIL HAS WHAT
YOUR SYSTEM NEEDS.
TELEVIDEO
910
$599.00
$699.00
$749.00
$995.00
DIABLO
630
$1959.00
1640 RO
1640 KSR
1650 RO
1650 KSR
$2269.00
$2499.00
$2599.00
$2599.00
DEC
LA34DA
$899.00
TELETYPE 43 PF(TTL)
$975.00
ANADEX
TEXAS INSTRUMENTS
DP 9500
DP 9501
DP 9000
DP 9001
$1299.00
$1299.00
$1199.00
$1199.00
810/2
810/2 PKG
(U/L, VFC, CP)
$1549.00
$1679.00
SOROC
IQ.120
IQ.140
IQ.135
C. ITOH
$689.00
$1099.00
$849.00
DEC
VT100
DEC LA 34AA
NEC
$1650.00
$1050.00
CIT 101
$1625.00
5510
5530
$2395.00
$2395.00
To Order: Send, check to MICROMAIL, P.O. Box 3297, Santa Ana. CA 92703. Persona) or company checks
require two weeks to clear. Visa/MasteiCard accepted. COD. requires a 15% deposit Handling: Add 3% to
orders less lhan S750, 2% to orders $751 - S2.000, 1% to orders over S2.000 NOTE. Handling charges are
waived on orders pre-paid in advance by check Shipping: We ship FREIGHT COLLECT via UPS or Motor
Freight Air and Express delivery is available.
eMJCRDMflM..;
P.O. Box 3297
Santa Ana, CA 92703
Phone: 714/731-4338
TWX: 910 595 U46
troduce its personal computers here.
The Hitachi BASIC Master Level III is
now being sold in Japan and will
probably soon be test-marketed in the
United States. Based on a Motorola
6809 microprocessor, the unit has
Microsoft BASIC, 80-column text
display, and high-resolution graphics
with six colors available. The US
price is expected to be in the $1500
range. A special color monitor for
ultra-high-resolution graphics is
$900.
Hitachi seems to be making a slow
but steady penetration into the per-
sonal computer market. Although it
probably won't be a strong force in
the US for a few years, Hitachi's
heavy R&D expenditures and
quality-at-low-cost reputation make
it a strong long-term prospect for ma-
jor US sales.
NEC
Nippon Electric Company is poised
for a major move into the US com-
puter market in both the personal and
small-business markets.
NEC's trump card is the PC-8001,
the largest-selling personal computer
in Japan (some 3000 to 4000 units are
sold monthly). The details of the
PC-8001 were covered in an article in
the January 1981 BYTE (page 72). It
was first shown at the 1980 NCC (Na-
tional Computer Conference). In
January 1981, it was featured at the
winter Consumer Electronics Show.
NEC's Consumer Electronics Divi-
sion, based in Elk Grove Village, Il-
linois, is now marketing it in the US
through major personal computer
dealers. The base price is $1295 with
32 K bytes of programmable
memory. (A little-known fact about
the PC-8001 is that it was jointly
developed by NEC and an Arlington
Heights, Ohio, company called Just
Another Computer Company.)
The major strength of the PC-8001
is that it has something for everyone:
dazzling color graphics for the con-
sumer as well as strong computation
power and a full line of peripherals
for business people.
The key to the unit's success will be
its marketing. The NEC name is not
well known in the United States and,
214 August 1981 © BYTE Publications Inc
THE ORIGINAL MAGAZINE FOR
OWNERS OF THE TRS-80™* MICROCOMPUTER
* TRS-80" IS A TRADEMARK OF TANDY CORP.
SOFTWARE
FOR TRS-80"
OWNERS
H
CQmPUTRQNICS
MONTHLY
NEWSMAGAZINE
FOR TRS-80"
OWNERS
MONTHLY NEWSMAGAZINE
Practical Support For Model I, II & HI
• PRACTICAL APPLICATIONS
• BUSINESS
• GAMBLING • GAMES
• EDUCATION
• PERSONAL FINANCE
• BEGINNERS CORNER
• NEW PRODUCTS
• SOFTWARE EXCHANGE
• MARKET PLACE
• QUESTIONS AND ANSWERS
• PROGRAM PRINTOUTS
AND MORE
NOW IN OUR 4th YEAR
PROGRAMS AND ARTICLES PUBLISHED IN RECENT ISSUES
INCLUDE THE FOLLOWING:
• FINCALC - A COMPLETE FINANCIAL APPLICATIONS PACKAGE
• INFORMATION SYSTEM REVIEW
• STATISTICAL COMBINATIONS
• PASCAL'S TRIANGLE
• ASSEMBLY LANGUAGE FOR BEGINNERS
• DISK FILES
• MOD-HI REVIEW
• KEYBOARD THUNDER AND LIGHTING EXPLAINED
• DOS COMMANDS IN LEVEL II
• PROBABILITY CURVE GENERATOR
• CALCULATOR SIMULATIONS
• THE MEGABYTE GAP
• STOCKS AND BONDS
• BUDGET ANALYSIS (FOR BUSINESS AND HOME)
• NEWDOS/80 REVIEW
• DUTCHING - THE HORSE SYSTEM THAT CANT LOSE
• A SIMULATED GOLF GAME
• CONTINUOUS FORM SOURCES
• TAX/SAVER REVIEW
AND MORE
&&
At vgl \a FIIMP At C
' V ° oT\0^ **»**""^""»"«"^ A Complete Financial Analysis Package Used
«§C^ To Calculate Markup, Margin, Annuities, Compound Interest, Nominal
S^ o^ And Effective Rates, Sinking Funds, Mortgage Calculations, Future Value,
tt^jN^ Savings and Insurance, Percentage Difference Between Two Numbers,
" Amortization Schedule and More
SEND FOR OUR NEW 64 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS-80'" PROGRAMS AVAILABLE ON
CASSETTE AND DISKETTE). $2.00 OR FREE WITH EACH SUBSCRIPTIONS OR SAMPLE ISSUE
* All programs arc supplied on cassette (add $3 for Diskette Version - add $5 for modified Mod-II Version).
iCQMPLITRQNICS
rvt&TV-evlATCAt. Aft^CATOr-JS S£F»VTCE"
50 N. PASCACK ROAD
SPRING VALLEY, NEW YORK 10977
ONE YEAR SUBSCRIPTION $24
TWO YEAR SUBSCRIPTION $48
SAMPLE OF LATEST ISSUE $ 4
START MY SUBSCRIPTION WITH ISSUE
(#1 - July 1978 • #12 - June 1979 • #24 - July 1980 <
NEW SUBSCRIPTION RENEWAL
NEW TOLL-FREE
ORDER LINE
(OUTSIDE OF N.Y. STATE)
(800) 431-2818
HOUR
24 ORDER *
LINE
(914) 425-1535
is?
#30 ■ January 1981)
CREDIT CARD NUMBER.
SIGNATURE
ADDRESS
NAME.
_CITY_
_EXP DATE-
_STATE _
.ZIP.
*** ADD $12/YEAR (CANADA, MEXICO) - ADD $24/YEAR AIR MAIL - OUTSIDE OF U.S.A., CANADA & MEXICO ***
Circle 149 on inquiry card.
BYTE August 1981
215
Circle 261 on inquiry card.
Mil stocks 'em all
for faster delivery.
No hidden charges. Prices include delivery.
Ask about our " QED "discounts.
VISA and MasterCard orders accepted.
VIDEO TERMINALS
VT100 DECscope $ 1595
VT132 DECscope 1995
ADM-3A (dumb terminal) 795
ADM-3A+ (dumb terminal) 875
ADM-5 (dumb terminal) 945
ADM-31 (2 page buffer) 1 185
ADM-42 (8 page buffer avail.) 2035
1410 (Hazeltine dumb terminal) 825
1420 (dumb terminal) 895
1421 (Consul 580 & ADM-3A comp.) 850
1500 (dumb terminal) 1045
1510 (buffered) 1145
1520 (buffered printer port) 1395
1552 (VT52 compatible) 1250
GRAPHICS TERMINALS
VT100 with graphics pkg 3160
ADM-3A with graphics pkg 1995
ADM-3A+ with graphics pkg 2075
300 BAUD TELEPRINTERS
LA34-DA DECwriter IV 995
LA34-AA DECwriter IV 1095
LA36 DECwriter II 1295
Teletype 4310 1095
Teletype 4320 1195
Diablo 630 RO 2295
Diablo 1640 KSR 2775
Diablo 1650 KSR 2835
Tl 743 (portable) 1190
Tl 745 (port/built-in coupler) 1485
Tl 763 (port/bubble memory) 2545
Tl 765 (port/bubble/b.i. coupler) 2595
600 BAUD TELEPRINTERS
Tl 825 RO impact 1450
Tl 825 KSR impact 1570
Tl 825 RO Pkg 1625
Tl 825 KSR Pkg 1795
1200 BAUD TELEPRINTERS
LA 120 RO (forms pkg.) 2295
LA 120-AA DECwriter III Iforms pkg.) 2095
LA 180 DECprinter I 2295
Tl 783 (portable) 1645
Tl 785 (port/built-in coupler) 2270
Tl 787 (port/internal modem) 2595
Tl 810 RO impact 1760
Tl 810 RO Pkg 1950
Tl 820 KSR impact 2025
Tl 820 RO 1850
Tl 820 KSR Pkg 2195
Tl 820 RO Pkg 2025
2400 BAUD
Dataproducts M200 (2400 baud) 2595
DATAPRODUCTS LINE PRINTERS
B300 (300 LPM band) 5535
B600 (600 LPM band) 6861
2230 (300 LPM drum) 7723
2260 (600 LPM drum) 9614
2290 (900 LPM drum) 1 2655
ACOUSTIC COUPLERS
A/J A242-A (300 baud orig.) 242
A/J 247 (300 baud orig.) 315
A/J AD342 (300 baud orig./ans.) 395
A/J 1234 (Vadic compatible) 895
A/J 1245 (300/1200 Bell comp.) 695
MODEMS
GDC 103A3 (300 baud Bell) 395
GDC 202S/T (1200 baud Bell) 565
GDC 212-A (300/1200 baud Bell) 850
A/J 1256 (Vadic compatible) 825
A/J 1257 (triple modem w/phonel 975
CASSETTE STORAGE SYSTEMS
Techtran 816 (store/forward) 1050
Techtran 817 (store/f or/spued up) 1295
Techtran 818 (editing) 1795
Techtran 822 (dual) 2295
MFE 5000 (editing) 1495
FLOPPY DISK SYSTEMS
Techtran 950 (store/forward) 1395
Techtran 951 (editing) 1995
69
Distributors, New York, New Jersey and Ohio.
NewYorfe:
516/482-3500, 212/895-7177, 518/449-5959
Outside N.Y.S.: 800/645-8016
New Jersey. 201/227-5552
Ohio: 216/464-6688
at present, no large-scale organiza-
tion exists to support it. However,
NEC's marketing manager says the
company will have a number of com-
puter distributors and retail outlets in
the near future.
NEC is also aiming at the higher
end of the small-business market with
the Astra system, which is expected
to be available soon. NEC Informa-
tion Systems (Lexington, Massachu-
setts) is marketing the system, with
prices starting at $11,000.
Casio
Relatively small (by Japanese stan-
dards) Casio is well known for its ex-
tensive line of calculators (many sold
under different brand names). Casio
has had its ups and downs over the
past few years and developed a per-
sonal computer about three years
ago. Although some were sold in
Japan, the product was ahead of its
time.
Casio is about to make a major bid
for the US personal and small-
business computer market with the
imminent introduction of the FX-
9000P.
The FX-9000P has a unique design
with a built-in green phosphor 5-inch
monitor (similar to the Hewlett-
Packard HP-83 and HP-85). One of
the most interesting features is the set
of plug-in modules for programmable
memory expansion, peripheral inter-
face, and software in read-only
memory. In addition, the unit will be
one of the first to partially use CMOS
memory (which doesn't lose data
when the power is turned off). As
CMOS prices continue to fall, more
companies will incorporate this new
technology in their computer designs.
The big question mark about the
FX-9000P is the price. Although com-
pany officials were more than happy
to talk about its capabilities, the price
is something they refused to even hint
at. The unit seems to be aimed at
more specialized uses than personal
computers made by others. It will
probably be marketed for scientific as
well as small-business uses — ag-
gressive pricing, however, will make
it attractive for lower-end uses. The
best guess is that it will sell in the
$1200 to $1800 range.
Mitsubishi
Another of the giant Japanese con-
glomerates, Mitsubishi, builds
everything from small consumer ap-
plicances to jet planes. The company
is one of the few that doesn't (at the
moment) seem to be interested in the
personal computer market, but its
large mainframe systems make it the
fifth largest computer company in
Japan.
Mitsubishi does have a US sub-
sidiary which is working to market a
high-end small-business computer.
Melcom systems is expected to
market the Melcom Model 18 soon.
The system is already being sold in
Japan with prices starting at $18,000.
Rumors about a Mitsubishi per-
sonal computer are nonexistent, but
the fact that it is developing a com-
puter marketing network portends
things to come.
Seiko
Best known for its line of watches,
Seikosha Limited has been rumored
for some time to be developing a low-
end portable personal computer.
Since 1979, the company has been
selling a personal computer in Japan
(with very limited success). The
Seikosha 8500 uses two Intel 8085
microprocessors, has a 12-inch video
display, and comes with two 5 Vt -inch
floppy-disk drives. Chances are slim
that this product will ever arrive on
the American market.
The hottest rumor, circulating for
some time now, is that Seiko's low-
end personal computer would have a
"designer" look created by Pierre
Cardin. At the winter Consumer Elec-
tronics Show, Seiko displayed a
number of products designed by Car-
din. Conversations with Seiko per-
sonnel brought out the fact that
"other products" are under develop-
ment and will soon be appearing
here.
Perhaps the biggest argument for
an eventual Seiko push into the US
personal computer market is the suc-
cess of Seiko's Epson subsidiary. Ep-
son printers are rapidly becoming
more and more popular in the United
States, with a sales and service
organization that is building
rapidly — an organization that could
216 August 1981 © BYTE Publications Inc
CQMPJTRQNXCS
N
EVERYTHING FOR YOUR TRS-80* • ATARI* • APPLE* • PET* •
•TRS-80 is * trademark ol the Radio Shack Division of Tandy Corp. - 'ATARI is a trademark ol Atari Inc. - 'Apple is a trademark ol Apple Corp. - 'Pet is a trademark of Commodore
BUSINESS PAC 100
100 Ready-To-Run
Business Programs
PSS ed within 24-Hour*
/ /\ • 30-DaV money
Software
(ON CASSETTE OR DISKETTE) Includes 110 Page Users Manual 5 Cassettes (Or Diskettes)
Inventory Control Payroll Bookkeeping System Stock Calculations
Checkbook Maintenance. ....Accounts Receivable. ....Accounts Payable
BUSINESS 100 PROGRAM LIST
1 RULE78 Interest Apportionment by Rule of the 78's
2 ANNC11 Annuity computation program
3 DATE Time between dates
4 DAYYEAR Day of year a particular date fails on
5 LEASEJNT Interest rate on lease
6 BREAKEVN Breakeven analysis
7 DEPRSL Straightline depreciation
8 DEPRSY Sum of the digits depreciation
9 DEPRDB Declining balance depreciation
10 DEPRDDB Double declining balance depreciation
1 1 TAXDEP Cash flow vs. depreciation tables
12 CHECK2 Prints NEBS checks along with daily register
13 CHECKBK1 Checkbook maintenance program
14 MORTGAGE/ A Mortgage amortization table
1 5 MULTMON Computes time needed for money to double, triple,
16 SALVAGE Determines salvage value of an investment
17 RRVAR1M Rate of return on investment with variable inflows
18 RRCOMST Rate of return on investment with constant inflows
1 9 EFFECT Effective interest rate of a loan
20 FVAL Future value of an investment (compound interest)
21 PVAL Present value of a future amount
22 LOANPAY Amount of payment on a loan
23 REGWTTH Equal withdrawals from investment to leave over
24 SIMPDISK Simple discount analysis
25 DATEVAL Equivalent & nonequivalent dated values for oblig.
26 AMNUDEF Present value of deferred annuities
27 MARKUP % Markup analysis for items
28 SINKFUND Sinking fund amortization program
29 BONDVAL Value of a bond
30 DEPLETE Depletion analysis
31 BLACKSH Black Scholes options analysis
32 STOCVAL1 Expected return on stock via discounts dividends
33 WARVAL Value of a warrant
34 BONDVAL2 Value of a bond
35 EPSEST Estimate of future earnings per share for company
36 BETAALPH Computes alpha and beta variables for stock
37 SHARPE1 Portfolio selection model-i.e. what stocks to hold
38 OPTWRITE Option writing computations
39 RTVAL Value of a right
40 EXPVAL Expected value analysis
41 BAYES Bayesian decisions
42 VALPRINF Value of perfect information
43 VALADINF Value of additional information
44 LmUTY Derives utility function
45 SIMPLEX Linear programming solution by simplex method
46 TRAMS Transportation method for linear programming
47 EOQ Economic order quantity inventory model
48 QUEUE1 Single server queueing (waiting line) model
49 CVP Cost-volume-profrt analysis
50 CONDPROF Conditional profit tables
51 OPTLOSS Opportunity loss tables
52 FQCIOQ Fixed quantity economic order quantity model
NAME DESCRIPTION
53 FQEOWSH As above but with shortages permitted
54 FQEOQPB As above but with quantity price breaks
55 QCIECIECB Cost-benefit waiting line analysis
56 NCFAMAL Met cash-flow analysis for simple investment
57 PROF1ND Profitability index of a project
58 CAP1 Cap. Asset Pr. Model analysis of project
Circle 150 on inquiry card.
59 WACC Weighted average cost of capital
60 COMPBAL True rate on loan with compensating bal. required
61 DISCBAL True rate on discounted loan
62 MERGAMAL Merger analysis computations
63 FINRAT Financial ratios for a firm
64 NPV Met present value of project
65 PRIMDLAS Laspeyres price index
66 PRINDPA Paasche price index
67 SEASIND Constructs seasonal quantity indices for company
68 TIMETR Time series analysis linear trend
69 TIMEMOV Time series analysis moving average trend
70 FUPRINF Future price estimation with inflation
71 MAILPAC Mailing list system
72 LETWRT Letter writing system-links with MAILPAC
73 SORT3 Sorts list of names
74 LABEL I Shipping label maker
75 LABEL2 Name label maker
76 BLISBtlD DOME business bookkeeping system
77 TIMECLCK Computes weeks total hours from timeclock info.
78 ACCTPAY In memory accounts payable system-storage permitted
79 INVOICE Generate invoice on screen and print on printer
80 INVENT2 In memory inventory control system
81 TELDIR Computerized telephone directory
82 T1MUSAN Time use analysis
83 ASSIGN Use of assignment algorithm for optimal job assign.
84 ACCTREC In memory accounts receivable system-storage ok
85 TERMSPAY Compares 3 methods of repayment of loans
86 PAYNET Computes gross pay required for given net
87 SELLPR Computes selling price for given after tax amount
88 ARBCOMP Arbitrage computations
89 DEPRSF Sinking fund depreciation
90 UPSZONE Finds UPS zones from zip code
91 ENVELOPE Types envelope including return address
92 AUTOEXP Automobile expense analysis
93 INSF1LE Insurance policy file
94 PAYROLL2 In memory payroll system
95 DILAMAL Dilution analysis
96 LOAMAFFD Loan amount a borrower can afford
97 RENTPRCH Purchase price for rental property
98 SALELEAS Sale-leaseback analysis
99 RRCONVBD Investor's rate of return on convertible bond
1 00 PORTVAL9 Stock market portfolio storage-valuation program
D CASSETTE VERSION $99.95
□ DISKETTE VERSION $99.95
D TRS-80* MODEL II VERSION $149.95
ADD $3.00 FOR SHIPPING IN UPS AREAS
ADD $4.00 FOR C.O.D. OR NON-UPS AREAS
ADD $5.00 OUTSIDE U.S.A. CANADA & MEXICO
NEW r 0LL
LINE
«*> «a
iCQIYIPLITHQMICS
50 N. PASCACK ROAD
SPRING VALLEY, NEW YORK 10977
HOUR
O A ORDER
^ UNE
425-1535
Circle 119 on inquiry card.
tippkz
^ ATARI'
EPSON
. . . and more
Apple II
32K J 1099 D0
48K s 1149 00
Disk II W/3.3D0S ... J 529 00
Disk II J 450 00
Apple III W/128K .... s 3600 00
EPSON
MX-70 J 399 00
MX-80 CALL
Apple card & cable.. 5 99 00
ATARI 8
400 W/16K s 3.49 00
800 W/16K s 775 D0
810 Disk Drive s 449 00
We'll meet or beat
any advertised price.
WAp% HEWLETT
W!HM PACKARD
HP-85AW/16K s 2697 30
NEC
5510-2 w /Tractor ... J 2550 00
5520-2 w /Tractor ... J 2850 00
S0R0C
IQ 120 s 725 00
IQ 135 J 799 D0
C.IT0H
Comet s 499 95
Starwriter s 1450 00
Northstar, Altos and Zenith
All 25% Discount
LO-BALL COMPUTERS
7677 S.W. Cirrus Dr.
Beaverton, OR. 97005
TO ORDER
CALL (503) 641-0211
Ordering Information: For fastest ser-
vice, send money order, cashier's
check or bank wire. Visa and MC
orders, add 3%. Personal checks
accepted (allow minimum 10 days to
clear). Hours 9-5, M-F.
Call for our Free Catalog.
easily handle personal computers.
Matsushita
Matsushita is one of the largest
manufacturers and marketers of con-
sumer electronics products in the
world, with 1980 sales of $13.7
billion. In the United States, the com-
pany is best known for the Quasar,
Panasonic, and Technics brands. Its
US marketing organization and ex-
pertise are formidable.
Apparently, the company's first
thought about entering the US per-
sonal computer market was to ap-
proach it in a very different
way — namely, the Panasonic and
Quasar hand-held computer, in-
troduced officially at the winter Con-
sumer Electronics Show. (See BYTE
January 1981, page 34.)
Persistent rumors exist in the in-
dustry that Matsushita is having
second thoughts about the hand-held
computer in its present form. Release
dates have already been pushed up a
few months, lending credence to the
rumor that the product will undergo a
major redesign. Meanwhile, there are
reports that the company is hard at
work on a full-sized personal com-
puter in the $1000 range.
IBM obviously respects the
resources of Matsushita in the small
computer field; Matsushita officials
recently admitted they were ap-
proached by IBM to build a personal
computer for the US giant. Sources at
both companies say nothing came of
the meeting, but, in fact, Matsushita
and IBM having been working for
some time on a joint project to pro-
duce a series of personal computers
bearing the IBM logo. Code-named
"Go," the project now seems to have
been suspended. (See the editorial in
last month's BYTE.)
Sord
Although virtually unknown in the
United States, this small company
based in Tokyo is planning a major
push into the US market. Sord
designed and markets the M100 com-
puter in both Europe and Japan.
Some 1800 units were reportedly
shipped to Europe in 1980. They are
evidently being sold under another
name because dealers contacted in the
United Kingdom had never heard of
them.
Most Japanese companies are
secretive, but Sord stands out as one
of the most tight-lipped. I was con-
sistently unable to contact company
officials and letters went unanswered.
Consequently, details of the MlOO are
not available.
There are, however, persistent
rumors that the company will appear
suddenly in the US with a strong pro-
duct, marketed well.
Other Companies
A number of other Japanese com-
panies are working on personal and
small-business computers designed
for the United States market. In most
of the following cases, little if any
details are available.
Sony recently admitted it is design-
ing a personal computer which will
either interface with or be designed
around its recently introduced
TypeCorder portable typewriter
(which fits in a briefcase and stores
text on miniature tape cassettes).
Sony has what is probably the most
formidable marketing/service
organization of any Japanese com-
pany in the United States. More im-
portantly, the Sony name is
synonymous with high quality and
innovative technology.
Expect the introduction of a Sony
personal computer within a year. It
will probably be unlike any other
product n'ow on the market and will
use Sony's new 3-inch disks.
Reported problems with quality con-
trol on the disks may, however, delay
the process. When the unit does ap-
pear, it will certainly give both US
and other Japanese computer makers
a run for their money.
OKI is expanding its US marketing
and service network and quietly
showed its OKI IF800 at the winter
Consumer Electronics Show. The
OKI IF800 is now being sold in Japan
(for approximately $8000) and is a
strong seller for small-business ap-
plications.
Toshiba is working on small com-
puters but doesn't seem to be in-
terested in either the US or Japanese
218 August 1981 © BYTE Publications Inc
NEECO
WHY BUY FROM THE BEST?
Service.. . Support...
Software. . .
MULTI-CLUSTER
For Commodore Systems, allows 3
CPU's (Expandable to 8) to access a
single Commodore Disk.
MULTI-CLUSTER (3 CPU's) S 795
Each Additional CPU (up to 8) . . . S 199
commodore
16K B (16K RAM-40 Column) - Lim. Qty $ 995
32K B (32K RAM-40 Clm.) - Lim. Qty $1295
4016 (16K RAM 4.0 Basic-40 Clm.) $ 995
4032 (32K RAM 4.0 Basic-40 Clm.) $1295
8032 (32K RAM 4.0 Basic-80 Clm.) $1495
8050 Dual Disk (1 Meg Storage) $1795
4040 Dual Disk (343K Storage) . . $1295
8010 IEEE Modem $ 280
C2N Cassette Drive . . $ 95
CBM - IEEE Interface Cable '.'...$ 40
IEEE - IEEE Interface Cable $ 50
VIC 20 Home/Personal Computer $ 295
ALTOS
ACS 8000-2 64K 1M $ 4500
ACS 8000-15 64K 1M $ 5990
ACS 8000-6 208K 14.5M $10490
ACS 8000-7 208K 29.0M $11690
ACS 8000-10 208K 10M $ 8500
ACS 8000-10/MTU $10990
EPSON PRINTERS
MX-80 PRINTER $ 645
MX-80 FT $ 745
MX-100 $ 945
MX-70 $ 459
INTERFACE CARDS
8141 (RS-232) $ 75
8150 (2K Buffered RS-232) $ 150
8161 (IEEE 488) $ 55
8131 (Apple Card) $ 85
8230 (Apple Card) $ 25
8220 (TRS-80 Cable) $ 35
DIARLO 630 PRINTER
DIABLO 630 - Serial - RS-232 $2710
Tractor Option $ 250
NEC SPINWRITER PRINTERS
5530 (Parallel) $3055
5510 (Serial) $3055
5520 (KSR-Serial) $3415
Tractor Option $ 225
APPLE
16K APPLE II+ $1330
32K APPLE II+ $1430
48K APPLE II+ $1530
APPLE DISK w/3.3 DOS . $ 650
APPLE DRIVE Only $ 490
APPLE III 128K- In Stock!
w/Monitor +
Info Analystpak $4740
AMDEK MONITORS INTERTEC COMPUTERS
Video 100 12" B*W $ 179
Video 300 12" Green $ 249
Color 1 13" Low Res $ 449
Color II 13" High Res $ 999
64K Superbrain
(360 Disk Storage). CP/M™ . . . $3495
64K QD Superbrain
(700K Disk Storage). CP/M T ". . $3995
*CP/M is a registered trademark of Digital Research
ATARI COMPUTERS
Atari 400 (16K RAM) $ 399
Atari 800 (32K RAM) - good thru 8/31 $1080
Atari 410 RECORDER $ 89.95
Atari 810 DISK DRIVE $ 599.95
NEECO carries all available ATARI Software and Peripherals.
PROFESSIONAL
SOFTWARE
WordPro 1 8K $ 29.95
WordPro 3 (40 Clm.)16K ....$ 199.95
WordPro 3* $ 295
WordPro 4 (80 Clm.) 32K . . . . $ 375
WordPro 4+ $ 450
JUST A SAMPLE OF THE MANY PRODUCTS WE CARRY. CALL US FOR OUR NEW 60-PAGE CATALOG.
WE WILL MATCH ANY ADVERTISED PRICE ON PRODUCTS LISTED UNDER SIMILAR "IN STOCK" CONDITIONS.
NEECO
679 HIGHLAND AVE.
NEEDHAM, MA 02194
(617)449-1760
Telex: 951021
MON-FRI 9:00 - 5:00
MasterCharge and VISA Accepted
Circle 268 on inquiry card.
BYTE August 1981 219
System Log
3-/Q AM - rW^fc^ /W^
ZS& L
/
Dt/i&A/esr/cs Wh
g/MLLtt stAtL&lbUd OMsL
AiJGstCrtt *4facJl /?* ~^4*LC.
DIAGNOSTICS
Diagnostics II is SuperSoft's expanded Diagnostic package.
Diagnostic II builds upon the highly acclaimed Diagnostics I. It will test
each of the five areas of your system:
Memory Terminal Printer CPU Disk
Every test is expanded.
Every test is "submil"-able. A "submit" file is included in the package which
"chains" together the programs in Diagnostics II, achieving an effective
acceptance test. All output can be directed to a log file for unattended operation,
for example over night testing. Terminal test is now generalized for most crt
terminals. A quick-test has been added for quick verification of the working
of the system.
The memory test is the best one we have encountered. It has new features,
including:
• default to the size of the CP/M Transient Program Area (TPA)
• printout of a graphic memory map • burn in test
• bank selection option • memory speed test
Diagnostics-ll still includes the only CPU test for 8080/8085/Z80.
A Spinwriter/Diablo/Qume test has been added, which tests for the positioning
and control features of the Spinwriter/Diablo/Qume as well as its ASCII
printing features. (Serial Interface only)
And, as with all SuperSoft products, a complete online HELP
system and user manual is included.
Price: $100.00 (manual only): $15.00
Requires: 32K CP/M
CP/M Formats: 8" soft sectored, 5" Northstar, 5" Micropolis
Mod II, Vector MZ, Superbrain DD/QD
VISA
SuperSoft
All Orders and General Information:
SUPERSOFT ASSOCIATES
P.O. BOX 1628
CHAMPAIGN, IL 61820
(217)359-2112
Technical Hot Line: (217) 359-2691
(answered only when technician is available)
CP/M REGISTERED TRADEMARK DIGTAL RESEARCH
First in Software Technology
personal and/or small-business
market at this time. The only small
computer product it is currently of-
fering is a one-board uncased
machine with BASIC and a keyboard
that's mainly designed for develop-
ment work.
AI Electronics Corporation and
Logic Systems International are two
small companies, based in Tokyo,
which seem to be quietly working
behind the scenes. Both ship about
2000 personal computers a year to
Europe — where they are packaged
and sold under different names. In the
Japanese tradition of secrecy, details
on their products are unavailable;
however, watch for the names,
possibly in conjunction with US com-
panies. Rumors persist that both
companies have had major discus-
sions with US companies regarding
the marketing of their personal com-
puters in the United States.
Finally, Sanyo has exhibited some
personal computer prototypes at
Japanese trade shows, but seems to
have put the project on a back burner
for the time being.
Summary
The Japanese personal computers
are impressive machines at highly
competitive prices. However, the
outlook for American computer
manufacturers is not entirely grim.
There is little if any chance that the
influx of Japanese products into our
market will have anywhere near the
same effect Japanese automobiles and
steel have had on those US markets.
The American computer industry is
far from being the mature and top-
heavy group that the auto and steel
industries are. The United States
developed the computer and that
development continues to move for-
ward at a dizzying pace.
In fact, the influx of Japanese per-
sonal computers is likely to further
spur the domestic computer makers.
Their highly experienced marketing
and product-development groups are
poised to give the Japanese products a
run for their money. The bottom line
seems to be that the "Japanese Com-
puter Invasion" will result in better
products and lower prices for con-
sumers. ■
220 August 1981 © BYTE Publications Inc
If you can't find the right program
in our new catalog,
it probably hasn't been written.
As the world's largest publisher of
professional software for micro-
computers, Lifeboat Associates offers
the largest selection of state-of-the-art I
programs. And our new catalog has
more to offer than ever We also add the
crucial dimension of after-sales service
and full support to everything we sell.
Order your free catalog today.
For a free catalog, mail coupon to Lifeboat Associates,
1651 Third Avenue, New York, NY 10028.
Or call (212)860-0300. Telex 640693 (LBSOFT NYK)
Company.
Street
_State_
_Z.p_
■i
oo m
- I
I
I
I
Our catalog contains full descriptions and specifications of the following:
DISK OPERATING SYSTEMS
CP/M CONFIGURED FOR:
APPLE II
DATAPOINT 1550/2150
ICOM MICRODISK
IC0M 3712
ICOM 3812
ICOM 4511/PERTEC D3000
INTEL MDS
MICROPOLIS FLOPPY DISK
MITS/ALTAIR
MOSTEK MDX
NORTH STAR
0SIC3
0SIC3B
0S1 C3C Prime
TRS-80 MODEL II
MP/M FOR INTEL MDS
HARD DISK INTEGRATION MODULES
CORVLJS WITH APPLE II SOFTCARD
CORVUS WITH S100 AND TRS-80
MODEL II
ICOM 4511/PERTEC D3000
KONAN PLUS CDC PHOENIX
XC0MP SM/S PLUS CDC PHOENIX
XCOMP DFC10 FOR PERTEC D3000
SYSTEMS TOOLS
BUGANDuBUG
DESP00L
OISILOG
DISTEL
EDIT
EDIT-80
F1LETRAN
IBM/CPM
MAC
MACRO-80
PASM
PLINK
PMATE
RAID
RECLAIM
SID
TRS-80 MODEL II
CP/M
CUSTOMIZATION
UNLOCK
WORD-MASTER
XASM-1B
XASM-48
XASM-65
XASM-68
XMACRO-86
ZDT
Z80 DEVELOPMENT
PACKAGE
ZSID
ORDERING INFORMATION. COMPUTERS
SUPPORTED INCLUDE:
ADDS Mullivision
AVL Eagle
Altalr 8800
Altos
Apple CP/M 13 Sector
Apple CP/M 16 Sector
BASF System 7100
Blackhawk Micropolis Mod II
CDS Versatile 3B
CDS Versatile 4
Columbia Data Products
COMPAL-80
CSSN 8ackup
Cromenco System 3
Cromenco System 2 SDSS
Cromenco System 2 DDSS
Cromenco System 2 DDDS
Datapoint 1550/2150 Single Sided
Datapoint 1550/2150 Double Sided
Delta Systems
Digi-Log Microterm II
Digital Microsystems
Durango F-85
Dynabyte DB8/2
Dynabvte0B8/4
LIFEBOAT WORLDWIDE
Lifeboat Inc.
3-23-8 Nishi-shinbashi
Minato-ku, Tokyo. 105 Japan
Tel: 03-437-3901
Telex: 2422723 (ASRTYOJ)
TELECOMMUNICATIONS
MAIL LIST APPLICATIONS
LANGUAGES
ALG0L-80
APL/V80
BASIC-80
(COMPILER)
BASIC-80
(INTERPRETER)
BDSC COMPILER
CBASIC-2
CIS COBOL
COBOL-80
FORTRAN-80
JRT PASCAL
muLISP
muSIMP
NEVADA COBOL
PASCAL/M
PASCAL/MT
PASCAL/MT+
PASCAL/Z
PL/1-80
S-BASIC
TINYC
TINY-C TWO
WSMITHSC
COMPILER
XYBASIC
MAILING ADDRESS (PTREE)
MAILMERGE FOR WORDSTAR
NAD
POSTMASTER
BUSINESS APPLICATIONS
LANGUAGE AND APPLICATIONS TOOLS
BASIC UTILITY
DISK
DATASTAR
FABS
FORMS 1 FOR CIS
COBOL
FORMS 2 FOR CIS
COBOL
MAGSAM III
MAGSAM IV
MDBS DRS
MDBS RTL
M/SORTFOR
COBOL-80
PEARL
PSORT
OSORT
STRING BIT
STRING /80
SUPER-SORT
ULTRASORTII
ACCOUNTS PAYABLE (PTREE)
ACCOUNTS PAYABLE (SSG)
ACCOUNTS RECEIVABLE (PTREE)
ACCOUNTS RECEIVABLE (SSG)
GENERAL LEDGER II (CPAIDS)
GENERAL LEDGER (PTREE)
GENERAL LEDGER (SSG)
GLECTOR FOR SELECTOR III-C2
INVENTORY (PTREE)
INVENTORY (SSG)
PAYROLL (PTREE)
PAYROLL (SSG)
NUMERICAL PROBLEM-SOLVING TOOLS
ANALYST STATPAK
FPL T/MAKER
muMATH
WORD PROCESSING SYSTEMS AND AIDS
OTHER SPECIALIZED APPLICATIONS
DATEBOOK
ESQ-!
PAS-3 DENTAL
PAS-3 MEDICAL
PROPERTY MANAGEMENT (PTREE)
THE PASCAL HANDBOOK
PASCAL USER MANUAL AND REPORT
PAYROLL WITH COST ACCOUNTING-
CBASIC
STRUCTURED MICROPROCESSOR
PROGRAMMING
USING CP/M-A SELF-TEACHING GUIDE
ACCESSORIES
DC 300 DATA CARTRIDGE
HEAD CLEANING DISKETTE
FLIPPY OISK KIT
FLOPPY SAVER
Program names and computer names are
generally trademarks or service marks of
the author or manufacturing company.
All software products have specific
requirements for hardware and additional
associated software (eg. operating system
or language).
All products are subject to terms and
conditions of sale
Prices and specifications are subject to
change without notice.
All Lifeboat software requires CP/M unless
otherwise stated
Copyright ©1981 Lifeboat Associates. No
portion of Ihis advert isemeni may be
reproduced without prior permission.
MAGIC WAND
LETTERIGHT
MICROSPELL
SPELLGUARD
TEX
TEXTWRITER III
WORDSTAR
W0R0IN0EX
BOOKS AND PERIODICALS
DATA MANAGEMENT PACKAGES
CONDOR
HDBS
MDBS
MDBS ORS
GENERAL PURPOSE APPLICATIONS
CBS SELECTOR IV
SELECTOR III-C2
APL-AN INTERACTIVE APPROACH
ACCOUNTS PAYABLE 8 ACCOUNTS
RECEIVABLE-CBASIC
8080/Z80 ASSEMBLY LANGUAGE
THE CP/M HANDBOOK
THE C PROGRAMMING LANGUAGE
CRASH COURSE IN MICROCOMPUTERS
FIFTY BASIC EXERCISES
GENERAL LEDGER-CBASIC
INTRODUCTION TO PASCAL
LIFELINES
Exidy Sorcerer + Lifeboat CP/M 02
Exidy Sorcerer + Exidy CP/M RW
Heath H8 + H17/H27 disk P4
Heath H89 + Lifeboat CP/M P4
Heath H89 + Magnolia CP/M P7
Heath H89 + Heath CP/M P7
Helios II B2
ICOM 2411 Micro Floppy R3
ICOM 3712 A1
ICOM 3812 A1
ICOM 4511 5440 Cartridge CP/M 14 D1
ICOM 4511 5440 Cartridge CP/M 2 2 D2
IMS 5000 RA
IMS 8000 A1
IMSAIVDP-40 R4
IMSAIVDP-42 R4
IMSAIVDP-44 R5
IMSAIVDP-80 A1
ISC Intecolor 8063/8360/8963 A1
Intertec Superbrain DOS 1 R7
Intertec Superbrain DOS 5 RJ
lntertecSuperbrainD0S3 x RK
Intertec Superbrain QD RS
Kontron PSI-80 RF
MITS 3200-3202 Bl
MSD5.25in RC
MecaDelta-15 25 m P6
Micromalion A1
Micropolis Mod I 01
Micropolis Mod II 02
Morrow Discus A1
Mostek A1
NEC PC-8001 RV
North Star Single Density PI
North Star Double Density P2
North Star Quad Density P3
Nylac Micropolis Mod II Q2
Ohio Scientilic C3 A3
OKI IF-800 RZ
OnyxC800l T2
Pertec PCC 2000 A1
Processor Technology Helios II B2
Quay 500 RO
Quay 520 RP
RAIR Single Density R9
RAIR Double Density RE
Research Machines 5.25 in RH
Research Machines 8 in. A1
SD Systems 5.25 in R3
SD Systems 8 in A1
Sanco7000 5 25 in. RQ
Spacebyte A1
TEI 5.25 in. R3
TEI8in A1
TIP T3
TRS-80 Model I STANDARD R2
TRS-BO Model I + FEC Freedom RN
TRS-80 Model I + MicromaliDn A4
TRS-80 Model I + Omikron 5.25 in RM
TRS-80 Model I + Omikron8in A1
TRS-80 Model I + ShuttleOoard 8 in Al
TRS-80 Model II A1
TRS-80 Model III RU
Vector MZ Q2
Vector System 2800 Al
Vector System B Q2
Vector VIP Q2
Vista V-80 5.25 in. Single Density R8
Vista V200 5.25 in Double Density P6
Zenith Z89 + Zenith CP/M P7
Zenith Z89 + Lifeboat CP/M P4
Zenith Z89 + Magnolia CP/M P7
SS = single sided
DD = double sided
SD = single density
DD = double density
The list of available formats is subiect to
change without notice In case of
uncertainty, call to confirm the format coOe
for any particular eouipmenl.
Lifeboat Associates. Ltd.
PO Box 125
London WC2H9LU. England
Tel: 01-836-9028
Telex: 893709 (LBSOFTG)
Lifeboat Associates GmbH
PO Box 168. Aegeristrasse 35
CH 6340 Baar. Switzerland
Tel: 042-31-2931
Telex: 865265 (MICOCH)
Intersolt GmbH
Schlossgartenweg 5
D-3045 Ismaning. W. Germany
Tel: 089-966-444
Telex: 5213643 (ISOFD)
Lifeboat Associates. SARL
10. Grande Rue Charles de Gaulle
92600 Asnieres. France
Tel: 1-733-08-04
Telex: 250303 (PUBLIC X PARIS)
Lifeboat Associates
Software with full support.
Circle 409 on inquiry card.
BYTE August 1981 221
Print neatix
so WE KNOW
WHERE TO SEND
TOUR CHECK.
[FROM:
(PLEASE PRINT: THIS IS YOUR SHIPPING LABEL)
Name
""1
Address
City/State/ZIP
| TO:
AshtonTate
Suite 1510
3600 Wilshire Boulevard
Los Angeles, CA 90010
222 BYTE August 1981
Buying new software is the pits,
isn't it?
You read an ad and it sounds
terrific, so you ask around, then buy
the manual.
So far, so good— so you spring
several hundred dollars for the
package.
And it does exactly what they
said. But to get exactly what you
want, you're going to have to change
the way you run your business. Or
go through so much hassle that
you're not sure it's worth it.
So you grit your teeth and suffer,
or put it on a shelf to gather dust.
Sounds familiar, doesn't it?
But there is at least one known
exception: an exceptional DBMS
called dBASE II.
For database fans, an offer
you shouldn't refuse.
dBASE II is the only high-
performance j^lational Database
Management System for micros.
And it's the only DBMS that can
help you get the DBMS that's right
for you, no matter which DBMS
you may want. Here's how:
If you have a 48k micro with
CP/M, send us its model number
and the size of your drives along
with $700 (CP/M 86 version soon —
call if you can't wait).
We'll send you a copy of dBASE II
that you can run on your system,
solving your problems your way,
for 30 days. Then just send every-
thing back and we'll return your
money, no questions asked.
During that 30 days, you can find
out how much a real database
management system can do for you.
How it will affect your operations.
Exactly what you want done. And
precisely how you want to do it.
Then even if you go for some
other system, you'll be an informed
buyer.
And it never hurts to know what
you're doing.
IBM just caught up.
So can you.
With dBASE II, you'll get the
same kind of system for your micro
that IBM introduced a few months
ago for their mainframes.
It's a relational DBMS, and that
makes it different from any other
micro system you've ever seen.
In a relational database, the data
is organized as simple tables, with
records as the rows and the data
fields as the columns, much like your
data is organized now. Data rela-
tions are logical, so that you can
zero in on the specific information
you want without knowing a thing
about the pre-defined sets, pointers
or other cumbersome structures of
hierarchal and network DBMS's.
And unlike file management
systems, dBASE II gives you pro-
gram and data independence. You
can change your database structure
without re-entering your data and
without reprogramming, or change
some or all of your programs with-
out touching your database. And
the same database can be used for
any number of different applications.
dBASE II is a stand-alone
applications development
system.
You don't need an extra support
language, because dBASE II comes
with its own Applications Devel-
opment Language (ADL). With ADL,
you can use simple English-like
statements to manipulate your data,
or use built-in structured constructs
to prepare sophisticated applica-
tions packages. It's simple and easy
to use, yet extremely powerful.
You create a new database and
start using it in a minute or less.
Just type CREATE, then respond to
system prompts to name the file and
define the fields. Now enter the data.
Add data to an existing database
instantly, whether your file has
AshtonTate
©Ashton-Tate 1981
10 records or 10,000 records, by
typing APPEND, then entering the
information.
UPDATE, MODIFY, JOIN and
REPLACE whole databases or
individual records and characters.
Add or delete fields in your data-
base structure without re-entering
all your data.
And with dBASE II, it's easy to
get information out once you've put
the data in.
Do automatic calculations on
fields, records and databases with a
few keystrokes.
Organize months' worth of data
in minutes with REPORT (printing
optional), and get your reports
today instead of tomorrow. Use
the built-in SORT, with single or
multiple keys. Or INDEX your
data, then FIND it in seconds, even
with floppies.
You can use dBASE II inter-
actively or store a sequence of com-
mands to automate your accounting,
billing, mailing lists or whatever
data you have to manage.
You'll wonder how you
managed without it.
dBASE II is the most powerful,
easiest to use DBMS you can get for
a micro.
And instead of poring over the
manual, you can run it hands-on,
in-house to see exactly what it can
do for you. Try it.
What have you got to lose? We
even provide the label so you can
send it back.
Ashton-Tate, 3600 Wilshire Blvd.,
Suite 1510, Los Angeles, CA 90010.
(213) 666-4409.
Circle 26 on inquiry card.
BYTE August 1981 223
BYTELINES
News and Speculation About Personal Computing
Conducted by Sol Llbes
J mall-Computer Con-
frontation: The battle
lines are being drawn be-
tween small-computer sup-
pliers and long-established,
large-computer companies.
Expect the first skirmishes
next year. On one side are
the microcomputer manu-
facturers led by Tandy Cor-
poration, Apple Computer
Inc, and Commodore Busi-
ness Machines. On the
other, there's IBM, DEC
(Digital Equipment Corpora-
tion), HP (Hewlett-Packard),
Xerox, and Data General.
What is at stake is a market
estimated at 300,000 units
(not including sales to home
users) that should exceed $1
billion in sales in 1982.
Here's what's happening:
the small-computer makers
are introducing larger sys-
tems, while the large-com-
puter makers are bringing
out smaller systems. The
small-computer makers are
expanding and strengthening
their marketing and distribu-
tion channels, while the
large, established com-
panies are crowding into the
retail area with their own
stores and the same outlets
that the small-computer
makers have been using.
Therefore, both groups will
soon be competing in the
same price/performance
areas.
A third factor that should
become a significant pre-
sence in the market next
year is the Japanese. They
are expected to concentrate
on the small-business mar-
ket, at this time.
The key to success will be
product marketing and dis-
tribution, rather than tech-
nology—ask IBM. While
other manufacturers always
seem to have a tech-
nological edge, IBM supplies
a total marketing program —
sales, service, and support.
The Radio Shack division
of the Tandy Corporation is
expected to hold its own
because of its firmly en-
trenched chain of stores.
Presently, Radio Shack has
138 computer stores, 200
company-owned stores, and
about 7000 franchises. How-
ever, the competition is
spreading. Both DEC and
IBM have more than two
dozen stores in operation.
Xerox, with fifteen stores,
hopes to have twice that
number within the coming
year, while HP is expected to
open several of its own. HP
already sells through in-
dependent retailers, and
DEC and IBM are expected
to go this route along with
their own retail outlets.
wtatus Report: 5-Inch
Winchester Disks: Disk
manufacturers are rushing
into the 5-inch Winchester
market with drives providing
up to 13 megabytes of
storage (unformatted) in the
volume of a standard 5-inch
floppy-disk drive. The early
entrants into the market are
Seagate Technology and
Tandon Magnetics; both
started shipping samples
late last year. Other com-
panies with 5-inch hard-disk
products in the making are
Shugart, Internation
Memories, Irwin Interna-
tional, Olivetti, New World
Computer, BASF, Computer
Memories, and Rotating
Memory Systems. Most com-
panies are forwarding
samples to OEMs (original
equipment manufacturers)
and expect to be in limited
production by year's end.
Capacities range from 2 to
13 megabytes, unformatted.
Prices, per megabyte, range
from $90 to $450 in 100-unit
quantities (drive only), which
compares favorably with
8-inch Winchesters, which
currently cost $50 to $400
per megabyte in similar
quantities. Although no stan-
dard interface has been de-
veloped, a number of manu-
facturers are providing Sea-
gate-compatible interfaces.
■ loppy- And Win-
chester-Drive Capacities
Increasing: Iomega,
Ogden, Utah, is expected to
introduce a 10-megabyte
8-inch floppy-disk drive. It's
rumored that Iomega plans
to push this up to
100 megabytes. Persi is
gearing up to produce a
6.4-megabyte dual 8-inch
drive that fits in the same
space as a Shugart 850
8-inch drive.
Seagate Technology has a
new version of its 5-inch
Winchester drive with capa-
cities of 12.76 megabytes
unformatted and 10 mega-
bytes formatted. The 3M
company has decided to
enter the Winchester-drive
market after making the
media for years. It plans to
introduce 10-, 20- and
60-megabyte 8-inch Win-
chesters.
N.
I ew 8080/Z80 DOSes:
There are three new disk
operating systems (DOSes)
for Intel's 8080 and Zilog's
Z80 microprocessors. MuSys
Corporation, Tustin, Califor-
nia, has introduced MuDOS,
a CP/M-compatible DOS
that provides a management
system for handling multi-
user access to the disk.
MuDOS runs only on
Z80-based systems and,
MuSys claims, is six times
faster than Digital
Research's CP/M. The price
will be in the $300 to $750
range depending on config-
uration
Vortex Technology, Cul-
ver City, California, will in-
troduce MARC, a UNIX-like
DOS for 8080 and Z80 sys-
tems. Designed by Leor
Zolman (the creator of the
BDS C compiler) and Ed
Ziemba, it initially boots
under CP/M and has the
UNIX-like, tree-structured
file system replete with
users, groups, protections,
and the like. It also has a
shell-type command inter-
preter, shell files (pipes),
user-customization modes,
and utilities. Vortex expects
the system to provide for the
transparent running of most
existing CP/M programs as
well as programs written for
MARC. Projected price is
$175, and for another $75,
you can have either the BDS
C or the MINCE editor.
InfoSoft, Westport, Con-
necticut, is introducing
MULTI/os for 8080 and Z80
systems. MULTI/os will sup-
port up to sixteen users, with
a shared data base of
975 megabytes and multiple
disk controllers. Like the
others, it also maintains
CP/M compatibility.
#^da And Little Ada
Released: Telesoftware has
finally released its Ada com-
224 August 1981 © BYTE Publications Inc
EXECUTIVE MENU
THE COMPUTER SOLUTION FOR NON-COMPUTER PEOPLE
Now Marot brings you another
delicious first: a menu-driven
information system so simple even
a CEO can use it.
A single key-stroke takes you directly
to the required application:
DATA BASE MANAGER
(CONTROL™): a combined program
generator that works with standard
English query. That means it talks
your language. So there's no need
to learn a computer language or
write a program to be a successful
user.
WORD PROCESSOR (MAGIC
WAND™): a powerful word
processor that allows full screen
creation and editing of files. It also
produces true proportional spacing,
microjustification and kerning. In
addition, documentation can be
fully examined at the CRT prior to
printing.
ACCOUNTING: consists of several
complete business packages either
in standard ANSI 74 COBOL or
OASIS™ BASIC, including accounts
receivable and payable, general
ledger, payroll, order entry and
inventory. Financial modeling and
job costing are also available.
MAILING LIST (POSTMAN™):
delivers up to 65,000 entries in zip
and name order and is completely
interactive with MAGIC WAND.
SCHEDULER: maintains a complete
office diary with ability to compare
schedules.
Although the Marot Menu appears
simplistic, it also incorporates OASIS
with user logons, accounting
histories and password protection.
Languages available include JCL
(EXECUTIVE), BASIC, PASCAL,
COBOL and FORTRAN.
As a result, the Marot Executive
Menu is a tasty pleasure for the
higher-ups and the higher-techs.
A la carte extra
OPSCAN SERVICE™; available
exclusively from Marot. Send us
your well-printed or typed files. We'll
read them directly into MAGIC
WAND at a speed that would take
20 typists to match. The cost is less
than conventional typing and the
turn-around is never more than 5
days,
CONTROL and OASIS are trademarks ol Phase
One Systems Inc.
POSTMAN is a trademark of Marot Systems Inc.
OPSCAN SERVICE is a trademark of
Marot Systems Inc.
MAGIC WAND is a trademark of Retail Sciences Inc.
MAROT SYSTEMS INC.
310 Madison Avenue.Sulte 408, New York,N.Y. 10017
(212)661-8550 TWX: 710-581-2477 ; :
I'd like to order more information on
□ MAROT MENU D OPSCAN SERVICES.
I am a □ computer consultant
□ computer dealer D computer user D CEO
.©ttyTS'tate/Zip
Circle 207 on inquiry card.
BYTELINES
piler. This is the first im-
plementation of Ada on a
microcomputer. The first
release is for a 16-bit
Motorola 68000 machine
and provides most of the
features called for in the
Department of Defense Ada
standard. Telesoftware
hopes to add the missing
features in the future. A
single-user license is $2000.
For $50, you can obtain a
"Little Ada" compiler and
interpreter for 8080/Z80-
based systems that executes
the primary Ada functions.
With it, you can get a feel
for what Ada is all about.
While the compiler is fur-
nished in object-code form,
the L-machine run-time in-
terpreter is furnished in
source-code form. For more
information, contact Ralph
Kenyon, 145-103 S Budding
Ave, Virginia Beach VA
23452.
I EC To Make TRS-SOs
In Japan: Tokyo Electric
Company (TEC) will
manufacture and sell the
TRS-80 Model I in Japan
through a new agreement
with Tandy Corporation.
TEC will also market the
TRS-80 Models II and III,
and the Color units. Tandy
stopped the manufacture
and sale of the Model I in
the US because it did not
comply with the FCC (Feder-
al Communications Commis-
sion) RF (radio frequency)
radiation requirements. TEC
is a division of Toshiba,
which manufactures its own
personal computer.
A\t&T And Publishers
Clash Over Electronic In-
formation Test: News-
paper publishers in Texas
have gone to court to pre-
vent AT&T (American
Telephone and Telegraph)
from testing its "Electronic
Information Service" (EIS).
The publishers contend that
AT&T is creating a mono-
poly whereby subscribers
would not be properly
served. AT&T counters that
EIS will be a service from a
new company with separate
assets. However, the
publishers feel that this is a
juggling act and a violation
of a 1956 Justice Depart-
ment ruling that stopped
AT&T from providing data-
processing services of any
kind.
The test was to be con-
ducted in Austin, Texas. It
was intended to be the pre-
lude to a nationwide infor-
mation-processing service
that would bring yellow-
page listings and advertising
into the home through tele-
vision sets.
Software Broadcast
Via Radio: Radio
Netherlands will experimen-
tally broadcast a short com-
puter program this
September tenth. The pro-
gram will be aired in three
different formats (TRS-80,
Apple II, and PET). Listeners
will be able to record the FM
broadcast onto a cassette
tape and then play it back
into their computer systems.
The broadcast will be heard
in Australia, Europe, Africa,
and North America. For in-
formation on frequencies
and times, write to Com-
puter Experiment, Media
Network, Radio Nether-
lands, POB 222, 1200 JC
Hilversum, Holland.
I
EEE-696/S-100 Stan-
dard Out Of Committee:
After three years, the IEEE
(Institute of Electrical and
Electronics Engineers)
696/S-100 Bus Standard
Committee has submitted a
finished standard to the
IEEE's computer-standard
adoption committee. The
standard is now complete
and formal adoption is ex-
pected early in 1982
R
random News Bits:
Sinclair will replace the
ZX80 with the ZX81 . The
ZX81 contains only four in-
tegrated circuits in place of
the ZX80's twenty-two. The
price will drop significantly.
. . . Apple Computer has
signed a lease for a 160,000-
square-foot plant in Car-
rolton, Texas. Apple plans to
add 700,000 square feet of
manufacturing space during
the next twelve months. Tan-
dy will open a fourth TRS-60
plant in San Antonio, Texas,
adding 400,000 square feet
of manufacturing space.
. . . Zenith reported that its
Heath division had sales of
$104 million last year.
Zenith's total sales were
$1,186 billion, with color
television sales of $774
million leading the way.
. . . Integrated-circuit makers
are sharply reducing prices
on EEPROMs (electrically
erasable, programmable
read-only memories). Prices
currently average $115 for
1 K by 8-bit devices and $67
for the 512 by 8-bit variety,
in 100-unit lots. The parts
boast a 500 ns access time
and 10-year data retention.
. . . Intel's profits for the first
quarter of 1981 were down
91.3%. The decline is at-
tributed to the falling price
of memory devices. As a
result, Intel plans to cut
capital spending by $30 mil-
lion. . . . Pick & Associates,
developer of the Microdata
Disk Operating System, is
working with Intel on the
disk operating system for the
32-bit iAPX-432 microproces-
sor. It's currently running on
Hewlett-Packard, ADDS,
Honeywell, ECSC, and
Microdata minicomputer
systems. Pick is also working
on a Motorola 68000 imple-
mentation. . . . Intel has
reduced the price of the
8085 microprocessor to $4 in
large quantities and to under
$5 in 100-unit lots. Intel
wants to compete with other
suppliers of the same part
(NEC, Toshiba, Mitsubishi,
and Siemens') and outrun
competition from Zilog's
Z80 microprocessor.
R
andom Rumors: IBM
is rumored readying two un-
der-$1000 personal-com-
puter systems at its Raleigh,
North Carolina, facility. One
system attaches to the tele-
phone line and serves as a
home-information system
(bank-at-home, teleshop-
ping, etc). The other is a
very-small-business system
aimed at the professional
market (lawyers, doctors,
etc). Neither system will be
as versatile as a stand-alone
product because IBM does
not want to hurt its regular
systems sales. Also, IBM is
said to be developing an un-
der-$5000 small-business sys-
tem aimed at competing
with the Apple II, TRS-80,
and PET. . . . DEC reportedly
has working prototypes of its
Tiny-11, which blends into
one integrated circuit the
current four-device set of
the LSI-11/2. Industry pun-
dits say it works with stan-
dard memory and I/O (input/
output) devices. . . . Zilog is
rumored developing a 32-bit
microprocessor for introduc-
tion by mid or late 1982.
. . . Later this year, you can
expect a removable 1 -mega-
byte bubble-memory cas-
sette from Intel. Fujitsu in-
troduced 8 K- and
32 K-byte bubble cassettes
last year. Plan on National
Semiconductor to introduce
an 8 K-byte bubble cassette
and cassette unit with con-
troller in the $2000 to $3000
range. . . . Rumors from all
over: Expect an under-$2000
small-business computer
from Sony to include a Z80,
64 K bytes of program-
mable memory, video dis-
play, 1.2 megabytes of flop-
py-disk storage, and a printer
port. . . . Vector Graphic,
226 August 1981 © BYTE Publications Inc
R&D COMPUTER SYSTEMS
Data Acquisition & Control Systems I
1 6 to 256 ch.; Programmable gain; Voltage or current output; J
1 2, 1 4, or 1 6 bit; 30 to 1 25 KHz; Stepping motor control m
8086 16 Bit Micro Systems
31 MByte Winchester Drives
256 KByte Memory Boards
8086 Software 4
Real Time Video Digitization Systems
S-100 Boards
1 6 Kilobyte Static RAM
8 and 16 bit transfer
Real Time Video Digitizer and Display
Analog to Digital Converter
16 channels - 12 bit accuracy
30 KHz Conversion rate
8086 CPU with Vectored Interrupts
PROM and I/O
2 RS 232 - PI0
CP/M-86 ROM Boot
Expansion Multiplexer
Analog to Digital Converter
and Timer/Counter
16 channels expandable to 256
12, 14, or 16 bit accuracy
30,40,100,or 125 KHz
Programmable Gain
Digital to Analog Converter
4 channels - 12 bit accuracy
3 microsecond conversion rate
' *tf
t
Digital to Analog Companion
4-20 mA output - Filters
Apple Boards
IHIIIIIIIIIIIMIIIlllill
Digital to Analog Companion
4-20 mA output - Filters
Analog to Digital Converter
16 channels
12, 14, or 16 bit accuracy
30,40, 100, or 125 KHz
Pi *«■ ^ I
nimnnnmfm
Digital to Analog Converter
2 channels - 12 bit accuracy
3 microsecond conversion rate
1 parallel output port
TECMAR, INC.
23600 Mercantile Rd. • Cleveland, OH 44122 (216)464-7410
Circle 379 on inquiry card.
BYTE August 1981 227
BYTELINES ___
boasting sales in the $30 mil-
lion range, will go public
with a stock offering this
summer. It is also devel-
oping a Z8000-based system.
. . . Cromemco is working on
an IBM-compatible tape-
drive unit to serve as a back-
up for hard disks. It's also
working on a 68000-based
S-100 microprocessor card.
. . . Codbout Electronics,
which recently introduced a
128 K-byte S-100 program-
mable memory card, is now
ready to unveil a 256 K-byte
version, . . . Sperry Univac
may be the first customer for
Intel's new 32-bit micropro-
cessor. . . .
^^Ipology: I must apolo-
gize to MicroDaSys, Los
Angeles, California. In the
March 1981 "BYTELINES"
(see page 242), I gave credit
to another company for
having the first 16-bit system
using the new Motorola
68000 microprocessor.
MicroDaSys was actually
first, advertising its 68000
system in the September
1980 BYTE.
The MicroDaSys "68 K
MiniFrame" contains a
68000, 6809 memory man-
ager (for true virtual-mem-
ory operation), 512 K bytes
or 2 megabytes of program-
mable memory, disk con-
troller, memory parity, and
ten I/O ports. The system
operates at 8 MHz and, the
company claims, is faster
than the DEC PDP-11/45.
I ersonal Computer
With 768 K Bytes Of
Memory: Southwest Tech-
nical Products (SwTPC) will
release a new 6809-based
personal computer that can
address up to 768 K bytes of
memory. Also slated to be
introduced are hard-disk
systems of 32 and 300 mega-
bytes that are chainable —
the maximum number has
not been determined. Lastly,
SwTPC will market a 32-ter-
minal I/O (input/output)
board for the system. The
system will run the TSC
(Technical Systems Con-
sultants) Uniflex operating
system supporting 32 users.
SwTPC has come a long
way from its first personal
computer, which had 4 K
bytes of memory, audio-
cassette storage, and a
2 K-byte BASIC interpreter.
I
ntel Seeks Injunction:
Intel is seeking an injunction
against Seeq Inc, Milipitas,
California. The suit seeks to
temporarily bar Seeq from
making devices similar to In-
tel's 2864, a 64 K-bit
EEPROM (electrically
erasable, programmable
read-only memory) that may
be marketed later this year.
Seeq was started by four
former Intel staffers who
had worked in Intel's
special-products division
while the 2864 was being
developed. Seeq intends to
develop nonvolatile mem-
ory devices.
MAIL: I receive a large
number of letters each month
as a result of this column. If you
write to me and wish a
response, please include a self-
addressed, stamped envelope.
Sol Llbes
POB 1192
Mountainside NJ 07081
SAVE $$
fgcippkz comiputer
16K APPLE II 1089.00
32KAPPLEII 1134.00
48K APPLE II 1179.00
DISKW/CONTROLLER 535.00
DISK ONLY 455.00
APPLESOFT CARD 159.00
INTEGER CARD 159.00
PASCAL SYSTEM 425.00
SILENTYPE PRINTER 525.00
HAYES MICROMODEM 295.00
Z-80 SOFTCARD 295.00
VIDEX 80 COL. BRD. 295.00
16K RAM BOARD 169.00
RAM MEMORY
FORTRS-80, APPLE II
16KSET4116'S(200NS) 34.95
DISCOUNT PRICES
ATARP
400 16K 349.00
800 16K 759.00
410 Recorder 64.00
815 Disk 1199.00
810 Disk 489.00
822 Printer 359.00
825 Printer 779.00
830 Modem 159.00
850 Interface Module 179.00
CX853 RAM 85.00
CX70 Light Pen 64.00
CX30 Paddle 18.00
CX40 Joystick 18.00
VERBATIM DISKETTES
Box of 10 5V 29.50
Box of 10 8" 39.50
North Star Computers
HR2-2D-32K 2795.00
HR2-20-48K 2956.00
HR2-2D-64K 3145.00
HR2-2Q-32K 2975.00
HR2-2Q-48K 3165.00
HR2-2Q-64K 3360.00
HRAM32K 469.00
HRAM48K 662.00
HRAM64K 849.00
HDS-18 HARD DISK 4025.00
MDS-DRV-D 495.00
MDS-DRV-Q 665.00
ADC-1-D 740.00
ADC-2-D 995.00
ADC-1-Q 795.00
ADC-2-Q 1285.00
SAVE $$
PRINTERS
EPSON MX-70 399.00
EPSON MX-80 499.00
EPSON MX-80 FT 599.00
GRAFTRAX 90.00
INTERFACE (APPLE) 75.00
CABLE 22.50
CENTRONICS 737-1 795.00
CENTRONICS 737-3 855.00
IDS445G 815.00
IDS460G 1195.00
IDS560G 1450.00
N EC 551 W/TRACTORS 2650.00
NEC 5520 KSR W/TRAC. 2995.00
QUME 5/45 SPRINT
FORMS TRACTOR
2675.00
195.00
STARWRITER W/TRAC. 1695.00
STARWRITER W/O
TRACTOR 1500.00
General Information:
We carry a large selection of hard-
ware and software by other com-
panies. Send for our catalog.
We are an authorized repair center for
APPLE, ATARI, NORTH STAR, AND
EPSON.
PRICES SUBJECT TO CHANGE WITHOUT NOTICE. MARYLAND RESIDENTS ADD 5% SALES TAX
FREDERICK 5726 industry lane
COMPUTER FREDERICK, MD. 21701
PRODUCTS, INC. TO ORDER CALL: (301) 694-8884
Store Hours:
MON. THRU THURS. 9:30 AM-9:00 PM
FRI. AND SAT. 9:30 AM — 5:00 PM
228 August 1981 © BYTE Publications Inc
Circle 141 on inquiry card.
Teach your little
Apple big-time
electronic mail.
Newark
Los Angeles
"^'itsttsmpu
Mui] LMlfWai! tea*
■ ^S .'- MMtt&PMtVt
/ Mwtd m* fchstli «
: .:/ frinuc '
For the first time, you can
move just about anything in
your Apple II™ computer to
any other Apple™ anywhere
in the world. Micro-Courier™
allows you to electronically
mail charts, graphs, corre-
spondence, VisiCalc® reports
and entire programs. You
spend far less time on the phone. And, in a matter of moments, you transmit material
the Post Office takes days to deliver.
Unlike traditional electronic mail, Micro-Courier doesn't require expensive central
computers or special phone lines. Using standard lines, you benefit in two important
ways. First, you communicate outside your company, not just within it. And second, you
realize tremendous savings on late-night rates. Micro-Courier takes advantage of them
automatically, without anyone in attendance.
What's more, Micro-Courier will ex-
change data with time-sharing systems and
larger computers. Even if you don't own an
Apple, Micro-Courier is the best reason in
years to go out and get one. Call our toll-free
number today. And make your little Apple
heard 'round the world.
MICROCDM
We make little computers talk big.
Call 800-547-5995, ext. 188, toll-free,
for the Micro-Courier- Apple dealer
nearest you.
L — — — — — — J
Microcom, Inc., 89 State Street, Boston, MA 02109. (617) 367-6362
Apple and Apple II are trademarks of Apple Computer, Inc. VisiCalc is a trademark afPersonal Software, Inc.
Circle 224 on inquiry card.
BYTE August 1981 229
Building Data Structures
in the Smalltalk-80 System
James C Althoff Jr
Learning Research Group
Xerox Palo Alto Research Center
3333 Coyote Hill Rd
Palo Alto CA 94304
Most programmers are exposed to
the concept of data structures very
early in their programming exper-
ience. A course in data structures is
an integral part of most computer
science curricula, and there are many
excellent and widely used texts on the
subject (see references 1, 2, and 4).
The data structures covered in these
texts generally include the linear list,
stack, queue, tree, and graph.
In this article, we will define and
implement some of the simplest struc-
tures, including the linear list, stack,
and queue. Our approach will be to
describe each data structure infor-
mally, and then to show a
Smalltalk-80 class definition that
closely matches this informal descrip-
tion. We will see that it is possible,
using the class construct, to create
programming structures that clearly
mirror the entities being im-
plemented. However, in order to
demonstrate how to build these data
structures from scratch, we will not
make use of any of the advanced data
structure classes that already exist in
the Smalltalk-80 system.
We will make extensive use of the
Smalltalk-80 subclass mechanism in
the class definitions we introduce. We
will use subclassing to facilitate the
construction of different implementa-
tions of the same entity. In addition,
we will see how the subclass
mechanism enables us to define two
or more related classes in such a way
that the common parts of their defini-
tion can be shared.
Notation
In order to understand the program
examples presented in this article, the
reader should have some familiarity
with the Smalltalk-80 programming
language. For an introduction to the
language and a fuller discussion of
subclasses, see "The Smalltalk-80
System," on page 36. In addition, a
text box on page 240 of this article
contains a brief description of some
of the messages that we will use in the
examples.
The advantage of the
sequential list is that it
is easy to access and
replace an arbitrary
item In the list.
For each data structure that we
describe, we will give a correspond-
ing Smalltalk-80 class definition.
Each class definition will be presented
in the form of a template that shows
the instance variables, messages, and
other information associated with the
class. (A complete description of the
template can be found in the article
mentioned above.)
The messages defined in the
template are partitioned into two
main groups. The first comprises the
class messages. These are messages
that are sent to the class itself (which
is, in actuality, an object). For our
purposes, these will be a set of crea-
tion messages that can be sent to the
class in order to create a new, init-
ialized instance of the class. The sec-
ond group consists of a set of
messages that can be sent to instances
of the class. These will be divided into
two more groups. The first is a collec-
tion of external messages that repre-
sent the interface between an instance
of the class and clients (ie: other
objects in the system) of that in-
stance. The second is a set of internal
messages used in methods that are
defined in the class or a subclass but
are not intended for wider use. Note
that the distinction between internal
and external messages is made for
conceptual clarity. The Smalltalk-80
programming language does not have
a mechanism for controlling message
usage.
An example of a class definition is
given in table 1. This template defines
a class whose name is Card. An
instance of class Card can be used to
represent a card in a game program.
Class Card has instance variables
named suit, rank, and faceUp. A new
instance is created by sending class
Card the creation message suit.rank:.
For example:
|aCard|
aCard — Card suit: 'heart' rank: 7.
230 August 1981 © BYTE Publications Inc
Color computer owners.
Yes, that's right - for as little as
$298.00 you can add 32K of dynamic
RAM, and a disk interface, to your
TRS-80 Color Computer! If you just
want the extra memory it's only
$199.00, and you can add the disk
interface later for $99.00.
Just plug the Color Computer In-
terface (CCI), from Exatron, into
your expansion socket and "Hey
Presto!" - an extra 32K of memory. No
modifications are needed to your
computer, so you don't void your Ra-
dio Shack warranty, and Exatron give
both a 30 day money-back guarantee
and full 1 year repair warranty on
their interface.
The CCI also contains a 2K
machine-language monitor, with
which you can examine (and change)
memory, set break-points, set memo-
ry to a constant and block-move
memory.
So what about the CCI Disk Card?
Well as we said it's only an extra
$99.00, but you'll probably want
Exatron's CCDOS which is only
$29.95 - unless you want to write your
own operating system. The CCI Disk
Card uses normal TRS-80 Model I
type disk drives, and CCDOS will
even load Model I TRSDOS disks into
your color computer - so you can
adapt existing TRS-80 BASIC pro-
grams.
As a further plus, with the optional
ROM Backup adaptor, you can dump
game cartridges to cassette or disk.
Once the ROM cartridge is on cas-
sette, or disk, you can reload, examine
and modify the software. The ROM
Backup adaptor is only $19.95.
For more information, or to place an
order, phone Exatron on their Hot
Line 800-538 8559 (inside California
408-737 7111), or clip the coupon.
excellence in electronics
exatron
DEALER ENQUIRIES INVITED
Exatron,
181 Commercial Street,
Sunnyvale, CA 94086
□ Please send a 32K Color Computer
Interface for $199.00
□ Please send a CCI Disk Card for $99.00
□ Please include CCDOS and manual
for $29.95
□ Also include a ROM Backup adaptor
for $19.95
Please add $5.00 for shipping to all orders,
and 6 percent sales tax in California.
Name
Address
City
State Zip
Charge my:
□ MasterCard Interhank Code
D Visa Expiration Date
Card
□ Check enclosed for
D Ship COD ($2.00 extra)
Signature
•:I2K HAM plus Disk [nlcrfac
TRS-Kfl is a trademark of Tandy
Circle 136 on inquiry card.
BYTE August 1981 231
SOFTWARE— ^
FREE OFFER
WITH PURCHASE OF ANY 3 PROGRAMS, YOU
WILL RECEIVE FREE THE ORIGINAL ADVENTURE
GAME, CONVERTED TO LOAD ENTIRELY INTO 48K
RAM ON APPLE. NOTHING LEFT OUT. AMAZING!
APPLE SOFTWARE
DISCOUNTS FROM 10% TO 30%
n MAGIC WINDOW $99.95 SALE $89.50
nSUPERTEXTH $150.00 SALE $135.50
□ APPLEPIE(400R80COL)...$129.95 SALE $119.50
□ SUPERSCRIBE $99.95 SALE $84.50
□ EASY WRITER 80 COL $250.00 SALE $225.50
GDBMASTER (STONEWARE). $229.00 SALE $199.00
I"! PAYROLL (BRODERBUND).... $395.00 SALE $359.50
PI MODIFIABLE DATABASE $79.50 SALE $69.50
H MAILING LIST DATABASE $50.00 SALE $34.50
□GEN. LEDGER (CONT.) $175.00 SALE $140.50
□ ACCTRCVBLE(CONT.) $175.00 SALE $140.50
DACCT PAY ABL (CONT.) $175.00 SALE $140.50
nPPTYMANGMT(CONT.) $175.00 SALE $140.50
DVISICALC 3.3 (PERSONAL) ...$199.95 SALE $169.50
D HOME MONEY MINDER 534.95 SALE $29.50
DWIN AT RACES (HANDICAP) ...$39.95 SALE $33.50
GL A LAND MONOPOLY $29.95 SALE $25.50
OWARP FACTOR $39.95 SALE $35.50
DZORK $39.95 SALE $35.50
□ MISSION ASTEROID $19.95 SALE $17.50
DPRO FOOTBALL POINT PRED.S26.95 SALE $22.50
DODYSSEY ADVENTURE 530.00 SALE $26.50
nC0MPU-MATHARITHMETIC...S49.95 SALE $39.50
DCOMPU-MATH FRACTIONS ....$39.95 SALE $35.50
D COMPU-MATH DECIMALS $39.95 SALE $35.50
□ COMPU-SPELL
(REQ. DATA DISK) $29.95 SALE $25.50
□ DATA DISK LEVEL 4 $19.95 SALE $16.50
□ DATA DISK LEVEL 6 $19.95 SALE $16.50
Q DATA DISK SECRETARIAL $19.95 SALE $16.50
□ STATISTICS 3.0 $29.95 SALE $25.50
□ PERCEPTION 3.0 $24.95 SALE $22.50
D ALGEBRA 1 $39.95 SALE $33.50
D SPACE EGGS $29.95 SALE $25.50
CTALIEN RAIN (GALAXIAN) $24.95 SALE $22.50
a ALIEN TYPHOON $24.95 SALE $22.50
DSNOGGLE (NEW PUCKMAN) ..$24.95 SALE $22.50
□ WIZARD AND THE PRINCESS.$32.95 SALE $29.50
D MYSTERY HOUSE $24.95 SALE $22.50
D PULSAR 11 $29.95 SALE $25.50
□ ORBITRON $29.95 SALE $25.50
!"". GAMMA GOBLINS $29.95 SALE $25.50
D HI-RES SOCCER $29.95 SALE $25.50
DSARG0N11 $34.95 SALE $29.50
D ADAMS ADVENTURE #1,2,3 ..$39.95 SALE $34.50
□ ADAMS ADVENTURE #4,5,6. .$39.95 SALE $34.50
Q ADAMS ADVENTURE #7,8,9 ..$39.95 SALE $34.50
□ ADVENTURE HINT BOOK $7.95 SALE $6.50
I ITEMPLEOFAPSHI $29.95 SALE $24.50
D HELLFIRE WARRIOR $29.95 SALE $24.50
D FASTGAMMON $24.95 SALE $22.50
D THREE MILE ISLAND $39.95 SALE $35.50
D PHANTOMS FIVE $29.95 SALE $25.50
□ E-Z DRAW 3.3 $49.95 SALE $39.50
D THE PRISONER $29.95 SALE $25.50
Q TERRORIST $29.95 SALE $25.50
D SPACE $29.95 SALE $25.50
D A.B.M $24.95 SALE $22.50
D CYBER STRIKE $39.95 SALE $34.50
D FLIGHT SIMULATOR $35.50 SALE $31.50
□ AUTOBAHN $29.95 SALE $25.50
D GALACTIC TRADER $24.95 SALE $22.50
DZ-80S0FTCARD $349.00 SALE $299.50
D16KRAMCARD $195.00 SALE $175.50
DM/RSUPERTERM80C0L....$375.00 SALE $325.50
* SEND FOR FREE PRICE LIST & CATALOG *
DEDUCT 3% IF PAYMENT ACCOMPANIES ORDER. WE
PAY SHIPPING AND IF YOU PHONE YOUR ORDER WE WILL
CREDIT S1.00 FOR CALL. CALIFORNIA RESIDENTS ADD
6% SALES TAX. ALL ORDERS SHIPPED FROM STOCK
WITHIN 48 HOURS WE ACCEPT MASTER CARD AND VISA
NAME ....
STREET .
CITY STATE ZIP..
CARD # PHONE
EXP. DATE SIGNATURE
* P.O. BOX 796. OEPT. B-6, TWIN PEAKS, CA 92391 *
PHONE ORDERS (714) 886-0761
Circle 256 on inquiry card.
232 August 1981 © BYTE Publications Inc
creates a new instance of Card that
represents the seven of hearts. In the
method for suit:rank:, the message
new creates an uninitialized instance.
The internal message setSuit:setRank:
sets the suit and rank fields and init-
ializes the new instance to be "face
down." Given an instance of class
Card, we can determine its suit, rank,
and orientation, and change the latter
using the external messages specified
in the class definition. Because we do
not want to be able to change the suit
and rank of an instance once it has
been created, we do not include a
message for doing this operation in
the set of external messages.
The methods shown here
demonstrate a convention we will use
in subsequent examples. All of the
names that we use for parameters and
local variables will be formed by tak-
ing the name of a class and preceding
it with an indefinite article. For exam-
ple, the two parameters to the
message setSuit:setRank: are named
aString and anlnteger. Such a name
indicates what kind of object is
expected as the value of the
parameter or local variable to which
the name refers. Smalltalk-80 has no
type-checking; this is only a conven-
tion to help make the examples more
understandable.
We will now examine a number of
elementary data structures and their
implementation with Smalltalk-80
classes. In the informal description of
each data structure, we will include a
list of operations that are meaningful
for that structure. We will then show
a corresponding class definition
whose external messages match the
listed operations. The details of the
implementation of the data structure
will be hidden in the class definition.
We will see how this process enables
us to define different classes that
reflect different implementations of
the same basic data structure.
The Linear List
The first data structure we will ex-
amine is the linear list. A linear list is
a sequence of data items that have,
essentially, a one-dimensional rela-
tionship to one another (see figure 1).
That is to say, given an object in the
sequence, we can find the object that
precedes or follows it. For example, if
we have a program that deals with a
game of cards, we might represent
class name
Card
superclass
Object
instance variable names
suit rank faceUp
class messages and methods
suit: aString rank: anlnteger aCard
aCard — self new. aCard setSuit: aString setRank: anlnteger.
t aCard.
instance messages and methods
external
suit | | t suit.
rank | t rank.
turnFaceUp | faceUp
turnFaceDown | fact
turnover | faceUp —
IsFaceUp | | t faceUp.
IsFaceDown | t faceL
internal
setSult: aString setRar
suit — aString. rank —
Table 1:
«- true.
?Up — false.
faceUp not.
Jp not.
lk: anlnteger
anlnteger. self turnFaceDown.
Class template for class Card.
SUPERBRAIN &COMPUSTAR
USERS' GROUP
JOIN SUPER* STAR INTERNATIONAL FOR THE REGULAR YEARLY MEMBERSHIP FEE AND RECEIVE A FREE DISKETTE WITH
THE FOLLOWING PROGRAMS:
• "RECOVER", it allows you to recover an erased program. * "RETURN", it gets you back into a crashed program
• "AUTO LOAD", it enables you to load and run a program from CP/M'.
automatically. * the game "OTHELLO".
Since our first ad in March 1981, we have been contacted from as far away as South America, Europe, Australia, and Indonesia.
Super* Star International is becoming a world-wide family whose members will enjoy the benefits of a wide range of hardware and
software developments.
Our full color, monthly magazine will print a free program in every issue— programs like an appointment calendar and personal
finance record keeping. You'll also find technical information, tips for beginners, special business uses, equipment reviews, and
the Infertec Story— the people, ideas, and machines behind your computer.
WE GIVE YOU VALUE! Purchase just one commercial program and you will save more than the price of our membership fee.
Rent a car or stay in a hotel offered in our discount program and save even more, not to mention insurance discounts, a market
place for your personal software, and a shoulder to lean on if something isn't working quite right.
Super* Star International— with savings, service, and efficiency— we're here to win your heart.
WE NOW OFFER A WIDE RANGE OF PRODUCTS
A few may still be under development at the date of this issue.
SOFTWARE
* DIAGNOSTICS— for the CPU, Memory, Disk Drives and more * BUSINESS— Real Estate Acquisition Package; Systems Plus', Peachtree',
* WORD PROCESSING— WordStar", MaiiMerge', WordMaster 1 , Magic Wand' and other Accounting Packages; Plus the most powerful, easy to use
* LANGUAGES— COBOL, FORTRAN, Pascal, FORTH, BASCOM Compiler' business package, which automatically updates all information
* UTILITIES— Assemblers, Disassemblers, Monitor at the point of entry; SuperSort', DataStar 1 , dBASE II',
* GAMES— Chess, Adventure, Star Trek, Analiza', and more FMS-80'
HARDWARE
* S 100 Adaptor
* External Controls
* Addon Disk Storage
ENHANCEMENTS
* Upgrades for ALL SuperBrains
* SuperDOS (Fantastic!)
* Add-on character sets-Including graphics
* MTT Upgrade for the Intertube
VISA
4
^^^
U
mtg,
I I
sypi!*§m§L
INTERNATIONAL CORPORATION
R O. Box 33675, Northglenn, CO 80233 • (303) 526-1050
Dealers are invited to contact us concerning a special dealer program.
Charge membership by phone
Yearly membership fee is $50.00 U.S., $58
Canada, $74 Europe & So. America, $81
Australia, Mid East & Asia.
Your (ee may be tax deductible.
Send checks with your name and
address, made out to: Super* Star
International. (U.S. Currency)
I would like to join Super* Star International. Enclosed in my check for $_
Name Company _
Address Phone _
City/State/Zip
Computer Model Vers
Circle 365 on inquiry card.
n data items
Figure 1: A linear list (la) is a collection
of objects arranged in linear sequence.
Permissible operations include accessing
(lb), appending (lc), inserting (Id), and
removing an item (le).
access an item
append an item
insert an item
remove an item
cm
S/PLUS
T.M.
Indexes and Sorts WordStar
DocuMate/Plus™ Features . . .
• 8-Level Indexing
• Table of Contents Generation
• New Self-Contained Sort Feature
• "See" and "See Also" References
• New Output Format Control
• New Cross-Document Index
Generation
DocuMate/Plus generates completely col-
lated tables of contents and alphabetical
multi-level indexes from WordStar™ text
files of any length ... as detailed as you
desire.
DocuMate/Plus is refreshingly easy to use,
and its internal sort feature can save you
the cost of an expensive stand-alone sort
program. Just type simple DocuMate com-
mands right into your text file. DocuMate/
Plus's "Extract" feature automatically
finds and places all index references in a
separate work file for sorting and collating.
DocuMate/Plus builds master indexes for
many documents, such as research notes,
books and articles, speeches, hardware
and software documentation, and busi-
ness correspondence
DocuMate/Plus is today's most flexible indexing program
available for professional word processing.
DocuMate/Plus is available on standard 8" CP/M and 5Va" Northstar diskettes.
• DocuMate/Plus Program with Manual $125.00
• Manual Only $ 10.00
• Special Pricing to update existing DocuMate users.
fflMKD
THE ORTHOCODE CORPORATION
P.O. Box 6191 • Albany, CA 94706
(415) 832-8175
The Text ware Company
• WordStar is a trademark of MicroPro International • CP/M is a trademark of Digital Research
each card hand as a linear list of
cards.
The operations that we might want
to perform on a linear list include:
• determine how many items are in
the list
• determine whether or not the list is
empty
• access the ith item in the list
• append an item to the end of the list
• insert an item at some position in
the list
• replace an item at some position in
the list with some other item
• remove an item from the list
In order to implement a linear list of
data items, we need to implement
both the data items and the linear list.
In all of our subsequent examples, we
will assume that we have imple-
mented the data items with one or
more class definitions (eg: class
Card). When we are describing things
in general, we will use such terms as
"data item" and "linear list." When
we are describing a specific imple-
mentation, we will refer instead to the
"object" (or "instance of a class") that
represents the entity under considera-
tion.
Linear lists are partly defined in the
template given in table 2. Class
LinearList, as defined in table 2, is
incomplete since there is no
mechanism for actually storing ob-
jects that represent data items. This is
because there are several different
strategies for storing these objects in a
linear list. For each strategy, we will
define a different class, each of which
is a subclass of LinearList. All of these
classes have some characteristics in
common; these are captured in the
superclass LinearList. For example,
because all of the subclasses that we
234 August 1981 © BYTE Publications Inc
Circle 286 on inquiry card.
Circle 63 on inquiry card.
CompuServe is
a lot more than
fun and games
and news.
Although we're probably best
known for our consumer-oriented
services, CompuServe maintains
powerful services for the serious
computer user. CompuServe has
helped some of the nation's largest
companies and financial institu-
tions through a wide range of
business and scientific-oriented
computer programs. With our
Information Service, we can extend
this expertise to you. Here are
some of the programs available
to the personal computer user
through the CompuServe
Information Service:
PASCAL: DEC User Group
version of this famous language.
XF4: Extended CompuServe
Fortran compiler.
MACRO: Advanced Macro
Assembly language for PDP-10.
Talk about fast.
FILGE: Fast, easy file generator
and editor. Line oriented, no line
numbers required!
XBASIC: CompuServe extended
BASIC.
JUMBLE: File encryption program.
TECO: High level text editor.
LINK: Linking loader program.
DDT: Dynamic debugging tool.
CREF: Symbolic cross-reference
generator used with language
compilers.
FILCOM: File comparison
program.
SALARY: Calculates salary and
increases in various time frames
including per year, month, period
and hour. This program is intended
primarily for managers doing
reviews.
SNOBOL: String manipulation
language.
RUNFLO: Text formatting
program (write resumes etc.).
RUNF10: Word processing and
text formatting program (write
resumes etc.).
CONCOR: Concordance
generator. This program is very
useful for documentation purposes.
CONCOR reads an ASCII file and
creates an output file which con-
tains a line numbered listing of
the original file, and a list of all the
words contained in the file along
with the numbers of the lines on
which each word occurs (similar
to an index).
BUSK): High level implemen-
tation language for DEC PDP-10.
BINED: Binary file editor.
APL: A Programming Language.
FINTOL: Financial analysis tool.
Contains several program modules
which can perform financial analy-
sis for business or personal needs.
— Loan Payment and Amortization
— Compound Interest Calculations
—Sum from a Periodic Investment
— Sinking Fund Deposit
— Present Value of Cash Flows
— Present Value and Internal Rate
of Return (Capital Projects)
— Depreciation Analysis
— Compound Growth Rates
RANNO: Random number
generator.
XEDIT: XF4 binary file editor.
We also offer high speed
professional line printer service,
error-free file transfer,
CompuServe's Software
Exchange, and computer
manufacturers' newsletters.
Computer Users Groups can
exchange information and
up-to-the-minute gossip in the
computer world.
And ... if Aunt Matilda comes
over, you can still let her play
Adventure. Demonstrations and
software at all Radio Shack®
Computer Centers and many
Radio Shack® outlets.
CompuServe
Information Service Division
5000 Arlington Centre Boulevard
Columbus, Ohio 43220
(614)457-8600
Radio Shack is a trademark of Tandy Corporation.
class name
superclass
instance variable names
class messages and methods
LinearList
Object
count
"none defined here"
instance messages and methods
external
count | | t count.
empty | | I count = 0.
"at: anlnteger | | ... to be defined in subclasses"
"append: anObject | | ... to be defined in subclasses"
"insert: anObject at: anlnteger | | ... to be defined in subclasses"
"replace: anObject at: anlnteger | | ... to be defined in subclasses"
"removeAt: anlnteger | | ... to be defined in subclasses"
internal
initialize | | count — 0.
checklndex: anlnteger | |
(anlnteger < 1 ) f (anlnteger > count)
ifTrue: [ t self error: 'index out of range' ].
Table 2: Class template for class LinearList.
These exciting new
additions to our line will
meet the demand for low cost
alternatives to the higher priced
language and ram cards. The ConComp
Apple II 16K Ram Card will work with all existing
software compatible with the Apple Language Card 1
and the Microsoft Z-80 Softcard 5 . Allowing up to 64K of
user memory, the Ram Card helps make complete use of Pascal.
CP/M 4 , and larger programs like Visicalc 3 The Atari 800 2 version is
also compatible with all Atari software that is operational with Atari
and other ram cards.
Both cards are constructed using high-speed high-quality dynamic RAM.
For more information please contact your local dealer or call us!
'Trademark of Apple Computer Inc
'Trademark ol Atari Inc
■■Trademark ol Personal Software
'Trademark ol Digital Research
'•Trademark ol Microsoft Consumer Products. Inc
APPLE II
$130
ATARI 800
Dealer Inquires Invited
Available from:
ConComp Industries
8338 Center Dr.
La Mesa, CA 92041
(714)464-8338
will define keep count of the number
of objects (representing data items) in
the list, a corresponding instance
variable, count, is defined in the
superclass LinearList. Similarly, all
subclasses can make use of an internal
message, initialize, that initializes
count to zero, and another message,
checklndex:, that insures that any in-
dex specified as a parameter to one of
the access messages (at:, insertat:,
and so on) is within range. Since we
start the numbering of items in a
linear list at 1, the range will always
be between 1 and count (the number
of items in the list). Also, the message
empty is implemented in the
superclass since the answer to
whether or not the list is empty can be
determined from the value of count.
The Indexed Table
The first strategy we will explore
for actually storing data items in a
linear list involves the sequential
allocation of storage. In order to see
how this works, we will interrupt our
discussion of the linear list and intro-
duce a very basic data structure that
we will call an indexed table (see
figure 2). An indexed table, which
corresponds to what is called a one-
dimensional array in many program-
ming languages, is a relatively simple
structure that closely matches the
physical memory of most computers.
As we will see, many useful data
structures, including the linear list,
can be implemented with an indexed
table.
An indexed table comprises a
sequence of variables into which we
can store and from which we can
retrieve data items. Each variable is
designated by an integer. The
smallest integer used to designate a
variable in an indexed table is called
the lower bound of the table. The
largest integer is called the upper
bound. The operations that we wish
to perform on an indexed table are:
• specify the lower and upper bounds
of the table (when it is created)
• determine the lower and upper
bounds of the table
• determine the number of variables
allocated to the table
236 August 1981 © BYTE Publications Inc
Circle 87 on inquiry card.
MEMOREX
SUPERB QUALITY AT
UNBEATABLE PRICES.
THAT'S MEMOREX
DISCS FROM PACIFIC
EXCHANGES
For Data Reliability-
Memorex
Flexible
Discs
CALL FREE FOR PRICES & INFORMATION
(800)235-4137
In California, (800)592-5935 or (805)543-1037
VISA'
DEALER INQUIRIES INVITED
C.O.D.'s ACCEPTED
Circle 292 on inquiry card.
BYTE August 1981 237
upperBound
anObject
nil
onObject
"
'
anObject
nil
Figure 2: An indexed table.
• access an item at a particular posi-
tion in the table
• put an item at a particular position
in the table
In order to store into an indexed
table, we specify an item to be stored
and an integer that indicates the par-
ticular variable that will contain the
item. In order to retrieve from an in-
dexed table, we need only specify
which variable of the table has the
data item of interest.
The class definition in table 3
shows how to implement an indexed
table. We have seen in the definition
of classes Card and LinearList how to
specify a fixed number of named in-
stance variables in a class definition.
What we need in order to implement
an indexed table, however, is a
sequence of unnamed variables that
are designated by an integer index.
How can we define such a sequence of
variables? We do this by specifying
the number of indexed variables
needed for an instance at the time that
an instance of a class is created. The
creation message from:to: in class
IndexedTable sends the message
new:, whose parameter is the number
of indexed variables required for the
instance being created. In order to
access these variables, we send low-
level (ie: primitive) access messages
with a parameter that specifies an
appropriate index (starting at 1). The
access message basicAt: i retrieves the
object stored in the ith indexed
instance variable. The access message
basicAt: i put: anObject stores a
pointer to anObject in the ;th indexed
instance variable.
In addition to indexed instance var-
iables, class IndexedTable has two
named instance variables: lower-
Bound and upperBound. lowerBound
is an integer that indicates the small-
est allowable index for a particular
instance of IndexedTable; upper-
Bound indicates the largest allowable
index. In order to create a new in-
dexed table, we send the message
Computers Are For Everybody!
How to Get Started
with CP/M
Carl Townsend
One nl the worlds most popular operat
ing systems is explained in simple
terms. Includes a handy guide on shop
ping for an operating system, a glossary
a list ol hardware manufacturers sup
porting CP/M and a list of major CP/M
software.
ISBN 0-9 18398-32-0 $9.95
Microsoft Fortran
Paul M. Chirlian
Here is the book for microcomputer
users who want to implement FOR-
TRAN on their machines. Even it
readers have never used FORTRAN be-
fore, they will be writing and running
FORTRAN programs almost at once.
ISBN 0-918398-46-0 $14.95
Write or call for free catalog! 1-800-547-1842
Most bookstores and computer stores tarry our books. Call us on
our toll free number and we'll tell you the one nearest you.
Computers for
Everybody
jerry Willis and Merl Miller
This fun-to-read book covers all the
things a beginner should know about
computers. It explains how to use a
computer, how to buy and who to buy
from, and which are good and which are
lad.
ISBN 0-918398-49-5 $4.95
32 BASIC Programs for
the Apple Computer
Tom Rugg and Phil Feldman
Chock full of programs with practical
applications, educational uses, games
and graphics, each of the 32 chapters
fully documents a different program.
ISBN 0-918398-34-7 $17.95
dilithium Press Trip
P.O. Box 606 l
Beaverton, OR 97075
238 August 1981 © BYTE Publications Inc
Circle 118 on inquiry card.
High resolution, dot
addressable graphics with
vertical resolution of 72 dots
per inch and up to 82 dots
per inch horizontal
resolution.
"Q.T." cover reduces noise
to an office comfort level.
This is an optional feature
to our standard sound dead-
ening case.
Single sheet feeder is very
simple to use. The only
front load feeder available
on the market today.'
1K standard buffer permits
the 88G to print while
receiving data. The optional
2K buffer allows a 1920
character dump to the
printer freeing the CRT.
The Features Leader
Integrated Paper Handling System
Dual tractor/friction feed allows use of pin feed,
roll or single sheet paper.
Versatile Interface
Data input from most computers can Pe sup-
ported Py the 88C. RS232C serial and Cen-
tronics* type parallel is standard. Options can
Pe added for current loop, IEEE 488 and high
speed serial inputs.
Avnpi
Letter Quality Capability
The 88C provides a selectaPle 11x7 serif style
dot matrix for correspondence printing.
Cost Effective
The 88C has more features than any other
impact printer in its price class. First compare
the duality of the 88C, then compare the price
-the 88C wins! Single unit price is less than
$800.
'Optional
licro Peripherals, Inc. 4426 South Century Drive Salt Lake City, Utah 84107 (801) 263-3081
The Printer People
California VITEK 1714) 744-8305 Colorado PLS Associates (303) 773-1218 Minnesota Bohlig & Associates (612) 922-7011 New Jersey Hansen &
Hughes (201) 652-7055 Up-state New Jersey OED Electronics (215) 674-9600 Oregon Microware (503) 620-8150 Washington Microware (206I
451 3586 Utah PLS Associates (801) 466-8729 Tvpe-A-Line (801) 521-5310 District of Columbia Wright Marketing (3011 840-1928 International-
England Russet Instruments, Ltd. (0734) 868147 Telex: 849721 Phoenix Sigma International (602) 994-3435 Telex: 165-745 Sigma France IER
Tel. 333.67.81 Telex: 620-289 Canada Spectra Electronics (403) 264-7270.
Circle 258 on inquiry card.
BYTE August 1981 239
class name
superclass
instance variable names
class messages and methods
IndexedTable
Object
lowerBound upperBound
from: anlntegerl to: anlnteger2 |
(anlntegerl > anlnteger2) ifTrue: [ t self error: 'invalid bounds'
t (self new: anlnteger2 - anlntegerl + 1)
lowerBound: anlntegerl upperBound: anlnteger 2.
instance messages and methods
t lowerBound.
t upperBound.
lowerBound
I).
external
lowerBound
upperBound
size | | t upperBound
at: anlnteger | |
self checklndex: anlnteger.
t self basicAt: (anlnteger - lowerBound +
put: anObject at: anlnteger | |
self checklndex: anlnteger.
self basicAt: (anlnteger - lowerBound + 1) put: anObject.
internal
lowerBound: anlntegerl upperBound: anlnteger2 |
lowerBound — anlntegerl. upperBound — anlnteger2.
checklndex: anlnteger ] |
(anlnteger < lowerBound) | (anlnteger > upperBound)
ifTrue: [ t self error: 'index out of range' ].
"basicAt: i | | ... this is a primitive Smalltalk-80 message that accesses the ith indexed
instance variable."
"basicAt: i put: anObject | | ... this is a primitive Smalltalk-80 message that stores a pointer
to anObject in the ith indexed instance variable."
Table 3: Class template for class IndexedTable.
from: to: to class IndexedTable.
example:
For
Some Smalltalk Messages
The following messages are used in this article without having been previously
defined. Each is either provided by the Smalltalk-80 system, or easily implemented
using other messages provided by the system. For each message, we provide a brief,
informal description of its intended effect.
new — Creates a new instance.
new: i — Creates a new instance with i indexed instance variables.
error: aString — Causes some appropriate action to occur, such as interrupting pro-
gram execution and displaying aString.
not — The "logical not" operation.
| — The "logical or" operation.
+ , —, *,/, =, <, >, <= — Arithmetic operations and relations.
Flow of control is affected by sending messages that correspond to basic control
structures. For example:
3 ifTrue: [ b ] corresponds to: if a then b end
a ifTrue: [ b ] ifFalse: [ c ] corresponds to: if a then b else c end
x to: y do: [: i | a ] corresponds to: for i from x to y by 1 repeat a end
x downTo: y do: [: i | a ] corresponds to: for i from x to y by —1 repeat a end
x timesRepeat: [ a ] corresponds to: repeat x times a end
| table |
table — IndexedTable from: - 5 to:
10.
creates a new instance of Indexed-
Table whose indices range from —5
to 10. This message is implemented
using an internal message, lower-
Bound.upperBound:, that sets the
instance variables of a newly created
instance to their appropriate values.
Once we have created an instance
of IndexedTable, we can perform the
operations specified in the above
description of indexed tables by send-
ing the messages lowerBound, upper-
Bound, size, at:, and puv.at:. lower-
Bound and upperBound return the
corresponding values of the instance
variables; size computes and returns
the number of indexed instance vari-
ables in the table, at: and put: at: both
use an internal message, checklndex:,
in order to make sure that their index
parameter is within range of the
lower and upper bounds of the table.
at: returns the object stored in the in-
dexed instance variable indicated by
the integer parameter; put.at: stores
the object, specified as the first
parameter, in the indexed instance
variable indicated by the second pa-
rameter. Notice that both at: and
put.at: use the value of lowerBound
to map indices from the range of the
table to the range of the indexed in-
stance variables that are used to im-
plement the table.
As an example of how we might
use class IndexedTable, consider the
following sequence of messages:
| table |
table — IndexedTable from: 1 to:
13.
1 to: 13 do: [: i | table put: (Card
suit: 'heart' rank: i) at: i. ].
This creates a new instance of class
IndexedTable with indices that range
from 1 to 13 and fills it with instances
of class Card whose ranks match the
indices.
The Sequential List
Now that we have an implementa-
240 August 1981 © BYTE Publications Inc
When you can't afford to buy wrong . . .
"Sorry, Hawkins, we simply can't keep you and replace that non-expandable computer you bought.
. . . you need Novell's NEXUS 7 ;
the starter-priced computer system
designed to grow with you.
BUYING A COMPUTER is a big
decision. How much can you
afford to spend? Will the system
you're considering do the job? And
what happens when your needs
outgrow that first computer? Can it
expand to handle increasingly larger
workloads, or will you have to
spend a fortune replacing it?
Expandable computer systems are
strictly big-league. They've been
very expensive, and unless you've
had at least S 4 0,000 to spend
they've been out of reach.
But, now, there's Novell's new
NEXUS Series— an incredibly
versatile, surprisingly inexpensive
computer that expands into a
multiple terminal-computer network
system just by adding components
as your growth requires. You can
begin using your NEXUS computer
the day it arrives, because it works
with the widest assortment
of proven software
available in the
industry today.
Exclusive RAM-
GUARD™ protection
detects and corrects
memory errors
automatically
as they occur— a feature no other
comparably priced computer offers.
NEXUS is the one starter-priced
computer system you'll never have
to replace!
If you're in the market for any
computer, you can afford the
NEXUS I. Since you can't afford to
buy wrong, you can't afford to miss
seeing, trying and learning all
about NEXUS.
Call us toll-free and we'll set up
a hands-on demonstration. We'll
prove how NEXUS will take you all
the way to the top. 800-453-1 188
NOVELL
DATA SYSTEMS. INC.
1170 No. Industrial Park Drive, Orem, Utah 84057
Telephone: (801) 226-8202
Circle 270 on inquiry card.
BYTE August 1981
241
table
anObject
count
3
anObjecl
anObject
nil
nil
nil
anlndexedTable
Figure 3: A sequential list.
tion for indexed tables, we can use
them to demonstrate our first imple-
mentation of linear lists. We will call
a linear list that uses an indexed table
to store its data items a sequential list
(see figure 3). The basic idea is to
manage an indexed table so that the
first i consecutive entries in the table
are the i data items in our linear list.
The most difficult operations using
this strategy are the insertion and
removal of items, since these cause
parts of the indexed table to be copied
from one area to another. An addi-
tional difficulty is that we must
specify, at the time we create the
linear list, the expected maximum
number of items in the list. This is
necessary because indexed tables
come in fixed sizes, which means that
if the list grows larger than this initial
number, we must do something to
accommodate the extra items.
(Details are shown in the class defini-
tion given in table 4.)
The creation message size: is used
to create an instance of SequentialList
of some estimated maximum size. For
example:
SciTronics introduces . . .
REAL TIME CLOCKS
with full Clock/Calendar Functions
The Worry-free Clocks for People
Who Don't Have Time to Worry!!
What makes them worry-free?
• Crystal controlled for high
(.002%) accuracy
• Lithium battery backup for contin-
uous clock operation (6000 hrs!!!)
• Complete software in BASIC-
including programs to Set and
Read clock
• Clock generates interrupts
(seconds, minutes, hour) for
foreground/background operation
Applications:
• Logging Computer on time
• Timing of events
• Use it with the SciTronics Remote
Controller for Real Time control
of A.C. operated lights and ap-
pliances
Versions available for:
• S-100 bus computers
• Apple II computer
• SciTronics RC-80
owners
RTC-100 $159
RTC-A $129
RC-80CK $109
send SciTronics Inc.
check or 523 s aeweU St _ ( p Box 5 344
orde^io Bethlehem, PA 18015
(215) 868-7220
Please list system with which you plan to use
controller • Master Charge and Visa accepted.
COD's accepted. PA residence add sales tax.
I «St |
list ~- SequentialList size: 5.
creates a list with enough space, init-
ially, for five objects. The internal
message initialize:, which is sent from
size:, creates an instance of Indexed-
Table of the appropriate size and
assigns it as the value of the instance
variable named table. The other inter-
nal message, expand, is used to
enlarge table when it becomes full.
This is done by creating a new
instance of IndexedTable that is twice
as large as the original and by copy-
ing the objects from the original table
into the first half of the new table.
The new table is then assigned as the
value of table for subsequent use.
Retrieval from SequentialList is
done by retrieving from its associated
indexed table. A new object can be
appended to the list by storing it in
the next available location of the
indexed table of that list. This loca-
tion is determined by the value of
count. If there is still room in the
table, count is incremented and the
object is stored. Otherwise, the se-
quential list has to be expanded,
which is accomplished using the
message expand, described previous-
ly. Insertion into the list is done by
copying from their current location to
the next, all objects after, and in-
cluding, the one at the desired loca-
tion. A new object can then be stored
at that location. Removing an object
from a list is done analogously. An
object is replaced by storing another
object in the corresponding position
in the indexed table.
The advantage of the sequential list
is that it is easy to access and replace
(not remove) an arbitrary item. The
disadvantages are that it is necessary
both to estimate the maximum size of
the list when it is created (although,
as we have seen, the list can expand
when necessary) and to move items
around when inserting or removing
them from the list.
Let us now consider an example
that shows how to create and send
messages to an instance of class
SequentialList. Suppose we want to
represent a deck of cards and two
hands, dealt from the deck. To create
242 August 1981 © BYTE Publications Inc
Circle 340 on Inquiry card.
■k it * it it iriririririririririririri*i!*itiriritiriritiriririr ititititititirititiririririritiririrititir
4MHZ, DOUBLE DENSITY,COLOR&B/W
GRAPHICS . .THE LNW80 COMPUTER
COMPARE THE FEATURES AND PERFORMANCE
FEATURES LHW80 PMC-i
TRS-80*
MODEL III
When you've compared the features of an LNW80 Computer, you'll quickly
understand why the LNW80 is the ultimate TRS80 software compatible system,
LNW RESEARCH offers the most complete microcomputer system at an outstand-
ing low price.
We back up our product with an unconventional 6 month warranty and a 10
days full refund policy, less shipping charges.
LNW80 Computer $1,450.00
LNW80 Computer w/B&W Monitor & one 5" Drive $1,915.00
All orders must be prepaid, CA residents please include 6% sales tax.
Contact us for shipping charges
* TRS80 Product of Tandy Corporation.
** PMC Product of Personal Microcomputer, Inc.
PROCESSOR
4.0 MHZ
1,8 MHZ
2.0 MHZ
LEVEL II BASIC INTERP.
YES
YES
LEVEL III
BASIC
TRS30 MODEL 1 LEVEL II COMPATIBLE
YES
YES
NO
48K BYTES RAH
YES
YES
YES
CASSETTE BAUD RATE
500/1000
500
500/1500
FLOPPY DISK CONTROLLER
SINGLE/
DOUBLE
SINGLE
SINGLE/
DOUBLE
SERIAL RS232 PORT
YES
YES
YES
PRINTER PORT
YES
YES
YES
REAL TIME CLOCK
YES
YES
YES
24 X 80 CHARACTERS
YES
NO
NO
VIDEO MONITOR
YES
YES
YES
UPPER AND LOWER CASE
YES
OPTIONAL
YES
REVERSE VIDEO
YES
NO
NO
KEYBOARD
63 KEY
53 KEY
53 KEY
NUMERIC KEY PAD
YES
NO
YES
B/kl GRAPHICS, 128 X 48
YES
YES
YES
HI-RESOLUTION B/H GRAPHICS, 480 X 192
YES
NO
NO
HI-RESOLUTION COLOR GRAPHICS (NTSC),
128 X 192 IN 8 COLORS
YES
NO
NO
HI-RESOLUTION COLOR GRAPHICS (RGB),
384 X 192 IN 8 COLORS
OPTIONAL
NO
NO
WARRANTY
6 MONTHS
90 DAYS
90 DAYS
TOTAL SYSTEM PRICE
$1,915.00
$1,840.00
$2,187.00
LESS MONITOR AND DISK DRIVE
$1,450.00
$1,375.00
—
LNW80
BARE PRINTED CIRCUIT BOARD a MANUAL
$89.95
LNDoubler&DOS PLUS 3. 3D
Assembled and Tested w/DOS plus 3. 3D.
■5175.00
The LNW80 - A high-speed color computer totally compatible with
the TRS-80*. The LNW80 gives you the edge in satisfying your
computation needs in business, scientific and personal computa-
tion. With performance of 4 MHz, 280A CPU, you'll achieve per-
formance of over twice the processing speed of a TRS-80*. This
means you'll get the performance that is comparable to the most
expensive microcomputer with the compatibility to the world's
most popular computer (TRS-80*) resulting in the widest soft-
ware base.
FEATURES:
TRS-80 Model 1 Level II Software Compatible
High Resolution Graphics
. RGB Output - 384 x 192 in 8 Colors
. NTSC Video or RF MOD - 128 x 192 in 8 Colors
. Black and White - 480 x 192
4 MHz CPU
500/1000 Baud Cassette
Upper and Lower Case
16K Bytes RAM, 12K Bytes ROM
Solder Masked and Silkscreetied
LNV
/ SYSTEM EXPANSION
BARE P
RINTED CIRCUIT BOARD
WITH G
OLD CONNECTORS $84.95
The System Expansion will allow you to expand your LNW80, TRS-SO*
or PMC-80** to a complete computer system that is still totally
software compatible with the TRS-SO* Model 1 Level II.
Double-density disk storage for the LNW Research's "System Expan-
sion" or the Tandy's "Expansion Interface". The LNDoubler™ -js
totally software compatible with any double density software
generated for the Percom's Doubler***. The LNDoublerTtf provides
the following outstanding features.
. Store up to 350K bytes on a single 5" disk
. Single and double density data separation
. Precision write precompensation circuit
. Software switch between single and double density
. Easy plug in installation requiring no etch cuts, jumpers
or soldering
. 35, 40, 77, 80 track 5" disk operation
. 120 day parts and labor Warranty
*** Doubler is a product of Percom Data Company, Inc.
DOS PLUS 3. 3D
Micro Systems software's double density disk operating system.
This operating system contains ail the outstanding features of
a well developed DOS, with ease in useability.
KEYBOARD
LNW80 KEYBOARD KIT $84.95
The Keyboard Kit contains a 63 key plus a
remaining components.
CASE
key, P.C. board, and
32K Bytes Memory
5" Floppy Controller
Serial RS232 20ma I/O
Parallel Printer
Real Time Clock
Screen Printer Bus
On Board Power Supply
Solder Masked and Silkscreened
LNW RESEARCH
C OR PORA T ION
2620 WALNUT ST.
TUSTIN CA. 92680
LNW80 CASE $84.95
The streamline design of this metal case will house the LNW80,
LWN System Expansion, LNW80 Keyboard, power supply and fan,
LNOoublerTM, or LNW Data Separator. This kit includes all the
hardware to mount all of the above. Add $12.00 for shipping
PARTS AVAILABLE FROM LNW RESERARCH
. 4116 - 2D0ns RAM
6 chip set $26.00
8 chip set $33.50
16 chip set $64.00
24 chip set $94.00
32 chip set $124.00
LHW80 "Start up parts set" LNW80-1 $82.00
LNW80 "Video parts set" LNW80-2 $31.00
LNW80 Transformer LNW80-3 $18.00
LNW80 Keyboard cable LNW80-4 $16.00
40 Pin computer to expansion cable $15.00
System Expansion Transformer S19.00
Floppy Controller (FD1771) and UART (TR1602) . . . $30.00
ORDERS&INFO. NO. 714-544-5744
SERVICE NO. 714-641 -8850
Circle 198 on inquiry card.
VISA MASTER CHARGE
ACCEPTED
UNLESS NOTED
ADD $3 FOR SHIPPING
Circle 12 on inquiry card.
THINKING ABOUT
DfiTR INT€RFRC€
OR
COMMUNICATIONS
CflBL€ nSS(EMBU€S?
THINK
ALLISON!
Allison Data Communications is
the most technologically ad-
vanced manufacturer of Data
Interface cable or Communica-
tions Cable Assemblies in the
industry, so we can deliver the
quality you want, at the prices you
need.
Low Cost, High Quality and Fast
Delivery is our commitment to you.
Think Cost, Think Quality, Think
Allison, The new leader in the field.
Allison Data Communications
Cabl
9S include:
*
EIA RS 232C
*
EIA RS 499
*
TEFLON AIR PLENUM
*
COAXIAL
*
RIBBON
*
TELCO
*
CUSTOM
We can also develop and pro-
duce any type of cable needed
in special applications. Our
Technical Representatives will
be happy to provide you with
any assistance you might need.
If you are thinking about Cable
. . . Think Allison!
ALLISON DfiTR COMMUNICATIONS
1290 MOTOR PARK WAV,
H0PPfiUG€, N€W VORK 11788
(516) 234-2010 • (212) 895-6449
TWX: 510-227-8892
two initially empty hands we write:
| handl hand2 deck |
handl — SequentialList size: 5.
hand2 — SequentialList size: 5.
To create an unshuffled deck of fifty-
two cards we write:
deck — SequentialList size: 52.
1 to: 13 do:
(Card suit:
1 to: 1 3 do:
(Card suit:
1 to: 1 3 do:
(Card suit:
1 to: 1 3 do:
(Card suit:
: i | deck append:
'heart' rank: i). ].
: i | deck append:
'diamond' rank: i).
: i | deck append:
'club' rank: i). ].
: i | deck append:
'spade' rank: i). ].
Then, to deal five cards from the deck
to the first hand we write:
5 timesRepeat: [ handl append:
(deck removeAt: 1). ].
To deal from the bottom of the deck
to the second hand we write:
5 timesRepeat: [ hand2 append:
(deck removeAt: deck
count). ].
The Linked List
A second approach for managing
the storage of items in a linear list is
to use a linked list. The strategy for
class name
superclass
instance variable names
class messages and methods
SequentialList
LinearList
table
size: anlnteger |
(anlnteger > 0) ifTrue:
ifFalse:
t (self new) initialize: anlnteger ]
t self error: 'invalid size' ].
instance messages and methods
external
at: anlnteger | | self checklndex: anlnteger. t table at: anlnteger.
append: anObJect j |
(count = table size) ifTrue: [ self expand. ].
table put: anObject at: count + 1 .
count — count + 1.
Insert: anObject at: anlnteger | |
self checklndex: anlnteger.
(count = table size) ifTrue: [ self expand. ].
count downTo: anlnteger do: [: i | table put: (table at: i) at: i 4
table put: anObject at: anlnteger.
count — count +1.
replace: anObject at: anlnteger | |
self checklndex: anlnteger.
table put: anObject at: anlnteger.
removeAt: anlnteger | anObject |
anObject — self at: anlnteger.
anlnteger + 1 to: count do: [: i | table put: (table at: i) at: i -
count — count - 1 .
I anObject.
internal
Initialize: anlnteger | |
super initialize.
table — IndexedTable from: 1 to: anlnteger.
expand | anlndexedTable |
anlndexedTable — IndexedTable from: 1 to: 2 * count.
1 to: count do: [: i | anlndexedTable put: (table at: i) at: i. ].
table — anlndexedTable.
Table 4: Class template for class SequentialList.
244 August 1981 © BYTE Publications Inc
Put Time and BSR/X-10 Control
in Your APPLE II
THUNDERCLOCK PLUS™
The THUNDERCLOCK PLUS is two peripheral systems on one card for your
APPLE II, II PLUS, or III. An accurate, reliable, real-time clock/calendar and an
interface for the popular BSR X-10 Home Control System.
The THUNDERCLOCK clock/calendar makes accurate time and date
available to your programs: month, date, day-of-week, hour, minute, and
second, in any of four software selectable formats. On-board batteries keep
your THUNDERCLOCK running when your APPLE II is turned off -
for up to four years before battery replacement. On-card IK firmware
makes reading or setting the time easy from APPLESOFT or
INTEGER BASIC, PASCAL, or assembly language programs.
And it provides software selectable interrupts at any of three
rates: 64, 256, or 2048 interrupts/second. All features are
software selectable - no switches or jumpers!
THE PLUS
Add THUNDERWARE'S X-10 ULTRASONIC INTERFACE
OPTION to your THUNDERCLOCK and your programs can send all 22 BSR X- 10 commands so you can remotely
control lights and appliances. Plus a powerful disk software package! The THUNDERWARE SCHEDULER
software lets you create schedules to control lights, appliances, security systems, or almost any other electrical
device. The software includes: SCUTIL - the SCHEDULER utility that lets you make or change a schedule, and
SCHED - executes your schedules in real-time using the THUNDERCLOCK. SCHED runs in the 'background' so
you can run other programs in the 'foreground'. Our PASCAL software lets you use all theTHUNDERCLOCK'S
features and sets the filer date whenever you boot. The THUNDERCLOCK PLUS is a SYSTEM for your APPLE II.
Supported by intelligent, easy to use firmware, a powerful software package, and good documentation!
Let the THUNDERCLOCK PLUS time/date
stamp your DOS files whenever you create or
modify them with our DOS-DATER software.
The THUNDERCLOCK PLUS will work in any
APPLE, including the APPLE III.
See your APPLE dealer.
Suggested retail prices:
THUNDERCLOCK PLUS $139
Clock/calendar card with batteries and user's
manual
X-10 INTERFACE OPTION $49
BSR X-10 Ultrasonic interface, disk with
SCHEDULER SOFTWARE &. demos, and user's
manual
PASCAL SOFTWARE $29
Disk with PASCAL interface for clock and X-10
interface, and user's guide
MANUALS ONLY, each $5
California residents add 6 f! i> sales tax
If your dealer doesn't carry the
THUNDERCLOCK PLUS:
ORDER TOLL FREE (VISA/MC) CALL:
800-227-6204 Ext 307 (Outside California)
800-632-2131 Ext 307 (California Only)
OR WRITE TO:
THUNDERWARE INCORPORATED
P.O. Box 13322, Oakland, CA 94661
ffBMWri soawore
BSR X-10 is a trademark of BSR (USA) LTD.
APPLE II is a trademark of APPLE COMPUTER. INC
SUPERBRAIN
QD - ONLY
$
2950
SUPERBRAIN 5mb
Buy Factory Direct and Save! Direct from
Intertec to you at the best prices in the country!
FREE! Word processing or single accounting program with
purchase of 64k Superbraln at $2650.
$ 2995
Upgrade kit
Includes ST-506 5V«" 5mb Hard disk, controller, brackets, cables, CP/M ond DOS diskette
Double density
SUPERBRAIN 64k
HARD DISK 10mb2r« 95
$ 2650
$ 3395
NORTHSTAR COMPUTERS
HORIZON II
32k Density. Reg. $3695 I* I VV
HORIZON II
32k Density. Reg. $3995 £«f U V
TERMINALS
Intertube III ZTms . $ 720
Emulator
Intertec
Reg. $395
$
720
PRINTERS - DOT MATRIX
Lowest Prices!
MPI 88G ust S749 s 550
MPI99G s 750
COMET C.ltoh with RS232 . . .Regs 995 s 450
COMET II Parallel Reg S1350 s 825
EPSON MX80 Par,
.RegS 645
'465
s 525
EPSON MX80 RS232. . .RegS 720
PRINTERS-WORD PROCESSING
STARWRITER Parallel . . . Reg S2195 M495
STARWRITER RS232 . . . Reg .s2395 M650
STARWRITER II 45c P s. ,Reg.s2795 M795
XYMEC Parallel Reg S2650 s 1 995
XYMEC RS232 RegS2875 '2165
NEC 5510 '2535
WORD PROCESSING
Word Sfor s 320
Mail Merge s 110
VTS 80 s 449
Benchmark s 400
Spellguard s 225
Word Pro M70
NAD Mail LiSt Structured Systems MOO
MVF Mailer MOO
HORIZON II
64k Density. Reg. $4195 I fa V
HORIZON II
64k Density. Reg. $4495 VW&V
DISC DRIVES
5 mbyte 5'A" Hard Disk ST-506
from Seagate Technology
LIST $1500 ONLY. ,. s 1 300
FLOPPY DISC 5V4
Tanden TM 100-1 Single Sided. Double Density 225
TM 100-2 Double Sided, Double Density 395
SOFTWARE NORTHSTAR
25% OFF!
ACCOUNTING PLUS
by Systems Plus
Accounts Receivable, Payroll, Accounts
Payable, Inventory, General Ledger, Sales
Order Entry, Purchase Order Entry.
Each $ 395
PEACHTREE
A/R, A/P, G/L, P/R, INV....ea. $ 395
CPA, Property Mgmt ea. $ 795
MVF PROGRAMS
Restaurant Inventory $ 250
Client Billing s 450
DBMS PROGRAMS
Condor I s 550
Data Star s 225
FMS-80 $ 395
C Basic Compiler.
Microsoft Basic . .
$110
$325
"C/PM is trademark of Digital Research U.S. International Dealer Inquiries Invited
To Order Call (206) 453-8159 m "^
Mastercharge, VISA add 3%. No C.O.D s All prices FOB origin. Lj_ "
PACIFIC COMPUTER BROKERS
11056 Palatine North, Seattle, WA 98133
using a linked list is the following: in-
stead of allocating sequentially the
storage needed to hold data items, we
allocate separate storage objects,
called links, each of which keeps
track of a data item and either one or
two other links. A set of links are
connected together to form a linked
list. A single link (see figure 4a) is one
that keeps track of a data item and
one other link, which is its successor.
A double link (see figure 4b) has a
data item and two other links: its suc-
cessor and its predecessor.
Class SingleLink is defined as shown
in table 5. It has instance variables
named entry and successor; entry
points to an object that represents a
data item, successor points either to
another instance of class SingleLink,
or, if there is no successor, to the ob-
ject nil. We specify the entry and suc-
cessor of a single link at the time we
create it. For example:
| linkl Iink2 |
linkl ~- SingleLink entry: (Card
suit: 'club' rank: 4) successor:
nil.
Iink2 — SingleLink entry: (Card
suit: 'diamond' rank: 6)
successor: linkl .
creates two links. The entry of the
first link is an instance of class Card
that represents the four of clubs. Its
successor is nil. The entry of the sec-
ond link is an instance of class Card
that represents the six of diamonds;
its successor is the first link.
The class definition for double
links is given in table 6. Class
DoubleLink inherits from class
SingleLink the instance variables and
messages that are used to implement
the entry and successor of a double
link. In addition, there is an instance
variable named predecessor that
points either to an instance of class
DoubleLink or to nil. The messages
predecessor: and predecessor set and
return, respectively, the value of
predecessor.
As stated previously, a linked list is
a sequence of links connected in a
linear arrangement. We can make dif-
ferent kinds of linked lists depending
on the links we use and the precise
246 August 1981 © BYTE Publications Inc
Circle 290 on inquiry card.
i t -^ m
From Digital Research
Leriest
Gets Better
CP/M®, the industry standard,
continues to expand, because your
needs continue to expand.
CP/M-80™
For cost-effective computing on 8-bit
Z-80, 8080 and 8085-based micro-
computers, CP/M-80 gives you the
widest variety of mature, specialized
software products anywhere.
CP/M-86™
For jobs that require more address
space and increased computing re-
sources, CP/M-86 provides the soft-
ware power you need. CP/M-86 is
enhanced to operate with Intel's new
16-bit 8086 and 8088 microproces-
sors, with all the qualities that have
given CP/M industry-wide support.
And there's more to come: MP/M™,
our multi-programming monitor,
and CP/NET™, our network oper-
ating system, and PL/I, now available
for 8-bit machines, will soon be
available for the 8086/8088 family.
CP/M. It's available on over 250
types of computers. For a closer
look, ask your dealer, your manu-
facturer, or Digital Research.
U.S.A.
DIGITAL RESEARCH
P.O. Box 579
801 Lighthouse Avenue
Pacific Grove, CA 93950
408-649-3896
TWX 910 360 5001
EUROPE
VECTOR INTERNATIONAL
Research Park
B-3030 Leuven
Belgium
32 ( 16) 20-24-96
Telex 26202 VECTOR
FAR EAST
MICROSOFTWARE ASSOC.
102 Plasada
3-16-14 Minami Aoyama
Minato-ku
Tokyo 107, Japan
03-403-2120
Telex 2426875 MSA
10 DJGJTflL RESEARCH 8
Circle 116 on inquiry card.
BYTE August 1981 247
Circle 265 on inquiry card.
Send for our
FREE Catalog
DATA READER &
PRINTOUT RULER
FROM LINE-SITE
ONLY
$2.00
(It's even FREE if you
order from our catalog!)
This special price is just to
introduce you to our catalog
of computer accessories and
word processing supplies.
We offer you 25-50% off on
products like 3M-Scotch*
brand diskettes, computer
paper, ribbons, printwheels,
binders, and alot more.
If you order the Data
Reader we'll send you
a gift certificate worth
$2.50 when you order
from the catalog.
15" flexible plastic,
clear & tinted
Highlighted
reading window
Vertical spacing
scale for 8 lines
per inch
6 lines per
inch vertical
spacing scale
Horizontal
spacing scale,
150 print
positions
$
TRICOR A
3601 S. 9th St.
Kalamazoo, Ml 49009
TOLL FREE: (800) 253-4358
In Michigan: (616) 375-7519
□ Here's my S2 (plus 50( postage and handling)
lor a Data Reader/Ruler and send me your catalog
with 25%-50% savings on name brand disks, paper,
labels and other computer accessories.
□ I don't need the Data Reader/Ruler but please
put me on your catalog mailing list.
Name
Company
Address
City
(4a)
anObject
1
entry
successor
on Object
anObject
(4b)
anObjecl
anObject
anObject
i
i
i
entry
■
■
i
successor
predecessor
Figure 4: Two kinds of links. Figure 4a shows a list of storage objects joined by single
links, while figure 4b shows a similar list joined by double links.
State/Zip
•-3WI Co.
class name
SingleLink
superclass
Object
instance variable names
entry successor
class messages and methods
entry: anObject successor: aSingleLInk |
1 ((self new) entry: anObject) successor: aSingleLink.
instance messages and methods
external
entry | t entry.
entry: anObject | entry — anObject.
successor } t successor.
successor: aSingleLInk | successor — aSingleLink.
internal
"none defined here"
Table 5: Class template for class SingleLink.
way that they are connected
together. Table 7 defines class
LinkedList, which acts as the
superclass of the various linked lists
we will consider. It collects several
messages that are suitable for all of
the LinkedList subclasses.
The message linkAt: is used inter-
nally by LinkedList methods. Taking
an integer as a parameter, it traverses
a sequence of connected links looking
for the link in the position indicated
by that integer. It returns this link as
a result. This message is not intended
for use outside of the class since we
don't want the rest of the system to
have access to the internal structure
of the list. The messages at: and
replace.at: can be defined using
linkAt: since, once the appropriate
link is found, it is easy to return or
replace its corresponding entry.
The Singly Linked List
The first type of linked list we will
examine is the singly linked list. A
singly linked list is a sequence of
single links connected together so that
the successor of the first Jink is the se-
cond link, the successor of the second
SOFTWARE PROFESSIONALS
Whatever your
specialization in
software, there's an
expanding path
at Kearfolt.
vM,;
-"i.
«*•:'. ffi :
From high technology to commercial applica-
tions, opportunities at Kearfott span the soft-
ware spectrum. Regardless of the area that
intrigues you, you'll be working in one of the
most sophisticated DP complexes, using the
most advanced IBM Software.
The focus at our Data Center is on break-
through systems expanding a global network.
To this end, we've assembled an elite group of
software professionals. Our growth dictates
the demand for more. We have a battery of
computers that include the 3033, AMDAHL
V/6, 43XX series, and more, with comple-
menting front end processors. In support of
this hardware, we run a multitude of software
including MVS/SE-2 (going MVS/SP),
VM/SP, VS1, IMS DB/DC, CICS, TSO/SPF,
WYLBUR, ACF/NCP, ACF/VTAM, and more.
In Engineering applications, realtime software
designs operate airborne computers in Kear-
fott avionics systems-from aircraft navigation
to missile guidance. You could also be
designing for programs comparable in com-
plexity to Kearfott's inertial measurement
units on the Space Shuttle and guidance con-
trol on Trident submarines. Assignments may
include simulation on our 3033.
In business applications, we run the MIS
gamut-accounting, finance, inventory, man-
ufacturing, payroll and a whole lot more.
In the Data Center, we support all the hard-
ware, operating systems and language com-
pilers that Kearfott applications professionals
need. Prior experience installing System Soft-
ware qualifies you for our consideration.
Whatever your area of software expertise, you
should have an appropriate degree and at
least a 3-year record indicating potential to
achieve higher professional levels. Send your
resume to: Carol Batte, Singer Company,
Kearfott Division, 1150 McBride Avenue,
Little Falls, N.J. 07424.
Kearfott
a division of The S I NC E R Company
An equal opportunity employer, m/f
who creates opportunities.
Circle 347 on inquiry card.
BYTE August 1981 249
Circle 293 on inquiry card.
NO FRILLS!
NO GIMMICKS!
JUST GREAT
DISCOUNTS
MAIL ORDER ONLY
ATARI 800
Personal Computer
System
$74900
NORTHSTAR
Horizon II 32K
234900
Horizon II Quad
279900
Horizon II 64K
299900
Horizon Quad 64K
339900
TELEVIDEO
Model 912
74900
Model 920 ..
79900
Model 950
107900
HAZELTINE
Model 1420
79500
Model 1421
69500
Model 1500
84900
Model 1510
104900
Model 1520
122900
Espirit
64900
Executive 80
Model 20
119500
Model 30
139500
0KIDATA
Microline 80
55900
S0R0C Technology
Model IQ 120
69900
Model IQ 140
104900
CR0MEMC0
System 3
569500
Model Z2H
799500
QANTEX
Model 8000 150 CPS
parallel interface . . .
114900
Model 8000 150 CPS
serial interface . . .
119500
DECwriter IV
Model LA-34
93900 |
We'll meet or beat any advertised prices!
Most items in stock for immediate delivery.
Factory sealed cartons. Full manufacturer's guarantee.
All products subject to availability.
All prices subject to change.
DATA DISCOUNT CENTER
135-53 Northern Blvd., Flushing, NY. 11354
Visa • Master Charge • N.Y.S. residents add SalesTax
Shipping FOB. NY.
Phone Orders Call (212)895-5577
link is the third link, and so on (see
figure 5). The successor of the last
link is nil.
The definition for class
SinglyLinkedUst is given in table 8.
Class SinglyLinkedUst has an instance
variable named firstLink that points
either to the first object in the list or
to nil if the list is empty. The internal
message initialize, which is sent when
an instance of SinglyLinkedUst is
created, sets firstLink to nil. The inter-
nal message firstLink, which is never
sent to an empty list, returns the
SingleLink instance pointed to by
firstLink.
In the implementation of the
message append:, we first create a
new link whose entry is the object
passed as a parameter. We then check
class name
DoubleLink
superclass
SingleLink
instance variable names
predecessor
class messages and methods
entry: anObject successor: aDoubleLlnkl predecessor:
aDoubleLink2 | |
t (self entry: anObject successor: aDoubleLinkl) predecessor:
aDoubleLink2.
instance messages and methods
external
predecessor | t predecessor.
predecessor: aDoubleLInk | | predecessor — aDoubleLink.
internal
"none defined here"
Table 6: Class template for class DoubleLink.
class name
LinkedList
superclass
LinearList
instance variable names
"none defined here"
class messages and methods
new | I (super new)
nitialize.
instance messages and methods
external
at: anlnteger
self checklndex: anlnt
t (self linkAt: anlnteg
replace: anObject at: .
self checklndex: anlnt
(self linkAt: anlnteger
internal
"firstLink | | ... to be defined
linkAt: anlnteger aL
aLink — self firstLink.
(anlnteger - I) time;
1 aLink.
Table 7: Clas.
eger.
er) entry.
inlnteger |
eger.
entry: anObject.
n subclasses"
ink |
Repeat: [ aLink — aLink successor. ].
; template for class LinkedList.
250 August 1981 © BYTE Publications Inc
Account on it.
Inventory
Now
Available
$295
With the
Osborne programs
as a base, we have
developed a debugged,
easily installed business
package that compares favor
ably with systems costing much
more.
General Ledger produces trial,
monthly, and quarterly balance sheets
and income statements. Journal
entries can be entered manually, or
automatically from the A/R and A/P
systems.
Accounts Receivable is an open-
Item system that handles invoice,
payment, credit memo, debit memo,
and progress billing transactions.
Customer statements are produced
when desired.
Accounts Payable writes checks
to specified vendors from invoice,
credit memo, and debit memo
transactions. You can distribute each
transaction over a series of G/L
accounts and job numbers.
Circle 420 on Inquiry card.
Both the A/R and A/P systems
produce aged invoice analysis listings
based on user-specified time periods.
The Payroll system allows hourly,
salaried, vacation, holiday, piecework,
overtime and miscellaneous pay. Any
number of deductions can be entered
for each employee. 941 -A and W-2
forms are produced when needed. A
Job Cost subsystem keeps track of
project dates and status, and records
hours, cost and overhead information
by employee for each job.
The checks and statements fit
standard forms readily available from
mail-order forms suppliers. You have
your choice of a number of different
formats.
We are committed
to the support of our
users. A tech support
phone line gives you access
to us if you need it. Full source
code is included with every sys-
tem. Our money- back guarantee
speaks for itself.
Minimum requirements are 48 K
RAM, CP/M™ or CDOS.CBASIC2™, a
CRT, and a 132-column printer. We
can provide standard 8", NorthStar 5"
double-density, or Heath/Zenith 5"
diskettes — call for availability of other
formats. The price is $295 per
system, or $995 for the complete set
of four.
For more information, write
VANDATA, Suite 205, 1 7544 Midvale
Ave. N., Seattle, Wa. 98133, or call
(206)542-7611.
Vandata Business Software. You
can account on it. Hundreds of other
businesses already do.
CBASIC is a trademark of Compiler Systems Inc.-
CP/M is a registered trademark of Digital Research.
BYTE August 1981 251
Circle 82 on inquiry card.
Intertec Superbrain SPECIALS
64K Ram, List $3495 $2595
64K Quad, List $3995 $2995
NorthStar
Horizon I 32KDD List $2695 .. . CALL
Horizon I QD List $2995 CALL
Horizon 2 32DD List $3095 CALL
lntersystemDPS-1 List $1749 . . . CALL
Z-2H
T|£w52EI
Cromemco Z-2H, List $9995 . . $7945
System 2, 64K List $4695 $3749
System 3, 64K, List $7995 $6395
Disk Systems
Thinker Toys Discus 2D $939
Dual Discus 2D „ . . $1559
Discus 2 + 2, List $1549 $1259
M26 Hard Disk, List $4995 $3949
Discus M-10, List $3695 $2995
Printers & Terminals
Paper Tiger IDS-445 $649
with graphic opton $719
Centronics 730-1, List $795 $549
739-1, List $995 $769
704-9 RS232 $1495
704-11 $1569
Tl 810, List $1895 $1489
NEC SPINWRITER 5530 $2395
NEC SPINWRITER 5515, 5510. . $2395
Diablo 630 List $271 I $2399
Intertube III Lisi $895 $729
Zenith Z-19 $719
Televideo912C $679
920C $799
950 $999
Hazeltine 1420 $789
1500 $845
Soroc 120 List $995 $689
10.135 $719
140 $994
Computers
Wholesale
P.O. Box 144 Camillus, NY 13031
2 (315) 472-2582 Hi
Most items in stock for immediate delivery. Factory sealed cartons,
w/full factory warranty. NYS residents add appropriate sales tax
Prices do not include shipping, VISA and Master Charge add 3%.
C.0.0 orders require 25% deposit. Prices subject to change without
notice.
to see if the list is empty, and if so we
set firsttink to point to the new link. If
the list is not empty, we get the last
link in the list and make its successor
the new link. In either case, we incre-
ment the value of count to keep track
of the new number of objects in the
list.
In general, to insert a data item into
a singly linked list, we create a new
link for the item and then find the link
that the new link is to follow. We
then make this link point to the new
link, and have the new link point to
the former successor of this link (see
figure 6a). The only exception to this
process occurs if we are adding the
data item to the beginning of the list.
In this case there is no predecessor, so
we simply point the new link to the
anObiect
anObject
onObject
anObject
r,
fir st Link
■
■
■
■
».
r»
Figure 5: A singly linked list.
class name
superclass
instance variable names
class messages and methods
SinglyUnkedList
LinkedUst
firstLink
"none defined here"
instance messages and methods
nil.
external
append: anObject | aSingleLink |
aSingleLink — SingleLink entry: anObject successor:
self empty
ifTrue: [ firstLink — aSingleLink. ]
ifFalse: [ (self linkAt: count) successor: aSingleLink. ].
count — count + 1 .
Insert: anObject at: anlnteger | aSingleLink |
self checklndex: anlnteger.
(anlnteger =1)
ifTrue: [ firstLink — SingleLink entry: anObject successor: firstLink.
ifFalse: [ aSingleLink — self linkAt: anlnteger - 1 .
aSingleLink successor: (SingleLink entry: anObject successor:
aSingleLink successor). ].
count — count + 1 .
removeAt: anlnteger | aSingleLink anObject |
self checklndex: anlnteger.
(anlnteger = 1)
ifTrue: [ anObject — firstLink entry. firstLink — firstLink successor.
ifFalse: [ aSingleLink — self linkAt: anlnteger - 1 .
anObject — aSingleLink successor entry.
aSingleLink successor: aSingleLink successor successor. ].
count — count - 1 .
t anObject.
internal
Initialize
firstLink
super initialize. firstLink — nil.
— firstLink.
Table 8: Class template for class SinglyLinkedList.
cap*
6^
W
i9 o
os--
b V /o
\\l® call
3\<- a .»ae<"
* 49 '„*>
•ft *ft
%
*"" veil' »,»«"»'S
^O 1
\2' „\o<
3»°''
j6°
,&99
ao°'
M\sV «*'. p\os- , ,c bV Reeled
.96
; a a9 v,
-AAO ,5°/»
- ^0 Vfr I
53 «** \
*«, <*»
Circle 70 on inquiry card.
The NO Compromise on P 3 *
S-100 Plug-Ins
*(Performance, Power, Price)
STATIC RAM BOARD
The 32K x 8 l>it/16K x 16 bit STATIC
RAM BOARD uses low power and its
fast device access time of 200 nsec
(max.) allows for operation @ 4 MHz
without any wait cycles.
Features: IEEE-696 compatibility with
extended addressing □ Memory ad-
dress may start and stop on any 4K/
2K boundary □ Special Memory Man-
agement and Control Functions (sel-
ectable via output port control word(s):
Bank select/deselect 8K/4K
Bank write protect 8K/4K
Bank readdress 8K/4K
DSoftware page select/override □ Software wait cycle select (if slower devices util-
ized by user) □ External power source back-up capability for Memory Array D Low
input power requirements (full memory array - 150 MA max. @ 8 VDC IN — support
logic- 500 ma typ @ 8 VDC IN) □ Socketed RAMs and support logic IC's for easy
maintenance □ Comprehensive Manual
Assembled and Tested P/N 52748-500-100 $485
Kit P/N 52748-500 $395 Bare Board P/N 52748-5XX $95
\MULTl-FUNCTION I/O BOARD
The multiple on-board functions allow
for complete software and hardware
I/O task(s) control.
Features: Two independent SYNC/
ASYNC serial ports (Software program-
mable with status read interface: RS-
232-C or current loop — 20 or 60ma
— or TTL with handshaking. Dedicated
output connectors for each port) □
One strobed 8-bit parallel port with
handshaking (Software status read) D
Three 8-bit parallel ports undedicated
& user configured (Software program-
mable for input, output, plus input/output/bidirectional with handshaking or com-
binations thereof. Software status read for handshake logic) □ Three independent
16-bit timers (Software programmable for 5 operating modes. Indiv. clock source
input 8. gate control — int. or ext. Uninterrupted read. Two buffered outputs) □
Eight level priority interrupt controller (Software programmable highest interrupt
level. 8080/Z80 auto restart command) □ Two software programmable baud rate
generators with crystal controlled frequencies — .01 % tolerance □ Large proto-
typing area with access to regulated +5, +12, - I 2VDC.
Assembled and Tested
Kit P/N 52748-100 $225
P/N52748-I00-I0I $375
Bare Board P/N52748-IXX $85
PROTOTYPING BOARD
Provides flexibility and saves hours
of power busing layout time.
Features: Bus-bar power distribution
D Allows wire-wrap or soldering of
sockets and discrete components □
Accepts all std. sockets on .30" 8- .60"
centers D 3 regulators ( + 5V ± I 2V)
with filter and decoupling capacitors
□ Accepts edge connectors on .10"
centers.
Or complete as shown in photo.
Kit includes: 3 regulators w/3 heat-
sinks/filter capacitors/2 bus bars and
manual P/N52748-400 $49.95
Bare Board P/N 52748-4xx $34.95
CA residents add 6% tax
U.S. Domestic Ptice, FOB Factory
I/O TECHNOLOGY
P.O. Box 21 19
Canyon Country, CA 91351
(805) 252-7666
former first link in the list. This pro-
cedure is used to implement the
message insert: At: in class
SinglyLinkedList. We also increment
the value of count, just as we do in
the message append.
The general procedure for remov-
ing a data item from a singly linked
list is analogous to that for inserting
an item. First we find the link that
precedes the one at the position of in-
terest. We then point this link to the
link that follows the one of interest.
This deletes the link of interest from
the list (see figure 6b). We then return
the entry of the deleted link. Again,
the exceptional case is removing the
first item since there is no preceding
link. The message removeAt: in class
SinglyLinkedList is implemeneted
using this procedure. Since an object
has been deleted from the list, we
decrement the value of count.
Suppose we wish to use a singly
linked list instead of a sequential list
in our previous example of a deck of
cards. We simply create instances of
class SinglyLinkedList for the deck and
hands, as shown in the following:
| handl hand2 deck |
deck — SinglyLinkedList new.
handl — SinglyLinkedList new.
hand2 — SinglyLinkedList new.
We can then use the rest of the code,
unchanged, from that example. We
are able to do this because we have
hidden the details of each implemen-
tation inside the corresponding class
definition and, in using the classes,
have limited ourselves to a clearly
defined set of external messages.
The Circular List
Another type of linked list is the
circular list (see figure 7). A circular
list is a singly linked list in which the
successor of the last link in the list is
the first link in the list. This makes a
circular chain of links. If we have
access to the last link in a circular list,
then we also have easy access to the
first link of that list since it is the
immediate successor of the last link.
By keeping track of the last link of a
circular list, we can easily insert and
remove items from both the begin-
254 August 1981 © BYTE Publications Inc
Circle 161 on inquiry card.
Circle 342 on inquiry card.
available now fiom stock
Ultra Fast - 100 nsec. chips
Fast access allows memory management
manipulation without wait states.
8/16 - 8 or 16-bits wide
Dynamically switches data path width per
IEEE Standard.
Low Power
Typical power consumption less than 2 amps
for active board. Less for power down
boards.
Extended Addressing
24-bit IEEE addressing allows 16-megabyte
range. Single shunt changes to 16-bit
addressing.
Fully Static
No clocks, no refresh required for easy DMA
use.
Special Features
Any 4K block can be disabled. Or, can disable
everything above or below any 4K boundary.
Available in 16K increments for OEM quantities.
$1,295
100 nsec. Chips - Qty. 1-9
OEM & Dealer prices also available.
TO ORDER:
May be ordered through your local computer store or
factory direct. Personal checks, CODs, VISA and MC
accepted from within USA. 10-day return privilege on
factory orders. Shipping paid by SCP on prepaid USA
and Canadian orders. All boards fully assembled,
guaranteed one year.
^COMPUTER
1114 Industry Dr. Seattle WA 98188
Information Hotline: 206/575-1830
Send more information: (
Name
Company
Address
City
. State.
.Zip.
(6a)
anObject
i
■
entry
■
J.
successor
anObject
i
1 1
(6b)
anObject
.
entry
i
i
/
successor
anObject
,
i
1
■s
anObject
Figure 6: The insertion and deletion of data items from a singly linked list. In both inser-
tion (6a) and deletion (6b) processes, the dotted lines represent the links existing before
the process, while the solid lines represent the links existing after the process.
anObject
anObject
anObject
anObject
Figure 7: A circular list.
ning and the end of the list. This will
be a useful property in some of the
data structures that we will build out
of circular lists.
The definition of class CircularList is
given in table 9. Class CircularList has
an instance variable named lastLink
that points either to the last link in the
list or to nil if the list is empty. The in-
ternal message initialize sets lastLink to
nil. The internal message firstLink
(again, as in the case of class
SinglyLinkedList, sent to nonempty
lists only) returns the successor of
lastLink. Since the list is circular, this
is the first link in the list.
The append, insert, and remove
operations on a circular list are
similar to those on a noncircular list.
Since we always have a link that
precedes any given link in a circular
list, we don't have to make exceptions
for operations on the beginning of the
list. The implementation of these
operations is demonstrated in the
methods for the messages append:,
insertAt:, and removeAt:.
The Doubly Linked List
Now we will consider the doubly
linked list (see figure 8). A doubly
linked list is a sequence of double
links connected together. The suc-
cessor of a given link is the link that
follows it in the sequence, just as in
the case of the singly linked list. The
predecessor of a given link is the link
that precedes it in the sequence. A
doubly linked list can be made into a
circular list, just as a singly linked list
can, by connecting the first and last
links. In this case, the successor of the
Text continued on page 260
AMS
ADVANCED MICRO SYSTEMS • 26188 ADAMOR ROAD • CALABASAS, CA. 91302
MORROW DESIGNS products at low low prices' Tel.: (213) 880-4670
OFFER
Expires
*HARD DISK SUBSYSTEMS ADDITIONAL HARD DISK
* FLOPPY DISK SUBSYSTEMS TWO DRIVE SUBSYSTEMS
M-26 DISCUS M26 $3697.00
M-20 DISCUS M20 S3553.00
M10 DISCUS Art 10 $2760.00
DISK CONTROLLERS (A & T)
A-26 DISCUS M26 $3337 00
A-20 DISCUS AA20 $3193.00
A-10 DISCUS AA10 $2400.00
F-l 118 DISCUS I $ 816.00
F 1218 DISCUS 2D $ 888.00
F 2218 DISCUS 2 12 $1176.00
F-l 128 DISCUS I $1389.00
F- 1228 DISCUS 2D S1450 00
F-2228 DISCUS 2 J-2 $1954.00
DJ-AA26 AA26 HARD DISK $595.00
DJM20 AA20 HARD DISK $595.00
DJM10 M10 HARD DISK $595.00
DJ-2208 DOUBLE DENSITY FkOPPY $349.00
DJ1 108 SINGLE DENSITY FLOPPY $219.00
I/O CONTROLLERS (A &T)
SB-24U SWITCHBOARD I/O $219.00
SB 241 I4K 4K RAM OPTION $60.00
AAB 3200 MULT I/O BOARD $309.00
STATIC MEMORY (A &T)
16KSUPERAM $248.00
I6K MEMORY MASTER $284.00
24K MEMORY MASTER $378.00
32KSUPEP.AM $450.00
65K STATIC RAM $870 00
IEEE. S-l 00 BUS (AST)
DECISION 1 BASIC UNIT $1342.00
NOTE:
WB -0800 8 SLOT MOTHER BRD.
WB-1200 12 SLOT MOTHER BRD
WB 2000 20 SLOT MOTHER BRD.
$109,00
$129.00
$173.00
I . The disk subsystems include Digital Research
CP/M 2.2 and Microsoft Basic V5.2
2. If you own a MITS controller and disc drive.
we have the interface to run them with our
new subsystems, and a reformatter for your
Pertec drives and software to translate your
Mits files to your new operating system.
All shipments FOB Calabasas —90 days warranty on all products
Terms, Specifications subject to change without notice.
256 August 1981 © BYTE Publications Inc
Circle 7 on inquiry card.
ALL THESE FEATURES...
IN THIS SMALL SPACE...
AT THIS LOW PRKE!
Greater computer power . . . fewer separate
components . . . larger capability . . . simpler to
operate . . .. modular maintenance . . .
These are the unique benefits of the Quasar
Data QPD-100 Floppy Disk Computer . . . plus
unsurpassed reliability... plus 12-month warranty on all PC boards.
Its highly reliable, double density drive is compact.
Accepts both single AND double-sided disks.
Upgradeable from the Z-80® microprocessor-based
system to our 16 BIT microprocessor-based system by simply
plugging in extra PC cards. Hard disk and multi-user
systems available.
As your requirements grow, your QDP-100 can grow
to fit them.
The Quasar Data QDP-100H is a larger version with
6-megabyte capacity; includes one double-sided floppy
and one 5 1 /* microwinchester hard disk.
Both the Quasar Data QDP-100 and QDP-100H are
fully compatible with all standard terminals.
Phone or write for descriptive bulletin and specifica-
tions. And ask for a demonstration. Dealer inquiries invited.
QUASAR DATA'S QDP-100
COMPUTER SYSTEM.
4,695
18" wide
16 7 /8"deep
11" high
Complete systems available
Z-80 is a trademark of Zilog Corp.
CP/M and MP/M
are trademarks of Digital Research Corp
CBASIC is a trademark of Compiler Systems Inc.
10330 Brecksville Road, Brecksville (Cleveland), Ohio 44141
Phone: 216/526-0838 / 526-0839
Telex: 241596
Circle 324 on Inquiry card.
Circle 196 on inquiry card.
_
^OW
PRICES,
QUALITY
AND FAST SERVICE
LEO CAN F
|
MEMORY
1-10
11-49
1702 A
4.75
4.50
2708
3.25
3.05
TMS2716
6.50
6.35
2716 5 V
6.50
6.35
2716-1 (350 ns)
8.50
8.25
TMS2532
17.00
16.50
2732
17.00
16.50
2732A-3 (300ns)
23.00
21.50
2732A-2 (200ns)
30.00
28.75
2758
8.00
7.35
2114 (450 ns)
2.75
2.55
2114 (300 ns)
3.00
2.90
2114 (200 ns)
3.65
3.50
TMS4060-2 (200
ns)
2.50
2.25
4116 (200 ns)
2.50
2.35
4116 (150 ns)
3.00
2.85
6810
4.25
4.00
6821
5.75
5.50
6850
5.25
5.00
8080A
2.75
2.50
8085A
8.75
8.50
8212
2.50
2.35
8216
2.50
2.35
8748
55.00
52.00
TMS9900
25.00
22.00
Z-80 CPU
6.50
6.25
Z-80A CPU
7.50,
7.25
SPECIAL
4116
8 for
(200 ns
19.00 '
LS PRODUCT
LSOO 25 LS74
.30
LS158
. .78
LS244
1.20
LS02 25 LS85
1.15
LS161
.90
LS245
1 20
LS04 25 LS86
.40
LSI 63
.90
LS259
1.75
LSOfl 25 LS93
.60
LS164
.85
LS273
1.35
LSI0 25 LS95
.70
LS165
.85
LS283
.95
LS20 25 LS109
.45
LS174
1 00
LS367
.65
LS30 25 LS123
.75
LS175
1 00
LS368
.65
LS32 .30 LSI 38
.75
LS191
1 00
LS373
1.40
LS38 35 LS139
.75
LSI 93
.85
LS374
1.40
LS42 .75 LS151
.75
LS195
.70
LS377
1 40
LS51 30 LS153
75
LS221
1.15
LS390
1.50
LS54 30 LS155
1.00
LS240
1.20
LS393
1.50
LS73 40 LS157
.75
LS241
1.20
LS670
1.85
S PRODUCT
CAN SUPp V
S188 325
TTL - CMOS
S189 325
SOCKETS
S287 3.25
7805
.85
CONNECTORS
S387 325
7812
.85
CAPACITORS
S471 750
7912
95
DIP SWITCHES
S472 900
DIODES
TRANSISTORS
CALL FOR VOLUME PRICING
LEO ELECTRON
T
(H~
8921 S. Sepulveda Sle 208
Los Angeles, CA 90045
213/641-3101
WON THRU FRI
800/421-2418
8:00
am to 5:00
pm
TERMS:
POgTAfiF-
CHECK, MONEY ORDER, VISA
MASTERCARD. CALL FOR COD.
ADD 2.00 Ground
U.S. FUNDS ONLY
ADD 5.00 Air
Calif residents, add 6% lax
UPS
ALL MAJOR MANUFACTURERS.
100% GUARANTEED.
I
Lm
class name
superclass
instance variable names
class messages and methods
Circulartist
LinkedList
lastLink
"none defined here"
instance messages and methods
external
append: anObject | aSingleLink |
self empty
ifTrue: [ lastLink — SingleLink entry: anObject successor: nil.
lastLink successor: lastLink. ]
ifFalse: [ aSingleLink — SingleLink
entry: anObject successor: lastLink successor.
lastLink successor: aSingleLink. lastLink — aSingleLink. ].
count — count + I.
Insert: anObject at: anlnteger | aSingleLink |
self checklndex: anlnteger.
aSingleLink — self linkAt: anlnteger - I .
aSingleLink successor:
(SingleLink entry: anObject successor: aSingleLink successor),
count — count + I.
removeAt: anlnteger | aSingleLink anObject |
self checklndex: anlnteger.
aSingleLink — self linkAt: anlnteger - 1 .
anObject — aSingleLink successor entry,
(count =1)
ifTrue: [ lastLink — nil. ]
ifFalse: [ aSingleLink successor: aSingleLink successor successor,
(anlnteger = count) ifTrue: [ lastLink - aSingleLink. ]. ].
count ~- count - 1 .
t anObject.
internal
Initialize
flrstLInk
super initialize. lastLink — nil.
t lastLink successor.
linkAt: anlnteger | |
(anlnteger = count) | (anlnteger = 0) ifTrue: [ t lastLink ].
t super linkAt: anlnteger.
Table 9: Class template for class CircularList.
onOb|ect
anObject
anObject
anObject
listHead
Figure 8: A doubly linked list.
258 August 1981 © BYTE Publications Inc
Circle 363 on inquiry card.
The A2-3D1
Graphics Family. . .
Now for
non-programmers!
A2-3D1 Graphics Package A2-GE1 Graphics Edit
$59.95 on disk (32K required) $34.95 on disk (48K and
$49.95 on cassette (16K A2-3D1 required)
required) A2-3D/A Saturn Navii
A2-3D2 Enhancement $24.95 on disk (48K and
$24.95 on disk (48K and A2-3D1 required)
A2-3D1 required)
$ 19.95 on cassette (32K and
A2-3D1 required)
For direct order, include $3 for UPS or $5 for first class mail delivery.
Illinois residents add 5% sales tax. Visa and Master Card accepted.
Running on the Apple II:
A2-3D/A Saturn Navigator
A2-GE1 Graphics Editor
$34.95 on disk (48K and
A2-3D1 required)
A2-3D/A Saturn Navigator
$24.95 on disk (48K and
A2-3D1 required)
professional
3D and 2D
graphics
for the
Apple II
The A2-3D1 is the graphics utility you can
depend on whether you're mapping a town,
presenting charts at a business meeting, or
animating games.
Now this versatility is available for the non- >
programmer with the A2-GE1 graphics editor
and programmer. Create images as you view
them. Scan them, animate them, combine
them, or add text or labels. With a minimum
of fuss, you can prepare all sorts of scientific,
business, or educational presentations.
Add the A2-3D2 enhancement package
for color, and as a bonus you'll also be able
to manipulate images independently of each
other— as many different objects at once as
your memory will accommodate.
When it's time for some challenging and
educational entertainment, run the A2-3D/A
Saturn Navigator. You'll enjoy an adventurous
flight to Saturn, enter its orbit, and rendezvous
with an orbital space station that awaits your
arrival.
We've reached our goal of giving you the most
sophisticated graphics utilities in the market-
place . . .
see them now at your dealer!
&o[°>LOGIC
Communications Corp.
BoxV, Savoy, IL 61 874
(217)359-8482
Telex: 206995
"Apple" is the registered trademark of Apple Computer Inc.
class name
superclass
instance variable names
class messages and methods
DoublyLinkedList
LinkedList
listHead
"none defined here"
instance messages and methods
external
append: anObject | | self insert: anObject after: listHead predecessor.
insert: anObject at: anlnteger | |
self checklndex: anlnteger.
self insert: anObject after: (self linkAt: anlnteger - 1 ).
removeAt: anlnteger | aDoubleLink |
self checklndex: anlnteger.
aDoubleLink — self linkAt: anlnteger.
aDoubleLink successor predecessor: aDoubleLink predecessor.
aDoubleLink predecessor successor: aDoubleLink successor,
t aDoubleLink entry.
internal
Initialize | |
super initialize.
listHead — DoubleLink entry: nil successor: nil predecessor: nil.
listHead successor: listHead. listHead predecessor: listHead.
flrstLInk | | t listHead successor.
linkAt: anlnteger | aDoubleLink |
(anlnteger = 0) iff rue: [ t listHead ].
(anlnteger < = (count/ 2)) ifTrue: [ t super linkAt: anlnteger].
aDoubleLink — listhead.
(count - anlnteger + I) timesRepeat:
[ aDoubleLink — aDoubleLink predecessor. ].
t aDoubleLink.
Insert: anObject after: aDoubleLink 1 | aDoubleLink2 |
aDoubleLink2 — DoubleLink entry: anObject
successor: aDoubleLink! successor predecessor: aDoubleLink 1 .
aDoubleLink! successor: aDoubleLink2.
aDoubleLink2 successor predecessor: aDoubleLink2.
Table 10: Class template for class DoublyLinkedList.
Text continued from page 256:
last link is the first link, and the
predecessor of the first link is the last
link. The class definition for a cir-
cular, doubly linked list is given in
table 10.
Class DoublyLinkedList has an in-
stance variable named listHead,
which points to a special kind of link
known as a list head. A list head is a
link whose entry is unused. The idea
is to keep the list head in the list so
that even when there are no data
items in the list, at least one link is
present. Having a link present at all
times simplifies the implementation
of some linked list operations. A list
head can be used in the implementa-
tion of a singly linked list, but it is
especially convenient in the im-
plementation of a circular doubly
linked list. In a circular doubly linked
list, the list head successor points to
the first link in the list (excluding the
list head itself), or to itself if the list is
empty (see figure 9). The list head
predecessor points to the last link in
the list (excluding the list head itself),
or to itself if the list is empty. In class
DoublyLinkedList, the internal
message initialize sets listHead to an
instance of DoubleLink whose entry is
nil and whose successor and
predecessor are both that same in-
N
"
Figure 9: An empty doubly linked list.
stance (ie: the double link is made cir-
cular). The message firstLink has been
modified to return the list head suc-
cessor.
Because a doubly linked list is com-
posed of a sequence of double links, it
is possible to traverse the list in both
directions, forward and backward,
with equal facility. The internal
message linkAt: in class
DoublyLinkedList has been modified
to access objects past the middle of
the list by starting from the rear and
traversing toward the front. This im-
proves the performance of the access
message at:.
Inserting an item in a doubly linked
list is similar to inserting an item in a
singly linked list. We first create a
new link for the item. Then we find
the link that this new link is to follow,
set the successor and predecessor
pointers of the new link, and adjust
both the successor pointer of the link
that precedes the new link and the
predecessor pointer of the link that
follows the new link (see figure 10a).
If we are using a circular list with a
list head, we don't have to consider
any exceptional cases. Removing an
item from a list is an analogous pro-
cess (see figure 10b). The details of
these procedures are demonstrated in
the methods for the messages
append:, insert:, and removeAt:.
The Stack
The next data structure that we will
look at is the stack (see figure 11). A
stack is a linear list of items that is
accessed in a very restricted way. In
fact, only one side of a stack, the top,
can be accessed. The bottom of the
stack cannot be accessed. These
names are useful because most stack
diagrams list their items vertically,
with the accessible end higher. The
item at the accessible end of the stack
Text continued on page 264
260 August 1981 © BYTE Publications Inc
PrintersPlus
...computers, peripherals,
accessories and supplies!
APPLE ACCESSORIES
LOBO Disk II Add-On 419.
SUPERTERM 80 Col. Card 329.
Z80 Soft Card 295.
H.S. Serial Card 1 79.
COMM. Card 1 79.
HAYES Micromodem 319.
PARALLEL Printer Card 1 49.
1 6K Ram Card 1 89.
GPIB IEEEE-488 Card 259.
VISTA A40 Disk II Add-On 349.
VISTA A80 Disk II Add-On 529.
VISTA Al 60 Disk II Add-On 799.
VISTA A800 Dbl. Den. 8" Con. . . 529.
SOFTWARE
V1S1CALC 119.00
DESKTOP Plan II 169.00
DB MASTER 209.00
ADDRESS Book 40.00
SGPER Text II 125.00
CCA Data Mgmt 85.00
RIBBONS
NEC * 77.00/Doz.
QUME 45.00/Doz.
DIABLO 66.00/Doz.
ANADEX 1 35.00/6 ea.
TRITEL 95.00/Doz.
TI/DEC/TTY 45.00/Doz.
EPSON 13.95/ea.
MPI/Axiom/Base 2 10.00/ea.
MAGNETIC MEDIA
Premium Quality At Bargain Prices
5'A" Diskettes, all Formats
100% Certified with hub rings, box of 10
Single sided, single density 26.50
Single sided, double density 29.50
Double sided, double density 38.50
8" DISKETTES, ALL FORMATS
100% CERTIFIED
Single sided, single density 29.50
SSSD Error Free 34.50
Single sided, double density 39.50
Double sided, double density 49.50
Diablo 630 RO $2,395.
Diablo 1 640 RO 2,795.
Diablo 1 650 RO 3,095.
C.ltoh Starwriter RO 1 ,695.
Tl 810 RO 1,695.
Tl 820 RO 1,795.
Anadex DP9500/9501 1 ,345.
EP50N5
Complete Stock of MX-80, MX-80 F/T
MX-100 Printers, Graphics Chip Sets
Cards and Cables
^ v - NOVELL IMAGE 800
^ 1 50 CPS Heavy Duty Matrix
15" wide carriage, expanded, compressed and
double density "correspondence quality"
printing at 80, 96 and 136 columns, true
descenders, underlining, superscripts,
subscripts. (Jp to 3K Buffer, optional character
set and graphics option.
List $1,395 $1,295.00
PRINT ELEMENTS
NEC Thimbles $14.95
Plastic Daisy Wheels
for Qume. Diablo, Starwriter 6.00
Metal Daisy Wheels 59.00
IBM Selectric Elements 19.00
MODEMS
(IDS 103 LP, direct $ 169.
103 JLP Auto Answer 219.
NOVATION CAT, acoustic 159.
D-CAT, direct 169.
Auto Cat 219.
Apple Cat 309.
LEXICON LX- 1 1 , acoustic 147.
HAYES Micromodem, SI 00 349.
VIDEO MONITORS
Sanyo 9" B/W $ 169.
NEC 12" Green 229.
Amdek 1 2" B/W (Leedex) 135.
Amdek 1 3" Color 399.
VIDEO TERMINALS
Ampex Dialog 80 $995.
Ampex Dialog 30 795.
Televideo 920C 845.
Televideo 950 995.
Soroc IQ 120 795.
Soroc IQ 1 40 1 , 1 95.
FLOPPY DRIVES
1 — SA 400 Case, power $399.
1 — SA 800/801 Case, power 995.
2-SA 800/801 Case, power 1,495.
2-SA 850/851 Case, power 1,995.
MPI 88 G Matrix
High resolution dot-addressable graphics for
Apple. Enhanced "correspondence quality"
printing. Tractor and Friction feed. Serial and
Parallel Input. 100 cps Bidirectional printing. 80.
96, and 132 column widths!
List $799.00 $599.00
Apple II I/O Card $ 1 10.00
PET/IEEE I/O Card 55.00
Single Sheet Feeder 25.00
QT Cover 25.00
NEC SPINWRITERS
5510/5530 RO $2,595.
5520 KSR 2,895.
<*>
^
HBBSDESCESi, j
OLYMPIAES100RO
Letter quality, Daisy wheel printer/typewriter
interfaces to Apple, Atari, NEC, TRS80 and
RS232 Serial ports. A truly cost effective letter
quality printer that functions as a typewriter.
List $1690 $1395.00
TO PLACE YOUR ORDER CALL:
TELEPHONE TELEX
(714)744-7314 697120
or write to:
PAlOMAft
Computer Products
910-105 W. San Marcos Blvd., San Marcos, CA 92069
TERMS OF SALE: Cash, check, money order, bank wire transfer,
credit card or purchase orders from qualified firms and
institutions. Please include telephone number with order and
expiration date on credit card orders. California residents add 6%
sales tax. Advertised prices are for prepaid orders F.O.B. shipping
point. Add 3% for shipping in U.S. Pricing and availability subject to
change without notice. _ . . _ rt _ ,
Circle 297 on inquiry card.
BEING OVERCHARGED!
DON'T
Pay Credit Card Surcharges
Pay a U.P.S. C.O.D. "Fee"
Even Pay for the Call!
DO CALL OMEGA TOLL FREE!
CABLES
Qcommodore
4032 COMPUTER $1061
(8032 Add $160)
4040 DISK $1061
4022 PRINTER $ 651
CBM-IEEE CABLE $ 33
IEEE-IEEE CABLE $ 41
COMPLETE SYSTEM = $2841
WE
1-800-235-3581
1-800-556-7586
CALL OMEGA AND FIND OUT WHY WE ARE AMERICA'S FASTEST
GROWING COMPUTER SALES COMPANY!
Omega sales company
■.■:;: ; :::,::
DIABLO
$2099
EPSON MX-80
$ 479
ATARI 800 32K
$ 779
Tractor option
$ 245
NEC 12" MONITOR
$ 229
PRICES ARE SUBJECT TO CHANGE WITHOUT NOTICE.
DIABLO 630 $2Q9S\
INTERTEC SUPERBRAIN 64K RAM $2799
QD SUPERBRAIN $3195
NEC 551 SPINWRITER $2495
NEC 5530 SPINWRITER $2495
OKIDATA MiCROLlNE-80 $ 399
OKIDATA MICROLINE-82 $ 529
OKIDATA MJCROLINE-83 $ 799
APPLE II PLUS 48K $1189
APPLE DISK w/3.3 DOS Controller $ 545
APPLE DISK w/o Controller $ 435
BASE II PRINTER $ 599
HAZELTINE1420 $799
NORTHSTAR HORIZON II 32K QD $2975
ANADEX DP-9500 $1295
TELEVIDEO 912C $ 669
TELEVIDEO 920C $ 729
TELEVIDEO 950 $ 959
CBM 8032 COMPUTER $1225
CBM 8050 DISK DRIVE $1449
CBM 4032 COMPUTER $1090
CBM 4040 DISK DRIVE $1090
CBM 4022 $ 679
CBM VIC-20 $ 289
CBMC2N $ 85
RADIO SHACK II 64K $3245
RADIO SHACK III 16K $ 839
LEEDEX/AMDEK 100 $ 139
LEEDEX/AMDEK 100G $ 169
LEEDEX/AMDEK COLOR-1 13" Color Monitor $ 349
MICROTEK 16K RAMBOARD for Atari $99.95
MICROTEK 32K $ 165
ATARI 400 16K $ 349
ATARI 825 PRINTER $ 619
ATARI 850 INTERFACE $ 139
or both together $ 749
ATARI 810 DISK DRIVE $ 449
ATARI 800 32K $769
Call for price list of ATARI software
NEC 12" MONITOR $ 229
No Surcharge for Credit Cards Orders <
AJI Equipment Factory Fresh With MFT. Warranty
We Accept C.O.D.'s
Stock Shipments Same Day or Next
w
1-800-835-3581
OMEGA SALES CO.
3533 Old Conejo Rd. #102
Newbury Park, CA 91320
1-805-499-3678
CA. TOLL FREE 1-800-322-1873
Circle 277 on inquiry card.
OMEGA
SALES
CO.
1-800-556-7586
OMEGA SALES CO.
12 Meeting St.
Cumberland, Rl 02864
1-401-722-1027
MEGA SALES COMPANY
Circle 57 on inquiry card.
THE FUTURE
APPLE II PLUS/HI:
1 6K RAM - 1 1 49: 32K RAM • 1 200:
48K RAM - 1 250: Disk ll-Drive w/Controller - 549:
Disk M-Drive Only - 479: Silentype Printer - 549:
RF Modulator - 29: Applepost • 49:
Dan Paymar Lower Case Adapt. - 49: Applepiot - 69:
Dow Jones Portfolio Eval. - 49:
Personal Finance Mgr. - 75: Apple Taxplanner -119:
Apple Ill/Info Analyst Package (3 96K RAM - 4199:
128K RAM -4499:
A complete line of other Apple Accessories &
software - SCALL FOR PRICE
ATARI:
400-8K RAM - 399: 800-1 6K RAM - 799:
8 1 0-Disk Drive - 499: 8 1 5-Dual Disk Drives - 1199:
820-40C Printer - 275: 822-40C Therm Printer - 399:
825-80C Printer - 699: 830-Acoustic Modem - 1 75:
850-lnterface Mod. - 149: 410-Recorder - 59:
32K RAMCARD - SCALL Atari Light Pen - 75:
Paddles - 20: Joysticks - 20:
A complete line of other Atari Accessories &
software - $CALL FOR PRICE
COMMODORE:
VIC-20. SCALL: #2001 - $CALL: #4001 - $CALL:
#4016 - $CALL: #4032 - 1200: #8032 - 1725:
#4022 Printer - 749: #4040 Dual Drives - 1 149:
#8050 Dual Drives - 1 649: #801 Modem - SCALL
C2N Recorder - 75:
A complete line of other Commodore Accessories &
software - $CALL FOR PRICE
OTHERS:
PRINTERS: Epson MX70 - 399...MX80 - 599...
MPI 88G - 699. ..MPI 99G - SCALL
Centronics #737 - $CALL...r779 - SCALL
AnadexDP9500- 1 349...DP9501 - 1349
Qume Sprint 5/45 - 2699
NEC Spinwriter #5510 - 2499
#5520 - 2849. ..#5530 - 2499
IDS Paper Tigers - SCALL
DISK DRIVES: Shugart, Micro Sci,
Lobo - SCALL FOR PRICES
MONITORS: Video 100, 100G, 100/80,
Color - SCALL. ..NEC 1 2" GRN - 259
Sanyo 9" B&W - 199.. .12" B&W - 299
12"GRN - 324
MODEMS: DC Hayes Micromodem - 324
ACCESSORIES: Microsoft Z80 softcard - 299
16K RAM CARD - 194
HARDWARE: Mountain Products - SCALL FOR PRICES
SOFTWARE: Insoft Accountant, Controller, Cashier,
Visicalc (Apple, Atari, CBMI Supertext II
W/P, Apple Wordstar W/P - SCALL FOR
PRICES
ORDER INFO:
Min. order $100.00 - Money Orders, Cashiers/certified
checks or bank drafts welcomed. VISA & Mastercard
orders add 2%. ..American Exp & Diners Club add 4%.
Personal checks accepted w/25 days for clearance. Add
3% for shipping in the U.S.A. Prices subject to change
without prior notice and Illinois residents must add 6%
for sales tax. Please include phone numbers with orders
and expiration date on credit card orders. No COD's.
Special discounts for multiple and combination orders
placed with the statement "Praise the Lord" preceding
the order placement. The above prices apply to mail
orders only. Send inquiries to:
CMS ENTERPRISES
P.O. BOX 1740
CHICAGO, IL - 60690
(31^2) 853-1184
A& '""HJ DINERS
L
264 August 1981 © BYTE Publications Inc
J
(10a)
anObject
entry
■
^
successor
predecessor
aob)
anObject
anObject
entry
predecessor
anObject
i*
Figure 10: The insertion and deletion of data items from a doubly linked list. In both in-
sertion (10a) and deletion (10b) processes, the dotted lines represent the links existing
before the process, while the solid lines represent the links existing after the process.
Text continued from page 260:
is called the top item. A new item is
added to the accessible end, thereby
making it the new top item. This is
called pushing an item onto a stack.
Only the top item can be removed, or
popped, from a stack. By adding and
removing in this fashion (pushing and
popping), we are able to access items
in a last-in-first-out manner — that is,
the last item pushed on a stack is the
first item to be popped off the stack.
Because of this, a stack is often called
a LIFO (last-in-first-out).
Many examples of collecting and
accessing in stack fashion exist out-
side the realm of programming. A
pile of trays in a cafeteria rack is often
used in this way. The same can be
true of papers piled on a desk. In pro-
gramming systems, a number of
algorithms call for the use of a stack.
For example, arithmetic expressions
expressed in prefix or postfix notation
can be evaluated using a stack to keep
track of partial results.
The operations that we want to
perform on a stack include:
• determine the number of items on
the stack
• determine whether or not the stack
is empty
• push an item onto the stack
• pop an item off the stack
• access the top item on the stack
It is easy to implement a stack using a
linear list as the basic storage
mechanism. Since we have several
kinds of linear lists, it is possible to
have several different stack im-
plementations. Table 11 gives the
definition of class Stack, which serves
as a superclass for subsequent stack
classes. Each kind of stack has a buf-
fer which is a linear list, either se-
quential or linked. The messages
count and empty are implemented
using the corresponding messages of
the linear list. The message empty-
Check, which sends an error message
if the stack is empty, will be used in
the implementations of the messages
pop and top.
The Sequential Stack
The first stack implementation we
Computer experts
(the pros) usually have big
computer experience.
That's why when they shop
system software for Z80
micros, they look for
the big system features
they're used to. And that's
why they like Multi-User
OASIS. You will too.
DATA INTEGRITY: FILE &
AUTOMATIC RECORD LOCKING
The biggest challenge
for any multi-user system
is co-ordinating requests
from several users
to change the same record
at the same time.
Without proper
co-ordination, the
confusion and problems
of inaccurate or even
destroyed data can be
staggering.
Our File and Automatic
Record Locking features
solve these problems.
For example: normally
all users can view a
particular record at the
same time. But, if that
record is being updated
by one user, automatic
record locking will deny all
other users access to the
record until the up-date is
completed. So records
are always accurate,
up-to-date and integrity
is assured.
Pros demand file &
automatic record locking.
OASIS has it.
SYSTEM SECURITY:
LOGON, PASSWORD
& USER ACCOUNTING
Controlling who gets on
your system and what they
do once they're on it is the
essence of system security.
Circle 309 on inquiry card.
(THEN COMPARE.)
Without this control,
unauthorized users could
access your programs and
data and do what they like.
A frightening prospect
isn't it?
And multi-users
can multiply the problem.
But with the Logon,
Password and Privilege
Level features of Multi-User
OASIS, a system manager
can specify for each user
which programs and files
may be accessed —
and forwhat purpose.
Security is further
enhanced by User
Accounting — a feature that
lets you keep a history
of which user has been
logged on, when and
for how long.
Pros insist on these
security features.
OASIS has them.
EFFICIENCY:
RE-ENTRANT BASIC
A multi-user system
is often not even practical
on computers limited
to 64K memory.
OASIS Re-entrant
BASIC makes it practical.
How?
Because all users use a
single run-time BASIC
module, to execute their
compiled programs, less
memory is needed. Even
if you have more than 64K,
your pay-off is cost saving
and more efficient use
of all the memory you have
available — because it
services more users.
Sound like a pro feature?
It is. And OASIS has it.
AND LOTS MORE...
Multi-UserOASIS supports
as many as 1 6 terminals
and can run in as little as
56K memory. Or, with
bank switching, as much
as 784K.
Multi-Tasking lets each
user run more than one
job at the same time.
And there's our BASIC-
a compiler, interpreter and
debugger all in one.
An OASIS exclusive.
Still more: Editor; Hard
& Floppy Disk Support;
Keyed (ISAM), Direct &
Sequential Files; Mail-Box;
Scheduler; Spooler;
all from OASIS.
Our documentation is
recognized as some of the
best, most extensive, in the
industry. And, of course,
there's plenty of
application software.
Put it all together and it's
easy to see why the real
pros like OASIS. Join them.
Send your ordertoday.
OASIS IS AVAILABLE FOR
SYSTEMS: Alios: Compucorp: Cromemco;
Delta Products: Digital Group: Digital
Microsystems: Dynabyte: Godbout: IBC.
Index: Intersystems: North Star: Onyx:
SD Systems: TRS 80 Mod II: Vector
Graphic: Vorimex
CONTROLLERS: Bell Controls; Cameo:
Corvus: Konan; Micromation: Micropohs:
Tarbell: Teletek: Thinkertoys: X Comp.
Write for comrjlete.
free Application Soflware Directory
PLEASE SENI
Product
)ME:
Price
with
Manual
Manual
Only
OPERATING SYSTEM
(Includes:
EXEC Language;
File Management;
User Accounting;
Device Drivers;
Print Spocle - ;
General Text
Editor; etc.)
SINGLE-USER
MULTI-USER
SI 50
350
S17.50
17,50
BASIC COMPILER/
INTERPRETER/DEBUGGER
100
15.00
RE-ENTRANT BASIC
COMPILER/INTERPRETER/
DEBUGGER
150
15.00
DEVELOPMENT PACKAGE
(Macro Assembler;
Linkage Editor;
Debugger)
150
25.00
TEXT EDITOR &
SCRIPT PROCESSOR
150
15.00
DIAGNOSTIC &
CONVERSION UTILITIES
(Memory Test;
Assembly Language;
Converters; File
Recovery; Disk Test:
File Copy from
other OS; etc.)
100
15.00
COMMUNICATIONS
PACKAGE
(Terminal Emulator;
File Send & Receive)
100
1500
PACKAGE PRICE
(All of Above)
SINGLE-USER
MULTI-USER
500
850
60.00
6000
FILE SORT
100
1500
COBOL-ANSI 74
750
35.00
Order OASIS from:
Phase One Systems, Inc.
7700 Edgewater Drive, Suite 830
Oakland, CA 94621
Telephone (415) 562-8085
TWX 910-366-7139
NAME
STREET (NO BOX
=)
CITY
STATE
AMOUNTS
ZIP
MAKES MICROS RUN LIKE MINIS
(Attach system description;
add S3 for shipping;
California residents add sales tax)
D Check enclosed D VISA
□ UPS C.O.D. □ Mastercharge
Card Number
Expiration Date
Signature
BYTE August 1981 265
Circle 400 on inquiry card.
Here are the
software Tools
you have been
looking for!
1. Screen Management System
Professional Looking
Screens as simple as A, B
A. Create or update Screens with Mask
Builder
'Uses Direct Cursor controls
'Define field attributes
"Save Screen Masks on Disk
•print out Masks for Program
Documentation
B. use simple calls to interface CRT
Driver to your programs
•Built-in buffer stores mask and field
attributes
•Display and accept data by field
number
•Forward and Back Page through
Screens
•Forward and Back Tab through Fields
•Dynamically protect fields
•program definable keys
Wo Weed to use
INPUT or print statements
Available for CP/M, TRS-80 (I&id, Apple II
Microsoft's S-BASIC
BASIC-80 CBASIC
COBOL and
M80 more
2. Which console message do
you prefer when your diskette
or directory sets full?
A. DISK WRITE ERROR: (Using PIP)
B. Mount Next Diskette— Hit Carriage
Return
if you like answer B, you will love backup
"Backup your hard disk to any
combination or single or double
density diskettes
•Backup from double sided, double
density to single or double density
3. Do you need to backup files
larger than a single diskette?
You can with our Dump-Restore program
•Each diskette is sequentially labeled
so your file cannot be restored out
of sequence
4. do you need a simple file
transfer program?
we think this is it.
•Transfer your programs and data
files between computers over serial
I/O port
•Bidirectional transfer with error
checking and retries
"Easy to interface
COMING ATTRACTIONS
CP/M Super utility
S-100 Single Board computer
"Priced under 1K *64K Memory
"Z-80A (4Mhz) or Z-80B (6Mhz)
"DD.DS 8" Disk controller
"2 Serial— 4 Parallel Ports
•Interrupt Driven CP/M Available
Screen Management System 195.00
BACKUP Utility 59.95
SAVE-RESTORE Utility 49.95
TRANSFER Utility 39.95
OEM and Dealer inquiries are welcome
WESTERN BUSINESS
ASSOCIATES
1300 E. Shaw Ave., Suite 164
Fresno, CA 93710
Phone (209) 224-0520
'Requires Softcard
CP/M is a trademark of Digital Research, Inc.
z-80 is a trademark of zilos Inc.
Apple is a trademark of Apple Computer Inc.
TRS-80 is a trademark of Tandy Corp.
Softcard is a trademark of Microsoft
We accept Visa and Mastercard
top of stock
stack of
) n data
tems
\ push
■
bottom of stack
Figure 11: A stack, shown in figure 11a, is a linear collection of objects arranged so that
items can be added to or removed from the stack only at the top end of the stack. Figure
lib shows an item being added, or pushed, to the stack. Figure lie shows an item being
taken, or popped, from the stack.
will consider is the sequential stack.
A sequential stack is simply a stack
implemented using a sequential list.
The definition of class SequentialStack
is given in table 12. An instance of
SequentialStack is created by sending
class SequentialStack the message
size:, whose parameter is an integer
indicating the estimated maximum
size of the stack. For example:
| stack |
stack — SequentialStack size: 20.
creates an instance of SequentialStack
with space initially for twenty items.
This size is expanded when necessary
since the sequential list used as a buf-
fer is expanded when required.
The message push: is implemented
by appending to the buffer the object
passed as a parameter. As we have
noted, this is an easy operation for se-
quential lists to perform, except when
the list overflows and requires expan-
sion. The message pop is im-
plemented by first checking to see if
the buffer is empty, in which case an
error is reported. Otherwise, the last
item from the buffer is removed.
Again, we should recall that this is an
easy operation for a sequential list to
perform. Similarly, in order to access
the top of the stack (using the
message top), we check to see that the
stack is not empty, in which case we
return (without removing) the last
item in the buffer.
The following is an example using
class SequentialStack:
| stack a b c |
stack — SequentialStack size: 10.
a — (Card suit: 'heart' rank: 5).
b — (Card suit: 'heart' rank: 6).
c — (Card suit: 'heart' rank: 7).
stack push: a.
stack push: b.
stack push: c.
a — stack pop.
b — stack pop.
c — stack pop.
This example creates an instance of
class SequentialStack that initially has
space for ten objects. The variables a,
b, and c are assigned to instances of
class Card with ranks 5, 6, and 7,
respectively. These instances are
pushed on the stack and then popped
266 August 1981 © BYTE Publications Inc
QUALITY DISK SOFTWARE
BACKED BY ON-GOING APPLICATIONS SUPPORT
PLE
HOME FINANCE PAK I: Entire Series $49.95 ® ©
CHECK REGISTER AND BUDGET: This comprehensive CHECKING ACCOUNT
MANAGEMENT SYSTEM not only keeps complete records, it also gives you
the analysis and control tools you need to actively manage your account.
The system provides routines for BUDGETING INCOME AND EXPENSE. AUTO-
MATIC CHECK SEARCH, and BANK STATEMENT RECONCILING. CRT or printer
reports are produced for ACTUAL EXPENSE vs BUDGET. CHECK SEARCH
DISPLAY RECONCILIATION REPORT and CHECK REGISTER DISPLAY by month
Check entry is prompted by user-defined menus of standard purposes and
recipient codes, speeding data entry and reducing disk storage and
retrieval time. Six fields of data are stored for each check: amount, check
no., date, purpose, recipient and TAX DEDUCTIBLE REMINDER. CHECK SEARCH
routines allow searching on any of these data fields. Up to 100 checks /mo,
storage S39.95
SAVINGS: Account management system for up to 20 separate Savings
accounts. Organizes, files and displays deposits, withdrawals and interest
earned for each account $14.95
CREDIT CARD: Get Control of your credit cards with this program. Organizes,
stores and displays purchases, payments and service charges for up to 20
separate cards or bank loans S14.95
UNIVERSAL COMPUTING MACHINE: $49.95 ®
A user programmable computing system structured around a 50 row x 50
column table. User defines row and column names and equations forming a
unique computing machine. Table elements can be multiplied, divided,
subtracted or added to any other element. Hundreds of unigue computing
machines can be defined, used, stored, and recalled, for later use. Excellent
for sales forecasts, budgets, inventory lists, income statements, production
planning, project cost estimates-in short for any planning, analysis or
reporting problem that can by solved with a table.
COLOR CALENDAR: $29.95®
Got a busy calendar? Organize it with Color Calendar. Whether it's
birthdays, appointments, business meetings or a regular office schedule,
this program is the perfect way to schedule your activities.
The calendar display is a beautiful HI-RES color graphics calendar of the
selected month with each scheduled day highlighted in color. Using the
daily schedule, you can review any day of the month and schedule an event
or activity in any one of 20 time slots from 8:00 A.M. to 5:30 P.M.
BUSINESS SOFTWARE: Entire Series $159.95® ©
MICR0ACC0UNTANT: The ideal accounting system for small businesses.
Based on classic T-accounts and double-entry booking, this efficient
program provides ajournal for recording posting and reviewing up to 1.000
transactions per month to any one of 300 accounts. The program produces
CRT and printer reports covering:
TRANSACTION JOURNAL BALANCE SHEET
ACCOUNT LEDGERS INCOME AND EXPENSE STATEMENT
Includes a short primer on Financial Accounting. (48K) S49.95
UNIVERSAL BUSINESS MACHINE: This program is designed to SIMPLIFY and
SAVE TIME for the serious businessman who must periodically Analyze.
Planand Estimate. The program was created using our Universal Computing
Machine and it is programmed to provide the following planning and
forecasting tools.
CASH FLOW ANALYSIS SALES FORECASTER
PR0F0RMA PROFIT & LOSS SOURCE AND USE OF FUNDS
PR0F0RMA BALANCE SHEET JOB COST ESTIMATOR
REAL ESTATE INVESTMENT INVENTORY ANALYSIS
Price, including a copy of the Universal Computing Machine .... S89.95
BUSINESS CHECK REGISTER AND BUDGET: Our Check Register and Budget
programs expanded to include up to 50 budgetable items and up to 400
checks per month. Includes bank statement reconciling and automatic
check search (48K) S49.95
ELECTRONICS SERIES VOL I & II: Entire Series $259.95
LOGIC SIMULATOR: SAVE TIME AND MONEY. Simulate your digital logic
circuits before you build them. CMOS. TTL, or whatever, if it's digital logic,
this program can handle it. The program is an interactive, menu driven,
full-fledged logic simulator capable of simulating the bit-time response of a
logic network to user-specified input patterns. It will handle up to 1000
gates, including NANDS. N0RS. INVERTERS. FLIP-FLOPS. SHIFT REGISTERS.
COUNTERS and user-defined MACROS, up to 40 user-defined random, or
binary input patterns. Accepts network descriptions from keyboard or from
LOGIC DESIGNER for simulation $159.95 (A)©
BHHHHi
LOGIC DESIGNER: Interactive HI-RES graphics program lor designing digital
logic systems. Draw directly on the screen up to 10 different gate types
including NAND. NOR. INVERTER. EX-0R. T-FL0P. JK-FL0P. D-FL0P, RS-FL0P. 4 BIT
COUNTER and N-BIT SHIFT REGISTER. User interconnects gates using line
graphics commands. Network descriptions for LOGIC SIMULATOR generated
simultaneously with the CRT diagram being drawn $159.95 (/J)
MANUAL AND DEMO DISK: Instruction Manual and demo disk illustrating
capabilities of both program (s) S29.95 (T)(f)
ELECTRONIC SERIES VOL III & IV: Entire Series $259.95
CIRCUIT SIMULATOR: Tired of trial & error circuit design? Simulate & debug
your designs before you build them! With CIRCUIT SIMULATOR you build a
model of your circuit using RESISTORS. CAPACITORS. INDUCTORS, TRANSISTORS.
DIODES. VOLTAGE and CURRENT SOURCES and simulate the waveform response
to inputs such as PULSES. SINUSOIDS. SAWT00THS. etc. . .all fully programmable.
The output is displayed as an OSCILLOSCOPE-STYLE PLOT of the selected
waveforms (Apple only) or as a printed table of voltage vs time. Handles up to
200 notes and up to 20 sources. Requires 48 RAM $159.95 ,(T\ (j)
CIRCUIT DESIGNER: Interactive HI-RES graphics program for designing electronic
circuits. Draw directly on the screen up to 10 different component types,
including those referenced above. Components interconnect list for CIRCUIT
SIMULATOR generated automatically. Requires $159.95
MATHEMATICS SERIES: Entire Series $49.95
STATISTICAL ANALYSIS I: This menu driven program performs LINEAR
REGRESSION analysis, determines the mean, standard deviation and plots
the frequency distribution of user-supplied data sets. Printer, Disk, I/O
routines $19.95
NUMERICAL ANALYSIS: HI-RES 2-Dimensional plot of any function. Automatic
scaling. At your option, the program will plot the function, plot the
INTEGRAL, plot the DERIVATIVE, determine the ROOTS. MAXIMA. MINIMA.
INTEGRAL VALUE $19.95
MATRIX: A general purpose, menu driven program for determining the
INVERSE and DETERMINANT of any matrix, as well as the SOLUTION to any set
of SIMULTANEOUS LINEAR EQUATIONS $19.95
3-D SURFACE PLOTTER: Explore the ELEGANCE and BEAUTY of MATHEMATICS
by creating HI-RES PLOTS of 3-dimensional surfaces from any 3-variable
equation. Disk save and recall routines for plots. Menu driven to vary
surface parameters. Hidden line or transparent plotting $19.95
ACTION ADVENTURE GAMES: Entire Series $29.95 ®
RED BARON: Can you outfly the RED BARON? This fast action game simulates
a machine-gun DOGFIGHT between your WORLD WAR I BI-PLANE and the
baron's. You can LOOP. DIVE. BANK or CLIMB-and so can the BARON. In HI-RES
graphics plus sound $14.95
BATTLE OF MIDWAY: You are in command of the U.S.S. HORNETS' DIVE-
BOMBER squadron. Your targets are the Aircraft carriers, Akagi, Soryu and
Kaga. You must fly your way through ZEROS and AA FIRE to make your
DIVE-BOMB run. In HI-RES graphics plus sound '. . S14.95
SUB ATTACK: It's April 1943. The enemy convoy is headed for the CONTROL
SEA. Your sub, the MORAY, has just sighted the CARRIERS and BATTLESHIPS'
Easy pickings. But watch out for the DESTROYERS -they're fast and deadly.
In HI-RES graphics plus sound S14.95
FREE CATALOG-AII programs are supplied on disk and run on Apple II w/Disk
& Applesoft ROM Card & TRS-80 Level II and require 32K RAM unless
otherwise noted. Detailed instructions included. Orders shipped within 5
days. Card users include card number. Add $1.50 postage and handling
with each order. California residents add 6'/?% sales tax. Foreign orders add
$5.00 postage and handling.
^^^^ SPECTRUM SOFTWARE
142 Carlow, P.O. Box 2084
Sunnyvale, CA 94087
FOR PHONE ORDERS: [408) 738-4387
DEALER INQUIRIES INVITED.
Circle 358 on Inquiry card.
BYTE August 1981 267
Circle 47 on inquiry card.
INTRODUCTORY OFFER!
Turn your Micro-Computer into a Mini-Computer.
Try the world's #1 programming language-COBOL.'
Finally at a price you can afford and with no riskl
Introducing...
N PS-MICRO-COBOL
This is the Naval Post Graduate School Cobol
that you've heard so much about. Designed to
pass the stringent government Hypo-COBOL
tests used by GSA in their Compiler Certification
Program. This is the first public release of
version 2.1. This is an elaborate ANSI-COBOL
subset. Comes complete with users manual in
DeLuxe three-ring binder.
Perfect for learning COBOL.
Perfect for teaching COBOL
FREE sample programs included
Runs in 24K
Requires 8080, Z-80®, or 8085 and
standard CP/M® system
• Provided on standard 8" disk or
Northstar Double Density CP/M 5"
Only $69.95!
FREE ALGOL INCLUDED!
free BONUS. All purchasers receive a
free copy of NPS-ALCOL at no extra
cost. A favorite language in Europe,
ALGOL Is the original structured lang-
uage. Comes with FREE sample programs.
MONEY-BACK GUARANTEE. If you're not
completely satisfied with this software. You
may return it within fifteen days for any
reason and get a full refund.
Send Check, Money Order or Credit
Card information and order a copy
today! Please add $2.50 shipping
and handling on all orders.
Credit Card buyers. For Extra Fast
Service Call (415) 527-7730
i— — — — — ———————*
■ Order from: The Software Review
| 704 Solano Avenue, Albany, CA 94706
I
I Yes. I want to run COBOL on my systeml Enclosed find
$69.95 plus $2.50 shipping/handling (California
I residents please add appropriate sales tax). I will
! receive the NPS-COBOL system plus a FREE copy of
I NPS-ALGOL. I understand^ that I may return the
I software within 15 days if not completely satisfied
■ for a full refund.
NAME
I
I
| COMPANY
I STREET^.
J CITY
| STATE.
I AMOUNT ENCLOSED
_ZIP_
$.
Disk size desired: 5" 8"
I
I □ Check Enclosed D VISA
|D UPS CO. D. □ Mastercharge
| Card number
| Expiration Date
I Signature
' □ Check here for more information
I CP/M is a trademark of Digital Research and Z-f
I trademark of Zilog.
class name
Stack
superclass
Object
instance variable names
buffer
class messages and methods
"none defined here"
instance messages and methods
external
count t buffer count
empty t buffer empty
"push: anObject | ... to be defined in subclasses"
"pop | | ... to be defined in subclasses"
"top | | ... to be defined in subclasses"
internal
emptyCheck self empty ifTrue: [ t self error: 'stack empty' ].
Table 11: Class template for class Stack.
class name
superclass
instance variable names
class messages and methods
SequentialStack
Stack
'none defined here"
size: anlnteger |
(anlnteger > 0)
ifTrue: [ t (self new) initialize: anlnteger ]
ifFalse: [ t self error: 'invalid size' ].
instance messages and methods
external
push: anObject | | buffer append: anObject.
pop | | self emptyCheck. t buffer removeAt: buffer count.
top | | self emptyCheck. t buffer at: buffer count.
internal
Initialize: anlnteger | | buffer — SequentialList size: anlnteger.
Table 12: Class template for class SequentialStack.
off. The effect is to reverse the
assignments to a, b, and c, such that
the ranks are 7, 6, and 5, respectively.
The Linked Stack
Alternatively, we can define a
linked stack, which is a stack whose
buffer is a linked list. The definition
of class LinkedStack is given in table
13. A linked stack is created by send-
ing the message new to class
LinkedStack. Since we are using a
linked list for the buffer, there is no
need to specify a maximum size
estimate. For example:
| stack |
stack — LinkedStack new.
creates a new instance of class
268 August 1981 © BYTE Publications Inc
"WITH THE UCSD p-SYSTEM;
WE CAN WRITE ONE APPLICATION
THAT GOES FROM APPLE TO ZENITH!'
HARRY BLAKESLEE, President, Denver Software
UCSD p-System and UCSD Pascal are trademarks of the Regents of the University of California.
Our business is bigger and
better than ever.
A lot of the credit for that
goes to the UCSD p- System software
from SofTech Microsystems. It's
given us ten times the market we
used to have.
We can write a single,
sophisticated applications program
with the UCSD p-System— like our
financial management package— and
it just keeps on running. On Apple,
Commodore, Ohio Scientific, Texas
Instruments, Zenith, and more.
That's the real beauty of the UCSD
p-System. Any program you write for
one microcomputer runs on others,
both today and tomorrow. You protect
your software investment, without
restricting your hardware options.
And with the UCSD
p-System, you can use the language
of your choice— UCSD Pascal,™
FORTRAN-77, BASIC, or assembly
language. All are backed by SofTech
Microsystems, a leading system
software company who's been around
for over a decade, who knows how
to develop professional quality
software, and who's committed to
delivering it.
Get a head start on tomor-
row. With the microcomputer
software that goes from "A" to "Z."
Distribution licensing and single
copies available. Write or call for
details, so you can start going
places, too.
micROsvsTems
Ft SUBSIDIflHV OF SOFTECH
For the software that's going places.
9494 Black Mountain Road, San Diego,
CA 92126. (714)578-6105
TWX: 910-335-1594
Circle 352 on Inquiry card.
BYTE August 1981 269
class name
LinkedStack
superclass
Stack
instance variable names
"none defined here"
class messages and methods
new | | t (super new) initialize
instance messages and methods
external
push: anObject buffer insert: anObject at: 1 .
pop | | self emptyCheck. t buffer removeAt: 1 .
top | | self emptyCheck. t buffer at: 1 .
internal
Initialize | | buffer — LinkedList new.
Table 13: Class template for class LinkedStack.
LinkedStack. The message push: is im-
plemented by inserting the object
passed as a parameter at the begin-
ning of the buffer (ie: at position
number 1). This is an easy operation
for a singly linked list. The message
pop is done by removing the first ob-
ject from the buffer — another easy
operation. The message top is im-
plemented by accessing the object
that is the entry of the first link of the
buffer. We can use an instance of
class LinkedStack in the example given
for class SequentialStack by doing the
following:
| stack |
stack — LinkedStack new.
The rest of the example is unchanged.
The Queue
The queue is an important data
structure that, like the stack, occurs
often both in programming systems
and outside the realm of program-
ming (see figure 12). A queue is a
linear list of items whose access is
restricted to the two ends. An item
can be appended to only one end of a
queue, called the rear. An item can be
removed only from the other end of
the queue, called the front of the
queue. This causes a sequence of
items that are added to a queue and
subsequently removed, to be accessed
in a strict first-in-first-out fashion (ie:
the first item that we put in a queue is
the first item that we get out).
Because of this, a queue is sometimes
called a FIFO (first-in-first-out).
Lines of customers at a bank win-
NEW LOWER 8088 PRICES
LDP1/2
The LDP1/2 utilizes the advanced 8088 processor to provide up to 8
times the throughput of a 4 MHzZ80A processor. The powerful instruc-
tion set of the 8088 is ideally suited to higher level languages such as
PASCAL and PU1. The 10 slot motherboard leaves 7 slots for USER ex-
pansion. With the option of a 10 MByte Winchester and MP/M-86, the
LDP mainframe becomes a powerful multiuser system with the capabili-
ty of handling 8 users without the degradation in performance experi-
enced with Z80 CP/M systems. The performance of the LDP1 and LDP2
has never before been available for such an affordable price.
FEATURES:
— LDP88, 8088 CPU board
— LDP72, advanced floppy disk controller
— LDP64K dynamic RAM
— 1 serial RS232 port
— 10 slot motherboard
— 1 8" Shugart 801R drive (LDP1), 2 Shugart 80 1 R's (LDP2)
— 4K EPROM socket for user population
OPTIONS:
— HAZITALL
— 8" 10 MByte Winchester (replaces 1 Shugart 801 in LDP2, available
Sept. 81)
— MP/M-86 multiuser system (available Sept. 81)
— Woodgrained 7 slot chasis
PRICES
LDP88 CPU
LDP72 FDC
LDP64K RAM
LDP128K RAM
LDP256K RAM
HAZITAL
LDP1
86-D0S
CP/M -86
Microsoft BASIC 86
ASSEMBLED & TESTED
$ 349.95
274.95
795.00
1295.00
2095.00
325.00
3295.00
195.00
250.00
350.00
Call for LDP1 option prices and board kit prices.
CP/M-86 and MP/M-86 are trademarks of Digital Researcn
86-DOS is a trademark of Seattle Computer Products
LDP88 8088 CPU BOARD
• 8088 CPU 5 MHz operation upgradeable to 8 MHz • 9 vectored inter-
rupts • Fully complies with IEEE 696 electrical and timing specs
• RS232 serial port with modem controls • 1K bytes of static RAM • 2
EPROM sockets (2716 or 2732) • 8087 upgrade kit available in Sept.
• 8 bit bus eases interface to other S100 bus boards • 1MByte address
space • 65K I/O ports
64/256K MEMORY
• 8 or 16 bit operation • Meets all IEEE 696 specs • Access time
350 ns from PSYNC low • Intel 8203 dynamic RAM controller • 24 or
16 bit address decoding • No wait states with 5 MHz 8088 or 8086
• Parity with Error interrupt generation • No DMA RESTRICTIONS
• 64K board is upgradeable to 256Kbyte board
HAZITALL
• 2 Serial RS232 ports • 2 parallel ports with handshake control
• Math processor support (8231/9511 or 8232/9512) • WINCHESTER
DISK support • Real time programmable interrupt • Clock/calendar
with battery back up • Synchronous data communication supported
LDP72 FLOPPY DISK CONTROLLER
• IBM compatible single and double density format • Single or double
sided drives • Programmable data record length (128 to 8192 bytes/
sector) • Multi sector and multi track transfer capability • Parallel
seeks on up to 4 drives • On board digital data separator • Software
selectable single or double density operation • Separate connectors
for 5Vi" and 8' drives • Software selection of standard or
allowing mixing of both drives on a single controller
or minidrives
LOMAS
DATA
PRODUCTS
11 Cross Street
Westborough, MA 01581
Telephone (617) 366-4335
270 August 1981 © BYTE Publications Inc
Circle 201 on inquiry card.
COMPUTERS-TERMINALS-MODEMS!
MODEMS AND COUPLERS
Connect your Apple, TRS-80 or any other computer or terminal to the phone lines!
Penril
Penril
300/1200
Penril 300/1200— Bell 212A style $799
Bell 212A style. 1 200 baud and 300 baud. Manual origi-
nate, auto-answer. Full duplex. RS232. Direct connect
to phone lines via RJ11C standard extension phone
voice jack. 1 year warranty.
Digital Equipment Corporation
DECVT100
DEC VT100... $1668
Detachable keyboard. Separate numeric keypad with
function keys. Business forms character set. Reverse
video. Selectable double-size characters. Bidirectional
smooth-scrolling. 80 cols or 1 32 cols. Split screen. Set-
fable labs. Line drawing graphic characters. Status line.
Key-Click.
HARDCOPY TERMINALS
Teletype
Model 43
Teletype
Corporation
Teletype Model 43 KSR with RS232
and Connector Cable $999
30 CPS. Dot matrix. 1 32 cols. True descenders on lower
case. Excellent print quality for dot matrix printer. Pin
feed.
U.S. Robotics
USR-330A
Bell 103/113 style
USR-330D
Bell 103/113 style
USR-330D $339
Bell 103 113 style. 330 baud. Manual originate, auto-
answer. Half/full duplex. RS232. 1 year warranty. Direct
connect to phone lines via RJ11C standard extension
phone voice jack.
USR-330A $399
Same as USR-330D but includes auto-dial capability.
CRT's
Perkin-Elmer
Corporation
Superowl 1251
Perkin-Elmer Superowl 1251 $1564
Intelligent, editing CRT. Detachable keyboard. 32 fully
programmable function keys. Intelligent printer part.
Business forms character set. Block mode. Protected
fields. Blinking fields. Numeric fields. Reverse video.
Half intensity. Polling. Down line loading of options. Re-
mote control of all options by host computer. Settable
tabs. Status line. Separate numeric keypad. Transpar-
ent mode.
NEC Corporation
NEC Spinwriter 5510 & 5520
5520 KSR Spinwriter $3088
55 CPS. Impact printer. Selectric print quality. Change-
able print fonts. 1 1 0, 300 and 1 200 baud data rate. Nu-
meric keypad. Friction and tractor feed.
5510 Spinwriter $2754
55 CPS. Impact printer. Selectric print quality. Change-
able print fonts. 110, 300 and 1 200 baud data rate. Fric-
tion and tractor feed.
& PRINTERS
DEC LA120
Digital Equipment
Corporation
DECLA120... $2388
1 80 CPS. Dot matrix. Upper/lower case. 1 K buffer. De-
signed for 1200 baud communications. 30 character
answerback message. Adjustable line spacing. Adjus-
table character sizes including double sized characters.
Settable horizontal and vertical tabs. Top-of-form capa-
bility. RS232.
Perkin-Elmer
Corporation
Pussycat 650/655
CRT Screen Printer
650/655 Pussycat CRT Screen Printer . $899
100 CPS. Extremely compact and quiet. 110 to 9600
baud rate. 2K buffer. Ideal for producing rapid, reliable
hardcopy of your CRT screen display. Can be added to
any CRT with our interlace option.
Circle 391 on inquiry card.
U.S. Robotics
The
Phone Link
Acoustic
Modem
Bell 103/113 style $179
300 baud. Sleek, low profile. Originate and answer cap-
ability. Half/full duplex. Self-test. RS232. Light displays
for On, Carrier, Test, Send Data, Receive Data. 15 oz.
Perkin-Elmer Corporation
Bantam 550B .... $694 1
Compact. Silent. Upper/lower I
case. 80th col. wrap-around.
Bell. Integrated numeric pad.
Printer port. Transparent
mode. Editing features.
Tabbing.
Bantam 550E...$755|
Same as 550B plus
separate numeric key-
pad and cursor direction
keys.
Bantam 550S $879
Same as 550E plus block mode. 8 function keys, and
protected fields, reverse video fields, half intensity
fields, blinking fields.
550 Options
20mA Current Loop Interface $70
Non-Glare Screen $25
2nd page of memory (550S only) . . $100
•Off**
Digital
Equipment
Corp.
DECLA34DA... $939
30 CPS. Dot matrix. Upper/lower case. 4 character
sizes. Up to 217 cols per line. 6 lines per inch settings.
Friction feed. Settable tabs. RS232.
DECLA34AA $1095
30 CPS. Dot matrix. Upper/lower case. 8 character
sizes including double size characters. 6 lines per inch
settings. Up to 21 7 cols per line. Friction feed. Settable
horizontal and vertical tabs. Top-of-form capability.
Options for LA34AA and LA34DA
Tractor Feed Mechanism $114
Numeric Keypad w/ Function Keys .. $69
Pedestal $100
Paper Out Sensor $25
APL Capability with APL Keycaps .. $499
2K Buffer with Text Editor and 1200 Baud
Communications Capability $499
O
Leasing rates and lease/purchase plan information is available on request.
All equipment is shipped with a 10 day money back guarantee.
We offer full service, on site maintenance plans on all equipment.
All equipment in stock.
S03 N. WABASH SUITE I71B CHICAGO, ILL BOSOl
SALES
GENERAL OFFICES
SERVICE
[312] 34B-5B50
C312) 34B-565I
C312) 733-D497
front of
queue
rear of
queue
queue of n data items
• determine the number of items in
the queue
• determine whether or not the queue
is empty
• put an item in the queue
• get an item from the queue
put
get
Figure 12: A queue (12a) is a linear collection of objects arranged so that items can be
added (or put) only at the rear of the queue (12b) and taken away (or gotten) only at the
front of the queue (12c).
dow or checkout counter are every-
day examples of this kind of
discipline. In programming systems,
queues are used for many purposes,
for example, to represent a line of
customers in a simulation program or
to handle ordered lists of events and
processes in operating systems.
The operations we want to perform
on a queue include:
INFOSOFT Has a Better Way
l/OS ™ Infosoft/operating system
• Full CP/M"", CDOS™, SDOS™, compatibility
• Up to 15 disk units of 65 megabytes each
• Mix 5" and 8" floppies and hard disks
• Autostart and turnkey capabilities
• Adaptable to most 8080/8085/Z80 systems
• Dialog system generation without programming
• Up to 975 megabytes of on-line data storage
'New! Developed from the l/OS single-user system"
Introducing
MULTI/OS™
the complete multi-user operating system
All features of the single-user l/OS plus
• Up to 16 independent users and/or tasks
• Multiple printers with automatic spooling
• Up to 56k bytes in each user partition
• Managable sub-directories allow up to 63,504 files
• Record/file lock capabilities
Call Us Today
To Improve Your
System Performance
MASTERCARD and VISA accepted
CP/M ii a rggiitired trademark of Dig rial Research. CA
COOS ii a registered trademark of Cromemco
SDOS is * registered trademark ol SD Systems
Just as in the case of the stack, we can
have different implementations of the
queue depending on the type of buffer
we use for storing the data items.
Class Queue, which serves as a
superclass for the queue classes, is
given in table 14. Class Queue con-
tains an instance variable named buf-
fer that points to the object that pro-
vides the storage for items in the
queue. The external messages have
been listed to show what must be
defined in all subclasses. The message
emptyCheck, which sends an error
message if the queue is empty, will be
used in the implementation of get.
The Linked Queue
The first queue we will consider is
the linked queue. A linked queue is
one whose buffer is a linked list.
Because we want to remove and add
items easily, we will use a circular,
singly linked list in our implementa-
tion. Class LinkedQueue is shown in
table 15. An instance of class Linked-
Queue is created by sending the crea-
tion message new to the class. For
example:
| queue |
queue — LinkedQueue new.
creates and initializes a new linked
queue. The internal message initialize
creates a new instance of CircularList
and stores a pointer to it in buffer.
To put an object in a linked queue
we use the message put:, passing the
object as the parameter. This object is
then added to the circular list by
sending buffer the message append:.
Similarly, the next object can be
removed by using the message get.
The method for get first checks to see
if buffer is empty. If it is, an error
message is sent. If not, the first object
is removed from buffer and returned.
The messages count and empty are
implemented by sending the respec-
tive messages to buffer and returning
272 August 1981 © BYTE Publications Inc
Circle 166 on inquiry card.
AH-HA!
EUREKA!
ALL-RIIIGHT !
Introducing
" Popular
Computing," the
key to
understanding.
Now you don't have to be
a computer professional to
unlock all the mysteries,
potential, and pleasures of
home and small business
computers. Popular Com-
puting, the new monthly
magazine from McGraw-
Hill, is the key.
Created in response to
growing demand for our
informative quarterly
onComputing, Popular Com-
puting explores every
aspect of personal com-
puters and their use. All
reported in easy-to-
understand nontechnical
language.
The answer
to "Computer-
phobia."
Even the most computer-
unsophisticated reader wil
find Popular Computing
interesting and
stimulating. Every issue
will contain straight-
talking product reviews,
special news briefs, and
feature articles by famous
guest contributors (like
Isaac Asimov). There'll
even be a helpful glossary
of computer jargon we
couldn't avoid using, and
much, much more.
Special
Introductory
Offer.
Send in this coupon to-
day, and take advantage of
Popular Computings Special
Introductory Offer.
.■&
.^>
*4T*
*&&
cP .^V.
POPULAR.
<*"
.<?
,\°
COMPUTING
THE KEY TO UNDERSTANDING
^zS:
Circle 133 on inquiry card.
THE NEW
NEVADA
COBOL!
At $149.95 you can't buy
a better COBOL or one
residing in less memory.
Now with the new Nevada COBOL, you can
use the programs developed by professional
business programmers over the past twenty
years to run the big IBM machines. And you can
develop and tailor programs on your micro and
run them on your micro or recompile and run
them on any mainframe computer. What's more
you can do it for about one-fifth the cost of
comparable COBOL compiler systems.
Almost all the popular microcomputers
work with the CP/M operating system we use
including Apple. TRS-80. North Star, Superbrain.
Cromemco and so on.
Check the features;
you'll go Nevada COBOL.
A powerful subset of ANSI-74, Nevada COBOL
requires a scant 16K of RAM. It's available on 8"
CP/M standard single density or 5-1/4" diskettes.
Price includes diskette and manual. Price for
manual only, $24.95.
Four COBOL applications packages
available too.
Four COBOL applications packages are cur-
rently available. Each is priced at $24.95 for the
diskette. The 73 page manuai covering all four
applications costs an additional S24.95.The
manual carries complete COBOL source code
listings and superior documentation.
Package #1 is the Budget Plan Report
Generator. Here's an extraordinary time saver
and planning aid for both start-up and well
established businesses.
Package #2 is the Personal Financial Planner
to give you some eye opening insights into your
own personal spending habits.
Package #3 is Labels so you can print name
and address labels.
Package #4 is Pre-COBOL for use as a
pre-processor of COBOL source programs. A great
programming aid.
Order today or write for complete details.
Phone [4I5| 751-1522 or address Ellis
Computing, 600 41st Ave, San Francisco, CA 94121.
Nevada Cobol is also available at Lifeboat
Associates, Discount Software, Westico, Business
Micro Products, Computer Information Exchange
and other quality computer stores. Mastercard,
Visa, C.O.D.s, or checks accepted. California orders
please include sales tax.
CP/M. TRS-80 and IBM are TM s of Digital Research.
Tandy Corp and I B M respectively
o
ELLIS COMPUTING
SOFTWARE TECHNOLOGY
274 August 1981 © BYTE Publications Inc
class name
Queue
superclass
Object
instance variable names
buffer
class messages and methods
"none defined here"
instance messages and methods
external
"count | | ... to be defined in subclasses"
"empty | | ... to be defined in subclasses"
"put: anObject | | ... to be defined in subclasses"
"get | | ... to be defined in subclasses"
internal
emptyCheck self empty ifTrue: [ t self error: 'queue empty' ].
Table 14: Class template for class Queue.
class name
superclass
instance variable names
class messages and methods
LinkedQueue
Queue
"none defined here"
new
(super new) initialize.
instance messages and methods
external
count | | I buffer count.
empty | | t buffer empty.
put: anObject | | buffer append: anObject.
get | | self emptyCheck. t buffer removeAt: 1 .
internal
Initialize | | buffer — CircularList new.
Table 15: Class template for class LinkedQueue.
the result. A simple example of the
use of LinkedQueue is the following:
| queue a b c |
queue — LinkedQueue new.
a — (Card suit: 'heart' rank: 5).
b — (Card suit: 'heart' rank: 6).
c — (Card suit: 'heart' rank: 7).
queue put: a.
queue put: b.
queue put: c.
a — queue get.
b — queue get.
c — queue get.
This sequence creates an instance of
class LinkedQueue and assigns to the
variables a, b, and c, instances of
class Card with ranks 5, 6, and 7,
respectively. These instances are put
into the queue in the order listed and
are then removed and assigned to the
variables a, b, and c. The original
order is preserved; the ranks of a, b,
and c are 5, 6, and 7, respectively.
The Sequential Queue
The next implementation of a
queue that we might expect to see is
STATE OF THE ART
MEMORY SYSTEMS
512KB SINGLE BOARD MULTIBUS® MEMORY
State of the Art Multibus Memory Design.
First to Offer 512KB on One Board.
The CI-8086 module is compatible with both 8 or 1 6 bit Multibus Systems.
PARITY — The CI-8086 generates and checks even parity with selectable
interrupt on parity error.
FAST ACCESS AND CYCLE TIME — Data access is 270 NSEC and cycle
time is 375 NSEC.
16 MEGA BYTE ADDRESSING — The memory is addressable in 16K
increments up to 16 mega bytes.
LOW POWER CONSUMPTION — Total power consumption is under 8
watts.
SINGLE QTY. PRICE: 128Kx9 $1350. 512Kx9 $2995.
*™™"flI™lliPi!llB'
» - . m m && m jm \
i^" ^P w$ wi si ^V. *S?- IS
i a 1 1 1 1 1
I m |j| ^ |j| s» ; « . "« ;. m ,..
H w. ^'.- ™ HI ill If
256KB LSI 11/23® SINGLE DUAL WIDTH BOARD
The First and Only 256KB Memory on a Single Dual Board.
4 MEGABYTE ADDRESS FIELD — Most memories available for the DEC
PDP 11/23 are only addressable to 256K bytes (18 address lines). The
CM 1 23 is addressable to 4 mega bytes (22 address lines) so there is no
need to worry about obsolescence.
FAST ACCESS AND CYCLE TIME — With an access time of 240 NSEC
and cycle time of 400 NSEC one is insured the best throughput on the PDP
1 1 /23 system.
PARITY — The CI-1123 generates and checks parity for each byte of
memory. Totally DEC compatible.
BATTERY BACKUP POWER CONSUMPTION — Power requirement for
the module is only 1.2 AMP from the 5 volt supply. The CI- 1 123 is easily
configured for battery back-up mode of operation requiring only 300MA
from a single 5 V back-up supply for 256KB memory in the down state.
SINGLE QTY. PRICE:
32Kx 18 $575.
128Kx 18 $1925.
■ :>Y.. •";■■' ' ■■■iii'.v'-'.r. '
64K x 9 EXORCISER® I SINGLE BOARD MEMORY
For Exorciser I, Exorciser II and Rockwell System 65.
FAST ACCESS AND CYCLE TIME — Data access time is 225 NSEC and
cycle time is 400 NSEC, allowing the unit to work as a static RAM at clock
rates in excess of 1 .5 mega hertz. For 2 mega hertz operation the board can
be easily configured to utilize a cycle stealing refresh operation.
ADDRESSING — On-board memory select is available in 4K increments
up to 64K words of memory on either the VUA or VXA control inputs.
PARITY — On board even parity with output jumper select to the system
bus as a parity error or non-maskable interrupt.
Complete board power consumption is under 7 watts.
SINGLE QTY. PRICE: 64K x 9 $575.
Tested and burned in. Full year warranty.
DON'T ASK WHY WE CHARGE SO LITTLE, ASK WHY THEY CHARGE SO MUCH.
€
Chrislin Industries, Inc.
31352 Via Colinas • Westlake Village, CA 91362 • 213-991-2254
Muftituji il ■ tr*(«iT!«rk of ttw Mil Corp. LSI II is ■ Indtmark of Difitlf Equipment Corp. EXORdtn ii ■ trodmurk of Motorola
Circle 54 on inquiry card.
BYTE August 1981 275
one that uses a sequential list to store
data items. Unfortunately, a sequen-
tial list is not well suited to this pur-
pose, because we need to add items to
one end of the list and remove them
from the other. You will recall that
adding items to the end of a sequen-
tial list is an easy operation, but
removing them from the beginning is
difficult since we have to copy for-
ward all of the succeeding items in the
list. Rather than copy forward all
items after the first, we would prefer
to ignore the item at position 1 of the
list and consider the item at position 2
to be the first item in the list. The
problem, however, is that as items
are added and removed from the list,
the actual positions of the first and
last items migrate toward the end of
the list. This could cause the list to ex-
pand even if it is not full. Fortunately,
we can treat the last position in the
list as if it preceded the first position:
that is, we consider the list to be cir-
cular. After we have added an item to
the last position, we can start adding
items to the beginning of the list, pro-
vided some have already been re-
moved. If we use this strategy, then
we don't have to expand the list until
it is full.
The class definition in table 16 uses
the strategy just described to imple-
ment a queue using sequential
storage. Class SequentialQueue uses
an instance of class IndexedTable as
its buffer. Since class IndexedTable
does not provide facilities for count-
ing the number of objects stored in an
instance (those facilities are provided
by class LinearList), we need to define
an instance variable count in class
SequentialQueue. Additionally, we
have instance variables named front
and rear, front is the index of the first
object stored in buffer (an instance of
class IndexedTable); rear is the index
of the last object stored in buffer.
Since we are treating buffer as a cir-
cular sequence of positions, front and
rear will repeatedly cycle through the
values between the lower and upper
bounds of buffer.
THE FORMULA allows the computer professional to
focus on the most important part of business: the needs
of the client. Customized systems for any business appli-
cation can be created in a fraction of the time required by
conventional methods.
kgftSSS*
• Interactive data entry, file updating, and
maintenance routines are automatically
generated from a definition of the fields.
Reports can be created through a unique
full screen editor simply by typing a sample
format.
• Menus and job streams are defined through
a preprogrammed parameter-driven pro-
cedure.
• Fast response time is insured because
each routine can be interpreted directly by
the computer and data management is
controlled by an efficient ISAM algorithm.
THE FORMULA is a complete system language which
brings the process of developing applications closer to
the user's description of his needs. That'sTHE FORMULA™
for success.
Disk and manual, $595. Manual only, $60.
THE FORMULA™ will run on any 8080 or Z80 computer
with CP/M,* 48K RAM, 300K total disk storage, and a CRT.
DMA • WE SPEAK YOUR LANGUAGE.
DYNAMIC MICROPROCESSOR ASSOCIATES • 545 Fifth Avenue, New York, New York 10017 • (212) 687-7115
We ship prepaid and COD orders. Shipping & handling charges extra: $5 UPS areas; $7 non-UPS areas, Mexico, Canada; $10+ elsewhere. MasterCharge and VISA accepted.
New York State residents add appropriate sales tax. 'CP/M is a trademark of Digital Research.
276 August 1981 © BYTE Publications Inc
Circle 121 on inquiry card.
ALPHA BYTE DOES IT AGAIN...
Call us for our never undersold price.
ALPHA
BYTE
STORE/
(213) 883-8594
5115 Douglas Fir Road • Suite B • Calabasas, CA 91302
Circle 360 on inquiry card
class name
superclass
instance variable names
class messages and methods
SequentialQueue
Queue
front resr count
size: an Integer | |
(anlnteger < 1) ifTrue; [ t self error, 'invalid size' ].
t (self new) buffer: (IndexedTable from: 1 to: anlnteger) count: 0.
instance messages and methods
external
count | | t count.
empty | | t count = 0.
put: anObject | |
(count = buffer size) ifTrue: [ self expand. ].
buffer put: anObject at: rear,
rear — self advance: rear,
count — count + 1.
get | anObject
| self emptyCheck.
anObject — buffer at: front,
front — self advance: front,
count — count - I .
t anObject.
internal
buffer: anlndexedTable count: anlnteger | |
buffer — anlndexedTable. count — anlnteger.
front — buffer lowerBound. resr — front + count.
advance: anlnteger j |
anlnteger = buffer upperBound
ifTrue: [ I buffer lowerBound ] ifFalse: [ ! anlnteger + 1
expand | anlndexedTable anlnteger |
anlndexedTable — IndexedTable from: 1 to: (2 * buffer size)
anlnteger — front.
1 to: count do:
[: i | anlndexedTable put: (buffer at: anlnteger) at: i.
anlnteger — self advance: anlnteger. ].
self buffer: anlndexedTable count: count.
Table 16: Class template for class SequentialQueue.
Because we are using an instance of
class IndexedTable for storing
objects, we must specify an estimate
of the maximum size of an instance of
class SequentialQueue when we
create it. This is done with the crea-
tion message size:, which creates a
new instance of SequentialQueue and
sends it the internal messsage
buffer.count:. The first parameter of
bufferxount: is an instance of class In-
dexedTable; the second is the number
of objects stored in the first parameter
(initially zero).
The message bufferxount: is also
sent from the internal message ex-
pand, which is used to expand buffer
when it becomes full, expand is im-
plemented by creating a new instance
of IndexedTable that is twice as large
as the current one. All of the objects
stored in buffer are copied to the first
half of the new instance, which then
becomes the new buffer.
The internal message advance is
used to advance the values of front
and rear. Normally, this is done by
incrementing the current value by 1.
However, if the current value is equal
to the upper bound of buffer, then we
must set the value back to the lower
bound of buffer. The external
messages are those specified in the
superclass Queue. The message
count returns the value of the in-
stance variable count. The message
empty tests to see if count is zero.
For the message put:, we first test
to see if buffer is full. If buffer is full, it
is expanded using the message
expand. The object passed as a
parameter to put: is then stored in
buffer at the position indicated by
rear, rear is then advanced one posi-
tion forward, using the message ad-
vance. Finally, the value of count is
incremented.
Similarly, for the message get, we
first test to see if the queue is empty.
If it is, an error message is sent; other-
wise, the object stored at the position
indicated by front is removed from
buffer, front is advanced one position
forward, and the value of count is
decremented. Finally, the removed
object is returned.
Summary
The class construct is an extremely
useful tool for implementing data
structures. Implementing a data
structure with a class makes it possi-
ble to confine the details of the im-
plementation to one place and to in-
sure that the resulting object will be
accessed by the rest of the system in a
secure manner, namely, through the
use of a set of messages that corres-
pond to the operations that are well
defined for that data structure. Addi-
tionally, the ability to create
subclasses makes it possible to share
variables and methods among similar
class definitions, thereby reducing the
amount of work needed to implement
a set of data structures. ■
References
1. Horowitz, E and Sartaj, S. Fundamentals
of Data Structures. Potomac MD: Com-
puter Science Press, 1976.
2. Knuth, D E. The Art of Computer Program-
ming: Volume 1 /Fundamental Algorithms,
Second Edition. Reading MA: Addison-
Wesley, 1973.
3. Robson, D and Goldberg, A. "The Small-
talk-80 System," August 1981 BYTE, page
36.
4. Wirth, N. Algorithms + Data Structures
= Programs. Englewood Cliffs NJ:
Prentice-Hall, 1976.
278 August 1981 © BYTE Publications Inc
-rha S4O0 Bjus ,
W
Our New Address:
14425 North 79th St.
Suite B
Scottsdale, Arizona 85260
Our New Phone Numbers:
800-582-3138
602-991-7870
From July 25, 1981 to August 10, 1981, we'll be in the
process of moving from Clark, NJ to our new larger quarters
in order to serve you better with these major lines:
Anadex
Apple
ATV
California Computer Systems
Centronics
Cromemco
Digital Research
Electronic Control
Technology
Epson
Executive Data Systems
Godbout Electronics
(CompuPro)
Hayes Microcomputer
Heuristics
Integral Data Systems
Integrand
International Microcomputer
Corp.
Ithaca Intersystems
Maxell
Micro Pro International
Morrow Designs
(Thinker Toys)
Mountain Computer
Mullen Computer Products
North Star
Para Dynamics
Persci
Potomac Micro Magic
Qume
Sanyo
Scion
SDM Industries
SD Systems
Shugart
So roc
SSM Microcomputer
Products
Tandon Magnetics
Tarbell Electronics
TCS
T.E.I.
Tecmar
Teletype
Televideo
Texas Instruments
Three M (Scotch)
Verbatim
Vector
Zenith /
£53&S-JDD,inc
5-IDO
14425 North 79th St., Suite B
Scottsdale, Arizona 85260
800-582-3138 • 602-991-7870
products,
NEW LOCATION
1198 E. Willow Street
Signal Hill, CA 90806
Toll Free (800) 421-7701 Outside Calif.
(213)595-6431 inside Cain.
MICROBYTE S-100 BOARDS
ORDERING INFO
Name, address, phone
Ship by UPS or Mail
Shipping Chrg. Add $2.50 up to
1 lb. Call for larger shipments
Freight, U.S. Mail Add $1.60
U.S. Only up to 2 lbs.
We Accept Cash, Check, Money
Orders, Visa & Master Charge
(U.S. Funds Only)
Tax: 6% Calif. Res.
COD T s & Terms Available on
Approval (School PO's Accepted)
($25.00 Minimum Order)
• Fully compatlbli
IEEE S 100 Bus
•Z-BDACPU[4MH
board J80ACPU
Z-80A/I-O $349.00
Assembled & Tested
Optional Monitor Program $50.00
IK(27081, 2K(2716)or 4KC'732|
for eitenfling Ml'. UREO', IORCT
tnOlai on Hoard ROM
• Dual RS-232 serial 110 pens using
tha Z80A.DART wllh IrwJI •ifjual Oaut
rale selection {from 50-19.200 baud)
MICROBYTE
Controller
•IEEE-SI00 compar
•QUA arbitration al
• Power On. Powi
Disc Controller $389.00
Assembled & Tested
CPM Available (Optional)
SD SYSTEM / S-100 BOARDS
EXPANDORAMI 16K $240.00
2 MHz DYNAMIC 32K $258.00
RAM BOARD 48K $276.00
KITS 64K $294.00
EXPANDORAM II 16K $250.00
4 MHz DYNAMIC 32K $268.00
RAM BOARD 48K $286.00
KITS 64K $304.00
SBC-100 KIT
2.5 MHZ/Z80 CPU
with Serial I/O
Ports & SBC 100
Monitor of your
choice at No Chrg.
SBC-200 KIT
4 MHZ/Z80A CPU
with Serial & Parallel
I/O Ports & SBC 200
Monitor of your
choice at No Chrg.
$299
00
$325
00
VERSAFLOPPY
I KIT
Disk Controller for
5Vt" &8" Drives,
Single or Double
Sided/Single
Density, S-100
Compatible
$250 09
VERSAFLOPPY
II KIT
Disk Controller for
5'/i" or 8" Drives,
Single or Double
Sided/Single or
Double Density,
S-100 Compatible
$300
00
PROM 100 KIT
S-100/EPROM ALL BOARDS
PROGRAMMER for ARE AVAILABLE
2708, 2716, 2732 & ASSEMBLED
(Tl) 2516 * TESTED
$210
00
CALL FOR PRICES
QUME DT-8 DISK DRIVE
Specifications
•Double-sided
Sgle-Dble Density
• IBM-compatible
1.2 Mbytes/Disk
•Fast— 3 ms.
Track to Track
• 154 Tracks/Daisy
Chain 4 Drives
•ISO Standard
Write Protect
• Programmable
CALL FOR Door Lock
PRICE & DELIVERY
O.E.M. Pricing Available on Request
120 Day Factory Warranty
MICROBYTE
•6«K < 8 bil dynamic RAM
» 8VDC O 700 ma
* I6VDC 100 ma
- 16VDC ric 25 ma
•Built-in-parily wilh LED mrli
and veclor rnlerrupl
• Memory adrjressablo in torn
'itilllWifmriiifm
64K RAM Board
Assembled & Tested Call for Price
I/O Board $289.00
Assembled & Tested
Cables Available (Optional)
MICROBYTE
•Quad RS-232C Sanal Ports, One
20mA Cirrrenl Loop Poil
•Fully IEEE S-100 Bus Compatible
• Asynchronous Commumcabons
Wittl ZBOADartiTUi or Synch,onous
Communications unlb ZB0A-
SIOfQtTMl
• Full Set ol Modem Conltol Signal;
including Rl (Ring Indicator)
■Easily Configurable lo Any Type o
Terminal Interface
•110 Servicing Environments:
til Polled. 12) Bus Veclor.
(3| ZBO Mode 2 Vector
• Ott Board Interrupt Daisy Chain
Capabiiiiy
• Special Receive Condiboos:
|1) Framing Error; |2) Parity Error.
" errun Error
•Buu.
n 50 Baofl lo 300K Baud
lally
CALIFORNIA COMPUTER-
2032
2065
2116
2200
2422
2501
2710
2718
2720
2802
2810
7114A
7424A
7440A
7470
7710A
771 2 A
7720A
7728A
32K STATIC RAM BRD.
64K DYNAMIC RAM
BOARD
16K STATIC RAM BRD.
MAINFRAME
DISK CONTROLLER
MOTHERBOARD
4PORT SERIAL I/O
2 SER. PORT & 2 PAR.
4-PORT PARALLEL I/O
6502 CPU BOARD
Z-80 CPU BOARD
12K ROM/PROM BRD.
CALENDAR CLOCK BD.
PROGRAMMABLE
TIMER
A/D CONVERTER
SERIAL SYNCH. BRD.
SERIAL SYNCH. BRD.
PARALLEL INTERFACE
CENTRONICS
INTERFACE
CALL FOR PRICE & DELIVERY
ATARI 800
(16K) PERSON AUBUSINESS COMPUTER
•Computer Console 'Operators Manual
•Atari 8K Basic «RF Modulator
•57 Full Stroke 'Power Supply
Alpha-numeric keys CALL
& (4) Function Keys FOR PRICE
*Add'l 16K RAM FREE w/Purchase of System
ATARI OPTIONAL ACCESSORIES
MODEL # DESCRIPTION
810
815
820
822
825
830
850
410
PRICE
Disk Drive System $ 475.00
Disk Drive System $1199.00
40-col. Dot Matrix Printer $ 279.00
40-col. Thermal Printer $ 349.00
80-col. Dot Matrix Printer $ 625.00
Acoustic Modem $ 159.00
Interface Module $ 139.00
Cassette Recorder $ 60.00
MAIN/FRAME & DISK DRIVE CABINETS from INTEGRAND
MODEL X5 - Desktop Mainframe - 5 Cards - Small Power Supply $200
Cabinet size: 9.4' w x 16' d x 7 5"h. Cabinet painted dove grey, front panel is black. No optional colon! 5-position
motherboard. 5 connectors installed, card cage with all guides. Reset switch on Ironl panel. Power switch. A DB25 culouls,
1 BNC mounting hole. 70CFM Ian. EMI litter. 6' power cord, line fuse, and clamped Hal cable exit on rear panel PX/5
power supply ( + 8@10A. + 16@1.5A. -16@1.5A) Power supply is a removable module.
MODEL 700D - Horizontal Desktop Disk/Cover - 2 Eight Inch Drives - Drives Horizontal $265
Cabinet size: 20"w x 23"d x 7 5"h. Cabinet painted dove grey, tront panel is black. Mounting lor 2 eight-inch Shugal
SA801R Floppy Disk Drives (or mechanical equivalent) Drive mounting brackets supplied. Drives no! supplied. 70CFM Ian,
6' three-wire line cord, power switch, line (use, EMI filter and clamped Mat cable exit on rear panel P794 power supply
+ 5@<tA. +24@5A— 6A peak, -5@.75A. All voltages regulated Power supply is a removable module
MODEL BODD - Desktop Maln/Frama - 15 Cards - Standard Power Supply $255
Cabinet size: 17"w x 2G.5"d x 7.5"h. Cabinet painted dove grey, tront panel is black (other color schemes optional]
15- position IEEE compatible motherboard (will accept T801 terminator kit, optional), card cage with alt guides. Reset switch
an Iron! panel Power switch. 8'DB25 cutouts. 2 BNC mounting holes. 70CFM fan, EMI tiller, 6' power cprd. line fuse, and
clamped flat cable exit on rear panBl. P800 power supply | + 8@15A, + 16@3A, -16@3A) Power supply is a removable
module Motherboard connectors optional.
MODEL 700DS - Vertical Desktop Disk/Cover - 2 Eight Inch Drives - Drives Vortical $265
Cabinet size: I3.5"w x 23"d x ll"h. Cabinet painted dove grey, tront panel is black. Mounlmg lor 2 eight-inch Shugart
SA801R Floppy Disk Drives (or mechanical equivalent}. Drive mounting brackets supplied. Drives not supplied. 70CFM fan.
6' three-wire line cord, power switch, line fuse, EMI (liter and clamped Hat cable exit on rear panel P794 power supply:
+ 5@<lA l +24@5A— 6A peak, -5@.75A. Ail voltages regulated. Power supply is a removable module.
PRINTERS
ATARI SOFTWARE
Description Price
Basketball $29.00
Super Breakout $28.00
Chess $28.00
Video Easel $29.00
3-D Tic Tac Toe $28.00
Star Raiders $34.00
Music Composer $42.00
Educational System ROM $19.95
Assembler/Editor $45.00
Telelinkl $19.95
Space Invaders $15.95
Kingdom $12.95
Blackjack $12.95
Biorhythm $12.95
Graph It $15.95
Energy Czar $12.95
Mailing List $16.95
Statistics I $16.95
Paddle Controls $17.95
Joysticks (pair) $17.95
Touch Typing $19.95
Stock Cherting $19.95
Stock Analysis $19.95
Bond Analysis $19.95
Scram $16.95
MANY MORE AVAILABLE
MFG./MODEL#
ANACOM-150
ANADEX-9501
BASE 2-800 B
CENTRONICS 739
DIABLO-630R0
C. ITOH-Starwriter45
TEXAS INSTR.-810
PRICE
$ 995.00
$1300.00
$ 650.00
$ 795.00
$2300.00
$1925.00
$1650.00
MFG.
Amdek
Amdek
Amdek
Amdek
APF
Hitachi
Hitachi
Sanyo
Sanyo
Sanyo
MONITORS
MODEL #
100/12" B&W
100-80
100G/12" Grn.
Color I
TVM-10/10" B&W
VM910/9" B&W
VM129/12" B&W
DM5012/12" B&W
DM5112ex/12" Grn.
DMC6013/13" Color
PRICE
$139.00
$169.00
$169.00
$399.00
$149.00
$210.00
$340.00
$260.00
$280.00
$450.00
MODEMS
TERMINALS
MFG.
Novation
Novation
Novation
Lexicon
Livermore
UDS
UDS
MODEL t*
CAT
D-CAT
AutO-CAT
Lex-11
LIV-Star 20M
UDS 103
UDS 202
PRICE
$149.00
$169.00
$229.00
$139.00
$149.00
$189.00
$295.00
MODEL iV
MFG.
Ampex Dialogue 80
Soroc IQ120
Soroc 101 40
Televideo TVI 910C
Televideo TVI 912C
Televideo TVI 920C
Televideo TVI 950C
PRICE
$ 945.00
$ 750.00
$1250.00
$ 625.00
$ 725.00
$ 760.00
$ 975.00
WAMECO INC. Bare Boards & Kits
KITS BARE BOARDS BARE BOARDS
DESCRIPTION PRICE PART It DESCRIPTION PRICE PART # DESCRIPTION
PRICE
$ 59.95
$ 74.95
$ 71.95
$ 80.95
$159.95
$119.95
$ 75.95
$ 99.95
$109.95
KITS LESS EPROM OR RAM CHIPS
EPM-1
4K EPROM
EPM-2
16K or 32K EPROM
MEM-1
8K Static
MEM-2
16K Static
FPB-1
Front Panel
CPU-1
8080A CPU
RTC-1
Real Time Clock
QMB-9
9 Slot Motherboard
QMB-12
12 Slot Motherbrd.
PART H
EPM-1
EPM-2
MEM-1
MEM-2
MEM-3
FPB-1
FDC-1
CPU-1
4K EPROM
16K or 32K EPROM
8K Static
16K Static
32K Static
Front Panel
Disk Controller
8080 A CPU
PRICE
$29.95
$29.95
$29.95
$31.95
$35.95
$49.95
$44.95
$31.95
CPU-2
RTC-1
QMB-9
QMB-12
CRT-1
IOB-1
IOB-2
IOB-5
Z80 CPU
Real Time Clock
9 Slot Motherboard
12 Slot Motherbrd.
80 x 24 Video
2 Par. & 1 Ser. I/O
8-Parallel I/O Ports
4-Serial I/O Ports
PRICE
$39.95
$27.95
$34.95
$39.95
CALL
CALL
$35.95
$35.95
Circle 25 on Inquiry card.
COMPONENTS
4116'S (200 ns.)
Apple, TRS-80, Heath
8 for *18 80
16-49 $2.25 ea.
50-99 $2.15 ea.
lOOUp $2.05 ea.
2114 L-2/200 NS
Lo-Power 1Kx4 Static RAM
1-16 $3.05 ea.
17-49 $2.95 ea.
50-99 $2.85 ea.
100 Up $2.70 ea.
74LS240 $1.25ea.
74LS241 $1.10 ea.
74LS244 $1.25ea.
74LS373 $1.25ea.
74LS374 $1.25 ea.
8T245 $1.50 ea.
DISKETTES FROM asap
DIP SOCKETS/LOW PROFILE TIN SOLDERTAIL
2708/450 NS
1Kx8 EPROM
$4.25 ea.
or
8/$32. 00
2716/5 VOLT
2K x 8 EPROM
$6.95 ea.
1 YR. WARRANTY
8080A-CPU $ 2.50
Z80A - CPU $ 8.95
Z80A - CTC $ 8.95
Z80A-DART $13.95
Z80A-SIO $22.00
8255AC5 $ 6.95
8257AC5 $15.00
320T5 .80 320T12 .80
340T5 .70 340T12 .75
DB25P
DB25S
DB25C
1.9 10-24 25 Up
2.65 2.50 2.40
3.60 3.40 3.25
1.00 .90 .80
100 PIN IMSAI
Gold/S-100
Soldertail
Connectors
$2.40 each
OR
10/S2.25 each
CAPACITORS
.1 @ 12 Volt
Ceramic
8$ ea.
or
100/S7.00
PART t
MD52501
MO53S-10
MD52S '6
VERBATIM
5'." DISKETTES
SECTORING
SOFT SECTOR
HARD 10 SECTOR
MARO 16 SECTOR
8" DISKETTES
HARD SECTOR
SOFT SECTOR
MEMOREX
W DISKETTES
SIDESIDENSITY SECTORING
VSINOLE SOFT SECTOR
I'SINGLE HARD 10 SECTOR
1 (SINGLE HARD 16SECTOR
B" OISKETTES
SIDES/DENSITY SECTORING
1 /SINGLE
2-SINGLE
"DOUBLE
2'OOUBLE
SOFT SECTOR
SOFT SECTOR
SOFT SECTOR
SOFT SECTOR
D-0133
D0226
D-0235
DYSAN
SV." DISKETTES
SIOES/DENSITY SECTORING
USINGLE SOFT SECTOR
"DOUBLE SOFT SECTOR
2/DOUBlE SOFT SECTOR
8" DISKETTES
SIOES/DENSITY SECTORING
i/SINGLE SOFT SECTOR
2'DOUBLE SOFT SECTOR
PRICE
10.'27 50
10 ; 29SO
1029 50
PRICE
10/2500
10/25 00
10/25 00
PRICE
10.35 00
1045 DO
I0M5OO
10.55 00
PRICE
10 50 00
10/53 00
10.65 00
SCOTCH 3M
SV." DISKETTES
SIDESIDENSITY SECTORING
l/SINGLE
l/SINGLE
1/SINGLE
3/OOUBLE
2/DOUBLE
2/DOUBLE
SOFT SECTOR
HARD 10 SECTOR
HARD 16SECTOR
SOFT SECTOH
MARO 10 SECTOR
HARD 16 SECTOR
SV." DISKETTES
SIDESIDENSITY SECTORING
1/SINGLE
2/DOUBLE
1/SINGLE
2/DOUBLE
SOFT SECTOR
SOFT SECTOR
HARD 16 SECTOR
HARD16SECTOR
PRICE
33.00
33 00
33.00
'59.00
90.00
PRICE
10/39.00
10/65.00
10739.00
10/65.00
DESCRIPTION
1-9
10-49
50-99
100 Up
14 PIN TIN ST
.15
.13
.12
.11
16 PIN TIN ST
.16
.14
.13
.12
18 PIN TIN ST
.19
.18
.16
.14
20 PIN TIN ST
.25
.23
.21
.20
24 PIN TIN ST
.26
.24
.22
.20
28 PIN TIN ST
.32
.30
.29
.27
40 PIN TIN ST
.42
.40
.38
.34
PART ■
FDI-tM
FH1-32
FD2-XO
PART ■
SRW-5
SRW-8
PERSONAL SOFTWARE for APPLE
TRS80, PET, & ATARI
DESCRIPTION
VISICALC APPLE DISK
DESKTOP PLAN APPLE DISK
MICHOCHESS 2.0 APPLE DISK
MICROCHESS 2.0 APPLE
CHECKER KING APPLE DISK
CHECK KING APPLE
GAMMON GAMBLER APPLESOFT DISK
GAMMON GAMBLER APPLE
BRIDGE PARTNER APPLESOFT DISK
BRIDGE PARTNER APPLE
CCA DATA MGMT SYS APPLE DISK
MICROCHESS 2.0 8-32K PET
CHECKER KING PET
GAMMON GAMBLER PET
BRIDGE PARTNER PET
VISICALC -PET
CCA DATA MGMT SYS TRS80 DISK
MICROCHESS 1.5 TRS80
CHECKER KING TRS80
BRIDGE PARTNER TRS80
TIME TREK TRS80
VITAFACTS PKG/6 PET APPLE TRS
VISICALC -ATARI
PRICE
125.00
79.95
21.95
17.95
21.95
17.95
21.95
17.95
21.95
17.95
79.95
17.95
17.95
17.95
13.95
175.00
65.00
17.95
17.95
13.95
13.95
100.00
175.00
SHUGART 801 R DISK DRIVE
Single Density Double Density
Capacity
Unformatted
Per Disk
Per Track
IBM Format
Per Disk
Per Track
400K
5.2K
256 K
3328
800 K
10.4K
512K
6656
500 kilobits/sec
83 ms
8 ms
260 ms
B ms
35 ms
Transfer Rate 250 kilobit/sec
Latency (avg.) 83 ms
Access Time
Track to Track 8 ms
Average 260 ms
Settling Time 8 ms
Head Load
Time 35 ms
Model 801 $400.00
Case & Power Supply $265.00
The Epson MX-80
80 COLUMN DOT MATRIX PRINTER
SPECIFICATIONS
Print method ■
serial impact dot
matrix
Print rate ■ 80 CPS
Print direction ■
bidirectional
Number of pins
in head ■ 9
Matrix -9x9
Line spacings - 1/8", 1/6", 7/72" + programmable
Throughput at 10 CPI ■ logical seeking
function - 105 LPM, 20 character line;
73 LPM, 43 char, line; 48 LPM. 80 char, line
PRINTING CHARACTERISTICS
Character set - full 96-character ASCII
with descenders
Graphics characters ■ 64 block characters
INTERFACES
Standard ■ Centronics-style 8-bit parallel
Optional - RS232. IEEE488.
Buffer size - 1 line
New MX80FT Available
CALL FOR PRICE & DELIVERY
8" DISKETTES
SIOES/DENSITY SECTORING PRICE
1/SINGLE SOFT SECTOR 10/45.00
l/SINGLE SOFT32SECTOH 10/45.00
2/OOUBLE SOFT SECTOH 10155 00
SRW
MEDIA STORAGE CASES
SIZE PRICE
5'.i" 12.50 aa
8" S3.2S ea
APPLE
SOFTWARE
by EDU-WARE
INTRODUCING
asap's Atari 800
Computer System • 16K RAM Module
$75 00
7 YEAR WARRANTY PARTS AND LABOR
DESCRIPTION
PRICE
COMPU-MATH
(FRACTIONS)
29.95
COMPU-MATH
(DECIMALS)
29.95
COMPU-READ
19.95
EDU-PAKI
35.00
TERRORIST
24.95
WINDFALL
16.95
NETWORK
16.95
SPACE
24.95
PRISONER
24.95
mSUSSm'
BASES, HEADS, MTS. &
COMBINATIONS
(ALL SOFTWARE ON DISK)
ZIP DIP II
Zero Insertion Pressure Test Socket
PART*/ PINS 1-9 10-24 25 UP
ZD1116 16 5.35 5.15 4.95
ZD1124 24 7.35 7.10 6.85
ZD1140 40 9.75 9.50 9.25
PARTS DESCRIPTION
300 STANDARD BASE
301 STANDARD PANAVISE
303 STANDARD HEAD
304 LOW PROFILE HEAD
305 LOW PROFILE BASE
308 WEIGHTED BASE
310 SURFACE PLATE
311 BENCH CLAMP
315 CIRCUIT BOARD HOLDER
333 RAPID ASSEMBLY
350 WORK CENTER STATION
366 WIDE OPEN HEAO
376 SELF-CENTERING HEAD
380 VACUUM BASE
ACCESSORIES
PART* DESCRIPTION
316 EXTRA ARMS
318 12" BAR
343 NYLON JAWS (PAIR1
344 GROOVED NYLON JAWS
346 NEOPRENEJAWS
353 STEEL JAWS
359 UNIVERSAL HOLDER
PRICES
11.95
24.95
14.49
15.25
11.95
14.25
33.95
14,49
16 95
3095
38.95
13.95
16.95
16.95
PRICE
9.50
3.49
2.00
2.00
2.50
2.95
6.95
IDS SOCKET CONNECTORS
Crimp-On Type
Contacts
20 PINS
26 PINS
34 PINS
40 PINS
50 PINS
1-9 10-24 25 Up
2.95
3.25
4.45
5.65
5.95
2.75
2.95
4.25
5.35
5.65
2.50
2.75
3.95
4.95
5.25
DIP SWITCHES"
PART # POSITIONS 1-9 10-24 25 UP
DS4P
4
1.25
1.20
1.15
DS5P
5
1.30
1.20
1.10
DS6P
6
1.35
1.25
1.10
DS7P
7
1.40
1.25
1.10
DS8P
8
1.40
1.20
1.05
IDS CARD-EDGE CONNECTORS
Crimp-On Type
Contacts
20 PINS
26 PINS
34 PINS
40 PINS
50 PINS
1-9
3.95
4.95
5.25
6.25
6.95
10-24
3.75
4.55
4.95
5.85
6.35
25 Up
3.50
4.25
4.75
5.50
5.95
MICROBYTE 32K STATIC RAM BOARD
asap
•2 MK2 or i MHz operation
•4K Hardware cr software selectable
•Will operate with of without front panel
• Low powei consumption 800mA
•Fully warranted lor 120 days trom date at shipment
•Uses Intel low-power 214TL-1 4Kx1 Static RAM
•Each 4K Dank addressable to any 4K slot within
a 64K boundary
$450°
-Fully S100 bus
compatible
IMSAI. SOL,
ALTAIR,
ALPHA MICRO
GODBOUT 32K ECONORAM XX
Static 5-100 Memory
32K Bank Select. IEEE S-100 compatible. One
32K block can be addressed on 4K boundaries.
Compatible with IEEE proposed standard of 24
address lines and all currently used bank select
configurations. Disable any or all of the eight 4K
blocks to create as many windows in memory to
avoid system memory conflicts.
PART H DESCRIPTION PRICE
GBERXX16K 16K A & T $339.00
GBERXX24K 24K A & T $449.00
GBERXX32K 32K A & T $579.00
PART#
CA832PT
$24
50
DISK DRIVE
CABLE ASSEMBLY
DESCRIPTION
CONNECTS (2) 8"
DISK DRIVES (Shugart
Qume, etc.) TO
STANDARD DISK
CONTROLLER BOARD
CATALOG REQUEST
Please send me your
1981 asap
Full Line Catalog
Address.
City
Stale
-Zip-
computer
products,
NEW LOCATION
1198 E. Willow Street
Signal Hill, CA 90806
Toll Free (800) 421-7701 Outside Calif.
(213)595-6431 msidecaiii.
ORDERING INFO
Name, address, phone
Ship by UPS or Mail
Shipping Chrg. Add S2.50 up to
1 lb. -Call lor larger shipments
Freight, U.S. Mail Add $1.50
U.S. Only up to 2 lbs.
We Accept Cash, Check, Money
Orders, Visa & Master Charge
(U.S. Funds Only)
» Tax: 6% Calif. Res.
COD's s Terms Available on
Approval (School PO's Accepted)
($25.00 Minimum Order)
Circle 25 on Inquiry card.
Letters,
Continued from page 34:
Venice, only to find the wares Much Ado
About Nothing, or even The Comedy of
Errors? Or, after conceiving a program
during A Midsummer Night's Dream,
who has not labored until the Twelfth
Night just to get the output As You Like
It? . . . CPF
Modification Caveat
While I especially enjoyed the article
"What's Inside Radio Shack's Color Com-
puter" (March BYTE 1981, page 90), there
is a problem I would like to pass on to
other BYTE readers.
The authors indicated that the proces-
sor speed can be doubled by issuing a
POKE 65495,0 command. Before I had
my computer upgraded for Extended Col-
or BASIC, I used this method to make
programs run faster. But after getting the
Extended BASIC upgrade, I had problems
with double speed. During program ex-
ecution, everything worked. But if the
machine was still operating at double
speed when the program ended, the com-
puter would hang up, requiring me to
reset it. (I solved this by restoring the nor-
mal speed with POKE 65494,0 before the
program ended.) But if the program ended
unexpectedly, before I could restore nor-
mal speed, the computer would hang up.
Richard A Schafer
POB 1171
Fond du Lac WI 54935
The people at Radio Shack advise us
that the processor and other parts are
designed for 1 MHz operation, and that
any time you try to double this speed,
you're inviting problems. The reason you
had problems with Extended BASIC at the
higher speed is that it keeps certain parts
(eg: processor and the peripheral interface
adapter) busier than non-Extended BASIC
does. At 2MHz, these parts are over-
loaded. . . . GS
Define the Problem
I read Gregg Williams's "Is This Really
Necessary? A First Look at Design Tech-
niques" (March 1981 BYTE, page 6) with
interest. Concerning the lifespan of a
medium-sized system (described on page
8), the first phase will also be called sys-
tem and problem analysis instead of (sys-
tem) design.
In the system analysis, the system en-
vironment is studied and all the para-
meters that have an influence on the sys-
tem are resumed and their interrelation is
defined (perhaps using decision tables). In
the problem analysis, the designer must
devise alternative schemes to solve the
problem and choose the best approach.
By the end of the analysis, the system has
been completely specified (hardware and
software). But, more important than the
designation of the different phases is the
fact that, as Mr Williams mentioned, the
designer must at first respond to the
"what" of the question. In practice, most
people try to solve a problem before it has
been specified.
The importance of the analysis/specifi-
cation and design phases in a well-man-
aged project is shown by T H Bruggere in
his article "On-Schedule, Reliable Soft-
ware Depends on Sound Methodology"
(EDN January 7, 1981).
Finally, in the references, Mr Williams
failed to mention M A Jackson's Principles
of Program Design (New York: Academic
lit Pi [II if II
Brand New, Top Quality, Exact Replacement Ribbons & Cartridges. These Ribbons Produce
Super Jet Black Impressions and Ultra Reliable Print Life. They Are Delivered to Your Door
Promptly for Much Less Than Most Retail Stores
•SPECIAL! BUY 10 and GET ONE FREE!
YOUR PRINTER
>ACK SIZE RETAIL LIST'
RADIO SHACK LPIII, LPV
RADIO SHACK LPII, LPIV
CENTRONICS. MODS 700 In 703
CENTRONICS 100, 101A. 102,
103,300,301,306,308,330,
358,398,500,501,503,508,
588, 620, 820.
CENTRONICS 704-705
IBM -'SILVER DOLLAR" Sys.
34, Sys. 32 MDLA, Series
IMDL4974, 5256, 3287, 3770,
3771-3774,4974,5100,5103,
5110, 5228. 5256, 5320MDLA
IBM - HARMONICA !4". SERIES
I. MOD 4973/11, 3200, 3289,
MOD 2.
TELETYPE MOD 33, 28, 35, 37.
38, 88.
DIABLO HYTYPE II (M/S8LK) HI
YIELD. FITS 70 PRINTERS!
QUME (FITS 80 PRINTER MODS)
WANGM/S. 5541W.WC, 5581.
WD, 658 1W, 2281 W
DEC '/> x 40YD.
DEC Vl x 60YD.
NEC SPINWRITER
one/pk
3/pk
3/pk
3/pk
1/pk
5/pk
3/pk
10/pk
1/pk
3/pk
1/pk
3/pk
3/pk
4/pk
13.95/rart
18.95/3 pk
18.95/3 pk
26.33/3 pk
16.95 ea
5.80 ea
9.42 ea
2.40 ea
9.31 ea
18.00/3 pk
6.85 ea
17.77/3 pk
20.12/3 pk
23.40/3 tart
YOUR WHOLESALE PRICE
8.95/Reload rib. only (S.95 ea)
11.95/3 pic /3.9S ea)
11.95/3 pic /3.9B ea)
17.55/3 pk /5.B5 ea)
13.95/Giant Cart
14.90/5 pk
20.85/3 p<
13.90/10 pk
6.87 ea
13.95/3 |*
5.95 ea
12.95/3 |*
14.25/3 |*
23.60/4 pk rb. reload
1 13.95 ea)
(2.98 ea)
(6. 95 ea)
11.39 ea)
(6.S7 ea)
(4.65 ea)
(5.95 ea)
(4.32 ea)
(4. 75 ea)
(5.90 ea)
SIZE
.50D" x45'
.563" « 45'
.563" x 45'
1" x 108'
5/16" x210'
9/16" x 30'
1/2" x 36'
5/16" x
"High Yield"
1/4" x 310'
5/16" x 393'
1/2" x 120'
1/2" x 180'
1/2" x 51'
COMMENTS
Nylon I ricl Instr
Nylon Jet Blk
Nylon Jet Blk
Nylon Jet Blk
5 mil High Speed
Giant Cart
Nylon Jet Blk
Nylon Jet Blk
Nylon Jet Blk
300.000 plos imp.
Moltistrike Film
Multistrike Film
Double Spools
Double Spools
Nylon/Ex Lng Lite
R-T3
C-700
C-700
C-100
C-7045
R-300
C-350
R-450
C-511
C-625
C-550
R-600
R-644
R-400
TERMS:
MINIMUM PURCHASE- $20
PAYMENTBY: CO. D. (UPS), CHECK,
MASTER CARD, OR VISA CHARGE
CARD.
VOLUME DISCOUNTS:
20- 50 PACKS 10%
51-100 PACKS 15%
•UNDER $20, ADD $5 HANDLING.
"APPROX. RETAIL. PRICE VARIES.
ANCIE LABORATORIES
9204 Baltrnora Blvd
CoHsg* Part. MD 20740
301-345-6000 (With DC Local)
301-792-2060 (Ballo. MO Local)
8O0-63B-0967 (National)
ADDRESS-
CITY
ANCIE Laboratories
9204 Baltimore Blvd.
College Park, MD 20740
301 -345-6000 (Wash. D.C Local)
301-792-2060 (Balto. MD Local)
800-638-0987 (National)
CAT*
□ Check Enclosed
□ C.O.D.
D VISA
□ MASTER CHARGE
ACCT. #
EXP. DATE
MIN. ORDER $20
PRICES SUBJECTTO CHANGE
282 August 1981 © BYTE Publications Inc
Circle 19 on inquiry card.
we carry it all....
Atari® Software
VisiCalc 149
CX4101 Invitation to Programming 1 .. 17
CX4104 Mailing List 17
CX4102 Kingdom 13
CX4103 Statistics 17
CX4105 Blackjack 13
CX4106 Invitation to Programming 2 . . 20
CX4107 Biorhythm 13
CX4108 Hangman 13
CX4109 Graph It 17
CX41 1 1 Space Invader 17
CX41 10 Touch Typing 20
CX41 1 5 Mortgage & Loan Analysis. ... 13
CX41 16 Personal Fitness Program .... 13
CX41 1 7 Invitation to Programming 3 . . 20
CX41 1 8 Conversational French 45
CX41 1 9 Conversational German 45
CX4120 Conversational Spanish 45
CX41 21 Energy Czar 13
CX41 25 Conversational Italian 45
CX8108 Stock Charting 20
CXL400 1 Educational System Master . . 21
CXL4002 Basic Computing Language . . 46
CXL4003 Assembler Editor 46
CXL4004 Basketball 30
CXL4005 Video Easel 30
CXL4006 Super Breakout 30
CXL4007 Music Composer 45
CXL4009 Chess 30
CXL401 3-D Tic-Tac-Toe 30
CXL401 1 Star Raiders 33
CXL4015 TeleLink 20
Talk & Teach Courseware:
CX6001 to CX601 7 23
everything
and Atari
for Commodore
Atari® Peripherals:
400 16K $349
410 Recorder 59
810 Disk 469
815 Disk 1 199
822 Printer 359
825 Printer 629
830 Modem 159
850 Interface Module 1 39
Atari® Accessories
CX853 16K RAM 89
CX70 Light Pen 64
CX30 Paddle
CX40 Joystick
CX86 Printer Cable
C016345 822 Thermal
Printer Paper
CAO16087 825 80-col.
Printer Ribbon
(3/box)
Microtek 16K RAM
18
18
42
17
79
Microtek 32K RAM 179
H commodore
VIC-20 $ 279
4032N 1020
8032 - 1175
CBM 4022 Printer 630
CBM 4040 Drive 1020
CBM 8050 Drive 1420
CBM C2N Drive 87
PET-IEEE Cable 37
IEEE-IEEE Cable 46
Jk
ATARI 800
with 32K RAM
Disks
Maxell Disks 1 for $36
Syncom Disks 1 for 29
Atari Disks 5 for 22
only $759
Printers
NEC 5530
Diablo 630 ....
Trendcom 100
Starwriter
Trendcom 200
12495
2195
299
1495
489
Paper Tiger 445G 769
Paper Tiger 460G 1219
Epson MX-80 ~|
MX-80FT > Call for new prices!
MX-70 J
Tally 8024 1699
Software
EBS Accounts Receivable
Inventory System $595
OZZ Information System 329
BPI General Ledger 329
Tax Package 399
Dow Jones Portfolio Management . . 129
Pascal 239
WordPro 3 (40 col.) 1 86
WordPro 4 (80 col.) 279
WordPro 4 Plus (80 col.) 339
Wordcraft 80 319
Please Call Between 1 1AM & 6PM
(Eastern Standard Time)
(800) 233-8950
No Risk-
No Deposit On
Phone Orders -
COD or
Credit Card -Shipped Same Day You Call'
Prepaid Orders Receive Free Shipping
master charge
* on all in stock units
Computer Mail Order
Circle 73 on inquiry card.
501 E. Third St., Williamsport, PA 17701 (717) 323-7921
Circle 317 on inquiry card.
IF
YOU'RE IN
COMPUTERS,
YOU
SHOULD BE
IN
AKRON
FIND OUT WHY!
For more information about Akron write to:
Mr. David B. Petersilge
Private Industry Council Coordinator
c/o Akron Regional Development Board
One Cascade Plaza
Suite 800
Akron, Ohio 44308
(216) 376-5550
NAME
TITLE
COMPANY
ADDRESS .
CITY
STATE
ZIP
©
pie
Hi pr IltiTd iratui'
pHisrifo iratui'V y council
This advertisement prepared and placed oy the Private Industry Council (PIC)
for the City of Akron and Summit and Medina Counties.
Letters ,
Press, 1975), which shows how to correct-
ly dissect a problem. In his method, the
program structure is based on the data
structure that is first defined.
Roland Vannay
Kirchweg 43a
5415 Nussbaumen
Switzerland
Correction
I want to correct an inaccuracy in Chris
Morgan's editorial in the May 1981 BYTE.
(See "How Can We Stop Software
Piracy?", page 6.) RCS/MicroModeller
was developed in the United States by
Ferox Microsystems Inc (Falls Church,
Virginia) and is marketed in England by
Intelligence (UK) Limited. RCS has been
marketed in the United States and Canada
under the name Micro DSS/F by Addi-
son-Wesley Publishing Company since
June, 1981.
Any BYTE readers interested in further
information about RCS should contact
Phil Evans, our vice-president of
marketing, at the address below or call
him at (800) 336-4766; in Virginia (703)
998-0330.
Rusty Luhring
President
Ferox Microsystems Inc
5881 Leesburg Pike
Suite B-l
Falls Church VA 22041
Manual Printers
"The Epson MX-80 and MX-70
Printers" was a very informative article.
(See the May 1981 BYTE, page 22.)
However, I called Epson in Great Neck,
New York, to see if I could get David
Lien's MX-70 User's Manual, as men-
tioned on page 30, and I was told it does
not exist! Does BYTE know something
Epson doesn't? If so, how can I get this
manual?
Richard FitzHugh
3806 Everett St
Kensington MD 20795
Early shipments of Epson printers were
not accompanied by a user's manual.
Owners of Epson printers can obtain a
user's manual, free of charge, by contact-
ing Kari Westlake, Epson America Inc,
23844 Hawthorne Blvd., Torrance CA
90505, (213) 378-2220. . . . MHl
284 August 1981 © BYTE Publications Inc
Begin
at
square
one.
No one covers
the computer
world like
Business Week.
Business Week is
the only business
publication with
an entire editorial
section,
Information
Processing,
covering the
computer
industry. Week
after week,
Business Week
keeps more than
5 1 /2 million
business leaders
up to date on
important
changes and
developments in
the world of
computers,
computer
software and
services. When it
comes to
computers,
Business Week
has much more
coverage than
Fortune, Forbes
or the Wall Street
Journal.
Business Week
readers have
purchasing
power.
9 out of 1
Business Week
subscribers hold
management
positions. And
over 30% are
involved in the
purchasing or
leasing decisions
for computer
equipment,
services and
software.
Business Week
has the lowest
cost per
thousand.
Business Week
has the lowest
CPMof any
newsweekly or
business
publication in
reaching
managers who
make purchasing
decisions in the
electronic data
processing
category, both for
equipment and
services. You get
the best audience
there is, for the
smallest byte out
of your
advertising
budget.
So get the
complete picture
from Frank Long
at Business Week,
McGraw-Hill
Building, 607
Boylston Street,
Boston,
Massachusetts
02116,
61 7-262-1 160, or
Donald Thompson,
Business Week,
425 Battery
Street,
San Francisco,
California 941 11,
415-362-4600,
or your nearest
Business Week
representative.
Sources: BW Profile '81. MRI
[Spring 1381)
BusinessWeek BIB
Circle 39 on inquiry card.
BYTE August 1981 285
Design Principles
Behind Smalltalk
The purpose of the Smalltalk pro-
ject is to provide computer support
for the creative spirit in everyone.
Our work flows from a vision that in-
cludes a creative individual and the
best computing hardware available.
We have chosen to concentrate on
two principal areas of research: a
language of description (program-
ming language) that serves as an in-
terface between the models in the
human mind and those in computing
hardware, and a language of interac-
tion (user interface) that matches the
human communication system to that
of the computer. Our work has
followed a two- to four-year cycle
that can be seen to parallel the scien-
tific method:
Daniel H H Ingalls
Learning Research Group
Xerox Palo Alto Research Center
3333 Coyote Hill Rd
Palo Alto CA 94304
• Build an application program
within the current system (make an
observation)
• Based on that experience, redesign
the language (formulate a theory)
• Build a new system based on the
new design (make a prediction that
can be tested)
The Smalltalk-80 system marks our
fifth time through this cycle. In this
article, I present some of the general
principles we have observed in the
ATTENTION GOVERNMENT D P
USERS AND PURCHASERS
We represent many fine micro products and manufacturers
on the U.S. Government's GSA Schedule, including
Apple, Cromemco, Micropolis
and Seequa Computers
Purchasing from the Schedule will save you the time
consumed by the bid process. Products shipped throughout
the United States and world-wide. Visit or write any of our
stores for more information or to receive our catalogue of
products represented.
Computes,
the dependable store
257 West Street, Annapolis, MID 21401 - (301) 268-6505
13A Allegheny Avenue, Towson, MD 21204 - (301 ) 296-0520
9330 Georgia Avenue, Silver Spring, MD 20910 - (301) 588-3748
6671 Backlick Road, Springfield, VA 22150 - (703) 644-5500
Plaza 38. 2442 Route 38, Cherry Hill, NJ 08002 - (609) 779-0023
Callers outside metropolitan areas served by our stores
Please call (301) 268-5801
Career Opportunities Available * An Equal Opportunity Employer
course of our work. While the presen-
tation frequently touches on
Smalltalk "motherhood," the prin-
ciples themselves are more general
and should prove useful in evaluating
other systems and in guiding future
work.
Just to get warmed up, I'll start
with a principle that is more social
than technical and that is largely
responsible for the particular bias of
the Smalltalk project:
Personal Mastery: // a system is to
serve the creative spirit, it must be en-
tirely comprehensible to a single in-
dividual.
The point here is that the human
potential manifests itself in in-
dividuals. To realize this potential,
we must provide a medium that can
be mastered by a single individual.
Any barrier that exists between the
user and some part of the system will
eventually be a barrier to creative ex-
pression. Any part of the system that
cannot be changed or that is not suffi-
ciently general is a likely source of
impediment. If one part of the system
works differently from all the rest,
that part will require additional effort
to control. Such an added burden
may detract from the final result and
will inhibit future endeavors in that
area. We can thus infer a general
principle of design:
Good Design: A system should be
built with a minimum set of un-
changeable parts; those parts should
be as general as possible; and all parts
of the system should be held in a
uniform framework.
Language
In designing a language for use
with computers, we do not have to
look far to find helpful hints.
286 August 1981 © BYTE Publications Inc
Circle 80 on inquiry card.
COfTlPUTER DEVICES
FEATURE PRODUCT
$629.00
S-100 PRODUCTS
vsppm . w
QUALITY RAM FROM SYSTEMS GROUP
• Z-80 4MHZ operation with no wait states
• IEEE compatible timing - 200 NS 4116's
• Factory assembled, tested & burned in
DMB6400'64K(Bank Select, shown) $749.00
DM6400 64K 545.00
DM4800 48K 520.00
DM3200 32K 495.00
CONFIGURE A COMPLETE S-100 SYSTEM
WITH 2nd GENERATION' PRODUCTS
FROM SYSTEMS GROUP.
• CPC 2810 (shown) Z-80A processor board
(4MHZ) with 4 serial & 2 parallel
ports $369.00
• CPC2813 - same as CPC2810 but 2 serial
ports only $345.00
• FDC2801/8 - 8" floppy disk controller
board, up to 4 single/double sided drives,
single or double density $349.00
• [NO-2804 - 4 channel serial I/O 329.00
• CRA-100-Cromix' adaptor board.. 45.00
CALL US FOR OUR MOST
CURRENT PRICES!
"2nd Generation is a trademark of Measurement
Systems and Controls. Cromix is a trademark of
Cromernco, Inc. Tilt-Back is a trademark of
Wabash. Inc.
ADDS VIEWPOINT TERMINAL
Detachable keyboard weighs only 2 lbs.
110-19,200 Baud - RS-232C
Cursor control keys - audible tone
24 x 80 characters - 12" screen
14 key numeric keypad
7 switch selectable character sets
Addressable cursor
2 position screen tilt
Normal or reverse video
Half or zero intensity
3 function keys (six functions)
Lightweight (22 lbs. with keyboard)
Switch select block or underline cursor
Switch select blinking or steady cursor
16K MEMORY <, OQ nn
EXPANSION KIT $<*»•""
For Apple. TRS-80 keyboard, Exidy, and all
other systems using 4116 dynamic rams or
equivalent. All IC's are prime Mitsubishi MK
4116-3.
• 200 NSEC access, 375 NSEC cycle
• Burned-in and fully tested
• 1 ftdl year parts replacement guarantee
wabash
8" or 5 1 /j" flexible diskettes certified 100%
error free with manufacturers 5 year limited
warranty on all 8" media. Soft sectored in tilt-
back* boxes of 10. 5Vi" available in 10 Sector.
(Add $3.00 for plastic library cases)
8" single sided, single density $29.95
8" single sided, double density 37.95
8" double sided, double density 48.95
5 l A" single sided, single density 27.95
5VS" single sided, double density 29.95
8" DISK DRIVES
Shugart 801R $390.00
NEC FD1160 (double sided) 595.00
Memorex MRX-101 8" Winchester style, hard
disk drive, 10 megabytes $2,000.00
fi502 PRODUCTS
BETA 32K BYTE EXPANDABLE RAM FOR
fi502 AND 6800 SYSTEMS
AIM 65 KIM SYM PET S44-BUS
• Plug compatible with the AIM-65/SYM expan-
sion connector by using a right angle connec-
tor (supplied).
• Memorv board edge connector plugs into the
6800 S44 bus.
• Connects to PET using an adaptor cable.
• Uses + 5V only, supplied from the host com-
puter.
• Full documentation. Assembled and tested
boards are guaranteed for one full year.
Purchase price is fully refundable if board is
returned undamaged within 14 davs.
Assembled with 32K RAM ^...$349.00
& Tested with 16K RAM 329.00
Bare board, manual & 6 hard-to-get parts. 99.00
PET interface kit. Connects the 32K RAM board
toa4Kor8KPET $ 69.00
ROCKWELL AIM 65
AIM 65 with IK ram $425.00
AIM 65 with4K ram 485.00
AIM power supply 125.00
Professional AIM enclosure 169.00
Budget AIM enclosure 50.00
KIM enclosure 40.00
SYM enclosure 30.00
TERMS: Minimum order $15.00. Minimum
shipping and handling $3.00. Calif, residents
add 091 sales tax. Cash, checks. Mastercard.
Visa and purchase orders from qualified firms
and institutions are accepted. Product availabili-
ty and pricing are subject to change without
notice.
INTERNATIONAL ORDERS: Add 15 % to pur-
chase price for all orders. Minimum shipping
charge is $20.00. Orders with insufficient funds
will be delayed. Excess funds will be returned
with your order. All prices are U.S. only.
CCXnPUTER D6WC8
ISO W.COUirtJ AVE.
ORRRGE, CR 95668
(714)633-7280
Everything we know about how peo-
ple think and communicate is ap-
plicable. The mechanisms of human
thought and communication have
been engineered for millions of years,
and we should respect them as being
of sound design. Moreover, since we
must work with this design for the
next million years, it will save time if
we make our computer models com-
patible with the mind, rather than the
other way around.
Figure 1 illustrates the principal
components in our discussion. A per-
son is presented as having a body and
a mind. The body is the site of
primary experience, and, in the con-
text of this discussion, it is the
physical channel through which the
universe is perceived and through
which intentions are carried out. Ex-
perience is recorded and processed in
the mind. Creative thought (without
going into its mechanism) can be
viewed as the spontaneous ap-
pearance of information in the mind.
Language is the key to that informa-
tion:
• • • WRITE OR CALL FOR FREE CATALOG* • •
The MAX BOX: Manufactured by ]ohn D. Oviens Associates. 8" dual drive cabinet com-
plete with power supply & fan. Will hold Qumes, Shugarts or Siemens. Excellent design
and engineering $ 325. i
With2Shugart801R Drives. .$1,275. With 2 QUME Double sided drives. .51,680. §
CALIFORNIA COMPUTER SYSTEMS HIGH IN QUALITY, LOW IN PRICE
Z80 CPU, 4 Mhz, with one serial port; 12 slot S-100 mainframe, disk controller, 64K
Dynamic Ram, CP/M2.2® SYSTEM 2210A $1,750.
We configure complete systems with drives and additional I/O.
IMS 5000 and 8000 Systems and IMS Memory
Outstanding long term reliability and performance. These systems feature a Z80A CPU,
S-100 bus; double density drives (either single or double sided), DMA disk controller, 64K
RAM, 2 serial & 1 parallel port. Prices include the very finest implementation of CP/M®
available in the entire industry. Hard disk anc multi user software options.
Multi-User, Networking Operating System: TURBODOS
Turbodos; Spectacular new CP/M® compatible operating system. Z80 code, interrupt
driven. Up to 6X faster than CP/M®up to 35% increased disc capacity. IMS compatible.
Multi-user (up to 16 users) $750. Single user $250.
PER SCI— THE KING AND QUEEN OF DRIVES!
Model 299B: Dual headed drives, total 3.2 MB unformatted $2,300.
Model 277: Dual 8 inch drives, voice coil positioned, IBM compatible, 1600 K BYTES per
drive, unformatted $1,245.
Slimline cabinet and power for either 277 or 29? $ 300.
GRAPHICS EQUIPMENT
MICROANGELO $2,295.
High resolution graphics system. 15" 22MHZ, green phosphor screen, 72 key keyboard;
includes complete cabling and software. From SCION. Screenware PAK II $ 350.
S-100 Graphics card $ 985.
HIP AD DIGITIZER from Houston Instruments. Create graphics using stylus. Easier
than joystick or keyboard input. For S-100, Apple, TRS-80, PET $755.
GRAPHICS SOFTWARE. On line, real time, for the M9900 to drive the Microangelo.
For use in design of PC board masks, IC masks and other applications $1,000.
CAT 100 Full Color Graphics: Digital Graphics Complete S-100 color imaging system
w/high performance video FRAME/GRABBER $1,875.
MAURO MP-250B Proac Plotter: Uses standard paper, choice of pen colors and line
widths, resolution is 200 steps per inch; .005" tracking error; RS232 $895.
WE EXPORT:
Overseas Callers:
TWX 710 588 2844
Phone 212 448-6298 or Cable: OWENSASSOC
WE OFFER A FULL RANGE OF EXPERT CONSULTING SERVICES
JOHN D. OWENS
Associates, Inc.
12 Schubert Street
Staten Island, New York 10305
1 44816283 212 448-2913 212 448-6298
Purpose of Language: To provide a
framework for communication.
The interaction between two in-
dividuals is represented in figure 1 as
two arcs. The solid arc represents ex-
plicit communication: the actual
words and movements uttered and
perceived. The dashed arc represents
implicit communication: the shared
culture and experience that form the
context of the explicit communica-
tion. In human interaction, much of
the actual communication is achieved
through reference to the shared con-
text, and human language is built
around such allusion. This is the case
with computers as well.
It is no coincidence that a computer
can be viewed as one of the par-
ticipants in figure 1. In this case, the
"body" provides for visual display of
information and for sensing input
from a human user. The "mind" of a
computer includes the internal
memory and processing elements and
their contents. Figure 1 shows that
several different issues are involved in
the design of a computer language:
Scope: The design of a language for
using computers must deal with inter-
nal models, external media, and the
interaction between these in both the
human and the computer.
This fact is responsible for the dif-
ficulty of explaining Smalltalk to peo-
ple who view computer languages in
a more restricted sense. Smalltalk is
explicit
communication /"
212 448-2913
[ implicit
i communication J
Figure Is The scope of language design.
Communication between two people (or
between one person and a computer) in-
cludes communication on two levels. Ex-
plicit communication includes the infor-
mation that is transmitted in a given
message. Implicit communication includes
the relevant assumptions common to the
two beings.
288 August 1981 © BYTE Publications Inc
not simply a better way of organizing
procedures or a different technique
for storage management. It is not just
an extensible hierarchy of data types,
or a graphical user interface. It is all
of these things and anything else that
is needed to support the interactions
shown in figure 1.
Communicating Objects
The mind observes a vast universe
of experience, both immediate and
recorded. One can derive a sense of
oneness with the universe simply by
letting this experience be, just as it is.
However, if one wishes to par-
ticipate, literally to take a part, in the
universe, one must draw distinctions.
In so doing one identifies an object in
the universe, and simultaneously all
the rest becomes not-that-object.
Distinction by itself is a start, but the
process of distinguishing does not get
any easier. Every time you want to
talk about "that chair over there,"
you have to repeat the entire process
of distinguishing that chair. This is
where the act of reference comes in:
we can associate a unique identifier
with an object, and, from that time
on, only the mention of that identifier
is necessary to refer to the original
object.
We have said that a computer
system should provide models that
are compatible with those in the
mind. Therefore:
Objects: A computer language should
support the concept of "object" and
provide a uniform means for referring
to the objects in its universe.
The Smalltalk storage manager pro-
vides an object-oriented model of
memory for the entire system.
Uniform reference is achieved simply
by associating a unique integer with
every object in the system. This
uniformity is important because it
means that variables in the system
can take on widely differing values
and yet can be implemented as simple
memory cells. Objects are created
when expressions are evaluated, and
they can then be passed around by
uniform reference, so that no provi-
sion for their storage is necessary in
the procedures that manipulate them.
When all references to an object have
disappeared from the system, the ob-
ject itself vanishes, and its storage is
reclaimed. Such behavior is essential
to full support of the object
metaphor:
Storage Management: To be truly
"object-oriented, " a computer system
must provide automatic storage
management.
A way to find out if a language is
working well is to see it tne programs
look like they are doing what they are
doing. If they are sprinkled with
statements that relate to the manage-
ment of storage, then their internal
model is not well matched to that of
humans. Can you imagine having to
prepare someone for each thing you
tell them or having to inform them
when you are through with a given
topic and that it can be forgotten?
Each object in our universe has a
life of its own. Similarly, the brain
• * • GREETINGS TO OUR FRIENDS IN CHILE* • •
SD SYSTEMS
Z80 STARTER KIT: single board compu-
ter with RAM / ROM, I / O, display, key-
bd, kluge area $360
VFII: double density floopy controller kit,
with software $390
CPU Z80A, 4 Mhz, serial & parallel I/O
IK on-board RAM, Z80 CTC $345
EXPANDORAM II including high quality
4116s $540
Complete SD line available including kits
and FACTORY Assembled and tested
boards & systems at discount prices.
TELETYPE
Model 4320 AAA or AAK
Model 43ASR, 8 level, 1" tape
.$2,595.
dBASE II Ashton-Tate $615.
Brings power of mainframe database
software to a microcomputer. Runs under
CP/M® . Extremely easy to use. Manual
and demo software $50.
Money Back Guarantee
MUSYS Single BD Computer
Z80 processor, 64K Dyn RAM, Console
serial port, S-100 parallel interface,
Bootstrap PROM $1300.
HAZELTINE1500 $ 925.
1510 $1,030.
1520 $1,265.
220 volt models, add $100
EXEC 80 $1,115.
90 day on-site warrantee.
IBM 3101 CRT Model 10 $1,250.
Model 20 $1,450.
Selectric-like, detached keyboard. 9x16
dot matrix. Maintenance contract from
IBM only $70 per yean
ITHACA INTERSYSTEMS
Inventory sale on board sets & systems
MARINCHIP SYSTEMS M9900
Uses TI9900 16 bit CPU. Full S-100, IEEE.
Extensive software. Boards from $550,
systems $4,995.
TEXAS INSTRUMENTS Printers
10% off list price on entire Tl printer line.
CENTRONICS 737 $780.
EPSON MX80 550.
RS 232 Interface $ 50.
CORVUS Hard Drives
Model 11, Hard Disk System $4,820.
Mirror Backup System $ 715.
DMA-DOS NORTH STAR 8" Floppy
Subsystem
A new operating sytem, completely
CP/M® compatible that allows use of
both 8" (Shugart single sided, double
density via Tarbell controller) and 5 l A"
drives. Allows transfer of file from 8" to
5Vi" and vice versa. Complete hardware,
with software package . . . , $1,955.
TARBELL
Double density controller $435.
Z80CPU 395.
TEI MAINFRAMES, S— 100
We are proud to announce that we are
now a TEI stocking distributor. For the
best in mainframes. . . .TEI! I
TELEVIDEO CRTs
912.. $780. 920. .$850.
950. .$1,050.
COMMUNICATIONS SOFTWARE
from Hawkeye Grafix
Enables communcations from a micro to a
terminal or to another micro, mini or
maxi computer.
Object Code $75. Source Code $250.
3M SCOTCH® Diskettes
5 box minimum, price per box
Model 740, 8" single sided,
single density $27. 00
Model 741, 8" single sided,
double density 35.50
Model 743, 8" double sided,
double density 43.00
Model 744-0, 5 l A soft sectored, single sided
744-10, 5Vi", hard sectored,
single sided 27.00
Prices subject to change without notice
JOHN D. OWENS
Associates, Inc.
SEE OUR AD ON FACING PAGE
August 1981 © BYTE Publications Inc 289
provides for independent processing
along with the storage of each mental
object. This suggests a third principle
for object-oriented design:
Messages: Computing should be
viewed as an intrinsic capability of
objects that can be uniformly invoked
by sending messages.
Just as programs get messy if object
storage is dealt with explicitly, con-
trol in the system becomes com-
plicated if processing is performed ex-
trinsically. Let us consider the process
of adding 5 to a number. In most
computer systems, the compiler
figures out what kind of number it is
and generates code to add 5 to it. This
is not good enough for an object-
oriented system because the exact
kind of number cannot be determined
by the compiler (more on this later).
A possible solution is to call a general
addition routine that examines the
type of the arguments to determine
the appropriate action. This is not a
good approach because it means that
this critical routine must be edited by
novices who just want to experiment
with their own class of numbers. It is
also a poor design because intimate
knowledge about the internals of ob-
jects is sprinkled throughout the
system.
Smalltalk provides a much cleaner
solution: it sends the name of the
desired operation, along with any
arguments, as a message to the
number, with the understanding that
the receiver knows best how to carry
out the desired operation. Instead of a
bit-grinding processor raping and
plundering data structures, we have a
universe of well-behaved objects that
courteously ask each other to carry
out their various desires. The
transmission of messages is the only
process that is carried on outside of
objects and this is as it should be,
since messages travel between ob-
jects. The principle of good design
can be restated for languages:
Uniform Metaphor: A language
should be designed around a power-
ful metaphor that can be uniformly
applied in all areas.
Examples of success in this area in-
clude LISP, which is built on the
model of linked structures; APL,
which is built on the model of arrays;
and Smalltalk, which is built on the
model of communicating objects. In
each case, large applications are
viewed in the same way as the fun-
damental units from which the
system is built. In Smalltalk especial-
ly, the interaction between the most
primitive objects is viewed in the
same way as the highest-level interac-
tion between the computer and its
user. Every object in Smalltalk, even
a lowly integer, has a set of messages,
a protocol, that defines the explicit
communication to which that object
can respond. Internally, objects may
have local storage and access to other
shared information which comprise
the implicit context of all communica-
tion. For instance, the message + 5
(add five) carries an implicit assump-
tion that the augend is the present
MAIL ORDER DISCOUNTS
tipple computer
* Sales and Service
APPLE II PLUS 48K
$1,099
WE DISCOUNT PRICES — NOT SERVICE
HARDWARE
DISK II DRIVE & INTERFACE 499
DISK II SECOND DRIVE 445
BASF 5V 2 " DISKETTES (10) 25
LANGUAGE SYSTEM W/PASCAL 395
INTEGER BASIC FIRMWARE CARD 149
APPLESOFT II FIRMWARE CARD 149
CENTRONICS PRINTER INTERFACE CARD .179
HIGH-SPEED SERIAL INTERFACE CARD ... 145
GRAPHICS TABLET 649
APPLE IEEE-488 INTERFACE CARD 369
M&R SUP-R-MOD RF MODULATOR 30
MICROSOFT Z-80 SOFTCARD SYSTEM 290
MICROSOFT 16K RAM CARD 169
VIDEX BO COLUMN BOARD 295
HAYES MICROMODEM II 299
AMDEX 13" COLOR MONITOR 429
NEC 12" GREEN MONITOR 239
SILENTYPE PRINTER W/INTERFACE 350
EPSON MX-80 FT 649
QUME SPRINT 5/45 PRINTER 2499
SOFTWARE
APPLE DOS TOOLKIT 65
APPLE PLOT 60
TAX PLANNER 99
APPLE FORTRAN 159
APPLE PILOT 125
APPLE MUSIC THEORY 39
APPLEWRITER 65
DOW JONES PORTFOLIO EVALUATOR 45
DOW JONES NEWS & QUOTES REPORTER . 85
THE CONTROLLER 515
VISICALC (16 SECTOR) 165
VISIPLOT 149
VISITREND/VISIPLOT 215
DESKTOP PLAN II 159
BPI BUSINESS SOFTWARE (EACH) 335
SUPER TEXT II 125
PROGRAMMA APPLE PIE 110
EASYWRITER (80 COLUMNS) 219
D.B. MASTER 180
MICROSOFT FORTRAN 165
y I v
ATARI
ATARI 800 32K*
$759
ATARI 400 (16K) 350
410 PROGRAM RECORDER 69
810 DISK DRIVE 499
815 DUAL DISK DRIVE 1199
16K RAM MEMORY MODULE 89
850 INTERFACE MODULE 175
830 ACOUSTIC MODEM 159
825 PRINTER (CENTRONIC 737)* 650
JOYSTICK PAIR 18
LIGHT PEN 65
ATARI VISICALC 169
BASIC LANGUAGE 45
ASSEMBLER EDITOR 45
MUSIC COMPOSER 45
STAR RAIDER 39
COMPUTER CHESS 30
BASKETBALL 30
TELELINK 20
•SPECIAL: Effective until 8/31/81
computer ciq<z. inc.
Authorized Apple Dealer & Service Center
4688 CONVOY STREET, SAN DIEGO, CA 92111
(714) 565-4062
TO ORDER: Please send cashier's check, money order or personal check
(allow 10 business days to clear). VISA and Master Card credit card service
add 3%. American Express credit card service add 5%. Shipping, handling
and insurance in U.S. add 3% (minimum $4). California residents add 6%
sales tax. Foreign orders add 10% for shipping. Equipment is subject to
price change and availability. All equipment carries factory warranty. Store
prices differ from mail order prices. TELEX: 697120 DATAMAX-SDG
CALL OR WRITE FOR A COMPLETE PRICE LIST
290 August 1981 © BYTE Publications Inc
Circle 65 on inquiry card.
BASF FtotyDtak
No.
SU» FI«|4IMk 8 I
ore than four decades of experi-
ence in magnetic media-BASF
invented magnetic recording
tape, the forerunner of today's
wide range of magnetic media,
back in 1934, and was the first
independent manufacturer of
IBM-compatible floppy disks.
Tough Tyvek sleeve— no paper
dust, no static electricity.
Special self-cleaning jacket and
liner help eliminate data errors
and media wear and tear.
BASF BASF FlexyDisk
Center hole diameter punched to
more accurate standards than
industry specifications, for top
performance.
Bi-axially oriented polyester
substrate— for uniform and reli-
able performance year after year.
Cross-linked oxide coating -for
low head wear and long trouble-
free media life.
Total capability -one of two man-
ufacturers in the world that
makes both 8" and 5.25" models,
has tape and disk experience, and
manufactures floppy disk drives.
Double lubrication -lubricants
both in the formula and on the
disk surface, to minimize media
wear due to head friction.
Packaging to suit your
requirements— standard flip-top
box , Kassette 10® storage case,
or bulk pack.
100% certification -every single
disk is tested at thresholds 2-3
times higher than system require-
ments, to be 100% error-free.
For the name of your nearest
supplier, write BASF Systems,
Crosby Drive, Bedford,
MA 01730, or call 617-271-4030.
BASF
Floppy Disks Mag Cards Cassettes Computer Tapes Disk Packs Computer Peripherals
Circle 33 on inquiry card.
value of the number receiving the
message.
Organization
A uniform metaphor provides a
framework in which complex systems
can be built. Several related organiza-
tional principles contribute to the suc-
cessful management of complexity.
To begin with:
Figure 2: System complexity. As the
number of components in a system in-
creases, the chances for unwanted interac-
tion increase rapidly. Because of this, a
computer language should be designed to
minimize the possibilities of such in-
terdependence.
Modularity: No component in a com-
plex system should depend on the in-
ternal details of any other compo-
nent.
This principle is depicted in figure
2. If there are N components in a
system, then there are roughly
N-squared potential dependencies
between them. If computer systems
are ever to be of assistance in complex
human tasks, they must be designed
to minimize such interdependence.
The message-sending metaphor pro-
vides modularity by decoupling the
intent of a message (embodied in its
name) from the method used by the
recipient to carry out the intent.
Structural information is similarly
protected because all access to the in-
ternal state of an object is through
this same message interface.
The complexity of a system can
often be reduced by grouping similar
components. Such grouping is
achieved through data typing in con-
ventional programming languages,
and through classes in Smalltalk. A
class describes other objects — their
internal state, the message protocol
they recognize, and the internal
methods for responding to those
messages. The objects so described
are called instances of that class. Even
classes themselves fit into this
framework; they are just instances of
class Class, which describes the ap-
propriate protocol and implementa-
tion for object description:
Classification: A language must pro-
vide a means for classifying similar
objects, and for adding new classes of
objects on equal footing with the
kernel classes of the system.
Classification is the objectification of
nessness. In other words, when a
human sees a chair, the experience is
taken both literally as "that very
thing" and abstractly as "that chair-
like thing." Such abstraction results
from the marvelous ability of the
mind to merge "similar" experience,
and this abstraction manifests itself as
another object in the mind, the
Platonic chair or chairness.
GRAPHIC
SOFTWARE
FOR
MICROCOMPUTERS
by B.J. Korites, PhD -a self-teaching guide that will showyou how
to write graphics software on your microcomputer. Theory and
program listings presented side by side. Contains 61 programs for
2 and 3 dimensional graphics, isometric and perspective
transformations, scaling, stretching, clipping, intersections,
shading, tablet software, hidden line removal, dynamic simulation,
applications to engineering, science and business. Practice
problems for classroom use. Covers elementary to advanced
concepts. Perfect for professionals, students and software
developers. All programs in BASIC, written on the Apple II Plus
48K but convertible to other systems.
Book With program listings - $19.95 Disk (if programs - $18.95 Add $2 per item shipping in US and Canada, $12 elsewhere. Add $5 lor UPS.
visa/mastercharge accepted. Call (517)934-0445 for faster delivery.
KERN PUBLICATIONS • PO Box 1029A • Duxbury, MA 02332 (617)934-0445
292 August 1981 © BYTE Publications Inc
Circle 187 on inquiry card.
$3398
10M B
HARD
DISK
YOU'VE BEEN
WAITING FOR
XCOMP introduces a complete micro-size disk
subsystem with more...
• MORE STORAGE
• MORE SPEED
• MORE VALUE
• MORE SUPPORT
S100 users . . . The XCOMP subsystem is now
available with 1 megabytes of storage; 5 megabytes
also available at $2,898.00. Compare the price and
features of any other 5'/4-inch — or even 8-inch
system, and you'll agree that XCOMP's value is
unbeatable.
OUTPERFORMS OTHER HARD DISKS
Floppy disk and larger, more expensive hard disks are
no match for this powerful little system. More data is
available on every seek: 64K on 10MB and 32K on
5MB. Faster seek time too — an average of 70MS. It
provides solid performance anywhere with only 20
watts of power. Data is protected in the sealed
enclosure, and the landing zone for heads provides
another margin of safety. The optional power board
plugs directly into the S100 bus and provides power
for the drive.
FAST CONTROLLER
The XCOMP controller is the key to this system's
high efficiency operation. Speed-up features include
interleave without table lookup, block-deblock with
controller buffer, and read lookahead. OEMs world
wide have already proven the outstanding perfor-
mance of the XCOMP controller.
MORE SOFTWARE
Included with the system is software for testing, for-
matting, I/O drivers for CP/M® , plus an automatic
CP/M driver attach program. Support software and
drivers for MP/M® and Oasis® are also available. The
sophisticated formatting program assigns alternate
sectors for any weak sectors detected during format-
ting, assuring the lowest possible error rate — at least
ten times better than floppies.
WARRANTY
The system has a full one-year warranty on parts and
workmanship.
ALSO AVAILABLE FROM XCOMP
• General Purpose controllers (8 bit interface), with
easy interface to microprocessor- based systems.
• GP controller adapter that plugs directly into most
Z80 computers.
• ST/R GP controller for the 5MB and 1 0MB drive
above, with ST506 type interface.
• SG/R GP controller for SA1 000 interface.
• SM/R GP controller for storage module drives.
• ST/S, SG/S, and SM/S, same as above, for the
S100 bus.
Quantity discounts available. Distributor, Dealer, and
OEM inquiries invited.
See your local Dealer, or call:
XCOMP, Inc.
7566 Trade Street
San Diego, CA 92121
Tel: (714) 271-8730
Telex: 182786
Circle 405 on inquiry card.
Classes are the chief mechanism for
extension in Smalltalk. For instance,
a music system would be created by
adding new classes that describe the
representation and interaction pro-
tocol of Note, Melody, Score, Timbre,
Player, and so on. The "equal
footing" clause of the above principle
is important because it insures that
the system will be used as it was
designed. In other words, a melody
could be represented as an ad hoc col-
lection of Integers representing pitch,
duration, and other parameters, but
if the language can handle Notes as
easily as Integers, then the user will
naturally describe a melody as a col-
lection of Notes. At each stage of
design, a human will naturally choose
the most effective representation if
the system provides for it. The princi-
ple of modularity has an interesting
implication for the procedural com-
ponents in a system:
Polymorphism: A program should
specify only the behavior of objects,
not their representation.
A conventional statement of this
principle is that a program should
never declare that a given object is a
Smalllnteger or a Largelnteger, but
only that it responds to integer pro-
tocol. Such generic description is
crucial to models of the real world.
Consider an automobile traffic
simulation. Many procedures in such
a system will refer to the various
vehicles involved. Suppose one
wished to add, say, a street sweeper.
Substantial amounts of computation
(in the form of recompiling) and
possible errors would be involved in
making this simple extension if the
code depended on the objects it
manipulates. The message interface
establishes an ideal framework for
such extension. Provided that street
sweepers support the same protocol
as all other vehicles, no changes are
needed to include them in the simula-
tion:
Factoring: Each independent compo-
nent in a system should appear in
only one place.
There are many reasons for this prin-
ciple. First of all, it saves time, effort,
and space if additions to the system
need only be made in one place. Se-
cond, users can more easily locate a
component that satisfies a given need.
Third, in the absence of proper fac-
toring, problems arise in synchroniz-
ing changes and ensuring that all in-
terdependent components are consis-
tent. You can see that a failure in fac-
toring amounts to a violation of
modularity.
Smalltalk encourages well-factored
designs through inheritance. Every
class inherits behavior from its
superclass. This inheritance extends
through increasingly general classes,
ultimately ending with class Object
which describes the default behavior
of all objects in the system. In our
traffic simulation above,
StreetSweeper (and all other vehicle
classes) would be described as a
subclass of a general Vehicle class,
thus inheriting appropriate default
behavior and avoiding repetition of
the same concepts in many different
places. Inheritance illustrates a fur-
EDITOR, ASSEMBLER AND MORE!
SOFTWARE DEVELOPMENT SYSTEM
The Micro Works Software Development System (SDS80C) is a complete 6809
editor, assembler and monitor package contained in one Color Computer program
pack! Vastly superior to RAM-based assemblers/editors, the SDS80C is non-
volatile, meaning that if your application program bombs, it can't destroy your
editor/assembler. Plus it leaves almost all of 16K or 32K RAM free for your
program. Since all three programs, editor, assembler and monitor are co-resident,
we eliminate tedious program loading when going back and forth from editing to
assembly and debugging!
The powerful screen-oriented Editor features finds, changes, moves, copys and
much more. All keys have convenient auto repeat (typamatic), and since no line
numbers are required, the full width of the screen may be used to generate well
commented code.
The Assembler features all of the following: complete 6809 instruction set;
complete 6800 set supported for cross-assembly; conditional assembly; local
labels; assembly to cassette tape or to memory; listing to screen or printer; and
mnemonic error codes instead of numbers.
The versatile ABUG monitor is a compact version of CBUG, tailored for debugging
programs generated by the Assembler and Editor. It features examine/change of
memory or registers, cassette load and save, breakpoints and more. SDS80C
Price: $89.95
arO-
CRACK THOSE ROMS!
SOURCE GENERATOR: This package is a disassembler which runs on the color
computer and generates your own source listing of the BASIC interpreter ROM.
Also included is a documentation package which gives useful ROM entry points,
complete memory map, I/O hardware details and more. A 16K system is required
for the use of this cassette. 80C Disassembler Price: $49.95
CBUG IS HERE!
MONITOR TAPE: A cassette tape which allows you to directly access memory, I/O
and registers with a formatted hex display. Great for machine language
programming, debugging and learning. It can also send/receive RS232 at up to
9600 baud, including host system download/upload. 19 commands in all.
Relocatable and reentrant. CBUG Tape Price: $29.95
MONITOR ROM: The same program as above, supplied in 2716 EPROM. This
allows you to use the entire RAM space. And you don t need to re-load the monitor
each time you use it. The EPROM plugs into the Extended Basic ROM Socket or a
modified ROMPACK. CBUG ROM Price: $39.95
LEARN BB09!
6809 ASSEMBLY LANGUAGE PROGRAMMING,
by Lance Leventhal, contains the most comprehen-
sive reference material available for programming
your Color Computer. Price: $16.95
PARALLEL O!
USE A PARALLEL PRINTER with your Color
Computer! Adaptor box plugs into the serial port and
allows use of Centronics/Radio Shack compatible
printers with parallel interface. Assembled and
tested. PI80C Price: $69.96
THE
w©m^^ p.o
GOOD STUFF!
3EK RAM!
MEMORY UPGRADE KITS: Consisting of 4116
200ns. integrated circuits, with instructions for
installation. 4K-16K Kit Price: $39.95. 16K-32K
Kit (requires soldering experience) Price: $39.95
WE SHIP FROM STOCK!
Master Charge/Visa and COO Accepted
BOX 1 1 1 DEL MAR, CA 9201 4 71 4-942-2400
294 August 1981 © BYTE Publications Inc
Circle 232 on inquiry card.
If your looking for
reliability instead of promises and
you need high performance at low
prices, Chrislin Industries, Inc.
can bring it to you!
Chrislin Industries, Inc.
31352 Via Colinas • Westlake Village, CA 91362 • 213-991-2254 • TWX 910-494-1253 CHRISLIN WKVG
DEC, LSI, PDP are Trademarks of Digital Equipment Corp.
Circle 55 on inquiry card.
BYTE August 1981 295
ther pragmatic benefit of factoring:
Leverage: When a system is well fac-
tored, great leverage is available to
users and implementers alike.
Take the case of sorting an ordered
collection of objects. In Smalltalk, the
user would define a message called
sort in the class OrderedCollection.
When this has been done, all forms of
ordered collections in the system will
instantly acquire this new capability
through inheritance. As an aside, it is
worth noting that the same method
can alphabetize text as well as sort
numbers, since comparison protocol
is recognized by the classes which
support both text and numbers.
The benefits of structure for im-
plementers are obvious. To begin
with, there will be fewer primitives to
implement. For instance, all graphics
in Smalltalk are performed with a
single primitive operation. With only
one task to do, an implementer can
bestow loving attention on every in-
struction, knowing that each small
improvement in efficiency will be
amplified throughout the system. It is
natural to ask what set of primitive
operations would be sufficient to sup-
port an entire computing system. The
answer to this question is called a vir-
tual machine specification:
Virtual Machine: A virtual machine
specification establishes a framework
for the application of technology.
The Smalltalk virtual machine
establishes an object-oriented model
for storage, a message-oriented model
for processing, and a bitmap model
for visual display of information.
Through the use of microcode, and
ultimately hardware, system perfor-
mance can be improved dramatically
without any compromise to the other
virtues of the system.
User Interface
A user interface is simply a
language in which most of the com-
munication is visual. Because visual
presentation overlaps heavily with
established human culture, esthetics
plays a very important role in this
area. Since all capability of a com-
puter system is ultimately delivered
through the user interface, flexibility
is also essential here. An enabling
condition for adequate flexibility of a
user interface can be stated as an
object-oriented principle:
Reactive Principle: Every component
accessible to the user should be able
to present itself in a meaningful way
for observation and manipulation.
This criterion is well supported by the
model of communicating objects. By
definition, each object provides an
appropriate message protocol for in-
teraction. This protocol is essentially
a microlanguage particular to just
that kind of object. At the level of the
user interface, the appropriate
language for each object on the screen
is presented visually (as text, menus,
pictures) and sensed through key-
board activity and the use of a point-
ing device.
It should be noted that operating
systems seem to violate this principle.
Here the programmer has to depart
CALL TOLL FREE
1800228 4097
Call Toll Free For
"Unbelievable"
Low Low
Prices On These
Lines:
APPLE — ATARI — BASE 2
CENTRONICS
COMMODORE — DC HAYES
HAZELTINE — LEEDEX
MACROTRONICS — MAXELL
MOUNTAIN HARDWARE
NORTH STAR — PANASONIC
SANYO — SYNCOM
y©m
6tf CTRONICS PLAXGAOUND
1840 "O" Street Lincoln, Nebraska 68508
In Nebraska Call (402) 476-7331
296 August 1981 © BYTE Publications Inc
Circle 132 on inquiry card.
SPEND $62.40 TO
THIS ADVERTISEMENT.*
A salesman generating 1.5 million dol-
lars in sales annually for his company
does so at the rate of $12.48 per
minute. That's expensive time — should it
really be used in rummaging through filing
cabinets, writing long reports or talking to
dozens of people looking for one small,
crucial piece of information?
Of course not, so you hire an accounting
staff, customer support personnel, and mar-
keting people to support the business and let
your salespeople sell. But the overhead takes
a large slice of that $12.48.
A Delta system can do the work of a
swarm of secretaries, a fleet of filers, a ton of
telephones — simultaneously. It's a highly
developed work processing system that can
maintain files, generate reports, process
orders and do all routine office work with
speed and accuracy. It lets your people get on
with the business of making money.
We at Delta Products have spent five years
designing the most reliable, efficient Z80
based microcomputer available on the mar-
ketplace. It's fast— some models use multi
processors to eliminate the delays associated
with other multi user systems. It's expand-
*(and save thousands later)
able, allowing your Delta system to grow with
your company's growth and change with
your company's needs. And it's rugged;
requiring a minimum of service or
maintenance.
But the soul of any computer system is the
software; therefore, having perfected the
hardware techonology, Delta is now dedi-
cated to the development of application
packages designed to warm the cockles of a
corporate executive's heart. Our "Uni-form",
for example, will keep purchase orders, ac-
count statements, sales and shipping orders
indexed, cross-indexed and filed in any man-
ner required.
And when your Delta system has helped
your business grow, it's ready to grow right
along with you — every Delta System is com-
pletely expandable and configurable.
You have spent five minutes reading this
advertisement, at a cost of $62.40 in potential
sales. Have you calculated what a Delta
system can save your company? (Hint: a
Delta system can pay for itself in less than 24
hours of time saved.)
Call us today for the name of your nearest
Delta distributor.
Circle 107 on inquiry card
BYTE August 1981
from an otherwise consistent
framework of description, leave
whatever context has been built up,
and deal with an entirely different
and usually very primitive environ-
ment. This need not be so:
Operating System: An operating
system is a collection of things that
don't fit into a language. There
shouldn't be one.
Here are some examples of conven-
tional operating system components
that have been naturally incorporated
into the Smalltalk language:
• Storage management — Entirely
automatic. Objects are created by a
message to their class and reclaimed
when no further references to them
exist. Expansion of the address space
through virtual memory is similarly
transparent.
• File system — Included in the normal
framework through objects such as
Files and Directories with message
protocols that support file access.
• Display handling — The display is
simply an instance of class Form,
which is continually visible, and the
graphical manipulation messages
defined in that class are used to
change the visible image.
• Keyboard input— The user input
devices are similarly modeled as ob-
jects with appropriate messages for
determining their state or reading
their history as a sequence of events.
• Access to subsystems — Subsystems
are naturally incorporated as in-
dependent objects within Smalltalk:
there they can draw on the large
existing universe of description, and
those that involve interaction with
the user can participate as com-
ponents in the user interface.
• Debugger— The state of the
Smalltalk processor is accessible as an
instance of class Process that owns a
chain of stack frames. The debugger
is just a Smalltalk subsystem that has
access to manipulate the state of a
suspended process. It should be noted
that nearly the only run-time error
that can occur in Smalltalk is for a
message not to be recognized by its
receiver.
THE
n
COMPLETE
SPELLING PROOFREADER and
COMPUTER DICTIONARY
The WORD is out!
Works with the editor of your
choice to find those lurking spell-
ing errors and sneaky typos.
SPELLING CHECKER
• 45,000 word dictionary
• Checks over ^0 pages/minute
• Handles apostrophes, hyphens
• Marks mistakes in file
• CDOS ,m ,CP/M] m compatible
• Needs only 32K system
EXTRA FEATURES
• Automatic rhyme finder
• Crossword puzzle solver
• Correct spelling finder
1 Word counter
1 Word frequency analyzer
1 Dictionary builder
AVAILABLE FOR:
• 8" Single Density CP/M"
— soon —
i 5 1 /4" North Star*
• 5Va" Superbrain tm
1 Apple xm I Softcard {m CP/M
OASIS SYSTEMS (71 4) 291 -9489
2765 Reynard Way, San Diego, CA 92103
Smalltalk has no "operating
system" as such. The necessary
primitive operations, such as reading
a page from the disk, are incor-
porated as primitive methods in
response to otherwise normal
Smalltalk messages.
Future Work
As might be expected, work re-
mains to be done on Smalltalk. The
easiest part to describe is the con-
tinued application of the principles in
this paper. For example, the
Smalltalk-80 system falls short in its
factoring because it supports only
hierarchical inheritance. Future
Smalltalk systems will generalize this
model to arbitrary (multiple) in-
heritance. Also, message protocols
have not been formalized. The
organization provides for protocols,
but it is currently only a matter of
style for protocols to be consistent
from one class to another. This can be
remedied easily by providing proper
protocol objects that can be con-
sistently shared. This will then allow
formal typing of variables by pro-
tocol without losing the advantages
of polymorphism.
The other remaining work is less
easy to articulate. There are clearly
other aspects to human thought that
have not been addressed in this
paper. These must be identified as
metaphors that can complement the
existing models of the language.
Sometimes the advance of com-
puter systems seems depressingly
slow. We forget that steam engines
were high-tech to our grandparents. I
am optimistic about the situation.
Computer systems are, in fact, get-
ting simpler and, as a result, more
usable. I would like to close with a
general principle which governs this
process:
Natural Selection: Languages and
systems that are of sound design will
persist, to be supplanted only by bet-
ter ones.
Even as the clock ticks, better and
better computer support for the
creative spirit is evolving. Help is on
the way.B
298 August 1981 © BYTE Publications Inc
TWO SIZZLING SPECIALS
CAQ TU E 1 C C C cpu z hardly needs any introduction-since the day we introduced this Z80*
■ V/IC InC IEEE workhorse, professional systems integrators have made it the CPU board of choice
»»» «a mf^f\ Bllffc for high performance 8 bit systems.
090 / 5"1 VV BUS" What ,s new is tne price: Until Se P tember 3 ° tn . CPU Z (assembled) is yours for an
* ' amazingly low $199!
^Bl II ^ f/%r CIOOI For new s y stems ' cpu z ' s superior flexibility (24 bit addressing, sockets for adding
\#r W fc IWI yl77i up to 8 Kbytes of on-board RAM or ROM, 4 MHz operation, on-board fully maskable
interrupts, and much more) puts it miles ahead of the competition. For upgrading
older systems, CPU Z is backward compatible with most S-l OO mainframes, down to a switch selectable choice of 2 or 4 MHz
operation-there's even a plug that accepts the connector from an IMSAI front panel.
Here's one deal you can't afford to pass up. . .visit,your local CompuPro representative, or order direct from the factory, but hurry
-quantities are limited.
FOR MEMORY EXPANSION:
EIGHT 16K DYNAMIC RAMS
for $19.95!
You can't beat the quality or the price: eight low
power, high speed dynamic RAMs, suitable for
expanding memory in TRS-80* -I, -II, and -III (color
computer too); H89; Apple; newer PETs; etc. Backed
by 1 year limited warranty. Add S3 for two DIP shunts
plus TRS-80 conversion instructions.
IEEE 696/S-lOO COMPONENT LEVEL PRODUCTS
DISK EQUIPMENT/SYSTEMS
Dltk 1 Controller Board Ultra-fast operation, thanks to
properly implemented DMA (with arbitration) and data
transfer that's independent of CPU speed. Handles up to four
8" or 5.25" floppy disk drives, single or double-sided, single or
double density (soft sectored). Includes BIOS for CP/M-80
(provided on 8" soft sectored diskette). Manual only: S25. A/T
$495, CSC $595.
Available only with Disk 1 purchase: CP/M-80 diskette with
documentation, SI 75; CP/M-86 diskette with documentation,
$300.
Complete Dual Dltk Drive System With Disk 1 boa