Byte Magazine Volume 06 Number 08 - Smalltalk

This book was produced in EPUB format by the Internet Archive.

The book pages were scanned and converted to EPUB format automatically. This process relies on optical character recognition, and is somewhat susceptible to errors. The book may not offer the correct reading sequence, and there may be weird characters, non-words, and incorrect guesses at structure. Some page numbers and headers or footers may remain from the scanned page. The process which identifies images might have found stray marks on the page which are not actually images from the book. The hidden page numbering which may be available to your ereader corresponds to the numbered pages in the print edition, but is not an exact match; page numbers will increment at the same rate as the corresponding print edition, but we may have started numbering before the print book's visible page numbers. The Internet Archive is working to improve the scanning process and resulting books, but in the meantime, we hope that this book will be useful to you.

The Internet Archive was founded in 1996 to build an Internet library and to promote universal access to all knowledge. The Archive's purposes include offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format. The Internet Archive includes texts, audio, moving images, and software as well as archived web pages, and provides specialized services for information access for the blind and other persons with disabilities.

Created with abbyy2epub (v.1.6.7)

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 outstandingUNIX'—like operating system

cromix is just the kind of majordevelopment you've come to expectfrom Cromemco. After all, we'realready well-known for the mostrespected software in the microcom-puter field.

And now we've come up with the in-dustry's first UNix-lookalike formicrocomputers. It's a tried and provenoperating system. It's available on both5" and 8" diskettes for Cromemcosystems with 128K or more of memory.

Here are just some of the features youget in this powerful Cromemco system:

• Multi-user and multi-taskingcapability

• Hierarchical directories

• Completely compatible file,device, and interprocess I/O

• Extensive subsystem support

FILE SYSTEM

One of the important features of ourcromix is its file system comprised ofhierarchical 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 andoutput may be redirected inter-changeably from and to any source ordestination).

The tree structure allows differentdirectories to be maintained for differentusers or functions with no chance ofconflict.

PROTECTED FILES

Because of the hierarchical structureof the file system, cromix maintainsseparate ownership of every file anddirectory. All files can thus be protectedfrom access by other users of thesystem. In fact, each file is protected byfour separate access privileges in eachof the three user categories.

TREMENDOUS ADDRESS SPACE,

FAST ACCESS

The flexible file system and general-ized disk structure of cromix give a diskaddress space in excess of one gigabyteper volume — file size is limited only byavailable disk capacity.

Speed of access to disk files has alsobeen optimized. Average access speedsfar surpass any yet implemented onmicrocomputers.

'C COMPILER AVAILABLE, TOO

Cromemco offers a wide range oflanguages that operate under cromix.These include a high-level commandprocess 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 systemcalls.

THE STANDARD OSFOR THE FUTURE

The power and breadth of its featuresmake cromix the standard for the nextgeneration of microcomputer operatingsystems.

And yet it is available for a surprisinglylow $595.

The thing to do is to get all thiscapability working for you now. Get intouch 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 hasBASIC/FORTRAN simplicity

LOW-PRICED, TOO

Here's a color display that haseverything: professional-level resolution,enormous color range, easy software,NTSC conformance, and low price.

Basically, this new Cromemco ModelSDI* is a two-board interface that plugsinto any Cromemco computer.

The SDI then maps computer displaymemory content onto a convenient colormonitor 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 youcan't get higher resolution than thissystem offers in an NTSC-conformingdisplay.

The resolution surpasses that of a colorTV picture.

BASIC/FORTRAN programming

Besides its high resolution and lowprice, the new SDI lets you control withoptional Cromemco software packagesthat use simple BASIC- and FORTRAN-like commands.

Pick any of 16 colors (from a4096-color palette) with instructions likeDEFCLR (c, R, G, B). Or obtain a circle ofspecified size, location, and color withXCIRC (x, y, r, c).

•U.S. Pat. No. 4121283

Model SDI High-Resolution ColorGraphics Interface

HIGH RESOLUTION

The SDI's high resolution gives aprofessional-quality display that strictlymeets NTSC requirements. You get 756pixels on every visible line of the NTSCstandard display of 482 image lines. Ver-tical line spacing is 1 pixel.

To achieve the high-quality display, aseparate output signal is produced foreach of the three component colors (red,green, blue). This yields a sharper imagethan is possible using an NTSC-compositevideo signal and color TV set. Full imagequality is readily realized with our high-quality RGB Monitor or any conventionalred/green/blue monitor common in TVwork.

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 anoptional fast and novel two-port memorythat gives independent high-speed accessto the computer memory. The two-portmemory stores one full display, permit-ting fast computer operation even duringdisplay.

CONTACT YOUR REP NOW

The Model SDI has been used in scien-tific work, engineering, business, TV,color graphics, and other areas. It's agood example of how Cromemco keepscomputers in the field up to date, since itturns any Cromemco computer into anup-to-date color display computer.

The SDI has still more features thatyou should be informed about. So contactyour Cromemco representative now andsee all that the SDI will do for you.

Q

Cromemco

Incorporated280 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 inthis issue.

3 O The Smalltalk-80 System by the Xerox LearningResearch Group / How message-sending objects are used in theSmalltalk-80 system.

50 Build a Z8-Based Control Computer withBASIC, Part 2 by Steve Ciarcia / Steve continues hisdescription of the Z8-BASIC Microcomputer and suggests two ap-plications.

# *W Object-Oriented Software Systems by

David Robson / Object-oriented software systems provide theunderlying 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 HH Ingalls / The Graphics Kernel provides the interface throughwhich all text and graphics are displayed.

&UO The Japanese Computer Invasion by Stan

Miastkowski / Like it or not, the Japanese small computers areon their way.

230

Building Data Structures In theSmalltalk-80 System by James C Althoff Jr /

Many kinds of data structures can be added easily to theSmalltalk-80 system.

286

Design Principles Behind Smalltalk by

Daniel H H Ingalls / The design principles of a languagestrongly affect its power and usability.

300

The Smalltalk-80 Virtual Machine by Glenn

Krasner / The use of a Smalltalk-80 Virtual Machine allows thesystem to be transported easily among different 16-bitmicroprocessors.

Building Control Structures In theSmalltalk-80 System by L Peter Deutsch /

Design of complicated control structures is easy in theSmalltalk-80 language.

348

Is the Smalltalk-80 System for Children? by

Adele Goldberg and Joan Ross / Although Smalltalk-80 isnot meant to be used by children, application programs can bewritten that will allow them to be creative and, at the sametime, learn about programming.

369

ToolBox: A Smalltalk Illustration System by

William Bowman and Bob Flegal / The versatileSmalltalk-80 language can create an environment for graphicsdesign that can be used by non technically oriented people.

378

Virtual Memory for an Object-OrientedLanguage by Ted Kaehler / Virtual memory techniques mustbe used when the active memory space needed by a languageis 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-80Model I by Scott Mitchell

Nucleus

6

30197224392388391391392394402,

404,

421478479

480

Editorial: Smalltalk: A Language for the 1980sLettersBYTE's BitsBYTELINESBYTE's BugsAsk BYTEBooks ReceivedSoftware ReceivedClubs and NewslettersEvent Queue

41 3 System Notes: Indirect I/O Addressing on the 8080;Aim-65 16-bit Hexadecimal to Decimal Conversion408, 414, 417, 418 Programming Quickies: A DiskCatalog for the Eighties; Alpha-Beta Tree Search Con-verted to Assembler; Fast Line-Drawing Techniques;Word Ujbnmarle; Binary-to-BCD Converter Program forthe 8080What's New?Unclassified AdsReader ServiceBOMB, BOMB Results

KITE

Page 14

Page 50

Page 90

Page 168

June 1961 © BYTE Publications Inc 3

M

Editor in ChiefChristopher 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; ExecutiveVice Presidents: James E Boddorf, Gene WSimpson; Group Vice President: Daniel AMcMillan; Senior Vice President-Editorial: RalphR Schulz; Vice Presidents: Kemp Anderson,Business Systems Development: Robert B Doll,Circulation; James E Hackett, Controller; Eric BHerr, Planning and Development; H JohnSweger, Marketing.

Officers of the Corporation: Harold WMcGraw Jr, President, Chief Executive Officerand Chairman of the Board; Robert F Landes,Senior Vice President and Secretary; Ralph JWebb, Treasurer.

In This Issue

Smalltalk isn't small talk any more. Three years ago, the cover of BYTEdepicted the island kingdom of Smalltalk as a place where great and magicalthings happen, though its "craggy aloofness" kept it out of the mainstream ofthe computer programming community. During the past three years the XeroxLearning Research Group has continued developing Smalltalk, and this monthwe present the culmination of its work — the debut of the Smalltalk-80system.

Because of the special nature of this issue, we have added a special in-troduction by Adele Goldberg, manager of the Xerox Learning ResearchGroup 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 ofSteve Ciarcia's article, "Build a Z8-Based Control Computer with BASIC." AndStan Miastkowski presents an in-depth report on what we can expect fromJapan in his article, "The Japanese Computer Invasion."

BYTE is published monthly by BYTE Publications Inc. 70 Main St. Peterborough NH 03458. phone |603)924-9281. a wholly-owned subsidiary of McGraw-Hill, Inc. Address subscriptions, change of address, USPS Form3579, and fulfillment questions to BYTE Subscriptions, POB 590. Martinsville NJ 08836. Controlled circulationpostage paid at Waseca, Minnesota 56093 - USPS Publication No. 528890 (ISSN 0360-5280). Canadian secondclass registration number 9321. Subscriptions are S19 for one year, S34 for two years, and S49 for three years inthe USA and its possessions. In Canada and Mexico, S2I for one year, S 38 for two years, S55 for three years. S43for one year air delivery to Europe. S35 surface delivery elsewhere. Air delivery to selected areas at additionalrates upon request. Single copy price is S2.50 in the USA and its possessions, S2.95 in Canada and Mexico. S4.00in Europe, and S4.50 elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawnon a US bank. Printed in United States of America.

Address all editorial correspondence to the editor at BYTE, POB 372, Hancock NH 03449. Unacceptablemanuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts orphotos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1981by BYTE Publications Inc. All rights reserved. Where necessary, permission is granted by the copyright owner forlibraries and others registered with the Copyright Clearance Center (CCC) to photocopy any article herein for thebase fee of S1.00 per copy of the article or item plus 25 cents per page. Payment should be sent directly to theCCC, 21 Congress St, Salem MA 01970. Copying done for other than personal or internal reference use withoutthe permission of McGraw-Hill is prohibited. Requests for special permission or bulk orders should be addressed tothe publisher.

BYTE® is available in microform from University Microfilms International. 300 N Zeeb Rd, Dept PR, AnnArbor 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 Associates280 Hillside AveNeedham Heights MA 02194

NORTHWEST (415| 964-0706

Hajar AssociateslOOOEIwellCt, Suite 227Palo Alto CA 94303

MIDWEST (312) 966-0160

Hajar Associates5225 Old Orchard DrSkokie IL 60076

SOUTHWEST (714) 540-3554

Hajar Associates3303 Harbor BlvdSuite K-4Costa Mesa CA 92626

MID ATLANTIC (212) 682-5844

Hajar Associates

521 Fifth Ave

New York NY 10017

SOUTHEAST (305) 886-7210

Hajar Associates1220 Prairie LaneApopka FL 32703

August 1981 © BYTE Publications lnc

". . .stands well aboveother 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 directdrive output

Local or externalsync generation

4MhzZ80microprocessor

60 hertz real-time clock

8 level interrupttie-in

IEEE SI00 buscompatible

Light peninterlace

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 onMicroAngelo™. Pak I emulates an 85 characterby 40 line graphics terminal and provides over40 graphics commands. Provisions exist for userdefined character sets and directly callable userextensions to Screenware™ Pak I.

Screenware™ Pak II

An optional software superset of Pak I whichadds circle generation, polygon flood, program-mable split screen for separate graphics and ter-minal I/O, relative coordinates, faster vector andcharacter plotting, a macro facility, full UCSDPascal 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 from2 to 8 MicroAngelos as "bit planes" at a full512 x 480 resolution. Up to 256 colors may bechosen from 16.8 million through the program-mable color lookup table. Overlays, bit planeprecedence, fade-in, fade-out, gray levels, blink-ing bit plane, and a highly visual color editor arestandard.

Circle 114 on inquiry card.

TM

PLAN8Q

A financial modeling sys-tem that runs on a desk topcomputer, is easy to use yetpowerful enough to re-place most timesharing ap-plications.

PLAN80 Is a financial modelingsystem that runs on a desk topcomputer. It's easy to use yetpowerful enough to replace mosttimesharing applications.

PLAN80 lets you tackle anynumeric problem that can be de-fined in worksheet format. It per-forms complex calculations quicklyand precisely and lets you exam-ine "What If?" questions so youcan evaluate more planning alter-natives In greater detail.

With PLANSO you get more thanyour calculated results. . . Youknow how you get them, becauseyou define rows and columns withfamiliar names such as UNITS,PRICE and JANUARY and expresscalculations in terms such asSALES=UNITS' PRICE. It's easy toreview your assumptions andmethods with people who havenever seen PLANSO.

At any point In the PLANSO modelyou may display or print results onyour screen, printer or disk, save allor part of the results for use byanother model, or play "What If?"by imputting new values, recalcu-lating and displaying or printingresults.

Best of all, you can incorporatePLANSO results Into any reportthat 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 andCP/M. Also available for CP/M-86.Specify Z8C 8080/85, CDOS or8O86. Formats: 8" single densityIBM soft-sectored, CromemcoCDOS, 5'/4" NorthStar DD, Microp-olis Mod II, Superbrain 3.O. Price is$295. Manual alone - S30. AddS7.00 for shipping and handling.Dealer inquiries invited.

SOFW/4RESOFTWAREDIGIML AMRKETING

DIGITAL/W4RKETING

2670 CHERRY LANE

WALNUT CREEK • CA 94596

(415) 938-28SO

traden id ■ irfol Research

Editorial

Smalltalk: A Languagefor the 1980s

by Chris Morgan, Editor in Chief

Welcome to the fifth annual BYTE language issue. Over the past four yearswe have devoted our August issues to discussions of APL, Pascal, LISP, andFORTH, respectively. This year we are pleased to present the Smalltalk-80language, the culmination of ten years of research by the Xerox LearningResearch Group located at the Xerox Palo Alto Research Center (PARC) inCalifornia.

During the past few months the BYTE staff has been acquainting itself withSmalltalk. I spent some time this spring working with the Smalltalk systems atXerox PARC and being briefed by Adele Goldberg and Dave Robson. I cameaway excited by this revolutionary language. I hope the articles in this issueconvey some of that excitement.

Smalltalk is an object-oriented language, as opposed to procedure-orientedlanguages such as BASIC, Pascal, and FORTRAN. Because of this, program-ming in Smalltalk is similar to the process of human interaction. An analogymight help to clarify this point. Suppose a person wishes to invest in a goodmutual 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 fundfor his client. That in a very small nutshell describes the basic activity inherentin all Smalltalk programs: a message is sent to a receiver to invoke someresponse. In our analogy, the telegram is the message and the broker is thereceiver. The telegram has two parts, called the selector and the argument.Here the selector is "buy" and the argument is "best mutual fund." The brokerbelongs to a class which contains the description of the method he uses to pickthe best mutual fund. Because of this, the client does not have to tell the brokerhow to do his job.

Of course, my analogy skims only the thinnest surface of the deep waters ofthe 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 aninteresting phenomenon: I did very little typing, although a full keyboard wasavailable to me. This is because of the window menu format and the presenceof the "mouse," a small mechanical box with wheels that lets you quicklymove the cursor around the screen. (Stoney Ballard of Digital Equipment Cor-poration, who has been doing research work lately with the Smalltalk-80system, points out that he was able to do a significant amount of programmingwith his experimental system over several weeks even though his keyboardwas not working.) Choosing a particular item in a list from a window causesanother window to appear on the screen. Additional levels of nested windowscan be accessed by continuing to reposition the cursor and pressing theappropriate key on the mouse.

This makes for fast programming. Those who saw the remarkabledemonstration of the Xerox Star terminal (Xerox's new $16,000 office ter-minal) at the National Computer Conference (NCC) this past spring got a tasteof 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. Andsubjected to the same reliability controls. These newTFD mini-disk systems for the Model III provide morefeatures than Tandy drives, yet cost far less.

• Flippy Capability: Both internal (add-in) andexternal (add-on) drives permit recording on eitherside of a diskette.

• Greater Storage Capacity: Available with either 40-or 80-track drive mechanisms, Percom TFD mini-disksystems store more. A 40-track drive stores up to 180Kbytes — formatted — on one side of a 5-inchdiskette. An 80-track drive stores a whopping 364Kbytes.

• 1.5 Mbyte On-line: The Percom drive controller(included with the initial drive) handles up to fourdrives. With four 80-track mini-disk drives you canaccess over 1.5 million bytes of on-line file data.

Moreover, the initial drive may be either aninternal add-in drive or an external add-on drive. Andwhichever configuration you get, the initial drive kitcomes complete with our advanced 4-drivecontroller, interconnecting cables, power supplies,installation hardware, a DOS and of course the drivemechanism itself.

• First Drive Includes DOS: OS-80™, Percom's fastextendable BASIC-language disk operating system, isincluded on diskette when you purchase an initialdrive kit. Originally called MicroDOS, OS-80 wasfavorably reviewed in the June 1980 issue of CreativeComputing magazine.

• Works with Model III TRSDOS: Besides being fullyhardware compatible, Percom's Model III 40-trackdrive systems may be operated with Tandy's Model IIITRSDOS — without any modifications whatsoever.And, TRSDOS may be easily upgraded with simplesoftware patches for operating 80-track drives.

The industry leader in microcomputer peripherals,Percom not only gives you better design, betterquality and first-rate service, but you pay lessto boor.

Still #1 for Model I

As if greater storage capacities, exceptional qualitycontrol measures and lower prices aren't reasonsenough to make Percom your first choice for Model Iadd-on drives, all Percom Model I drives are also ratedfor double-density operation.

Add our innovative DOUBLER™ adapter to yourModel I Expansion Interface, and with Percom drivesystems you can enjoy the same double-density storagecapability as Model III owners.

The DOUBLER includes a TRSDOS*-likedouble-density disk operating system called DBLDOS™

We also offer a double-density Model I version ofOS-80 as well as DOUBLEZAP programs for modifyingNEWDOS/80 and VTOS 4.0t for DOUBLERcompatibility.

Of course you don't have to upgrade your computerfor double-density operation to use Percom mini-diskdrive systems. In single-density operation, our TRS-80*Model I compatible 40-track drives store 102 Kbytes offormatted data on one side of a diskette, and our80-track drives store 205 Kbytes. By comparison,Tandy's standard drive for the Model I stores just 86Kbytes.

And like our Model III drives, Model I add-on drivesare 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 firstinternal drive kit is installed, and external drives #2, #3and #4 may be added if either an internal or externalfirst-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 aninterconnecting cable. For double-density storage, aPercom DOUBLER must be installed in the ExpansionInterface and DBLDOS (comes with the DOUBLER) orother double-density DOS must be used. Forsingle-density operation, a Percom SEPARATOR™adapter, installed in the Expansion Interface, willvirtually 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. ModelIII Drive kits start at only $749.95.

Quality Percom products are available atauthorized dealers. Call toll free 1-800-527-1592for the address of your nearest dealer or to orderdirect 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 termsthat make sense to you. That means giving you a set ofproducts which expand your limits, not reduce them.

We manufacture the most complete family of high qualityIEEE/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 buildingblocks for your 8 or 16 bit system. We also provide otheroptions ranging from complete floppy disk systems rightup to our proven Pascal development system.

The S factor: one source.

No matter which option you choose, you get the benefitof working with completely integrated products...fullyassembled and tested ... under one warranty and oneprice structure ... leaving you free to concentrate onvalue-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 slotS-100 motherboard with 25 amp power supply and aredelivered fully assembled and tested with our Series II™board sets. Any board configuration you choose workswith any DPS-1 version, allowing you to vary your pack-age offering, or develop on one version and marketanother.

♦ Front Panel model — a powerful development anddiagnostic tool for Z-80fsystems, which can be used forprototyping, servicing, debugging, and software orhardware 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 forOEM or other turnkey operations which do not requirethe extra capability of our Front Panel.

♦ Rack Mount version — features a heavy gauge framedesigned to fit into standard 19" racks. CVT power supplyfor brown out immunity is standard.

*ln Calculus, a fundamental statement in the definition of limit; interpretedhere 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 andsupport extended addressing in both I/Oand memory space, recognizing 16 bitI/O addresses and 24 bit memoryaddresses. Just look atthese 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 withoutbank select.

♦ 64KDR—sophisticated refresh circuitryallows 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 atup to 19,200 BAUD, as can our Vl/Oboard.

♦ Vl/O —has two serial ports; two 8-bitparallel output and two 8-bit parallelinput ports plus 8 individually controlla-ble command lines and 16 levels of vec-tored interrupts.

♦ FDCII—can DMA up to a full track into16 Megabytes of memory. Optionallygenerates interrupts and handles up tofour 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 energyelsewhere, use our resources to performthe service for you. We can add our diskdrive package to any Z-80 or Z-8000 con-figuration we provide ... again, fully as-sembled and tested and covered underone warranty.

Or our complete

Pascal Development System.

We use it for our own hardware andsoftware development. It includes eithertable-top mainframe, two 8"floppydisks,128K RAM, CP/M*, and IntersystemsPascal/Z™ compiler and Cache BIOS™.

THIS SYSTEM IS FAST! Why? Becauseour ultra-fast Cache BIOS automaticallybuffers whole tracks, eliminating mostdisk accesses. This delivers up to threetimes the throughput of any otherfloppy-based system we know and isequal to many small hard disk systems.

The system is versatile, too. SET programallows you to change many BIOSparameters and specify control charac-ters to enable special features such asdiagnostic output to trace program execu-tion. It can also provide remote I/O tolink your system to almost anyother computer,large or small.

And it's reliable. The Cache BIOS Systemruns continuous memory tests when idle,and verifies with a Read after Write andRead after Read.

And the system also includes ourPascal/Z, a true native compiler pro-ducing ROMable and Re-entrant code. Itfeatures a minimum of extensions chosenfor the development of your scientific andbusiness applications. And it's compati-ble with our native code Pascal forZ-8000, providing a graceful upwardpath to 16 bit applications. So what youwrite now is right later.

One choice you won't have to make...

We don't believe you should ever have tosacrifice good technical support to find agood product. We'll back you to the hiltwith services like free technical consulta-tion, board-swapping, diagnostic pack-ages, and documentation that gives youall you need to integrate, operate andmaintain your system ... right down toschematics of the boards.

Your solution should be clear.

Whether you're integrating for scientific,governmental or commercial applica-tions, Intersystems can provide a Delta foryour 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.

HighTechnology

We make our

competition

obsolete

with Information Master,™Data Master,™ and Transit.™

Information Master is clearly thebest information managementsoftware available for your Apple II *and it's the easiest to use.Here are two very usefulcompanions that add even morepower to Information Master.

• Data Master - Alter the filelayout of existing InformationMaster files without re-enteringdata. Add, omit, change fields,subdivide and append filesselectively.

• Transit - Convert VisiCalc* files(and almost any other files youmay have) into InformationMaster files.

See your computer dealer todayfor all the details.

* VisiCalc is a trademark of Personal Software Inc.

Apple II is a

trademark ofApple

Computer

Inc.

HighTechnology, Inc.

Software Products DivisionP.O. Box B-146658001 N. Classen Blvd.Oklahoma City, Okla. 73113405 840-9900

•Apple II is a trade name olApple Computer, Inc

Editorial,

ment" on page 90) spoke about the efficiency of thelanguage at the NCC. For example, suppose a user is run-ning a complex program that churns away for nearly anhour—then a bug appears in the output routine. All is notlost. Since the Smalltalk-80 language is "modeless" (aconcept Tesler discusses in his article), the user can debugthe output routine and continue with the main routinewithout having to start from the beginning. This is onlyone of the advantages of the Smalltalk-80 system.

Where to Start

The order in which you read the Smalltalk-80 articlesin this issue makes a difference. The first stopping pointshould be Adele Goldberg's article "Introducing theSmalltalk-80 System" on page 14, in which she provides aguided tour of the issue. I also recommend DaveRobson's "Object-Oriented Software Systems" on page74 as a good overview of the Smalltalk-80 philosophy.The glossary on page 48 will be helpful as you begin toabsorb the rather extensive (and sometimes overwhelm-ing) vocabulary used to describe the language. 1 foundthat, once the terms become familiar, the concepts beginto 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'msure we'll be criticized by some for introducing thelanguage too early and frustrating our readers. Never-theless, I feel that the time to begin exposing people toobject-oriented language is now. Only by challengingand enticing the personal computer community can westimulate the industry to create the machines we alldream of.

As far as future hardware hopes are concerned, it isinteresting to note that four of the speakers at the recentNCC 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 companiesare not necessarily working on Smalltalk products, butare rather exploring the language's potential. Despite thedisclaimers, though, I would be very surprised if we donot see a computer with the Smalltalk-80 system built insometime in the next few years—perhaps sooner. I hopethis 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 specialissue—and especially to Adele for coordinating the many authors whocontributed their expertise. I'd also like to thank Gregg Williams for hiseditorial skills in preparing this issue .... CM

10 August 1981 © BYTE Publications Inc

Circle 359 on inquiry card.

Make the Apple II* a powerfulIEEE-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 andversatility of a $9,000 IEEE-488 controller. At a fraction of the price.Our board converts the Apple II into a truly sophisticated controller thatprograms and controls up to 15 different instruments connected togetheron the 488 bus.

We make programming easy. The 68488 chip, designed by Motorola, forms theheart of our A488. We back this chip with powerful on-board firmware togive you system control via simple string commands. The only softwareyou need is easy-to-program Applesoft* Basic. To develop special purposefirmware, simply replace our PROM with a RAM. With the A488, bus com-munications operate at top speed—without depending on software loops fortiming. And like the more expensive IEEE-488 controllers, this system interfaceswith 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 cutsyour 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 interface68488 IEEE-488 controller chip-

Slot-independent connection to Apple H-

SSM's A488 board expands the Apple II toa high-performance IEEE-488 controller.

* Registered trademarks of Apple Computer Inc.

SSM Microcomputer Products, Inc.

2190 Paragon DriveSan Jose, CA 95131(408)946-7400 Telex: 171171TWX: 910-338-2077

Reddy Chirra improves his visionwith an Apple.

Reddy is an optical engineer who'sused to working for big companies and usingbig mainframes.

But when he started his own consultingbusiness, he soon learned how costly main-frame time can be. So he bought himself a48K Apple II Personal Computer.

And, like thousands of other engineers

iy: v

&

,&.

T '"

■1

■ ■

and scientists, quickly learned the pleasuresof cutting down on shared time ^^ and hav-ing his own tamper-proof data (r!T base.

His Apple can handleformulas with up to 80 vari-ables and test parameters on250 different optical glasses.

He can even use BASIC,FORTRAN, Pascal and Assembly languages.

And Apple's HI-RES graphics come inhandy 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 anApple ILUp tol28KRAMinour new Apple III.And there's a whole family of compatibleperipherals, including an IEEE-488 bus forlaboratory instrument control.

Visit your authorized Apple dealer tofind out how far an Apple can go withscientific/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 canindulge in one's prejudiceswith relative impunity,poking a bit of goodhumored fun to make apoint.

With this statement,Carl Helmersopened his remarks in the"About the Cover" sectionof the August 1978 issue ofBYTE. The issue was aspecial on the languagePascal, so Helmers tookthe opportunity to presentPascal's triangle as drawnby artist Robert Tinney.The primary allegory ofthe cover was the inver-sion of the BermudaTriangle myth to showsmooth waters within thearea labeled "Pascal'sTriangle." In explainingthe allegory, Helmersguided the travelerthrough the FORTRANOcean, the BASIC Sea,around the Isle of BAL, and up to the Land of Smalltalk.

Traveling upward (in the picture) through heavy seaswe come to the pinnacle, a snow white island rising likean ivory tower out of the surrounding shark infestedwaters. Here we find the fantastic kingdom of Smalltalk,where great and magical things happen. But alas . . . thecraggy aloofness of the kingdom of Smalltalk keeps it outof 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 ofBYTE. This month'scover design presentsNjust such an opportuni-ty. It depicts the cloudsclearing from aroundthe kingdom of Smalltalk,and, with banners stream-ing, the Smalltalk systemis taking flight into themainstream of the com-puter programming com-munity. This cover wasalso executed by RobertTinney, to the delight ofthe Learning Research Group (LRG) of the Xerox PaloAlto Research Center. LRG is the group that has de-signed, implemented, and evaluated several generationsof Smalltalk over the past ten years.

The balloon on the cover symbolizes the Small talk-80system that is being released this year for more generalaccess. The release is in the form of publications and a filecontaining the Smalltalk-80 programming system.Twelve articles describing the system appear in this issueof BYTE. Through such publication, LRG's research willbecome 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, 1981Harold Mauch, president of Percom DataCompany, announced here today that an im-proved version of the Company's innovativeDOUBLER' adapter, a double-density plug-inmodule for TRS-80* Model I computers, isnow available.

Reflecting design refinements based on boththeoretical analyses and field testing, theDOUBLER II , so named, permits even great-er tolerance in variations among media anddrives than the previous design.

Like the original DOUBLER, the DOU-BLER II plugs into the drive controller ICsocket of a TRS-80 Model I Expansion Inter-face and permits a user to run either single- ordouble-density diskettes on a Model I.

With a DOUBLER II installed, over fourtimes more formatted data — as much as 364Kbytes — 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 Iwith the hardware required to run Model IIIdiskettes.

(Ed. Note: See "OSSO*: Bridging the TRS-80' software compatibility gap" elsewhere onthis page.)

The critical clock-data separation circuitryof the DOUBLER II is a proprietary designcalled a ROM-programmed digital phase-lockloop data separator.

According to Mauch, this design is moretolerant of differences from diskette to disketteand drive to drive, and also provides immunityto performance degradation caused by circuitcomponent aging.

Owners of original DOUBLERs may pur-chase a DOUBLER II upgrade kit, without thedisk controller IC, for $30.00. Proof of put-chase of an original DOUBLER is required,and each DOUBLER owner may purchase onlyone DOUBLER II at the $30.00 price.

The Percom DOUBLER II is available fromauthorized Percom retailers, or may be ordereddirect from the factory. The factory toll-freeorder number is 1-800-527-1592.

Ed. note: Opening the TRS-80 Expansion In-terface may void the Tandy limited 90-daywarranty. Circle 306 on inquiry card.

Percom DOUBtER

Mauch said "A DOUBLER II will operatejust as reliably two years after it is installed as itwill two days after installation."

The digital phase-lock loop also eliminatesthe need for trimmer adjustments typical ofanalog phase-lock loop circuits.

"You plug in a Percom DOUBLER II andthen forget it," he said.

The DOUBLER II also features a refinedWrite Precompensation circuit that moreeffectively minimizes the phenomena of bit-and peak-shifting, a reliability-impairing char-acteristic of magnetic data recording.

The DOUBLER II, which is fully softwarecompatible with the previous DOUBLER, issupplied with DBLDOS", a TRSDOS"-compatible disk operating system.

The DOUBLER II sells for $ZJ>^5, includ-

ing the DBLDOS diskette

eH*w*lH

**l

Circuit misapplication causes diskette read, format problems.

High resolution key to reliable data separation

GARLAND, TEXAS — The PercomSEPARATOR" does very well for the RadioShack TRS-80' Model I computer what theTandy disk controller does poorly at best: reli-ably separates clock and data signals duringdisk-read operations.

Unreliable data-clock separation causes for-mat verification failures and repeated readretries.

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 1771drive controller IC used in the Model 1.

The Percom Separator substitutes a high-resolutitm digital data separator circuit, onewhich operates at 16 megahertz, for the low-resolution one-megahertz circuit of the Tandydesign.

Separator circuits that operate at lowerfrequencies — for example, two- or four-

megahertz— were found by Percom to provideonly marginally improved performance overthe original Tandy circuit.

The'Percom solution is a simple adapter thatplugs into the drive controller of the ExpansionInterface (EI).

Not a kit — some vendors supply an un-tested separator kit of resistors, ICs and otherparaphernalia that may be installed by mod-ifying the computer — the PercomSEPARATOR is a fully assembled, fully testedplug-in module.

Installation involves merely plugging theSEPARATOR into the Model I El disk con-troller chip socket, and plugging the controllerchip 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 is1-800-527-1592.

Ed. note: Opening the TRS-80 Expansion In-terface may void the Tandy limited 90-daywarranty. 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 andthe new Model III is about as genuine as a gold-plated leadKrugerrand.

True, Model! TRSDOS' diskettes can be read on a Model111. But first they must lie converted and re-recorded lorModel 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. Orin any way modify a Mode] I TRSDOS diskette with a Mode!Ill computer.

Futthetmore, yout converted TRSDOS diskettes cannotbe 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 payrollto 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-recordingsteps and no chance to be left high and dty with Model 111diskettes that can't be run on a Model 1.

What's the answer? The answer is Percom's OS-803*family of TRS-80 disk operating systems.

OS-80 programs allow direct, immediate interchangeabilityof Model I and Model III diskettes.

You can run Model I single-density diskettes on a Model111; install Percom's plug-in DOUBLER® adaptet in youtModel!, and you can run double-density Model III disketteson a Model I.

There's no conversion, no re-recording.

Slip an OS-80 diskette out of your Model I and insert itdirectly 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, andupdate files. You can read and lerire diskettes regardless ol thesystem of origin.

OS-80 is the original Percom TRS-80 DOS for BASICprogrammers.

Even OS-80 utilities are written in BASIC.

OS-80 is the Percom system about which a user wrote, inCreative Computing magazine, ". . . the best $30.00 youwill ever spend."t

Requiring only seven Kbytes of memory, OS-80 disk oper-ating systems reside Completely in RAM. There's no need todedicate a drive exclusively tor a system diskette.

And, unlike TRSDOS, you can work at the track sectorlevel, defining and controlling data formats — in BASIC —to create simple or complex «feta structures that executemore 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-30Dsupports double-density opetation of Model I computersequipped with a DOUBLER or DOUBLER II; and, OS-80/III — for the Model 111 of course — supports both single- anddouble-density operation. OS-80D and OS-80/11I eachsell 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. 1980, page 26.

TWELVE STRONGHEATH/ZENITH YOUR

Pick a strong partner

A computer purchase is the beginning of a long termpartnership 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 growingline of products. And nowhere will you find a more com-plete line of hardware, software and accessories thanat your Heathkit Electronic Center. Here are twelvestrong reasons to make Heath/Zenith your partner.

1. The All-ln-One Computer

The heart of the Heath/Zenith line is the stand-alone89 Computer. It's a complete system with built-in 51/4-inchfloppy disk drive, professional keyboard and keypad,smart video terminal, two Z80 microprocessors, andtwo RS-232C serial I/O ports. It comes with 16K RAM,expandable to 64K.

2. Peripherals

These include the popular Heath /Zenith19 Smart Video Terminal, loaded withprofessional features. And the 14 LinePrinter, priced as low as $495. Otherprinter 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 ofover 500 low-cost programs for home, work or play.

4. Programming Languages

For your own custom programs,Microsoft languages areavailable in BASIC (compilerand interpreter), FORTRANand 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 programdevelopment and execution environment.HDOS, Heath Disk Operating System gives you asophisticated, flexible environment for programconstruction, storage and editing.

6. Utility Software

Expand the performance range of your computer witha broad selection of utility tools, including the best ofDigital Research and the complete line of innovativeSoftstuff products.

7. Disk Systems

The 8-inch Heath/Zenith 47Dual Disk System adds over 2megabytes of storage to your

89 Computer. Diskettes are

standard IBM 3740 format, double-sided,

I-~iilTTi;il douDie"density-The 5V4-inch 87 Dual Disk System adds200K bytes of storage to your 89. Bothdisk systems feature read/write protec-^^^ tion and easy plug-in adaptability.

8. Self-Study Courses

Learn at your own pacewith ProgrammingCourses that teach youto write and run your ownprograms in Assembly,BASIC, Pascal orCOBOL.

A course on Computer Conceptsfor Small Business gives youthe understanding to eval-uate the ways a computercan benefit your business.Personal Computing is acomplete introduction tothe fundamentals for thenovice. Every Heathkit/Zenith course is pro-fessionally designedfor easy, step-by-step learning.

All Heath/ZenithComputer Productsare available completelyassembled and tested forcommercial use. Or in easy-to-build, money-saving kits

REASONS TO MAKECOMPUTER 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 expansionchips.

Accessories

Your Heathkit Electronic Center has the

latest in modems, black-and-white andcolor video monitors, computer furnitureand a full line of supplies, accessories, booksand parts.

11. Service

No one stands by you like Heath/ZenithWe help you get your system up andrunning smoothly. Service is avail-able from trained technicians,over the phone or at one of 56Heathkit Electronic Centers.

12. Value

Your money buys you more becauseHeath/Zenith prices are among the industry's mostcompetitive. Make your own comparison and find outhow 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. Andwith Heath/Zenith you get it all underone roof.

All at yourHeathkit ElectronicCenter

Pick the store nearest youfrom the list at right. Andstop in today for a demon-stration of the Heath/Zenith89 Computer System. If youcan't get to a store, send$1.00 for the latest Heathkit®Catalog and the new ZenithData Systems Catalog ofassembled commercialcomputers. Write toHeath 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.CA6000 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, CA2001 Middlefield Rd.

415-365-8155SACRAMENTO, 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-0323HIALEAH, FL4705 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. 35201-775-1231FAIR LAWN, NJ35-07 Broadway (Rt. 4)201-791-6935AMHERST, NY3476 Sheridan Dr.716-835-3090JERICHO, L.I. NY15 Jericho Turnpike516-334-8181ROCHESTER, NY937 Jefferson Rd.716-424-2560N.WHITE PLAINS, NY7 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 VehtechnologyElectronics Corporation inthe 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 outputdevices supporting visual and audio communicationpaths, and network connections to shared informationresources. LRG's goal is to support an individual's abilityto use the Dynabook creatively. This requires anunderstanding of the interactions among language,knowledge, and communication. To this end, LRG doesresearch 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 theillustrations designed by Ted Kaehler.

In figure 1, we see a view of the conventional softwaredevelopment environment: a wizard sitting on his owncomputational cloud creating his notion of a Taj Mahalin 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 thelanguage in which the programs are written. The usersmust walk whatever bridge the programmer builds.

A goal in the design of the Smalltalk system was tocreate the Taj Mahal so that programmers can modify itby 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, paralleloutput interface and real-time clock/calendar—all on one card—occupying only one slot in your Apple II®. Serial and Paralleloutput 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 haveconfigured your card, you need never set it up again. You may also change parameters from the keyboard with controlcommands. All function set-ups stored on-board are battery powered for up to two years. "Phantom slot" capability permitsassigning each of the functions of CPS to different slots in your Apple without the card actually being in those slots! Forexample, 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 theserial port assigned to slot #4. CPS's on-board intelligence lets it function in a wide variety of configurations, thereby providingsoftware 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 andsave you a great deal of money as well!

great dea......

Calendar/Clock

One second to 99 yearsBattery backed-up 12 years)Two AA standard alkaline batteriesfor back-up i provided)Compatible with MCI AppleClock'" 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 Scotts14081 438-6650 TWXCircle 255 on inquiry card

'"Apple Clock was the trademark of Mountain Comput

Serial Interface

Features auto-line feed, trans-parent terminal mode, Appletabbing, line length, delay aftercarriage return, local echo ofoutput characters, simultaneousserial/parallel output, lower toupper case conversion, discardingof extraneous LFs from serial inputUses the powerful 2651 serialPCI chip

16 selectable internal baud rates50to19.2Kbaud

Half/Full duplex terminal operatiorI/O interface conforms to RS-232CAsynchronous/Synchronous

operation

rademarks of Apple Computer Inc

Circle 45 on inquiry card.

Figure 3

sions and/or subsets of the system whose parts can beused by a nonprogrammer to build a customized versionof the application. Applications that can be created froma kit are related in a fundamental way: the programmermay, for example, create it for building bridges, but it isthe 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 thistask, it needs better support to help the programmer piecetogether the graphical display and the control for an in-teractive user interface. This is the "kit maker," as shownin 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-levelcomputers for system builders on themove. Push in the CCS board. Andpush on with your application. CCSboard-level systems go togethereasily, come up quickly, and runreliably, with a proven return rate ofless than 1%.

CCS board-level computersoffer systems builders the optimalcombination of low developmentcost, low manufacturing cost, andhigh reliability from proven, testedmodules.

A headstart on reliability. CCSmodules are designed to industrialperformance standards, manufac-tured to industrial quality standards,fully burned in and tested. You spendmore time and energy on yourapplication when you rely on CCSmodules instead of reinventing (andrebuilding) standard computerfunctions.

A full selection of S-100 board-level computers. Whether you wantto add capability to another S-100based system, or build a system fromscratch, chances are you'll find solu-

Circle 46 on inquiry card.

,.__

dulesules.

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 theCCS product line. CCS manufacturesa comprehensive selection, so youcan tailor a system to your needs witha minimum of components. You buyexactly what you need. But you caneasily expand later.

We'd like to tell you more aboutthe CCS line of board-level com-puters, OEM systems, and computersystems. There's a lot more to tell.Send in the coupon for moreinformation, contact your localcomputer dealer, or call.

| O Please have a sales representativecall me. I

O Please send more information onCCS Board-Level ComputerModules.

Name .

Company

Address

City/State/Zip .Phone(

I

'5

1 I

California Computer Systems)250 Caribbean DriveSunnyvale, California 94086 I(408)734-58111

Circle 260 on inquiry card.

DATA CORPORATION

TAKE A STEPTOWARD TOMORROW

At MSI our small company environment en-courages big ideas. If you've been thinking abouta high technology career in micro-computers thatoffers high visibility , then why not think aboutMSI, the leader in Hand-Held Source Data EntrySystems. 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 LanguagesBackground in HLL, i.e., PASCAL, ALGOL, etc.,needed for development of Automatic ProgramGenerator Systems using BASIC compiler andother languages. Assembly language required.

Operating SystemsAssembly language and/or interpreter experiencerequired. Hardware interface experiencedesirable. Must have strong documentation anddesign skills. Knowledge of FORTH and PASCALpreferred.

SENIOR ENGINEERING PROGRAMMERSTest and Integration

Background in test planning and evaluation. Willbe responsible for forming new group ofspecialists to develop test programs, implementtest procedures and integrate software products.

Communications DevelopmentRequires extensive experience in systems andprogramming. Knowledge of BSC protocolsdesirable and Hardware interface background inassembly language required. Familiarity withFORTH or PASCAL preferred.

Operating Systems DevelopmentSenior and Intermediate Engineering Program-mers. Assembly language programming ex-perience on micro and mini-computers needed tocreate application solution systems for our newRoute Accounting, Program Management Group.Experience in HIGH LEVEL LANGUAGE andFORTH would be a plus.

SOFTWARE TECHNICAL WRITER

Responsible for development and design of soft-ware documentation manuals, including writingmaintenance documents, operating instructionsand design specifications. Degree plus 3 years'software documentation experience in Assemblyand HIGH LEVEL LANGUAGE. Background inFORTH would be a plus.

We offer a complete benefits portfolio includingpaid 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 shouldhelp the programmer build a personal computationalcloud (see figure 4). Two research projects, ThingLab byAlan Borning and PIE by Ira Goldstein and DannyBobrow, took advantage of Smalltalk's support for creat-ing new metaphors.

We are often asked: "What makes Smalltalk differentfrom other languages?" The articles in this issue attemptto answer that question. Look for an emphasis on interac-tive graphics, on modular development of programs, andon 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 theuser 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 blasterfor your Apple" or TRS-80;

Apparat announces the mostversatile EPROM burner availabletoday for your TRS-80 model I andIII or Apple computer. . . theApparat PROM Blasting system(A.P.B.). Most EPROM burners willprogram only one type of EPROM.The A.P.B. system will program allcommonly used 24 pin EPROMs byusing special personality modulesthat adapt the unit to the EPROM.The following EPROMs areprogrammable: 2704, 2708, 2716,(3-volt) & (5-volt), 2732, 2508, 2516and 2532.

The versatility and power of theA.P.B. system means you're getting aPROM burning package withextensive capabilities. The price,$149.00, insures you're getting themost cost-effective PROM burner onthe market today.

With a unique combination ofpersonality modules and

sophisticated software, A.P.B.will perform many operationsimpossible with conventionalPROM burners. Here's a brieflist 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 orcassette (Apple only)

• Program directly from computermemory

• Examine and/or modify workingmemory

• Preset working memory

The A.P.B. system is the mostflexible PROM burner available. TheA.P.B. system package consists of aninterface card that plugs directly intoan expansion slot*, a complete set

of personality modules, software ondisk and a detailed instructionmanual. The software will run underPiEWDOS/80, or TRSDOS™ for theTRS-80, and APPLE DOS™ or APEXfor the Apple.

If you're looking for a powerful,versatile and cost efficient EPROMburner, call APPARAT today. Dealerinquiries welcome.

(303) 741-1778

*TRS-80 version requires the TRS-80 busextender (Cat. # 1-025) or a separateuser provided power supply and cable.

TRS-80, and Apple are trademarks of Tandy Corp.and Apple Computer.

Apparat, Inc.

4401 So. Tamarac Parkway, Denver, CO 80237 (303) 741 -1778

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 SQUEEZESMOKE OUT OF YOUR COMTNOT YOUR POCKET

If you own an Apple II* or planto buy one, consider this:

The Disk II* subsystem madefor your Apple II provides only 35tracks of storage. But Micro-Scisubsystems made for your Apple IIprovide up to 70 tracks, withoutreduced versatility or compatibility.

MORE CAPACITYFOR LESS MONEY

Our A40 system features 40

COMPATIBILITY TO SPARE

Micro-Sci has achieved thisextra storage while maintainingcompatibility with your existingApple formated diskettes.

Our subsystems operate with;:DOS 3.2 and 3.3, Pascal, and theZ80 SoftCard.

VERSATILITY PLUS

byte capacity of Disk II.

With either Micro-Sci system,youpay a lot less per byte. And withthe A40, you could even end uppaying 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) thanDisk 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 storagecapacity 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 yournearest 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-SCI17742 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 manyof them. The map in figure 5 is presented to help thereader find a course through this hitherto unchartedivory tower.

You can begin at the drawbridge by reading Dave Rob-son's introduction to object-oriented programming (page74) and then proceed by reading the description of theSmalltalk-80 language (page 36). The two examples ofprogramming 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 tobuild control structures (page 322). Or, you can follow ahallway to the user interface window and read LarryTesler's description of the Smalltalk programming envir-onment (page 90). Trygve Reenskaug offers further per-spectives on providing a programming interface to aSmalltalk system (page 147).

At any time, you can take the side stairs to read DanIngalls' presentation of the design principles behindSmalltalk (page 286). Those readers who are interested inimplementation details can head for the cellar and readGlenn Krasner's article on the Smalltalk virtual machine(page 300), or Ted Kaehler's article on a Smalltalk virtualmemory (page 378).

The walls of the tower are covered with visual imagesthat will please any graphics enthusiast. Many werecreated by the ToolBox painting component of Smalltalk,as described in Bill Bowman and Bob Flegal's article (page369). Greater detail about the Smalltalk graphics kernel isprovided by Dan Ingalls (page 168).

Ivory towers are often associated with educationalenterprises. So it is not surprising that field studies of thevarious versions of Smalltalk have been carried out most-ly in educational settings; elementary, junior, and seniorhigh school students as well as university students havehelped us test our ideas. Joan Ross and I provide some ofthe 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, tosurround it with protective clouds, and then to blowsome of the clouds away. All the people, past and pre-sent, of the Xerox Palo Alto Research Center contributeda brick or two. George Pake, vice president of CorporateResearch, assembled the bricklayers. We especiallyherald the person who is responsible for laying the foun-dation, Alan Kay, and current members of LRG notnamed as article scribes: Peggy Asprey, Alan Borning,Laura Gould, Bruce Horn, Neil Jacobstein, Kim McCall,Diana Merry, Steve Putz, and Steve Weyer. Specialthanks to Bert Sutherland who did the "preflightcheck. "■

BARCODE FORYOURSMALL COMPUTER.

/// '/■//// ////' / •■/•-//

'/WW/////!,

7///W//M '■'//////////

wma

wm/t/m

'WW/f,WW////

mm

'W/i

m

«Si#

New in-depth report tellsyou how-at savingsof up to $40,000

"Contemporary Applications of OpticalBar Code Technology" is a new, compre-hensive report from North AmericanTechnology that can save you thousandsof dollars in research and development

time when programming and equippingyour small computer for bar code.Written by the originators of ByteMagazine's experiments with publicationof software in printed form, Walter Banksand Carl Helmers, this report is the onlycomplete presentation of materials onkeyless data entry using modern bar codetechnology. It will enable you to:

• Read HP-41C calculator formats intoyour Apple, or other suitable computer.

• Prepare and deliver machinereadable printed software to yourcustomers.

• Read a UPC code into your personalcomputer.

• Print Code 39 manufacturing inven-tory tags with your formed characteror dot matrix printer.

Here, in clear, concise, understandablelanguage is all you need to know aboutbar code history, software engineeringrequirements, 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 majorformats from Code 39 to HP-41C, andUPC to the new NATI text software pub-lication format You get information youcan use to program your small computerfor bar code without detail processing bya human operator. This method speedsthe operation, eliminates translation andentry errors and, where desirable, permitsthe use of unskilled personnel for theentry function. You save thousands ofdollars as a result The $500 purchaseprice of the report includes license forthe commercial modification and use ofall software contained therein.For detailed information, send for ourbrochure. There is no cost or obligation.Mail the coupon today.

in

1«*

Q>

NORTH AMERICANTECHNOLOGY, INC.

Strand Building174 Concord St..Peterborough, NH 03458(603) 924-6048

Please send me your FREE brochure on"Contemporary Applications of Optical BarCode 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 $895assembled

16K Static $179assembled

tie*0"

«^

• 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'swhat is being done tor you.

High Performance and Low Price 16K Static Board

You want the most cost-effective, high performance memoryboards that technology will allow. With that in mind we commis-sioned one of the top memory designers in the country. We told himto 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 tohave both extended addressing capabilities and bank selecicapabilities at no additional cost. You had to be able to de-select IKblocks so the memory could accommodate memory-mapped videodisplays or controller cards. The board had to be fast so a user couldrun his processor at full speed. Finally, the board had to be reliableand 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 typehardware and IEEE 696/S100 extended address protocol

• Operation guaranteed to 4 MHz with Z-80 and to5 MHz with 8085 processors

• Low power consumption, typically 1.3 amps

• Uses low power 300 ns 2114 (IKX4)

64K Ram, Model MM65K16S Specifications:

• Operation guaranteed to 8 MHz

• Compatible with both existing bank select typehardware and IEEE 696 extended address protocol

• Fully loaded board (64K) draws 400ma. while max.current is 550 ma.

• Four independently addressable 16K submodules on oneboard organized as 2 pair of independent 32K banks oras 1 64K extended address page. Each 32K bank re-sponds independently to phantom. Bank select logic iscompatible with either Cromemco Cromix* or standardbank select software.

• 2716 (5V) EPROM compatibility:

Programmed 2716 EPROMs may replace any or all of theRam components on the board.

• New 16K (2KX8) Static Rams which combine extremelow 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, guaranteed16K board that we are introducing for only $179. Runs on any S-1008080, 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 thefuture with tomorrow's high speed processors in mind. This boardhad to work with all S-100 systems, with current processors andfuture (up to 8 MHz) processors. It had to be ultra-low power. It hadto be designed so the advanced user could populate the board withprogrammed EPROMs for special applications. This board, too, hadto 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 andwe are selling it that way, too. Put in additional chips when youwant to increase the capacity!OEM and dealer inquiries invited.

No Risk Free Trial

After you purchase one of our boards you may returnit (intact) for any reason within 15 days after shipmentand receive a full refund.

Free Six Months Memory Insurance

We will replace any board purchased from MemoryMerchant that becomes defective through normal usefor up to six months.

Yesl Please tend me the items listed below. I understand that if I'm notfully satisfied with the product, I can get a full refund within 15 daysafter 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

memorymerchant

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 thecontinuing line of innovative products from theSystems Group.

Unbeatable S-100 Memory Boards

First was the development of the DMB6400series of S-100 Memory boards featuring the

innovative BankSelect switchingtechnique. Thisenables users tosoftware selectup to four totallyindependentmemory banksper board.

The 2nd Generation

Then came the 2nd Generation of IEEE S-100COMPATIBLE Z80 PROCESSORS, FLOPPY DISKCONTROLLERS and SERIAL I/O BOARDS. Eachhas been designed for single user, multi-user or

network operating systemssuch as CP/M®,MP/M™, CP/Net™and OASIS™.

The NextLogical Step ...

We challenged our design team to create aninnovative yet competitive system utilizing ourexisting line of field proven, dependable S-100boards. The result: a highly reliable, quality built,state of the art microcomputer that gives youthe cost/performance edge you need to be aleader in your field.

The System 2800 comes with a choice ofoperating systems: CP/M with an enhancedCBIOS for single user systems and either MP/Mor 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 ResearchOASIS is a trademark of Phase One Systems

1 1 [~] Essa

Croup

enhanced XIOS. The CP/M based System 2800provides improved diagnostic reporting capabilityand increased sector sizes of 1024 bytes, yieldingdisk performance throughput increases up to400% over standard unblocked systems.

The enhanced multi-user, multi-tasking MP/Mbased System 2800 provides the same advancedfeatures as CP/M. In addition, this interruptdriven implementation can offer performancethroughput increases up to 2000% thruextensive disk buffering for applicationsrequiring a large number of disk accesses.

Also available is the OASIS operating systemwith ISAM files, automatic record locking andmultiple-user print spooling.

All operating systems are available in eitherfloppy or hard disk configurations. The diskdrive selection includes single or double sided,double density 8-inch floppies with up to 2.52megabytes of formatted storage per system,expandable to 5.04 megabytes, and an 8-inch 10megabyte Winchester hard disk.

Cost Effective Reliability

Dealers, OEM's and System Integrators sharemany common needs. Not the least of these isdependable products. That's why we back ourSystem 2800 with our established reputation forhigh quality products, superior support, promptand courteous service, and a one-year warranty.

Take the next logical step. See your nearestcomputer dealer, or contact us for the completestory on our S-100 family of board products andenhanced 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 1981BYTE could cause readers to mistakenlyconclude that certain products of Com-puter Corporation of America are avail-able through Computers, Etc.

Computer Corporation of America'sproducts and services are available onlythrough the Computer Corporation ofAmerica. Additionally, the name "Com-puter Corporation of America" is the ex-clusive property of Computer Corpora-tion of America, a corporation organizedunder the laws of the Commonwealth ofMassachusetts.

Thank you, BYTE, for this opportunityto eliminate any confusion concerning theuse of our name or availability of ourproducts 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 deviceswith April's "What's New7" mention ofLOUD 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 Iremember, BYTE reported the develop-ment of an earlier version of this devicefive years ago, in 1976. At that time, thedevice was only available in high-voltageversions and had a much shorter lifetimethan the current component has.

In the 1976, BYTE said:

When connected across a +1000 Vsupply, it makes a loud noise (once).The NED was discovered by IgorPravaganda, whom, you'll recall,worked many years trying to filter ACwith polarized electrolytic capacitors.He'll always be remembered as thefather of the confetti generator.

System 3 $7053

This 16-bit Multibus™ computersystem 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 andFORTRAN 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)

• 11 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 ofthe device was also slightly different. I as-sume the drawing of the NED has beenstandardized to the current version in thepast five years.

1976 NED

1981 NED

While I am pleased to learn of the con-tinued development of this device, I dofeel that, in the future, BYTE should bemore careful in reporting of "new" semi-conductors.

David J Lindbergh49 Beechmont StWorcester MA 01609

We have been following the develop-ment of the NED (which appeared for thefirst time on page 41 of the February 1976BYTE) very closely. Also at that time, wereported on the invention of two other de-vices: the Shiftless Register and the Fuzz-Locked Loop. We believe that these threedevices will form the basis for data-com-munications systems in the future. Watchupcoming issues for a report on the Fast-Fourier Stepdown Transformer. . . . CPF

April's Foolers

The hasty printing of data concerningour Black-Hole Diode is not only an inva-sion of our corporate security, but is notin the national interest. (See the April1981 BYTE, page 363.)

Our device, which is covered by USpatents and is classified by the NationalSecurity Council as "Top Secret," shouldnot be pandered about in a general-circu-lation magazine for all to see, especiallywhen those not friendly to our nation maylearn details of this device.

Furthermore, how BYTE learned of theexistence of our device is unknown to us,but be advised that stricter security hasbeen imposed to forestall any furtherlapses.

Be also advised that the company BYTElists 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 scncrationof business software

WHAT'S IN A NAME?

We've changed the name of our product line. Originally, we called ourproducts "Phoenix" because we saw the phoenix as an appropriatesymbol of quality. Unfortunately, a lot of other companies chose Phoenixos well, and there was some concern that the market place wouldbecome confused.

Our new name, PALANTIR" (pronounced pal'anreer), is not a new namefor us since it's our corporate name. It comes from J.R.R. Tolkien's TheLord 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'tchanged. It is still the highest quality business software you can buy foryour microcomputer.

WORD PROCESSINGWe know word processing. A year-and-a-half ago the owners ofDesigner Software'" wrote a well-known word processor for anothercompany. In the last 18 months we've learned about other features youwant in a word processing package. PALANTIR™ Word Processingreflects our experience. It is more powerful than other word processingpackages 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 wasthe best ever for microcomputer software. Even so, we fell that we couldhave 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 ownlevel, 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 byCPA's based on similar packages from mini and mainframe computers.The programs are COBOL with an integral assembly-language database. They are integrated to allow automated posting to the GeneralLedger. An internal screen handler permits full-screen data entry forspeed and ease of use. Although we made cosmetic enhancements priorto distribution, the basic programs have been user-tested for at leasteighteen months.

PALANTIR™ Accounting also includes a growing number of specificapplication packages. We have completed or scheduled for completionFixed Assets, Tenant Processing, Mail Management, Financial Projec-tions and Time/Billing. Each package stands alone, but many also work inconjunction with other PALANTIR™ packages. For example, MailManagement will work very well by itself, but we also designed it to fit ineasily with the merging capabilities of Word Processing.

With all PALANTIR™ Accounting we have given special attention todocumentation. Not being content to describe which buttons to push, wehave 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 yourbusiness, 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'sSoftware...Today!

UCSD

P-SYSTEM

(FORTRAN)

Pascal

BASIC

LISP

portablePowerfulProfessional

FOR PROGRAMMERS

•Operating syslfcm with interpreter,screen and character editors, filer,assemblers, Utilities and compilers.

• PFASITMI -Keyed - ISAM in 6K usermemory

FOR ENGINEER^, CONTRACTORS

•Milestone!™)-Organic Software'sanswer to PERT. Critical pathmodeling.

•FORTRAN--ANSI 77 Subset

FOR DOCTORS, CLINICS

•MEDOFF[CE<™)_The completeoffice system tor the professional.

•DATE BOOKW-Appointmentscheduling for your micro.

FOR SMALL BUSINESS

•GL, AR, AP, Payroll Packages•Word Processing

FOR EDUCATORS, RESEARCHERS

• INTELLECT-UU™> _ A full rangeLISP interpreter for A. I. applications

•mINDEXf™!—itext database systemfor bibliographies, contracts,abstracts, ete.:

And Much More—

READY TO RUN ON

DECLSI-11tTRS-80 Model ll§

PCD SYSTEMSP. 0. Box 143Penn Yan, NY 14527315-536-3734

ITM Digital EquipmentSTM of Tandy Corp.*tmu. of California

Letters,

Black-Hole Device, Spatial RegressionLtd, will shortly receive summons fromour legal department.

Any repetition or further disregard fornational security regarding this device orits uses in particle-beam research willbring 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 issuefor our readers to find; some are subtle,some are outrageous. Response to thisyear's foolishness was greater than in anyyear 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 "swiftand final action" (gulp!)—we were justkidding! By the way, where should wereturn the sample device that was in-cluded with your letter? . . . CPF

Unpublished Apple Logo

With some hesitation, I'm writing thisletter to inform BYTE readers of an unfor-tunate situation concerning the distribu-tion of the MIT Apple Logo programminglanguage. I've been writing Apple Logo atthe Logo laboratory for the last two yearsas an undergraduate project. I've laboredunder the understanding that Apple Logowas to be placed in the public domain orlicensed to software-development com-panies or dealers for distribution. How-ever, for the past eight months, MIT haswithheld the language from the public.

I would like to explain why. The origin-al intent of my project was to implement asmall subset of the Logo interpreter on theApple computer. The final product actu-ally evolved into a full-scale implementa-tion, with features surpassing the TexasInstruments (TI) version, which also wasdeveloped at the Logo laboratory. WhenTI heard about this and the Apple Logoproject, it reacted angrily; it fears that a

August 1981 © BYTE Publications Inc

Logo for the Apple would adversely affectsales of its Logo system. In fact, TI may bequite justified in its fears, for there aremany people who think that Apple Logois superior to TI Logo as an educationaltool. It's rumored that Texas Instrumentsis depending on TI Logo to redeem theTI-99/4 home computer, which is not sell-ing as well as expected.

Texas Instruments is a very generousfriend of MIT, and some people here areembarrassed about a situation that mightthreaten one of its sales programs. So, inan effort to appease its corporate friend,MIT has been stalling the distribution ofApple Logo. There was a version readyfor distribution at the end of last year withmany improvements over the version re-viewed in the June BYTE (see "Logo forPersonal Computers," page 36), and sincethen it has been expanded and improved.But I'm extremely frustrated that MITchooses to avoid angering Texas Instru-ments by compromising the efforts of oneof its undergraduate students. Thisfrustration is compounded by the fact thatI feel, as do many here at the lab, that theTI-99/4 has many serious deficiencies andthat the public will be cheated if forced tobuy it because it is the only machine onwhich Logo is available.

Apple Logo is one of the finest pro-grams that can be used on the Apple, andI would like to see it widely distributed asearly as possible. Two years of my effortswent into it, as well as those of severalothers, and it's sad that MIT does not re-cognize the injustice that it is doing tomyself, the Logo laboratory, and themany Apple users who would benefitfrom Apple Logo. If TI is afraid that itssales will be hurt, then it should fix thedeficiencies in its machine and stop tryingto suppress this program. I urge BYTEreaders to write the Office of the Provostat MIT and request that Apple Logo bemade public or licensed for distributionwithout delay. Thank you.

Stephen HainMIT Logo Laboratory545 Technology SqCambridge MA 02139

Love's Labors Lost

Whilst enjoying very much theShakespearean research endeavours ofAndrew Kalnik, ft is oWious that he hasmissed the point. (See "Micro-Shakespeare," April 1980 BYTE, page 104and "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 magazine, and a sandwich

The guy on the right has the OSBORNE 1®, a fullyfunctional computer system in a portable package the sizeof a briefcase. Also in the case are the equivalent of over1600 typed pages, stored on floppy diskettes.

The owner of the OSBORNE 1 is going to get morework done—and better work done—in less time, and withless effort.

Unfold it, plug it in, and go to worklike you've never worked before. . . .

Goto work with WORDSTAR® word processing, soyour correspondence, reports, and memos take less timeto produce, and say more of what you wanted to say. Andwith MAILMERGE®—the mailing system that turns outpersonalized mass mailings in the time you'd spend on arough draft.

Go to work with SUPERCALC®, the electronicspreadsheet package that handles complex projections,financial planning, statistics, and "what if" questions in-stantly. For the more technically minded, SUPERCALC willprocess 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 softwarepackages from a host of vendors designed to run on theCP/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 withoutthe capabilities of the OSBORNE 1. That's good, becauseyou won't want to work again without it.All for $1795. It's inevitable.

The OSBORNE 1 is the productivity machine that'schanging the way people work. Put simply, the machinedelivers a significant productivity edge—day in and dayout—to virtually anyone who deals with words or num-bers. Or both.

Since the entire system is only $1795, it won't be toolong before the guy on the left has an OSBORNE 1 of hisown. The same probably goes for the person readingthis ad. In fact, we think it's inevitable.

The OSBORNE 1 includes a Z80A*CPU. 64Kbytes 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 thatget connected to computers, plusCP/M, CBASIC-2, Microsoft BASIC,WORDSTAR, and SUPERCALC. Thesystem is available from com-puter retailers nationally.

$1795. It'sinevitable.

COMPUTER CORPORATION

26500 Corporate Avenue Hayward, California 94545Phone (415) 887-8080 TWX (910) 383-2021

Letters ■

1981 BYTE, page 98.)

Careful scrutiny of the works of theBard of Programmers reveals that somediscarded program segments have becomegarbled into the text, probably as theresult of bad file merges.

Take, for example, the statement

If it were done when 'tis done then 'twerewell 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, andusing 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 itmay be that QUICKLY denotes a ma-chine-code subroutine that could havesome terminating function. (Mistress

Waiting On DeliveryofADECLA120?

A

Avoid the hassle by upgrading your LA36 for 1200baud operation with a DS120 Terminal Controller.

The Datasouth DS120 gives your DECwriter® II the high speedprinting and versatile performance features of the DECwriter® IIIat only a fraction of the cost. The DS120 is a plug compatiblereplacement for your LA36 logic board which can be installed inminutes. 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 rangingfrom the Fortune 500 to personal computing enthusiasts. Innumerous installations, entire networks of terminals have beenupgraded to take advantage of to-day's higher speed data com-munications services. LSImicroprocessor electronicsand strict quality controlensure dependable per-formance for years tocome. When service isrequired, we will respondpromptly and effectively.Best of all, we can deliverimmediately through ournationwide network ofdistributors. Just give us acall for all the details.

DATASOUTH COMPUTER CORPORATION

4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704(523-6500

J^jJP"* ""i ssswtao >iiiiiiii,i"i,'iui

IBP'-

Quickly is a comical character in TheMerry Wives of Windsor—an example,perhaps, of a subroutine label being con-fused with a file name?)

Further research has revealed, hidden inthe 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 usetoday: GOTO, END, EXIT, ERROR, RE-STORE, RUN are typical, whilst the useof functions such as SIN, HEX, DIM, andFIX show the arithmetical properties ofthe language. It can safely be assumedthat commands such as READ and AUTOwere not generally implemented at thistime.

Research continues, but so far it looksas if Sir Francis Drake made the first re-corded visit to Silicon Valley, duringwhich, presumably, the natives acquiredthe principles of his on-board naviga-tional computer.

Ross HendersonSystems ManagerDigital Devices Ltd134 London RdSouthborough, Kent,TN4 0PL, England

It is obvious that, despite improve-ments in hardware, some aspects of pro-gramming never change—Shakespeare, inhis time, may have suffered the "slingsand arrows of outrageous fortune" just asmodem programmers do. What personal-computer user has not, after seeing anadvertisement for software, purchasedsame from The Software Merchant ofLetters continued on page 282

34 August 1981 © BYTE Publications Inc

Circle 103 on inquiry card.

spipsiuijik

Here's the white collar crime of 1981: Letyour people labor away for hours at jobs aproperly 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 scoopup all those hours you're losing and give you backmore productivity, more time, more information,and more success.

ANALYST. $250. An information storageand retrieval (data base) system that will replacepiles of files with information you can USE.

MAGIC WORKSHEET. $250. SSG's answerto the world's demand for electronic spreadsheetcalculation and "what-if" capabilities on CP/Msystems. (Available quarter two 1981.)

NAD Name and Address. $100. A mailing

and addressing system to do all the typing andclerical work on lists—from ten names to tenthousand.

LETTERIGHT. $200. A correspondenceprocessing package that speeds letter writing ANDmerges your letters with names selected from yourNAD list.

It takes very few hours at today's salarylevels to repay the cost of any of these systems.They'll do you far better than that. SSG'sProductivity Software Packages will contributeimmediately to the growth and success ofyour business.

Please act now. Tear out this page. Thiscoupon or a phone call will get you immediaterelief from the white collar crime of,1981. We'll send you completeinformation. Or betterstill, answer your ques-tions immediately.

Time's a-wasting.That's a crime.

i \

□ Please rush meinformation on the SSGBusiness ProductivityPackages for CP/ M-basedcomputers.

□ Please call me right away.Name

Company .

Address

City State ZipTelephone (

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!

5204Claremont, Oakland, 'California94618 (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 ofthe object-oriented point of view as it has been reduced topractice by the Xerox Learning Research Group. TheSmalltalk-80 system is composed of objects that interactonly by sending and receiving messages. The program-mer implements a system by describing messages to besent and describing what happens when messages arereceived.

The Smalltalk-80 system is the latest in a series ofprogramming environments that have applied theobject-oriented point of view more and more uniform-ly to the design and production of software systems.The fundamental ideas of objects, messages, andclasses came from SIMULA. (See reference 1.)SIMULA allows users to create object-oriented sys-tems, but uses the standard data/procedure-orientedALGOL language to provide numbers, booleans, basicdata structures, and control structures. The Flexsystem, the Smalltalk-72, Smalltalk-74, andSmalltalk-76 (see references 5, 2, and 4, respectively)systems extended the object-oriented point of view toan increasing number of the elements of a program-ming environment. For example, in Smalltalk-72,arithmetic, list structures, and control structures wererepresented as objects and messages, but classes werenot. In Smalltalk-74, class descriptions as objects wereintroduced. The Smalltalk-76 system added thecapability to express relationships between classes,and extended the object-oriented point of view to theprogrammer's interface.

This article presents the central semantic featuresand most of the syntactic features of the Smalltalk-80system. It was prepared by Dave Robson and AdeleGoldberg as scribes for the group effort of designingand implementing the system. Two forthcoming books(see reference 3) provide the full specification of theSmalltalk-80 system; in particular, the books describethe implementation of the interpreter and storagemanager, 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 theSmalltalk-80 programming language. A message-sendingexpression describes the receiver, selector, and argumentsof the message. When an expression is evaluated, themessage it describes is transmitted to its receiver. Hereare several examples of expressions describing a messageto an object. (Note: color has been added to help identifythe receivers, selectors, and arguments in the followingexamples.)

Key: □ Receiver

1.

frame

center

2.

origin

+

offset

3. frame moveTo: newLocation4.

list

at:

index

put:

element

□ Selector

□ Argument

Each expression begins with a description of thereceiver of the message. The receivers in these examplesare described by variable names: frame, origin, frame,and list, respectively. Generally, at least one space mustseparate the parts of an expression.

Messages without arguments are called unarymessages. A unary message consists of a single identifiercalled a unary selector. The first example is a unarymessage whose selector is center.

A binary message has a single argument and a selectorthat is one of a set of special single or double characterscalled binary selectors. For example, the commonarithmetic symbols (+ , - , *, and /) are binary selectors;some comparison operations are represented as doublecharacters (eg: = = for equivalence, ~ = for notequal). The second example is a binary message whoseargument is offset.

A keyword message has one or more arguments and aselector that is made up of a series of keywords, onepreceding each argument. A keyword is an identifier with

36 August 1981 © BYTE Publications Inc

a trailing colon. The third example is a single-argumentkeyword message whose selector is moveTo: and whoseargument is newLocation. The fourth example is a two-argument keyword message whose selector is made up ofthe keywords at: and put: and whose arguments are indexand element. To talk about the selector of a multiple-argument keyword message, the keywords are con-catenated. So, the selector of the fourth example isat:put:.

The message receivers and arguments in the examplesare described by variable names. In addition, they canalso be described with literals. The two most commonkinds of literals are integers and strings. An integer literalis a sequence of digits that may be preceded by a minussign (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 messagewith 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 methodwill always return a result (an object). The result of amessage can be used as a receiver or argument foranother message. An example of a unary messagedescribing the receiver of another unary message is

window frame center

Unary messages are parsed left to right. The firstmessage in this example is the unary selector frame sent tothe object named window. The unary message center isthen sent to the result of the expression window frame(ie: the object returned from window's response toframe).

Binary messages are also parsed left to right. An exam-ple of a binary message describing the receiver of anotherbinary message is

index + offset * 2

The result of sending the binary message + offset tothe object named index is the receiver for the binarymessage *2. All binary selectors have the sameprecedence; only the order in which they are written mat-ters. Parentheses can be used to change the order ofevaluation. A message within parentheses is sent beforeany 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 receiverindex 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 thereceiver of the binary message whose selector is + andwhose argument is the result of the unary message offsetto window. The result of the + message is, in turn, thereceiver of the binary message - index. Parentheses canbe used to explicitly show the order of evaluation, eg:((frame center) + (window offset)) - index. Parenthesescan also be used to alter the order of evaluation. In theexample

(center + offset) x

the binary message + offset would be sent before theunary message x.

Whenever keywords appear in an unparenthesizedmessage, they compose a single selector. The example

window showText: Title' inFont: helveticaindented: 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 keywordmessage is to be used as a receiver or argument of anotherkeyword 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 keywordmessages. When unary, binary, and keyword messagesappear in the same expression without parentheses, theunary 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 ofmessages to be sent to the same object. A simple messageexpression is a description of the receiver (ie: a variablename, literal, or expression) followed by a message (ie: aunary selector, a binary selector and argument, or a set ofkeywords 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 byseveral 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. Theselectors 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 theframe message to window. The selectors of the threemessages are center:, width:, and clear. Withoutcascading, 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 anassignment 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 theleft of the arrow assumes the value of the object describedto the right of the arrow. The new value can be describedby a variable name, a literal, or a message-sending ex-pression. Examples of assignments are

center — origin

index — 0

index — index + 1

index — index + 1 max: limit

In the last example, the message + I is sent to thevalue of the variable index, the message max: limit is sentto the result of the -I- 1 message, and the result of themax: limit message becomes the new value of the variableindex.

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 — 0

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

—0

o

<<>

r^-^Q-^

symbol

string

character constant

array constant

-(#>

literal

number

*

symbol constant

1 '

character constant

string

array constant

variable name

identifier

unary selector

binaryselector

<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 parsingwell-formed Smalltalk-80 expressions. This table doesnot specify how spaces are treated. Spaces must not ap-pear between digits and characters that make up a singletoken, nor within the specification of a number. Spacesmust appear

• between a sequence of identifiers used as variables orunary 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 otherelements in an expression. A carriage return or tab hasthe 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 classprovides a set of names that are used to refer to thesevariables. A class also provides a set of methods thatdescribe what happens when its instances receive mes-

sages. A method describes a sequence of actions to betaken when a message with a particular selector is re-ceived by an instance of a particular class. These actionsconsist 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, aprogrammer creates and modifies classes that describeobjects. The most profitable way to manipulate a class iswith an interactive system. Much of the development ofthe Smalltalk-80 system has been the creation of ap-propriate software-development tools. (See Larry Tesler'sarticle "The Smalltalk Environment," on page 90.) Unfor-tunately, to describe a system on paper, a noninteractivelinear mode of presentation is needed. To this end, abasic class template is provided as a simple textualrepresentation of a class. The basic class template in table1 shows the name of the class, the names of the instancevariables, and the set of methods used for responding tomessages.

In table 1, the italicized elements will be replaced bythe 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

methodmethodmethod

Table 1: The basic class template.

class. Names of classes begin with an uppercase letter,and names of variables begin with a lowercase letter. Asan example, figure 2 shows the basic template form of aclass named Point whose instances represent points in atwo-dimensional coordinate system. Each instance has aninstance variable named x that represents its horizontalcoordinate and an instance variable named y thatrepresents 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 useof '|', '.' 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 verticalbars (|). The message pattern consists of a selector andnames for the arguments. The expressions are separatedby periods (.) and the last one may be preceded by an uparrow (t). In the method for selector + in figure 2, themessage pattern is + aPoint, the temporary variablenames 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 verticalbars and periods are delimiters of significance.

As stated earlier, each message pattern contains a selec-tor. When a message is received by an instance, themethod whose message pattern contains the same selectorwill be executed. For example, suppose that offset were an

class name

instance variable names

methods

Point

x: xCoordfnate y: yCoordinate

x — xCoordinatey — yCoordinate

x| IIx

'y

+ aPolntll [sumX sumY

sumX

- x +

a Point x.

sumY

- y +

aPointy.

t Point newX:

sumX Y:

sumY

- aPoint | differenceX differenceYdifferenceX — x — aPoint x.differenceY — y - aPoint y.(Point newX: differenceX Y: differenceY

* scale-Factor |scaledX scaledYscaledX — 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 withnumber.for.on:'

balanceChange | | t 0 — 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 wouldbe executed in response. For selectors that takearguments, the message pattern also contains argumentnames wherever arguments would appear in a message.When a method is invoked by a message, the argumentnames in the method are used to refer to the actualarguments of that message. In the above example, aPointwould 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

methodmethodmethod

instance messages and methods

methodmethodmethod

Table 4: The ft

ill class template.

Following the message pattern, a method can containsome temporary variable names between vertical bars.When a method is executed, a set of variables is createdthat can be accessed by the temporary variable names.These temporary variables exist only while the method isin the process of execution.

Following the second vertical bar, a method contains asequence of expressions separated by periods. When amethod 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. Smalltalkwill

1. Find the method whose message pattern has the sameselector as the message and create a set of variables forthe argument values.

2. Create a set of temporary variables corresponding tothe 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 messagereceiver's class. In the example, x and y refer to the valuesof the instance variables of offset.

There is an important pseudo-variable available inevery method, which is named self, self refers to the

42 August 1981 © BYTE Publications Inc

receiver of the message that invoked the method. It iscalled a pseudo-variable because its value can be accessedlike a variable, but its value cannot be changed using anassignment expression. In the example, self refers to thesame object as offset during the execution of the methodassociated with + .

Arguments and temporary variables are similar, in thatthe names for both are declared in the method itself andthey both exist only during the method's execution.However, unlike arguments, temporary variables are notautomatically initialized. The values of temporaryvariables can be changed with an assignment expression.

Class variables are shared by all instances and the classitself. Names for the class variables are shown in the fullclass template in an entry called "class variable names"(see table 4). Although they are variables and their valuescan be changed, they are typically treated as constants,initialized when the class is created, and then simply usedby 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 beused in any of its methods.

Global variables are shared by all objects. A global dic-tionary, called Smalltalk, holds the names and values ofthese variables. The classes in the system, for example,are the values of global variables whose names are theclass names. With the exception of variables used toreference system resources, few global variables exist inthe Smalltalk-80 system. Programming style that dependson 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 valueof this expression. If an t does not precede the last ex-pression, the value of the message is simply the receiverof 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 commentis a sequence of characters delimited by double quotes.Two consecutive double quotes are used to embed adouble quote within a comment. The methods in classPoint were purposely written in a verbose style to provideexamples. 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 importantattributes of a class. The complete description of a class isprovided by the full class template, described in the nextsection.

Inheritance

The basic template allows a class to be described in-

dependently of other classes. It ignores inheritanceamong classes. The full class template, however, takes in-heritance into account. (See table 4.) With it, a class canbe described as a modification of another class called itssuperclass. All classes that modify a particular class arecalled its subclasses. A subclass inherits the instancevariable names and methods of its superclass. A subclasscan also add instance variable names and methods tothose it inherits. The instance variable names added bythe subclass must differ from the instance variable namesof the superclass. The subclass can override a method inthe superclass by adding a message with the same selec-tor. Instances of the subclass will execute the methodfound in the subclass rather than the method inheritedfrom the superclass.

To assemble the complete description of a class, it isnecessary to look at its superclass, its superclass'ssuperclass, and so on, until a class with no superclass isencountered. 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 linkedthrough the superclass relation is called a superclasschain. The full class template has an entry called"superclass" that specifies the initial link on the class'ssuperclass chain.

As an example, we might describe a class,DepositRecord, whose instances are records of bank ac-count deposits. Each instance has two instance variablesrepresenting the date and amount of the deposit. Theclass 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: checkNumberfor: checkAmounton: 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 withnumber:for:on:'

balanceChange [ | T 0 — amountTable 5: Full class template for class CheckRecord.

August 1981 © BYTE Publications Inc 43

A class, CheckRecord, whose instances are records ofchecks written on an account is a subclass ofDepositRecord; this new class adds an instance variablethat represents the check number. The class template isshown in table 3.

An instance of CheckRecord has three instancevariables. It inherits the amount message, adds thenumber.for.on: message, and overrides thebalanceChange and of:on: messages. The of.on: methodcontains a single expression in which the message error:'Check records are initialized with number:for:on:' is sentto the pseudo-variable self. The method for error: is foundin the superclass of DepositRecord, which is the class Ob-ject; the response is to stop execution and to display thestring 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: xValuey: yValuenewRadius: radius Angle: angle

t self new x: radius * angle siny: radius * angle cos

class initializationsetPI | | pi - 3.14159

instance messages and methods

accessing

x: xCoordlnate y: yCoordlnate | |

x — xCoordinate.y — yCoordinatexj | 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 * scaleFactorclrcleArea | 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 themethods in its superclass that have been overridden in thesubclass description. The use of super as the receiver of amessage has the same effect as the use of self, except thatthe search for the appropriate message starts in thesuperclass, not the class, of the receiver.

For example, the method associated withnumber:for:on in CheckRecord might have been definedas

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 thatdescribes it. A class that describes a class is called ametaclass. Thus, a class has its own instance variablesthat represent the description of its instances; it respondsto messages that provide for the initialization andmodification of this description. In particular, a classresponds to a message that creates a new instance. Theunary message new creates a new instance whose in-stance variables are uninitialized. The object nil indicatesan uninitialized value.

The classes in the system might all be instances of thesame class. However, each class typically uses a slightlydifferent message protocol to create initialized instances.For example, the last expression in the method associatedwith + in class Point (see figure 2) was

Point newX: sumX Y: sumY

newX.Y: is a message to Point, asking it to create a newinstance with sumX and sumY as the values of the new in-stance's instance variables. The newX:Y: message wouldnot mean anything to another class, such asDepositRecord or CheckRecord. So, these three classescan't be instances of the same class. All classes have a lotin common, so their classes are all subclasses of the sameclass. This class is named Class. The subclasses of Classare 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 fromClass. One reason for having metaclasses is to have aspecial set of methods for each class, primarily messagesfor initializing class variables and new instances. Thesemethods are displayed in the full class-template formshown in table 4; they are distinguished from themethods for messages to the instances of the class. Thetwo 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 associatedwith the metaclass; those in "instance messages andmethods" are associated with the class.

If there are no class variables for the class, the "classvariable name" entry is omitted. So, CheckRecord mightbe described as shown in table 5.

It is often desirable to create subcategories within thecategories "class messages and methods" and "instancemessages and methods." Moreover, the order in whichthe categories or subcategories are listed is of nosignificance. (The notion of categories is simply a prettyprinting" technique; it has no semantic significance.)

Returning to the example of class Point, if the instancemethods of class Point include subcategories accessingand arithmetic, the template for Point might appear asshown in table 6.

When the class Point is defined, the expression

Point setPi

should be evaluated in order to set the value of the singleclass variable.

A Point might be created and given a name byevaluating the expression

testPoint - Point newX: 420 Y: 26

Another example of a message with a primitiveresponse 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 resultis that the argument is not a Smalllnteger. In the example,this would produce an error report. In the actualSmalltalk-80 system, an attempt is made to check and seeif the argument were another kind of number for which aresult could be produced.

Indexed Instance Variables

An object's instance variables are usually given namesby its class. The names are used in methods of the class torefer to the values of the instance variables. Some objectsalso have a set of instance variables that have no namesand 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 thatrepresent collections of other objects, such as arrays andstrings.

The messages to access indexed instance variables have

The new Point, testPoint, can then be sent the messagecircleArea:

testPoint circleArea

or used in a more complex expression:

(testPoint * 2) circleArea

Primitive Routines

The response to some messages in the system may beperformed by a primitive routine (written in the im-plementation language of the machine) rather than byevaluating the expressions in a method. The methods forthese messages indicate the presence of such a primitiveroutine by including < primitive > before the first expres-sion in the method. A major use of primitive methods isto interact with the machine's input/output devices.

An example of a primitive method is the new messageto classes, which returns a new instance of the receiver.

new | | < primitive>

This particular primitive routine always produces aresult. If there are situations in which a primitive routinecannot produce a result, the method will also containsome expressions. If the primitive routine is successful inresponding to the message, it will return a value and theexpressions in the method will not be evaluated. If theprimitive routine encounters difficulty, the expressionswill be evaluated as though the primitive routine had notbeen specified.

class name

Array

superclass

IndexedCollection

indexable instance variables

class messages and methods

instance creationwith: anElement | |

t (self new: 1) at: 1 put: anElementwith: 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 stuffembed

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 instancevariable of list. The at: and at.put: messages invokeprimitive routines to load or store the value of the in-dicated variable. The legal indices run from one to thenumber of indexable variables in the instance. The at: andat: 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 additionalline in the class template indicating that the instances con-tain indexable instance variables. As an example, weshow a part of the template for class Array in table 7.

Each instance of a class that allows indexable instancevariables 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 instancehas can be found by sending it the message size. A classwhose instances have indexable instance variables canalso have named instance variables. All instances of anyclass will have the same number of named instancevariables.

Control Structures and Blocks

The two control structures in the Smalltalk-80 systemdescribed so far are

• the sequential execution of expressions in a method

• the sending of messages that invoke other methods thateventually return values

All other control structures are based on objects calledblocks. 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 maybe preceded by one or more identifiers with leading co-lons. These identifiers are the block arguments. Blockarguments are separated from expressions by a verticalbar.

Whenever square brackets are encountered in amethod, a block is created. Evaluation of the expressionsinside the square brackets is deferred until the block issent the message value or a message whose selector is aconcatenation of one or more occurrences of the keywordvalue:. Control structures are implemented as messageswith receivers or arguments that are blocks. The methodsfor carrying out these control-structure messages involvesending the blocks patterns of value messages.

In the Smalltalk-80 system, there are two types of

primitive control messages: conditional selection ofblocks, ifTrue:ifFalse:, and conditional iteration of blocks,whileTrue: and whileFalse:.

The representation of conditions in the Smalltalk-80system uses distinguished boolean objects named falseand 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 receiveris true and evaluates the expressions in the second block ifthe 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 immediatelywithout 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 somecondition holds. This is similar to the WHILE and UNTILstatements in ALGOL-like languages. This type of con-trol message is a message to a block; the receiver, theblock, evaluates the expressions it contains and deter-mines whether or not to continue on the basis of the valueof the last expression. The first form of this controlmessage has selector whileTrue:. The method forwhileTrue: repeatedly executes the argument block aslong 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 objectsrepresenting magnitudes. The value returned is the resultof comparing whether the receiver is less than or equal to(< =) the argument.

The second conditional iteration message has selectorwhileFalse:. The method for whileFalse: repeatedly ex-ecutes the argument block as long as the receiver's valueis 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 formwhileTrue: aBlock and whileFalse: aBlock, if the argumentaBlock 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 blockis executed. Instead of sending the block the messagevalue, 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 variablescould implement a message with selector do: that takes ablock 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 toit for each execution. An example of the use of such amessage 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 anyclass. As an example, a simple repetition could be pro-vided by a timesRepeat: aBlock message to instances ofclass Integer

timesRepeat: aBlock | index |index — I.

[index < = self] whileTrue:[aBlock value,index — index + 1]

Examples of implementing other control messages aregiven 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 syntaxfor retrieving objects, sending messages, and definingclasses. The Smalltalk-80 system is a complete pro-gramming environment that includes many actual classesand instances. In support of the uniform syntax, thissystem includes class descriptions for Object, Class,Message, CompiledMethod, and Context, whosesubclasses are BlockContext and MethodContext. Multi-ple independent processes are provided by classes Pro-cessorScheduler, Process, and Semaphore. The specialobject nil is the only instance of class UndefinedObject.These classes comprise the kernel Smalltalk-80 system.

The system also includes class descriptions to supportbasic data structures; these are numerical and collectionclasses. The class Number specifies the protocol ap-propriate for all numerical objects. Its subclasses providespecific representations of numbers. The subclasses areFloat, 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 includeBag, Set, OrderedCollection, LinkedList, MappedCollec-tion, SortedCollection, and IndexedCollection. The latterprovides protocol for objects with indexable instancevariables. It has subclasses String and Array. Elements of astring are instances of class Character; bytes are stored ininstances of ByteArray. A subclass of String is Symbol; asubclass of Set is Dictionary (a set of Associations).

Interval is a subclass of Collection with elementsrepresenting an arithmetic progression. Intervals can becreated by sending the message to: or to:by: to Integer.So, the expressions 1 to: 5 by: 1 and 1 to: 5 each create anew 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 respondsto 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 aboveare used in the implementation of all applications, anunderstanding of their message protocol is as necessary tounderstanding an implementation as an understanding ofthe language syntax. These system classes are fullydescribed in the forthcoming Smalltalk books.

In addition to the basic data-structure classes, theSmalltalk-80 system includes class descriptions to sup-port interactive graphics (forms and images and imageeditors, text and text editors), networking, standard files,and hard-copy printing. A complete Smalltalk-80 systemcontains about sixty class definitions, not including avariety of windows or views, menus, scrollbars, and themetaclasses. Many of these are discussed in companionarticles in this issue. (See Daniel H H Ingalls's 'TheDesign Principles Behind Smalltalk," page 286, and LarryTesler's "The Smalltalk Environment," page 90.)

The important thing to note is that each of these classdescriptions is implemented in the Smalltalk-80 languageitself. Each can be examined and modified by the pro-grammer. Some of the class descriptions contain methodsthat reference primitive methods; only these methods areimplemented in the machine language of the implementa-tion machine. It is a fundamental part of the philosophyof the system design that the programmer have such com-plete access. In this way, system designers, such asmembers of the Xerox Learning Research Group, are ableto build the next Smalltalk in the complete context ofSmalltalk itself. ■

August 1981 © BYTE Publications lnc 47

References

Birtwistle, Graham; Ole-Johan Dahl; Bjorn Myhrhaug; andKristen Nygaard. Simula Begin. Philadelphia: Auerbach, 1973.Goldberg, Adele and Alan Kay, editors. Smalltalk-72 Instruc-tional Manual. Xerox PARC technical report, March 1976 (outof 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 Principlesof Programming Languages Symposium, January 1978.Kay, Alan, The Reactive Engine. Ph.D. Thesis, University ofUtah, September, 1969 (University Microfilms).

Glossary

Editor's Note: This glossary provides concise definitions for many of the keywords and concepts related toSmalltalk-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 betaken when a message is received byan 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, oftenmodifying some aspects of thatdescription

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 adesired manipulation of an objectone of the objects specified in amessage that provides informationneeded so that a message receivercan be manipulated appropriatelya message without argumentsa message with a single argumentand a selector that is one of a set ofspecial single or double charactersa message that has one or morearguments and a selector made up ofa series of identifiers with trailingcolons, one preceding each argu-ment

messageargument

unary messagebinary message

keyword mes-sage

block

instance vari-able

class variable

named variable

indexed variable

global or poolvariable

temporary vari-able

pseudo-variable

nil

field

bytecode

object pointerreference count

a literal method; an object repre-senting a sequence of actions to betaken at a later time, upon receivingan "evaluation" message (such asone with selector value or value:)

Semantics

a variable that is information usedto distinguish an instance fromother instances of the same classa variable shared by all instances ofa class and the class itselfan instance variable that is given aname in the class of the instance; thename is used in methods of the classan instance variable with no name,accessed by message only; referredto by an integer (an index)a variable shared by instances ofseveral classes; a system example isSmalltalk, a dictionary that includesreferences to all the defined classesa variable that exists only while themethod in which it is declared is inthe process of executiona variable available in every methodwithout special declaration, butwhose value cannot be changed us-ing an assignment. System examplesare self, super and thisContext.a special object, the only instance ofclass UndefinedObject

Implementation Terminology

the memory space in which thevalue of an object's variable isstored

a machine instruction for the virtualmachine

a reference to an objectof an object, is the number of ob-jects that point to it (ie: that containits 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 ofthe 21st century. Not a human team, buta team of self-replicating intelligent robots.

1961 Enter the first industrial robot—blind and unableto respond to its environment—capable only ofunvarying, repetitive tasks.

1975 Robots with touch sensing begin to do precisionassembly.

1981 Robots are no longer blind—silhouette visionarrives.

1982 Robots feel with an artificial skin.

1986 Robots adapt to the unstructured human envi-ronment.

1987 Reasoning robots hear and speak humanspeech.

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 terraformthe cosmos.

This future is unfolding today exclusively inthe pages of Robotics Age. Every twomonths we bring you the latest state-of-the-art robotic technology—from artificialintelligence, to automated roboticfactories, 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 ControlComputer with BASIC, Part 2

The Z8-BASIC Microcomputersystem described in this two-partarticle is unlike any computer pre-sently available for dedicated controlapplications. Based on a single-chipZilog Z8 microcomputer with an on-board tiny-BASIC interpreter, thisunit offers an extraordinary amountof power in a very small package. It isno longer necessary to use expensiveprogram-development systems. Com-puter control can now be applied tomany areas where it was notpreviously cost-effective.

The Z8-BASIC Microcomputer isintended for use as an intelligent con-troller, easy to program and inexpen-sive enough to dedicate to specificcontrol tasks. It can also serve as alow-cost tiny-BASIC computer forgeneral interest. Technical specifica-tions for the unit are shown in the "Ata Glance" box on page 52.

Last month I described the designof the Z8-BASIC Microcomputerhardware and the architectures of theZ8671 microcomputer componentand Z6132 32 K-bit Quasi-StaticMemory. This month I'd like to con-tinue the description of the tiny-BASIC interpreter, discuss how theBASIC 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 theZ8671 is officially called the ZilogBASIC/Debug monitor. It is essen-tially a 2 K-byte integer BASIC whichhas been optimized for speed andflexibility 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 (andPRINT HEX). Twenty-six numericvariables (A through Z) are sup-ported; and numbers can be ex-

Photo 1: Z8-BASIC Microcomputer. With the two "RAM" jumpers installed, it isconfigured to operate programs residing in the Z6132 Quasi-Static Memory. Afour-position DIP (dual-inline pin) switch (at upper right) sets the serial data ratefor 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 lowerprice 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

ITHICAINTERSYSTEMS . .. ,$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 3J* X 15/16 $18.75

3,000 3^ X 15/16 $14.25

1,000 31/aX15/16 $8.15

UARCO Paper [prices are FOB S.P.]

91/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® .... $175

APPLE HARDWARE

Microsoft Z-80 Softcard . $259

Microsoft Ramcard $170

SSMAIOAST $165

SYMTEC Apple Light Pen $219MOUNTAIN HARDWARE:

Super Talker $270

ROMWRITER $157

INTROL/X-10 $180

R0MPLUS + $162

MUSICSYSTEM $499

Apple Clock $252

Lobo Drive $CALL

Videx 80x24 $299

Andromeda $170

M & R Sup-R-Term $299

Enhancer $100

NEC Green Monitor $240

Sanyo Green Monitor .... $240

D.C. Hayes Micromodem .$299CALIFORNIA COMPUTERSYSTEMS

See our full page ad in thismagazine.

ALPHA

BYTE

STORE/

PRINTERS

EPSON MX-80 CALL

MX-80 Graphics ROM . . . CALLNEW EPSON MX-80 TF . . CALLOkidata Microline 80 ... < $415

Okidata Microline 82 $625

Okidata Microline 83 $899

IDS Paper Tiger 460G . $1050AnadexDP-9000,1 ... .$1195AnadexDP-9500,1 ... $1295

Centronics 737 $689

NEC Spinwriter $CALL

NEC w/ Sellum Option ... $CALLC. Itoh Starwriter 25 cps$1440C. Itoh Starwriter 45 cps$1770

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 otharretail 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 rememberto 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 candirectly address the Z8's internalregisters and all external memory.Byte references, which use the "@"character followed by an address,may be used to modify a singleregister in the processor, an I/O port,or a memory location. For example,@4096 specifies decimal memorylocation 4096, and @%F6 specifiesthe port-2 mode-control register atdecimal location 246. (The percentsymbol indicates that the charactersfollowing it are to be interpreted as ahexadecimal numeral.) To place thevalue 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 someextremes if you want to limit programspace. For example:

IF 1>X THEN GOTO 1000

can be abbreviatedIF1>X 1000

PRINT'THE VALUE IS ";S

can be abbreviated"THE VALUE IS ";S

IFX = YTHENIFY = ZTHEN PRINT "X = Z"

can be abbreviatedIFX = YIF Y = Z"X = Z"

One important difference betweenmost versions of BASIC and Zilog'sBASIC/Debug is that the latterallows variables to contain statementnumbers for branching, and variablestorage is not cleared before a pro-gram is run. Statements such asGOSUB X or GOTO A*E-Z arevalid. It is also possible to pass valuesfrom one program to another. Thesevariations serve to extend the capa-bilities of BASIC/Debug.

In my opinion, the main featurethat separates this BASIC from othersis the extent of documentation sup-plied with the Z8671. Frequently, acomputer user will ask me how he canobtain the source-code listing for theBASIC interpreter he is using. Mostoften, I have to reply that it is notavailable. Software manufacturersthat have invested many man-years

_At a Glance.

Photo 2: The Z8/Micromouth demonstrator. A Z8-BASIC Microcomputer isconfigured to run a ROM-resident program that exercises the Micromouth speechsynthesizer presented in the June Circuit Cellar article. A Micromouth boardsimilar to that shown on the left is mounted inside the enclosure. Six pushbuttonswitches, connected to a parallel input port on the Z8 board, select variousspeech-demonstration sequences. The Micromouth board is driven from a secondparallel 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 asingle package. The Z8671 includes a2 K-byte tiny-BASIC/Debug resident in-terpreter in ROM, 144 internal 8-bitregisters, and 32 I/O lines. System uses7.3728 MHz crystal to establish clockrate. Two internal and four external inter-rupts.

Memory

Uses Z6132 4 K-byte Quasi-StaticMemory (pin-compatible with 2716 and2732 EPROMs); 2 K-byte ROM in Z8671.Memory externally expandable to 62 Kbytes of program memory and 62 K bytesof data memory.

Input/Output

Serial port: RS-232C-compatible andswitch-selectable to 110, 150, 300, 1200,2400, 4800, and 9600 bps.Parallel I/O: two parallel ports; onededicated to input, the other bit-programmable as input or output; pro-grammable interrupt and handshakinglines; LSTTL-compatible.External I/O: 16-bit address and 8-bitbidirectional 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. Integerarithmetic/logic operators: +, —, /, *,and AND; BASIC can call machine-language subroutines for increased execu-tion speed; allows complete memory andregister 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-rateselector.

Operating Conditions

Temperature: 0 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 Languagelies 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 MarsLander team and other advanced

space programs.

For the past three years he hasapplied himself to the developmentof more efficient and powerfulcomputer languages tohelp him with his work.These new languages \

of the future are now \

available for your use \

exclusively from Insoft.

See the new world ofprogramming from Insoft

pie dealer.

llil^

.tered trademarkpple Computer, Inc.

The languages of the future. The tools of today.

259 Harriett Rd. / Unit 3 / Medford, Or 97501 / (503) 779-2465

The finbrilliant e

• Fully compiled

• Floating point

• Transcendental functions

• Strings and arrays

• Hires, Lores and Turtlegraphics

• Music

Far more compact and approachable thanPascal, TransFORTH II is both recursive andstructured and easier to use than BASIC.

Over three years in development, this highlevel language enables you to program inEnglish with far greater speed and conven-ience than ever before possible.

TransFORTH II. A transformation incomputer programming. Available today.

The Assembly Language DevelopmentSystem. Already the preferred assembler forprofessional 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 SystemII assures you of the ability to developvirtually any imaginable software system.And you can do so with ease since ALDSystem li edits with the simplicity of a wordprocessor.

ALD System II. Powerful yet convenient.The first choice of professionals.

The best comes last. Both newprograms are available for theApple II or Apple III.

Circle 137 on inquiry card.

DISCOUNTLINE

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

DS120-$595 DS180-$1375

DIABLO

630-$2150 l640-$2575

EPSONMX70-$395 MX80-$470

HAZELTINE1^21-$755 1520-$13501500-$995 Esprit-$650IDSI#60 Breakout "Blue Box"-$250LOBODrive/Control ler-$it90Drive-$390MODEMSCat-$155 Hays-$325MONITORS

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-$1795

SOROC

IQJ20-$730 10.1 35-$800

SSM

AI0-$160

ZENITH

Z89-$2150

Add - 3% Charge Cards2% Shipping

EXPOTEK

CORPORATION

2231R W. Shangri La Rd.Phoenix, AZ 85029

in a BASIC interpreter are not easilypersuaded to give away its secrets.

In most cases, however, a usermerely wants to know the location ofthe GOSUB...RETURN address stackor the format and location of storedprogram variables. While the sourcecode for BASIC/Debug is also notavailable (because the object code ismask-programmed into the ROM,you couldn't change it anyway), thelocations of all variables, pointers,stacks, etc, are fixed, and their stor-age formats are defined and describedin detail. The 60-page BASIC/Debuguser'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/writememory or EPROM

800

7FF

100

BASIC/Debug ROM

FF

00

Z8 registers

Figure Is A simplified hexadecimalmemory map of the Z8-BASIC Micro-computer.

of documentation supplied with theZ8-BASIC Microcomputer board.(The documentation is also availableseparately.)

Memory Allocation

Z8-family microcomputers distin-guish between four kinds of memory:internal registers, internal ROM, ex-ternal ROM, and external read/writememory. (A slightly different dis-tinction can also be made betweenprogram memory and data memory,but in this project this distinction isunnecessary.) The register file residesin memory-address space in hexadeci-mal locations 0 through FF (decimal 0through 255). The 144 registers in-clude four I/O- (input/output) portregisters, 124 general-purpose regis-ters, and 16 status and control regis-ters. (No registers are implemented inhexadecimal addresses 80 through EF[decimal addresses 128 through 239]).

The 2 K-byte ROM on the Z8671chip contains the BASIC/Debug in-terpreter, residing in address spacefrom address 0 to hexadecimal 7FF(decimal 0 to 2047). External memorystarts at hexadecimal address 800(decimal 2048). A memory map of theZ8-BASIC Microcomputer system isshown in figure 1.

When the system is first turned on,BASIC/Debug determines how muchexternal read/write memory is avail-able, initializes memory pointers, andchecks for the existence of an auto-start-up program. In a system withexternal read/write memory, the toppage is used for the line buffer,program-variable storage, and theGOSUB...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 ofthe stack and the number of variablesthat can be used simultaneously, butthe restriction is not too severe inmost control applications. In a sys-tem without external memory, auto-matic program execution begins athexadecimal location 1020 (decimal4128).

GUARANTEED RELIABLEFOR 2 FULL YEARS.

Unprecedented product reliability deserves anunprecedented warranty. IMS Internationalprovides its dealers with both.

Our commitment is real.

We are so confident that our products are theindustry standard in reliability, we stand behindthem for two full years from date-of-sale to theend user. All IMS manufactured products arecovered.

The success of our dealers will insure ourcontinued growth. That's why IMS International

is committed to providing every IMS dealer withthese 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 promotionalsupport

For more information about IMS International's"Reliables" and our unique dealer plan, call714/978-6966 or write us:

2800 Lockheed WayCarson City, NV 89701international Telex: 910-395-6051

Circle 164 on Inquiry card.

BYTE August 1981 55

In a system that uses an external2 K-byte EPROM (type 2716), wrap-around addressing occurs, becausethe state of the twelfth address line onthe address bus (All) is ignored. (A4 K-byte type-2732 EPROM devicedoes use All.) A 2716 EPROM de-vice inserted in the Z6132's memorysocket will read from the same mem-

ory cells in response to accesses toboth logical hexadecimal addresses800 and 1000. Similarly, hexadecimaladdresses 820 and 1020 will be treatedas equivalent by the 2716 EPROM.Therefore, when a 2 K-byte 2716EPROM is being used, the auto-startaddress, 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 = 5200 B = 63005 "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

80080A

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 andsome unique surprises, such as:

AUTOGEN — Interactively reconligure your CP/M* BIOS.Bring new peripherals on-line quickly.

READER — Analyze your English prose. Measure howeasy 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 ofthis discussion, you may assume thatprograms stored in EPROM use type-2716 devices and that references tohexadecimal address 820 also applyto hexadecimal address 1020.

Program Storage

The program-storage format forBASIC/Debug programs is the samein both types of memory. EachBASIC statement begins with a linenumber and ends with a delimiter. Ifyou were to connect a video terminalor teletypewriter to the RS-232Cserial port and type the followingline:

100 PRINT "TEST"

it would be stored in memory begin-ning at hexadecimal location 800 asshown in listing 1.

The first 2 bytes of any BASICstatement contain the binary equiva-lent of the line number (100 decimalequals 64 hexadecimal). Next arebytes containing the ASCII (Ameri-can Standard Code for InformationInterchange) values of characters inthe statement, followed by a delimiterbyte (containing 00) which indicatesthe end of the line. The last statementin the program (in this case the onlyone) is followed by 2 bytes containingthe hexadecimal value FFFF, whichdesignates line number 65535.

The multiple-line program in listing2 further illustrates this storage for-mat.

One final example of this is il-lustrated in listing 3 on page 58. Hereis a program written to examine itself.Essentially, it is a memory-dumproutine which lists the contents ofmemory in hexadecimal. As shown,the 15-line program takes 355 bytesand occupies hexadecimal locations800 through 963 (decimal 2048through 2499). I have dumped thefirst and last lines of the program tofurther demonstrate the storagetechnique.

I have a reason for explaining theinternal program format. One of theuseful features of this computer is itsability 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 seriousbusiness programs with the world's most popularprofessional programming language—COBOL.And, run them on the industry standard operatingsystem—CP/M™.

COBOL—the only standard lan-guage designed exclusively forbusiness programming.COBOL gives you programsthat are easy to write, easy toread, easy to maintain and easyto learn.

A complete program in20 minutes.FORMS-2, a COBOLsource-code gen-erator, lets youbegin with ablank screen . . .and end with afully-operationalprogram.FORMS-2 gener-ates standardCOBOL code.You can use it asis. Or build on itto create evenmore 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 youwith all the power of ANSI COBOL file handling.Underlying B-tree technology takes care of largeISAM files .. . fast.

Circle 189 on inquiry card.

Quick, convenient program development.With CIS COBOL and FORMS-2, you have yourvery own low-cost tools that allow you to get workdone faster and less expensively than ever before.Features include interactive debug, fast compile-and-go, interactive screen creation and dynamicloading of modules.

GSA approved.

CIS COBOL is certified on Apple II by the Gen-eral Services Administration. Which means it'sbeen tested, re-tested and tested again ... all un-der the most demanding conditions. No wonderit's been chosen for use by over 25 of theworld's leading computer manufacturers.

See your Apple dealer for a demonstration.

Don't wait any longer. Get all the details about

CIS COBOL andFORMS-2 today.For further informa-tion, visit your near-est Apple dealer. Orcall us at (408) 248-3982 for a FREEfact-filled brochure.

CIS COBOL and FORMS-2 are trademarks of MicroFocus, Inc. Apple II is aregistered trademark of AppleComputer 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 programmedexternally. While I will explain howto serially transmit the contents of theprogram memory to an EPROM pro-grammer, some of you may have on-ly a manual EPROM programmer orone 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 loadthe program into an EPROM device.

Dedicated-Controller Use

The Z8-BASIC Microcomputer canbe easily set up for use in intelligentcontrol 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 programas dumped during execution.

(3a)

100102103105107110120130140150180200250300310

(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 DUMPHOW MANY BYTES LONG

:INPUT XINPUT C

DATA"tPRINT

: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

0

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

0

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

0

1

36

52

45

54

55

52

N

65535

960

4E

0

FF

FF

0

0

0

0

tested and debugged using a terminal,the control program can be writteninto 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 theunit was as a demonstration driverfor the Micromouth speech-processorboard I presented two months ago inthe June issue of BYTE. (See "Build aLow-Cost Speech-Synthesizer Inter-face," in the June 1981 BYTE, page46, for a description of this project,which uses National Semiconductor'sDigitalker chip set.) It's hard to dis-cuss a synthesized-speech interfacewithout demonstrating it, and I didn'twant to carry around my big com-puter system to control the Micro-mouth board during the demonstra-tion. Instead, I quickly programmeda Z8-BASIC Microcomputer to per-form that task. While I was at it, I setit 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 aZ8-BASIC Microcomputer (herein-after called the "Z8 board") with a2716 EPROM installed in the memoryintegrated-circuit socket, theZ8-board power supply (the wall-plug transformer module is out ofview), and six pushbutton switches.Inside the box is a prototype versionof the Micromouth speech-processorboard (a final-version Micromouthboard is shown on the left).

The Micromouth board is jumper-programmed for parallel-port opera-tion (8 parallel bits of data and adata-ready strobe signal) and con-nected to I/O port 2 on the Z8 board.The Micromouth BUSY line and thesix pushbuttons are attached to 7 in-put bits of the Z8 board's input portmapped into memory-address spaceat hexadecimal address FFFD(decimal 65533).

The most significant 3 bits of portFFFD are normally reserved for thedata-rate-selector switches, but withno serial communication required,the data rate is immaterial and theswitches 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 tostandard and UCSD Pascals: step-by-step presentationwith exercises for beginners, complex concepts andextensive appendices for experienced programmers.An indispensible book for everyone who wants tolearn Pascal programming.320 pp., 100 illustr., Ref. P310, $14.95

□ THE PASCAL HANDBOOK

by Jacques Tiberghien is an easy-to-read, easy-to-usedictionary containing all the features for most existingversions of Pascal (Standard, Jensen-Wirth, OMSI,UCSD, HP1000, Pascal/Z). Over 180 entries, arrangedalphabetically; each includes definition, description,syntax diagram, details of implementation, variationsand examples. The perfect reference tool for anyPascal user.500 pp., 150 illustr., Ref. P320, $14.95

□ PASCAL PROGRAMS FOR SCIENTISTSAND ENGINEERS

by Alan Miller is a comprehensive collection offrequently used algorithms for scientific and technicalapplications programmed in PASCAL. This time savingbook includes programs for curve fitting, approxima-tions, random number generation, integrals, statisticaltechniques and more.250 pp., 80 illustr., Ref. P340 D$16.95 paper, D$25.00cloth

^p^^ MAIL TO:

^^^ SYBEX DEPT. B81

r cvDcy2344 S|XTH street

EA. BERKELEY, CA 94710PHONE ORDERS:INSIDE CA 415/848-8233TOLL FREE OUTSIDE CA 800-277-2346

^^Jw II

NAME

ADDRESS

CITY

ADD

. DSEND 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 thesix pushbuttons selects one of sixcanned speech sequences.

Coherent sentences are created byproperly timing the transmission ofword codes to the speech-processorboard. This requires nothing morethan a single handshaking arrange-

ment and a table-lookup routine (buttry it without a computer sometime).The program is shown in listing 4a.

The first thing to do is to configurethe port-2 and port-3 mode-controlregisters (hexadecimal F6 and F7, ordecimal 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 Micromouthspeech synthesizer, operating from a type-2716 EPROM. The simple I/O-addressdecoding of the Z8 board allows use of the round-figure address of 65000. The programuses a table of vocabulary pointers that has been previously stored in the EPROM byhand. 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=113X=@65000 :A=%1400IF 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=253X=251X=247X=239X=223X=222110:N=

THENTHENTHENTHENTHENTHEN

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 500Q=2048W=0

PRINT HEX(@Q),:Q=Q+1W=W+1 :IF W=8 THEN PRINT"IF Q=4095 THEN STOPGOTO 1010 ■■■■§

:GOTO 1005

(4b)

:goto

1000

FF

FF

FF

FF

FF

FF

FF

FF

0

64

3A

40

33

0

35

30

25

31

49

46

20

54

0!

AT

1015

FF

FF

FF

FF

40

32

0

30

34

20

48

FFFFFFFF32346E30305845

FFFFFFFF34375820303D4E

FF

FF

FF

FF

36

3D

3D

3A

0

32

20

put, you would load FO into registerF6 (246). In this case, I wanted it con-figured as 8 output bits, so I typed inthe BASIC/Debug command @246 = 0(set decimal location 246 to 0).

The data-ready strobe is producedusing one of the options on the Z8'sport 3. A Z8 microcomputer hasdata-available and input-ready hand-shaking on each of its 4 ports. To setthe proper handshaking protocol anduse port 2 as I have described, a codeof hexadecimal 71 (decimal 113) isplaced into the port-2 mode-controlregister. The BASIC/Debug com-mand is @247= 113. The RDY2 andDAV2 lines on the Z8671 are con-nected together to produce the data-available strobe signal.

Lines 1000 through 1030 in listing4a have nothing to do with demon-strating the Micromouth board. Theyform a memory-dump routine that il-lustrates how the program is stored inmemory. You notice from the mem-ory dump of listing 4b that the firstbyte of the program, as stored in theROM, begins at hexadecimal location820 (actually at 1020, you remember)rather than 800 as usual. This is tohelp automatic start-up. The programcould actually begin anyplace, butyou would have to change the pro-gram-pointer registers (registers 8 and9) to reflect the new address. The 32bytes between 800 and 820 are re-served for vectored addresses to op-tional user-supplied I/O drivers andinterrupt routines.

Programming the EPROM

The first EPROM-based program Iran on the Z8-BASIC Microcomputermanually loaded. I simply

was

FF

FF

FF

FF

3D

31

40

41

0

35

FFFFFFFF3031363D7834

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 itMAGIC<£|. 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 18-million bytes (formattedcapacity)

• 1 5-minute mean-time-to-repair

• Built-in protection from line-voltage spikes, noise, andbrownouts

And, it features MAGIC61, the Operating System that getsthings done faster than you can say abracadabra becauseof its multi-keyed Indexed-Sequential Access Method andflexible file-organization. MAGIC'0 also offers high security,with password protection. MAGIC supports global or localprinters 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 itssleeve — like automatic or manual record-lock protectionand 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 anythingto do with smallcomputers, youshould be readingthe Carl Helmers

PERSONAL

COMPUTER

l£TT£R

every month!

You won't want to miss a single issue ofthe new Personal Computer Letter...a monthly publication of comprehen-sive studies on issues affecting design,implementation, and applications ofsmall computer systems. The PersonalComputer Letter is a journal compiledand edited by Carl Helmers, co-founderand first editor of Byte Magazine. Hereis valuable information in professionallyprepared format about small com-puters, software, peripherals, trends inthe industry, and new ideas. We acceptno advertising and the informationprovided is available nowhere else.Written for executives, decision-makers,market strategists, product designersand authors in the small computer field,each 12 to 16-page issue containsanalysis and design studies by manyof the personal computer industry'sforemost experts. For example, thecurrent issue covers: Intelligent SerialLine Filters: Exploring a family ofapplication oriented product ideas.

Subscribe today. Mail the coupon withyour check for $200 for the next 12monthly issues. Sample issues at$25 per copy, applicable to a fullyear's subscription.

■ MB■■■

eft

; '■.■;

NORTH AMERICANTECHNOLOGY, INC.

Strand Building174 Concord St.,Peterborough, NH 03458(603) 924-6048

□ Enclosed is my $200 check ormoney order for the next 12 issuesof the Personal Computer Letter.

□ Enclosed is my $25 check or moneyorder for a sample issue, applicableto subscription price.

NAME

ADDRESS

CITY

STATE ZIP

II

iIiI

DII

J!

Photo 3: Type-2716 EPROM programmer, adapted from "Program Your NextEROM in BASIC" (March 1978 BYTE, page 84). The circuit, which is driventhrough parallel ports, programs a 2716 in about 2Vi minutes and is controlled bya BASIC program.

printed out the contents of the Z6132memory using the program of listing3 and entered the values by hand intothe EPROM programmer. This is fineonce or twice, but you certainlywouldn't want to make a habit of it.Fortunately, there are better alterna-tives if you have the equipment.

Many EPROM programmers areperipheral devices on larger computersystems. In such cases, it is possible totake advantage of the systems' capa-bilities by downloading the Z8 pro-gram directly to the programmer.

The programmer shown in photo 3is a revised version of the unit Idescribed in a previous article, "Pro-gram Your Next EROM in BASIC"(March 1978 BYTE, page 84). It wasdesigned for type-2708 EPROMs, butI have since modified it to program2716s instead. All I had to do waslengthen the programming pulse to50 ms and redefine the connections tofour pins on the EPROM socket. Itstill is controlled by a BASIC pro-gram and takes less than 2Vi minutesto program a type-2716 EPROM de-vice. Refer to the original article forthe basic design.

Normally, the LIST function ormemory-dump routine cannot be

62 August 1981 © BYTE Publications Inc

used to transmit data to the EPROMprogrammer because the listing isfilled with extraneous spaces and car-riage returns. It is necessary to write aprogram that transmits the contentsof memory without the extra charac-ters required for display formatting.The only data received by theEPROM programmer should be theobject code to load into the EPROM.In writing this program we can takeadvantage of the Z8's capability ofexecuting machine-language pro-grams directly through the USR andGO@ commands. The serial-inputand serial-output subroutines in theBASIC/Debug ROM can be executedindependently using these com-mands. The serial-input driver startsat hexadecimal location 54, and theserial-output driver starts at hexadec-imal location 61. Transmitting a sin-gle character is simply done by theBASIC statement

GO@ %61,C

where C contains the value to betransmitted. A serial character can bereceived by

C = USR (%54)

Circle 278 on inquiry card. —►

Model IModel III

Products that set Precedents.

T

i

j$&

W'-'

*****

■i

aet

!R CP/M Adapt'

CBASIC II" CP/M

THEBEST

WORD PROCESS

$1000.00 VALUEONLY

$299

I

IKUHM \KKS

•IRSHI) 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 givesyou sharp, jitter-free color graphics and rainbow-free characters.

Plus much more: Microprocessor control. Resident andprogrammable character set. Reverse video. State-of-the-artLSI video control. 20 and 40 character formats. RS232C and20 mA current loop. Six baud rates. Eight data formats. ASCIIencoding. Light-touch flexible-membrane key switches forreliability 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 outthe entire contents of the 4 K bytes of usermemory, for use with a communicatingEPROM programmer.

1000 X = %800 :REM BEGINNING OF

USER MEMORY1010 GO® %61,@X :REM TRANSMIT

CONTENTS OF LOCATION X1020X = X + 1 :IFX = °/o 1801 THEN

STOP1030 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-BAS1CMicrocomputer.

100 @246 = 0:@247=113 :REM SET PORT

2 TO BE OUTPUT110 @2 = X :REM X EQUALS THE DATA

TO BE TRANSMITTED

where the variable C returns thevalue of the received data.

To dump the entire contents of theZ6132 memory to the programmer,the statements in listing 5 should beincluded at the end of your program.

Execution begins when you typeGOTO 1000 as an immediate-modecommand and ends when all 4 Kbytes have been dumped. The trans-mission rate (110 to 9600 bps) is thatselected on the data-rate-selectorswitches.

Conceivably, this technique couldalso be used to create a cassette-stor-age capability for the Z8 board. Intheory, a 3- or 4-line BASIC programcan be entered in high memory (youcan set the pointer to put the programthere) to read in serial data and load itin lower memory. Changing the pro-gram pointer back to hexadecimal800 allows the newly loaded programto be executed. Since the Z8-BASICMicrocomputer already has a serialI/O port, any FSK (frequency-shiftkeyed) modem and cassette-tape re-corder can be used for cassette datastorage.

I/O for Data Acquisition

Data acquisition for process con-trol is the most likely application forthe Z8-BASIC Microcomputer. Low-

Circle 334 on inquiry card.

Customizable

The Unique Difference that SetsVEDIT Apart in Full Screen Editors

Total user customizability is a predominate reason thatover a thousand users find VEDIT the easiest to use full screeneditor. It makes VEDIT the only editing package which allowsyou to determine your own keyboard layout and use the cursorand special function keys on any terminal having them. Andonly VEDIT fully supports all of the newly available terminals. Itmay come as a surprise to you, that with any other editor or wordprocessor, you will have to memorize obscure controlcharacters or multi-character sequences, while your terminal'sextra keys and editing functions go unused. The customizationextends to setting the default tab positions, scrolling methodsand much more. It's almost like designing your own editor foryour system, applications and preferences. And all of this iseasily done with the setup program which requires noprogramming knowledge or 'patches', but simply prompts youto press a key or enter a parameter.

Unequaled Hardware Support

The CRT version supports all terminals by allowing you toselect during setup which terminal VEDIT will run on. Featuressuch as line insert and delete, reverse scroll, status line andreverse video are used on 'smart' terminals. All screen sizes aresupported, including large ones such as the 60 X 80 format onthe Ann Arbor Ambassador terminal. Special function keys onterminals such as the Heath H19, Televideo 920C and IBM3101, and keyboards producing 8 bit codes are all supported.The memory mapped version is extremely flexible and supportsbank select and hardware cursors such as on the SSM VB3.With this level of customizability and hardware support, you willfeel for the first time that the software was optimally designed foryour system.

Fully Compatible Replacement for Ed

Since VEDIT creates and edits standard text files of up toone diskette in length, it serves as a replacement for the CP/M

standard editor ED. Of course, you benefit from the fastest andeasiest to use 'What you see is what you get' type full screenediting available, fast disk access and an editor which takes uponly 12K of your valuable memory space. With VEDIT you willnever again need or want to use the slow and tedious ED.

Special Features

VEDIT is more than just a full screen editing replacementfor ED, it gives you many new editing capabilities, such as ascratchpad 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 foruse with structured programming languages such as Pascaland PL/1, and other special facilities for Assembler and COBOL.A real time saver is the ability to insert a specified line range ofanother file anywhere in the text. Unlike most software, VEDITwill even tolerate your mistakes. For example, one key will'Undo' the changes you mistakenly made to a screen line, andthe disk write error recovery lets you delete files or insert anotherdisk should you run out of disk space.

Ordering

Many dealers carry VEDIT, or you may contact us for fastdelivery. Specify the CRT version, your video board ormicrocomputer, the 8080, Z80 or 8086 code version, and diskformat required.

VEDIT for 8080 or Z80: Disk and manual $130

VEDIT for CP/M-86: Disk and manual. (NEW) $ 185

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 ofTandy Corp.

North Star * Cromemco • Heath H8/H89 • SuperBrain • Apple II Softcard * TRS-80 Model II & ModelMost 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/Dconverter. This 8-bit, eight-channel unithas a unipolar input range of 0 to +5 V,with the eight output channels addressedas I/O ports mapped into memory-address space at hexadecimal addressesBF00 through BF07.

cost distributed control is practical,substituting for central control per-formed by a large computer system.Analog and digital sensors can beread 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 foranalog 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 0to +5 V (although the A/D in-tegrated circuit can be wired for

bipolar operation), with the eightoutput channels addressed as I/Oports mapped into memory-addressspace at hexadecimal addresses BF00through BF07 (decimal 48896 through48903). When the Z8671 performs anoutput operation to the chara\el ad-dress, the channel is initialized for ac-quiring data, while data is read fromthe channel when the Z8671 performs

66 August 1981 © BYTE Publications Inc

DAV2<

P36[i0>^

P20\TT>-

P2lEl>-

P22(U>-P23(15^

P24(H>-P25Q7>-P26[H>-

P27\T£>-

23

IC1

COM2017

UART

TD1TD2TD3TD4TD5TD6TD7TD8

CSNPTSBNB2NB1EPSXRGMD

21

Number

Type

+5V GND

IC1 COM2017 1 3

IC2 COM5016 2 11

IC3 COM 1488 7

12V +12V2

1

914

I C 3MC1488

+ 5V0

+ 5VA

12

STR STTP-A

IC2COM5016

1B

XTAL1

P-DXTAL2

4.7K-

CRYSTAL5.0688MHz

DB-25CONNECTOR

II

{£>

i

RS-232COUTPUT

SWl

^o-

SW2

*SJ

DATA-RATEGENERATOR

m

Figure 3: Schematic diagram of an RS-232C serial output port for the "black box" communication application of the Z8-BASICMicrocomputer. 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 P36 arepins on the 7,8671 device itself, not pins or sections on the card-edge connector, as are P20 through P27.

an input operation on the channel'saddress.

Intelligent Communication

Another possible use for theZ8-BASIC Microcomputer is as an in-telligent "black box" for performingpredetermined modification on databeing transmitted over a serial com-

munication line. The black box hastwo DB-25 RS-232C connectors, onefor receiving data and the other forretransmitting it. The intelligence ofthe Z8-BASIC Microcomputer, actingas the black box, can perform prac-tically any type of filtering, condens-ing, or translating of the data goingthrough.

Perhaps you have an applicationwhere continuous raw data is trans-mitted, but you would rather justkeep a running average or flag devia-tions from preset limits at the centralmonitoring point rather than contendwith everything. The Z8 board can beprogrammed to digest all the rawdata 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.

DISCOUNTHARDWARE

IEEE 696/S-100 Standard BoardsAssembled, 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 AUGMENTATIONBOARDS

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.17440 Revello DrivePacific Palisades, CA 90272

Enclosed is $

Please express the following assembled,tested, and warranted IEEE 696/S-100boards:

Name _Address.

Phone i

Add S25 to each order for express shipping, handlingand insurance. California residents add 6% tax. Allow2 weeks for personal checks. Prices subject to changewithout notice.

CALL FOR INFORMATION AND PRICES ON

Mainframes, terminals, printers, and completeintegrated and tested systems to meetYOUR 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 theZ8-BASIC Microcomputer. Connected to port 2, any program data sent toregister 2 will be transmitted serially at the data rate selected on the four-positionDIP switch (between 50 to 19200 bps). The Z8 board, configured with two serialports, is used to process raw data moving through it. Data is received on oneside, digested, and retransmitted in some more meaningful form from the otherport. Such a configuration could also be used to connect two peripheral devicesthat have radically different data rates.

on only what's pertinent.

Another such black-box applica-tion is to use the Z8 board as a printerbuffer. Photo 4 shows the interfacehardware of one specific application,which I used to attach a high-speedcomputer to a very slow printer. Thehost computer transmitted data to theZ8 board at 4800 bps. Since the re-ceiving serial port used had to be bidi-rectional to handshake with the hostcomputer, I added another serial out-put to the Z8 board for transmittingcharacters to the printer. Only threeintegrated circuits were required toadd a serial output port. A schematicdiagram is shown in figure 3 on page67. The UART (universal asynchro-nous receiver/transmitter, shown asIC1) is driven directly from port 2 onthe Z8 board (port 2 could also beused to directly drive a parallel-inter-face printer), and IC2 supplies theclock signal for the desired data rate.Of course, the UART could havebeen attached to the data and address

buses directly, but this was easier.

Transmitting a character out of thisserial port requires setting the port-2and port-3 mode-control registers asbefore. After that, any character sentto port 2 will be serially transmitted.The minimum program to performthis is shown in listing 6 on page 64.This circuit can also be used fordownloading programs to theEPROM programmer.

In Conclusion

It is impossible to describe the fullpotential of the Z8-BASIC Micro-computer in so few pages. For thisreason, considerable effort has beentaken to fully document its character-istics. I have merely tried to given anintroduction here.

I intend to use the Z8-BASICMicrocomputer in future projects. Iam interested in any applications youmight have, so let me know aboutthem, and we can gain experiencetogether.

We know just howgood G&LMicrocomputers are.

Because we use themin our ownPC's and CNC's.

And now we can fill all yourneeds with reliable industrialgrade 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°FFOR 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 EPROMjumper is installed instead. When using a type-2716 16 K-bit (2 K-byte) EPROMdevice, the "16 K" jumper is installed. If a type-2732 32 K-bit (4 K-byte) EPROMis used instead, the "32 K" jumper is installed. The EPROM is inserted in thelower 24 pins of the 28-pin Z6132 socket (IC2) as shown.

Next Month: Build a phoneticvoice synthesizer based on the VotraxSC-01 synthesizer chip. ■

Special thanks to Steve Walters and PeterBrown of Zilog Inc for their aid in producingthese articles.

BASIC/Debug is a trademark of Zilog Inc.

Editor's Note: Steve often refers to previousCircuit Cellar articles as reference material forthe articles he presents each month. Thesearticles are available in reprint books fromBYTE Books. 70 Main St. Peterborough NH03458. Ciarcia's Circuit Cellar covers articlesappearing in BYTE from September 1977through November 1978. Ciarcia's CircuitCellar, Volume II presents articles fromDecember 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: 2YB by 4V2 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 Megabytesremovable 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 $12,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 AvenueMission, Texas 78572 U.S.A.TOLL FREE ORDER 800/531-7466

Texas & Principal No. 512/581-2766Telex 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 theway it should be. The CompuStar™. Ournew, low-cost "shared-disk" multi-usersystem with mainframe performance.

Unlike any other system, our newCompuStar offers what we believe to be themost practical approach to almost anymulti-user application. Data entry. Distrib-uted processing. Small business. Scientific.Whatever! And never before has suchpowerful performance been available atsuch modest cost. Here's how we did it...

The system architecture of theCompuStar is based on four types of videodisplay terminals, each of which can beconnected into an auxiliary hard disk stor-age system. Up to 255 terminals can beconnected into a single network! Each ter-minal (called a Video Processing Unit) con-tains its own microprocessor and 64K ofdynamic RAM. The result? Lightning fastprogram execution! Even when all usersare on-line performing different tasks! Aspecial "multiplexor" in the CompuStarDisk Storage System ties all exter-nal users together to "share" thesystem's disk resources. So, nosingle user ever need wait on another. An exciting concept...with some awesome applicationpossibilities!

CompuStar™ userstations can be configured inalmost as many ways as youcan imagine. The wide varietyof terminals offered gives youthe flexibility and versatilityyou've always wanted (butnever had) in a multi-usersystem. The CompuStarModel 10 is a program-mable, intelligent terminalwith 64K of RAM. It's areal workhorse if your re-quirement is a data entry

or inquiry/response application. And if yourterminal needs are more sophisticated,select either the CompuStar Model 20,30or 40. Each can be used as either a stand-alone workstation or tied into a multi-usernetwork. The Model 20 incorporates all ofthe features of the Model 10 with theaddition of two, double-density mini-flop-pies built right in. And it boasts over350,000 bytes of local, off-line user stor-age. The Model 30 also features a dualdrive system but offers over 700,000 bytesof disk storage. And, the Model 40 boastsnearly 1 1/2 million bytes of dual disk stor-age. But no matter which model youselect, you'll enjoy unparalleled versatilityin 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 diskstorage options are available. A tabletop10 megabyte 8" winchester-type drivecomplete with power supply and our spe-cial controller and multiplexor costs just$4995. Or, if your disk storage needs aremore demanding, select either a 32 or 96megabyte Control Data CMD drive with a16 megabyte removable, top loading car-tridge. Plus, there's no fuss in getting aCompuStar system up and running. Justplug in a Video Processing Unit and you'reready 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 parallelinterface allows for system cable lengthsof up to one mile... with data transferrates of 1.6 million BPS!

Software costs are low, too.CompuStar's disk operating system is theindustry standard CP/M* With animpressive array of application soft-ware already available and severalcommunication packages offered,the CompuStar can tackle even yourmost difficult programming tasks.Compare for yourself. Of allthe microcomputer-based multi-user systems available today,we know of only one whichoffers exactly what you needand should expect. Excep-tional value and upwardgrowth capability. TheCompuStar™. A true priceand 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-OrientedSoftware 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 formanipulating information called object-oriented softwaresystems. It defines a series of terms, including softwaresystem and object-oriented. The description is greatlyinfluenced by a series of object-oriented programmingenvironments developed in the last ten years by the LearningResearch Group of Xerox's Palo Alto Research Center, thelatest being the Smalltalk-80 system. The article describesobject-oriented software systems in general, instead of theSmalltalk-80 system in particular, in order to focus attentionon the fundamental property that sets the Smalltalk-80system apart from most other programming environments.The words "object-oriented" mean different things todifferent people. Although the definition given in this articlemay exclude systems that should rightfully be called object-oriented, it is a useful abstraction of the idea behind manysoftware systems.

Many people who have no idea how a computer worksfind the idea of object-oriented systems quite natural. Incontrast, many people who have experience with com-puters initially think there is something strange aboutobject-oriented systems. (I don't mean to imply thatcomputer-naive users can create complex systems in anobject-oriented environment more easily than experi-enced programmers can. Creating complex systems in-volves many techniques more familiar to the programmerthan the novice, regardless of whether or not an object-oriented environment is used. But the basic idea abouthow to create a software system in an object-orientedfashion comes more naturally to those without apreconception about the nature of software systems.) Ihad 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 ofyou also have some experience with software systems andtheir creation. So instead of introducing the object-oriented point of view as if it were completely natural, I'lltry to explain what makes it seem strange compared tothe 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 verybroad definition of information.

Information: A representation or description ofsomething.

There are many types of information that describe dif-ferent things in different ways. One of the great insightsin 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 ofdescribing how to manipulate things like itself. Softwareis used to describe a particular type of information-manipulation tool called a software system.

Software system: An information-manipulationtool in which the manipulation is described bysoftware.

A distinction is made in information-manipulationtools between hardware systems and software systems. Ahardware system is a physical device like a typewriter,pen, copier, or television set. The type of manipulationperformed by a hardware system is built in and can onlybe changed by physical modification. The type ofmanipulation performed by a software system is not builtin—it is determined by information, which can bemanipulated.

The virtue of software systems is that the mechanismdeveloped for manipulating information can be used tomanipulate the mechanism itself. Software systems thatactually manipulate other software systems are calledprogramming environments.

Programming environment: A software systemthat 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 theadvances in high technology—symbolized by the Space Shuttletriumph—into practical, problem-solving microcomputerprograms for small business and home use."

,o

W^

cr

Microcomputers AreThe Door To The Future.

TT

^xliw73ti

Finally, there's an accounting package available for mostmicrocomputers—from the least expensive to the top-of-the-line—that works the moment the machine is switched on.Language, programs, everything needed for accuratebookkeeping is built into the software, eliminating the need forprogramming skills or expensive equipment add-ons.

The FINANCIAL PARTNER™

is a comprehensive financial pack-age that takes the headache out ofbookkeeping. With general ledger,cash receipts, accounts payable,and check- printing capability, thissystem also provides standard fi-nancial reports. In addition, theFINANCIAL PARTNER™ comeswith a detailed user's manual con-taining basic bookkeeping instruc-tion. By automatically sorting andposting accounts, the FINANCIALPARTNER™ saves you valuabletime and is a complete guide tomoney management for your homeor very small business. At $175, it'sworth its weight in gold.

Also from The Denver Software Company:The PASCAL TUTOR™, a computer assisted course in UCSDPascal*. This complete software package uses the microcom-puter to teach this powerful new programming language. $125for this fast, easy way to learn versatile UCSD Pascal*.

*UCSD Pascal is a trademark of the Regentsof the University of California.

Products available from your local dealer.

THE DENVER SOFTWARE COMPANY

MANUFACTURERS OF MICROCOMPUTER SOFTWARE

RNANCIAlHOTNffl

fete'

■■

lw#

The PA

those kngulos dradebumoney as '

PROGRAM

igeable aboutly shorten theograms — by aias time.

Fa software breakthrough forDSD Pascal*. Pre-tested mod-ne spent coding, testing,' jflffuch as 70%. For $125^^H

00 E. Jewell Avealer inquiries wejp

Thus, a programming environment is also recursive: itis what it manipulates. The fact that software systems canbe manipulated is both good news and bad news. Since atext editor is a software system, it is not "cast in concrete"and you can change it to conform to your style ofinteracting with text more closely than it does now (usinga programming environment). However, you also mayreduce it to the proverbial "pile of bits" (not a text editorat all).

Data/Procedure-Oriented Software

The traditional view of software systems is that theyare composed of a collection of data that represents someinformation and a set of procedures that manipulates thedata.

Data: The information manipulated by software.Procedure: A unit of software.

Things happen in the system by invoking a procedureand giving it some data to manipulate.

As an example of a software system, consider a systemfor managing windows that occupy rectangular areas ona display screen. The windows contain text and havetitles. They can be moved around the screen, sometimesoverlapping each other. (The details of this system are

m

COPY SERVICE

Information

Outside California Call

(800) 854-1515 or (800) 854-1516

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/proceduresystem and an object-oriented system.)

A window-management system implemented as adata/procedure system would include data representingthe location, size, text contents, and title of each windowon the screen. It would also include procedures that movea window, create a window, tell whether a windowoverlaps another window, replace the text or title of awindow, and perform other manipulations of windowson a display. To move a window, a programmer wouldcall the procedure that moves windows and pass to it thedata representing the window and its new location.

A problem with the data/procedure point of view isthat data and procedures are treated as if they were in-dependent when, in fact, they are not. All proceduresmake assumptions about the form of the data theymanipulate. The procedure to move a window should bepresented with data representing a window to be movedand its new location. If the procedure were presentedwith data representing the text contents of a window, thesystem would behave strangely.

In a properly functioning system, the appropriatechoice 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 untestedsituation), the data being manipulated by a proceduremay be of an entirely different form from that expected.Even in a properly functioning system, the choice of theappropriate procedure and data must always be made bythe programmer.

These two problems have been addressed in the contextof the data/procedure point of view by adding severalfeatures to programming systems. Data typing has beenadded to languages to let the programmer know that theappropriate choice of data has been made for a particularprocedure. In a typed system, the programmer is notifiedwhen a procedure call is written using the wrong type ofdata. Variant records allow the system to choose theappropriate 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 bemanipulated. However, like procedures, objects describemanipulation as well. Information is manipulated bysending 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'smanipulations.

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 tofloppy disk problems.

DMA answers. Standard,accumulator transfer floppydisk controllers can stall yourmicrocomputer system'sCPU for as long as 160 mil-liseconds. Just to access andtransfer a sector of data tomain memory. If CPU pro-cessing speed and system per-formance are critical,you needsomething better. That'swhere Morrow Designs' newintelligent Disk Jockey DMA™controller comes in. This newbreed of perpherial handlesboth 5V4" and 8" drives andcan read almost any formatin existence. Speed? YourCPU runs at full tilt while theDMA controller seeks andgathers a sector of data.How? Information transfersto and from main memoryoccur as "cycle steals" fromthe system bus. And themissing memory cycles aretransparent to the CPU total-ling only two millisecondsinstead of the usual 80.Build a buffer. Give the DiskJockey DMA a little extra memory and your system's per-formance gets even better. The extra storage is used as atrack buffer. So, whenever a sector on a new track is readthe track buffer is automatically filled with the other sec-

tors on the track. The result?Additional data on the trackis immediately available.Without the 80 millisecondrotational latency normallyencountered. And similarefficiencies occur with diskwrites. Sectors in the trackbuffer are conditionally writ-ten on the disk only if a newtrack is accessed. And onlyone revolution of the diskis required.

Now, prices* All systemslisted are supplied with afloppy disk drive, Disk JockeyDirect Memory Access Con-troller, CP/M" 2.2 operatingsystem, power supply, fan,cables, cabinet and Microsoft5.2 BASIC.

Even lower prices. MorrowDesigns' floppy disk systemswith Disk Jockey'" 2D control-lers offer the same high qual-ity at even lower prices. Nowwithout memory mapping!Fast answers. See MorrowDesigns' family of cost effec-tive floppy disk systems atyour computer dealer. For a somewhat more leisurelyanswer, circle the reader service number below. For imme-diate answers, phone us at (415) 524-2101.LOOK TO MORROW FOR ANSWERS.

51/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 2Dare trademarks of Morrow Designs•CP/M is a trademark of Digital Research.

8 Inch Systems (formatted data)

500,000 Bytes (1) Single Sided Drive1,000,000 Bytes (2) Single Sided Drive1,000,000 Bytes (l)Dual Sided Drive2,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 iscalled the receiver of the message. A message includes asymbolic name that describes the type of manipulationdesired. This name is called the message selector. Thecrucial feature of messages is that the selector is only aname for the desired manipulation; it describes what theprogrammer wants to happen, not how it should happen.The message receiver contains the description of how theactual 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. Amessage names the manipulation; a procedure describesthe details of the manipulation.

Of course, procedures have names as well, and theirnames are used in procedure calls. However, there is onlyone procedure for a name, so a procedure name specifiesthe exact procedure to be called and exactly what shouldhappen. A message, however, may be interpreted in dif-

ferent ways by different receivers. So, a message does notdetermine exactly what will happen; the receiver of themessage does.

If the earlier example of the window-managementsystem were implemented as an object-oriented system, itwould contain a set of objects representing windows.Each object would describe a window on the screen. Eachobject would also describe the manipulations of the win-dow it represents—for example, how to move it, how todetermine whether it overlaps another window, or howto 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. (Inthis article, an alternate typeface is used for words thatrefer to specific elements in example systems.)

In addition to a selector, a message may contain otherobjects that take part in the manipulation. These arecalled the message arguments. For example, to move a

Circle 354 on inquiry card.

The

PowerfulNew AlternativeTo VisiCalc™

For CP/M based microcomputers,SuperCalc is the superior new "electronicworksheet'' for businessmen. Complex calcu-lations, alternative recalculations, andnumerical forecasting are easy. Just type inyour numbers - SuperCalc does the rest.SuperCalc pays for itself almost immediately,and eventually it will save enough in time andmoney 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 wasan easy-to-understand CP/M based alterna-tive to VisiCalc from a qualified, reliablecompany. 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 technologyin hard disk systems.

Complete systems. MorrowDesigns hard disk subsystemsare delivered complete with harddisk, controller, cabinet, powersupply, fan, cables and CP/M"2.2 operating system.Widest range. Morrow Designsoffers the widest range of harddisk systems available from a sin-gle supplier. 5%," 8," 14." Five toover 100 megabytes of formattedhard disk storage. $2,995 to$19,980. Cost effective systemsthat work. And keep working.S-100 and more. Morrow Designshard disk systems are designedfor use with the CP/M operatingsystem. Available soft-ware packages allow oursystems to run on anyIEEE696/S-100 Standardsystem with no hard-ware modification.Plus, Cromemco/ NorthStar,** Vector Graphics,Godbout, Dynabyte,Exidy," IMSAI, Micro-mation, Processor Tech-nology and CaliforniaComputer Systems.

Reliable systems. Morrow Designs is com-mitted to hard disk system reliability Notsimply with a 90-day warranty, but with a moneyback guarantee. If our system fails to perform tospecification, send it back. We'll send backyour 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 disksystems successfully installed.In fact, over 200 independentsystems integrators now useour hard disks to solve theirmass storage problems.Performance answers. MorrowDesigns hard disk systems havebeen benchmarked against allother systems. None is fasterunder CP/M. Morrow Designshard disks operate at 10 timesthe speed of a floppy diskdrive. Transfer rates range from590,000 bytes to 900,000 bytesper second. That kind of perfor-mance can become addictive.Cost effective answers. CompareMorrow prices and performanceto anything presently availablefor S-100 systems. You'll findMorrow's price/megabyte/performance ratio to beunmatched. Leadership indisk systems technologyearned us leadership inprice/performance. Andthat may have earned usa call from you. Circle theReader Service Numberfor our full line data sheets.Can't wait? Call us at(415) 524-2101. And yes, OEM quantity prices areavailable. 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-orientedsystem, the selector and argument are objects: the selec-tor representing a symbolic name and the argumentrepresenting a location or point.

The description of a single type of manipulation of anobject's information (the response to a single type ofmessage) is a procedure-like entity called a method. Amethod, like a procedure, is the description of a sequenceof actions to be performed by a processor. However,unlike a procedure, a method cannot directly call anothermethod. Instead, it must send a message. The importantthing is that methods cannot be separated from objects.When a message is sent, the receiver determines themethod to execute on the basis of the message selector. Adifferent kind of window could be added to the system

with a different representation and different methods torespond to the messages move, overlap, display, delete,width, and height. Places where messages are sent towindows do not have to be changed in order to refer tothe new kind of window; whichever window receives themessage will use the method appropriate to its represen-tation.

Objects look different from the outside than they dofrom the inside. By the outside of an object, I mean whatit 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 todo 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 anobject how to do something (in a method). For example,a window can respond to messages having the selectorsmove, 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 warrantyservice. Find our why our prices, availabilityand service make us the #1 source for the #1S-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-15 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 byyour local Zenirh/Hearh service center. GreenPhosphor screen and CP/M included.

Z69 w/4SK 2 SIO's $2249

We participate In arbitrationJl for business and customers \

sm ithrough the Better Business ,^Bureau of Maricopa County.

Scottsdale Systems^

6730 E. McDowell Road, Suite 110, 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, 0 (unction keys, numerickeypad. 24x80. RS-232, buiJr ond beckedby ADDS.

ADDS Viewpoinr $569

TELEVIDEO

910

Coll

912

$729

920

$759

950

$969

^terminals]

ILh H '

Zenith Z-19Soroc IQ 120Soroc IQ 135Hozelrine 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 tochange, product subject to availability. Arizona residents odd 5%.F.O.D. point of shipment Scottsdale. 0-20% restocking fee forreturned 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 mostimportant asset is our people; the computers, the facilities-whatever else we have or buy-nothing works right without theright people. And when you find them you have to challengethem, 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 COMMUNICATIONSMESSAGE / CIRCUIT SWITCHINGVOICE / 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 07110

MH1

Software/Hardware Professionals:

WHY KEEP YOURCAREER WAITING?

Timing is key to successful career change. But to makesure you're prepared to seize the right opportunity at theright time, you need professional assistance. Over thepast twelve years, R.M. Norton and Company hasoffered the research and planning necessary forsuccessful career change.

Drawing on more than a decade's resources, ourconsultants provide expert resume preparation andknowledgeable career path advice. And since werepresent some of the country's premier companies, weenjoy 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 LevelLanguage Programming, Data Base Design, Compiler and/or Operating SystemsDesign, Digital Logic Design, Interface Design, Microprocessor Utilization, ComputerArchitecture, Logic/Circuit Design, Power Supplies, Terminals Development andDistributed Systems Firmware.

If you can't keep your career waiting, contact us. At R.M. Norton, you'll find the expertisethat comes with twelve years of experience and service. And as you'd expect, clientcompanies assume all fees.

(617) 861-7800271 Lincoln Street, Lexington, MA 02173

m

(L ei .mmm % mmsm. m,

Professional Placement Consultants

HARDWARE

SOFTWAREprofessionals

Signal Process'g Engrs to40k

Project Engineers to30k

Analog Design Engrs to45k

Digital Design Engrs to45k

Test Eqpmnt Designers t035k

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 02747617-997-3311

COVERING NEW ENGLANDAND THE U.S. SINCE

1964

We'v been placing engineers in challengingmore rewarding positions since 1964. Weknow the market and the people to contacthere in New England. And through the Na-tional Personnel Consultants Network we areon top of openings in every area of the coun-try. When you deal with E.P. Reardon you'llsave yourself time and money and you'll berepresented by a staff of experienced place-ment consultants that can do it all for you.We have openings in all of the areas listedbelow from entry level to management.Salaries range from 22-55K per year.

Telecommunica-tions

Command, Controland Communica-tions

Automatic TestEquipmentMicrowaveDevices &SystemsRadar SystemsCAD/CAMInstrumentationOptics & ElectroOptics

Circuit and LogicDesignRobotics/AutomationGuidance andControlNavigationSystemsRF DesignData Communica-tions

MechanicalPackagingProcess ControlMechanism DesignReliability

If you are qualified by education and ex-perience in any of these or related fields putBob McNamara to work for you today. Callhim collect al (617) 329-2660 or contact him atthe address below.

£P%ha/doh Assoatifea

Washington Street. P.O.Box 228,Dedham, MA 02026 Clients are EOE.

If you reada lot ofcomputerprintouts-Rest your tiredeyes on us.

Today's high technology engi-neers and technical manage-ment people—qualifiedprofessionals just like yourself—must work closely with com-puters to stay on the leadingedge of the state-of-the-art.

However, this also means thatyou must read many computerprintout sheets, each contain-ing wide lines of charactersand/or numbers.

GRADUATING ENGINEER,McGraw-Hill's magazine forsenior-level engineering stu-dents, understands thisbecause its readers and theirprofessors are confronted withthe same problem in theclassroom.

To help ease their eyestrain wehave made available to theprofessors a 15 inch (or 38centimeters on the other edge)clear plastic ruler.

It features a yellow highlightbar down the center which canbe 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 ispleased to extend this offer tohigh technology professionalstoo.

So, why don't you rest yourtired eyes on us? To requestyour free computer printoutreading guide, just write to uson your company or personalletterhead to the addressbelow.

Willie Williams,Editorial AssociateGRADUATING ENGINEER

McGraw-Hill Publications1221 Avenue of theAmericas/Room 345New York, New York 10020

m

MH2

Our SystemsSpeak for themselves.

At Codex, we produce high-speedstate-of-the-art data communicationsequipment. And our systems areknown as the best in the industry.

If you know where the future in elec-tronics is, those facts should speak forthemselves.

Being the leader in data communica-tions means we're part of one of thefastest-growing fields today. Our clients are Fortune 1000firms. And we're shaping tomorrow's information networks tomake them more efficient, and more productive.

What's in it for you? Just this. That kind of growth meansyou can go places with us. We promote extensively fromwithin. 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 thoughtpossible.

Our technology helps the world com-municate. Maybe it's saying somethingto you.

Codex offers competitive salariesand a comprehensive benefits packageincluding dental insurance and profitsharing.

Interested candidates should forward a resume includingsalary history, in confidence, to J.T. Dombrowski, CODEXCORPORATION, 20 Cabot Boulevard, Mansfield, MA 02048.

Senior SystemsEngineer

Will be responsible for the design ofcustom software interfaces, productenhancements and product support fordata communications systems. Re-quires a BS or MS in electrical engineer-ing or computer science and a minimumof 4 years software design with someexposure to telecommunications andAssembly language programming.

Senior SoftwareEngineer

Responsibility will be for the definitionand implementation of operatingsystems in multi-microprocessor en-vironment for data communicationssystems. Requires a BS or MS in Com-puter Science or a related field and aminimum of 4 years of software develop-ment including implementation ofoperating systems software. Will utilizethe knowledge of a variety of operatingsystems approaches in real-timemultiprocessing environment e.g. UNIX.

Senior HardwareEngineer

This position involves designing hard-ware to customer specifications for datacommunications systems. A BSEE is re-quired plus a minimum of 4 years ex-perience in digital design ofmicroprocessor-based systems.Knowledge of data communicationsystems and some analog experienceis a plus.

MH3

WHAT

DOES IT ALL

MEAN?

You can call anybody a programmer analyst, given a few basicelements. At Keane, our titles mean more than an impressivename on your business card.

Keane Pro-gram-mer An-a-lyst:

1. (n.) One who is responsible for working under minimal supervision for aleading computer consulting firm. May be called on to perform technical tasksranging from business systems design to program development. 2. (v.) Interactswith clients, works on variety of challenging assignments. Plans, organizes andleads others. 3. (adj.) Highly motivated. Aggressive, strong in interpersonalskills. 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 Analysts, we are also looking for Project Managerss for our nine branch offices throughout New England. We of-fer competitive salaries and benefits that include health, dental, bonuses, meritraises 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 oursuccess in the marketplace is thetotal commitment of our Research& Development organization tokeep us on the leading edge of com-puter technology. This commitmentmanifests itself through highly visi-ble engineering opportunities whereachievement is recognized andrewarded. If you agree that thechallenge of technical excellenceshould be enhanced by growth in-stead of being frustrated by it, thePrime difference might be right foryou. Listed below is a brief synop-sis of our major disciplines with alist of positions we are currentlystaffing.

HARDWARE

Principal activities in this areainclude the design and developmentof fully compatible 32 bit pro-cessors and associated peripherals.We are also engaged in a majornew emphasis on in-house LSItechnology and sophisticated CADtools for both electrical andmechanical applications.

Processor Development

Memory SystemsPower SystemsHardware Programs and

PlanningSpecial Systems/HardwareMicroelectronics

• Design Engineering

• Process Engineering

• Application ProgrammingPeripheral Development

• Disc Controller and Subsystems

• I/O Subsystems

• Terminal DevelopmentMechanical Design

• Sr. Technical Contributors/Advanced Packaging

• Sr. Mechanical EngineersComputer-Aided DesignMechanical CAD/CAM

• Manager/Mechanical CADSystems

• Software EngineersElectrical CAD Systems

• Software Engineers

• CAD InstructorCommunications

For the above areas,contact Martha Polachiat 879-2960, Ext. 3266.

SOFTWARE

Our "Software First"philosophy combined with ourdiverse product offerings provideconstant challenges for our soft-ware engineers. Continued ex-cellence is dependent upon fillingkey future development positionsnow. If you have untapped talentsin the following areas, we inviteyou to see what well managed in-novation can offer.

Translator and CompilerDevelopment

• COBOL

• Microprocessors

• Translators

Software System Performance

EvaluationOffice AutomationData Management

For the above areas,contact Glenn Tinesat 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-artsystems architecture and network-ing, put this group on the leadingedge of Prime's Advanced Develop-ment effort.

Advanced Development ManagerReliability, Availability,

ServiceabilityHuman Factors ResearchDatabase Research

For the above areas,contact Charlie Cohenat 879-2960, Ext. 3288.

To learn more about a careerwith PRIME, contact the ap-propriate recruiter named aboveor forward your resume totheir attention at PRIME COM- /PUTER, Dept. MH6, 500 OldConnecticut Path, Framingham,MA 01760. (617) 879-2960. Primeis an Affirmative ActionEmployer, seeking outstanding individuals.

MH5

UNABASHEDSUCCESS ANDWE'RE READYTO SHARE IT!

We've entered a crowded market and pushed,the competition aside. Today, HARRISCOMPUTER SYSTEMS DIVISION isgrowing at a compound annual rate of nearly30%. This expansion will continue toaccelerate as emphasis on CAD/CAM,energy and systems create a greater demandfor the Harris supermini-computer.

Now we're developing improvedarchitecture, even greater performance andan expanded range of applications. Thesedevelopments will lead to opportunity for theskilled SOFTWARE or HARDWAREENGINEER looking for a place to step out ofthe crowd. If you have a BSCSor BSEE, 3-5years of experience and a great deal ofpromise, let's talk about unabashed success!

A high salary, great benefits and fineworking environment are only part of whatawaits you when you join Florida's largestindustrial employer. We're offering you away of life in the sunny, income tax free statewhere off hours can be spent at almost everyconceivable form of recreation and relaxing.But find out why high performance on thejob can lead to better performance allaround. For details, call Jan Kelley. toll free,at 1-800-327-4986 or send your resumeincluding salary history to: HARRISCOMPUTER SYSTEMS DIVISION, 2101West Cypress Creek Road, Ft. Lauderdale,Florida 33309.

^L/L/U

COMMUNICATION ANDINFORMATION PROCESSING

An Equal Opportunity Employer M/F

THE TIME IS NOW.THE COMPANY ISDRC.

At DRC you'll find an environmentthat encourages personal growththrough high visibility, project mobil-ity and technical recognition, both in-ternally and through direct customercontact. You'll be part of a smallteam of highly skilled technical pro-fessionals performing SystemsAnalysis and Engineering Studies forDOD program managers. With the in-creased emphasis on DefenseSystems, the time is now to growwith a leader in the industry.

We are specifically interested inpeople with a BSEE, MS preferred,with 5 to 10 plus years systems levelexperience in these topical areas.

• Automatic Test Equipmentfor use on military avionicsystems

• Military Aircraft Displays andInstruments

• Fire Control Systems andAirborne Computers

• State-of-the-art Radar andECM Systems

• IMU Component ReliabilityAnalysis

• Military Digital Computersand associated AutomaticTest Equipment

• Inertial Component Test

• Creative Design(Analog/Digital) of laboratorytest equipment

• F-16 Avionics IntermediateShop Management—Manage-ment Information Systems

• Signal Processing for Elec-tronic Warfare, ECM, ECCM

• Life Cycle Cost Analysis

• Operations Research for air-borne and ground basedelectronic systems

• Logistics Support Analysisfor weapons systemsapplications

To learn more about these ex-citing opportunities, please forwardyour resume, including salary infor-mation, to Don Shanley, Dept. MH6Dynamics Research Corporation, 60Concord Street, Wilmington, MA01887.

An equal opportunity employer, M/F.

DYNAMICS RESEARCH CORPORATION i

MH6

ELECTRONICENGINEERS

If you're the kind of engineer who enjoys the challenge of new technological problems, investigate theprofessional positions available with The Aerospace Corporation. We seek scientists and engineers withI'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 lasercommunications systems for a variety of spaceprograms, as well as other applications. In addition to abackground in communications systems, you should beknowledgeable in the various laser transmittertechnologies including solid state and gas, as well aslaser receiver and optical components.

RF Systems Design

Antenna design studies, RF link calculations forcommunications satellites, propagation studies todetermine link margins. A broad RF background, andthe ability to perform systems trade analysis forterrestrial communications networks involving largeantenna and microwave subsystems are desirable.

Communications Systems Analysis

Statistical analysis of communications systems. Theability to perform coding systems studies, linkcalculations for communications satellites, modulationand spread spectrum studies and systems trade analysisfor communications networks is desirable.

Optical and Electro-OpticalSystems Analysis

Analysis and laboratory evaluation of optical andelectro-optical components and systems such as CCDimaging and signal processing devices, lasers, lasermodulators, fiber and integrated optics, and coherentoptical processing. Image analysis, diffraction effects,optical systems design and specifications.

Space Power Systems

Analysis of the design, processing, assembly and testingof solar cells and arrays, procurement and testing ofbatteries, and electrical integration of solar arrays andbatteries into power systems.

For a more rewarding career please forward yourresume to:

The AerosDace CorporationProfessional 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 ChallengeofaThought

MITRE accepts that challenge everyday. Throughout the projects we under-take as General Systems Engineer tothe U.S. Air Force's Electronic SystemsDivision, we have the same goal inmind: turning a good idea into anoperational reality.

This is a great simplification of ourwork in C3 (Command, Control andCommunications), but essentially itcomes down to these basics:

Isolate the need. Figure out what wethink might work. Try it out and makesure it will work. And finally — bringit to fruition as a real capability inthe field.

Our elite group of systems engineershas an unusual opportunity to providetechnical leadership in conceptdevelopment, design, demonstrationand evaluation — and the satisfac-tion of seeing their thoughts come totangible completion. And with theproject-to-project mobility that is intrin-sic in MITRE's structure, they knowthere will be another challenge waitingafter this one.

Is toMake 14a Reality.

If you have a degree and background inany of the following aspects of C3, youshould consider the challenge ofMITRE. This is a thought that couldmake your career an entirely differ-ent reality.

COMPUTER SYSTEMSRADAR SYSTEMS

MAKE YOUR COMMITMENT TO EXCELLENCE.

rf

FOR THOSE WITH THETECHNICAL "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, workingtogether, 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 aswell as other exciting projects.

We will need more of the best and most innovative minds to continuemeeting 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 developmentField representatives

(U.S. Navy aircraft carrier deployment)

If you would like to apply your talents to forward-lookingprograms send a comprehensive resume and salaryrequirements 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 SOFTWARECOMMUNICATIONSCOMMAND AND CONTROLSYSTEMS ARCHITECTURE

Send your resume including current orrequired salary to David L. Finnegan,4506 Middlesex Turnpike, Bedford, MA01730. U.S. Citizenship or resident alienregistration required.

MITRE is an equal opportunityemployer actively seeking applicationsunder its affirmative action program.

MITRE

STAFF DESIGNENGINEERINGPROFESSIONALS

$25,000 to $60,000

Large Scale ComputerSystem Development

Our client, a prestigious leader in the computerindustry, has outstanding opportunities to workand live in the scenic rural environment of NewYork State's beautiful Hudson Valley. Positionsare 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 SemiconductorDevice Engineers

You will be involved in designing high speedmicroprocessor and memory products.Software Architects

You will be designing and integrating high levellanguages with large scale systems.

All of these positions require a B.S./M.S. Elec-trical or Computer Science Engineering Degreeand a minimum of 18 months work experience inone of the above disciplines. An ability to con-ceive and develop innovative ideas is also neces-sary.

You will enjoy an excellent starting salary andan outstanding comprehensive benefits package.For confidential consideration, send your re-sume, a letter of interest, or call: (914)471-9700.

THE

Mr. Eugene Olan59 Academy StreetPoughkeepsie, N.Y. 12601Our client is an equalopportunity employerand assumes all fees.

Technical Division of Ethan Allen Personnel

HUDSON

GROUP

MH8

^Y£}

Our

products

range in

size from

devices to supersystems. Our technological rangeinvites more striking comparisons — mini- and micro-computers, distributed processing, high densitypackaging, electro-optics, automation, and C3I systemsto cite a few.

We employ about 300engineers and are the only RCAplant in New England. Thismeans individual achievers gethigh visibility in our informal structure, yet we can callupon RCA's worldwide corporate resources. Last year,we upgraded or promoted over 25% of our engineers.

We have openings for engineerswho can design software, testsystems, high density packages,maintainability and reliabilityprograms, and complex computer-based systems.

Our sales have tripled and our employment doubled inthe past five years. Our growth plan for the next five years

shows even brighter prospectsfor the future. Become a part ofthis Tradition on the Move,contact Roger Bishop,Employment Manager,RCA Automated Systems, P.O. Box 588, Burlington, MA01803,(617)272-4000.

r\

ItCJI

ATRADITION ON THE MOVE1

MH9

DON'T WAIT FORTOMORROW...

CREATE IT.

When creative ideas are needed fornew and unprecedented softwaresystems, the people to see are atSof Tech. We take new techniques andold approaches and combine them tofind the best possible solution to anygiven problem.

At SofTech, you will have the opportunity toapply your abilities to exciting, real-worldproblems in such diverse areas as:

• Language design and compilerdevelopment

• 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 microprocessorsoftware products — sole world-widedistributor of the UCSD p-System

If you have the talent and vision to add to ourinternational reputation for excellence in thedevelopment and application of newsystems and software technology, your bestposition is waiting at SofTech.

We offer opportunities for professionalgrowth inherent in a 300 personenvironment, coupled with excellent startingsalaries and outstanding benefits. Pleasesend your resume and salary requirementsto Judith M. Forsythe, Dept. 525, SofTech, Inc.,460 Totten Pond Road, Waltham, MA 02154;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 isthe world's largest manufacturer ofhigh performance tape and diskstorage equipment and a majorproducer of high speed line printers.A Fortune 500 company, we're locat-ed at the base of the magnificentRocky Mountains and just minutesaway from Denver. We offer you ex-citing career opportunities and thekinds of challenges that stimulatethe most innovative of minds. Ourcurrent openings for qualifiedprofessionals include:

ManufacturingEngineering 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 impactthe industry, we'd like to hear fromyou. We provide an excellent com-pensation package that includeshealth, dental and life insurancebenefits, stock purchase plan, com-petitive relocation assistance andmore. For consideration, pleasesend your detailed resume in ab-solute confidence to STORAGETECHNOLOGY CORPORATION,

Dept. MID, 2270 South 88th St., MD#29, Louisville, CO 80027. We are anequal opportunity employer.

MH10

We'll Give Yju Something to

About

GTE Systems' Strategic Systems Divi-sion boasts the largest group ofengineering professionals dedicated toC3 in this part of the country. Profes-sionals dedicated to such projects as: aradio communications system that in-corporates over 600 VLF, MF, VHF, UHFand SHF radios; the world's largest fiberoptics cable network, over 15,000kilometers; a hierarchy of over 5000 com-puters; and one of the largest softwarecommunications networks everdeveloped.

In the past year alone, over 600engineers made Strategic Systems Divi-sion their first choice.

They came from major high-technologycenters all over the United States...fromEngland and Canada. Engineering pro-fessionals at all levels of experience.Over 600 of them chose to make theirmove to GTE Systems' StrategicSystems Division (SSD). All with therealization that our tremendous successand the incredible sophistication of ourtechnology make SSD the best place tobe for C3 (command, control and com-munications).

Our proven C3 expertise has beendramatically illustrated in such state-of-the-art, long-term programs as the MXand Minuteman. In addition, our PowerSystems Organization is recognized as aleader in the design, development andmanufacture of high energy Lithium Bat-tery power sources. Right now, we'recontinuing our successful mode as weactively pursue new and more advancedprograms in the C3 and power systemsindustries.

Perhaps another consideration that hasgiven SSD an edge is our advantageouslocation. Here, in Eastern Massa-chusetts, GTE professionals enjoy thecultural and educational riches of thisprized New England environment, the in-tellectual stimulation of our famedRoute 128 electronics belt and therecreational advantages of our distinc-tive seasons so enhanced by easy ac-cess to winters in New Hampshire andVermont and spectacular summers onthe sandy beaches of Cape Cod. All thisin an area that claims the extraordinarybenefits of easily affordable homes,both in suburban and rural areas.

HardwareEngineering

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

C3 Simulator Design

EMC/Tempest Design

SoftwareEngineering

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

TestEngineering

□ Test Planningand Analysis

□ Unit Test

□ Subsystems Test

□ Systems Test

□ Site Test

□□

D

□

□□□□□

SystemsEngineering

U Communications Systems

□ COMSEC Systems

□ Systems SoftwareOperability

□ Maintenance Systems

We will contact you.

Simply check off the area(s) of interest, complete thefollowing information and forward this page to Bill U.Ahalt, GTE's Sylvania Systems Group, Strategic SystemsDivision, 189 "B" Street, Needham, MA 02194.

Name

Phone

Address

State _Degree

Power Systems

□ Research andDevelopmentEngineering

□ Chemical Engineering

□ Process/ProductionEngineering

□ Program Management

□ Quality Control

D Mechanical Packaging

EngineeringD Industrial Engineering

(HT3

Systems

Zip

. Yrs. of Exp.

an equal opportunity employer M/F

MH11

Reachfor Excellence

Share in the excite-ment of our outstand-ing achievements. Bepart of Honeywell'sSmall Systems andTerminals Division(SS&TD) at our Billericafacility. And gain satisfyingrewards in an environmentgoverned by no less thanexcellence.

Positions are availableat most levels in:

Since 1969, Billerica has been oneof Honeywell's foremost engineeringorganizations with a history of significanttechnical accomplishments.

As headquarters for SS&TD, Billerica continuesin this vein. Most recently, with the acclaimedintroduction of Honeywell's DPS-6 family ofsmall computers...and the WP-6 word process-ing system, just the first of many advancedproducts to be announced for Honeywell's newoffice automation line.

Throughout the coming year, and in years tocome, our Billerica operation will continue toadvance Honeywell's state of the art. Ourengineers will continuously strive to findinnovative 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 computertechnologies. 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

DevelopmentProduct Planning &SpecificationProduct TestProgramming &Systems AnalysisNew Terminal ProductsDevelopmentCAD/CAM DesignSystems DesignCustom Software DevelopmentTerminals Hardware DevelopmentFirmware & Maintainability Systems

EngineeringAnalog Design

Custom Terminals Hardware EngineeringMechanical Design & Engineering SupportDesign AutomationSemiconductor DesignVLSI & LSI DesignDisk Controller DesignComponents & Materials EngineeringMaintainability & Systems DesignHardware & Systems TestPeripheral Subsystem DesignHardware & Software Technical Writers &Editors

To investigate the above positions, pleaseforward your resume to Don B. Bats ford.

inljomputers2gyearsinMassachusetts

Honeywell

People,

X)ur Competitive—tdge

MH12

The Landlord

TM

Apartment Management Software

Keeping track of apartment availabilities, rentpayments, security deposits, leases, and otheradministrative functions consumes a great deal of timeand attention for apartment owners and managers. Youand your staff proPably spend countless hours dealingwith the paperwork necessary to manage your property.

With the Landlord'" apartment managementsoftware and an Apple II* computer, file cabinets full ofpaperwork and the frustrations of cumbersomebookkeeping procedures can be eliminated. Theclerical work for your apartments can be accomplishedwith greater accuracy in a fraction of the time youpresently spend. The Landlord™ will keep up-to-date fileson apartments and residents as well as detailed recordsof property income and expenses.

You'll be able to enter, change, or delete informationby following the simple English instructions that appearon the screen of the Apple II". The Landlord™ willautomatically organize and store your data and makeit available for your review at any time. With theLandlord™, your resident manager can instantlydetermine where apartment vacancies exist and whenadditional units will become available for rental. TheLandlord™ 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 otherpayments. Property and tax analysis reports are printedautomatically each month and allow you to monitorthe profitability of your apartments.

The Landlord™ apartment management softwareand the necessary Apple II" equipment are available forless than the cost of a new sub-compact car. If you ownor manage an apartment property with no more than400 units, visit your nearest computer dealer for ademonstration.

""bY88T"

Please return this coupon for more information aboutthe Landlord™ and the name of the dealer nearestyou.

Name

CompanyAddress _

City/State

Zip.

MIN MICROCOMPUTER SOFTWARE.

5835-A Peachtree Corners EastNorcross, Ga 30092

INC

Circle 251 on inquiry card.

BYTE August 1981

81

However, nothing is known outside the window abouthow it responds to these messages. (It is known that awindow will move when asked to, but it is not knownhow it accomplishes the move.)

The set of messages an object can respond to is calledits protocol. The external view of an object is nothingmore than its protocol; the internal view of an object issomething like a data/procedure system. An object has aset of variables that refers to other objects. These arecalled its private variables. It also has a set of methodsthat describes what to do when a message is received. Thevalues of the private variables play the role of data andthe methods play the role of procedures. This distinctionbetween data and procedures is strictly localized to theinside of the object.

Methods, like other procedures, must know about theform of the data they directly manipulate. Part of thedata a method can manipulate are the values of itsobject's private variables. For example, we might imaginethree ways that a window represents its location and size(internally). The private variables might contain:

• four numbers representing the x and y location of thecenter, the width, and the height

• two points representing opposite corners of the window

• a single rectangle whose location and size are the sameas the window's

The method that moves a window (the response to

Some things are justnaturally right.

tin

W

tiny-c is a structured programming language designed toallow you to focus attention on the problems you want tosolve — rather than the language you're using to solve it. Withtiny-c you can expand your horizons far beyond the limits ofBASIC, tiny-c ONE (interpreter), $100- includes Owner's Manualplus 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. Thisversion 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 MasterCharge 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 werechanged, the method would also have to be changed.Only the methods in the object whose representationchanged need be changed. All other methods mustmanipulate the window by sending it messages.

A message must be sent to an object to find outanything about it (ie: our concept of manipulation in-cludes inquiring about information, as well as changinginformation). This is needed because we don't want theform of an object's inside known outside of it. Theresponse to a message may return a value. For example, awindow's response to the message width returns an objectthat represents its width on the display (a number). Themethod for determining what to return depends on theform of the window's private variables. If they arerepresented as the first alternative listed above (fournumbers), the response would simply return the value ofthe appropriate private variable. If the second alternativeis used (two points), the method would have to determinethe width from the x coordinates of the two corners. Ifthe third alternative is used (one rectangle), the widthmessage would simply be passed on to the rectangle andthe rectangle's response would become the window'sresponse.

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 samegeneral description. The description of an object is calleda class since the class can describe a whole set of relatedobjects. Each object described by a class is called an in-stance of that class.

Class: A description of one or more similarobjects.

Instance: An object described by a particularclass.

Every object is an instance of a class. The classdescribes all the similarities of its instances. Each instancecontains the information that distinguishes it from theother instances. This information is a subset of its privatevariables called instance variables. All instances of a classhave the same number of instance variables. The valuesof the instance variables are different from instance to in-stance. An object's software (ie: the methods thatdescribe its response to messages) is found in its class. Allinstances of a class use the same method to respond to aparticular type of message (ie: a message with a particularselector). The difference in response by two different in-stances is a result of their different instance variables. Themethods in a class use a set of names to refer to the set ofinstance variables. When a message is sent, those namesin the invoked method refer to the instance variables ofthe 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 IIDiagnostics 1DISK DOCTOR

$100/15$ 75/15$100/15

Utilities

Utility Pack#1Utility Pack #2

$ 60/NA$ 60/NA

Text Processing

TFS

Super-M-List

$ 85/15$ 75/10

Software Security

Encode/Decode IIEncode/Decode I

$100/20$ 50/20

Intercommunications

TERMTERM II

$150/15$200/15

Entertainment

ANALIZANEMESISDungeon 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 withother CP/M based systems or with remote timesharingcomputers. TERM supports file transfers between bothtimesharing systems and between CP/M systems.

TERM equals or exceeds comparable programs inpower and flexibility, but costs less, delivers more andsource code is provided on discette!

With TERM you can send and receive ASCII, HEXand COM files. You also have a conversational mode,and a timesharing terminal emulator. Below is a partiallist 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 languageprogramming.

TERM is supplied with source and user manual: $150.00Manual 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 thatmet our high standards. In the software distributionbusiness we needed a discette that was reliable,sturdy, durable, and inexpensive We wanted no dataerrors 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 FahrenheitDiscette type [ price per box

Single Sided Single Density:

Soft sectored IBM compatible 8": $30.00

10 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 DiscettesIllinois 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^LiM4M^iL^LiJVgIKffSfSCfiL^it^^kl*k»¥^r

3E*(

For complete information on these and all otherSuperSoft 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 ASSOCIATESP.O. BOX 1628CHAMPAIGN, IL 61820(217) 359-2112Technical Hot Line: (217) 359-2691(answered only when technician is available)

■CP/M REGISTERED TRADEMARK DIGITALRESEARCH

SSS FORTRAN is the copyright ofSmalt Systems Services, Urbana. Illinois

24hour 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 1175

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 100 jfe MONTHLY jfc

12" Black & White $139 ^ SPECIALS ^

CENTRONICS 737

cable sxlra 0 I O f

AVAILABLE FOR IMMEDIATE SHIPMENT

oSrVx^ l+fS> *+/• Pinr speedY^/ 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 *"^:-Ss:-.^5

in hardware or softwareCompatible 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 orbank wire transfers. Visa and MC service charge of 2%. Mailorders may send charge card number (include expiration date),cashiers check, money order or personal check (allow tenbusiness days for personal or company checks to clear). Include3% ($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 postageFOREIGN ORDERS include 1% handling— shipped air FREIGHTCOLLECT only. Credit cards not accepted on foreign orders.All equipment is in factory cartons with manufacturers warranty.Opened products not returnable. Restocking tee for returnedmerchandise. Equipment subject to price change and avail-ability. Retail store prices differ from mail order prices. WESHIP 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 CONTROLLERNEW DOS 3.3 $529without... $445Nearly Everythingfor Apple

fcipple ][i6K computer

APPLE II 48K

$1095

^- WE WILL MEET OR BEATANY ADVERTISED PRICESON MOST ITEMS IF MERCHANDISEIN 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 —

CALLPHONEMON. -

Circle 76 on inquiry card.

1-800-854-2833

ORDERSSAT. 8 to 6 P.S.T.

APPLE COMPUTERINTERFACE 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. .. 259Expansion 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 7811 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

AUTHORIZFDAPPLESALES &SERVICE

(^TinT°XuM^>

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 ofthe class.

The programmer developing a new system creates theclasses that describe the objects that make up the system.The programmer of the window-management systemwould 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 ofthe instance variables referred to in those methods. Thesenames 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 ofcharacters are included in most systems, so they don'tneed to be defined.

In a system that is uniformly object-oriented, a class isan object itself. A class serves several purposes. In a run-ning system, it provides the description of how objectsbehave in response to messages. The processor runningan object-oriented system looks at the receiver's classwhen a message is sent to determine the appropriate

refqrmaTTer

GETS FILES ACROSS!

With REFORMATTER disk utilities you can read and writeIBM 3740 and DEC RT-11 single density formatted diskettes on yourCP/M" system.

REFORMATTER enables you to access large system databases,improve data exchange with other organizations, increase programdevelopment capabilities, and use your micro in distributed processing.

REFORMATTER programs feature bi-directional data transferand full directory manipulation. ASCII/EBCDIC conversion providedwith 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 orCP/M •* DEC. Order from MicroTech Exports, Inc., 467 HamiltonAve., 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 notnecessary that they be represented as objects since theprocessor does not interact with them through messages(preventing a nasty recursion). In a system underdevelopment, a class provides an interface for the pro-grammer to interact with the definition of objects. Forthis use of classes, it is extremely useful for them to be ob-jects, so they can be manipulated in the same way as allother descriptions. Classes also are the source of new ob-jects in a running system. Here again, it is useful for theclass to be an object, so object creation can beaccomplished with a simple message. For example, themessage 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 inheritsthe attributes of another object, changing any attributesthat distinguish the two. Some object-oriented systemsprovide for inheritance between all objects, but most pro-vide it only between classes. A class may be modified tocreate another class. In such a relationship, the first classis called the superclass and the second is called thesubclass. A subclass inherits everything about itssuperclass. The following modifications can be made to asubclass:

• adding instance variables

• providing new methods for some of the messagesunderstood by the superclass

• providing methods for new messages (messages notunderstood by the superclass)

• adding class variables

As an example, the window-management system mightcontain windows that have a minimum size. These wouldbe instances of a subclass of the ordinary class of win-dows that added an instance variable to represent theminimum size and provided a new method for themessage that changes a window's size.

Conclusion

The realization that information can describe themanipulation of information is largely responsible for thegreat utility of computers today. However, thatdiscovery is also partially responsible for the failure ofcomputers to reach the utility of some predictions madein earlier times. On the one hand, it can be seen as aunification between the manipulator and themanipulated. However, in practice, it has been seen as adistinction between software and the information itmanipulates. For small systems, this distinction isharmless. But for large systems, the distinction becomes amajor source of complexity. The object-oriented point ofview is a way to reduce the complexity of large systemswithout placing additional overhead on the constructionof 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 switchersoffer a combination of features not found in others at these lowprices. Features such as fully regulated outputs, 115/230 VACinput capabilities, superior hold-up time, and totally enclosedpackaging for enhanced safety. Additionally, these modelsincorporate many other innovative ideas that set our switchersapart... while reflecting the same simplicityof 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 qualitycontrol standards. Adding up to total dependability at typicalPower-One low prices.

So check us out. See why we're leading the way again. Thistime in switchers.

Send for our new '81 Catalog. Better yet, contact your localPower-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.

USERSELECTABLE

3.5A

SIZE: 2"H X 4.88"W X 14"L

MAX OUTPUT POWER: 150 WATTSCONTINUOUS. SUM OF ALL OUTPUTS

r

150 WATTS - 4 OUTPUTSTHE 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 CATALOGAND POWER-ONETOUR GUIDE

d.c. power supplies

POWER-ONE INC. • POWER ONE DRIVE • CAMARILLO, CA 93010PHONE: (805) 484-2806 • (805)987-3891 • TWX: 910-336-1297

Circle 312 on Inquiry card.

SEE EE M OR GOLDBOOK FOR OUR COMPLETE PRODUCT LISTINGAND 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 thecrop with their new 8-inch multi-userWinchester disk systems. They'refreshly packed with the qualityfeatures you expect from Altos, andat a price you expect from Altos,too-just $8,500.

Pick from two fully integratedsystems, each packaged in our newcompact, stylish cabinet suitable foreither rack mount or table topapplications. You get 10 MBytes ofreliable on-line storage in our 8-inchWinchester drives. Then for systemback-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-sidedfloppy drives (ACS8000-10 and -10D)or a V4-inch magnetic tape drive(ACS8000-10/MTU). And for powerfulperformance, all of these Z80A*basedsystems come complete with 208Kof RAM and 6 programmable serialports, ready to support four users.

Here's the most bountifulselection of systems and capacities inthe field from the company thatknows how to deliver quality systemsin the volumes that OEMs need tostay competitive.

And Altos supports thesesystems with a broad softwareselection including the three industrystandard operating systems—CP/M,multi-user MP/M** and OASIS*.These operating systems supportseven high level programminglanguages: BASIC, FORTRAN, COBOL,PASCAL, APL, PL/1 and C. Alsoavailable are comprehensivecommunications packages: ASYNC—Altos-to-Altos, BISYNC-Altos-to-mainframe and full networking withCP/NET. All are designed to run on ahigh speed 800 Kilobaud networkingchannel—standard with everysystem.

The ACS8000-10 Winchestersystems join our growing family offield-proven products. In just threeyears, more than 8,000 systemshave been shipped to an OEMcustomer-base.

Get to market fast. Harvestyour 8-inch Winchester system directfrom the heart of Silicon Valley. Callor write today for specific productinformation and OEM pricing. AltosComputer Systems. 2360 BeringDrive, San Jose, CA 95131, (408)946-6700,Telex 171562 ALTOS SNJ.

Packed withFresh 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 TeslerApple Computer Inc

10260 Bandley DrCupertino 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 isthe loud plea:

DON'TMODE

ME IN

Surrounding the caption is a ring of barbed wire thatsymbolizes the trapped feeling I often experience whenmy computer is "in a mode."

In small print around the shirt are the names of somemodes I have known and deplored since the early 1960swhen I came out of the darkness of punched cards intothe dawn of interactive terminals. My rogues' gallery ofinhuman factors includes command modes like INSERT,REPLACE, DELETE, and SEARCH, as well as that in-escapable prompt, "FILE NAME?" The color of the silkscreen 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—orat least from the face of my computer's display screen. Itstarted in 1973 when I began work at the Xerox Palo AltoResearch Center (PARC) on the design of interactivesystems to be used by office workers for documentpreparation. My observations of secretaries learning touse the text editors of that era soon convinced me that mybeloved computers were, in fact, unfriendly monsters,and that their sharpest fangs were the ever-presentmodes. 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 Iget out of this mode?" Other researchers have also con-demned the prevalence of modes in interactive systemsfor novice users (reference 1).

Novices are not the only victims of modes. Expertsoften type commands used in one mode when they are inanother, leading to undesired and distressing conse-quences. In many systems, typing the letter "D" can havemeanings as diverse as "replace the selected character byD," "insert a D before the selected character," or "deletethe selected character." How many times have you heardor said, "Oops, I was in the wrong mode"?

Preemption

Even when you remember what mode you are in, youcan still fall into a trap. If you are running a data-plottingprogram, the only commands you can use are the onesprovided in that program. You can't use any of the usefulcapabilities of your computer that the author of the pro-gram didn't consider, such as obtaining a list of the fileson the disk. On the other hand, if you're using a programthat lets you list files, you probably can't use the texteditor to change their names. Also, if you are using a texteditor, you probably can't plot a graph from the numbersthat appear in the document.

If you stop any program and start another, datadisplayed by the first program is probably erased fromthe screen and irretrievably lost from view. In general,"running a program" in most systems puts you into amode where the facilities of other programs areunavailable to you. Dan Swinehart calls this the dilemmaof preemption (reference 2).

Many systems feature hierarchies of modes. A portionof a typical mode hierarchy is shown in figure 1. If youare in the editor and want to copy text from a file, youissue the copy-from command and it gives the prompt"from what file?" You then type a file name. What if youcan't remember the spelling? No problem. Leave from-what-file mode, leave copy-from mode, save the editedtext, exit from the editor to the executive, call up filemanagement from the executive, issue the list-files com-mand, look for the name you want (Hey, that went bytoo fast. Sorry, you can't scroll backwards in thatmode.), terminate the list command, exit from filemanagement to the executive, reenter the editor, issue thecopy-from command, and when it prompts you with"from-what-file?," simply type the name (you haven't

Circle 269 on inquiry card.

EEE33S

DYNABYTESYSTEMS+

NORSEA offers the most professional, cost effective and highperformance microcomputer systems and peripherals for USA,Canada and the World. Quantity discounts start at quantity 2 level

COMPLETE SYSTEMS

(including software)Professional WordProcessing System

Dynabyte 5200-Dual 5/4"

Televideo 950

Starwriter I

WordStar

List $9,710 Net $6,312

Full BusinessAccounting System

Dynabyte 5300 - Dual 8"Televideo 950DataSouth 180Business ManagerList $12,520

Net $8,130

Net $15,650

11 MB Hard Disk FullBusiness Accounting andWord Processing System

Dynabyte5615-11MB2-Televideo 950Starwriter IDataSouth 180Business ManagerWordStarList $24,075

45 MB Hard DiskHigh Performance BusinessAccounting and WordProcessing System

Dynabyte 5700 - 45 MB

4-Televideo 950

Starwriter II

Dataproducts 340CPS

Business Manager

WordStar

List $35,930 Net $23,360

Many other configurationsavailable, with or withoutsoftware.

REMEXFLOPPYDISKDRIVES

The highest quality in 1MB

8" floppy drives

RFD4000 $699

Other REMEX products available.

PERIPHERALS

Volker-CraigVC414H

(Hazeltine 1510 compatible -amber screen)Televideo 950Starwriter IStarwriter IIDataSouth DS-180Tally T-1705Dataproducts M-200

HARD DISKSUBSYSTEMS

(Can be daisy chained for

up to 104 MB of storage)

Formatted with S-100 Controller,

PSU and Cabinet

M10-10MB-8"

M20-20M-8"

M26-26MB-14"

Subsystems also available in OEMstripped down versions.

$ 899

$ 999$1,599$1,799$1,399$1,799$2,099

$2,995$3,830$3,995

DYNABYTEMICROCOMPUTERS

This fast growing and truly professionalrange of microcomputers is nowavailable at best prices through NORSEA,with a wide choice of quality peripheralsand software.

EXPORTS

NORSEA specializes in the export ofDynabyte microcomputers and a selectedrange of high quality peripherals.We are experienced in internationaltrading and we pride ourselves on fastand courteous service at thelowest prices possible.

FOREIGN SYSTEMSMANUFACTURERS

NORSEA offers you a unique purchasingservice, procuring U.S., Canadian, andJapanese made computer subsystems andperipherals for your requirement at themost attractive prices and deliveries.Send us your shopping list includingquantity and delivery requirements.

TRADEMARKS

Business Manager by DynabyteStarwriter by C. ItohWordStar by MicroPro

To Order: Call (203) 775-0438

(203)775-4465

Telex 969638

NORSEA

DATA CORPORATION

U.S. Route 7, BrookfieldConnecticut 06804 U.S.A.

Prices subject to change without notice.

TO ORDER CALL (212) 687-5000

SUPR

INTE3TEC

DATA

SY5TEMS64KONLY

$2995

anus

More lhan an intelligent terminal, the SuperBrain outperforms many othersystems costing three to five times as much. Endowed with a hefty amount ofavailable software (BASIC, FORTRAN, COBOL), the SuperBrain is ready totake on your toughest assignment. You name it! General Ledger, AccountsReceivable, Payroll, Inventory or Word Processing. . the SuperBrain handlesall of them with ease FEATURES INCLUDE:

• 2 dual-density mimfloppies with 360K bytes of disk storage • A CP'M DiskOperaling System with a high-powered lex! editor, assembler and debugger.

NEW96K

80 Column

CommodoreCBM

Basic 4.0OperatingSystem

• 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 BusinessComputers have virtually unlimited businesscapabilities. Accounts Receivable, InventoryRecords, Payroll, and ,other accounting J *v s*

functions. / & $* #&

PET 16N & 32N/ I

COMPUTERS I

• Full size keyboard16 or 32,000Bytes MemoryLevel IIIOperatingSystem

- Full Screen ~Editor

• Upper lower case & 64 graphic characters. PET DUAL

FLOPPY DISK

• Stores 360,000Bytes on-line

• Microprocessor1^——""* controlled

• Uses single ordual sided floppies

HI-SPEED PRINTER• 150 cnaracters persecond • Up to 4copies 8" widej • MicroprocessorControlled • PrintsAll Graphics • FullFormatting Capability

%

APPLE II PLUS'orPr/ce

A complete self-contained computer system with APPLESOFT floating pointBASIC m ROM. lull ASC 11 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-70MX-80MX-80FTMX-100FTCall for Prices

CENTRONICS700-9

RS-

Printer Card 180 Graphics Tablet

[apple///

IS FINALLY HERE128K RAM!!

795

l

cps Bi-Directional • Up to 15Paper Width • 9 „ 9 MainUpper/Lower Case

• Trartor Feed

• RS-232Serial 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 channelvertical forms! • Top ot Form1

737 Parallel $895

ANDERSONJAC0BS0N

841 I/O Terminal Ideal torword processing andsmall businesses. $

ASCII Code15 CPS PrintoutHigh Quality Selectric PrintingReliable heavy duty mechanismCompletely Refurbished by A.J.Delivered FREE to nearest service center

Serial

;895

HAZELTINE ESPIRIT

NEW!

■ 24 x 80

■ Green Screen

■ 7x11 Matrix

■ Full FormatEditingControls

■ Bi-Directional

DIABLO

630 Special $2495

On Site Warranty List $2755

./^^wvl-v^V

•«2S2K£~

COREST WU*Jgj 896-0700Oppose

TO ORDER CALL (212) 687-5000 Mo°pFe;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

INCREDIBLYONLY $695

DEALER INQUIRIESINVITED 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 WinchesterDisk Technology the ONYX system can nowsupport up to 8 users simultaneously!

i Disk capacities available in increments of 6.1,10, 20, 40 megabytes—up to 4 disks persystem (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 thatformerly was only available to larger machineusers! (ACCOUNTING,relational databases,

WORD PROCESSING,INSURANCE,CONSTRUCTION,ETC.]

■ Systems start at under $ 9500

Come to the Computer Factory and our expertswill demonstrate the ONYX system which bestsuits 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 thecampaign against modes. The most coldhearted program-mer is a victim as well. Say you have programmed a newvideo game for your personal computer and have en-countered a bug. An obscure error message appears onthe screen mixed in with spacecraft and alien forms. Tosee the latest version of the program on the screen, youhave to wipe out the very evidence you need to solve theproblem. Why? Because the system forces you to choosebetween edit mode and execute mode. You can't haveboth.

Enter the Integrated Environment

Soon after I began battling the mode monster, I becameassociated with Alan Kay, who had just founded theLearning Research Group (LRG) at the Xerox PARC. Kayshared my disdain for modes and had devised a user-interface paradigm (reference 3) that eliminated one kindof mode, the kind causing the preemption dilemma. Theparadigm he advocated was called "overlapping win-dows."

Most people who have used computer displays arefamiliar with windows. They are rectangular divisions ofthe screen, each displaying a different information set. Insome windowing systems, you can have several tasks inprogress, each represented in a different window, and canswitch freely between tasks by switching between win-dows.

What is a

CLOCALPEEP?

Another name forthe 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 willgive over 8 years of continuous timekeeping.

From the folks who brought you the bestCP/M8forthe Model II.

S175 plus shippingPrepaid, COD, Mastercharge or Visa ordersaccepted. 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 itswarranty. We suggest that you wait until the warranty period has expiredbefore installing Ihe CCB-II.

The trouble with most windowing systems is that thewindows compete with each other for screen space—ifyou make one window bigger, another window getssmaller. Kay's idea was to allow the windows to overlap.The screen is portrayed as the surface of a desk, and thewindows as overlapping sheets of paper (photo 2). Partlycovered sheets peek out from behind sheets that obscurethem. With the aid of a pointing device that moves a cur-sor around the screen, you can move the cursor over apartly covered sheet and press a button on the pointingdevice to uncover that sheet.

The advantages of the overlapping-window paradigmare:

• the displays associated with several user tasks can beviewed 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'sclothing. They are more friendly than modes because youcan't slip into a window unknowingly when you are notlooking at the screen, and because you can get in and outof any window at any time you choose by the push of abutton.

Kay saw his paradigm as the basis for what he called an"integrated environment." When you have an integratedenvironment, the distinction between operating systemand application fades. Every capability of your personalcomputer is always available to you to apply to any in-formation you want. With minimal effort, you can moveamong such diverse activities as debugging programs,editing prose, drawing pictures, playing music, and run-ning simulations. Information generated by one activitycan be fed to other activities, either by direct user interac-tion or under program control.

When Kay invented the Smalltalk language in 1972, hedesigned 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 3WINNERS

$139.00

WINNER #1 ^

r

DOLPHIN

$179.00

WINNER #3^

$159.00

WINNER #2 »*

80 COLUMN

BLACK & WHITE

15 MHz

ENIOSPHOR15 MHz

• • *

_ -^*

mm

i•

^M

WATCHTHIS SPACEFORCOLORWINNER

ESOLUTIiON000+ LINES'

I

MMJD | 1HT*TC i 1

*•'«!

iS

By

A

DEMAND THESEUNITS FROM YOUR

DEALER!

Data-Ed

18 Bridge StreetSalem, NH 03079603-893-2047 (collect)

Name.

TM-12GX Monitors at S179.00 plus 2.75 shippingTM-12G Monitors at S159.00 plus 2.75 shippingTM-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. DateSignature

Bank No

SSSSSSSSSS5SSSSSSSSSTO5S^£S^^

Circle 101 on inquiry card.

BYTE August 1981

vironment. The implementations of Smalltalk producedby Dan Ingalls and the other members of the LearningResearch Group have achieved ever-increasing integra-tion. The file system, process-management system,graphics capability, and compiler are implementedalmost entirely in Smalltalk. They are accessible fromany program, as well as by direct user interaction.

In recent years, the idea of an integrated environmenthas spread outside the Learning Research Group and evento non-Smalltalk systems. The window-per-programparadigm is now commonplace, and many systemdesigners have adopted the overlapping-sheet model ofthe screen.

In summary, the term environment is used to refer toeverything in a computer that a person can directly accessand utilize in a unified and coordinated manner. In an in-tegrated environment, a person can interweave activitieswithout losing accumulated information and without giv-ing up capabilities.

Strengths of Smalltalk

Before delving further into the nature of the Smalltalkenvironment, we should first discuss its purpose.

Many general-purpose programming languages aremore suitable for certain jobs than others. BASIC is easyto 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 VOLTAGETRANSIENT CLIPPING

Features Parallel Operation

PROTECTS:

•Computers

• Micro-Computer Systems•Word Processors•Cash Registers

• Power Supplies

5000 Hits/Second

PROTECTS AGAINST:

• High Energy VoltageTransients

•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. 21207800 63&9098 ^

LISP is wonderful for processing symbolic information.APL excels at manipulating vectors and matrices. C isgreat for systems programming. SIMULA shines atdiscrete simulations. FORTH lets people quickly developefficient modular programs on very small computers.

All these languages have been used for numerous pur-poses in addition to those mentioned. You can writealmost any program better in a language you know wellthan in one you know poorly. But if languages are com-pared from a viewpoint broader than that of a narrowexpert, each language stands out above the others whenused for the purpose for which it was designed.

Although Smalltalk has been used for many differentapplications, it excels at a certain style of softwaredevelopment on a certain type of machine. The machinethat best matches Smalltalk's strengths is a personal com-puter with a high-resolution display, a keyboard, and apointing device such as a mouse or graphics tablet (photo3a). A cursor on the screen tracks mouse movements onthe table so you can point to objects on the screen. Themouse (reference 4) has one or more buttons on its topside (photo 3b). One button is used as a selection button.If there are more buttons, they are normally used asmenu buttons.

If the machine has a high-performance disk drive, youcan use a virtual-memory version of Smalltalk and haveas little as 80 K bytes of main memory, not countingdisplay-refresh memory. Otherwise, you should have atleast 256 K bytes of memory. This much memory is re-quired because the whole integrated environment lives inone address space. It includes not only the usual run-timelanguage 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. Insuranceforms, order Forms, inventoryforms—CRTFORM makes all typesof forms for all kinds of people.

CRTFORM is a programmerproductivity aid which makes iteasy to create, test, modify, anduse forms. The forms provide artinterface between programmersand end-users, such as secretaries,executives, and CPAs. CRTFormassures that the programmer willreceive correct information whileproviding end-users informationon how to enter data. If end-users'make a mistake, they receive amessage in plain English whichtells them what went wrong andhow to fix it.

The CRTFORM system consistsof 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 availableto interface the program to thePascal, FORTRAN, BASIC, andCOBOL languages. In addition,the system can be configuredwithout modification to run onover 95% of the terminals cur-rently on the market. CRTFoRMis currently available to run underthe CP/M*. UCSD*, and Apple*Pascal systems.

Statcom1" is a corporation spe-cializing in software developmenttools and techniques. In additionto CRTForm, Statcom will soon

be releasing a business reportgeneration, file management,and data entry system which elim-inate the need for a programmer.

For the name and address ofyour nearest CRTForm dealer,call (512) 451-0221, or write-toStatcom, 5766 Balcories, Suite202, 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 ofcontinuousbusiness forms forsmall computersystems

Send today for our NEW full color 32page catalog with programming guides,prices and order forms for continuouschecks, 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 FREE1 + 800-225-9550

Mass. residents 1+800-922-85608: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-developmentaids. The programs you write tend to be small becausethey can build on existing facilities; no system facilitiesare hidden from the user. Users of LISP and FORTH willbe 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, andnumeric information

These interactive facilities are utilized heavily by thebuilt-in programming aids and are available to all user-written applications.

The style of software development to which Smalltalkis oriented is exploratory. In exploratory development, itshould be fast to create and test prototypes, and it shouldbe easy to change them without costly repercussions.Smalltalk is helpful because:

• The language is more concise than most, so less time isspent at the keyboard.

Photo 3: A typical Smalltalk system (photo 3a) and a close-up ofthe "mouse" (photo 3b), a device that allows you to move anon-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

AddsViewpoint 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

CallCallCall

DISKETTES

Scotch

5'/4-0, 10. 16 Sector (Qty100)$2508"-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 85016UJfiREHOUSE (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 aminimum of keystrokes.

• The user can move among programming, compiling,testing, and debugging activities with the push of abutton.

• Any desired information about the program or itsexecution is accessible in seconds with minimal effort.

• The compiler can translate and relink a single changeinto 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 itgrows. If you add 2 megabytes of virtual memory to theSmalltalk environment, you can fill the second megabytewith useful capabilities as fast as you can fill the first.

• The class structure of the language prevents objectsfrom making too many assumptions about the internalbehavior of other objects (see David Robson's article,"Object-Oriented Software Systems," on page 74 of thisissue). The programmer can augment or change themethods used in one part of a program without having toreprogram other parts.

The Anatomy of a Window

Over the years, members of the Learning ResearchGroup have embellished Kay's original window concept.Let us look at a Smalltalk window in more detail (figure2).

The window is shown as a framed rectangular areawith a title tab attached to its top edge. The programassociated with the window must confine its output to theframed area.

Every window has a window menu (photo 4a). Thewindow menu includes commands to reframe the win-dow in a new size and location, to close the window, toprint 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 itsown pane menu (photo 4b). The pane menu includescommands appropriate to the contents of that pane. In

Title

ScrollBar

Scrol

Bar

1i

111

Pane

Pane

pop-up

menu

Pane

Pane

pop-upmenu

Windowpop-up

menu

Scroll

Bar

3ane

Pane

pop-up

menu

Figure 2: Anatomy of a window.

FULL COLORGRAPHICS

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. Storeup 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 Lsimultaneousmonitors.

%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, 128K, 192K and 256K-byte system capacity

• High resolution lightpen input

• Photographic trigger control input

• Software selectable system parameters

• Stand-alone intelligent graphics unit with universal interfaceAccessories:

• 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 AvenuePalo 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 sayabout 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 DBMSfound on much larger and more complex computer systems."

"MDBS has come to the rescue with.. .products whose ability to reduce development timeand implement processes not available elsewhere make them invaluable to integrators anddevelopers of /xc-based systems."

For the complete Weiss review, see "Downscaling DBMS to the Microworld," Mini-MicroSystems, April, 1981, pp. 187-195.

Check these Flexible, powerful data structuring capabilities: network and hierarchical data structures,

advanced featuresfor yourself:

Is MDBS rightfor your system?

To learn more

including many-to-many relationships (not available elsewhere).

Genuine data base management capabilities: far surpasses file management in dataindependence, automatic maintenance of relationships, and complete lack of dataredundancy.

English-like, nonprocedural query language interface: ad hoc queries result in the automaticgeneration 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 (andsimilar derivatives) with CBASIC2, PL/1, PASCAL Z, PASCAL M, PASCAL MT+, BDS C, CISCOBOL, and Microsoft COBOL, FORTRAN, or BASIC; under North Star DOS and North StarBASIC; under TRSDOS or NEWDOS with TRS DISK BASIC; with Apple DOS and ApplesoftBASIC; and with 86-DOS.

MDBS requires only 18K to 20K bytes for the Z-80 version, 22K for the 8080, and 30K for the6502.

MDBS is independent of the types and sizes of disk drives.

• For free literature about serious data base management on a microcomputer, please fill outand 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 usermanuals covering the MDBS, QRS, RTL, and DRS, please forward $60 (+ $2.40 Ind. tax).

Setting standards of excellence for data basesoftware.. .worldwide.

MicroData BaseSystems, inc.

Box 248

Lafayette, Indiana 47902

317-448-1616m/VX 810-342-1881

Dealer/distributor/OEM inquiries invited.

YES, please send me more information on theremarkably flexible MDBS Data Base System.

Name

(Please print)

Title

CompanyAddress _City

(State)

(Zip)

Phone

MAIL TO: Micro Data Base Systems, Inc.P.O. Box 248-YLafayette, IN 47902

Circle 225 on inquiry card.

BYTE August 1981

101

addition, a pane has a scroll bar on its left side used toscroll 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 atonce, you can interact with only one pane at a time. Thatpane and its window are said to be awake or active. Toawaken a different pane of the same window, move thecursor over the new pane (photo 4c). To awaken a dif-ferent window, move the cursor over the new windowand 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-handpane of a two-panM window,the window has a wiMaw

■■'■If

: 'frame'

1 collapsed1

mmu and each pane has a pwu

'rule para1

nMttM.

'growing'

'exuftaa1

Note that lines of text break ar

'panes'

u'ord spaces automancallu.

'templates'

'rauat'ki'

unlet

frameclose

print

\

prvrubits

(4b)

A two pamd

self

'frame'

'collapsed'

'rule para'

'growing'

'exitflag1

'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 windowThe window has a windowmmu and each pane has a pwtrw

Note that lines of text break ar

word spac

again

cbpu

cur

paste

doit

."ompileundo

cancel

aticaltu.

\

(4c)

TttS I

windcpane

Whenredisp

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 atword spaces automatically.

its panes are displayed, and it is no longer covered up byother windows.

The scroll bar of the active pane is called the actiuescroll bar. Its menu and the menu of its window are calledthe active menus. In order to reduce screen clutter andmaximize utilization of precious screen space, no inactivescroll bars or menus are displayed. On machines that usea pointing device with three buttons, some versions ofSmalltalk even hide the active menus until one of twomenu buttons is pressed, at which time the associatedmenu pops up and stays up until the button is released. Ifthe button is released when the cursor is over a commandin the menu, that command is executed (photo 4e).

Modeless Editing

The overlapping-window paradigm helps eliminatepreemption. It can also reduce the need for certainprompts and their associated modes. For example, younever have to type the name of a procedure you want toexamine. At worst, you point to its name in a list; at best,the desired procedure is already in a window on thescreen, and you activate that window.

Unfortunately, overlapping windows do not eliminatecommand modes like "insert" and "replace" bythemselves. Between 1973 and 1975, I worked at PARCwith various collaborators, including Dan Swinehart andTimothy Mott, to banish command modes from interac-

(4d)

A two parted

This text

pane of a two-paned window.

A.m.-|Wn-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 ofpanes, but between one and six arc typical.

a pane can contain both text and graphics.

When a window is uncovered, all us panesredisplay their contents.

a usei can arrange the desktop tui changing the'sizes and locations of windows.

Week atally.

<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-paned

uitndou1. 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 theINFOSCRIBE1000? Its sound level in normal, continuousoperation is only 54 dBA. By independent sound laboratorytest.*

That's right, 54 dBA. Like a group office where papershuffling and throat clearing are making most of the noise.

As far as we're concerned, INFOSCRIBE 1000 is thequietest serial matrix impact printer on the market.

Compare with the typical matrix printer that can soundlike a blender full of ball bearings, and you have the NumberOne reason why your next printer will be an INFOSCRIBE 1000

Even printers advertised at 56dB are a full 2 dB higherthan ours. (Remember, every 3 dB up doubles the noise.)

A New Generation Printer

If INFOSCRIBE 1000's purr were its only benefit, youshould still buy it for the sanity of your office staff. But ithappens that INFOSCRIBE 1000 is also the most feature-packed, the most beautiful, and the most economical printerin its class.

Graphics Galore

INFOSCRIBE 1000 doesn't print characters only. Undersoftware control it produces charts, diagrams, graphs, signs,anything within a vertical and horizontal resolution of 70 dotsper inch. Now we're talking about a capability that canenhance management presentations, sales reports, eventechnical documents.

Format Flexibility

INFOSCRIBE 1000 can produce data processingquality characters at 10,12, or 16.5 characters per inch, orcorrespondence quality characters at 10. You also getsubscripts and superscripts in any selected pitch, double-wide printing, true lower case descenders, and trueunderlining.

In addition to two different character sets stored in theprinter, a third character set can be downloaded from thehost computer. This offers a total of 288 different charactersthat can be selected on a character-by-character basis.

Gratifying Throughput

There's more to INFOSCRIBE 1000's speed than anominal 180 characters per second. High-speed papermovement with vertical and horizontal tabbing, plusbidirectional printing with logic seeking in both directionsgets a lot of work out of the machine. And that's equivalentto having a faster computer.

Unmatched Elegance

It's almost unfair that INFOSCRIBE 1000 is also theindustry's best looking matrix printer, Slim, sleek, graceful,it makes those machines with the visible viscera look likeremnants of early experimental days at Menlo Park.INFOSCRIBE 1000 is completely enclosed, sealing dirt outwhile 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 anyprinter but the INFOSCRIBE 1000? At $1,825 in singletons(substantially less in OEM quantities), INFOSCRIBE 1000becomes mandatory for your system.

Insist on it from your system specialists. And if you arebuying a first-time computer, no matter what make, ask forthe printer that is setting a new standard: INFOSCRIBE 1000.

Get full details from your nearest Infoscribedistributor/representative. Or talk to your computer dealer.If he doesn't handle Infoscribe yet, he will.

'Contact Infoscribe for an abstract of the independenttesting 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 ofour prototypes grew to appreciate the absence of modes.The following techniques were devised by us to eliminatemodes from text editing. They are analogous to thetechniques used to keep Polish-notation calculatorsrelatively mode-free. Similar techniques can be applied topage layout, graphics creation, and other interactivetasks.

Selection precedes command:

• Every command is executed immediately when youissue it. You are not asked to confirm it. You can issue anundo command to reverse the effects of the last issuedcommand. Although the main purpose of "undo" is tocompensate for the lack of command confirmation, it canalso 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 thecommand.

• For a command like "delete text" that requires oneparameter, you first select the parameter using the point-ing device and then issue the command. Until you issuethe 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 requiresseveral parameters (recipient, subject, content), you firstfill the parameters into a form using modeless text editing

and then issue the command. You are not in a mode whilefilling out the form. If you want to copy something intothe form from another place, you can. If you want to dosomething else instead, just do it; you may even return tothe 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 thetyped 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 deletesthe original text (photo 5b).

• To insert between characters, you first select the gapbetween those characters (photo 6a) and then type the in-sertion (photo 6b). Essentially, you are replacing nothingwith something.

• The destructive backspace function always deletes thecharacter preceding the selection, even if that characterwas there before the selection was made.

• The "undo" command (photos 6c and 6d) can be usedto reverse the effects of all your typing and backspacingsince you last made a selection with the pointing device.

Thus, the usual insert, append, and replace modes arefolded into one mode—replace mode—and one mode isno mode at all.

Building Blocks forMicrocomputer Systems,Dedicated Controllersand Test Equipment.

R2l/0

S-100 ROM,

RAM & I/O

BOARD

ECT's R2l/0 is an S-100 Bus I/O Board with 3 SerialI/O Ports (UART's), 1 Parallel I/O Port, 4 Status Ports,2K of ROM with the 8080 Apple Monitor Program and2K of Static RAM.

$295.00

RM-10S-100

RACK MOUNTCARD CAGE

ECT's RM-10 is a rack mount 10 slot Card Cage withPower Supply, consisting of an ECT-100 rack mountCard Cage (19"W x 12.25"H x 8"D), the MB-10 MotherBoard (with ground plane and termination) all 10connectors 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 RAMExt. Expandable To 9K

ART/RC Master, For SingleWire Data I/O Of 128 Slave Units

Real Time Clock

W/Exl. Battery Backup

Yr, Mo, Wk, Day, Hour, Sec

RS-232ForCRT110-4800 Baud

K-8073

SINGLE UNIT

THIS IS AN ENGINEER'S COMPUTER.

Simply attach a CRT, connect 5 volts, andyou 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 languageprogrammer, then you need the K-8073. Withan on-chip microinterpreter and the extracontrol devices we designed into the board,you can do your own programming in themost simple English-like language available-Tiny BASIC. Sophisticated application de-signs can be implemented in hours instead ofdays or weeks because you have eliminatedexpensive and time consuming hardware andsoftware costs.

IN ADDITION TO ALL THIS, the K-8073offers advantages unheard of in other boardlevel computers. Among these are an on-board EPROM Programmer, A Real TimeClock, Autostart, IK Byte local RAM forvariables, 8K Byte EPROM, ART/RC andPPI W/24 line I/O.

STD (MOD) BUS 4.5 x 6.5 in.5 Volt Only —CassetteTape In/Out—2 Sense—

3 Flags

INS8073 MicrointerpreterTiny BASIC Processor

Autostart EPROM 2K Byte

Utilities Firm ware. ForSoftware Dev., EPROM 2K

EPROM-2K Byte

EPROM Programmer, 2KByte Prm. Decoded—Req.Ext. 25V Only

PPI. Programmable 1/0,24 Lines

PPI Interface RibbonConnector

THE K-8073 IS FOR OEM'S AS WELL ASEND USERS.

Whether you manufacture Industrial ProcessControl, Environmental or Test/Measurementsystems, or simply for your own use, you cancount on top quality performance. The K-8073comes complete with all socketed devicesincluding the powerful F-2 Utilities Firmwareand a Hardware/Software manual.

In Industry, Education, or New ProductDevelopment, the K-8073 provides you withState-of-the-Art technology for micropro-cessor efficiency and ease. With a full line ofsupport products, the TransWave line takescare 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

jmam nam text aria gmjow 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

nf u iir.,1Q] j to

k

trange the desktop by ch

: Of uiindnujc

(6c)

(6d)

j pastetain both text doit

com> is eperjexpoontents. car

alignnae 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 10TimesRoman 12 FixedP1tchl9

Helvetica 18

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, aswell as italics, underlining, and a variety of styles andsizes of printer's type (photo 7). Thus, as you enter text inbold shift, the screen shows what the text will look likewhen it is printed. A command like bold shift can also beapplied to existing text to change it to boldface.

In 1976, Dan Ingalls devised a user interface forSmalltalk that incorporated most of the mode-avoidancetechniques discussed earlier. Consequently, it is rare in

Westico Software...

What good hardware deserves.

The professional wants good soft-ware, wants it fast and backed byexpert service — There's one answer— Westico, the Software ExpressService that really delivers...

Call (203) 853-6880 tor overnight delivery or.when you need expert service.

Westico constantly improves itsquality software in a wide range ofcategories including: Accounting,Professional Time Accounting, TextProcessing, Planning and Analysis,Telecommunications, Data Man-agement, Development Tools, Lan-guage Processors.

Westico knows that the speed inwhich you receive a program isoften a key consideration in yourselection. That's why Westico is theonly software company to offerovernight delivery.

For detailed program informationor for quick access ordering, justdial-up the Westico computer (300baud) (203) 853-0816.

for a wide1 and otheriputer systems:

TRS-80 Model II, Apple, VectorGraphic, iCom, Cromemco, NorthStar, Micropolis, Ohio Scientific,Altos, Dynabyte, SuperBrain andmore.

Westico is staffed by experts whounderstand your software and theequipment on which it runs. It'snice to know when you need serv-ice or advice, a Westico expert isstanding by.

Send for our NEW FREE Catalog.

Current Westico products with newprices for complete systems anddocumentation alone:

ACCOUNTS PAYABLE495/60 • ACCOUNTS RECEIVABLE495/60 • CLIENT WRITE-UP 895/60

• GENERAL LEDGER 495/60 • INVEN-TORY CONTROL 595/60 • PAS-3DENTAL 990/40 • PAS-3 MEDICAL990/40 • PAYROLL 495/60 • PROP-ERTY MANAGEMENT 895/60.

DATEBOOK™ II295/25* ESQ-1 Legal1495/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 • TEXTWRITER125/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 (300baud) (203) 853-0816 tor program information ororders.

CBS 395/50•CBS Demo 75/50 • CBS LABELOPTION 80/10 • HDBS 300/35 •MAILING ADDRESS 395/60 • MAG-SAM III 145/25 • MAGSAMIV 295/25

• MDBS 900/35 • MDBS DRS 300/5.*MDBS RTL 300/5 • MDBS QRS 300/5

• PRISM/ADS 795/55 • PRISM/IMS495/55 • SELECTOR IV 550/35 •DATA STAR™ 350/60.

GENERAL SUB-ROUTINE PAK 295/30 • APPLICATIONUTILITIES 495/30 • STRING BIT™ 65/15

• STRING/80™ 95/15 • STRING/80SOURCE 295/-.

LYNX Over-lay loader 250/25 • BASIC COM-PILER 395/25 • BASIC-80 350/25 •CBASIC-2 120/15 • NEVADA COBOL150/25 • PASCAL/M 225/25 • PAS-CAL/MT • 425/30 • PL/l-80™ 475/35

• S-BASIC™ 295/35.

SUPERSORT1225/40

• SURVEYOR 550/60 • ULTRA-SORT II™ 165/15.

from Westico

MILESTONE: Tough Planning JobsMade Easy

MILESTONE is a powerful new tool formanagers and planners, which orga-nizes complex projects and identifiesjob schedules essential to on-timecompletion.

MILESTONEflndsthecritical path throughhundreds of interrelated tasks anddetermines where slack time can beeliminated.

Equally significant. MILESTONE computesmanpower requirements and costs, allo-cating them to proper schedule periodsand up to nine manpower skill/costlevels can be allocated to each task.With MILESTONE, projects can be meas-ured in hours, days, weeks, months,quarters or fiscal quarters; with provisionto specify working hours, holidays, vaca-tions and other non-productive timeperiods for up to 8,196 years.Reschedule or complete tasks, reviseprerequisites, play "What If" games.MILESTONE immediately displays theresults on your screen or printer — eitheras a table or graphlMILESTONE is easy to use and requiresno 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 subjectto 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 usingthe pointing device and a single button. First, the cursoris moved to one end of the passage to be selected (photo8a). The selection button is pressed and held down whilethe cursor is moved to the other end of the passage. Thisoperation is called "draw-through," though it is notnecessary to traverse intermediate characters en route tothe destination. When the cursor reaches the other end ofthe passage, the button is released. The selected passage isthen shown in inverse video (photo 8d).

The feedback given to the user during selection is asfollows. 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^eone-paned, window. A windowmay hape.ani) number of panes,but between one and six aretypical.

A pan* can contain both, text andgraphics.

(8b)

| A one-paned window

This text is in the only pane of aone-paned window. A windowmay hapel^raj number of panes,but betwe^L one and six aretypical..

A yam can contain both text andgraphics.

(8c)

a

A one -paned window I

This text is m the only paneone-paned window. A window

may haw-HJBHBHB!er °f panes,but between one ani( six aretypical.

A pane can contain both text andgraphics.

left end of a line of text, the bar appears to the left of thefirst character. At the right end of a line, the bar appearsto the left of the final space character.)

If the button is released without moving the cursor, thebar remains, indicating that a zero-width selection hasbeen made. This method—clicking once betweencharacters—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 highlightingin inverse video all characters between the initial bar andthe gap nearest to the cursor (photo 8c). When the buttonis released, the selected characters remain highlighted(photo 8d). This method—drawing through a passage—isthe one to use before you copy, move, delete, or replacetext, or before you change it to boldface or otherwisealter its appearance.

Clicking the button twice with the cursor in the samespot within a word selects that whole word and highlightsit (photo 8e). This special mechanism is provided becauseit is very common to select a word. Informal experimentslead us to believe that double clicking is much easier thandrawing through a word for beginners and experts alike.It is also faster. It takes the average user about 2.6seconds to select a word anywhere on the screen usingdraw-through, but it takes only 1.5 seconds using thedouble click (reference 5).

There is only one selection in the active pane. It iscalled the active selection.

(8d)

| A one-paned window |

This text is m the" onlu pane of aone-paned window. A windowmay ]vwel tv.wtw jffiSi

f±\\4c*wi£i E2 Li! Ax arctypical. ^

A pan/ can contain both textgraphics.

and

(8e)

n

A one paned wu\daw\

■m ■ i ■ ' t * r ' ■■—■■■■■»■■*

This text is iti rru: only pane"of aone-paned u'm4ijM\ A windowmay hai>K any number of panes,but be ween one and six arctypical.

m wmo.iW. borh r« <rgraphics. t

\Vhen a wvtvtow is exposed, all ttsI 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 reversible5V4" mini diskette...the FLIP/FLOPPY DISK.Now you can record on both sides for twicethe storage capacity of a single sideddisk. And you'll be able to do it farmore economically, too!Each OMNI FLIP/FLOPPY DISK incorporatesall of the quality features you'd expectfrom 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 atmore than twice the error thresholdof disk dFives

• Over 12 million rated passes withoutdisk related errors or significant wear,for extra long life operationCompatible with most 5V4" disk drivesincluding APPLE, TRS-80, PET, OHIOSCIENTIFIC, 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 thisspecial 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 RESOURCESD Mastercard

Account Number

□ VISA/BankAmericardAccount Number _-_

Credit Card Expiration Date /

Copyrights 1981 by OMNI ResourcesCircle 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

STARBASEHYPERION"

By Don Ursem

Become absorbed in this intri-guing, original space simulationof war in the tar future. Usestrategy to defend a front lineStar Fortress against invasionforces of an alien empire. Youcreate, deploy, and command afleet of various classes of spaceships, while managing limitedresources including powergenerators, shields and probesr-m-j * 1 yj ■« v "^v\ Real ,ime responses are

M /M I I J 11A \VY^\ sometimes required to take

f L J J ■ ■ \ \ %\v\ advantage of special tacticalJ £ JB | 1 \ ^^ i\\ opportunities. Use of color.

sound, and special graphicsadd 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 maybe |ust lor you. We have taken the popular fig-FORTH model Irom the FORTH InterestGroup and expanded it lor use with the Alan Personal Computer. Best of all we havewritten substantial documentation, packaged in a three ring binder, that includes atutorial introduction to FORTH and numerous examples. QS FORTH is a disk basedsystem that requires at least 24K of RAM and at least one disk drive. Five modules thatmay be loaded separately from disk are the fig-FORTH kernel, extensions to standardfig-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 SOFTWAREPLEASE 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 necessaryyou may order directly from us. MasterCard and Visa cardholders may place orders bycalling us at (213) 344-6599. Or mail your check or bankcard number to the addressabove. California residents add 6% sales tax. Shipping Charges: Within North Americaorders must include $1.50 for shipping and handling. Outside North America thecharge 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 aresending a message to an object. There are two ways tosend a message from Ingalls's user interface. You can sendcertain commonly sent messages to the active pane orwindow by choosing them from menus; you can send anymessage 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 numlvr of parasfl

ut oetween one ana six are

a pane can agraphics.

■'■■.- n a windpanes redisptc

ch text and

\

•osed, au itsontents.

A on* paned window

flu, i. xt i . m rh<" onln pan* of a)m pan. i! window. A windowiuiq nai>i any number of pan. sB

>ut Detween one ana six are

wjaw

A pan." can < \ ,;-,: h |th u. «.t and

""pastelWw n a wind ctoitpanes r* dispUicompil!undoincel

rased, aU uontents.

a

A on* paned window [

Hus t» xr i■-, m th» onhi pan*, of aone-paned window. A windowman have arm number of partes,

A pan. can contain both text andgraphics.

v'/fun a window is exposed, all itspan.:-: 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'smost versatile personal computer.

The SoftCard™Solution. SoftCardturns your Apple into two computers.A Z-80 and a 6502. By adding a Z-80microprocessor and CP/M to yourApple, SoftCard turns your Apple intoa CP/M based machine. That meansyou can access the single largest bodyof microcomputer software in exist-ence. Two computers in one. And, theadvantages of both.

Plug and go. The SoftCard systemstarts with a Z-80 based circuit card.Just plug it into any slot (except 0) ofyour Apple. No modifications required.SoftCard supports most of your Appleperipherals, and, in 6502-mode, yourApple is still your Apple.

CP/M for your Apple. You get CP/Mon disk with the SoftCard package. It'sa powerful and simple-to-use operatingsystem. It supports more softwarethan any other microcomputer operat-ing system. And that's the key to theversatility of the SoftCard/Apple.

Circle 240 on inquiry card.

BASIC included. A powerful tool,BASIC-80 is included in the SoftCardpackage. Running under CP/M, ANSIStandard BASIC-80 is the mostpowerful microcomputer BASICavailable. It includes extensive disk I/Ostatements, error trapping, integervariables, 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 cancompile with Microsoft's BASICCompiler.

More languages. With SoftCard andCP/M, you can add Microsoft's ANSIStandard COBOL, and FORTRAN, or

Basic Compiler and Assembly Lan-guage Development System. All, morepowerful tools for your Apple.Seeing is believing. See the SoftCardin operation at your Microsoft or Appledealer. We think you'll agree that theSoftCard turns your Apple into theworld's most versatile personalcomputer.

Complete information? It's at yourdealer's now. Or, we'll send it to youand include a dealer list. Write us. Callus. Or, circle the reader service cardnumber below.

SoftCard is a trademark of Microsoft. Apple II andApple II Plus are registered trademarks of AppleComputer. Z-80 is a registered trademark of Zilog,Inc. CP/M is a registered trademark of DigitalResearch, Inc.

CONSUMER^ PRODUCTS

Microsoft Consumer Products, 400 108th Ave. N.E.,Bellevue, WA 98004. (206) 454-1315

6809SOFTWARE

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/Oredirection, multiple job stream processing, and more. In-cludes a complete set of utility commands.

■ OS-9 Level Two uses hardware memory managementand can address over one megabyte of memory. Alsoincludes pipes and filters for inter-process data transfers.

■ OS-9 Level One runs on systems without memorymanagement hardware having up to 56K memory.

□ OS-9 Level Two $495* □ Level One $195

BASIC09" PROGRAMMING LANGUAGE SYSTEM

Extended BASIC language compiler/interpreter withintegrated text editor and debug package. Runsstandard BASIC programs or minimally-modifiedPASCAL programs.

■ Permits multiple named program modules having localvariables and identifiers. Modules are reentrant, positionindependent and ROMable.

■ Additional control statements for structuredprogramming: IF ... THEN ... ELSE, FOR ... NEXT,REPEAT ... UNTIL, WHILE ... DO, LOOP ... ENDLOOP,EX1TIP ... ENDEX1T.

■ Allows user-defined data types and complex datastructures. 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 isa trademark of Bell Laboratories." Most software is available on ROM ordiskette in versions for many popular 6809 computers. ContactMicroware® for specific availability.

For compatible hardware see GIMIX ad page 128.

MICROWARE,,,

Microware Systems Corp., Dept. B2pi 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 theselected text. To issue the "cut" command, you pop upthe active-pane menu with one of the menu buttons onthe mouse (photo 9a), keep that button down while mov-ing the cursor to the command name (photo 9b), and thenrelease the button (photo 9c). A command in the panemenu can have only one parameter, the active selection.A command in the window menu can have noparameters.

To issue a command that is not available in a menu,you select any place you can insert text, and type thewhole 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 tnjchanging fhe sizes anA locations ofwindows.

4 max: 5

(10b)

W

"f^yiid window

againcopy

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 ofwindows.

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 lessthan any other 1802 microprocessordevelopment system on the market.And the development system can evenbecome your final target system.

The incredibly low $499*price includes:

• CDP18S601 computer Microboard.

• ROM/audio cassette controllerMicroboard.

• Five-card chassis and case.

• Detachable 5-volt power supply.

• Audio cassette tape I /O drive formass storage.

You get these capabilities:

• Extended BASIC resident in ROMwith 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 theCDP18S694. 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 systemcapability, choosing from over 40expansion boards and hardwareaccessories.

• Memory expandable to full 65K bytes.

• Virtually unlimited I/O expansioncapability using any combination ofanalog and digital I/O boards.

• Run-time BASIC 3 firmware for finalsystem configuration.Develop software for any1802-based component design,

or for any Microboard system in BASICor assembly language.

At these prices you can't afford notto get into CMOS.

For more information, contact anyRCA Solid State sales office, salesrepresentative or distributor.

Or contact RCA Solid Stateheadquarters in Somerville, N.J.Brussels, Belgium. Sao Paulo, Brazil.Hong Kong.

Or call MicrosystemsMarketing toll-free (800) 526-3862.

single-parameter command "do it" (photo 10b) to obtainthe result (photo 10c). The "do it" command provides im-mediate execution of any Smalltalk statement or group ofstatements. This method of command issuance uses theprevious method: you are sending the message doit to thepane, with the Smalltalk statement as its parameter.

It is standard practice to keep a "work-space" windowaround the screen in which to type your nonmenu com-mands. When you want to reissue a nonmenu commandissued earlier, simply select the command in the work-space window and "do it." You may, of course, edit someof the parameters of the old command before you select itand "do it." In a sense, you are filling out a form whenyou edit parameters of an immediate statement.

Unfortunately, the common commands "move textfrom here to there" and "copy text from here to there"cannot be issued by a single menu command because theyrequire two parameters, the source selection and thedestination selection. Sometimes, they even involvemessages to more than one pane, the source pane and thedestination pane. In a modeless system, a move or copycommand 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 thesource 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 completelyanalogous to cut and paste, but does not delete theoriginal text.

Remember the "copy-from-file" example (the onewhere you had to go in and out of many layers ofmodes)? 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 thatdisplays the file you are copying from; (2) select thedesired 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 themenu. The job requires little more effort than copyingwithin the same document. If the window is not already(lib)

text is m me rhju-mndof a nm-pama window,vindow has a wmdow m$m>,ach pane has a pan$ m$nu,

that lints of c^xt break atspaces^

■

mmmmmmmmnm

(lid)

fus"i

~>ane of a tu£[he window\nd each pa

Jote that Liiwd spaces;

dOttfc

compil^unao

'nrir

window.indow me

pane men

break| at

pane of a two-parted, window.The widow has a window menuarid 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 ofSuperbrain™ and Winchester?

00 K or 350 Kfloppy storage

5 Megabyteshard 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

5IV Micro-Winchester 5 Mbyte (formatted) hard disk700K or 350K floppy disk back upDual Z-80 processors with 64K RAMDual 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 INVITEDTelephone (206) 453-9777

CMC

bfiNA

Circle 56 on inquiry card.

A Division of Computer Marketing Corporation11058 Main. Suite 125, Bellevue. WA 98004

on the screen and you can't remember the file name, youcan go to another window and scroll through a list of fileswithout having to exit any modes, invoke any programs,save any edits, lose sight of the destination file, or loseany time.

The Smalltalk-76 text-editing facilities not only relieveyou of the burden of modes, they also require very fewkeystrokes and are easy to learn.

Software-Development Aids

One of my summer projects in 1977 was to increase thespeed 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 recentmonths, the team has further enhanced the Smalltalk-80environment. Although it conforms to the same prin-ciples as before, its details are different from what isdescribed in this article.

Inspecting Data Structures

Suppose someone has given you a Smalltalk programto implement a "regular polygon" class (table 1) and youwant to learn more about it. It would be helpful to see anactual instance of a regular polygon.

If the variable triangle refers to a regular polygon, youtype the following statement into your work-spacewindow:

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 classof the inspected object, in this case, RegularPolygon. Thewindow is divided into two panes. The left or variablepane 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 andclick the selection button on the mouse. The word sides ishighlighted, and in the value pane, the value of thevariable sides appears (photo 12b), in this case, 3. Youpoint to the word center and click. In the value paneappears the value of center (photo 12c), in this case, thepoint 526@302. The value pane is dependent on thevariable pane because its contents are determined bywhat you select in the variable pane. The arrow in figure3 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 inspectwindow.

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 kitfor your EPSON MX80/70. The kitallows the user to convert hisEpson printer to a friction feed andpin feed mechanism.

The friction feed will accept singlesheets of your letterhead, or mul-tiple copy forms such as invoiceswith up to 4 part carbon copies.

The pin feed replaces the adjust-able sprocket mechanism. It allowsuse of 91/2" wide continuous fan-fold paper which is an industrystandard size.

No drilling required. Installationtakes about 15 minutes. All partsare included with easy to followinstructions.

75.

00

DEALER INQUIRIESINVITED

EPSONMX80

• 9 x 9 dot matrix • Lower casedescenders • 80 CPS • Bidirec-tional, Logic seeking • 40, 66, 80,132 columns per line • 64 specialgraphic characters: TRS-80 Com-patible • Forms handling • Multi-pass printing • Adjustable tractors.

MX80 (List $645) $ CALL

MX80 Dot Graphics Upgrade (List $100) $ CALL

EPSONMX70

• Super low-priced dot resolution

graphics • 5 x 7 dot matrix • User

replaceable printhead • Top of

Form.

MX70

.(List $495) SCALL

EPSONMX80 FT

• Same basic features as the MX80

• PLUS friction feed for singlesheets • and adjustable tractors.

MX80 F/T (List $745) $ CALL

^

APPLE INTERFACE

For Epson

The Grappler interface card isthe first to provide on-board firm-ware for Apple high resolution dotgraphics. No longer does the userneed to load clumsy softwareroutines to dump screen graphics— it's all in a chip. Actually, it's ourE-PROM, and it is replaceable toaccommodate the Anadex, EpsonMX80 & MX70, IDS Paper Tigers,Contronics 739, and future graphicsprinters. The Grappler™ accepts17 software commands includingHi-Res inverse, 90° rotation, doublesize, and much more.

165

00

Includes Cable

DEALER INQUIRIES

INVITED

Orange micro

UP TO 25% DISCOUNTS!

"THE COMPUTER PRINTERSPECIALISTS"

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 wordprocessing • Underlining • proportionalspacing • right margin justification • seriftypeface • 80/100 CPS • 9V2" PinFeed/Friction feed • Reverse Platen •80/132 columns • Top of form

CENTRONICS 739-1 (Parallel) (List $995)

CENTRONICS 739-3 (Serial) (List $1045)

{CallSCall

ANADEX

Dot Graphics, Wide Carriage

ft • 11 x 9 dot matrix; lower case descen-/ ders • Dot resolution graphics • Bi-directional, logic seeking • Up to 200CPS • RS 232 Serial & Parallel • Formscontrol • X-ON/X-OFF • Up to 6 partcopy.

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 interfacesavailable.

.(List $399) $349

IDS PAPER TIGERS

Dot Resolution Graphics, quality print, speed

• 7 wire printhead (445); 9 wire printhead(460) with lower case descenders • Over150 CPS • bl-dlrectlonal, logic seeking(460) • 8 character sizes; 80-132 columns

• Adjustable tractors • High-resolution dotgraphics • Proportional spacing & textjustification (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) • Typewriterquality • Centronics parallel • RS 232Serial (Optional) • Proportional spacing •Bidirectional • Programmable VFU • Selftest • Diablo compatible • Friction feed(Optional tractors) • 136 printablecolumns. • 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 descendersHigh 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

TVI912CTVI 920CTVI 950

}

Please Call Toll FreePrices are too low toadvertise

PRINTERS

MALIBU 165 wide carriage, graphics, letter quality .. (List $2495) $1975QUME 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; sameday shipment. Free use of VISA &MASTERCARD. Personal checksrequire 2 weeks to clear. Manu-facturer's warranty included on allequipment. Prices subject torevision.

Oronge

fTlfCrO, Inc.'

3150 E. La Pal ma, Suite IAnaheim, 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 figrn.lti.TU itot: Uiu'fc;

m.:n.il.- tr.vmtat.f.rrto»0s scot*; 0.6.mongJ v-tor: gray.

initializationsides: 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 aglobal variable that refers to the hardware display screen."

I self new sides: s radius: r center: (Screen activeWindow frame center)

instance messages and methods

initializationsides: 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: 2analysis

center | | "Answer the center coordinate of the polygon.'

(center

Sides | ; "Answer the polygon's number of sides."

t sidesdisplay

'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]transformationscale: factor | |

"Scale the polygon radius by the specified factor."

radius — radius * factortranslateBy: deltaXY | |

"Change the polygon's location by the specified amount (a Point) "'

center — center + deltaXYprivate instance methods

cornerAngle1 | | "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 cuefrom Vista's A800 Eight-Inch Floppy DiskController. The A800 offers a cost-efficientapproach to software compatible diskmemory expansion for your Apple 11^ computer.The A800 Controller enables Apple II users toaccess up to five megabytes of online storagethrough conventional disk operating (DOS)commands.

The Control and DMA Logic provides high speed(1 microsecond per byte) transfer of data fromthe disk drive directly to the Apple II memorywithout processor intervention. Plus, the Phase-Locked Loop Data Separator provides theultimate in data reliability.

AND THERE'S MORE.

The controller is compatible with the mostpopular disk operatingsystems for the

. ' * ■ *IA«

Apple II computer. It also interfaces to allShugart/ANSI Standard Eight-Inch Floppy DiskDrives. 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. Aprice you can't beat when you compare itsquality and performance.

Cfcl«4%f' quality and performance.

CALL YOUR SHOTS.

Vista offers you a complete line of peripheralequipment to maximize the capabilities ofyour Apple system including: High capacity Mini-floppy Disk Drives, the Vista Music Machine 9and the Vista Model 150 Type Ahead Buffer. Inaddition, Vista offers a line of advancedcomponents fully compatible with the—- TRS-80" and S-l OO based

computers.

„n\Jli

%#icf--k Computerllslll Company1317 E. Edinger AvenueSanta Ana, CA92705(714)953-0523

Call Toll Free 800-854-8017

© 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 screenappears another inspect window showing that center is

an instance of class Point (photo 12e). You can now ex-

(12a)

irvcmqie translate By: t65tnan$e scoUTtriangle plot:

natvU inspect

copycut

>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''plotter1

■,.,■,■ mmmmi

amine that point's variables, x and y, reactivate theoriginal 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 regularpolygon, you might want to find out what methods havebeen defined in its class. One way to do this is to activatea window called a "browse window" or "browser." MostSmalltalk programmers leave a browser or two on thescreen 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 andchange the definitions of all Smalltalk classes—classessupplied by the system, as well as classes supplied byyourself. It is easy to create a more restricted browserthat protects the system from ill-conceived modification.But on a personal computer, you are just going to hurtyourself.

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'

'radius1'plotter1

>Zb!a«oU2

Point

#11

u

Jfc

Photo 12: Inspecting data structures in Smalltalk.

120 August 1981 © BYTE Publications Inc

"Together we're workingto better serve mankind?

"Speaking on behalf of Vector computers, I'm pleasedto announce that TRW Customer Service Division willprovide a nationwide, nine-month on-site service warrantythat you, the end-user, will receive absolutely free*

"I'd also like to add that this is a unique program. It'sactually the first time a microcomputer has had this kindof comprehensive nationwide on-site service —especiallyfrom a company of experts like TRW.

"Now you have even more security when you buy aVector. In addition to increasing your personal productivity,helping you make faster decisions, and improving yourbusiness, we offer a network that will service us right inyour office if we ever need it. At no expense to you.

"Right now, you can get quick, dependable service inLos Angeles, New York City, Denver, Dallas, Chicago, SanFrancisco, Northern New Jersey, Philadelphia, Atlanta,and Boston. With more cities on the way.

For more information and your nearest Dealer, call usat 800-423-5857. In California, call 800-382-3367. Or writeto 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 MUSICTO YOUR APPLE8!

j i rf JiJ i g

E£

a

^i^ff

j*

¥

P^

J J J1 ANA , tt b i

SUB 0

<" INS DEL TIE -*

■

9474 FREE

MEASURE 3

END

SAUE«

A L F's 9-voice Music Card MCIis 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'sexpectations. For something to exceed one's wildest hopes — as the ALFsynthesizer certainly does — is a real treat. My congratulations to allconcerned.

—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 theirsystem. Very excellent job! Keep up the good work.—Oak Ridge, Tennessee

I recently purchased 2 of your Apple music boards. Out of the peripherals Ihave for my Apple, I enjoy them the most. It has to be the most enjoyablething that has ever been invented. I hope you continue to develop products asclever and enjoyable as this one. The Entry program has to be one of the mostsophisticated programs I have ever seen. It proves that a hardware manufac-turer DOES have the ability to also produce quality software. It is almostworth 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 havealmost completed entering "The Maple Leaf Rag". I found it to be a lotsimpler than I thought and so I am very, very pleased. My family isn't becauseI sit up to all ends of the night playing with the blasted thing!

—Cypress, TexasALF has opened up my head and ears and enabled me to do things musicallywhich I would like to be able to do on [conventional] instruments. As much asI love the instruments I try to play, I just don't have the talent and technique toplay what is in my head. By golly, the ALF board doesn't know about mylimitations, though. I can play hell out of that thing, playing notes and temposwhich previously have existed only in my head. Many thanks from a frustratedmusician and satisfied ALF "player".

—Demopolis, Alabama

About documentation:

I don't know much about hardware, but I have been a programmer for 15years and I have never seen a better piece of software documentation thanyour 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 Ipurchased the Mtn. Hardware board. It sounds about the same and is vastlysuperior in software, ease of use, and price. The Entry program is a joy to useand it's easier than Mtn. Hardware's, but then, I guess you guys know thatalready. (Oh yes. you wouldn't happen to know of anyone that wants to buy aMtn. Hardware system? $450 or best offer?)—Kirkland, Washington

I would like to tell you that after having used the system ONLY ONE DAY, thatI am absolutely delighted with it. In addition, I purchased the three boardsalthough I ALREADY own Mountain Hardware's music system. Now that Ihave seen and own your system, I am putting my "old" one up for sale. I thinkthat your software makes it far easier to enter music, and that the softwareroutines allow for far greater flexibility. Again, I extend my compliments loyou. As I said. I have owned another music system, and consider myselftherefore, qualified to make a judgement between the use ot the two. Yours isthe 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-categorypane, class pane, method-category pane, and methodpane. The large lower pane is called the editing pane.(After you have used the system for a few minutes, thesignificance of each pane becomes apparent, and it is notnecessary to memorize their technical names.)

In photo 13a, the browser shows a method definition inthe editing pane. You can tell that the method is classRegularPolygon's version of scale: because Regular-Polygon is highlighted in the class pane and scale: ishighlighted in the method pane.

The method-category pane lists several groups ofmethods within class RegularPolygon: initialization,analysis, display, transformation, testing, and privatemethods. You can tell that scale: is a transformationmessage in class RegularPolygon because that category ishighlighted.

The class-category pane lists several groups of classes,including numbers, files, and graphical objects. You cantell that class RegularPolygon is in the graphical objectsgroup because that category is highlighted.

Suppose you want to look at a different method,translateBy:. Click its name in the method pane and itsdefinition is immediately displayed in that pane's depen-dent, the editing pane (photo 13b). If the method youwant to see is in the method category analysis, first clickthat category name. Immediately after you do that, itsdependent, the method pane, lists the methods in thatcategory. Now you can click the name of the desiredmethod (photo 13c).

If you want to know things about the class as a whole,like its superclass and field names, click "ClassDefinition" 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, sayIrregularPolygon. Click its name in the class pane and itsmethod categories are immediately displayed in the nextpane (photo 13e). If the class you want to see is in theclass category windows, first click that category name.Immediately after you do that, the class pane lists theclasses in that category. Now you can click the name of

Class CategoryPane

ClassPane

Method CategoryPane

MethodPane

*

EditingPane

Figure 4: Principal dependencies among panes of a browsewindow.

IF YOU CAN RECOGNIZE VALUEYOU CAN SAVE

*500

TRS-80®MOD "'*

FIRST...

We lowered the prices of

the Model III from $2499* to

*1998

*We have taken rhe basic 16K Model III expandedrhe memory ro 48K and added our MTI DoubleDensity, Dual Disk Drive system. System is fullycompatible 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 40track 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 bytesof sfotage, utilizes 2 dual headed 80 track, doubledensity disk drives. Complete with manuals andprofessional operating system, Microsystems DOSplus 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 $699Drive Kir #2 from J279

Drive Kir #3 from s379Drive 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

PRICESF.O.D. SANTA ANA

Circle 234 on Inquiry card.

the desired class (photo 13f).

Categorization is used at both the class and methodlevel to help the programmer organize his or her programand to provide fewer choices in each pane. If a list islonger than what can fit in a pane, it can be scrolled bypressing a mouse button with the cursor in the scroll bar.

If you just want to browse around reading class andmethod definitions, you can do so by lazily clicking theselection button with the cursor over each name, nevertouching the keyboard. That is why the window is calleda browser. Browsers are further discussed in references 6and 7.

Astute readers may have noticed that the classtemplate (see "The Smalltalk-80 System" by the LearningResearch Group on page 36 of this issue) presents themethods of a class apart from the methods of its in-

stances, while the browser does not. This discrepancystems from differences between the Smalltalk-80 andSmalltalk-76 languages.

Revising Definitions

If you are looking at a method definition or classdefinition in the editing pane, you can revise it using thestandard 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 whateveryou like. You can later reactivate the browser and con-tinue editing.

(13a)

(13b)

fttUS

DtsptcuiForrri

Form

HoUTOTW

Half Toty r

IrteaularPuhMon

Point

Rectatial.

Oass DefinitionClass Graardzatis

'initialization''analysis'' UstJtou'

restingpm-ate ins

Seal.- the pohiacm radius by the specified factor"radius * factor

(13c

i» "■'■'.'■>

Rma classesnumbers'

collections'text'

reenter

text displaywindows'

vanes and menus'files'

OisplfliiForm

Form

Halftone

Half toner

IrreaularPolif.

Point

ftectanqie

CtassDcfimtionClass Oraamsation'tnuiaUzatum'

display

'transformatwn

'testing'

'private- instance met

Ansiivr the center coordinate of me polygon.

(13e)

[lasses |1

rTie'i etasnumbers'

ollecnons'

f.'xf'

re iff displaywindows'panes and men

□

uspTatfFonriForm

Half Tone

Half Toner

<Esm

•-cum k

Rectangle '

RvgularPoluaon

OossDefiOassOras

'initial i3i

'analysis'

'display'

'resting'

'fransforr

IS'

isplayFormForm

Half Ton*

HalfToner

IrreyularPolyijon

PointRectanalc

Class DefinitionClass Orcjanizatu'initialization''analysts*Mtsplai

testingpupate wstancj

"*"

»XY f "Change the location by the< specified amount

ter + delta XY

(13d)

en us'

Form

Half Ton*?Half tonerIrreauiarPGlMgonPotrirRectangle

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 WindowCode Window .Font Window

OossDefi

Class Orac'Initialled'Private'

essageserwirNottfnWindou'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 thevalue of careful planning. Oversightsand miscalculations can cost youcrucial time and money.

MILESTONE is a powerful "Critical Path"Program that can be used for planningand analyzing virtually any project, fromthe opening of a retail store, to chartingthe progress of a police investigation;from drawing up a cost estimate for aconstruction project to scheduling thedevelopment (and involved expenses) ofa new computer; from keeping track ofrental equipment to allowing a wineryto chart the evolution of a vintageChardonnay from harvest to bottling.The applications are endless.

What's more, MILESTONE is one of theeasiest software packages to use. Once

MILESTONE.

WHENTIME

ISMONEY.

the working days, skill categories,wages or salaries and time incrementsare defined, then MILESTONE is readyto do the work for you. Change, forinstance, the estimated completiondate of a particular time-critical task,and you'll instantly see it's effect onthe entire project. All scheduling, man-power costs, associated reports, etc.are immediately re-tabulated. A calendardisplay allows you to visually followthe activities (200 per project with 64KRAM, 100 with 56K RAM). Examplesare included on the disk.

TIME IS MONEY. SAVE BOTH WITHMILESTONE.

Price is $295. Manual alone—$30.

SOFTWARESOFTWAREDIGITAL /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 andCP/M. Also available for CP/M-86, ApplePascal and UCSD Pascal. Specify 8080,Z80, CDOS, 8086. UCSD Pascal or ApplePascal. Formats: 8" single density IBMsoft-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 withwithwith

triangle translateBy: -90 @ 60.

triangle plot: black.

2 @2!-25 ® -3552®-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

initializationvertices: aCollectlon | |

"Create an instance of IrregularPolygon whose center is located at the center of the currently active window on the display screenScreen 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

initializationvertices: 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 centeranalysis

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 sizedisplay

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 Ifst'

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

MultibusGeneral Purpose

IflDES

31 or62 MByte formatted • 10.5 or 32 MByte formatted

• Lowest cost/MByte from any manufactureri CP/M* compatible "drop in" BIOS

• Single S100 card controller

• Fully expandable up to fourdrives, 8" or 14"

• Reliable high performance Priam Winchester Disks1 Immediate delivery

SYSTEM 8

8" Winchester 10 or 32 MByte formattedIntegrated streaming cartridge backupStreaming backup at 5 MB/minSelective file backup under CP/MVersatile parallel I/O or DMA interface

HDES

■CP/M is a trademark of Digital Research Corp.

ADAPTIVE DATA & ENERGY SYSTEMS2627 Pomona Boulevard • Pomona, CA 91768Phone: (714) 694-6858

When you are done editing, pop up the active-panemenu 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 atime. The compiler reports a syntax error to you byinserting a message at the point where the error was

(14a)

r*:?ti>;: cuis

numbers'

•coUtfetions'

'tY«r iltspuiM

tt'indmus1

panes arid menus1

cornerAn^TT

! 180 - (/Sides)

LHSpiai^onriFormHalf Ton»:Half Toner

InviiHlarPoi'MonPoim

RvaaruiU: '

'- it t :• b U

CtossC'inuial'analy<'dtspla*'transf'test in

againcopycut

paste

4011

uriditaiiiitt

rlu' inferior aruiu

(14c)

ay

ut menus'

ImquiarPolMnonPoim;

W

t

F ogamcopy

GUI

£j pas re

doitcompile

undo

e intern

2£LJ

detected and automatically selecting that error message(photo 14b). You can then cut out or overtype themessage, make the correction, and immediately reissuethe "compile" command.

If you start to revise a definition and change your mindabout it, you can pop up the pane menu and issue the

(14b)

rumus'

ty£ q ular Polygon

Point

Rccramil*? -

Mi-'in'reI

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 9511A 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' Comi""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

COMPUTERDIM S- TOO BUS

DESIGNED TO

' A WIDE

APPLICATIONS.

STANDARD FEATURES

INCLUDE: l_. I—f I VI _OPERATING SYSTEM, B4KEXPANDABLE, BANKSE-E MEMORY.4MHZZ80A CPU WITH 4 SERIALAND 3 PARALLEL PORTS,RELIABLE B" FLOPPY DISKDRIVES IN A STURDY ALLMETAL 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

#

Port

\BKt

\ \\ \

\ *

\

■

■ >

For two good reasons.

More people fly on Pan Am from America to placesoverseas than on any other airline.

Because Pan Am provides more of what demandingtravelers 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 separatesection especially for business travelers. In Clipper Class,no one sits in the middle. No matter where in the worldone is flying.

Sleeperette service® and Clipper Class are availableon most of our widebodies. And we've got more wide-bodies than any other airline.

But offering more widebodies is just the beginningof our convenience story. For another chapter, considerthis:

Pan Am can take passengers from more of theU.S. to more of the world than any other airline. From25 U.S. cities to 47 cities around the world.

All with one ticket. One baggage check-in. On oneairline.

If all this isn't reason enough to get you to fly us,we've got more coming. More ways to make your tripeven 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/

HollywoodFort MyersHonoluluHoustonJacksonvilleLas VegasLos AngelesMelbourneMiamiMobileNewarkNew OrleansNew YorkNorfolkOrlandoPensacolaPhoenixSan DiegoSan FranciscoSarasota /BradentonSeattle / TacomaTampa/St. PeteWashington, DC.West Palm BeachCaribbeanSan JuanCentral and SouthAmericaBuenos AiresCaracasGuatemala CityMaracaiboMexico CityMontevideoPanama CityRio de JaneiroSan Jose

Santiago de Chile*Sao PauloEuropeBerlinFrankfurtHamburgLondonMunichNurembergParisRomeStuttgartWarsaw

The Middle Eastand AfricaAbidjanAccraAnkaraBahrainDakarDhahranIstanbulLagosMonroviaNairobiThe Far Eastand PacificAucklandBangkokBeijing (Peking)BombayDelhiGuamHong KongKarachiManilaMelbourneOsakaShanghai ^

Singapore fL

Sydney ^

Tokyo (h

* Subject to governmentapproval

"cancel" command (photo 14c). The "cancel" commandredisplays the last successfully compiled version of themethod (photo 14d). If you cancel by accident, just issuethe "undo" command to return the revised version.

Adding New Definitions

To add a new method definition, select a methodcategory. In the editing pane, a template appears fordefining a new method (photo 15a). The templatereminds you of the required syntax of a method.

(15a)

\_ IW_» ■_■» IL'V J IT I 11 li_' I V

Class Organization

'initialization1

anaiusu

FormHalf ToneHalfToner

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)

pfc< 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"

copycut

T suits + self side-Length

paste

dott

ffiuETJ

urfl(o

i iiitJ 11

■ llMIi

(15c)

Ooss*s|

mm classes'numbers'collections'text'

textatspwywVnaaws'

panes and menus'fees'

ormFormHalf Tone-HalfToner

IrreaularPoUMonPoint

Rictan*

lispwu'

trarisfbnruitiontesting'private instana

pmnwit | |

"me sum of mu side lengths"T sides ♦ self stdeLenam

Use standard editing facilities to supply the messagepattern, variable list, and body of the method. When thedefinition is ready, issue the "compile" command (photo15b).

Once compilation succeeds, the selector of the newmethod is automatically added to the alphabetized list inthe 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 analogousmanner. 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 oldcategories can be renamed and reorganized.

Program Testing

Let us purposely add a bug to a method and see how itcan 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, anopen three-sided figure is drawn because of the bug in-troduced into the angle calculation.

(15d)

'keffU'i classes*'numbers''cottecr, ions'■text'

K naispUiii'

'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 insrVarName2declare: 'classV'arNamel classV'arNarsharma: "

care >ionj: 'tjrapntcal ob jects'comment: "'uivtaU a>:scri.pnon of itu

(15e)

'kernel classesnumbers'collections'text'

text display

ii'irulou's'

partes and menus'

flics'

i|FormFormHalf ToneHalfTonerIrregulnrPolygoriPointRectangleRegular'Polyaon

Object subclass: 'Circle

fields: 'center radius plotterdeclare: "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^rortabilityFlexibility»Strong Typing

Now you don't have to compromise!

Whitesmiths Ltd. now offers portable language development systems for fourfamilies of computers. Approximately one thousand installations use oursoftware.

We support complete versions of both C and Pascal, as compilers and cross-compilers. You get C automatically when you license Pascal, and you getnative support with each cross-compiler. Test the software on your VAXbefore burning PROMs for your 68000 or 8080.

Whitesmiths Ltd. offers a variety of licensing arrangements, the simplestbeing a binary license for use on a single CPU. The full source code is avail-able with internal documentation. Maintenance, training and sublicensingrights may also be obtained.

Call or write for more information.

Source

Operating

Systems

8080/Z80

Target ItLSI-11/PDP-11

lachines

VAX-11

M68000

B080/Z80

CP/M

C:$750Pascal: $950

*

*

#

LSI-11/ PDP-11:Idris, Unix, RT11,RSX-ll/M,RSTS/E, IAS

C: $1350Pascal: $1550

C: $750Pascal: $950

*

C: $1350Pascal: $1550

VAX-11

Unix/V32

VMS

C: $1350Pascal: $1550

*

C:$750Pascal: $950

C: $1350Pascal: $1550

M68000

VERSAdos

#

*

*

C:$750Pascal: $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 592Distributors: Australia Japan United Kingdom

Fawnray Pty Ltd. Advance Industries Real Time SystemsBrighton-Le-Sands Chiyoda-ku.Tokvo Newcastle upon Tyne522 5574 03-258-0839 0632 733131

Breakpoints

To track down the bug, let us set a breakpoint in themethod 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'

'text1

rexr display•windows''panes and menus■fugs'

comerA

T

uispiuyruTinFormHalf Tone

Half TonerIrregtuarPolygonPotnrRectangle

'Answer me inter(360/sides)

(16b)

RegularPoUjoonfTlwDtfespawB

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 .."liases1rvumtoers'collections'text'

text cusptay1

Vt'UlitOH'S'

panes ana" menus'

■WW— ^IIIIJWW^W^WWWW

p | m mi i i i "l' '

DlSpUMrOTTTi

nfnSns5Ef&

Wmug* \

self notify: 'a

FormHalftone

Half Ton.; r

iTTecjularPolygon

Ponit

Rectanate

____J_g

Ansu'i'i" the wuenora

3assDef initio

ClasbOraatiiza

'initialization

'analysis'

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 "notifywindow" (photo 16d). The title tab of the notify windowsays "about to calculate angle".

The notify window has one pane, the stack pane. Itshows RegularPolygon>> cornerAngle (ie: the class andmethod in which the breakpoint was encountered). Thepop-up menu of that pane offers several commands, in-cluding "stack" and "proceed" (photo 16e).

The "proceed" command closes the notify window andcontinues execution from the breakpoint. If we issue a"proceed" in our example, the same breakpoint will beencountered again immediately because the cornerAnglemethod is used several times during the execution of thetest program.

What a Notify Window Can Display

The "stack" command expands the contents of the paneto include messages that have been sent, but have not yetreceived replies (photo 17a). It reveals that the sender ofthe message cornerAngle was RegularPolygon>>plot:.

The pop-up menu of the notify window offers the usualrepertoire, including the "close" and "frame" commands(photo 17b). If "close" were issued, the notify windowwould disappear from the screen and execution of the

Text continued on page 138

(16d)

tms oassumbers'jUecttons'

r»t'

mptiwai. obi#cfS'»t ili-pliiM1'initou'i'

hi.-: and menus'lies'

about to calculate anale I

RegutarPolygon come rAngU

iifi otwriTTOHiUrPohHonPointRectanglePt^ularMtiawi

ii!\i1i.1)5tc.'

AlSpWM'

transformation'

testing'

prtttfwe instant tm\

mer Angle f ~ "ftnsivei trie interioi angle of ant| vtfuself notify: 'about to calculate angle'.t 060/ sides)

eotrv.

(16e)

about do calculate awfe

ReauiarPolugon; >comgf'Ang|e

jtacE!

Fom

Half

Half

Inv,-

Poira

Rectangle

RcaiilafPolij^on.

rmrrmmn

Tttsparg

'transforrnattrm''testing1

'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 11

outside world. You can access in-formation networks like

The Source for a varietyof business and personalapplications, exchangeprograms with friends micanywhere in North ^^t^ssFAmerica, andeven use your

you re awayfrom your homeOr office.

Dependable. The

Micromodem II is so dependableit comes with a two-year limited

ssin- computers. Programmable.

Automatic dialingand answering?. j Of course! We in-nnprPj^~Upler elude programs on—qH-boqi. ( diskthatdialphonei numbers for you,messages while you'reaway, and much more!Complete. Youf get everythingyou need to com-municate with other Belldable 103 compatible modems at 110nited or 300 baud. The serial interface

is built-in, and we even include ourFCC-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 HayesMicromodem 100 gives S-100microcomputers all the advan-tages of our Micromodem II!

Put the outside world insideyour computer with a data com-munications system from Hayes.Available at computer stores na-tionwide—callor write for thelocation near-est you. Anddon't settle for anything lessthan Hayes.

The Hayes Micromodem IIopens 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 1981 Hayes Microcomputer Products Inc.

&

f%>

m

EPSON MX-80Now in stock!

TheMX-SO dot matrix printer.Unequalled Epson reliability. Hasall the features ot the MX-70 plusmore power and extra functions.CALL US

C-ITOH STARWRITER: LETTERQUALITY PRINTING FOR UNDER

$2000!/This daisywheel printergives high quality at a low price.25 cps. Parallel and serial inter-faces available. CALL

NEC SPINWRITER FROM THEFIRST NAME IN LETTER QUALITY

PRINTERS/Compumart offersbeautiful print quality with NECSpinwriter Terminals. We carry allmodels from RO THRU KSR WITHNUMERIC KEYPAD-5510-5530. Allversions give unsurpassed hardcopy output! CALL FOR PRICES

NEW INTEGRAL DATA'S 560PRINTER/All the exciting featuresof the 400 series plus 141/2" papercapacity. 132 col. graphics printer.IDS 445. Priced lower than the 440and equipped with a better printhead. With & w/o graphics.IDS 460. Features include corre-spondence quality printing, highresolution graphics.

CALL FOR PRICES

/

cjV

4&?

CENTRONICS PRINTERS3 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 OFFERON CENTRONICS PRINTERS.

OMNI 810 PRINTER FROM TEXASINSTRUMENTS CALLUS

The 820 RO PACKAGE includesmachine mounted paper tray andcable. A compressed print optionand device forms control arestandard features.THE 820 KSR PACKAGE includesfully ASCII Keyboard plus all of thefeatures of the RO.

CALL FOR PRICES

CLEARANCE ZENITH COLORVIDEO MONITOR $349.

SUPER SELLING TERMINALS FROMLEAR SIGLER/We have the follow-ing Lear Siegler terminals in stockat prices too low to print! Call forquotes.

ADM-3A/Industry's favorite dumbterminal for some very smartreasons/

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 lineof CRT data display monitors aredesigned for the display of alpha-numeric or graphic data.9"SANYOB/W $169.

12" SANYO B/W CALL

12" SANYO W/

GREEN SCREEN CALL

13" SANYO COLOR CALL

NEC COLOR MONITOR/RECEIVERHIGH RESOLUTION/

Composite video using BNC con-nectors, 8-Pin connector for VCR/VTR video loop In/Out andtelevision reception. CALLUS!

Visit our giant

ANN ARBOR STORE

1250 North Main StreetAnn Arbor, Michigan

FREE CATALOGS

MICRO

Our completeline of micro-computers,accessoriesandperipherals.

DEC LSI-H

Systems config-ured andintegratedwith othermanufacturerscompatibles.

HP-41C CALCULATORSMEMORY MODULES for storingprograms of up to 2000 lines ofprogram memory."EXTRA SMART" CARD READER.Records programs and data backonto blank magcards.THE PRINTER. Upper and lowercase. 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 nowoffers the entire product line.CALL FOR PRICES AND DELIVERY

NOVATION CAT ACOUSTIC

MODEM Answer Originate. CALL

NEW! D-CAT Direct ConnectModem from Novation. CALL

NEW! GILTRONIX RS 232 SWITCH/

The ultimate in flexibility. You canconnect three peripherals to onecomputer or three computers toone 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 whenordering over 50 units. CALL

MOTOROLA 4116 (200 Nano-second Plastic) $4.50

RM EXPANSION ACCESSORIESFOR AIM-

CALL SPECS AND PRICES

APPLE m IS IN STOCK/Applo HI

Information Analyst Package—128K Apple III, Black and WhiteMonitor 12", and information ana-lyst software. CALL

TOP SOFTWARE PACKAGES FROMCOMPUMART

VISICALC/FOR APPLE/FOR HP/FOR COMMODORE/FOR ATARI

SOFTWARE FROM APPLE/Apple

Plot (the perfect graphic comple-ment for Visicalc/Dow Jones News8( Quotes/Apple Fortrom/AppleWriter/Pascal Language System/Controller Business System CALL

PERSONAL SOFTWARE/Visidex/VisiTrend/VisiPlot/VisiTerm CALLMUSE/Super Text CALL

MOUNTAIN COMPUTER/

Expansion accessories for Apple/Super Talker/The Music System/ROM plus board with Keyboardfilter/ROM Writer/Clock Calen-dar/AtoD and D to A Converter/Clock for Apple/CPS MultifunctionBoard CALL

VIDEX/Video Term (80 col. x 24line, 7x9 Matrix plug in compati-ble board for Apple II) w/wographics EPROM/SSM Serial &Parallel, Apple Interface/ABT'sNumeric Key Plan/CaliforniaMicrocomputer Keyboard CALL

*t*v

VIC 2 0 PERSONAL COMPUTERFROM COMMODORE

$299.

Send for them!

IMPORTANT ORDERING INFORMATION

CALL 8CO 343-5504, in Massachusetts: (617) 491-2700, phones openfrom 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 subjecl to change without notice. Our Ann Arbor retail store is openllOO 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 BESTSELLING APPLE SYSTEM/ Systemincludes a 48K Apple II, AppleDisk. DOS 3.3 and Controller and aSup 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 OUTPUTUNSURPASSED EASE OFOPERATION

This Compumart/Commodoresystem includes a COMMODORE.8032 32K CPU, a 4040 DUAL DISK,a C-ITOH PRINTER and x/iace andWOEDCRAFT80 (all cables in-cluded). List $5385.CALL FOR DETAILS ANDLOW PRICES

A COMPLETE SYSTEM: includesa DUAL DISK DRIVE/TRACTORPRINTER and an 80 COLUMN

32K CPU. No interfaces needed,Cables included. List $3685.

COMPUMART $3335.SAVE $200 ON COMMODOREACCESSORIES WITH PURCHASEOFA32K PET-SAVE $100 WITH A16K 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/ROMDRAWER/MASS STORAGE ROM/51/4" SINGLE MASTER FLEXIBLEDISK DRIVE/HP-IB INTERFACEMODULE/2 METER HP-IB CABLE.SAVE $400 ON HP-85 SERIES AC-CESSORIES WITH THE PURCHASEOF AN HP-85.

CHOOSE FROM: PERIPHERALS;Disk Drives to Graphics PlottersENHANCEMENTS; 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 CartridgesINTERFACE MODULES; HP-IB Inter-connect Cables/Serial (RS-232C)Interface Module.

FROM ROCKWELL

Our AIM Starter System for Educa-tional 8c Laboratory use includes4K AIM/BASIC 8c ROM/ASSEMBLER8c ROM/POWER SUPPLY EG1 EN-CLOSURE/CRAIG TAPE RECORDER.

ACCESSORIES FOR AIM STARTER:

PL 65 High Level Language/Paperfor the Aim (roll)/ Rockwell's 4 slotMotherboard/

CALL

WE ALSO CARRY RM EXPANSIONACCESSORIES 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 PERIPHERALMADE 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-computermanufacturers.

And any product, except software, can be returned within 10 days for a full refund—evenif you just change your mind. We also honor all manufacturers' warranties. Our experttechnicians will service any product we sell

Call us for more information on products, product configuration and service. Our phonesare 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, andto help. Because service is what we're all about.

Circle 62 on Inquiry card.

SlackPane

Method ^^

Variable

Pane

Nk InstanceVariablePane

->

Editing

Pane

MethodValue

Pane

->

Instance

Value

Pane

Figure 5: Principal dependencies among panes of a notifywindow.

Text continued from page 134:

program under test would be aborted. Let us issue the"frame" command instead. The notify window growslarger and acquires a total of six panes (photo 17c). Theirinterdependencies are diagrammed in figure 5.

The upper left pane is the stack pane retained frombefore. The upper right pane is an editing pane. If youselect RegularPolygon >> plot: in the stack pane, itsmethod definition appears in the editing pane. You canscroll through the definition and even edit it there andrecompile as in the browser.

The middle two panes are the "context variable" and

"context value" panes. They are analogous to the twopanes of an inspect window, but, in this case, thevariables you can examine are the arguments and localvariables of the method selected in the stack pane. Clickink 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 thepanes of an inspect window. They let you examine the in-stance variables of the receiver of the message selected inthe stack pane. Click center to see its value appear in thevalue pane.

You can type statements into the value panes andexecute them using "do it" (photo 17d). They will beexecuted in the context of the method selected in the stackpane—that is, they may refer to arguments and localvariables of the method and to instance variables.

Debugging

You could step through the execution of the method inthe editing pane. You would select one statement at atime in the editing pane and issue the "do it" command.To close in on the planted bug, we can evaluate selfcomerAngle, an expression on the last line of the method.Select that expression and issue the "do it" command(photo 18a). The answer, 120, appears to the right of thequestion (photo 18b). Since the interior angle of a regular

(17a)

(17b)

about to calculate anale

ReaularPolugon ►comerAnale^^^

RoiularPoliVion plot: ES5Bim'4>:jtn>;.lut"'Ka DOIT pa^'nL A D c ompile t .: palliated proo; ed |CodePane execute:truto restart

m

Forr

halfHalfI'-TV.fiU/lTH.lUHlJ'.

PotntRecta 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:tCode Pane > >execute :tn:to:Code Pane > >execwe :f or:CodeParu>>>dottCoi'tePane>>yellou't>ug itCode-Patie>>eacrii:vnv; *

spwifiM ink ccior,*

plotter penup. *lifr rtiplotter goto: self centerplotter up. "fa™ tplotter go: radius, "piplotter turn: 180 - (selfTutplotter 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 mderReauiarPoUwon -plot:11 nil left m (t ub j >.' c t > > D OIl a d l ompiU" r e paiuatCoaePane execute nn:

m

Forr

HalfHalf

iTT.;.iru7rrFonTprrPoint

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 coloplotter peru

>enier*radvAk

a134 8

comppuunao

cancelalign

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 watchelephants 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 moduleshave a battery backup that is guaranteed to keep programs and data intactfor 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'relooking 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 standardsand it comes ready to perform. As with all oursystems and modules, our computer was designedwith the wicked environment of the real world in mind.BASIC language makes programming easy and thebuilt-in interface simplifies access to hundreds ofsensors. The enormous expandability of the systemallows its growth to meet your increasing needs,even if you enjoy learning new languages. The DUAL77 is economical; $9995 or higher with options.

DUAL SYSTEMS CONTROL CORPORATION

1825 Eastshore Highway, Berkeley, CA 94710Phone (415) 549-3854 or (415) 549-3890

A/D CONVERTER

This S-100 based module is designed to withstand the ruggedenvironment of the laboratory or in industry for general usein 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 leveldigital-to-analog (D/A) converter which converts digitalcommands 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. Ourindustrial level clock module utilizes a backup batterycircuit 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 HighwayBerkeley, 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 pof r,

aqam hfor/

ten copti "tf/r *fap «?n ra iftatfte

cer cut f center. ''pasjntfn rto p*

ter paste " /to? fft£ Top of The sen

'"- rjHB&B m^' " pC'f-ffk"'.u i^f i? kT'.rTu" TUffi- TO f\JCv \kGVuf &

tenter

undo

cancelalign

SeteCT To*'- //j« t-LUtirxU$W£f The pen TO I'Tii

aaius

10250® 17400

(lsbT

■ Draw iwi. ijrrj4?*^ of me prt r^on. msik 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 comer*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:;ocUP.in»: ■->:«>:aiK:for:

1». Patu »ctoit:o..t>: Pan* > >yeUou4m«)xU P'iTu; >eachtime:4>: Pan.;! Object > startup

IcomerAn^e | f "An?..u'.: ti>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 017LADCompUer>>ei>alua«Code Parte > >c ace \ ire anxcCode Pane > > e* e cut*: :f orCodePane) ►doitCode Pane > yeUowbugCode Pane >eacntime

___

i .I,

comer,

.-,'';v"t«. in degrees"

a5ai? 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 stackpane. Its method definition, including the breakpoint weset, appears in the editing pane (photo 18c). Use standardediting to remove the breakpoint, correct the error, andrecompile the editing pane (photo 18d).

You can randomly access any level in the stack byclicking it in the stack pane.

Resumption

After recompiling a method, you can resume executionfrom 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 tostart over from the work-space window. Resumption ofexecution after a correction is a handy capability when aprogram that has been running well encounters a minorbug.

The entire stack of the process under test was saved inthe notify window. When a notify window appears, therest of the system is not preempted. You are not requiredto deal with the notify window when it appears. You can(19a)

aDoux to calculate angun

tor:

eguiarr,oiyqon>>pltodeftned£»je<tf> >DuiTLADLompUjCT". HvcAxuaejxxiCodePane »executiCodePane >>execu»CodePane>>doitCode Pane: tKliou'tCodePane»eacntiii

stackspawn

QtXX

vertex, m degrees"

t 180-peo/sv

iiuiarPolq.ion Ton

(19b)

F"nf|wMitspqct

Photo 19: Compilation of a faulty method can be continuedwithout 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 Interfaceand Cable

The Grappler™ Interface is the first universal parallel interface card toprovide on-board firmware for Apple high resolution dot graphics. Nolonger does the user need to load clumsy software routines to dumpscreen graphic - it's all in a chip. Actually, it's our E-PROM, and there areversions to accommodate the Anadex, Epson MX80 & MX70, IDS PaperTigers, 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 2Print InverseRotate Picture 90 °Single/Double SizeVariable Left MarginChart Recorder Mode

$165.°°

Includes Cable

Dealer/DistributorInquiries 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 areincluded with easy to follow instructions.

S75iOO

Dealer/DistributorInquiries 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; sameday shipment. Free use ol VISA &MASTERCARD. Personal checksrequire 2 weeks to clear. Manu-facturer's warranty included on allequipment. Prices subject torevision.

Oronge

fllfCfO, Inc.

3150 E. La Palma, Suite IAnaheim, CA 92806

work in other windows and come back to it later, causeother notify windows to be created, or work a little in thenotify window and then do something else. There are nomodes.

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)

Uization1

au'

^formation'

rw1

ite instance met

322EjEEflBII

pastem 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-rriiirinri'

Photo 20: Displaying an error in a faulty method.

142 August 1981 © BYTE Publications Inc

cept that if they are supposed to be "unrecoverable" theyare programmed as:

self error: 'error whatever'.

If the user "proceeds" out of the notify window after anerror, the process under test is terminated.

The most frequently encountered Smalltalk error is"Message not understood." It occurs when a method issent to an object and neither that object's class nor any ofits superclasses defines a method to receive that message.Let us edit the method sideLength (photo 20a) to send themessage cosine instead of cos. After recompiling thatmethod (photo 20b) and reexecuting the test program, anotify window appears (photo 20c) to announce thatclass Real and its superclasses do not define cosine.

In most programming systems, equivalent error condi-tions such as "undeclared procedure" and "wrongnumber of arguments" are issued at compile time.Smalltalk cannot detect these conditions until run timebecause variables are not declared as to type. At runtime, 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 dependon type checking to catch procedure-call errors early inthe software-development process. In return, we have totake extra time maintaining type declarations, and welose the very powerful ability to define "generic" or"polymorphic" procedures with the same name but withparameters of varying types.

Type checking is important in most systems for fourreasons, none of which is very important in Smalltalk:

• Without type checking, a program in most languagescan "crash" in mysterious ways at run time. Even withtype checking, most programming systems can crash dueto 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 andLISP. Smalltalk is a safe language. It cannot be wiped outby normal programming. In particular, it never crasheswhen 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 notifywindow.

• In most systems, the edit-compile-debug cycle is sotedious that early error detection is indispensable. InSmalltalk, type errors are found early in testing, alongwith value-range errors and other bugs.

• Type declarations help to document programs. This istrue, but well-chosen variable names and pertinent com-ments provide more specific information than do typedeclarations. A poor documenter can convey as little in-formation in a strongly typed program as in an untypedprogram.

ThisSingleBoar'

m.

::tS£y§ir;;:;

■

m'

..is the Heartof theroprocessorWorld'sest Multi-UserSystem...

mmem/mr/

w \i=,ir\

MULTIPROCESSOR

,*'.:.#

!_-■■■

'./'>•

E DISCOVERY MULTIPROCESSOR

The dedicated power of this complete single board computer is provided toeach user, making the DISCOVERY MULTIPROCESSOR unique amongmulti- user systems. With the power and expandability of distributed process-ing • With the economy of shared peripherals • With the flexibility of sharedand 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 inthe Service Processor, establishing aCP/M environment for each userand managing access to the sharedsystem resources. Multiuser facilitiesare provided for print spooling, forinterprocessor communication andfor private, public and shared-updatefiles. Several processors can be em-ployed concurrently by a single uservia the enhanced batch submit facil-ities. And with DISCOVERY allCP/M compatible programs willexecute without modification, thusprotecting your software investment

The ACE 64 K Distributed Process-ing Single Board Computer, thedpc-180 gives the DISCOVERY

MULTIPROCESSOR its own uniquearchitecture. One DPC is dedicatedto each user providing exclusive useof the onboard Z-80. 64Kram andserial I/O. Access to the sharedresources is provided by an ex-panded DPC used as a ServiceProcessor. Additional users can beadded at any time by simply insertingadditional DPCs.into the standardS-100 bus — up to a total of sixteenuser 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 singleboard Computer, the dpc-180 to each user. An ex-panded DPC coordinates all of the system activities.

Multiuser mainframes with 192K ram start atunder $6000. The 64K dpc-180"is priced at$1395. Immediate delivery. A complete line ofstandard peripherals including a 26M byte harddisk subsystem can be supplied on requestDealer 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

".imukuumr

r

Ideas I

l In'iCir---

niininiiiir ii»

"1

Boott Drafts]

EEJJJ

Photo 21: Project windows in Smalltalk. Each window, whenselected, makes available all the windows associated with thatproject.

(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

LnsplatjFormForm

Uout

ffipUw

FvaariiiU;

aa

'in

'a?

Ml'tr'«

pt

Photo 22: Recording results in Smalltalk. The current state ofthe Smalltalk system can be saved with "snapshot." Smalltalkcode can be saved to a text file by using "filout" and restored byusing "filin."

• Most compilers can generate more efficient object codeif types are declared. Existing implementations ofSmalltalk cannot take advantage of type declarations.We expect that future versions will have that ability. Atthat time, type declarations may be added to thelanguage. They probably will be supplied by the systemrather than the user, using a program-analysis techniquecalled "type inference."

Project Windows

Although overlapping windows enable you to keep thestate of several tasks on the screen at the same time, youmay sometimes be working on several entirely differentprojects, each involving several tasks. Smalltalk lets youhave a different "desk top" for each project. On each desktop are windows for the tasks involved in that project. Tohelp you travel from one desk top to another, a desk topcan have one or more project windows that show youother available desk tops and let you switch to one ofthem (photo 21).

Saving Programs

In unintegrated systems, you create a program usingstandard 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 theprogram to other people. In an integrated system,equivalent capabilities must be provided within thesystem itself. Some of the program-saving capabilities ofSmalltalk are described briefly below.

One important facility is the snapshot (photo 22a). Theentire state of the Smalltalk environment—includingclass and method definitions, data objects, suspendedprocesses, windows on the screen, and project desktops—can be momentarily frozen and saved on second-ary storage. The snapshot can be restored later andresumed. People familiar with the sysout in InterLISP orthe workspace concept in APL will understand thebenefit of this facility.

Another facility allows definitions of one or moremethods or classes to be listed on a printer. A relatedfacility is filin/filout. The filout message (photo 22b)writes an ASCII representation of one or more definitionsonto a conventional text file. The definitions can then betransfused into another Smalltalk environment by usingthe filin message in that environment.

Often, during a programming session, the user changesa number of method definitions that are scatteredthroughout many classes and cannot recall which oneswere changed. The changes facility automatically keeps arecord of what definitions changed in each project, andmakes it easy for the user to filout those definitions at theend of the session.

Implementation of the Environment

Because Smalltalk is an integrated environment, all thefacilities described in this article are implemented in the

Text continued on page 147

144 August 1981 © BYTE Publications Inc

Meet the Tiger witha bigger bite

Introducing the remarkable 132-columnPaper Tiger™ 560. The first full-width matrixprinter to give you fully formed charactersfor a low $1695.*

The new 560 features a staggered nine-wire ballistic type print head that overlapsdots in both horizontal and vertical planes.It bi-directionally prints up to 150 dense, textquality characters per second.

The 560 also features a reliable cartridgeribbon that lasts up to four times as long

presents a breakthrough in matriK printiniBring the user excellent print quality wit]ce of a matrix printer. Employing a uniqred column" head manufactured by Integrcreates high quality printouts by overla

Paper Tiger 560 Print Sample

as spool and cassette ribbons, separateheavy-duty stepper motors to drive the printhead and advance the paper, plus truetractor feed.

And famous Paper Tiger performancecomes with every new 560. Like fixed orproportionately spaced text, programmabletabbing and business forms control, auto-matic text justification, print formats to 220

columns, parallel and serial interfaces, self-diagnostics, and more. All inside the mostcompact printer of its kind.

Need more stripes? Dotplot,™ our high-resolution raster graphics package, is stan-dard on every 560.

For data processing, word processingand small business applications, this is yourTiger. The business-sized Paper Tiger™ 560.

It's a Tiger you can count on.

Call TOLL FREE 800-258-1386 (In NewHampshire, Alaska and Hawaii, call603-673-9100.) Or write: Integral DataSystems, 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.

TVPe

«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 tobe IEEE S-100 bus compatible for universal system use. Virtuallyall elements of a computer mainframe now reside on one S-100card — Z-80A CPU, 64k of 200ns RAM (no wait states),4k 250nsEPROM, Winchester Disk I/O port, two RS-232 serial ports, systemport, floating point processor, and parallel I/O. The same M Cardcan be used in single-user, multi-user, or even multi-processorsystems.

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 multiprocessorsInter-system communications are FIFO buffered; the old "Master"is now a. slave to the user, and the system functions without "S-100bus 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 speedof other microcomputers). As a multi-user system, this power canbe translated into a low cost multi-terminal capability. As a multi-processor, the system leaves the realm of "microcomputer" andcompetes in performance with a minicomputer! You can start with asingle-user computer and expand to a multi-user/multi-processorcomputer system when needed.

ird

•Reglsteiad Trademarkof Digital Research.TURBQDOS isa product olSoftware 2000.

The Universal Product. BOS has what you need — anythingfrom a single M Card to a complete turnkey computer system.Diskette, rigid disk, tape and telecommunications sub-systemsare 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 AvenueColorado Springs, Colorado 80909n Colorado Call: (303) 634-1541

The BOS M System does what a Universal Donor must do — it provides high performance for allsystem types; single-user, multi-user, and multi-processor. M Systems start at less than $5,000.00 fora 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 waspossible because Smalltalk represents everything, in-cluding the dynamic state of its own processes, as objectsthat remember their own state and that can be sentmessages by other objects. Using the browser, you canexamine and (carefully) change the definitions of thesoftware-development aids.

In the implementation of Smalltalk-76, classes Inspect-W/indow, BrowseWindow, and NotifyWindow are alltiny subclasses of class PanedWindow, which definestheir common behavior. Similarly, classes StackPane,VariablePane, ValuePane, and so on, are all tinysubclasses 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-developmentaids exist and whether they are programmed as classdefinitions in the high-level language. If not, the system isnot bona fide.

Conclusions

The Smalltalk programming environment is reactive.That is, the user tells it what to do and it reacts, instead ofthe other way around. To enable the user to switch be-tween tasks, the state of the tasks is preserved in instantlyaccessible windows that overlap on desk tops. To givethe user the maximum freedom of choice at every mo-ment, modes rarely occur in the user interface. The resultof this organization is that tasks, including software-development tasks, can be accomplished with greaterspeed and less frustration than is usually encountered incomputer systems. ■

References

1. Sneeringer, J. "User-Interface Design for Text Editing: A CaseStudy." Software—Practice and Experience 8, pages 543 thru557, 1978.

2. Swinehart, D C (thesis). "Copilot: A Multiple ProcessApproach to Interactive Programming Systems." StanfordArtificial Intelligence Laboratory Memo AIM-230, StanfordUniversity, July 1974.

3. Kay, A and A Goldberg. "Personal Dynamic Media." Com-puter, March 1977 (originally published as Xerox PARCTechnical Report SSL-76-1, March 1976, out of print).

4. English, W, D Engelbart, and M Berman. "Display-SelectionTechniques for Text Manipulation." IEEE Transactions onHuman Factors in Electronics, volume 8, number 1, pages 21thru 31, 1977.

5. Card, S, T Moran, and A Newell. "The Keystroke-Level Modelfor 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-InterfaceDesign." Proceedings of the Twelfth Hawaii International Con-ference on System Sciences, volume 6, number 1, pages 148thru 157, 1979.

7. Borning, A. "ThingLab—A Constraint-Oriented SimulationLaboratory." To appear in ACM Transactions on ProgrammingLanguages and Systems (originally published as StanfordComputer Science Report STAN-CS-79-746 and Xerox PARCTechnical Report SSL-79-3, July 1979, out of print).

L >\ • »

COMPLETE CATALOG OF COMPUTEREQUIPMENT AT DISCOUNT PRICES.

65K S-100 DYNAMIC MEMORY

BY FAMOUS NAME MANUFACTURER

unbelievable price

$299

FEATURES: Fully Compatible with IEEE-696. Assembled, testedand fully populated with 65K of 200 ns. brand name memory.Bank selectable. 4Mhz. operation, extended addressing, invisiblerefresh 8/16 bit operation (per IEEE-696) and many other features.One year warranty, manual included... Hurry, limited quantities!

TELEV1DEO TERMINALS:

Model 912C 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+18A 25 A Tabletop Mainframe, 18 Slot. S100 450 00

MF+12A 25 A Mainframe: 12 Slot. S100. Dual 5" Drive ..450 00

Z+80A Single Board. Z-80 Computer 2/4 Mhz . S-100 .. 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 125,00

QTCCCTRS80 Clock Calendar Module for TRS-80 125 00

VISTA COMPUTER COMPANY:

MODEL DESCRIPTION (ALL ASSI MBLED & TESTFDl PRICE

V300/25 .. Letter Quality Printer, 25 CPS S1895 00

V30CV45 ..Letter Quality Printer. 45 CPS 2195 00

V-DRIVE .. 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 00RAM 32 . ..32K Low Power 8/16 Bit Static RAM, Fully IEEE 696 499 00

RAM 256 .. 256K 8/16 Bit Dynamic RAM. Fully IEEE 696 1295 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 shippingand handling. Foreign orders require prepayment by MICR orMoney Order in U.S. funds. Purchase Orders accepted from U SGovernment & 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-1212, and ask the operator for our New.Toll-Free (800) Number. In Alaska. California, and hlawaii. call uscollect at (213) 883-3244

TO RECIEVE OUR FREE CATALOG:

Call our Toll-Free (800) number, or circle Reader Service tt.

7131 OWENSMOUTH AVE. / #21DCANOGA PARK, CALIFORNIA 91303213 / 883-3244 ,

Circle 38 on Inquiry card.

Circle 168 on inquiry card.

August 1981 © BYTE Publications Inc 147

User-Oriented Descriptionsof Smalltalk Systems

Trygve M H Reenskaug

Central Institute for Industrial Research

Blindern, Oslo 3

Norway

For many people, the workings of acomputer remain a mystery. Justexactly what the computer does andhow it does it is locked within thecode of a computer language. Thecomputer and the user understandtwo completely different languages. Itis well known that only a few systemsare designed and written so that theycan be understood by the user. Morethan twenty years of experience hasshown that a bad system design cannever be hidden from the user, evenby a masterfully devised user inter-face. A quality system, therefore,must be based on sound design thatcan be described in terms with whichthe user is familiar.

The Smalltalk system has beendesigned to handle a great variety ofproblems and solutions. It, therefore,provides the greatest possible flex-ibility for writing any kind of systema programmer may desire. While thisflexibility is essential for experiment-ing, there is the potential fordisastrous results if restrictions arenot put on the system structures thatare available to the application pro-grammer.

This article shows how the basicmetaphors of Smalltalk can be usedto describe complex systems. Sincethis magazine is not yet distributed ina form readable by Smalltalk, wehave to restrict ourselves to tradi-tional written documentation. (Let itbe a challenge to Smalltalk ex-

perimenters to convert this presenta-tion into a graphic and dynamic one.)The Smalltalk system user willmost likely employ his system toorganize 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 theform of market information, newsservices, and weather forecasts. Somedata, such as travel information andbank transactions, may flow both toand from the owner. Other informa-tion, such as personal notes ormaterial that is not yet ready fordistribution, can remain private.

An individual's total informationneeds are very large and complex. HisSmalltalk system, therefore, is alsolikely to be large and complex. Thechallenge to the Smalltalk ex-perimenter is to find ways to struc-ture systems so the user will not onlyunderstand how to use them, but alsoget an intuitive feel for their innerworkings. In this way, the user canreally be the master and the systems

his faithful slaves.

An important part of any system isthe software that controls the user'sinteraction with the information.Mastering the software is crucial tohandling the information. WithSmalltalk, software is just a specialkind of information and is treated asany other information within thetotal system. It is available to the userin the usual manner.

A traditional way of describingsoftware is through written documen-tation. Smalltalk provides moredynamic interfaces through the use oftwo-dimensional graphics and anima-tion on the computer screen. Devisingsuch interfaces is probably thegreatest challenge in personal com-puting today, and it provides a richfield of endeavor for the interested ex-perimenter.

System Descriptions

We can describe any applicationsystem in three different ways: how itis used, its system structure, and itsimplementation:

• How it is used—This is the leastsatisfactory type of description. Theuser operates the system through rotecommand sequences such as: switchon the machine, type your password,hit button A, listen to your systemsaluting you by playing "Hail to theChief." Since 80% of all user manualsfor electronic data processing systems

148 August 1981 © BYTE Publications Inc

Circle 394 on inquiry card.

are of this kind, we will not discussthem further here.

This level of understanding hasbeen likened to walking around in astrange city following directions suchas: "Go outside, turn right, walkstraight ahead for four blocks, turnleft . ..." It is easy to get lost undersuch circumstances.• System structure—With this type ofdescription, the user has an intuitionabout the kinds of building blocksthat make up the system, how theybehave, and how they interact toform the complete system. We showthat the basic Smalltalk metaphors ofobjects and messages are well suitedto function as building blocks. Themetaphors are simple and easy tounderstand; 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 alarge number of objects. A basicsystem will have several thousand ob-jects, and typical applications wouldcontain many more. The commonsoftware engineering device of layer-ing becomes essential in making thewhole thing manageable. In thedescription of a layer, essential func-tion on that level is highlighted andinconsequential detail is relegated tolower levels. There is one absolute re-quirement of these simplified descrip-tions appearing on the differentlayers: what is shown should be cor-rect and complete as far as it goes.This means that the structure of thedescription has to be a pure tree struc-ture: the function of each module hasto be limited to that module with nohidden side effects upon the othermodules.

This level of understanding cor-responds to the user having a streetmap of the system. He knows themajor landmarks and the most im-portant streets. This gives the user anintuition about the total structure andpermits him tc find his way any-

where. It is almost impossible to gettotally lost under these cir-cumstances.

• Implementation—Descriptions atthis level of understanding explain tothe user how each individual object isbuilt so that it behaves in the mannerprescribed on the system structurelevel. Here he will find the third basicmetaphor of Smalltalk, the method.A method is similar to a subroutine inother languages; it prescribes theactions to be taken by an object whenit receives a message.

On all layers but the lowest, thebehavior of an object is fairly com-plex, and we can think of it as com-posed of a number of sub-objects thatare used to implement it. The purposeof the method is to enlist the aid ofthe sub-objects to implement thedesired behavior. The user thus findsthat the typical object is structured inmuch the same manner as his totalsystem, and it consists of a number ofsub-objects that send messages toeach other. The description tool isrecursive in that the same tool is usedon all levels. This recursion descrip-tion is probably the most powerfulfeature of Smalltalk. Once the usermasters the few very general con-cepts, he can learn more and moreabout his system by simply usingthese concepts to dig deeper anddeeper into the system layers. In addi-tion, the user can modify and expandthe system on any level by collectingnew components out of the buildingblocks provided by the next levelbelow it.

The user at this level now has an in-tuition of the overall layout of thecity. He also has sub-maps of all thedetails and he knows how to readthem. Depending on his personality,he may use these maps only when ab-solutely necessary, or he may usethem to explore unknown territory.In contrast to the tourist, theSmalltalk user can even makemodifications and new extensions tothe city. The tools are there. The userdecides if, when, and how he wantsto use them.

Example of a System Description

The problem: Consider a smallmanufacturing company that has two

The Converterthat transformsyour electronictypewriter into acomputerprinter.

£> No modifications tothe typewriter

$> Does not affect normaltypewriter functions

& All typewriter functionsaccessible by computer

£> RS232C, IEEE andparallel interfacesavailable

£> KSR version turnstypewriter into acomputer terminal

^ Fully assembled, testedand 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 tofind out when the product can bedelivered, and to sign a contract withthe customer. The responsibility ofthe production department is tomanufacture each product as cheaplyas possible at a specified level ofquality and to have it finished on thepromised date. When the productiondepartment has manufactured theproduct, it is dispatched to thecustomer through the sales depart-ment.

The system: A natural way to mapthis into a Smalltalk system would beto represent each department as anobject. The function of the Sales ob-ject would be to keep track of thestate of each sale in the followingsequence:

1. Fill in and send proposals

2. Reserve the necessary resources inproduction for the product

3. Send contracts and packing notesto 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 completedon time

It also seems reasonable to include athird kind of object in our system:Customer objects. The purpose ofthese objects would be to act as a

150 August 1981 © BYTE Publications Inc.

receptacle for the messages beingpassed from the company to thecustomer and from the customer tothe company. The various objectswith 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 theprocessing of an order and to supportits user on every step. The processthat takes place inside the Smalltalksystem would, therefore, closelyresemble the actual processing of anorder. Let us assume the followingreal-life process, which is depicted infigure 2. A customer submits an in-tention to buy, a request for offer, tothe company. The sales departmentbooks resources from the productiondepartment and returns an offer withthe cost and delivery date to thecustomer. The customer answers witha purchase order. This is transcribedand passed from sales to productionas a requisition. The product ismanufactured in production, and aready-note is sent to sales, which ar-ranges for transport and sends pack-ing notes to the customer.

In the Smalltalk system, the Salesobject would help the user of thesystem in corresponding with thecustomer, in keeping track of pro-gress, and in sending the requiredforms to the production department.The Production object would help theuser in the planning and control ofthe manufacturing process.

In order to highlight the principles,we have made this a very simplesystem. 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 ViscountEl Paso, Texas(915) 591-3349

611 Rockville PikeRockville, Maryland(301) 762-7585

5742 E. BroadwayTucson. Arizona(602) 790-8959

2525 N. Scottsdale RoadScottsdale, Aiizona(602) 941-8794

1490 W. Spring Valley Rd.Richardson, Texas(214) 234-5955

83 South 10th StreetMinneapolis, Minnesota(612)338-1777

f i

2760-S South Havana 4550-50 E. Cactus

Aurora, Colorado Phoenix, Arizona

(303) 6964950 (602) 996-2910

1707 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.

MountainVlew.Calitornia Portland, Oregon

(415) 964-7063 (503) 256-4713

79 Main StreetNorwalk. Conneticut(203) 8460851

COMINGSOON 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 FLOWPROBLEMS?

irS NICE TO KNOW SOMEONEWHO HAS THE SOLUTION.

-

' ^

11

MicroAge is your SolutionStore . . . that means atMicroAge Computer Storeswe have a wide selectionof time-saving computer-ized business systemsdesigned specifically tosolve the daily cash flowproblems every business-man faces.—i

MicroAge has computer-ized business systems thatquickly and affordably allow you to regain con-trol of your critical accounts receivable... at lastmaking it possible for you to carry out effectivecollection procedures on a consistent basis.MicroAge has accounts receivable programpackages to automatically display and updateaccount information; prepare trial balanceincluding a balance-due and delinquency aging

report, and take care of dozens of other tasksthat eat into your time and profit!

Computerized business systems from the Micro-Age Computer Store are available in the $5,000to $15,000 range, to suit the individual budget ofyour 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 yourarea soon with your business problems, and letus help you with the solution.

MicroAge

co/MPUTer STpre

"The Solution Store" SM

Circle 219 on inquiry card.

Big saleonK's!

16K...S 149.9532K...S 199.9548K... $249.9564K... $299.95

New JAWS-IB

The Ultrabyte Memory Board

Due to the tremendous success of our JAWS I, wewere able to make a special purchase of first-qualitycomponents at below-cost prices for JAWS-IB. Andwe are sharing our cost saving with you. But don't besurprised if the next time you see this ad the priceshave gone up substantially. Better yet, order now,and get the best memory on the market at the bestprice on the market.ONE CHIP DOES IT ALL

laws-IB is the Rolls-Royce of all the S100 dynamicboards. Its heart is Inters single chip 64K dynamicRAM controller. Eliminates high-current logic parts.. delay lines... massive heat sinks ... unreliabletrick circuits. | AWS-IB solves all these problems.LOOK WHAT (AWS-IB OFFERS YOUHidden refresh ... fast performance ... low powerconsumption ... latched data outputs ... 200 NS4116 RAM's ... on-board crystal ... RAM Jumperselectable 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 otherwell-designed S100 computers.

t

IU- IIAV M0N£YBACK TRIAL: Try a lull) wiledand lesled board lor 10 days — Ihen either keepII, ii'ium II lor kit. or simply return II In workingcondition.

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 .

SignaturePrintName

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 productaccording to plan

Arrange for transport

Receive product

Figure 2: The processing of an order. The Smalltalk system supports this processingthrough interaction with its owner in real-time.

ing, an object for the warehouse thatmay or may not have the requiredproduct in stock, and so on. Also,figure 2 could probably be betterdocumented on a Smalltalk computerby animating figure 1.

An Implementation Description

Let us inspect the Production objectof figure 1 and see how it processesthe message bookProductionFacilities:after.. When this message is receivedby the Production object, it consultsits message dictionary to find the cor-responding method. If the productswere simple and the workshop small,the object could contain the currentproduction plan directly and themethod could go something like that

shown in listing 1.

One of the instance variables of theProduction object is the table pro-ductDuration which contains the timeit takes to manufacture various pro-ducts. Looking at this table, we findthe duration for a product. In thissimple example, there is only one re-source, and we find the first availabletime slot for the product by sendingself the message findFreePeriod:after:. This corresponds to calling alocal subroutine in other systems. Wethen reserve the resource for our pro-duct in that period. (These two stepscould have been combined into one,but the separation gives us more flex-ibility in varying the planningalgorithm 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 DiskAverage access time 48 milliseconds

♦ Cartridge tape drive provides:Complete backup in under 10 minutesFile save/reloadSoftware distribution

+ S-100 Bus Intelligent Interface Card

DMA or programmed I/O data transferDisk throughput optimizer

Bootstrap ROM - switch selectableTime of day clock - battery powered

+ Compatible with

CRDMEMCQVECTOR GRAPHICS

north star and other

S-100 based computer systems

+ Installs on any CP/M orMP/M system*

•CP/M and MP/M are registered trademarks ol Digital Research.

EXECUTIVE SYSTEMS, INC.

15300 Ventura BoulevardSherman Oaks, California 91403(213) 990-3457

.-jTiSTATE-OF-THE-ART^>* SS16K/IEEE16K STATIC RAM BOARD

ONLY$17995

Expand your system beyond64K—add universal bankselect option for only $20.00

imriiTnritt(#lHtififfifffffiTmTfi'ifftNew: SS16K/IEEE RAM

It's everything you need in a 16K static RAM board— at the lowst price you've ever seen. TheSS16K/IEEE comes with all the high performancefeatures listed below: And unlike obsolete-designRAM's (without bank select) you can add-on ouruniversal software bank-selector system anytime,now just $20.00. This makes the SS16K/IEEE capa-ble of addressing 2,048 different banks. You can addmemory beyond the 64K limit. You can expand to amulti-terminal system.FEATURES OF SS16K/IEEE :

• Low-power 2114's

• All inputs and outputs meet the proposed IEEEstandards for the S100 bus.

• 4.0 MHz operation.

• Schmitt trigger buffer on all signals for maximumnoise reduction.

• Addressable on 16K boundaries, 0-64K, dip switchselectable.

• Phantom option, dip switch selectable.

• PWR/MWRITE option, dip switch selectable.

• Glass epoxy PC board with gold-plated contactsand 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 universaldecoder works with Cromenco, Alpha Micro,Netronics, most other systems, or your design.On-board dip switches: Bank Select Enable, ResetEnable, Reset Disable, Port Address, Port Data.

• LED Indicator to display status.

10-DAY MONEY-BACK TRIAL: Try a fully wiredand tested board for lOdays—then either keepit, return It for kit, or simply return It In workingcondition.

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 .

SignaturePrintName

City .State .

-Zip.

fekNETRONICS R&IJ Ltd. ■

*K1»333 Litchfield Road, NewMllford.CT06776;

_*■■■*>■■■■■■*■■■«■■■■■■■■■■■■■■■■■■■■■!-

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 thespecified 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

ProductionManager

Jl

^V

JobManager

^

ResourceManager

Resource A

Job 3

Resource C

Figure 3: The internals of the Production object.

The planned completion time isreturned to the sender, in this case theSales object.

Lower-Level System Description

If the user wants more advancedaids for production control, the Pro-duction object would call upon theservices of a subsystem of intercon-nected objects. A possible subsystemis shown in figure 3.

The entrance to the internals of theProduction objects is through a Pro-duction Manager object; it is con-

nected to a Job Manager object and aResource Manager object.

The manufacturing of a product issplit into a number of jobs. Theavailable production facilities (peopleand machines) are split into a numberof resources. Each job is to be per-formed by a single resource. Anatural way to map this into aSmalltalk system is to represent eachjob by a Job object and each resourceby 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 SystemsMultiply the Capabilities ofData General's

RDOSINFOSICOSDOS

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 debugprograms 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 SoftwareGives Data General UsersA Choice!

[MDHARE

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.253.602.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.95B257IAM9517}- 7.95ZBOAS10 - 12.958275 - 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

74C0274C0874C1074CI474C2074C3274C73

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

81308830883388348837

8T380

,-*> MM1402

*•" MM1403

i^i MM1404

\™ MM5013

£•» MM5016

S*™ MM 5055

g'SH MM5056

2-00 MM5057

*-w MM5058MM5060

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 /16" thick with 1 /10" 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

L14H4IR & Visible Detector (TO-92)3/$1.00

SPECIALS GOOD THRU AUG. 1981

CRYSTALS $3.45 ea.

6. I'M MHz8.000MH;

DATEL'S DAC-08EQ

8 bit DAC - $7.95

INTERSIL DG1 IBP ANALOG SWITCH/

2 CHANNEL DRIVERS , $11.50

INTERSIL ICL 7104-12 CPL12 BIT

AID CONVERTER $26.50

REOICON SAD 1024 ANALOG SWITCH

74S11274S13374S13574S13874S13974S14074S15374S151

74S280 1.50.

7 WATT LD 65 LASERDIODE 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 CHIPSMM5314 54.75 MM5316 54.95

2.000 MHz4.000 MHz

3.000 MHz3.57 MHz5.000 MHz6.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 POTS50,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.001UF20V 5/51.00I 2.2UF20V 5/$ 1.003.3UF20V 4/S1.001.7UF35V 4/S1.006.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.50Si 1020 6 20 WATTS .$12.50Si 1050 G 50 WATTS .$27.50

200 PRV 1A LASCR .95

RS232CONNECTORS

DB25Pmale $3.25

DB 25S female ... $4.25HOODS $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 CELLS3" diameter $4.35

7 SEGMENT DISPLAYS

FSC8024-4 digit

C.C.8"display $5.95

FND503C.C..5"...$ .85FND510C.A. .5". ..$ .85DL-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 111 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 30AFAST RECOVERY DIODE t35ns) ..$2.2520KV250MA 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 - .377420 - .17

7425 - .30

7426 - .33

7427 - .307430 - .177432 - .27

7437 - .27

7438 - .277440 - .17

7447744874507472

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

400500

1.001.30

1.651 90

330

4 40

DIP SOCKETS

SPIN .17 22 PIN 3014 PIN 20 24 PIN .3516 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 - 174LS251 -74LS253 -74LS257-74LS2S8 -74LS259 - 174LS256 -74LS273 - 174LS279 -74LS2S0 - 174LS283 -74LS290 -74LS293 -74LS365 -

74LS367-74LS368-74LS373 - 174LS374 - 174LS377 - 174LS386 -74LS390 - 174LS393 - 1

LINEAR CIRCUITS

MAN 82 C.A. Yellow .$ .75

LM301/7'

741CV -741C - .:

LM307 -LM308 -LM324 -

LM339 -LF355 -LF356 -LM311 -LM318

LM348 - .'LM3GB - .!LM361 - 1LM377 - I,LM3B0- I.LM3S2 - .!LM3S3 - 2LM386 - .1LM387 - 1LM553 - 2

LM55S - .1

LM180B- 1.75LM1BE3 - 1.95CA75S - 1.75CA3018 - 1.95CA3046 - .85CA3073 - 1.50CA3080 - 95CA3086 - .95CA3094 - 2.25CA3140 - 1.25LM2901 - .958038CC - 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.50340T-5. 6, 8. 9. 12.

15. 18o;24V,..S .85LAS1412t-12V3AS3.95

POSTAGE ADD 10% FOR ORDERS UNDER $20.00RATES ADD 5% FOR ORDERS BETWEEN $20.00 AND $50.00

ADD 3% FOR ORDERS ABOVE $50.00

TEHMS:FOB CAMBRIDGE. MASS. SEND CHECKOR MONEY ORDER. MINIMUM TELEPHONE,C.O.D. PURCHASE ORDER OR CHARGE 520.00MINIMUM MAIL ORDER $5.00.

SEND S.25 FOR OUR CATALOGFEATURING TRANSISTORS &RECTIFIERS. 145 HAMPSHIREST., 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 sufficienttime available for preventivemaintenance, and that there are nounacceptable overloads. The methodin the Production object that handlesthe bookProductionFacilities:after:message could now be written asshown in listing 2.

One of the instance variables of theProduction Manager object is apointer to the Job Manager object. Byusing that pointer as a communica-tion channel, the ProductionManager object passes most of thework on to the Job Manager object.First, the Job Manager is asked todefine the new product. The JobManager creates the Job objects (seefigure 3), links them to the properResource objects, and returns anidentification that is to be used forfuture references to the product. TheJob Manager is then asked to schedulethe product for manufacturing assoon as possible after the given date.Finally, the Job Manager is askedwhen the product will be completed,and this value is returned to the out-side world (in this case, to the Salesobject). The planning process in theProduction subsystem that is shownin figure 4 is controlled by thismethod.

Definition of New Objects

The first task of the Job Managerobject is to define the new object. Itreceives message defineProduct: whenthis is to be done. The correspondingmethod could be something like thatshown in listing 3. We are referencingtwo instance variables of the JobManager object in this method: pro-ductDescriptions and production-Manager. productDescriptions is anordered collection with one memberfor each product type. Each of thesemembers contains a sequence of smallobjects with the class, duration, andresource type for each of the jobs thatgo into the manufacture of such aproduct. productionManager con-tains a pointer to the ProductionManager object. The result of theproduct 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 & dataentry, like on IBM 3270's!

• Generates it's own screens automatically!

• Handles records up to 4K in length, usingmultiple screen "Pages"!

• Automatic data compression for increaseddisk capacity

• Uses Superkram (See below) access methodfor incredibly fast access, LESS THAN .2SECONDS FOR A RECORD!

• Automatic index creation/maintenance

• Automatic maintenance capabilities

• "Goof-Proof" error handling

• Input can come from VISICALC™ orSOURCE™

DATABASE SELECTION—

• Uses screen masks to form query

• Provides extensive search capabilities

• Search arguments can includearithmetic/boolean functions, multi-fieldcomparisons

• Queries can generate input for automaticdatabase maintenance

• Queries can be stored in "Query Library" andexecuted from menu on demand

• Any number of fields can be queriedconcurrently

• Query output can be routed to disk, CRTreport 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 Pet32K (40 or 80 col.) and 2040/4040/8050 disk ORApple 11 48K with Applesoft or language systemand 2 disk drives or CORVUS.

SUPER KRAM

Now With Multi-Key Capabilities For Apple & Pet

Since KRAM™ was introduced in 1979 it has fast become known as the quickestand most powerful access method for serious Apple and Pet users. Now, afterhundreds 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) toprovide fast, flexible keyed-access to theirdata. NowSUPER KRAM(Keyed Random Access Method), from UnitedSoftwareof America,gives Apple and Pet users the same flexibility, substantiallyincreasing Ihe processing power of the Apple and Pet.

Until SUPER KRAM the only "random access" capability in theApple and Pel consisted of a crude form of "relative record"processing. While this is usable for very simple applications, it fallsfar short of Ihe needs of today's business and analyticalapplications. Using SUPER KRAM records may be processed byany one of multiple "Key" values, which may consist of any kind ofdata: 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.95SUPER KRAM™ Only $175

ATTENTION-EXISTINGSend $15 with original d

KRAM™ 2.0 Regular Features

• Written in 6502 machine codeBasic 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 aKRAM file by more than one key field.

• HI-SPEED READ —This feature allows increased I/O speed up to60% faster during processing of SUPER KRAM read next, readprevious, put and delete requests.

• IMPROVED INDEX ARCHITECTURE — Allowing faster indexsearchers and more efficient disk space utilization.

• INTEGRATED BASIC COMMANDS — Allowing SUPER KRAM'"commands to be coded in-line with Basic, providing easier usageof KRAM than ever before.

• USER-SPECIFIABLE BUFFER POOL — Allowing the user tospecify how many KRAM files are allowed open at one time; willsupport any number of KRAM files.

• LOGICAL RECORDS {KEYS MAY BE NON-UNIQUE) — Recordsadded to the KRAM files are immediately accessible by any of thedefined keys for the file (Automatic Upgrade).

• KRAM 2.0 files are totally compatible with SUPER KRAM

,= UNITEDS~ SOFTWARE^%OF

750 3RD Avenue, AMERICA

New York NY 10017

(212) 682-0347 Telex 640055

****************

Look for the RED-WHITE-BLUEUnited Software Display at your localcomputer dealer, or send check ormoney 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 SHACKTRS-80 MODEL I OR MODEL III !

• MORE SPEED

10-20 times faster than Level II BASIC.

• MORE ROOM

Very compact compiled code plus VIRTUALMEMORY makes your RAM act larger. Variablenumber 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 FORTHFOR 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 IIBASIC & 16K RAM) I89.95-

AND MMS GIVES ITPROFESSIONAL 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 FLOATINGPOINT MATH (L2 BASIC ROM routines plus Complexnumbers, Rectangular-Polar coordinate conversions,Degrees mode, more), plus a full Forth-style Z80 ASSEM-BLER; plus a powerful CROSS-REFERENCER to listForth words by block and line. All on one diskette(requires MMSFORTH V2.0, 1 drive & 32K RAM) . $39.95'

FORTHCOM: communications package provides RS-232driver, dumb terminal mode, transfer of FORTH blocks,and host mode to operate a remote TRS-80 (requiresMMSFORTH 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 & 32KRAM) $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 includemanuals 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. ordersadd 5% tax. Foreign orders add 20%. UPS COD, VISA &M/C accepted; no unpaid purchase orders, please.

Send SASE tor tree MMSFORTH informationGood dealers sought.

Get MMSFORTH products from yourcomputer dealer or

MILLER MICROCOMPUTERSERVICES (B8)

61 Lake Shore Road, Natlck, MA 01760(617)653*136

158 August 1981 © BYTE Publications Inc

bookProductionFacilities: after i

Production

ProductionManager

tplrjnnedCompletionTim'e

defineProduct:

Job

Manager

Create job objects

toroductldentification

ProductionManager

Schedule product

schedule:after:

JobManager

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 andcompletion 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 totheir 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: (descriptionresourceType).

job resource: resourceObject].productDictionary at: productldentification put: jobList.t productldentification.

tionary. In this dictionary, each key isa product identification; the cor-responding entry is the sequence ofjob 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 goingsystematically through the jobdescriptions. For each description, wecreate a new Job object of the givenclass, 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 seemtough to find exactly the right one tor your application. Somemodels may offer the speed you need, others the communicationsflexibility and still others the forms handling capability. But noprinter 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 asCRT slave copy, remote terminal networks and small to mid-rangesystems. 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 belowcompetitive units.

High Speed Printing-Bidirectional, logic-seeking printing at180 cps offers throughput of over 200 Ipm on average text. A9-wire printhead life-tested at 650 million characters generatesa 9x7 matrix with true lower case descenders and underlining.

Non-volatile Format Retention-a unique programming keypadfeaturing a non-volatile memory allows the user to configure theDS180 for virtually any application. Top of form, horizontal andvertical tabs, perforation skipover, communications parameters

and many other features may be programmed and stored from thekeypad.When your system is powered down, the format is retainedin memory. The DS180 even remembers the line where you stoppedprinting. There is no need to reset the top of form, margins, baudrate, etc....it's all stored in the memory. If you need to recon-figure for another application, simply load a new format into thememory.

Communications Versatility-The DS180 offers three interfacesincluding RS232, current loop and 8-bit parallel. Baud rates from110-9600 may be selected. A 1K buffer and X-on, X-off hand-shaking ensure optimum throughput.

Forms Handling Flexibility-Adjustable tractors accommodateforms from 3"-15". The adjustable head can print 6-part formscrisply and clearly making the DS180 ideal for printing multipartinvoices and shipping documents. Forms can be fed from the frontor the bottom.

If you would like more information on how the DS180's low-costtotal printer package can fill your application, give us a call atDatasouth. The DS180 is available for 30-day delivery from oursales/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-assemblersto run under CP/M.* Extensive pseudo-ops include full listing control, nestedconditonals, mnemonic synonyms, andinclusion of external source files. Gen-erate object file, assembly listing, andsymbol table from source code for ninepopular 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 eachManual only $25.00

8048 DEVELOPMENT PACKAGE

Now you can use the 8048 family ofsingle-chip microcomputers withoutbuying expensive equipment. Develop8048 software with the XASM48 cross-assembler. Then plug our EPR-48 boardinto your S-100 system to program the8748 EPROM version.(Similar packagesfor 8051 and TMS9940E coming soon.)

8048 Development Package . .. $574.00EPR-48 alone $449.00

PROM EMULATOR BOARD

Debug dedicated systems quickly. OurPSB-100 PROM Emulator is an S-100board with up to 8K of RAM. Cable with24-pin plug replaces PROM(s) in yourtarget system for instant program test-ing.

PSB-100 PROM Emulator

$445.00 w/2K RAM

'Trademark ol Digital Research

804 south state st.

dover, delaware/19901 /302-734-0151

Visa and Maslercharge accepted. We ship onB" single-density. Ask us about other formats.OEM AND DEALER INQUIRIES INVITED.

Job Manager

/\

/

\

Class for newJob type A

Class for newJob type B

Class for newJob type C

Figure 5: Sub-objects in the ]ob Manager actually create the new ]ob objects.

Object

messagereceived

pointer.pointer -

pointer to class

communicationchannels toother objectsClass

-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 themunless he wants to become a real Smalltalk expert.

connect itself to its Resource object.From figure 3, we see that there is nodirect connection between the JobManager object and the resources.We therefore have to go via the Pro-duction Manager object to get thepointer to the Resource object that wegive to the new Job object.

We finally insert the new list ofjobs into the productDictionary in theProduction Manager object andreturn the product identification.

The Job Manager is built so thatJob 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 Solutionfor the Two Printer Problem.

HIGH SPEEDDATA 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 processingspeeds from 165 cps to 250 cps.

Fully adjustable tractors and a friction feedplaten provide precise forms handling for pin-feed and single sheet paper.

Complete "Dot Control" graphics is standardwith resolution to 120 x 144 dots per inch.

Interfacing is easy with both E.I.A. RS-232Cserial and an ASCII parallel port.

LETTER QUALITYWORD PROCESSING

The Dual-Mode 200 also features letter per-fect print you will be proud to use for businessletters and reports. Letter Mode speeds rangefrom 42 cps to 60 cps.

The standard Titan 10 pitch font is comple-mented by an array of optional fonts includingElite 12 pitch, italics, proportionally spaced,OCR-A, scientific and foreign character sets.

Up to 12 font selections may be stored in theprinter 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 printerproblem. 0

The Dual-Mode 200 Printerfor 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'uusers agree — SoftwareHowsproducts set a new standard of excellence for solution-orientedsoftware. Instant installation for your system, powerful "wordprocessing-like" editing facilities and consistentoperatingfeatures make this SolutionWare'" the only serious choice foryour needs.

Payroll

Why settle for a piecewhen you can havethe whole pie?!

At last! An integrated system of businesssoftware ideal for you!

How often have you purchased softwareon ly to be disappointed by its features orfrustrated by the inability of the differentprograms to work together? Are you tiredof entering the same data into your Pur-chase Ordering System when a part is or-dered , into Inventory when it arrives, Payableswhen it's invoiced and General Ledger whenit's paid for? Can you easily link your Account-ing Data Base with your word processing softwareto create personalized letters, reports, notices andannouncements?* Does your Point of Sale. OrderEntry software also save a keyed file which may laterbe Sorted for over 60 customer characteristics and usedto generate personalized sales literature?If you don't like your answers to these questions, your accountingsoftware is costing you money!

The Data Base Integration'"System from SoftwareHows" does allthis and much morel This newest software product offers theperfect blend of performance, price and flexibility. Every singletransaction feeds your master records. This common data baseapproach organizes all your business information so that everymodule is fully interactive. The result of this vast and easy to usedata base is unique. You'll be amazed at how much better you'llunderstand the operation and cash flow of your business! Andbetter understanding means better planning — and higher profitsfor you!

The Data Base Integration System is built around the basic fouraccounting tools: General Ledger provides those all importantbalance sheets and income statements, Accounts Receivable andPayable take care of invoice control in a jiffy, while Payroll withCost Accounting does your payroll and provides cost effective-ness data. All packages fully interact and are self-checking. Theamazing Order-Right'"order entry system and MicroDaSys In-ventory, give you one of the most complete sales managementand material requirements systems available. Output is processedwith lightning speed and meticulous accuracy: invoices, shippinglabels, charge slips and COD tags. Orders automatically interactwith Inventory and Receivables. If your stock is too low, Inventoryrecommends the best source of supply and approximate prices topay. Upon authorization, a purchase order is generated. Thereceiving department verifies receipt and the invoice is trans-ferred to Accounts Payable.

The Data Base Integration Business System is $2500. And that'sfor all seven packages! Now there's a deal too good to pass up!It includes over 1500 pages of user documentation, and a supplyof computer forms. With our unique DBI Installation Program,getting the complete package up and running on your systemis a breeze. Best of all, complete CBASIC source code is includedwith every CBASIC package. Current disk formats include 8" soft-sectored, 5" hard- and soft-sectored.

Call or Write for the SolutionWare" to meetyour software needs — today!

□□

Ask your dealer why our

business software is the best!

A Complete 200 page Overview of allSoftwareHows SolutionWare is yoursfor 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 theywould differ in their implementation.For example, a job might be: wait for24 hours while a resin glue is curing.This does not need any resources, andthe planning of such a job would bevery simple—wait 24 hours. Anotherkind of job, such as pouring concrete,should not span a weekend, sincejoining old and new concrete couldgive weak spots in the product.

As is the case with Job objects, weoften find that several objects sharethe same message protocols and pro-cess the messages with the samemethods. Their only difference is thatthey appear in different places in thetotal 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 sameclass.

It would be very inefficient if eachobject of a class stored a replica of themessage dictionary and all methods,and it would be extremely tiresome ifwe actually had to program each ob-ject by itself. We, therefore, use theconcept of layering to let each andevery object enlist the services of itsclass object in order to decode an in-coming message and to select the pro-per method to process it. Thismechanism is illustrated in figure 6.As in so many other parts ofSmalltalk, we find a recursive argu-ment.

Many classes are very similar; theydiffer only in the handling of a fewmessages. The different kinds of Jobobjects are a case in point. It seemsreasonable to let a class object enlistthe services of a superclass objectwhenever it is called upon to executemethods it shares with other classes.

Program to Recover"Crashed" Discettes AUTOMATICALLY!

Maybe it was a lightning storm, static from the rug, or justtoo late at night to be working. Whatever the cause, when adiscette "crashes" and valuable data or programs aredestroyed, the loss is enormous, both in time and money.

DISK DOCTOR is a program which automatically recoversbad discettes. Best of all DISK DOCTOR does not require anyknowledge of CP/M file structure! If you can operate CP/M,then you can use DISK DOCTOR. The entire system is menudriven with key information displayed.

DISK DOCTOR is comprised of five "wards", each capable ofperforming 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. Thesmall amount of user interaction is explained in the manual as well asprompted by DISK DOCTOR.

Requires: 48K CP/M, two drivesneeded 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 ASSOCIATESP.O. BOX 1628CHAMPAIGN, IL 61820(217)359-2112

Technical Hot Line: (217) 359-2691(answered only when technician isavailable)

CP/M REGISTERED TRADEMARK DIGTAL RESEARCH

Circle 351 on inquiry card.

August 1981 © BYTE Publications Inc 163

G®00gQQDu0®[7G®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

VidexVideoterm

$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-80Softcard

$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 anythingthrough the mails you never really know whoyou 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 tosee that you not only get the information andhelp you need to intelligently place your order,but also that the price we give you is the bestyou can get anywhere.

We've been around. Consumer Computershas been actively serving people's computerneeds 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 dealingwith people that are thoroughly familiar with thebusiness of selling computers. We pledge tosee that any order placed with us is handledwith the utmost efficiency and care, from thetime the order is placed until it arrives at yourdoorstep. And if you have a problem, we thinkyou will find that the expertise of our Service De-partment Is unmatched for the quality of theirwork, 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 samesuperclass; we get a tree-shaped classstructure as shown in figure 7. Notethat the purpose of this structure isconvenience in programming and ef-ficiency in implementation; it belongson the lowest levels of the systemhierarchy and is not part of the struc-ture of the application system.

Future Experiments

When personal computing becomessufficiently entertaining and in-teresting to become a widespread

tool, the new user of a Smalltalksystem is likely to begin by using itsready-made application systems forwriting and illustrating documents,for designing aircraft wings, for doinghomework, for searching through oldcourt decisions, for composing music,or whatever. After a while, he maybecome curious as to how his systemworks. He should then be able to"open up" the application object onthe screen to see its component partsand to find out how they worktogether. 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 attractivestock forms on the market. From the people whose only business isyou and your customer.

• OVER 200 STOCK FORMS TO CHOOSE FROM

• 7-WORK1NG DAY GUARANTEED RUSH SHIPMENT

• PERSONALIZED SERVICE AND QUALITY YOU WILLLEARN TO COUNT ON

CALL NOW TOLL FREEFor 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

NATIONWIDE800-854-2750

Ch©CkS IN CALIFORNIA

TO-GO 800-552-8817

^Ue/l ^**T &t4fo*twi4- 76a /i&en*taicvc 76&t "DeAviue

something like figure 1 together withhis usual user interface. By exercisingthe application commands, the com-puting process could be illustrated onthe system diagram. Using Smalltalkto document itself in this mannershould make it possible to make somenovel and extremely powerful systemdescription tools.

The next thing the user might wantto do is to build new systems similarto the one he has been using. A kit ofgraphical building blocks would letthe user compose a new system byediting the system diagram on thescreen. While the Trip system (asdescribed in reference 2) is not a pro-per kit, it could be a good source ofideas to the experimenter on buildingsuch systems.

Finally, the expert user would wantto make his own kits. Even here, it isimportant that he sees only what heneeds and that all unimportant detailsare suppressed. Since what is impor-tant in one context might be unimpor-tant in another, and vice versa, theconcepts of filters (see reference 1)will be an essential ingredient for theexperimenter when he develops toolsfor these expert users.

Much experimenting needs to bedone before we learn how to makesystems that are self-documenting onany level and that provide a smoothand stumble-free transition from onelevel to the next. It is hoped that theavailability of Smalltalk will lead togreat activity in this field, to thebenefit of all future computer users. ■

References

1. Goldberg, Adele and David Robson. "AMetaphor for User Interface Design." Pro-ceedings of the University of HawaiiSystems Science Symposium, January1979, Honolulu.

2. Gould, Laura and William Finzer. "A Studyof TRIP: A Computer System forAnimating Time-Rate-DistanceProblems." Proceedings of the IFIP WorldConference on Computers in Education(WCCE-81), Lausanne, Switzerland, July1981.

3. Ingalls, Daniel H H. "The Smalltalk-76 Pro-gramming System. Design and Implemen-tation." Conference Record of the FifthAnnual ACM Symposium on Principles ofProgramming 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 synthesizerthat has every computer talking.

• Unlimited vocabulary

• Built-in text-to-speechalgorithm

• 70 to 100 blts-per-secondspeech synthesiser

Type-'N-Talk]u an important technologicaladvance from Votrax, enables your com-puter to talk to you simply and clearly —with an unlimited vocabulary. You canenjoy the many features of Type-'N-Talk,"the new text-to-speech synthesizer, forjust $375.00.

You operate Type-'N-Talk"by simply typ-ing English text and a talk command.Your typewritten words are automaticallytranslated into electronic speech by thesystem's microprocessor-based text-to-speech algorithm.

The endless uses ofspeech synthesis.

Type-'N-Talk'"adds a whole new world ofspeaking roles to your computer. You canprogram verbal reminders to prompt youthrough a complex routine and make yourcomputer announce events. In teaching,the computer with Type-'N-Talk'"canactually tell students when they're rightor wrong — even praise a correct answer.And of course, Type-'N-Talk'"is great funfor computer games. Your games come tolife with spoken threats of danger, re-minders, and praise. Now all computerscan speak. Make yours one of the first.

Text-to-speech is easy.

English text is automatically translatedinto electronically synthesized speechwith Type-'N-Talk.'" ASCII code fromyour computer's keyboard is fed toType-'N-Talk'uthrough an RS 232C inter-face to generate synthesized speech,lust enter English text and hear the verbal

response (electronic speech) through youraudio loud speaker. For example: simplytype the ASCII characters representing"h-e-1-l-o" to generate the spokenword "hello."

TYPE-'N-TALK "has itsown memory.

Type-'N-Talk'K'has its own built-in micro-processor and a 750 character buffer to holdthe words you've typed. Even the smallestcomputer can execute programs and speaksimultaneously. Type-'N-Talk,"doesn't haveto use your host computer's memory, or tie itup with time-consuming text translation.

Data switching capabilityallows for ONLINE usage.

Place Type-'N-Talk "between a computeror modem and a terminal. Type-'N-Talk"can speak all data sent to the terminalwhile online with a computer. Informationrandomly accessed from a data base canbe 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 speechand visual data to be independently senton a single data channel.

Selectable features makeinterfacing versatile.

Type-'N-Talk'"can be interfaced in severalways using special control characters.Connect it directly to a computer's serialinterface. Then a terminal, line printer, oradditional Type-'N-Talk'"units can beconnected to the first Type-'N-Talk)"eliminating the need for additionalRS-232C ports on your computer.Using unit assignment codes, multipleType-'N-Talk'"units can be daisy-chained.Unit addressing codes allow independentcontrol of Type-'N-Talk'"units andyour 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 (datarate: 70 to 100 bits per second)

• 750 character buffer

• Data switching capability

• Selectable data modes for versatileinterfacing

• Baud rate (75-9600)

• Data echo of ASCII characters

• Phoneme access modes

• RS 232C interface

• Complete programming and installationinstructions

The Votrax Type-'N-Talk"is one of theeasiest-to-program speech synthesizers onthe market. It uses the least amount ofmemory and it gives you the most flexiblevocabulary available anywhere.

Order now. Toll free.

| Call the toll-free number below toI order or request additional infor-mation. MasterCard or VisaI accepted. Charge to your creditI card or send a check for $375.00

plus $4.00 delivery. Add 4% salesI 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-Talkrwis 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 thequality of an interactive program-ming system and to the interactiveapplications that go along with such asystem. Qualitatively, people thinkwith images, and any system that isincapable of manipulating images isincapable of augmenting suchthought. Quantitatively, a person canvisually absorb information equiva-lent to millions of characters a se-cond, while the normal rate forreading text is less than 100 charactersa second.

For the graphical interaction cycleto be complete, a computer systemmust provide a channel for input inthe visual domain as well. While theprojection of images from the realmof thought into the space of electronicinformation seems an impossibletask, a well-designed pointing devicecan effectively harness the computer'sgraphical output capability to expressgraphical input from the user. Givensuch a pointing device, the process ofselecting from graphical objects, suchas text displayed on the screen, isnatural and rapid. By tracking thepointer with a program that simulatesa pen or paintbrush, the visual inputchannel can be extended to includeline drawing and freehand sketches.

The purpose of graphics in theSmalltalk system is to support thereactive principle:

Any object accessible to the usershould be able to present itself in ameaningful way for observation andmanipulation.

Meaningful presentation of any ob-ject in the system demands maximumcontrol over the display medium, and

many technologies fall short in thisrespect. One approach that providesthe necessary flexibility is to allow thebrightness of every discernible pointin the displayed image to be in-dependently controlled. The simplestimplementation of this approach is acontiguous block of storage in whichthe setting of each bit (1 or 0) ismapped into dark or light illumina-

■ *w *¥'^»'*;.

■

*_ . I

hzl

XI h'OK ...

Photo 1: An example of a Smalltalk-80video display. Note the multiple win-dows, the combinations of text andgraphics, and the pointer in the windowmarked "UserView workspace."

tion of the corresponding picture ele-ment, or pixel, when displaying orcombining with other images. Theblock of storage is thus referred to asa bitmap, and this type of display iscalled a bitmap display. The simplestform of bitmap allows only twobrightness levels, white and black.The Smalltalk-80 graphics system isbuilt around this model.

Photo 1 shows a typical view of theSmalltalk-80 system, and it illustratesthe wide range of graphical idiom

implied by the reactive principle. Rec-tangular areas of arbitrary size arefilled with white, black, and varioushalftone patterns. Text, in varioustypefaces, is placed on the screenfrom stored images of the individualcharacters. Halftone shades are"brushed" by the user to createfreehand paintings. Moreover,although not shown on the printedpage, images on the display may bemoved or sequenced in time to pro-vide animation.

Graphical Storage—Forms

Simple images are represented byinstances of class Form. A Form hasheight and width and a bitmap thatindicates the white and black regionsof the particular image beingrepresented. Consider, for example,the arrow-shaped Form that appearsin the lower-right window of thescreen image in photo 1. The internalrepresentation of this Form isdepicted in figure 1. Its height is 16,its width is 8, and its appearance isdescribed by the pattern of ones andzeros (shown as light and darksquares) in its bitmap. The height andwidth of the Form serve to impose the

0

5

10

0 5

JL-L

Figure 1: A simple Form representing thecursor in photo 1.

168 August 1981 © BYTE Publications Inc

11 12 13 14

The new Memorex® M Formula magnetic coatinghas been widely accepted by major OEM drive manufac-turers. Now M Formula is redefining performance andreliability standards for removable rigid disc products onall 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 perinch —of any rigid media in the industry.With higher performance margins andprotection against random errors, you'reassured greater data integrity.

Our revolutionary Hi/Oxide coatingprovides higher coercivity, which allows

stronger and more consistent magnetic properties. Hi/Oxidecoating also forms a uniformly smooth, hard surface thatsets 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, 1125 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 = 67destY = 10

width = 7height = 13

sourceForm:

sourceX = 248 10sourceY = 0

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 unstructureddata in the bitmap. We will return tothe representation of Forms in moredetail later in this article.

A complex image can be rep-resented in either of two ways: by avery large Form, or by a structurethat includes many Forms and rulesfor combining and repeating them in

order to produce the desired image.The freehand drawing in the center ofphoto 1 is an example of the former,and the text below it is an example ofthe latter.

The large unstructured Form has anadditional use of great importance: itcan be presented to the display hard-ware as a buffer in memory of theactual data to be shown on the

display terminal. We refer to theForm which is so used as thedisplayForm. Since the interface to thehardware is through a Form, there isno difference between combiningimages internally and displayingthem on the screen. Animation can bedone simply in this manner: one Formserves as the displayForm while thenext image to be displayed is

An AcousticCoupler 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 youragent we will buy computerson the wholesale market foryou. Our fee is one fourth ofwhat we save you off list price.Access to over 500 manufac-turers. Minimum fee of $75 perV order. Call for other prices. j

COMPUTERS

Alpha Micro 10MEG

Altos 8000-10

Altos 8000-15

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 eachimage is completed, the two Formsexchange roles, causing the newimage to be displayed and making theForm with the old image available forbuilding the next image in sequence.

Graphical Manipulation—BitBlt

To support a wide range ofgraphical presentation, we havespecified a kernel operation on Formsthat we call BitBlt. All text andgraphic objects in Smalltalk aredisplayed and modified using thissingle graphical primitive. The authorwrote the original design in October1975 with the advice and support ofDiana Merry. After five years' ex-perience, we have felt the need foronly minor changes, and these im-provements are largely due to BobFlegal and Bill Bowman. The re-mainder of this article describes thecurrent BitBlt primitive in detail—itsspecification, examples of its use,and, finally, the details of its im-plementation.

One of the first computers onwhich a Smalltalk system was im-plemented had an instruction calledBLT for block transfer of 16-bitwords. The name BitBlt derives fromthe generalization of data transfer toarbitrary bit locations, or pixels.BitBlt is intentionally a very generaloperation, although most applica-tions of it are graphically simple, suchas "move this rectangle of pixels fromhere to there."

A specific application of BitBlt isgoverned by a list of parameters thatincludes:

• destForm—a Form into which pixelswill be stored by BitBlt

• sourceForm—a Form from whichpixels may be copied

• halftoneForm—a Form containing aspatial halftone pattern

• combinationRule—an Integer speci-fying the rule for combining cor-responding pixels of the sourceFormand destForm

• destX, destY, width, height-Integers specifying the rectangularsubregion 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 thesubregion to be copied from thesource

In the remainder of this section, weexamine the effect of each of theseparameters in greater detail.

Source and Destination Forms

Figure 2 illustrates the process ofcopying a character of text into aregion on the display. This operationwill serve to illustrate most of thecharacteristics of BitBlt. The copyoperation involves two Forms, asource and a destination. The sourcein this example is a font containing aset of character glyphs depicted insome uniform style and scale andpacked together horizontally. Pixelsare copied out of the source (the font)and stored into the destination (thedisplay). The width and height of thetransfer correspond to the charactersize. The source x and y coordinatesgive the character's location in thefont, and the destination coordinatesspecify the position on the displaywhere its copy will appear.

Clipping Rectangle

In its specification, BitBlt includes arectangle that limits the region of thedestination that can be affected by itsoperation, independent of the otherdestination parameters. We call thisrectangle the clipping rectangle.Often it is desirable to display a par-tial window onto larger scenes, andthe clipping rectangle ensures that allpicture elements fall inside thebounds of the window. By its inclu-sion in the BitBlt primitive, the clip-ping function can be done efficientlyand in one place, rather than beingreplicated in all application pro-grams. Figure 3 illustrates the resultof imposing a clipping rectangle onthe example of figure 2. Pixels thatwould have been placed outside theclipping rectangle (the left edge of the"N" and half of the word "the") havenot been transferred. If othercharacters had fallen above or belowthis rectangle, they would have beenclipped 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 versionsof Synertek Systems' SYM single board computer— the versatile, universal evaluation board.

Over 20,000 SYM-1 boards have been used forlearning about and evaluating 6502 microprocessorsfor specific applications. OEM SYM boards are used inhundreds of products.

Now Synertek Systems presents the new SYM-1 /68for 6802 microprocessors, and the SYM-1 /69 for 6809microprocessors. These boards are designed to reliablyperform the same functions as the SYM-1 board forthese popular microprocessors. Each SYM board iscomplete and ready-to-use with its own version ofthe 4K byte ROM SUPERMON monitor firmware.

Modification kits are also available to quickly andeasily convert existing SYM-1 boards to SYM-1 /68 orSYM-1 /69 microcomputers.

Build on your microprocessor knowledge withthe 'universatility' of SYM microcomputer boards fromSynertek Systems.

Every SYM-1, SYM-1 /68, and SYM-1 /69 singleboard computer features:

• 28 double-function keypad with audio response

• 4K byte ROM resident SUPERMON with over 30standard monitor functions and expandable forindividual 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 remotecontrol, 185 bytes/second cassette format, TTY andRS-232-C, system expansion bus, four I/O buffers,and oscilloscope single-line display

SynertekSystems

RO. Box 552 Santa Clara, CA 95052Telephone: (408) 988-5689TWX: 910-338-0135

Dealer inquiries invited.

destForm:

clipX = 6clipY = 4clipWidth = 58clipHeight = 23

10 20 30 40 50

0 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 witha regular pattern that gives the effectof gray shading or texture. To thisend, BitBlt provides for reference to athird Form (halftoneForm) containingthe desired pattern. This Form is

restricted to a height and width of 16.When halftoning is specified, this pat-tern is effectively repeated every 16units horizontally and vertically overthe entire destination. There are four"modes" of supplying pixels from thesource and halftone controlled by

eliding (supplying nil for) sourceFormor halftoneForm:

• Mode 0—No source, no halftone(supplies solid black)

• Mode 1—Halftone only (supplieshalftone pattern)

Peachtree Software™ Announces-

TM

SALES TRACKER

k3olved! The case of ineffective businesscontrol. Now Sales Tracker microcompu-ter software gives business managersunprecedented control over lifestreamactivities.

You get ANSI COBOL, floppy and harddisk support, and a modular format thatlets 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 itemtomer, item by customer, and customer by item.

Order Processing: Handles multipleshipping locations, automatic discount-ing, partial shipments, back orders,demand invoicing, full order status andmaintenance.

Inventory: Multiple companies on onedisk; reports by class, warehouse, pricelevel and quantity break; automaticprice updating; maintains items option-ally by case, lot or serial number.

Values to why Sales Tracker is so easy touse? Excellent documentation, sampledata files, conversant menu-driven pro-grams, and standardized formats. For information call800-835-2245 ext. 35 (Kansas, 800-362-2421, ext. 35)

PEACHTREE SOFTWARE, 3 Corporate- Square, Suite 700, Atlanta, Georgia 30329 (404) 325-8533Telex 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! FKt ,_ '

d «0 dkm« V UIEW,HC

lH0O«Tti/ P "**

IkMjAfcfr

This high quality professional computer monitorprovides sharp, clear display of up to 80 characters by25 lines of text, making it ideal for word processing aswell as standard business applications.

Lightweight industrial grade construction givesmaximum portability with reliable operation.

Color monitor also available for Apple,' AtariB andother popular computers. See your authorized NECAmerica Dealer.

80 character display makes it ideal for wordprocessing and scientific applications.

SEC

■■ -vv r Cc nputei

Of AFJ

NEC America, Inc.

1401 Estes Avenue

Elk Grove Village, IL 60007

modeOall ones

modelhalftone only

mode 2source only

Figure 4: BitBlt's four possible source modes.

mode 3source AND halftone

• Mode 2—Source only (suppliessource pixels)

• Mode 3—Source AND halftone(supplies source bits masked byhalftone pattern)

Figure 4 illustrates the effect of thesefour modes with the same source and

Source Before S

destination and a regular grayhalftone.

Combination Rule

The examples above have all storedtheir 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 anddestination cells. Each combination is given a number equal to the sum of the cells thatare darkened. See figure 6 for examples.

element S with the correspondingdestination element D to produce thenew destination element D'. Such arule must specify a white or blackresult for each of the four cases ofsource being white or black anddestination being white or black.

Figure 5 shows a box with four cellscorresponding to the four cases en-countered when combining source (S)and destination (D). For instance, thecell numbered 2 corresponds to thecase where the source was black andthe destination was white. By ap-propriately filling the four cells withwhite or black, the box can be madeto depict any combination rule (thereare sixteen possible rules altogether).The numbers in the four cells relatethe rule as depicted to the integervalue 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 ofyour computer equipment at a fraction of the cost.

Perhaps that's why more people throughout the worldrely on Cover Craft Dust Covers than aVisit your loc

Oust Covers lor most terminals, disks, printers, modems, etc. y'

$8.95-$15.95

C Shipping extra.

COVER CRAFTccrpPO 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® withgreat care. They deliver pure regulated powerat the proper level, improving the reliability ofyour computer. Typically, the output voltagesremain virtually constant, even when the pow-er line voltage varies widely. The MicroFrame®will never notice a brown-out.. .and it provides100 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, aregulated power system and a rugged chassisproduces 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 3D" = S

rule 7D" = SORD

rule 1D' = SANDD

should be black wherever the sourceor destination (or both) was black,we would blacken the cells numbered4, 2, and 1. The associated integer forspecifying that rule is the sum of theblackened cell numbers, or 4 + 2+ 1 = 7.

Figure 6 illustrates four commoncombination rules graphically. Eachis described by a combinationdiagram, its integer rule number, andthe actual logical function being ap-plied. The earlier case of ORing canbe seen in left center of the figure.This case is often described as paint-ing "under" the destination becauseexisting black areas remain black.

Smalltalk Access to BitBlt

In this section, we present theSmalltalk interface to BitBlt and takea detailed look at the application ofBitBlt to text display and line draw-ing. In preparation, you will needsome additional context, which wepresent here before describing classBitBlt.

Besides class Form, two additionalclasses 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 thetop left corner of a Form (or otherpoint of reference). By convention, xincreases to the right and y down,consistent with the layout of text on apage and the direction of TV scan-ning. A Rectangle contains twoPoints: origin, which specifies the topleft corner, and corner, which in-

Figure 6: Four common combination rules.

dicates the bottom right corner of theregion 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 foraccess to all the coordinates involvedand other operations such as intersec-tion with other rectangles. It may beuseful to note the parallel betweenclasses Point, Rectangle, Form andclasses 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 completerepresentation of the Form shown infigure 1. The width and height arestored as Integers. The actual pixelsare stored in a separate instance ofclass Bitmap. Bitmaps have almost noprotocol, since their sole purpose is toprovide storage for Forms. They alsohave no intrinsic dimensionality,apart from that projected by theirown Form, although the figure retainsthis structure for clarity. It can beseen that space has been provided in

Form

bitmap

width =

8

height =

16

rule 6D' = S XOR D

the Bitmap for a width of 16; this is amanifestation of the hardwareorganization of storage and process-ing into 16-bit words. Bitmaps areallocated with an integral number ofwords for each row of pixels. The in-tegral constraint on row sizefacilitates movement from one row tothe next during the operation of BitBltand during scanning of the displayscreen by the hardware. While thisdivision of memory into words issignificant at the primitive level, it isencapsulated in such a way that noneof the higher-level graphical com-ponents in the system need considerword size.

Class BitBlt

The most basic interface to BitBlt isthrough a class of the same name.Each instance of BitBlt contains theparameters necessary to specify aBitBlt operation. The BitBlt protocolincludes messages for initializing theparameters and one message,copyBits, that causes the primitiveoperation to take place. The classtemplate 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-BUSBOARDS

Announcinga major pricereduction.

MOSTEK,

Mostek, the world's largestmanufacturer of STD-Z80 BUSmicrocomputer boards, is cuttingboard prices by an average of 30%.How can we do it? High volume.Automated equipment. Advancedmanufacturing techniques.

Our price reduction is evidencethat STD-Z80 BUS microcomputerboards are following traditionalVLSI learning curve trends. Andnow, more than ever, these sys-tem level components are thecost-effective edge. For prototyp-ing. For new designs. For rede-signs. For volume applications.

STD-Z80 BUS microcomputerboards give you faster turn-around. More flexibility. Moreoptions. More effective use of anengineer's time. And now a pricereduction 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, phone762.18.80.

STD-BUS

BOARD PRICES

REDUCED BY 30%

11981 Mostek Corporation

class name

BitBIt

superclass

Object

instance variable names

destForm sourceForm halftoneFormcombinationRule destX destY width heightclipX clipY clipWidth clipHeightsourceX sourceY

instance messages and methods

setup

destForm: forml sourceForm: form2 halftoneForm: form3 rule:rule destRectangle: destRectangle clipRectangle: cllpRectanglesourceOrlgln: 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 situationoccurs frequently in the graphicskernel, as demonstrated in the follow-ing section.

Image Synthesis of Text

Much of the graphics in theSmalltalk system consists of text andlines. These high-level entities aresynthesized by repeated invocation ofBitBIt. In this section and the next, weexamine these two important applica-tions more closely.

One of the advantages derivedfrom BitBIt is the ability to store fontscompactly and to display them usingvarious combination rules. The com-pact storage arises from the possibili-ty of packing characters horizontallyone next to another (as shown infigure 2), since BitBIt can extract therelevant bits if supplied with a tableof left x coordinates of all thecharacters. This is called a strike for-mat, from the typographical termmeaning a contiguous display of allthe characters in a font.

The scanning and display of text isperformed in the Smalltalk-80 systemby a subclass of BitBIt. This subclassinherits all the normal state, withdestForm indicating the Form inwhich text is to be displayed andsourceForm indicating a Form con-taining all the character glyphs sideby side (as in figure 2). In addition,this subclass defines further state in-formation, including:

The state held in an instance of BitBItallows multiple operations in arelated context to be performedwithout the need to repeat all the

setup. For example, when displayinga scene in a display window, thedestination Form and clipping rec-tangle will not change from one

• text—a String of Characters to bedisplayed

• 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 yourcanned software? Our Z-80 Disassemblerrecreates assembly language source files fromabsolute code enabling users to easily tailorprograms to meet their specific needs. ThePreconditioner works with the Disassembler todecode ASCII.

Credit cards Immediate service, tree 24 hr phone - we willcredit 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 organizedaround user-created text files, embellishedwith simple control commands, which supportssuch 'BIG GUYS' features as Automatic Foot-noting, Table Spacing, Heading, Paging, Left& Right Margins, Proportional Spacing andMORE, at a 'LITTLE GUYS' price tag.

State system & controller Allow time for surface mailTrademarks 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 oftext, 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 asthe standard Apple II- display. And by utilizing a 7 by 9 character matrix, lower case letters have true descenders. Butthis is only the start.

VIDEOTERM, MANUAL,SWITCHPLATE

VIDEOTERM

OtherBoards

I'llU'llH,-,/

B123456789.•;<•>?fflBCDEFGHIJKLMNOPORSTUVHXYZm*.

'dbcdefghijk Innop q r s t v v ii x y z { ! ) * I

7X12 MATRIX18X80 OPTIONAL

! 'Kit ' ( )!♦, -. /112345(789 : i < = > ?(ABCDEF6HIJKLHN0MISTIVIXTZtMt.

'jbcdtfjhijklinopqrstuvuxyz{!)"|

7X9 MATRIX24X80 STANDARD

AdvancedHardwareDesign

AvailableOptions

VIDEOTERM lists BASIC programs, both Integer and Applesoft, using the entire 80

columns. Without splitting keywords. Full editing capabilities are offered using theESCape key sequences for cursor movement. With provision for stop/start textscrolling utilizing the standard Control-S entry. And simultaneous on-screen displayof text being printed.

Installation of VIDEOTERM in slot 3 provides Pascal immediate control of thedisplay since Pascal recognizes the board as a standard video display terminal andtreats it as such. No changes are needed to Pascal's MISC.INFO or GOTOXY files,although customization directions are provided. All cursor control characters areidentical 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 processorsare 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 haveno 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 easymaintenance. Add to that 2K of on-board RAM, 50 or 60 Hz operation, and provision of powerand 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 whitefield. PROMs containing alternate character sets and graphic symbols are available fromVidex. A switchplate option allows you to use the same video monitor for either theVIDEOTERM or the standard Apple II* display, instantly changing displays by flipping asingle toggle switch. The switchplate assembly inserts into one of the rear cut-outs in theApple II" case so that the toggle switch is readily accessible. And the Videx KEYBOARDENHANCER can be installed, allowing upper and lower case character entry directly fromyour Apple II" keyboard.

1K of onboard ROM firmware controls all operation of the VIDEOTERM. No machinelanguage patches are needed for normal VIDEOTERM use.

Firmware Version 2.0

CharactersOptions

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 availablethrough your local dealer or direct from Videx in Corvallis. Oregon. Or send for the VIDEOTERM OwnersReference Manual and deduct the amount if you decide to purchase. Upgrade your Apple II' to full terminalcapabilities 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 yourword processor software: the KEYBOARDAND DISPLAY ENHANCER Install theenhancer in your APPLE II and be typing inlower case just like a typewriter If you want anupper case character, use the SHIFT key or theCTRL key for shift lock Not only that, but yousee upper and lower case on the screen as youtype. Perfectly compatible with Apple Writerand other word processors like, for example,Super-Text.

If you want to program in BASIC, just put itback into the alpha lock mode; and you havethe original keyboard back with a few im-

provements. Now you can enter those elusive 9characters directly from the keyboard, or re-quire the Control key to be pressed with theRESET to prevent accidental resets.

KEYBOARD AND DISPLAY

ENHANCER is recommended for use with allrevisions of the APPLE II. It includes 6 ICs. andEPROM and dip-switches mounted on a PCboard, and a jumper cable Easy installation.meaning no soldering or cutting traces Alter-nate default modes are dip-switch selectableYou can even remap the keyboard, selecting analternate 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

VIDEX897 N.W. Grant AvenueCorvallis, Oregon 97330Phone (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) > 0

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 — textPostextPos — 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 givingthe left x location of each character insourceForm

• stopX—an Integer that sets a rightboundary past which the inner loopshould stop scanning

• exceptions—an Array of Integersthat, if non-zero, indicate that thecorresponding characters must bespecially handled

Once an instance has been initializedwith a given font and text location,the scanWord: loop given in listing 1will scan or print text until some

horizontal position (stopX) is passed,a special character (determined fromexceptions) is found, or the end ofthis range of text (endRun) is reached.The check on exceptions handlesmany possibilities in one operation.The space character may have to behandled exceptionally in the case oftext that is padded to achieve a flushright margin. Tabs usually require acomputation or table check to deter-mine their width. Carriage return isalso identified in the check for excep-tions. Character codes beyond the

range given in the font are detectedsimilarly and are usually handled byshowing an exceptional character,such as a little lightning bolt, so thatthey can be seen and corrected. Theprinting flag can be set false to allowthe same code to measure a line(break at a word boundary) or to findwhere the cursor points. While thisprovision may seem over-general,two benefits (besides compactness)are derived from that generality.First, if one makes a change to thebasic scanning algorithm, the parallelfunctions of measuring, printing, andcursor tracking are sure to be syn-chronized. Second, if a primitive im-plementation is provided for theloop, it exerts a threefold leverage onthe system performance. The scan-Word: loop is designed to beamenable to such primitive im-plementation; that is, the interpretermay intercept it and execute primitivecode instead of the Smalltalk codeshown. In this way, much of thesetup overhead for copyBits can beavoided 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 hardwaredemands state-of-the-art software

Operating Systems & Support Software from Technical Systems Consultants

To perform to its fullest capabili-ties, your hardware demandssoftware designed to meet thespecialized requirements oftoday's microprocessors. State-of-the-art software from TechnicalSystems Consultants keeps pacewith the rapid advancements incomputer technology so yourhardware can live up to its fullpotential. Our complete line oftate-of-the-art software includes:

le UnlFLEX™ Operating System

UnfFLEX, a true multi-user, multi-tasking system for the 6809 and68000 microprocessors, supportssuch features as:

• hierarchical file systems

• device independent I/O

• four Gigabyte disk capacities

• full file protection

• Inter-task communication viapipes

• I/O redirection

• task swapping

• full random-access files

• comprehensive shell commandlanguage

UniFLEX, structured for large-scalemicroprocessor systems, will notrun with minimal systems and thushas avoided design compromise.(Off-the-shelf versions and OEMlicenses are available.)

The FLEX™ Operating System

FLEX, a powerful, easy-to-useoperating system designed forthe 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 accommodatehard disks as well as floppies. TheSystem is available off-the-shelffor a variety of systems and In afield-adaptable version. (OEMlicenses available.)

FLEX and UnlFLEX are trademarks ofTechnical Systems Consultants, Inc.

Support Software

Technical Systems Consultantsoffers a full line of state-of-the-artsupport software compatible toFLEX and UniFLEX, some of whichare:

• native C and Pascal compilersfor advanced programming

• extended BASIC for businessand educational applications

• text editing and processingsoftware

• sort/merge package for busi-ness applications

• variety of absolute and relocat-able assemblers

• debug and diagnosticpackages

... and more. Write or call todayfor our brochures describingour complete product line.

Box 2570,1208 Kent AvenueWest Lafayette, Indiana 47906(317) 463-2502 Telex: 27-6143

Sculpture by Jocmn Chaney

Circle 2 on inquiry card.

SPECTACULAROFFERS

BASF "REXYDISK"... *ffiSuperior Quality data «""storage medium.Certified and guaranteed100% error free.

SINGLE SIDED-SINGLE DENSITY

5Vt" or 8" Diskettes 10/$24

5Vt" or 8" Vinyl Storage Pages .10/$5

MAXELL- DISKETTESThe best qualitydiskette money can buy.Approved by Shugartand 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 andinsure efficient, error-free operation.

5V4* or 8" $19.50

SFD CASSETTES

C-10 Cassettes 10/$7

(All cassettes include box & labels)

Get 8 cassettes,C-10 sonic andCassette/8 library album for

only $8.00

(As illustrated)

HARDHOLEReinforcing ring oftough mylar protectsdisk from damage5VV Applicator $38" Applicator $4

5Vt" Hardholes $650/8" Hardholes $8

VISA • MASTERCHARGE • MONEY ORDERSCERTIFIED CHECK • FOR PERSONAL CHECKSALLOW TWO WEEKS • C.O.D. REQUIRES A10%

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! OnlyFor 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) < 0 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 anew 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 eachof 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: 0 @ 1.t bigForm

spread: rect from: sourceForm by: scale spacing: spacingdirection: 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 @ 0 in: self rule: ORing]

directly. Conversely, the Smalltalktext and graphics system requires im-plementation of only the oneprimitive operation to provide fullfunctionality.

Line Drawings, Image Synthesis

The same design principle appliesin the support for, drawing lines. Byusing BitBIt, one algorithm can drawlines of varying widths, differenthalftone "color," and any combina-

tion rule. To draw a line, an instanceof BitBIt is initialized with the ap-propriate destination Form and clip-ping window, and with a source thatcan be any Form to be applied as apen shape along the line. Startingfrom the stored destX and destY, theline-drawing loop, drawLoopX:Y:(listing 2), accepts x and y deltavalues and x and y step values asnecessary, calling copyBits at eachpoint along the line. The method used

184 August 1981 © BYTE Publications Inc

THE BACKBONEOF YOUR SYSTEM

The Heath/Zenith 19 Smart Video Terminal givesyou all the important professional features, all for under$700* You get the flexibility you need for high-speeddata entry, editing, inquiry and transaction process-ing. It's designed to be the backbone of your systemwith heavy-duty features that withstand the rigorsof 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 andexpert service that makes Heath/Zenith a strongpartner for you.

Pick the store nearest you from the list on page 00. Andstop in today for a demonstration of the Heath/Zenith19 Smart Video Terminal. If you can't get to a store,send $1.00 for the latest Heathkit® Catalog and thenew 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 blinkingcursor lets youedit anywhere onscreen.

Reverse video bycharacter lets youemphasize words,phrases or paragraphs.

High resolution CRTgives you sharp, easy-to-read image, reduceseye-strain.

Complete ASCIIcharacter set including uppercase,lower case withdescenders, andspecial graphicsymbols.

80 character by 24line format, plus 25thline for operator mes-sages and prompts.

Professionalquality keyboard,standard type-writer layout, 72keys, including12 special functionkeys.

Z-80 microprocessor-control makes the Heath/Zenith 19 capable ofmultitude of high-speedfunctions. It's the onlyterminal with ROMsource code readilyavailable.

Insert and deletecharacter or line pluserase to end of lineand end of screenmake the 19 idealfor sophisticatededitors like WORD-STAR.

Cursor andspecial functionsare accessibleby keyboard orcomputer, usingeither DEC VT-52or ANSI Standardprotocols.

Keypad incalculator formatpermits fast,easy entry ofnumeric data.

* In kit form, F.O.B. Benton Harbor, Ml. Also available completely assembledat $995. Prices and specifications are subject to change without notice.

CP-202BBYTE August 1981 185

Circle 120 on inquiry card.

tie SOFTWARE

ULTIMATE SOFTWARE PLANi/** (New items or new prices)

We'll match any advertised priceon any item that we cany. And ifyou find a lower price on what youbought within 30 days of buyingit, just show us the ad and we'llrefund the difference.It's that simple.

Combine our price protectionwith the availability of full profes-sional support and our automaticupdate service and you have theUltimate 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/$30Application 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/$35MDBS 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/$40Mailing Address $349/$40

SOFTWARE WORKS

Adapt (CDOS to CP/M). $ 69/$naRatfor $ 86/$na

SOHO GROUP

MatchMaker $ 97/$20

Worksheet $177/$20

STRUCTURED SYSTEMS

GLorARor APorPay $599/$40Inventory Control . $599/$40Magic 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) $ 149/$25

Fortran $219/$30

Fortran w/Ratfor $289/$35Other. less 10%

TCS

GLorARor APorPay. $ 79/$25All 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 • MASTERCHARGE1-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 • Californiaresidents add 6% sales tax • Allow 2 weeks on checks. C O.D. ok - Prices subject to change without noticeAll 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 avariable, p. When p's sign changes, itis time to move in the minor directionas well. This procedure is anothernatural unit to be implemented as aprimitive, since the computation istrivial and the setup in copyBits isalmost all constant from one invoca-tion to the next.

Image Processing

We have seen how BitBlt can copyshapes and, in the foregoing ex-amples, how repeated invocation cansynthesize more complex images suchas text and lines. BitBlt is also usefulin the manipulation of existingimages. For example, text can bemade to look bold by ORing overitself, shifted right by one pixel. Justas complex images can be built fromsimple ones, complex processing canbe achieved by repeated applicationof simple operations. Here, we pre-sent three examples of such structuralmanipulation: magnification, rota-tion, and the game of Life. These ex-amples were devised by the author incollaboration with Ted Kaehler.

As we shall see in the next two sec-tions, many applications of BitBlt arevery simple, such as filling a Formwith white, or copying all of oneForm to some location in another.Smalltalk provides for such casualuse of BitBlt through a wide range ofsimple messages to class Form, suchas:

someForm fillAII: white.someForm copyAIITo:destLocation in: destForm.

We will not list all such messageshere. In the examples that follow, thereader should be able to infer themeaning from the message names andthe accompanying explanations.

Magnification

It is often useful to magnify animage for closer scrutiny andespecially to' allow convenient altera-tion of stored Forms. Photo 1 showsthis function providing user controlover 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 powerand utility of their systems. It describes the S-100 buswith unmatched precision and detail. Various chaptersdescribe its mechanical and functional design,logical and electrical relationships, bus intercon-nections, and bussing techniques. Both parallel andserial interfacing are described as well as interfacingto RAM, ROM, and the real world. Additionalchapters discuss D/A and A/D conversion, inter-rupts, timers, and direct memory access.

#37-3 $15 □

Microprocessors forMeasurement and Control

by D.M. Auslander and P. SaguesLearn to design mechanical and process equipmentwhich use microprocessor based "real time" com-puter systems. This book shows you how, and, usingcase studies, builds and explores problems of in-creasing complexity. The book presents plans forprototype systems, allowing readers (even thoseunfamiliar with machine or assembly language) toinitiate projects and carry them through to com-pletion. #57-8 $15.99 □

CBASIC" User's Guide

by Gordon Eubanks, Adam Osborne, and Martin McNiffThe CBASIC language may be the most advancedversion of BASIC yet created. Like Pascal, CBASICrequires no line numbers and lends itself to highlyorganized, structured programs—programs that arereadable, modular, and easier to change. CBASIC isas easy to learn as BASIC and contains convenientfile handling facilities, making it very useful for manybusiness applications. It may be the only computerlanguage you'll ever need to learn. This guide wasco-authored by Gordon Eubanks, the creator ofCBASIC. It is not only a self-teaching textbook, it isthe 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 collectionof 76 useful and informative programs in Math,Finance, and Statistics. These programs will trans-form your Atari 400 or 800 or your TRS-80 computerfrom a plaything into a real workhorse. Theprograms are clearly documented to serve as avaluable 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 forany popular microcomputer - This book is an indispensible tool for any scientist, engineer or student. Included areprograms 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-HIII630 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: 0 @ 0 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 @ 0 in: self rule: XORing.

self copyAIITo: (0 - quad) @ 0 in: self rule: ORing.

temp copyAIITo: quad @ 0 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: 0 @ 0 in: temp rule: ANDing.

temp copyAIITo: 0 @ 0 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 @ 0 in: mask rule: ORing.

mask copyAIITo: 0 @ quad in: mask rule: ORing.

quad — quad/2]

The character for "7" has beenpresented magnified nine times. Usinga pointing device, the user hasblackened some cells to provide aEuropean style "7," and the result canbe seen in both the upper-left andlower-right windows on the screen.

A simple way to magnify a storedForm would be to copy it to a largerForm, making a big dot for everylittle dot in the original. For a height hand width w, this would take h X w

operations. The algorithm presentedin listing 3 (as two messages to classForm) uses only a few more thanh + w operations.

The magnification proceeds in twosteps. First, it slices up the image intovertical strips in wideForm separatedby a space equal to the magnificationfactor. These are then smeared, usingthe ORing function, over the in-tervening area to achieve the horizon-tal magnification. The process is then

self wideForm

0 r^~

wideForm] I ==— I

bigForm

bigForm

Figure 8: Magnification with BitBlt. See the text for more details.

repeated from wideForm intobigForm, with horizontal slicesseparated and smeared in the verticaldirection, achieving the desiredmagnification. Figure 8 illustrates theprogress of the above algorithm inproducing the magnified "7" shownin photo 1.

Rotation

Another useful operation onimages is rotation by a multiple of 90degrees. Rotation is often thought tobe a fundamentally different opera-tion from translation, and this pointof view would dismiss the possibilityof using BitBlt to rotate an image.However, the reader must consentthat the first transformation shown infigure 9 is a step toward rotating theimage shown: all that remains is torotate the insides of the four cells thathave been permuted. The remainderof the figure shows each of these cellsbeing further subdivided, its cellsbeing similarly permuted, and so on.Eventually each cell being consideredcontains only a single pixel. At thispoint, no further subdivision is re-quired, and the image has beenfaithfully rotated!

Each transformation shown infigure 9 would appear to require suc-cessively greater amounts of com-putation, with the last one requiringseveral times more than h X woperations. The tricky aspect of thealgorithm below is to permute thesubparts of every subdivided cell atonce, thus performing the entire rota-tion in a constant times log2(h) opera-tions. The parallel permutation ofmany cells is accomplished with theaid of two auxiliary Forms. The first,mask, carries a mask that selects theupper left quadrant of every cell; thesecond, temp, is used for temporarystorage. A series of BitBlt operationsexchanges the right and left halves ofevery 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 MOSTFAMILIES OF EPROMS!

• Accepts 1K/2K/4Kor 8K EPROMS

• Extended Device Option

• Phantom Slave Option

• All ProgrammingCharacteristicsSoftware Controlled

• Accepts Single or3 Supply Parts

• Device Address SwitchSelectable

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 MOTHERBOARDS AVAILABLE;

• 3 Slots for Stand-AloneApplications

• 9 Slots for Small Systems

• 18 Slots for Full SizeSystems

• Active Termination

(9 & 18 Slot Boards Only)

• Extensive Ground Shield

• Breadboard Area(Write for completeinformation)

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 containingcomplete hardware andsoftware information, writeAckerman Digital Systems, Inc110 N. York Rd., Elmhurst, IL60126. TEL 312-530-8992

ACKERMAN

DIGITAL SYSTEMS, INC.

Circle 3 on Inquiry card.

self:

Flip leftand right

temp:. . . then . .

self:

exchangediagonals.

temp:

A

B

D

C

M

1

0

0

0

B

A

C

D

s

/

B

A

C

D

A

B

D

C

M

0

B

A

C

D

X(

)R

BD

7

9

?

A

B

D

C

AND

A

0

D

0

10

B

A

C

D

M

AN

w

BD

4

0

B

0

C

xor

A

0

D

0

11

D

A

C

D

XOR

BD

0

0

0

0

AB

CD

B

C

X(DR

0

0

12

D

A

C

B

X(|)R

BD 0

0

0

_B_J3C C

ab|o

CD 0

B

A

c

D

XOR

AB

0

CD

0

M means

the quadrant mask

AB heremeans A XOR B

Figure 10: Permuting four quadrants of a cell.

changes the diagonal quadrants,achieving the desired permutation.The complete method for rotation isgiven in listing 4.

Figure 10 traces the state of tempand self after successive operations.The offsets of each operation are notshown, though they are given in theprogram listing. After twelve opera-tions, the desired permutation hasbeen achieved. At this point, themask evolves to a finer grain, and theprocess is repeated for more, smallercells. Figure 11 shows the evolution ofthe mask from the first to the secondstage of refinement. The reader willnote that the algorithm presentedhere for rotation is applicable only tosquare forms whose size is a power oftwo. The extension of this techniqueto arbitrary rectangles is more in-volved and is left as an exercise forthe reader. A somewhat simpler exer-cise is to apply the above technique tohorizontal and vertical reflectionsabout the center of a rectangle.

The Game of Life

John Conway's game of Life is

probably well known to readers ofBYTE. It is a fairly simple rule forsuccessive populations of a bitmap.The rule involves the neighbor countfor each cell—how many of the eightadjacent cells are occupied? Each cellwill be occupied in the next genera-tion if it has exactly three neighbors,or if it was occupied and has exactlytwo neighbors. This is explained asfollows: three neighboring organismscan give birth in an empty cell, andan existing organism will die of ex-posure with less than two neighborsor from overpopulation with morethan three neighbors. Since BitBltcannot add, it would seem to be of nouse in this application. However,BitBlt's combination rules do includethe rules for partial sum (XOR) andcarry (AND). With some ingenuityand 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 figure12, 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 theneighbor count in binary. The 8s bitcan be ignored, since there are no sur-vivors in that case, which is equiva-lent to zero (the result of ignoring the8s bit). This Smalltalk method issomewhat wasteful, as it performs thefull carry propagation for each newneighbor, even though nothing willpropagate into the 4-plane until atleast the fourth neighbor. Somereaders may enjoy improving uponthis algorithm.

Many other image-processing taskscan be performed with BitBlt. Theauthor has built a complete opticalcharacter-recognition system for San-skrit text using the various combina-tion rules and an operation thatcounts the number of black bits inany rectangle (how would you doit?).

Bitmap processing is ideally suitedto VLSI (very large scale integration)implementation. Readers who are in-terested in this direction should checkthe proceedings of the DesignAutomation Conference, June 1981,for "Parallel Bitmap Processor," byTom Blank, Mark Stefik, and WillemvanCleemput.

Efficiency Considerations

Our original .specification for BitBlthas been published elsewhere

190 August 1981 © BYTE Publications Inc

Circle 59 on Inquiry card.

YOUR SOFTWARESTRATEGY FOR THE 80's

New Compiler and Support Team BringsProducts to Market faster and Easier

If your company's in the big game of small businesssystems, 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 forcein the market. Enter the new CB80 BASIC compiler.

CB80 is derived from the industry's standardCBASIC™and designed for 8-bit micros supportingCP/M®, MP/M™ and CP/NET™. It retains all of thecharacteristics that made CBASIC widely used in busi-ness applications, while providing substantial improve-ments in speed and performance.

And advanced CSI design provides CB80 withenhancements for multi-user support further expandingyour marketing opportunities.

CSI's support team will assist in your developmentand marketing efforts — plus special assistance via atechnical hotline for users.

CB80 is sold throughout the U.S. and overseas by anetwork of distributors. Call today (213) 355-4211 forordering information or write for technical details.

CP/M® . MP/M'" and CP/NET'" are trademarks of Digital Research

Circle 248 on inquiry card.

SUPERBRAIIM

BvINTERTEC

\

64K Double or Quad Density units available. Usestwo Z-80 CPU's. Commercial-type terminal with12" monitor. Dual double density minifloppies.Over 350 kilobytes of storage (twice that with quaddensity drives). Two serial RS232 ports. I/O portsstandard. Expandable with optional S-100interface. Comes with CP/MTM 2.2 operating sys-tem. MiniMicroMart can supply a wide range ofCP/M development and application software.

W/64K Double Density, List $3495 . . $2869W/64K Quad Density. List $3995 $3395

Whp\ HEWLETTmL/iM PACKARD

HP-41CV

$259.

datasystems

Z19 Video Terminal

LimitedTime$799

List $995

IHKEE5SHMBA

---X DeskTop

Computer

List$3250$2749

HP-83ust$225o Special $1749

F.O.B. shipping point. All prices subject to change and all

I offers subject to withdrawal without notice. Advertised pricesare for prepaid orders. Credit card and C.O.D. 2% higher.C.O.D. may require deposit.

- WRITE FOR FREE CATALOG -

MiniMicroMart

1618 James StreetSyracuse, 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 carry4nbrl — 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: 0 @ 0 in: carry4 rule: STORing.

carry2 copyAIITo: 0 @ 0 in: carry4 rule: ANDing.

carry2 copyAIITo: 0@0 in: nbr2 rule: XORing.

carry4 copyAIITo: 0 @ 0 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: 0 @ 0 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

4111

J2I

11

l._

nbrl

next self

IS

■

n

or4

1

Figure 12: Counting neighbors in the game of Life.

(Newman and Sproull, Principles ofInteractive Computer Graphics, 2ndedition, McGraw-Hill, 1979) underthe name RasterOp. The implementa-tion described in that reference caneasily be extended to include the fullset 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 onthe interactive quality of the system

Circle 135 on inquiry card. —►

&

3*^

Frustrating isn't it! No matter howmuch you speed up your programit still seems to take forever to savedata onto a cassette. Wouldn't itbe great if someone could design amass storage system with the speedof a disk, but at half the cost?Exatron did, the Exatron StringyFloppy (ESF) .

Totally self-contained, the ESFis an extremely fast, reliable, andeconomical alternative to cassetteor disk storage of programs ordata. All of the ESF's operationsare under the computer's control,with no buttons, switches, knobs orlevers to adjust or forget.

The ESF uses a miniature tapecartridge, about the size of a busi-ness card, called a wafer. Thetransport mechanism uses a directdrive motor with only one movingpart. Designed to read and write

w»

digital data only, the ESF suffersfrom none of the drawbacks ofcassettes - without the expense ofdisks.

Several versions of the ESF areavailable, for the TRS-80, Apple,PET, OSI and an RS 232 unit.Even the slowest of the units is 15times faster than a cassette, and allare as reliable as disk drives - infact a lot of users say they are morereliable!

excellence in electronics

exatron

To get further information aboutthe ESF give Exatron a call ontheir Hot Line 800-538 8559(inside California 408-737 7111).

If you can't wait any longer thentake advantage of their 30 daymoney-back guarantee, you'venothing to lose but time!

181 Commercial StreetSunnyvale, 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'sOEM 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) offersunprecedented user support with Analog, Power Input/Output,Disk and advanced communications protocols.

SERIAL PORT supports RS232C or RS422 with full modem controlsincluding software baud rate, from 50 to 19.2Kbaud. Userselectable 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 hourburn-in and extensive factory testing, our customers are assured of receivinghigh quality product.

D-FORTH SOFTWARE

Datricon's popular D-FORTH software available on the Series 12 and 14 isalso available on the Series 09. Optimized for control systems, D-FORTH ishigh-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 representativesor the factory for information.

lintricon

CORPORATION

QUALITY WITHOUT COMPROMISE503 - 284-8277 7911 NE 33RD Drive Portland, Or 97211

as a whole. In normal use of theSmalltalk-80 system, most calls onBitBlt are either in the extrememicroscopic or macroscopic range.Let us examine these more closely.

In the macroscopic range, thewidth of transfer spans many words.The inner loop across a horizontalscan line gets executed many times,and the operations requested tend tobe 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 processorsprovide a fast means for block movesand stores, and these can be made toserve the applications above. Sup-pose we structure the horizontal loopof BitBlt as the following sequence:

1. Move left partial word

2. Move many whole words (ornone)

3. Move right partial word (or none)

Special cases can be provided for item2 if the operation is a simple store orif it is a simple copy with no skew(horizontal bit offset) from source todestination. In this way, most macro-scopic applications of BitBlt can bemade fast, even on processors ofmodest power.

The microscopic range of BitBlt ischaracterized by a zero count for theinner loop in item 2, so that the workon each scanline involves, at most,two words. Both overall setup andvertical loop overhead can be con-siderably reduced for this case.Because characters tend to be lessthan a word wide and lines tend to beless than a word thick, nearly all textand line drawing fall into thiscategory. A convenient way to pro-vide such efficiency is to write aspecial case of BitBlt that assumes themicroscopic parameters, but goes tothe general BitBlt whenever these arenot met. Because of the statistics(many small operations and a fewvery large ones), it does not hurt topay the penalty of a false assumptionon infrequent calls. ■

194 August 1981 © BYTE Publications Inc

!<I'

rMS-80

Organizes yourOrganization

MS-80, a data base management system, oilersthe user a quick and easy way to organize and

efficiently manipulate data so sound decisions .

can be made on facts displayed.

FMS-80000 "I

is the

most power-ful stand

alone DBM

program

available

the micro

compute

industry.

Complet*menu drand writin assemlanguageit offersthese features:

• User definableFile Definitions .,Screen Displays IReports (with |fmath and fieldbreak analysis)Selection Criteria(on any or allfields)

Menus (that ap-plications programscan be selected from)

• Instantaneous data query onindexed records.

• Mathematical manipulationof numeric data fields usingthe report generator or theprogramming 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 informationon the screen, "«*>•">-.

rating reports, generating other data files or on-line updating of input files that already existFMS-80 is able to call other programs like sub-routines in EFM

FMS-80 is able to read data files that otherprograms have- generatedNo restrictions to record .size other than avail-able RAM memory spaceOperates under CP/Mf MP/M" or CDOS00

FMS-80 allows the flexibility to quickly create

programs thatallow 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

reportsthat themanager 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 andfrustrations associated with writing software:The Last One® will be available very soon.

More comprehensive and advancedthan anything else in existence,The Last One® is a computer program thatwrites computer programs. Programs thatwork first time, every time.

By asking you questions in genuinelyplain English about what you want yourprogram to do, The Last One® uses thoseanswers to generate a totally bug-freeprogram in BASIC, ready to put toimmediate use.

What's more, with The Last Onefyou can change or modify your programs asoften as you wish. Without effort, fuss or anyadditional cost. So as your requirementschange, your programs can too.

In fact, it's the end of programmingas you know it.

And if, because of the difficulties andcosts of buying, writing and customisingsoftware, you've put off purchasing acomputer system up to now, you need delayno longer.

The Last One® will be available verysoon from better computer outlets. To placeyour order, take this ad into your localdealer and ask him for further details. Or incase 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 DisplacesOrgan at Wedding

The organ at St Bar-tholomew Church, Cincin-nati, Ohio, stood idle at thewedding of Curt Brookbankand Libby Nieman, but thetraditional wedding music ofWagner and Mendelssohnsounded as if an organistwere hard at work. The

organist was an Apple II. MsNieman, a buyer in thecalculator department of the21st Century Computer storein Cincinnati, decided oncomputerized wedding musicafter playing some com-puterized Christmas carols.The Apple II computer wasequipped with ALF andMountain music boards.

Old AltalrsNever Die ..

Five years ago, a computerbuilt by students at Venice(California) High Schoolbegan operation. Today thatcomputer, and a duplicatebuilt one semester later, arestill operating. The com-puters, Altair 8800s, werebuilt from kits for about$2000 each, which at thetime was about a fourth ofwhat an equivalent commer-cial computer would havecost. The school's principal atthe time, Arnold Miller,agreed to buy the computerkits not only for the saving incost but also for the educa-tional value to the studentswho would build them andthose who would use them.

The computers, runningeight hours almost every day,have served hundreds ofstudents in computer pro-gramming classes and inmath classes. But the most

enthusiastic users are thosestudents who crowd the com-puter room before and afterschool and at other times toplay computer games.

The student-built com-puters have been very reli-able. They have never had aserious malfunction, re-quiring only the replacementof two integrated-circuitmemory chips. The biggestmaintenance problems havebeen mechanical, primarilythe keyboards, which havetaken a tremendous amountof pounding over their ap-proximately 8000 hours ofoperation. It is estimated thattotal maintenance costs overfive years for both Altairshave been less than $50.

It is estimated that eachAltair represents an expen-diture of $3000 including in-itial cost and additions andimprovements over the five-year period. This yields astudent-hour cost of less thanone-half dollar. ■

FORTRAN IV

for CP/M

"I needed a FORTRAN withCOMPLEX as well as REAL andDOUBLE precision arithmetic,that would produce relocatablecode and link in assembly lan-guage subroutines. It also had tobe a FORTRAN that was easy touse as well as being a completeimplementation. SuperSoft/SSSFORTRAN is the only microcom-puter FORTRAN that met my re-quirements."

Supersott makes full WATFIVFORTRAN IV available to micro-computers. Supersoft/SSS FOR-TRAN meets and exceeds theANSI 1966 standard. The com-piler supports many advancedfeatures including: variablecharacter strings and recursivesubroutines 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 becalled.Relocatable format.

Data types: Byte, Integer, real, dou-ble precision, complex,logical, character andvarying length strings.

Operations: All standard operationsplus string comparisons,assignments, and .XOR.

Constants: Hexadecimal, decimal,and character literalswith features to imbedcontrol characters.

Statements: ANSI 1966 standard withmultiple statement lines.

Controls: Map, List, and Symboltable output options.

I/O: Read, Write, Append, Re-

wind, Close, Delete, Re-name, Search, Sequen-tial and Random I/O ondisk files. Supports allCP/M devices.

System Requirements & Prices

SSS FORTRAN requires a 32k CP/M

system. Z80 only.SSS FORTRAN with RATFOR: $325SSS 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 willrun my large mainframeprograms."

SuperSoft

First in Software Technology

•CP'M REGISTERED TRADEMARK DIGITALRESEARCH

SSS FORTRAN is the copyright olSmall Systems Services. Urbana. Illinois

McGraw-Hill helps you do businessin 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 forI 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 reputationSB £. , <* SJ * * -ft 2. » * QB ? 'Now -what was it vu wanted to sell us?"

You know how advertising inMcGraw-Hill magazines helps your com-pany contact prospects, arouse interest inproducts, overcome sales resistance, andcreate preference when you're selling tobusinesses here in America.

But you may not know that McGraw-Hill's American Industrial Report can do thevery same things to help you sell to yourtoughest prospects in the People's Republicof China. And you also may not know thatAmerican Industrial Report, as the first U.S.technical magazine accepted into modernChina, has more than five years of experi-ence and marketing expertise.

During the early 1980's, the People'sRepublic of China will spend an estimated$30 billion-plus for foreign technology andcapital goods. By 1985, they'll be buying aprojected total of $12-15 billion worth fromcompanies in the United States.

Obviously, the People's Republic ofChina is an important new market forAmerican 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 themin 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 IndustrialReport reaches the .1%you needto do business with.

Every month, American IndustrialReport reaches 35,000 end-users, engineers,managers, ForeignTVade Corporation and

ministry officials. With an estimated pass-along of 50 readers per copy, that gives youexposure to 1 million Chinese —the .1% ofthe population who, as key decision-makers,are your key prospects.

American Industrial Report also helpsyou reach them in their own language. Withfree translation of your advertising copyinto modern Chinese characters — the kindused in technical journals in the RR.C, notHong Kong or Singapore. We also give youfree, expert advice on how to avoid the kindof political and cultural errors that couldalienate or confuse the very people you'retrying to sell to.

A free guide to selling in the P.R.C.and to the magazine that helpsyou do it.

American Industrial Report would liketo share what it's learned over more thanfive years of serving end-users in the People'sRepublic of China — and serving Americanadvertisers who want to sell to them.

We've put it all into a free 84-pageguidebook, which you can get by writingAmerican Industrial Report, 1221 Avenue ofthe 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 Chinahas opened the door, see how AmericanIndustrial Report can help you get a foot in it.

frill r

McGraw-Hill Magazines

314 5th Ave. (32 ST) N.Y.C., N.Y. 10001Tel: (212) 279-9034 & ask for enquiries

EPSOM

MX70$379

*fe

The 150 cps Quality Printer

MODEL 6000 $1299

OKI

Call for $

FRICTION / TRACTORMODEL call for $

FRICTION CONVERSIONKIT for your EPSON TractorPrinter 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 sizekeyboard "Graphics character set

$ 299 4k inc. color *

Atari

MODEL 400 $349MODEL 800 $779

TYMAC APPLETO CENTRONICSINTERFACE CARDincluding CABLE $ 119.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. Webelieve in taking the state of the art to thelimit. Our new Smartmodem, for exam-ple, is the most sophisticated 300-baudoriginate/answer modem you can buy.And yet, it is perhaps the easiest-to-usemodem ever.

RS-232C Compatible. Smartmodemlets any RS-232C compatible computeror terminal communicate by phone withother computers and time-sharing sys-tems located anywhere in North America.You get full and half-duplex operationwith both Touch-Tone* and pulse dialing.

Auto-Answer/Dial /Repeat.Smartmodem can answer the phone, diala number, receive and transmit data, andthen hang up the phone- automatically!If desired, Smartmodem will even repeatthe last command. You can depend onSmartmodem for completely unattendedoperation.

Completely Programmable.Smartmodem can be controlled using

Microcomputer Component Systems

any programming language. Over 30 dif-ferent commands can be written into yourprograms or entered directly from yourkeyboard.

Smartmodem also includes sever-al switch-selectable features that let youtailor performance to your exact needs.You can "set it and forget it" for the ulti-mate in convenience.

Built-in Audio Monitor. Thanksto an internal speaker, you can actuallylisten to your connection being made.You'll know immediately if the line is busyor if you reached a wrong number -

and you don t even need a phone!

Status at a Glance. Seven LED sindicate Smartmodem's current operatingmode: auto-answer, carrier detect, offhook, receive data, send data, terminalready and modem ready. You're neverleft in the dark!

Direct-Connect Design.Smartmodem is FCC registered for di-rect connection to any modular phonejack— there's no acoustic coupler to causesignal 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*«iOthan Hayes. I" I ndyCo

Smartmodem.

The ultimate concept in modems

is now a reality.

1L >

HayesMjefocdmp

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 ComputerInvasion." From conversations I'veoverheard, it sometimes seems thatthere is an invasion fleet of Japaneseships off the West Coast, waiting toestablish a beachhead in SiliconValley.

Cutting through the paranoia,rumors, and just plain false informa-tion about the Japanese computer in-dustry is a time-consuming andfrustrating undertaking. It is furthercomplicated by the intense secrecy ofthe Japanese, who, unlike theirAmerican counterparts, never talk offthe record.

This article focuses on the Japanesecompanies who are (or soon will be)marketing personal computers in theUnited States. Make no mistake:Japanese computers are com-ing—with long-term implications forthe American marketplace.

The Japanese Computer Industry

Contrary to popular belief, there isno such thing as "JapanIncorporated." Although many

Stan Miastkowski, Technical Editor

Americans view Japanese industry asone huge conglomerate working totake over foreign markets, the truth isthat the Japanese computer industryis a group of fiercely competitivecompanies. It is that competition thatfuels a rich variety of high-qualityJapanese consumer electronic pro-ducts.

Another strong reason for thequality of Japanese products is that inJapan a worker generally stays withone company throughout his or herworking life. Unlike American in-dustry, where labor and managementare often at odds, Japanese workersfeel a strong loyalty toward theiremployers, who pay them back withvirtually guaranteed lifetime employ-ment and carefully listen to their sug-gestions and complaints. Thiscooperation between managementand labor produces a climate whereeach worker feels personally respon-sible for product quality.

Finally, one of the strongest pointsworking in favor of the Japanesecomputer industry is that almostwithout exception the companies arevertically integrated—they control allaspects of the product, frommanufacturing the silicon integrated

circuits to marketing the products.This integration allows the Japaneseto closely control costs and ensureproduct quality.

Fujitsu—the Company to Watch

Fujitsu Limited is the largest com-puter company in Japan, taking thatcoveted position by racking up $1.55billion in computer sales during theyear ending in April 1980. It edgedpast the Japanese subsidiary ofIBM—which had sales of $1.54billion during the same period.Although the margin was small, itgave the Japanese an importantpsychological boost—it was the firsttime that a Japanese computer com-pany was number one in Japan. In theyear ending this past April, Fujitsupulled ahead even further.

Unlike the other Japanese con-glomerates that have entered thecomputer market, Fujitsu's mainbusiness is computers. Although in-volved in a number of related fields,Fujitsu's interests do not seem to lie inthe broad-ranging diversification ofmost of the other Japanese giants.

It would be a mistake not to thinkthat Fujitsu is serious about the

200 August 1981 © BYTE Publications Inc

Circle 237 on inquiry card.

'JnOfc.

WHY SETTLE FOR A 68000 BASED microCOMPUTERWHEN 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 managementEach RAM board accomodates 2 megabytes

-fe Attend the

our experts will field your 68K questions and discuss:ccsr 68000 architectureccsr 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 36051Los Angeles, CA. 90036(213)731-0876

ICW in Los Angeles

/Please call or write for 68KMiniFrame information andthe complete 1981seminar schedule.

K*<fy

worldwide computer market. It owns27.6% of Amdahl—the California-based manufacturer of IBM-compatible mainframe computers. Itis also making strong inroads into theEuropean market with its businessties to the West German electronicscompany Siemens. In contrast toother Japanese computer makers,who spend 5 to 6% of their sales onresearch and development, Fujitsuconsistently sinks 10 to 12% of itssales into R&D. The company hascome a long way since the early1960s, when it approached IBMabout a joint venture to design andbuild computers for the Japanesemarket. At that time IBM flatlyturned them down.

The TRW/Fujitsu Connection

It's obvious that the United Stateswill be the next target for Fujitsu.Early on, the company realized that itwould have to have strong ties to UScompanies in order to compete in ourmarket. One of the main reasons forthis is that Fujitsu is an intensely

Japanese company. Fujitsu's presidentrarely meets with foreigners and hasbroken off discussions in the pastbecause of alleged breaches of Japan'sstrict business protocols.

The purchase of a partial interest inAmdahl was one of its first steps inthe United States designed to createcompetition in the large-systemsbusiness. Fujitsu has also set up amarketing-service organization for itsline of Winchester-technology hard-disk drives designed for small andmedium systems. In fact, a low-cost5Vi-inch Winchester disk designedexpressly for personal computers isexpected to be available by the timeyou read this.

Last year, Fujitsu signed an agree-ment with another California-basedcompany, TRW. Fujitsu agreed tosupply computers, with TRW pro-viding software development andsupport as well as a nationwide salesand service network.

The power of the TRW/Fujitsuconnection cannot be overempha-sized. TRW/Fujitsu Vice-President

ATTENTION GOVERNMENT D PUSERS AND PURCHASERS

We represent many fine micro products and manufacturerson the U.S. Government's GSA Schedule, including

Apple, Cromemco, Micropolisand Seequa Computers

Purchasing from the Schedule will save you the timeconsumed by the bid process. Products shipped throughoutthe United States and world-wide. Visit or write any of ourstores for more information or to receive our catalogue ofproducts 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-businessmarkets. Late last year, the companydisplayed a prototype of a computerthat was recently introduced. TheFacom 9450, tentatively priced at$8000-plus, is an extremely powerfulsystem with a custom-designed 16-bitmicroprocessor. Included in the priceare an 80-column video display, two5V4-inch floppy-disk drives, and aletter-quality printer.

The most revolutionary result ofthe TRW/Fujitsu connection is in itsfinal development stage. Tentativelynamed the Bubcom 80, it is a machinethat uses bubble memory, atechnology that American companieshave been reluctant to implement.(Bubble memory stores informationin nonvolatile magnetic bubbles.)

The Bubcom 80 uses 32 K-bytememory cartridges; 128 K-byte car-tridges are scheduled to be introducedin 1982. The computer is basedaround a Z80 microprocessor andcomes with 64 K bytes of standardprogrammable memory. The Bubcom80 runs CP/M and comes completewith an updated version of MicrosoftBASIC.

Recently introduced in Japan, theBubcom 80 sells for the equivalent ofabout $1200 with one bubble memorycartridge. Extra cartridges are about$130.

But that's not all from the people atFujitsu/TRW. Their real personalcomputer blockbuster, soon to be in-troduced in the United States, is theMicro-8. This machine uses twinMotorola 6809 microprocessors togreatly increase speed, and thepackage includes full-colorgraphics.The Micro-8 has Microsoft'sExtended Color BASIC (nowavailable in the TRS-80 Color Com-puter) and will sell for about $1000.

In addition, a plug-in Z80 card willconvert the Micro-8 into a CP/Mmachine. Also available are UCSDPascal and the 32 K-byte bubblememory 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 numericalproblems. But it does have two major limitations: it isavailable only for a small number of systems, and its useis limited strictly to numbers, not words. To overcomethese substantial limitations, Lifeboat Associates intro-duces T/Maker II.

Unlike VisiCalc, T/Maker II is designed to run on mostsmall business computers with CP/M® or similar operat-ing systems and a video terminal with cursor addressingcapabilities. And soon there will be T/Maker II versionsavailable 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 mostbusiness problems and reports involve words as well asnumbers, T/Maker II also functions as a full-screen texteditor for word processing.

T/Maker II is the most advanced aid for the analysis andpresentation of numerical data and text material. In amatter of minutes, an entire document—including alledited 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 apowerful, sophisticated and convenient tool. A tool thatwill save you money, time and energy, and eliminate theneed for costly time-sharing.

With T/Maker II you can easily perform an unlimitednumber of analytical and reporting tasks which integratenumerical and text processing. You'll find T/Maker II per-fect for such things as:

rows and columns, define the relationships and T/Maker IIwill do the rest: it will perform the computations and for-matting necessary to prepare your document. Whenyou're finished you can analyze your report on yourscreen or store it on a diskette. Or, you can have the reportprinted with presentation quality.

And when any changes have to be made, simply enterthe new figure or relationship and tell T/Maker II to adjustand recalculate all the new results.Editing capabilities. As a full-screen editor for wordprocessing, T/Maker II handles text up to 255 characterswide. It includes features like text formatting and justifica-tion, centered titles, a text buffer for block moves andrepeated inserts, global search and replace commandsfor printing your letters, reports and documents. Widedocuments are supported by horizontal scrolling.Low cost. The cost of T/Maker II is only $275 plus shippingand handling. Dollars well spent once you consider all thetime, energy and money it can save. T/Maker II is broughtto you exclusively and supported completely by LifeboatAssociates, world's largest computer software publisher.For more information send us the coupon below.

r,

iii

• Financial Statements

• Statistics

• Profitability Reports

• Revenue and ExpenseAnalyses

• Portfolio Evaluations

• Price Lists

• Rate Structures

• Expense Accounts

• Cash FlowProjections

• Checking AccountReconciliations

Mail coupon to: Lifeboat Associates, 2005

1651 Third Ave., NY, NY 10028. Or call (212) 860-0300.

D Please send me more information onT/Maker II.

D Please send me a free LifeboatCatalog featuring over 200 programs,including integrated accountingand 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 atrademark 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 inAs 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 PLAYSeither contract or duplicate bridge. Depending on the contract, your computer opponents will eitherplay the offense OR defense. If you bid too high, the computer will double your contract! BRIDGE 2.0provides challenging entertainment for advanced players and is an excellent learning tool for the bridgenovice. 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-orientedgame in which (he purpose is not to take any hearts or the queen of spades. Play against two computeropponents 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 thecomputer) be! on what you see. The computer does not cheat and usually bets the odds. However, itsometimes bluffs! Also included is a five card draw poker betting practice program. This package willrun 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 isthe most comprehensive version available for microcomputers. The party consists of yourself and sixother (computer) players. Each of these players (you will get to know them) has a different personalityin the form of a varying propensity to bluff or fold under pressure. Practice with POKER PARTYbefore going to that expensive game tonight! Apple Cassette and diskette versions require a 32 K (orlarger) 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 insearch of a worthy opponent as well as for the novice wishing to improve his game. The graphics aresuperb and assembly language routines provide rapid execution. See the software review in 80 SoftwareCritique.

THOUGHT PROVOKERS

MANAGEMENT SIMULATOR (Atari, North Star and CP/M only) Price: $19.95 Cassette

$23.95 DisketteThis program is both an excellent teaching tool as well as a stimulating intellectual game. Based uponsimilar 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 withthe 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 utilizesaerodynamic equations and the characteristics of a real airfoil. You can practice instrument approachesand 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/ValdezNarrows region of Alaska. Included in this simulation is a realistic and extensive 256 x 256 elementmap, portions of which may be viewed using the ship's alphanumeric radar display. The motion of theship itself is accurately modelled mathematically. The simulation also contains a model for the tidalpatterns in the region, as well a; other traffic (outgoing tankers and drifting icebergs). Chart yourcourse 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 competeagainst 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 theuser to change skill levels ai any time. Though providing a very tough game at level 4-8, CHECKERS3.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 passantcaptures 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 inassembly language (by SOFTWARE SPECIALISTS of California), Full graphics are employed in theTRS-80 version, and two widths of alphanumeric display are provided to accommodate North Starusers.

NOMINOES JIGSAW (Atari, Apple and TRS-80 only) Price: $16.95 Cassette/$20.95 DisketteA jigsaw puzzle on your computer! Complete the puzzle by selecting your pieces from a table consistingof 60 different shapes. NOMINOES JIGSAW is a virtuoso programming effort. The graphics aresuperlative and the puzzle will challenge you with its three levels of difficulty. Scoring is based upon thenumber of guesses taken and by the difficulty of the board set-up.

MONARCH (Atari only) Price: $11.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, howmuch food to distribute to the populace and how much should be spent on pollution control. You willfind that all decisions involve a compromise and that it is not easy to make everyone happy.

CHOMP-OTHELLO (Atari only) Price: $11.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 popularboard game set to fully utilize the Atari's graphics capability. It is also very hard to beat! This packagewill 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 nowshoot at the Enterprise without warning while also attacking starbases in other quadrants. TheKlingons also attack with both light and heavy cruisers and move when shot at! The situation is hecticwhen the Enterprise is besieged by three heavy cruisers and a starbase S.O.S. is received! The Klingonsget 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 witha space probe. The object is to enter and maintain, for a prescribed time, an orbit close to a small blackhole. 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. Soundsimple? Not when the hole gets smaller and smaller! A built-in timer allows you to measure your skillagainst 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 thealien starships passing through your sector of the galaxy. ALPHA BASE is in the path of an alien UFOinvasion; 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 stolenits plans. The droids have been alerted and are directed to destroy you at all costs. You must find andenter 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 throughslalom courses consisting of both open and closed gates. Choose from different levels of difficulty, raceagainst 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 (heclassic video arcade game which millions have enjoyed. Using the Atari joysticks, the object is to directyour blockading line around the screen without running into your opponent(s). Although the concept issimple, 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 easein loading. They are individually accessed by a convenient menu. This collection is worth the price justfor 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, WUMPUSand others. As with GAMES PACK I, all the games are loaded as one program and are called from amenu. 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 apredetermined target on the moon's surface. You control the thrust and orientation of your craft plusdirect 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 MANORADVENTURE takes you into mysterious CRANSTON MANOR where you attempt to gatherfabulous treasures. Lurking in the manor are wild animals and robots who will not give up the treasureswithout a fight. The number of rooms is greater and the associated descriptions are much moreelaborate 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 theDYNACOMP product line, but have maintained and improved our high level of quality andcustomer support. The achievement in quality is apparent from our many repeal customersand the software reviews in such publications as COMPUTRONICS, 80 Software Critiqueand 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 thetextagains: a dictionary (expandable) of over 20,000 of the most common English words. Words appealing in the text bui notfound 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 II00 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 definedcodes. 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 manageyour 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 filesgenerated 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 forall 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 taxdeductible items. PFS will sort and summarize expenses by payee, and display information on expenditures by any of 26 userdefined codes by month or by payee. PFS will even produce monthly bar graphs of your expenses by category! This powerfulpackage 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 sothai 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 andcredit expenditures as well as income on a daily basis. You can record tax deductible items and charitable donations. TheFAMILY BUDGET also provides a continuous record of all credit transactions. You can make daily cash and charge entries toany of 21 different expense accounts as well as to 5 payroll and lax accounts. Data is easily retrieved giving the user completecontrol 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 communicationsthrough a full duplex modem (required for use). In or.c mode of operation you may connect to a data service (e.g., TheSOURCE 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 upyour sequence of time-share commands and programs, and the Atari will transmit them as needed; batch processing. All thisadds 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 nttiEDITOR II you may build te:deleted. Files may be ss

Price: $29.95 Dlskene/S33.45 Dtikon 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 ordisk/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 theeditor and processed. In fact, text files can be built using ED and later formatted using TEXT EDITOR II. All in all. TEXTEDITOR 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 uwhich invariably accumulates. DFILE isdesired 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, thereare 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 createand 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 childrenfrom ages 114 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 PETprovides 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 areavailable 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 arcbuilt. No two patterns are the same, and the combined effect of the sound and graphics are mesmerizing. CRYSTALS has beenused 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 othespecified, 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 (didensity compatible) diskette. Additionally, most programs can be obtained on standard (IBM formal) 8" CP/M floppy disks fosystems 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 otchoose from a menu of filter forms. The filler forms are subsequently converted into non-recursive convolution coefficientswhich 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 beapproximaiedio varying degrees according to the number of points used in Ihc calculation. These fillers may optionally also besmoothed with a Hanning function. In addition, multi-stage Butlerworlh filters may be selected. Features of DIGITALFILTER include plotting of the data before and after filtering, as well as display of ihe chosen filler functions. Also includedarc 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 engineeringdata which are equally spaced. The software features choice in degree and range of fit, as well as smoothed first and secondderivative calculation. Also included is automatic plotting of the input data and smoothed results.

FOURIER ANALYZER (Available for all computers) Price: $16.95 Cassette/$10.95 Diskette

Use this program to examine the frequency spectra of limited duration signals. The program features automatic scaling andplotting 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 andfilters by examining their response to pulsed inputs. TFA is a major modification of FOURIER ANALYZER and contains anengineering-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 dataneed not be equally spaced or in order. The original data is sorted and a cubic spline inlcrpolalion is used lo create ihe data filerequired 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 statementlines. 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. Besidesperforming the basic regression calculation, this program also provides easy to use data entry, siorage, retrieval and editingfunctions. In addition, the user may interrogate the solution by supplying values for ihe independent variables. The number ofvariables 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. NowDYNACOMP has brought ihe power of ihis method 10 small systems. For those conversant with ANOVA. the DYNACOMPsoftware package includes the 1-way, 2-way and N-way procedures. Also provided are the Yates 2*-P factorial designs. Forthose 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 forbuilding 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 Iby F. Ruckdeschel (see the BYTE/McGraw-Hill advertisement in BYTE magazine, January 1981). These subroutines havebeen 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 variablesCollection fl: Chapter 4: Matrix and vector operations

Collection Hi: Chapters 5 and 6: Random number generators, series approximationsPrice per collection; SI4.95 Cassette/Si8.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 onthe degree of the polynomial, and because the procedure is iterative, the accuracy is generally very good. No initial guesses arcrequired 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 infrequency, and the resulting complex (i.e., real and imaginary) voltages at each component juncture examined. By plotting themagnitude of these voltages, the frequency response of a filter or amplifier may be completely determined with respect to boihamplitude and phase. In addition, ACAP prints a statistical analysis of the range of voltage responses which result fromtolerance 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. Circuitdescriptions may be saved onto cassette or diskette to be recalled at a later lime for execution or editing. ACAP should be partof 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 todetermine 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 isavailable 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 beeasily converted into a circuii design using either NAND or AND/OR gales. Ope rati onally. LOGIC DESIGNER is composedof a BASIC program which calls in a machine language routine to reduce execution lime. Example: For a 7 variable by 127 linetable, 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 1formation. 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 underMicrosoft 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. TheTFC-8500 system starts at $25,000and goes upward to $200,000. In ad-dition, the company will market aline of point-of-sale computer cashregisters/terminals. This market isvery competitive at the present time.It's obvious that there is a largeamount of activity going on behindthe scenes at both TRW andFujitsu—two companies to watchcarefully.

Sharp Electronics

Although not in the multibillion-dollar league of many of the com-panies we're discussing here, Sharp isone of the most well known in theUnited States. Its wide-ranging line ofcalculators and other consumer elec-tronics products is sold by approx-imately 1400 dealers in the States.Consequently, the company has agreat deal of marketing experiencehere as well as an extremely strongsales and service network.

Over the past few years, Sharp'scalculator products have becomemore and more sophisticated;therefore, it's not surprising that itsfirst personal computer resembled acalculator. It's interesting that insteadof marketing the product itself, Sharpsold initial marketing rights to thecompany with one of the largest salesand service networks in theworld—Radio Shack.

The Sharp PC-1211 Pocket Com-puter became the TRS-80 PocketComputer, introduced in August1980 by Radio Shack. By using theimmense marketing power of RadioShack, Sharp was "testing thewaters.", A source at Sharp told methe company had doubts about howthe product would be received.

To say the reception was good is anunderstatement. Sales of the TRS-80Pocket Computer during its first sixmonths were estimated at 40,000units—four times the Radio Shacksales projections. The company in-itially purchased approximately10,000 units, creating supply prob-

HIPAD DIGITIZERS

Inexpensive Graphic InputTo Your Computer

The HIPAD Series Digitizers are the ideal graphic input devices for thesmall 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 marketingrights to the PC-1211 ran out inMarch 1981. Sharp has startedmarketing the Pocket Computer withthe addition of a printer althoughRadio Shack will also offer a printerin the near future.

Some observers of the personalcomputer market feel pocket com-puters are only a novelty—a fad thatwill soon pass. However, a number ofcompanies seem committed to theirdevelopment. Although presentlylimited in utility, pocket computerswill be a major factor in thepopularization of personal com-puters.

In the meantime, Sharp has aimedsquarely at the small-business marketwith the recent introduction of theYX-3200. The system is being sold by720 Sharp dealers and will retail inthe $6000 range. The powerfulZ80-based system includes a 12-inchgreen-phosphor display (80-charac-ters) and two 5Vi-inch quad-densityfloppy-disk drives. Also included inthe price is an Epson MX-80 printer(manufactured by a Japanese sub-sidiary of Seiko). An interestingsidelight is that the YX-3200 wasdesigned in the United States—byAmerican engineers.

The marketing of the YX-3200system will also be an experiment.Sharp has projected sales of 5000systems by April 1982. It will be vir-tually the first computer system to besold by persons who are not com-puter dealers. The majority of Sharpsalesmen chosen to sell the system areoffice equipment dealers. As thesmall-business market continues togrow, we are likely to see more andmore personal computer systems soldin this way.

In the realm of the truly personalcomputer, the MZ-80 is perhaps themost interesting part of the Sharpline. Not currently available in theUnited States, it is one of the largest-selling personal computers in Europeand Japan. The MZ-80 retails for ap-proximately $900 with a calculator-style keyboard (not unlike the earlyPET), $1200 with a standardkeyboard. It's an attractive machine

Text continued on page 212

206 August 1981 © BYTE Publications Inc

Circle 160 on inquiry card.

aiffllilfr"

Siapcia'sCircuit (Jellap

Y T E BOOKS

BUILD YOUR OWNZ80 COMPUTER

by Steve Ciarcia

MfCROCOMfSTRUCTURES

by Sieve Ci.il

-ou've talked about it,you've thought about it. Now,here are four books to help youdo something about it!

So, for your next microcomputerproject. . . do it, and do it right.With the help of BYTE Books.

EfTE

SSK^

hcj

$G&ttJStox\

brains: behaviorrobotics

:'"'>es( vv ^

AVAILABLE FALL 1981

DIGITAL HARMONY

by John Whitney

A new synthesis ofsight and sound

Digital Harmony lays thefoundation for the whole newfield of audio-visual art madepossible by microcomputers.John Whitney, a pioneer of thespecial effects technologyused in STAR WARS and 2001:A SPACE ODYSSEY, explains thespecial union of computergraphics and music. Hiscomputer-generated visualart graphically depicts thelaws of harmonic motioncommon to all music.

Digital Harmony includes acomplete description ofWhitney's computer, periph-erals, and film techniques.Colorful illustrations are in-cluded, as well as the programlistings that generated them.The descriptions dre sufficientfor anyone to begin to explorethis new territory as a com-poser and computer experi-menter - transforming the smallcomputer into an ideal instru-ment for creating compositionsin aural and visual art.

John Whitney is on theFaculty in the Departmentof Art at the University ofCalifornia, Los Angeles.

ISBN 0-07-070015-X

240 pages

hardcover

over 50 color COl OC\

photographs yAl.srW

INVERSIONS:A Catalogue ofCalligraphicCartwheels

by Scott Kim

Foreword by Douglas Hofstader

Backwor'd by Jef Raskin

Surprising symmetries indesign and letterforms

Illusion . . . calligraphy .. ,visual magic - Scott Kim's newbook. Inversions, delights theeye 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, thesecompositions create a freshway to look at the alphabet.The text includes the visualprinciples of symmetry, lettering,and problem solving that arebasic to these images. Theauthor also draws parallels torelated exercises in perceptionin such diverse areas as art,music, word play, and mathe-matics. Scott Kim's originalinversion designs first appearedin Omni magazine, inspiringan overwhelming reader re-sponse. An irresistable chal-lenge, invertible writing appealsto everyone who loves beautyin mathematics and design.

Scott Kim is a doctoral studentin Computer Science at Stan-ford University and is a concertpianist 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 designand applications

This computer-oriented guideexplores how the brain functionsprimarily as a computer devicefor generating and con-trolling behavior. The authorassesses behavior as a productof three hierarchies ofcomputing modules:

• memory modules

• behavior-generating modules

• sensory-processing modules

A section on artificial intelli-gence ties this hierarchicalmodel to vital computerscience techniques such asplanning, problem-solving,machine vision, naturallanguage understanding andknowledge representation. Aclosing section on roboticsdiscusses the design consid-erations in constructing a robotcontrol system fashioned afterthis model of the brain, andexplores the current andpotential use of robots inour environment.

Dr. James S. Albus is ProjectManager with the NationalBureau of Standards.

ISBN 0-07-000975-9400 pages

hardcoverISO illustrations

$15.95

THE BRAINS OFMEN AND MACHINE!

by Ernest W. Kent

Human models forcomputer design

When the "Brains of Men andMachines" series of articlesfirst appeared in BYTEmagazine, the response wasimmediate and enthusiastic.Now Ernest W. Kent has expand-ed his ideas about the braininto a full-length book. Asresearchers begin to unravelthe mysteries of the brain'schemical, electrical, andsynaptic circuitry, their findingsare becoming immediatelyapplicable to advances inrobotic behavior and computerdesign. The Brains of Men andMachines "dissects" the brainto provide new insights intocomputer design and artificialintelligence.

It is one of the rare books thattranscends disciplinary bound-aries. In it the ever-increasingrelationship between man andmachine is freshly examined -a relationship. Professor Kentconcludes, that is today beingreexamined in the light ofman's own neurologicalself-image.

Dr. Ernest W. Kent is aProfessor of PhysiologicalPsychology and Psycho-pharmacology at the Universityof Illinois at the ChicagoCircle Campus.

ISBN 0-07-034123-0

304 pages

hardcover aip at

illustrated ^IO.tO

The BYTE BOOK Collection

Circle 40 on inquiry card.

BASICSCIENTIFICSUBROUTINES,VOLUMES1 AND 2

H-j»ini;g«lkir»'

by Fred Ruckdeschel i@!

Valuable programs forprofessional and hobbyist

Designed for the engineer, scientist,experimenter, and student, this series pre-sents a complete scientific subroutinepackage in BASIC.

• Volume 1 covers plotting, complex vari-ables, vector and matrix operation,random number generation, and seriesapproximations.

• Volume 2 continues with least-squaresapproximation, special polynomialfunctions, approximating techniques,optimization, roots of functions, inter-polation, differentiation, integration, anddigital filtering.

These volumes feature routines written in bothstandard Microsoft and North Star BASIC,extensive appendices, and subroutinecross-referenes.

Dr. Fred Ruckdeschel is a PrincipalScientist 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, andletters from BYTE magazine, this work is avaluable software resource. Pascal con-tinues to be popular as a structured pro-gramming language. Written for bothpotential and established users, this bookintroduces the Pascal language andexamines its merits and possible imple-mentations. Featured are two versions of aPascal compiler, one written in BASIC andthe other in 8080 assembly language;a p-code interpreter written in both Pascaland 8080 assembly language; a chess-playing program; and an APL interpreter.

ISBN 0-07-037823-1334 pageshardcover

$25.00

THREADED

INTERPRETIVE

LANGUAGES

by Ronald Loeliger ,

How to implementFORTH on your Z80

Threaded languages (such as FORTH) arecompact, giving the speed of assemblylanguage with the programming ease ofBASIC. They combine features found in noother programming languages. This bookdevelops an interactive, extensiblelanguage with specific routines for the ZilogZ80 microprocessor. With the core inter-preter, assembler, and data type definingwords covered in the text, it is possible todesign and implement programs for almostany application and equivalent routinesfor different processors.

Ron Loeliger is a Senior Analyst withIntermetrics, Inc.

ISBN 0-07-038360-X272 pageshardcoverillustrated

$18.95

BEGINNER'S

S^:» GUIDE FOR

szzz::. THE UCSD

PASCAL

SYSTEM

by Kenneth L. Bowles

The most popular Pascalversion explained by its creator

Written by the originator of UCSD PascalSystem, this informative book is an orienta-tion guide to the UCSD Pascal System. Forthe novice, this book steps through theSystem, bringing the user to a sophisticatedlevel of expertise. Once familiar with theSystem, the reader will find the guide aninvaluable reference tool for creatingadvanced applications. The package offersprograms which may be run withoutalteration on:

• DEC PDP-11 or General Automationminicomputers

• Western Digital Microengines

• 8080, 8085, Z80, 6502, 6800, 9900 orAM-lOO based microcomputers (includ-ing the popular Apple II and Radio ShackTRS-80 microcomputers)

Dr. Kenneth L. Bowles is Director of theInstitute for Information Systems, Universityof California, San Diego.

ISBN 0-07-006745-7204 pagessoftcover

$11.95

s&

aM*Wt>

YOU JUSTBOUGHTA PERSONALWHAT?

by Thomas Dwyer and Margot Critchfield

A Structured Approach toCreative Programming

Intended for both the novice programmerand the experienced computer enthusiast,this book presents practical ideas forpersonal computer use at home or at work.

Its approach is especially suitable foreducational purposes. Written by theleading contributors of computer educa-tion material, this book is an entertainingand resourceful tool. There are over 60ready-to-use programs written in Microsoftand Level II BASIC for the TRS-80 in the areasof educational games, financial recordkeeping, business transactions, disk-based files, and word processing

Dr. Thomas Dwyer is a Professor ofComputer Science at the University ofPittsburgh.

Margot Critchfield is a doctoral studentin Foundations in Education at the Univer-sity of Pittsburgh.

ISBN 0-07-018492-5343 pagessoftcover78 illustrations

$11.95

BEYOND GAMES:

SYSTEM

SOFTWARE

FOR YOUR

6502

PERSONAL

COMPUTER

by Kenneth Skier

Creating programs for the Apple,Atari, Challenger andPET computers

At last, a complete programming guide-book for owners of personal computersutilizing the 6502 microprocessor. A self-contained course in structures programmingand top-down design, this book presentsa powerful set of tools for building anextended monitor, disassembler, hexadec-imal dump routine, and text editor programs.Programs are thoroughly explained, withclear instructions for modifications.

Kenneth Skier is a Systems Programmerfor Wang Laboratories, Inc., and a Lecturerat MIT.

ISBN 0-07-057860-5440 pagessoftcoverillustrated

$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 CircuitCellar details a variety of microcomputerprojects. A collection of the best articlesfrom 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 toconstruct each project. With amusinganecdotes and an easy-going style,Ciarcia presents his material in such amanner that even a neophyte need not beafraid of it.

ISBN 0-07-010960-5

125 pages

softcover

color photographs and diagrams

$8.00

CIARCIA'SCIRCUITCELLAR,VOLUME II

by Steve Ciarcia

More practical uses forhome computers

Composed of popular articles from BYTEmagazine, this volume tells how micro-computers can be uniquely interfaced toour environment. Projects include

• building a computer controlled home-security system

• computerizing appliances

• transmitting digital information over abeam of light

• building the Intel 8O86 microprocessorsystem design kit

• input-output expansion for the TRS-8O

ISBN 0-07-010963-X

224 pages

softcover

photographs and diagrams

$12.95

a^r5**

MICRO-COMPUTERSTRUCTURES

by Henry DAngelo

Digital Electronics,Logic Design, andComputer Architecture

Today, there is an increasing demand forcomputer users who are not only well-versedin software, but who can also maintain,modify, and design their own hardwaresystems.

This text introduces computer users withlittle or no background in digital hardwareto the basic computer structures used inmicrocomputer design and microcomputerinterfacing. Helpful examples and end-of-chapter exercises further illustrate thevarious concepts presented, and a detailedbibliography provides additional readingopportunities. 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 Deanof the College of Engineering and Professorof Manufacturing Engineering at BostonUniversity

ISBN 0-07-015294-2288 pageshardcover314 illustrationsavailable spring 1981

$18.95

Instructor's ManualISBN 0-07-015298-5softcover

$8.95

BUILD ,

YOUR OWN IZ8O / ,

COMPUTER

by Steve Ciarcia

£yi.L*i YOUR OWN

jSSS r"Mr,'TPF

Every step spelled out fordo-it-yourself buffs

For the engineer, computer technician,student, and anyone interested in buildinga computer rather than buying one, thispractical guide shows how to build a work-ing computer based on the Zilog Z8O micro-processor. Each computer subsystem is fullyexplained and supported by proven designand testing information. The descriptionfocuses 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 meetpersonal needs.

Steve Ciarcia is a Computer Consultant,Electrical Engineer, and author of "AskByte" and "Ciarcia's Circuit Cellar" columnsin BYTE magazine.

ISBN 0-07-010962-1330 pagessoftcoveravailable summer 1981

$15.95

BYTE Books' reputation is basedon providing technicallyaccurate, useful, and timelyinformation. Established on thesame principle as BYTEmagazine, BYTE Book's evolvedin response to the rapidly ex-panding audience of homeand business computer users.Computer professionals andenthusiastic newcomers needto keep pace with thisunabated growth. This selec-tion of BYTE books canexpand your library of knowl-edge and expertise.

TO ORDER, CALL TOLLFREE 800-258-5420, ORFILL OUT YOUR CHOICESIN THIS COUPON andreturn it with check,money order, or chargecard 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 NumberExpiration Date

Include 75c per book to cover postageand 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 Drives32K Double DenFactory assem. & testedFactory guaranteedList $3695

only

$2697

POWERFUL NORTH STARSUPERB FOR BUSINESS

FACTORY ASSEMBLED & TESTED

HORIZON-2-64K-DOUBLE DEN

HORIZON-2-32K-QUAD DENSITY

HORIZON-2-64K-QUAD

HORIZON RAM ASSM 16K = $279

HORIZON RAM ASSM 48K = $679

HORIZON DISK DRIVE SALE

DOUB DENNORTH 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$3923CALL

SUPERBRAIN

ZENITH

SUPERBRAIN QD 64K

List $3995 only $2995

Z-89 48KList $2895 only $2299

TERMINALS Z-19 $725

INTERTUBEIII omy $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 MHz64K Dynamic RAMFront panelV I/O—with interruptsFDCII Disk Controller20 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

$590SYSTEM MEMORY 64K BANK SELECT

$740 SPECTRUM $269

COMPUPRO SAVE

ITHACA MEMORY 8/16-blt64K $845 EZ-CODER Translates English to BASIC

SEATTLE MEMORY 8/16 BIT 16K $249 $71

ECOSOFT FULL ACCOUNTING PKGSSM 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 BASICECONORAM2A8KASSM $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 recorderare all contained in a single compactpackage. The MZ-80 is based arounda Z80 microprocessor and includes16 K bytes of programmablememory, Microsoft-compatibleBASIC, a real-time clock, andsound/music capabilities. DualSVi-inch floppy-disk drives as well asa variety of printers are also beingsold by Sharp in Europe and Japan,making the MZ-80 a powerful low-end business machine.

Sharp officials deny there are anyplans afoot to market the MZ-80 inthe United States. My personal feel-ing is that it will make its appearancehere soon. The existing Sharp dealersnetwork is the ideal place to market amachine such as this—designed forthe consumer.

Hitachi

Hitachi is yetmultibillion-dollar

another of theJapanese giants.

1980 sales of $13.4 billion make it thefifth largest company in Japan. Longknown for high-quality inexpensiveconsumer electronics equipment (soldunder a variety of names in theUnited States), Hitachi seemed to beone of the first to plan a marketingstrategy to crack the US personalcomputer market. The problem isthat, until recently, it never becameserious about the plan.

Hitachi was one of the firstJapanese companies to build a per-sonal computer. The HD46800 wasannounced in June 1978 and was atrue home computer designed for en-vironmental control, menu and finan-cial planning, as well as burglar andfire alarm interfacing. But it was toomuch, too soon. The US personalcomputer market was then onlybeginning to develop with the in-troduction of the first Radio ShackTRS-80 models.

Another major problem withHitachi is the lack of a marketingorganization in the United States.There seems to be little movement in

the direction of developing one.Lately, the company appears to beconcentrating on large computers tocompete in the IBM mainframemarket. Hitachi recently introducedthe AS-9000 computer with featuresfar and above IBM's largest computerat a comparable price. But the lack ofa US organization has hurt. TheAS-9000 is being sold in the UnitedStates by National AdvancedSystems—a company with a largeamount of small computer ex-perience. Although the AS-9000 isreceiving a very favorable response,service is already a major problem.Recently, Lockheed Dialog installedan AS-9000 in its well-known data-base system. It was learned recentlythat a strange bug caused the entiresystem to crash at random intervals.Servicing the AS-9000 required thatengineers be brought in from Japan,an extremely expensive propositionfor Hitachi.

Even with the lack of a USorganization, it seems certain thatHitachi will begin a major drive to in-

age 65years worked Jo

retirement benefits 0

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 lotmore. Send for it today.

Write: Pensions, Consumer Information Center U.S. Department of Labor jfry

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 softwareconcept that kicks the coded key habit and frees you from complicated instructionmanuals. SELECT is fast. SELECT is logical. With single key mnemonics, you'll usedozens of commands that instantly access the rich capabilities of this system. There'snothing 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 afew surprises.

SELECT with SUPERSPELL .* The only microcomputer software with an integratedspelling dictionary. To proof your text all you do, of course, is to key "S". SUPERSPELLwith its 10,000 word dictionary scans your text at computer speed then displays andcorrects all your typing errors. You can increase SUPERSPELL's word power andcustomize the dictionary by adding new words, one at a time. Ask to see it today atyour 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 forRadio 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-4003Circle 344 on inquiry card. byte August 1981 213

Circle 238 on inquiry card.

MICROMAIL HAS WHATYOUR SYSTEM NEEDS.

TELEVIDEO

910

$599.00

$699.00$749.00$995.00

DIABLO

630

$1959.00

1640 RO1640 KSR1650 RO1650 KSR

$2269.00$2499.00$2599.00$2599.00

DEC

LA34DA

$899.00

TELETYPE 43 PF(TTL)

$975.00

ANADEX

TEXAS INSTRUMENTS

DP 9500DP 9501DP 9000DP 9001

$1299.00$1299.00$1199.00$1199.00

810/2810/2 PKG

(U/L, VFC, CP)

$1549.00$1679.00

SOROC

IQ.120IQ.140IQ.135

C. ITOH

$689.00

$1099.00

$849.00

DEC

VT100

DEC LA 34AA

NEC

$1650.00$1050.00

CIT 101

$1625.00

55105530

$2395.00$2395.00

To Order: Send, check to MICROMAIL, P.O. Box 3297, Santa Ana. CA 92703. Persona) or company checksrequire two weeks to clear. Visa/MasteiCard accepted. COD. requires a 15% deposit Handling: Add 3% toorders less lhan S750, 2% to orders $751 - S2.000, 1% to orders over S2.000 NOTE. Handling charges arewaived on orders pre-paid in advance by check Shipping: We ship FREIGHT COLLECT via UPS or MotorFreight Air and Express delivery is available.

eMJCRDMflM..;

P.O. Box 3297Santa Ana, CA 92703Phone: 714/731-4338TWX: 910 595 U46

troduce its personal computers here.The Hitachi BASIC Master Level III isnow being sold in Japan and willprobably soon be test-marketed in theUnited States. Based on a Motorola6809 microprocessor, the unit hasMicrosoft BASIC, 80-column textdisplay, and high-resolution graphicswith six colors available. The USprice is expected to be in the $1500range. A special color monitor forultra-high-resolution graphics is$900.

Hitachi seems to be making a slowbut steady penetration into the per-sonal computer market. Although itprobably won't be a strong force inthe US for a few years, Hitachi'sheavy R&D expenditures andquality-at-low-cost reputation makeit a strong long-term prospect for ma-jor US sales.

NEC

Nippon Electric Company is poisedfor a major move into the US com-puter market in both the personal andsmall-business markets.

NEC's trump card is the PC-8001,the largest-selling personal computerin Japan (some 3000 to 4000 units aresold monthly). The details of thePC-8001 were covered in an article inthe January 1981 BYTE (page 72). Itwas first shown at the 1980 NCC (Na-tional Computer Conference). InJanuary 1981, it was featured at thewinter Consumer Electronics Show.NEC's Consumer Electronics Divi-sion, based in Elk Grove Village, Il-linois, is now marketing it in the USthrough major personal computerdealers. The base price is $1295 with32 K bytes of programmablememory. (A little-known fact aboutthe PC-8001 is that it was jointlydeveloped by NEC and an ArlingtonHeights, Ohio, company called JustAnother Computer Company.)

The major strength of the PC-8001is that it has something for everyone:dazzling color graphics for the con-sumer as well as strong computationpower and a full line of peripheralsfor business people.

The key to the unit's success will beits marketing. The NEC name is notwell known in the United States and,

214 August 1981 © BYTE Publications Inc

THE ORIGINAL MAGAZINE FOROWNERS 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 ISSUESINCLUDE 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 ONCASSETTE 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 ROADSPRING 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 allfor 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) 1185

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/for/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 thecompany will have a number of com-puter distributors and retail outlets inthe near future.

NEC is also aiming at the higherend of the small-business market withthe Astra system, which is expectedto be available soon. NEC Informa-tion Systems (Lexington, Massachu-setts) is marketing the system, withprices starting at $11,000.

Casio

Relatively small (by Japanese stan-dards) Casio is well known for its ex-tensive line of calculators (many soldunder different brand names). Casiohas had its ups and downs over thepast few years and developed a per-sonal computer about three yearsago. Although some were sold inJapan, the product was ahead of itstime.

Casio is about to make a major bidfor the US personal and small-business computer market with theimminent introduction of the FX-9000P.

The FX-9000P has a unique designwith a built-in green phosphor 5-inchmonitor (similar to the Hewlett-Packard HP-83 and HP-85). One ofthe most interesting features is the setof plug-in modules for programmablememory expansion, peripheral inter-face, and software in read-onlymemory. In addition, the unit will beone of the first to partially use CMOSmemory (which doesn't lose datawhen the power is turned off). AsCMOS prices continue to fall, morecompanies will incorporate this newtechnology in their computer designs.

The big question mark about theFX-9000P is the price. Although com-pany officials were more than happyto talk about its capabilities, the priceis something they refused to even hintat. The unit seems to be aimed atmore specialized uses than personalcomputers made by others. It willprobably be marketed for scientific aswell as small-business uses—ag-gressive pricing, however, will makeit attractive for lower-end uses. Thebest guess is that it will sell in the$1200 to $1800 range.

Mitsubishi

Another of the giant Japanese con-glomerates, Mitsubishi, buildseverything from small consumer ap-plicances to jet planes. The companyis one of the few that doesn't (at themoment) seem to be interested in thepersonal computer market, but itslarge mainframe systems make it thefifth largest computer company inJapan.

Mitsubishi does have a US sub-sidiary which is working to market ahigh-end small-business computer.Melcom systems is expected tomarket the Melcom Model 18 soon.The system is already being sold inJapan with prices starting at $18,000.

Rumors about a Mitsubishi per-sonal computer are nonexistent, butthe fact that it is developing a com-puter marketing network portendsthings to come.

Seiko

Best known for its line of watches,Seikosha Limited has been rumoredfor some time to be developing a low-end portable personal computer.Since 1979, the company has beenselling a personal computer in Japan(with very limited success). TheSeikosha 8500 uses two Intel 8085microprocessors, has a 12-inch videodisplay, and comes with two 5 Vt -inchfloppy-disk drives. Chances are slimthat this product will ever arrive onthe American market.

The hottest rumor, circulating forsome time now, is that Seiko's low-end personal computer would have a"designer" look created by PierreCardin. At the winter Consumer Elec-tronics Show, Seiko displayed anumber 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 appearinghere.

Perhaps the biggest argument foran eventual Seiko push into the USpersonal computer market is the suc-cess of Seiko's Epson subsidiary. Ep-son printers are rapidly becomingmore and more popular in the UnitedStates, with a sales and serviceorganization that is buildingrapidly—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-RunBusiness Programs

PSSed within 24-Hour*

/ /\ • 30-DaV moneySoftware

(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

11 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

15 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

19 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 0 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

100 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 AREASADD $4.00 FOR C.O.D. OR NON-UPS AREASADD $5.00 OUTSIDE U.S.A. CANADA & MEXICO

NEWr0LL

LINE

«*> «a

iCQIYIPLITHQMICS

50 N. PASCACK ROADSPRING VALLEY, NEW YORK 10977

HOUROA ORDER^ UNE

425-1535

Circle 119 on inquiry card.

tippkz

^ ATARI'

EPSON... and moreApple II

32K J1099D0

48K s114900

Disk II W/3.3D0S ...J 52900

Disk II J 45000

Apple III W/128K ....s360000

EPSON

MX-70 J 39900

MX-80 CALL

Apple card & cable..5 9900

ATARI8

400 W/16K s 3.4900

800 W/16K s 775D0

810 Disk Drive s 44900

We'll meet or beatany advertised price.

WAp% HEWLETTW!HM PACKARD

HP-85AW/16K s269730

NEC

5510-2 w/Tractor ...J2550005520-2 w/Tractor ...J285000

S0R0C

IQ 120 s 72500

IQ 135 J 799D0

C.IT0H

Comet s 49995

Starwriter s145000

Northstar, Altos and ZenithAll 25% Discount

LO-BALL COMPUTERS

7677 S.W. Cirrus Dr.Beaverton, OR. 97005

TO ORDERCALL (503) 641-0211

Ordering Information: For fastest ser-vice, send money order, cashier'scheck or bank wire. Visa and MCorders, add 3%. Personal checksaccepted (allow minimum 10 days toclear). Hours 9-5, M-F.Call for our Free Catalog.

easily handle personal computers.

Matsushita

Matsushita is one of the largestmanufacturers and marketers of con-sumer electronics products in theworld, with 1980 sales of $13.7billion. In the United States, the com-pany is best known for the Quasar,Panasonic, and Technics brands. ItsUS marketing organization and ex-pertise are formidable.

Apparently, the company's firstthought about entering the US per-sonal computer market was to ap-proach it in a very differentway—namely, the Panasonic andQuasar hand-held computer, in-troduced officially at the winter Con-sumer Electronics Show. (See BYTEJanuary 1981, page 34.)

Persistent rumors exist in the in-dustry that Matsushita is havingsecond thoughts about the hand-heldcomputer in its present form. Releasedates have already been pushed up afew months, lending credence to therumor that the product will undergo amajor redesign. Meanwhile, there arereports that the company is hard atwork on a full-sized personal com-puter in the $1000 range.

IBM obviously respects theresources of Matsushita in the smallcomputer field; Matsushita officialsrecently admitted they were ap-proached by IBM to build a personalcomputer for the US giant. Sources atboth companies say nothing came ofthe meeting, but, in fact, Matsushitaand IBM having been working forsome time on a joint project to pro-duce a series of personal computersbearing the IBM logo. Code-named"Go," the project now seems to havebeen suspended. (See the editorial inlast month's BYTE.)

Sord

Although virtually unknown in theUnited States, this small companybased in Tokyo is planning a majorpush into the US market. Sorddesigned and markets the M100 com-puter in both Europe and Japan.Some 1800 units were reportedlyshipped to Europe in 1980. They areevidently being sold under another

name because dealers contacted in theUnited Kingdom had never heard ofthem.

Most Japanese companies aresecretive, but Sord stands out as oneof the most tight-lipped. I was con-sistently unable to contact companyofficials and letters went unanswered.Consequently, details of the MlOO arenot available.

There are, however, persistentrumors that the company will appearsuddenly in the US with a strong pro-duct, marketed well.

Other Companies

A number of other Japanese com-panies are working on personal andsmall-business computers designedfor the United States market. In mostof the following cases, little if anydetails are available.

Sony recently admitted it is design-ing a personal computer which willeither interface with or be designedaround its recently introducedTypeCorder portable typewriter(which fits in a briefcase and storestext on miniature tape cassettes).Sony has what is probably the mostformidable marketing/serviceorganization of any Japanese com-pany in the United States. More im-portantly, the Sony name issynonymous with high quality andinnovative technology.

Expect the introduction of a Sonypersonal computer within a year. Itwill probably be unlike any otherproduct n'ow on the market and willuse Sony's new 3-inch disks.Reported problems with quality con-trol on the disks may, however, delaythe process. When the unit does ap-pear, it will certainly give both USand other Japanese computer makersa run for their money.

OKI is expanding its US marketingand service network and quietlyshowed its OKI IF800 at the winterConsumer Electronics Show. TheOKI IF800 is now being sold in Japan(for approximately $8000) and is astrong 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 3CPU's (Expandable to 8) to access asingle 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 113" Low Res $ 449

Color II 13" High Res $ 999

64K Superbrain

(360 Disk Storage). CP/M™... $349564K QD Superbrain

(700K Disk Storage). CP/MT".. $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.

PROFESSIONALSOFTWARE

WordPro 1 8K $ 29.95

WordPro 3 (40 Clm.)16K ....$ 199.95

WordPro 3* $ 295

WordPro 4 (80 Clm.) 32K .... $ 375WordPro 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 testeach 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 effectiveacceptance 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 crtterminals. A quick-test has been added for quick verification of the workingof 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 testDiagnostics-ll still includes the only CPU test for 8080/8085/Z80.

A Spinwriter/Diablo/Qume test has been added, which tests for the positioningand control features of the Spinwriter/Diablo/Qume as well as its ASCIIprinting features. (Serial Interface only)

And, as with all SuperSoft products, a complete online HELPsystem 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" MicropolisMod 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-businessmarket at this time. The only smallcomputer product it is currently of-fering is a one-board uncasedmachine with BASIC and a keyboardthat's mainly designed for develop-ment work.

AI Electronics Corporation andLogic Systems International are twosmall companies, based in Tokyo,which seem to be quietly workingbehind the scenes. Both ship about2000 personal computers a year toEurope—where they are packagedand sold under different names. In theJapanese tradition of secrecy, detailson their products are unavailable;however, watch for the names,possibly in conjunction with US com-panies. Rumors persist that bothcompanies have had major discus-sions with US companies regardingthe marketing of their personal com-puters in the United States.

Finally, Sanyo has exhibited somepersonal computer prototypes atJapanese trade shows, but seems tohave put the project on a back burnerfor the time being.

Summary

The Japanese personal computersare impressive machines at highlycompetitive prices. However, theoutlook for American computermanufacturers is not entirely grim.There is little if any chance that theinflux of Japanese products into ourmarket will have anywhere near thesame effect Japanese automobiles andsteel have had on those US markets.The American computer industry isfar from being the mature and top-heavy group that the auto and steelindustries are. The United Statesdeveloped the computer and thatdevelopment continues to move for-ward at a dizzying pace.

In fact, the influx of Japanese per-sonal computers is likely to furtherspur the domestic computer makers.Their highly experienced marketingand product-development groups arepoised to give the Japanese products arun for their money. The bottom lineseems to be that the "Japanese Com-puter Invasion" will result in betterproducts 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 ofprofessional software for micro-computers, Lifeboat Associates offersthe largest selection of state-of-the-art Iprograms. And our new catalog hasmore to offer than ever We also add thecrucial dimension of after-sales serviceand 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

III

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 IIMP/M FOR INTEL MDS

HARD DISK INTEGRATION MODULES

CORVLJS WITH APPLE II SOFTCARDCORVUS WITH S100 AND TRS-80

MODEL IIICOM 4511/PERTEC D3000KONAN PLUS CDC PHOENIXXC0MP SM/S PLUS CDC PHOENIXXCOMP 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

CUSTOMIZATIONUNLOCKWORD-MASTERXASM-1BXASM-48XASM-65XASM-68XMACRO-86ZDTZ80 DEVELOPMENT

PACKAGEZSID

ORDERING INFORMATION. COMPUTERSSUPPORTED 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 COMPILERCBASIC-2CIS COBOLCOBOL-80FORTRAN-80JRT PASCALmuLISP

muSIMPNEVADA COBOLPASCAL/MPASCAL/MTPASCAL/MT+PASCAL/ZPL/1-80S-BASICTINYCTINY-C TWOWSMITHSCCOMPILERXYBASIC

MAILING ADDRESS (PTREE)MAILMERGE FOR WORDSTARNADPOSTMASTER

BUSINESS APPLICATIONS

LANGUAGE AND APPLICATIONS TOOLS

BASIC UTILITY

DISKDATASTARFABSFORMS 1 FOR CIS

COBOLFORMS 2 FOR CIS

COBOLMAGSAM IIIMAGSAM IV

MDBS DRSMDBS RTLM/SORTFORCOBOL-80PEARLPSORTOSORTSTRING BITSTRING /80SUPER-SORTULTRASORTII

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-C2INVENTORY (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-

CBASICSTRUCTURED MICROPROCESSOR

PROGRAMMINGUSING CP/M-A SELF-TEACHING GUIDE

ACCESSORIES

DC 300 DATA CARTRIDGEHEAD CLEANING DISKETTEFLIPPY OISK KITFLOPPY SAVER

Program names and computer names aregenerally trademarks or service marks ofthe 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 unlessotherwise stated

Copyright ©1981 Lifeboat Associates. Noportion of Ihis advertisemeni may bereproduced without prior permission.

MAGIC WANDLETTERIGHTMICROSPELLSPELLGUARD

TEXTEXTWRITER III

WORDSTARW0R0IN0EX

BOOKS AND PERIODICALS

DATA MANAGEMENT PACKAGES

CONDORHDBS

MDBSMDBS ORS

GENERAL PURPOSE APPLICATIONS

CBS SELECTOR IV

SELECTOR III-C2

APL-AN INTERACTIVE APPROACHACCOUNTS PAYABLE 8 ACCOUNTS

RECEIVABLE-CBASIC8080/Z80 ASSEMBLY LANGUAGETHE CP/M HANDBOOKTHE C PROGRAMMING LANGUAGECRASH COURSE IN MICROCOMPUTERSFIFTY BASIC EXERCISESGENERAL LEDGER-CBASICINTRODUCTION TO PASCALLIFELINES

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 0 1 R7

Intertec Superbrain DOS 0 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 sidedDD = double sided

SD = single densityDD = double density

The list of available formats is subiect tochange without notice In case ofuncertainty, call to confirm the format coOefor any particular eouipmenl.

Lifeboat Associates. Ltd.

PO Box 125

London WC2H9LU. England

Tel: 01-836-9028

Telex: 893709 (LBSOFTG)

Lifeboat Associates GmbHPO Box 168. Aegeristrasse 35CH 6340 Baar. SwitzerlandTel: 042-31-2931Telex: 865265 (MICOCH)

Intersolt GmbHSchlossgartenweg 5D-3045 Ismaning. W. GermanyTel: 089-966-444Telex: 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 SENDTOUR 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 soundsterrific, so you ask around, then buythe manual.

So far, so good—so you springseveral hundred dollars for thepackage.

And it does exactly what theysaid. But to get exactly what youwant, you're going to have to changethe way you run your business. Orgo through so much hassle thatyou'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 knownexception: an exceptional DBMScalled dBASE II.

For database fans, an offeryou shouldn't refuse.

dBASE II is the only high-performance j^lational DatabaseManagement System for micros.And it's the only DBMS that canhelp you get the DBMS that's rightfor you, no matter which DBMSyou may want. Here's how:

If you have a 48k micro withCP/M, send us its model numberand the size of your drives alongwith $700 (CP/M 86 version soon —call if you can't wait).

We'll send you a copy of dBASE IIthat you can run on your system,solving your problems your way,for 30 days. Then just send every-thing back and we'll return yourmoney, no questions asked.

During that 30 days, you can findout how much a real databasemanagement system can do for you.How it will affect your operations.Exactly what you want done. Andprecisely how you want to do it.

Then even if you go for someother system, you'll be an informedbuyer.

And it never hurts to know whatyou're doing.

IBM just caught up.So can you.

With dBASE II, you'll get thesame kind of system for your microthat IBM introduced a few monthsago for their mainframes.

It's a relational DBMS, and thatmakes it different from any othermicro system you've ever seen.

In a relational database, the datais organized as simple tables, withrecords as the rows and the datafields as the columns, much like yourdata is organized now. Data rela-tions are logical, so that you canzero in on the specific informationyou want without knowing a thingabout the pre-defined sets, pointersor other cumbersome structures ofhierarchal and network DBMS's.

And unlike file managementsystems, dBASE II gives you pro-gram and data independence. Youcan change your database structurewithout re-entering your data andwithout reprogramming, or changesome or all of your programs with-out touching your database. Andthe same database can be used forany number of different applications.

dBASE II is a stand-aloneapplications developmentsystem.

You don't need an extra supportlanguage, because dBASE II comeswith its own Applications Devel-opment Language (ADL). With ADL,you can use simple English-likestatements to manipulate your data,or use built-in structured constructsto prepare sophisticated applica-tions packages. It's simple and easyto use, yet extremely powerful.

You create a new database andstart using it in a minute or less.Just type CREATE, then respond tosystem prompts to name the file anddefine the fields. Now enter the data.

Add data to an existing databaseinstantly, whether your file has

AshtonTate

©Ashton-Tate 1981

10 records or 10,000 records, bytyping APPEND, then entering theinformation.

UPDATE, MODIFY, JOIN andREPLACE whole databases orindividual records and characters.

Add or delete fields in your data-base structure without re-enteringall your data.

And with dBASE II, it's easy toget information out once you've putthe data in.

Do automatic calculations onfields, records and databases with afew keystrokes.

Organize months' worth of datain minutes with REPORT (printingoptional), and get your reportstoday instead of tomorrow. Usethe built-in SORT, with single ormultiple keys. Or INDEX yourdata, then FIND it in seconds, evenwith floppies.

You can use dBASE II inter-actively or store a sequence of com-mands to automate your accounting,billing, mailing lists or whateverdata you have to manage.

You'll wonder how youmanaged without it.

dBASE II is the most powerful,easiest to use DBMS you can get fora micro.

And instead of poring over themanual, you can run it hands-on,in-house to see exactly what it cando for you. Try it.

What have you got to lose? Weeven provide the label so you cansend 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 battlelines are being drawn be-tween small-computer sup-pliers and long-established,large-computer companies.Expect the first skirmishesnext year. On one side arethe microcomputer manu-facturers led by Tandy Cor-poration, Apple ComputerInc, and Commodore Busi-ness Machines. On theother, there's IBM, DEC(Digital Equipment Corpora-tion), HP (Hewlett-Packard),Xerox, and Data General.What is at stake is a marketestimated at 300,000 units(not including sales to homeusers) that should exceed $1billion in sales in 1982.

Here's what's happening:the small-computer makersare introducing larger sys-tems, while the large-com-puter makers are bringingout smaller systems. Thesmall-computer makers areexpanding and strengtheningtheir marketing and distribu-tion channels, while thelarge, established com-panies are crowding into theretail area with their ownstores and the same outletsthat the small-computermakers have been using.Therefore, both groups willsoon be competing in thesame price/performanceareas.

A third factor that shouldbecome a significant pre-sence in the market nextyear is the Japanese. Theyare expected to concentrateon the small-business mar-ket, at this time.

The key to success will beproduct marketing and dis-tribution, rather than tech-nology—ask IBM. Whileother manufacturers always

seem to have a tech-nological edge, IBM suppliesa total marketing program —sales, service, and support.

The Radio Shack divisionof the Tandy Corporation isexpected to hold its ownbecause of its firmly en-trenched chain of stores.Presently, Radio Shack has138 computer stores, 200company-owned stores, andabout 7000 franchises. How-ever, the competition isspreading. Both DEC andIBM have more than twodozen stores in operation.Xerox, with fifteen stores,hopes to have twice thatnumber within the comingyear, while HP is expected toopen several of its own. HPalready sells through in-dependent retailers, andDEC and IBM are expectedto go this route along withtheir own retail outlets.

wtatus Report: 5-InchWinchester Disks: Diskmanufacturers are rushinginto the 5-inch Winchestermarket with drives providingup to 13 megabytes ofstorage (unformatted) in thevolume of a standard 5-inchfloppy-disk drive. The earlyentrants into the market areSeagate Technology andTandon Magnetics; bothstarted shipping sampleslate last year. Other com-panies with 5-inch hard-diskproducts in the making areShugart, Internation

Memories, Irwin Interna-tional, Olivetti, New WorldComputer, BASF, ComputerMemories, and RotatingMemory Systems. Most com-panies are forwardingsamples to OEMs (original

equipment manufacturers)and expect to be in limitedproduction by year's end.

Capacities range from 2 to13 megabytes, unformatted.Prices, per megabyte, rangefrom $90 to $450 in 100-unitquantities (drive only), whichcompares favorably with8-inch Winchesters, whichcurrently cost $50 to $400per megabyte in similarquantities. 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 CapacitiesIncreasing: Iomega,Ogden, Utah, is expected tointroduce a 10-megabyte8-inch floppy-disk drive. It'srumored that Iomega plansto push this up to100 megabytes. Persi isgearing up to produce a6.4-megabyte dual 8-inchdrive that fits in the samespace as a Shugart 8508-inch drive.

Seagate Technology has anew version of its 5-inchWinchester drive with capa-cities of 12.76 megabytesunformatted and 10 mega-bytes formatted. The 3Mcompany has decided toenter the Winchester-drivemarket after making themedia for years. It plans tointroduce 10-, 20- and60-megabyte 8-inch Win-chesters.

N.

I ew 8080/Z80 DOSes:

There are three new diskoperating systems (DOSes)for Intel's 8080 and Zilog'sZ80 microprocessors. MuSysCorporation, Tustin, Califor-

nia, has introduced MuDOS,a CP/M-compatible DOSthat provides a managementsystem for handling multi-user access to the disk.MuDOS runs only onZ80-based systems and,MuSys claims, is six timesfaster than DigitalResearch's CP/M. The pricewill be in the $300 to $750range depending on config-uration

Vortex Technology, Cul-ver City, California, will in-troduce MARC, a UNIX-likeDOS for 8080 and Z80 sys-tems. Designed by LeorZolman (the creator of theBDS C compiler) and EdZiemba, it initially bootsunder CP/M and has theUNIX-like, tree-structuredfile system replete withusers, groups, protections,and the like. It also has ashell-type command inter-preter, shell files (pipes),user-customization modes,and utilities. Vortex expectsthe system to provide for thetransparent running of mostexisting CP/M programs aswell as programs written forMARC. Projected price is$175, and for another $75,you can have either the BDSC or the MINCE editor.

InfoSoft, Westport, Con-necticut, is introducingMULTI/os for 8080 and Z80systems. MULTI/os will sup-port up to sixteen users, witha shared data base of975 megabytes and multipledisk controllers. Like theothers, it also maintainsCP/M compatibility.

#^da And Little AdaReleased: Telesoftware hasfinally released its Ada com-

224 August 1981 © BYTE Publications Inc

EXECUTIVE MENU

THE COMPUTER SOLUTION FOR NON-COMPUTER PEOPLE

Now Marot brings you anotherdelicious first: a menu-driveninformation system so simple evena CEO can use it.

A single key-stroke takes you directlyto the required application:

DATA BASE MANAGER(CONTROL™): a combined programgenerator that works with standardEnglish query. That means it talksyour language. So there's no needto learn a computer language orwrite a program to be a successfuluser.

WORD PROCESSOR (MAGICWAND™): a powerful wordprocessor that allows full screencreation and editing of files. It alsoproduces true proportional spacing,microjustification and kerning. Inaddition, documentation can befully examined at the CRT prior toprinting.

ACCOUNTING: consists of severalcomplete business packages eitherin standard ANSI 74 COBOL orOASIS™ BASIC, including accountsreceivable and payable, generalledger, payroll, order entry andinventory. Financial modeling andjob costing are also available.

MAILING LIST (POSTMAN™):delivers up to 65,000 entries in zipand name order and is completelyinteractive with MAGIC WAND.

SCHEDULER: maintains a completeoffice diary with ability to compareschedules.

Although the Marot Menu appearssimplistic, it also incorporates OASISwith user logons, accountinghistories and password protection.Languages available include JCL(EXECUTIVE), BASIC, PASCAL,COBOL and FORTRAN.

As a result, the Marot ExecutiveMenu is a tasty pleasure for thehigher-ups and the higher-techs.

A la carte extra

OPSCAN SERVICE™; availableexclusively from Marot. Send usyour well-printed or typed files. We'llread them directly into MAGICWAND at a speed that would take20 typists to match. The cost is lessthan conventional typing and theturn-around is never more than 5days,

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 amicrocomputer. The firstrelease is for a 16-bitMotorola 68000 machineand provides most of thefeatures called for in theDepartment of Defense Adastandard. Telesoftwarehopes to add the missingfeatures in the future. Asingle-user license is $2000.For $50, you can obtain a"Little Ada" compiler andinterpreter for 8080/Z80-based systems that executesthe primary Ada functions.With it, you can get a feelfor what Ada is all about.While the compiler is fur-nished in object-code form,the L-machine run-time in-terpreter is furnished insource-code form. For moreinformation, contact RalphKenyon, 145-103 S BuddingAve, Virginia Beach VA23452.

I EC To Make TRS-SOsIn Japan: Tokyo ElectricCompany (TEC) willmanufacture and sell theTRS-80 Model I in Japanthrough a new agreementwith Tandy Corporation.TEC will also market theTRS-80 Models II and III,and the Color units. Tandystopped the manufactureand sale of the Model I inthe US because it did notcomply with the FCC (Feder-al Communications Commis-sion) RF (radio frequency)radiation requirements. TECis a division of Toshiba,which manufactures its ownpersonal computer.

A\t&T And PublishersClash Over Electronic In-formation Test: News-paper publishers in Texashave gone to court to pre-vent AT&T (AmericanTelephone and Telegraph)from testing its "ElectronicInformation Service" (EIS).The publishers contend that

AT&T is creating a mono-poly whereby subscriberswould not be properlyserved. AT&T counters thatEIS will be a service from anew company with separateassets. However, thepublishers feel that this is ajuggling act and a violationof a 1956 Justice Depart-ment ruling that stoppedAT&T from providing data-processing services of anykind.

The test was to be con-ducted in Austin, Texas. Itwas intended to be the pre-lude to a nationwide infor-mation-processing servicethat would bring yellow-page listings and advertisinginto the home through tele-vision sets.

Software BroadcastVia Radio: RadioNetherlands will experimen-tally broadcast a short com-puter program thisSeptember tenth. The pro-gram will be aired in threedifferent formats (TRS-80,Apple II, and PET). Listenerswill be able to record the FMbroadcast onto a cassettetape and then play it backinto their computer systems.The broadcast will be heardin Australia, Europe, Africa,and North America. For in-formation on frequenciesand times, write to Com-puter Experiment, MediaNetwork, Radio Nether-lands, POB 222, 1200 JCHilversum, Holland.

I

EEE-696/S-100 Stan-dard Out Of Committee:

After three years, the IEEE(Institute of Electrical andElectronics Engineers)696/S-100 Bus StandardCommittee has submitted afinished standard to theIEEE's computer-standardadoption committee. Thestandard is now completeand formal adoption is ex-pected early in 1982

R

random News Bits:

Sinclair will replace theZX80 with the ZX81. TheZX81 contains only four in-tegrated circuits in place ofthe ZX80's twenty-two. Theprice will drop significantly.. . . Apple Computer hassigned a lease for a 160,000-square-foot plant in Car-rolton, Texas. Apple plans toadd 700,000 square feet ofmanufacturing space duringthe next twelve months. Tan-dy will open a fourth TRS-60plant in San Antonio, Texas,adding 400,000 square feetof manufacturing space.. . . Zenith reported that itsHeath division had sales of$104 million last year.Zenith's total sales were$1,186 billion, with colortelevision sales of $774million leading the way.. . . Integrated-circuit makersare sharply reducing priceson EEPROMs (electricallyerasable, programmableread-only memories). Pricescurrently average $115 for1 K by 8-bit devices and $67for the 512 by 8-bit variety,in 100-unit lots. The partsboast a 500 ns access timeand 10-year data retention.. . . Intel's profits for the firstquarter of 1981 were down91.3%. The decline is at-tributed to the falling priceof memory devices. As aresult, Intel plans to cutcapital spending by $30 mil-lion. . . . Pick & Associates,developer of the MicrodataDisk Operating System, isworking with Intel on thedisk operating system for the32-bit iAPX-432 microproces-sor. It's currently running onHewlett-Packard, ADDS,Honeywell, ECSC, andMicrodata minicomputersystems. Pick is also workingon a Motorola 68000 imple-mentation. . . . Intel hasreduced the price of the8085 microprocessor to $4 inlarge quantities and to under$5 in 100-unit lots. Intelwants to compete with other

suppliers of the same part(NEC, Toshiba, Mitsubishi,and Siemens') and outruncompetition from Zilog'sZ80 microprocessor.

R

andom Rumors: IBM

is rumored readying two un-der-$1000 personal-com-puter systems at its Raleigh,North Carolina, facility. Onesystem attaches to the tele-phone line and serves as ahome-information system(bank-at-home, teleshop-ping, etc). The other is avery-small-business systemaimed at the professionalmarket (lawyers, doctors,etc). Neither system will beas versatile as a stand-aloneproduct because IBM doesnot want to hurt its regularsystems sales. Also, IBM issaid to be developing an un-der-$5000 small-business sys-tem aimed at competingwith the Apple II, TRS-80,and PET. . . . DEC reportedlyhas working prototypes of itsTiny-11, which blends intoone integrated circuit thecurrent four-device set ofthe LSI-11/2. Industry pun-dits say it works with stan-dard memory and I/O (input/output) devices. . . . Zilog isrumored developing a 32-bitmicroprocessor for introduc-tion by mid or late 1982.. . . Later this year, you canexpect a removable 1-mega-byte bubble-memory cas-sette from Intel. Fujitsu in-troduced 8 K- and32 K-byte bubble cassetteslast year. Plan on NationalSemiconductor to introducean 8 K-byte bubble cassetteand cassette unit with con-troller in the $2000 to $3000range. . . . Rumors from allover: Expect an under-$2000small-business computerfrom 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 printerport. . . . Vector Graphic,

226 August 1981 © BYTE Publications Inc

R&D COMPUTER SYSTEMS

Data Acquisition & Control Systems I

16 to 256 ch.; Programmable gain; Voltage or current output; J12, 14, or 16 bit; 30 to 125 KHz; Stepping motor control m

8086 16 Bit Micro Systems

31 MByte Winchester Drives256 KByte Memory Boards

8086 Software 4

Real Time Video Digitization Systems

S-100 Boards

16 Kilobyte Static RAM

8 and 16 bit transfer

Real Time Video Digitizer and Display

Analog to Digital Converter

16 channels - 12 bit accuracy30 KHz Conversion rate

8086 CPU with Vectored Interrupts

PROM and I/O

2 RS 232 - PI0CP/M-86 ROM Boot

Expansion Multiplexer

Analog to Digital Converterand Timer/Counter

16 channels expandable to 25612, 14, or 16 bit accuracy30,40,100,or 125 KHzProgrammable Gain

Digital to Analog Converter

4 channels - 12 bit accuracy3 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

nimnnnmfmDigital to Analog Converter

2 channels - 12 bit accuracy

3 microsecond conversion rate1 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 publicwith a stock offering thissummer. It is also devel-oping a Z8000-based system.. . . Cromemco is working onan IBM-compatible tape-drive unit to serve as a back-up for hard disks. It's alsoworking on a 68000-basedS-100 microprocessor card.. . . Codbout Electronics,which recently introduced a128 K-byte S-100 program-mable memory card, is nowready to unveil a 256 K-byteversion, . . . Sperry Univacmay be the first customer forIntel's new 32-bit micropro-cessor. . . .

^^Ipology: I must apolo-gize to MicroDaSys, LosAngeles, California. In theMarch 1981 "BYTELINES"(see page 242), I gave creditto another company forhaving the first 16-bit systemusing the new Motorola

68000 microprocessor.MicroDaSys was actuallyfirst, advertising its 68000system in the September1980 BYTE.

The MicroDaSys "68 KMiniFrame" contains a68000, 6809 memory man-ager (for true virtual-mem-ory operation), 512 K bytesor 2 megabytes of program-mable memory, disk con-troller, memory parity, andten I/O ports. The systemoperates at 8 MHz and, thecompany claims, is fasterthan the DEC PDP-11/45.

I ersonal ComputerWith 768 K Bytes OfMemory: Southwest Tech-nical Products (SwTPC) willrelease a new 6809-basedpersonal computer that canaddress up to 768 K bytes ofmemory. Also slated to beintroduced are hard-disksystems of 32 and 300 mega-bytes that are chainable —

the maximum number hasnot been determined. Lastly,SwTPC will market a 32-ter-minal I/O (input/output)board for the system. Thesystem will run the TSC(Technical Systems Con-sultants) Uniflex operatingsystem supporting 32 users.SwTPC has come a longway from its first personalcomputer, which had 4 Kbytes of memory, audio-cassette storage, and a2 K-byte BASIC interpreter.

I

ntel Seeks Injunction:

Intel is seeking an injunctionagainst Seeq Inc, Milipitas,California. The suit seeks totemporarily bar Seeq frommaking devices similar to In-tel's 2864, a 64 K-bitEEPROM (electricallyerasable, programmableread-only memory) that maybe marketed later this year.Seeq was started by fourformer Intel staffers who

had worked in Intel'sspecial-products divisionwhile the 2864 was beingdeveloped. Seeq intends todevelop nonvolatile mem-ory devices.

MAIL: I receive a largenumber of letters each monthas a result of this column. If youwrite to me and wish aresponse, please include a self-addressed, stamped envelope.

Sol LlbesPOB 1192Mountainside 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 II16KSET4116'S(200NS) 34.95

DISCOUNT PRICES

ATARP

400 16K 349.00

80016K 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.00850 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 5510 W/TRACTORS 2650.00

NEC 5520 KSR W/TRAC. 2995.00

QUME 5/45 SPRINTFORMS TRACTOR

2675.00195.00

STARWRITER W/TRAC. 1695.00STARWRITER 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 forAPPLE, ATARI, NORTH STAR, ANDEPSON.

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 PMFRI. AND SAT. 9:30 AM —5:00 PM

228 August 1981 © BYTE Publications Inc

Circle 141 on inquiry card.

Teach your littleApple big-timeelectronic mail.

Newark

Los Angeles

"^'itsttsmpu

Mui] LMlfWai! tea*

■ ^S .'- MMtt&PMtVt

/ Mwtd m* fchstli «

:.:/ frinuc '

For the first time, you canmove just about anything inyour Apple II™ computer toany other Apple™ anywherein the world. Micro-Courier™allows you to electronicallymail charts, graphs, corre-spondence, VisiCalc® reportsand entire programs. You

spend far less time on the phone. And, in a matter of moments, you transmit materialthe Post Office takes days to deliver.

Unlike traditional electronic mail, Micro-Courier doesn't require expensive centralcomputers or special phone lines. Using standard lines, you benefit in two importantways. First, you communicate outside your company, not just within it. And second, yourealize tremendous savings on late-night rates. Micro-Courier takes advantage of themautomatically, without anyone in attendance.

What's more, Micro-Courier will ex-change data with time-sharing systems andlarger computers. Even if you don't own anApple, Micro-Courier is the best reason inyears to go out and get one. Call our toll-freenumber today. And make your little Appleheard 'round the world.

MICROCDM

We make little computers talk big.

Call 800-547-5995, ext. 188, toll-free,for the Micro-Courier-Apple dealernearest 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 Structuresin 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 tothe concept of data structures veryearly in their programming exper-ience. A course in data structures isan integral part of most computerscience curricula, and there are manyexcellent and widely used texts on thesubject (see references 1, 2, and 4).The data structures covered in thesetexts generally include the linear list,stack, queue, tree, and graph.

In this article, we will define andimplement some of the simplest struc-tures, including the linear list, stack,and queue. Our approach will be todescribe each data structure infor-mally, and then to show aSmalltalk-80 class definition thatclosely matches this informal descrip-tion. We will see that it is possible,using the class construct, to createprogramming structures that clearlymirror the entities being im-plemented. However, in order todemonstrate how to build these datastructures from scratch, we will notmake use of any of the advanced datastructure classes that already exist inthe Smalltalk-80 system.

We will make extensive use of theSmalltalk-80 subclass mechanism inthe class definitions we introduce. Wewill use subclassing to facilitate theconstruction of different implementa-tions of the same entity. In addition,we will see how the subclassmechanism enables us to define twoor more related classes in such a way

that the common parts of their defini-tion can be shared.

Notation

In order to understand the programexamples presented in this article, thereader should have some familiaritywith the Smalltalk-80 programminglanguage. For an introduction to thelanguage and a fuller discussion ofsubclasses, see "The Smalltalk-80System," on page 36. In addition, atext box on page 240 of this articlecontains a brief description of someof the messages that we will use in theexamples.

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 wedescribe, we will give a correspond-ing Smalltalk-80 class definition.Each class definition will be presentedin the form of a template that showsthe instance variables, messages, andother information associated with theclass. (A complete description of thetemplate can be found in the articlementioned above.)

The messages defined in thetemplate are partitioned into twomain groups. The first comprises the

class messages. These are messagesthat are sent to the class itself (whichis, in actuality, an object). For ourpurposes, these will be a set of crea-tion messages that can be sent to theclass in order to create a new, init-ialized instance of the class. The sec-ond group consists of a set ofmessages that can be sent to instancesof the class. These will be divided intotwo more groups. The first is a collec-tion of external messages that repre-sent the interface between an instanceof the class and clients (ie: otherobjects in the system) of that in-stance. The second is a set of internalmessages used in methods that aredefined in the class or a subclass butare not intended for wider use. Notethat the distinction between internaland external messages is made forconceptual clarity. The Smalltalk-80programming language does not havea mechanism for controlling messageusage.

An example of a class definition isgiven in table 1. This template definesa class whose name is Card. Aninstance of class Card can be used torepresent a card in a game program.Class Card has instance variablesnamed suit, rank, and faceUp. A newinstance is created by sending classCard 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 dynamicRAM, and a disk interface, to yourTRS-80 Color Computer! If you justwant the extra memory it's only$199.00, and you can add the diskinterface later for $99.00.

Just plug the Color Computer In-terface (CCI), from Exatron, intoyour expansion socket and "HeyPresto!" - an extra 32K of memory. Nomodifications are needed to yourcomputer, so you don't void your Ra-dio Shack warranty, and Exatron giveboth a 30 day money-back guaranteeand full 1 year repair warranty ontheir interface.

The CCI also contains a 2Kmachine-language monitor, withwhich you can examine (and change)memory, set break-points, set memo-ry to a constant and block-movememory.

So what about the CCI Disk Card?Well as we said it's only an extra$99.00, but you'll probably wantExatron's CCDOS which is only$29.95 - unless you want to write yourown operating system. The CCI Disk

Card uses normal TRS-80 Model Itype disk drives, and CCDOS willeven load Model ITRSDOS disks intoyour color computer - so you canadapt existing TRS-80 BASIC pro-grams.

As a further plus, with the optionalROM Backup adaptor, you can dumpgame cartridges to cassette or disk.Once the ROM cartridge is on cas-sette, or disk, you can reload, examineand modify the software. The ROMBackup adaptor is only $19.95.

For more information, or to place anorder, phone Exatron on their HotLine 800-538 8559 (inside California408-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 ComputerInterface for $199.00

□ Please send a CCI Disk Card for $99.00

□ Please include CCDOS and manualfor $29.95

□ Also include a ROM Backup adaptorfor $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 SOFTWAREDISCOUNTS 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.00I"! 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 PAYABL (CONT.) $175.00 SALE $140.50

nPPTYMANGMT(CONT.) $175.00 SALE $140.50

DVISICALC3.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.50DCOMPU-MATH FRACTIONS ....$39.95 SALE $35.50D 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.50Q 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 WILLCREDIT S1.00 FOR CALL. CALIFORNIA RESIDENTS ADD6% SALES TAX. ALL ORDERS SHIPPED FROM STOCKWITHIN 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 thatrepresents the seven of hearts. In themethod for suit:rank:, the messagenew creates an uninitialized instance.The internal message setSuit:setRank:sets the suit and rank fields and init-ializes the new instance to be "facedown." Given an instance of classCard, we can determine its suit, rank,and orientation, and change the latterusing the external messages specifiedin the class definition. Because we donot want to be able to change the suitand rank of an instance once it hasbeen created, we do not include amessage for doing this operation inthe set of external messages.

The methods shown heredemonstrate a convention we will usein subsequent examples. All of thenames that we use for parameters andlocal variables will be formed by tak-ing the name of a class and precedingit with an indefinite article. For exam-ple, the two parameters to themessage setSuit:setRank: are namedaString and anlnteger. Such a nameindicates what kind of object isexpected as the value of theparameter or local variable to whichthe name refers. Smalltalk-80 has no

type-checking; this is only a conven-tion to help make the examples moreunderstandable.

We will now examine a number ofelementary data structures and theirimplementation with Smalltalk-80classes. In the informal description ofeach data structure, we will include alist of operations that are meaningfulfor that structure. We will then showa corresponding class definitionwhose external messages match thelisted operations. The details of theimplementation of the data structurewill be hidden in the class definition.We will see how this process enablesus to define different classes thatreflect different implementations ofthe same basic data structure.

The Linear List

The first data structure we will ex-amine is the linear list. A linear list isa 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 thesequence, we can find the object thatprecedes or follows it. For example, ifwe have a program that deals with agame 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

externalsuit | | t suit.rank | t rank.turnFaceUp | faceUpturnFaceDown | factturnover | 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 WITHTHE 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 andsoftware developments.

Our full color, monthly magazine will print a free program in every issue—programs like an appointment calendar and personalfinance record keeping. You'll also find technical information, tips for beginners, special business uses, equipment reviews, andthe 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 marketplace 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', WordMaster1, 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', DataStar1, 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 CORPORATIONR 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., $58Canada, $74 Europe & So. America, $81Australia, Mid East & Asia.Your (ee may be tax deductible.Send checks with your name andaddress, made out to: Super*StarInternational. (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 collectionof objects arranged in linear sequence.Permissible operations include accessing(lb), appending (lc), inserting (Id), andremoving 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 IndexGeneration

DocuMate/Plus generates completely col-lated tables of contents and alphabeticalmulti-level indexes from WordStar™ textfiles of any length ... as detailed as youdesire.

DocuMate/Plus is refreshingly easy to use,and its internal sort feature can save youthe cost of an expensive stand-alone sortprogram. Just type simple DocuMate com-mands right into your text file. DocuMate/Plus's "Extract" feature automaticallyfinds and places all index references in aseparate work file for sorting and collating.

DocuMate/Plus builds master indexes formany documents, such as research notes,books and articles, speeches, hardwareand software documentation, and busi-ness correspondence

DocuMate/Plus is today's most flexible indexing programavailable 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 CORPORATIONP.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 ofcards.

The operations that we might wantto perform on a linear list include:

• determine how many items are inthe list

• determine whether or not the list isempty

• access the ith item in the list

• append an item to the end of the list

• insert an item at some position inthe list

• replace an item at some position inthe list with some other item

• remove an item from the list

In order to implement a linear list ofdata items, we need to implementboth the data items and the linear list.In all of our subsequent examples, wewill assume that we have imple-mented the data items with one ormore class definitions (eg: classCard). When we are describing thingsin general, we will use such terms as"data item" and "linear list." Whenwe are describing a specific imple-mentation, we will refer instead to the"object" (or "instance of a class") thatrepresents the entity under considera-tion.

Linear lists are partly defined in thetemplate given in table 2. ClassLinearList, as defined in table 2, isincomplete since there is nomechanism for actually storing ob-jects that represent data items. This isbecause there are several differentstrategies for storing these objects in alinear list. For each strategy, we willdefine a different class, each of whichis a subclass of LinearList. All of theseclasses have some characteristics incommon; these are captured in thesuperclass 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 isa lot more thanfun and gamesand news.

Although we're probably bestknown for our consumer-orientedservices, CompuServe maintainspowerful services for the seriouscomputer user. CompuServe hashelped some of the nation's largestcompanies and financial institu-tions through a wide range ofbusiness and scientific-orientedcomputer programs. With ourInformation Service, we can extendthis expertise to you. Here aresome of the programs availableto the personal computer userthrough the CompuServeInformation 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-referencegenerator used with languagecompilers.

FILCOM: File comparisonprogram.

SALARY: Calculates salary andincreases in various time framesincluding per year, month, periodand hour. This program is intendedprimarily for managers doingreviews.

SNOBOL: String manipulationlanguage.

RUNFLO: Text formattingprogram (write resumes etc.).RUNF10: Word processing andtext formatting program (writeresumes etc.).CONCOR: Concordancegenerator. This program is veryuseful for documentation purposes.CONCOR reads an ASCII file andcreates an output file which con-tains a line numbered listing ofthe original file, and a list of all thewords contained in the file alongwith the numbers of the lines onwhich each word occurs (similarto 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 moduleswhich 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 Rateof Return (Capital Projects)

—Depreciation Analysis

—Compound Growth Rates

RANNO: Random number

generator.

XEDIT: XF4 binary file editor.

We also offer high speedprofessional line printer service,error-free file transfer,CompuServe's SoftwareExchange, and computermanufacturers' newsletters.Computer Users Groups canexchange information andup-to-the-minute gossip in thecomputer world.

And ... if Aunt Matilda comesover, you can still let her playAdventure. Demonstrations andsoftware at all Radio Shack®Computer Centers and manyRadio Shack® outlets.

CompuServe

Information Service Division5000 Arlington Centre BoulevardColumbus, 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 Card1

and the Microsoft Z-80 Softcard5. Allowing up to 64K of

user memory, the Ram Card helps make complete use of Pascal.

CP/M4, and larger programs like Visicalc3 The Atari 8002 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 Industries8338 Center Dr.La Mesa, CA 92041(714)464-8338

will define keep count of the numberof objects (representing data items) inthe list, a corresponding instancevariable, count, is defined in thesuperclass LinearList. Similarly, allsubclasses can make use of an internalmessage, initialize, that initializescount to zero, and another message,checklndex:, that insures that any in-dex specified as a parameter to one ofthe access messages (at:, insertat:,and so on) is within range. Since westart the numbering of items in alinear list at 1, the range will alwaysbe between 1 and count (the numberof items in the list). Also, the messageempty is implemented in thesuperclass since the answer towhether or not the list is empty can bedetermined from the value of count.

The Indexed Table

The first strategy we will explorefor actually storing data items in alinear list involves the sequentialallocation of storage. In order to seehow this works, we will interrupt ourdiscussion of the linear list and intro-duce a very basic data structure thatwe will call an indexed table (seefigure 2). An indexed table, whichcorresponds to what is called a one-dimensional array in many program-ming languages, is a relatively simplestructure that closely matches thephysical memory of most computers.As we will see, many useful datastructures, including the linear list,can be implemented with an indexedtable.

An indexed table comprises asequence of variables into which wecan store and from which we canretrieve data items. Each variable isdesignated by an integer. Thesmallest integer used to designate avariable in an indexed table is calledthe lower bound of the table. Thelargest integer is called the upperbound. The operations that we wishto perform on an indexed table are:

• specify the lower and upper boundsof the table (when it is created)

• determine the lower and upperbounds of the table

• determine the number of variablesallocated to the table

236 August 1981 © BYTE Publications Inc

Circle 87 on inquiry card.

MEMOREX

SUPERB QUALITY ATUNBEATABLE 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 positionin the table

In order to store into an indexedtable, we specify an item to be storedand an integer that indicates the par-ticular variable that will contain theitem. In order to retrieve from an in-dexed table, we need only specifywhich variable of the table has the

data item of interest.

The class definition in table 3shows how to implement an indexedtable. We have seen in the definitionof classes Card and LinearList how tospecify a fixed number of named in-stance variables in a class definition.What we need in order to implementan indexed table, however, is asequence of unnamed variables thatare designated by an integer index.How can we define such a sequence of

variables? We do this by specifyingthe number of indexed variablesneeded for an instance at the time thatan instance of a class is created. Thecreation message from:to: in classIndexedTable sends the messagenew:, whose parameter is the numberof indexed variables required for theinstance being created. In order toaccess these variables, we send low-level (ie: primitive) access messageswith a parameter that specifies anappropriate index (starting at 1). Theaccess message basicAt: i retrieves theobject stored in the ith indexedinstance variable. The access messagebasicAt: i put: anObject stores apointer to anObject in the ;th indexedinstance variable.

In addition to indexed instance var-iables, class IndexedTable has twonamed instance variables: lower-Bound and upperBound. lowerBoundis an integer that indicates the small-est allowable index for a particularinstance of IndexedTable; upper-Bound indicates the largest allowableindex. In order to create a new in-dexed table, we send the message

Computers Are For Everybody!

How to Get Startedwith CP/M

Carl Townsend

One nl the worlds most popular operating systems is explained in simpleterms. Includes a handy guide on shopping for an operating system, a glossarya list ol hardware manufacturers supporting CP/M and a list of major CP/Msoftware.ISBN 0-918398-32-0 $9.95

Microsoft Fortran

Paul M. Chirlian

Here is the book for microcomputerusers who want to implement FOR-TRAN on their machines. Even itreaders have never used FORTRAN be-fore, they will be writing and runningFORTRAN 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 onour toll free number and we'll tell you the one nearest you.

Computers forEverybody

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 forthe Apple Computer

Tom Rugg and Phil Feldman

Chock full of programs with practicalapplications, educational uses, gamesand graphics, each of the 32 chaptersfully documents a different program.ISBN 0-918398-34-7 $17.95

dilithium Press TripP.O. Box 606 l

Beaverton, OR 97075

238 August 1981 © BYTE Publications Inc

Circle 118 on inquiry card.

High resolution, dotaddressable graphics withvertical resolution of 72 dotsper inch and up to 82 dotsper inch horizontalresolution.

"Q.T." cover reduces noiseto an office comfort level.This is an optional featureto our standard sound dead-ening case.

Single sheet feeder is verysimple to use. The onlyfront load feeder availableon the market today.'

1K standard buffer permitsthe 88G to print whilereceiving data. The optional2K buffer allows a 1920character dump to theprinter 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 canPe added for current loop, IEEE 488 and highspeed serial inputs.

Avnpi

Letter Quality Capability

The 88C provides a selectaPle 11x7 serif styledot matrix for correspondence printing.

Cost Effective

The 88C has more features than any otherimpact printer in its price class. First comparethe 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 (206I451 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 IERTel. 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 pointerto 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 previouslydefined. Each is either provided by the Smalltalk-80 system, or easily implementedusing 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 controlstructures. 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 —5to 10. This message is implementedusing an internal message, lower-Bound.upperBound:, that sets theinstance variables of a newly createdinstance to their appropriate values.

Once we have created an instanceof IndexedTable, we can perform theoperations specified in the abovedescription of indexed tables by send-ing the messages lowerBound, upper-Bound, size, at:, and puv.at:. lower-Bound and upperBound return thecorresponding values of the instancevariables; size computes and returnsthe number of indexed instance vari-ables in the table, at: and put:at: bothuse an internal message, checklndex:,in order to make sure that their indexparameter is within range of thelower and upper bounds of the table.at: returns the object stored in the in-dexed instance variable indicated bythe integer parameter; put.at: storesthe object, specified as the firstparameter, in the indexed instancevariable indicated by the second pa-rameter. Notice that both at: andput.at: use the value of lowerBoundto map indices from the range of thetable to the range of the indexed in-stance variables that are used to im-plement the table.

As an example of how we mightuse class IndexedTable, consider thefollowing 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 classIndexedTable with indices that rangefrom 1 to 13 and fills it with instancesof class Card whose ranks match theindices.

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 NEXUS7;the starter-priced computer systemdesigned to grow with you.

BUYING A COMPUTER is a bigdecision. How much can youafford to spend? Will the systemyou're considering do the job? Andwhat happens when your needsoutgrow that first computer? Can itexpand to handle increasingly largerworkloads, or will you have tospend a fortune replacing it?Expandable computer systems arestrictly big-league. They've beenvery expensive, and unless you'vehad at least S40,000 to spendthey've been out of reach.

But, now, there's Novell's newNEXUS Series—an incrediblyversatile, surprisingly inexpensivecomputer that expands into amultiple terminal-computer networksystem just by adding componentsas your growth requires. You canbegin using your NEXUS computerthe day it arrives, because it workswith the widest assortmentof proven softwareavailable in theindustry today.Exclusive RAM-GUARD™ protectiondetects and correctsmemory errorsautomatically

as they occur—a feature no othercomparably priced computer offers.NEXUS is the one starter-pricedcomputer system you'll never haveto replace!

If you're in the market for anycomputer, you can afford theNEXUS I. Since you can't afford tobuy wrong, you can't afford to missseeing, trying and learning allabout NEXUS.

Call us toll-free and we'll set upa hands-on demonstration. We'llprove how NEXUS will take you allthe way to the top. 800-453-1188

0

NOVELL

DATA SYSTEMS. INC.

1170 No. Industrial Park Drive, Orem, Utah 84057Telephone: (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 usethem to demonstrate our first imple-mentation of linear lists. We will calla linear list that uses an indexed tableto store its data items a sequential list(see figure 3). The basic idea is tomanage an indexed table so that thefirst i consecutive entries in the tableare the i data items in our linear list.The most difficult operations usingthis strategy are the insertion andremoval of items, since these causeparts of the indexed table to be copiedfrom one area to another. An addi-tional difficulty is that we must

specify, at the time we create thelinear list, the expected maximumnumber of items in the list. This isnecessary because indexed tablescome in fixed sizes, which means thatif the list grows larger than this initialnumber, we must do something toaccommodate the extra items.(Details are shown in the class defini-tion given in table 4.)

The creation message size: is usedto create an instance of SequentialListof some estimated maximum size. Forexample:

SciTronics introduces ...

REAL TIME CLOCKS

with full Clock/Calendar Functions

The Worry-free Clocks for PeopleWho 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 andRead clock

• Clock generates interrupts(seconds, minutes, hour) forforeground/background operation

Applications:

• Logging Computer on time

• Timing of events

• Use it with the SciTronics RemoteController for Real Time controlof A.C. operated lights and ap-pliances

Versions available for:

• S-100 bus computers

• Apple II computer

• SciTronics RC-80owners

RTC-100 $159

RTC-A $129

RC-80CK $109

send SciTronics Inc.

check or 523 s aeweU St_( p 0 Box 5344

orde^io Bethlehem, PA 18015(215) 868-7220

Please list system with which you plan to usecontroller • 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 internalmessage initialize:, which is sent fromsize:, creates an instance of Indexed-Table of the appropriate size andassigns it as the value of the instancevariable named table. The other inter-nal message, expand, is used toenlarge table when it becomes full.This is done by creating a newinstance of IndexedTable that is twiceas large as the original and by copy-ing the objects from the original tableinto the first half of the new table.The new table is then assigned as thevalue of table for subsequent use.

Retrieval from SequentialList isdone by retrieving from its associatedindexed table. A new object can beappended to the list by storing it inthe next available location of theindexed table of that list. This loca-tion is determined by the value ofcount. If there is still room in thetable, count is incremented and theobject is stored. Otherwise, the se-quential list has to be expanded,which is accomplished using themessage expand, described previous-ly. Insertion into the list is done bycopying from their current location tothe next, all objects after, and in-cluding, the one at the desired loca-tion. A new object can then be storedat that location. Removing an objectfrom a list is done analogously. Anobject is replaced by storing anotherobject in the corresponding positionin the indexed table.

The advantage of the sequential listis that it is easy to access and replace(not remove) an arbitrary item. Thedisadvantages are that it is necessaryboth to estimate the maximum size ofthe list when it is created (although,as we have seen, the list can expandwhen necessary) and to move itemsaround when inserting or removingthem from the list.

Let us now consider an examplethat shows how to create and sendmessages to an instance of classSequentialList. Suppose we want torepresent a deck of cards and twohands, 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/WGRAPHICS. .THE LNW80 COMPUTER

COMPARE THE FEATURES AND PERFORMANCEFEATURES LHW80 PMC-i

TRS-80*

MODEL III

When you've compared the features of an LNW80 Computer, you'll quicklyunderstand 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 10days 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 IIIBASIC

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 withthe TRS-80*. The LNW80 gives you the edge in satisfying yourcomputation 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*. Thismeans you'll get the performance that is comparable to the mostexpensive microcomputer with the compatibility to the world'smost 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 totallysoftware 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™ -jstotally software compatible with any double density softwaregenerated for the Percom's Doubler***. The LNDoublerTtf providesthe 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 ofa well developed DOS, with ease in useability.

KEYBOARD

LNW80 KEYBOARD KIT $84.95

The Keyboard Kit contains a 63 key plus aremaining components.

CASE

0 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 thehardware 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-5744SERVICE NO. 714-641 -8850

Circle 198 on inquiry card.

VISA MASTER CHARGEACCEPTED

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 isthe most technologically ad-vanced manufacturer of DataInterface cable or Communica-tions Cable Assemblies in theindustry, so we can deliver thequality you want, at the prices youneed.

Low Cost, High Quality and FastDelivery is our commitment to you.

Think Cost, Think Quality, ThinkAllison, 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 neededin special applications. OurTechnical Representatives willbe happy to provide you withany 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-6449TWX: 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: 13 do:

(Card suit:1 to: 13 do:

(Card suit:1 to: 13 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 deckto the first hand we write:

5 timesRepeat: [ handl append:(deck removeAt: 1). ].

To deal from the bottom of the deckto the second hand we write:

5 timesRepeat: [ hand2 append:(deck removeAt: deckcount). ].

The Linked List

A second approach for managingthe storage of items in a linear list isto 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 Controlin Your APPLE IITHUNDERCLOCK PLUS™

The THUNDERCLOCK PLUS is two peripheral systems on one card for yourAPPLE II, II PLUS, or III. An accurate, reliable, real-time clock/calendar and aninterface for the popular BSR X-10 Home Control System.

The THUNDERCLOCK clock/calendar makes accurate time and dateavailable to your programs: month, date, day-of-week, hour, minute, andsecond, in any of four software selectable formats. On-board batteries keepyour THUNDERCLOCK running when your APPLE II is turned off -for up to four years before battery replacement. On-card IK firmwaremakes reading or setting the time easy from APPLESOFT orINTEGER BASIC, PASCAL, or assembly language programs.And it provides software selectable interrupts at any of threerates: 64, 256, or 2048 interrupts/second. All features aresoftware 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 remotelycontrol lights and appliances. Plus a powerful disk software package! The THUNDERWARE SCHEDULERsoftware lets you create schedules to control lights, appliances, security systems, or almost any other electricaldevice. The software includes: SCUTIL - the SCHEDULER utility that lets you make or change a schedule, andSCHED - executes your schedules in real-time using the THUNDERCLOCK. SCHED runs in the 'background' soyou can run other programs in the 'foreground'. Our PASCAL software lets you use all theTHUNDERCLOCK'Sfeatures 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/datestamp your DOS files whenever you create ormodify them with our DOS-DATER software.

The THUNDERCLOCK PLUS will work in anyAPPLE, including the APPLE III.

See your APPLE dealer.

Suggested retail prices:

THUNDERCLOCK PLUS $139

Clock/calendar card with batteries and user'smanual

X-10 INTERFACE OPTION $49

BSR X-10 Ultrasonic interface, disk withSCHEDULER SOFTWARE &. demos, and user'smanual

PASCAL SOFTWARE $29

Disk with PASCAL interface for clock and X-10

interface, and user's guide

MANUALS ONLY, each $5

California residents add 6f!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 fromIntertec to you at the best prices in the country!FREE! Word processing or single accounting program withpurchase 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 VVHORIZON II

32k Density. Reg. $3995 £«f U V

TERMINALS

Intertube III ZTms . $720

Emulator

IntertecReg. $395

$

720

PRINTERS - DOT MATRIXLowest Prices!

MPI 88G ust S749 s550

MPI99G s750

COMET C.ltoh with RS232 . . .Regs 995 s450COMET II Parallel Reg S1350 s825

EPSON MX80 Par,

.RegS 645

'465s525

EPSON MX80 RS232. . .RegS 720

PRINTERS-WORD PROCESSING

STARWRITER Parallel . . . Reg S2195 M495

STARWRITER RS232 . . . Reg.s2395 M650

STARWRITER II 45cPs. ,Reg.s2795 M795

XYMEC Parallel Reg S2650 s1995

XYMEC RS232 RegS2875 '2165

NEC 5510 '2535

WORD PROCESSING

Word Sfor s320

Mail Merge s110

VTS 80 s449

Benchmark s400

Spellguard s225

Word Pro M70

NAD Mail LiSt Structured Systems MOO

MVF Mailer MOO

HORIZON II

64k Density. Reg. $4195 0 I fa V

HORIZON II

64k Density. Reg. $4495 VW&V

DISC DRIVES

5 mbyte 5'A" Hard Disk ST-506from Seagate Technology

LIST $1500 ONLY.,.s1300

FLOPPY DISC 5V4

Tanden TM 100-1 Single Sided. Double Density 225TM 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. $395CPA, Property Mgmt ea. $795

MVF PROGRAMS

Restaurant Inventory $250

Client Billing s450

DBMS PROGRAMS

Condor I s550

Data Star s225

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 thestorage needed to hold data items, weallocate separate storage objects,called links, each of which keepstrack of a data item and either one ortwo other links. A set of links areconnected together to form a linkedlist. A single link (see figure 4a) is onethat keeps track of a data item andone other link, which is its successor.A double link (see figure 4b) has adata item and two other links: its suc-cessor and its predecessor.

Class SingleLink is defined as shownin table 5. It has instance variablesnamed entry and successor; entrypoints to an object that represents adata item, successor points either toanother 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 wecreate 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 thefirst link is an instance of class Cardthat represents the four of clubs. Itssuccessor is nil. The entry of the sec-ond link is an instance of class Cardthat represents the six of diamonds;its successor is the first link.

The class definition for doublelinks is given in table 6. ClassDoubleLink inherits from classSingleLink the instance variables andmessages that are used to implementthe entry and successor of a doublelink. In addition, there is an instancevariable named predecessor thatpoints either to an instance of classDoubleLink or to nil. The messagespredecessor: and predecessor set andreturn, respectively, the value ofpredecessor.

As stated previously, a linked list isa sequence of links connected in alinear arrangement. We can make dif-ferent kinds of linked lists dependingon the links we use and the precise

246 August 1981 © BYTE Publications Inc

Circle 290 on inquiry card.

i t -^ m

From Digital Research

LeriestGets Better

CP/M®, the industry standard,continues to expand, because yourneeds continue to expand.

CP/M-80™

For cost-effective computing on 8-bitZ-80, 8080 and 8085-based micro-computers, CP/M-80 gives you thewidest variety of mature, specializedsoftware products anywhere.CP/M-86™

For jobs that require more addressspace and increased computing re-sources, CP/M-86 provides the soft-

ware power you need. CP/M-86 isenhanced to operate with Intel's new16-bit 8086 and 8088 microproces-sors, with all the qualities that havegiven 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 availablefor 8-bit machines, will soon beavailable for the 8086/8088 family.CP/M. It's available on over 250types of computers. For a closerlook, 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 EASTMICROSOFTWARE ASSOC.

102 Plasada

3-16-14 Minami Aoyama

Minato-ku

Tokyo 107, Japan

03-403-2120

Telex 2426875 MSA

10 DJGJTflL RESEARCH8

Circle 116 on inquiry card.

BYTE August 1981 247

Circle 265 on inquiry card.

Send for ourFREE Catalog

DATA READER &PRINTOUT RULERFROM LINE-SITE

ONLY

$2.00

(It's even FREE if youorder from our catalog!)

This special price is just tointroduce you to our catalogof computer accessories andword processing supplies.We offer you 25-50% off onproducts like 3M-Scotch*brand diskettes, computerpaper, ribbons, printwheels,binders, and alot more.If you order the DataReader we'll send youa gift certificate worth$2.50 when you orderfrom the catalog.

15" flexible plastic,clear & tinted

Highlightedreading window

Vertical spacing

scale for 8 lines

per inch

6 lines perinch verticalspacing scale

Horizontal

spacing scale,

150 print

positions

$

TRICORA

3601 S. 9th St.Kalamazoo, Ml 49009TOLL FREE: (800) 253-4358In Michigan: (616) 375-7519

□ Here's my S2 (plus 50( postage and handling)

lor a Data Reader/Ruler and send me your catalogwith 25%-50% savings on name brand disks, paper,labels and other computer accessories.

□ I don't need the Data Reader/Ruler but pleaseput 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 singlelinks, 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 connectedtogether. Table 7 defines classLinkedList, which acts as thesuperclass of the various linked listswe will consider. It collects severalmessages that are suitable for all ofthe LinkedList subclasses.

The message linkAt: is used inter-nally by LinkedList methods. Takingan integer as a parameter, it traversesa sequence of connected links lookingfor the link in the position indicatedby that integer. It returns this link asa result. This message is not intendedfor use outside of the class since we

don't want the rest of the system tohave access to the internal structureof the list. The messages at: andreplace.at: can be defined usinglinkAt: since, once the appropriatelink is found, it is easy to return orreplace its corresponding entry.

The Singly Linked List

The first type of linked list we willexamine is the singly linked list. Asingly linked list is a sequence ofsingle links connected together so thatthe successor of the first Jink is the se-cond link, the successor of the second

SOFTWARE PROFESSIONALS

Whatever yourspecialization in

software, there's anexpanding pathat Kearfolt.

vM,;

-"i.

«*•:'. ffi:

From high technology to commercial applica-tions, opportunities at Kearfott span the soft-ware spectrum. Regardless of the area thatintrigues you, you'll be working in one of themost sophisticated DP complexes, using themost 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 ofsoftware professionals. Our growth dictatesthe demand for more. We have a battery ofcomputers that include the 3033, AMDAHLV/6, 43XX series, and more, with comple-menting front end processors. In support ofthis hardware, we run a multitude of softwareincluding 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 softwaredesigns operate airborne computers in Kear-fott avionics systems-from aircraft navigationto missile guidance. You could also bedesigning for programs comparable in com-plexity to Kearfott's inertial measurementunits on the Space Shuttle and guidance con-trol on Trident submarines. Assignments mayinclude simulation on our 3033.

In business applications, we run the MISgamut-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 professionalsneed. Prior experience installing System Soft-ware qualifies you for our consideration.

Whatever your area of software expertise, youshould have an appropriate degree and atleast a 3-year record indicating potential toachieve higher professional levels. Send yourresume 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/fwho 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 SalesTaxShipping FOB. NY.

Phone Orders Call (212)895-5577

link is the third link, and so on (seefigure 5). The successor of the lastlink is nil.

The definition for classSinglyLinkedUst is given in table 8.Class SinglyLinkedUst has an instancevariable named firstLink that pointseither to the first object in the list orto nil if the list is empty. The internalmessage initialize, which is sent when

an instance of SinglyLinkedUst iscreated, sets firstLink to nil. The inter-nal message firstLink, which is neversent to an empty list, returns theSingleLink instance pointed to byfirstLink.

In the implementation of themessage append:, we first create anew link whose entry is the objectpassed 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

NowAvailable

$295

With theOsborne programsas a base, we havedeveloped a debugged,easily installed businesspackage that compares favorably with systems costing muchmore.

General Ledger produces trial,monthly, and quarterly balance sheetsand income statements. Journalentries can be entered manually, orautomatically from the A/R and A/Psystems.

Accounts Receivable is an open-Item system that handles invoice,payment, credit memo, debit memo,and progress billing transactions.Customer statements are producedwhen desired.

Accounts Payable writes checksto specified vendors from invoice,credit memo, and debit memotransactions. You can distribute eachtransaction over a series of G/Laccounts and job numbers.

Circle 420 on Inquiry card.

Both the A/R and A/P systemsproduce aged invoice analysis listingsbased on user-specified time periods.

The Payroll system allows hourly,salaried, vacation, holiday, piecework,overtime and miscellaneous pay. Anynumber of deductions can be enteredfor each employee. 941-A and W-2forms are produced when needed. AJob Cost subsystem keeps track ofproject dates and status, and recordshours, cost and overhead informationby employee for each job.

The checks and statements fitstandard forms readily available frommail-order forms suppliers. You haveyour choice of a number of differentformats.

We are committedto the support of ourusers. A tech supportphone line gives you accessto us if you need it. Full sourcecode is included with every sys-tem. Our money-back guaranteespeaks for itself.

Minimum requirements are 48 KRAM, CP/M™ or CDOS.CBASIC2™, aCRT, and a 132-column printer. Wecan provide standard 8", NorthStar 5"double-density, or Heath/Zenith 5"diskettes — call for availability of otherformats. The price is $295 persystem, or $995 for the complete setof four.

For more information, writeVANDATA, Suite 205, 17544 MidvaleAve. N., Seattle, Wa. 98133, or call(206)542-7611.

Vandata Business Software. Youcan account on it. Hundreds of otherbusinesses 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

ComputersWholesale

P.O. Box 144 Camillus, NY 130312 (315) 472-2582 Hi

Most items in stock for immediate delivery. Factory sealed cartons,w/full factory warranty. NYS residents add appropriate sales taxPrices do not include shipping, VISA and Master Charge add 3%.C.0.0 orders require 25% deposit. Prices subject to change withoutnotice.

to see if the list is empty, and if so weset firsttink to point to the new link. Ifthe list is not empty, we get the lastlink in the list and make its successorthe new link. In either case, we incre-ment the value of count to keep trackof the new number of objects in thelist.

In general, to insert a data item intoa singly linked list, we create a new

link for the item and then find the linkthat the new link is to follow. Wethen make this link point to the newlink, and have the new link point tothe former successor of this link (seefigure 6a). The only exception to thisprocess occurs if we are adding thedata item to the beginning of the list.In this case there is no predecessor, sowe simply point the new link to the

anObiect

anObject

onObject

anObject

r,

first 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

i9o

os--

bV/o

\\l® call

3\<-a .»ae<"

* 49 '„*>

•ft *ft

%

*"" veil' »,»«"»'S

^O1

\2' „\o<

3»°''

j6°

,&99

ao°'

M\sV«*'. p\os- , ,c bV Reeled

.96

;aa9 v,

-AAO ,5°/»- ^0 Vfr I

53 «** \

*«, <*»

Circle 70 on inquiry card.

The NO Compromise on P3*S-100 Plug-Ins

*(Performance, Power, Price)

STATIC RAM BOARD

The 32K x 8 l>it/16K x 16 bit STATICRAM BOARD uses low power and itsfast device access time of 200 nsec(max.) allows for operation @ 4 MHzwithout any wait cycles.Features: IEEE-696 compatibility withextended 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/4KBank write protect 8K/4KBank 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 Lowinput power requirements (full memory array - 150 MA max. @ 8 VDC IN — supportlogic-500 ma typ @ 8 VDC IN) □ Socketed RAMs and support logic IC's for easymaintenance □ Comprehensive Manual

Assembled and Tested P/N 52748-500-100 $485Kit P/N 52748-500 $395 Bare Board P/N 52748-5XX $95

\MULTl-FUNCTION I/O BOARD

The multiple on-board functions allowfor complete software and hardwareI/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. Dedicatedoutput connectors for each port) □One strobed 8-bit parallel port withhandshaking (Software status read) DThree 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 independent16-bit timers (Software programmable for 5 operating modes. Indiv. clock sourceinput 8. gate control — int. or ext. Uninterrupted read. Two buffered outputs) □Eight level priority interrupt controller (Software programmable highest interruptlevel. 8080/Z80 auto restart command) □ Two software programmable baud rategenerators with crystal controlled frequencies — .01 % tolerance □ Large proto-typing area with access to regulated +5, +12, - I 2VDC.

Assembled and TestedKit P/N 52748-100 $225

P/N52748-I00-I0I $375Bare Board P/N52748-IXX $85

PROTOTYPING BOARD

Provides flexibility and saves hoursof power busing layout time.Features: Bus-bar power distributionD Allows wire-wrap or soldering ofsockets 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 andmanual P/N52748-400 $49.95

Bare Board P/N 52748-4xx $34.95

CA residents add 6% taxU.S. Domestic Ptice, FOB Factory

I/O TECHNOLOGY

P.O. Box 21 19Canyon Country, CA 91351(805) 252-7666

former first link in the list. This pro-cedure is used to implement themessage insert: At: in classSinglyLinkedList. We also incrementthe value of count, just as we do inthe message append.

The general procedure for remov-ing a data item from a singly linkedlist is analogous to that for insertingan item. First we find the link thatprecedes the one at the position of in-terest. We then point this link to thelink that follows the one of interest.This deletes the link of interest fromthe list (see figure 6b). We then returnthe entry of the deleted link. Again,the exceptional case is removing thefirst item since there is no precedinglink. The message removeAt: in classSinglyLinkedList is implemenetedusing this procedure. Since an objecthas been deleted from the list, wedecrement the value of count.

Suppose we wish to use a singlylinked list instead of a sequential listin our previous example of a deck ofcards. We simply create instances ofclass SinglyLinkedList for the deck andhands, 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. Weare able to do this because we havehidden the details of each implemen-tation inside the corresponding classdefinition and, in using the classes,have limited ourselves to a clearlydefined set of external messages.

The Circular List

Another type of linked list is thecircular list (see figure 7). A circularlist is a singly linked list in which thesuccessor of the last link in the list isthe first link in the list. This makes acircular chain of links. If we haveaccess to the last link in a circular list,then we also have easy access to thefirst link of that list since it is theimmediate successor of the last link.By keeping track of the last link of acircular list, we can easily insert andremove 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 managementmanipulation without wait states.

8/16 - 8 or 16-bits wide

Dynamically switches data path width perIEEE Standard.

Low Power

Typical power consumption less than 2 ampsfor active board. Less for power downboards.

Extended Addressing

24-bit IEEE addressing allows 16-megabyterange. Single shunt changes to 16-bitaddressing.

Fully Static

No clocks, no refresh required for easy DMAuse.

Special Features

Any 4K block can be disabled. Or, can disableeverything 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 orfactory direct. Personal checks, CODs, VISA and MCaccepted from within USA. 10-day return privilege onfactory orders. Shipping paid by SCP on prepaid USAand Canadian orders. All boards fully assembled,guaranteed one year.

^COMPUTER

1114 Industry Dr. Seattle WA 98188Information Hotline: 206/575-1830

Send more information: (

Name

Company

Address

City

.State.

.Zip.

(6a)

anObject

i

■

entry

■

J.

successor

anObject

i

11

(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 beforethe 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 willbe a useful property in some of thedata structures that we will build outof circular lists.

The definition of class CircularList isgiven in table 9. Class CircularList hasan instance variable named lastLinkthat points either to the last link in thelist or to nil if the list is empty. The in-ternal message initialize sets lastLink tonil. The internal message firstLink(again, as in the case of classSinglyLinkedList, sent to nonemptylists only) returns the successor oflastLink. Since the list is circular, thisis the first link in the list.

The append, insert, and removeoperations on a circular list aresimilar to those on a noncircular list.Since we always have a link thatprecedes any given link in a circularlist, we don't have to make exceptionsfor operations on the beginning of thelist. The implementation of theseoperations is demonstrated in themethods for the messages append:,insertAt:, and removeAt:.

The Doubly Linked List

Now we will consider the doublylinked list (see figure 8). A doublylinked list is a sequence of doublelinks connected together. The suc-cessor of a given link is the link thatfollows it in the sequence, just as inthe case of the singly linked list. Thepredecessor of a given link is the linkthat precedes it in the sequence. Adoubly linked list can be made into acircular list, just as a singly linked listcan, by connecting the first and lastlinks. In this case, the successor of the

Text continued on page 260

AMS

ADVANCED MICRO SYSTEMS • 26188 ADAMOR ROAD • CALABASAS, CA. 91302MORROW 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.00M-20 DISCUS M20 S3553.00M10 DISCUS Art 10 $2760.00

DISK CONTROLLERS (A & T)

A-26 DISCUS M26 $3337 00A-20 DISCUS AA20 $3193.00A-10 DISCUS AA10 $2400.00

F-l 118 DISCUS I $ 816.00F 1218 DISCUS 2D $ 888.00F 2218 DISCUS 2 12 $1176.00

F-l 128 DISCUS I $1389.00F-1228 DISCUS 2D S1450 00F-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 BRDWB 2000 20 SLOT MOTHER BRD.

$109,00$129.00$173.00

I. The disk subsystems include Digital ResearchCP/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 ournew subsystems, and a reformatter for yourPertec drives and software to translate yourMits 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 separatecomponents . . . larger capability . . . simpler tooperate .... modular maintenance . . .

These are the unique benefits of the QuasarData QPD-100 Floppy Disk Computer. . . plusunsurpassed 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-basedsystem to our 16 BIT microprocessor-based system by simplyplugging in extra PC cards. Hard disk and multi-usersystems available.

As your requirements grow, your QDP-100 can growto fit them.

The Quasar Data QDP-100H is a larger version with6-megabyte capacity; includes one double-sided floppyand one 51/* microwinchester hard disk.

Both the Quasar Data QDP-100 and QDP-100H arefully 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-100COMPUTER SYSTEM.

4,695

18" wide167/8"deep11" 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-0839Telex: 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

41168 for

(200 ns19.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 fornon-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 andA2-3D1 required)

A2-3D/A Saturn Navigator

$24.95 on disk (48K andA2-3D1 required)

professional3D and 2Dgraphicsfor theApple II

The A2-3D1 is the graphics utility you candepend on whether you're mapping a town,presenting charts at a business meeting, oranimating games.

Now this versatility is available for the non- >programmer with the A2-GE1 graphics editorand programmer. Create images as you viewthem. Scan them, animate them, combinethem, or add text or labels. With a minimumof fuss, you can prepare all sorts of scientific,business, or educational presentations.

Add the A2-3D2 enhancement packagefor color, and as a bonus you'll also be ableto manipulate images independently of eachother—as many different objects at once asyour memory will accommodate.

When it's time for some challenging andeducational entertainment, run the A2-3D/ASaturn Navigator. You'll enjoy an adventurousflight to Saturn, enter its orbit, and rendezvouswith an orbital space station that awaits yourarrival.

We've reached our goal of giving you the mostsophisticated graphics utilities in the market-place ...

see them now at your dealer!

&o[°>LOGIC

Communications Corp.

BoxV, Savoy, IL 61874(217)359-8482Telex: 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.

internalInitialize | |

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 thepredecessor of the first link is the lastlink. The class definition for a cir-cular, doubly linked list is given intable 10.

Class DoublyLinkedList has an in-stance variable named listHead,which points to a special kind of linkknown as a list head. A list head is alink whose entry is unused. The ideais to keep the list head in the list sothat even when there are no dataitems in the list, at least one link ispresent. Having a link present at alltimes simplifies the implementationof some linked list operations. A list

head can be used in the implementa-tion of a singly linked list, but it isespecially convenient in the im-plementation of a circular doublylinked list. In a circular doubly linkedlist, the list head successor points tothe first link in the list (excluding thelist head itself), or to itself if the list isempty (see figure 9). The list headpredecessor points to the last link inthe list (excluding the list head itself),or to itself if the list is empty. In classDoublyLinkedList, the internalmessage initialize sets listHead to aninstance of DoubleLink whose entry isnil and whose successor andpredecessor 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 beenmodified to return the list head suc-cessor.

Because a doubly linked list is com-posed of a sequence of double links, itis possible to traverse the list in bothdirections, forward and backward,with equal facility. The internalmessage linkAt: in classDoublyLinkedList has been modifiedto access objects past the middle ofthe list by starting from the rear andtraversing toward the front. This im-proves the performance of the accessmessage at:.

Inserting an item in a doubly linkedlist is similar to inserting an item in asingly linked list. We first create anew link for the item. Then we findthe link that this new link is to follow,set the successor and predecessorpointers of the new link, and adjustboth the successor pointer of the linkthat precedes the new link and thepredecessor pointer of the link thatfollows the new link (see figure 10a).If we are using a circular list with alist head, we don't have to considerany exceptional cases. Removing anitem from a list is an analogous pro-cess (see figure 10b). The details ofthese procedures are demonstrated inthe methods for the messagesappend:, insert:, and removeAt:.

The Stack

The next data structure that we willlook at is the stack (see figure 11). Astack is a linear list of items that isaccessed in a very restricted way. Infact, only one side of a stack, the top,can be accessed. The bottom of thestack cannot be accessed. Thesenames are useful because most stackdiagrams list their items vertically,with the accessible end higher. Theitem 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 179.

COMM. Card 179.

HAYES Micromodem 319.

PARALLEL Printer Card 149.

16K Ram Card 189.

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 135.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 FORMATS100% 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 1640 RO 2,795.

Diablo 1650 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

^ 150 CPS Heavy Duty Matrix15" wide carriage, expanded, compressed anddouble density "correspondence quality"printing at 80, 96 and 136 columns, truedescenders, underlining, superscripts,subscripts. (Jp to 3K Buffer, optional characterset 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-11, acoustic 147.

HAYES Micromodem, SI00 349.

VIDEO MONITORS

Sanyo 9" B/W $ 169.

NEC 12" Green 229.

Amdek 12" 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 140 1,195.

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 forApple. Enhanced "correspondence quality"printing. Tractor and Friction feed. Serial andParallel Input. 100 cps Bidirectional printing. 80.96, and 132 column widths!List $799.00 $599.00

Apple II I/O Card $ 110.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/typewriterinterfaces to Apple, Atari, NEC, TRS80 andRS232 Serial ports. A truly cost effective letterquality 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 andinstitutions. Please include telephone number with order andexpiration date on credit card orders. California residents add 6%sales tax. Advertised prices are for prepaid orders F.O.B. shippingpoint. Add 3% for shipping in U.S. Pricing and availability subject tochange without notice. _. . _rt_ ,

Circle 297 on inquiry card.

BEING OVERCHARGED!

DON'T

Pay Credit Card SurchargesPay 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 $ 33IEEE-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 FASTESTGROWING 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 5510 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:

810-Disk Drive - 499: 81 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 0 Modem - SCALLC2N 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 - SCALLCentronics #737 - $CALL...r779 - SCALLAnadexDP9500- 1 349...DP9501 - 1349Qume Sprint 5/45 - 2699NEC Spinwriter #5510 - 2499#5520 - 2849...#5530 - 2499IDS Paper Tigers - SCALL

DISK DRIVES: Shugart, Micro Sci,

Lobo - SCALL FOR PRICES

MONITORS: Video 100, 100G, 100/80,

Color - SCALL...NEC 1 2" GRN - 259Sanyo 9" B&W - 199...12" B&W - 29912"GRN - 324

MODEMS: DC Hayes Micromodem - 324

ACCESSORIES: Microsoft Z80 softcard - 29916K RAM CARD - 194

HARDWARE: Mountain Products - SCALL FOR PRICESSOFTWARE: Insoft Accountant, Controller, Cashier,Visicalc (Apple, Atari, CBMI Supertext IIW/P, Apple Wordstar W/P - SCALL FORPRICES

ORDER INFO:

Min. order $100.00 - Money Orders, Cashiers/certifiedchecks or bank drafts welcomed. VISA & Mastercardorders add 2%...American Exp & Diners Club add 4%.Personal checks accepted w/25 days for clearance. Add3% for shipping in the U.S.A. Prices subject to changewithout prior notice and Illinois residents must add 6%for sales tax. Please include phone numbers with ordersand expiration date on credit card orders. No COD's.

Special discounts for multiple and combination ordersplaced with the statement "Praise the Lord" precedingthe order placement. The above prices apply to mailorders only. Send inquiries to:

CMS ENTERPRISES

P.O. BOX 1740CHICAGO, 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 existingbefore 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 isadded to the accessible end, therebymaking it the new top item. This iscalled pushing an item onto a stack.Only the top item can be removed, orpopped, from a stack. By adding andremoving in this fashion (pushing andpopping), we are able to access itemsin a last-in-first-out manner—that is,the last item pushed on a stack is thefirst item to be popped off the stack.Because of this, a stack is often calleda LIFO (last-in-first-out).

Many examples of collecting andaccessing in stack fashion exist out-side the realm of programming. Apile of trays in a cafeteria rack is oftenused in this way. The same can betrue of papers piled on a desk. In pro-gramming systems, a number ofalgorithms call for the use of a stack.For example, arithmetic expressionsexpressed in prefix or postfix notationcan be evaluated using a stack to keeptrack of partial results.

The operations that we want toperform on a stack include:

• determine the number of items onthe stack

• determine whether or not the stackis 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 alinear list as the basic storagemechanism. Since we have severalkinds of linear lists, it is possible tohave several different stack im-plementations. Table 11 gives thedefinition of class Stack, which servesas a superclass for subsequent stackclasses. Each kind of stack has a buf-fer which is a linear list, either se-quential or linked. The messagescount and empty are implementedusing the corresponding messages ofthe linear list. The message empty-Check, which sends an error messageif the stack is empty, will be used inthe implementations of the messagespop and top.

The Sequential Stack

The first stack implementation we

Computer experts(the pros) usually have bigcomputer experience.That's why when they shopsystem software for Z80micros, they look forthe big system featuresthey're used to. And that'swhy they like Multi-UserOASIS. You will too.

DATA INTEGRITY: FILE &AUTOMATIC RECORD LOCKING

The biggest challengefor any multi-user systemis co-ordinating requestsfrom several usersto change the same recordat the same time.

Without properco-ordination, theconfusion and problemsof inaccurate or evendestroyed data can bestaggering.

Our File and AutomaticRecord Locking featuressolve these problems.

For example: normallyall users can view aparticular record at thesame time. But, if thatrecord is being updatedby one user, automaticrecord locking will deny allother users access to therecord until the up-date iscompleted. So recordsare always accurate,up-to-date and integrityis assured.

Pros demand file &automatic record locking.OASIS has it.

SYSTEM SECURITY:LOGON, PASSWORD& USER ACCOUNTING

Controlling who gets onyour system and what theydo once they're on it is theessence of system security.

Circle 309 on inquiry card.

(THEN COMPARE.)

Without this control,unauthorized users couldaccess your programs anddata and do what they like.A frightening prospectisn't it?

And multi-userscan multiply the problem.

But with the Logon,Password and Privilege

Level features of Multi-UserOASIS, a system managercan specify for each userwhich programs and filesmay be accessed —and forwhat purpose.

Security is furtherenhanced by UserAccounting —a feature thatlets you keep a historyof which user has beenlogged on, when andfor how long.

Pros insist on thesesecurity features.OASIS has them.

EFFICIENCY:RE-ENTRANT BASIC

A multi-user systemis often not even practicalon computers limitedto 64K memory.

OASIS Re-entrantBASIC makes it practical.

How?

Because all users use asingle run-time BASICmodule, to execute theircompiled programs, less

memory is needed. Evenif you have more than 64K,your pay-off is cost savingand more efficient useof all the memory you haveavailable —because itservices more users.

Sound like a pro feature?It is. And OASIS has it.

AND LOTS MORE...

Multi-UserOASIS supportsas many as 16 terminalsand can run in as little as56K memory. Or, withbank switching, as muchas 784K.

Multi-Tasking lets eachuser run more than onejob at the same time.

And there's our BASIC-a compiler, interpreter anddebugger 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 isrecognized as some of thebest, most extensive, in theindustry. And, of course,there's plenty ofapplication software.

Put it all together and it'seasy to see why the realpros like OASIS. Join them.Send your ordertoday.

OASIS IS AVAILABLE FOR

SYSTEMS: Alios: Compucorp: Cromemco;Delta Products: Digital Group: DigitalMicrosystems: Dynabyte: Godbout: IBC.Index: Intersystems: North Star: Onyx:SD Systems: TRS 80 Mod II: VectorGraphic: 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:

Pricewith

Manual

ManualOnly

OPERATING SYSTEM

(Includes:EXEC Language;File Management;User Accounting;Device Drivers;Print Spocle-;General TextEditor; etc.)SINGLE-USERMULTI-USER

SI 50350

S17.5017,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; FileRecovery; Disk Test:File Copy fromother OS; etc.)

100

15.00

COMMUNICATIONSPACKAGE

(Terminal Emulator;File Send & Receive)

100

1500

PACKAGE PRICE

(All of Above)

SINGLE-USER

MULTI-USER

500850

60.006000

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-8085TWX 910-366-7139

NAME

STREET (NO BOX

=)

CITY

STATEAMOUNTS

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 LookingScreens as simple as A, B

A. Create or update Screens with MaskBuilder

'Uses Direct Cursor controls'Define field attributes"Save Screen Masks on Disk•print out Masks for ProgramDocumentation

B. use simple calls to interface CRTDriver to your programs

•Built-in buffer stores mask and fieldattributes

•Display and accept data by fieldnumber

•Forward and Back Page throughScreens

•Forward and Back Tab through Fields•Dynamically protect fields•program definable keysWo Weed to useINPUT or print statementsAvailable for CP/M, TRS-80 (I&id, Apple IIMicrosoft's S-BASIC

BASIC-80 CBASIC

COBOL and

M80 more

2. Which console message doyou prefer when your disketteor directory sets full?

A. DISK WRITE ERROR: (Using PIP)

B. Mount Next Diskette—Hit CarriageReturn

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 fileslarger than a single diskette?

You can with our Dump-Restore program

•Each diskette is sequentially labeledso your file cannot be restored outof sequence

4. do you need a simple filetransfer program?

we think this is it.

•Transfer your programs and datafiles between computers over serialI/O port

•Bidirectional transfer with errorchecking and retries

"Easy to interface

COMING ATTRACTIONS

CP/M Super utilityS-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 AvailableScreen Management System 195.00

BACKUP Utility 59.95

SAVE-RESTORE Utility 49.95

TRANSFER Utility 39.95

OEM and Dealer inquiries are welcome

WESTERN BUSINESSASSOCIATES

1300 E. Shaw Ave., Suite 164

Fresno, CA 93710

Phone (209) 224-0520

'Requires SoftcardCP/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 datatems

\ push

■

bottom of stack

Figure 11: A stack, shown in figure 11a, is a linear collection of objects arranged so thatitems can be added to or removed from the stack only at the top end of the stack. Figurelib shows an item being added, or pushed, to the stack. Figure lie shows an item beingtaken, or popped, from the stack.

will consider is the sequential stack.A sequential stack is simply a stackimplemented using a sequential list.The definition of class SequentialStackis given in table 12. An instance ofSequentialStack is created by sendingclass SequentialStack the messagesize:, whose parameter is an integerindicating the estimated maximumsize of the stack. For example:

| stack |

stack — SequentialStack size: 20.

creates an instance of SequentialStackwith space initially for twenty items.This size is expanded when necessarysince the sequential list used as a buf-fer is expanded when required.

The message push: is implementedby appending to the buffer the objectpassed as a parameter. As we havenoted, this is an easy operation for se-quential lists to perform, except whenthe list overflows and requires expan-sion. The message pop is im-plemented by first checking to see ifthe buffer is empty, in which case anerror is reported. Otherwise, the lastitem from the buffer is removed.

Again, we should recall that this is aneasy operation for a sequential list toperform. Similarly, in order to accessthe top of the stack (using themessage top), we check to see that thestack is not empty, in which case wereturn (without removing) the lastitem in the buffer.

The following is an example usingclass 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 ofclass SequentialStack that initially hasspace for ten objects. The variables a,b, and c are assigned to instances ofclass Card with ranks 5, 6, and 7,respectively. These instances arepushed 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 ACCOUNTMANAGEMENT SYSTEM not only keeps complete records, it also gives youthe 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 printerreports are produced for ACTUAL EXPENSE vs BUDGET. CHECK SEARCHDISPLAY RECONCILIATION REPORT and CHECK REGISTER DISPLAY by monthCheck entry is prompted by user-defined menus of standard purposes andrecipient codes, speeding data entry and reducing disk storage andretrieval time. Six fields of data are stored for each check: amount, checkno., date, purpose, recipient and TAX DEDUCTIBLE REMINDER. CHECK SEARCHroutines 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 Savingsaccounts. Organizes, files and displays deposits, withdrawals and interestearned 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 20separate cards or bank loans S14.95

UNIVERSAL COMPUTING MACHINE: $49.95 ®

A user programmable computing system structured around a 50 row x 50column table. User defines row and column names and equations forming aunique computing machine. Table elements can be multiplied, divided,subtracted or added to any other element. Hundreds of unigue computingmachines can be defined, used, stored, and recalled, for later use. Excellentfor sales forecasts, budgets, inventory lists, income statements, productionplanning, project cost estimates-in short for any planning, analysis orreporting problem that can by solved with a table.

COLOR CALENDAR: $29.95®

Got a busy calendar? Organize it with Color Calendar. Whether it'sbirthdays, 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 theselected month with each scheduled day highlighted in color. Using thedaily schedule, you can review any day of the month and schedule an eventor 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 andSAVE TIME for the serious businessman who must periodically Analyze.Planand Estimate. The program was created using our Universal ComputingMachine and it is programmed to provide the following planning andforecasting 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 Budgetprograms expanded to include up to 50 budgetable items and up to 400checks per month. Includes bank statement reconciling and automaticcheck search (48K) S49.95

ELECTRONICS SERIES VOL I & II: Entire Series $259.95

LOGIC SIMULATOR: SAVE TIME AND MONEY. Simulate your digital logiccircuits 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 alogic network to user-specified input patterns. It will handle up to 1000gates, including NANDS. N0RS. INVERTERS. FLIP-FLOPS. SHIFT REGISTERS.COUNTERS and user-defined MACROS, up to 40 user-defined random, orbinary input patterns. Accepts network descriptions from keyboard or fromLOGIC DESIGNER for simulation $159.95 (A)©

BHHHHi

LOGIC DESIGNER: Interactive HI-RES graphics program lor designing digitallogic systems. Draw directly on the screen up to 10 different gate typesincluding NAND. NOR. INVERTER. EX-0R.T-FL0P. JK-FL0P. D-FL0P, RS-FL0P.4 BITCOUNTER and N-BIT SHIFT REGISTER. User interconnects gates using linegraphics commands. Network descriptions for LOGIC SIMULATOR generatedsimultaneously with the CRT diagram being drawn $159.95(/J)

MANUAL AND DEMO DISK: Instruction Manual and demo disk illustratingcapabilities 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 & debugyour designs before you build them! With CIRCUIT SIMULATOR you build amodel of your circuit using RESISTORS. CAPACITORS. INDUCTORS, TRANSISTORS.DIODES. VOLTAGE and CURRENT SOURCES and simulate the waveform responseto inputs such as PULSES. SINUSOIDS. SAWT00THS. etc.. .all fully programmable.The output is displayed as an OSCILLOSCOPE-STYLE PLOT of the selectedwaveforms (Apple only) or as a printed table of voltage vs time. Handles up to200 notes and up to 20 sources. Requires 48 RAM $159.95 ,(T\ (j)

CIRCUIT DESIGNER: Interactive HI-RES graphics program for designing electroniccircuits. Draw directly on the screen up to 10 different component types,including those referenced above. Components interconnect list for CIRCUITSIMULATOR generated automatically. Requires $159.95

MATHEMATICS SERIES: Entire Series $49.95

STATISTICAL ANALYSIS I: This menu driven program performs LINEARREGRESSION analysis, determines the mean, standard deviation and plotsthe frequency distribution of user-supplied data sets. Printer, Disk, I/Oroutines $19.95

NUMERICAL ANALYSIS: HI-RES 2-Dimensional plot of any function. Automaticscaling. At your option, the program will plot the function, plot theINTEGRAL, plot the DERIVATIVE, determine the ROOTS. MAXIMA. MINIMA.INTEGRAL VALUE $19.95

MATRIX: A general purpose, menu driven program for determining theINVERSE and DETERMINANT of any matrix, as well as the SOLUTION to any setof 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-variableequation. Disk save and recall routines for plots. Menu driven to varysurface 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 simulatesa machine-gun DOGFIGHT between your WORLD WAR I BI-PLANE and thebaron's. You can LOOP. DIVE. BANK or CLIMB-and so can the BARON. In HI-RESgraphics 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 andKaga. You must fly your way through ZEROS and AA FIRE to make yourDIVE-BOMB run. In HI-RES graphics plus sound '.. S14.95

SUB ATTACK: It's April 1943. The enemy convoy is headed for the CONTROLSEA. 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 unlessotherwise noted. Detailed instructions included. Orders shipped within 5days. Card users include card number. Add $1.50 postage and handlingwith each order. California residents add 6'/?% sales tax. Foreign orders add$5.00 postage and handling.

^^^^ SPECTRUM SOFTWARE

142 Carlow, P.O. Box 2084Sunnyvale, CA 94087

FOR PHONE ORDERS: [408) 738-4387DEALER 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 Cobolthat you've heard so much about. Designed topass the stringent government Hypo-COBOLtests used by GSA in their Compiler CertificationProgram. This is the first public release ofversion 2.1. This is an elaborate ANSI-COBOLsubset. Comes complete with users manual inDeLuxe three-ring binder.

Perfect for learning COBOL.

Perfect for teaching COBOL

FREE sample programs included

Runs in 24K

Requires 8080, Z-80®, or 8085 andstandard CP/M® system

• Provided on standard 8" disk orNorthstar Double Density CP/M 5"

Only $69.95!FREE ALGOL INCLUDED!

free BONUS. All purchasers receive afree copy of NPS-ALCOL at no extracost. A favorite language in Europe,ALGOL Is the original structured lang-uage. Comes with FREE sample programs.

MONEY-BACK GUARANTEE. If you're notcompletely satisfied with this software. Youmay return it within fifteen days for anyreason and get a full refund.

Send Check, Money Order or CreditCard information and order a copytoday! Please add $2.50 shippingand 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 (CaliforniaI residents please add appropriate sales tax). I will! receive the NPS-COBOL system plus a FREE copy ofI NPS-ALGOL. I understand^ that I may return theI software within 15 days if not completely satisfied■ for a full refund.

NAME

II

| 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-fI 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 theassignments to a, b, and c, such thatthe ranks are 7, 6, and 5, respectively.

The Linked Stack

Alternatively, we can define alinked stack, which is a stack whosebuffer is a linked list. The definitionof class LinkedStack is given in table13. A linked stack is created by send-

ing the message new to classLinkedStack. Since we are using alinked list for the buffer, there is noneed to specify a maximum sizeestimate. 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 APPLICATIONTHAT 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 andbetter than ever.A lot of the credit for thatgoes to the UCSD p-System softwarefrom SofTech Microsystems. It'sgiven us ten times the market weused to have.

We can write a single,sophisticated applications programwith the UCSD p-System—like ourfinancial management package—andit just keeps on running. On Apple,Commodore, Ohio Scientific, TexasInstruments, Zenith, and more.That's the real beauty of the UCSDp-System. Any program you write forone microcomputer runs on others,both today and tomorrow. You protectyour software investment, withoutrestricting your hardware options.

And with the UCSDp-System,you can use the languageof your choice—UCSD Pascal,™FORTRAN-77, BASIC, or assemblylanguage. All are backed by SofTechMicrosystems, a leading systemsoftware company who's been aroundfor over a decade, who knows howto develop professional qualitysoftware, and who's committed todelivering it.

Get a head start on tomor-row. With the microcomputersoftware that goes from "A" to "Z."Distribution licensing and singlecopies available. Write or call fordetails, so you can start goingplaces, 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 objectpassed as a parameter at the begin-ning of the buffer (ie: at positionnumber 1). This is an easy operationfor a singly linked list. The messagepop is done by removing the first ob-

ject from the buffer—another easyoperation. The message top is im-plemented by accessing the objectthat is the entry of the first link of thebuffer. We can use an instance ofclass LinkedStack in the example givenfor class SequentialStack by doing the

following:

| stack |

stack — LinkedStack new.

The rest of the example is unchanged.

The Queue

The queue is an important datastructure that, like the stack, occursoften both in programming systemsand outside the realm of program-ming (see figure 12). A queue is alinear list of items whose access isrestricted to the two ends. An itemcan be appended to only one end of aqueue, called the rear. An item can beremoved only from the other end ofthe queue, called the front of thequeue. This causes a sequence ofitems that are added to a queue andsubsequently removed, to be accessedin a strict first-in-first-out fashion (ie:the first item that we put in a queue isthe first item that we get out).Because of this, a queue is sometimescalled 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 8times the throughput of a 4 MHzZ80A processor. The powerful instruc-tion set of the 8088 is ideally suited to higher level languages such asPASCAL 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, theLDP 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 LDP2has 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 801 R's (LDP2)

— 4K EPROM socket for user population

OPTIONS:

— HAZITALL

— 8" 10 MByte Winchester (replaces 1 Shugart 801 in LDP2, availableSept. 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.001295.002095.00

325.003295.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 Researcn86-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 • 2EPROM sockets (2716 or 2732) • 8087 upgrade kit available in Sept.

• 8 bit bus eases interface to other S100 bus boards • 1MByte addressspace • 65K I/O ports

64/256K MEMORY

• 8 or 16 bit operation • Meets all IEEE 696 specs • Access time350 ns from PSYNC low • Intel 8203 dynamic RAM controller • 24 or16 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) • WINCHESTERDISK support • Real time programmable interrupt • Clock/calendarwith battery back up • Synchronous data communication supported

LDP72 FLOPPY DISK CONTROLLER

• IBM compatible single and double density format • Single or doublesided drives • Programmable data record length (128 to 8192 bytes/sector) • Multi sector and multi track transfer capability • Parallelseeks on up to 4 drives • On board digital data separator • Softwareselectable single or double density operation • Separate connectorsfor 5Vi" and 8' drives • Software selection of standard orallowing mixing of both drives on a single controller

or minidrives

LOMAS

DATA

PRODUCTS

11 Cross StreetWestborough, MA 01581Telephone (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

Penril300/1200

Penril 300/1200—Bell 212A style $799

Bell 212A style. 1200 baud and 300 baud. Manual origi-nate, auto-answer. Full duplex. RS232. Direct connectto phone lines via RJ11C standard extension phonevoice jack. 1 year warranty.

Digital Equipment Corporation

DECVT100

DEC VT100... $1668

Detachable keyboard. Separate numeric keypad withfunction keys. Business forms character set. Reversevideo. Selectable double-size characters. Bidirectionalsmooth-scrolling. 80 cols or 132 cols. Split screen. Set-fable labs. Line drawing graphic characters. Status line.Key-Click.

HARDCOPY TERMINALS

TeletypeModel 43

TeletypeCorporation

Teletype Model 43 KSR with RS232and Connector Cable $999

30 CPS. Dot matrix. 132 cols. True descenders on lowercase. Excellent print quality for dot matrix printer. Pinfeed.

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. Directconnect to phone lines via RJ11C standard extensionphone voice jack.

USR-330A $399

Same as USR-330D but includes auto-dial capability.

CRT's

Perkin-ElmerCorporation

Superowl 1251

Perkin-Elmer Superowl 1251 $1564

Intelligent, editing CRT. Detachable keyboard. 32 fullyprogrammable function keys. Intelligent printer part.Business forms character set. Block mode. Protectedfields. Blinking fields. Numeric fields. Reverse video.Half intensity. Polling. Down line loading of options. Re-mote control of all options by host computer. Settabletabs. Status line. Separate numeric keypad. Transpar-ent mode.

NEC CorporationNEC Spinwriter 5510 & 5520

5520 KSR Spinwriter $3088

55 CPS. Impact printer. Selectric print quality. Change-able print fonts. 110, 300 and 1200 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 1200 baud data rate. Fric-tion and tractor feed.

& PRINTERS

DEC LA120

Digital EquipmentCorporation

DECLA120... $2388

180 CPS. Dot matrix. Upper/lower case. 1K buffer. De-signed for 1200 baud communications. 30 characteranswerback message. Adjustable line spacing. Adjus-table character sizes including double sized characters.Settable horizontal and vertical tabs. Top-of-form capa-bility. RS232.

Perkin-ElmerCorporation

Pussycat 650/655CRT Screen Printer

650/655 Pussycat CRT Screen Printer. $899

100 CPS. Extremely compact and quiet. 110 to 9600baud rate. 2K buffer. Ideal for producing rapid, reliablehardcopy of your CRT screen display. Can be added toany CRT with our interlace option.

Circle 391 on inquiry card.

U.S. Robotics

The

Phone LinkAcousticModem

Bell 103/113 style $179

300 baud. Sleek, low profile. Originate and answer cap-ability. Half/full duplex. Self-test. RS232. Light displaysfor On, Carrier, Test, Send Data, Receive Data. 15 oz.

Perkin-Elmer Corporation

Bantam 550B .... $6941

Compact. Silent. Upper/lower Icase. 80th col. wrap-around.Bell. Integrated numeric pad.Printer port. Transparentmode. Editing features.Tabbing.Bantam 550E...$755|

Same as 550B plusseparate numeric key-pad and cursor directionkeys.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 charactersizes. 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 charactersizes including double size characters. 6 lines per inchsettings. Up to 217 cols per line. Friction feed. Settablehorizontal 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 .. $4992K Buffer with Text Editor and 1200 BaudCommunications 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-5B50C312) 34B-565IC312) 733-D497

front ofqueue

rear ofqueue

queue of n data items

• determine the number of items inthe queue

• determine whether or not the queueis 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 beadded (or put) only at the rear of the queue (12b) and taken away (or gotten) only at thefront of the queue (12c).

dow or checkout counter are every-day examples of this kind ofdiscipline. In programming systems,queues are used for many purposes,for example, to represent a line of

customers in a simulation program orto handle ordered lists of events andprocesses in operating systems.

The operations we want to performon a queue include:

INFOSOFT Has a Better Wayl/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. CACOOS ii a registered trademark of CromemcoSDOS is * registered trademark ol SD Systems

Just as in the case of the stack, we canhave different implementations of thequeue depending on the type of bufferwe use for storing the data items.Class Queue, which serves as asuperclass for the queue classes, isgiven 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 thequeue. The external messages havebeen listed to show what must bedefined in all subclasses. The messageemptyCheck, which sends an errormessage if the queue is empty, will beused in the implementation of get.

The Linked Queue

The first queue we will consider isthe linked queue. A linked queue isone whose buffer is a linked list.Because we want to remove and additems easily, we will use a circular,singly linked list in our implementa-tion. Class LinkedQueue is shown intable 15. An instance of class Linked-Queue is created by sending the crea-tion message new to the class. Forexample:

| queue |

queue — LinkedQueue new.

creates and initializes a new linkedqueue. The internal message initializecreates a new instance of CircularListand stores a pointer to it in buffer.

To put an object in a linked queuewe use the message put:, passing theobject as the parameter. This object isthen added to the circular list bysending buffer the message append:.Similarly, the next object can beremoved by using the message get.The method for get first checks to seeif buffer is empty. If it is, an errormessage is sent. If not, the first objectis removed from buffer and returned.

The messages count and empty areimplemented 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" PopularComputing," thekey tounderstanding.

Now you don't have to bea computer professional tounlock all the mysteries,potential, and pleasures ofhome and small businesscomputers. Popular Com-puting, the new monthlymagazine from McGraw-Hill, is the key.

Created in response togrowing demand for ourinformative quarterlyonComputing, Popular Com-puting explores everyaspect of personal com-puters and their use. Allreported in easy-to-understand nontechnicallanguage.

The answerto "Computer-phobia."

Even the most computer-unsophisticated reader wilfind Popular Computinginteresting andstimulating. Every issuewill contain straight-talking product reviews,

special news briefs, andfeature articles by famousguest contributors (likeIsaac Asimov). There'lleven be a helpful glossaryof computer jargon wecouldn't avoid using, andmuch, much more.

Special

Introductory

Offer.

Send in this coupon to-day, and take advantage ofPopular Computings SpecialIntroductory Offer.

.■&

.^>

*4T*

*&&

cP .^V.

POPULAR.

<*"

.<?

,\°

COMPUTING

THE KEY TO UNDERSTANDING

^zS:

Circle 133 on inquiry card.

THE NEW

NEVADACOBOL!

At $149.95 you can't buya better COBOL or oneresiding in less memory.

Now with the new Nevada COBOL, you canuse the programs developed by professionalbusiness programmers over the past twentyyears to run the big IBM machines. And you candevelop and tailor programs on your micro andrun them on your micro or recompile and runthem on any mainframe computer. What's moreyou can do it for about one-fifth the cost ofcomparable COBOL compiler systems.

Almost all the popular microcomputerswork with the CP/M operating system we useincluding 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 COBOLrequires 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 formanual only, $24.95.

Four COBOL applications packagesavailable too.

Four COBOL applications packages are cur-rently available. Each is priced at $24.95 for thediskette. The 73 page manuai covering all fourapplications costs an additional S24.95.Themanual carries complete COBOL source codelistings and superior documentation.

Package #1 is the Budget Plan ReportGenerator. Here's an extraordinary time saverand planning aid for both start-up and wellestablished businesses.

Package #2 is the Personal Financial Plannerto give you some eye opening insights into yourown personal spending habits.

Package #3 is Labels so you can print nameand address labels.

Package #4 is Pre-COBOL for use as apre-processor of COBOL source programs. A greatprogramming aid.

Order today or write for complete details.

Phone [4I5| 751-1522 or address EllisComputing, 600 41st Ave, San Francisco, CA 94121.Nevada Cobol is also available at LifeboatAssociates, Discount Software, Westico, BusinessMicro Products, Computer Information Exchangeand other quality computer stores. Mastercard,Visa, C.O.D.s, or checks accepted. California ordersplease 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 theuse 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 ofclass LinkedQueue and assigns to thevariables a, b, and c, instances ofclass Card with ranks 5, 6, and 7,respectively. These instances are putinto the queue in the order listed andare then removed and assigned to thevariables a, b, and c. The originalorder is preserved; the ranks of a, b,and c are 5, 6, and 7, respectively.

The Sequential Queue

The next implementation of aqueue that we might expect to see is

STATE OF THE ARTMEMORY 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 16 bit Multibus Systems.

PARITY — The CI-8086 generates and checks even parity with selectableinterrupt on parity error.

FAST ACCESS AND CYCLE TIME — Data access is 270 NSEC and cycletime is 375 NSEC.

16 MEGA BYTE ADDRESSING — The memory is addressable in 16Kincrements up to 16 mega bytes.

LOW POWER CONSUMPTION — Total power consumption is under 8watts.

SINGLE QTY. PRICE: 128Kx9 $1350. 512Kx9 $2995.

*™™"flI™lliPi!llB'

» - . m m && m jm \i^" ^P w$ wi si ^V. *S?- IS

i a 11111

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 DECPDP 11/23 are only addressable to 256K bytes (18 address lines). TheCM 123 is addressable to 4 mega bytes (22 address lines) so there is noneed to worry about obsolescence.

FAST ACCESS AND CYCLE TIME — With an access time of 240 NSECand cycle time of 400 NSEC one is insured the best throughput on the PDP11 /23 system.

PARITY — The CI-1123 generates and checks parity for each byte ofmemory. Totally DEC compatible.

BATTERY BACKUP POWER CONSUMPTION — Power requirement forthe module is only 1.2 AMP from the 5 volt supply. The CI-1123 is easilyconfigured for battery back-up mode of operation requiring only 300MAfrom 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 andcycle time is 400 NSEC, allowing the unit to work as a static RAM at clockrates in excess of 1.5 mega hertz. For 2 mega hertz operation the board canbe easily configured to utilize a cycle stealing refresh operation.

ADDRESSING — On-board memory select is available in 4K incrementsup to 64K words of memory on either the VUA or VXA control inputs.

PARITY — On board even parity with output jumper select to the systembus 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 storedata items. Unfortunately, a sequen-tial list is not well suited to this pur-pose, because we need to add items toone end of the list and remove themfrom the other. You will recall thatadding items to the end of a sequen-tial list is an easy operation, butremoving them from the beginning isdifficult since we have to copy for-ward all of the succeeding items in thelist. Rather than copy forward allitems after the first, we would preferto ignore the item at position 1 of thelist and consider the item at position 2to be the first item in the list. Theproblem, however, is that as itemsare added and removed from the list,

the actual positions of the first andlast items migrate toward the end ofthe list. This could cause the list to ex-pand even if it is not full. Fortunately,we can treat the last position in thelist as if it preceded the first position:that is, we consider the list to be cir-cular. After we have added an item tothe last position, we can start addingitems to the beginning of the list, pro-vided some have already been re-moved. If we use this strategy, thenwe don't have to expand the list untilit is full.

The class definition in table 16 usesthe strategy just described to imple-ment a queue using sequentialstorage. Class SequentialQueue uses

an instance of class IndexedTable asits buffer. Since class IndexedTabledoes not provide facilities for count-ing the number of objects stored in aninstance (those facilities are providedby class LinearList), we need to definean instance variable count in classSequentialQueue. Additionally, wehave instance variables named frontand rear, front is the index of the firstobject stored in buffer (an instance ofclass IndexedTable); rear is the indexof the last object stored in buffer.Since we are treating buffer as a cir-cular sequence of positions, front andrear will repeatedly cycle through thevalues between the lower and upperbounds of buffer.

THE FORMULA allows the computer professional tofocus on the most important part of business: the needsof the client. Customized systems for any business appli-cation can be created in a fraction of the time required byconventional methods.

kgftSSS*

• Interactive data entry, file updating, andmaintenance routines are automaticallygenerated from a definition of the fields.

Reports can be created through a uniquefull screen editor simply by typing a sampleformat.

• Menus and job streams are defined througha preprogrammed parameter-driven pro-cedure.

• Fast response time is insured becauseeach routine can be interpreted directly bythe computer and data management iscontrolled by an efficient ISAM algorithm.

THE FORMULA is a complete system language whichbrings the process of developing applications closer tothe 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 computerwith 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 + 1expand | 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 ofclass IndexedTable for storingobjects, we must specify an estimateof the maximum size of an instance ofclass SequentialQueue when wecreate it. This is done with the crea-tion message size:, which creates anew instance of SequentialQueue andsends it the internal messsagebuffer.count:. The first parameter ofbufferxount: is an instance of class In-dexedTable; the second is the numberof objects stored in the first parameter(initially zero).

The message bufferxount: is alsosent from the internal message ex-

pand, which is used to expand bufferwhen it becomes full, expand is im-plemented by creating a new instanceof IndexedTable that is twice as largeas the current one. All of the objectsstored in buffer are copied to the firsthalf of the new instance, which thenbecomes the new buffer.

The internal message advance isused to advance the values of frontand rear. Normally, this is done byincrementing the current value by 1.However, if the current value is equalto the upper bound of buffer, then wemust set the value back to the lowerbound of buffer. The external

messages are those specified in thesuperclass Queue. The messagecount returns the value of the in-stance variable count. The messageempty tests to see if count is zero.

For the message put:, we first testto see if buffer is full. If buffer is full, itis expanded using the messageexpand. The object passed as aparameter to put: is then stored inbuffer at the position indicated byrear, rear is then advanced one posi-tion forward, using the message ad-vance. Finally, the value of count isincremented.

Similarly, for the message get, wefirst test to see if the queue is empty.If it is, an error message is sent; other-wise, the object stored at the positionindicated by front is removed frombuffer, front is advanced one positionforward, and the value of count isdecremented. Finally, the removedobject is returned.

Summary

The class construct is an extremelyuseful tool for implementing datastructures. Implementing a datastructure 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 beaccessed by the rest of the system in asecure manner, namely, through theuse of a set of messages that corres-pond to the operations that are welldefined for that data structure. Addi-tionally, the ability to createsubclasses makes it possible to sharevariables and methods among similarclass definitions, thereby reducing theamount of work needed to implementa set of data structures. ■

References

1. Horowitz, E and Sartaj, S. Fundamentalsof 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, page36.

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-3138602-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 85260800-582-3138 • 602-991-7870

products,

NEW LOCATION

1198 E. Willow StreetSignal 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.

CODTs & Terms Available on

Approval (School PO's Accepted)

($25.00 Minimum Order)

• Fully compatlbliIEEE 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', IORCTtnOlai on Hoard ROM• Dual RS-232 serial 110 pens usingtha Z80A.DART wllh IrwJI •ifjual Oautrale 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 CPUwith Serial I/OPorts & SBC 100Monitor of yourchoice at No Chrg.

SBC-200 KIT

4 MHZ/Z80A CPUwith Serial & ParallelI/O Ports & SBC 200Monitor of yourchoice at No Chrg.

$299

00

$325

00

VERSAFLOPPYI KIT

Disk Controller for5Vt" &8" Drives,Single or DoubleSided/SingleDensity, S-100Compatible

$25009

VERSAFLOPPYII KIT

Disk Controller for5'/i" or 8" Drives,Single or DoubleSided/Single orDouble 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-sidedSgle-Dble Density

• IBM-compatible1.2 Mbytes/Disk

•Fast—3 ms.Track to Track

• 154 Tracks/DaisyChain 4 Drives

•ISO StandardWrite Protect

• ProgrammableCALL FOR Door Lock

PRICE & DELIVERY

O.E.M. Pricing Available on Request120 Day Factory Warranty

MICROBYTE

•6«K < 8 bil dynamic RAM

» 8VDC O 700 ma

* I6VDC 0 100 ma

- 16VDC ric 25 ma•Built-in-parily wilh LED mrliand 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, One20mA Cirrrenl Loop Poil•Fully IEEE S-100 Bus Compatible

• Asynchronous CommumcabonsWittl ZBOADartiTUi or Synch,onousCommunications 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 ChainCapabiiiiy

• Special Receive Condiboos:

|1) Framing Error; |2) Parity Error." errun Error

•Buu.

n 50 Baofl lo 300K Baud

lally

CALIFORNIA COMPUTER-

20322065

2116

2200

2422

2501

2710

2718

2720

2802

2810

7114A

7424A

7440A

74707710A7712 A7720A7728A

32K STATIC RAM BRD.64K DYNAMIC RAM

BOARD16K STATIC RAM BRD.MAINFRAMEDISK CONTROLLERMOTHERBOARD4PORT SERIAL I/O2 SER. PORT & 2 PAR.4-PORT PARALLEL I/O6502 CPU BOARDZ-80 CPU BOARD12K ROM/PROM BRD.CALENDAR CLOCK BD.PROGRAMMABLE

TIMERA/D CONVERTERSERIAL SYNCH. BRD.SERIAL SYNCH. BRD.PARALLEL INTERFACECENTRONICS

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

810815820822825830850410

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-positionmotherboard. 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/5power 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 ShugalSA801R 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 switchan Iron! panel Power switch. 8'DB25 cutouts. 2 BNC mounting holes. 70CFM fan, EMI tiller, 6' power cprd. line fuse, andclamped flat cable exit on rear panBl. P800 power supply | + 8@15A, + 16@3A, -16@3A) Power supply is a removablemodule 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 ShugartSA801R 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@<lAl +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.95MANY MORE AVAILABLE

MFG./MODEL#ANACOM-150ANADEX-9501BASE 2-800 BCENTRONICS 739DIABLO-630R0C. ITOH-Starwriter45TEXAS 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&W100-80

100G/12" Grn.Color I

TVM-10/10" B&WVM910/9" B&WVM129/12" B&WDM5012/12" B&WDM5112ex/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*

CATD-CATAutO-CATLex-11

LIV-Star 20MUDS 103UDS 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 10140

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 EPROM16K or 32K EPROM

8K Static16K Static32K StaticFront PanelDisk Controller8080A 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 CPUReal Time Clock9 Slot Motherboard12 Slot Motherbrd.80 x 24 Video2 Par. & 1 Ser. I/O8-Parallel I/O Ports4-Serial I/O Ports

PRICE

$39.95$27.95$34.95$39.95CALLCALL$35.95$35.95

Circle 25 on Inquiry card.

COMPONENTS

4116'S (200 ns.)

Apple, TRS-80, Heath

8 for *1880

16-49 $2.25 ea.

50-99 $2.15 ea.

lOOUp $2.05 ea.

2114 L-2/200 NS

Lo-Power 1Kx4 Static RAM1-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 .80340T5 .70 340T12 .75

DB25PDB25SDB25C

1.9 10-24 25 Up2.65 2.50 2.403.60 3.40 3.251.00 .90 .80

100 PIN IMSAI

Gold/S-100

Soldertail

Connectors

$2.40 eachOR

10/S2.25 each

CAPACITORS

.1 @ 12 Volt

Ceramic

8$ ea.

or100/S7.00

PART t

MD52501

MO53S-10

MD52S '6

VERBATIM5'." DISKETTES

SECTORINGSOFT SECTORHARD 10 SECTORMARO 16 SECTOR

8" DISKETTESHARDSECTORSOFT SECTOR

MEMOREX

W DISKETTESSIDESIDENSITY SECTORING

VSINOLE SOFT SECTOR

I'SINGLE HARD 10 SECTOR

1 (SINGLE HARD 16SECTOR

B" OISKETTESSIDES/DENSITY SECTORING

1/SINGLE2-SINGLE"DOUBLE2'OOUBLE

SOFT SECTORSOFT SECTORSOFT SECTORSOFT SECTOR

D-0133D0226D-0235

DYSANSV." DISKETTESSIOES/DENSITY SECTORING

USINGLE SOFT SECTOR

"DOUBLE SOFT SECTOR

2/DOUBlE SOFT SECTOR

8" DISKETTESSIOES/DENSITY SECTORING

i/SINGLE SOFT SECTOR

2'DOUBLE SOFT SECTOR

PRICE

10.'27 5010;29SO1029 50

PRICE

10/250010/25 0010/25 00

PRICE

10.35 001045 DOI0M5OO10.55 00

PRICE10 50 0010/53 0010.65 00

SCOTCH 3M

SV." DISKETTESSIDESIDENSITY SECTORING

l/SINGLEl/SINGLE1/SINGLE3/OOUBLE2/DOUBLE2/DOUBLE

SOFT SECTORHARD 10 SECTORHARD 16SECTORSOFT SECTOHMARO 10 SECTORHARD 16 SECTOR

SV." DISKETTESSIDESIDENSITY SECTORING

1/SINGLE2/DOUBLE

1/SINGLE2/DOUBLE

SOFT SECTORSOFT SECTORHARD 16SECTORHARD16SECTOR

PRICE33.0033 0033.00'59.0090.00

PRICE10/39.0010/65.0010739.0010/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-tMFH1-32

FD2-XO

PART ■SRW-5SRW-8

PERSONAL SOFTWARE for APPLETRS80, 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.0079.9521.9517.9521.9517.9521.9517.9521.9517.9579.9517.9517.9517.9513.95

175.0065.0017.9517.9513.9513.95

100.00

175.00

SHUGART 801R DISK DRIVE

Single Density Double Density

Capacity

UnformattedPer DiskPer Track

IBM FormatPer DiskPer Track

400K5.2K

256 K3328

800 K10.4K

512K6656500 kilobits/sec83 ms

8 ms

260 ms

B ms

35 ms

Transfer Rate 250 kilobit/sec

Latency (avg.) 83 msAccess Time

Track to Track 8 ms

Average 260 ms

Settling Time 8 msHead Load

Time 35 ms

Model 801 $400.00

Case & Power Supply $265.00

The Epson MX-80

80 COLUMN DOT MATRIX PRINTER

SPECIFICATIONSPrint method ■serial impact dot

matrixPrint rate ■ 80 CPSPrint direction ■bidirectionalNumber of pins

in head ■ 9Matrix -9x9Line spacings - 1/8", 1/6", 7/72" + programmableThroughput at 10 CPI ■ logical seekingfunction - 105 LPM, 20 character line;73 LPM, 43 char, line; 48 LPM. 80 char, line

PRINTING CHARACTERISTICSCharacter set - full 96-character ASCII

with descendersGraphics characters ■ 64 block characters

INTERFACES

Standard ■ Centronics-style 8-bit parallelOptional - RS232. IEEE488.Buffer size - 1 line

New MX80FT AvailableCALL 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

APPLESOFTWARE

by EDU-WARE

INTRODUCING

asap's Atari 800

Computer System • 16K RAM Module

$7500

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 SocketPART*/ 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 BASE308 WEIGHTED BASE

310 SURFACE PLATE

311 BENCH CLAMP

315 CIRCUIT BOARD HOLDER333 RAPID ASSEMBLY

350 WORK CENTER STATION366 WIDE OPEN HEAO376 SELF-CENTERING HEAD380 VACUUM BASE

ACCESSORIESPART* DESCRIPTION

316 EXTRA ARMS318 12" BAR

343 NYLON JAWS (PAIR1

344 GROOVED NYLON JAWS346 NEOPRENEJAWS

353 STEEL JAWS

359 UNIVERSAL HOLDER

PRICES

11.9524.9514.4915.2511.9514.2533.9514,4916 95309538.9513.9516.9516.95

PRICE9.503.492.002.002.502.956.95

IDS SOCKET CONNECTORSCrimp-On Type

Contacts

20 PINS26 PINS34 PINS40 PINS50 PINS

1-9 10-24 25 Up

2.953.254.455.655.95

2.752.954.255.355.65

2.502.753.954.955.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 CONNECTORSCrimp-On Type

Contacts

20 PINS26 PINS34 PINS40 PINS50 PINS

1-9

3.954.955.256.256.95

10-24

3.754.554.955.856.35

25 Up

3.504.254.755.505.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 withina 64K boundary

$450°

-Fully S100 buscompatibleIMSAI. SOL,ALTAIR,ALPHA MICRO

GODBOUT 32K ECONORAM XXStatic 5-100 Memory

32K Bank Select. IEEE S-100 compatible. One32K block can be addressed on 4K boundaries.Compatible with IEEE proposed standard of 24address lines and all currently used bank selectconfigurations. Disable any or all of the eight 4Kblocks to create as many windows in memory toavoid 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 DRIVECABLE 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-

computerproducts,

NEW LOCATION

1198 E. Willow StreetSignal 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 shipmentsFreight, U.S. Mail Add $1.50U.S. Only up to 2 lbs.

We Accept Cash, Check, MoneyOrders, 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 AdoAbout Nothing, or even The Comedy ofErrors? Or, after conceiving a programduring A Midsummer Night's Dream,who has not labored until the TwelfthNight just to get the output As You LikeIt? . . . CPF

Modification Caveat

While I especially enjoyed the article"What's Inside Radio Shack's Color Com-puter" (March BYTE 1981, page 90), thereis a problem I would like to pass on toother BYTE readers.

The authors indicated that the proces-sor speed can be doubled by issuing aPOKE 65495,0 command. Before I hadmy computer upgraded for Extended Col-or BASIC, I used this method to makeprograms run faster. But after getting theExtended BASIC upgrade, I had problemswith double speed. During program ex-ecution, everything worked. But if themachine was still operating at doublespeed when the program ended, the com-puter would hang up, requiring me toreset it. (I solved this by restoring the nor-

mal speed with POKE 65494,0 before theprogram ended.) But if the program endedunexpectedly, 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 usthat the processor and other parts aredesigned for 1 MHz operation, and thatany time you try to double this speed,you're inviting problems. The reason youhad problems with Extended BASIC at thehigher speed is that it keeps certain parts(eg: processor and the peripheral interfaceadapter) busier than non-Extended BASICdoes. At 2MHz, these parts are over-loaded. . . . GS

Define the Problem

I read Gregg Williams's "Is This ReallyNecessary? A First Look at Design Tech-niques" (March 1981 BYTE, page 6) withinterest. Concerning the lifespan of amedium-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 isdefined (perhaps using decision tables). Inthe problem analysis, the designer mustdevise alternative schemes to solve theproblem and choose the best approach.By the end of the analysis, the system hasbeen completely specified (hardware andsoftware). But, more important than thedesignation of the different phases is thefact that, as Mr Williams mentioned, thedesigner must at first respond to the"what" of the question. In practice, mostpeople try to solve a problem before it hasbeen specified.

The importance of the analysis/specifi-cation and design phases in a well-man-aged project is shown by T H Bruggere inhis article "On-Schedule, Reliable Soft-ware Depends on Sound Methodology"(EDN January 7, 1981).

Finally, in the references, Mr Williamsfailed to mention M A Jackson's Principlesof Program Design (New York: Academic

lit Pi [IIifII

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, SeriesIMDL4974, 5256, 3287, 3770,3771-3774,4974,5100,5103,5110, 5228. 5256, 5320MDLA

IBM - HARMONICA !4". SERIESI. MOD 4973/11, 3200, 3289,MOD 2.

TELETYPE MOD 33, 28, 35, 37.38, 88.

DIABLO HYTYPE II (M/S8LK) HIYIELD. FITS 70 PRINTERS!

QUME (FITS 80 PRINTER MODS)

WANGM/S. 5541W.WC, 5581.WD, 6581W, 2281W

DEC '/> x 40YD.

DEC Vl x 60YD.

NEC SPINWRITER

one/pk3/pk3/pk3/pk

1/pk5/pk

3/pk

10/pk

1/pk

3/pk1/pk

3/pk3/pk4/pk

13.95/rart18.95/3 pk18.95/3 pk26.33/3 pk

16.95 ea5.80 ea

9.42 ea

2.40 ea

9.31 ea

18.00/3 pk6.85 ea

17.77/3 pk20.12/3 pk23.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 Cart14.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

113.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"x30'

1/2" x 36'

5/16" x"High Yield"1/4"x310'5/16" x 393'

1/2"x 120'1/2"x 180'1/2" x 51'

COMMENTS

Nylon Iricl InstrNylon Jet BlkNylon Jet BlkNylon Jet Blk5 mil High Speed

Giant CartNylon Jet Blk

Nylon Jet Blk

Nylon Jet Blk

300.000 plos imp.

Moltistrike FilmMultistrike Film

Double SpoolsDouble SpoolsNylon/Ex Lng Lite

R-T3C-700C-700C-100

C-7045R-300

C-350

R-450

C-511

C-625C-550

R-600R-644R-400

TERMS:

MINIMUM PURCHASE- $20PAYMENTBY: 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 BlvdCoHsg* Part. MD 20740

301-345-6000 (With DC Local)301-792-2060 (Ballo. MO Local)8O0-63B-0967 (National)

ADDRESS-CITY

ANCIE Laboratories9204 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 CHARGEACCT. #

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 11 Space Invader 17

CX4110 Touch Typing 20

CX411 5 Mortgage & Loan Analysis.... 13

CX4116 Personal Fitness Program .... 13

CX41 1 7 Invitation to Programming 3 .. 20

CX411 8 Conversational French 45

CX411 9 Conversational German 45

CX4120 Conversational Spanish 45

CX41 21 Energy Czar 13

CX41 25 Conversational Italian 45

CX8108 Stock Charting 20

CXL4001 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

CXL4010 3-D Tic-Tac-Toe 30

CXL401 1 Star Raiders 33

CXL4015 TeleLink 20

Talk & Teach Courseware:

CX6001 to CX601 7 23

everythingand 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 ThermalPrinter Paper

CAO16087 825 80-col.Printer Ribbon(3/box)

Microtek 16K RAM

181842

1779

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 10 for $36

Syncom Disks 10 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 JTally 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.) 186

WordPro 4 (80 col.) 279

WordPro 4 Plus (80 col.) 339

Wordcraft 80 319

Please Call Between 11AM & 6PM(Eastern Standard Time)

(800) 233-8950

No Risk-

No Deposit OnPhone Orders -

COD or

Credit Card-Shipped Same Day You Call'

Prepaid Orders Receive Free Shipping

master charge

* on all in stock unitsComputer 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

NAMETITLE

COMPANYADDRESS .CITY

STATE

ZIP

©

pie

Hi prIltiTd iratui'

pHisrifo iratui'Vy 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, theprogram structure is based on the datastructure that is first defined.

Roland VannayKirchweg 43a5415 NussbaumenSwitzerland

Correction

I want to correct an inaccuracy in ChrisMorgan's editorial in the May 1981 BYTE.(See "How Can We Stop SoftwarePiracy?", page 6.) RCS/MicroModellerwas developed in the United States byFerox Microsystems Inc (Falls Church,Virginia) and is marketed in England byIntelligence (UK) Limited. RCS has beenmarketed in the United States and Canadaunder the name Micro DSS/F by Addi-son-Wesley Publishing Company sinceJune, 1981.

Any BYTE readers interested in furtherinformation about RCS should contactPhil Evans, our vice-president ofmarketing, at the address below or callhim 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-70Printers" 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 DavidLien's MX-70 User's Manual, as men-tioned on page 30, and I was told it doesnot exist! Does BYTE know somethingEpson doesn't? If so, how can I get thismanual?

Richard FitzHugh3806 Everett StKensington MD 20795

Early shipments of Epson printers werenot accompanied by a user's manual.Owners of Epson printers can obtain auser's manual, free of charge, by contact-ing Kari Westlake, Epson America Inc,23844 Hawthorne Blvd., Torrance CA90505, (213) 378-2220. . . . MHl

284 August 1981 © BYTE Publications Inc

Beginat

squareone.

No one coversthe computerworld likeBusiness Week.

Business Week isthe only businesspublication withan entire editorialsection,InformationProcessing,covering thecomputerindustry. Weekafter week,Business Weekkeeps more than51/2 million

business leadersup to date onimportantchanges anddevelopments inthe world ofcomputers,computersoftware andservices. When itcomes tocomputers,Business Weekhas much morecoverage thanFortune, Forbesor the Wall StreetJournal.

Business Weekreaders havepurchasingpower.

9 out of 10Business Weeksubscribers holdmanagementpositions. Andover 30% areinvolved in thepurchasing orleasing decisionsfor computerequipment,services andsoftware.Business Weekhas the lowestcost perthousand.Business Weekhas the lowestCPMof any

newsweekly orbusinesspublication inreachingmanagers whomake purchasingdecisions in theelectronic dataprocessingcategory, both forequipment andservices. You getthe best audiencethere is, for thesmallest byte outof youradvertisingbudget.So get thecomplete picture

from Frank Long

at Business Week,

McGraw-Hill

Building, 607

Boylston Street,

Boston,

Massachusetts

02116,

617-262-1160, or

Donald Thompson,

Business Week,

425 Battery

Street,

San Francisco,

California 94111,

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 PrinciplesBehind Smalltalk

The purpose of the Smalltalk pro-ject is to provide computer supportfor the creative spirit in everyone.Our work flows from a vision that in-cludes a creative individual and thebest computing hardware available.We have chosen to concentrate ontwo principal areas of research: alanguage of description (program-ming language) that serves as an in-terface between the models in thehuman mind and those in computinghardware, and a language of interac-tion (user interface) that matches thehuman communication system to thatof the computer. Our work hasfollowed a two- to four-year cyclethat 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 programwithin the current system (make anobservation)

• Based on that experience, redesignthe language (formulate a theory)

• Build a new system based on thenew design (make a prediction thatcan be tested)

The Smalltalk-80 system marks ourfifth time through this cycle. In thisarticle, I present some of the generalprinciples we have observed in the

ATTENTION GOVERNMENT D PUSERS AND PURCHASERS

We represent many fine micro products and manufacturerson the U.S. Government's GSA Schedule, including

Apple, Cromemco, Micropolisand Seequa Computers

Purchasing from the Schedule will save you the timeconsumed by the bid process. Products shipped throughoutthe United States and world-wide. Visit or write any of ourstores for more information or to receive our catalogue ofproducts 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 onSmalltalk "motherhood," the prin-ciples themselves are more generaland should prove useful in evaluatingother systems and in guiding futurework.

Just to get warmed up, I'll startwith a principle that is more socialthan technical and that is largelyresponsible for the particular bias ofthe Smalltalk project:

Personal Mastery: // a system is toserve the creative spirit, it must be en-tirely comprehensible to a single in-dividual.

The point here is that the humanpotential manifests itself in in-dividuals. To realize this potential,we must provide a medium that canbe mastered by a single individual.Any barrier that exists between theuser and some part of the system willeventually be a barrier to creative ex-pression. Any part of the system thatcannot be changed or that is not suffi-ciently general is a likely source ofimpediment. If one part of the systemworks differently from all the rest,that part will require additional effortto control. Such an added burdenmay detract from the final result andwill inhibit future endeavors in thatarea. We can thus infer a generalprinciple of design:

Good Design: A system should bebuilt with a minimum set of un-changeable parts; those parts shouldbe as general as possible; and all partsof the system should be held in auniform framework.

Language

In designing a language for usewith computers, we do not have tolook 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 SYSTEMWITH 2nd GENERATION' PRODUCTSFROM SYSTEMS GROUP.

• CPC 2810 (shown) Z-80A processor board(4MHZ) with 4 serial & 2 parallel

ports $369.00

• CPC2813 - same as CPC2810 but 2 serialports only $345.00

• FDC2801/8 - 8" floppy disk controllerboard, 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 MOSTCURRENT PRICES!

"2nd Generation is a trademark of MeasurementSystems and Controls. Cromix is a trademark ofCromernco, Inc. Tilt-Back is a trademark ofWabash. 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 tiltNormal or reverse videoHalf or zero intensity

3 function keys (six functions)Lightweight (22 lbs. with keyboard)Switch select block or underline cursorSwitch select blinking or steady cursor

16K MEMORY <,OQ nnEXPANSION KIT $<*»•""

For Apple. TRS-80 keyboard, Exidy, and allother systems using 4116 dynamic rams orequivalent. All IC's are prime Mitsubishi MK4116-3.

• 200 NSEC access, 375 NSEC cycle

• Burned-in and fully tested

• 1 ftdl year parts replacement guarantee

wabash

8" or 51/j" flexible diskettes certified 100%error free with manufacturers 5 year limitedwarranty 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

5lA" 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, harddisk drive, 10 megabytes $2,000.00

fi502 PRODUCTS

BETA 32K BYTE EXPANDABLE RAM FORfi502 AND 6800 SYSTEMSAIM 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 the6800 S44 bus.

• Connects to PET using an adaptor cable.

• Uses + 5V only, supplied from the host com-puter.

• Full documentation. Assembled and testedboards are guaranteed for one full year.Purchase price is fully refundable if board isreturned 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.00PET interface kit. Connects the 32K RAM boardtoa4Kor8KPET $ 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. Minimumshipping and handling $3.00. Calif, residentsadd 091 sales tax. Cash, checks. Mastercard.Visa and purchase orders from qualified firmsand institutions are accepted. Product availabili-ty and pricing are subject to change withoutnotice.

INTERNATIONAL ORDERS: Add 15 % to pur-chase price for all orders. Minimum shippingcharge is $20.00. Orders with insufficient fundswill be delayed. Excess funds will be returnedwith 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 humanthought and communication havebeen engineered for millions of years,and we should respect them as beingof sound design. Moreover, since wemust work with this design for thenext million years, it will save time ifwe make our computer models com-patible with the mind, rather than theother way around.

Figure 1 illustrates the principalcomponents in our discussion. A per-

son is presented as having a body anda mind. The body is the site ofprimary experience, and, in the con-text of this discussion, it is thephysical channel through which theuniverse is perceived and throughwhich intentions are carried out. Ex-perience is recorded and processed inthe mind. Creative thought (withoutgoing into its mechanism) can beviewed 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 QUMEDouble 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, 64KRAM, 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, interruptdriven. 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. Easierthan 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 systemw/high performance video FRAME/GRABBER $1,875.

MAURO MP-250B Proac Plotter: Uses standard paper, choice of pen colors and linewidths, 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 StreetStaten Island, New York 10305

1 44816283 212 448-2913 212 448-6298

Purpose of Language: To provide aframework for communication.

The interaction between two in-dividuals is represented in figure 1 astwo arcs. The solid arc represents ex-plicit communication: the actualwords and movements uttered andperceived. The dashed arc representsimplicit communication: the sharedculture and experience that form thecontext of the explicit communica-tion. In human interaction, much ofthe actual communication is achievedthrough reference to the shared con-text, and human language is builtaround such allusion. This is the casewith computers as well.

It is no coincidence that a computercan be viewed as one of the par-ticipants in figure 1. In this case, the"body" provides for visual display ofinformation and for sensing inputfrom a human user. The "mind" of acomputer includes the internalmemory and processing elements andtheir contents. Figure 1 shows thatseveral different issues are involved inthe design of a computer language:

Scope: The design of a language forusing computers must deal with inter-nal models, external media, and theinteraction between these in both thehuman and the computer.

This fact is responsible for the dif-ficulty of explaining Smalltalk to peo-ple who view computer languages ina more restricted sense. Smalltalk is

explicitcommunication /"

212 448-2913

[ impliciti communication J

Figure Is The scope of language design.Communication between two people (orbetween one person and a computer) in-cludes communication on two levels. Ex-plicit communication includes the infor-mation that is transmitted in a givenmessage. Implicit communication includesthe relevant assumptions common to thetwo beings.

288 August 1981 © BYTE Publications Inc

not simply a better way of organizingprocedures or a different techniquefor storage management. It is not justan extensible hierarchy of data types,or a graphical user interface. It is allof these things and anything else thatis needed to support the interactionsshown in figure 1.

Communicating Objects

The mind observes a vast universeof experience, both immediate andrecorded. One can derive a sense ofoneness with the universe simply byletting this experience be, just as it is.However, if one wishes to par-ticipate, literally to take a part, in theuniverse, one must draw distinctions.In so doing one identifies an object inthe universe, and simultaneously allthe rest becomes not-that-object.Distinction by itself is a start, but theprocess of distinguishing does not getany easier. Every time you want totalk about "that chair over there,"you have to repeat the entire processof distinguishing that chair. This iswhere the act of reference comes in:we can associate a unique identifierwith an object, and, from that timeon, only the mention of that identifieris necessary to refer to the originalobject.

We have said that a computersystem should provide models thatare compatible with those in themind. Therefore:

Objects: A computer language shouldsupport the concept of "object" andprovide a uniform means for referringto the objects in its universe.

The Smalltalk storage manager pro-vides an object-oriented model ofmemory for the entire system.Uniform reference is achieved simplyby associating a unique integer withevery object in the system. Thisuniformity is important because itmeans that variables in the systemcan take on widely differing valuesand yet can be implemented as simplememory cells. Objects are createdwhen expressions are evaluated, andthey can then be passed around byuniform reference, so that no provi-sion for their storage is necessary inthe procedures that manipulate them.

When all references to an object havedisappeared from the system, the ob-ject itself vanishes, and its storage isreclaimed. Such behavior is essentialto full support of the objectmetaphor:

Storage Management: To be truly"object-oriented," a computer systemmust provide automatic storagemanagement.

A way to find out if a language is

working well is to see it tne programslook like they are doing what they aredoing. If they are sprinkled withstatements that relate to the manage-ment of storage, then their internalmodel is not well matched to that ofhumans. Can you imagine having toprepare someone for each thing youtell them or having to inform themwhen you are through with a giventopic and that it can be forgotten?

Each object in our universe has alife 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

EXPANDORAMII including high quality

4116s $540

Complete SD line available including kitsand FACTORY Assembled and testedboards & systems at discount prices.

TELETYPE

Model 4320 AAA or AAKModel 43ASR, 8 level, 1" tape

.$2,595.

dBASE II Ashton-Tate $615.

Brings power of mainframe databasesoftware to a microcomputer. Runs underCP/M® . Extremely easy to use. Manual

and demo software $50.

Money Back Guarantee

MUSYS Single BD Computer

Z80 processor, 64K Dyn RAM, Consoleserial 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. 9x16dot matrix. Maintenance contract fromIBM only $70 per yean

ITHACA INTERSYSTEMS

Inventory sale on board sets & systems

MARINCHIP SYSTEMS M9900

Uses TI990016 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" FloppySubsystem

A new operating sytem, completelyCP/M® compatible that allows use ofboth 8" (Shugart single sided, doubledensity via Tarbell controller) and 5lA"drives. Allows transfer of file from 8" to5Vi" 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 arenow a TEI stocking distributor. For thebest in mainframes.. . .TEI!I

TELEVIDEO CRTs

912..$780. 920..$850.

950. .$1,050.

COMMUNICATIONS SOFTWAREfrom Hawkeye Grafix

Enables communcations from a micro to aterminal or to another micro, mini ormaxi computer.Object Code $75. Source Code $250.

3M SCOTCH® Diskettes

5 box minimum, price per boxModel 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, 5lA soft sectored, single sided744-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 processingalong with the storage of each mentalobject. This suggests a third principlefor object-oriented design:

Messages: Computing should beviewed as an intrinsic capability ofobjects that can be uniformly invokedby sending messages.

Just as programs get messy if objectstorage is dealt with explicitly, con-trol in the system becomes com-plicated if processing is performed ex-trinsically. Let us consider the processof adding 5 to a number. In mostcomputer systems, the compilerfigures out what kind of number it isand generates code to add 5 to it. Thisis not good enough for an object-oriented system because the exactkind of number cannot be determinedby the compiler (more on this later).A possible solution is to call a generaladdition routine that examines thetype of the arguments to determinethe appropriate action. This is not agood approach because it means that

this critical routine must be edited bynovices who just want to experimentwith their own class of numbers. It isalso a poor design because intimateknowledge about the internals of ob-jects is sprinkled throughout thesystem.

Smalltalk provides a much cleanersolution: it sends the name of thedesired operation, along with anyarguments, as a message to thenumber, with the understanding thatthe receiver knows best how to carryout the desired operation. Instead of abit-grinding processor raping andplundering data structures, we have auniverse of well-behaved objects thatcourteously ask each other to carryout their various desires. Thetransmission of messages is the onlyprocess that is carried on outside ofobjects and this is as it should be,since messages travel between ob-jects. The principle of good designcan be restated for languages:

Uniform Metaphor: A languageshould be designed around a power-

ful metaphor that can be uniformlyapplied in all areas.

Examples of success in this area in-clude LISP, which is built on themodel of linked structures; APL,which is built on the model of arrays;and Smalltalk, which is built on themodel of communicating objects. Ineach case, large applications areviewed in the same way as the fun-damental units from which thesystem is built. In Smalltalk especial-ly, the interaction between the mostprimitive objects is viewed in thesame way as the highest-level interac-tion between the computer and itsuser. Every object in Smalltalk, evena lowly integer, has a set of messages,a protocol, that defines the explicitcommunication to which that objectcan respond. Internally, objects mayhave local storage and access to othershared information which comprisethe 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 ServiceAPPLE II PLUS 48K

$1,099

WE DISCOUNT PRICES — NOT SERVICE

HARDWARE

DISK II DRIVE & INTERFACE 499

DISK II SECOND DRIVE 445

BASF 5V2" DISKETTES (10) 25

LANGUAGE SYSTEM W/PASCAL 395

INTEGER BASIC FIRMWARE CARD 149

APPLESOFT II FIRMWARE CARD 149

CENTRONICS PRINTER INTERFACE CARD .179HIGH-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 serviceadd 3%. American Express credit card service add 5%. Shipping, handlingand insurance in U.S. add 3% (minimum $4). California residents add 6%sales tax. Foreign orders add 10% for shipping. Equipment is subject toprice change and availability. All equipment carries factory warranty. Storeprices 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 FtotyDtakNo.

SU» FI«|4IMk 8 I

ore than four decades of experi-ence in magnetic media-BASFinvented magnetic recordingtape, the forerunner of today'swide range of magnetic media,back in 1934, and was the firstindependent manufacturer ofIBM-compatible floppy disks.

Tough Tyvek sleeve—no paperdust, no static electricity.

Special self-cleaning jacket andliner help eliminate data errorsand media wear and tear.

BASF BASF FlexyDisk

Center hole diameter punched tomore accurate standards thanindustry specifications, for topperformance.

Bi-axially oriented polyestersubstrate—for uniform and reli-able performance year after year.

Cross-linked oxide coating-forlow head wear and long trouble-free media life.

Total capability-one of two man-ufacturers in the world thatmakes both 8" and 5.25" models,has tape and disk experience, andmanufactures floppy disk drives.

Double lubrication-lubricantsboth in the formula and on thedisk surface, to minimize mediawear due to head friction.

Packaging to suit yourrequirements—standard flip-topbox, Kassette 10® storage case,or bulk pack.

100% certification-every singledisk is tested at thresholds 2-3times higher than system require-ments, to be 100% error-free.

For the name of your nearestsupplier, 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 themessage.

Organization

A uniform metaphor provides aframework in which complex systemscan be built. Several related organiza-tional principles contribute to the suc-cessful management of complexity.To begin with:

Figure 2: System complexity. As thenumber of components in a system in-creases, the chances for unwanted interac-tion increase rapidly. Because of this, acomputer language should be designed tominimize 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 figure2. If there are N components in asystem, then there are roughlyN-squared potential dependenciesbetween them. If computer systemsare ever to be of assistance in complexhuman tasks, they must be designedto minimize such interdependence.The message-sending metaphor pro-vides modularity by decoupling theintent of a message (embodied in itsname) from the method used by therecipient to carry out the intent.Structural information is similarlyprotected because all access to the in-ternal state of an object is throughthis same message interface.

The complexity of a system canoften be reduced by grouping similarcomponents. Such grouping isachieved through data typing in con-ventional programming languages,and through classes in Smalltalk. A

class describes other objects—theirinternal state, the message protocolthey recognize, and the internalmethods for responding to thosemessages. The objects so describedare called instances of that class. Evenclasses themselves fit into thisframework; they are just instances ofclass Class, which describes the ap-propriate protocol and implementa-tion for object description:

Classification: A language must pro-vide a means for classifying similarobjects, and for adding new classes ofobjects on equal footing with thekernel classes of the system.

Classification is the objectification ofnessness. In other words, when ahuman sees a chair, the experience istaken both literally as "that verything" and abstractly as "that chair-like thing." Such abstraction resultsfrom the marvelous ability of themind to merge "similar" experience,and this abstraction manifests itself asanother object in the mind, thePlatonic chair or chairness.

GRAPHICSOFTWARE

FORMICROCOMPUTERS

by B.J. Korites, PhD-a self-teaching guide that will showyou howto write graphics software on your microcomputer. Theory andprogram listings presented side by side. Contains 61 programs for2 and 3 dimensional graphics, isometric and perspectivetransformations, scaling, stretching, clipping, intersections,shading, tablet software, hidden line removal, dynamic simulation,applications to engineering, science and business. Practiceproblems for classroom use. Covers elementary to advancedconcepts. Perfect for professionals, students and softwaredevelopers. All programs in BASIC, written on the Apple II Plus48K 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

10MB

HARDDISK

YOU'VE BEENWAITING FOR

XCOMP introduces a complete micro-size disksubsystem with more...

• MORE STORAGE

• MORE SPEED

• MORE VALUE

• MORE SUPPORT

S100 users . . . The XCOMP subsystem is nowavailable with 10 megabytes of storage; 5 megabytesalso available at $2,898.00. Compare the price andfeatures of any other 5'/4-inch — or even 8-inchsystem, and you'll agree that XCOMP's value isunbeatable.

OUTPERFORMS OTHER HARD DISKS

Floppy disk and larger, more expensive hard disks areno match for this powerful little system. More data isavailable on every seek: 64K on 10MB and 32K on5MB. Faster seek time too — an average of 70MS. Itprovides solid performance anywhere with only 20watts of power. Data is protected in the sealedenclosure, and the landing zone for heads providesanother margin of safety. The optional power boardplugs directly into the S100 bus and provides powerfor the drive.

FAST CONTROLLER

The XCOMP controller is the key to this system'shigh efficiency operation. Speed-up features includeinterleave without table lookup, block-deblock withcontroller buffer, and read lookahead. OEMs worldwide 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 automaticCP/M driver attach program. Support software anddrivers for MP/M® and Oasis® are also available. Thesophisticated formatting program assigns alternatesectors for any weak sectors detected during format-ting, assuring the lowest possible error rate — at leastten times better than floppies.

WARRANTY

The system has a full one-year warranty on parts andworkmanship.

ALSO AVAILABLE FROM XCOMP

• General Purpose controllers (8 bit interface), witheasy interface to microprocessor-based systems.

• GP controller adapter that plugs directly into mostZ80 computers.

• ST/R GP controller for the 5MB and 10MB driveabove, with ST506 type interface.

• SG/R GP controller for SA1000 interface.

• SM/R GP controller for storage module drives.

• ST/S, SG/S, and SM/S, same as above, for theS100 bus.

Quantity discounts available. Distributor, Dealer, andOEM inquiries invited.

See your local Dealer, or call:

XCOMP, Inc.7566 Trade StreetSan Diego, CA 92121Tel: (714) 271-8730Telex: 182786

Circle 405 on inquiry card.

Classes are the chief mechanism forextension in Smalltalk. For instance,a music system would be created byadding new classes that describe therepresentation and interaction pro-tocol of Note, Melody, Score, Timbre,Player, and so on. The "equalfooting" clause of the above principleis important because it insures thatthe system will be used as it wasdesigned. In other words, a melodycould be represented as an ad hoc col-lection of Integers representing pitch,duration, and other parameters, butif the language can handle Notes aseasily as Integers, then the user willnaturally describe a melody as a col-lection of Notes. At each stage ofdesign, a human will naturally choosethe most effective representation ifthe system provides for it. The princi-ple of modularity has an interestingimplication for the procedural com-ponents in a system:

Polymorphism: A program shouldspecify only the behavior of objects,not their representation.

A conventional statement of thisprinciple is that a program shouldnever declare that a given object is aSmalllnteger or a Largelnteger, butonly that it responds to integer pro-tocol. Such generic description iscrucial to models of the real world.

Consider an automobile trafficsimulation. Many procedures in sucha system will refer to the variousvehicles involved. Suppose onewished to add, say, a street sweeper.Substantial amounts of computation(in the form of recompiling) andpossible errors would be involved inmaking this simple extension if thecode depended on the objects itmanipulates. The message interfaceestablishes an ideal framework forsuch extension. Provided that streetsweepers support the same protocolas all other vehicles, no changes areneeded to include them in the simula-tion:

Factoring: Each independent compo-nent in a system should appear inonly one place.

There are many reasons for this prin-ciple. First of all, it saves time, effort,and space if additions to the systemneed only be made in one place. Se-cond, users can more easily locate acomponent 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 ofmodularity.

Smalltalk encourages well-factoreddesigns through inheritance. Everyclass inherits behavior from itssuperclass. This inheritance extendsthrough increasingly general classes,ultimately ending with class Objectwhich describes the default behaviorof all objects in the system. In ourtraffic simulation above,StreetSweeper (and all other vehicleclasses) would be described as asubclass of a general Vehicle class,thus inheriting appropriate defaultbehavior and avoiding repetition ofthe same concepts in many differentplaces. Inheritance illustrates a fur-

EDITOR, ASSEMBLER AND MORE!

SOFTWARE DEVELOPMENT SYSTEM

The Micro Works Software Development System (SDS80C) is a complete 6809editor, assembler and monitor package contained in one Color Computer programpack! Vastly superior to RAM-based assemblers/editors, the SDS80C is non-volatile, meaning that if your application program bombs, it can't destroy youreditor/assembler. Plus it leaves almost all of 16K or 32K RAM free for yourprogram. Since all three programs, editor, assembler and monitor are co-resident,we eliminate tedious program loading when going back and forth from editing toassembly and debugging!

The powerful screen-oriented Editor features finds, changes, moves, copys andmuch more. All keys have convenient auto repeat (typamatic), and since no linenumbers are required, the full width of the screen may be used to generate wellcommented code.

The Assembler features all of the following: complete 6809 instruction set;complete 6800 set supported for cross-assembly; conditional assembly; locallabels; assembly to cassette tape or to memory; listing to screen or printer; andmnemonic error codes instead of numbers.

The versatile ABUG monitor is a compact version of CBUG, tailored for debuggingprograms generated by the Assembler and Editor. It features examine/change ofmemory or registers, cassette load and save, breakpoints and more. SDS80CPrice: $89.95

arO-

CRACK THOSE ROMS!

SOURCE GENERATOR: This package is a disassembler which runs on the colorcomputer 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. A16K system is requiredfor 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/Oand registers with a formatted hex display. Great for machine languageprogramming, debugging and learning. It can also send/receive RS232 at up to9600 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. Thisallows you to use the entire RAM space. And you don t need to re-load the monitoreach time you use it. The EPROM plugs into the Extended Basic ROM Socket or amodified ROMPACK. CBUG ROM Price: $39.95

LEARN BB09!6809 ASSEMBLY LANGUAGE PROGRAMMING,

by Lance Leventhal, contains the most comprehen-sive reference material available for programmingyour Color Computer. Price: $16.95

PARALLEL O!

USE A PARALLEL PRINTER with your ColorComputer! Adaptor box plugs into the serial port andallows use of Centronics/Radio Shack compatibleprinters with parallel interface. Assembled andtested. PI80C Price: $69.96

THE

w©m^^ p.o

GOOD STUFF!

3EK RAM!

MEMORY UPGRADE KITS: Consisting of 4116200ns. integrated circuits, with instructions forinstallation. 4K-16K Kit Price: $39.95. 16K-32KKit (requires soldering experience) Price: $39.95

WE SHIP FROM STOCK!

Master Charge/Visa and COO Accepted

BOX 1110 DEL MAR, CA 92014 714-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 tousers and implementers alike.

Take the case of sorting an orderedcollection of objects. In Smalltalk, theuser would define a message calledsort in the class OrderedCollection.When this has been done, all forms ofordered collections in the system willinstantly acquire this new capabilitythrough inheritance. As an aside, it isworth noting that the same methodcan alphabetize text as well as sortnumbers, since comparison protocolis recognized by the classes whichsupport both text and numbers.

The benefits of structure for im-plementers are obvious. To beginwith, there will be fewer primitives toimplement. For instance, all graphicsin Smalltalk are performed with asingle primitive operation. With onlyone task to do, an implementer canbestow loving attention on every in-struction, knowing that each smallimprovement in efficiency will be

amplified throughout the system. It isnatural to ask what set of primitiveoperations would be sufficient to sup-port an entire computing system. Theanswer to this question is called a vir-tual machine specification:

Virtual Machine: A virtual machinespecification establishes a frameworkfor the application of technology.

The Smalltalk virtual machineestablishes an object-oriented modelfor storage, a message-oriented modelfor processing, and a bitmap modelfor visual display of information.Through the use of microcode, andultimately hardware, system perfor-mance can be improved dramaticallywithout any compromise to the othervirtues of the system.

User Interface

A user interface is simply alanguage in which most of the com-munication is visual. Because visualpresentation overlaps heavily withestablished human culture, estheticsplays a very important role in this

area. Since all capability of a com-puter system is ultimately deliveredthrough the user interface, flexibilityis also essential here. An enablingcondition for adequate flexibility of auser interface can be stated as anobject-oriented principle:

Reactive Principle: Every componentaccessible to the user should be ableto present itself in a meaningful wayfor observation and manipulation.

This criterion is well supported by themodel of communicating objects. Bydefinition, each object provides anappropriate message protocol for in-teraction. This protocol is essentiallya microlanguage particular to justthat kind of object. At the level of theuser interface, the appropriatelanguage for each object on the screenis 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 operatingsystems 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

CENTRONICSCOMMODORE —DC HAYES

HAZELTINE —LEEDEXMACROTRONICS — MAXELL

MOUNTAIN HARDWARE

NORTH STAR —PANASONIC

SANYO —SYNCOM

y©m

6tfCTRONICS PLAXGAOUND

1840 "O" Street Lincoln, Nebraska 68508In Nebraska Call (402) 476-7331

296 August 1981 © BYTE Publications Inc

Circle 132 on inquiry card.

SPEND $62.40 TOTHIS ADVERTISEMENT.*

A salesman generating 1.5 million dol-lars in sales annually for his companydoes so at the rate of $12.48 perminute. That's expensive time—should itreally be used in rummaging through filingcabinets, writing long reports or talking todozens of people looking for one small,crucial piece of information?

Of course not, so you hire an accountingstaff, customer support personnel, and mar-keting people to support the business and letyour salespeople sell. But the overhead takesa large slice of that $12.48.

A Delta system can do the work of aswarm of secretaries, a fleet of filers, a ton oftelephones—simultaneously. It's a highlydeveloped work processing system that canmaintain files, generate reports, processorders and do all routine office work withspeed and accuracy. It lets your people get onwith the business of making money.

We at Delta Products have spent five yearsdesigning the most reliable, efficient Z80based microcomputer available on the mar-ketplace. It's fast—some models use multiprocessors to eliminate the delays associatedwith other multi user systems. It's expand-

*(and save thousands later)

able, allowing your Delta system to grow withyour company's growth and change withyour company's needs. And it's rugged;requiring a minimum of service ormaintenance.

But the soul of any computer system is thesoftware; therefore, having perfected thehardware techonology, Delta is now dedi-cated to the development of applicationpackages designed to warm the cockles of acorporate executive's heart. Our "Uni-form",for example, will keep purchase orders, ac-count statements, sales and shipping ordersindexed, cross-indexed and filed in any man-ner required.

And when your Delta system has helpedyour business grow, it's ready to grow rightalong with you—every Delta System is com-pletely expandable and configurable.

You have spent five minutes reading thisadvertisement, at a cost of $62.40 in potentialsales. Have you calculated what a Deltasystem can save your company? (Hint: aDelta system can pay for itself in less than 24hours of time saved.)

Call us today for the name of your nearestDelta distributor.

Circle 107 on inquiry card

BYTE August 1981

from an otherwise consistentframework of description, leavewhatever context has been built up,and deal with an entirely differentand usually very primitive environ-ment. This need not be so:

Operating System: An operatingsystem is a collection of things thatdon't fit into a language. Thereshouldn't be one.

Here are some examples of conven-tional operating system componentsthat have been naturally incorporatedinto the Smalltalk language:

• Storage management—Entirelyautomatic. Objects are created by amessage to their class and reclaimedwhen no further references to themexist. Expansion of the address spacethrough virtual memory is similarlytransparent.

• File system—Included in the normalframework through objects such asFiles and Directories with messageprotocols that support file access.

• Display handling—The display is

simply an instance of class Form,which is continually visible, and thegraphical manipulation messagesdefined in that class are used tochange the visible image.

• Keyboard input—The user inputdevices are similarly modeled as ob-jects with appropriate messages fordetermining their state or readingtheir history as a sequence of events.

• Access to subsystems—Subsystemsare naturally incorporated as in-dependent objects within Smalltalk:there they can draw on the largeexisting universe of description, andthose that involve interaction withthe user can participate as com-ponents in the user interface.

• Debugger—The state of theSmalltalk processor is accessible as aninstance of class Process that owns achain of stack frames. The debuggeris just a Smalltalk subsystem that hasaccess to manipulate the state of asuspended process. It should be notedthat nearly the only run-time errorthat can occur in Smalltalk is for amessage not to be recognized by itsreceiver.

THE

n

COMPLETE

SPELLING PROOFREADER andCOMPUTER DICTIONARY

The WORD is out!Works with the editor of yourchoice 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 51/4" North Star*• 5Va" Superbraintm1 Applexm I Softcard{m CP/M

OASIS SYSTEMS (714) 291 -9489

2765 Reynard Way, San Diego, CA 92103

Smalltalk has no "operatingsystem" as such. The necessaryprimitive operations, such as readinga page from the disk, are incor-porated as primitive methods inresponse to otherwise normalSmalltalk messages.

Future Work

As might be expected, work re-mains to be done on Smalltalk. Theeasiest part to describe is the con-tinued application of the principles inthis paper. For example, theSmalltalk-80 system falls short in itsfactoring because it supports onlyhierarchical inheritance. FutureSmalltalk systems will generalize thismodel to arbitrary (multiple) in-heritance. Also, message protocolshave not been formalized. Theorganization provides for protocols,but it is currently only a matter ofstyle for protocols to be consistentfrom one class to another. This can beremedied easily by providing properprotocol objects that can be con-sistently shared. This will then allowformal typing of variables by pro-tocol without losing the advantagesof polymorphism.

The other remaining work is lesseasy to articulate. There are clearlyother aspects to human thought thathave not been addressed in thispaper. These must be identified asmetaphors that can complement theexisting models of the language.

Sometimes the advance of com-puter systems seems depressinglyslow. We forget that steam engineswere high-tech to our grandparents. Iam optimistic about the situation.Computer systems are, in fact, get-ting simpler and, as a result, moreusable. I would like to close with ageneral principle which governs thisprocess:

Natural Selection: Languages andsystems that are of sound design willpersist, to be supplanted only by bet-ter ones.

Even as the clock ticks, better andbetter computer support for thecreative spirit is evolving. Help is onthe way.B

298 August 1981 © BYTE Publications Inc

TWO SIZZLING SPECIALS

CAQ TU E 1C 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 SePtember 3°tn. CPU Z (assembled) is yours for an

* ' amazingly low $199!

^Bl II ^ f/%r CIOOI For new systems'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 upgradingolder systems, CPU Z is backward compatible with most S-l OO mainframes, down to a switch selectable choice of 2 or 4 MHzoperation-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 RAMSfor $19.95!

You can't beat the quality or the price: eight lowpower, high speed dynamic RAMs, suitable forexpanding memory in TRS-80* -I, -II, and -III (colorcomputer too); H89; Apple; newer PETs; etc. Backedby 1 year limited warranty. Add S3 for two DIP shuntsplus TRS-80 conversion instructions.

IEEE 696/S-lOO COMPONENT LEVEL PRODUCTS

DISK EQUIPMENT/SYSTEMS

Dltk 1 Controller Board Ultra-fast operation, thanks toproperly implemented DMA (with arbitration) and datatransfer that's independent of CPU speed. Handles up to four8" or 5.25" floppy disk drives, single or double-sided, single ordouble 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 withdocumentation, SI 75; CP/M-86 diskette with documentation,$300.

Complete Dual Dltk Drive System With Disk 1 board,desktop dual drive enclosure with Shugart SA-8O0 seriesdrives, disk cables, and power supply cable. Also includesCP/M-80. Introductory special: S2195.

COMPUTER ENCLOSURES

Computer Enclosure 2. With fused, constant voltagepower supply (+ 8V at 25A, + 16V at 3A, and -16V at 3A); linefilter; 20 slot shielded/active terminated motherboard; andrugged, all-metal enclosure that minimizes interferenceproblems. $825 desk top version, S895 rack mount version.

Computer Enclosure 1. Same as CE2, but enclosure only.S289 desktop, $329 rack mount (slides included).

INTERFACERS

Interfacer 1. Two RS-232 serial ports, with full handshakingand Independently selectable Baud rates. $199 Unkit, $249A/T, $324 CSC.

Interfacer 2. Three full duplex parallel ports, plus one serialport. $199 Unkit, $249 A/T, $324 CSC.

Interfacer 3-5. Five RS-232 serial ports (2 synchronous/asyncronous, 3 asynchronous) with full handshaking. $599 A/T,$699 CSC.

Interfacer 3-8. Eight full RS-232 serial ports (2 synchronous/asynchronous, 6 asynchronous). Ideal for multi-user/multi-terminal systems. $699 A/T, $849 CSC.

MEMORY BOARDS

48K/64k RAM 17 Static Memory Board. Exceptionally lowpower (4W max, 2W typ for 64K), high speed static memory;runs faster, cooler, and handles DMA better in ultra-high speedsystems than competing dynamic memory boards, RAM 17-48K: $1048 A/T, $1198.50 CSC. RAM 17-64K: $1095 Unkit,$1395 A/T, $1595 CSC.

96k/128k RAM 21 Static Memory Board. Exceptionally lowpower, high speed static memory. RAM 21-96K and RAM 21-128 k: Price upon request.

2708 EPROM Board. This board is the way to store oftenused routines or pieces of software. $85 Unkit, $135 A/T, $195CSC (2708s not included).

DOCUMENTATION

User manuals are available for all products for $5, with thefollowing exceptions: Interfacer 3, SIO; Disk Controller, $25;System Support 1, $20. Also available: "CompuPro ProductUser Manuals: 1975-1980". 250+ pages on all Godbout/CompuPro products up through 1980. Excellent for evaluatingthe Innovative engineering behind CompuPro products, orstudying the nuts and bolts of high speed computer operation.S20 plus shipping.

FLASHI Phase l's single- and multi-user Oasis operating systemis now available configured for Disk 1. See next month for fulldetails and prices.

Mosl CompuPro products are available In Unkit form, Assembled/Tested, or qualifiedunder the high-reliability Certified System Component (CSC) program (2CO hour burn-In.more). Note: Unkits are not Intended for novices; as de-bugging may be required due toproblems such as iC Infant mortality. Factory service Is available for Unkits at a flat servicecharge.

TERMS: Prices shown do not Include dealer Installation and support services. Cal res add tax.Allow at least 5% shipping.- excess refunded. Orders under S15 add S2 handling. VISA* andMastercard* orders (S25 min) call our 2A hour order desk dt (415) 562-0636. Include streetaddress for UPS delivery. Prices and specifications subject to change without notice.

of Digital Research/ 1RS-80 is a

If your computer store doesn't stock CompuPro products yet,

call (415) 562-0636 and we'll tell you who does.

CompuPro"

Q)l9lii(!)l

"ELECTRONIC!.

BOX 2355, OAKLAND AIRPORT, CA 94614 (415) 562-0636

Circle 147 on inquiry card.

The Smalltalk-80Virtual Machine

The Smalltalk-80 system is apowerful system that encourages thedevelopment of large applicationsprograms. The system contains acompiler, a debugger, a storage man-agement system, text and pictureeditors, and a file system. It also con-tains a highly interactive user inter-face based on graphics that includeoverlapping windows.

Typically the task of bringing upsuch a powerful system on a newcomputer includes writing code to im-plement these pieces. The Small-talk-80 system is different in thatmost of these pieces are written inSmalltalk-80 itself. The part that canbe written in Smalltalk-80 is calledthe Smalltalk-80 Virtual Image, and itincludes the compiler, debugger,editors, decompiler, and the file sys-tem.

Smalltalk-80 Virtual Image(300 K bytes)

Figure 1: The Smalltalk-80 VirtualMachine. Most of Smalltalk-80 is writtenin Smalltalk-80 (the Virtual Image), leav-ing only a small amount of code that hasto be rewritten for each processor onwhich the language is implemented (theVirtual Machine).

Glenn Krasner

Learning Research Group

Xerox Palo Alto Research Center

3333 Coyote Hill Rd

Palo Alto CA 94304

The remaining part of the Small-talk-80 system is defined in terms ofan abstract machine called the Small-talk-80 Virtual Machine (see figure 1).The Smalltalk-80 compiler translatessource code into machine instructionsfor this virtual machine, rather thantranslating directly into machine in-structions for a particular hardwaremachine. The task of bringing up aSmalltalk-80 system on a new"target" computer consists only ofimplementing (writing a program tosimulate) the Smalltalk Virtual Ma-chine on the target computer.

In this article, we will present anoverview of the elements needed toimplement the Smalltalk Virtual Ma-chine. These elements are:

• the Storage Manager

• the Interpreter

• the Primitive Subroutines

Background

A Smalltalk-80 system is made upof objects that have state and exhibitbehavior. Their state consists of thevalues of both named and indexed in-stance variables (which we will callfields), and their behavior is exhibitedthrough sending and receiving mes-sages. Objects are members ofclasses.

Classes may be subclasses of otherclasses—that is, they may inherit at-tributes from other classes. Program-ming in Smalltalk-80 is done by defin-ing the procedures, or methods, thatare executed when objects receivemessages. Typically, messages are

sent to other objects to invoke theirmethods. Sometimes messages invokeprimitive (machine-code) subroutinesrather than Smalltalk-80 methods.

From this brief description ofSmalltalk-80, we can consider the in-formation needed to implement eachof the three elements of the SmalltalkVirtual Machine:

1. To implement the storagemanager, we need the informationnecessary to represent objects in thecomputer's memory. This informa-tion consists of the amount of mem-ory that each object will occupy,which can be computed from thenumber of fields the object has, andthe representation of fields in mem-ory. Objects that describe classes de-fine the number of fields their in-stances will have, so we also need toknow how this number is repre-sented. With this information, we candesign a storage manager for objectsin a Smalltalk-80 system that will:

• fetch the class of objects

• fetch and store fields of objects

• create new objects

• collect and manage free space

2. The interpreter executes the ma-chine instructions of the Smalltalk-80Virtual Machine. The informationneeded to design the interpreter is adescription of these machine instruc-tions, called bytecodes (the idea issimilar to Pascal p-codes). The byte-codes are contained in methods, sowe also need to know the representa-

300 August 1981 © BYTE Publications Inc

^;v>

We're

known

for our

fine print.

ef'"'""' htSrt, «v

"V lov"\v"Vl «" C «*

•»*"* ^ your "^ou one-„emory °* ;o en*<rtd vt c»nnot

befor« »e- torturo

UMSn "'ll *?.«* ^

1 I rtVi

Epson.

The type you get out of most printers youwouldn't send to your maiden aunt, much lessuse for your important correspondence. And upto now, in order to get a dot matrix hardcopy youcould really call correspondence quality, you hadto spend on the high side of a thousand bucks.

Not any more.

The Epson MX-80 challenges any dot matrixprinter anywhere to match our type at our price.Or even come close.

Our emphasized print mode gives you a tack-sharp, clean, easy-to-readface with true descenders—ata fraction of the price of daisywheel printers. We give you auser-defined choice of twelvedifferent weights and sizes ofletters in 40, 80, 66 or 132 col-umns. We give you adjustabletractors so you can do any-thing from labels to memos tomanuscripts. Fast and clean.

But if you think print qual-ity is the only thing we have

to sell, you're wrong. The MX-80 may be themost revolutionary printer to come out in thepast ten years.

For starters, it features the world's first dispos-able print head—after it's printed between 50 and100-million characters, just throw it away. A newone costs less than $30 and you can change ityourself with one hand. Plus, the MX-80 printsbidirectionally and 80 CPS with a logical seekingfunction to minimize print head travel time andmaximize throughput. Finally—and this is the

best part — you can buy an

MX-80 right now for less than

$650.And that's what we call a

lot of fine print for the money.

EPSON

EPSON AMERICA, INC.

23844 Hawthorne Boulevard • Torrance, CA 90505 • (213) 378-2220

Circle 134 on inquiry card.

BYTE August 1961 301

Circle 71 on inquiry card.

■■ -'v:- .-':: ■:..:--:--.'.'■■■'

SIMPLYBEAUTIFUL.

CF&A furniture looks terrific. Butbeauty is more than skin deep.That's why our line of desks,stands, and enclosures also fea-tures rugged construction, lowcost, and quick delivery. In a widerange of sizes and configurations.With accessories to meet your in-dividual requirements. With asmile and a thank you.

Call CF&A. We make it simple. Wemake it beautiful.

CF*A

Computer Furniture and

Accessories, Inc.

1441 West 132nd Street

Gardena, CA 90249

(213)327-7710

Who's Who

The design of the Smalltalk-80 Virtual Machine is based on previous Smalltalksystems implemented by the Learning Research Group at Xerox PARC. The originalbytecode interpreter design was made for Smalltalk-76 by Dan Ingalls (Ingalls, Dan."The Smalltalk-76 Programming System: Design and Implementation." In Fifth An-nual ACM Symposium on Principles of Programming Languages, 1978, pages 9through 16). Smalltalk-76 was implemented on the Xerox Alto by Dan Ingalls, TedKaehler, Dave Robson, Steve Weyer and Diana Merry, on the Xerox Dolphin byPeter Deutsch, and on the Xerox Dorado by Bruce Horn. TinyTalk was implementedon a Xerox microcomputer by Larry Tesler and Kim McCall (McCall, Kim and LarryTesler. "Tiny Talk, a Subset of Smalltalk-76 for 64KB Microcomputers." In Proceed-ings of the Third Symposium on Small Systems, ACM Sigsmall Newsletter, Volume6, Number 2, 1980, pages 197 through 198). Smalltalk-78 (a revised version ofSmalltalk-76 similar to Smalltalk-80) was implemented on the Xerox microcomputerby Dan Ingalls, Ted Kaehler, and Bruce Horn, on the Xerox Dorado by Jim Stamos,and on a Norwegian microcomputer (under a research license from Xerox) by BruceHorn. Smalltalk-80 has been implemented on the Xerox Dorado by Peter Deutsch,on the Xerox Dolphin by Kim McCall, and on the Xerox Alto by Glenn Krasner. Thedesigns of these systems were made by the implementors and other members of theLearning Research Group.

tion of methods. From this informa-tion we can decide how the inter-preter will fetch and execute byte-codes and how it will find methods torun when messages are sent.

3. The last piece of information weneed to know is which messages willinvoke primitive subroutines; that is,which methods we must implement inmachine code to terminate the recur-sion of message sending and to op-timize performance.

Before we go into more detailabout these elements of a Small-talk-80 Virtual Machine implementa-tion, here are a few typical figuresthat will provide a little "reality" toimplementors. For the systems thatwe have implemented at Xerox, theSmalltalk-80 Virtual Image consistsof about 300 K bytes of objects. Ourtypical implementation of the Small-talk-80 Virtual Machine is 6 to 12 Kbytes of assembly code, or 2 K micro-code instructions plus 10 K bytes ofassembly code. Of this, about 40% isin the storage manager, 20% in theinterpreter, and 40% in the primitivesubroutines. Our average is aboutone person-year to implement a fullydebugged version of this code.

The Storage Manager

Although the storage managertends to be the largest and most com-plex of the three parts of a Small-

talk-80 implementation, the functionsit provides are few and relatively sim-ple to understand.

Everything in a

Smalltalk-80 system is

an object.

Everything in a Smalltalk system isan object, so from a storage point ofview memory needs to be dividedinto blocks, one for each object, plusa pool of memory that is not yet used.Every time a new object is created, anew block of the appropriate sizemust be found for that object: whenobjects are no longer used, theirmemory block may be returned to thepool (see figure 2).

A special entity called an objectpointer is assigned to each object. Ifan object pointer were the actual coreaddress of the memory occupied bythat object, then there would be fastaccess to an object given its pointer.However, in the Smalltalk-80 systemthe object pointer is an indirectpointer to the object through a tablekept by the storage manager. Thisallows the storage manager to movean object around in memory withoutaffecting any object that refers to it. Italso insures that the storage manageris the only entity in the system con-cerned with (and allowed to change)

302 August 1981 © BYTE Publications Inc

..Kl ATAKI Ai.

.1 ATAP' ~\Rl AI

A

, ATARI \TAR

.TA

i'ARI AT I AT

.. <%tn.

.i m. ...t ... .. rti/i...

..ARIA, .nl AI*.

.. AlAft.

>RI ATAI 'AR

,vl ATARI Kin ...i ATA..

ATARI A .Rl ATARI .. aTAR ATARI AT,

AIARI A <l AIARI TARI ATARI A .HI ATARI AI.

,ARIA .r.'a,

.1 ATARI ATA

VTARI A

ATARI ARI AT. 1 ATARI ATARI ATARI ATARI ATAh ATARI ATARI ATARI A.

Rl ATAR "ARI ATA

VTARI AT" ATARI ARIA \RI ATARI ATARI

TARI A M A

\RI ATA

TARI A' ATARI "ARI ATAP

TARI AT/ ATARI A Rl ATARI -TARI ATAR

\TARI A ATARI

•Rl ATA TARI A" ATAh VTARI ATARI AT

,RI ATA. rA.

ATARI A

;l ATAR Rl ATAI VTARI A

ATARI II ATAR "ARI AT. TARI AT.

:l ATAR Rl ATA

.TARI A ,1 ATARI aiARI AT.

1 ATARI "AR'

\TARI ATA.

\RI ATA

VTARI A ATARI A >RI ATA

ARI AT vTARI A tl ATAR Rl ATARI

iTARI A ATARI

.Rl ATA VTARI ATaui atap

TARI AI

Rl ATARI AI.

VTARI A

Rl ATAR Rl ATAR vTARI A

ATARI II ATAR ARI AT. rARI AT/

11 ATAR Rl ATA

.TARI A (1 ATARI

1 ATARI

"ARI ATARI A.

\RI ATM AR

ATARI A VTARI A >R1 ATA

ARI AT iTARI A (1 ATAR (1 ATAR1

vTARI A ATARI

.Rl ATA VTARI AI

TARI AI

VTARIATAR

TAKI AT , AT.

<l ATAR Rl ATAP \TARI A

ATARI II ATAR ARI AT. ARI AT

tl ATAR .Rl ATA

.TARI A 1 ATARI .

1 ATARI

.1. -TARI AT

•1 ATAR. .TAR

TARI A ATARI vRI ATA

ARI AT. iTARI A 11 ATARI .<! ATAF

.TARI A. . ATARI

TARI AI

Rl 1 ATAR

Rl ATAi. .Rl AT

ATARI .Rl AT/ ATARI A.

i ATARI t Rl ATARI ARI ATA .TARI A

1 ATARI ATARI ATAh.

TARlAInn ATARI ATARI A^ ,

1 ATARI .

TAl. ARI AT

TARI ATARI ATA''

RIATakIATA' rARI ATARI ATARI ATAI ATARI AT; II ATARI ATARI AT

"ARI ATARI ATARI AT

'il ATARI A Rl ATAKI AT' I ATARI ATAI

Rl ATARI ATA'

"»m VT»"-

"1 ATAP' ' '""•"■ "

:l ATAR

t-ari .• PI ■ -

'Rl AT»' "1 ATA"

"1 ATAP'

.1 ATARI ...

^Rl ATAKIn

..At.

. ATARI ATAI

ATARI ATAP

.i ATARI A

ARI A" Rl AT

ARI ATAH

i(l ATAI T«

. in..

ATARI A

■ AIAKIA'IAI .iAKI ATARI. ..ARI.ARI.

...ATA .ATARI,. ARI ATARI .

.Kl ATARI ,.

...iAI rtl ATAh. R1ATAR

..1 ATARI

TM

T*RI ATAP1 ARI AT "»| ATAi. VTARI ATARI ATA

.Kl ATARI ATARI ATAK .Rl AT/ "' ATA.

.Kl ATA"1 ATAR.

ARI ATARI ATARI AT ATARI A

.1 ATAP' ATAR,

TARI A .1 ATAR \RI AT, ' ATARI ATARI A

TARI ATARI ATARI AT, ATARI Rl AT.

ATARI Rl ATA.

ATARI ATARI ATARI A Rl ATAH

TARI A 1 ATA.

Rl ATAI ATARI

A ATARI ARI ATA' ' AT/

1 ATARI Rl ATARI TARI AT ATARI

TARI AT VTARI A

Rl ATAP "ARI ATAI ATARI •>

iRI ATA TARI /

TARI A Rl ATAI .Rl ATAI ATARI.' "

\RI ATA ARI ATA 1 ATARI ATARI ATA

1 ATARI (1 ATAR.

TARI AI VTARI AI RlATAH

ATARI ATARI ATAR

Rl ATAI ATARI

ATARI .• ARI AT/

1 ATARI 1 ATARI TARIAT

.TARI AT vTARI A'

Rl ATAI Rl ATAh ATARI A

ARI ATA

TARI A' Rl ATAI .Rl ATAI ATARI I

\RI ATA \KI ATA 1 ATARI

:l ATARI II ATARI

TARI AI TARI AI Rl ATAH

ATARI A

Rl ATAI ATARI

ATARI ARI AT/

1 ATARI 1 ATARI TARI ATA

TARI AI iTAKI A'

Rl ATAI Rl ATAI ATARI/

VRI ATAh

TARI A il ATAh \RI ATA ATARI /

VRI ATA ARI AT/ ATARI Ai .T„

1 ATARI (1 ATAR

TARI AT .TARI A Rl ATAH

VTARI ATA

tl .I.Ak.

.RIATAk TARI A 1 ATAR' .ARI ATA

1 ATARI . (1 ATAP \RI ATARI ATAR'

ARI AI ATARI

Rl ATAR iRI AT/ ATARI A

Rl ATARI AIARI 1 ARI AT

i ATARI ATAI VTARI rvl'ARI V Kl ATARI AT/

\RI ATARi ATARI A Tar| ATARI A'

TARI.-...-.KI AT"

TARI ATA.., ATARI ARI ATARI VRI ATARI AT/ ATARI

T.ni iT.ni 'i

ATARI »" •T-"' ,T,»'

ATARI ATARI »" ATARI AT

• ATARI AT'

Rl ATARI ATARI (1 ATARI AT 'TARI AT

»' >RIA-

\RI ATA

~

TARI AT

~ '

.AKI AlAh

.\IAKI AI

Rl ATARI AT

ART ATARI

Atari graphics and sound stand ina class by themselves."

David D. Thornburg

Compute Magazine, November/December

1980

"Its superiority lies in three areas: draw-ing fancy pictures (in color), playingmusic, and printing English charactersonto the screen. Though the Apple can

do all these things, i

Atari does them better."

Russell Walter

"Underground

Guide to Buying a W Uat COITl

£°3?w "*™ are say

Published 1980, ^ J

SCELBI Publications COlllDUtei

What computer people

are saying aboutComputers for people!

"The Atari machine is the most extraordi-nary computer graphics box ever made..!1

Ted Nelson

Creative Computing Magazine, June 1980

"...so well packaged that it is the first per-sonal computer I've used that I'm willingto set up in the living room."Ken Skier, OnComputing, Inc. Summer 1980

"...well constructed,sleekly designed anduser-friendly—expect

Liter people reliable equipment,

if : ■ and strong maintenance

Ig aOOUI ancj software support.

j» -a tm r r

IOr people. Vldeoplay

December 1980

To find out about the ATARI® 800™ Computer

first hand, ask your local computer dealer

for a hands-on demonstration.

Or call, 800-538-8547 (In California 800-672-1404)

UIHIIIIIIiUlllillllll

ATARI

CI98I, ATAKI, loc

Wwnw Communication! Company ^J

Computers for people.

For further information write: Atari Inc., Computer Division, 1196 Borregas Avenue, Sunnyvale, CA 94086 Dept. C-llCircle 27 on Inquiry card.

Circle 308 on inquiry card.

Jfeoo™. .$789

flTARr Lfet'iloso^

HI ATARIe&-7

ATARI® 400. ..$ 359

IH EESiSS HP-85

HP-85 Accessories

5 'A " Dual Master Disc Drive List $2500 $2125

5Vi" Single Master Disc Drive List $1500... $1275

HP 7225A Graphics Plotter List $2050 $1845

HP 85 16K Memory Module List $395 $355

HP-85 Application Pacs Standard List $95 $85

Serial (RS-232C) Interlace Module List $395 . $355GPIO Interlace Module List $495 $445

UP 83 Lst$2250

neu)HK-°J $1895

HP-41CVwith five timesmore memorybuilt in.

List $325

$249

HP-41C

List $250

$199

HP-32E Scientific w/Slatistics 53.95

HP-33C Scientific Programmable $79.95HP-34C Advanced Scientific

Programmable 123.95

HP-37E Business Calculator $49.95

crsonalomputerys terns

s

609 Butternut StreetSyracuse, N.Y. 13208

(315) 475-6800

Prices do not include shipping by UPS. Allprices and offers subject to change without

Figure 2: Objects and memory usage inSmalltalk-80. Each Smalltatk-80 objecthas an object pointer that points to ablock of memory that describes the ob-ject. When an object is no longer used, itsmemory is made available for use.

(Length) 4

(CIPo

ass description)nt

(x-coordinatel

(y-coordinate)

ILen

gth) 5

(Class description)Triangle

(First

vertex)

(Second vertex)

(Third

vertex)

(Length)4

(Class description)ByteArray

1

2

3

4

Figure 3: Typical object representationsin Smalltalk-80.

the actual memory. In the Small-talk-80 Virtual Image, object pointersare single 16-bit words. This allowsfor 64 K objects in the system; theseobjects may take up much more than64 K words of memory.

Since an object's class and fields arethemselves objects, we can see thatthe block of memory correspondingto an object contains the objectpointer of the object's class plus theobject pointer for each of the object'sfields. The storage manager alsokeeps the length of the block as oneword of the block. This means, forexample, that the block correspond-ing to an object that is an instance ofclass Point (see figure 3) will have:

• one word that says this block is fourwords long

• one word that is the object pointerof the object that describes class Point

• one word that is the object pointerof an object that is the jr-coordinatefield of the point

• one word that is the object pointerof an object that is the y-coordinatefield of the point

Similarly, the block corresponding toan object that is an instance of classTriangle will have:

• one word saying this block is fivewords long

• one word that is the object pointerof the object that describes classTriangle

• one word that is the object pointerof an instance of class Point, repre-senting one vertex field

• one word that is the object pointerof an instance of class Point, for thesecond vertex field

• one word that is the object pointerof an instance of class Point, for thethird vertex field

For performance optimization, thevalues in the fields of some objects,such as instances of class ByteArray,will be interpreted as the numericalvalues themselves, rather than asobject pointers. The block corres-ponding to the byte array containingthe elements 1, 2, 3, and 4, in order,will have:

304 August 1981 © BYTE Publications Inc

a

^

II!' US

/. ... ;.

iC H H

Maxell Floppy Disks. Class of '81.

Not a single dropout among them.

These are the disks that achieve all you expect fromthem. They are certified free of dropouts. And eachone meets or exceeds the most demanding specifica-tions every computer authority can set. That includesISO, IBM, ECMA, ANSI, JIS and Shugart.

The quality begins with the finest raw materialsavailable, and we make sure the quality stays high.Every Maxell floppy disk must pass an exhaustive seriesof eight quality control inspections. Under test condi-tions, after 10,000,000 passes, there is no loss of quality.

Maxell Floppy Disks actually help protect yourcomputer drive heads. The self-cleaning jacket liner

inside every Maxell disk removes dust before it canaffect your system. The surface lubricant reduces anychance of disk-caused head-wear.

There are Maxell disks for every disk drive system inoperation today. Maxell is leading the way with newdisk technology for tomorrow's computers. Your MaxellBusiness or Maxell Personal Computer Products suppliercan put our "honor-grad" to work for you, and for yourcomputer, now and in the future.

Call or write for more information. You'll learn thatthe care we take manufacturing Maxell Floppy Disksmakes them live up to your highest expectations.

maxell

Circle 212 on inquiry card.

Maxell Corporation of America, Business Products Division, 60 Oxford Drive, Moonachie, N.J. 07074. (201) 440-8020

• one word saying this block is fourwords long

• one word pointing to the object thatdescribes class ByteArray

• one byte encoding the number 1

• one byte encoding the number 2

• one byte encoding the number 3

• one byte encoding the number 4

We will represent all objects as hav-ing fields interpreted as objectpointers or numerical values, notboth. Objects may store numericalvalues as bytes or words, but notboth.

As we have mentioned, the objectsthat describe classes also need torepresent the form of instances ofthose classes. The essential informa-tion is the number of fields theinstances will have, and whetherthese will be pointer or nonpointerfields. For example, the describer ofclass Point says that its instances willhave two fields (x- and y-coordinates)and that these will be pointers (seefigure 4). The describer of classByteArray says that its instances may

(Length)

(Class description)Class of class-describing objects

(Number of fields)2

(Pointers) True

Figure 4: Class-describing object for classPoint.

have a variable number of fields andthat these fields will not be pointersbut will be numerical values stored inbytes.

The purpose of the storagemanager is to fetch and store fields ofobjects, to create objects, and tomanage free space. A clean im-plementation of the storage manager

tipple computer

Authorized Dealer

FINDING SOLUTIONS summer

AND BEING COMPETITIVE «alei'

IS OUR BUSINESS.

Having problems and looking for a

computer to help solve them?

Are you finding computer dealers

come in one of two ways? Either

Full system support with Full price

or Take it or Leave it with Low

price. At Omega we don't believe

that you should have to make a

choice. Yes, we're in business to sell

products but also, to solve your

problems. Our prices will be the

lowest possible. Our support and

product quality will be second to none. Check out our Mail Order prices in this

ad (our retail prices will be higher). See if you don't agree with our first claim.

For our second claim, call us with your data processing needs and problems.

Better yet, come in and see us. Finding solutions and being competitive is our

business. We never forget either of them.

APPLE III $CALL

APPLE II "PLUS" 48K $ 1129.00

HEWLET PACKARD 85 or 83 $CALL

APPLE II ACCESSORIES:

Disk II with controller $ 515.00

Disk II 2nd drive 452.00

Graphics Tablet 665.00

Language System with PASCAL 385.00

Silentype Printer W/Int 526.00

Integer Firmware Card 152.00

Microsoft Z-80 Softcard 259.00

Videx videoterm 80 col Card 256.00

Sanyo 12" Green Monitor 269.00

Mail Order Terms of Sales: Price based on prepaid orders. NO COD's. Allow 14 working days for personal and companychecks to clear. Order under $100.00 add $3.00 for shipping and handling. All orders (unless specified in ad) withinContinential U.S. shipped U.P.S. no charge. APO or out of Continential U.S. write or call for shipping charges. All pricessubject to change and all offers subject to withdrawl without notice. CA residents add 6% sales tax.

OMEGA MIGRO COMPUTERS

Supplies:

Scotch Diskettes - Best of Quality!price per box of (10)

744-0, 10, 32 $ 27.00

740-0 SS/SD 0 Sector 31.00

741-0 SS/DD 0 Sector 37.00

743-0 DS/DD No Format 44.00

New Products:

Videx L/C Adapter 110.00

Microsoft 16K RAM Card 169.00

D.C. Hayes Micromodem II 307.00

Novation DCAT Modem 195.00

EPSON MX-80 CALL

The Problem Solving Company

3447 Torrance Boulevard • Torrance, California 90503 • (213) 328-1760

would be one in which the other partsof the system had access only to theobject pointers and made requests ofthe storage manager only through thefollowing subroutine calls:

• getClass(objectPointer) returns theobject pointer of the class of the givenobject

• getField(objectPointer,fieldOffset)returns the field

• storeField(objectPointer,fieldOff-set.newValue) replaces that fieldwith the new value newValue

• newlnstance(classObjectPoint:-er.numberOfFields) returns the objectpointer of a new instance of thatclass, and, if that class can have in-dexed instance variables, this instancehas the given number of fields(numberOfFields)

Requests can be made for new storage(with the newlnstance subroutine),but not to return used storage. Insome other systems, storage that is nolonger used must be explicitly re-turned to the free storage pool. TheSmalltalk-80 philosophy is thatneither the user nor any part of thesystem other than the storagemanager need have such concerns.Therefore the storage manager mustknow which objects are no longer be-ing used, so that their storage may re-enter the free pool. Typically,Smalltalk-80 Virtual Machine im-plementations use reference-countingto accomplish this. For every objectin the system, the storage managerkeeps a count of the number of otherobjects that point to it. This numberwill change only during execution ofthe four storage-manager sub-routines. When this count reacheszero, the object's memory block maybe reused because there are noreferences to that object anywhereelse in the system.

The Interpreter

The interpreter is that portion ofthe Smalltalk-80 Virtual Machine thatperforms the actions described in thebytecodes of methods (ie: themachine code of the VirtualMachine). The information needed toimplement the interpreter is the

306 August 1981 © BYTE Publications Inc

Circle 276 on inquiry card.

Now a microcomputerfinancial planning programso advanced if s like havinga main frame on every desk.

Introducing FPL™

FPL is the remarkable newFinancial Planning Languagesoftware that, for the first time,turns the microcomputer intothe most sophisticatedfinancial planning tool.

FPL is comprehensive.

Incredibly, FPL is com-parable in capabilities toAutotab™ and other success-ful packages previouslyavailable only on main framecomputers.

With FPL, you can plan,analyze, project, track andcontrol an enormous num-ber of business variableswith a single microcom-puter program.

FPL can performsuch functions as Profitand Loss Forecasts,Budget Planning andConsolidation, Acquisi-tion or Merger Analy-sis, Capital InvestmentAnalysis, Product LinePlanning and many more.

Unique features includethe handling of complexrules that are necessary withvarying tax rates and theconditional handling of in-vestment tax credits.

With FPL, you can pre-view the results on the screenand then use the powerfulreport generator to produce

presentation-quality financialreports directly

FPL: an alternative totime-sharing.

FPL gives you the same

conversational ease of time-sharing, enhanced with ascreen-oriented DecisionSupport System, with noneof the runaway costs. You areable to try many morealternatives, examinemany more options, andbetter understandmodels.Priced at only $695, FPLgives you improved serviceand reduces costs.

FPL runs on most smallbusiness computers withCP/M® or similar operatingsystems.

Get full supportfrom Lifeboat.FPL is brought to youexclusively and supportedcompletely by Lifeboat Asso-ciates, world's largest com-puter software marketer. Formore information about thisrevolutionary financial plan-ning package and how youcan profit from it, send usthe coupon below.

Mail coupon to: Lifeboat Associates, 1651 Third Ave.NY, NY 10028. Or call (212) 860-0300.

I

III

□ Please send me more information on FPL.

□ Please send me a free Lifeboat catalog.

Name Title

Compe

Street

City—

.State

FPL is a trademark of Information Access

Lr rL is a iraueniarx Ol iniormauon Access

CP/M is a trademark of Digital Research. Inc Aulotab is a trademark of Capex Corporation

Lifeboat Associates1651 Third AveNew fort. N.Y. 10028Tel-. (212) 860-0300Telex- 640693 (LBSOH NYK)TWX: 710-581-2524

Circle 410 on inquiry card.

Lifeboal Inc.

OK Bids-. 5F

1-2-8 Shiba-Daimon

Minato-ku, Tokyo, !05 Japan

Tel: 03-437-3901

Telex: 2422723 (ASRTY01)

LIFEBOAT WORLDWIDE offers you the world's largest library of software Contact your nearest dealer or Lifeboat

Inlersoft GmbHSchlossgartenweg 5

Lifeboat Associates. Ltd.P0 Box 125

London WC2H 9LU. England

Tel: 01-836-9028

Telex: 893709 (LBS0FTG)

Lifeboat Associates GmbHP0 Box 168. Aegeristrasse 35CH 6340 Baar. SwitzerlandTel: 042-31-2931Telex: 865265 (MIC0CH)

D-8045°smaiTel: 089-966-44-Telex, 5213643 (IS0FD)

W.Germany

Lifeboat Associates

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 307

description of the bytecodes, therepresentation of methods, and thetechnique to find the method to runwhen sending a message.

The bytecodes define theSmalltalk-80 Virtual Machine as astack-oriented machine. Each byte-code represents one of the followingactions:

• push an object onto the stack

• store the top of the stack as thevalue for a variable

• pop the top of the stack

• branch to another bytecode

• send a message using the top fewelements of the stack

• return the top of the stack as thevalue for this method

In the Smalltalk-80 Virtual Machine,each of these actions is realized byone or more bytecodes. Note thatpushing, storing, popping, andbranching are standard instructiontypes for any stack machine, thatsending a message corresponds tocalling a procedure using the top few

Bytecode

Stack Contents After Execution (Top of Stack to Right)

-l- Push 3

(3)

-2- Push 4

(3 4)

-3- Push 5

(3 4 5)

-4- Send +

(3 9)

-5- Send *

(27)

Table 1: Bytecodes for the Smalltalk expression 3 * (4 + 5)

elements of the stack as arguments,and that returning an object from amethod corresponds to returning avalue from a procedure. The dif-ference between the Smalltalk-80 Vir-tual Machine and procedure-basedstack machines is in the way the pro-cedure is found. In most procedure-based stack machines the address of aprocedure is provided in the executeprocedure instruction; in theSmalltalk-80 system only the "name,"called the selector, of the message isprovided; the method (or procedure)to be executed is found through astrategy involving the receiver of themessage and its class. We will firstdescribe the bytecodes, then how

methods are represented, and finallygive a strategy for finding methods.

Stack Operations

The Smalltalk-80 Virtual Machineand corresponding bytecode set arestack oriented. Object pointers arepushed and popped from a stack, andwhen a message is sent, the top fewelements of the stack are used asreceiver and arguments of themethod. These are replaced by theobject returned as the value of thatmethod. For example, the Small-talk-80 expression:

3 * (4 + 5)

is encoded by the bytecodes shown intable 1.

As bytecodes labeled -1-, -2-, and -3-are executed by the interpreter, theobjects 3, 4, and 5 are pushed ontothe stack. When bytecode -4- is ex-ecuted, the message + is sent to thesecond object on the stack (4) withthe top object of the stack as the argu-ment (5). The 4 and 5 are popped offthis stack when the message is sent,and the interpreter begins executingthe bytecodes for the method cor-responding to the message + in theSmalltalk class of small integers. Thismethod will eventually return an ob-ject, in this case 9, as its value, andthe interpreter will push the 9 ontothe original stack above the 3 andresume execution with bytecode -5-.Bytecode -5- will produce an effectsimilar to that produced by -4-, leav-ing the object 27 on the stack. In thesame way that other stack machinespush data onto a stack and use thetop few data items as arguments for aprocedure, replacing them with thevalue returned from that procedure,the Smalltalk-80 Virtual Machinepushes object pointers onto a stack

308 August 1981 © BYTE Publications Inc

Circle 152 on inquiry card.

THE FORTH SOURCE™

Specializing in the FORTH language.

MANUALS AND GUIDES

"Using FORTH" by FORTH, Inc. Best user's manual currently available.

"A FORTH Primer" by Stevens. In-depth self-study manual.

"PDP-11 FORTH User's Guide" by James. fig-FORTH.

"Systems Guide to fig-FORTH" by Ting. Inner mechanisms of fig-FORTH.

"Caltech FORTH Manual" by Ewing. Overview and structure.

"FORTH-79," latest fig-FORTH standard.

"TinyPASCAL in fig-FORTH" by Zimmer

"Threaded Interpretive Languages" by Loeliger. FORTH adapted for Z80.

"Invitation to FORTH" by Katzan. Limited introduction.

"Proceedings, 1980 FORML Conference,"Technical papers.

INSTALLATION DOCUMENTS

Installation Manual for fig-FORTH, contains FORTH model, glossary, memory mapand instructions.

Source Listings of fig-FORTH for specific CPU's and computers. The aboveInstallation Manual is required for implementation. Price per each.

□ 1802 □ 6502 □ 6800 □ 6809

□ 8080 □ 8086/88 D 9900 □ APPLE II

□ PACE □ Alpha D PDP-11/ □ NOVA

Micro LSI-11

"METAFORTH" by Cassady. Self-compiling, cross-compiling, target-compiling, a truecompiler-compiler.

MACHINE READABLE DISKS AND DOCUMENTATION

FORTH Operating Systems with enhancements and manuals

□ H89, standalone —$250.0 □ H89, under CPM —$175.00

□ APPLE II/II + , MicroMotion —$89.95 □ TRS-80/I, fig-FORTH —$90.00

□ TRS-80/I or III, MMSFORTH —$130.00 More coming!

fig-FORTH Model & Source Listingwith manuals. $65.00 each.

fig-FORTH Goodie Disks,with documentation

Cross Compilers —

□ H89

□ NOVA

□ 8080/Z80

□ APPLE II

□ H89,Tiny PASCALin fig-FORTH

□ CP/M □ TRS-80/1

□ H89 □ Northstar

ORDERS ONLY (415)961-4103

Ordering Information: Check, Money Order (payable to MOUNTAIN VIEW PRESS) VISA orMasterCard accepted. No COD's or unpaid PO's. California residents add 61/2% sales tax.Shipping costs in US included in price. Foreign orders, pay in US funds on US bank, include forhandling and shipping by Air; $5.00 for each item under $25.00, $10.00 for each item between$25.00 and $99.00, and $20.00 for each item over $100.00.

Minimum order $10.00. All prices subject to change or withdrawal without notice. Singlesystem and/or single user license agreement required on some products.

PRICE

$ 25.00$ 25.0020.0025.0011.0015.0010.0020.0018.5025.00

$$$$$$$$

$ 15.00$15.00.

$ 30.00

$ 65.00

$ 75.00$200.00

MOUNTAIN VIEW PRESS

P.O. BOX 4656

MOUNTAIN VIEW, CA 94040

(415) 961-4103

Circle 257 on inquiry card.

BYTE August 1981 309

Bytecode

Stack Contents After Execution (Top of Stack

to Right)

-l- Push 3-2- Push 4-3-Send +-4- Store into a

(3)(3 4)(7)(7)

Table 2: Bytecodes f

or the Smalltalk expression a — 3 + 4.

Bytecode

Stack Contents After Execution (Top of Stack to Right)

-i- Push 3

(3)

-2- Store into a

(3)

-3- Pop

( )

-4- Push 4

(4)

-5- Store into b

(4)

Table 3: Bytecodes for the Smalltalk expression a — 3. b — 4.

Bytecode

Stack Contents After Execution (Top of Stack to Right)

-l-Push 3 (3)

-2- Store into a (3)

-3-Pop ( )

-4-Push a (3)

-5- Return top of stack ( )

Table 4: Bytecodes for the Smalltalk expression a — 3. t a.

DISCOUNTPRICES

Microcomputers & Peripherals

North Star • SWTPC • Lear-siegler

Hazeltine • Centronics • Cromemco

Wabash • Perkin Elmer and others

Fast, off the shelf delivery.Call TOLL FREE 800/523-5355

MARKETLINE SYSTEMS, Inc.

2337 Philmont Ave., Huntingdon Valley, Pa. 19006215/947-6670 • 800/523-5355

Dealer Inquiries Invited

and uses the top few as receiver andarguments of a message, replacingthem with the object returned fromthat method.

In both machines, values from thetop of the stack may be stored as thevalues of variables. As an example,the Smalltalk expression:

a - 3 + 4

will be represented by the bytecodesin table 2. Here, -1-, -2- and -3- act asbefore and the interpreter executesbytecode -4- by storing the top of thestack 7 into the variable a.

Stack machines in general, and theSmalltalk-80 Virtual Machine in par-ticular, also have the ability to popthe top element off the stack. In thestatements:

a - 3.b - 4

once the 3 is stored into variable a, itis no longer needed, so it is poppedfrom the stack. These statements arerepresented by the bytecodes shownin table 3.

The top of the stack may be re-turned as the value for the method.The statements:

3-3.

t a

are represented by the bytecodesshown in table 4.

Branching Operations

Conditional and looping messagesare used so often that they arerepresented not by actual messagesbut by bytecodes for conditional andunconditional jumps. (This is only forperformance reasons; these branchingand looping messages would work ifthey were actually sent like othermessages.) For example:

a > 4 ifTrue: [a — a - I]

(which in the Smalltalk-80 systemmeans execute the code within thebrackets only if the object returnedfrom the > message is not false) isrepresented in table 5 (ignoring thestack from now on).

310 August 1981 © BYTE Publications lnc

Circle 209 on inquiry card.

Q. What do these four boardshave in common?

A. Tarbell quality.

CPU/IO BOARD

Allows dynamic mapping of logical to 1 Megabyte of physical memory in 4Kblocks. D Designed to implement multi-user operating systems, such as MP/M®from Digital Research. □ Includes crystal-controlled programmable timer (8253),which can be used for time-slicing multi-tasking operations. □ Programmablepriority vectored interrupt hardware allows the programmer to selectively disableany combination of six interrupt lines.

A & T *450

32KRAM

S-100 Bus □ Works at 4 MHz □ Static Memory for Ease of Maintenance □ 9Regulators Provide Excellent Heat Distribution □ Extended Addressing (BankSwitching) □ Low Power Requirement □ Phantom Line □ Each 4K Block is In-dividually Addressable Within 32K □ Full 1-Year Warranty

A&T*725

SINGLE DENSITY FLOPPY DISK INTERFACE

Adaptable to wide variety of drives, including older models, 5-inch, 8-inch, Shugart,PerSci. □ Fully software-supported by Tarbell with a CP/M® disk operating sys-tem. D Capable of running with several formats, including standard IBM (128bytes per sector, 26 sectors, 76 tracks), 256, 512, or 1024 bytes per sector. □ Avail-able in kit or fully assembled and tested form. □ Supports up to 4 8-inch drives,single or double sided. 5-inch drives can be used with modifications to the inter-face (included in manual).

KITS225 A&T*325

DOUBLE DENSITY FLOPPY DISK INTERFACE

Fully software-supported by Tarbell with the CP/M disk operating system and theMP/M multi-user multi-tasking operating system. D Under the Tarbell double-density CP/M, single and double density disks can be mixed automatically. □ TrueDirect Memory Access (DMA) in single or double density mode makes possible ef-ficient multi-user and multi-tasking systems. □ Also capable of programmed-data-transfer method, which works in single density at 2 or 4 Mhz, and double density at4 Mhz. □ Extended addressing capability provides 8 extra address bits on thelines defined by the IEEE S-100 standard. This allows direct transfers to and fromanyplace in 16 Mbyte address range.

A&T$495

You'll find these quality S-100 boards at your local Tarbell Dealer.

MANUFACTURER OF COMPUTERS,COMPONENTS AND SOFTWARE.

950 Dovlen Place • Suite B • Carson, CA 90746 • (213) 538-4251

CP/M and MP/M are trademarks of Digital ResearchCircle 375 on inquiry card.

BYTE August 1981 311

Circle 320 on Inquiry card.

>•«••••<

»•«••«

FactoryDirect

ELIMINATE THE MIDDLE MAN!

1/1 ■/'STATICOIV RAM

RAM 16

COMPARE OUR FEATURES!S-100 • 16K X 8 Bit Static RAM •2114 1K X 4 Static RAM Chip • 2 or4 MHZ • 4K Step Addressable • 1KIncrement Memory • Protectionfrom Top Board Address Down orfrom Bottom Up • Deactivates upto 6 1K Board Segments to CreateHoles for Other Devices • PhantomLine DIP Switch • DIP Switch Selec-table Wait States • 8 Bank SelectLine Expands to Vi Million Bytes •All Data Address and Control LinesAre Input Buffered • Ignores I/OCommands at Board Address • OurMost Popular Board — Over 5000Now in Use Worldwide!A & T Factory Direct Price:

$175.

00

One Year WarrantyDON'T PAY MORE!

NEW! - RAM 65

All of the Above Advanced FeaturesPLUS: Bank Selection by I/OInstruction Using Any One of 256DIP Switch-Selectable Codes • ThisAllows Up to 256 Software Con-trolled Memory Banks! • Our MostAdvanced 16K Add-On Board.A & T Factory Direct Price:

$185.

00

One Year WarrantyDON'T PAY MORE!

All of our Boards Are the Highest

Quality MIL SPEC G-14 Fibreglass.

All utilize Solder Mask over Copper

Technique for Higher Reliability!

MIX AND MATCH FOR BEST PRICING.Include $3.00 shipping & handling perorder. California residents include 6%sales tax.

TERMS: Cash, checks, money orders or purchaseorders from qualified firms or institutions. Pricingand availability subject to change without notice.International sales in U.S. funds only. COD'Sinclude 25% with order.

Quality Computer Parts

P.O. BOX 743, DEPT. B1CHATSWORTH, CA 91311Telephone (213) 882-3142

312 August 1981 © BYTE Publications Inc

Bytecode

-1-

Push 4

-2-

Push a

-3-

Send >

-4-

Jump to -lo- if the top of the stack is false

-5-

Push a

-6-

Push 1

-7-

Send —

-8-

Store into a

-9-

Pop

-10-

< the next bytecode >

Table 5: Bytecodes for the Smalltalk expression a > 4 ifTrue: [a — a - I J.

Bytecode

-i- Push a

-2- Push 4

-3- Send >

-4- Jump to -li- if top of stack is false

-5- Push a

-6- Push 1

-7- Send —

-8- Store into a

-9- Pop

-10-jump to -i-

-li- < the next bytecode > .

Table 6: Bytecodes for the Smalltalk expression [a > 4] whileTrue: [a — a -

- \\-

Table 6 shows the bytecodes for thelooping expression:

[a > 4] whileTrue: [a — a - 1]

(which means execute the code in thesecond brackets as long as the code inthe first set of brackets evaluates tosomething other than false).

Addressing Variables

Methods are implemented as ob-jects whose fields contain thebytecodes plus a group of pointers toother objects called the literal frame.The interpreter can use the getFieldsubroutine of the storage manager tofetch the next required bytecode toexecute. This takes care of returns,jumps, and pops, but for the otherbytecodes we need to represent moreinformation. In particular, for thepush and store bytecodes, we need torepresent where to find the objectpointers to push; for the sendbytecodes, we need to representwhere to find the selector of themessage and which stack elements are

the receiver and arguments.

The source code for a method con-tains variable names and literals, butthe bytecodes of the Virtual Machineare defined only in terms of field off-sets. From the Virtual Machine'spoint of view, there are three types ofvariables: variables local to themethod (called temporaries),variables local to the receiver of themessage (instance variables), orvariables found in some dictionarythat the receiver's class shares (globalvariables). Note that class variablesare treated in the same way as otherglobal variables. The Smalltalk-80compiler (itself written in Small-talk-80) translates references tothese variables into bytecodes thatare references to field offsets of thereceiver, the temporary area, orglobals. The instance variables aretranslated using a field of class-describing objects that associates in-stance variable names with field off-sets. The assignment of offsets to tem-poraries is done when the compilertranslates a method by associating

Engineers and other Aerospace Professionals

Are You. Tomorrow-minded...

... about America's

defense capability,

today and

tomorrow?

...about spaceachievements andtheir importance totomorrow's science

and industry?

... about the

environment and

lifestyle you choose

for all your family's

tomorrows?

. about your careerprogress intomorrow'stechnologies?

If you're tomorrow-minded, you've given a lot of thought

to these critical elements of your future. Martin Marietta

Aerospace is where you can apply your own unique vision

to enhance our capabilities and satisfy your ambitions.

At Martin Marietta Aerospace, keen, innovative minds deal with

the forerunners of 21st century technology. Projects in such

areas as Command and Information Systems, Copperhead, TADS/PNVS,

Solar Energy, Space Satellites and Space Launch Systems place

Martin Marietta at the leading edge.

Denver, Colorado-Orlando, Florida-Vandenberg AFB, California-New Orleans,

Louisiana are a few of our key locations. Each has its own attractive qualities. Each

offers its own professional opportunities with those special challenges and benefits

unique to Martin Marietta. If you're tomorrow-minded, talk to Martin Marietta

Aerospace today! Send us your resume or contact:

In Denver: P.O. Box 179, Mail#D-1311, Denver, CO 80201

At Vandenberg AFB, Box 1681, Vandenberg AFB, CA 93437

In New Orleans: Michoud Assembly Facility, Box 29304, New Orleans, LA 70189

In Orlando: P.O. Box 5837-MP#9, Orlando, FL 32855

We are an equal opportunity employer, m/f/h.

MAHTIN IVIM9iE

BYTE August 1981 313

WHAT'S

BETTER

THAN AN

ISAM

And Will Turn

MICROSOFT'S

BASIC

COBOL

FORTRAN

DIGITAL'S; PL/1-80

CBASIC

PASCAL/MT+

S-BASIC

CROMEMCO 16K BASIC

into first class applicationlanguages?

MICRO B+

The first and most completeimplementation ofB-TREEindex structures for micro-computers. B-TREES eliminateindex file reorganization.

Search

An index of over

10,000 Key

Values In Less

Than One

Second

On A Floppy Disk Systemfor only

$260.00!

System Houses:MICRO B+"

Available in Language C

Fair Com

2606 Johnson DriveColumbio. MO 65201(314)445-3304

*'1980 Fair Com

Shipping $4 USA / $8 ForeignWe accept VISA and MASTERCARD

PL/l-80 Is a trademark of Digital ResearchCBASIC is a trademark of Compiler Systems. Inc.S-BASIC Is a trademark of Topaz ProgrammingPASCAL/MT* Isa trademark of MT Micro Systems

J

names of temporaries to offsets in thetemporary area. The compiler createsinstances for the literals, puts theirobject pointers into the literal frameof the method, and produces byte-codes in terms of offsets into theliteral frame. For global variables, thecompiler uses system dictionaries that

associate global names to indirectreferences to objects. Object pointersof the indirect references to the globalobjects are also placed in the literalframe of the method. The bytecodesfor accessing globals are encoded asindirect references through field off-sets of the literal frame.

Stack Pointer

Current Bylecode

Temporaries(including arguments)

(Length)

(Class description)

(instance variable,offset -- 0)

(Instance variable,offset =last)

(Length)

(Class description)

(Stack Element I

(Stack Element)

(Stack Element)

(Length)

(Class description)

(Literal frame,offset <0)

(Literal frame,offset = last)

(First bylecode)

(Last bylecode)

(Length)

(Class description)

(Temporary variable,

offset ■0)

(Temporary variable,off set =last)

Figure 5: Object pointers held by the interpreter.

314 August 1981 © BYTE Publications Inc

HaydenAPPLESOFT COMPILER

means Speedfor your Apple

New! HAYDEN APPLESOFT™ COMPILER (Etten) At last-a program that translates your standard Applesoft™ BASIC program into truemachine code! The resulting binary program runs 3 to 10 times faster than nor-mally interpreted code ... the longer and more complex the source program,the greater the increase in execution speed. The file is B RUN to execute thefinal compiled product. #08809, Apple II Disk, $200.

naoement

i information

DISK CERTIFIER AND COPIER [Jacc Inc ) A handy

utility program that certifies the acceptability of blankdiskettes and rejects those with flaws It also includes afast machine language disk copying program that willwork on single and dual drive systems 07809, APPLEIf Disk, $19.95

LINE & VARIABLE CROSS REFERENCEGENERATOR (Johnson) Provides a cross reference ofline numbers and variable names07301, PET tape, $16.95

RENUMBER & APPEND: Utility Programs for theApple (Gilder) Renumber your Applesoft program andappend a second program to the one in memory03804, Apple 11 tape. $14.95

REVIVE (Gilder) When a program is accidentallyerased. REVIVE searches through memory and findsthe information that enables it to restore the pointers thathave been changed 03604, Apple II tape, $19,95

ORDER NOW!

Hayden Book Co., Inc.

50 Essex St. Rochelle Park, NJ 07662

Please send me the software checked on a 10-dayFREE examination. At the end of that time, I willsend payment, plus postage and handling, orreturn the software and owe nothing. On all pre-paid orders. Visa, and Master Card charges, pub-lisher pays postage and handling — same returnguarantee. Residents of NJ and CA must add salestax. Offer good in USA only. Prices subject tochange without notice. Payment must accompanyorders from PO Box numbers. Allow 4 to 6 weeksfor delivery. Name of individual ordering must befilled in.

L: 03504 □ 04909 P 05208 0 08809D 03604 □ 05004 u 05409 D 09109I . 03804 LJ 05009 [ . 05509 □ 09409

:: 03904 □ 05103 : j 07301 009704

: 1 04609 D 05108□ 04804 D 05203

Name

0780908609

Street

City/State/Zip

B 8/81-009

APPLESOFT UTILITY PROGRAMS (Gilder) Increaseyour BASIC programming speed and flexibility Contains9 useful subroutines: 1 REM Writer 2 PRINT Writer3 POKE Writer 4 Hexadecimal Decimal Converter5 Line Counter 6. Renumber 7 Append 8 ByteCounter 9 Slow List Stop List03504. Apple II tape, $29.95

SLOW LIST/STOP LIST: Utility Programs for theApple (Gilderl Start, stop, and controlthe speed ofyour program with Apple ll's game paddles 03904,Apple II tape, 110.95

PSEUDODISK (Neuschatz) This money-saving pro-gram simulates a disk memory system for Integer BASICprograms It allows multiple programs in memory at thesame time which can be run from a catalog 04804,APPLE II tape, $24.95

6502 DISASSEMBLER (Stamm) Produce assemblylanguage source files with labeled subroutines andreferences from programs already in memory It iscompatible with Haydens ASSEMBLY LANGUAGEDEVELOPMENT SYSTEM08609, APPLE II Disk, $39.95

DISK CATALOGER (LeBar) Automatically maintains across-reference listing of all your programs, their locationby disk number, their function and use Catalogs. listsand sorts programs 05203. TRS-80 Level II tape,J/6.95, 05208, TRS-80 Level II Disk, $21.95

FINPLAN: A Financial Planning Program forSmall Businesses (Montgomery) Allows you to enterdata from a balance sheet into the program, to make assumptions about the future growth of business, and tohave the computer project results for up to a five yearperiod based on those assumptions And if you changeany data, the program revises all resulting data auto-matically The disk version can be used only withTRSDOS version 2 3

05103. TRS-80 Level 11 tape. $69.95; 05108TRS-80 Level 11 Disk Version. $74.95

DATA MANAGER: A Data Base ManaSystem and Mailing List (Lutus) Store information ona floppy disk, and retrieve it quickly and easily byspecific names, or by category 04909. Apple 11 DiskVersion, $49.95.

PROGRAMMING IN APPLETM INTEGER BASIC:Self-Teaching Software (Banks & Coan) Teachyourself Apple Integer BASIC and control your ownprogress at all times with this interactive programmed in-struction format 05004. Apple II, tape, $29.95;05009, Apple IIDisk Iferslon. $39.95

APPLETM ASSEMBLY LANGUAGEDEVELOPMENT SYSTEM: An Assembler/Editor/Formatter (Lutus) Write and modify your machinelanguage programs quickly and easily 04609, AppleIIDisk Version. $39.95.

SUPER APPLETM BASIC (Lutus) A structured BASICthat compiles into an optimized Applesoft or IntegerBASIC program 05409, Apple II Disk. $39.95

Super FORTH (Bugbee) This is a fast, high-level,expandable language that features integer and floating-point math, high-resolution graphics and string handlingcapability 05509, APPLE II Disk, t49.95

OP-AMP DESIGN (Gabrielson) Provides thenecessary values for your design and will suggestappropriate op-amp types. Includes a choice of sixop-amps, and the program will then determine if yourselection of an op-amp will be acceptable within yourchosen parameters. Can be updated to accommodatefuture op-amps. 09704, Apple II tape, $16.95

DOUBLE PRECISION FLOATING POINT FORAPPLESOFT (S-C Software) Extends the accuracy ofthe arithmetic available on the Apple from nine digitsto a full 21-digit precision on all functions in Applesoftcompatible format. 09409, Apple II Disk, $49.95

DATA-GRAPH (Boyd) Aids in the preparation ofgraphs and charts. Numeric data can be entered intoData-Graph and used to create colorful one-, two-,or four-quadrant graphs. 09109, Apple II Disk,$49.95

Apple is a trademark of Apple Computer Company, Inc.and is not affiliated with Hayden Book Company, Inc.

Available at your local computer store!

For Orders and Inquiries Call Toll Free

iPiwHOTUwi 800-631-0856

50

Essex Street, Rochelle Park, NJ 07662 BOOlf COIIIfKlffiy, IflC.

Circle 153 on inquiry card.

BYTE August 1981 315

APPLESOFT

BasicCompiler

$167.50

Compiles APPLESOFT* BASIC programs intonative 6502 code, allowing programs to run up to10 times faster. Handles graphics and shapetables. Requires 48K, autostart ROM, languagesystem and at least one drive. List Price: $200.00

Microhouse

SPELLSTAR

New! Option for Wordstar. Compares words inyour text to its 20,000-word compresseddictionary. Jumps back to WordStar for correctionof errors or addition of new words to thedictionary. Price includes update of registered2.x and earlier WordStar (must send master disk).List Price: $250.00Microhouse Price: S165.00/NA

WORDSTAR

Version 3.0! Now featuring horizontal scrolling

and column moves.

List Price: $495.00

Microhouse Price: $322.00/$40.00

WORDSTAR for APPLE

List Price: $375.00

Microhouse Price: $245.0O/$40.O0

WORDSTAR CUSTOMIZATION NOTES

Package includes manual and diskette.List Price: $150.00Microhouse Price: S95.00/NA

MAILMERGE

Option for Wordstar.

List Price: $150.00

Microhouse Price: S110.00/S40.00

MAILMERGE for APPLE

List Price: $125.00

Microhouse Price: $85.O0/$25.0O

VISICALC for APPLE

List Price: $150.00

Microhouse Price: S107.00/NA

SUPERSORTI

List Price: $250.00

Microhouse Price: $170.O0/$40.0O

SUPERSORT II

List Price: $200.00

Microhouse Price: S145.00/S40.00

SUPERSORT for APPLE

List Price: $200.00

Microhouse Price: $130.00/340.00

DATASTAR

List Price: $350.00

Microhouse Price: $245.00/840.00

WORDMASTER

List Price: $150.00

Microhouse Price: $119.00/$40.00

CALL OR WRITE FOR FREE CATALOG

MICROSOFT BASIC 80

List Price: $350.00

Microhouse Price: $273.00/$30.00

MICROSOFT BASIC 80 COMPILER

Language compatible with MBASIC but code runs

3-1 Ox faster.

List Price: $395.00

Microhouse Price: 8308.00/830.00

MICROSOFT FORTRAN 80

Compiler is ANSI '66 compatible (except for

COMPLEX).

List Price: $500.00

Microhouse Price: 8345.00/830.00

muSIMP/muMATH by Microsoft

List Price: $250.00

Microhouse Price: 8195.00/825.00

COBOL 80 by Microsoft

List Price: $750.00

Microhouse Price: 8562.50/830.00

MACRO 80 by Microsoft

List Price: $20000

Microhouse Price: $140.00/820.00

EDIT 80 by Microsoft

List Price: $120.00

Microhouse Price: $84.00/$20.00

WHITESMITHS C

List Price: $630.00

Microhouse Price: CALL/83000

TINY C Interpreter

List Price: $100.00

Microhouse Price: 879.00/850.00

TINY C Compiler

List Price: $250.00

Microhouse Price: $195.00/850.00

SPELLGUARD

Fast stand-alone program works with nearly any

CP/M® word processor.

List Price: $295.00

Microhouse Price: $230.00/825.00

STACKWORKS FORTH

For Z80 or 8080 (specify).

List Price: $175.00

Microhouse Price: 8160.00/830.00

WHITESMITHS PASCAL

Includes Whitesmiths C Compiler.

List Price: $850.00

Microhouse Price: CALL/S45.O0

Microhouse

P O. BOX 498BETHLEHEM. PA 18016(215) 868-8219

| This means that when the inter-preter is executing a method, it has tokeep a stack, a temporary area, apointer to the receiver and argumentsof the method, and a pointer to themethod itself (see figure 5). It uses thestorage manager's getField andstoreField subroutines to push andpop pointers from the stack object, toretrieve and set values of variables inthe temporary area, to retrieve andset values of variables of the receiver,and to get bytecodes and values ofglobal variables from the method.

Finding Methods

When a message is sent, thereceiver and arguments must be iden-tified, and the appropriate methodmust be found by the interpreter. Thetechnique used in Smalltalk-80 is toinclude in each class-describing objecta dictionary, called the method dic-tionary, that associates selectors withmethods. Pointers to the selectorsthat will be sent by any method arekept in the method (along with globalvariable pointers and bytecodes). Thebytecodes that tell the interpreter tosend a message encode a field offset inthe literal frame where the selector isfound, plus the number of argumentsthat that method needs. By conven-tion, the top elements of the stack arethe arguments and the next one downis the receiver. For example, the sendbytecode for the expression:

3+4

will stand for "send the selector infield X of the method (which willbe +), and it takes one argument."The interpreter will ask the storagemanager for the X field of themethod, will get the top of the stack(4) as the argument, and the next ele-ment down (3) as the receiver. It willlocate the receiver's class, its methoddictionary, search it for an associa-tion of the + selector with somemethod, and, when found, executethat method.

If no such association is found, thesearching does not end. The receiver'sclass may be a subclass of anotherclass, called its superclass. If this isthe case, the method for + may be

316 August 1981 © BYTE Publications Inc

Circle 228 on inquiry card.

(Length)?

(Class description)Class of class-describing objects

(Number of f ields) 2

(Pointers) True

(Instance VariableNames) "xCoordinateyCoordinate"

(Global VariableDictionaries)

(Method Dictionary)

(Superclass)

Figure 6: Class-describing object for classPoint, revisited.

defined in the superclass, so the inter-preter must check there. This meansthat each class must have a field thatrefers to its superclass (see figure 6).The interpreter searches the methoddictionary of the superclass, itssuperclass, and so on, until either anappropriate method is found or itruns out of superclasses, in whichcase an error occurs.

To execute a method, the inter-preter needs a place for temporariesand a stack for that method. In theSmalltalk-80 Virtual Machine, this isdone by allocating an object that is aninstance of class MethodContext. Ob-jects in MethodContext keep track ofthe method, the stack for thatmethod, a pointer to the next byte-code to be executed in that method,the temporary variables for thatmethod, and the context from whichthat method was invoked, called thecaller of that method (see figure '7).When a method returns, the valuereturned is pushed on the stack of thecaller context, and execution con-tinues at the next bytecode of thecaller's method.

The New ADDS ViewpointVideo Terminal

$649

Features a detachable Tektronics-madekeyboard with keypad Function keys.Reverse video, halt-intensity, underlining byfields. Printer pom. ADDS quality construction

Microhouse

CALL FOR LOW PRICES ON IMS Series 5000 and8000 Computers

C ITOH STARWRITER I

Letter-quality printer uses Diablo plasticprintwheels and ribbons. 25 cps bidirectional,logic-seeking. Parallel interlace.List Price: $1895 00Microhouse Price: $1431.00

C ITOH STARWRITER I (Serial)

List Price: $1960.00Microhouse Price: $1502.00

DIABLO 630

Letter-quality printer uses plastic and metalprintwheels. 40 cps, bidirectional, logic-seeking.Optional tractor: $225.List Price: $2710.00Microhouse Price: $1999.00

EPSON MX70

Includes GRAFTRAX II dot-addressable graphics.

Monodirectional. 80 cps. Adjustable tractor.

Parallel only.

List Price: $450.00

Microhouse Price:

EPSON MX80

Removable print head, bidirectional, logic-seeking, adjustable tractor, parallel interface.Easily converted to RS232, IEEE 488, Apple orATARI. CALL FOR INFORMATION ON THE NEWGRAPHICS ROM PACK!List Price: $645.00Microhouse Price:

EPSON MX-80 FT

Friction AND tractor feed version of the MX-80.Parallel interlace included.List Price: $745.00Microhouse Price:

TELEVIDEO 910 Terminal

List Price: $699.00Microhouse Price: $595.00

TELEVIDEO 950

List Price: $1195.00Microhouse Price: $995.00

CALL OR WRITE FOR FREE CATALOG

PRICES AND SPECIFICATIONS SUBJECT TOCHANGE WITHOUT NOTICE

Software Manual8. Manual/Only

ASK ABOUT THE NEW Televldeo COMPUTERSYSTEMS

IDS PAPER TIGER 560G

List Price: $1695.00Microhouse Price: $1464.00

VIDEX VIDEOTERM SPECIAL!

Carried over by popular demand. Converts yourApple screen to 80x24 upper and lower case.Purchase VIDEOTERM with WordStar and save!If purchased separately: $290.List Price: $345.00Microhouse Price: $270.00

MORROW DISCUS 2D

8 inch single-sided double-density floppy diskdrive subsystem. Includes CP/M1 and MBASICList Price: $1199.00Microhouse Price: $995.00

MORROW HARD DISK SUBSYSTEM

10 Megabyte. Includes S-100 controller card,CP/M*, and enclosure.List Price: $3695.00Microhouse Price: $3062.00

MICROSOFT APPLE SOFTCARD

Purchase the softcard with MicroPro's WordStarand save $70! Converts your Apple II or II plus toa OP/M® system. Includes MBASIC! Price ifpurchased separately: $295.List Price: $349.00Microhouse Price: $279.00

TCS/Atlanta INTERACTIVEACCOUNTING SYSTEM

for small businesses. Ver. 5.0. Each package canbe used alone or post automatically to theGeneral Ledger. Compiled version (no supportlanguage needed). Price listed is per package.Generalledger. Accounts Receivable. AccountsPayable, and Payroll packages available. Call fordetails on new Order Entry & Inventorypackages.ALSO AVAILABLE FOR APPLE II. Also available insource.

List Price: Compare at $530Microhouse Price: $79.O0/$25.0O

ALL FOUR TCS PACKAGES (compiled)

List Price: Compare at $530/pkg.Microhouse Price: $269.00/S90.0O

CP/M is a registered trademark of Digital ResearchUNIX is a registered trademark of Bell LabsAPPLE is a registered trademark of Apple ComputersTRS80 is a registered trademark of Tandy Corp.

SHIPPING: Add $5 per manual or software package.Add $2.50 for COD orders. Call for shipping chargeson other items. Pennsylvania residents add 6 per centsales tax.

Microhouse

P.O. BOX 498BETHLEHEM. PA 18016(215) 868-8219

Circle 228 on inquiry card.

August 1981 © BYTE Publications Inc 317

Circle 263 on inquiry card.

If you're looking for

the best pricesin the U.S.A. on

MICROCOMPUTERS

We have consistently offered theTRS-80 line at savings up to 20%. Youcan save up to $1500 by buyingfrom Computer Discount of America.

ATARI

MICROCOMPUTERS

$3385.00

S 610.00S 645.00

K 115.00

We have the full line of ATARI personal computers and systems.

Model II

26-4002 64K. 1 disc

Model III

26-1061 4K. Level I

26-1062 16K. Level III

26-1066 48K. Level II 2-drive/RS-232

Color Computer

26-3001 4K J 329.00

26-3002 16K w/Ext. Basic $ 499.00

EPSON

MX70 Printer $ 375.00

MX80 Printer $ 485.00

MX80FT Printer $ 639.00

Our savings are as big on expansioninterfaces, printers, diskettes, AppleComputers, 0KIDATA Microline,C-ITOH Starwriter, Lexicon Modems— everything for your computer.We have the largest inventory in theNortheast, and most models are instock, for immediate delivery.Our full price catalog or a pricequote is as near as your phone.

CALL TOLL FREE:800-526-5313

Computer

COMPUTER DISCOUNT OF AMERICA. INC.15 Marshall Hill Road. West Milford MallWest Milford, New Jersey 07480In New Jersey Call 201-728-8080

Current Context

(Length)

(Class description)MethodContext

(Stack Pointer!

(Current Byt ecode)

(Temporaries)

Figure 7: The only object pointer used by the Smalltalk-80 interpreter is a reference toa MethodContext.

The Smalltalk-80

Virtual Machine

implementation is a

program running in

the machine language

of the target

computer.

Primitive Subroutines

The Smalltalk-80 Virtual Machineimplementation is a program runningin the machine language of the targetcomputer. The storage manager is thecollection of subroutines in this pro-gram that deals with memory alloca-tion and deallocation. The interpreteris the collection of subroutines in thisprogram, one of which fetches thenext bytecode from the currently Tun-ing method and calls one of theithers to perform the appropriate ae-on for that bytecode. In addition tothese functions, we have found thatthere are several other places in theSmalltalk-80 system where perfor-mance considerations make itnecessary, or at least desirable, to im-plement certain functions as machine-code subroutines in the Smalltalk-80Virtual Machine. These places are:

• input/output: connecting the

Smalltalk-80 system to the actualhardware

• arithmetic: basic arithmetic for in-tegers

• subscripting indexable objects:fetching and storing indexable in-stance variables

• screen graphics: drawing and mov-ing areas of the screen bitmap quickly

• object allocation: connecting theSmalltalk-80 code for creating a newinstance with the storage managersubroutines

We call this set of subroutines theprimitive subroutines.

The primitive subroutines arerepresented in the Smalltalk VirtualImage as methods with a special flagthat says to run the correspondingsubroutine rather than theSmalltalk-80 bytecodes. When the in-terpreter is executing the code to senda message and finds one of these flagsset, it calls the subroutine and usesthe value returned from it as the valueof the method. The number of thesemethods in Smalltalk-80 is small(around one hundred) in order tokeep the rest of the system as flexibleand extensible as possible. We willnot list those methods that areprimitives, but will refer the reader toSmalltalk: the Language and Its Im-plementation (Goldberg, Robson,and Ingalls, 1981) for details.

318 August 1981 © BYTE Publications Inc

standard on our 900 SERIES

microcomputer system ...

under $4,000.00*

avittg so much disk capacity as standard in a low costmicrocomputer system is reason enough to make the900 Series your logical choice — but the tact is, it's onlyone of the reasons why this system offers the bestprice/performance value of any now on the market.There's also a simple modular design, a reliable singleboard computer, dual flexible disk drives, a versatiledisk operating system, plenty of room for expansion,and attractive quantity discounts — plus a lot more.

Just check out these standard features and expan-sion capabilities.STANDARD ON THE 900 SERIES:

□ Single board microcomputer: Z80 based; 4 MHz.operation; DMA controlled disk access.

D Dual eight inch flexible disk drives: on-line formattedcapacity of 2.5 megabytes expandable to 5 Mb; accesstime of 3 milliseconds track-to-track; 8000 hour MTBFreliability rating.

□ IBM 3740 format compatible

□ 48 kilobytes of dynamic RAM,expandable to 65 Kb.

□ CP/M" Disk Operating Systemwith assembler, editor and debugsubsystems.

□ RS232 or TTY serial port for systemconsole.

□ Parallel line printer port(Centronics-compatible).

DESIGNED FOROPTIMUM RELIABILITYAND EASY SERVICING

Single board designQuad-density flexible disk drivesTurn-key operation and securityExpansion capabilitiesIndustrial quality construction

•In OEM/Dealer quantities, please contact

factory for pricing detail.CP M' is a registered trademark of Digital Research

Circle 325 on inquiry card.

OPTIONS FOR THE 900 SERIES:

□ Disk expansion: up to 5 Mb formatted capacity.

□ Serial I/O expansion: two additional RS232 ports(serial printer, modem, etc.)

□ S100 bus adaptor for system expansion.

□ Multi-user operation

□ Hard disk subsystem □ OASIS operating system

AVAILABLE SOFTWARE FOR THE 900 SERIES:

□ High level languages include: BASIC, FORTRAN,COBOL and PASCAL.

□ Application packages include: Inventory, WordProcessing, GL, AR, AP and Payroll.

the Quay 900 Microcomputer System offers themost complete package for the money

QUAS

CORPORATION

P.O. Box 783, 527 Industrial Way West,Eatontown, N.J. 07724 ■ (201) 542-7340

DISTRIBUTOR AND REPRESENTATIVE INQUIRIES WELCOME

Need a

Real-Time Multi-Tasking

Executive for 8080 and Z80?

• Faultless operation proven in world wide use

• Truly hardware independent

• Optimized for fast interrupt response

• Minimal memory requirements

• ROMable for control applications

• Terminal Handler is CP/M BDOS compatible

• Console Driver supports Intel iSBC boards

• SYSGEN speeds user system configuring

• Program in PL/M, Fortran, Pascal or Assembler

• Source code included (Intel or Zilog mnemonics)

• Unlimited use licence agreement

• Complete documentation (available separately)

• Low cost

Jt KADAK Products Ltd.

Circle 418 on Inquiry card.

Dealer enquiries invited

CP/M is a trademark of Digital Research Corp.; RMX/80,iSBC are trademarks of Intel Corp.

jmmi 206- 1.S47 West Broadway Avenue

■■^ Vancouver, B.C., Canada V6J 1Y5

Telephone (604) 734-2796

ADA

A NEW BEGINNING

ADA/M -Compiles ADA program into the Host assembly language.Excellent for learning ADA and converting existing programs.Includes ADA Compiler and Compiler ADA Programming SupportEnvironment (CAPSE) $495.

ADA/P - Compiler and Kernal APSE (KAPSE) for Apple / ATRI $995.

ADA/R-Compiler and KAPSE for TRS-80 $995.

ADA/H8 - ADA Language System (ALS). Includes Compiler,KAPSE, Minimal APSE (MAPSE) and Library APSE (LAPSE).Z80.8080 $2,995.

ADA/H16 - ALS. Includes Compiler, KAPSE, MAPSE, and LAPSE.PDP-11, Z8000, 8086, 9900 $3,995.

ADA Programmers Manual $25.

ADA Syntax Reference Card $6.

Credit for purchase of ADA/M will be given toward purchase oflarger ALS. Royalty will be paid to customers who convert existingprograms into ADA for inclusion in the ALS library.

DIGITAL ELECTRONIC SYSTEMS, INC.Box 5252, Torrance, California 90510

A few of these primitive methodsare executed so often that even thecost of looking them up in theirclasses' method dictionaries would beexcessive. These methods are insteadrepresented as special versions of theSend Message type of bytecodes. Themessage + , for example, is rep-resented this way. When thisbytecode is executed and the top twoelements of the stack are smallintegers, then the primitive method iscalled as a subroutine. When thisbytecode is executed and the top twoelements of the stack are not small in-tegers, then the + message is sentnormally.

Conclusion

The Smalltalk-80 Virtual Machineis a fairly small computer programthat consists of a storage manager, aninterpreter, and a set of primitivesubroutines. The task of implement-ing a Smalltalk-80 Virtual Machinefor a new target computer is not large(especially when compared with thetask of implementing other large pro-gramming systems) because most ofthe functions that must usually be im-plemented in machine code arealready part of the Smalltalk-80 Vir-tual Image that runs on top of the Vir-tual Machine.

The Smalltalk-80 Virtual Machinecould also be implemented in hard-ware, although this has not yet beendone. Such an implementation wouldsacrifice some of the flexibility ofsoftware, but it would result in theperformance benefits that hardwareprovides. Given the evolving natureof Smalltalk, it may not yet be time toimplement the Virtual Machine inhardware: new Smalltalks that aremore powerful would likely need atleast small changes in VirtualMachine definition and implementa-tion. However, hardware assists toSmalltalk-80 Virtual Machine soft-ware can greatly improve perfor-mance. Writable microcode stores forthe pieces of code that are frequentlyrun, hardware assists for graphics, orhardware assists for the fetching ofbytecodes could all potentially im-prove the performance of aSmalltalk-80 Virtual Machine im-plementation. ■

320 August 1981 © BYTE Publications Inc

Circle 378 on inquiry card.

COMES WITH: (ADDITIONAL)WORD STAR®WORD PROCESSOR * GENERAL LEDGERACCOUNTS PAYABLE a SALES ORDER ENTRY

ACCOUNTS RECEIVABLE a INVENTORY CONTROL

□ □□

ONLY

l^®a®(Q)

QUANTITY DISCOUNTSAVAILABLE!

INCLUDING CP/M2.2®

($4950.00 INCLUDINGACCOUNTING SOFTWAREAND WORD STAR" )

320K

MINI DRIVESSHOWN, 8"

and 5%" 10MBHARD DISKOPTIONAL

I MMED I ATE DELIVERY!

fljjgjMICRO

1 YEAR PARTS WARRANTY!

(90 DAYS ON DRIVE PACKAGE, KEYBOARD AND LABOR)

SALES S-100-8

©HUgCS "UTia

TERMINAL

• Feather Touch Capacitance Keyboard

• 60 Key Standard ASCIIPLUS + Hex Keypad

PLUS + 8 Special Function KeysPLUS + 20 Screen Editing Keys

FBATUM

COMPUTER

• 8SlotS-100

• 64K Dynamic Ram

• 4MHZ Z-80

• Serial Printer Port (150-19.2K)

• Double Density Disk Controller

• Programmable Baud Rate

• Programmable Keyboard Set

0

D

DISKSTORAGE

Dual Double Density514 Single Sided Drives

DOUBLE SIDED Option

Double Sided, 77Track, Option

♦ SO ROC Type Screen Attribute Set

♦ Half Intensity

OPTIONS:

♦ Dual 5%" Double Sided MPI B51 (640K) add $225.00

♦ Dual 51/4" Double Sided MPI B91 (1.2MB) add $360.00

♦ Dual 8" SIEMANS FDD120-8 Drives (1MB) add $250.00

♦ Dual 8" QUME Double Sided Drives (2MB) add $625.00

WORD STAR is a TM of Micropro Inc. — CP/M2.2 is a TM of Digital Research Inc.

Color Matched EnclosureSelf Contained Power Supply

IB Bf 852? MICRO

m. SL sales

11 EDISON DRIVE A NEW LENOX, ILLINOIS 60451 • (815)485-4002

Circle 389 on inquiry card.

Building Control Structuresin the Smalltalk-80 System

L Peter Deutsch

Learning Research Croup

Xerox Palo Alto Research Center

3333 Coyote Hill Rd

Palo Alto CA 94304

Just as data structures refer to the ways that we groupdata together by using simple objects to represent morecomplex objects, control structures refer to the ways aprogrammer can build up complex sequences of opera-tions from simpler ones. The easiest example of a controlstructure is sequencing: do something and then dosomething else. Two other familiar examples are the con-ditional structure (if some condition is true, dosomething, otherwise do something else) and the loop (dosomething as long as some condition remains true).

Most languages provide a few common control struc-tures, typically sequencing, conditional, looping, andprocedures, but no way for a programmer to define newstructures. One useful control structure that manylanguages omit is the simple case statement (given Nalternative things to do, numbered from 1 to N, and avariable K, do the Kth thing). If the language doesn't pro-vide a case statement, you can always simulate it with along string of conditionals, but it makes your programharder to read. Other useful control structures are muchmore difficult to simulate if the language fails to providethem.

The Smalltalk-80 language and system (which will becalled simply "Smalltalk") is one of the few languages inwhich a programmer can invent and implement, withrelative ease, new control structures that aren't providedby the system implementors. The rest of the articleillustrates this point with examples that have actuallybeen run on a Smalltalk-80 implementation.

What's Built In

Smalltalk provides very few built-in control structures.There is the conditional structure, implemented asfollows:

someCondition ifTrue: [somethingToDo]someCondition ifFalse: [somethingToDo]someCondition

ifTrue: [somethingToDo]

ifFalse: [somethingElseToDo]

and the simple loop:

[someCondition] whileTrue: [somethingToDo][someCondition] whileFalse: [somethingToDo]

The most powerful tool for building new structures is theblock. Two examples are:

[somethingToDoLater]and:

[:anArgumentName| somethingToDoLater]

The block allows a caller to pass to the implementor of acontrol structure a piece of code to be executed (possiblywith arguments, as in the second example) at anappropriate time.

Case Statement

Our first example is the case statement describedbefore. We would like a construct that includes anindexed collection of blocks for the expected cases andanother block for the situation where the index is out ofrange. Without any particular trouble we can have a con-struct like this:

someExpression

case: (Array with: [easel] with: [case2] with:

[case3])otherwise: [somethingElse]

where [somethingElse] gets evaluated if someExpressionisn't 1, 2, or 3. Then the definition is simple. We add amessage to the existing class Number. In order todistinguish adding methods to existing classes fromcreating new classes, we will label templates "existing" ifthey are to be seen as partial templates adding newmethods to existing classes.

Table 1 shows the code necessary to add the casemethod to the class Number. As far as the control struc-

322 August 1981 © BYTE Publications Inc

AutomatedEquipmentIncorporated

1S430 Ward, Fountain Valley, CA S2"70B

Call Toil-Free for latest low prices!

1-800-854-7635 Outside CA

714-963-1414 Inside CA

1-800-854-7635 Outside Cont. USA

Prices change daily to meet competition.

TERMINALS

TELEVIDEO 912 B CALL

TELEVIDEO 912 C CALL

TELEVIDEO 920 B CALL

TELEVIDEO 920 C CALL

SOROC IQ-120 675

ZENITH A-19 750

HAZELTINE 1500 995

TELEVIDEO 950 CALL

NORTHSTAR

HRZ-1D-32K CALL

HRZ-2D-32K CALL

HRZ-1 Q-32K CALL

HRZ-2Q-32K CALL

ADDITIONAL 16K RAM CALL

ADDITIONAL 32K RAM CALL

HARD DISK SYSTEM CALL

SPECIAL MEMORY CONFIGURATIONSAVAILABLE. INCLUDING SYSTEMS GROUP.

VIP's customarily need top quality andservice within stringent budgetary limits,naturally, they call A.E.I.

Item: A.E.I, tests virtually every" itemsold, before shipping.

Item: A.E.I, initializes every piece of soft-ware, and makes a copy. If you have aproblem. A.E.I, can check to locate theproblem by using the in-house duplicate,saving you time.

Item: A.E.I, has in-house expetise onevery item offered.

Item: A.E.I, prices are competitive withthe lowest, no-service, no in-house exper-tise dealer,

40% OF ALL A.E.I. SALES ARE TOPUBLIC AND SEMI-PUBLIC INSTITU-TIONS.

A partial list" of A.E.I, customers whopurchased during the last quarter of 1980includes: University of Nebraska, Univer-

PRINTERS

NEC 5510 (TRACT., RIB., THIM) ... $2600NEC 5515 (TRACT., RIB., THIM) .... 2600NEC 5520 (TRACT.. RIB.. THIM) .... 2900

NEC 5530 (TRACT. RIB.. THIM) 2540

TI-810 1495

TI-820 1625

EPSON MX 100 CALL

EPSON MX 80 CALL

EPSON MX 70 CALL

ANADEX DP-9500/9501 CALL

VIP's Call A.E.I.

sity of Virginia. U.S. Dept. of Interior, Uni-versity of Kentucky, University of Cali-fornia, Massachusetts Institute of Tech-nology, U.S. Air Force. Naval Air Develop-ment Center, Brown University, Universityof Oregon, University of Utah, Ohio StateUniversity, University of Southern Cali-fornia, California State Dept. of WaterResources, University of Michigan, andPrinceton University.

In the private sector, an equal number ofmajor national organizations purchasedduring the same period.

You can call A.E.I, too!

'With our normal fast shipping, we have time to test;expedited shipment may preclude testing."A.E.I, does not wish to imply that any ot these fineorganizations endorse A.E.I. merely that A.E.I is proudto have them as customers.

.iHjii|;

^-^flllJI.I.Vlllll'l,

i fli'iii i

S.S.M.

KIT ASM

CB2 Z80 CPU $200 $265

VB1C VIDEO 140 190

VB2 VIDEO 155 210

VB3 VIDEO 375 440

I04 INTERFACE 165 225

SB1 SYNTHESIZER 195 270

MEASUREMENT SYSTEMS MEMORY

DM3200 32K 4MHZ 480

DM6400 64K 4MHZ 595

DMB3200 32K4MHZ BANK SELECT .. 630DMB6400 64K4MHZ BANK SELECT .. 745

DYNABYTE SYSTEMS ALSO

AVAILABLE-CALL FOR THE

EXCITING NEWS ABOUT NEW

COMPETITIVE PRICING!

WE WILL TRY TO BEAT ANYADVERTISED PRICE.

TERMS: All prices listed are cash discountedand subject to change. COD'S are 2%additional. Universities and well-ratedfirms Net-10.

SHIPPING: ADDITIONAL IN ALL CASES.

TECHNICAL ASSISTANCE:

WE TRY TO HELP INTERFACE ANDTROUBLESHOOT—CALL (714) 963-1414.

Open Monday-Friday, 8:00 a.m.-5:00 p.m.

Dealer Inquiries Invited.

MISCELLANEOUS

NEC THIMBLES $16

NEC RIBBONS 7

RS2332 CABLE 5' 20

RS 232 CABLE 10" 25

LEDEX MONITOR 145

NOVATION CAT 145

MORROW

DECISION 1 BASIC $1550

DISCUS-1 2 DRIVE 1550

DISCUS 2D 1 DRIVE 935

DISCUS 2D 2 DRIVE 1550

DISCUS 2+2 1 DRIVE 1250

DISCUS 2+2 2 DRIVE 2190

DISC JOCKEY 2D 350

DISCUS M26 HARD DISC 3925

ADDITIONAL HARD DISC 3685

DISCUS M10 2990

SOFTWARE

WORDSTAR $330

MAILMERGE 100

DATASTAR 250

N.S. PASCAL 160

MAGIC WAND 290

C BASIC 100

ADDITIONAL SOFTWARE DISCOUNTS WITH SYSTEM PURCHASE

GRAHAM-DORIAN

JOB COSTING $700

INVENTORY 475

CASH REG 475

APARTMENT 475

MEDICAL 700

DISCS—BOX OF 10

VERBATUM 5'/. 1 SIDE .... $27

VERBATUM 5% 2 SIDE 45

VERBATUM 8 1 SIDE 35

VERBATUM 8 2 SIDE 55

OTHERS CALL

PLASTIC STORAGE

BOXES 3

OUR SYSTEMS WORK!

All systems normally tested and configured in our repair facility before delivery. Service contracts available. Prompt repairs and warranties.

*•*■■^^^^^^,^^ma,lt^m Circle on inquiry card. ■■^■■B■■■■g^g^^n^M

IFOR ONLY$129.95Learn Computing)•From The Ground Up

• Build a Computer kll that grows! with you, and can expand (o 64k: RAM, Microsoft BASIC, Text Edi-! tor/Assembler, Word Processor,! Floppy Disks and more.

j EXPLORER/85

" Here's the low cost way lo learn the fundamentals of com-

j! puling, the all-import ant basics you'll need more and

B more as you advance in computer skills. For just $129.05

a you get the advanced-design Explorer/85 motherboard.

I with all the features you need to learn how lo write and

■ use programs. And it can grow into a syslem thai is a

■ match for any personal computer on the market Look at

■ these features: 8085 Central Processing Unit, the" microprocessor "heart" of Ihe Explorer/85, (loin thea millions who will buy and use Ihe 80807B0B5 this yearB alone!)... Four8-nilp/usonerj-hjttnpul/oulpulporlsfromI which you can input and output your programs, as well as

■ control exterior switches, relays, lights, etc . a cassette

■ interface lhat lets you store and reload programs you've

■ learned lo write . . . deluxe 2,000 nyle operatingm system/monitor makes il easy lo learn compuling ini several important ways: • It allows simpler, faster writ-

■ ing and entering of programs • Il permits access by you

■ to all parts of Ihe system so you can check on the status of

■ any poinl in the program • It allows tracing each pro-

■ gram slep by step, wilh provision for displaying all the

■ contents of Ihe CPU (registers, flags, etc.) • ... and itm does much more!

I You get all this in the starting level (Level A) of the

B Explorer/85 for only 9129.95. Incredible! To use, lust

■ plug in your BVDC power supply and terminal or

■ keyboard/display — if you don'l have them, see our

■ special offers below.

■ LI Level A computer kit (Terminal Version) ... 9128.98J plus S3 Pal.*

a Q Level A kit (Hex Keypad /Display Version)... 1129.98

■ plus $3 PAL*

■ LEVEL B — This "building block" converts Ihe mother-„ board into a two-slot S100 dus (industry standard) com-, puler. Now you can plug in any of the hundreds of S1Q0

■ cards available.

■ D Level B kil... 149.95 plus S2 P&1.*

■ D S100 bus connectors (two required) ... S4.83 each.1 postpaid.

* LEVEL C — Add slill more

■ compuling power, this "build-

■ ing block' mounts directly on' the motherboard and expands

Ihe 5100 bus to six slots.. □ LevelCkil...139.95plusS2l

■ Pal.* I

■ D S100 bus connectors (five

■ required) . . . 14.85 each.I postpaid.i LEVEL D — When you reach Ihe poinl in learning that re-

■ quires more memory, we offer two choices: either add 4k

■ of a memory directly on the motherboard, or add 16k to

■ 64k of memory by means of a single SlOOcard, our famous

■ "JAWS."

f Level D kit: (CHECK ONE)... D 4k onboard... S49.S8I plus $2 P&P; D 16k SlOO "|AWS"; ... $1*9.93 plus $2

■ P&IVa 32kSlOO"IAWS' ...ll88.BSplus$2P»!":n 48k

■ SlOO "JAWS" . . . 1249.95 plus $2 PAlV D 64k SlOO

■ "JAWS''.., 1296.98 plus S2 P*l'.

B LEVEL E — An important "huilding block:" il activatesi Ihe 8k ROM/EPROM spaceon Ihe motherboard. Now just

■ plug in one 8k Microsofl BASIC or your own custom

■ programs.

■ 0 Level E kit... M.9S plus 50C P&l.'

■ Microsoft BASIC — lis Ihe language that allows you loB talk English to your computer! [I is available Ihree ways:a D BkcasselteveraianofMicrosoftBASIClrequiresLevelM B and 12k of RAM minimum; we suggest a 16k SlOO

■ "JAWS" — see above)... Sfl4.9S poslpaid.

■ D 8kROMveraionofMicrosoftBASIC:(rcquireHLeve]B

■ & Level E and 4k RAM: just plug into your Level E sockets.

■ We suggest cither the 4k Level D RAM expansion or a 16kJ SlOO "TAWS.")... $99.33 plus $2 Ml.'

! D Disk version of Microsoft BASIC: (requires Level B.m 32k of RAM. floppy disk conlroller. 8" floppy disk drive)

■ ... 1325 poslpaid.

! TEXT EDITOR/ASSEMBLER — The editor/assembler

■ is a software tool (a program) designed to simplify Ihe task

■ of writing programs. As your programs become longer

■ and more complex, the assembler can Bave you many

■ hours of programming lime. This software includes an

■ editor program lhat enters Ihe programs you write, makesbj changes, and saves Ihe programs on cassettes. The assem-a bier performs the clerical^ lask of translating symbolic

■ code into the compuler-readable abject code. The editor/

■ assembler program is available either in cassette or a

■ ROM version.

■ D Edilor/Assemblcr (Cassette version: requires Level

■ "B"and8k(min.)of RAM — we suggest 18k "JAWS" —„ see above).. . 359.93 plus S2 P&I.*

B D Editor/Assembler (ROM version, supplied on an SlOO

■ card; requires Level B and 4k RAM (min.) — we suggest

■ either Level Dor 16k "|AWS").,. $99.99 plus$2 Phi*

J 8" FLOPPY DISK — A remarkable "building block."I Add our 8" floppy disk when you need fasler operation,

■ more convenient program storage, perhaps a business ap-

■ plication, and access lo the literally thousands of programs

■ and program languages available today. You simply plus

■ them into your Explorer/85 disk system — it accepts all

■ IBM-formatted CP/M programs.

Z D B" Floppy Disk Drive.,. 1499.95 plus $12 P&l.*I O Floppy Controller Card ... $198.95 plus $2 P&l.*

■ O Disk Drive Cabinet ft Power Supply .. . Ifl& 95 plus

■ S3 Pli.'

■ D Drive Cables (set up for two drives) ... 925.00 plus

■ $1.50 PAL'

■ □ CP/M 2.2 Disk Operating Syslem: includes Texlm Editor/Assembler, dynamic debugger, and other featuresB thai give your Explorer/65 access to thousands of existing

■ CP/M-based programs . . $150.00 postpaid.

■ NEED A POWER SUPPLY? Consider our AP-1. Il canM supply all the power you need for a fully expanded Ex-P plorer/85 (nole: disk drives have Ihuir own power supply).

■ Plus Ihe AP-1 fits neally into the attractive Explorer steelI cabinet (see below).

■ □ API Power Supply kit (8V @ 5 amps) in deluxe sleel

■ cabinet... 139.95 plus $2 P&l.'

■ NEED A TERMINAL? We

■ offer you choices: the least ex-

■ pensive one is our Hex

■ Keypad/Display kil lhal dis-* plays the information on am calculator-type screen. Thea other choice is our ASCII

■ Keyboard/Computer TerminalI kit. that can be used with cither

*5

4. PJufi in Level E here; ticcents WctOSOf, BASIC ot

1. Plug in NcfrnniVs Hex Eut I or/Assembler in ROMKcypad/Dispkiy 5. Add (wo SlOO hoards

2. Add Level B let convert lo 6. Athl you own custom r.irSlOO cuils (prototyping nmij

3. Add 4(( HAM 7. Connect terminal

a CRT monitor or a TV sel (if you have an RF modulator),D Hex Keypad/Display kil .... $69.95 plus S2 P&I.*

D ASCII Keyboard/Computer Terminal kil Featuring afull 12B character set. u&l case, full cursor control. 75 ohmvideo output, convertible lobaudol output, selectable baudrate. RS 232-C or 20 ma.l/O. 32or 64 character by 16 line for-mats.. $149.95 plus $3 P&l.*

D Steel Cabinet for ASCII Keyboard/Terminal... $19.95

plus $2.50 P&I.*

D RF Modulator kit (allows you lo use your TV sel as a

monitor)... $8.95 poslpaid.

D 12" Video Monitor (10MHz bandwidth) ... $139.95

plus $5 P&I.*

□ DeluxeSteel Cabinet forlhe

Explorer/85 ... $49.95 plus $3

P&I.*

D Fan for cabinet .. $15,00

plus $1.50 P&I."

ORDER A SPECIAL-PRICE

EXPLORER/85 PAK—THERE'S

ONE FOR EVERY NEED.

a Beginner Pak (Save $26.00) — You get Level A (Ter-minal Version) wilh Monitor Source Listing ($25 value)AP-1.5-amp. power supply, Intel 8065 Users Manual.. .(Reg. $199.95) SPECIAL $169.95 plus $4 P&I.*D Experimenter Pak (Save $53.40) — You gel Level A(Hex Keypad/Display Version) with Hex Keypad/Display. Intel 8085 User Manual. Level A Hex MonitorSource Listing, and AP-l,5-amp. power supply ... (Reg.$279.95) SPECIAL $219.98 plus $6 P&I.'a Special Microsoft BASIC Pak (Save $103.00)— You gelLevels A (Terminal Version). B. D (4k RAM). E. nkMicrosoft in ROM. Intel B085 User Manual, Level A Moni-tor Source Lisling. and AP-1. 5-amp. power supply ...(Reg. $439.70) SPECIAL $329.95 plus $7 P&l.*

□ ADD A ROM-VERSION TEXT EDI-TOR/ASSEMBLER (Requires Levels Band D or SlOO Memory). . . $99.95 plus$2 P&I.'

Starter 8" Disk System — Includes Level A. B floppy diskcontroller, one CDC 8" disk-drive, two-drive cable, twoSlOO conneclors; just add your own power supplies,cabinets and hardware ... a (Reg, $1065.00) SPECIAL$999.95 plus $13 P&l.* ... D 32k Starter System. $1049.9$plus $13 P&I.* D 4Bk Slarter System. $1095.95 plus $13Ml.* D 64k Slarter Syslem. $1145.95 plus $13 P&l."D Add to any of above Explorer sleel cabinet, AP-1 fiveamp. power supply. Level C with two SlOO connectors.disk drive cabinet and power supply, two sub-D connec-lors for connecting your printer and terminal ... (Reg.$225.95) SPECIAL $199.95 plus $13 P&L*a Complete 64k System. Wired & Tested ... $1650.00plus $26 P&I.*

D Special! Complete Business Software Pak (Save$625.00)— Includes CP/M 2.2 Microsoft BASIC, GeneralLedger. Accounts Receivable, Accounts Payable, PayrollPackage .. (Reg. $1325) SPECIAL$699.95 poslpaid.

Continental Credit Card Buyers Outside Connecticut:

TO ORDERCall loll Free: 800-243-7428

To Order From Connecticut, or For TechnicalAssistance, call (203) 354-9375

j^ (Clip and mail entirv ad)"y{

SEND ME THE ITEMS CHECKED ABOVE

Total Enclosed (Conn. Residents add sales lax): S

Paid by:

□ Personal Check D Cashier's Check/Money Order

□ VISA O MASTER CARD (Bank No. )

Acct. No Exp. Dale

Signature-

Address—City

State.

-Zip _

j^JETRONICSResearch&DevelopmentLtd,

1Wb%333 Litchfield Road, New Milford, CT 06776

ture goes, this is all there is to it: alternativeBlocks is anarray of blocks, and the method in Number simply picksthe appropriate one to evaluate. However, the syntaxlooks clumsy. We might like to have something thatlooks more like the following:

someExpression

case: [easel], [case2], [case3]otherwise: [somethingElse]

One way to do this is to arrange for appropriate inter-pretation of the message , (comma) by BlockContext(table 2a) and to invent a new subclass of IndexedCollec-tion (table 2b) that will also interpret, appropriately. Wealso have to add some protocol to BlockContext to handlethe situation of a single block. Note that double quotemarks delineate comments in Smalltalk.

As a matter of style, we generally discourage syntacticembellishments of this kind: their implementation tendsto be obscure and they don't add that much to the ease ofwriting programs.

Generator Loops

Many languages provide a kind of loop called agenerator, which sets a variable to successive valuesgenerated by some algorithm each time through theinterior of the loop. The familiar kind of loop that runsthrough successive integers from 1 to N is one such exam-ple. Another example is looking at successive elements ofa linked list, or any ordered collection.

Smalltalk actually provides simple generators of theform:

someCollection do:

[ :anElement| doSomethingWithTheElement]

but it is instructive to see how we could have constructedthem ourselves. This could be accomplished by havingeach kind of collection object implement the message do:

class name (existing)

Number

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

control

case: alternatlveBloc

(self > = 1 and: [selifTrue: [((alternateifFalse: [taBlock v

<s otherwise: aBlock |f < = alternativeBlocks size])jeBlocks at: self) value]alue]

Table 1: Template showing additions to existing classNumber.

324 August 1981 © BYTE Publications Inc

^^ameo's DC-500 Subsystem^^ increases data capacity to 10megabytes for your Apple II, TRS-80Model I or Model II, Heath H89 orZenith Z89 computer and most S-100based systems.

Cartridge Drives have removabledisk packs, allowing interchangeabilityof on-line data, simply by swappingpacks. Back-up is not a problem ... It'ssimple and efficient. Now you can have"Big Computer" capability without theexpense of buying one.

The Cameo DC-500 Subsystem ...the cost effective solution to give yourmicro megabytes.

OPERATING SYSTEMS AVAILABLEFOR THE CAMEO CARTRIDGE DISK

APPLE II and APPLE II Plus

• Apple DOS 3.2

• Apple DOS 3.3

• CP/M

• Pascal

Standard S-100 Bus or Z-80 processor

• CP/M

• MP/M

• La Salle Screen Edit Processor

• Oasis

TRS-80 Model II

• CP/M

• Oasis

• TRSDOS

TRS-80 Model I

• La Salle Screen Edit Processor-C Basic

HEATH H89 and ZENITH Z89

• CP/M

MEGABYTESFOR YOUR MICRO

/I/WZTc/electronics INC.

1626 Clementine, Anaheim, CA 92802 (714) 535-1682

Circle 49 on inquiry card.

BYTE August 1981 325

Small BusinessSystems User!

WHEN BUYING CHECKS,

STATEMENTS AND

INVOICES — LOOK FOR

THIS MARK:

Computer Forms

ON THE DOOR OF YOURCOMPUTER STORE

DFS Computer Forms are

• Sold by a Local Business

• Satisfaction Guaranteed

• Available in Small Quantities

• Compatible with ExistingSoftware

• Very Economical

DES

Computer Forms

P.O. Box 643 • Townsend, MA. 01469

directly; we would get simple arithmetic loops by usingdo: with an Interval, a kind of collection that represents abounded arithmetic progression. Using do: is convenientwhen we know that we want to look at all the elements ofthe collection, and do the same thing to each one. Forexample IndexedCollection might implement do: asshown in table 3.

However, if we want to retain more flexibility in con-trolling the generation process, there is a better way. Wedefine the notion of a supplier, which will deliver theelements of a collection one at a time in response tomessages. The protocol (set of messages and their in-tended meanings) for suppliers consists of the messages:

s atEnd

class name (existing)

BlockContext

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

constructing, aBlock | |

t BlockCollection with: self with: aBlock

accessingsize | |

"Behave like a BlockCollection with self as the only element"tl

at: Index |

"Behave like a BlockCollection with self as the only element"

index = I if True: [ t self].

self error: 'Subscript out of bounds'

class name (existing)

BlockCollection

superclass

IndexedCollection

instance variable names

"none defined here"

class messages and methods

"none defined here"

instance messages and methods

constructing, aBlock |

f self add: aBlock

Table 2: Templates showing additions to existing classBlockContext (2a) and the creation of a class template forclass BlockCollection (2b).

326 August 1981 © BYTE Publications Inc

-4.

Logi

c Probe Kit

<-17Q^ Comp

■ ^ I / "*^ follow

heln

make this

ght proiect

BUY 5 FOR $16.15each

♦124'

• Oitnard,- "

TTL SALE

SN7400NSN7402NSN7404NSN7408NSN7410NSN7412NSN7413NSN7414NSN74I6NSN7417NSN7423NSN7425NSN7430NSN7437NSN7438NSN7440NSN7442NSN7443NSN7445NSN7451NSN7454NSN7474NSN7475N

20 SN7482N22 SN7492N22 SN7493N24 SN7495N

22 SN7496N

28 SN74122N35 SN74136N49 SN74141N

29 SN74151N29 SN741S3N

28 SN74154N2; SN74155N

23 SN74157N

29 SN74160N

24 SN74161N22 SN74163N57 SN74164N78 SN74165N78 SN74174N20 SN74175N20 SN74180N32 SN74181N32 SN74393N

1.055048.60.703995.6965651258069.95.65.85.87.87.95.69.751.151 69

Digital Pulser

iil.gmi pr*fa<i»nil pul«t fan* rath» palm •' (lur h»nfl

EH *62*»

video

men

COLOR

m

*365°° 13"

Green Phos12 inch.

*I55°°

««CI PfllNTIB

• Dot nmotullon grapfilct In ill dorntll—

• I §20 chtfactf buHf

• Fultf •d/uit«W« rrtcton to ff-l/2

$649°°

bo/e.

MULTI-OUTLET STRIPUL207BC-SWITCH.PILOTond BREAKER. $1099

TO-3 cisa5 IMPS5V0LTS

APPLE CARDS

SERIAL -CARD

159."

93.01

189."

PARALLELCARD

INTEGER Of ^ •

APPLESOFT *

CARD

PASCAL _ I r„SYSTEM 425."

PROTO _^»BOARD 25«

MSM5832 MICROPROCESSOR REAL-TIME

CLOCK/CALENDAR

GENERAL DESCRIPTION

FEATURES " l«$

745

• A •

*689-00

SummerSALE!!

65<t

NO Suroes oi Inliilnaocal1

THE MPD117

turns an ordinaryoutlet into a cont-rolled power source

* 79.50

Global Spacialtiaa

Logic Probes

440°°

*60°°

2102A

1kx1 RAM

UPD4U-2,or

4k x1 RAM S3.25

AY5-1013A %2 95

30K Band UART

4116-300NS. *2.25

16kx1 RAM

8/$16.00

ea

New for the

MICROSOFT!

16K RAMCARD

flPPtE* »159.95

IC SOCKETS

10/1.2010/1.4010/1.6010/1.9010/2.8010/2.8010/2.8010/3.8010/4.75

SKX) MEMORY BOARD

STflTlcflS^

'C 0«<»AriO*

: ILIU* 4DO«SM#lf

lt'S nti "NOPOSfOKB SJCmli jrawO*"OS

SUPER

SALE!!

ATARI® 800™COMPUTER SYSTEM

400 Clipulli 8K —'419.00ICtniiilii 1SK—*773.0"

IVISICALC

129.154J

APPLE-ATARI-

'1981"

l/.C. Master

MB8264-20

* 59.95

^oaTTt"

• /KPfP't *7*

Best* Bi/y^

rr..iftir'29.5c

Btyy

ATARI PERIPHERALS:

> 19.50

"ALLOW ZWKS. OEL'Y IF

PERSONAL CHECK IS SENT."

«,

APPLE 11 Plus

»

4S/r-fl,99PO64k-*-\3990°

W/PURCHASE OFAPPLE RECEIVESPECIAL PRICING:

BASE II PRINTER— *6I9!«

DISK M «/»nl.—— *595»»

DISKIH/iClil.-— '495.« ' ■tfrSUP'R'MODII — '23« %_ .,*Vf

MONITOR: B£WIZ"-12MHz. -INTEGER BASIC

CARD-'—- «163«

«1Z5*

w

If

2716 7.25ea

5V 450NS

8 for 6.50ea

2708450NS

27324116

4.25ea 8 for 4.00ea24.50ea 4 for 19.50ea

300NS200 NS

2114L 300NS200NS

3.00ea 8 for 17.503.75ea 8 for 19.50

3.50ea 4 for 13.753.75ea 4for 14.25

CPUs

Z-80 8.95

Z-80ACTC 12.50

Z-80ACPU 12.50

Z-80 002 16-64K 129.00

8085A 11.50

2901A 12.50

MC6800 9.50

Apple Expansion Kit16K Memory Add-OnIncludes Instructions $25.95

EPSONMX-80

$560.oo

TRS8016K Add-OnInstruct ions &Dip Switches$25.95

Prunite) *775.0ORictmn '6500lnllilici(850)'l 75.00

hfJly. »uoo

Sin Riidus '49.00Smci Iniidis 'WOOCDiss '3200Kingdoa * 1Z 00

Hingmn 'iZOOBlickiuk '1200

Pnntli(,822l) '3/9.00Disk Dim '565.00Miter '169.00Joysticks * 1700

CONCORD

Assmlln Editor

Music CibjusiiMilling ListTV Switch BoiIEK RAM8K RAM

'4900'4900'17 00'8.95

'155.00'119.00

1971 SO STATE COLLEGE _

ANAHEIM, CALIF. 92806 M??

*10.MIN ORDER/CA.RES.ADD 6%

Circle 88 on inquiry card.

74LS00

74LS02

74LS03

74LS04

74LS08

74LS09

74LS10

74LS20

74LS21

74LS22

74LS26

74LS27

74LS30

74LS32

74LS38

74LS42

74LS48

74LS51

74LS54

74LS74

74LS75

74LS83

74LS85

74LS86

74LS90

74LS93

74LS107

74LS112

74LS113

74LS122

74LS123

74LS126

74LS138

74LS151

74LS153

.26.26.26

26.28.26.26

26

32.3265.78

.2535.3860.44.95.95.69.89.45.38.48.48.95.696944

741-SI 5574LS15874LS16074LS16174LS16274LS16374LS16474LS16574LS17074LS17474LS17574LS19074LS19374LS19574LS19674LS22174LS24074LS24174LS24374LS24474LS24574LS25374LS25774LS25874LS25974LS27974LS28374LS29374LS29874LS36674LS36774LS36874LS37374LS37474LS386

1.15.75

95

85

95

160

65

65

175

.75

.75

75

95

95

85

140

165

165

145

145

225

95

95

95

285

44

1.00

1.85

120

.95

55

.55

139

139

65

5712

145.°° *155°°

OMcrlptkxi

I flfl RS- 232C Compotlbl« D.^ial Tnml..

Switch''.designed InswilcnmrxJems

Thar

INCORPORATED

Circle 323 on inquiry card.

SORCERERSOFTWARE

fromQUaLfTy SOFTW3R6

All Programs Are On Cassette

VISI-WORD by Lee Anders

From preparing short letters to writing a book, word processing becomes easy and inex-pensive using VISI-WORD, a cassette based word processor. VISI-WORD is designed tointerface with just about any printer you can attach your Sorcerer to. VISI-WORD canaccept control characters, which allows you to issue special commands to thoseprinters with graphics controls, font control, and the like. A special feature of VISI-WORD, from which it gets its name, is the "command display off" feature. This com-mand eliminates all special end of line markers and other non-printing characters andautomatically performs right-justification, centering, and indenting right on the video,so that you can see what your text will look like before it is printed. Other features ofVISI-WORD include four separate buffers (to assist with form letters, boiler plating,and shifting text around), automatic page numbering and titling, partial print, andlocating strings. $59.95

General Business System

by Lee Anders

GBS is a general purpose programming system that can be used for many businessapplications. Use this system to create, edit, format, and print mailing lists. Or set up aninventory system, an accounts receivable file, or a payroll system. Or use it to enterorders. Delete, modify or append records, and then summarize and tabulate the results.You design (with the help of an extensively documented user manual) a system ofrecords. Then use the power of GBS to compute, sort, select, merge, add, and modifyyour data. GBS will provide you with the kind of fast, accurate, flexible tools you alwaysknew a home computer could provide. Four example application programs areincluded. Of course, you don't need to use GBS for business. You can use it for personalfinance, club or personal record keeping, or almost any type of problem that involvesthe management of records. Written in machine language with flexible cassette inter-facing, this program requires a Sorcerer with at least 32K of memory. $99.95

FORTH for the Sorcerer. Now Sorcerer owners can enjoy the convenience and speed olthe fascinating FORTH programming language. Based on fig-FORTH and adapted for theSorcerer by James Albanese, this version uses simulated disk memory in RAM and doesnot require a disk drive. Added to standard fig-FORTH are an on-screen editor, a serialRS-232 driver, and a tape save and load capability. Numerous examples are includedin the 130 pages of documentation. Requires 32K or more of RAM. $59.95

ARROWS AND ALLEYS'" by Vic Tolomei

The latest of Quality Software's great arcade games for the Sorcerer is ARROWS ANDALLEYS, by Vic Tolomei. You drive your car in a maze of alleys. Your task is to eliminate agang of arrows that constantly pursues you. You have a gun and the arrows don't, butthe arrows are smart and they try to stay out of your sights and will often attack from theside or from behind. Eliminate the arrows and another, faster gang comes after you.Four levels of play. Requires 16K or more of RAM. $17.95

We have more than 20 programs for the SorcererPLEASE WRITE FOR OUR CATALOG

QUTlLny SOFTWTIRe

6660 Reseda Blvd., Suite 105. Reseda. CA 91335Telephone 24 hours, seven days a week (213) 344-6599

HOW TO ORDER: If there is no SORCERER dealer near you, you may order directly fromus. MasterCard and Visa cardholders may place orders by telephone. Or mail yourorder to the address above. California residents add 6% sales tax. Shipping Charges:Within North America orders must include $1.50 for shipping and handling. OutsideNorth America the charge for airmail shipping and handling is $5.00. Pay in U.S.currency.

*The name "SORCERER" has been trademarked by Exidy, Inc.

which returns true if there are no more elements to besupplied, and:

s next

which returns the next element. Now we can build ourdo: operation as shown in table 4. Then each kind of col-lection needs to implement the message asSupplier, whichreturns an appropriate supplier. Table 5 shows what asupplier might look like for IndexedCollection (includingits creation). If an attempt is made to read past the end,position will be incremented beyond the size of the collec-tion, and next will provoke an error when the at: tries to

class name (existing)

IndexedCollection

superclass

Collection

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

enumerationdo: aBlock

| index limit

index — 1.

limit — self size.

[index < = limit] whileTrue:

[aBlock value: (self at: index).

index — index + 1]

Table 3: Template showing additions to existing classIndexedCollection.

class name (existing)

Collection

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

enumerationdo: aBlock

supplier |supplier — self asSup[supplier atEnd] whi

[aBlock value: sup

plier.eFalse:plier next]

Table 4: Template showing additions to existing classCollection.

328 August 1981 © BYTE Publications Inc

Circle 223 on inquiry card.

STEAL US BLIND

Are you lired of being nickel-dimed lo death by add-on's? When you look at thetotal price you have to pay for a good professional system do you begin to think ofmurder? Well here's your chance to get even. Until August 31st we'll let you steal usblind.

STEAL #1! THE EXO: Start with our basic dual drive 8" CP/M system. A Z80running al 4MHZ with 64K of 200ns dynamic ram. Fasf, reliable and quiet. 2 serial and2 parallel I/O ports with an expansion buss for optional hard disk, more I/O,networking, and up to 4 more users, each with 64K of memory. PRICE $3,995 (A

Steal).

STEAL #2! FREE: With Steal »1 a box of 10 Maxell or 3M double density disks.

STEAL #3! PERIPHERALS: Choose from a range of fine peripherals at pricesso low that the cops keep asking us where we got them. Examples: TelevMeo 950C-$970; Televideo 920C- $770; Hazeltine Esprlt~$625; NEC 5530-$2,430; Diablo 630-$2,150; Centronics 739-S760; Epson MX-60B- $460; Qume Sprint 5-45 RO- $2,495.

STEAL #4! SOFTWARE: Need some good software to go with your newsystem? When you purchase Steal "1 we'll throw in your choice of a quality softwarepackage for a criminally low price of $250. Choose from Magic Wand, Spellguard,dBasell. PASCAL MT+, Pearl Level II, or SS Fortran, just to name a few.

JOIN THE EXPLOSION IN COMPUTER CRIMEORDER NOW AND STEAL US BLIND!

Ill

MICRO BUSINESS ASSOCIATES, INC.

500 SECOND STREET

SAN FRANCISCO, CA 94107 415-957-9195

It Makes Kids Think.

The Turtle is the perfect teaching and learning tool formathematics or programming because abstract ideas aremade visible and concrete. This small robot is easy to connectand simple commands can be mastered in minutes. Studentsabsorb powerful ideas while having fun programming theTurtle to move, blink, beep, draw, or use its touch sensors. In-terlaces for APPLE, Atari and S-100 bus computers are avail-able. The following books are also available from Terrapin.Mindstorms $12.95 Artificial Intelligence $18.95, Katie and theComputer $6.95, Small Computers $9.95, Turtle Geometry$20. Add $2.00 shipping for 1 book and $1 for each additionalbook. MA residents add 5% sales tax. For more information,write or call Terrapin Inc. / 678 Massachusetts Avenue /Cambridge, MA 02139/(617) 492-8816

StackWork's

mm

A full, extended FORTH interpreter/compilerproduces COM PACT, ROMABLE code. As fast ascompiled FORTRAN, as easy to use as interactiveBASIC.

SELF COMPILING

Includes every line of sourcenecessary to recompile itself.

EXTENSIBLE

Add functions at will.

CP/M* COMPATIBLEZ80or 8080 ASSEMBLER included

Single license

Supplied with extensive user manual and tutorial

S175.00

Documentation alone: $25.00

OEMs, we have a deal for you!

CP/M Formats: 8" soft sectored,5" Northstar, 5" Micropolis Mod II,Vector MZ.TRS-80 Mod II

Please specify CPU type.Z80or8080

All Orders and General Information:SUPERSOFT ASSOCIATESP.O. BOX 1628CHAMPAIGN, IL 61820(217)359-2112

Technical Hot Line: (217) 359-2691answered only when technician is available)

VISA

SuperScft

First in Software Technology

*CP/M registered trademark Digital Research

Circle 383 on inquiry card.

BYTE August 1961 329

access an element beyond the size. An alternativeapproach, which gives a more useful error message at theexpense of duplicating a check that at: must performanyway, is to define next as follows:

next | |

position > = collection sizeifTrue:

[self error: 'Attempt to read beyond lastelement'],position — position + I.t collection at: position

Similar supplier classes would be needed to providegeneration capability for all of the different kinds ofCollections.

With the supplier approach to generators, we can eas-ily build a loop that sequences through two collections inparallel (see table 6). This would be very difficult if wedid not have suppliers, but made collections implementdo: directly. The problem is that while we could use do:to get one of the two collections to deliver its elements toa block of our choosing, there would be no way to get theother collection to deliver exactly one element each timethe block is invoked.

Suppliers are so useful as a concept and as a protocolthat Smalltalk actually includes them, under the name of

JOIN A

Datasoft is looking for new authors who arewriting professional, innovative and highquality programs for the Atari, Apple andRadio Shack computers. Your program canjoin our lineup of successful selling programssuch as:

Micro-Painter * SIGMON * MychessApp-L-ISP*Text Wizard *Le Stick

Datasoft is a professional software pub-lishing organization with a full-time marketingand program support staff. You as an authorreceive royalties for your work. And you willbe supported by an established dealerdistributor network around the world.

So if you have Business, Educational, Utilityor Entertainment software, call or write us formore information.

ReadStream. The important point is that we could havebuilt them ourselves if the system implementors hadn'tgotten there first.

Although the only kind of supplier we have con-structed is one that sequences through a collection, otherkinds of suppliers are possible: they just have to respondappropriately to atEnd and next. For example, one couldimagine a supplier that selected elements at random froma collection in response to next.

Exceptional Conditions

One of the difficulties in designing programs that (atleast appear to) work reliably is designing the controlstructures for handling "infrequent" events. An infre-

' COMPUTER SOFTWARE19519 Business Center DriveNorthridge, CA 91324(213)701-5161

class name (existing)

IndexedCollection

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

enumerationasSuppller |

t IndexedCollectionSupplier of: self

class name

IndexedCollectionSupplier

superclass

Object

instance variable names

collection position

class messages and methods

creation

of: aCollection

tself new of: aCollec

tion

instance messages and methods

creation

of: aCollection |

collection — aCollectposition — 0

accessingatEnd | |

t position > = collectnext |

position — position ht collection at: positio

ion.

ion size

- I.

n

Table 5: Templates showing additions to existing classIndexedCollection (5a) and the creation of a class templatefor class IndexedCollectionSupplier (5b).

330 August 1981 © BYTE Publications Inc

Circle 102 on inquiry card.

Circle 329 on inquiry card.

Circle 138 on inquiry card.

APPLESCOPE

DIGITAL STORAGE OSCILLOSCOPE

Interface for the Apple II Computer

«- —-J '■■"'" r.,-1.,1.!.

, T..>,.:wv.;;;>:; \y. M.:

TheAPPLESCOPE system combines two high speed analogto digital converters and a digital control board with the highresolution graphics capabilities of the Apple II computer tocreate a digital storage osciloscope. Signal trace parametersare entered through the keyboard to operational softwareprovided in PROM on the Dl control board.

• DC to 3.5 Mhz sample rate with 1 024 byte buffer memory

• Pretngger Viewing up to 1020 Samples•Programmable Scale Select•Continuous and Single Sweep Modes•Single or Dual Channel Trace

•Greater than or less than trigger threshold detectionPrice for the two board Applescope system is $595

Forluthermlormationcontact: RC ELECTRONICS INC.

7265 Tuolumne StreetGoleta, CA 931 17

Dealer Inquiries Invited (805) 968-6614

ASSESS YOURASSETS

tdppkz computer'▼Authorized Deale'

Get a better insightinto your expendituredecisions with an Applepersonal computer.Evaluate your finan-cial position with TaxPlanner. Chart yourprogress with ApplePlot. And take stock ofyour portfolio with TheDow Jones News &Quotes Reporter.To discover howan Apple can be yourgreatest asset, dropby our store today.

August Special10% off all Apple Products

Sale ends Aug 31■ Visit us at the Midwest Computer Show,—Chicago, II., Sept 10 thru 13. See anoriginal Apple I on display

|--£ FARNSWORTHISd COMPUTER CENTER

^ I ^P "| 1891 N. Farnsworth Ave. (ot th» e-w Toiiway) Aurora, II. 60505 Ph. (312) 851-3888

Weekdays 10-8; Sat. 10-5

THE UNBEATABLE COMBINATION :

'icippkz s^ ATARPA

f

TEAM ELECTRONICS

1 (800) 547-2492

16k+ $103948k+ $1089400 $329

(16k)-

800 $749

(16k)

w/o BASIC

TOLL FREE NUMBER FOR ORDER DESK ONLY. IN OREGON CALL 479-8723.REPAIRS, PARTS, AND WARRANTIES CALL (503) 479-4150. SORRY NO C.O.D.'S.MASTERCHARGE AND VISA ADD 3%. WE WILL SHIP U.P.S. FREIGHT COLLECTOR ADD 3% FOR FREIGHT AND INSURANCE TO AVOID C.O.D. CHARGES.ALLOW 10 DAYS FOR PERSONAL CHECKS TO CLEAR. PRICES SUBJECT TOCHANGE WITHOUT NOTICE. PRICES GOOD AT MAIL ORDER DEPARTMENTOF STORE i?162 0NLY.

APPLE

DISK DRIVE W/3.3 CONTROLLER

DISK DRIVE ONLY

SI LENT YPE PRINTER W/INTE RE ACE

GRAPHICS TABLET

APPLESOFT OR INTEGER FIRMWARE

LANGUAGE CARD (PASCAL)

PARALLEL PRINTER CARD

SERIAL PRINTER CARO

CF_NTRONICS PRINTER INTERFACE CARD

CCS. 7710A

CCS. 7720A

DATA SHIFT ADAPTOR

1GK RAM CARD IMICROSOFTI

Z 80 CARD IMICROSOFTI

HAVES MICROMODEM

V El. I

1 0 K I- Y

'AD

MM) SUP R TERMM&R SUP R MOD (MODULATOR]1fiK MEMORY EXPANSIONPROGRAMME JOYS! ICK

ATARI

110 PROGRAM RECORD! RB10DISK DRIVE820 PRINTER

82? 111! HMAI. PRINTER

82'JBO COLUMN I'RINl i R

830 MODEM

B50 INI l rface moduli:

8L>2 8K MEMORY E XPANKION

B&3 16K MEMORY E XI'ANSION

BASIC LANGUAGE CARTRIDGE

VISICALC (ATARI)

Wt HAVE ATARI GAME CARTRtOG

VISA*

HARDWARE

499 9" B&W MONITOR (SANYO!

429 9" B&W MONITOR (N.E.C.)

349 12" B&W MONITOR ISANYOJ

629 12" GREEN MONITOR (SANYO)

139 13" COLOR MONITOR (T.I.I

369 I.D.S. 445G PRINTER

129 I.D.S. 460G PRINTER

1S9 l.D.S. 560G PRINTER

149 EPSON MX-80 PRINTER

139 EPSON CABLE AND INTERFACE

109 CENTRONICS 737 1 PRINTER

F.9 CENTRONICS 7792 PRINTER

169 N.E.C SPINWRITER PRINTER

ZM QUME SPRINT PRINTER

279 TEXAS INST. 99/4

APPLE SOFTWARE

VISICALC

VISIDEX

VISIPLOT

VISITERM

VISITREND

DOS TOOL KIT

D.U.S. 3.3 UPDATE

APPLE WRITER

SUP R TEXT II

GENERAL BUSINESS CONTROLLER

SOFT TECH PAYROLL

STOCKFILE INVENTORY PROGRAM

APPLE ADVENTURE

ZORK

SAHGON CHESS

GALAX I AN

HI RfcS FOOTBALL

COMPUTER OUARTERBACK

MANY OTHER BUSINESS. PERSONAL

AND GAME SOFTWARE AVAILABLE

master charge

530 N.E. "E" STREET

GRANTS PASS, ORE

97526

6991099

1329499

26392499499

Circle 377 on inquiry card.

BYTE August 1981 331

quent event is any event which is (a) qualitatively dif-ferent from what happens most of the time and (b) not socommon that one wants to test for it in the normal flowof control. One example of an infrequent event is an ad-

class name (existing)

Collection

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

enumerating

with: anotherCollectlon do: aBlock

| mySupplier itsSupplier |mySupplier — self asSupplier.itsSupplier — anotherCollection asSupplier.[mySupplier atEnd or: [itsSupplier atEnd]]whileFalse:[aBlock

value: mySupplier nextvalue: itsSupplier next]

Table 6: Template showing additions to existing classCollection.

class name (existing)

OrderedCollection

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

searchingmaxBeforelOOO

| supplier max value

max — 0.

supplier — self asSup

theLoop —

[[supplier atEnd]whileFalse:[value — sufvalue > 100max — max

theLoop value. "Actu

tmax

theLoop |olier.

jplier next.

0 ifTrue: [theLoop exit],max: value]] withExit.ally do the loop block"

Table 7: Template showing additions to existing classOrderedCollection.

ditional exit from a loop. Suppose we would like to writea searching loop that finds the maximum element of a col-lection of non-negative numbers but stops searching if itfinds an element greater than 1000. Such a loop might beimplemented as shown in table 7.

We want the block [[supplier atEnd] ...] to respond tothe withExit message by giving back a blocklike objectwhich we can assign to the variable theLoop. The abilityto name this object allows us to exit from it midcourse.These BlockWithExit objects (see table 8) need toremember only two pieces of information: the originalblock, to execute in response to the value message, andwhere to send control if an exit message is sent.

The original statement theLoop — ... doesn't actually

class name

BlockWithExit

superclass

Object

instance variable names

block exitBlock

class messages and methods

creation

with: aBlock | |

t self new with: aBlock

instance messages and methods

creationwith: aBlock

block — aBlock

controlvalue

exitBIOCk — [t nil]. "Exit to my caller if the block eversends me the exit message"t block value "Actually do the computation"exit | |

exitBIOCk value "Exit from the computation to the callerwho sent the value message to me in the method just above"

class name (existing)

BlockContext

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

controlwithExit | |

t BlockWithExit Witt-

: self

Table 8: Templates showing the creation of a class templatefor class BlockWithExit (8a) and additions to existing classBlockContext (8b).

332 August 1981 © BYTE Publications Inc

Circle 130 on inquiry card.

Circle 328 on inquiry card.

DISK DRIVE WOES?PRINTER INTERACTION?MEMORY LOSS?ERRATIC OPERATION?

Don't w^v ^p-

Blame The *Software!

Power Line Spikes, Surges & #4,259,705 ' x '

Hash could be the culprit!Floppies, printers, memory & processor often interact! Ourpatented ISOLATORS eliminate equipment interaction AND curbdamaging Power Line Spikes. Surges and Hash.

• ISOLATOR (ISO-1) 3 filter isolated 3-prong sockets; IntegralSurge/Spike Suppression; 1B75 W Maximum load, 1 KW load anysocket $62.95

• ISOLATOR (ISO-2) 2 filter isolated 3-prong socket banks; (6sockets total); integral Spike/Surge Suppression; 1875 W Maxload, 1 KW either bank $62.95

• SUPER ISOLATOR (ISO-3), similar to ISO-1 except doublefiltering & Suppression $94.95

• ISOLATOR (ISO-4), similar to ISO-1 except unit has 6individually filtered sockets $106.95

• SUPER ISOLATOR (ISO-11) similar to ISO-2 except doublefiltering & Suppression $94.95

• CIRCUIT BREAKER, any model (add-CB) Add $ 8.00

• CKT BRKR/SWITCH/PILOT (CBS) Add $16.00

AT YOUR Master-Card, Visa, American Express

DEALERS Order Toll Free 1-800-225-4876

(except AK, HI, PR & Canada)

£±*2Electronic Specialists, Inc.

171 South Main Street, Natlck, Mass. 07760

Technical & Non-800: 1-617-655-1532

^^W Clock/Calendar

ComputoiWatch

Now available on Three Buses

Features *APPLEII

• 12/24 Hr. Format

• Month-Day-Year

• Day of Week *TRS-80

• Leap Year Bit

• 4 Interrupts ^

• +-30Sec.Adjusf

• Battery Backup $100

• Simple to Program,

$150 FOB

CompuTime

_«.«•*■

Apple is a Trademark ofApple Computer Co." TRS80 is a Trademark ofTandy Corp.

Dealer Inquire (714) 536-5000

P.O. Box 5343 Huntington Beach, CA 92646

Circle 61 on inquiry card.

KILLSURGESLIKELIGHTNING!

AC power line surges are destructive, can cost youmoney, and can't be prevented. But you can stopthem from reaching your sensitive electronic equip-ment with a Surge Sentry.

Surge Sentry acts in picoseconds to dissipate upto a 1,000,000 W, 100/x second surge. Triggers at10% above nominal peak voltage. Works in parallelwith the power line. Is easy to install for immediateprotection. No complicated wiring or special toolsrequired.

Several different models to choose from, includingan OEM version. Call or write today for afree brochure

SURBG

sencRY

/*'// clean up your AC

IgRKS

ENTERPRISES, INC.

643 South 6th Street, San Jose, CA 95112(408) 288-5565

DEALER INQUIRIES INVITED

BYTE August 1981 333

execute the loop: it creates a block whose code is [supplieratEnd] ... . This block becomes the block variable of anew BlockWithExit as a result of the withExit messagebeing sent. theLoop is set to the BlockWithExit justcreated. When theLoop is sent the message value, thevalue method in BlockWithExit first creates anotherblock, the exitBlock, which, if evaluated, will return tothe sender of value regardless of how many other activa-tions have intervened. The value method in BlockWith-Exit then sends value to the original block, causing it toexecute. If no exit is sent, the loop completes normally. Ifan exit is sent, the exitBlock is evaluated and controlreturns to the last statement of maxBefore 1000, just as ifthe loop had completed.

Dynamic Binding

Another common kind of infrequent event is a requestfor information. For example, suppose we want tospecify a default directory for disk files throughout somepart of a program. We could pass this information as anargument through all intervening calls, but this wouldplace an added burden (in time, space, and complexity)on many parts of the program that have no interest in thisinformation. An alternative would be to set a globalvariable before starting the computation, and reset itafterwards; unfortunately, if the computation is inter-rupted (say by something like the loop exit construct wedescribed earlier), this leaves the variable with the wrongvalue. Ideally, we would like to set up a structure that

A LOGIC ANALYZER FOR $395?

YES!

OWL

LA 1600-AHigh Speed16 Channels

Interfaces to dual channel scope or Apple computer.

• 10 MHZ capture rate

• Gold plated connectors and clips

• Stores 16 words of 16 bits

• Crystal controlled internal clock

• 1, 0, X compare word bit selection

• Time domain display

• Data domain display*

• Hex display*

• Internal and external trigger modes

'Options witli use of Apple computer

Comes complete with interconnecting cables;

logic probe clips, diskette for Apple computer,

and operating instructions.

— Send for FREE brochure —

Osborne Wilson Labs.

508 Waterberry DrivePleasant Hill, California 94523(415)932-5489

will get control if the default information is ever needed,without getting in the way of the rest of the program.Such an arrangement is called dynamic binding. We willillustrate how it can be used both for data and control.Suppose we want to write something such as thefollowing:

#defaultDirectory bindTo: 'Smith' in:[someComputation]

and then have the file system be able to ask for the cur-rent default directory by:

#defaultDirectory binding

Since we want the binding of defaultDirectory to 'Smith'to last only for the duration of someComputation, itfollows that in order to find the binding of a dynamicvariable, we must examine the data structures thatSmalltalk uses to represent the state of a computation. In

class name

Binding

superclass

Association "Provides key andvalue variables, and messages foraccessing them"

instance variable names

"none defined here"

class messages and methods

creation

of: aSymbol to: aValue In: aBlock |

t self new of: aSymbol to: aValue in: aBlock

instance messages and methods

initialization

of: aSymbol to: aVali

key — aSymbol.value — aValue.t aBlock value "Actua

ie In: aBlock | |

ly does the computation"

class name (existing)

Symbol

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

binding

bindTo: value In: aBIc

! Binding of: self to:

>ck | |

i/alue in: aBlock

Table 9: Templates showing creation of a class template forclass Binding (9a) and additions to existing class Symbol (9b).

334 August 1981 © BYTE Publications Inc

Circle 288 on inquiry card.

Circle 227 on inquiry card.

"THIS IS DIGITALKER"OUT 127,0

This is all it takes to say this or 143 other expressions with MICRO-MOUTH*. No software drivers or subroutines to load. MICRO-MOUTH*, the latest Circuit Celler product can be used as anemergency annunicator, as an aid for the handicapped, for processcontrol and to add dimensions to computer games.Sample phrases that can be programmed are:■'THE TIME IS 4 HOURS 23 MINUTES . . . (BEEP)"■■THE SPEED IS 100 METERS A SECOND . . .SLOW DOWN"Thousands of expressions can be added by changing the ROM chips.MICROMOUTH* is plug compatible with APPLE II and TRS-80*.Directions included for S100. H8 and parallel port operation.As featured in BYTE, June, 1981

Complete Kit: APPLE II $120.00

TRS-80 Model I.$150.00Assembled and tested:

APPLE II $150.00

TRS-80 Model I w/power

supply and cable $170.00

TRS-80 Model III $200.00

•MICROMOUTH is a trademark ol Microminl Inc•DIGITALKER is a trademark olNational Semiconductor Corp

MICROMINT INC.917 MidwayWoodmere, N.Y. 11598Dealer Inquiries Invited

Call 1-800-645-3479,in N.Y. 1-516-374-6793

Circle 333 on inquiry card.

SAVE SALE SAVE SALE SAVE SALE SAVE

Model II 64K 3360.00 freight included

Model III 32K 2150.00 freight included

Daisy Wheel Printer 1710.00 freight included

We can save you more on all the TRS-80 Computers,and we will! All items are brand new. We have thefull line of TRS-80 computer products. Call collect(303) 945-2864 for price quotes.

WE PAY ALL SHIPPINGNO TAXES ON OUT OF STATE SHIPMENTS

W-B SPORTING GOODS

727 Grand AvenueGlenwood Springs, Colorado 81601

SALE SAVE SALE SAVE SALE SAVE SALE

Does Your Printer Have a One Track Mind ?Then You Need The paner TraCtOf

The Parjer Tractor™ turns vour tractor feed :

The Paper Tractor™ turns your tractor feedprinter into a friction feed printing system.Inexpensively.

With The Paper Tractor you can abandondull continuous form stock and move into newrealms of high quality personalized writingpaper. Without costly hardware modifications.

This revolutionary product acts as a carrier,protecting and guiding any standard letter or

Circle 300 on inquiry card.

legal size paper through the printing area. Anypaper. Bond, parchment, onionskin, vellum,NCR, manuscript paper (sheet music). Evenyour company or personal letterhead.

The Paper Tractor is a unique solution to therestrictive nature of the tractor feed printer.

*Fits 9V2" or 15" print frame.

•Compatible with Matrix, Impact, Daisywheel and InkEjection printheads.

• Fits front, back and dual tractor paper feeds.

• Designed with self-aligning feed system.

• Positions letter or legal size paper automatically with anedge-protecting guide.

• Designed for use with forward/reverse plotting printers.

• Proven with all major manufacturer's printers, includingEpson, Tiger, Tl, GP-80M, DEC-Writer, Commodore,Centronics, Radio Shack VVI VII, Beehive, Vista, Grafix-Plus, Axiom, Coment, Hl-Q, DIP, C-ITOH, Cromemco,Okidata and many more.

Retails for only $19.50

Contact your local computer dealer. If hedoesn't carry the Paper Tractor, call or write us.

Paper Tractor, Ltd.™

P.O. Box4218

Santa Barbara, CA 93103

□ 9V2" □ 15" wide printer. ModelName

Information line:800-235-6967

In Calif (805)966-5448

StreetCity _

. State.

Zip.

• DISTRIBUTORS WELCOME*

class name (existing)

Symbol

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

binding

binding | context

context — thisContext. "Start here. thisContext is a

machine register"

[context = nil] whileFalse:

[((context receiver isMemberOf: Binding)and: [context selector = #of:to:in: "is it abinding..."

and: [context receiver key = self]]) "...of thisvariable?"

ifTrue: "Yes, return its value"[t context receiver value]ifFalse: "No, go on to the next context in thechain"

[context — context sender]],self error: ('No binding for' concatenate: self)

Table 10: Template showing additions to existing classSymbol.

particular, even though many messages may be sent insomeComputation before the file system needs to find thebinding of defaultDirectory, there must be some way tosearch the stack of methods that have been started butnot completed, looking for whatever represents the bind-ing of defaultDirectory. In Smalltalk, each element of thisstack is a MethodContext object, and the variable in aMethodContext that refers to its caller is called its sender.So searching this stack just means checking the currentcontext's sender, its sender, and so on, until we find abinding of the variable. We know we have found a bind-ing when we recognize a MethodContext in which thereceiver of the message is a Binding (see tables 9a and 9b),and which was created in response to a particularmessage. During this computation (t aBlock value intable 9a), a MethodContext will exist in which thereceiver is the Binding and the message is of:to:in:. This ishow we recognize a binding in the stack of Method-Contexts. The searching process is shown in table 10.

Note that by combining dynamic binding with theability to name exit points (eg: by doing #theExit bindTo:to create a BlockWithExit), we can arrange fordynamically bound exceptional events to stop a com-putation in midstream. More complicated arrangementsthat allow the parts of the computation being stopped toclean up after themselves are also easy to construct.

Coroutines

Generator loops are an example of producer/consumer

TALK'S

;£A/£XPEWS'VE-

ECHO "SPEECH SYNTHESIZERS

Don't limit your computer! Let it speak its mind with an ECHOSPEECH SYNTHESIZER. There are now three new additions to theECHO family: the ECHO-80 (TRS-80 MODEL I), the ECHO-GP (generalpurpose serial/parallel), and the ECHO-100 (S-100). These join thealready popular ECHO ][ (Apple).

All ECHO SYNTHESIZERS use a combination of Texas Instrument'sLPC synthesis and phoneme coding to produce an unlimitedvocabulary while using a minimal amount of memory. New maleand female phonemes and TEXTALKER™ software (converts Englishtext to speech) make them easier to use than ever before.

Speech appications are virtually unlimited, including education,games, and aiding the handicapped. The flexibility and low priceof the ECHO SYNTHESIZERS make them the logical choice foradding speech to your system. For further information see yourdealer or contact Street Electronics Corporation.

fsEcl

STREET ELECTRONICSCORPORATION

3152 E. La Palma Ave., Suite CAnaheim, CA 92806 (714) 632-9950

336 August 1981 © BYTE Publications Inc

Circle 361 on inquiry card.

Circle 99 on inquiry card.

Circle 355 on inquiry card.

Find Your Way AroundThe New Apple* DOSWith The Dakin5*Programming Aids 3.3'

Dakin5 Corporation, a Colorado soft-ware house, is making available lo thepublic 12 utility programs on one 16sector diskette, utilizing the new-Apple DOS 3.3, which provides 23%more storage.

All of the Dakin5 ProgrammingAids 3.3 programs are also compat-ible with the Corvus Disk Drivesystem.Features

• Remove REM statements, unref-erenced (dead) code, and com-press code to increase programspeed and save memory ana diskspace.

• Copy any file or program fromone diskette to another. Only thename is needed.

• Print or display a line cross refer-ence and variable name crossreference.

• Print or display all or selectedrecords from a text file.

• Display any sector of a given fileor program, and then update anydata within that sector, or specifythe sector you wish to update,such as directory sectors and sec-tors occupied by DOS.

Apple is a registered trademark of AppleComputer Inc. The Controller is a registeredtrademark of DakinS Corporation.

• Create, print and modify yourown text and Exec files.

• Perform 20-digit arithmetic.

• Copy a diskette without DOS;initialize without DOS; verifysource diskette; verify copieddata is the same as the original.

• Use a powerful data entry routinethat handles both string and nu-meric data.

Plus Many More Utility Programsfor Sophisticated Programmers

Many of these utility programs havebeen developed and tested for in-house use while producing The Con-troller"' business package for AppleComputer Inc.

Each programming aids packageincludes a program diskette and verycomplete documentation, all attrac-tively packaged in a padded, blueprint vinyl 3-hole notebook with sil-ver lettering. An identifying tab sepa-rates each program for convenientreference.

See your Apple dealer or contactDakin5 Corporation. P.O. Box 21187,Denver. Colo. 80221. Telephone: 800-525-0463. VISA or MC welcome.

5j

DAKIN5 CORPORATION

<Jfc Components Express, Inc.

^7 "Have you Kissed your computer lately7''

1380 E. Edinger. UnttCC Santa Ana. CA 92705(714) 558-3972

BROAD BAND MICROWAVERECEIVER SYSTEM1.8GHZto2.4 GHZ

only$295.00

/B'DD

ALARM

RANGE:SCOPE:

With built-in-converter to channel2, 3, or 4 of any standard TV set.

Line of sight to 250 miles

Will receive within the frequency band from satelites. primarymicrowave stations, and repeater microwave boosterstations

CONTENTS: Packaged in 19"x19"x4 1/2" corrugated carton completewith:

• 24" Dish • 300 Ohm to 75 Ohm Adapter

• Feed-Horn Receiver • 750 Ohm to 300 Ohm Adapter

• Mounting Bracket • 60 Feet Coax Cable with Connectors

• Mounting Clamp • 3 Feet Coax Cable with Connectors

• Instructions

WARRANTY:

180 days for all factory defects and electronic failures for normal

useage and handling Defective sub assemblies will be replaced

with new or re-manufactured sub assembly on a 48 hour exchange

guarantee.

This system is not a kit and requires no additional devices or equipment other than

a TV set to place m operation DEALER INQUIRIES INVITED.

The ZVX4 MEGABYTER is for the APPLE II userwho wants to DOUBLE file size, expand thecapability of existing business software, and makeother SERIOUS applications more viable.

Now you can have compatibility with IBM,INTEL, CP/M*, Z80 Softcard*, UCSD Pascal, andothers.

Look what the MEGABYTER dual density 8"floppy disk controller, with its LSI circuitry andreliable industry standard IBM 3740 format,means to you:

INCREASED STORAGE

• Increase online storage to 2 Mega bytes

• Double your maximum accounts and file size

• Add high capacity efficient hard disk backup

• Control up to 4 Shugart SA800/SA850 drives

IMPROVED COMPATIBILITY

• Operate APPLE DOS 3.1/3.2/3.3, mini disks

• Preserve existing software investment

• Interchange data with other computers

SIMPLIFIED OPERATION

• Reduce disk handling and I/O slot usage

• Gain automatic single/double density operation

• Change to double sided drives with one switch

Available at your Apple dealer. Call or write today!!

> SVA> S

SORRENTO VALLEY ASSOCIATES

722 SORRENTO VALLEY ROADSAN DIEGO, CA 92121(714] 452-0101

* CP/M trademark of Digital Research, Inc.Z80 Softcard trademark of Microsoft, Inc.

Circle 60 on inquiry card.

BYTE August 1981 337

structures: the supplier produces elements, and the pro-gram that invoked the loop construct consumes them. Aswe saw earlier, one way to do this is to assign respon-sibility as follows:

Producer

implements:delivers values by:

Consumer

receives values using:

do: aBlock

aBlock value: theNextElement

:elementName|dosomethingToTheElement]

Under this arrangement, the producer can use any desiredcontrol structure internally, just by sending the message:

aBlock value: theNextElement

to the block whenever a new element has been generated;the consumer, however, is confined to executing the sameblock for each element. The other arrangement reversesthe situation:

Producer

implements: atEnd, next

delivers values by: returning a value from next

Consumer

receives values using: producer next

• RS205

• AP101 Apple II with Single Disk Drive $109

• AP102 Apple II with Double Disk Drives 119

• AP103 Apple II, 9 inch Monitor & Double Drives ... 129

• AP104 Apple ///, two additional Drives & Silentype 139

• AP105 12 inch monitor plus accessories 99

• RS201 TRS-80 Model I, Expansion Unit & Drives , 109

• RS202 TRS-80 Monitor or TV set 84

• RS204 TRS-80 Model III 129

• RS205 Radio Shack Color Computer 89

• P401 Paper Tiger 440/445/460 99

• P402 Centronics 730/737 - Line Printer ll/IV 89

• P403 Epson MX70 or MX80 89

• CC90 Matching Attache Case 75

compter case company $$,_,.

5650 INDIAN MOUND CT. COLUMBUS. OHIO 43213 (614) 868-9464 mmd

Under this arrangement, the producer has to use instancevariables, rather than control variables, to rememberwhat state it is in, but the consumer can call for newelements using any control pattern it wants.

The control structure coroutines allows both the pro-ducer and consumer to use any control pattern. Noticethat in the first arrangement, the producer has to retainits argument aBlock to be able to send it value: for eachelement; in the second arrangement, the consumer has toretain the producer to be able to send it next for each ele-ment. In the coroutine arrangement, both sides retain acommon object called a port. The purpose of the port isto remember the control state of one partner while theother partner is running. Let us now build a port in whichthe consumer invokes the producer with the messagesnext and atEnd, and the producer invokes the consumerwith the messages nextPut: anElement and markEnd. Aloop in this implementation might look similar to thefollowing:

Consumer

| first second |

portForProducer — someCollection asProducer."Here is a sample loop that takes elements two at a time"[portForProducer atEnd]whileFalse:

[first — portForProducer next.

second — portForProducer next.

"Do something with first and second"]

Producer Collection

asProducer | port |

port — Port new.

port producer: [CollectionProducer of:self with: port],

"Create a new process for the producer"t port

C ollectionProducer

of: aCollection with: portForConsumer | |

"Here is a sample loop that generates elements three at atime"

[someConditt'on]

whileTrue:

[portForConsumer nextPut:

someComputation I.portForConsumer nextPut:

someComputation2.portForConsumer nextPut:someComputation3].portForConsumer markEnd

The code in both consumer and producer can involveany combination of loops, messages, or other controlstructures: the consumer can request a new element atany time with portForProducer next, and the producercan deliver an element any time it has control with port-

338 August 1981 © BYTE Publications Inc

Circle 68 on inquiry card.

Circle 376 on inquiry card.

Circle 403 on inquiry card.

Expand Your

HEATH/ZENITH-89

• MP/M, multi-user, multi-terminal $ 375

The MDBS Networking Data Base

System with Query,

Recovery, Logging, Restructure, more

$1400

• Mass Storage

8" REMEX drives, single

dual

ST506 5MB ^Winchester

with two drive ACT controller

$1650$2350$1400$2500

• GRAPHICS for the Z-89

Maxtek 512x240 graphics board $ 850

• New IDS Tiger 560 Printer,14.5", Hi-Res Matrix with

Plot and Word Processing firmware $1595

• PLUS, the whole Magnolia Microsystem line

(discounted up to 10%)

Mco

DEVELOPMENT

CORPORATION

1445 Koll Circle, Suite 111. San Jose, CA 95112 • (408)947-1101(call 800/555-1212 for our toll free number)

adio /hac

COMPUTERS

saveI

$

TRS-80MODEL II64 K26-4002

CALL US

For Low, Low

Prices on All

RADIO SHACK

Hardware and

Software

Reg. S3.89900

$3,439°°

TRS-80 MODEL48 K; 2 Disks26-1066

Reg. $2,495°°

$2,220°°

We Pay Shipping

No Tax on Out of State Shipments

Warranties Honored byRadio Shack Stores

(209)526-1475

Radio /hack

221 McHenry Ave.Modesto, Calif. 95354

Certified Checks

Cashiers Checks

Credit Cards

Franchise Store 70 79

Circle 332 on inquiry card.

BYTE August 1981 339

ForConsumer nextPut: anElement. Interleaving a con-sumer that wants pairs of elements with a producer thatgenerates triplets is a very simple example of the freedomthat both partners enjoy in this arrangement.To implement Port we need to consider how Smalltalk

class name

superclass

instance variable names

class messages and methods

Port

'none added here"

consumerSemaphoreproducerSemaphorenextElementendMark

'none defined here"

instance messages and methods

initialize

producer: aBlock | |

"Assume we are running in the consumer process, so create anew process for the producer."

endMark — false.

consumerSemaphore — Semaphore new.producerSemaphore — Semaphore new.producerSemaphore signal. "So producer will proceed

the first time"

aBlock forkconsumernext | anElement |

consumerSemaphore wait. "Wait for producer to deliver

an element"

endMark ifTrue: "No more elements"

[self error: 'Attempt to read past last element'anElement — nextElement.producerSemaphore signal. "Restart producer"! anElementatEnd | I

consumerSemaphore wait. "Wait for an element or end

mark"

consumerSemaphore signal. "Doesn't consume the ele

ment"

t endMark

producer

nextPut: anElement | |

producerSemaphore wait. "Wait for consumer to havetaken last element"nextElement — anElement.consumerSemaphore signal "Restart consumer"markEnd | |

producerSemaphore wait.endMark — true.consumerSemaphore signal

Table 11: Class template for class Port.

allows us to get hold of our current control state, sincewhenever control goes from consumer to producer orvice versa, we have to save the state of the partner that isgiving up control. For just such purposes, Smalltalk pro-vides a primitive notion of a process, an entity which hasits own control state and can be suspended and resumed.The usual way to create a new process is with:

aProcess — [someComputation] newProcess.

The process can then be started up by:

aProcess resume

and it will compute "in parallel" with the current com-putation until it finishes someComputation or it (or someother process) executes:

aProcess terminate

which stops it midflight. Alternatively:

[someComputation] fork

creates and starts an unnamed process that will proceeduntil the computation finishes.

To allow processes to synchronize their control or theiruse of data in an orderly way, Smalltalk providessemaphores. A semaphore logically represents the cur-rent availability of a finite resource: aSemaphore signalindicates that one unit of the resource has just becomeavailable, and aSemaphore wait indicates that the cur-rently running process needs to take one unit of theresource and must wait if none is available (presumablyuntil some other process does aSemaphore signal). Auseful special case of this is a semaphore that alwaysholds either 1 (meaning a resource is available) or 0(meaning it is unavailable).

As an aside, we note that semaphores could have beenimplemented in Smalltalk (ie: not as primitive entities) ata considerable cost in performance: we only need theability to temporarily guarantee that no other processcould run aside from the one currently running (on thisprocessor in a multiprocessor system). Smalltalk pro-vides semaphores at a primitive level because they aresuch a help in building multiprocess systems that wewanted people to feel free to use them without worryingabout their cost.

Given processes and semaphores, we are ready toimplement Port (see table 11). The producer and con-sumer will each run in a process of their own, and we willuse semaphores to make sure only one of them is runningat a time. (The reader can easily imagine and might enjoythinking about a version of coroutines which allows theproducer to "get ahead" of the consumer. This requires aqueue between the two, like the SharedQueue we willdevelop later.) The "resource" controlled by thesemaphores will be free access to the variables in the port,nextElement and endMark, under the following arrange-

340 August 1981 © BYTE Publications Inc

Circle 208 on inquiry card.

GENERAL LEDGER • PAYABLES

RECEIVABLES • ORDER ENTRY

INVENTORY CONTROL • PAYROLL

JOB COSTING • WORD PROCESSING

DATA BASE MANAGEMENT

Quick up and running

Step by step instruction manual

Complete instructions—over 900 pages

Free telephone assistance

All Bookkeeping packages are Interactive or Stand Alone

Originally developed by Osborne and Associates

Return within 15 days if not satisfied for refund

CRT independent—runs on any terminal

Requires 2.2 CP/M and 2.07 C-Basic

Up and running on: Altos, any 8 Single density CP/M

system format, Altos, Cromemco, Dynabyte,

TRS-80 Mod II, Northstar DO, Vector Graphics.

Many others. Sample data with each program

General Ledger $195

Payables $195

Receivables $195

Payroll and Job Costing ..$195

Order Entry $395

Manuals for above $20

Inventory $395

(Manufacturing)Inventory $395

(Wholesale)Inventory $395

(Retail)Manuals for above $20

MARATHON COMPUTER SYSTEMS575 Middlefield Road Suite #JPalo Alto, CA 94301, 415-328-5391■ Master Charge • C.O.D. • Company Check

TRS-80 is a Trademark of Radio Shack, Inc.CP/M is a Trademark of Digital Research, Inc.

VISA

Spelling Errors?Does your TRS-80" word processor need help?

"i^MADUr

CAN SPELL rendezvous AND mnemonicAND OVER 38,000 OTHER WORDS

Now let your TRS-80 and Proofreader by Soft-Tools check your Scripait*.Electric Pencil, or other documents for spelling and typographical errors.It has all of the features needed to meet your proofreading requirements.

• Checks every single word of even your biggest documentin under 5 minutes.

• The 38,000 word dictionary is one ot the largest available.

• Dictionary can be easily extended to add more words suchas technical terms or names.

1 All unknown words are listed on the screen and can be savedon a file for printing.

i Works with almost any TRS-80 wordprocessor includingScripsit and Electric Pencil.

• Comes with complete and easy to understand User's Manual.

• Developed for the TRS-80 by a Ph.D. in Computer Science.

MODEL-I Requires 32 K RAM. I disk drive. TRSDOS* or NEWDOS $54.00

MODEL-II Requires 64KRAM.1 disk drive. TRSDOS Version 2.0 5109.00

MODEL-MI Requires 32 K RAM. 1 disk drive. TRSDOS $64.00

User's Mannn! only, specify model $3.00

When ordering, specify model, memory size, number of drives.

Other professional quality software tools available from Soft-Toolsinclude: SOFT-SCREEN"- a full screen text editor for the Model-IIand 111. Halfor- a structured programming language pre-processor forFORTRAN. PP-Ratfor - an automatic program pretty printer for Ratfor.plus more in the coming months. Please call or write for more details.

Orders tent postpaid by Mm class mall.

T«imi: Cash, chack, monay order. VISA,or MASTERCARD. NM rasldanti add 4% tax.

Dealer Inquiries Imrlled

Proofreader, Soil-Tools, and Soil-Screen are trademarks of Soil-Tools.

• Trademark ol Tandy Corporation

80trtr-rij0©it,9

P.O. Box 339

Depl. B

Tljaras, NM B7059

(505) 2B1-1634

TOLL FREE OUTSIDE CALIFORNIA 1(800) 423-5886

QSTAR PRESENTSthe ORAM

16K Ram Expansion Boardfor the Apple II *

loKjeAMOBAM

'' by &STAR Computes- inc.

Expands your 48K Apple to 64Kof programmable memoryWorks with Microsoft Z-80 card,Visicalc, LISA ver 2.0 and othersoftware

Includes installation and manudlFully assembled and testedFULL ONE YEAR warrantyincluding parts and labor

• Eliminates the need for an Applesoft" or Integer Basic ROM Card

Introductory Price: $149.00

■ Apple is a registered trademark ot Apple Computer, Inc.

Apple II &II Plus

16K-Call

32K-Call 48K-Call

APPLE III is Here

CALL TODAY and be the first to havethe most powerful professionalcomputer in its class!

•' jcippkz computer'•Authorized Dealer

MONITORS

9" Black and White Only $185.Also available In Sanyo12" Black and White12" Green and Black $225

PRINT WHEELS ANDTHIMBLES

Huge selection for Qume, Diablo,NEC. Plastic or metal. Call

APPLE CARDS

Hi-Speed Serial Interface • Communica-tions Interface • Parallel Printer Interface

• Hobby/Prototype • Integer Basic Firm-ware • Applesoft Firmware

NEC

Letter quality high speed printer, bidirec-tional, high resolution plotting, graphics.R0 with Tractor Feed S2865 • KSR withTractor Fee $2995 • Paper Tiger 445with Graphics $699.00 • AnadexDP9500 $1449 DP 8000 $849 •Epson MX 80 Call

DYSAN DISKETTES

8" (Box of 10) 37407 lsglside/sgl density S4.503740/lDsglside/dbldenS6.95eo. M-

5" (Box of 5) 104/1 soft sector

107/1 10 sectors

105/1 16sectors S4.50eo.

AMPEX Dialogue 80

Dialogue 80 fully -featured video terminal i

• Full ASCII with numeric and editkeypads

• Elegant case with detachable keyboard

• Display 24 lines with 25th status line

• 20 user programmable function keys

• 2 pages display memory (4 optional)

• 11 graphics and 21 control codes

• 10 modes including block, protect,program

• Transparent mode displays controlcodes

DIALOGUE 80 $1045

THE HP-85

The HP-85 is a powerful BASIC language computer complete with keyboard, CRT display,printer, and tape drive - all in one compact unit.

OUTSIDE CA CALL TOLL FREE 1 (800) 423-5886. IN CA (213) 996-2252

SEND ALL MAIL ORDERS TO:

Telex: 1820852Answer: MICKOTZNA

I MICRO

| BUSINESS WORLD18720 OXNARD, SUITE 108,TARZANA.CA 91356Prices subject to change without notice. Please allow time for checks to clear. Add 2 % torshipping and handling - $5.00 minimum. California residents please add 6 % sales tax.Sorry, no C.O.D.

WHEN IN CALIFORNIA VISIT OUR RETAIL LOCATIONS'" c0ormapnuC.^wor|ddale '" Woodland Hills

16206 Hawthorne Blvd.(213)370-1577

20929 Ventura Blvd.(213)704-6895

Circle 350 on inquiry card.

Circle 222 on inquiry card.

BYTE August 1981 341

Consumer

"In portForProducer next:"consumerSemaphore wait.

"Semaphore started with 0, consumer waits.

Prodi

"In port nextPut:"producerSemaphore wait.

"Semaphore started with 1, now has 0"nextElement — anElement.consumerSemaphore signal.

"Semaphore started with 0, now has 1"anElement — nextElement.producerSemaphore signal.

"Semaphore had 0, now has 1"t anElement

"nextPut: returns, producer proceeds.""Later, producer does another port nextPut:producerSemaphore wait.

"Semaphore goes from 1 to 0 again"

Table 12: Dialog between consumer and producer objects using the Port defined in table 11.

ment: when consumerSemaphore has a 1, it means next-Element has something in it (or endMark has been set)and the consumer needs to run; when pro-ducerSemaphore has a 1, it means nextElement is vacantand the producer needs to run. Notice that the next andnextPut: methods are very similar.

A partial trace through an exchange of control wouldlook like the dialog shown in table 12. Note that if theproducer reached the second wait before the consumertook the first element, the producer would wait until theconsumer did the producerSemaphore signal. A fulldiscussion of how semaphores should be used to produceminimum waiting, minimum process switching, and cor-rect synchronization is beyond the scope of this article;one important and useful special case will be presented in

the following section.

Monitors—Asynchronous Structures

Even in personal computer systems there are oftenreasons to allow for the possibility of several things hap-pening "at once" (ie: not synchronized with each otherbeforehand). The best examples involve communicationwith other users. For example, your machine could belistening for incoming messages through a network con-nection. But even on an isolated personal machine, youwould like to be able to start the system on a time-consuming project (like printing on a hardcopy device)and continue to do interactive work. As we saw before,Smalltalk provides the ability to create independentprocesses and set them going "in parallel," and provides

WE'VE DONE IT AGAIN:

64K OF S-100 STATIC RAM — PLUS Z80A CPU BOARD— FOR AN AMAZINGLY LOW $899!

That's right, $899. . .and Mullen ComputerProducts makes it possible! We bought a batch ofproduction overrun Z80A* CPU boards, along with staticRAM boards with some minor cosmetic defects, from aleading IEEE-696/S-100 board manufacturer. Forexpanding present systems or upgrading older systemsto the current state-of-the-art, these boards are thelowest priced around. But you don't sacrifice one bit ofquality—here's what we mean:

64K Static RAM—Includes bank select andextended addressing for maximum flexibility. Fastlow power operation, many convenience features.

CPU Board —Runs at 4 MHz and takes fulladvantage of all Z-80A features. Features includemaskable interrupts, extended addressing, RAM/ROMsockets for optional RAM/ROM, and much more.

Boards may be assembled or partially assembled;instructions included on how to complete partiallyassembled boards (takes less than an evening's work),along with all other documentation. Best of all, you'llend up with the same reliable, low power performanceyou've come to expect from the boards made by thisprominent company.

Don't miss out on the CPU/memory deal of theyear—these are limited quantity, first-come-first-served.

32K STATIC RAM BOARDS ALSO AVAILABLE SEPARATELY FOR $399.

Same boards as described above; all that's needed to complete these fast, low power memories is to insertsome ICs Into the board's sockets and solder In a few other parts. With Instructions and all components. Don'tmiss out on this exceptional memory offer! (Limited quantity, flrst-come-flrst-served.)

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94544

CONDITIO

$1 50 (Of shipping and h

mm

342 August 1981 © BYTE Publications Inc

Circle 262 on inquiry card.

oooo

oooooooooo

oo

o

o

BUY COMPUTERSBY MAIL ORDERAND SAVE 16%

APPLE HARDWARE

48K $1,199.00

Disk with Controller $ 540.00Disk $ 440.00

Pascal $ 445.00

Graphics Tablet $ 655.00

Versawriter Digitizer System

$ 215.00

ATARI 800 16K $ 775.00

PRINTERS

Tl Basic Serial $1,495.00

Epson MX-80 CALL

Centronics 737 Parallel

$ 719.00IDS 560 $1,395.00

TERMINALS

Zenith Z-19Soroc IQ120

Televideo 950Televideo 920CTelevideo 912CADDS Viewpoint

789.00729.00989.00759.00729.00589.00

SOFTWARE

Superbrain Double Density 64K

$2,650.00Quad Density 64K $2,977.00

NORTHSTAR

Horizon-2-64 QD

$3,350.00

VERBATIM & MEMOREX

5%" $ 27.50

MONITORS

Leedex 12"BSW12" GP

$ 138.00$ 152.00

Send certified check (regular checks require 2 weeks to clear) orcharge to VISA or Master Charge. Customer pays shipping.

MIRO COMPUTERS, INC.

27 Long Meadow Place South Setauket, LI., N.Y. 11720(516) 423-7955 call mon.-sat.. ioam-6pm

Circle 220 on inquiry card.

V

oooooooooooooooooo

Circle 294 on inquiry card.

Take Along YourApple

/MCROCASE

Convenient for Business, School, Home or Travel

Pack your Apple in lightweight /MICROCASE. /MCROCASEholds Apple II or Apple II Plus, two disk drives and Silentypeprotected by five inches of dye cut foam inside a plasticshell with a foam divider pad. Outside case is made ofheavy-duty codura in Cobalt Blue or Desert Tan. /MICRO-CASE is waterproof, weighs under 4 lbs., and withstands150 lbs. of pressure. Your Apple never had it so good!'Available at your dealer or through manufacturer withmoney back guarantee.

One Time Only Offer! Aug. 1 - Sept. 15 $99.00

(after Sept. 15, $120.00)Send check or money order to:

Casemaker

13715 Quito Road • Saratoga, CA 95070(toll tree) 800/543-3000 ext. 3622

7MCROCASE also available for Epson printers

MARYMAC INDUSTRIES, INC.

In Texas Orders

Questions & Answers

1-713-392-0747

21969 Katy FreewayKaty (Houston) Texas 77450

To Order1-800-231-3680800-231-3681

SAVE BIG DOLLARS ON ALL TRS-80 HARDWARE & SOFTWARE

TRS-80 BY RADIO SHACK. Brand new in cartons delivered. Save state sales tax.Texas residents add only5% sales tax. Open Mon.-Sat. 9-6. We pay freight and insurance. Come by and see us. Call us for a refer-ence in or near your city. Ref: Farmers State Bank, Brookshire, Texas.

WE OFFER ONREQUEST

Federal Express (Overnight Delivery)

Houston IntercontinentalAirport Delivery (Same Day)

U.P.S. BLUE (Every Day)

References from people who havebought computers from us probablyin your city

m

0 1

\ss

Jzsgss

ha0

0

§1£2

ns^w

Telex 77-4132 (Fleks Hou)

' TRS8D is a Registered Trademark of Tandy Corp

ED McMANUS

00

0

In stock TRS-80 ModelII and III

No Tax on Out of Texas Shipments!

10% 15%

OR MORE

We Specialize In Overseas Shipments

Telex 77-4132 (Fleks Hou)

WE ALWAYSOFFER

0 NO extra charge for Master Card

or Visa0 We use Direct Freight Lines. No

long waits.

0 We always pay the freight andinsurance

0 Toll free order number

0 Our capability to go to the giantTRS-80 Computer warehouse 5hours away, in Ft. Worth, Texas,to keep you in stock.

JOE McMANUS

Circle 211 on inquiry card.

BYTE August 1981 343

class name

Queue

superclass

Object

instance variable names

array writer reader

class messages and methods

creation

new: size | |

t self allocate init: size

instance messages and methods

initialization

Inlt: size | |

array — Array new: size.

reader — 0.

writer — 0

access

removeFlrst | |

reader — reader + 1.

t array at: reader

addLast: anElement

writer — writer + 1.

array at: writer put: anElement

Table 13: Class template for an initial implementation of

class Queue.

Process A

Process B

reader — reader + 1

reader —

reader +

.

t array at: reader

1 array at

reader

Table 14: Execution of

the

removeFirst me

thod using

the

implementation of table

13.

class name

superclass

instance variable names

class messages and methods

SharedQueue

Object

array writer readeraccessSemaphore

creationnew: size | |

t self allocate init: size

instance messages and methods

initializationInlt: size | |

array — Array new: size.

reader — 0.

writer — 0.

accessSemaphore — Semaphore new.

accessSemaphore signal "Give it the baton"

Table 15: Class template for class SharedQueue.

semaphores for synchronizing their behavior.

From semaphores we can easily build a more usefulconstruct, called a monitor. The purpose of a monitor isto allow several processes to communicate with a datastructure without getting in each other's way; failing toprovide for this is another common source of bugs—con-sider the simple-minded implementation of a queue givenin table 13. (The reader should ignore the obvious bugs:there is no check for an empty queue or for exceeding thesize of the array.)

Suppose two processes both try to remove an elementat about the same time, and the removeFirst method getsexecuted as shown in table 14 (the flow of time is verticaldown the page, interleaving the statements executed byprocess A in the left column and process B in the right).One element is skipped—and one is returned twice! Thesolution to this problem is to consider "permission to up-date the state of the queue" as a resource that only oneprocess can hold at any given time, like the baton in arelay race. So we can construct a safe Queue by giving ita semaphore that starts out with one unit of the resource(see table 15).

A pattern we will encounter in the implementation ofSharedQueue will be to reserve a resource during theexecution of a piece of code:

someSemaphore wait.someComputation.someSemaphore signal

"Acquire the resource"

"Release the resource"

The code someComputation is called a critical section.We would like to be able to write the previous code frag-ment as:

someSemaphore critical: [someComputation].

class name (existing)

Semaphore

superclass

"none added here"

instance variable names

"none added here"

class messages and methods

"none added here"

instance messages and methods

critical sectionscritical: aBlock | result

self wait. "Acquire the resource

result — aBlock value. "Do

result"

self Signal. "Release the resourc

t result "Return the result of the

the computation, save the

e"computation"

Table 16: Template showing additions to existing classSemaphore.

344 August 1981 © BYTE Publications Inc

Circle 119 on Inquiry card.

Circle 236 on Inquiry card.

Disc/3

MART, INC.

GO FOR IT!

FOR PRICE,QUALITY& RELIABILITY

ACOUSTIC COUPLERS CALL

ADDS VIEWPOINT Terminal $ 585.00

ANACOM Printer (Ser/Par) 150 CPS 1095.00

ANADEX Printer DP-9000 1199.00

BASE 2 850 Impact Printer 700.00

EATON Dot Matrix Parallel 399.00

EPSON Printers (All) CALL

MICRO TERM Terminals CALL

OKIDATA Microline Series CALL

PAPER TIGER 460G 1145.00

COMBINATION SPECIAL:

Apple II Plus 48K, w/Drive & Controller;Epson MX80 Printer,Interface & Cable 2225.00

CALL FOR QUOTES ON ANY OTHER MICRO PRODUCTS

We are dealers for BASF, DYSAN, 3M(SCOTCH) Dis-kettes, Cartridges, Mag Tape, etc. In addition we carry acomplete line of Printer Ribbons and other data process-ing accessories.

i^,l_^Ji^g 1840 LINCOLN BLVD.,

lT||M|m #\3 SANTA MONICA, CA 90404UIjL/ J] (213) 450-5911 icall collect)

MART, INC PRICES SUBJECT TO qHANGf

CompleteAIM 65Expansion

For complete AIM 65expansion, Fore-thought Productsbrings you the AIM-Mate Series, qualityexpansion products withprice, performance and versatility that puts them in a class oftheir own.

AIM-Mate Series expansion, including RAM (to 48K),PROM, I/O, video and floppy disk interface, STD BUSinterface, parity protection and more, lets you con-figure the kind of system you need.

The compact AIM-Mate case puts it all together in asturdy, portable, desk top unit.

Write today for complete details on the AIM-MateSystem- AIM 65 expansion products for theprofessional.

/[FORETHOUGHTImSPRODUCTS

87070 Dukhobar Road, Eugene, Oregon 97402 (503) 485-8575

Introducing a totally new world

in professional software for the

Apple II and Commodore Pet.

Until recently, the tremendous explosion in micro-computer technology left an unfilled void in realquality software. MicroCraft Systems is totallydedicated to filling that void for the Apple II and theCommodore Pet. With powerful, elegant and ver-satile software.

Beyond the software house. To acomplete 6502 development system.

More than a software distributor or discount house,MicroCraft Systems now provides you with accessto a whole new spectrum in software systems.MicroCraft software includes: MacroLink, a com-plete macroassembler for the 6502, SuperEdit, afull-screen editor with a superb range of powerfulcapabilities plus, DiskScreen, a screen-orienteddisk utility. Complete System $200/$40

MacroLink

$125/$20

Uses text files for source code • Links source codeor object code programs • Fully nestable file in-clude capability • Recursive macros • Nestableconditional assembly • Over 50 error messages •File I/O macros • Sample programs • Disk assem-bler: source code need NOT fit in memory.

SuperEdit

$75/$20

Full Screen Editor • Single keystroke commands •Uses standard text files • Move cursor by character,line or page • Block move and copy • Search andreplace • Macro capability • Plus extra software:SuperEdit '56 x 27' provides 56 x 27 characterscreen for Apple II • And more!

DiskScreen

$40/$10

Displays a complete sector in hex and ASCII • Com-pletely visual and interactive • Sector move andcopy • To change byte value, move cursor and type.

NOTE: All programs require single disk drive. MacroLinkalso requires 48K. First price: software and man-ual. Second price: manual only (applied towardpurchase of software).

Call or write for our complete MicroCraft Systemscatalog at no extra charge. Other programs include:S.T.A.R. Reading Program • "C" Compiler • Gra-phics Development Systems • Programs in ROM •SuperEdit for 80 x 24 video cards

inju

Circle 140 on Inquiry card.

MicroCraft Systems, mc.

In software systems, a name to remember.

188 Kerby Road

Grosse Pointe Farms, Ml 48236

(313)881-3089

Source I.D. CL0472 MicroNet I.D. 70270,222

VISA or MasterCharge accepted. Inquire at your localcomputer store or order direct.

The system actually provides this message to Semaphore,with a straightforward implementation which is shown intable 16. It is then easy to appropriately modify the twomessages in SharedQueue (see table 17).

If two processes try to access the queue, the inter-change shown in table 18 occurs (with a few steps leftout). Note that the variable anElement is a local variable,and since the two processes have different contexts(despite the fact that they share the same instance ofSharedQueue in this example), the variable anElement inProcess A is different from anElement in Process B.

class name

SharedQueue

superclass

"none defined here"

instance variable names

"none defined here"

class messages and methods

"none defined here"

instance messages and methods

access

removeFlrst anElement |

1 accessSemaphore critical:

tion of the block"

[reader — reader + 1.array at: reader]addLast: anElement

accessSemaphore critical: "Rtion of the block"

[writer — writer + 1.array at: writer put: anEI

'Reserve access for the dura-

eserve access for the dura-ement]

Table 17: Class template for class SharedQueue.

Final Comments

Many languages don't have the flexibility we've justdescribed; others, such as assembly language, have greatflexibility at the expense of readability. What is it aboutthe Smalltalk-80 language and system that makes all ofthe foregoing both possible and fairly readable? Threethings come to mind:

• The existence of blocks, with and without arguments,and the simple square-bracket notation for writing them.This makes it possible to pass a piece of code to the im-plementor of a control structure, which can then executethe code whenever and however it is appropriate.ALGOL and LISP have constructs which capture some,but not all, of the power of blocks.

• The ability to manipulate the control state directly, asin the dynamic binding example. Of course disaster canresult if you aren't careful, but a challenge like this isnecessary to exploit the full power of your imagination.InterLISP (a widely used LISP dialect) has facilities whichcapture some of the power of Smalltalk in this area.

• The accessibility of the entire system to modification.Several of the examples we've described involve addingmessages to fundamental classes like Object andBlockContext. Restraint is important here too. SeveralLISP systems derive tremendous power from this kind ofopenness.

Of course, we pay a price for all this flexibility andsimplicity. A discussion of the time and space cost ofblocks, visible control state, and a completely accessiblesystem is beyond the scope of this article; we will just ob-serve that the elementary instructions which implementcontrol structures (branch, call, and return) take aboutthe same proportion of the total execution time in a typi-cal Smalltalk-80 implementation as they do in more con-ventional languages that don't use globally optimizingcompilers. ■

Process A

accessSemaphore wait

"Semaphore now has 0 units of resource"

reader — reader + 1.

anElement — array at: reader.accessSemaphore signal.

"Process B can proceed now, but immediately

reacquires the semaphore"

anElement

Process B

accessSemaphore wait."Waits here"

reader — reader + I.anElement — array at: reader.accessSemaphore signal.f anElement

Table 18: Execution of the removeFirst method using the implementation of table 17.

346 August 1981 © BYTE Publications Inc

Circle 173 on Inquiry card.

Circle 386 on inquiry card.

Main/Frames,,.. $200

Main/Frames «. $200

• 14 Basic Models Available' Assembled & Tested

i Power Supply:

8v@15A, ± 16v@3A> 15 Slot Motherboard

(connectors optional)1 Card cage & guides

• Fan, line cord, fuse, power& reset switches, EMI filter

1 8v@30A, ± 16v@10Aoption on some models

RackmountedMain/Frame

8" Floppy Main/Frame

(includes power tordrives and main/frames)

Write or call for ourbrochure which includes our

application note:'Building Cheap Computers'

INTEGRAND

8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288We accept BankAmericard/Visa and MasterCharge

™ POWER

Of Your HP-85 or CommodoreSystem Building Blocks...

Pet/CBM With TNW's IEEE-488 Bus

TNW-2000

TNW'S RS-232 SERIAL INTERFACES

Connect your PET/CBM to any RS-232 Serial Printer. Piotter.Terminal. Modem, or other device:

CRT

TNW-10Q0TNW-2000TNW-232D

ONECHANNELOUTPUTONLY

ONECHANNELINPUT ANDOUTPUT

TWO CHANNELS, INPUT & OUTPUT12 RS 232 CONTROL SIGNALS

$129$229$369

TURN YOUR PET INTO A TERMINAL

Access Timesharing Systems and Bulletin Boards with TNW's PtermSoftware and lull service telephone modem:

TNW-103

AUTO ANSWER/AUTO DIALUSE WITH DAA

$389

Pterm also works with acoustical couplers and other modems interfacedto the PET with the TNW-2000 or TNW-232D. Electronic mail and TWXTerminal programs also available. All units are addressable IEEE-488devices, complete with power supply cabinet, full documentation and oneyear warranty.

TNW CORPORATION

3351 Hancock St. • San Diego, CA., 92110 (714) 225-1040

TWX910-335-1194

Visa/Mastercharge Welcome • Dealer inquiries invited

THE SYSTEM INTEGRATERSi

• Are you tired of installing systems that cannot expand to meet your needs?

• Are you tired of the problems of interfacing multi-vendor systems?

• Are you tired of receiving new systems that don't work and waitingdays or weeks for replacements?

• Are you tired of making a computer investment and not receiving theprofessional help and support you deserve?

If you have answered yes to any one of the abovequestions, you need a change!

We have combined the most flexiblemicrocomputer on the market (IthacaOonfa'l^FSlfeooos") with reliable, large capacity floppyand hard disk storage systems from Qume,Memorex, Shugart and Priam, along with themost dependable CRTs and printers availabletoday. Using the industry standard CP/M*Operating System, our turnkey systems aredelivered to you fully assembled, tested andburned in.

PROVEN RELIABILITY — Our turnkey systems havebeen performing daily for over a year in highvolume point-of-sale operations throughout thecountry.

SOFTWARE AVAILABILITY — A wide variety ofapplication software packages are ready forCP/M systems. Our library contains many ofthese systems, and it is expanding daily.

CUSTOM DESIGN — P.O.S. Terminals, hardware andsoftware interfaces between Ithaca Intersystemsand other specialized I/O devices.

COMPETITIVE PRICES — Floppy-based systems startat $7,950, 10MB hard-disk systems with floppyback-up start at $10,650. These are true turnkeysystem prices that include CRT, printer, anddouble-sided/density floppies, tested and burned in.

TALK TO THE PEOPLE WHO SELL CUSTOMER SATISFACTION

Specialized Business Systems

5306 S. Bannock, Littleton, CO 80120(303) 797-8709

'"Trademark of Ithaca Intersystems. Inc.

*CP/M is a Registered Trademark of DigitalResearch.

^

BYTE August 1981 347

Is the Smalltalk-80System for Children?

Adele Goldberg and Joan Ross

Learning Research Group

Xerox Palo Alto Research Center

3333 Coyote Hill Rd

Palo Alto CA 94304

For many years our work on the Smalltalk project hascarried with it the purpose of creating new technologiesthat can be used effectively for instruction, both to teachprogramming and to support the implementation ofeducational activities. While the Smalltalk-80 system isnot specifically designed for school-age children, most ofthe applications that we developed as tests of the earlierSmalltalk systems were.

This article will present a brief history of the develop-ment of the Smalltalk-80 system that focuses on the in-structional uses of its various predecessors. A significantpart of this history is the redesign of the language syntax.Programming in Smalltalk involves creating a languagefor communicating among objects; this language iscreated within the syntactic restrictions of theSmalltalk-80 system. Often the programmer adds anadditional level of syntax in which the language for com-municating among objects is presented in terms ofgraphic images. An example of an instructional activity,the Dance Kit, illustrates the idea of such a language. Itsdesign was motivated by the rich support for generaliza-tion and interactive graphics available in the Smalltalk-80system.

Our original intention in writing this article was todisabuse readers of the idea that the Smalltalk-80 system,like LOGO, is a language for children. We concluded,however, that the other articles in this issue and the twobooks on the system (see references) will easily ac-complish that task. It remains, then, for us to commenton the style of use of the system that our instructionalwork has taught us. Although there are a few placeswhere knowledge of the Smalltalk-80 system is helpful,this article does not, in general, require such knowledge.

Learning to Program in Smalltalk

Initially when we ventured out into the schools toteach programming classes, we used a version ofSmalltalk known as Smalltalk-72 (see reference 3). Ourpurpose in teaching these classes was threefold. First, wewanted to know if the language was teachable. In par-ticular, we wanted to devise an appropriate pedagogical

approach that could provide feedback on the design ofthe user interface as well as a basis for language redesign.And we wanted to begin to find out if software based onthe concepts of objects and message-passing offeredsomething special in the way of problem-solving tools forchildren and adults alike. The outcome of these investiga-tions reinforced the value of the semantics of Smalltalk:that is, from the point of view of supporting computer-based problem solving, we found that the ability toorganize information into objects that can be in-dependently explored and linked together to create newkinds of behavior is a powerful computational tool.

Smalltalk-72 took the approach that the syntax wasdefined by the receiver of the message: the receiver readas much of the message as the receiver's method deter-mined and then passed control to the next remainingtoken, which was seen as the receiver of the remainder ofthe message. This design came out of our assumption thatthe system user should have total flexibility in making thesystem be, or appear to be, anything that the user mightchoose. However, this meant that the only way that areader could understand an expression was to execute themethods in his head. Furthermore, if a human could notparse an expression without executing the methods, thesystem itself would not be able to parse it. ThusSmalltalk-72 was a purely interpretive system, and itsperformance suffered accordingly.

The syntax design (or lack of it) was an example oftaking the "flexibility" position to an extreme. Ourexperience in teaching Smalltalk-72 convinced us thatoverly flexible syntax was not only unnecessary, but aproblem. In general, communication in classroom in-teraction breaks down when the students type expres-sions not easily readable by other students or teachers.By this we mean that if the participants in a classroomcannot read each other's code, then they cannot easilytalk about it. Our intention was that the Smalltalk systemserve as a communication mediator, but the lack of com-munication due to the runtime parsing of expressions washindering this goal.

The Smalltalk-76 system took a stricter approach to

348 August 1961 © BYTE Publications Inc

Circle 207 on Inquiry card.

DON'T BE HELD UP!

QUALITYSOFTWARE

DISCOUNTPRICES

Creative Discount Software256 S. Robertson, Ste. 2156Beverly Hills, CA. 90211

CALL for our catalogTOLL FREE

Operator 831

800-824-7888

Alaska/Hawaii 800-824-7919 California 800-852-7777

Circle 353 on inquiry card.

What's New With The SoHo Group?

WORKSHEET — The CP/M "What-if Language. For any problemthat can be attacked by a row-column spreadsheet, this is the professionalchoice of CP/ M users. Define the cells in your report as numbers or byformulas, try the result, substitute new values, and reiterate it inter-actively. Available for use with Microsoft Basic, CBasic, or the NorthStar Basic-Matchmaker combination. Requires 48K RAM.SuperBatch — Much faster and more convenient than SUBMIT, thisexcellent tool allows you to build batches, "stack"many commands on asingle line of keyboard input, and return control to the keyboard duringa program started in batch mode.

COMPARE — Compares two ASCII files (text, programs, etc.) andidentifies differences including inserted lines. Perfect for use with editorsthat make BAK files (ED. WordStar, etc.).

MATCHMAKER II — This is a very professional piece of systemssoftware that allows CP/ M users to run the powerful North Star Basicinterpreter. North Star Basic has multi-line functions, files that can beaddressed both sequentially and randomly, and many other features.Includes release 5.2.

CP/M for North Star— The North Star factory version. It runs with theNorth Star hard disk system as well as with Horizon and Micro-Disksystems.

North Star Basic and DOS release 5.2 — A really major upgrade. All thesoftware (DOS, Monitor. Basic, etc.) is relocatable.

WORKSHEET Language (MicroSoftBasic. CBasic, or North Star/Matchmaker. . . specify)SuperBatch + COMPAREMATCHMAKER II(includes 5.2)CP/M for North StarNorth Star Release 5.2CP/M plus MATCHMAKERCP/M, MATCHMAKER, WORKSHEETALL SOFTWARE RUNS ON ANY STANDARD CPThe SoHo Group140 Thompson St., Suite 4-BNew York, NY 10012

Note: Horizon, CBasic. CP/M are trademarks of Compiler System:Computers, and Digila] Research respectively.

Mantta

Complete

Only

199.95

19.95

44.95

14.95

109.95

9.95

209.95

24.95

299.95

459.95

RD CP/M SYSTEM

MICROSTAT

Microstat is an advanced statistics package designed tor use in research,education and industry. Microstat is a file-oriented statistics package with aData Management Subsystem (DMS) that creates the data files plus theability to: edit, list, destroy, delete cases, augment, sort, rank-order, lag,move, merge and transform the data. The data transforms include: add,subtract, multiply, divide, reciprocal, log, natural log and antilog, exponen-tial, linear transformations plus adding any number of variables to createnew variables.

Once the file is created, it can be used to produce: Descriptive statistics.Hypothesis tests (mean and proportion), ANOVA (one-way, two-way andrandom blocks), Scatterplots, Frequency distributions. Correlation analysis.Simple and Multiple regression. Time Series, Nonparametric tests (11 ofthem), Crosstabs and Chi-square, Factorials, Permutations, Combinations,and 8 Probability distributions.

The price of Microstat is $250.00 and the user's manual is available for$20.00 and includes sample printouts. Since the printouts reference stand-ard statistics textbooks and journal articles, you can compare the accuracyof Microstat to results produced on much larger systems. No other statisticspackage seems to have the confidence to do that... at any price.

Microstat is available for the North Star DOS and Basic, Microsoft'sBasic-80™ (5.03 or later) and Compiler Systems' CBasic2™. Pleasespecify 8" SD (soft-sectored) or North Star 5V<" disk when ordering.

ECOSOFT

P.O. Box 68602

Indianapolis. IN 46268

(317) 283-8883

l[master charge]

|l THE INTfHBANK CAflD J

INTERCHANGE

If you use the CP/M™ operating system, life just got a whole lot easier foryou. Interchange is a Z-80™ assembly language program that gives you allof the features that PIP doesn't, plus several unique features. Some of thefeatures of Interchange include:

DIR, in the usual fashion, plus listing all files excluding those with a specifiedcharacter. Read/write status is also given.

ERA, as usual plus exclusive erases. In addition, a "Q" switch can be used toquery on each erase, a "W" allows erases of R/0 files without query(normally you are queried), and an "R" switch if system files are to beincluded.

LIST permits printer listings with formatting controlled by TAB, WIDTH,LINES and WRAP. If you are using the QT Systems Clock Board, listingsinclude the date and time.

COPY including exclusive copies and the optional "Q", "W" and "R"switches plus an "E" switch that queries if the file already exists. It alsoallows for changing disks in the middle of a copy if either the disk ordirectory become full. It automatically verifies copies.

STAT, with ambiguous, unambiguous and exclusive listings. It produces analphabetized listing and includes each file length, total directory entries andspace used and unused.

Other commands include RENAME (including ambiguous), HELP, START,END, CLEAR. RESET, DATE, TIME, TAB, WIDTH. LINES. WRAP, OT.SETIT and TYPE. Once you've used Interchange, we doubt that you'll everuse PIP again. The price of Interchange is $59.95 and the manual isavailable for $10.00. Orders must be accompanied with your CP/M serialnumber. Interchange is recommended for a 32K or larger system and willnot run with an 8080 CPU. At the present time, only User 0 is supported.

CBasic2 is a registered trademark ol Compiler Systems.CP/M is a registered trademark ol Digital Research.

Circle 127 on Inquiry card.

BYTE August 1981 349

syntax, making an incremental compiler a vital part ofthe system design. Expressions could be parsed by thehuman reader, although full understanding of the expres-sions required that the programmers choose identifiersand message names wisely. In this way, the programscould be read by other students or teachers. This ap-proach to syntax remains in the Smalltalk-80 system.

In Smalltalk, languages are designed whenever the pro-grammer specifies the message protocol of a class descrip-tion. These are the languages with which objects in thesystem share information among themselves as well aswith the human user. Users can profit enormously fromdefining their own language, learning about their nativelanguage in the process of constructing another. In addi-tion, the concept of classes and instances provides auniform way to organize information in Smalltalk. Com-munication and organization of information are funda-mental aspects of problem-solving activities. In thisregard, the needs of school children match those ofsystem designers.

In order to teach Smalltalk programming, thepedagogical approach we developed is to present a fullyimplemented model of something that the student can useand then modify. The idea is to help early learners growaccustomed to computer interaction and to the notion ofsending messages in order to invoke behavior fromexisting objects. The students can then create two ormore instances of an existing class and, through ex-perimentation with the messages to which the class of ob-

jects responds, discover the similarities and differencesamong the instances. In this way, the students applyobservation and hypothesis-generating skills while enjoy-ing a highly interactive, graphical discourse with thesystem. This latter characteristic depends, of course, onthe user's ability to provide enticing visual displays of theinstances.

We can use this pedagogical approach for learners withvarying levels of skills by adjusting the complexity of theinitial model. Instruction proceeds by having the studentslearn to "read" the description of the model (that is, thecode). They then modify it so that each existing instancedemonstrates a new, shared behavior (ie: the studentadds a message/method to the class description). At thislevel, we are teaching students fairly standard program-ming skills that involve sequencing of messages to ob-jects. The concept of naming variables was previouslyexplored as part of the process of creating instances ofclasses. It is further explored in declaring and using tem-porary variables in support of a method. Self-reference inthe form of messages to the object denoted by self comesnaturally and is not dealt with as extraordinary. Thecurriculum framework we follow involves:

• use of an already existing model

• reproduction of the model with some addition

• substitution into the model to produce a new result

• introduction of the model into new contexts (ie: using itas a component of some other example)

DECLSM1Components

Dependable serviceat discount prices

Domestic MI SMI

and Export

. 1.

A..A Aft f

m 1

■■

-u

vv \

V

V V \

mini

Computer Suppliers,Inc.

25 Chatham Rd., Summit, N.J. 07901Since 1973

(201) 277-6150 Telex 13-6476

©Mini Computer Suppliers, Inc.1979

030181

Fully TRS-80®Compatible

MPI B/51

DISK DRIVE

Includes: Case and Power Supply

In Stock!Limited Quantities.

321

00

W* pay UPS ehargaa' In Continental U.S.

Guaranteed for 90 days!

40 tracks

102K per disk

5 ms track-to-track

Save time... Order by phone

Toll free: 1-800-621-3229

IN ILLINOIS CALL; 312-987-1024

FREE CATALOG

Hundreds of other computerproducts 8t major savings.

Complete systemsand a wide selectionof accessories ata discount.

MidwestComputer IS"'

Peripherals

1467 S. Michigan Ave. Chicago, IL 60605

350 August 1981 © BYTE Publications Inc Circle 246 on inquiry card.

Circle 243 on inquiry card.

Circle 69 on inquiry card.

Circle 8 on Inquiry card.

COMPUTER SYSTEM DESK

Overall Dimensions 60"L x 24"D x 30"H

Terminal Surface 34"L x 24"D x27"H

Shelf Will Accept 21 "W x24"D x 1 2'/l"H

• Designed for commercial use

• Easy to assemble and disassemble

• Radius on outside corners of tops for operator safety

• Separate sbelf for computet and disk drives below work surface

• Lower terminal height for operator comfort

• Standard table height section for printers or work area

• Durable formica covered tops, shelf & legs

• Open back on shelf for cables and ventilation

• Modular construction-can add on as system expands

• Enhances user production by providing effective equipment layout

PRICE $230.00 + SHIPPING (125 LBS)

COMPUTER CROSSROADS

3800 SOUTH TAMIAMI TRAIL

SARASOTA, FLORIDA 33579

813-349-0200

• TRS-80 • APPLE 2 • ATARI • SCORCERER

• "0

i-

m

U

H

E

•

•

H

a

SO

LU

Cfl

3

06

o

u

§

u

(0

•

•

5

FREE!

i

m

K

5

•

H

>

<

The New Adventure International

g

M

Catalog Is available

U

3

now! Write to:

•Cfl

Adventure International

oo

•

Box 3435

58

o

O00

Longwood, FL. 32750

m

so

V)

m

I

SO

•

•

u

H

£

•

y

OS

o

H3DCfl

rj

00

Cfl

TRS-80 • APPLE 2 • ATARI • SCORCERER

o

WA VS5^ INTERNATIONAL

A DIVISION OF SCOTT ADAMS. INC

BOX 3435 • LONGWOOD, FLA 32750

Select a modem for your computer...easy as ABC.

CHOOSE A. The Smart One™, Model CHOOSE B. The Acoustic Modem, Model CHOOSE C. The "Direct Connect"

AM232, with its own built in microcon- AMII/A, for the Apple*. Comes complete Modem, Model AMI L for the Apple*. Comes

trailer. Auto Dials, Auto Answers, Auto with a powerful operating system. Supports complete with a powerful operating system.

Modes (originate/answer), "Direct Con- 25 easy to use keyboard commands and Supports Auto Dial, Auto Answer, 27 easy

nect" for any computer with an RS232 operates interactively with your programs, to use keyboard commands and operates

interface.. .$299.00. No interface card required!... $179.00. interactively with your programs. No inter-face card required!... $289.00.

Be a part of the information revolution. It's tun, exciting, informative, educational. Call or write your order today. COD's accepted.

CHOOSE B. The Acoustic Modem, ModelAMII/A, for the Apple*. Comes completewith a powerful operating system. Supports25 easy to use keyboard commands andoperates interactively with your programs.No interface card required!... $179.00.

i

*"M":«oNE^' T

MICROMATEELECTRONICS, INC.

2094 Front Street • East Meadow, New York 11554 • Telephone 516.794.1072

All "Direct Connect" modems are FCC certified. 'Registered trademark of Apple Computer, Inc.

Circle 239 on Inquiry card.

Circle 143 on inquiry card.

POCKETSTERMINAL

Here's $395 worth of convenience for anyoneworking with digital systems. Carry itanywhere in a pocket, valise or toolkit to enternd retrieve data, run diagnostics, changeconstants, test aata links, etc.

Look at its facilities:

• Transmits 128I ASCII codes•Can display last 30characters received• Displays fullI 64-character ASCIIset on clear 16-segment LEDs25-line RS232/Ccompatible interface•Single 5V supplyrequired at 400mAtypical1110 or 300 baudtransmission selectable► Parity codes, stop bitssellable to your standard•Obeys bell, cursor anddata format control codesPhone or write us tor more details now:

GR ELECTRONICS,

1640 Fifth Street,

Santa Monica, CA 90401.

Telephone: (213) 395-4774.

v* Telex: 65-2337 (BT Smedley SNM).

GET THE BUGOUT OF YOURPROGRA**1

Locate the bug in your

program quickly with the

all-new BUG CATCHER.

Reliable and easy to use,

this timesaver fits easily

in pocket or case.

Functional for any

computer where EPROMs

are used. Capable ofhalting the cpu at anyspecific address. Stoplosing time and patienceBUG CATCHER is theefficient answer.$195 complete (plusapplicable sales tax)

els :ii;ii\

MARTEC SYSTEMS, INC.

P.O. BOX 2069, NEWBURGH, NY 12550 (914)265-4044

One introductory example we employed with elemen-tary and junior high school students was a series of pro-jects to use, modify, and extend the definition of a Boxdescription. A box is an object that looks like a square: itcan be drawn on the display screen or erased. It can growbigger or smaller, and turn right or left, and it can bemoved to different screen locations.

Suppose we create Jill as an instance of a Box:

nil — Box new.

Then jill can grow and turn:

jill grow: 50.

jill turn: 45.

Many boxes can be created:jan — Box new.

jan grow: 25.

jan turn: 90.

Animations and pretty designs come from sending asequence of grow:, turn:, and move: messages to thevarious boxes.

Once the students used several instances of Box, theymodified the definition of Box in order to have all itsinstances follow the display screen cursor as the cursorwas moved about by a pointing device. Generalizationsof Box led to descriptions of triangles, hexagons, andother polygons. Simple games of "leap frog" or space war

352 August 1981 © BYTE Publications Inc

Circle 210 on inquiry card.

Circle 83 on Inquiry card.

COMPUTERWARE

PROGRAMMERS TOOLS Monitor Assembler• Editor • PASCAL • Diagnostics

«*

GAMES % 1 Color Invaders • Action Games

Asteroid Action • Adventures and More

HOME PROGRAMS Data OrganizerHome Finance • Educational Programs

MEMORY • BOOKS • ACCESSORIES

Shipping from Stock

Call or Write:

COMPUTERWARE

Dept. C • Box 6686809 Specialists Encinitas, CA 92024 • (714)436-3512

Computerware is a trademark of Computerware.

Computers, Peripherals, Unlimited!DON'T MISS THIS MONTH'S SPECIALS!!!

19" COLOR MONITORS Manufactured by CONRAC. sludioquality, tull color monitors with built-in de-Gauss, independent RGB & Sync inputs &much, much more. Originally over SI K

Model 051II/I9

Only$47900

• 19" Diagonal Screen

• by CONRAC; Pro-Quality

• 120VAC. 50/60 Hz

• R, G. B & Sync Inputs

• Perfect for Graphics, Etc.

• Locked Access Door

• Ideal Color Monitor for All Purposes

• Like New. Unused (as-is)

Packaging *nd Handling - $20 Pay Shipping On Deln

*Selectric-ll I/O PRINTER

DC stepper motors position the carrierand platen, and the standard "Select ric" select ionand function solenoids offer parallel .controlcapabilities. Driver circuitry not included Fan-tastic bidirectional capabilities for plotting,proportional spacing and more" Used, removedom sophisticated word processors, whole,AS-IS Includes data and info No type elemented. Only...

SO^QOO

igmg & Handling ■ S20 Pay Snipping On Delivery

12" P-31 VIDEO MONITORS oem-qualityi!

Motorola »XM 351, featuring adjust-able horizontal osc. for all displayconfigurations. 117/230 VAC opera-lion, xfr input for isolation. BNC com-posite video input, contrast & bright-ness controls Used, tested, and oper-ational, good cond 16x64 or 80x24formats Originally cost over S200.00'

TOP QUALITY DISPLAY!! DATA INCLUDED.DAISY WHEEL TERMINAL Tested & Functional NOW ONLY *99900

Only

$7000

a 9 each

■ S5 no

Computers,peripherals,Unlimited! r

(Formerly

CFR AssociHtcs Inc I— NEW NUMBER —

617/372-8637

18 GRANITE STREETHAVERHILL. MASS. 01830

Circle 51 on Inquiry card.

BYTE August 1981 353

Circle 272 on inquiry card.

Ultimate STATIC RAM is here!

Bank SelectExtended Address8/16 bit Data

$ 295 16KB$ 465 32KB

Assembled and Tested.

Features: Model 32KUS "Uniselect: 3"

S-100 Bus - confirms with IEEE-696(S100) specifications.

Data-8 or 16 bit wide, compatible with 8 bit or new 16 bit

machines.

Extended Address - 24 bit addressing.

Bank Select - by ports and bits, compatible with Cromemco, Alph

Micro, North Star, and many others.

Fully Static and low power - current is 0.6A typical with 32K byte.

Two separate 16K addressing, 32K bank select with window

capability in any 2K increments, any place within the addressed.

EPROM, 2716, can be mixed with RAM in any place.

Has provision to take new CMOS mem chips with battery back-up.

Will support Z80-Z8000 up to 4Mhz clock, 8086/8088 up to

8Mhz.

Other S-100 Boards Available: Z80 based CPU, I/O Memory Interface,16K Static Ram.

Fully socketed, solder masks, gold contacts and guaranteed for one fullyear. Delivery: from stock to 72 hours. Ordering: you may call for MC,Visa or COD orders. (Add $5.00 for C.O.D.) Personal checks OK butM.O. speeds shipping. Allow 7 to 1 5 days to clear personal checksbefore shipping. Undamaged boards can be returned within 10 daysfor full refunds.Illinois residents add 5Vi% sales tax.

OEM, Dealer pricing available

S.C. Digital

P.O. Box 906 Phone:

Aurora, IL 60507 (312) 897-7749

I

An Atlanta bulletin board system uses a'HayesS-100 modem around the clock. Since March 1979,it has logged over 21,500 calls and been downa mere 10 minutes. For performance like this,depend on the Hayes Micromodem 100.™ Fea-tures include automatic dialing/answering, 45 to300 baud operation, a built-in serial interface anddirect connection to any modular phone jack.

The Micromodem 100 —and Micromodem II™for Apple II* computers — are now available na-tionwide. Call or write for the name of yournearest dealer.

were new contexts in which to place the geometric ob-jects. Students discovered that judicious placement ofgeometric shapes formed pictures, and so "paintingeditors" were popular project areas for the students.

The resource-center approach we took in locating ourcomputer system in a school emphasized shared projects,so that each student might bring a different skill to a pro-ject. Because we feel design is at least as important asimplementation (programming), we encouraged studentswith good ideas for projects to act as resources for thosestudents who preferred to write programs. Miniatureresearch teams seemed to form in a natural way. Thenonprogrammers on the team did their designs bothvisually (by sketching drawings of desired outcomes) andverbally. In the latter case, they designed by determiningthe needed objects and then specifying the language withwhich these objects would interact. The studentsbenefited from the Smalltalk approach to descriptioneven before completing, or perhaps without completing,a running program.

After our experiences in the schools, we felt thatfurther studies of graphical user interfaces were needed inorder to improve the visual feedback Smalltalk providesas its programming interface. The Smalltalk-76 systemwas created primarily as a basis for implementing andstudying various user-interface concepts. It gave theusers, mostly adult researchers, further ability in refiningexisting classes through the use of subclassing. Thismeant that the programmer could now modify a runningmodel without creating a change to already existingexamples of that model. Programming-by-refinement,then, became a key idea in our ability to motivate ourusers.

Contrary to the idea that a computer is excitingbecause the programmer can create something fromseemingly nothing, our users were shown that a com-puter is exciting because it can be a vast storehouse ofalready existing ideas (models) that can be retrieved andmodified for the user's personal needs. Programmingcould be viewed and enjoyed as an evolutionary ratherthan a revolutionary act. The frustration of long hours ofwriting linear streams of code and then hoping to seesome aspect of that code execute was replaced by in-cremental development. Emphasis was placed on learninghow to make effective use of existing system components(objects in the Smalltalk sense). Much of the teaching wedid was to show users how to search for and read -thedescriptions of the many useful components we andothers (and even new users) continued to add to thesystem.

Fundamentally, the Smalltalk approach to softwarehas exciting potential for educational use. But why only"potential"? As the system development work has pro-ceeded from our initial work in the schools usingSmalltalk-72, greater emphasis has been placed on pro-viding a powerful system that is of interest to computerprofessionals as well as children. The Smalltalk-80system, in its approach to providing a programming

354 August 1981 © BYTE Publications Inc

Circle 314 on inquiry card.

Circle 167 on inquiry card.

Circle 194 on inquiry card.

INMAC INTRODUCES

THE SOLUTION TO YOUR MICRO SUPPLY

AND ACCESSORY NEEDS.

• One-Stop Shopping. This new catalog offers over 1,000products specifically for Micro Computers. Compatible withApple. Atari, Northstar, TRS-80s and many others.

• Convenient Ordering. By mail or phone, ordering suppliesand accessories from this catalog will be quick and easy.

• Fast Delivery. We'll ship your order within 24 hours from ourdistribution centers in New Jersey, California, Illinois and Texas.Overnight delivery available.

• Top Quality Products. Virtually all our products areguaranteed for at least one year. Risk-free trial of any productfor 45 days.

Send for your FREE /jj§ MM~MWWW^Jf~*

Inmac Catalog or call ^ Km mm m mmJfm—

(408) 727-1970. Dept. Micro, 2465 Augustine Drive,

Available June 1, 1981. Santa Clara, CA 95051

blHPPI IlfVIIHIHPDI IIFVIHI■PHI IIFVIHIFFI IIFVIHI n■■ HFVIHl7J''*■ IIFVIHI HERE

IIFVIHIIIFVIHIIFVIHI

KIIII / $695.00

M || Hi J I / Cam*ra Ready Integrated CircuitLogic Diagram and Printed CircuitBoard Layout for Double Sided

Cards with up to 100 ICs

CALL or WRITE for DETAILS

AUTOMATEDDESIGN ANDGRAPHICS

LEAPAC SERVICES (916) 381-1717

8245 Mediterranean Way

Sacramento, California 95826

SOFTWARE PRODUCTS

OlympicSales

fa* SERVING YOU SINCE 1947

Company

Main Showroom & Offices: , ■ =

216 South Oxford Avenue visa

Los Angeles, CA 90004

WE HONOR SS

VISA ami MASTERCHARGE l»T*rS]

TELEX: 67 34 77

ORDER DESKS open 7 Days a Week!

7:00 AM to 7:00 PM Mon thru Sat

Sunday Noon to 5:00 PM

Order Desks: (213) 739-1130

TOLL-FREE TOLL-FREE

(outside Calif.) (within Calif.)

800421-8045 800-252-2153

m

HEWLETTPACKARD

Retail Your Cost

HP 85 Microcomputer 3250.00 2595.00

HP 83 Microcomputer 2250.00 1795.00

16K Exp-Memory Module 235 00 259 95

Graphics Plotter 7225 2-150 00 2089.95

Personality Mori, loi 7225 750.00 679.95

2631 B Impact prnter/hvy dty 3950.00 3295.00

Option 020 lor 2631 B 150.00 129.95

8 Disk Drives to choose Irom

82902S 1300 00 1149.95

9895A8"Dual Drive G850.00 5596.00

Graphics Tablet 9111A 2050.00 1699.95

HP 41 CV New 2.2K bytes mem 325.00 259.96

HP41C Calculator 250.00 188.95

Carrl Reailcr (or 41CV/C 215.00 168.95

Printer for 41 CV/C 385.00 284 95

Optical Wand for 41CV7C 125,00 97.95

Quad Ram equals 4 Mem. Mods 95.00 84.95

Memory Modules for 41 C 26.95

HP 97 Priiiirinhlc Printer 750.00 579.95

HP 67 Proiirmhle Calculator 375.00 297.95

HP-34C Progrmble Scientific 150.00 117.95

HP 38C Progrmble Bus. R/E 150.00 119.95

HP-32E Adv. Scientific 55.00 48.95

HP 37E Business Mrinit. 75.00 58.95

We carry a large inventory ol Lihranes,

accessories and supplies.

Write & request our FAMOUS Catalog!Hundreds & hundreds of products-front manymanufacturers-such as SONY, CASIO, VICTORCODE A-PHONE, MATTEL, SHARP, CANON,and no aod on. . .too many to list here!

Alt goods subject to availability; this ad super-Slides all previous ads: we are nor responsiblefor typographical errors; we will meet or beatany advertised prices il the competition hasthe t/oods on hand.

Minimum shipping and handling S4.95.Alt orderssub/ect to verification and acceptance.

[apple computer

™Wc are an AUTHORIZED SERVICINGAPPLE DEALER

the best once in America'.

1GK- 32K-48K-9GK-128KDrive with controller DOS 3.3 and others.80 column earth „ __

Dow Jones & Quote Reporter ,.- &'

DC Hayes Micromodem II

anil others. . .Graphics TabletPascal and Fortran

LanrjnaiiusVisiCalc and more and more

APPLE III 9CK and 128K "CALL USAsk fnt Package One to Three Special Pn

Texas Instruments

Tl 99/4 Hume Computer 950.00

10" Color Monitor (or 99/4 050 00

32K Exp. Mem. Module 399.35

Extended Basic, a MUST for 100.00

32K Module

Speech Syntliesizei 150.00

Disk Memory Drive 500.00RF Modulator 69.50

Telephone Coupler (Modem) 225.00

Printel Isohil statel 400.00

T159 Proi|imhle Calculator 295.00

TI-58C Proiirmhle Calculator 130.00PC-IOOCPtntr/PloIr lor 59/58 225.00

Tl 57 Scientific Calculator 99.95

MBA Finance & Business 70.00

Tl Investmt Analyst 65.00

Tl 55 Slide Rule 40.00

Tl-Proqrmr Hcxiilccml/Octal 65.00We carry a large inventory of software

accessones ami supplies.

$379.95

319.95

314.95

75.00

129.95397.9549.50189.95_3_^9 96

199.9593.95

149.9539.9551.9546.9532.9548.50

OHIO SCIENTIFIC

Professional ComputetC8PDF-48K

Retail Your Cost3495.00 3195.00

• Dual 8" Drives »64 col x 32 line/color

• .7 MIPS / AST1 •Many more stndard features

Fortran & Pascal availableMany other OSl products available-at discounted prices, oi course'

ATARI PERS0NAL

COMPUTERSPECIAL! ATARI 400 (16K)*****

Retail:S595.00 Your Cosr.$339.95

Laoguage cartridge not included;Optional basic language cartridge:S54.95

800 I6K hytesol RAM 1080.00 769.95

410 Program Recorder 90.00 79.95

810 Disk Drive 600.00 469.95

825 Printer (80 col 999.95 779.95

Cenlruuic 737}

820 Printer 140 col impact) 450.00 359.95

83D Acoustic Modem 200.00 159.95

850 Interlace Module 220.00 179.95

Atari VisiCalc 200.00 169.95Large inventory of software and accessories.

PRINTERS

• DIABLO (Letter Quality)630 R102bidirectnal/lraclors1640K109 keyboard tractors639 RO Receive ooly1650K136 keyboard/tractors

• CENTRONICSdot matrix700 9 Parallel, heavy duty704-9 Serial heavy duty737 1 Parallel

737 3 Serial704-11 ParallelPI Electrostatic

• PAPER TIGER445G with Graphics460G with Graphics560G New full size

• EPSONMX 80 ImpactMX 70 Impact

Retail Your Cost2965.00 2699.003072.00 2899.952710.00 2499.953220.00 2999.95

1400.00 1199.95

1795.00 1599.95

995.00 799.95

1045.00 899.95

1370.00 1695.09

495.00 189.95

795.00 695.00

1334.00 1195.00

169500 1399.00

645.00 499.95

500 00 399.95

WE ALSO HAVE• NOVATION Modems

Retail Your Cost

CAT 199 95 159.95

D-CAT 199 95 159.95

APPLE CAT Direct connect 349.96 314.95• SANYO MonitorsHigh Resolution, Number 1 seller!

13" Color (new) high quality 550 00 399.95

12" Greeo Phosphorous 360 00 239.95

12" Black aod White 340.00 219.95

15" Black ami White 370.00 239.95

9" BAV the bestseller' 235.00 149.95

AMDEK(Leedex)High Quality Monitors

129.95159.95

159.95189.95329.95

100 12" BAV, 12 MHz 179.00

100 B0 12" BAV, metal cab., 199.00

space for floppy100-G 12" Green, 12 MHz 199.00300-G 12" Green. 18 MHz 249.00Color I 13" Color, NTSC comp.449.00

input, audio amp & speakerColor II 13" Color, RBG input, 999.00 699.9!

hi res graphics, speaker

• HAZELTINE Video Display Terminals

• SHUGART Disk Drives

• DEC VT100& VT103

Call us for yoor DISCOUNTED price TODAY!

NEW! Frooi Tl-Series 10 Personal Information Terminal Retail 995.00 your Cost 795.00

Circle 275 on inquiry card.

BYTE August 1981 355

interface, focuses more on software development for theprofessional. But the basic design of the system remainsthat of collections of objects. There is a clear layering ofthese objects in terms of system versus user-interface sup-port. Our success in bringing this system back into theclassroom depends upon our ability to create a set ofuseful components (class descriptions) that the user canmanipulate, as well as modify and combine, in order tocreate new components. Among the components alreadydeveloped toward this goal are text and text editors,graphical images and "sketching" and animation editors,as well as "browsers" for seeking out other, alreadyexisting components from libraries of such information.We have begun, but we still have a great deal of workahead of us to design and store in libraries the viewingand controlling components of graphical user interfaces.

Kits for Instructional Activities

So far we have commented on the use of theSmalltalk-80 system for programming. In doing so, wehave placed a great deal of importance on the existence ofa library of components. Such a library is needed forboth professionals and nonprofessionals. In order to im-prove the system for educational use, better support isneeded to assist computer-based curriculum designers indeveloping flexible instructional activities (perhaps in theform of a special library). Several examples of instruc-tional activities that have been implemented in

Now AvailableCOMPUSTAR

SUPERBRAIN O SUPERBRAIN 5MB

East Coast DEALERS & OEM'S wanted

Kramer Systems IntomatInc. is an authorizedestablished distributor ioithe completeInterlec Data Systemline. We have a proverproviding lull supportservices to all of

COMPUSTAR

Model 10Model 20Model 30Model 40

DISC STORAGESYSTEMS

10 MB32MB

9BMB

SUPERBRAIN

SUPERBRAIN QDSUPERBRAIN SMB

SOFTWARE

BASIC-80

BASIC Compiler

COBOL-80

FORTRAN-80

Accounts Payable

Accounts Receivable

General Ledger

Payroll

Word Star

Mail Merge

Data Star

Super Sort

Word Master

Spell Star

Productecord ol

FANTASTICDISCOUNTSAVAILABLE

MAINTENANCE& SUPPORT

On-site maintenance in liiedealer Washington aiea andselected aieas throughout theeast coast

Modular replacement available loall cusiomeis with 48 hour response

r Systems International, Inc. has succiireds oi COMPUSTARS. SUPERBRAINS andINTERTUBES throughout the world.

loin the WINNING TEAM -Fantastic opportunities exist NOW!!!

Call or Write

KRAMER SYSTEMSINTERNATIONAL, INC.

8403 Dixon AvenueSilver Spring. MD 20910

301-585-7480

Smalltalk-72 or Smalltalk-76 are described in LauraGould and William Finzer's "A Study of TRIP: A Com-puter System for Animating Time-Rate-Distance Prob-lems", (see reference 5) and Adele Goldberg's "Educa-tional Uses of a Dynabook" (see reference 2).

More recently, we have been trying to work out theidea of a kit for constructing such activities. By a "kit" wemean a set of components and a set of tools (by means ofwhich these components can be viewed and manipulated)that can be used to create many different but relatedthings. Thus, the VisiCalc program (see reference 1) canbe viewed as a kit for making business forms; any texteditor is a kit for creating textual documents, and any"painting" system such as the Smalltalk ToolBox is a kitfor making sketches (see "ToolBox: A Smalltalk Illustra-tion System," by William Bowman and Bob Flegal, onpage 369 of this issue).

For developing instructional activities, we believe thata kit can be used as an interface to hide the unnecessarydetails of the Smalltalk-80 system. A kit could provide a(possibly graphical) interface to the system for the user(student, teacher or curriculum developer) who prefers tofocus attention on only one or two aspects of the system.In such a kit, we maintain the Smalltalk approach ofselecting objects that respond by receiving a message.The experience gained using one level of the system canbe applied to learning successively lower levels. Of ut-most importance, the code that implements the kit shouldbe accessible at the next level of interface so that the kitcan act as a starting point for further refinement andinstructional design.

For the most part, the kits we have designed create newprogramming interfaces. Most came about by looking atinstructional activities from other systems and seeingwhich ones we liked. We then used the concepts ofSmalltalk classes and instances in order to help usgeneralize the idea of the activity into kit form so that ateacher or student would be able to create personal varia-tions of the activity. The remainder of this articlepresents an example of a kit that could be implemented inthe Smalltalk-80 system.

Invitation to the Dance: Prelude

Imagine that you are a choreographer, able to directthe movements of a dancer on the stage. As the dancerfollows your instructions and you see their effect, youmay modify them, partly to more closely fulfill yourinitial images, and partly because observing the actualexecution may give rise to new creative ideas.

Since you probably don't have access to a real stageand a real dancer, imagine that your computer's videoscreen is the stage on which you can direct the movementof a graphical dancer by means of a simple programminglanguage. You can experiment with different sequences ofinstructions that direct your graphical dancer to replaceparts of itself with other parts (thus raising and loweringits arms and legs) and to move in various directionsacross the screen. The system that allows you to createsuch dances is called the "Dance Kit."

356 August 1981 © BYTE Publications Inc

Circle 190 on inquiry card.

Circle 387 on inquiry card.

Circle 48 on Inquiry card.

TERMINALS FROM TRANSNET

DEC

PURCHASE PLAN ■ 12-24 MONTH FULL OWNERSHIP PLAN • 36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS 2* MOS 36 MOS

LA36 DECwriler II S1.095 S105 S 58 S 40

LA34 DECwriler IV 995 95 53 36

LA34 DECwriler IV Forms Ctrl. . 1,095 105 58 40

LA120 DECwriler III KSR 2.295 220 122 83

LA120 DECwriler III RO 2 095 200 112 75

VT100 CRT DECscope 1.595 153 85 58

VT132 CRT DECscope 1.995 190 106 72

TI745 Portable Terminal 1,595 153 85 58

TI765 Bubble Memory Terminal 2,595 249 138 93

Tl Insigbl 10 Terminal 945 90 53 34

TI785 Portable KSR. 120 CPS . 2.395 230 128 86

TI787 Portable KSR. 120 CPS . 2.845 273 152 102

TI810 RO Printer 1.895 182 102 69

TI8Z0 KSR Printer 2.195 211 117 80

DT80 1 CRT Terminal 1,695 162 90 61

DT80 3 CRT Terminal 1.295 125 70 48

DT80 5L APL 15 CRT 2.295 220 122 83

ADM3A CRT Terminal 875 84 47 32

ADM31CRT Terminal 1.450 139 78 53

ADM42 CRT Terminal 2.195 211 117 79

1420 CRT Terminal 945 91 51 34

1500 CRT Terminal 1,095 105 58 40

1552 CRT Terminal 1.295 125 70 48

920 CRT Terminal 895 86 48 32

950 CRT Terminal 1.075 103 57 39

Letter Quality. 55 15 RO 2,895 27B 154 104

Letter Quality, 55 25 KSR 3,295 316 175 119

_ Letter Quality KSR. 55 CPS ... 3.395 326 181 123

■ Letter Quality RO, 55 CPS .... 2,895 278 154 104

730 Desk Top Printer 715 69 39 26

737 W P Desk Top Printer .... 895 86 48 32

FULL OWNERSHIP AFTER 12 OR 24 MONTHS • 10% PURCHASE OPTION AFTER 36 MONTHS

MICROCOMPUTERS

APPLE • COMMODORE • HP85 • DEC LS111

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER • RIBBONS • INTERFACE MODULES • FLOPPY DISK UNIT

TEXASINSTRUMENTS

DATAMEDIA

LEAR SIEGLER

HA2ELTINE

TELEVIDEO

NEC SPIN WRITER

CENTRONICS

RANSNETi

KAIVbl It, I CORPORATION1945 ROUTE 22 • UNION, N.J. 07083 • (201) 688-7800

TWX 710-985-5485

S-100 GRAPHICS

i!

Unretouched photograph

512 x 640 matrix available in black andwhite, gray tones, or color

Bit mapped design for high speed perfor-mance

Easily expandable from basic black andwhite by adding memory planes.

Variety of software: graphical BASIC,Tektronix emulator, printer drivers,character editor

Compatible monitors and printers available.

-v CAMBRIDGE DEVELOPMENT

| \ LABORATORY

I / 36 Pleasant Street, Watertown, MA 02172

(617)926-0869

*# BASIC A+ jjfy

& FROM THE AUTHORS OF ATARI® BASIC ^

BASIC A+ for the ATARI 800'* Powerful Utilities INCLUDED with OS/A+ BASIC A+ for the APPLE II®

BASIC A+ will rate an A+ from any Atari user! Upward All the following utilities are included in the price of All the features* of our Atari BASIC A+1 Includes the

compatible with Atari Basic, it adds statements and OS/A+, but you can easily add your own for even more advanced commands and programming aids that make

features that enhance the Atari 800's real power, flexi- flexibility and power. Atari Basic flexible, easy-to-use, and powerful:bility, and ease of use: Superior I/O features for busi- EDITOR/ASSEMBLER/DEBUG DECIMAL ARITHMETIC (10 digits to the penny)

ness and other applications. Additional file manipula- ^^butSnDtataTmmm assemblv SYNTAX CHECK ON PROGRAM ENTRY

Hon commands. Significant help in program develop- "S,MU ls a slmDle Dut complete all in one assembly VARIABLE NAMES (all rhars usudl

men, and debug. Structured programming aids. And SKlTSjll" !Z,S M^S7h

includes P C6men,S ° C FINDln^ be SEM.-COMPILEO CODE (no penalty for those

used to edit BASIC A+ programs. The assembler sup- long names)PRINT USING (for business, sophisticated) ports stantjar(i 6502 mnemonics; can include multiple BASIC A+ requires and takes advantage of all the fea-RPUT/RGET (record 1/0) SET TAB files in a single assembly; outputs the listing to printer, tures and power of 0S/A+.ed«Ie ^Don'rcni demame " to A^r screen, or disk; produces readable error messages and -Some Atari hardware related features cannot be supported onERASE PROTECT RENAME TRACE a flagged symbol table; places the object code in mem- the Apple II.WHILE...ENDWHILE IF...ELSE...ENDIF ory or t0 a disk fj|e The object code protjuced is nQ,,, . , f. ADDI c „„PLAYER/MISSILE GRAPHICS coympatible witn Atari D0S or flpp|e D0S ^BL0AD) as OS/A+ far*• AM HBASIC A+ requires a disk and 32K bytes of RAM. Since appropriate The debug capabilities include STEP A D0S wlth a DOCUMENTED assembly language inter-no cartridge is used. BASIC A+ will take advantage of TRACE, mini-assembler, disassembler, and more. ,ace! SlmP^' E'e?a"tA,UPward compatible with the fileall the RAM (48K bytes) in a maximum Atari 800 system systems of Apple s DOS 3.2 and 3.3 but with flexibility(recommended). DUPDSK and FORMAT not available until now. Add your own commands. Add

Allows creation of master disks, slave disks, and your own device drivers. Easy FAST random access

OS/A+ for the ATARI 800 sector-by-sector copies of any 0S/A+ disk. from assembly language or BASIC A+. Requires 48K

Simple. Flexible. Powerful. Compatible. A command RAM and one disk drive. Hundreds of Apple owners

driven DOS Control Program that allows user-written cofY enjoy 0s/A+ under its former name, CP/A.commands, ease of interface, and total compatibility Sln9le flle C°PV ulllltV' Destination can be disk, screen,

with all devices and features of the Atari DOS and file Printer> or any device- ORDER TODAY!

system. Using less room than a menu-driven DOS, partiai ejnflRi-F ronF A" so,tware ls llcensecl for sm9|e svstem use °n|V-

OS/A .- allows utilities to be dynamically accessed from Tor svstem eouatefand so™ svstem drivers Cus PLEASE SEE Y0UR DEALER FIRST- " he Cann0t SUpP'y

disk as nepderi y eD.uates and some system dnvers- Cus" you, ordering info is below. DEALER AND DIS-

tomize your system. TRIBUTOR INQUIRIES INVITED.

AMk Atari Apple

OS/A+ and BASIC A+ are trademarks of Optimized Optimized Systems Software \tti3tt, OS/A+ $ 80 $ 80

Systems Software. APPLE and APPLE II are registered 10379-B Lansdale Avenue ^^m BASIC A+ $ 80 N/A

trademarks of Apple Computer. Inc. ATARI and ATARI CuDertino CA 95014 OS/A+& BASIC A+ S150 S150

800 are registered trademarks ot Atari, Inc. v-upeiriuu, v_n aaujH (^(^(a

(408) 446-3099 Checks M O Add S5 per packa9e shiPP'n9 in u s 6% tax in CA.

Circle 281 on inquiry card.

BYTE August 1981 357

Setting

The original idea for the Dance Kit came from BillFinzer, a mathematics teacher at San Francisco StateUniversity. Bill was introducing a friend to a Com-modore PET computer. Because both he and his friendare fans of an Indonesian dancer called Pak Jana, Billconceived the idea of teaching his friend about program-ming in the context of choreography. He wrote a BASICprogram called PAKJANA that allowed her to controlthe movements of a highly stylized dancer on the screen.(It has subsequently been used as a very successful in-troduction to programming for students in a course called"Computers without Fear.")

The PAKJANA figure is shown in figure 1. It is con-trolled by a sequence of commands, including a repeti-tion construct. The commands either:

• replace a face, an arm, or a leg

c^TxFb

Figure 1: The PAK]ANA figure. Children were taught the basicideas of programming by teaching this figure how to "dance."

Apple Dealers,

We NeedYou

^oppkz computer

We've written TRAv€, a complete surveying packagethat is second to none. It has all the routines neededfor surveying. It's menu driven and heavily prompted.The manual was written in straightforward every daysurveying language by a third generation surveyorwho has been working with computers since 1965.

Surveyors are generally accustomed to dedicated calculatorsor computers. Most of them are just doing their sur-veying and engineering computations and are not util-izing the capability of a general purpose computer likethe Apple to do payroll, G/L, A/P, A/R, word processingor job costing.

That's where you come in. You sell 'em the hardwareand the other software and we'll help you sell 'em ourprogram. If you or your customer have questions, we'llbe happy to answer them for you.

TRAV is no stranger to surveyors. We're advertising inall national surveying publications. We have satisfied usersall over the U.S.

Our discounts are great.

Call or write for a user manual.

Surveyors Supply Co.

P.O. Drawer 808 Hwy 64 at Old Hwy 1Apex, N.C. (919) 362-7000

• move the whole body up, down, to the right, or to theleft

• create a pause (wait command)

• create a repetition of the commands

A large set of "replacement parts" is provided: thereare nine different expressions and nine different positionsin which any arm or leg may appear. The user specifiesthese replacement parts and the movements that thedancer can make by choosing from a list of commands ina very simple language. Thus, users can create programsthat move the dancer in a predictable sequence of danceroutines. (That users may initially find the effects of theirprograms not entirely predictable only adds to the fun.)The replacement parts for PAKJANA are shown in figure2. (The program is available from Bill Finzer at the Centerfor Mathematical Literacy, Mathematics Department,San Francisco State University, 1600 Holloway, SanFrancisco CA 94132. The project was supported by anAcademic Development Grant for the California StateCollege System.)

Theme

Our Dance Kit evolved from Bill's BASIC program byconsidering possible extensions given the interactivegraphics support of the Smalltalk-80 system. The goal ofthe Dance Kit is to provide a very flexible programminglanguage by giving the user (the "programmer") the abil-ity to draw the figure for which a dance can bechoreographed. This figure not only moves about thescreen, but also may change the position, size, shape, orcolor of its parts. One of the editing capabilities providedto the user of the kit is the ability to draw and subdividethe figure into parts. The user can then draw a set ofimages that replace each of the subdivisions. We callthese replacement parts. They appear on the displayscreen as a part of the programming language the usercan employ to create dance routines. An example figure isshown next to the label POSITIONS in figure 3. The usercan view replacement parts of a particular subdivision bypointing on the screen to the part of the figure to bereplaced. As an example, see the sequence of displayscreen views shown in figure 5 on pages 362 and 364.

The programming language also contains "steps" forplacing the figure and "bridges" that allow repetition ofsome sequences of instructions. The steps, GO, TURN,

ricjhl

leftarm

rightleg

mj£

'—

•* +

"i"

">'

^

v—V

0n.^=^

o::

^

J>

/y

%

■-j

-:'il

^j

<.il

_^o

t:--'/

Jj""

u

LL

a -il M LL

left

leg

Figure 2: Replacement parts for the PAKJANA figure. Com-binations of these options allow the figure to be animated.

358 August 1981 © BYTE Publications lnc

Circle 366 on inquiry card.

Circle 392 on Inquiry card.

THE BIGGEST NAME IN LITTLE COMPUTERS®

TRS-80 Model II—Your Best BuyIn a Business Microcomputer

on

TRS-80 computers,software and peripherals

Similar values on all merchandiseCALL COLLECT:

915-283-2920

Van Horn Office Supply

701 W. Broadway -- P O Box 1060Van Horn, Texas 79855

BSB DEALER G055 "■»

i i^^^^ttj i VISA

■^^' Form F48 Provided

Standard Warranty on Merchandise

THE NATIONWIDE SUPERMARKET OF SOUND"

Circle 110 on Inquiry card.

Illl IIII Mill

Multi-Application Processing System

THREE COMPUTERS IN ONE!

THE DIGIAC MAPS® CT-80 SYSTEMMulti-User, Multi-Tasking, Cost Effective.

• 3 business systems can run concurrently - that's 3 times the overallsystem productivity! • Time share word processes, accounting orderprocessing, inventory, forms processing, billing & more! • 3 workstationscan share data base - preparations can be done by several operatorsconcurrently! • All workstations can share common peripherals. • UsesDIGIAC MAPS-80 operating system. (Digital Research MP/M) • High levellanguage processors including Fortran - Basic - Pascal - Cobol. • CompleteTurn-key system for ease of operation & learning!

^a

lllliMU!

For Additional Information Contact:MAPS, Commercial Products Division of:DIGIAC CORPORATION175 Engineers Road, Smithtown, N.Y. 11787Phone: (516) 273-8600

MP/M Is a trademark of Digital Research Corp.

PMC PERSONAL COMPUTER

Ideal for small businesses, schools, colleges, homes, etcSuitable for the experienced, inexperienced, hobbyist.

EG3000Series

WITHNEWEXTRAKEYS!

16K user RAMplus extended 12K MicrosoftBASIC in ROM •Fully TRS-80 Level IIsoftware compatible • Hugerange of software already available •Self contained, PSU,UHF modulator, and cassette ©Simply plugs into videomonitor or UHF TV •Full expansion to disks and printer• Absolutely complete iust fit into mains plug.

COMPUTERPOWER THATONCE FILLED A ROOMCAN NOW BE CARRIED IN YOUR POCKET'

• Programs in BASIC •"QWERTY" AlphabeticKeyboard »1.9K Random Access Memory

• Long Battery Life.

TV GAME BREAK OUT KIT

Has (jot lo be one of the world's

greatest TV games You really get

hooked Has also 4 orher pinball

games and lots of options

Good kit lor up grading old

amusement games

MINI KIT PCB, sound h vision modiJator. memory chipBnd de code chip Very simple to construe! $30.00OR PCB $6.00 MAIN LSI $17.00

TTL SALE

74LS0O75LS0474LS0574LS1074LS32

$0.15$0.15$0.20$0.29$0.35

74LS7474LS8674LS9374LS157 $1.2074LS165 $1.75

$0.45$0.55$0.90

74LS365 $0.75

74LS373 $2.20

Z80A $5.50

Z80 $4.20

REG. 7805 $0.90

I nielli MICROACE/

IAJUI*- SINCLAIR USEF

SOCKETS LOW PROFILE

14 PIN $0.1016 PIN $0.10

18 PIN $0.1520 PIN $0.15

10V Power Adapter 600ml. $6.90

24 PIN $0.25

40 PIN $0.30

UHF Modulators $9.90

GET YOURSELF A NEW EPSON

MX80 & MX70 PRINTER ANDSAVE A FORTUNE

Price on application

Interface Cards for Apple.Pet. TRS80, and PMCRS232 Interface Cards notnecessaty for parallel

Full TRS80

COMP PRO MIXER

• • • •

• *

mm

ACCESSIT AUDIO ADD-ONS

Professional

audio mixer

that you can

build yourself

and save

over $200.

Only $199 forcomplete kit

j power supply$50.00

J

POSTAGE$20

8K FLOATING POINTSUPER ROM PACK

WITH NEW MANUAL ONLY $35

MICROACE/SINCLAIRVIDEO UPGRADE KIT

Only runs with NEW ROM(Smooth screen display)

ONLY $29

MICROACE/SINCLAIR

16K RAM PLUSEXPANSION BOARD

3 SLOTS WITH EXTRA POWER SUPPLY

16K

$149

4K

$110

LMicrofkel

A COMPLETECOMPUTER

A newgeneration of

miniaturecomputers

2K Kit ONLY $149Post and Packing FREESinclair is a Registered Trademark of Sinclair Research Ltd.

LMicrofkel

Please make checks and money orders payable to MicroAce or phone your order quoting Master Charge, Visa,Diners Club or American Express number for immediate despatch. Add 6% Tax for Shipments inside California.MicroAce, 1348 East Edinger, Santa Ana, California, Zip Code 92705. Telephone: (714) 547 2526

Circle 233 on inquiry card.

BYTE August 1981 359

and PAUSE, are given numerical parameters that indicatehow large a step the figure should take. The user selectssteps GO and TURN in cases where relative directionalplacement is desired. Alternatively, the user programswith a step that combines a direction and movement. Forexample, to take three steps in an upward (t) direction,the step instruction is:

©

The user sets the arrow icon to specify the direction.

Bridge REPEAT is given a numerical parameterspecifying the number of times a sequence of positionsand steps should be repeated. Bridge REPEAT UNTIL isassociated with a condition for terminating the repeti-tion. We envision a fixed set of conditions such as:

OffStage

OnStage

A GHOST bridge indicates that an image of the dancershould remain on the screen in the dancer's last positionwhenever the figure steps using the GO instruction. Ifreplacement parts include:

for the right arm, and:

A.

for the left arm, then a simple sequence to have thedancer wave each arm three times looks like:

REPEAT

/_._

ST"

.A

"V

3

Notice that the replacement parts can overlap. For exam-ple, the arm parts are large and overlap the head part sothat it is possible to lift the arms above the head. Simi-larly, the leg parts allow overlap with arm parts. Thebridge "covers" the steps to be requested, with a condi-tion specified at the right girder. The figure can slowlydance stage right using:

REPEATUNTIL

OffStage

01

The user is also able to define "dance routines" thatenable certain fixed sequences to be named, stored,retrieved for further editing, and used as a "sub-routine."Suppose the first sequence of commands is stored as theDance Routine known as WAVE. We can then use thisroutine in another one to get:

REPEATUNTIL

OffStage

o-

WAVE

On the screen, one routine (the one being edited by theuser) is active at a time. Controls for managing routinesare:

• DELETE (delete the routine from the language)

• STORE (store the current dance act as this routine)

• NEW (start a new dance act)

• COPY (make a dance act exactly like the current one)

• EDIT (make the selected routine be the current one youare editing)

A new dance act has the initial name CURRENTDANCE, as shown in the figure 4.

The user creates a Dance Act by using these elements(steps, bridges, and routines) of the programminglanguage "DanceTalk" as shown in figure 4. This is doneby simply pointing at the desired element and moving it

"TNT

G -

PAUSE 1

StageLeft

Stage

Center

StageRight

GHOST

REPEAT

REPEATUNTIL

H

CURRENTDANCE

Figure 3: A choreographer's programming language.

G ■

PAUSE 1

StageLett

StageCenter

Stage

Riqhl

GHOST

REPEAT

REPEATUNTIL

r1

CURRENTDANCE

I DELETE | STORE | MEW | COPY | EDIT~DANCE ACT

Figure 4: A screen view of DanceTalk. This image, whichappears on the video display of a Smalltalk system running theDance Kit program, gives the user a menu of options with whichto animate the "dancer."

360 August 1981 © BYTE Publications lnc

Circle 330 on inquiry card.

Introducing the language that isbased on the past but looks to theuses of the future:

% JANUS %

JANUS is a compiler for a subset of ADA.ADA is the much awaited U.S. Departmentof Defense language. With JANUS, it isavailable now on your CP/M system.

JANUS has such features as:

Separate CompilationRecords with variantsSubranges, Enumerations, and ArraysCase statement with others clauseIntegers and Arbitrary Precision Realsand much more . . .JANUS is the face of the future. The structured languagethat you need for efficient programming. This is your chanceto get to the head of the crowd and learn the language thatwill be the language of the 80's.

JANUS requires an 8080/8085 or Z80 CPU, 56K ofmemory, and at least one 8" floppy disk. JANUS is suppliedon a single density 8" floppy. For $250, you get the JANUScompiler, linker, assembler, and owners manual.

Circle 159 on Inquiry card.

FftS

CP/M is a trademark ot Digital Research, Inc.

ADA is a trademark of the U.S. Department of Defense

OFTWARE

specialists in state ofthe art programming

P.O. BOX 1512

MADISON, WISCONSIN 53701

HOBBY ROBOTICS'

Shoppers Mart

>r the SERIOUS Hobbyist —

Complete RU-2 Manual!

Everything you need tobuild your own robotshown, detailed! Buildfrom base up with HobbyRobotics' highly

maneuverable 2-ft. persec. super-traction base,extendable arms lift-rated at 15 lbs., grip-likehands. Manual only$25.00, refundable withfirst purchase.

ARD Newsletter.

Quarterly. Keepsyou abreast oflatest news,perks up interest!$6.00

Hobby Robotics' Parts Supplier Direc-tory. Chock-full of names, addresses,phone numbers you want for hard-to-find parts, systems, build-your-own-robot info. Only $3.50. Get yours now!

HOBBY ROBOTICS

5070 Buford Highway

Norcross, Ga. 30071 404/448-0190

Please send items checked below:

□ Qrt. Newsletter □ RU-2 Manual

□ Parts Directory □ Robot BaseFREE^-D Hobby Robotics' Catalog-* FREE

_(includes shipping)

j Total Enclosed $_

HOBBY

ROBOTICS' ROBOT BASE

Ready to roll!

ONLY $495 (Includes shipping)! State

D Personal Check□ Mastercharge

Acct.fl

Signature

Name

Address

City_

D Cashiers Check/M.O.□ Bank Americard

. Exp.

-Zip

Why Do Professionals Prefer

BECAUSE

• Unique software • Technical support • Quickdelivery • Established company • Release 2

CP'M1 (some packages under UNIX1 and TRSD8S1)

• Quality software • in-house expertise • Fastresponse ■ User orientation • Competitive prices

• Customer service • \fejbalim*6 media • Onyxhardware (CP/M and UNIX versions)

*3

^aj=

*"" *" -.

BECAUSE

Unique swift routing cybernetics response systemgives you no-nonsense technical answers that saveyou time. Call: (714) 848-1922.

Smjaa

BusinessMedicalReal EstateComputer Systems

NEW RM/COBOL' applications:

• Order Entry/Inventory • Receivables • Payables •General Ledger • Financial Modeling • Client Account-ing—and more on the way!

NEW CBASIC2' applications:

• REAP (Real Estate Acquisition Package).

Software from Cybernetics?

RM/COBOL—The new standard for microcomputer COBOL!! The only COBOLtor CP/M (also on TRSDOS & UNIX) with alternate keys (multi-key ISAM), CRTscreen handling. Interactive debug, and the most useful Level 2 features. Compat-ible with RSCOBOL*—but runs (aster.

TRS-80*. Model II CP/M—The fastest Mod II CP/M with the most features. Out-standing teaching documentation for newcomers to CP/M, multiple CRT emula-tion, down loading package, support for CORVUS 10 Mb hard disk. Marjy addi-tional user-oriented features.

Plui existing CBASIC2 packagesAPH (Automated Patient History)

Osborne & Assoc —Payroll • Payables/Receivables • General LedgerNAD" (Name and Address)PMS {Property Management System)

Inquire for details

Trademarks of 'Ryan-McFarland Corp . Compiler Systems. Inc . Digital Research 'BellTelephone Laboratories. Inc . Tandy Corp . 'Verbatim Inc Cybernetics. Inc . "Struc-tured Systems Group. Inc . 'Small Business Applications. Inc

And system software packages:

MAGIC WAND» Editing/Word ProcessingCBASIC2 Compiler BASICOSORT< Soft Merge Package

Distributed in UK by:

Microcomputer Applications Ltd

1. Riverside Court. Caversham. Reading. England

TEL:(0734) 470425

8041 Newman Ave . Suite 208Huntington Beach, CA 92647(714) 848-1922

Circle 97 on inquiry card.

BYTE August 1981 361

into the initially empty area in the lower part of thescreen. Selected elements are highlighted by comple-menting their screen area. Notice the rectangular arealabeled HELP at the bottom of the screen. When the userpoints into this area, a description of what to do next isshown, or a comment about a selected element is given.

First Variation: The Stick Person

A user of our Dance Kit might see the sequence ofscreen views shown in figures 5a through 5f. After a userhas completed a longer Dance Act with two choreo-graphed (sub-)routines KICK and JUMP, the screenmight look like figure 5f. Now when the user indicatesDANCE in the bottom menu of commands, the top partof the screen clears as if a curtain were rising, and the usersees the given sequence of views—an animation (seefigure 6).

Note that a grid with a scale underlies both the spaceand time dimensions. These could be specified andexperimented with by the user.

Second Variation: The Big Turtle

Our dancer may assume any size and shape we desire,and we can subdivide the dancer into any number of rec-tangular areas in order to create replaceable parts. Thebasic figure shown in figure 7 might be used. The dottedlines show the user's subdivision of the figure. Replace-ment parts for the section labeled D overlap section A,

McGraw-Hill'sElectronicBookshelf Is OnThe Air

Ask your computer tocall 212-997-2488 forthe latest Info on ourcomputer and elec-tronics books. The sys-tem Is up dally from 6p.m. to 8 a.m. and 24hours on weekends.

m

and might appear as shown in figure 8. Other replace-ment parts are left to the imagination of the reader.

Dance Acts can be shared by different figures, exceptthat both replacement parts and routines will have to be

Text continued on page 365

(5a)

P REPEAT | REPEAT | | UNTIL r

CURRENTDANCE

| DELETE | STORE | NEW 1 COPY ■

DANCE ACT

You can clioieograph a dance by selectinga sequence of positions and steps. Bridgesprovide repetition or traces of the dance act.Select an element and then select this HELP

;ire;i to lenrn what to do nnxt

(5b)

T | HL'PEAT 1 REPEAT ] | UNTIL r

CURRENTDANCE

| DELETE | STORE | NEW | COPY | EDIT |

DANCE ACT

Notice that replacement pans lor the selected

area ol the liqure are now shown Yon can selectone and place it in the Dance Act

Figure 5: Here and on page 364 are six views of the Dance Kitprogram during the creation of a dance. The "help" box, shownat the bottom of each figure, is always active. The shaded areaindicates the item currently being worked on.

362 August 1981 © BYTE Publications Inc

Circle 338 on inquiry card.

Circle 36 on Inquiry card.

IEEE-488 TO TRS-80* INTERFACE

Everything needed to add powerful BASIC GPIB-488controller capability to TRS-80 Model 1 or 3, Level 2 orDOS with a minimum of 16K.

MODEL 488-80BFor Model 1 Operation

i_/EL

MODEL 488-80CFor Model 3 Operation

Price of Model 488-80B or 488-80C $325.

+ shipping, insurance & taxWHEN ORDERING SPECIFY DISK OR TAPE

SCIENTIFIC ENGINEERING LABORATORIES

11 Neil Drive • Old Bethpage, NY 11804Telephone: (516) 694-3205

'Trademark ol Tandy Corp.

There is no attiliation between Scientific Engineering Laboratories and

Tandy Corp. or Radio Shack.

'ftrwax

=^vvvvv^r^:iS

A

ATARI'

ATARI 800 32K $810.00!

Atari 400 with 16K $399

Atrai 810 Disk $460

Atari 410 Cassette $69

Atari 820 Printer $280

Ramcram 32K RAM $199

Kurta Graphics Tablet $560

Atari 822 Printer $360

Atari 825 Printer $650

Atari 850 Interface $145

Atari 16K RAM $99

Visicalc $170

Epson MX80 Printer $499

NEW! V0TRAX TYPE N TALK

Even at these low prices, we will take the time to

answer your questions, accept suggestions, track down

new products, and help you with your programming problems.

We are here even after the sale.

ALSO

Software by POI, THESIS, CRYSTALand more

Z19 Terminals $800

Novation DCAT Modems $169

Intertec Superbrain 64K $2810

PLUS

NEC Spinwriters, Diablo Printers,Centronics, Commodore, Soroc Ter-minals. ALL at reduced prices.

To Order Credit Ca'd" or CO D Customers Call (617) 783 3H4

In stock units shipped within 24 hours Most items in stock al all times

'Credit card orders add 3% Mass residents add 5% sales lax

The Bit Bucket

P.O. BOX 365

NEWTON HIGHLANDS, MA 02161

617-783-3144

RACFT SORTS— RACET UTILITIES - RACET computes — RACET SORTS— RACET UTILITIES — RACET computes — RACET SORTS — RACET UTILITIES — RACET computes —

FIELD PROVEN!!

10 MEGABYTES and MORE for the TRS-80* Model II

plus SHARED ACCESS to HARD DISK DRIVE

Hard/Solt Disk System (HSDS) Software allows access as single drive. You canhave that 10 Megabyte continuous file - that 50,000 name maillist or inventory! Ora directory with 1000 entries! All completely compatible with TRSD0S 2.0 BASIC.You can mix floppy and hard disk drives. Includes special utilities including HPURGE,DCS Directory Catalog System, HZAP Hard Disk Superzap, and many specialformatting options. Three to eight times faster than floppy! RACET quality.

HARD DISK DRIVE & CONTROLLER $5995. Second User $595.

HSDS Software $400. (Note: HSDS now also available for CORVUS drives!!)

INFINITE BASIC (Mod I & III Tape or Disk) ■ Mod I $50.00, Mod III $60.00

Extends Level II BASIC with complete MATRIX functions and 50 more stringfunctions. Includes RACET machine language sorts! Sort 1000 elements in 9seconds!! Select only functions you want to optimize memory usage.

Mod I & III $30.00

footers, page numbers.-, *, /. Binary search

INFINITE BUSINESS (Requires Infinite BASIC)Complete printer pagination controls — auto headers,Packed decimal arithmetic — 127 digit accuracy +,of sorted and unsorted arrays. Hash codes.

BASIC CROSS REFERENCE UTILITY (Mod II 64K) $50.00

SEEK and FIND functions for Variables, Line Numbers, Strings, Keywords. 'All'options available for line numbers and variables. Load from BASIC — Call with'CTRL'R. Output to screen or printer!

DSfVI Mod I $75.00, Mod II $150.00, Mod III $90.00

Disk Sort/Merge for RANDOM files. All machine language stand-alone package forsorting speed. Establish sort specification in simple BASIC command File. Executefrom DOS. Only operator action to sort is to change diskettes when requested!Handles multiple diskette files! Super fast sort times — improved disk I/O timesmake this the fastest Disk Sort/Merge available on your TRS.

(Modi Min 32K 2-drive system. Mod II 64K 1-drive. Mod III 32K 1-drive)

GSF (Mod I & III Tape or Disk - Specify Memory Size)Mod I $25; Mod II $50; Mod III $30

Generalized Subroutine Facilities. The STANDARD against which all other sorts arecompared! And then compare prices! Machine language — fast and powerful!Multi-key multi-variable and multi-key character string. Zero and move arrays.Mod II includes USR PEEKS and POKES. Includes sample programs.

m RACET SORTS — RACET UTILITIES - RACET computes — RACET SORTS— RACET UTI

Circle 331 on inquiry card.

DISCAT (32K 1 -drive Min) Mod I, III $50.00

This comprehensive Diskette Cataloguing/Indexing utility allows the user to keeptrack of thousands of programs in a categorized library. Machine language programworks with all TRSDOS and NEWDOS versions. Files include program names andextensions, program length, diskette numbers, front and back, and diskette free space.

KFS-80 (1-drive 32K Min —Mod II 64K) Modi, III $100.00; Mod II $175.00

The keyed file system provides keyed and sequential access to multiple files. Providesthe programmer with a powerful disk handling facility for development of data baseapplications. Binary tree index system provides rapid access to file records.

MAILLIST (1-drive 32K Min -.Mod II 64K) MgdJJJ! $75,00; Mod II $150.00

This ISAM-based maillist minimizes disk access limes. Four keys -t no separatesorting. Supports 9-digit zip code and 3-digit state code. Up to 30 attributes. Maskand query selection Record access times undeH'seconds!!

COMPROC (Mod I & Mod III — Disk only) Mod I $20; Mod III $30

Command Processor. Auto your disk to perform any sequence of instructions thatyou can give from the keyboard. DIR, FREE, pause, watt for user input, BASIC, No.of FILES and MEM SIZE, RUN program, respond to Input statements, BREAK,return to DOS, etc. Includes lowercase driver software, debounce and screenprint!

UTILITY PACKAGE (Mod $150.00

Important enhancements to the Mod II. the file recovery capabilities alone will payfor the package in. evert one. application! Fully documented in 124 page manual!XHIT, XGAT, XCOPY,:and.SURERZARare used to reconstruct or.recover date frombad diskettes! XCOPY provides'multi-file copies', 'Wild-card' mask select, absolutesector mode and other featureOUPf ffZW afiows examine/change any sector ondiskette include track-0, and absolute disk -backup/copy with 1/0. recovery, DCSbuilds consolib%trt"(^<^i)He9^rtim'--Wtilt^'lfrifltske1fe»-M>r<a -strtgle display orlisting sorted by disk name or file name plus more. Change Disk ID with DISKID.XCREATE preallocates files and sets 'LOF' to end to speed disk accesses. DEBUGIIadds single step, trace, subroutine calling, program looping, dynamic disassemblyand morel!

DEVELOPMENT PACKAGE (Mod II 64K) $125.00

Includes RACET machine language SUPERZAP, Apparat Disassembler, and ModelII interface to the Microsoft 'Editor Assembler Plus' software package includinguploading services and patches for Disk I/O.

CHECK. VISA, M/C. C.O.D.. PURCHASE ORDERTELEPHONE ORDERS ACCEPTED (714) 997-4950

•TRS-80 IS A REGISTERED TRADEMARKOF TANDY CORPORATIONLITIES— RACET computes— RACET SORTS— RACET UTILITIES

[jr- RACET computes -^

1330 N. GLASSELL. SUITE M,ORANGE, CA 92667

RACET computes —

BYTE August 1981 363

Figure 5 continued:(5c)

T | REPEAT | REPEAT |J | UNTIL r

CURRENTDANCE

1 DELETE | STORE | HEW | COPY | EDIT |

DANCE ACT

y

N,

S

\

You can see your Dance Act as it is nowconstructed by selecting the command DANCE.

II the Dance goes on loo long, select STOP.

P REPEAT | REPEAT | | [ UNTIL r

CURRENTDANCE

| DELETE | STORE | NEW | COPY | EDIT |

DANCE ACT

REPEAT

3

/°

N,

■/

\

STOP

Repeat 2 is the delaull. Select the 2 in order tochange the number.

P REPEAT 'I REPEAT Iiil ,\ | UNTIL |

CURRENTDANCE

I DELETE | STORE | NEW | COPY | EDIT 1

DANCE ACT

s

\,

</

\

The selected element is a Bridge. It can cover anumber of dance elements in order lo repeatthem a fixed number of limes. Aller you selectthe bridge, point to the first element to be undethe bridge. Then move the pointer over eachsuccessive element until the bridge is constructs

ROUTINES

| DELETE 1 STORE | NEW | COPY | EP1T~DANCE ACT

StageLeft

G

</

KICK PAUSE 1

Q

UNTIL

Stage

o

G <

PAUSE 1

StageLeft

StageCenter

Stage

Right

GHOST

REPEAT

REPEATUNTIL

"

KICK

JUMP

CurrentDance

364 August 1981 © BYTE Publications Inc

Text continued from page 362:

changed appropriately. A Turtle Dance Act that is akinto the Stick Person Dance Act shown in the first variationappears in figure 9. The animation for this Dance Actconsists of the sequence of views shown in figure 10.

Third Variation: Boxes

The dancer might be a simple geometrical shape. Thedancing needn't be subdivided, but replacement parts forthe whole figure might be available.

For example, the user might create the followingreplacement parts:

Suppose the initial dance is set with the dancer movingtoward the right. A possible Dance Act is shown infigure 11, where next HEX is defined as:

GO 1

TURN 60

The ghost is used to leave a trace of the box after eachstep. Each step unit was presumably scaled by the user tobe the size of the box so that no overlapping occurs. Atthe end of this act the screen would look like figure 12.Another possible geometric design comes from thebuilding blocks shown in figure 13. If the dance act isdefined as shown in figure 14, then at the end of the dancethe screen will look like figure 15. When a figure of onecolor is superimposed on a figure of another color, theunderlying figure disappears.

Fourth Variation: The Degenerate Turtle

The Dance Kit can be used to do conventional Turtlegeometry (see reference 6) by allowing the figure todegenerate to a point (no replacement parts need apply)and defining a scale such that GO 1 means to go to thenext point on the screen,

Dancing School

The Dance Kit is one example from a variety of kitsand ideas for kits that we have entertained and that haveentertained us. One of our major concerns is to create anenvironment in which the design of interesting and imag-inative educational materials will be fostered, and webelieve that the Smalltalk-80 system will make it easier tocreate such kits.

We have given much thought to some necessary char-acteristics of a framework for a Dance (or any other) Kit.We suggest that certain services always be present on thescreen. For example, a help system is of supremeimportance. We have provided an indication of the helpsystem we would incorporate into the Dance Kit. TheTRIP system for animating algebra word problems (seereference 5) provides such a complete HELP facility that

even fearful users need be told only how to use the point-ing device in order to control all the functionality of thesystem. Other possibilities for services include aLIBRARY, a GUIDE to other activities that might beappropriate, and a facility that allows users to enter sug-

£

£

*

A

&

A

*

A

A

A

A

A

&

A

&

A*

J^L

begin

make certainleg is down

begin KICKleg up

leg down

leg up

leg down

leg up

leg down

leg up

leg down

move down 2

move down 4

move down 4

Dance Element

StageLeft

G

e/

a KICKElement

a KICKElement

a KICKElement

\ first REPEAT

a KICK

Element

a KICKElement

a KICKElement

a KICKElement

/

secondREPEAT

a KICKElement

0

0

0

REPEAT

UNTIL

>

Off

Stage

Figure 6: Execution of the dance given in figure 5f.

August 1981 © BYTE Publications Inc 365

Comment Dance Element

Figure 7: A basic drawing of a big turtle that can be animated.

Figure 8: Example alternate replacement parts for the big turtle.

' | REPEAT | REPEAT I\ I UNTIL 1

CurrentDance

I DELETE I STORE I NEW I COPY I EDIT I

DANCE ACT

StageLett

G

W

T' 1 PAUSE t 1a-Boo (__

Figure 9: Screen view of the Dance Kit being used to animatethe big turtle.

ft)

TURN 330

£5

/V

/"V

/"Nr?

/~\?

s~\?

%r—ri,

C*-' \Jfi>

5*r-^.

begin

Stage

Left

move over 3

G •

make certainhead up

^

1

Peek-a-Boo

Peek-a-BooElement

head in

Peek-a-BooElement

head up

Peek-a-Boo

Element

\ tirst REPEAT

head in

Peek-a-Boo

Element

pause

PAUSE 1

—

head up

Peek-a-Boo

Element

head in

Peek-a-Boo

Element

second

head up

Peek-a-BooElement

y REPEAT

head in

Peek-a-BooElement

pause

PAUSE 1

—

move down 2

O -

S

Q «

REPEAT

/ Olf

O <

Stage

Figure 10: Execution of the dance given in figure 9.Figure 11: Possible Dance Act for a set of box shapes.

GHOST

REPEAT

REPEAT

NEXT

HEX

TURN 60

GO 1

366 August 1981 © BYTE Publications Inc

gestions and other feedback for the instructor (ie: aGRIPE).

We have also imagined a Dance Kit in a computerlessclassroom. The idea that computer-based activitiesshould have concrete analogues, especially for youngchildren, has been well received in the experience of theMIT LOGO group. We would use the children as thefigures in the dances and create the Dance Act instruc-tions and routines on paper or a blackboard or.... Ofcourse if we want to leave ghosts, we will need to enlistthe services of more than one child.

In this mode of use of the Dance Kit we are fond of im-agining children as the design elements of the seven possi-ble friezes shown in figure 16; each frieze is characterizedby the group of transformations or symmetries that

Figure 12: Drawing made by the Dance Act of figure 11.

Figure 13: A basic drawing of some geometric designs that canbe used by the Dance Kit.

SlageLelt

4twj>

GHOST

G>

o

O-

•ja' •

G<

O

&

v wr

Figure 14: Possible Dance Act for the set of geometric designs.

Figure 15: A drawing made by the Dance Act of figure 14.

TEXAS COMPUTER SYSTEMSl

Offers Lowest Prices on

COMPUTERS

Model II 64K$3349

An excellent computer lor your business needs Easy expandabil-ity & compatibility No lormal operator training needed All access-ories available—disk expansions, printers, software at our lowdiscount pnces Our fast Dallas air freight service can assure mosfdeliveries wilhin seven days after paymen! is received

Free with purchase:

■ box of 10 double densitydiskettes A $69 value

Model III 16K $849

Model III 32K $979Model III 48K $1089

With TCS Memory:Model III 32K $909Model III 48K $969

Model III 32K 2 Disk RS232 $2100Model III 48K 2 Disk RS232 $2230

Model III 32K 1 Disk $1729

Model III 48K 1 Disk $1849

Special-With TCS Memory• Model III 48K 2 Disks

Uses proven MPI drives modified lor flippy operation andPercom controller Limited 90 day warranty Call fordetails

$1895

Color Computer

4K Level I $329

16K Level I $439

16K Extended Basic $489

With TCS Memory:

16K Level I $369

16K Extended Basic $449

ExpansionInterfaces

Zero K Interface $25416K Interface $35932K Interface $469

With TCS Memory:

16K Interface $31832K Interface $388

Pocket Computer &

Interface $ Call toll free for the low, low sale price.

Epson MX-80$ Call

Letter quality malnx similar to Line Printer IV &Centronics printer but has full software control of40. 80. 66 or 132 columns 80 cps bidireclionaltractor feed, disposable pnnlhead $300 less thannearest competitive prinler Lists $645 Our priceincludes cable

• Payment Money Order. Cashier's Check. CertifiedCheck Personal checks take 3 wks VISA. MC.add 3%

• Prices subject to change any lime.

• No lax out-of-state. Texans add 5%

• Delivery subjecl to availability.

• Shipping extra, quoted by phone.

TEXAS COMPUTER SYSTEMS

Box 951, Brady Texas 76825

For fast, efficient service, we can air freight from Dallasto major a/p near you. Call for information.

Toll Free Number 800-351-1473

Texas Residents 915-597-0673

Circle 384 on inquiry card.

August 1981 © BYTE Publications Inc 367

Ill

U Mil..Ill

III

-Ynr

■Mnunun

Figure 16: Frieze patterns of stick men. By combining a basicpattern and its variations, many frieze patterns can be made.

preserve them. (A symmetry is a one-to-one transforma-tion that preserves distance.) The basic symmetries aretranslations, rotations, and reflections. We envision thechildren casting their shadows to form the patterns—orperhaps even lying on the floor. (Of course,mathematical friezes are like lines—infinitely long—butwe can enjoy thinking about finite pieces.)

Frieze patterns might look like those in figure 16.However, we will leave the Dance Acts for the frieze pat-terns as an exercise for the reader.

The Dance Kit can be thought of as a forum for learn-ing introductory programming concepts. A curriculumdeveloper would create a dancer and replacement partsthat are of interest to the student; the developer wouldalso select steps, bridges, and initial (sub-)routines thatsupport recommended or assigned exercises. The com-bination of dancer replacement parts, steps, bridges, andsubroutines makes up a "programming language." Alter-natively, the student could do more of the creation of thelanguage. The Dance Kit has our approval because of thispossibility of dual and flexible use.H

References

1. Bricklin, Dan and Bob Frankston. VisiCalc™ Computer SoftwareProgram, 1979.

2. Goldberg, Adele. "Educational Uses of a Dynabook." Computersin Education. Volume 3. Great Britain: Pergamon Press Ltd, 1979,pages 247 through 266.

3. Goldberg, Adele and Alan Kay. Teaching Smalltalk. TechnicalReport SSL 77-2, Xerox Palo Alto Research Center, 1977.

4. Goldberg, Adele, Dave Robson, and Dan Ingalls. Smalltalk-80: TheLanguage and Its Implementation and Smalltalk-80: The Interac-tive Programming Environment (forthcoming).

5. Gould, Laura and William Finzer. "A Study of TRIP: A ComputerSystem for Animating Time-Rate-Distance Problems." Pro-ceedings of the IFIP Third World Conference on Computers inEducation (WCCE-81). July 1981, Lausanne, Switzerland.

6. Papert, Seymour. Mindstorms: Children, Computers, and Power-ful Ideas. New York: Basic Books, 1980.

SYNCHRO-SOUND

THE

COMPUTER

PEOPLE

't-i

CROMEMCO

System

,>mw»».'.'. v

0 800

ATARI

800400

\*&m

HAZELTINE

ALPHA-MICRO

ComputerSystem

MORE SPECIALS

Integral Data Systems

Model 445

Printer. . $695.00

Televideo

Model 950 1295.00

Industrial Micro

Systems ...... 349.00

\ SYNCHRO-SOUND ENTERPRISES, INC.

i/ the computer PEOPLE 125 Mineola Ave., Roslyn His., N.Y. 11577

Phone Orders call: 516/484/1852 • Toll Free: 800/645-3820 • TWX 510-220-0021

LivermoreAccouslic

Coupler $1

Centronics Micro

Printer 3

5" Scotch Diskette

Box

8" Scotch Diskette

Box

We have a full staff of Programmers andComputer Consultants to design, configure and

deliver a Turnkey Computer System to meetyour specific requirements

We carry a full line of: ADDS QUMECROMEMCO, SCOTCH, MAXELL VER-BATIM, ALPHA-MICRO, ATARI, INTEGRALDATA, LIVERMORE COUPLERSHAZELTINE, TEXAS INSTRUMENTSDIGITAL MICRO SYSTEMS and others

CALL, WRITE OR VISITOUR NEW COMPUTER

SYSTEMS CENTER1D-4 Daily & Saturday

368 August 1981 © BYTE Publications Inc

ToolBox:

A Smalltalk Illustration System

William Bowman and Bob Flegal

Learning Research Group

Xerox Palo Alto Research Center

3333 Coyote Hill Road

Palo Alto CA 94304

Computer art is usually thought ofas linear, geometric, and repetitious.The Smalltalk group at the XeroxPalo Alto Research Center has beenexploring the potential image-makingcapabilities of the computer-powereddisplay medium for almost ten years.We have investigated the idea ofusing the computer and its associateddisplay as an art medium for a user/artist to create visual material. Weallow the mixture of an artist's free-hand sketches with structured com-mands for manipulating graphicforms. This approach can be con-trasted with the more traditionalapproach where the machine is pro-grammed to "draw," usually withlines, some visual image on the dis-play screen. Figure 1 is a typicalcomputer-generated pattern in whichsymmetrically ordered lines form anillusion of spherical volume.

This article reports on one of ourdevelopments in the area ofcomputer-assisted image creation.ToolBox is a drawing systemdesigned for general-purpose, inter-active image creation and editing.ToolBox was designed jointly byartist William Bowman and computer

ToolBox is a graphics

system designed for

general-purpose,

interactive image

creation and editing.

scientist Bob Flegal to explore graphicspecialization within the computer-powered display medium. We wereinterested in determining the areaswithin the visual and graphic arts forwhich the computer-powered displaymedium is a particularly suitable and

^

■ ■-

>■:

<

;<

,-:

.-

7,

-:.

-<

X

§

1

'

/■

>■;.

X

£

-<

x.

i

X

.■'

:«,

x,

,■:,

7,

<|

:«'

:•:

V

■>■

;«

.'.

.-■■.

x^

■,

:■:.

■;

xj

■'

•'

<

)i

',.

;-.

X

(

'.

X

■-■

'"

'.

>

:>:

■'

-

.-

<

.-;

:-■:

>..

<

-.

:-.

>.

-'.

■<.

Figure 1: A typical computer-generated geometric design in which symmetricallyordered lines form an illusion of spherical volume.

efficient graphic tool. To do so we in-vestigated possible tools, techniques,and image-making capabilities of thisnew medium. The underlying impli-cation (and intention) of thisapproach is a new role in professionalgraphics: that of the illustrator/artistwho creates images with computermachine tools rather than with con-ventional hand tools.

The ToolBox system receives inputfrom the user/artist from a graphicstablet and keyboard and modifies thescreen image based on his/heractions. The computer program doesnot generate the image from a set ofprogrammed drawing instructions.For example, to specify a straight-edge line, the artist need only specifythe two end points of the line with thegraphics tablet and the program com-pletes the line. This is in contrast tomethods where a "pen" is pro-grammed with up, down, and drawcommands with coordinates as argu-ments. This idea is illustrated infigure 2.

System Description

ToolBox consists of a coordinatedset of graphic tools that provide awide range of form constructionoptions for use in testing machineillustration concepts. Five fundamen-tal tool functions comprise the basicgraphical form vocabulary. Each ofthese tools can be modified in its useby one or more of four sets of vari-ables that can affect its form source,color tone, grid spacing, and func-tional mode. Brief descriptions of the

August 1981 © BYTE Publications Inc 369

USER /ARTIST

DISPLAY SCREEN

•/

U

INPUT TABLET

•

•

1r

TOOLBOX PROGRAM

Figure 2: Modification of the ToolBox screen image based on user/artist input. The Figure 3: ToolBox variations on a single

computer assists in drawing a line after the artist has entered end points on a graphics form source—two triangles.

tablet.

tools and the variables affecting themfollow.

Select Form allows the user/artistto select a rectilinear-shaped picturefrom the display screen as the formsource. The form selected can bethought of as a brush which the otherfive tools use as their source picture.The artist can create a form sourceusing any of the tools available in theToolBox system, from Smalltalkgraphic commands, from the Small-talk text editor, or from a library ofform sources.

The following are ToolBox toolfunctions:

• COPY enables continuousindividual copies of the form sourceonto the display screen. This can bethought of as painting on the displayscreen using a brush (the form source)

• DRAW enables freehand line draw-ing or sketching by connecting formsource copies with line segments

• ARC enables curve construction(using spline functions)

• BLOCK enables solid rectangles tobe formed

• LINE enables straight-line construc-tion between two points

Grid spaces modulate the tools tofunction on specifiable horizontal andvertical grid lines.

Color tones allow creation of formin black, white, or one of the four in-termediate grays (spatial-halftones).

There are three modes affecting the

copying of source forms onto the dis-play: store, or, and xor. We calledthese modes "over," "under," and"reverse."

Art Examples

Figure 3 shows some of the visualeffects that are possible with a singleform source—-two triangles. Sinceeach form source can have five tools,five griddings, six colors, and threemodes, the number of possible pic-torial effects is staggering.

The display screen upon which thepictures in this article were made is

606 by 808 dots, and each dot is eitherblack or white (no gray scale). Thedisplay is refreshed out of the com-puter's main memory. Thus, to turn adisplay dot black or white, 1 or 0 iswritten into memory.

During the programming and de-velopment of the ToolBox system, aseries of image-making experimentswere conducted, both as active inputto the evolving design of the systemand as a preliminary test of its capa-bilities. The main purpose of theseexperiments was to explore the poten-tial of the machine tools for enabling

DOLLARS701—

605040302010

4 gas

4 electricity

.;■:::.:::: I : .A

4 water

4 garbage

1972 1973

1974

1975

Figure 4: A bar chart designed by William Bowman.

370 August 1981 © BYTE Publications Inc

Qume®DataTrakFloppy Disk Drives

I IK ImimI 11 (lit J double-sided double-density drive usesstate-of-the-art technology to give you superior data integrity through im-proved disk life, data reliability, and drive serviceability using 51/4"media.

Qume's independent head load yields wear characteristics far superior tocompetitive drives. This superior wear performance produces savings on bothdiskette usage and drive maintenance.

Improved data reliability, resulting from superior amplitude and bit shaftcharacteristics, optimizes operator efficiency and reduces processing time forend-users.

And Data Trak's unique modular design means simplified field servicing foryou and your customers.

Design Features

Expanded storage capacity • Two-sided, double-density

Proven head carriage assembly • Ceramic head with tunnel erase • Dual-headflex mounting arrangement • Superior head load dynamics

Precise lead screw actuator • Fast access time — 12 ms track-to-track • Lowfriction and minimum wear • Low power dissipation

Additional features • Industry standard 5W media format • ISO standard writeprotect • Door lock out for media protection • Requires DC voltage only •Daisy Chain up to 4 drives • Heads load on command independent of loadingmedia

Product Specifications

Performance Specifications • Capacity: Unformatted: 437.5K or 500K bytes; QumeFormatted: 286.7K or327.7K bytes • Recording Density: 5456 BPI • Track Den-

Distributedby:

SISSIII

computer ■products, inc.

sity: 48 TPI • Cylinders: 35 or 40 • Tracks: 70 or 80 • RecordingMethod: FM or MFM • Rotational Speed: 300 RPM • Transfer Rate:250K bits/second • Latency (avg.): 100 ms» Access Time: Track-to-track 12 ms; Settling 15 ms • Head Load Time: 50 ms

IIIC IMI<I I Idli © double-sided double-density drive usesstate-of-the-art technology to give you superior data integrity through im-proved disk life, data reliability, and drive serviceability.

Qume's innovative approach to controlling head load dynamics yields wearcharacteristics far superior to competitive drives. In independent evaluation,Data Trak 8 is setting industry standards for tap test performance. This superiorwear performance produces savings on both diskette usage and drivemaintenance.

Improved data reliability, resulting from superior amplitude and bit shiftcharacteristics, optimizes operator efficiency and reduces processing time forend-users.

And Data Trak's unique modular design means simplified field servicing foryou and your customers.

Design Features

Expanded storage capacity • Two-sided, double-density

Fully IBM compatible • IBM 3740 and System 32 drives • IBM 3600 and 4964drives • IBM System 34 drives

Proven head carriage assembly • Ceramic head with tunnel erase • Dual-headflex mounting arrangement • Superior head load dynamics

Fast, precise steel belt drive • Fast access time — 3 ms track-to-track • Lowfriction and minimum wear • Low power dissipation

Additional features • ISO standard write protect • Programmable door lock •Negative DC voltage not required • Daisy Chain up to 4 drives • Side-by-sidemounting in standard 19" RETMA rack • Compatible with ShugartSA850/SA851

Product Specifications

Performance Specifications • Capacity: Unformatted: 1.6 Mbytes/disk;IBM Format: 1.2 Mbytes/disk • Recording Density: 6816 BPI • TrackDensity: 48 TPI • Cylinders: 77 • Tracks: 154 • Recording Method:MFM • Rotational Speed: 360 RPM • Transfer Rate: 500Kbits/sec-ond • Latency (avg.): 83 ms • Access Time: Track-to-track 3 ms;Settling 15 ms; Average 91 ms • Head Load Time: 35 ms • Disk:Diskette 2D or equivalent

asaii

computer ■products, inc.

1198 E. Willow, Signal Hill. CA 90806Call Toll Free (800) 421-7701

AUTHORIZED DISTRIBUTOR FOR QUMECALL FOR PRICE AND DELIVERY

(213) 595-6431 or (714) 891-2663 In California

Circle 415 on inquiry card.

BYTE August 1981 371

Circle 174 on inquiry card.

THE MOST

POWERFUL

SMALLBUSINESS

COMPUTER

IN THE

WORLD

The IBC ENSIGN business computer wasdesigned from the ground up to run MP/M, multi-user OASIS, MVT-FAMOS, and other multi-userZ-80 operating systems faster than any othercomputer in the world.Consider these features:

• Up to 16 users

• Up to 768K byte memory

• Up to 150M bytes/disk drive

• 17M byte tape cartridge

• 46M byte 9 track tape

• 6 MHz Z-80B CPU

But it takes more than a lot of I/O ports,memory, and disk storage to make a super multi-user computer. The ENSIGN has what it takes.

MULTIPE MICROPROCESSORS: The ENSIGN hastwo separate Z-80's and 32K byte memory bufferto handle all I/O between CRT's and printers atbaud rates up to 19,200 baud.

A third Z-80 handles all disk and tape I/O.Commands from the main CPU are totallysupervised by the disk slave Z-80.

And the main CPU is the new 6 MHz Z-80Brunning at full speed with 120 nsec memory.

PERIPHERALS: The ENSIGN supports the tapeand Winchester disk family from Kennedy Co.These drives, tape cartridges, and 9 track tapedrives are the premier of the industry. Yet pricesare low on the ENSIGN.

SOFTWARE: If you are running MP/M, OASIS, orMVT-FAMOS you will run better on an ENSIGN.And if you're not already tied to one of thesesystems you may want to try IBC-SUPERDOS.SUPERDOS is very powerful and very very fast.

For dealership information contact:

TF^fr^ I IntegratedJ^O^^y Business

^" Computers

22010 S. Wilmington Avenue. Suite 306Carson, CA 90745 • Call (213) 518-4245

■ r(iilli*.nufl,i,r PtQiStSfefl lemdik-i / BO /'' 00 • MP M plGHAl

IASIS PMASf ONf SYSIfMS MVT I AMOS MVT MICHOCC'■'"■•'

Figures 5, 6, 7, 8: These four illustrations by Bowman were created using the ToolBoxgraphics system.

a variety of graphic strategies forimage design and execution. Some ofthese strategies resembled conven-tional graphic techniques; however,most of them turned out to be uniqueto the machine medium.

The remainder of this article con-sists of pictures that grew out of these

early experiments. They are intendedas a demonstration of the range anddepth of graphic language effects thatcan be achieved with the ToolBoxsystem.

Figure 4 is a simple bar chart. Thisfigure made heavy use of the BLOCKtool and several grid settings. The

372 August 1981 © BYTE Publications Inc

illustration was done in a very shortamount of time compared to theamount of time it would take to drawa simple bar chart using conventionalmedia. The TooIBox system is par-ticularly effective for images involv-ing horizontal and vertical elements.(Figures 4, 5, 6, 7, and 8 were ex-

ecuted by William Bowman.)

The BLOCK, LINE, and CURVEtools were heavily used in figure 5.Note the texturing at the bottom ofthe illustration; it was created usingthe COPY tool in reverse mode withthe color variable set to black.

In figure 6, the COPY tool in

Circle 131 on inquiry card.

CHOOSE...

Choose an Apple Desk

A compact bi-level desk ideal for an Applecomputer system. This 42" x 31W desk comeswith a shelf to hold two Apple disk drives.Thetop shelf for your TV or monitor and manualscan also have an optional paper slot to accom-odate a printer.

Choose a Micro Desk

Get your micro computer off the desk top andinto the micro shelf under our Designer Seriesdesks. Suitable for the North Star, Dynabyte,Vector Graphics, and Altos computers. Thedesks come in a variety of sizes and colors.

Choose a Mini Rack

Mini racks and mini micro racks have standardventing, cable cutouts and adjustable RETMArails. Choose a stand alone bay or a 48", 60",or 72" desk model in a variety of colors andwood tones. A custom rack is available for theCromemco.

Choose a Printer Stand

The Universal printer stand fits the:

Centronics 700's Diablo 1600's & 2300's

Dec LA 34 T.I. 810 & 820

NEC Spinwriter Okidata Slimline

Lear Siegler 300's Anadex 9500's

Delivery in days on over 200 styles and colorsin stock. Dealer inquiries invited.

ELECTRONIC 5S5TEM5FURNITURE

COMP/INy

17129 S. Kingsview AvenueCarson, California 90746Telephone: (213)538-9601

August 1981 © BYTE Publications Inc 373

reverse mode was used to create theeffects in the bottom half of the imageand for the leaves and the bark on thetree.

The perspective effect in figure 7was easily obtained using the grid set-tings in the system. The shading wascreated using a "brush" containingjust a few black dots with the COPYtool used in erase mode on a blackbackground.

Note the use of the COPY tool andgrid settings to construct the chain onthe socket in figure 8. The ToolBoxsystem proved particularly effectivefor rapid construction of repeatedpatterns.

The next four pictures were doneby Howard Foote, an artist and col-lege art teacher who had neverworked on a computer system or ter-minal. He was contracted to use thesystem and push it to its graphicallimits. In the picture in figure 9, Footemade considerable use of the COPYtool and DRAW tool.

In the picture in figure 10, Footewas able to represent his subject withremarkable loyalty to physicalrealities when he wanted to and at thesame time seemed able to maintain aflexible control over compositionalfeatures. His form vocabulary waswide and included a rich use of line,shape, texture, and tonal value.

In the picture in figure 11, Footemade considerable use of the DRAWtool to achieve a free and open effect.Geometrical forms and exact tech-nical mastery of fine detail were theonly major areas of pictorial interestwith which he did not choose to dealwhen using the ToolBox system.

The illustration in figure 12 showsa technique often used by Foote: aspatial-saturation strategy using per-sonally constructed form units withthe COPY tool in different tones andmodes.

The final illustration, figure 13,was done by Bob Flegal. The motifsin the border were taken from North

Figures 9, 10, 11, 12: The drawings inthese four figures were done by HowardFoote, an artist and college art teacherwho was contracted to use the ToolBoxsystem and to push it to its graphicallimits.

Figure 9

x&ttyFT!'1*

na \

*Jj3&4

^'"

"i*«til

yjK(Q y %.m

^■^^aS

^».

Wm^M^ii0^.!t,["Yv,

^lESto

■+fc'F^-1-- *■'■

"rill

( K>3rp!!l IkJjfSS. ^*

Vil^U

Mm*?

Swjjcfo WPgi *

Kci>

wMnttMJJg^fffr' ~*^

'zjvftkv *-iw^S» I*-*-

SjKm!

J J.-*mwTBRim',Ti *■

lllp'1'

•^3* fWlj

w$m$:*\s&-

-■fe^K

WSmKu^SfiM

#'■ WttS^t®*

^*^^B

¥*'->*, <smB^$uik--

w*&dM

';<-„-:«toJH

vJ&S&H

I?' ■ £2j3PHBi ■.' En^S^ifTr -

fat' '-ilfv/lQE^BfSic^oW ■fw»/"

uim

™

*,v"" {"f» .-' ^ *-▼

Wf/'&y'"..." ■"" ■■■

374 August 1981 © BYTE Publications Inc

Figure 11

Figure 12

m*"*

MAIL ORDER ONLY

Micro Computer

DISCOUNT.

QUALITY • DELIVERY • SERVICE

Your One Stop For. . .Quality and Huge Savinga

*k MONTHLY?,* SPECIAL^

*" Commodore 8032 Only $1195 yL

PAPER TIGER

445 & 460 & 560 CALL FOR PRICE

EPSON

Call for Best Price& Delivery

SUPERBRAIN*

64K - $259564KQD - $3295

ATARI

800—$759400 - 339

COMMODORE

16K - $85932K - $10792022 - $6954040 -$10798050-$14958032 $1195

QUMESPRINT 9

Call For Price

■JH11— ».

CENTRONICS

CALL FOR PRICES

MONITORS

Sanyo 9"—Sanyo 12"-Sanyo 12"-NEC 12" —BMC 12"-Zenith 13"-Amdex 13"

-B& W —$180

B & W - 239

- Green — 279

- Green — 249

- Green — 249

- Color — 359

- Color — 389

* (DENOTES ITEMS SHIPPED F.O.B. NYC)

MAIL ORDER ONLY

Send Certified Check (Personal or Company Checksrequire 2 weeks to clear.) We pay all shipping andinsurance charges except items marked with asterisk.VISA, MasterCharge add 5% N.Y.S. Residents addappropriate sales tax.

PHONE (212) 986-7690

Micro Computer Discount Company60 E. 42nd St. Suite 411 New York, NY 10017

August 1981 © BYTE Publications Inc 375

y ju-yp gj-jij ,j-ij-i_g q-n-r-L, j-lti^ p_n.fi, .JiT-fa q-ri-ru rj-m-pa qjin, rTLQ-p qjyy _r-ryp nj-JT- ,j-up-F3 o-tlj-u ,j--i-_p o-j-l/vi 5KJ-_? '-j-ilf'c _?%><-? Rj-Jj^ q^j-iP clj-u',n &tri> Wu 0"^)^ Sjt^ o'xitJ Sj-i>^ o'Yj^ ^j-iffi c^-r-p S_-_rJ_! _F-i_-_? S-n-rtj

-th

- . -U > >\S Mfl^iT , M 1 i I , > , ' t I , 1 ' 1 1 <

Sn

m

en

: i ■: .■■,.,' 1 :■■.■■..;■■■■ ; ; ■

v ■_■ -jj jpi u-u ^T-Ore St^r^ d"M£G -M3~r-! ^S^ &Sr^^^&^V^^J^&5r^^S^&^^^M^&i2J^

3"ifu' 'vj'ir-S cFtjt-P 'n.r-r^ -T-hj- tj-t^ -F-nJ- TJT-^-T-r-r e_r_r^3 -F-r-r1 ^ru^ cF-hj- nj-r^ cF-r-P S.r-rE

l££1 K

Figure 13: A border design created byBob Flegal. The motifs are from NorthAfrican carpet patterns.

African carpet designs. They werepieced together using the COPY toolwith various grid settings. The Tool-Box system allows rapid constructionof material involving repeated designmodules.

Summary

Based on the speed of executionand the range and depth of graphiclanguage effects that can be createdwith the ToolBox system we feel thatsimilar systems will become anothercommon graphic tool for profes-sional-level designers and illustrators.Extensions of the basic ideaspresented in this article are numerousand provide a fertile ground forresearch in computer-mediatedillustration and design. ■

BOTE

TOLL-FREESUBSCRIPTION LINE

1-800-258-5485

The Quickest Way To

• Order a Subscription

• Renew a Subscription

• Change or Correct an Address

• Give a Friend a Gift Subscription

• Inquire about a Subscription

We are waiting to help you. Call us between:

8:30-4:00 Mon.-Thurs.8:30-12:30 Fridays

(Eastern Time)

iVfl

the small systems journal

KVI l Back Issues for sale

The following Issues are available:

1976: July

1977: April thru December except October

1978: February thru December except November

1979: January thru December except March

1980: January, March thru August, and December

1981: February to current issue

Cover price for each issue through August 1977 is $1.75

Domestic; $2.75 Canada and Mexico; $3.75 Foreign.

September 1977 through October 1979 issues are $2.50

Domestic; $3.50 Canada and Mexico; $4.50 Foreign.

November 1979 to current is $3.00 Domestic; $4.00 Canada

and Mexico; $5.00 Foreign.

Send requests with payment to:

BYTE Magazine

70 Main St, Peterborough NH 03458

Attn: Back Issues

376 August 1981 © BYTE Publications Inc

Do more with your Commodore.

Plug in the printer thatbusiness professionals prefer.

Discover the quality difference and move up to Mannesmann Tallyprinting. The high speed 8024 serial printer comes ready to plug intoand work with your Commodore system. No fussing with convertorsor adapter boxes.

Here's what you get. Print speeds up to 200 lines per minute. Full132 column printing. Conforms with Commodore specified programfunctions for full software compatibility. Whisper quiet operation.Clean, crisp and pleasing print quality that's always consistent copyto copy. Rugged, industrial strength construction. A print head thatpromises years of usage before replacement. A machine you candrive as hard as you want, yet it never requires preventive mainte-nance. Never needs periodic adjustments.

There's more. An easy to change, snap-in ribbon cartridge. Dualtractor paper engagement for positive alignment. A built-in self-testroutine. Double wide printing on demand. A nine-needle print headmodel for true descenders on lower case characters. An optionalQuick-Tear kit for forms removal immediately after printing. See thismachine for yourself.

Ask for the Model 8024 at your nearest Commodore dealer orcontact us.

Mannesmann Tally, 8301 S. 180th St. Kent, WA 98031. Phone:(206)251-5524.

MANNESMANNTALLY

Circle 34 on inquiry card.

BYTE August 1981 377

Virtual Memory

for an

Object-Oriented Language

Ted Kaehler

Learning Research Group

Xerox Palo Alto Research Center

3333 Coyote Hill Rd

Palo Alto CA 94304

The amount of information in aperson's brain is truly vast; even theamount accessed in the course of afew hours of thought is vast. This isin contrast to the amount of informa-tion in the main memory of a com-puter, which is minuscule by com-parison. The exciting thing aboutcomputers, though, is that we can usethem to extend and enhance ourthought. If a computer is to serve ef-fectively as an aid to thought, it mustbe able to hold enough information tobe useful. However, the memory ofthe largest computer today is so smallthat it severely limits what that com-puter can do. There are so manyorders of magnitude between thecapacity of the brain and the capacityof a computer that given the ques-tion "How much memory will thecomputer need?" the answer shouldalways be "As much as possible."

Software for personal computers isjust crossing a threshold of usefulnessand flexibility. There are tasks, suchas revising a draft of a paper, whichare tremendously easier to do with acomputer than without. Once youhave edited with a computer, it seemsabsurd to edit by hand. The numberof tasks for which the computer is

essential is growing rapidly, causing avery sharp rise in the demand forstorage in each personal computingsystem. As we design more usefulaids to human thought, we will im-mediately want to access an amountof information closer to the amountin someone's head. Many extraor-dinary ideas will become softwarerealities in the next few years. Andlarge quantities of memory will beneeded to run and store all of thatwonderful software.

Given the question"How much memory

will the computer

need?" the answershould always be "As

much as possible."

The practical limit on the size of acomputer's memory is cost. Everyproject, especially a personal com-puter, has cost limits. The questionbecomes how to get the most memoryfor the least cost. Roughly speaking,memory falls into two categories:fast, expensive memory and slow, in-

expensive memory. Main memoryand core are common names for thefast, semiconductor memory. Theslow memory, secondary memory, isalmost always a disk. If we bought allslow memory, the processor wouldcontinually wait for the disk andwould give very poor performance. Ifwe spent all our money on fastmemory, we would not get verymuch of it, and many of the biggerand better programs would not fit in.The game is to buy some fast memoryand some slow memory and arrangethings so that the processor rarely hasto wait for the slow memory. Thisgame, and specifically the mechanismwhich hides the slow memory fromthe processor, is called virtualmemory.

If there were no way at all topredict which byte of memory theprocessor might want next, it wouldbe impossible to win the game of vir-tual memory. However, pieces ofdata that are used together are oftenstored together, and program instruc-tions tend to be executed and storedin a sequence. The principle of locali-ty of reference states that the pro-cessor is most likely to access amemory location very near the last

378 August 1981 © BYTE Publications Inc

Circle 345 on inquiry card.

one it accessed (see reference 2 at theend of this article). The game of vir-tual memory is based on a trick:when the processor starts to ask forbytes from a block of code or data, itshould move that code or data intothe fast memory. If the processor con-tinues to access that information, allof the accesses will be to fastmemory. When the program moveson to a new activity, it may again beforced to get its information from theslow memory. To win the game, avirtual memory must maintain asituation where most of theprocessor's accesses are to the fastmemory. If the strategy fails and theprocessor often wants data from theslow memory, the entire system willrun very slowly.The act of moving programs or

data between the two kinds ofmemory is called swapping (see figure1). The program that the user is run-ning may or may not control theswapping explicitly. Overlays arelarge groups of subroutines that are

moved to and from the disk undercontrol of the user program. In anautomatic virtual memory, however,the user program is unaware thatswapping is occurring. The program-mer does not specify how the pro-gram should be divided up into piecesor when swapping should occur.

In certain cases, letting the pro-grammer control swapping directlycan result in good performance.However, the virtual memory game isvery complex and is played veryquickly inside the computer. Webelieve that the programmer shouldnot be burdened with deciding whatpart of the data to swap and when todo it. Asking the programmer to in-struct the virtual memory is like ask-ing a race car designer to write down,for the driver, exactly how to movethe steering wheel in some futurerace.

In this article, we first look at acommon type of automatic virtual'memory called paging. We thenintroduce a new type of virtual

Main Memory(Semiconductor RAMs)Processor 50 to 100K bytes

□ nan□□ □□

nL/nLI an □□

nUnDDDQ□ □□□ DQoa

Swapping

(of programs and data upon demand )

Secondary Storage

(mini-Winchester disk or bubble

memory or network connection)

5 to 10 million bytes

Figure 1: Main memory, secondary memory, and swapping combine to form a virtualmachine that seems to have more memory.

UNBELIEVABLE!

S-100 State-Of-The-Art SingleCard CP/M Computer NOWAVAILABLE!

• Z80A or Z80B

• 64K RAM

• 2 Serial Ports (SIO)

• 4 Parallel Ports (PIO)

• 4 Timers (CTC)

• Floppy Disk Controller

• Intelligent WinchesterInterface

• Prom Programmer

Single-unit pricing, Assembled,Tested, Burned-ln

4 Mz Version $895

6 Mz Version $1,195

All you need to configure asingle-user CP/M system or actas either a Master, Slave or aPeripheral Controller inmultiple-processor configura-tions. It incorporates the NECFloppy Disk Controller, whichsupports up to 4 double-sideddouble-density 8" disk drives,and the powerful Zilog family.

Our CPM version 2.2 BIOS isinterrupt driven, resulting inextremely high throughput

(TURBO-DOS version alsoavailable). Features are:

• High speed Buss transferutilizing the Z80 OTIR andINIR instructions

• All devices interrupt-driven

• Type-Ahead I/O buffers

• Real-Time clock

• Time-of-Day clock

• Multi-level passwordsupport

• Menu-driven utilities forFormat and Disk-Copy

• Configuration utility

Trademarks: CP/M by DigitalResearch, TURBO-DOS bySoftware 2000

VISA and Master Chargeaccepted

Dealer inquiries invited

Sierra Data Sciences

1300 East Shaw, Suite 164

Fresno, California 93710

(209) 224-0520

August 1981 © BYTE Publications Inc 379

memory that takes advantage of itsknowledge of objects. We describe indetail a specific object-oriented vir-tual memory for the Smalltalk-76system and explain how it plays thevirtual memory game better than apaging system.

Paging

The most common kind of auto-matic virtual memory is called pag-ing. In paging, the program is cut uparbitrarily into pieces. Each piece iscalled a page and contains the samenumber of bytes as every other page—say, 512. There are many morepages than will fit into main memoryat once, so most of them stay on thedisk. The processor knows onlyabout byte addresses in one large ad-dress space called the virtual addressspace. Every time the processor ac-cesses a byte, the address of the byteis checked. The high-order bits of theaddress tell which page contains thatbyte. (The low-order bits tell whichbyte within the page.) If that page isnot in main memory, the user pro-

gram stops. The virtual memory pro-gram starts up, finds an old page,moves it to the disk, and brings thedesired page into memory in its place.(We will use the term "memory" torefer to the fast, main memory only.)The act of discovering that a page isneeded from the disk and bringing itinto memory is called a page fault.

An advantage of paging is that itworks regardless of the contents ofthe pages. The mechanism needed todetermine whether a given page is inmemory is simple. Many computershave special hardware to speed up thetranslation between an address in thevirtual space and a page in memory.

There are problems with paging,however. If the program needs a par-ticular byte, the entire page surround-ing that byte must be brought intomemory. If no other bytes on thatpage are useful at the moment, a largeamount of main memory is wasted.Since programs are cut up arbitrarilyinto pages in the first place, it is com-mon that the rest of the page hasnothing to do with the part currently

Wondering where to find programs for your new

VIC ?

CREATIVE

SOFTWARE ,s your source for V,C programs.

Our Introductory Offer . . .

THREE CHALLENGING GAMESon cassette

• Seawolf

• Bounce Out

• VIC Trap

READY TO LOAD...FUN TO PLAY

$24.95

Add $1.50 for shipping/handlingCalif, residents add Sales TaxMasterCard and VISA orders accepted

CREATIVESOFTWARE

Write or phone for information on ourother games, household utility andeducational programs for your VIC.

201 San Antonio Circle, *'270Mountain View, CA 94040(415)948-9595

wanted. Sometimes a significant frac-tion of memory is taken up by pagesfrom which the processor wants onlya few bytes (see figure 2). These pagescrowd out pages containing otherparts of the program, causing manypages to be swapped to run the rest ofthe program. The many accesses toslow, secondary memory cause thewhole system to be slow.

Another problem with paging isthat every address of a byte or a wordmust be a long address. When anobject-oriented language is built on apaging system, a pointer to an objectis typically the address of the firstword of the object. Every pointermust be capable of reaching any wordin the entire virtual space, and eachone must have enough bits to spanthe space. Pointers comprise a largefraction of many programs and datastructures. If they could be shorter,more of the program could be packedinto one page in memory and the en-tire program would take fewer pagesof memory.

Object-Oriented Virtual Memory

Smalltalk is a system composed ofobjects. An object is a little packageof functionality. It contains thevalues of a few variables or a smallpiece of program. The importantthing about an object is that its partsbelong together. If a program wants apart of an object, it probably wantsother parts, too. Different pieces ofinformation were packaged togetherin that object exactly because theywill be used together. Locality ofreference is strong inside an objectand, in general, weak between ob-jects.

An object-oriented virtual memoryswaps individual objects instead ofentire pages between disk and mainmemory. Objects that are broughtinto memory are packed end to endwith the objects already there.Memory is thus entirely filled withuseful or likely-to-be-useful data. Alarger percentage of memory is ac-tually holding useful informationthan it would under a paging system.The result is that a larger part of theprogram can fit into memory at once.

There is a penalty for swapping ob-

380 August 1981 © BYTE Publications Inc

Circle 95 on inquiry card.

jects, however. Objects are generallysmaller than pages, and there are a lotof them in memory at once. The vir-tual memory program must keeptrack of which object is in whichplace in the memory, and it must beable to find out where each objectcame from on the disk. Managing in-dividual objects is more complicatedthan managing pages, but the advan-tage of packing main memory withuseful objects makes up for the timespent managing the objects.

By object-oriented virtual memory,we mean a system that swaps objectswhich have meaning in the high-levellanguage and which are typicallysmall. Segments in the B5500(reference 4) and objects in HYDRA(reference 5), while being the units ofswapping in their systems, are large.These "objects" require tens or hun-dreds of bytes of overhead informa-tion each. An object-oriented virtualmemory, in our sense, gives an objectthe same swapping freedom as a seg-ment and shrinks the overhead to afew bytes per object.

Pointers to Objects

An object consists of fields, whichhold the values of their named and in-dexed instance variables. Each fieldcontains a numeric value, which canbe interpreted as itself or (usually) asa pointer to another object. Thisnumber, called the object pointer, is

These pages arein core.

(The entire virtual space is cutup arbitrarily into poges.)

Figure 2: Virtual memory by paging.

the unique identifier of the other ob-ject. Every object has an objectpointer. Given an object pointer, thevirtual memory must be able to locatethat object, whether it is in memoryor on the disk (see figure 3).

Creating, destroying, and movingobjects in memory is the job of astorage manager. The virtualmemory program takes the place of

J Words of memory actuallyused while this page isin core.

J Words not used this time.

Pages onthe disk.

the storage manager (as described inGlenn Krasner's article, "TheSmalltalk-80 Virtual Machine," onpage 300 of this issue). It fetches andstores the fields of objects, createsnew objects, and collects andmanages free space. It also keepstrack of the length of each object andthe Smalltalk class of each object.When the interpreter is working on

Microengine Fower

Plug in PASCAL-100™ new CPUBoardset for S-IOO computers. Gowith the power of the Pascal Micro-engine! Run UCSD Pascal2 up to10 times faster than typical imple-mentations—with twice the memorycapacity. You've got the best hard-ware for the best software around.

Onboard Z80

PASCAL-100 includes a Z801 processor, soyou can run your current software—includingCP/M'—without modification. Ready to con-vert an application to Pascal? Do it anytime,with no disruptive hardware changes.

PASCAL-100 comescomplete with extensive documenta-tion—our users say it's the best around!

New Generation S-100

PASCAL-100 is designed for the versatile,flexible S-100 bus. Fully compatible withthe new IEEE-696 standard, yet works with

Want to know more? Just circle our numberon the reader service card. For fast action, callor write us directly.

OEM'S/ DEALERS

Be sure to specify our PASCAL-100OEM/Dealer Information Package

Digicomp Research

Terrace Hill Ithaca, NY 14850(607) 273-5900

m

'Trademark of Western Digital Trademark of University of California'Registered Trademark of Zilog, Inc. 'Registered Trademark of Digital Research

Circle 111 on inquiry card.

August 1981 © BYTE Publications Inc 381

Circle 169 on inquiry card.

Q»>

ELLGUARD

Spelling Checkerfor Professionals.

SPELLGUARD eliminatesspelling and typographicalerrors in documents pre-pared with CP/M1 or CDOS2word processors.

SPELLGUARD is aunique program that leadsthe microcomputing indus-try in its efficiency, ease ofuse, and reliability.

FAST

• Proofreads 20 pages In underone minute.*

POWERFUL

• 20,000 word dictionary, ex-pandable with single keystroke.

• Properly handles hyphens andapostrophes.

• Allows multiple, technicaldictionaries.

RELIABLE

• Over 500 shipped by March1981.

• 30-day money-back limitedwarranty.

• Industry leading Softguard®feature ensures diskette copy ofprogram is undamaged.

EASY TO USE

• On-line help feature.

• Misspelled words markedIn text for easy, In-contextcorrection.

• Examples of all functions In120 page manual.

COST EFFECTIVE

• SPELLGUARD S unique speedand accuracy easily recovers thesuggested $295 price.

'Time estimates based on double density8" diskettes and 4Mhz system.

Trademarks: 'Digital Research, 'Cromemco

Contact your local dealer or writeISA for a SPELLGUARD brochure.

The fast, accurateproofreader.

INNOVATIVE SOFTWARE APPLICATIONS

P.O. Box 2797, Menlo Park, CA 94025(415)326-0805

an object that is in memory, theoperations of fetching a field andstoring a field must run fast. Both thefetch and store operations specify anobject by giving its unique objectpointer. The translation from the ob-ject pointer to the object's location inmemory must be fast. The virtualmemory spends most of its time doingthis translation. A fixed cor-respondence between object pointersand locations in memory does notwork, since almost any combinationof objects may be in memory at thesame time. The translation from ob-ject pointer to memory location mustbe highly variable.

Once in a while, the interpreter at-tempts access to an object that is notin memory. The virtual memory mustdetect the attempt, find the object onthe disk, and bring it into memory.This process is called an object fault.Sometimes other objects must first beremoved from memory to make roomfor the incoming object. In order tofind an object on the disk, there must

Object Pointer

be a correspondence between an ob-ject pointer and that object's locationon the disk. The data needed to holdthis correspondence must be com-pactly represented, as there may bemany objects in the system.

OOZE

In 1975 and 1976, Dan Ingalls and Idesigned and built a virtual memoryto support the Smalltalk-74 system,called OOZE (Object-OrientedZoned Environment). It then becamethe foundation for the Smalltalk-76system (reference 3). The combina-tion was very successful, and manyinteresting projects have been built init. OOZE serves as an excellent il-lustration of a usable object-orientedvirtual memory implemented entirelyin software. At the end of this article,we discuss possible modifications ofOOZE for the Smalltalk-80 system.

For OOZE to play the game of vir-tual memory well, we had to design itto fit the rules. Economics (of ourexisting hardware) dictated the size of

Field 0Field 1Field 2

Disk Addressof object C

( Object D containsraw bits instead ofobject pointers)

Objec

E

Field 0

H

1

-

,

.

Figure 3: Objects and object pointers (as seen by casual observers). The "magic" is theunspecified process of translating the value of the object pointer to the actual address atwhich the object is stored.

382 August 1981 © BYTE Publications Inc

main memory, the size of the disk,and the ratio of their speeds. Therules also included the things that theSmalltalk interpreter expected objectsto do. We considered these and decid-ed that in OOZE an object pointerwould be 16 bits long, to fit into amachine word. We wanted everycombination of 16 bits to be a legalobject pointer, giving a total of 64 Kobjects. With a mean object size of 10to 20 words, this was a good match tothe size of our disk. To guaranteegood performance during a fault onan object, we specified that any ob-ject can be brought into memory byreading, at most, one place on thedisk. We did not allow one disk readto look up the disk address andanother disk read to get the actual ob-ject.

The design of OOZE centersaround the handling of the two im-portant object pointer translations.Finding an object's location inmemory from its object pointer mustbe fast. This mapping must also beflexible, since the exact combinationof objects in memory changes frommoment to moment. The correspon-dence between object pointer andmemory location is a large hash table,called the Resident Object Table(ROT). Of the 64 K objects on thedisk, perhaps 4000 are in memory atonce. Each of these has an entry in theROT. To find the location of an ob-ject, the hash routine uses the objectpointer to compute where to look inthe ROT. If it finds an entry whoseobject pointer matches, that entryalso contains the memory address ofthe object (see figure 4). If the hashroutine finds no match in the few en-tries it searches, the object is not inmemory. The magic puffs of smoke infigure 3 depict the act of hashing anobject pointer into the ROT to find itsmemory address.

OOZE must maintain the ROT.When an object is brought in from thedisk, OOZE hashes its object pointerand looks in the ROT. When it findsan empty entry among the fewpossibilities, it claims that entry forthe new object. Conversely, when anobject is removed from memory andput back on the disk, its entry in the

ROT (Resident Object Table)

Object Pointer

Found the entry

for this Object Pointer.

-•■No, did not find theentry. The Object isnot in core.

The ROT holds 4000 of the 64Kpossible Object Pointers.

Insert an Object Pointer

Delete an Object Pointer

Change the memory addressof on Object

These operations must not move theROT entries of too many other objects.

Figure 4: Hashing an object pointer in the Resident Object Table (ROT).

ATTENTION GOVERNMENT D PUSERS AND PURCHASERS

We represent many fine micro products and manufacturerson the U.S. Government's GSA Schedule, including

Apple, Cromemco, Micropolisand Seequa Computers

Purchasing from the Schedule will save you the timeconsumed by the bid process. Products shipped throughoutthe United States and world-wide. Visit or write any of ourstores for more information or to receive our catalogue ofproducts 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

Circle 81 on inquiry card.

August 1981 © BYTE Publications lnc 383

ROT is marked empty. Sometimes anobject moves in memory, and itsmemory address in its ROT entrymust be updated (as referred to infigure 4).

Hashing object pointers into theROT to find memory addresses is thehighest bandwidth operation inOOZE. If hashing were supported byspecial-purpose hardware, thehashing operation would not con-sume much time. (Many machinesprovide similar hardware support forpaging.) In our implementations ofthe Smalltalk-76 system, the best wewere able to do was to write the ROThashing algorithm in microcode. Inspite of this, OOZE spends a largefraction of its time hashing into theROT. Any hash that can be avoidedsaves time. We modified theSmalltalk interpreter to remember thememory addresses of certain fre-quently used objects. During thestraight-line execution of a Smalltalkmethod, the interpreter holds thememory address of the currently ex-ecuting method, the receiver, and the

object on the top of the stack.Smalltalk spends significantly lesstime in OOZE when hashes of thesefrequently used objects are cir-cumvented.

Hashing into the ROT is optimizedin yet another way. As mentionedbefore, the hash routine uses the ob-ject pointer to compute a series ofplaces to search in the ROT. Theentries examined form a chain, withdifferent object pointers having dif-ferent chains. These chains crisscrossthroughout the ROT. An entry onone chain is many times filled by anobject pointer from a different chainthat also uses this entry. The hashroutine is searching for an entry thatmatches a certain object pointer. Thesearch will succeed faster if the chainhas all its own entries at the beginningand all other chains' entries at theend. The algorithm for deleting anentry from the ROT provides this op-timization. After deleting the properentry, it shuffles the remaining entriesand moves them forward in theirchains. Because of this strategy, the

COMPUTERS

Alan 800 W 16K 799.00

4K Model III 599.00

Model II 64K System 3499.00

16K Model III 879.00

DISK DRIVES

40 Track 5V« inch drive 314,00

80 Track 5V. 544.00

4 Disk Drive Cable 39.00

Lobo w/controller Call for price

Lobo w/o controller Call for price

PRINTERS

Epson MX80 ...' Call for price

Epson MX70 Call for price

Okidata Microline 80 479.00

Okidata Microline 82 699.00

Okidata Microline 83 989.00

NEC 5510 w-tractor 2679.00

Diablo 630 2495.00

MISC HARDWARE

Expansion int TRS-80(Ok) 269.00

Novation D-Cat Modem 166.00

16K Memory Kit 35.00 (2/65.00)

Leedex Monitor 149.00

Leedex 100G 169.00

Leedex Color Monitor 399.00

Printer Cable lor above 49.00

ISO-2 Isolator 54.00

AC LINE FILTER 24.00

280 Softcard 289.00

Ramcard 169.00

Videx 80 COL BOARD 289.00

Videx KBD Enhancer 109.00

DC Hayes Micro Modem II .. .319.00CCS and SSM Interface

Cards Call for price

STORAGE MEDIA

Scotch-box 10-5V4 27.00

Memorex-box 10-5V4 22.00

Plastic Storage Box 5.00

kVerbatim 5'<i 25.00

DIVISION OF MARK GORDON ASSOCIATES, INC.P.O. Box 77, Charlestown, MA 02129 (617)491-7505

OPERATING SYSTEMS

NEWDOSbyAPPARATINC

NEWDOS+byAPPARATINC

MMS FORTH DISKETTE PRIMER

NEWDOSB0

VTOS

490099.0079.95135.0099.00

BUSINESS SOFTWARE FOR TRS-80, APPLE AND ATARI

Free enhancements and upgrades to registered owners for the cost of mediaand mailing 30 day free telephone support User reference on request.Fully Interactive Accounting Package General Ledger. Accounts Payable.Accounts Receivable and Payroll Report Generating

Complete Package (requires 3 or 4 drives) 475.00

Individual Modules (requires 2 or 3 drives) 125.00

Inventory II (requires 2 or 3 drives) 99.00

Mailing List Name & Address II (requires 2 drives) 129.00

Intelligent Terminal System ST-80 III 150.00

The Electric Pencil from Michael Shrayer 150.00

File Management System 49.00

Sort 80 59.00

LJK Letter Perfect (Atari. Apple) 139.00

DB Master (Apple) 169.00

Disk Business Software available for Model III Call for price

FINE PRINT

TRS-80 is a Tandy Corporation trademark Use of above operating systemsmay require the use of Radio Shack TRS-DOS Radio Shack equipmentsubject to the will and whim of Radio Shack

ORDERING INFORMATION

We accept Visa and Mastercharge We will ship C.O.D.. certified check, ormoney order only There will be a 40 percent deposit required on all CODorders over $300.00 Massachusetts residents add 5 percent sales tax. Stockto three weeks for delivery

TWX #710-320-7693

For information call 617-491-7505

To order, call toll-free 1-800-343-5206

The Company cannot be liable for pictorial or typographic InaccThe above prices do not include shipping.

uracies. j

average number of entries examinedto find an object in memory is only1.8. Typically, the resident objecttable is 80 percent full.

Finding an Object on the Disk

The translation from an objectpointer to the disk address of the ob-ject is also important. Since a list ofthe disk addresses of all 64 K objectswould easily fill up main memory,OOZE must use a trick. Instead ofobject pointers being assigned ran-domly to objects, information is en-coded in each object pointer. This isdone by dividing the set of objectpointers into pseudoclasses. The bitsin the upper part of the pointer in-dicate to which pseudoclass that ob-ject belongs. All objects in a pseudo-class have the same Smalltalk classand have the same length. ThePseudoclass Map is a table that is in-dexed with the pseudoclass number.There OOZE finds the length of theobject and its class (see figure 5). Asingle Smalltalk class may own asmany pseudoclasses as it needs tocover all of its instances. Classeswhose instances may have indexablevariables, such as class String, own adifferent pseudoclass for each lengthor range of lengths. The pseudoclassencoding saves space because eachobject does not use a word to hold itsclass or a word to hold its length. Ob-jects in memory in OOZE are actuallytwo words shorter than objects in theSmalltalk-80 system.

The disk address of an object is alsofound by using its pseudoclass. Allobjects in a pseudoclass are the samelength, and they are stored con-secutively on the disk. By knowingwhich object we want within thepseudoclass, we can compute its off-set from the beginning of thepseudoclass. If we know the startingdisk address of the pseudoclass, wecan add the offset and find the object.The Pseudoclass Map contains thestarting disk address of the object'spseudoclass (see figure 5). The lowbits of the object's pointer tell whichobject it is within the pseudoclass.This encoding allows the disk ad-dresses of all 64 K objects to bestored in 512 words of memory.

384 August 1981 © BYTE Publications Inc

Circle 148 on inquiry card.

Circle 346 on inquiry card.

(There are actually two additionallevels of translation for the disk ad-dress. Tables for these take another740 words).

By using the Pseudoclass Map,OOZE can find the disk address ofany object from its object pointer. Ifit is in memory, OOZE also finds theobject from its object pointer. Thusthe same object pointer serves toidentify and find an object, no matterwhere the object is. Because movingan object between disk and memorydoes not change its pointer, fields thatpoint to the object need not changewhen the object moves. A fieldalways contains the object pointer ofthe object to which it refers,regardless of the field's location andregardless of the object's location.

Storage Management

The management of the swappingspace has several aspects. Objects arecreated and destroyed by Smalltalkupon request, and they are alsomoved in and out of memory. Each ofthese actions causes insertion or dele-tion in the ROT and allocation ordeallocation in memory. Consider a

Object Pointer

class that wants to create a new in-stance: the new instance must receivean object pointer whose pseudoclassis already owned by that class. Forthis reason, we treat free instances ofa class as legitimate objects. They"belong to the class" and can beswapped to and from the disk just likenormal instances. Each class keeps alinked list of free instances. The classthinks that there are an infinitenumber of free instances on the disk,waiting to be swapped in. To create anew instance, the class merely pullsthe first object off its "free list." If thatobject is not in memory, a faultbrings it in from the disk. When a freelist on the disk runs out, OOZE con-structs new free instances on the diskas they are requested.

We have reduced the problem ofmanaging memory and the ROT tothe problem of swapping. Mainmemory has some free blocks be-tween the areas being used for ob-jects. These free blocks are linkedtogether on free lists according totheir size. The ROT also containsunused entries, which are marked assuch. During an object fault, OOZE

instonce number withina pseudoclass (0-127)

pseudoclassnumber

Disk Address of this Object =

Disk Address of start of this Pseudoclass +

( length of on instance * instance number ).

Figure 5: Information encoded in an object pointer.

DATACOMMUNICATIONS

Apple • TRS-80 • S-100

Alpha-Micro • CP/M and

many others

Finally, you can talk with the bigboys (or another mini/micro)by using our data communi-cations products:

SACP

Stand-AloneCommunications Processor

This unit is a self-containedfront-end data communicationsprocessor. The size of aMODEM, it interfaces to yourmini/micro system through anyavailable RS-232 port andmanages the communicationsline independently.

SACP-100

S-100 Stand-Alone

Communications Processor

Similar to the SACP describedabove, this unit can be insertedinto an open S-100 slot on yoursystem. It performs all of thefunctions of the SACP and,additionally, supports CPU toCPU data transfer through theuse of a special I/O ports.

ZSIO-100

S-100 Data

Communications Board

A four port RS-232 Serial I/Oand Real Time Clock board thatestablishes an interface to thepowerful Zilog SIO chips.Maximum system throughput isachieved by utilizing theinterrupt facilities of the ZilogZSIO/2 and CTC LSI chips.

Available Protocols

2780 • 3780 • HASP • JES1

JES2 • VMRSCS • 3275 Emulation

3271/3277 Emulation

Trademarks: CP/M by Digital Research

VISA and Master Charge accepted

Dealer inquiries invited

Sierra Data Sciences

1300 East Shaw, Suite 164

Fresno, California 93710

(209) 224-0520

August 1981 © BYTE Publications Inc 385

Circle of possibleObject Pointers

Untouched

this round means "old"

Touchedmeans "young"

When the Smalltalkinterpreter accesses anobject, it. is marked ".touched."

Purged Sweep

t sends "old" objects to the disk.• It makes "young" objects into old.

Figure 6: The order in which objects are purged from main memory.

claims a free ROT entry and a proper-sized block of memory for the incom-ing object. Occasionally, OOZE can-not find a legal ROT entry or a freeblock of memory that is largeenough. The fault routine stops, andOOZE starts purging objects frommemory by copying them to theirproper places on the disk. It then freesthe memory space and ROT entries ofthe objects it throws out. When thepurge routine finishes, the faultroutine resumes its work.

The purge routine must decidewhich objects to throw out ofmemory. To play the game of virtualmemory perfectly, OOZE shouldkeep the objects which will be usedsoon and throw out those which willnot. Since OOZE cannot see into thefuture, it throws out the least recentlyused objects. Objects that have beenactive recently are kept, and inactiveones are tossed out. The purgeroutine examines objects in memoryin an order determined by their objectpointers. Consider the space of all ob-ject pointers to be a circle. The purgeroutine tours the circle, keeping ob-jects that have been accessed since thelast time around. Objects that haveremained unaccessed since the routinelast visited them are purged to thedisk (see figure 6). Typically, it takesseveral calls on the purge routine tocomplete a tour of the circle of objectpointers.

Purging objects in order of theirobject pointers has a very importantside effect. Since all objects in apseudoclass are consecutive on thedisk, purge sends out the objects it ispurging in the same order that theyappear on the disk. This minimizesthe movement of the disk head andsaves time.

Objects that have not been changedsince they came in from the disk donot have to be rewritten. They arecorrect as they stand on the disk. Asingle bit in each object in memorytells if it is "dirty" (ie: if it has beenchanged since it was copied tomemory). If an object about to bepurged is not dirty, we do not rewriteit on the disk and thus save time. Thissavings can be enhanced by purgingin the background. Normally thepurge routine runs in response to animmediate demand for space inmemory. A special version of theroutine runs when Smalltalk is idleand looks ahead in the circle of objectpointers. It writes dirty objects to thedisk and marks them as being"clean." A subsequent demand call onthe purge routine will run quicklybecause many of the objects it wantsto throw out are already written onthe disk.

After each round of purging, thedegree of fragmentation of memory istested. If there are too many smallblocks and no big ones, we perform a

compaction. All objects are moved toone end of memory and all freeblocks are merged into a single blockat the other end. Memory addressesare updated in the ROT entries of theobjects that have moved. OOZE per-forms this operation without usingadditional storage in order to keep alist of which objects have moved towhich place in memory.

As a storage manager, OOZE mustdetect when an object is no longerbeing used. Like the storage managermentioned in Krasner's article, OOZEuses reference counting. When thereference count of an object goes tozero, its object pointer is not in anyfield of any other object. At thispoint, it is impossible for that objectever to be accessed by the interpreter.OOZE, therefore, puts the object onits class's free list. Before doing so,however, it decreases the referencecount of the object pointed to by eachfield of this object. In the process,more counts may go to zero, andmore objects may get freed. To savespace, reference counts are only fourbits wide. The few objects with fifteenor more fields pointing at them arenoted in a separate overflowreference count table.

Performance

An average Smalltalk-76 systemwith OOZE contains 40,000 objectsand occupies one megabyte of diskspace. In main memory, the systemuses 96 K words, including 8 Kwords for the ROT and 40 K wordsfor the objects that are currentlyswapped in. (We sometimes run withonly 64 K words of memory.) On theAlto computer (see reference 1), weimplement hashing into the ROT andthe allocation of common objects inmicrocode. Performance is equivalentto a paging system with several timesthe swapping space. The OOZE vir-tual memory has allowed the Small-talk-76 system to grow from an ex-periment into a system for buildinglarge and serious applications.

OOZE was designed in 1975.Several rules of the virtual memorygame have changed since then. Hereare some ways in which OOZE showsits age at Xerox PARC:

386 August 1981 © BYTE Publications Inc

• Users can afford more disk andmore memory. They want to buildsystems that contain more than 64 Kobjects. OOZE cannot be easily ex-panded beyond this limit.

• Several extensions to the Smalltalklanguage encourage the user to createlots of classes. OOZE has a limit of245 classes, and many serious usershave encountered this limit.

Naturally, our minds have turned tobuilding a virtual memory for theSmalltalk-80 system with even betterperformance than OOZE. In 1980, agroup of us at Xerox PARC designedjust such a system, the Large Object-Oriented Memory (LOOM). In-dividual objects in LOOM carryslightly more overhead than objectsin OOZE. (Since users can affordmore memory, this is not a problem.)Besides allowing a much larger vir-tual space and unlimited classes,LOOM provides some new proper-ties:

• LOOM accesses objects that are inmemory simply by indexing a table,as does the resident Smalltalk-80system. LOOM thus saves the timethat OOZE spends hashing into theROT whenever it wants a memoryaddress. During the table lookupwhich finds an object's memory ad-dress, LOOM tests for the case whenthe object is not actually in memory.To run faster than a hash in OOZE,the test must be very simple and fast.

• LOOM is designed with the idea inmind of grouping objects on the disk.If objects that are faulted on togethercan be arranged into groups on thedisk, the system will run faster.LOOM will be a test bed for schemesthat optimize the organization of ob-jects on the disk.

Conclusion

The goal of the virtual memorygame is to make a mixture of fast andslow memory perform almost as wellas if it were all fast memory. Thestrategy is to guess what informationthe processor will need soon andmove it to fast memory. In an object-oriented language such as Smalltalk,the object is an excellent unit for

locality of reference. Once an objectis accessed, it will most likely be ac-cessed again soon. Recently used ob-jects have a similar degree of localityto recently used pages, and manymore objects than pages fit into agiven amount of fast memory.

OOZE is the first representative ofthe new category of object-orientedvirtual memories. These systems usea construct in the high-level language,the object, as the unit of swapping.Objects as small as one field in lengthare swapped individually by the samemechanism used for large strings andarrays. To be a member of thiscategory, a virtual memory must alsohave automatic control of swappingand automatic creation and freeing ofobjects. While OOZE is implementedin software, we believe that futuresystems will be implemented likelanguages: hardware assist for a fewhigh-bandwidth operations, somemicrocode, and support code inmachine- or high-level language. Weexpect that mature object-orientedvirtual memories will identify groupsof objects that are used together andswap them as a unit.

As the virtual memory which sup-ports the Smalltalk-76 system, OOZEis interesting in itself. It provides theability to address 2N objects withN-bit pointers. Only currently activeobjects occupy memory, and they arepacked end to end. This provides ex-ceedingly good use of memory.Because the class and length of an ob-ject are encoded in the object pointer,that information does not occupyspace with each object in memory.Movement of the disk head is reducedbecause objects are purged to the diskin the order of their disk addresses.OOZE is implemented in softwarewithout any special hardware sup-port. It runs in an amazinglysprightly fashion and performs aswell as paging systems with severaltimes the swapping space.

The fact that Smalltalk uses objectsconsistently and completely allows itsvirtual memory to be radical indesign. Object-oriented virtualmemories get their power from aclose coupling with the high-levellanguages they serve. The success of

OOZE and the changing rules of thevirtual memory game have inspiredthe design of LOOM, a larger andmore efficient object-oriented virtualmemory. ■

References

1. Bell, C G and Alan Newell. ComputerStructures: Readings and Examples, NewYork: McGraw-Hill, 2nd edition, 1980.

2. Denning, P J. "Virtual Memory," Com-puting Surveys, Volume 2, Number 3,September 1970, page 153.

3. Ingalls, Daniel H H. "The Smalltalk-76 Pro-gramming System: Design and Implemen-tation," Conference Record, Fifth AnnualACM Symposium on Principles of Pro-gramming Languages, 1978.

4. Shaw, Alan C. The Logical Design ofOperating Systems, Englewood Cliffs NJ:Prentice-Hall, 1974.

5. Wulf, W A, et al. HYDRA/C.mmp, NewYork: McGraw-Hill, 1981, Chapter 11.

Is twoyears toomuch toask for anexperiencethat lastsa lifetime?

Americans from every backgroundworking together with people aroundthe world to meet their basic humanneeds—that's what the Peace Corps is allabout.

It isn't easy, and it's not for everyone.For an experience you'll never forget,call toll free 800-424-8580. Or writePeace Corps, Washington, D.C. 20525.

Peace Corps

The toughest jobyou'll ever love.

COUKM

A Public Service of This Magazine& The Advertising Council

August 1981 © BYTE Publications Inc 387

Ask BYTE

Conducted by Steve Garcia

LanguageRequirements

Dear Steve,

How much ROM (read-only memory) and program-mable memory is necessaryto program in languages likeBASIC, FORTRAN, Pascal,and COBOL7 I have readyour articles in BYTE, but Ihaven't seen anything aboutthis subject.Stephen WalaskiRussellville AR

The actual amount ofmemory in a system is oftenmore dependent upon eco-nomics than on need. Thereare systems sold with any-where from 2 K- to 12 K-byte BASIC interpreters.Generally speaking, a "tiny"BASIC would require 2 K to4 K bytes of ROM (read-onlymemory) and from IK to4 K bytes of programmablememory for operator entries.A full BASIC, or extendedBASIC as it's often called,usually occupies between8 K and 12 K bytes of ROMspace. Systems that have aROM BASIC usually have4 K to 16 K bytes of pro-grammable memory. This iswhat's typically found on theRadio Shack TRS-80 and Ap-ple II computers. In both ofthese systems, the program-mable memory can be ex-panded to 48 K bytes.

For high-level languagessuch as FORTRAN, Pascal,or COBOL, which are com-pilers rather than interpre-ters, a disk is a necessary partof the computer system. Thedisk operating system canoften occupy 4 K to 8 Kbytes and is generally storedin the programmable mem-ory when in use. When youload the compiler software, itcan use an additional 12 K to20 K bytes. So, for FOR-

TRAN, Pascal, or COBOL,you may have 20 K to 28 Kbytes of programmable mem-ory occupied before you'vewritten a single line of code.Generally speaking, any-one wishing to use such high-level languages would be welladvised to have, at a mini-mum, 48 K bytes of program-mable memory. When oper-ating with a disk, the ROMoften becomes immaterialother than as a "bootstrap"loader, so I don't see that anyparticular amount is neces-sary. . . . Steve

A Tank List Job

Dear Steve,

I would like to know twothings about your article "AComputer-Controlled Tank."(See the February 1981 BYTE,page 44.)

• What computer was thecontrol program written for?

• Can the circuitry be modi-fied for an Ohio ScientificClP to control a small RadioShack tank7

Ken PataskaKenosha WI

The control program formy computerized tank waswritten in standard extendedBASIC. I used a DigitalGroup Z80-based computerto write the original program,but the same program hasbeen run on both a RadioShack Model I and Model III.

As far as using a similar cir-cuit for the Radio Shacktank, I would guess that thecircuit could provide on/offcontrol, but the operation ofRadio Shack's tank is verydifferent from Milton Brad-ley's Big Trak. If you can livewith sending out single com-mands and no local program

storage in the tank, thereshould be no reason why theRadio Shack tank could notbe controlled by any com-puter. . . . Steve

Modem Inquiries

Dear Steve,

I have a few questionsabout your August 1980BYTE article "A Build ItYourself Modem for Under$50."

• How does one calibrate thefrequencies accurately?

• Is this modem a two-line,full-duplex coupler7

• Are the kits you mentionedat the end of the article stillavailable?

• Where can I purchasecables and connectors?

I own a Heathkit H-89(alias Zenith Z89) with athree-port RS-232C board in-stalled.Brian J MorkHolland MI

The modem presented inthat article has been verypopular, and many hundredshave been purchased by ex-perimenters. It is still avail-able from The Micromint(917 Midway, Woodmere NY11598). It costs $39.95, plus$2 for shipping.

Regarding the electronicsof the modem, it could beconsidered a two-line, full-duplex modem except thatthere are really three wiresbetween the computer. Onecarries data from the modemto the computer, one carriesdata from the computer tothe modem, and the third isthe ground. You should haveno problems attaching themodem to a Heath H-89;and, to my knowledge, theconnectors and cables are

available from Radio Shack.As far as calibrating thefrequencies: the manual pro-vided with the Modem Kitdescribes calibration usingstandard test instruments. Italso describes a fairly quickand easy way to accomplishthis. The method uses ananswer modem to serve as afrequency source. The Micro-mint also has recordedanswer-modem frequencieson cassette tape available.. . . Steve

Multl-Dlmenslonal Problem

Dear Steve,

We bought an Olivettielectronic typewriter that fea-tures a daisy-wheel print-head, proportional spacing,memory, etc. We were told itwould "interface" with acomputer. At that time wedidn't even know what inter-face meant, but found outlater. We then looked atword processors, such asVydec and Dictaphone, thatare able to show a whole pageof 69 lines with 160 columns.In our ignorance, we thoughtthat was standard, eventhough we saw some ma-chines with only 80 columnsby 24 lines. Not being able toafford the $8500 to $15,000cost of a word processor, wethought that we had a lineprinter in the Olivetti. We de-cided to get a cheap comput-er, hook them together, andthen we would have what weneeded, and cheap.

That's when we ran upagainst the 24-line, 80-col-umn problem. Now giving us24 lines and 80 columns whenwe have hundreds of pages tolay out, with printing to goaround pictures, etc, is liketrying to do layouts on asheet of 8V2- by 11-inch

388 August 1981 © BYTE Publications Inc

paper with about two-thirdsof it covered at all times.Sure, you can scroll up anddown and sideways, but howcan you judge a layout if youcan't see the whole page?When you are writing, howcan you remember what yousaid in the first paragraphwhen you are at the bottomof the page?

Everywhere we went, weasked why microcomputerswere limited to 80 columnsand 24 lines, and we got a dif-ferent answer from eachstore. One said it was thevideo display that limited it,one said it was some circuit inthe computer, one said it wasthe cheap way that comput-ers are built, but mostly theylooked at us blankly and saidthey didn't know. We wroteto manufacturers, to com-panies all over, and no onehas even answered our let-ters, so now it's your turn:What limits the format size ofthe video display, and can weget a full 160-character by69-line page on a video dis-play using one of the less ex-pensive computers such asthe Radio Shack TRS-80?Sam MillarOlympia WA

Let me assure you thatvideo displays with 69 linesby 160 characters are veryunusual. Most personal com-puters have 16 or 24 lines of64 characters, and most com-mercial units have 24 lines of80 characters. The differencebetween them is not that oneis a cheap computer and theother is not, but that the elec-tronics of a 69 by 160 formatis considerably more expen-sive than a 24 by 80 format.

When you buy a word-processing system, be awarethat there are many more fea-tures than the number of linesthat are displayed on thescreen. The software is farmore important. Frequently,word-processing systemshave 16 by 64 characters on ascreen, but good word-pro-

cessing software will allowyou to print the final copy atany line length. In fact, thesystem that I use has a 16-lineby 64-character display, butit allows me to print out up to132 characters per line.

One possible approach foryou is to attach your Olivettito an inexpensive personalcomputer and get some high-powered software. If youdon't mind the time limita-tions involved with occasion-ally dumping the full docu-ment to the printer to seehow it looks, it should not betoo cumbersome.

Keep in mind that you getwhat you pay for. If you buya $20,000 word-processingsystem, one of the featuresyou can get is full-page dis-play. However, you shouldbe able to configure a micro-computer-based word-pro-cessing system that producesalmost identical final copyfor under $4000.

I hope I've helped you insome way. I do all of mywriting on a word processorand I find it invaluable.. . . Steve

ComingAcross Assemblers

Dear Steve,

I can't seem to be able tofind a cross-assembler for theTexas Instruments TMS-1000microcomputer, written inFORTRAN or in BASIC, thatcould run on a home comput-er such as the Apple II. Doessomething like this exist? Ifnot, do you know of a devel-opment system7Guy ChemlaLe Kremlin Bicetre, France

Texas Instruments hascross-assemblers that run onDigital Equipment Corpora-tion's PDP-11/70 and VAXsystems and on the IBM 370.These are hardly inexpensivecross-assemblers. Texas In-struments does, however, sella 9900-based computer that

emulates and supports theTMS-1000. The hardware in-cludes a video display, twofloppy-disk drives, thechassis with 9900 processor,64 K bytes of memory, andthe software. It's called theTAM 9000 system. It costsapproximately $20,000.. . . Steve

Article Information

Dear Steve,

I would like to interfacemy IBM Selectric typewriterto my 16K-byte TRS-80Level II. I do not have the Ex-pansion Interface, but Iwould like to have Selectric-quality hard copy.

Where can I get informa-tion on buying or buildingthe necessary interfacing cir-cuitry and other items essen-tial for the conversion?J W Rankin, JrMemphis TN

There are many differentways of attaching an IBM Se-lectric to a computer. Youdon't necessarily need the Ex-pansion Interface to do itwith a TRS-80.

Many articles have beenpublished in the past fewyears concerning the Selec-tric. You may do better tolook up a few and chooseamong the different wayspresented.

The following is a partiallist:

Interface Age, January 1978,

page 148.

Kilobaud, May 1978, page

64

Kilobaud, June 1978, page

22

Kilobaud, July 1978, page 40

Kilobaud, November 1979,

page 134

Kilobaud, December 1979,

page 144

BYTE, June 1977, page 46

BYTE, October 1977, page

174

BYTE, October 1977, page 36

36

Kilobaud, July 1977, page 5

These magazine article list-ings came from the PeriodicalGuide for Computerists by EBerg Publications, 622 EThird, Kimball NE 69145.. . . Steve

One EyeToward the Past

Dear Steve,

I read your columns inBYTE and enjoy them verymuch. A few years back therewas an article about a solid-state television-camera pro-ject called Cyclops. The heartof the system was a 32 by 32photosensitive array. Haveyou heard of this device orthe article?Dennis SpragueGreat Falls MT

The article that you are in-terested in is indeed called"Cyclops." It was in theFebruary, 1965, Popular Elec-tronics. The 32 by 32 photo-sensitive array is in fact adynamic memory chip.. . . Steve

Off to a Slow Start

Dear Steve,

In college, the only com-puter I had a chance to usewas a PDP-8. Since that time,I haven't had an opportunityto use a computer, with theexception of my Texas Instru-ments SR-56 and a TRS-80down at the Radio Shack. Itry to keep up-to-date on themicrocomputer field as muchas possible. I have basicknowledge of electronics andmicrocomputers, but the lan-guage used in BYTE is some-times too technical for me.Could you recommend somebooks, articles, etc7

I have concentrated mystudy on Intel's 8080 micro-processor, and am interestedin building a system aroundit, using the S-100 bus. I envi-sion using a video display for

August 1981 © BYTE Publications Inc 389

Ask BYTE,

writing programs and a cas-sette for storage.

My budget is limited, so Iwas wondering if this systemis my best approach? I plan tobuy bare boards and do mostof the construction myself.How do I know which boardswill be best for my system7Where can I get more infor-mation on system compon-ents, such as floppy disks,video-display and processorboards, etc?

Any advice would begreatly appreciated.

Douglas B PowersNorth Platte NE

Many people write and askme where to start. Generally,I have the same answer: Itreally depends upon whatyou mean by "starting. " Areyou just concerned with learn-ing about microcomputers orare you trying to build a sys-tem, one board at a time, that

will compete with an IBM370? You either have to havean idea of what you want asan end result when you start,or be satisfied with learningthe basics and possibly re-placing that system. Yoursecond system would attemptto be closer to the final sys-tem that you want.

As far as books, the bestsuggestion, obviously, is togo to a bookstore that hasmany technical books andlook through them. Or jointhe McGraw-Hill ElectronicEngineers Book Club—I'vebelonged to it for years.

I have just written a bookon building your own ZilogZ80-based computer fromscratch that I would like torecommend, but it is in-tended to teach you about theISO. I doubt that it couldever compete with a quad-disk Cromemco Systemsimply by the fact that muchmore support is needed to

add disk drives, etc.

If you are intent uponstarting with a system that isnot of your own design, thenI recommend buying blankS-100 boards and "populat-ing" them. It is a very inex-pensive path to follow andcan result in a valuable sys-tem later on. Unfortunately,populating boards does notnecessarily teach you muchabout designing a customcomputer system nor does itallow you to deviate from thefunctions available on thosecards.

One final note, this

month's and last month's"Circuit Cellar" articles areabout a 4- by 4Vi-inch tinyBASIC computer, which isoffered as an inexpensive kit.All you have to do is add avideo terminal (you envi-sioned starting with videodisplay anyway) and im-mediately you would be ableto start off with a tiny BASICpreprogrammed in ROM. Italso has 4 K bytes of pro-grammable memory onboard. You might want toconsider it as an inexpensiveway of starting. . . . Steve!

In "Ask BYTE," Steve Ciarcia answers questions on any area ofmicrocomputing. The most representative questions receivedeach month will be answered and published. Do you have a nag-ging problem? Send your inquiry to:

Ask BYTE

c/o Steve Ciarcia

POB 582

Glastonbury CT 06033If you are a subscriber to The Source, send your questions byelectronic mail or chat with Steve |TCE317) directly. Due to thehigh volume of inquiries, personal replies cannot be given. Besure to include "Ask BYTE" in the address.

Made from MYLAR to <withstand continous use.'

This is it. ♦.

the answer to your problem of how to

run single sheets of your letterhead or a

snap-a-part form thru a tractor feed printer.

. . . just insert your form or stationery into the

PAPER PORTER", place in your printer, align

the print head and start printing ....

ONLY $075

FORM MF-006

2

EACH

In quantites of5 or more.

$4.50 EACH SINGLY

PRICE INCLUDES SHIPPING IN CONT. U.SA.

You may mix items to obtain quantity discount.

MINIT-MAN PRINTING Dept B881211 E. Allegan St, Otsego, Ml 49078 (616) 694-9141

Please Rush the following

PAYMENT

MUST

ACCOMPANY

ORDER.

QUANTITY

ITEM

PRICE

TOTAL PRICE

I

□ Charge it to D Visa D Mastercharge TOTAL:

Acct. No.

Name

Address

Exp. Date .

Cily/State/Zip_

Michigan Residents add 4a

Sales Tax

OTHER PRODUCTS

• MF-001 Video Layout Pads for Heath, Zenith H19, Z19, H89 & Z89

• MF-002 Gen. Purpose Programming Pads for Basic & Assembly Lang.

• MF-003 Flow Charting Pads no need for templates, carries most sym.

• MF-004 Printer Layout Pads 10 char. hoz. by 6 lines vert., 132 column.

• MF-005 Printer Overlay Same as #4 but clear mylar, avialable singly.

• MF-007 Cobol Programming Pads uses standard Cobol layout & col.

All Items except MF-005 & MF-006 are printed in fadeout blue on offsetstock and are padded in 50's. Available 5 pad minimum, $2.75 each.

Prices include shipping within Cont. U.S.A.

DEALER INQUIRES INVITED

390 August 1981 © BYTE Publications Inc

Circle 412 on inquiry card.

Books Received

This is a list of booksreceived at BYTE Publica-tions during this pastmonth. Although the list is1 not meant to be exhaustive,its purpose is to acquaintBYTE readers with recentlypublished titles in computerscience and related fields.We regret that we cannotreview or comment on allthe books we receive; in-stead, this list is meant to bea monthly acknowledgmentof these books and the pub-lishers who sent them.

Basic Business Software, EG Brooner. Indianapolis IN:Howard Sams & Company,1980; 13.5 by 22 cm, 141pages, softcover, ISBN0-672-21751-1, $9.95.

Basic Electrical Engineer-ing, Fifth Edition, A EFitzgerald, D Higginbotham,and A Grabel. New York:McGraw-Hill, 1981; 17.5 by24.5 cm, 937 pages, hard-cover, ISBN 0-07-021154-X,$28.95.

Computer Language Refer-ence Guide, Harry L HelmsJr. Indianapolis IN: HowardSams & Company, 1980; 13.5by 22 cm, 109 pages, soft-cover, ISBN 0-672-21786-4,$6.95.

Computer Networks andDistributed Processing: Soft-ware, Techniques, and Arch-itecture, James Martin. Engle-wood Cliffs NJ: Prentice-Hall, 1981; 19 by 24.5 cm,562 pages, hardcover, ISBN0-13-165258-3, $34.

Computer Networks in theChemical Laboratory, GLevy and D Terpstra, editors.New York: John Wiley &Sons, 1981; 16 by 23.5 cm,221 pages, hardcover, ISBN0-471-O8471-9, $27.50.

Computer Programs inBASIC, Paul Friedman. En-glewood Cliffs NJ: Prentice-Hall, 1981; 23 by 29.5 cm,271 pages, hardcover, ISBN0-13-165225-7, $19.95. Avail-able in softcover for $10.95.

Database Security and In-tegrity, E Fernandez, RSummers, and C Wood.

Reading MA: Addison-Wes-ley, 1981; 16.5 by 24.5 cm,320 pages, hardcover, ISBN0-201- 14467-0, $17.95.

Data Dictionaries and DataAdministration — Conceptsand Practices for Data Re-sources Management, RonaldG Ross. New York:AMACOM, 1981; 16.5 by23.5 cm, 454 pages, hard-cover, ISBN 0-8144-5596-4,$29.95.

History of ProgrammingLanguages, R Wexelblat,editor. New York: AcademicPress, 1981; 18.5 by 26 cm,758 pages, hardcover, ISBN0-12-745040-8, $45.

Introduction to 8080/8085Assembly-Language Pro-gramming: A Self-TeachingGuide, J Fernandez and RAshley. New York: JohnWiley & Sons, 1981; 17.5 by25.5 cm, 303 pages, soft-cover, ISBN 0-471-08009-8,$8.95.

Introduction to Pascal forScientists, James W Cooper.New York: John Wiley &Sons, 1981; 16 by 23.5 cm,260 pages, hardcover, ISBN0-471-08785-8, $19.95.

Lecture Notes in ComputerScience, Directions in HumanFactors for InteractiveScience, H Ledgard, ASinger, and J Whiteside,edited by G Goos and JHartmanis. New York:Springer-Verlag, 1981; 16.5by 24.5 cm, 190 pages, soft-cover, ISBN 3-540-10574-3,$11.80.

Managing a ProgrammingProject, Second Edition,Philip W Metzger. Engle-wood Cliffs NJ: Prentice-Hall, 1981; 16 by 23.5 cm,244 pages, hardcover, ISBN0-13-550772-3, $22.95.

Microcomputer Architec-ture and Programming, JohnF Wakerly. New York: JohnWiley & Sons, 1981; 17.5 by23.5 cm, 692 pages, hard-cover, ISBN 0-471-05232-9,$27.95.

More TRS-80 BASIC, A

Self-Teaching Guide, DInman, R Zamora, and BAlbrecht. New York: JohnWiley & Sons, 1981; 18.5 by23.5 cm, 280 pages, soft-cover, ISBN 0-471-08010-1,$9.95.

Nailing Jelly to a Tree, JWillis and W Danley Jr.Beaverton OR: DilithiumPress, 1981; 14 by 22 cm, 244pages, softcover, ISBN0-918398-42-8, $12.95.

Structured COBOL, Fun-damentals and Style, TylerWelburn. Palo Alto CA:Mayfield Publishing, 1981;22 by 27.5 cm, 535 pages,softcover, ISBN 0-87484-543-2, $18.95.

Systems Programmer's

Problem Solver, William SMosteller. Englewood CliffsNJ: Prentice-Hall, 1981; 16by 23.5 cm, 223 pages, hard-cover, ISBN 0-87626-830-0,$18.95.

Telecommunications —Management for Businessand Government, Larry AArrendondo. New York:Telecom Library, 1981; 22 by28 cm, 270 pages, softcover,ISBN 0-936648-07-4, $30.

User's Guidebook toDigital CMOS IntegratedCircuits, Eugene R Hnatek.New York: McGraw-Hill,1981; 16 by 23.5 cm, 339pages, hardcover, ISBN0-07-029067-9, $24.50.■

Software Received

Automatic Graphing ofFunctions, multifaceted func-tion plotter for the TRS-80Model I Level II and ModelIII. Cassette, $19.95. David LModney, 4144 N Via Villas,Tucson AZ 85719.

B.I.T.S. BASIC InteractiveTerminal Software, Version3.0, intelligent terminal soft-ware for the Apple II. Floppydisk, $44.95. SoftwareSorcery Inc, 7927 JonesBranch Dr, McLean VA22102.

Hyper-B.I.T.S., 1200 baudversion of B.I.T.S. for theApple II. Floppy disk,$64.95. Software Sorcery Inc(see above).

Mailing List Package Ver-sion 3.1, name and addressdata base for the Apple II.Floppy disk, $49.95, Soft-ware Sorcery Inc (see above).

Pool 1.5, pool tablesimulation for the Apple II.Floppy disk, $34.95. IDSI,3210 Mercury, Las CrucesNM 88004.

Raster Blaster, electronicpinball simulation for theApple II. Floppy disk,$19.95. BudgeCo, 428 PalaAve, Piedmont CA 94611.

Super Invasion, Space-Invader-type game for theSinclair ZX80. Cassette,$14.95. Softsync Inc, POB480, Murray Hill Sta, NewYork NY 10156. ■

This is a list of software packages that have been received byBYTE Publications during the past month. The list is correct to thebest of our knowledge, but it is not meant to be a full descriptionof the product or the forms in which the product is available. Inparticular, some packages may be sold for several machines or inboth cassette and floppy-disk format; the product listed here isthe version received by BYTE Publications.

This is an all-inclusive list that makes no comment on the quality. or usefulness of the software listed. We regret that we cannotreview every software package we receive. Instead, this list ismeant to be a monthly acknowledgment of these packages andthe companies that sent them. All software received is consideredto be on loan to BYTE and is returned to the manufacturer after aset period of time. Companies sending software packages shouldbe sure to include the list price of the packages and (where appro-priate) the alternate forms in which they are available.

August 1981 © BYTE Publications Inc 391

Clubs and Newsletters

UNIX Users Club

Uni-ops is a new group forUNIX supporters. Uni-opspublishes a monthly journaland a directory. Contact Uni-ops at POB 5182, WalnutCreek CA 94596, (415)933-8564.

TI-99/4 UsersGroups In Your Area

San Diego 99/4 UsersGroup, 4037 Johnson Dr,Oceanside CA 92054, (714)758-4292. Contact PaulYates.

Denver 99/4 Users Group,CRS Inc, 4860 Ironton, SuiteE, Denver CO 80239, (303)371-8272. Contact RickSavage.

99/4 Home ComputerUsers-Group Inc, POB 95148,Oklahoma City OK 73143,(405) 787-8521. ContactCharles LaFara.

Pacific Northwest TI-99/4Users Group, POB 5537,Eugene OR 97405, (503)485-8796. Contact GaryKaplan.

Pittsburgh 99/4 UsersGroup, 111 Teeple Ave,Donora PA 15033, (412)379-5976. Contact R Riley.

IncorrectBASIC Sorcery

We regret that some errorspopped up in "Whose BASICDoes What?" by Teri Li(January 1981 BYTE, page318) in the entries for theExidy Sorcerer computer.

Checkmarks should haveappeared in the Exidy columnfor these BASIC statements:CLEAR n, DEF FNY (name),DIM var(k), and OUT porf-num, val. The column for theHOME command shouldhave contained the equiva-lent PRINT CHR$(17), and

Houston Users Group,8922 Roos Rd, Houston TX77036, (713) 771-3483. Con-tact Raymond Wells.

Washington DC 99/4 UsersGroup, POB 267, LeesburgVA 22075, (703) 777-2017.Contact Bill Whitmore.

Atlanta TRS-80 Users

The TRS-80 Users Groupof Atlanta, Georgia, meets onthe second Tuesday of eachmonth at 7:30 PM at radiostation WABE on 740 Bis-marck Rd NE in Atlanta.Contact Bob Green, 1315Rustic Ridge Dr NE, AtlantaGA 30319, (404) 451-9813.

Users Groupof Florldla

The Tallahassee AmateurComputer Society meets onthe second Thursday of themonth. Members' computersrange from HP-4lCs to Ap-ples, Ataris, TRS-80s, andS-100 systems. Club interestsare in the uses of microcom-puters in education, business,and personal applications. Amonthly newsletter, TextFile, is published. Contact the

group at POB 6716, Tallahas-see FL 32301.

CAPE

CAPE (Capital Area PETEnthusiasts) meets monthlyand discusses problems,swaps ideas and programs,and works on hardware pro-jects. For information, con-tact CAPE, c/o Bob Karpen,2054 Eakins Ct, Reston VA22091, (703) 860-9116.

Robot Buildersand Users

David Smith is starting aclub in the northern NewJersey/New York Metropoli-tan area for those interestedin building or working withrobots. Even if you are toofar away to attend meetings,he wishes to hear from you.David offers help to anyonewith questions or problemsconcerning robots. Contacthim at 4505 Kennedy Blvd,North Bergen NJ 07047, (201)856-4890.

Atari Users Group

The Cincinnati area has anew group for Atari 400 and800 users. Anyone who uses

BYTE's Bugs

the column for the CLSkeyword should have in-cluded PRINT CHR$(12).

The Sorcerer's BASIC in-terpreter also contains somefeatures not found in otherversions of BASIC, but dueto the nature of the article,we were not able to includemany of these. In any event,when choosing a computer ortranslating a program, youmay still need to consult thereference manuals for thecomputers involved.

Thanks to Robert WHarrison of Cortland, NewYork, and others for pointingout the errors.

Forgotten Line

One line of BASIC codewas inadvertently omittedfrom listing 1 of "GeneratingBar Code in the Hewlett-Packard Format," by ThomasMcNeal. (See the January1981 BYTE, page 148.) Theline, which should be placedat the beginning of page 162,is shown in listing 1.

We regret the error.

Listing 1

1855 M1 = 1 !START MACHINE-CODE ARRAY INDEX AT 1

or owns Atari microcomput-ers is welcome. Contact RonShaefer, (513) 671-1671; orTom Candelaresi, c/o Com-puter-Tutor, 4012 BenjaminDr, Cincinnati OH 45245,(513) 752-7522.

DENSPET

DENSPET is an interna-tional association for the ex-change of programs for theMTU 200 by 320 dot high-re-solution PET accessory. Senda sample of your work or $5and receive a sample in returnplus a subscription to anewsletter and lists of avail-able programs. ContactDENSPET, Rock House,Ballyoroy, Westport, CountyMayo, Ireland.

Vancouver Users

The Vancouver TRS-80Users Group wishes to ex-change newsletters and infor-mation on homebrew soft-ware and hardware withother TRS-80 clubs. Contactthem at POB 46608, StationG, Vancouver, British Col-umbia, V6R 4G8, Canada.Their newsletter is entitledUSR(80).m

March Editorial Error

An error occurs in listing 1(page 212) of Gregg Williams'March 1981 editorial, "Is ThisReally Necessary7" The sec-ond else in the listing, the onethat precedes the statement"check-amount = 0" shouldfollow that statement. Inother words, the checkamount should be set to 0only when no table matchhas been found. Our thanksgo to Mr M F Fay of Cincin-nati, Ohio, for pointing thisout.B

392 August 1981 © BYTE Publications Inc

August 1981 © BYTE Publications lnc 393

Event Queue

August 1981

August-October

Writing for Results: A Coursefor Computer Professionals,

various sites throughout theUS. These courses are in-tended to help those in thecomputer field write clearand simple prose. Fees rangefrom $490 to $660 for theweekend courses. For sched-ules of cities and dates, con-tact American ManagementAssociations, 135 W 50th St,New York NY 10020, (212)586-8100.

August 3-7

Workshops in Digital SoundSynthesis and Processing,

Digital Music Systems Inc,Boston MA. These courseswill provide a hands-on in-troduction for electronic-music composers and per-formers, recording engineers,psychoacoustic researchers,and others working in thedigital-audio field. Funda-mentals of digital audio, unitgenerators, automated syn-thesis and processing, non-linear techniques, digital de-lay, filtering and reverbera-tion, digital-audio hardware,and future trends in digitalaudio will be covered. Thefee is $300. Contact DigitalMusic Systems Inc, POB1632, Boston MA 02110,(617) 542-3042.

August 10-12

Financial Fundamentals Us-ing Computers, Boston MA.This seminar will focus on thenonfinancial manager's needsto understand the fundamen-tals of accounting and financein a computerized environ-ment. Attendees will learn touse Apple II microcomputersfor financial procedures andtransactions. Registrationfees are $795. Contact theAmerican Institute for Pro-fessional Education, CarnegieBldg, 100 Kings Rd, MadisonNJ 07940, (201) 377-7400.

August 10-14

Reliability and Life Testing,

UCLA, Los Angeles CA. En-gineers and scientists in-

volved with the reliability,design, product assurance,quality, and safety aspects ofcomponents, equipment, andsystems are invited to attendthis course. The fee is $775.Contact the Short CourseProgram Office, 6266 BoelterHall, UCLA Extension, LosAngeles CA 90024, (213)825-1047.

August 10-14

Workshops in Digital SoundSynthesis and Processing,

Digital Music Systems Inc,Boston MA. For details, seeAugust 3-7.

August 17-21

Workshops in Digital SoundSynthesis and Processing,

Digital Music Systems Inc,Boston MA. For details, seeAugust 3-7.

August 24-27

Software Design, Reliability,and Testing, Sheraton MotorInn, Lexington MA. Thisfour-day seminar for engi-neers, programmers, andtechnical managers examinesconcepts and techniques fordeveloping and testing reli-able, cost-effective software.Management concerns andrecommended policies arealso addressed. Tuition is$600, which includes coursenotes, luncheon, refresh-ments, and an evening recep-tion. Contact ProfessorDonald D French, Institutefor Advanced ProfessionalStudies, One Gateway Ctr,Newton MA 02158, (617)964-1412.

August 24-28

The Seventh InternationalJoint Conference on ArtificialIntelligence, University ofBritish Columbia, VancouverBC, Canada. This conferencewill examine computer appli-cations of medical diagnosis,computer-aided design, ro-botics, programmable auto-mation, speech understand-ing, vision, and other relatedtopics. A tutorial programand artificial-intelligence ex-hibits will also be presented.For more information, con-tact Louis G Robinson,

American Association for Ar-tificial Intelligence, StanfordUniversity, POB 3036, Stan-ford CA 94305, (415)495-8825.

August 25-27

BASIC: A Computer Lan-guage for Managers, Shera-ton Centre and the New YorkHilton, New York NY. Thiscourse is for managersneeding to learn the fun-damentals of computers andprogramming. Programmingbasics, simple examples ofBASIC programs, problemsolving, and simulationmodeling will be covered.Contact American Manage-ment Associations, 135 W50th St, New York NY 10020,(212) 586-8100, ext 514.

August 25-28

Vector and Parallel Proces-sors in Computational Science,

Chester, England. The con-ference will concentrate onhardware, software, algo-rithms, applications, and casestudies concerning vector andparallel processors. For de-tails, contact Mrs S ALowndes, Science ResearchCouncil, Daresbury Labora-tory, Daresbury, Warring-ton, WA4 4AD, England.

August 26-29

The Fifth Annual NationalSmall Computer Show, New

York Coliseum, New YorkNY. Daily lectures and a five-hour executive-only seminarwill be featured. The execu-tive seminar is designed forupper-level managers whoneed an introduction to theunderstanding, acquisition,and use of computers in busi-ness. The registration fee forthe show is $10 per day. Theseminar for executives is$200, which includes all ma-terials and show registration.For information, contact theNational Small ComputerShow, 110 Charlotte PI, En-glewood Cliffs NJ 07632,(201) 569-8542.

August 28-30

Personal Computer ArtsFestival (PCAF '81), Philadel-phia Civic Center, Philadel-phia PA. PCAF '81 will in-

clude technical sessions, dem-onstrations, and exhibits.Also featured is the annualcomputer-music concert andcomputer-graphics film andvideo show. PCAF '81 is be-ing held in conjunction withthe Personal ComputingShow '81. For complete de-tails, contact PCAF '81, POB1954, Philadelphia PA 19105.

September 1981

September-December

Four Seminars from Manage-ment Information Corpora-tion (MIC), various sitesthroughout the US. Theseseminars are designed forbusinesspeople who need anintroduction to system selec-tion and use. For a completeschedule of seminars, fees,and locations, contact CarolBell, c/o MIC, 140 BarclayCtr, Cherry Hill NJ 08034,(609) 428-1020.

September 1-3

Computerized Office Equip-ment Expo (COEE), CivicCenter, Atlanta GA. COEEprovides a forum where theowners and executives ofsmall and large businessescan learn about office auto-mation. Office equipment forword processing, record stor-age and retrieval, and micro-graphics will be exhibited.Contact Cahners ExpositionGroup, 222 W Adams St,Chicago IL 60606, (312)263-4866.

September 9-11

Eurographics '81, TechnicalUniversity, Darmstadt, WestGermany. Almost seventyexhibitors are expected to at-tend this computer-graphicsshow. Detailed informationcan be obtained from Die-bold Deutschland GmbH,Attn: Dr H J Grobe, Feuer-bachstrasse 8, D-6000 Frank-furt/Main, West Germany.

September 10-13

Mid-West Computer Show,

McCormick Place, ChicagoIL. This show features officesystems, data- and word-pro-

394 August 1981 © BYTE Publications Inc

cessing equipment, telecom-munications equipment,microcomputers, computergraphics, peripherals, andother related supplies. For in-formation, contact the Na-tional Computer Shows, 824Boylston St, Chestnut Hill,MA 02167, (617) 739-2000.

September 14-17

Software Info '81, Merchan-dise Mart Expocenter, Chic-ago IL. The conference themeis "Productivity ThroughPackaged Software." FranTarkenton will be the key-note speaker. For more infor-mation, contact Software In-fo, 1730 N Lynn St, Suite400, Arlington VA 22209,(703) 521-6209.

September 14-17

Productivity—An UrgentPriority, Capital HiltonHotel, Washington DC. Thisconference is intended to pro-vide a focus on productivitythroughout the computer in-dustry. General inquiries forprogram information shouldbe addressed to CompconFall '81, POB 639, SilverSpring MD 20901, (301)589-3386.

September 15-17

WESCON/81, Brooks Hall,Municipal Auditorium, andHilton Hotel, San FranciscoCA. Sessions on communica-tions, components and de-vices, computer and micro-processor hardware and soft-ware, office automation, andmemory systems will be pre-sented. Exhibits of computerequipment and related prod-ucts will be featured. ContactElectronic Conventions Inc,Suite 410, 999 N SepulvedaBlvd, El Segundo CA 90245,(213) 772-2965.

September 16-18

Diagnostic Software: Plan-ning and Design, Boston MA.This seminar is directed to-ward the design, test, and di-agnostic engineer and man-ager. Design examples, lec-tures, informal sessions, andindividual and group diag-nostic-programming sessionsare part of the course. Tui-tion is $495. Contact Profes-sor Donald D French, Insti-tute for Advanced Profes-

sional Studies, One GatewayCtr, Newton MA 02158,(617) 964-1412.

September 16-18

The Engineer as a Communi-cator, Crystal City Marriott,Arlington VA. This confer-ence will feature discussionson communications technol-ogy, information gathering,storage, and retrieval, usingcomputers in technical com-munications, and other re-lated topics. Contact DrDaniel Rosich, School ofBusiness Administration,University of Connecticut,Stamford CT 06903, (203)322-1673.

September 24-25

Microprocessors: Hardware,Software, and Applications,

Worcester Polytechnic In-stitute, Worcester MA.Among the courses to be of-fered are hardware and soft-ware basics, selection andevaluation of microproces-sors, memory and input/out-put systems, multiprocessorsystems, real-time-system de-sign, and debugging and cir-cuit testing. For more infor-mation, contact GinnyBazarian, c/o WorcesterPolytechnic Institute, Wor-cester MA 01609, (617)753-1411.

September 24-27

Mid-Atlantic ComputerShow, Washington Armory,Washington DC. For details,see September 10-13.

September 30-October 2

Data and Telecommunica-tions Expo '81, Rhein-Main-Halle, Wiesbaden, West Ger-many. This exhibition andconference will cover allareas of technology in datahandling and distribution andtelecommunications net-works in office environmentswill also be discussed. Con-tact Cahners ExpositionGroup, 222 West Adams St,Chicago IL 60606, (312)263-4866. In Europe, contactKiver Communications S A,UK Brtanch Office, Mill-bank House, 171/185 EwellRd, Surbiton, Surrey, KT66AX, England.

October 1981

October 7-21

The 1981 Far East ComputerTour, Hong Kong, Japan,Korea, and Taiwan. Thistour group visits variouscomputer-related conferencesand exhibitions throughoutthe Far East. Transportationfor this three-week tour, plusshows, meals, and otheritems are included in trippackages, ranging in pricefrom $2290 to $3095. Formore information, contactTerry Butler, CommerceTours International Inc, 870Market St, Suite 742-744, SanFrancisco CA 94102, (415)433-3072.

October 12-15

Information Management Ex-position and Conference/INFO 81, Coliseum, NewYork NY. Discussions on pre-packaged, customized pre-packaged, and custom-de-signed software will comple-ment hardware and softwareexhibits. For more informa-tion, contact Clapp & PoliakInc, 245 Park Ave, New YorkNY 10167, (212) 661-8410.

October 19-23

Systems 81, Munich, WestGermany. Computer systemsand their applications will befeatured. Additional infor-mation is available from Kail-man Associates, 30 JournalSq, Jersey City NJ 07306,(201) 653-3304.

October 20-22

Computertized OfficeEquipment Expo/Southwest,

Astrohall, Houston TX. Ap-proximately 100 exhibitorswill present office equipmentand supplies, including word-processing systems, at this

show. Contact IndustrialScientific and ConferenceManagement Inc, 222 WAdams St, Chicago IL 60606,(312) 263-4866.

October 21-24

Computa 81, World TradeCenter, Singapore. This in-ternational show attracts pro-fessionals and buyers fromHong Kong, India, and SriLanka. Additional informa-tion can be obtained fromKallman Associates, 30 Jour-nal Sq, Jersey City NJ 07306,

(201) 653-3304.

October 25-30

The Information Communi-ty: An Alliance for Progress,

Washington DC. This confer-ence provides a forum forprofessionals in informationtechnology, research opera-tions, management, and edu-cation. The technical pro-gram includes presentations,contributed papers, special-interest group sessions, ex-hibits, and more. Contact theAmerican Society for Infor-mation Science, 1010 16th St,NW, Washington DC 20036,

(202) 659-3644.

October 27-29

Computer Graphics 81,Regent Centre Hotel, Lon-don, England. Conferencetopics include graphicssystems hardware and soft-ware, animation, image pro-cessing, simulation, businessgraphics, and home graphics.An equipment exhibition willalso be presented. ContactOnline Conferences Ltd,Argyle House, NorthwoodHills, Middlesex, HA6 ITS,England. ■

In order to gain optimal coverage of your organization's com-puter conferences, seminars, workshops, courses, etc, noticeshould reach our office at least three months in advance of thedate of the event. Entries should be sent to: Event Queue, BYTEPublications, 70 Main St, Peterborough NH 03458. Each monthwe publish the current contents of the queue for the month ofthe cover date and the two following calendar months. Thus agiven event may appear as many as three times in this section if itis sent to us far enough in advance.

August 1981 E BYTE Publications Inc 395

ADVANCED APPLICATIONS

Management

CURRENT NEWS

Marriage Analysis

Slot Machine (game)

Advanced Applications

Money Savers

Anderson, Jack

Mockridge, Norton

Sonnets (game)

Business Analysis

Office Equipment

Domestic News

Movie Reviews

Statistics (date game)

Calculator (BASIC Program)

Pensions

Foreign News

Music

Star-Trek (game)

Data Base Management

Raylux (financial advice)

International News

Photography

Target Practice

Electronic Engineering Computations

Stock, Bond, Commodity listings

National News

"Pop Scene"

Tic Tac Toe (game)

Files

Trading Business Goods, Services

News(50states)

Previews (TV)

Tic Tac Toe in Spanish

Mathematical Computations

COMMUNICATIONS INDUSTRY

New Focus

Q & A (TV)

Toro (bullfight game)

Mechanical Engineering Computations

Cable Television

News Summary

Satellite TV

Tricks

Program Debugger

CBS News

Tomorrow's News Today

Science Fiction

Vegas (game)

Programming —Basic Language

Citizens Band Radio

United Press Internationa

Sewing

Wumpus Hunt (game)

— Cobol Language

Newspapers

United States Nat'l News

Sounds (rock)

GOVERNMENT

—Cross Assemblers

Personal Computers

EDUCATION

Single Persons

Anderson, Jack

— Fortran Language

RKO Forum

Addition

Soap Operas

Armed Services

— RPGII Compiler

Television

Aid, Financial for College

SOURCEWORLD Magazine

Arms Control

Programming Guides

Writing & Writers

Aphorisms

Stereo/TV

Business Role in Politics

Reference Manuals

CONSUMER/SHOPPING

Art Objects

"Stitch-N-Time" (sewing)

Census

Simulation of Pollutants

Automobiles

Arts

Television —Features, Previews, Quiz

Democratic Nat'l Convention

Statistical Computations/Analyses

Safety & Defects

Book Reviews

Time of Your Life (Aging)

Equal Rights Amendment

System Commands

New Models

College Admissions

Unidentified Flying Objects

Federal Revenue Sharing

BUSINESS & MONEY MATTERS

Sales

Counting Lesson

Video

Intelligence Services

Aid, Financial for College

Electric Vehicles

Days (spelling lesson)

Wines

Issue and Debate

Bartering Goods, Services

Gas Rationing

Education

Words.Wit & Wisdom

Labor & Management

Business

Synthetic Fuels

English Lesson

"Wry Comment"

Labor & Politics

Business Analysis, Planning:

Beauty & Fashion

Esperanto Lesson

GAMES & TRICKS

Lobbying & Lobbyists

Analysis Programming

Collectables

French Vocabulary Drill

Ace — (trick)

Loftan, John

Annuities Analysis

Collectors/Collections

Geometry Lesson

Backgammon

Medicare

Aware Financial Service

Consumer Issues

German Adjectives

Blackjack

Metric System

Charting

Behavior

German Vocabulary Drill

Bridge

National Health Insurance

Planning, Forecasting

"Consumer Question Box"

Gifted Students

Card Tricks

Political Action Report

Business Programs:

Consumer Reports

Grammar (story fun)

Casino 21

Population —Vital Statistics

Amortization of Loans

Credit

Greek Root Exercises

Checkers

Postal Service

Amortization of Loan UNK Term

Credit Cards

Information on Demand (Research) Chess

Presidential Elections U9S0)

Annuity Debt Payment

Protection

Italian Vocabulary Drill

Children's Programs

Privacy

Balancing Checkbook

Decorating & Design

Library

Civil War (game)

Regulatory Agencies

Capital, Cost of Equity

Antiques

Mathematics

Coin Flipping

Republican Nat'l Committee

Cashflow, Present Value

"Decorating"

Metric System

Craps

Social Security

Commission, Sales Report

"Interior Decorating"

Numbers

Danger

Taylor, Henry

Depreciation Schedule

Painting & Decorating

Poetry (random)

Decks (cards)

U.S. Population Stats

Equipment, Lease vs Purchase

Food & Cooking

Quotations

Draw (trick)

Veterans

Equity Capital, Cost of

"Food"

Random Sonnets

Farmer (game)

Volunteer Military

Interest, Bonds

Food Additives

Remedial Education

Fill in Letters (game)

Washington, D.C.:

Interest, Loans

"Slim Gourmet"

Sayings

Flipping Coins

Capitol News Service

Sales Commission Report

Trading of goods & services

Spanish Vocabulary Drill

Football (game)

Editorial Summary

Business News

WINE (31 separate listings)

Spelling Lessons

Golf (game)

Emergency Numbers

Business Outlook, Current

"Growing Older" (advice)

Translation Services

Guess Computer's Number (game)

"Everything Else"

Business Outlooks, Previous

Health Care Advice

Writing & Writers

Hangman (word game)

Hotline

Company Profiles, Reports

Home Repairs

Wisdom of the Ages

Horserace (game)

House Committee Hearings

Consumer Behavior

Energy Savings

ENERGY

I-Ching

Meetings, Conferences

Credit Cards

"First Aid for Ailing House"

Gasoline Rationing

Intelligence Test (game)

People, Places. Things

Daily Investor

Hardware

Energy (22 savings subjects) 10- '^st 'game)

President's Schedule

Economy

Solar Energy

Nuclear Wastes

Joker (trick)

Senate Committee Hearings

Economic Planning

Inventions & Inventors

Regulatory Agencies

Life (game)

Whistle Blowers

Economist

Shopping & Trading

Solar Energy

Lunar Landing (game)

HEALTH

Electronic Funds Transfer Systems

Bartering

Synthetic Fuels

Magic

Abortion

Employee Owned Companies

Catalog (of goods)

ENTERTAINMENT/HOBBIES Market A Product (game)

Acupuncture

Executives

Discounts

Absurdity

Mastermind (game)

Alcoholism

Fast Food Industry

Equipment, Lease vs Purchase

Aces on Bridge

Maze Generation (game)

Aylward, Jim (Journal)

Financial Advice (Raylux)

"Family Shopper"

Adventure

Mind Reading (tricks)

Birth Control

Financial Commentary, Current

Generic vs Brand Names

Amusement

Nim (game)

Care

Financial Commentary, Previous

Joining a Merchandise Service

Arts

Patrol Streets (game)

Arthritis

Financial Model for Forecasting

Merchandise

Astrology

Pica-Centre (game)

Chest Pain

Financial Interpretation

Money Savers

Cinema (reviews)

Pits (game)

Childhood Rashes with Fever

Industrial & Occupational Hazards

Premiums, Coupons

Collectables

Poker (game)

Common Skin Problems

Industrial Production Index

Price Quotes

Collectors/Collections

Posters (game I

Digestive Tract

Information on Demand (research)

Shopping at Home

Computer Conferencing

Puzzles

Ear, Nose & Throat

Interest, Money

Trading of Goods & Services

Dating

Rocket Game

Eye Problems

Int'l Monetary Systems

Office Equipment

Drawings

Rule Sumeria (game)

For Women Only

Jewels & Jewelry

Purchase vs Production Comparison

Hobbies

Score Four (game)

Nervousness & Nerve Problems

Labor & Management

Software

Horse Racing

Selling Product (game)

Poisons

Labor & Politics

Toll-free Numbers (over 90 listed)

Humor

Sinners (game)

Urinary Tract

All

tl

ie

se]

programs

Now you can get up-to-the-minute news and business informa-tion, current market quotes and financial advice, and over 1,000other valuable programs on your microcomputer, data terminal, orcommunicating word processor. You can even make hotel and airlinereservations, send electronic mail across the country instantly, carryout research and shop at home.

All these programs and more are available with THE SOURCE™America's first information and communication utility. The Sourceis a product of Source Telecomputing Corporation, a subsidiaryof The Reader's Digest Association, Inc.

With The Source you can have a UP! news service right in youroffice or home with international, national, local and business newsavailable minutes after release. The Source also gives you regularlyupdated market reports, portfolio management systems, businessaccounting programs, plus educational and entertainment programsfor all members of the family. Many Source programs have keywordsearch capability.

The Source is economical to use.

All the programs currently offered through The Source are avail-able for an initial, one-time subscription fee of $100. The connecttime is an unbelievable 7 cents per minute during evenings andweekends, 25 cents per minute on weekdays, and 4y2 cents perminute from after midnight to 7 A.M.* You can be on-line with TheSource quickly, for the cost of a local phone call in over 300 cities.

The Source can increase the storage

and programming capacity of your

microcomputer to infinity.

You can now store your own data and program your own systemsdirectly on The Source's mainframes. Basic, Cobol, Fortran, RPGIIand assembly language are all available. The cost is 50 cents permonth for 1K block of storage. That's it! All other costs are coveredin the subscriber fee plus the normal connect time costs. As for

Drug Addiction

Drugs & Drugstore

Pood Additives

Health & Smoking

Health Care Advice

Industrial & Occupational Hazards

Marijuana

Medical

Medicare

Mental Health & Disorders

National Health Insurance

Obstetrics

Pregnancy/Ma tern td

Saccharin

Step

Therapy for Addicts

Transplants

Vitamins

LAW

Cases Accepted

Cases Refused

Fair Trial vs Free Press

International Law

Legal Profession

"Whnt's the Law"

WUta Collar Crime

REAL ESTATE/HOME:

About ileal Estate

"Aid for Ailing House"

Amortization of Loans

Amortization ol Loan. UNK Term

Apartments (rent)

Home:

Ailing

Huying

Decorating

Loans

"Household Hints"

SellingInterest. Loan"Interior Decorating"I>oan:

Installment Interest

Amortization. UNK Term

Amortization ScheduleMalino. Emily (home decorating!Mortgage AnalystsMoving PlansPainting & DecoratingProperty for [lentProperty for SaleProperty for Swap

Property Wanted

Ileal Estate

SCIENCE & TECHNOLOGY:

Advanced Applications/Programs

Aircraft

Amperage

Angle. Quandrant ilef

Base Conversion

Bessel Function (statistics)

Binomial Coefficients (statistics)

Binomial Probabilities (statistics!

Chi-Square (statistics)

Circular Path Speed

Cloning

Coefficients, Binomial (statistics)

Commands

Coordinates (polyhedra; statistics!

Correlation Coefficient (statistics)

Cross Assemblers

Data Computation (statistics)

Denominator

Dispersion Measures (statistics)

Electric Vehicles

Electrical Engineering

Engineering

Exobiology

Factorial (statistics)

Fall Distance (statistics)

Filter Capacitor Values (statistics)

Filter Design (statistics)

Fortran

Geography

Genetic Engineering

Greatest Common Denominator

Greek Root Exercise

Ham Radios

Hardware

Inertia Moment

Inventions & Inventors

Least Squares (statistics!

Manuals

Markov Chain (statistics)

Mathematics

Mean Computation (statistics)

Mechanical Engineering

Medical

Metric System

Molecule Thickness

Motion Graphs

Nuclear Wastes

Ohm's Law (statistics)

Parabola Graphing (statistics)

Perfect Number?

Personal Computers

Pet Computers

Poison (statistics)

Pollutants

Primes (statistics)

Probabilities (statistics)

Programming Manuals

Research

Science & Engineering

Science & Technology

Smithsonian Exhibits

Software

Space Shuttle

Statistics

Transplants

Unidentified Flying Objects

Weather

SOCIAL AFFAIRS

Adolescence

Adoption

Age (elderly)

Alcoholism

Battered Wives

Behavior

Birth Control

Black Studies

Capital Punishment

Child Abuse

Child Custody

Child Support

Divorce

Drug Addiction

Equal Rights Amendment

Etiquette

Family Life

Gasoline Rationing

Homosexuality

Labor & Management

Labor & Politics

Life Styles

Marijuana

Prostitution

Religion & Churches

Retirement

Sex Crimes

Single Persons

Social Commentary

Social Contacts

Teenagers

Teen Forum

Therapy for Addicts

"Time of Your Life" (elderly!

White Collar Crime

Women's Liberation

SPORTS

Baseball

Basketball

Box Scores (sports)

Football

Olderman (sports)

Olympic Games (1980)

Sports (50states]

STOCKS & BONDS/INVESTMENTS

Advice

American Stock Exchange:

Daily Listing

Daily Prices

Ten Most Active

Weekly Comp. Prices

Wknd. Bond PricesBonds:

AMEX Dally Listing

Fed. Land Bank. Dly.

NYSE Daily Listing

Treasury OTC, Dly

World Bank. OTC, Dly

Treasury. OTC,Wknd.Bond Yield

Bond Price, Accrued InterestBoston & Northeast OTC ExchangeCalifornia North & South OTC ExchangeChicago Mercantile OTC ExchangeCitrusClosingsCommoditiesDividends. EarningsDow Jones

Annual Stock Avgs.

Market IndexesEarnings DividendsEarnings ReportsExchange Rates, ForeignFederal Land Bank BondsForeign Exchange RatesFunds, MutualFutures. Treasury BillsFutures & OptionsCotton FuturesLumber and Plywood FuturesOrange Juice FuturesPotatoes FuturesSugar Futures

Glossary of Stock Investment TermsGold:

Stories

Spot PricesIndexes, Stock Market Dly. Avgs.Interest, Bonds

Jewels & JewelryMetals:

NY/London Mkt Prices

NY/Chicago Mkt PricesMidwest OTC Exchange MarketMoody's IndexMoney Market News and Comments:

Futures

Opening Lead

Noon Lead

Afternoon Lead

Night Lead

Markets at a Glance

Stock Pulse

NYSE Trends

What the Market DidMutual FundsMutual Funds: Prices

SummariesNew York Stock Exchange:

Bonds

Dly Prices

Wknd: Comp. PricesNotes, Treasury

Options & Futures (AMEX. CBOE)Over-the-Counter Exchange Markets

Daily:

Banks & InsuranceClosings (Complete)Gainers & LosersIndex. NASDAQIndustrials

Weekend:

Gainers & LosersNASDAQ, WeeklyBoston & Northeast:

Selected Stocks

Closing PricesCalifornia North & South

No.-Selected OTC

So.-Selected OTCChicago Mercantile: QuotationsMidwest:

Price

WeekendPacific:

Ad vs. & Dealings

Closing

Most Active

OptionsPacific OTC ExchangePlatinum. PricesSilver:

Coins

Spot Prices

StoriesStocks:

Daily Avgs, 11:00 A.M.

Daily Avgs, 12:00 A.M.

Daily Avgs. 1:00 P.M.

Daily Avgs, 2:00 P.M.

Daily Avgs, 3:00 P.M.

Daily Avgs, Closings

Daily Avgs, Hi's & Lows (NYSE)

Daily Avg, Market Indexes

Weekend Summaries (NYSE)

Weekly Comp. Prices (NYSE)

Annual Avgs. Dow Jones

Standard & Poors: Hourly IndexToronto OTC Exchange

Selected Stocks.Weekend

Treasury:

Notes. Daily LstgBonds, OTC, Daily LstgBonds. OTC. WeekendUnistox Report IndexWorld Bank Bonds. OTCSUBSCRIBER COMMUNICATIONAdvertising (personal classified)Announcements (from The Source)Apple Computer InformationBulletin Board

CHAT (direct communication)Clubs

Computer ConferencingContents of The SourceCorrespo n do neeDating

Express (sends letters with express alert)Gripes (about The Source)Help WantedMail

Personal Calendar & NotebookServices

Suggestions (for The Source)User Directory (for The Source)Users On-LineTAXESAssets

Calculation of Income StmtCapital Gains TaxComputing TaxesContributionsCreditsDebtsDeductionsDependentsDepreciation ScheduleDonationsExpenses

Income Statement. Pro FormaIncome TaxJoint Tax FilingTaxes

TRAVEL & LEISUREAirline SchedulesAirline Toll-Froe NumbersAlert (astrol/traveilBargains (travel)Car Rentals (loll free no.)Climate (geography)Customs (tariff)Dining OutFairs & FestivalsFlight ReservationsFlight SchedulesNational ParksRestaurants & WineRestaurants

Ski Resorts (toll free nos. ISmithsonian ExhibitsTbur PackagesTravel PlansVacation SpecialsWeather

Weekend-Getaway

etc.

and more for $100.

response time, it's faster than ever, thanks to The Source's newbank of larger, mainframe computers.

Toda^The Source is fasterand better than ever.

If you're not a subscriber to The Source already, send in thecoupon and we'll send you our free Information Kit. Or call (800)336-3330 from 8:30 a.m. to 6:30 p.m., EST, for further information.

Join The Source now and you'll have an incredible informationutility system at your fingertips for just pennies a day.

*Usage Fees: $4.25/hour or 7.1<C/minute on weekends and even-rrrgs from 6 p.m. to midnight. $15/hour or 250/minute on week-days from 7 a.m. to 6 p.m. $2.75/hour or 4.6$/minute aftermidnight to 7 a.m. $10 minimum monthly charge. Rates applicableto 300 baud only in the 48 contiguous United States.

Please send me your free Information Kit. I'm ready to see what $100 can1 do for my system. '

I Name IAddress

I City State Zip

Phone( )

My current equipment is

(manufacturer)

(model tt & description) (specilic conliguration)

LSend to: Source Telecomputing Corp., 1616 Anderson Road, McLean.Virginia ,22102.(703)821-6660.

LUXI—

SOURCE

AMERICA'S INFORMATION UTILITYThe Source is a servicemark or Source Telecomputing Corporation, a subsidiary ol The Reader's Oigesi Association, inc

Circle 413 on inquiry card.

Software Review

Microsoft Editor/Assembler Plus

Keith Carlson, 43 McDill Rd, Bedford MA 01730

When I opened the manual for Microsoft's Editor/As-sembler Plus, I felt like crying. I had just spent a hard-earned $29.95 for Radio Shack's original Editor/Assem-bler, and now I felt cheated. It has been my experiencewith electronics that no matter what I buy, the price goesdown soon after I buy it. Perhaps the old cliche is true: allthings come to he who waits.

The price for Editor/Assembler Plus is actually thesame as the earlier version, but its value has increasedenormously. This is what prompted me to considerwreaking havoc on nearby inanimate objects. As I readthe manual and discovered its extensively upgraded fea-tures, however, my resentment and frustration turned todelight. Microsoft had turned my Level II 16 K TRS-80into a full-blown assembly-language developmentsystem, something that Radio Shack had failed to do.

The features of Editor/Assembler Plus are those of amuch larger machine. There are some limitations, but theresult satisfies my need to economize by squeezing everylast drop of value out of my TRS-80.

It helped that one of the authors of Editor/AssemblerPlus, Mark L Chamberlin, wrote Radio Shack'sEditor/Assembler. Both authors have previous ex-perience with the TRS-80 and probably were involvedwith the design of Level II BASIC.

After all the plaudits, however, some problems re-main. One of the major problems is documentation.

Documentation

The documentation, fine as far as it goes, is definitelynot enough. The manual was written by William BardenJr, who has written several other books on both theTRS-80 and the Zilog Z80 microprocessor. Helpful hintsand warnings are printed throughout the manual. Theydeal with the problem of printing a screen full of informa-tion in a book that measures only 4% by 6Y2 inches. Thereare also copious notes explaining that Shift-Up Arrowwas printed as $ on the screen in the Z-BUG debuggingmode. The text is simple and easy to read with plenty ofillustrations and examples included. The only problem isthe assumption that the reader has had previous ex-perience with Radio Shack's Editor/Assembler andassembly-language coding.

In fact, that assumption pervades Microsoft's attitudeabout Editor/Assembler Plus. When I bought RadioShack's Editor/Assembler, I received all the goodies,such as the instruction-set data, Z80 Micro-Reference

Manual, and some handy ROM (read-only memory) en-try points. All these are conspicuously absent fromEditor/Assembler Plus. People having an interest in as-sembly-language programming would buy Editor/As-sembler Plus instead of Editor/Assembler. Doing so,though, would leave them wondering where the rest ofthe documentation was. Luckily, auxiliary documenta-tion is available at low cost elsewhere (Radio Shack's newT-BUG manual, for example). However, this kind of in-formation should have been included by Microsoft.

Other documentation is also needed. There is nodocumentation concerning Editor/Assembler Plus itself.The manual doesn't even give the load address, endingaddress, or entry address! If it weren't for the errata sheetincluded, it would be irritating and time-consuming tofind the proper addresses needed to make a backup copy.A backup copy is a necessity, especially when you are us-ing ordinary cassette tapes. It would be even more conve-nient to have certain entry points available to makemodifications, such as adding a hard-copy print routine,which is sadly lacking in Z-BUG.

In these times of software piracy, it is easy to under-stand why Microsoft is highly protective of its soft-ware. But it doesn't explain why it won't even sell doc-umentation! In short, the existing documentation is ade-quate for anyone who is merely an end user of Editor/As-sembler Plus, as long as the additional Z80 instruction-setdocumentation is available.

At a Clarice

Name

Editor/Assembler Plus

Format

Cassette tape

Type

Assembly-language develop-

Language

ment package, including a

Z80 machine language

Z80 macro assembler, line-

oriented text editor, and in-

Computer

teractive debugger

Radio Shack TRS-80 Level II

with at least 16 K memory

Manufacturer

Microsoft Consumer

Documentation

Products

112 pages softcover, 4 3/4 by

10800 NE Eighth, Suite 507

6% inches; Quick Reference

Bellevue WA 98004

Card

(206) 454-1315

Audience

Price

TRS-80 assembly-language

$29.95

programmers

398 August 1981 © BYTE Publications Inc

Editor

The editor, which was adequate before, is better now.The functions remain much the same as in Editor/Assem-bler, but new power and versatility have been addedthrough the extension of the range and line-number speci-fications. They are a necessity in a line-oriented editor.

Where there was only one way to specify a range ofline numbers, there are now four. You can specify a rangeby two line numbers separated by a colon, a line numberfollowed by the number of lines separated by an exclama-tion mark, an offset (either plus or minus), or no linenumber at all. Also, these specifiers can be used in anyediting-command parameter requiring a line number, al-lowing various combinations. They can even be used inthe E(dit) command to edit a set of contiguous lines with-out constantly entering the Edit command. The F(ind)command accepts a range, searches for a string over thatrange (the whole buffer, if necessary), and finds every oc-currence, not just the first. While range specificationgreatly extends the versatility of both the editor com-mands and subcommands, more was needed to produce atop-notch editor, and Microsoft responded.

Editor/Assembler Plus adds five new commands thatfurther increase the editor's efficiency. The first two arerelated: M(ove) and C(opy). Copy merely duplicates aspecified range of lines to another range. Move duplicatesthe lines and also deletes the source lines. To add to thepower of these commands, you can specify a new line in-crement for the destination code. The S(ubstitute) com-mand has the capability to substitute all occurrences in arange. This feature is useful when you have to changesome labels or have finally realized that RET, not RTN, isthe mnemonic for return. The X(eXtend) command is use-ful for adding comments to finished programs.

The frosting on the cake is the Q(uash) command. Itallows you to delete either Z-BUG or both the assemblerand Z-BUG from memory, increasing the editor-bufferspace. Quashing Z-BUG presents certain problems sincedebugging is difficult without it, to say the least. Micro-soft has an answer in the form of a stand-alone Z-BUG onthe other side of the cassette. Quashing the assemblerusually results in a source file that is too large to assemblein 16 K bytes, but it leaves plenty of room for general textediting.

Assembler

The assembler portion of this package unlocks the ma-chine-language power of the TRS-80. In addition to inter-esting new ways to set the origin of the assembly code,the assembler now supports assembly into memory.Also, the assembler supports macroinstructions and con-ditional assembly. This lets my "plain old" Level II16 K-byte machine become a powerful assembly-lan-guage development system; before and after is like ClarkKent and Superman.

The inconvenience of writing object code to tape andthen reloading it (usually with a monitor program likeT-BUG or RSM-2) is gone. An assembler switch (option)

signifies that the object code is to be loaded into memorywhere it can be run under Z-BUG. The origin of the codeis automatically set by the assembler at the end of the textbuffer, which is variable in size (it must be, but the docu-mentation is unclear on this point). That's where the diffi-culty comes. Suppose the buffer is filled with a 3 K-bytesource file. That represents around 60 lines of 50 bytes,including comments—not unreasonable. If there are fif-teen labels, the symbol table is a maximum of 135 bytes.Since the text buffer starts at location hexadecimal 7263and the text buffer is 3 K bytes long, that leaves 412 bytesfor the symbol table and object code in a 16 K-bytemachine. This may be enough for most programs, but theonly alternative is to quash Z-BUG, write the object codeto tape, reload the stand-alone Z-BUG, and load the ob-ject code again. This defeats the in-memory assembly. Ifyou have more than 16 K bytes of memory, the problembecomes trivial. The ORG statement should not be usedfor automatic origin as it will add the address given in theorigin statement to the automatic origin.

If you want to choose that automatic origin, anotherassembler switch allows you to set it. This may be helpfulwhen you want to debug the code at its actual location.The last new assembler switch allows for an absoluteorigin. In this case, an ORG statement must be used. Thisis the default for all assemblies to tape. It is possible tohave an in-memory assembly with an absolute origin, butit is not recommended. To overcome this, set the auto-matic origin as in the manual and use the manual-originassembler switch.

These additions are efficient and pleasing, but the mostinteresting features are macros (macroinstructions) andconditional assembly. These two features contributemost of the power to Editor/Assembler Plus.

This is probably why Barden spends an entire chapteron macros. Macros in the Editor/Assembler Plus resem-ble those of much larger machines. Several rules apply,but they are very reasonable. The manual states thatthere can be "...any reasonable number of macro defini-tions..." and "...each macro definition may have manyarguments...." Since this is rather vague, I assume thatthey are limited by available space. Macros must be de-fined before they are referenced, so it is wise to define allmacros at the beginning of the source text. Parameterscan be passed to the macro, but the manual doesn't statewhether a macro reference can be passed. I tried it, andfound they can't. This is logical since nested macros arenot allowed. Editor/Assembler Plus does allow syntheticlabels in order to avoid doubly defined labels upon ex-pansion. Barden gives several examples to demonstratepossible uses of the macro facility. He uses the long-standing practice of using macros for subroutine calls. Healso demonstrates the use of macros to build a cross-as-sembler for the Motorola 6800 microprocessor (I usedthem to work on an Intel 8080 assembly-language trans-lator). These examples are only a small portion of the nu-merous uses.

The conditional-assembly facility is explained as a toolfor production of software for different configurations.

August 1981 © BYTE Publications Inc 399

Even though this is the only example, it is still impressive.It is nice to have if you need it, but most users don't. Itsuse is extended greatly by the updated expression evalua-tion, which adds operators for logical, arithmetic, andparenthesized operations. The flexibility is enhanced bythe ability to nest conditions.

The symbol table adds codes to indicate how labels aredefined (or undefined). One thing that is lacking is across-reference facility for the symbol table. While notnecessary, a cross-reference is extremely helpful. Unfor-tunately, it is expensive in overhead code.

Z-BUG

Z-BUG is a new item, rather than an update of part of aprevious system. It only remotely resembles RadioShack's T-BUG. In fact, this debugger is one of the bestI've seen, presenting an exceptional value. The editor, as-sembler, and debugger come in one package for the priceof Radio Shack's Editor/Assembler. If you add T-BUG,which is inferior to Z-BUG, you have a bigger bill.Z-BUG can't do everything, but it can do many interest-ing and helpful things. It can display and modify memoryin several modes, set up to eight breakpoints, single-stepthrough machine-language programs, act like a calcula-tor, and reference the symbol table so you can use sym-bolic references when you are debugging.

First, let's see what Z-BUG can't do. My main com-plaint is that it cannot provide hard copy. It seems likesuch a simple task to have the displays shuttled off to theprinter. Combine this with the fact that there are no entrypoints given for the program itself and you have a frus-trating and time-consuming task if you want to correctthe omission. My only suggestion is to place a printdriver somewhere in memory so you can use the $G com-mand to jump to it and then have it return to the begin-ning of Editor/Assembler Plus. The "Quick ReferenceCard" indicates that an entry point is provided that doesnot destroy the contents of the buffer.

My second complaint is the lack of a routine to disas-semble to tape. That would be handy if you had an objectmodule without the source code. It also might be usefulfor modifying a routine provided in ROM. You couldn'treplace it in ROM, of course, but there are many routinesalready worked out if you can get to them.

Now, what can Z-BUG do? It's truly amazing whatthey can do at Microsoft. There are four modes in whichyou can examine memory: mnemonic, byte, word, andASCII. Each one is descriptive of what is displayed. Toopen any memory location for display, just type its loca-tion followed by a slash. You can then examine the loca-tion and type in a new value, as you like. If you use theDown Arrow key, it automatically opens the next loca-tion, dependent on the mode you are in. If in byte mode,the next byte; if in word mode, the next word; if inmnemonic mode, the next instruction, and so on. Toclose the location and end the parade of locations, typeEnter and Z-BUG responds with its prompt. The processis simple and convenient. Z-BUG doesn't stop there,however. You can easily set the input and output radices.

This allows, say, decimal input and hexadecimal outputor almost any other combination between base 2 andbase 16. You can also modify any of the registers (exceptthe refresh register) after they are displayed. There areseveral commands to get a one-time display in a differentmode.

If you liked that, you'll love the fact that you can set upto eight breakpoints. Each one is numbered automatical-ly. You can examine locations and registers and evenmodify them before continuing the program. You canalso specify the number of times the breakpoint is passedbefore it stops the program. Single stepping can be or-dered after a breakpoint or all by itself. You can also ref-erence your breakpoints and single-stepping entry pointsby symbolic reference.

Symbolic reference can be used throughout the pro-gram with any command. You can set the mode to $S,denoting symbolic reference, or just use them. If you arenot in symbolic mode, any nonnumeric input sendsZ-BUG to the symbol table to resolve the address asso-ciated with that reference. In fact, you can use any stan-dard suffix (such as T for decimal, H for hexadecimal,etc) no matter what the radix is set to and the program re-solves it. And if it isn't flexible enough, it also works as acalculator, doing all your arithmetic in any base between2 and 16.

I am quite impressed with Z-BUG. It is an extremelyflexible debugging tool. However, there are two minorproblems that need pointing out. First, if you have to usethe stand-alone version of Z-BUG, you won't be able touse symbolic references. This is because Z-BUG resolvessymbolic references by a look at the symbol table. Whenyou reload the object module, you don't have the symboltable to look at. Second, the manual suggests that youuse a dummy address for the entry or execution addresswhen you punch out a system tape if you don't have one.Don't do it! When you read it back in under SYSTEMand type the slash to start it, it tries to start it at the dum-my address. Instead, use the starting address for the entryaddress. It will avoid problems when you try to run theprogram you spent two days on.

Conclusions

Microsoft's Editor/Assembler Plus is an excellenteditor/assembler/debugger. It has a few problems thatprevent it from being outstanding. It can turn any RadioShack TRS-80 Level II with at least 16 K bytes of memoryinto an assembly-language development system with lit-tle effort. Microsoft has learned from the problems andcomplaints that came from the users of Radio Shack'sEditor/Assembler.

Documentation has usually been a problem withMicrosoft products, and that has not changed withEditor/Assembler Plus. There is a definite lack of supportdocumentation with the package. The documentationthat is included is well done.

Editor/Assembler Plus is an outstanding value for itsprice. Not only is an editor and macro assembler includedin the package, but a powerful debugger as well.H

400 Augusl 1981 © BYTE Publications Inc

Software Review

BOSS:

A Debugging Utility for the TRS-80 Model I

Scott Mitchell, 346 S Taylor St, Manchester NH 03103

BOSS is a utility program to help debug programswritten in TRS-80 Microsoft BASIC by dynamically trac-ing steps in execution. Essentially, this program in-tercepts the TRACE function included with TRS-80BASIC and modifies its operation. The result is a moreversatile debugging utility with a more meaningful andreadable screen display.

The first thing you notice after BOSS is loaded is thatthe line numbers normally output by the TRACE func-tion no longer print all over the screen, making thedisplay scroll uncontrollably. The trace-line numbersnow print in a vertical column in the upper right-handpart of the screen. Four line numbers are displayed, withan arrow pointing to the one currently executing. This isa big advantage when trying to debug a graphics programor any program that specially formats information out-put to the screen. With BOSS, all the graphics and for-matted information stay where they should; BOSS

At a nianrp

Name

Language used

BOSS (BASIC Operated

Z80 machine language

Single Stepper)

Computer needed

Type

TRS-80 Model 1, minimum

Debugging utility (replaces

of 16 K bytes of memory,

the TRACE function)

cassette or disk based

Distributor

Documentation

Level IV Products Inc

13-page pamphlet

32238 Schoolcraft

Livonia MI 48150

Audience

(800) 521-3305

TRS-80 BASIC programmers

dissatisfied with the opera-

Price

tion of the present TRACE

$29.95

function

Format

5-inch floppy disk or

cassette tape

doesn't destroy or interfere with the video output of theprogram being debugged.

The numbers of the program lines being traced may beoutput to a printer, if necessary. The functions of tracingand sending the trace-line numbers to the video displayor printer can be controlled either manually during theprogram execution and debugging, or by POKE com-mands within the program being tested. Using the POKEcommands, you can start and stop BOSS functions atpoints specified by the program being traced.

BOSS stands for BASIC Operated Single Stepper,meaning that instead of watching your regular trace whizby, you can slow down or single-step the trace. You canstep through the program line by line, or in the case ofmulti-instruction lines, instruction by instruction. Trac-ing a program is made much easier.

Variables can be examined any time, and BOSS letsyou tell it which ones you're trying to keep track of. Onceyou've told BOSS what you want, pressing two controlkeys lists out the variables and their contents.

You can also stack programs in memory to the extentof memory available. With this function, you can appendone program with others quite easily. You load a pro-gram and give the command to push it to locations highin memory. BOSS does this and resets the pointers for thenew limits of your BASIC source-code buffer. Now, loada second program and give the command to append itwith the first program. BOSS is happy doing its ownmemory management. It checks the amount of memoryyou have and keeps track of how much you have used orwill need. BOSS asks how much memory to protect andlocates itself just under your stated protected-memorylimit. It also tells what memory size to give when youenter BASIC. The BOSS program has no problem work-ing with either a TRS-80 Level II cassette system or theTRSDOS disk operating system.

BOSS did lock up on me sometimes, but this was most-ly because I did not follow directions. For instance, I didnot set a memory size, or I pressed the control keys tosend output to the printer when no printer was on line.

Overall, BOSS has many good features, with only afew bad ones. Since it works so well, BOSS has becomeone of my most used BASIC utilities. ■

August 1981 © BYTE Publications Inc 401

System Notes

Indirect I/O Addressing on the 8080

Paul Zarucki, 30 Long Leasow, Selly Oak,Birmingham, B29 4LT United Kingdom

It is frequently useful to be able to specify the addressof an I/O (input/output) port by the contents of aregister or memory location, to allow a common I/Oroutine to service a number of similar devices connectedto separate ports. If you have a system based on Intel's8080 microprocessor that does not have memory-mappedI/O, you cannot do this using the 8080 I/O instructionsin the normal manner, because only direct addressing isallowed for I/O instructions.

One solution is to modify the I/O instruction eachtime, prior to executing it, so it addresses the requiredport. Two possible problems with this method are:

• the program will not work if stored in ROM (read-onlymemory) since the instructions cannot be modified

• the program is not reentrant, which makes simulta-neous I/O to several ports impossible (as in multipro-gramming or multitasking)

For the program to be reentrant, it must store variabledata either in the processor's registers or in memory loca-tions assigned at execution time. If the I/O instructioncould be regarded as a variable and stored in this manner(but also executed as though it were part of the program),we could solve the two problems mentioned above.

Enter the Stack

The stack is an area of programmable memory that isdynamically assigned at execution time and is present inmost 8080 systems; thus, it is ideal for this application.

In the method presented here, we assemble the I/O in-struction code in the processor's registers and store it onthe stack together with a RET (subroutine return) instruc-tion. Then it is called as though it were a subroutine,and, finally, the instructions are cleared from the stack(see figure 1).

One problem with calling a subroutine on the stack isthat its absolute start address cannot be predicted when

(la)PROGRAM

STACKUNUSEDRET OPCODE

LXI H.00C9

00

PUSH H

MOV H,C

MVI L.OPCODE

C9

PORT*

PUSH H

I/O OPCODE

SP

(lb)

PROGRAM

STACKUNUSEDRET OPCODE

LXI H.0000

00

DAD SPRST 6

C9

P0RT#

I/O OPCODE

PC

RETURN

ADDRESS

SP

Figure 1: Stages in the assembly and execution of an indirectI/O subroutine. The C register is assumed to contain the I/Oport address. Figure la shows how the code is assembled in theregisters and pushed onto the stack. In figure lb, the startaddress for the code on the stack is loaded into the HL registerpair and an indirect subroutine call is performed.

402 August 1981 © BYTE Publications Inc

Listing 1: Subroutines for performing indirect input and output operations. With the I/O port address stored in the C register, data istransferred to (or from) register A, as with normal 8080 I/O instructions.

INDIRECT INPUT SUBROUTINE.

(la)

00001

;P6S1

00002

; = = =

=

00003

JDATE:

21/7/1980

00010

0000

21C900

INPUT

LXI

H.0C9H

00011

0003

E5

PUSH

H

00012

0004

61

MOV

H,C

00013

0005

2EDB

MVI

L.0DBH

00014

0007

E5

PUSH

H

00015

0008

210000

LXI

H,0

00016

000B

39

DAD

SP

00017

OOOC

F7

RST

6

00018

000D

El

POP

H

00019

000E

El

POP

H

00020

000F

C9

RET

;STORE "RET" OPCODE ON STACK.

;STORE "IN" OPCODE ON STACK.

MOVE SP TO HL.

CALL TO ADDRESS IN HL.

CLEAR STACK.

00022

END

(lb)

00001

;P6S2

00002

.

=

00003

;DATE:

21/7/1980

00010

0000

21C900

OUTPUT

LXI

H.0C9H

00011

0003

E5

PUSH

H

00012

0004

61

MOV

H,C

00013

0005

2ED3

MVI

L.0D3H

00014

0007

E5

PUSH

H

00015

0008

210000

LXI

H,0

00016

000B

39

DAD

SP

00017

OOOC

F7

RST

6

00018

000D

El

POP

H

00019

000E

El

POP

H

00020

000F

C9

RET

INDIRECT OUTPUT SUBROUTINE.

;STORE "RET" OPCODE ON STACK.

;STORE "OUT" OPCODE ON STACK.

MOVE SP TO HL.

CALL TO ADDRESS IN HL.

CLEAR STACK.

00022

END

Listing 2: A simulated indirect subroutine call. A call to this subroutine causes a jump to the address contained in the HL register pair.

This code is necessary for the indirect subroutine call. It consists of a single indirect jump instruction, located at address 0030H, which isexecuted when the RST 6 instruction is performed.

000010000200003

00010

00012

0030

E9

P6S3

DATE: 21/7/1980

PCHL

END

INDIRECT SUBROUTINE CALL.JUMP TO ADDRESS IN HL.

the program is written. Thus, we need an indirect sub-routine call—something the 8080 microprocessor doesnot have. This can be simulated by a call to a subroutinethat causes a jump to an address contained in the HLregister pair (shown as an RST 6, but it could be an or-dinary subroutine).

After the assembled code is pushed onto the stack, SPpoints to the first byte of the I/O subroutine. SP is loadedinto HL and an indirect call is performed. The stack nowappears as figure lb, with the return address at the topand the PC (program counter) pointing to the first byte ofthe I/O subroutine. The 3 bytes of code on the stack arethen executed. The RET instruction causes the return

address to be popped off the stack and execution con-tinues within the main body of the program.

Listings la and lb show subroutines for performing in-direct input and output operations, respectively. Theyare both relocatable and reentrant and can reside in eitherprogrammable or read-only memory.

Both subroutines shown assume that register C con-tains the I/O port address. Data is loaded into register Aor stored from register A, as with the normal 8080 I/O in-structions. The only other registers modified are H and L.

Indirect subroutine calls are also useful in other appli-cations where it is desired to specify the start address of asubroutine at execution time.B

August 1981 © BYTE Publications Inc 403

Programming Quickies

A Disk Catalog for the Eighties

Bob Liddil, POB 66, Peterborough NH 03458

DISK/CAT, a NEWDOS-based, commercial-qualitycataloging program for a Radio Shack TRS-80 with twoor more drives, performs several useful services (seelisting 1). In addition to recording and filing the contentsof every disk run through it, the program assigns to eacha permanent number (which is placed in the directory).Updating is performed by simply reinserting the disk andrunning DISK/CAT again. The contents of the disk arethen recataloged, and file names are deleted or addedwhile retaining the number.

DISK/CAT can remember a particular program andreport its whereabouts, on a disk-by-disk basis, repeatingall occurrences of the program. The search routine can beinitialized from the beginning or from the end.

The display mode will print all disk directories to thescreen (or to a printer, see listing 2a), give the directory ofany specified disk, or alphabetize all file names and printthem to screen or printer with their disk number (seelisting 2b).■

Listing 1: DISK/CAT for the Radio Shack TRS-80. The pro-gram numbers each disk, and catalogs its contents. The storedfiles can be printed or displayed on the video monitor inalphabetical order or on a disk-by-disk basis.

5 GOSUB500:CLS:

CLEAR5000:PRINTS 7 6,"1 CATALOGOLD DISK

DO YOU WANT TOA NEW DISK OR UP DATE2 LOOK AT PROGRAMFILE OR SEARCH FOR PROGRAM";10 A$=INKEY$:

IF A$="" THEN GOTO 1015 A=VAL(A$):

IF A<1 OR A>2 THEN GOTO 1020 ON A GOTO 25,20025 TROFF:CLS:

GOSUB 395:CLS:

PRINT@512,"PLEASE INSERT THE DISKTO BE CATALOGUED IN DRIVE #";DK;" AND PRESS <ENTER> ";30 QQ$=INKEY$:

IF QQ$=""THEN GOTO 30

35

40

455055

60

65

70

75

DIMA$(50):

CLS:

GOSUB420:

N=15360+(63*2)+2X=PEEK(N):

IFX<>32ANDPEEK(N-1)=191THENI=1+1

C=0IFO30THEN70IFNM6382THEN70IFX=3 2THENPOKEN,191 :

N = N + 1 :

C=C+1:

GOTO40POKEN,191 :

POKEN,X:

A$(I)=A$(I)+CHR$(X):

N = N + 1 :

IFO30THEN70IFN<16382THEN40CLS:

FORX=0TOI:

IFA$(X)="P"ORA$(X)="NUMBER"THEN

A$(X)=CHR$(191):

GOTO80PRINTA$(X),:

IFPOS(0)+LEN(A$(1+1))+9>64THEN

PRINT

404 August 1981 © BYTE Publications lnc

80 NEXT:

0(I)=I:

ONERRORGOTO%5 :

NEXT:

OPEN"I",1, "DN:0":

GOSUB145:

INPUT//1 ,DH:

FORX=lTONP:

CLOSE:

IFN$(0(X))OCHR$( 191 )THENNP = X

GOTO90

135

NEXT:

85 CLOSE:

OPEN"0",1,"FILE:0":

OPEN"0",1,"DN:0":

PR INT//1 ,NP:

PR INT//1 ,0:

FORI=lTONP:

CLOSE:

PRINT//1 ,N$ (0( I ) ) :

RESUME

NEXT:

90 ONERRORGOTO100:

CLOSE:

OPEN"I",1,DK$:

OPEN"0",1,"FILEO:0":

INPUT//1 ,DN:

FORI=lTONP:

CLOSE:

PRINT//1 ,D(0( I ) ) :

SK=DN:

NEXT:

IFDH>DNTHEN115

CLOSE:

95 OPEN"0" ,1 , "DN:0" :

GO TO 5

PR INT//1 ,DN:

U0

CLOSE:

CLOSE:

OPEN"0",1,"FILE:0":

GOTO 115

PR IN 17/1 , 0 :

[00 CLOSE:

CLOSE:

OPEN"I",1,"DN:0":

RESUME

INPUT//1 ,DN:

U5

L=l :

CLOS E:

C=0:

OPENmO",1,DK$:

FORN^ITONP:

PR I NT//1 , DN + 1 :

IFN$(O(N))=CHR$(191)THENC=C+1

CLOSE: IFDN + K = DHTHEN110

150

NEXT:

105 OPEN"0",1,"DN:0":

FORX=lTONP-C-l:

PRINT//1 ,DN + 1 :

IFN$(0(X))=CHR$(191)THENGOSUB160

CLOSE

155

NEXT:

110 RESUME

GOT0165

1L5 ONERRORGOTO140:

160

CLS:

CLOS E:

PRINT"PRE SORT":

CLS :

A^O(X):

PRINT"THIS IS DISK

#";DN :

FORN=XTONP-l:

OPEN"I",1,"FILE:0"

0(N)=0(N+1):

INPUT//1 ,NP:

NEXT:

DIMN$(NP+I+1),D(NP-

i-I + l ) ,0(NP+I + 1 ) :

0(NP)=A:

IFNP=0THEN130

X=X-1:

120 FORX=lTONP:

RETURN

INPUT//1 ,N$(X):

165

C=0:

NEXT:

FORX=LTONP-l:

CLOSE:

IFN$(0(X))>N$(0(X+1))THENGOSUB175:

ONERRORGOTO0:

X=NP-1:

OPEN"I",1,

NEXT:

"FILEO:0":

GOT0165

FORX=lTONP:

170

L = X:

INPUT//1 ,D(X) :

NEXT:

IFD(X)=SKTHENN$(X)=

=CHR$(191)

TROFF:

125 NEXT

RETURN

130 CLOSE:

175

CLS:

ONERRORGOTO0:

PR I NT"SORTING DATA":

X = NP:

F0RI=X+1T01 STEP-1:

N = 0 :

IFN$(0(I))<N$(0(1-1))THENA=0(I):

CLS :

0(I)=0(1-1):

FORL=X+lTOX+I+l:

0(1-1)=A:

N$(L)=A$(N):

C=l

N=N+1:

180

IFC=0THENI=1:

D(L)=DN:

NEXT:

NEXT:

GOTO190

NP = NP+I + 1 :

185

C=0:

FORI=lTONP:

NEXT

Listing 1 continued on page 406August 1981 © BYTE Publications Inc 405

Programming Quickies

Listing 1 continued:

190 L=L-1: 290

IFL<1THENL=1195 RETURN 295

200 ONERRORGOT05: 300

OPEN"I",1,"FILE:0":

INPUT//1 ,NP:

DIMN$(NP),D(NP):

FORX=lTONP:

INPUT//1 ,N$ (X) :

NEXT:

CLOSE: 301

OPEN"I",1,"FILEO:0":

FORX=lTONP: 302

INPUT//1 ,D(X) :

NEXT: 30 3

CLOS E:

OPEN"I",1,"DN:0" : 304

INPUT//1,DN: 305

CLOSE205 CLS:

PR INT"DO YOU WANT TO! SEARCH 310

FOR PROGRAM (N) CHAR. FROM 315

BEGING2 SEARCH (N) CHAR. FROM 3 20

END3 PRINT ALL DISKS TO 325

PRINTERS PRINT ALL DISKS TO 330

SCREEN210 PR I NT"5 ALL PROGRAMS TO PR I 335

NTER IN ALPH. ORDER WITH DISK//":

PRINT"6 DIR OF ANY DISK":

PR INT"7 RESTART 8 END

215 QQ$=INKEY$:

IF QQ$=""THEN GOTO 215220 FL=VAL(QQ$):

IF FL<1 OR FL>8 THENGOTO 215225 ON FL GOTO230,300,335,345,360,365,

5 ,390230 CLS:

PRINT"YOU GIVE ME ANY NUMBER OF

CHAR. I WILL LIST ALL DISKSTHAT 340

CONTAIN A PROGRAM THAT START WITH

THOSE CHAR.":INPUT"CHAR. TO SEARCH

FOR";A$:L=LEN(A$):PRINT"OUTPUT TO 345

PRINTER Y/N"235 P$=INKEY$:

IF P$=""THEN GOTO 235240 IF P$="Y"TriEN P=l:

GOT025 5245 IF P$="N"THEN P=0:

GOTO25 5250 GOT0235 350

255 CLS:

P$="": 355

FORX=lTONP:

IFLEFT$(N$(X),L)=A$THEN265260 GOTO280265 IFP=1THEN275270 PRINTN$(X) ,"DISK //" ;D(X):

GOTO280275 LPRINTN$ (X) ,"DISK //" ;D(X) 360

280 NEXT285 PRINT@980,"PRESS <ENTER> TO CONT

INUE";

QQ$=INKEY$:

IF QQ$="" THEN GOTO 290GOTO 205CLS:

PR INT"YOU GIVE ME ANY NUMBER OF

CHAR.I WILL LIST ALL THE PROGRAMS

THAT END IN THOSE CHAR.":INPUT"TO

S EARCH FOR " ; A$ :

L=LEN(A$):PRINT"OUTPUT TO PRINTER

Y/N "P$=INKEY$:'

IFP$=""THEN 301IF P$="Y"THEN P=l:

GOTO305IF P$="N"THEN P=0:

GOTO305GOTO 301CLS :

FORX=lTONP:

IFRIGHT$(N$(X),L)=A$THEN315GOTO3 30IFP=0THEN325

LPRINTN$(X) ,"DISK //";D(X)PRINTN$(X) ,"DISK //" ;D(X)NEXT:

GOT02 85OPEN" 1" , 1 ,"DN" :

INPUT//1 ,DN:

CLOSE:

FORX=ITODN

LPRINT"

LPRINT"

LPRINT" -DISK //" ;X;

LPRINT" ":

FORN=lTONP:

IFD(N)=XTHENLPRINT"

N$(N)NEXT:

NEXT:

GOT0285FORX=lTODN:

CLS:

PR1NT"DISK //" ;X:

PRINT:

PR I N T :

PRINT:

FORN=lTONP:

IFD(N)OXTHEN355PRINTN$(N),:

IFPOS(0)>50THENPRINTNEXT:

PRINT:

PRINT:

FORI=1TO2000:

NEXT:

NEXT:

GOTO205CLS :

FORX=ITONP:

LPRINTN$(X) ,"DISK //'

D(X)

406 August 1981 © BYTE Publications Inc

PRINTN$(X),"DISK #";D(X):

NEXT:

GOTO205365 CLS370 INPUT"DIR OF WHAT DISK";D:

IFD>DNTHENPRINT"DISKS ONLY CATALOG

ED UP TO " ; DN :

GOTO3 7 0375 CLS:

PR I NT"DISK #";D:

PRINT:

FORX=lTONP:

IFD(X)=DTHENPRINTN$(X),38(2 IFPOS(0 )>50THENPRINT385 NEXT:

GOTO28539(2 END395 CLS :

PRINT"ON WHICH DRIVE (I THRU 3)

WILL YOU PLACE YOUR DISK TO BE

CATALOGED?":

LINEINPUT DK$400 DK=VAL(DK$):

IF DK<1 OR DK>3 THEN CLS:

GOTO395405 IF DK=1 THEN DK$="NUMBER:1":

RETURN410 IF DK=2 THEN DK$="NUMBER:2":

RETURN415 IF DK=3 THEN DK$="NUMBER:3":

RETURN420 IF DK=1THEN CMD"DIR :I":

RETURN425 IF DK=2THEN CMD"DIR :2":

RETURN430 IF DK=3THEN CMD"DIR :3":

RETURN500 CLS:

PRINTCHR$(23):

PRINT024."NOTICE":

PRINT:

PR INT"THIS PROGRAM WILL NOT WORK

WITH A SINGLE DRIVE DISK SYSTEM"5 10 FOR ZZ=lTO 15 00:

NEXT:

RETURN

Listing 2: Sample printer output from DISK/CAT. The direc-tories of all disks, in disk-number order, are shown in listing 2a;listing 2b shows the directories in alphabetical order.

(2a)

DISK # i

BARTEND

DISKED35/CMD

FCC1

FCC 2

FCC 3

FCC4

FCC5

TEMPI

-DISK # 2

DSHIP/CMDDUTCHMANINTROSPIDER

-DISK # 3

DSHIP/CMDSTARTREK

— DISK # 4CATALOG

DECODE

ETCH/PCL

LCPRINT/CMC

)

LETTER

PENCIL/CMD

REPORT/PCL

TEST

VOICE

(2b)

BARTEND

DISK

#

1

CATALOG

DISK

#

4

DECODE

DISK

#

4

DISKED3 5/CMD DISK

#

1

DSHIP/CMD

DISK

#

2

DSHIP/CMD

DISK

#

3

DUTCHMAN

DISK

#

2

ETCH/PCL

DISK

#

4

FCC1

DISK

#

1

FCC2

DISK

#

1

FCC3

DISK

#

1

FCC4

DISK

#

1

FCC5

DISK

#

1

INTRO

DISK

#

2

LCPRINT/CMD DISK

#

4

LETTER

DISK

#

4

PENCIL/CMD

DISK

#

4

REPORT/PCL

DISK

#

4

SPIDER

DISK

#

2

STARTREK

DISK

#

3

TEMPI

DISK

#

1

TEST

DISK

#

4

VOICE

DISK

#

4

DISK/CAT was written by David Huntress of Boston MA.Enhancements were added by Reese Fowler of PeterboroughNH. Copies are available on tape for disk BASIC from The Pro-grammer's Guild, POB66, Peterborough NH 03458, for $19.95.

August 1981 © BYTE Publications Inc 407

Programming Quickies

Alpha-Beta Tree SearchConverted to Assembler

Stephen F Gale, 22 Lloyd PI,St Albert, Alberta T8N 2H4, Canada

In part three of his article "Machine Problem Solving"(November 1980 BYTE, page 224), Peter Frey discussedthe alpha-beta pruning algorithm as applied to searchinga look-ahead tree for the best strategy in a two-playergame. He included a BASIC demonstration game of thealpha-beta procedure called Treasure Search. In thisgame, the user plays against the computer on an 8 by 8grid that has a digit between 1 and 9 randomly assignedto each of the 64 grid locations. Players take turnsmoving from one spot to another, adding the value ofeach location they land on to their scores. Once a loca-tion has been occupied, its value is reduced to 0. Eachplayer attempts to follow a path that leads to the highestnumbers; the first player to reach 100 points wins.

Listings 1 and 2 are an improved version of this gamefor a Radio Shack TRS-80 Model I. The highly efficientalpha-beta tree search has been rewritten in Z80 as-sembly language, and it now runs about 300 times fasterthan the original BASIC program. My version has alsobeen enhanced through the use of the killer heuristic thatwas described in Mr Frey's article. Effective moves storedby the regular tree-search routine are recalled by thekiller heuristic when the current situation is recognized as

being similar to one previously encountered in the courseof a game.

This improved program plays a good game at levelsfive, six, and seven; at levels eight, nine, and ten it shouldbe excellent. Note that even with the reduced computingtime of the new version, level ten requires about fortyminutes per move. By contrast, a move by the computerat level five in the original version required fifteenminutes; the same level on the improved version takesless than ten seconds.

As given, the program in listing 2 must be loadedbeginning at hexadecimal memory location 6000. Alter-ing the ORG statement prior to assembly will allow youto place the code elsewhere in memory. Line 400 of theBASIC program must also be modified so that it willknow the new entry point for the machine code.

In a cassette-based system, after you have put theseprograms on tape, load the BASIC program of listing 1with the CLOAD command. Then use the SYSTEM com-mand to load the machine-language program assembledfrom listing 2. Press BREAK after the second program hasbeen loaded to return to the BASIC editor, then typeRUN.il

Listing 1: BASIC portion of an improved version of the game Treasure Search, described in the November 1980 BYTE. This programruns in conjunction with listing 2. Line 400 contains the code that gives the entry point for the machine-language routines in listing 2.

0 CLS!FRINTQ5," * TREASURE SEARCH * BYTE MAGAZINE - NOVEMBER, 1980"

5 PRINT:PRINT" TREE SEARCH CONVERTED TO ASSEMBLER EY S.F.GALE B.SC ASPH(CPSC) IN DECEMBER, 19

SO"

10 print'.print

15 print" the object of the game is to score 100 points before"

20 print"the computer does. the computer moves the '*' and you"

25 print"move the 'x' about an 8x8 board that contains random"

30 print"numbers between 1 and 9. when a square has been"

35 print"visited, the value on the square is then zero. moves"

40 print"are made by pressing one of the four arrow keys."

45 print:print:input"Press <enter> to continue";a*

50 clsiprint" the program uses the alfha-beta tree search"

55 frint"enhanced by the killer heuristic.

60 printtprint" move times are roughly as follows!"

65 print" levels 1 to 6 - under 10 seconds,

70 print" level 7 - under 60 seconds,

73 print" level 8 - under 2 minutes,

408 August 1981 © BYTE Publications Inc

- UNDER 10 MINUTES,

- ABOUT 40 MINUTES.TIMES COMPARE FAVORABLY TO BASIC WHERE"!PRINT"LEVEL

(i to io) :";:inputy

9?:nexti

75 PRINT" LEVEL 9

SO PRINT" LEVEL 10

85 PRINTiFRINT" THES

INUTES."

95 print:print:input"press <ENTER> TO CONTINUE"JA*

iooclearioo:cls:definta-z;random:sh=o!st=o:z$=string$(

uo printq463,"please enter your name"j:inputn$

120dima(8),b(99),d(4),e(12),m(12)

130dimpv(12,12),q(12!,v(12),z(12)

140 D(d=-io:d(2)=-i:d(3)=i:d(4)=io

150 A(d=io:a(2)=-io:a(4)=-i:a(8)=i:cls

160 ppjnt@461,"computer playing strength

170 dm=2*y5fori=l 1t088:b(i)=rnd(9);nexti

180 FORI=OT010:B(D=99:NEXTI:FORI=89T099:B(I)

190 FORI=19TO793TEP10:B(I)=99:B(I+l)=99:NEXTI

195 CLS:PRINTQ463,"DO YOU WANT TO GO FIRST";!INPUTA*

220 CLS:F0PJ=1 lTO88iIFB!I)=99THEN240

230 X$=RIGHT$(STR$(B(I)),D:GOSUB1000

240 nexti:frint@22,"treasure searchm;y

250 PRINT@256)N$;:PRINT@448,"TRS-80";:Y$=STRING$(121" ")260 T=54IT$=" *":H=45:H$=" X"

270i=t:x*=t$;gosubiooo:b(T)=99:b(H)=99

280 i=h:x*=h$:gosubiooo

285 ifa$="yes"then300else400

290 frint@7s8,"illegal move, try again";:f0ri=1t0999!nexti

300 print@788,z$;:print@7s8,"which direction for x"j

310ifinkey$=""then310elser=peek(16444)

320 r=int(r/s)!j=h+a(r)

330if3(.j)=99then290elseprint@783,z$

360 i=h:b(d=o:x$=" o":gosubiooo:sh=3h+b(J)

37oh=j:b(H)=99:i=h:x$=h*:gosubiooo

380 FRINT0321 ,SH;:iFSH>99THEN930

400 POKE 16526,0JPOKE 16527,96

410 FCRI=0TO99!FOKE32261 +1 ,B(I)JNEXTI

420POKE32258,DM:POKE32259,T:POKE32260,H430 EM=USR(N)

soo i=t:bq)=o:x$=" o":gosubiooo:print@i79,y$j

310 t=bi-i:st=st+b(T);b(T)=99:i=t:x$=t*

820 gosub i ooo:printq5i 3,st;:ifst< 100THEN300

910 PRINTQ915,"THANK YOU FOR A PLEASANT GAME";920 GOTO920

930 printq917,"congratulations, you win";:goto920

1000r=int(i/10):c=i-10*r!k=141+(s-r)*64+c*4

ioio printqk,x$;;return

TAKES ABOUT 15 M

Listing 2: The more time-consuming portions of the game have been coded in Z80 assembly language, improving the program speed300 times. This section of the game must be loaded into otherwise unused memory before you attempt to run the program in listing 1.

0 0 :i. o o

ORG

6 0 0 i) hi

0 0 11 0

BRD

EQU

7E05H

00120

MXDPTH

EQU

7E02H

0 0 1 3 0

TRS8Q

EQU

7E0 3H

0 n :l. 4 i)

HUMAN

EQU

7E(HH

0 015 0

FROM

EQU

-• 12

0 0160

TO

EQU

+ 0 0

0 0.170

DCOUNT

EQU

+ 0 1

0 01 BO

ALPHA

EQU

.... q .<(

0 019 0

BETA

EQU

+ 02

00200

MAX

EQU

•ti) 8

0 0 21 0

SAVSQR

EQU

+ 0 3

00220

SAVSCR

EQU

+ <H

0 0230

KILLER

EQU

■*• 0 5

Listing 2 continued on page 410August 1981 © BYTE Publications Inc 409

Programming Quickies,

Listing 2 continued:

00240 $

00250002600 0 2700 0 23 00 02900 03000 0 31 000320003300 0 310003500 0 3600 0 37 00 0 3300 0 3900 0 *» 0 00 0 4 1 00042000430004400 0450004600047000480004900 0 5 0 00 0 5100 0 5200 0 5300 0 5400 0 55000560005700 05300 0 5900 0 6 0 00 0 61 00 0 6200 0 6300 0 6400 0 6500 06600 0 6700 0 6300 0 6900 0 7 0 00 0 7 :L 00 07200 0 7300074000750007600 0 7700 0 780007900 0 3 0 00 0 31 00 0 3200 0 3300 0 3400 0 3500 0360

:* x »: GET UP TREE: SEARCH PARAMETERS,

't x. x< >xNXTLVL

LD

L..DLDLDLDLDLDLDLDLDLDLDLDLDLD

MOVELDINCLDADDLDLDNECLDLDLD

A, (MXDPTH)(MAXELL),AA, 1

(PLYLVL),AA, -1

(SIDE),AA,()

(SCORE),AIX,TEEE+6<IX+ALPHA)(IX■•(•BE!A) ,■A,(TR5S0)(IX-06) ,AA,(HUMAN)(IX+0 0) ,A

-99■99

J SET SEARCH

J MAXIMUM DEPTH.

}SET THE PLY

J LEVEL COUNTER.

JSET SIDE-TO-MOVE.J ZERO CUMULATIVEJ SCORE COUNTER.JSTART OF TREE DATA.

JSET LOCATION OF

J COMPUTER'S PIECE.

JSET LOCATION OF

HUMAN

' Q

:'IECE

DOWN ONE PLY LEVEL IN TREE.

..VI.

HLfPL

(HL)

DE,6

IX, DE

(IX+DCQUNT),

A, (SIDE)

(SIDE) fAA,(IX-10)CIX+BETA),A

INCREMENT THE

PLY LEVEL COUNTER.MOVE TREE POINTER

FORWARD TO NEXT PLY.SET THE MOVE COUNTER.CHANCE THE

SIDE-TO-MOVE

INDICATOR.SET NEXT ALPHA,

BETA VALUE.

* X » CHECK IF THE KILLER MOVE IS LEGAL

NXTDIE

; s< x< ;«NXTMOV

} w x *

* '-V *i/ *!'« m ^ ^

TRYKIL

LD

LD

LD

ADD

CP

JP

INC

DJNZ

CHECKDECJPLD

LD

LD

ADD

LD

ADD

CHECKCPJP

CHECKLDI...DLDI...DADDLDCPJP

HL»DIR

B,4

A,(HL)

A, (IXf-FROM)

(IX+KILLEE)

Z,TRYKIL

HL

NXTDIR

A MOVE AT THIS PL(IX+DCOUNT)Z,PRELVLHL,DIR-1C,< IX-H) COUNT)B,0HL,BCAf (HI...)A, (IX-t-FROM)

J DIRECTION TABLE.

J GET NEXT MOVE DIRECTION,I C A L C U I... A T E N E W S Q U A R E.J CHECK IF THIS SQUARE ISi THE KILLER MOVE,

LEVEL.UPDATE MOVE COUNTER.IF DONE GOTO PLY-1.DIRECTION TABLE.

?RETRIEVE DIRECTION.$CALCULATE NEW SOU A R E

if move is killer (whici<ix+kiLler)

Z,NXTMOV

HAS BEEN DONE),

IF THE MOVE IS LEGAL.

(IX + T O ) , A I S A V E NEW S Q U A R E .

I-1L, BED J BOARD TABLE,

C, A

B, 0

HL»BC

A,(HL) J RETRIEVE PIECE.

99 J CHECK IF LEGAL MOVE.

Z,NXTMOV JIGNOR IF ILLEGAL,

410 August 1981 © BYTE Publications Inc

0 0 870 0830 08?0 0 9 00 0 ? :l.0 09 20 0 9300940 0950 0 960 0 9700980 0990 1 0 001010102

0 1 i! 3

01 04010501060 1 0 701080 1 i) 90 :l. 1 0011101120 :l. 13o :i. i4

0 115

;:x #.

SKIP02

I...D

'MAKE''1...DL..DLI)ADDI...D

UPDATELD

OR

LD

JP

NEC

LD

L..D

ADD

LD

CHECKLDLDCP

JP

(IX+SAVSGR),A ;SAVE VALUE OF SQUARE,

01

01

01

0 1

0120

0121

01220 TAKBAK

0123

0124

01"r"

0126

0127

0128

0129

0 13 0

0 131

0132

o i :•

01340 1350136

o i::

01380139014 001410142014301-ft014501460147014801

'0 SKIP0 4

K) I

. () ;;« x :;<

f()(0iO

>(}

'0!0>Q10.0'.010K)iO>0'0SO'010.0!010(0iO>0"0)0'0

HOVE ON BOARD,(HI...) ,9?HL,BRDC,(IX+FROM)HL.BC(HI...) ,- 0

j mark new sqr illegal...jhl-board address,j retrieve from sqr,j calculate sqr,j mark sqr legal,

THE CUMULATIVE SCORE.A,(SIDE)A

A,(IX+SAVSQR)P,SKIP0 2

RETRIEVE SIDE-TO-MOVE

AND SET FLAGSGET VALUE OF SQR,J BRANCH IF SIDE POSITIVE.

(IX+SAVSOR), AHI., SCOREA, (HI...)(HI...) f A

?SAVE SIDE*SAVSQR.JADDR OF CUMULATIVE SCORE\UPDATE SCOREI AND RESTORE.

IF SEARCHED TO MAXIMUM DEPTH,HL,MAXLVLA,(PLYLVL.)(HL)CNXTLVL | BRANCH IF NOT AT MAX,

:t< ;:<

SETLDORLDJPNEGLD

TAKE EI...DSUBLDLDLDLDADDLDLDLDI...DADDLD

CHECKLDNEGLD

CALLCPUPLDNEGLD

STORE

LDCP

CORE ON THIS TERMINAL NODE

Ai (SIDE)

A

A,(SCORE)

M,SKIP 0 4

CIX+MAX).A

ACK THE MOVE♦A, (SCORE)CIX+SAVSCR)(SCORE)fAHL»BRDC,(IX+TO)B f 0HL,BC

A, (IX-i'SAVSQR)(HE)fAHI. ,BRDC,CIX+FROM)HL,BC(HL.) ,99

; R E T RIE V E S11!) E - T O - M O V E f

t SET THE FLAGS,

JGET CUMULATIVE SCORE.

', BRANCH IF SIDE NEGATIVE.

{SET SCORE ON THIS NODE,

J GET CUMULATIVE SCORE.J UPDATE THE SCOREJ AND RESTORE IT,

}HL~TO SQR.

J RESTORE BRD.JHL=BRD ADDRESS.

JRESTORE BRD AT FROM,

IF BEST SCORE AT THIS NODE.A,(IX:MAX)

B,(IX+BETA)CMPARE1

NZ,NXTMOVA,CIX+MAX)

(IX+BETA)fA

BEST MOVE AT LOWEST PLY.

A,(PLYLVL) tCHECK IF AT

2 ; LOWEST PLY LEVEL

Listing 2 continued on page 412August 1981 © BYTE Publications Inc 411

Programming Quickies

Listing 2 continued:

015 0 0

JP

NZ,SAVKIL J BRANCH IF NOT.

01510

I...D

A. (IX ■:■ T O) I O' I' H E R WIS E U P D A T E

01520

I...D

(BESTMV),A ; THE BEST MOVE.

01530

JP

PRUNE

01540

•

01550

,« >:< w

STORE

THE NEN KILLER MOVE.

01560

SAVKIL

LD

A.CIX+TO)

01570

LD

< IX-: KILLER) ,A

01580

4

>

01590

1% X< K

P E R F 0 R M A L P H A ■••■ B E T A P R U NI N G ,

01600

PRUNE

I...D

A,(IX+ALPHA)

01610

NEC

01620

LD

B,CIX+BETA)

01630

CALL

CHPARE

01-640

CP

1

01650

JP

Z.NXTnOV

01660

i

01670

\ :*: :-:< »

MOVE B

ACK IN TREE TO PREVIOUS LEVEL,

0168U

PRELVL

LD

A,(SIDE) \CHANGE THE

01690

NEC

I SIDE -TO -MOVE

0 17 0 0

LD

(SIDE),A J INDICATOR.

01710

LD

DE.-6 J MOVE TREE POINTER

01720

ADD

IX, DE J BACK ONE PLY LEVEL

01730

LD

HUPLYLVL J DECREMENT THE

01740

DEC

(HI...) ', PLY LEVEL COUNTER.

01750

LD

A.l J CHECK IF DONE

01760

CP

(HI...) ; LAST PLY.

01770

JP

C.TAKBAK J BRANCH IF NOT.

01780

t

01790

\ * w. sk

SET HI.

. FOR THE RETURN TO BASIC.

0180 0

LD

A,(BESTMV)

01810

LD

L. A

01320

LD

l-l, 0

01830

JP

0A9AH

01840

01350

\ * s ;k

THIS £

ilJBROUTINE COMPARES TWO 8-BIT SIGNED

01860

OPERAh

IDS IN A AND B ,

01870

CMPARE

CP

B

01830

JP

NZ, NOT ECU..

01890

LD

A.O

019 0 0

RET

0 :l. 9 :l. o

NOTEQI...

PUSH

AF

01920

XOR

Ei

01930

RLA

01940

JP

C,DIFFER

01950

POP

AF

0 196 0

JP

CLES8T

01970

GREATR

LD

A.l

01930

RET

01990

DIFFER

POP

AF

0 2.0 0 0

JP

C. GREATR

0 2 0 1 0

L.E3ST

LD

A, -1

02020

RET

02030

MAXLVL

DEFS

1

02040

PLYLVL

DEFS

1

02050

SCORE

DEFS

1

0 2 0 6 0

BESTMV

DEI-3

1

0 2 0 7 0

SIDE

DEFS

:l.

0 2 0 8 0

DIP

DEFB

-10

0 2 0 9 0

DEPP

-l

0 2 1 0 0

DEFB

+ l

0 71 1 0

DEFB

+ 10

02120

TREE

DEFS

250

0 213 0

END

412 August 1981 © BYTE Publications Inc

System Notes

AIM-65 16-Bit Hexadecimalto Decimal Conversion

R A Young, Bio-Medical Engineering Unit, Room 280, EarlHall, Queen's University, Kingston, Ontario, K7L 3N6 Canada

In the early stages of programming our AIM-65 micro-computer, we could not find a 16-bit binary to decimalnumber conversion subroutine so we developed thesubroutine shown in listing 1, The subroutine is enteredwith the 16-bit number to be converted stored at hexa-decimal memory locations 5E (MSB) and 5F (LSB). The

results are stored in locations 75 (MSB) to 79 (LSB). Thedecimal digits are stored with one digit per location.Therefore, if conversion to ASCII is also required, itbecomes a simple matter of adding 30 to each digit at theend of the subroutine. Note that the values 10 E8 etc,shown at the end of the listing, must be stored starting atlocation 780 etc; they are the conversion constants.

Care must be taken if it is necessary to relocate thissubroutine since there are several position-dependent in-structions. ■

Listing 1: A subroutine for the AIM-65 microcomputer whichconverts 16-bit binary numbers to decimal values.

K>* =/5007000702070407060708070A070C070E07 1 10713C716

071 8071B071C071E

072 1072307250728072A072C072E0730073207350736073D073E07410743074 5074E

700

A98585858585A98DA98DA98D38A5ED85A5ED9085A585E64CEE

EEADC9F04CA 5

LDASTASTASTASTASTALDASTALDASTALDASTASECLDASBCSTALDASDCBCCSTALDASTAINCJMPINCINCINCLDACKPBEQJKPLDA

#00

75

76

77

78

79

#75

0731

#80

07 IF

#84

0726

5E

0785

79

5F

0789

0735

5F

79

5E

7A

07 IB

07 IF

0726

0731

0731

#7A

07-iS

07 IB

5E

074 A074C

074D074E074F07500752075407570759075C075E0760076207650767076A076C

EA NOPEA NOPEA NOPEA NOPA0 LDYA9 LDA8D STAB1 LDA4C JKPDO BNEA9 LDA91 STA4C JMPA9 LDA8D STABl LDA18 CLC

K>*=76D/09076D076F0771077207730775077707780779

6991

C898C9DO

EAEA60

ADCSTAINYTYACMPBNENOPNOPRTS

#00

#5C

075A

<88),Y

076C

0765

#20

CBS),Y

0771

#6C

075A

(88)*Y

#30(88)

#060757

Y

M>=0780< > 0784<

1027

E803

6400

0A00

August 1981 © BYTE Publications Inc 413

Programming Quickies

Fast Line-Drawing Technique

Mike Higgins, POB 197, Duncans Mills CA 95430

Almost everyone who has a home computer would liketo take full advantage of its graphics capabilities, whetherthis is high-resolution graphics, an addressable cursorcapability, or a printer or plotter capable of drawinglines.

Line drawing is the most basic of graphics functions,and in recent years, countless schemes have been putforth in an attempt to devise the best method of perform-ing it. You've been advised to use the point-slope formulato draw lines, but this technique demands lots of floating-point arithmetic and does not draw solid lines when theslope of a line is greater than 1,0 or less than —1.0. Onearticle I read suggested a problem reduction method,where the line segment to be drawn is repeatedly choppedin half until you have two adjacent points. This techniqueused only integer arithmetic, but it did a lot of redundantcalculation. Home-computer owners have devoted an in-credible amount of time and effort to coming up withnew and creative ways to draw lines, when a simple, effi-cient algorithm has been available for at least a decade.

The technique I use is called the DDA, for Digital Dif-ferential Analyzer. I first learned about it from Newmanand Sproull's book Principles of Interactive ComputerGraphics (New York: McGraw-Hill, first edition, 1973;second edition 1979). The book was first printed in 1973,

so DDA has been around for quite some time. DDA is atechnique for producing discrete approximations to thesolution of any differential equation, and calculating thevalues of the coordinates on a line is just one of its uses.DDA produces simple equations that make a lot of in-tuitive sense. Here's how DDA works: imagine that allthe lines you wish to draw are always at angles between 0and 45° (slope between 0 and 1) and are always drawnleft to right, bottom to top.

In figure 1, the number of dots in each line is alwaysequal to the length of the line along the x axis. This is thenumber of times you will have to perform a loop togenerate all the dots in your line. According to the DDA,you should perform the equations inside this loop asshown in listing 1. XO and Y0 are the coordinates of thestarting point, and DX and DY are the lengths of the linealong the x and y axes respectively. Incidentally, DY/DXis the slope of the line. Each time through the loop, XOand Y0 are incremented until they are equal to the end-point of the line, when the loop is finished. Notice that XOis always incremented by 1, but YO is incremented by afloating-point value between 0 and 1. Presumably, theplotting device or graphics hardware on a computer canonly plot to integer positions, so YO must be truncated orrounded off before it is used.

(la)

(lb)

(lc)

^t-

IPII

IPII

IPII

IPII

IPII

IP11

II

IPII

±

Figure 1: Examples of simple lines represented by individual coordinate points.

414 August 1981 © BYTE Publications Inc

Newman and Sproull's most sophisticated algorithmseparated all the integer operations from the floating-point ones. (See listing 2a.) In the first line of this routine,the remainder value, R, is initialized to Vi, so that allresults that follow will be rounded off automatically. Theslope is calculated outside the loop, so the only floatingarithmetic that must be done is addition and subtraction.The integer variable YO is incremented by 1 every time Rclimbs back to a value of 1 or more. After all this work,however, the algorithm still uses floating-point arith-metic, so one further step is required.

I took this algorithm and multiplied all the floating-point equations by DX to come up with a different pro-cedure. (See listing 2b.) Note that the slope calculationcan now be eliminated, because the slope, DY/DX,multiplied by DX is equal to DY. Now all the equations inthe procedure can be done quickly with integers. Thedivision where R is initialized to DX/2 is the only opera-tion that might take more time; being outside the loop, itis done only once.

This procedure can be adapted to assembly language,where a divide by 2 is a right-shift instruction. In fact, Ihave written this procedure in Z80 assembly language inwhich all the variables were stored in the processorregisters. That routine can flash a line onto the screen inbetween video refreshes, and allows some highly interac-tive programs to be written when called from BASIC.

Even this algorithm, however, has the restrictions men-tioned earlier; ie: it only works on lines that have slopesbetween 0 and 1, and can only draw from left to right,bottom to top. To solve several of these problems, Ichanged the procedure so that variables are added to XOand YO rather than a constant +1. (See listing 3.) Thesevariables are initialized to 1, but are changed to —1 if theline goes right to left or top to bottom.

The algorithm still needs a way to cope with slopes thathave absolute values greater than 1. My solution in thosecases is to transpose the axes. That's not as complicatedas it sounds, because it means I pretend that the x axis isthe y axis and vice versa. When you do that, the slope ofthe resulting line is always the reciprocal of what it wasbefore, and values greater than 1 become less than 1. Tosee how this is done, refer to the sample program inlisting 4 on page 416.

The subroutine in listing 4 is very flexible. Instead ofperforming the loop with FOR . . . NEXT statements, itreturns each point one at a time to the calling program. Iuse this routine to plot on a Qume printer/plotter, tomove a spaceship or a torpedo on a graphics display grid,and even to draw lines. Each of these applications doessomething different with the x-y coordinate pairs that theroutine returns, but the same routine is used in all ofthem. The routine returns coordinates and lets the in-dividual main program decide what to do with each pair.Your programs would, perhaps, run faster if you op-timized the subroutine for the individual program youuse it in. I prefer using modular programming methods,

where a routine like this one can be used in several dif-ferent programs without change.

When I originally wrote the subroutine in listing 4, Iused multiple-statement lines, making it much smaller. Ialso used more descriptive variable names like DX, AX,SX, etc. The routine has been rewritten in elementaryBASIC to make it more transportable. Have fun, andgood lucklH

Listing 1: In the simplest form of the DDA algorithm, DX is thedifference of the x coordinates of the starting and end points of asimple line; DY is the difference of the y coordinates. The coor-dinates of the starting point, XO and YO, are incremented untilthey are equal to the coordinates of the end point.

FOR I = 1 TO DXX0=X0+1Y0=Y0+(DY/DX)

NEXT I

Listing 2: Improved line-drawing algorithms. Listing 2a, whichis more easily adapted for graphics hardware, produces only in-teger values for YO. Listing 2b is the same procedure with thefloating-point calculations completely eliminated.

R=0.5

SLOPE=DY/DX

FOR I = 1 TO DX

X0=X0+1

R=R+SLOPE

IF R >= 1.0 THEN YO=Y0+1 :

R=R-1.0

PLOT X0,Y0

NEXT I

(2b)

R=DX/2

SLOPE=DY

FOR I = 1 TO DX

X0=X0+1

R=R+SLOPE

IF R >= DX THEN Y0=Y0+1 :

R=R<-DX

PLOT X0,Y0

NEXT I

Listing 3: Revision of listing 2 which will draw lines from rightto left and top to bottom as well as vice versa.

R=DX/2

AX=1

SY=1

IF DX <

0

THEN !

DX=

=ABS(DX)

: AX=

-1

IF DY <

0

THEN

DY =

=ABS(DY)

: SY=

-1

FOR I =

1

TO DX

X0 =

=X0+AX

R=R+DY

IF

R

>= DX

THEN Y0=Y0+SX :

R=

=R-

-DX

PLOT

X0,Y0

NEXT I

August 1981 © BYTE Publications Inc 415

Programming Quickies.

Listing 4: Sample BASIC program that returns the x and y coordinate points between given starting and end points. Lines of any slopebetween —1 and 1 can be calculated with this version of the DDA algorithm.

10 REM ********************************************

20 REM PROGRAM TO DEMONSTRATE THE LINE SUBROUTINE

30 REM *********************************************

40 PRINT "WHAT IS THE FIRST POINT";

50 INPUT X0,Y0

60 PRINT "WHAT IS THE SECOND POINT";

70 INPUT XI,Yl

80 GOSUB 6000

90 PRINT X0,Y0

100 IF N1>D1 THEN STOP

110 GOSUB 6300

115 PRINT X0,Y0

120 GO TO 100

5974 REM*********************************

5975 REM LINE DRAWING ROUTINE. THIS ROUTINE RETURNS5975 REM ALL THE X,Y CO-ORDINATE POINTS BETWEEN

5977 REM TWO POINTS. THE STARTING AND ENDING CO-ORDINATES MUST

5978 REM BE SENT IN THE VARIABLES X0,Y0 AND X1.Y1. TO INITIATE

5979 REM A LINE. YOU MUST GOSUB 6000. TO GET EACH SUCCESSIVE POINT,

5980 REM YOU GOSUB 6300, AND THE NEXT POINT IS RETURNED IN X0,Y0.

5981 REM TO TELL WHEN THE LINE IS FINISHED, YOU

5982 REM MUST CHECK THE VARIABLE Nl, IF NK=D1 THEN THERE ARE

5983 REM STILL MORE POINTS TO GO.

5984 REM

5985 REM VARIABLES USED:

5986 REM X0,Y0,X1,Y1 - PARAMETERS SENT TO THE LINE ROUTINE

5987 REM X0,Y0,N1,D1 - RETURN VALUES AND STATUS

5988 REM D2,D3,S1,S2,A1,A2 - INTERNAL SCRATCH VARIABLES.

5989 REM NONE OF THESE VARIABLES SHOULD BE USED IN YOUR MAIN PROGRAM

5990 REM **********************************************************6000 D1=X1-X0

6010 D2=Y1-Y0

6020 S1=0

6030 S2=l

6040 Al=l

6050 A2=0

6060 IF D1>=0 GO TO 6090

6070 Al=-1

6080 D1=-D1

6090 IF D2>=0 GO TO 6120

6100 D2=-D2

6110 S2=-l

5120 IF D1>=D2 GO TO 6200

6130 N1=D1

6140 D1=D2

6150 D2=N1

6160 S1=A1

6170 A1=0

6180 A2=S2

6190 S2=0

6200 D3=Dl/2

6210 Nl=l

6220 RETURN

6230 REM *********************************************************

5240 REM HERE IS WHERE THE DDA (DIGITAL DIFFERENTIAL ANALYZER)

6250 REM ALGORITHM IS ACTUALLY PERFORMED. EACH GOSUB TO THE ROUTINE

6260 REM INCREMENTS X0,Y0 BY THE CORRECT AMOUNT. WHEN N1>D1 THE LAST

6270 REM POINT HAS ALREADY BEEN RETURNED, AND SUCCESSIVE CALLS WILL

6280 REM EXTRAPOLATE X0.Y0 PAST THE END POINT OF THE LINE.

6290 REM ************************************************************

6300 X0=X0+A1

6310 Y0=Y0+A2

6320 D3=D34D2

6330 N1=N1+1

6340 IF D3<=D1 THEN RETURN

6350 D3=D3-D1

6360 X0=X0+S1

6370 Y0=Y0+S2

6380 RETURN

416 August 1981 © BYTE Publications Inc

Programming Quickies

Word Ujbnmurle

Leonard Gorney, Box 91 RD 5, Clarks Summit PA 18411

Here is a short routine I use on my Radio ShackTRS-80 Model I Level II when I try to solve scrambledword puzzles in a "friendly" game of Scrabble, or thelike.

The program accepts the letters you wish to form intoan acceptable English word, rearranges the letters in arandom fashion, and prints each rearrangement for view-ing. This method parallels the situation in which amonkey is given a typewriter. How long will it take themonkey, typing at random, to type an English word? Theprogram plays the part of the monkey.

The user of this short routine must look at each of these

Listing 1: This routine in Radio Shack TRS-80 Level II BASICaccepts a string of up to 30 letters and displays them in a ran-domly rearranged form. Ideally, the user will be able to discernthe English word in the jumbled letters.

1000 REM WORD UNJUMBLER

LEN GORNEY1010 DIM A$(30), B(30)

1020 REM FORCE 32 CHARACTERS/LINE MODE1030 CLS: PRINT CHR$(23)

1040 PRINT TAB(7);"ENTER YOUR LETTERS": INPUT W$1050 REM FILL EACH A$ LOCATION WITH ONE LETTER

FROM W$1060 FOR J = 1 TO LEN(W$): A$(J) = MID$(W$,1,1):

NEXT J1070 REM A LOCATION IN B WILL BE ZERO IF LETTER NOT

USED YET OR A - 1 IF LETTER USED BEFORE1080 FOR J = 1 TO LEN(W$): B(J) = 0: NEXT J1090 CLS: PRINT CHR$(23)1100 REM GENERATE A RANDOM NUMBER IN THE RANGE 1

TO LEN(W$) USE THIS NUMBER TO PICK A LETTER

FROM A$1110 N = RND(LEN(W$))

1120 IF B(N) = 0 THEN PRINT A$(N);: B(N) = 11130 REM HAVE ALL THE INPUT LETTERS BEEN

REARRANGED ?1140 FOR J = 1 TO LEN(W$): IF B(J) = 0 THEN 11101150 NEXT J

1160 REM STALL THE REARRANGED WORD FOR VIEWING1170 FORI = 1 TO 10001180 NEXT J1190 GOTO 10801200 END

rearrangements to see if a valid English word is printed.At times, a valid English word will magically appear onthe screen; however, the human eye and brain can, inmore cases than not, discern a particularly scrambledstring of letters as an English word. This will often be thecase, even though many of the letters are not in theirproper positions within the word.

As an example of this, look again at the second word ofthe title of this article. Can you discern what Englishword is represented by that string of letters? How aboutthis string of letters: ENLIGSH ?

Permutations

Mathematically, rearranging a given set of letters in-volves the application of permutations. For example,given the letters GELNSIH, the number of different waysin which those 7 letters can be rearranged to give differentrearranged strings is equal to 7 ! (read 7 factorial) or7X6X5X4X3X2X1 which is equal to 5040 dif-ferent rearrangements. This program does not use thisidea; rather, the input set of letters is rearranged random-ly. Usually, a certain rearrangement of the input stringwill be sufficient for the user to "see" the English word inthat set of letters. This assumes that an acceptable Englishword can be spelled by using those input letters. Other-wise, you will continue to see gibberish on your screen.

Program Operation

Running the program is rather easy; the only externalentry you need to make is to enter the letters you wish tounscramble. Just press each letter key, and when you arefinished with the string, press the enter key.

Each rearrangement of those input letters will bedisplayed on the screen in 32-character-per-line mode.The choice of a maximum of 30 characters for the inputset of letters was done so that the entire word would fiton a single line of the screen. Each rearrangement will befrozen on the screen for approximately 2 seconds. Whenyou see a particularly suitable rearrangement, press thebreak key to stop the program. Not being a particularlyintelligent monkey, the computer will continue printingrearrangements until it powers down, unless stopped inthis way.B

August 1981 © BYTE Publications Inc 417

Programming Quickies

Binary-to-BCDConverter Program for the 8080

D M Brockman, 11648 Military Rd S, Seattle WA 98168

Conversion of multiple-precision binary numbers toBCD (binary-coded decimal) for printing or display out-put is often encountered in assembly-language program-ming. The algorithm described here makes use of the8080's DAA (decimal-adjust accumulator) instruction toimplement the BCD analogy of a binary shift-left register.With this algorithm, a binary number is converted topacked BCD (2 digits per byte) by shifting the binarynumber, MSB (most significant bit) first, bit by bit, intothe least significant end of the BCD register. (See figure1.) When the last binary bit has been shifted in, the resultis in the BCD register.

To understand how the BCD register operates, con-sider a conventional binary-shift register. When shifted

BCD REGISTER2 DIGITS

BINARY REGISTER4 BITS

DUBLE

DOUBLE

IADD 1

SHIFT LEFT

VCONTENTS:"11" DECIMAL

P

DOUBLEADD 0

SHIFT LEFT

0 2

*DOUBLE

4

ADD 1 +-

IHI]

DOUBLE

♦ADD 1 *-

SHIFT LEFT

SHIFT LEFT

E

^RESU

LT:11" BCD

x=DON'T CARE

Figure 1: Contents of the BCD and binary registers during theconversion process using the program shown in listing 1.

left, the numeric content doubles and the carry input (ifany) comes in at the least significant end. The same thwvghappens when the BCD register is "shifted." The numericdoubling is accomplished by adding the BCD register toitself using BCD arithmetic. The carry is brought in byusing the ADC (add with carry) instruction for the first"add."

A typical implementation of the algorithm is shown inlisting 1 in the form of an 8080 assembly-language listing.Looping constructs have been employed to minimize size.For maximum speed, the loops should be "unrolled." Theimplementation converts a 32-bit (4-byte) binary numberinto a 10-digit (5-byte) packed BCD result. The numberof bytes converted can be easily changed by altering thelooping counters. Note that the number of BCD resultbytes required is given by:

Number of BCD bytes = INT(0.5+ 1.204 X (Number ofbinary bytes))

An advantage of this algorithm is that the conversiontime is independent of the size of the number being con-verted. The sample routine in listing 1 requires 13,944machine cycles to execute. The results of a typical run ofthe sample routine are shown in table l.B

Memory

Before

After

Address

Run

Run

BIN:

0200

3A

00

0201

F6

00

0202

23

00

0203

81

00

BCD:

0204

XX

58

0205

XX

76

0206

XX

61

0207

XX

66

0208

XX

21

Table 1: A samp

e run of the binary-to-BCD

converter pro-

gram shown in

listing

1. All numbers

shown are hexa-

decimal. XX indicates a

don't care.

418 August 1981 © BYTE Publications Inc

Listing 1: A binary-to-BCD converter program for the Intel 8080 microprocessor.

02010203

020402050208

0100

0100 2104020103 06050135 36000107 23010R 050109 C205O1

uldC 0620

01bE 2100020111 0L040113 AF

0114 7E

0115 170115 77

0117 23

0118 0D

0119 C21401

TITLE "3INARY TO BCD CONVERTER"

3Y D. H. BROCKMAN, 11648 MILITARY RD. SO., SEATTLE, rtft 9816m

THIS SUBROUTINE CONVERTS THE 32-BIT BINARY NUMBER STOREDAT 'BIN' TO A la-DIoIT PACKED BCD NUMBER SILKED AT 'BCD.'REJI3TER3 B, C, H, L, AND A AkE USED.

UEFInb STORAGE 1:0k wUMbcnS:

BIN:

BCD:

OKO 2'd0H

OS

1

DS

2

DS

1

DS

1

DS

3

DS

1

;LSB BYTE(MSB BYTE;LS DIGITS;MS DIGITS

INITIALIZE THE BCD RESULT BYTES TO ZERO:

ORG 100H

BINBCD: LXI H,BCD

MVI 8,5

I LOOP: MVI M,0

INX H

DCR B

JNZ ILOOP

POINT AT RESULTSET LOOP COUNTERSTORE A ZEROPOINT TO NEXT BYTEDECREMENT LOOP COUNTERLOOP IF NOT DONE

INITIALIZE THE BIT COUNTER TO ECjUAL THE NUMBER OFBINARY BITS TO BL SHIFTED:

MVI B,32

CLOoP:

;NUMBER OF BITS TO SHIFT;TH£ MAIN LOOP POINT

INITIALIZE FOR A MULTIPLE PRECISION LEFT SHIFTOF THE BIWAKY NUMBER:

LXI H,6INMVI C,4XRA A

POINT AT NUMBERNUMBER OF BYTESCLEAR THE CARRY

SHIFT THE BINARY NUMBER ONE PLACE LEFT AND LEAVE THE MS3IN THE CARRY:

RLOOP: MOV A,MRAL

MOV M,AINX HDCR CJNZ RLOOP

GET BYTE

SHIFT LEFT

STORE BYTE

POINT AT NEXT BYTE

DECREMENT BYTE COUNT

LOOP IF NOT DONE

011C 210402011F u£05

0121 7E

0122 8E

0123 27

0124 77

0125 23

0126 0D

0127 C22K

012A

05

U12B

C20E01

012E

C9

012F

A>

INITIALIZE TO DOUBLE THE 3CD RESULT REGISTER CONTENTSBY PERFORMING A MULTIPLE PRECISION BCD ADD:

LXI H,BCDMVI C,5

;POINT AT RESULT

;SETUP BYTE COUNTER

DOUBLE THE RESULT BCD FASHION, ADDING IN THE CARRY BIT:

BLOOP:

MOV A,MADC MDAA

MOV M,AINX HDCR CJNZ BLOOP

GET BYTE

ADD IT TO ITSELF

BCD CONVERT

RESTORE

POINT AT NEXT BYTE

DECREMENT 3YTE COUNTER

LOOP IF NOT DONE

TEST TO SEE IF ALL BITS HAVE BEEN SHIFTED FROM BINARYNUMBER TO THE BCD RESULT. IF NOT, RETURN TO MAIN LOOP.

DCR BJNZ CLOOPRET

END

;DECREMENT BIT COUNTER;LOOP IF NOT DONE

August 1981 © BYTE Publications Inc 419

r

AMAZING

VALUES.

FROM

(mSetatronics

^ ' CORPORATION

VISA

RETAIL STORE

22297EUCLID AVENUE

EUCLID, OHIO 44117

(EAST 222nd & EUCLID AVE.)

MOST ORDERS

SHIPPED WITHIN

ONE BUSINESS DAY

TRS-80 is a trademark of theRadio Shack Division of TandyCorporation. PLAIN JANE is aTrademark of Meta TechnologiesCorporation.

PRICES IN EFFECT

August 1, 1981 THRU

August 31, 1981,

Prices, Specifications,

and Offerings subject to change

without notice.

• Add $3.00 for shipping & handling.•$3.00 EXTRA for C.O.D.•Ohio residents add B%% salestax.

TO ORDER

CALL TOLL FREE

1-800-321-9390

IN OHIO, call

(216) 289-1210 (COLLECT)

OFFICES

26111 BRUSH AVENUE

EUCLID, OHIO 44132

(SEND MAIL ORDERS HERE)

1981 by Metatronics Corp.

420 BYTE August 1981

Circle 218 on inquiry card.

What's New?

PERIPHERALS

Graphics forOkidata Printers

The PF/2A print formatter usesthe plotting capability of theOkidata SL125 and SL250 printersto create bar codes, variable-sizeand aspect-ratio characters, prod-uct and corporate logos, variable-forms layouts, banners, andsigns. The formatter permits nor-mal matrix-character printing aswell. The PF/2A has a suggestedretail price of S2295. ContactTechnical Analysis Corporation,120 W Wieuca Rd NE, AtlantaGA 30042, (404) 252-1045.

Circle 500 on inquiry card.

Phonetic SpeechKit from Votrax

A sample voice-synthesizerevaluation kit is available fromVotrax. The Speech PACfPhoneme Access Controller) is acircuit board made up of a speechintegrated circuit, external con-troller, memory, and an on-boardaudio amplifier. The unit comeswith 250 words and phrasesstored in memory that can be in-termixed with phoneme se-quences to provide an unlimitedvocabulary. Priced at S275, theSpeech PAC can be expandedand configured into microcom-puter systems.

For complete details, contactVortrax, 500 Stephenson Hwy,Troy Ml 48084, (800) 521-1350;in Michigan (313) 588-0341.

Circle 501 on inquiry card.

Hard Copy for $299

Microtek Inc has announced a$299 dot-matrix printer. TheBytewriter-1 features 80 columnsand accepts single-sheet or rollpaper up to 8V2 inches wide. Itprints at 60 Ipm (lines per minute)using a 7 by 7 matrix. The inter-face is similar to Centronics's andhas been designed to operatewith the Apple II, Atari 400 and800, and all TRS-80 microcomput-ers. Contact Microtek Inc, 9514Chesapeake Dr, San Diego CA92123, (714) 278-0633.Circle 502 on inquiry card.

Amtek'sUniversal Terminal

The ABM 80 video terminalcan replace most commercial ter-minals. It features a 12-inch high-resolution green screen; numericand special-function keypad;editing, block, and monitormodes; protective and unprotec-tive fields; foreground andbackground; programmable keyclick; and margin bell. It includes7 by 9 dot matrix upppercase and7 by I I lowercase. Switch-selectable emulation of Hazeltine1500, ADDS 25, ADM-3A, andVT-52, with block mode and ad-vanced editing features, is in-cluded in this $800 terminal. Con-tact Amtek Business MachinesInc, 2255H Martin Ave, SantaClara CA 95050, (408) 727-1 5 10.

Circle 503 on inquiry card.

Single-HammerPrinter

The GP-80M printer uses asingle print hammer in a 5 by 7dot matrix. It can print graphicsand alphanumerics. The GP-80Muses a rotating platen with pro-truding splines positioned behindthe paper. The image is createdby multiple hammer strikes as theprinthead moves across the paperin front of the platen. Features in-clude upper- and lowercase char-acter sets, up to 80 columns with12 characters per inch, tractorfeed, three-copy reproduction,12 W power consumption, anda Centronics parallel interface. RS-232C and other common inter-faces are optional.

The graphics capability pro-vides more than 60 dots per inch.Dot graphics and alphanumericscan be mixed under softwarecontrol. Print speed is 30 cps(characters per second). The priceis $399 from Axiom, 1014 Gris-wold Ave, San Fernando CA91340, (213) 365-9521.

Circle 504 on inquiry card.

Where Do New Products Items Come From?

The information printed in the new products pages of BYTE is obtained from"new product" or "press release" copy sent by the promoters of new products. Ifin our judgment the information might be of interest to the personal computing ex-perimenters and homebrewers who read BYTE, we print it in some form. Weopenly solicit releases and photos from manufacturers and suppliers to thismarketplace. The information is printed more or less as a first-in first-out queue,subject to occasional priority modifications. While we would not knowingly printuntrue or inaccurate data, or data from unreliable companies, our capacity toevaluate the products and companies appearing in the "What's New?" feature isnecessarily limited. We therefore cannot be responsible for product quality orcompany performance.

August 1981 © BYTE Publications Inc 421

What's New?

PERIPHERALS

Six-Pen Option forHi-Plot Plotters

A six-pen plotter option isavailable for the Houston Instru-ment DMP plotters. The penscome in black, red, blue, green,violet, orange, and optionalbrown. They work under pro-gram control and can be retrofit-ted into any of the Hi-Plot plot-ters. The S395 pen option can beinstalled by users except on theDMP-5, -6, and -7, which can beconnected at the factory forSIOO. A program for generatinggraphs and charts, Hlgraph-1, isavailable. For details, contactHouston Instrument, 1 HoustonSq, Austin TX 78753, (512)837-2820. circle 505 on inquiry card.

A Clockfor the Apple II

Time II is a real-time clock andcalendar for the Apple II, It mea-sures time in hours, minutes, andseconds, and provides dates withyear, month, date, day of week,and leap-year information. Theboard features a 24-hour militaryformat or a normal 12-hour for-mat. Time II permits foregroundand background operation oftwo programs simultaneously, sousers can call up schedules, timeevents, and date listings. An on-board backup battery providesmore than four months of power-off operation.

Time II is available for S150

from Applied Engineering. POB

470301, Dallas TX 75247, (214)

492-2027.

Circle 506 on inquiry card.

Smartmodemfrom Hayes

The Smartmodem is an FCC(Federal Communications Com-mission) approved direct-connectdevice. It has an RS-232C portand can be program-controlled inany language by ASCII (AmericanStandard Code for Information In-terchange) character strings. Themodem analyzes and executescommands and can send codesin English words or decimal digits.The Smartmodem has auto-dialand auto-answer capabilities,both of which can be combinedwithin a command.

The Hayes Stack Smartmodemcan be connected to any kind oftelephone. An audio monitor canalert users to wrong numbers andbusy signals. If a busy signal is en-countered, the Smartmodem re-dials the number at any time.Operation can be in full- or half-duplex with a data rate of 0 to300 bps (bits per second). Onecommand selects the dialingspeed, escape-code characters,and number of rings to answeron. The suggested price for themodem is $279, including apower pack, a cable, and amanual. For details, contactHayes Microcomputer ProductsInc, 5835 Peachtree Corners E,Norcross GA 30092, (404)

449-879 I . Circle 507 on Inquiry card.

Disk Doubler

The Disk Doubler converts asingle-sided 5-inch floppy disk in-to a double-sided floppy disk. Us-ing the kit's tools, you canmeasure, mark, and punch newopenings in the disk's protectivesheath. The punch can't damagethe disk. The Disk Doubler costs$6.95 and is available from theBeals Agency, 4141 FairmountAve, San Diego CA 92105, (714)284-1 145.

Circle 508 on inquiry card.

Speed-UpBoard for the TRS-80

Simutek's Micro-Speed board isfor the TRS-80 Model I Level IIcomputer. The Micro-Speed in-creases the microprocessor clockrate to 2.66 MHz, which is almost50% faster than the standard rate.The unit divides the system-clocksignal differently to make thecomputer operate at this speed.Operation can be switched backand forth between regular andhigh speeds. The board is notsoftware-dependent. Micro-Speed returns the computer tonormal speed during access ofthe floppy disk or cassette; itreturns to high speed upon com-pletion of the I/O (input/output)operation. The only drawback tothe device is that the Radio Shackwarranty is void after installationof the unit, which requires somesoldering.

The board, switch, and wirescost $29.95. Contact Simutek,POB 13687, Tucson AZ 85732.

Circle 509 on inquiry card.

Microcomputer Modem

The 103J-L is a 300 bps (bitsper second) modem that costsless than $200. It operates over allrotary-telephone lines, eventhose that cannot be used by line-powered units. Data or talkmodes are switch-selectable, andthe answer and originate modesare automatic. An indicatorshows transmit- and receive-dataactivity, and a carrier-detect in-dicator shows a call is established.For installation, the plug from thetelephone connects to a jack inthe 103J-L's rear panel. A con-nector from the modem accessesthe telephone line.

Fqr complete details, contactGeneral DataComm IndustriesInc, 1 Kennedy Ave, Danbury CT06810, (203) 797-0711.Circle 510 on inquiry card.

422 August 1981 © BYTE Publications Inc

What's New?

PERIPHERALS

Interface forAnalytical Instruments

SmartFact connects to theanalog output of any analyticalinstrument and uses an RS-232Cformat for transmission. Two in-struments can be connected si-multaneously. The instrument'soutput is sampled at 0.1 or 1 sec-ond intervals and transmitted atone of six selectable data rates.The analog signals are convertedinto 16-bit words. X and Y signalsfrom an instrument can be moni-tored and digitized.

Applications include peak pick-ing in UV or AA quantitative an-alysis, calculation of retentiontime in gas or liquid chromato-graphy, preparing peak tables forqualitative infrared comparisons,logging sample weights from ananalytical balance, or determiningthe endpoint of an automatictitration. For information, contactAnalytical Computers, POB 285,Elmhurst IL 60126.

Circle 512 on inquiry card.

Super Keyboard

The MFJ Model MFJ-496 key-board sends CW (continuouswave), baudot, and ASCII(American Standard Code for In-formation Interchange) with a256-character buffer, 256-char-acter programmable messagememory, four automatic mes-sages, two random-code practicemodes, data-rate and buffermetering, backspace delete, buf-fer-memory hold, automatic serialnumbering, repeat/delay, and apaddle input port. One or twokeystroke combinations executeall commands. Five-level baudotis transmitted at 60 words perminute. In the ASCII mode, trans-mission speed is II0 bps (bits persecond).

The MFJ-496 operates on 9 to12 V DC. It costs S339.95 and isavailable from MFJ EnterprisesInc, POB 494, Mississippi State MS39762, (800) 647-1800; in Mis-sissippi (601) 323-5869.

Circle 513 on inquiry card.

Strip-Chart Recorders

The Series MR English/Metricstrip-chart recorders in single- anddual-pen versions provide speedsof 0.05 to 20 inches per minuteand per hour and I to 50 cm perminute and per hour. Otherfeatures of the Series MR includefifteen calibrated input rangesfrom 1 mV to 50 V, input on/offand positive or negative polarityreversal switches, manual chartrewind/advance, electric andremote pen lift, and automaticshutdown for over-range signals.The single-pen recorder is S8I0and the dual-pen is S1 180. Con-tact Pedersen Instruments, 2772Camino Diablo, Walnut CreekCA 94596, (415) 937-3630.Circle 511 on inquiry card.

Voice Synthesis forHeath Computers

The V-8 Voice Synthesizer forHeath H-8 and H-89 computersuses the Votrax VSL PhonemeModule, which, under programcontrol, adds the capability of in-flection or range to synthesizedspeech. Software for the V-8 in-cludes a device driver and severalEnglish-speaking programs. TheV-8 can be used with any com-puter having an available parallelport. Eight data and two hand-shaking lines are required.

The V-8 Voice Synthesizercosts S149, which does not in-clude the VSL module. A samplevoice cassette is available for 35.

For additional details, contactM.I.-8, 822 E County Rd 30, FortCollins CO 80525, [303) 669-41 16. Votrax can be contacted at500 Stephenson Hwy, Troy Ml48084, (800) 521-1350; in Mich-igan (313) 588-0341.

Circle 514 on inquiry card.

August 1981 © BYTE Publications Inc 423

What's New?

SOFTWARE

Ultrasort GivesCP/M Users Fast Sorts

Ultrasort II is an 8080 and Z80machine-language program thatallows CP/M and CBASIC2 usersto sort, merge, or select recordsfrom data files, or to find the num-ber of logical records in a file. Itcan be used as a stand-alone util-ity or as a subroutine called fromCBASIC2. Ultrasort II sorts on upto five keys, and fields can have afixed or a variable length. Stringscan optionally be floated as nu-meric fields; numeric fields areautomatically floated. A select ca-pability permits either omitting orincluding records that are lessthan, equal to, or greater than upto four independent select keys.Ultrasort II is available from Com-puter Control Systems Inc, 29821stTerSE, Largo FL 33541.

Circle 516 on inquiry card.

Letter Perfectfor the Atari

Letter Perfect is a word-processing package for the Atari800. It features proportionalspacing, page numbering,headers, footers, and underlining.Embedded commands in text forexpanded, normal, and con-densed print are possible. Theprogram is menu-driven. The usercan change drive numbers; edit,load, save, merge, print, lock andunlock, and delete files; formatdisks; and perform a data-basemerge for mailings. Printing andscreen formats are program-mable. Text block moves, scroll-ing forward and backward, scroll-ing speed, search, tabbing, andcharacter and line insertion anddeletion are among its features.Letter Perfect is available forS/50 from LJK Enterprise Inc,POB 10827, St Louis MO 63129,(314) 846-6124.

Circle 517 on inquiry card.

Tiny Pascal Plus + forPET and Apple II

Tiny Pascal Plus-h is an en-hanced version of Tiny Pascalwith support for graphics. Thepackage runs on 32 K-byte PETand Apple microcomputers. ThisPascal includes a line editor, com-piler, interpreter, and numerousstructured programming com-mands. GRAPHICS, PLOT,POINT, TEXT, INKEY, ABS, andSQR are among the other com-mand functions.

Tiny Pascal for the PET sup-ports double-density plotting,giving 80 by 50 plot positions.The Apple version supports low-and high-resolution graphics.Tiny Pascal on floppy disk costsS50. The PET cassette versioncosts $55. Nongraphics versionsare $35 on disk and $40 oncassette. Contact Abacus Soft-ware, POB 7211, Grand RapidsMl 49510.Circle 518 on inquiry card.

Applegraph

Your Business Charts

Applegraph is a software pack-age for general-purpose data plot-ting in a variety of formats for thebusiness, professional, and re-search decision maker. The pro-gram yields high-resolution, multi-color graphics for video displayand hard-copy output. Displayformats include pie charts, bargraphs, area plots, points, andsolid or dashed lines, produced inany combination of overlays.Applegraph has simple com-mands that can be entered inter-actively or in advance. Data canbe entered directly or suppliedfrom other programs. Applegraphis available for $200 fromBusiness & Professional SoftwareInc, POB II, Kendall SquareBranch, 238 Main St, CambridgeMA 02142, (617) 491-3377.Circle 519 on inquiry card.

APL for the Apple

APL/V80 is now available forthe Apple II. It requires the Micro-soft SoftCard, CP/M, and a 24 by80 video board. Another versionis available that doesn't requirethe video card. APL/V80 includesAPL arithmetic functions, Bool-ean and relational functions, se-lectional and structural functions,and nine general functions. Thelanguage has disk-based work-space and copy-object libraries,and supports arrays of up to eightdimensions. The software pro-vides dynamic execution of sys-tem commands, canonical repre-sentation and function fix, andcan use latent expression.APL/V80 allows booting directlyinto an application program fromsystem power-on. A keyed ISAM(indexed-sequential accessmethod) package, a text editor,and a check-management pack-age are available as options for$50 each.

APL/V80 costs $500. It is avail-able from Vanguard Systems Cor-poration, 6901 Blanco, San An-tonio TX 78216, (512) 340-1978.

Circle 520 on inquiry card.

FORTH forSwTPC Computers

FORTH is available for SwTPCcomputers with Percom diskdrives. This FORTH, based on fig-FORTH, comes on a single-den-sity 5-inch floppy disk and re-quires 16 K bytes of memory anda Percom disk drive with Mini-DOS. The disk contains the objectcode, a text editor, and assortedutilities. The manual contains adescription of FORTH words, atutorial, an explanation of thescreen editor, and more. Thepackage sells for $24.95 fromGreene Software, 6169 FawnMeadow, Victor NY 14564.

Circle 521 on inquiry card.

424 August 1981 © BYTE Publications Inc

What's New?

SOFTWARE

Apple II Graphics System

The 3-D Graphics module isdesigned for 48 K-byte Apple lis.It features a drawing module for ahigh-resolution screen using pad-dles or a joystick. The 3-Dgraphics module helps create,view, and manipulate 3-D ob-jects. Color figures can be viewedsimultaneously, and each figurecan be individually manipulated.An upper- and lowercase char-acter set is provided, along with aset twice as tall and wide. A char-acter editor allows programmersto create and edit large and smallfonts. A text module places textanywhere on the screen. Pro-gramming instructions are in-cluded for using pictures, shapetables, and machine-languagesubroutines in other programs,along with the file structure for3-D files.

Typing can be set to overlay,reverse, or erase the background.Editing functions can movepoints and lines, change colors,and enter, change, and delete co-ordinates. A shrink utility shrinkspictures to one-quarter to one-sixty-fourth of original size.

Options include a filing routinewith more than 100 blended col-ors, a paintbrush mode that turnsthe cursor into one of nine dif-ferent size and shape brushes,and a shape mode that rotates,scales, and plots shapes from ashape table.

The price for this package is559.95. It requires a 48 K-byteApple II and Applesoft firmwareor the language system. ContactMicro Co-Op, POB 432, WestChicago IL 60185, (312)231-0912.

Circle 522 on inquiry card.

Two- and Three-

Dlmenslonal Hard-Copy

Graphics Programs

Curve is a two-dimensionalgraphics package that providesusers with the capabiltiy to plotCartesian, parametric, and polarequations as well as data points.Full axes labeling and scaling areprovided for linear or logarithmicplotting. Shaded-bar graphs arealso included. The programworks on Houston Instrument'sHi-Plot plotters and Watanabeplotters. It runs on Apple, TRS-80,PET, and North Star computers.

Another member of the Curvefamily is Three-D. It can plot sur-face functions and data or spacecurves and rotate them a com-plete 360° with scaled axes andlabeling. Hidden lines are op-tional. The programs cost $199each. For more information, con-tact West Coast Consultants,1775 Lincoln Blvd, Tracy CA95376, (209) 835-1780.Circle 524 on inquiry card.

Collectionof CP/M Programs

The CP/MUG (CP/M UsersGroup) has compiled more than1000 programs for CP/M systems.On 40 floppy disks, these pro-grams are available for a smallcharge.

CPM/UG.DB is a data basecontaining references to all theprograms on these disks. Eachprogram or collection is refer-enced by key words. The database contains references to 22assemblers and disassemblers,138 games, 14 versions of Star-trek, 35 file-maintenance pro-grams, and 22 languages.

CPM/UG.DB is supplied withInformation Master, a data-baseprogram from Island Cybernetics,on single-density 5- or 8-inchdisks. The program costs S20, or$15 when ordered with Informa-tion Master at S37.50 from ElliamAssociates, 24000 Bessemer St,Woodland Hills CA 91367.

Circle 525 on inquiry card.

C for Cromemco Systems

Cromemco has made the Cprogramming language availablefor use on its microcomputers. Cis a general-purpose languagethat features economy of expres-sion, modern control-flow anddata structures, and many opera-tors. C combines the features ofassembly languages with thestructured-programming tech-niques available in higher-levellanguages. It is useful for writingoperating systems, language sys-tems, utilities and input/outputdrivers, communication software,data-base-management systems,file-management software, andfast graphics software.

C operates under Cromemco'sCromix operating system. It pro-duces relocatable code that canbe linked with other languages. Itis available on 5- and 8-inch flop-py disks for $595. For additionalinformation, contact CromemcoInc, 280 Bernardo Ave, MountainView CA 94043, (415) 964-7400.Circle 523 on inquiry card.

Data-Base Systemfor Microcomputers

VIM (versatile informationmanager) is a data-base manage-ment system that aids in organ-izing and retrieving information.VIM can be used in keeping per-sonnel records, inventory, mailinglists, stock transactions, propertylists, or it can be used for catalog-ing items. VIM runs on the TRS-80Model I and requires a minimumof 32 K bytes of programmablememory, an expansion interface,and one or more disk drives. Italso requires a TRSDOS 2.2 orNEWDOS operating system.

The price for the three modulesthat comprise the entire packageis $99.95. Contact MicrocosmInc, POB 2034, Dearborn Ml48123.

Circle 526 on inquiry card.

August 1981 © BYTE Publications Inc 425

What's New?

SOFTWARE

Software Tools forPascal Programmers

The Screen Handler programincludes a program to create a fileof prompts; a program for adding,changing, deleting, and listingprompts; a test file to include withuser programs; and error check-ing. You can add, change, delete,or display data on a video display.It costs S75.

The Output Formatter has tabfunctions, automatic page andline counters during program ex-ecution, and top-of-form routines.It allows right, left, or centerjustification of data to be printedand handles printing of strings, in-teger, and log-integer variables.The Output Formatter costsS37.50.

The Forms Generator includesthe Output Formatter and addi-tional software for redesigningreports without programming.The user can choose any numberof items from a data list andspecify the column and rowwhere they are to be printed. ThisS49.50 program is useful for in-surance claims, checks, invoices,and other forms.

Source code for these programsis available on Apple-compatibleor 8-inch floppy disks in UCSDPascal or Pascal/M. Contact HDPInc, 222 E Anapamu St, SantaBarbara CA 93101, (805)965-4477.

Circle 527 on inquiry card.

TRS-80 Spelling Checker

Hexspell is compatible withmost of the word-processing pro-grams available for the TRS-80.Hexspell checks words in text filesagainst its 29,000-word vocabu-lary, while displaying the text fora manual proofreading. Er-roneous words are shown andcan be immediately replaced. Thereplacement word is instantlyrechecked. A single keystroketeaches Hexspell a new word.Hexspell requires a 48 K-byteTRS-80 Model I with two diskdrives. The program is availablefor S69 from Hexagon Systems,POB 397, Station A, Vancouver.British Columbia, V6C 2N2,Canada, (604) 682-7646.

Circle 528 on inquiry card.

SB/E Version 4for the SuperBraln

SB/E version 4 is a firmwareand software set enhancingCP/M on the Intertec SuperBrain.Disk capacity is increased 16%and the track-to-track step rate isfive times faster. With the newversion, the spindle motor can beshut off when the disks are notbeing accessed.

SB/E Version 4 features thecapability to program 35 keys,buffered I/O (input/output) oneither RS-232C port, program-mable handshaking modes, andautomatic repeat on all keys. Areal-time clock is included.

SB/E version 4 is available forstandard and quad-density Super-Brains, for DOS versions 3.0 orlater. The price is SI95.

For additional information,contact IE Systems Inc, 98 MainSt, POB 305, Newmarket NH03857, (603) 659-5891.

Circle 529 on inquiry card.

Dow JonesService for TRS-80

Owners of TRS-80 microcom-puters and Videotex equipmentcan now access information ser-vices from the Dow Jones Corpora-tion. The service's data base con-tains current and past newsstories from the Dow JonesNews Service, The Wall StreetJournal, and Barron's NationalBusiness and Financial Weekly(all Dow Jones Company Incpublications). The service includesprice quotations on more than6000 stocks and other securitiesand offers access to revenues,earnings, dividends, price-earnings ratios, and stock-price

performace on 3200 companiesand 180 industries.

The package is designed for theModels I, II, III, the Color Com-puter, and the Videotex terminal.If you purchase the Videotex soft-ware (S29.95), terminal (S399),and terminal software (S 19.95),you can receive one hour of theDow Jones service free. Previouspurchasers of Radio Shack's oldVideotex package are also en-titled to one free hour. Thispackage is available from RadioShack Computer Centers. Con-tact Radio Shack, 1800 One Tan-dy Ctr, Fort Worth TX 76102,(817) 390-3568.

Circle 530 on inquiry card.

Pascal Programmer

The Pascal Progammer pro-vides development modules forthose knowledgeable in UCSDPascal. Designed to lessencoding, testing, and debugging,the program provides sourcelistings, examples, ideas and in-structions for modifications, andall needed operating instructions.

It contains two floppy disks withsource code, library units, anddemonstration and utility pro-grams. The Pascal Programmercosts S90 from the Denver Soft-ware Company, 36 Steele St,Suite 19, Denver CO 80206,(303) 321-4551.Circle 531 on inquiry card.

426 August 1981 © BYTE Publications Inc

electronic components

Belmont, California 94002

ffflfl^ TTL f%^

7400 2/.B5

7402 2/.85

7404 2/.8S

7406 2/1.19

7407 2/1.19

7408 2A89

7410 2/.85

7414 . '. 99

7417 2/1.10

7420 2/.85

7447 1.19

7474 69

7475 79

7476 69

7485 1.19

7486 2/1.19

7489 2.99

One-Stop Component Center @

This is a partial listing of over 500 items availablefrom 500 authorized Jim-pak Distributors:

7490 , , .7493 , .74100. . .

. . . .85

. .85

. . . .2.25

74109 , .74121. . .74123. . .74150. . .

. . .2/1.19

. . . .69

. . .99

. . . .1.95

74154. .

. . . .1.95

74157 , .74161. . .

.99. . . .1.19

74164. . .

. . . .1.59

74174. . .

74175. . .

. . . .1.59. . . .1.49

74192. . .

. . . .1.19

74193. . .

. . . .1.19

74367. . .74393. . .

. .99. . . .1.95

GB100GB101GB102

GUI 01GB108

GB110

QB113

GB116GB117GB120

Cer. Caps. (100) 2.95

Mylar Caps. (60) 4.95

Electrolytics (60) 4.95

Tantalums (40) 4.95

TTL IC's (50) 4.95

Asst. LEDs (100) 5.95

Trimmers (30) 4.95

V4W Resist. (200) 2.95

ViW Resist. (200) 2.95

Slide Switch (25) 3.95

GB123GB127GB137GB139GB140GB141GB145GB154GB162GB173

Heat Sinks (30) 3.95Transistors (100) 3.95Chokes (50) 3.95

Term. Strips (40) 3.95Spcr/Stndff(150) 2.95Washers (200) 2.95

Lugs (100) 2.95

142w Resist. (100) 2.957-Seg.Dsplys.(50) 5.953/8" Pots. (100) 5.95

ff^ LS Schottky 1$W

74LS00 55 74LS109

74LS02 55 74LS123

74LS04 69 74LS138

74LS08 55 74LS139

74LS10 55 74LS154

74LS14 1.09 74LS157 ,

74LS30 55 74LS161 .

74LS32 69 74LS174 ,

74LS38 69 74LS175 .

74LS42 1.49 74LS192 .

74LS47 1.49 74LS193 .

74LS48 1.79 74LS221 .

74LS73 79 74LS244

74LS74 79 74LS245

74LS75 99 74LS367

74LS85 1.95 74LS374

74LS90 1.09 81LS97. .

. .791.951.491.492.491.491.791.791.791.891.891.952.493.491.292.492.49

POTENTIOMETERS

2 Watt @ 70°C

7/8" Slotted Shaft

Linear Taper

IK 5K25K. 50K1 Meg

10K100K

CM U.. $2.95

3/4 Watt @ 70°C15 Turn Pot.Linear Taper

ioon soon ik

5K 10K 50K100K 500K 1Meg

830P. .$1.79

WftP

4000 .

4001 .

4002 .4006 .

4009 .

4010 .401140134016401740184020402340244027

CMOS

403040404044

T^^W*

.69

.69

.69

1.95

.89

.85

.69

.85

.85

1.49

1.49

2.19

.49

1.29

.89

404640474049405040514066406940704071408140934511

.79

1.95

1.39

2.49

2.75

.89

.89

1.95

1.19

.79

.79

.79

.69

1.19

1.95

CONNECTORS

DB25P D-Subminlature Plug 3.95

DB25S D-Subminiature Socket 4.95

DB51226 Cover for DB25P/S 2.25

22/44SE P.C. Edge 2.95

UG88/U BNC Plug 2.19

UG89/U BNC Jack 3.95

UG175/U UHF Adapter .59

S0239 UHF Panel Recp. 1.49

PL258 UHF Adapter 1.95

PL259 UHF Plug 1.95

UG260/U BNC Plug 2.39

UG1094/U BNC Bulkhead Recp. 1.49

WP LINEAR fllP

LM301N. .

LM305H. .

LM307N. .

LM308N. .

LM309K. .

LM310N. .

LM311N. .

LM317T. .

LM318N. .

LM319N. .LM320K-5.

LM7906T .

LM7912T .

LM7915T .

LM323K. .

LM324N. .

LM337T . .

LM339N. .

.591.39

.751.192.252.691.492.292.952.952.251.751.751.755.951.292.291.29

LM7805TLM7812TLM7815TLM380N.LM384N.LM555N.LM556N.LM565N.LM566N.LM567N.LM723N.LM741N.LM1310NLM1458NLM1488NLM1489NLM1800N76477 N. .

1.751.751.751.492.49

.691.491.951.951.79

.79

.652.95

.991.591.594.493.95

JE215 AdjustableDual Power Supply

General Description: The JE215 is a Dual PowerSupply with independent adjustable positive and nega-tive output voltages. A separate adjustment for eachof the supplies provides the user unlimited applicationsfor IC current voltage requirements. The supply canalso be used as a general all-purpose variable powersupply.

FEATURES:

• Adjustable regulated power supplies,pos. and neg. 1.2VDC to 15VDC.

v -. • Power Output (each supply):

5VDC <H> 500mA, 10VDC<9> 750mA,12VDC@> 500mA, and

1 % 15VDCS> 175mA.

V-Jf- * * Two- 3-terminal adj. IC regulators

with thermal overload protection.

• Heat sink regulator cooling

• LED "on" indicator

• Printed Board Construction»~i • 120VAC input

• Size: 3-1/2"w x 5-1/16"L x 2"H

JE215 Adj. Dual Power Supply Kit (as shown) . . $24.95

(Picture not shown but similar in construction to above)JE200Reg. Power Supply Kit (5VDC, 1 amp) . . $14.95JE205 Adapter Brd. (to JE200) ±5,±9 & ±12V. . $12.95JE210Var.Pwr.Sply.Kit.5-15VDC.to1.5amp. . $19.95

DESK TOP ENCLOSURES

DTE-8 (Pictured) $31.95

DTE-11 (Pictured) 34.95

DTE-14 36.95

DTE-HK (Case for JE600) 47.95

DTE-AK (Case for JE610) (Pictured) ... 52.95

JOYSTICKS

JS-100K 100K Linear Taper Pots $5.49

JVC-40 40K (2) Video Controller 5.95

WALL TRANSFORMERS

AC250 250mA 12VAC (117V/60Hz). . . $3.95DV9200 200mA 9VAC (117V/60Hz) . . . 3.95

SOCKETS

Low Profi

8 pin LP .14 pin LP .16 pin LP .18 pin LP .20 pin LP .22 pin LP .24 pin LP .28 pin LP.36 pin LP .40 pin LP .

le2/.B9

2/.69

2/. 79

2/.89

2/.99

2/1.09

.79

.82

.99

1.19

Wire Wrap

14 pin WW tin .7514 pin WW gold 1.0916 pin WW tin .7916 pin WW gold 1.1924 pin WW gold 1.6940 pin WW gold 2.7514 p. plug/cover 1.2916 p. plug/cover 1.3924 p. plug/cover 1.95Also,The Molex Line

DIODES &

IN751 2/.

IN757 2/.

INU88 2.

IN3600 5/.

IN4001 4/.

IN4004 4/.

IN4007 4/.

IN4148 10/.

IN4733 2/.

IN4734 2/.

IN4735 2/.

IN4742 2/,

IN4744 2/.

TRANSISTORS

59 2N2219A. . . .2/1.19

59 2N2222A. . . . 2/.89

69 2N2907A. . . . 2/.89

99 2N3055 99

59 2N3772 2.25

69 2N3904 2/.69

79 2N3906 2/.69

99 2N4401 2/. 79

69 2N4403 2/.79

69 2N5129 2/.69

69 2N5139 2/.69

69 2N5210 2/.79

69 2N5951 2/1.29

CAPACITORS

Dipped Tantalum ELECTROLYTIC

lmfd@35V.47mfd@35Vlmfd@35V2.2mfd 1925V3.3mfd@25V4.7mfd@25V10mfd@25V33mfd@25V

2/.I

2/. 89

2/.89

2/1.09

2/1.19

2/1.39

1.19

3.95

100V MYLAR

.001-.01mfd

.022mfd

.047mfd

.lmfd

.22mfd

4/. 794/.894/.994/1.194/1.29

lmfd@50V

4.7mfd@S0V

10mfd@50V

22mfd@50V

47mfd@50V

100mfd@50V

220mfd@50V

1000mfd(°>25V

2200mf d(a> 16 V

50V CERAMIC10pf-.022mfd 4/.59.047mfd 4/.69

.lmfd 4/.79

3/.69

2/.59

2/.69

2/.79

2/.89

.59

.69

1.19

1.39

MICROPROCESSORS

280A CPU (4MHz) 14.95

MC6800 8 Bit MPU 14.95

8080A CPU 6.95

8212 8 Bit I/O Port 3.95

8216 Bi-Directional Bus Driver 4.49

2513/2140 Character Generator 12.95

8T97 Tri-State Hex Buffer 2.25

AY-5-1013 30K Baud UART 6.95

AY-5-2376 88-Key Keyboard Encoder 13.95

2114-3 4K Static RAM (300ns) 6.95

MK4116 16K Dynamic RAM (250ns) 4.95

2708 8K EPROM 6.95

2716 16K EPROM (+5V) 10.95

Digital Thermometer Kit

Dual sensors - switching control for indoor/outdooror dual monitoring. Continuous LED .8" hi. display.Range: -40°F to 199°F / -40°C to 100°C. Accuracyi 1° nominal. Set for Fahrenheit or Celsius. Simulatedwalnut case. AC wall adapter included.Size: 3V4"h x 6-5/8"w x 1-3/8"d.

JE300 $39.95

Circle 411 on inquiry card.

BYTE August 1981

427

What's New?

SYSTEMS

Introducing the Ensign

The Ensign microcomputer cansupport up to sixteen printers orvideo terminals. It includes a 6MHz Z80B, 64 K bytes of pro-grammable memory, and two ex-tra Z80s to handle serial I/O (in-put/output) and disk and tapeI/O. Supported software includesMP/M, CP/M, OASIS, and MVT-FAMOS.

The Ensign microcomputerwith eight serial i/O ports and 2megabytes of hard-disk storagecosts $7000. Contact IntegratedBusiness Computers, 22010 SWilmington Ave, Carson CA90745.

Circle 532 on inquiry card.

Graphics Color System

The MicroAngelo GraphicsColor System offers 512 by 480dot resolution and a choice of upto 256 colors. The system has auser-programmable color lookuptable. This Z80-based, S-l 00 sys-tem allows overlays using a bit-plane technology that places noload on the host computer.

With the color system, Scion in-cludes a CP/M package and Col-orpak 1, which provides a high-level language interface. Theprice for the MicroAngelo ColorSystem ranges between S2495and $8495.

Also available is a $400EPROM (erasable programmableread-only memory) called the Col-orpak II. The Colorpak II doublescharacter generation, includessplit-screen editing, a self-diagnostics routine, and a light-pen interface.

Contact Scion Corporation,8455-D Tyco Rd, Vienna VA22180, (703) 827-0888.

Circle 533 on inquiry card.

AIM-65/40

The AIM-65/40 microcomputeris made up of a 6502-based pro-cessor board with on-board ex-pansion to 48 K bytes of pro-grammable memory and 32 Kbytes of ROM (read-only mem-ory) or EPROM (erasable pro-grammable ROM). It features a40-column printer with a 280 byN dot matrix and an ASCII (Ameri-can Standard Code for Informa-tion Interchange) keyboard withuser-assignable function keys. Six-level priority-interrupt logic andsix 16-bit timers are included.Other features include an RS-232C interface with data rates ofup to 19 K bps (bits per second), a20 mA current-loop TTY (tele-typewriter) interface, dual audio-cassette interfaces, two user-definable 8-bit parallel ports withhandshake control, and an 8-bitserial shift register. I/O (input/out-put) drivers are resident in ROM.

The printer contains a Cen-tronics-compatible connector,provides upper- and lowercase

ASCII characters, graphics char-acter font, and uses a separatemicroprocessor. The displaymodule uses a vacuum fluor-escent 40-character display. As-sembler and other languagepackages are available.

The price of the AIM-65/40Model 5000 is $1795. In moduleform, the single-board computercosts $1 195, the printer is $375,the display is $340, and the key-board is $125. Contact RockwellInternational, Electronic DevicesDivision, 3310 Miraloma Ave,POB 3669, Anaheim CA 92803,(714) 632-2321.

Circle 534 on inquiry card.

The ExpanderS-100 System

The S-100 Expander microcom-puter is built around a Z80 micro-processor. The system has key-board, video and interrupt cir-cuitry, a real-time clock, parallelprinter and RS-232C interfaces,and color capabilities. There is an80 by 24 screen format, upper-and lowercase, 4 K-byte ROM(read-only memory) monitor,64 K bytes of programmablememory that's expandable to512 K, and a tone generatorwith an internal speaker. Thesystem comes with Microsoft's24 K BASIC-80 on disk and 10 KBASIC-80 on cassette.

All CP/M and MP/M software

written for the Z80 and other Z80operating systems will run on theExpander. Additional slots areprovided for more S-100 boards.An external video monitor is re-quired. The price is under $2200from Micro-Expander Inc, 6835W Higgins Ave, Chicago IL60656, (312) 792-1 196.

Circle 535 on inquiry card.

428 August 1981 © BYTE Publications Inc

WE WILL NOT BE UNDERSOLD

DISK DRIVES F0R TRS-80* Model I

CCI-100 51/4",40Track(102K) $314

PRINTERS

f

ADDON DRIVES FOR ZENITH Z-89CCI-189 5V*", 40Track (102K) $394

Z-87 Dual 5Vt" system $995

External card edge and power supply included. 90 day warranty/oneyear on power supply.

RAW DRIVES

51/4"TEACorTANDON

$CALL POWER SUPPLIES $ CALL

DISKETTES - box of 10

5V." Maxell $40

8" Maxell $45

PLASTIC FILE BOX-Holds 50 5V*" diskettes

PLASTIC LIBRARY CASE 51/." $3.00

HEAD CLEANING DISKETTE

FLOPPY SAVER $11.95

BASF/VerbatimBASF/Verbatim

8"

RINGS

$26.95$36.00$19.00$ 4.00$25.00$ 6.95

2 for $37 $19

(specify): Jumpers $2.50

16K RAM KITS

200 ns for TRS-80,* Apple II,

SYSTEM SPECIAL

Apple II Plus 48K w/drive and controller. Epson MX-80 printer and

interface. SUP-R Mod RF Modulator: List $2965 You Pay $2299

COMPUTERS/TERMINALS

ARCHIVES 64K, 2-Drives, 77 Track $ CALL

ACS8000 Series $ CALL

II-64K $3499 III-16K $ 899

48K, all-in-one computer $2200

Z-19 $ 725

920C $ 729 950 $1039

3101 Display Terminal $1189

400 $ 479 800 $ 795

INTELLIVISION $ 229

$CALL

ALTOS

TRS-80*

ZENITH

ZENITH

TELEVIDEO

IBM

ATARI

MATTEL

APPLE PERIPHERALS

NEC SPINWRITER

Letter Quality High Speed Printer

R.O.

R.O. with tractor feed

KSR with tractor feed

NEC SPINWRITER 3500 Series, 5 new models

EPSON MX-70 MX-80 MX-80FT

PAPER TIGER

IDS 445 Graphics &2K buffer

IDS 460 Graphics & 2k buffer

IDS 560 Graphics

ANADEX DP-8000 $ 849

OKIDATA

Microline 80 Friction & pin feed

Microline 80 Friction, and pin & tractor feed

Microline 82 Friction & pin feed feed

Microline 83 120 cps, uses up to 15" paper

MX100

DP-9500/01

CENTRONICS 739, new model with graphics

PRINTER SPECIAL

SEIKOSHA GP-80M List $399

MONITORS

BELL&

HOWELL 9"B&WBHD911

LEEDEX 12" B & W $ 129

SANYO 9"B&WVM4509

SANYO 12" B&W DM5012

SANYO 12" Green Screen DM5112

SANYO 13" Color DMC6013

ZENITH 13" Color

TELECOMMUNICATIONS

LIVERMORE STAR MODEM 2-year guaranteeUNIVERSAL DATA SYSTEMS UDS-103D-CAT HARD WIRED DIRECT MODEMAUTO-CAT Auto Answer, Direct Connect ModemD.C. HAYES MICRO-MODEMCCI Telnet Communications Package

$2395$2555$2795

$CALL$CALL

$ 695$1050$1450$1295

$ 415$ 500$ 615$ 849$ 825

You Pay $319

13" Color

$195$369$149$219$238$406$349

$125$179$189$249$295$135

S-100 CALIFORNIA COMPUTER SYSTEMS APPLE ACCESSORIES AND SOFTWARE

MAINFRAME Model 2200A

Z80CPU Model 2810

MOTHER BOARD Model 2501

16K STATIC RAM, 200ns Model 2116C

32K STATIC RAM, 200ns Model 2032C

64K DYNAMIC RAM Model 2065CFLOPPY DISC CONTROLLER Model 2422A

EXTENDER BOARD Model 2520K

2P + 2SI/Q Model 2718A

$349$259$106$309$619$580$345$ 52$309

VISICALCDB MASTERZ-80SOFTCARDVIDEX BOARDKEYBOARD ENHANCER16K CARDAPPLE JOYSTICKSUP-R MODCCS CARDS

GALAXIANSPACE ALBUMASTEROIDSFLIGHT SIMULATORWIZARD & PRINCESSSARGON 2HIRES FOOTBALLMYSTERY HOUSE

$155.00$159.00$259.00$259.00$110.00$169.00$ 49.00$ 25.00$CALL

22.9535.0017.9529.0028.00$ 29.00$ 35.00$ 24.00

For fast delivery, send certified checks, money orders or call to arrange direct bank wire transfers. Personal or company checks require twoto three weeks to clear. All prices are mail order only and are subject to change without notice. Call for shipping charges.

dealer (national/international) inquiries invited Send for FREE Catalogue

The CPU SHOP

TO ORDER CALL TOLL FREE 1-800-343-6522

TWX: 710-348-1796 Massachusetts Residents call 617/242-3361

5 Dexter Row, Dept. B08MCharlestown, Massachusetts 02129Hours 10AM-6PM (EST) Mon.-Fri. (Sat. till

Technical Information call 617/242-3361Massachusetts Residents add 5% Sales TaxTandy Corporation Trademark/^Digital Research

master charge

VISA'

Circle 93 on inquiry card.

BYTE August 1981 429

What's New?

SYSTEMS

The OsborneMicrocomputer

The Osborne 1 is a portable,briefcase-sized microcomputer. Itfeatures a Z80A microprocessorand a video terminal with a5-inch monitor that displays 52columns and 24 lines. There are64 K bytes of programmablememory, serial and IEEE-488 in-terfaces, dual 100 K-byte floppy-disk drives, and the WordStarword-processing program withthe MailMerge option, CP/M,CBASIC and MBASIC, and theSuperCalc program. The monitoris a window on a 128 by 34 rowscreen, which is implemented in a4 K by 9-bit programmable mem-ory. In addition, pockets are in-cluded for storing up to 20 floppydisks.

Options include double-den-sity, double-sided floppy-diskdrives, 9- and 12-inch monitors, a

■ ;w;:::^iffe:f:

battery pack providing three tofive hours of operation, modemelectronics, and an acousticcoupler.The Osborne 1 costs SI795.

Contact Osborne Computer Cor-poration, 26500 Corporate Ave,Hayward CA 94545, (4/5)887-8080.

Talking Terminalsfor the Blind

Triformation Systems has in-troduced a line of free-scanspeech terminals (FSST). FSST is atalking unit with an unlimited vo-cabulary with both on-site and re-mote capabilities. It permitsvisually impaired operators toscan material horizontally or ver-tically through the use of functionkeys. Varying audible signals telloperators where they are on thepage. FSST transmits the dataaudibly using full words, numer-als, or letters spelling out thewords. Headphones are avail-able. Data is transmitted at ratesup to 9600 bps (bits per second)and uses an RS-232C interface.

The FSST costs $2795 and isavailable from Triformation Sys-tems Inc, 3132 SE Jay St, Stuart FL33494. (305) 283-4817.

Circle 537 on inquiry card.

430 August 1981 © BYTE Publications Inc

TF 200 8 TP 600

THANDAR

INSTRUMENTS

ORDER ANY TWO

INSTRUMENTS &

TAKE A 3% DISCOUNT

Vh Digit LED Multimeter

DM 235 .... $ 69.95

3'/2 Digit LED Multimeter

DM350 99.95

m Digit LEO Multimeter

PDM 35 39.95

8 Digit LED Hand Held Freq Meter

PFM200 99.95

Single Trace Portable Oscilloscope

SC110 259.00

6 Digit LCD Frequency Meter

TF040 199.00

8 Digit LCD Hand Held Freq Meter

TF 200 299.00

100 KHz Function Generator

TG100 159.00

2 MHz Function Generator

TG102 299.00

5 MHz Pulse Generator

TG105 199.00

Vk Digit LCD Bench Multimeter

TM351 199.00

Vk Digit LCD Bench Multimeter

TM353 159.00

3'/2 Digit LCO Hand Held Multimeter

TM 354 79.00

600 MHz Prescaler

TP600 79.00

TM354

Intersil LED or LCD

3V& DIGIT PANEL

METER KITS

BUILD AWORKINGDPM IN'A HOUR WITHTHESE COMPLETE EVALUATION KITS

Test

s foi

ielf v

cost prototyping kits, complete with A/D (LCO display (7106) or LED display (7107). Kits provideall materials, mcl PC board, (or a Functioning panel meter.ICL71DBEV ILCD} I34.4B ICL7107EV [LED) . . $21.70

8 Digit - 10 MHz Universal Counter Kit

Kit Includes: • Resistors

• ICM7226AIDC IC • Capacitors

• 10 MHz Quartz Crystal • Diodes

• (81 7 Segment .3" LED Displays • Switches

• PC Board • IC SocketOrder Part Number ICM7226AEV S74.95

• MICROPROCESSOR CRYSTALS •

FREQ

100 HC33 CYU :

mn hcu coiA

100 HCU CY2A

7.4576 HC31 CYU

12781 KC33 CY3B

3 67B HC33 CttO

4 00 hcii cm

4 434 HC1B CY4C

4bb HUB CY4B

4 9562

CASE P/N

HC1B CYEA

S.00 HCU CYIA

5 0BB HCU CY58

S 7143 HCIS C8SC

E00 HC1B CYS8

I 144 HCU CY6C

I DO HCI8 CVBG

10.00 HC1B CY12A

14 JUKI HC1B CY14A

mio.

MKi| CASE P/N

1500 HC1B CY15A

1B00 HC18 CY19A

18.432 HCtB CYI9B

19GSGB HC18 CY20A

20.00 HCtB CY22A

13.884 HC18 CY23B

27.00 HC18 CY27A

32.00 HC18 CY32A

100.00 HC18 CY100A

STDHES 00 NOT ACCEPT MAIL ORDERS

MAILORDER

P.O. BOX2208Y CULVER CITY, CA90230

PHONE ORDERS (213) 641-4064

Minimum Oroer SI0 00 Add S2 00 inand VISA welcomed Please mclnpitstion dan Some items aiStore juicing may vary (torn M,manulaeluiw

i and dandling Master Chargenumber, mierliank number andle Mat responsible lor lymisreserve the right Id substitute

74LS...Seri74LSOON S74LS03N74LS04N

74LSOBN

74LST0N

74LSI1N

74LS20N

74LS22N

74LS26N

74LS27N

74LS32N

74LS37N

74LS40N

74LS42N

74LS73N

74LS74N

74LS86N

74LS90N

74LS93N

74LS1Q9N

74LS112N

74LS123N

74LS125N

74LS126N

74LS132N

74LS136N

74LS138N

74LS139N

.74LS145N 1

74LS151N

74LS152N

74LS153N

74LS160N

74LS161N

74LS162N

74LS163N

74LS164N

74LS170N 2

74LS174N

74LSI75N

74LS181N 2

74LS190N t

74LS19IN

74LS193N

74LS194N

74LS195N

74LS221N

74LS240N

74LS241N

74LS243N

74LS244N

74LS245N 2

74LS2E1N 2

74LS253N

74LS257N

74LS258N

74LS260N

74L5266N

74LS273N 1

74LS299N 2

74LS365N

74LS366N

74LS367N

74LS373N 1

74LS374N 1

74LS377N 1

74LS381N 2

74LS490N 1

commodore

VIC-20

Introducing the full featured,expandable colorcomputer $299.95

SILICON GENERAL

Linear IC and Voltage

Regulator Daiabook

214 pages S4.50

RF

TRANSISTORSMRF207MRF208MRF209MRF212MRF215MP.F216MRF221MRF222MRF223MRF224

16 0619.2722 4B40.1543.2915.22

17 67

18 5021 65

MRF3-4 28.91MFtF3!4A 28.91MRF454 26.53MRF454A 26.53MRF455 22.34MRF455A 22.34MRF475MRF901MRF904MRF91 1MRF80O3MRF8004

3.00

Motorola'sCompleteOpto TriacDriver

Line 2" !"

MINIATURE DOT MATRIX

IMPACT PRINTER

MODELDP-822

The Unique New Printer That GivesYou All These Exciting Features.

adding

• Low Cost

• Disposable printing head

• Simple interface

• Handles any type font

• Needs only one 12-volt DCpower supply

Model DP-822

• Uses standard 2Vamachine tapeor carbonless paper

• 21-column printing at25lines per second

• Easy to install and maintain

$70.00

Dot Matrix Printer Control/Drive Card

Model DP-822-08B $125.00

MOC30O9MOC3010MOC3011MOC3D20MOC3021MOC3030*MOC3031"

15 250 S2.20

3.S23.965.22

ANCRONA HAS INTERSIL IC's

Z-80SERIES

2.5 MHz

Z-80-CPU S 8.95

Z-80-CTC 6.50

Z-SO-PIO 6.50

Z-80-DART 15.45Z-80-DART-9 13.50Z80-S10/0 24.40Z-80-SI0/9 18.20Z-80-DWA 20.10

4.0 MHzZ-80A-CPU S 9-95Z-80A-CTC 7.95

Z-BOA-P10 795

Z-80A-DART 18.85Z-80A-DART-9 16.50Z-80A-S10/0 30.50Z-80A-S10/9 23.40Z-80A-DMA 24.90

IM61O0-1PL

IM6102-1PL

ICM7G38-A1PA

ICM7038C1PA

ICM7045

ICL71C03-ACP1

ICL7106-CPL

ICL7107-CPL

ICL7116-CPL

ICL7117-CPL

ICU7201-1OR

ICM7205-1PG

ICM7206-CJPE

ICM7207-A1PD

ICM720B-1P1

ICM7209-1PA

ICM7211-1PI

S13 95114 503.003.001495

17.7022513.00

ICM7213-1PD S5.35JCM7215-1PG 13.96ICM7216-A1J1 32.00ICM7216-B1P1 26. B5ICM7216-C1J1 26 85ICM7216-D1P1 21.40ICM7217-A1P1 11.25ICM7217-B1J1 12 40ICM7217-C1P1 10.36ICM7217-1J1ICM721B-C1JICM7223-1PLICM7224-1PLICM7225-1PLICM7226-A1JICM722B-B1PIICM7227-A1P

12.401075

7.9011.26

8 5032 OO26.6612 40

ICM7227-B1J1 14.45

ICM7227-C1P1 12.40

ICM7227-1J1

ICM7240-1JE

ICM7241-1PA

ICM7242UA

ICM72SO-1JE

ICM7260-1JE

ICM7270-1PL

.CM7656-1PA

ICM7556-1PO

ICL76BOCPA

ICLB03BCCJO

ICL8048-CCPE

ICL8Q69-CCQ

ICL8211-CPA

14.454.903.402.05B.005.255.851.202.253.004.70

21 602.602.60

6800

SERIES

MC6800P $ 5.90

MC6801L1 65.84

MC6802P 1 1.50

MC6805U2P2 30.72

MC6BOBPMC6809PMC6821PMC682BPMC6840PMC6843PMC6844PMC6845PMC6846P1MC6B46P3MC6847PMC6850PMC6852PMC6854PMC6859L

13.9036.503.469.9012.2245.3945.3922.0039.9066.5016.063.403,6032.26277.90

MC6860P

MC6862P

MC6875L

MC6880AP

MC6881P

MC6B82AL

MC6B8SP

MC6886P

MC6887P

MC6888P

MC6889P

10.8011.806.903.148.916.132.722.722.722.723.14

10 Megahertz

HM307

SINGLE TRACEOSCILLOSCOPEIDEAL SERVICE INSTRUMENTTIME BASE 0.2 /us - 2.0 s/cmLPS-TRIGGER ■ COMPACTBUILT-IN COMPONENT TESTER

Only$435.00

2114 (200ns)2114L34116 (200ns)2708

2716 (5 V)2732 (350ns)

1-9 10 up 100 up$3.45 $3.10 $2.903.90 3.203.50 3.005.90 5.306.50 6.50

19.90 18.90

3.002.805.006.5017.90

6502 SERIESP6502 S 6.40

P6502A|2MH*| 7.90P6502B(3MH*) 13.50P6503 9 70

P6503A 10.70

P6504 9.30

P6504A 10.70

P6505 9.30

P6505A

P6506

P6506A

P6507

P6507A

P6512

P6512A

P6513

P6513A

P6514

P6514A

P6515

P6515A

P6520

P6520A

P6521

P6521A

P6522

P6522A

P6532

P6532A

10.70

9.7010.70

9.70

10.70

10.70

S 16.60

9.70

10.709.70

10.709.70

10.705.906.406.206.806.40

1 1.907.80

10.20

Universal OscilloscopeProbe

$3500

SWITCH ABLE XI and XI0 Attenuation Factor

KEY ADDITIONAL FEATURES: • 100MHz bandwidth • Heavyduty tip * Break resistant center conductor • Slender, flexible cable

• 6ft. cable length • Wide compensalion range • Fits all scopes

• Ground reference can be activated at tip • Includes SPRUNGHOOK. I.C. TIP. BNC ADAPTOR. INSULATING TIP and TRIMMERTOOL ACCESSORIES.

FlasherLED

Red LED and

FlaslutrlC Chip

in One Package

FRL-4403

ONLY

92C,

SYM-1

$239.00

KTM-2 CRT/TVKybd Tarm $349

MARK IV LEDPOWER LEVEL INDICATOR

KIT $31.50

• Display Range -36dB to+5dB

• Floating or Gradual Output Indicating■ Kit includes transistors, leds. capaci-tors, resistors, PC Board, and silkscreened metal front panel

8080A—8085Aand Support IC's

P8080A

P8085A

P8212

P8212 B

P8216

8224PC

P8226

8228 PC

P8237

8238PC

P8251

P8253

P8255A

P8257

P82 79

DP8303N

DP8304BN

DP8307N

DP8308N

S5.0010.002.304.502.103.102.405.8022.006.006.4013.006.1011.9015.903.90

3.903.90

Z8000SERIES

ZSOO'DC $150.00

28002 DC

Z80650C

28073 PC

ZB104PC

Z8107PC

281 OB PC

Z8120DC

Z8121PC

Z8127DC

ZB133PC

Z8136PC

Z8140PC

Z8144PC

Z8148PC

Z8164BPC

Z8165PC

Z8166PC

Z8173PC

140.0099.0025.204.904.904.905.603.6519.602.505.203.003.603.0024.407.657.652.10

RS232

CONNECTORS

DB25P male 2.95DB25S female 3.60HOODS 1.75

SET 7.50

NMOS MICROPROCESSORMC68000L $347,73MC68000L4 291.87MC68000L6 319.80MC68488P 19.80MC68705P3L 111.72

NMOS EPROM

MCM68708C$ 32.26MCM68764C 309.89MCM68766C 309.89

ANCRONA HAS MOTOROLA IC's

BFR90

BFR91

CA3054

CA3069

CA3079

MBO101

MBD102

MBD201

MBD501

MC663P 3 20

MC664P 3.20

MC6B5P 1.91

MC667P 3.20

MC668P

MC677P

MC678P

MC680P

MC684P

MC830L

MC832L

MC836L

MCB36P

MC837P

MC839L

MC839P

MC840P

MC846P

MC848L

MC856P

MC857L

MC857P

MC862L

MC958L

MC1013P .50

MC1302P 3.72

1.03

2.062.052.066.102.272.272.461.601.508.653.561.601.363.172.142.461.602.272 4C

MC1309P I

MC1310PMC1330A1PMCI 349 P

MC1350P

MC1361P

MC1352P

MC1366P

MC1357P

MC1358P

MC1364P

MC1372P

MC1373P

MC1391P

MC1403AP

MC1403AU

MC1403UDS

MC1405L

MC140SL6

MC1408L7

MCI 408 L8

MC140BP8

MC1413P

MC1436CU

MC1437L

MCI 437 P

MC1439G

MC1439L

MC1439P1

MC1445G

MC1445L

MC1446P1

MC1446UDS

MC1456G

MC1456P1

MC1458CL 1

MC1458CP1

MC14S8P1

MC14S8P1S

MC1469G

MC1469R

MCI 488 L

MC1489AL

MC14B9L

MC14B9P

MCI494L

MC149SL

MC1496G

MC1804L

MCI806P

MC1809P

MC1B10P

MC3062L

MC3302L

MC3302P

MC3303P

MC3325P

MC3340P

MC3360P

MC3370P

MC3403P

MC340SP

MC3408L

MC3416L

MC3423P1

MC3438L

MC3448AP

MC3470P

MC3476P1

MC3503L

MC4016P 8.52

MC4024P 5.75

MC4026P 3.48

MC4044P 5.75

MC4316L 16.72

MC4558NCP1 3.18

MC8311P 2.50

MC981SP 2.73

MC10104P .92

MC10109L 1.24

MC10116L

MC10116P

MC10123L

MC10124L

MC10125L

MC10131P

MC10137L

MC101S9P

MC10189L

MC10195L

MC10198P

MC10216L

MC10231P

MC12040P

MC12061P

MC14410P

MC14411P

1.24.922.393.012.503 04

25.384.143.272.52

22.511.885.81

11 995.75

12VP 1653

MC14436VP

MC14457P

MC14458P

MC14490FP

MC14490VP

MC14495P

MC34004P

1.63

VISIT A STORE NEAR YOU TODAY - We stock a large SDlBction of Technical Books, Discrete Components, Integrated Circuits, Test Equipment and Electronic Supplie

ATLANTA

3330 Piedmont Rd. N.E.

Atlanta. GA 30305

(404) 261-7100

CULVER CITY

1 1080 Jefferson Blvd.

Culver City, CA 90230

(213] 390-3595

HOUSTON

2649 Richmond

Houston, TX 7709c

(713) 529-3489

PORTLAND

1 125 N.E. 82nd Ave.

Portland, OR 97220

(503) 254-5541

SANTA ANA

1 300 E. Edinger Ave.

Santa Ana. CA 92705

(714) 547-8424

SUNNYVALE

1054 E. El Camino Real

Sunnyvale, CA 94087

(408) 243-4121

TUCSON

4518 E. Broadway

Tucson, AZ 8571 1

(602) 881-2348

Circle 20 on inquiry card.

BYTE August 1981 431

What's New?

MISCELLANEOUS

■j*:

POWER

Computer Power

Computer Power is a newcomputer-literacy curriculum fromthe Gregg Division of McGraw-Hill. Based on a unique Pascal in-terpreter, the materials in eachpackage include: Rascal, an ex-tended version of UCSD Pascal in-cluding enhanced graphics andmusic commands as well as ani-mation; INTERPAS, the Pascal in-terpreter which allows studentsto program in Pascal as easily asBASIC by providing an immediateexecution mode, single-steppingof programs, extensive error-han-dling facilities, single-key entry of

command words, simplifiedediting and filing procedures, andthe ability to convert debuggedINTERPAS programs into stan-dard Pascal programs; and a stu-dent text that includes programlistings and materials to provideextended learning experiences foreach lesson. Also included is anextensive teacher's manual writ-ten with the computer-naiveteacher in mind. The manual pro-vides complete lesson plans, astep-by-step guide to lesson ob-jectives, instructional activities, in-structions on how to use thecomputer in each lesson, atutorial on using the computerand the accompanying software,and sections on classroom organ-ization, management, andgrading.

Computer Power runs on a48 K-byte Apple II computer withthe Language System, one diskdrive, and a color monitor. Formore information, contact Com-puter Power, Gregg/McGraw-Hill(29th floor], 1221 Avenue of theAmericas, New York NY 10020.

Circle 538 on inquiry card.

Memory Boardfrom North Star

The HRAM memory boards aredesigned for North Star systems.The boards feature memory-parity checking and bank-switching capabilities. The boardsare Horizon-compatible, and areavailable in 32 K-, 48 K-, and64 K-byte configurations.

The boards range in price fromS599 for the 32 K-byte board to$1099 for the 64 K-byte board.For more details, contact NorthStar Computers Inc, 14440 Cata-lina St, San Leandro CA 94577,(415) 357-8500.

Circle 539 on inquiry card.

8 K-ByteMemory for the VIP

The RCA VIP single-boardmicrocomputer can now have anextra 8 K bytes of programmablememory. The VP-575 System Ex-pansion Board uses 2114 in-tegrated circuits, addresses each4 K-byte block separately, plugsinto the VIP expansion connectoror system expansion board, anddraws 600 mA from a + 5 V sup-ply. The VP-575 costs $149assembled and tested, and thebare board is $49. Contact G JKrizek, 722 N Morada Ave, WestCovina CA 91790.

Circle 540 on inquiry card.

Protecting AppleSoftware

The Soft Key system is ahardware-oriented antipiracysystem for Apple software. Thepatent-pending system features aset of techniques that can beused by programmers to createtheir own security schemes. Thecustom algorithm used in thesystem is embodied in a non-copyable "key." The key, acustom integrated circuit, isplugged into a master securityboard to create a protectionalgorithm unique to the particularprogram.

The master board, which plugsinto the Apple motherboard, isavailable in 1-, 8-, or 16-key ver-sions, allowing the protectionkeys for several programs to co-reside in the computer. The com-pany claims that its protectionscheme causes no significantslowdown in execution time of aprogram.

The protection key can be usedto protect floppy disks, hard disks,and computer-network software.Programs written in Applesoft, In-teger BASIC, Pascal, FORTRAN,and the various languages usedin conjunction with the MicrosoftSoftcard, can all be protected bythe Soft Key system.

The company charges an initialfee to instruct programmers in thetechniques of using the system;program details need not bedisclosed to Soft Key to protectthe program. The OEM (originalequipment manufacturer) price ofthe product is approximately $ 18in quantity for a single keyboardwith one custom key. ContactSoft Key Associates Inc, 44 FrontSt, Ashland MA 01721.

Circle 541 on inquiry card.

432 August 1981 © BYTE Publications Inc

INCREDIBLE? believe

Qantex eooo

PRINTERS

150 cps bidirectional-9x9 dot matrix, quietizedcase, 136 col, vertical form control and manyother functions $11 OR

We feel this printer offers * i 13 J

the best price/performance ratio available.RS-232 serial to 19,200 baudsupporting X-ON, X-OFF or Current Loop — add $40

r"TnT^ Teletype 40, 300 LPM-typewriter quality, RS- from

**■ 232 interface. This quality printer is available in manyconfigurations including forms access, quietized case, etc.Teletype 43NEC Spinwriter-55 cps, bidirectional, letter quality

R.O. $2660 KSR

DIABLO 630-40 cps, bidirectional, daisy wheel, plot/graphC. ITOH Starwriter, 25 cps, daisy wheelC. ITOH Starwriter, 45 cps, daisy wheelEPSON MX-80, 80 cps, 9x9 dot matrixANADEX 9500/9501, up to 200 cps, high resolution dotOKIDATA Microline 80, 80 cps, 9x7 dot matrix

Microline 82, bidirectional, friction/pin feedMicroline 83, bidirectional, 120 cps, uses 15" paperTI-810,150 cps, Basic

Package-Compressed print, vertical form controlCENTRONICS 704-9,180 cps, 9x9 dot matrix, 132 col, RS-232704-11,180 cps, 9x9 dot matrix, 132 col, parallel730,100 cps, 7x7 dot matrix, same as R.S. LPII737,80 cps, nx9 dot matrix, same as R.S. LPIVproportional spacingDEC LA-34IDS460G

S-100 SPECIALTIES

Only

$2928

from $995

$2942

$2270

$1575

$1849

$515

$1349

$490

$599

$875

$1695

$1830

$1595

$1695

$660

$849

$1085$1199

®.®

Croup

22002065C2810A2422A

8" DISK DRIVE SALE

8"SHUGARTSA801R

Premium double sided drives: 8" SHUGART SA851Ror QUME DATATRACK 8Enclosure, power supply for 2 8" drives A&TNNC industrial grade enclosure for 2 drives with PS.POWER 1, power supply for 2 8" drivesMORROW Discus 2D + CP/M®Discus 2 + 2 +CP/M®

HARD DISK SPECIALS

C0RVUS10MB and controller20MB and controllerConstellation Network MultiplexerMirror Video Tape Disk BackupMORROW 29MB + controller + CP/M 2.2®CAMEO cartridge drive controller

controller, CDC Hawk Drive (5 fix, 5 rem)controller, Western Dynex (5 fix, 5 rem)fl^ Winchester 51A drives complete with case, cable

£|Ik^ software, S-100 controller Adapter avail, for use with

^HXCOMP any Z-80 system. Cartridge driver controllers avail. Us|

5MB $2898

10MB $3398Quantity discounts available!

I,., ,_,_■■ S-100 CONTROLLER FOR PRIAM $693

I1' i PRIAM 8" and 4" Winchester/tape subsystems avail.We carry the full line of ADES disk and tape controllers and subsystems.

FULLY CONFIGURED BUSINESS SYSTEMS

The following are some examples of the fully assembled and tested businessand scientific computer systems which we offer. All include CP/M 2.2,64K bytes dynamic RAM, Z-80A 4mh CPU. We offer a full line of quality,tested software.

We offer all of Delta's systems — from their costeffective single user system to extensive multi-usernetworks of computers and terminals.

Many disk, tape and Winchesterconfigurations are available.Call us for best prices on these high quality 2ndgeneration boards and systems.California These ni9n quality, reliable products have made CCSComputer defacto industry standard for S-100 productsSystems Assembled and tested: list only

H.D. Mainframe, 20 a. P.S., 12 slot MB $434 $359

64K dynamic RAM/Bank Select $720 $580

Z-80 CPU, serial port, ROM monitor $310 $259

Floppy Cont, CP/M 2.2, ROM monitor $425 $345

■—'«y CB2 Z-80 CPU $344 $295

~—iii 2P + 2S I/O interface $290 $249

NNC 2 board set Z-80A CPU, CP/M 2.2, floppy disc controller

2serial, 3 parallel ports, PROM, I/O cable $765

SUPERBRAIN Scall

Similar savings on the full lines of CCS, SSM, NNC, MORROW, DELTA,NORTHSTAR, ITHACA INTERSYSTEMS, GODBOUT, NEC. TELEVIDEO, IMSand ZENITH.

$429

$625

2for$ ■;;■

$299

$415

$135

$963

$1259

List

only

$5350

Scall

$6450

Scall

$750

Scall

$790

Scall

$4995

$3995

$1500

$1275

$6995

$5995

$5995

$5099

CCS 2210A w/floppy controller, 1 serial port

$1849

CCS 300-1A w/1.2MB floppy drives, 2 serial, 2 parallel ports

$4849

CCS 400-1A w/10MB hard disc, 2 serial, 2 parallel ports

$6999

Optional CP/M for CCS 300, 400 (OASIS available)

$150

NNC 80 w/1 MB floppy drives, 2 serial, 3 parallel ports

$3799

NNC 80W W/.5MB floppy, 8.4MB hard disc, (OASIS optional)

$6693

ALTOS single and multi-user systems

Scall

MORROW Decision 1, MICROSOFT basic, UNIXTPQMIMAI Q

Scall

I tnlYilNALoTELEVIDEO 912 C

$950

$725

920 C

$1030

$789

950C

$1195

$989

SOROCIQ120

$995

$729

IQ 140

$1395

$1149

INTERTUBE III or EMULATOR (multi-terminal)

$895

$799

DECVT-100

$2050

$1575

Similar savings for our HAZELTINE and LEAR SIEGLER lines

LOOK HERE!

Call us for ALL your software needs

SYSTEMS HOUSES & EDUCATIONAL INSTITUTIONS

GIVEN SPECIAL CONSIDERATION.

ALL OF OUR PERIPHERALS CAN BE CONFIGURED FOR RADIO SHACK® MODEL I

DEALER and INTERNATIONAL INQUIRIES WELCOME

WASHINGTON COMPUTER SERVICES

an affiliate of /((WASHINGTON))) est. 1912

CUSTOM COMPUTER ROOM WIRING SINCE 1960

97 Spring Street

New York, N.Y. 10012

Hours: 8AM-5:30PM (EST) Mon.-Fri.

TO ORDER: CALL OUR TOLL-FREE NUMBER:• (800) 221-5416* In N.Y. State and fortechnical information call 1-(212) 226-2121

For fast delivery, send certified checks, money order orcall to arrange direct bank wire transfers. Personal orcompany checks require two to three weeks to clear. Allprices are mail order only. Prices subject to changewithout notice; call for latest prices. Prices include 2%cash discount. N.Y. residents add sales tax.Quantex is a trademark ot North Atlantic Industries, Inc.Radio Shack® is a trademark of the Tandy Corp.CP/M® is a trademark of Digital Research

Circle 399 on inquiry card.

BYTE August 1981 433

wabash

When it comes to

Flexible Disks, nobody

does it better than

Wabash.

MasterCard. Visa Accepted.Call Free: (800)235-4137

PACIFICEXCHANGES

100 Foothill BludSan Luis Obispo. CA93401 (In Gil cal(805) 543-1037

EVERY MONTH

BUY, SELL OR TRADE ALL TYPES OFCOMPUTER EQUIPMENT AND SOFT-WARE (pre-owned and new) among20,000 readers nationwide in BIG(11x14") pages. Classified ads areonly 10' per word and are indexed foreasy and last location. Subscription:$10 a year/ 12 issues. Money backguarantee. Sample copy, $1,50.

nnmpUTSR shdppsr

P.O. Box F-14

Titusville, FL 32780

(305) 269-3211

MasterCard or VISA subscription orders only,

call TOLL FREE 1-000-528 6050 Ex. 184.

FULL PERFORMANCE CP/M* computer$1995 list

dealer-distributor discounts

/C V Alspa Computer, Inc.

5215 Scotts Valley Drive

Scotts Valley, CA 95066

(408) 438-3326

•trademarks of Digital Research, Inc.

Circle 292 on inquiry card.

Circle 75 on inquiry card.

Circle 14 on inquiry card.

DISCOUNTPRICES

onCENTRONICS • CROMEMCOLEAR SIGLER ■ NORTH STARDIABLO • HAZELTINE, ETC.

• NEW, FULL WARRANTY

• QUICK DELIVERY

• Hundreds of Satisfied Customers

• Call for DISCOUNT Price List

(',>, A DIGITAL DATA SYSTEMS, m

1S5IIUW 65th Avenue. Plantation, FL 33313

1305) 792 3290

OUR 8TH YEAR OF SERVICE

Circle 112 on inquiry card.

BjHh«l ,'■■■-Hi

111111M*. " " "' pi ■ * ' 1

ZlZs^^-J&l

ONE BOARD CP/M SYSTEM!

only $750

Assm., Tested

& Burned-In

for one week

• 8'/a by 12 inches

■ 10 MHZ 8085 CPU

• 64 K RAM

• 3 RS-232 channels

• 8272 Floppy Disk Controller

• Handles Single/Double Density

• One to Four Drives. 801R or850R.

Documentation $15.

CP/M Floppy Disk Operating System S150

Check or Money Order

c

autocontroll

11744 Westline Industrial Drive

St. Louis, MO 63141

(314)432-1313

)

FORTH

FOR/MAT™

SCREEN EDITOR

A MUST FOR THE SERIOUS FORTHPROGRAMMER

• All code is Forth~79 standard. Each line of code isfully explained and flow-charted (Forth style) foreasy modification.

• This editor works just like the popular wordprocessors on the market except it is written in highlevel forth and is confined to the 1024 byte boundaryof a forth screen.

• There are over 20 different commands for cursorpositioning, text modification, tabs, relocating lines,spreading lines, and moving lines to other screens.

• Insert mode is toggled on and off for midstreaminsertions and deletions. Text ahead of CP is movedright during insertion and left during deletion ifinsert mode is on.

• Column position is displayed at all times.

• Bomb proof — all unused control codes aretrapped.

• Must be used with a CRT that has cursoraddressing or with a memory mapped video.

• Send check or money order in the amount of$50.00 and receive complete source code,flowcharts, documentation, and instructions forbringing up on your system.

KV33 CORPORATION

P.O. BOX 27246TUCSON, AZ 85726(602) 889-5722

W

Circle 191 on inquiry card.

AC-85CP/M® SYSTEM

Assm., Tested& Burned Infor one week

$2450

Features:

• One board 8085 Computer

• 2-SA800R* (1.2 megabytes)

• CBIOS Diskette

• Installed and wired in a cabinet withP/S and Fan ready to plug-in

• Manual

• 17W Wxl7" Dx 10" H

• SYSTEM with 2 SA850R (2.4 mbytes)

$2750.00

CP/M Floppy Disk Operating System $150Check or Money Order

autocontroll

11744 Westline Industrial Drive

St. Louis, MO 63141

(314) 432-1313

• CP/M is a registered trademark of Digital Research, Inc.

OAE's PP-Series EPROM Programmers plugdirectly into any vacant EPROM socket andallow you to transfer data directly from RAMto EPROMs. No additional power supplies arerequired. All timing & control sequences arehandled by the programmer. Each unit in-cludes internal DC to DC switching regulator,ZIF socket and 4 ft. ribbon cable terminatedwith a 24 pin plug. Programmers are availablefor all EPROMs from 2708's thru 2532's.

Oliver Advanced Engineering, Inc.

676 W. Wilson Ave., Glendale, CA 91203

(213) 240-0080 or Telex 194773.

PP SERIES PROGRAMMERS

Circle 274 on inquiry card.

EPSON

DOT MATRIX PRINTER

MX-80 F/T

Friction and removable, variable width Tractor

NOW IN STOCKCALL FOR DISCOUNT PRICE

Also in Stock MX-80 $499-Lower! Call!

NEW! Graphics ROM for MX-80. CALL!

We also stock direct connect cables for TRS-80,Apple, Atari, Pet or RS 232

CALL 800-344-7493

I209) 667-2888 (within CA)

A A^*MCROmONI

^%^^r 1125 N. G0L0EItmdi nry /-a

Iw^Ewbi

IICS. inc.,

GOLDEN STATETURLOCK, CA 95380

Circle 29 on inquiry card.

Circle 30 on inquiry card.

Circle 203 on inquiry card.

COMPUTER STOP

2545 W. 237 St. Torrance, CA. 90505

ORDER BY PHONE

MON.—SAT.

10-6

(213) 539-7670 PSTTELEX: 678401 TAB IRIN

LOWEST PRICES IN THE WEST.NORTH. SOUTH & EASTtfjfeippkz computer 1-800-421-1947 £

"^^^9W Sales and Service M ^W

APPLE /// OPTION A: 3850 .^tfHB^. B ^^^^

APPLE /// 96K

Information Analyst Package

12" B/W MonitorAPPLE///OPTION B: 4350

SAME AS OPTION A PLUS:

DISK II for APPLE///APPLE///OPTION C: 4800

SAME AS OPTION A PLUS:

DISK II FOR APPLE ///

SILENTYPE Thermal Printer

APPLE HARDWARE

Parallel Printer Interface Card 160

Communications Card 195

High Speed Serial Interface 160

Pascal Language System 425

Centronics Printer Interface 185

Applesoft Firmware Card 160

Integer Firmware Card 160

Disk ][ with Controller DOS 3.3 529

Disk][only 475

Graphics Tablet 625

OTHER HARDWARE

Alf Music Synthesizer (3 Voice) 245

9 voice 175

ABT Numeric Keypad 119

Micromodem ][ 295

Apple Clock 245

Rom Plus with Keyboard Filter 175

lntrol/X-10 System 250

Romwriter 150

DoubleVision 80 x 24 Video Interface 245

CCS Arithmetic Processor 399

CCS Parallel Interface 119

16K Ram Card 145

Microworks DS-65 Digisector 339

SVA 8 inch Disk Controller 335

Sup-R-Mod 30

CCS Synchronous Serial Interface 119

CCS Asynchronous Serial Interface 99

Corvus 10 Meg. Hard Disk 4395

Corvus Constellation 595

MISCELLANEOUS/SUPPLIES

16K RAM (200-250 NS) 29

Verbatium Datalife Diskette (Box of 10) 30

Dysan Diskettes (Box of 5) 22

Apple Diskettes (Box of 10) 45

Verbatim Diskette Boxes (Holds 50 Disks) 18

Silentype Paper (Box of 10 rolls) 40

APPLE ][ Plus

16K $1075

48K $1193

Disk][Drive.. $529

with Controller & Dos. 3.3

PASCAL SYSTEM

$425

Z-80 Softcard

$299

MONITORS/DISPLAYS

Leedex Video 100 12" 140

Sanyo 9" Monitor 195

KG-12C Green Phos. Monitor 275

Sanyo 12" Green Phosphor. Monitor 275

NEC 12" Green Phosphor. Monitor 275

Sanyo 12" B/W Monitor 250

PRINTERS

Apple Silentype with Interface 525

IDS 445(Paper Tiger) with Graphics 650

IDS 460 with Graphics 1049

IDS 560 with Graphics 10) 1199

Centronics 737 795

NEC Spinwriter (RO, Serial) 2650

SOFTWARE

The Controller 525

Apple Post (Mailing List Program) 40

Easywriter Professional System 195

Apple Pie 2.0 95

DB Master Data Management 175

The Cashier 210

Apple Writer 65

Vlsicalc 170

CCA Data Management System 90

Full Screen Mapping for CCA DMS 59

Pascal Interactive Terminal Software (PITS) 29

Basic Interactive Terminal Software (BITS) 29

Data Capture 29

Data Factory DMS 110

Apple Plot 55

Apple Pilot 120

Magic Wand Word Processor (Needs Z-80 Softcard) 345

Dow Jones Portfolio Evaluator 45

Fortran 140

ORDERING INFORMATION: Phone orders invited using VISA, MASTERCARD or bank wire transfers. VISA & MC credit card service charge of 2%.

Mailorder may send charge card number (include expiration date), cashier's check, money order or personal check (allow 10 business days to clear.) Please include a telephonenumber with all orders. Foreign orders (excluding Military PO's) add 10% for shipping. All funds must be in U.S. dollars (letters of credit permitted). Shipping, Handling and in-surance in U.S. add 3% (minimum $4.00). California residents add 6% sales tax. Our low margins prohibit us to send COD or on purchase orders or open account (please send forwritten quotation). All equipment is subject to price change and availability. Equipment Is new and complete with the manufacturer warranty. We do not guarantee merchantibilityof products sold. All returned equipment is subject to a 15% restocking fee. We ship most orders within 2 days.

WE ARE A MEMBER OF THE CHAMBER OF COMMERCE. RETAIL STORE PRICES MAY DIFFER FROM MAIL ORDER PRICES.

PLEASE SEND ORDERS TO:

COMPUTER STOP, 2545 W. 237 St., TORRANCE, CA 90505

Circle 77 on inquiry card.

BYTE August 1981 435

Model II

SAVE UP TO $459.00 NOWon TRS-80 Computers

Now you can own a great little computer at a great big dis-count off the manufacturer's list price. For home or office use,the Radio Shack line of computers is first in quality, perfor-mance and price:

• FREE SHIPPING in the 48 continental contigious states.

• NO SALES TAX collected on out-of-state orders.

• CHARGE it with your MasterCard or Visa card.

• CONVENIENT ORDERING Call us TOLL FREE.

Cashier's

Catalog Charge Check Or

Number Description List Price By Phone Money Order

Radio Shack1* TRS-80 Model II

26-4002 64K 1-Disk Model II 3,899.00 3,579.30 3,440.00

Radio Shack" TRS-80 Model III

26-1061 Model III 4K Level-1 699.00 629.10 629.10

26-1062 Model III 16K 999.00 865.00 865.00

26-1063 Model III 32K 2,495.00 2,243.50 2,199.00

Radio Shack" TRS-80 Color Computer

26-3001 4K Color Computer 399.00 359.10 359.10

26-3002 16K Color Computer 599.00 539.10 539.10

CASH PRICEYOU SAVE

459.00

69.90134.00296.00

39.9059.00

Pan American Electronics

CALL TOLL FREE 800-531-7466 • Texas & Principal Number 512/581-2766 • Telex 767339Dept. 18 • 1117 Conway Avenue • Mission, Texas 78572

NEW BRANCH? 2912 N. Main. Fort Worth. Texas 76106 • Phone Number 817-625-6333 •* Telex 794836

| TRS-80 is a Trademark ot Tandy Corp. Circle 299 on Inquiry car~

w

FLOPPY DISK DRIVES

QumeDT-8 $599-2/$1150

Virtually the industry standard. High quality/reliabil-ity. Full featured, double-sided, double density.

Mitsubishi!!!!!! $649

Up & coming potential giant of the double sided/double density realm.

Shugart 851R $649

Double sided/double density

Shugart 800/801R $425 - 2/$820

Siemens FDD100-8D$395 - 2/$755

Tandon double sided mini-floppy.Shugart compatible, double density. $350 - 2/S640

SA400 mini-floppy. 35 track, doubledensity $299 - 2/$525

CONTROLLERS

Tarbell single density kit $210

Tarbell single density A & T $290

Tarbell double density A & T $450

MDA LSI-11 floppy controller $1095

SPECIAL!! CCS 2422A floppy disk controller with CP/MFLOPPY POWERSUPPLY: Handles

two units with thegreatest of ease.

$109

DISKETTES: Single sided $39/10 - Double sided $59/10

version 2.2 $375

CABLE KITS:

One drive $30

Two $35

Three $40

Four $45

Includes all wire,cable + connect-ors to hook upmost drive sys-tems.

SPECIAL SPECIALS (very limited supply)

SBC 80/30 CPU card (used) $475.

SBC 604 $150.

SBC 614 $150.

UDS 103J modem card (used) $100.

UDS 801A dialer card (used) $100.

all used gear here comes with 90 day warranty.

CRYSTALS ... most major values. Call forcase size, etc.

$2.75/ea 25/$2.50 100/S2.20

3.57954/$.99 ea - 100/$.80

CONNECTORS... many types in stock. IDC,

etc. all connectors $3.00 ea. 50/$2.75 - 100/$2.50

— call for particulars —

Qume S/5 — Daisy Wheel Printer

Sprint 5/45 RO $2699

Sprint 5/55 RO 2829

Sprint 5/45 KSR 3029

Sprint 5/55 KSR 3159

Forms Tractor

Pinfeed platen

Paper Guide

Paper Basket

many print wheels, ribbons, & more available.

210

155

30

50

Terms of sale: cash or checks, purchase orders from qualified firms and institutions. Minimum order $25. CA residents add 6% tax. Pricessubject to change without notice. All goods subject to prior sale. Minumum shipping/handling charge $4.00.

Electrolabs

POB 4436, Stanford, CA 94305 (415) 321-5601

436 BYTE August 1981

Circle 128 on Inquiry card.

1 MROPROCiSSOl

* SUPPORT /.(

:.'$

1 WE GUARANTEE FACTORY PRIME PARTS

■ 271 6 EPROM 1-9 10 &

UP

■ HITACHI +5 7.00 6.001 INTEL +5 9.50 8.00

■ MOTOROLA +5 7.00 6.00

2708 EPROM

3 SUPPLY

2732 EPROM

1-9

10&

AMERICAN MICRO DEVICES

AM2708DC1-24 25-99 100&UP

INTEL

MITSUBISHI

NEC

UP

17.00 16.0016.00 15.0016.00 15.00

1 NATIONAL +5 7.00 6.00

3.50 3.20

2.90

ITI 3 Supply 7.50 6.00

1 1 6K x 1 DYNAMIC RAM

2114L STATIC RAM

74LS SPECIAL

■ NEC UPD 416C-2 200NS1 1-31 2.50 100-499 2.101 32-99 2.30 500 & UP 1.90

1Kx4

HITACHI 200NSINTEL 200NSNEC 250NS

31- 1001-31 99 &UP2.85 2.60 2.353.00 2.85 2.703.00 2.85 2.70

LS175LS240LS241LS244LS245LS373

.751.151.151.001.951.15

1 Z80-P10 6.00

8755 49.95

4050 .69

4531

.99

74C925 6.95

74LS107 .45

74LS244

1.00

1 Z8OAP10 7.10

4000 .35

4051 1.10

4532

1.25

74LS00 .35

74 LSI 09 .45

74LS245

1.95

■ Z80-CTC 6.00

4001 .35

4052 1.10

4539

.99

74LS01 .28

74LS112 .49

74LS247

1.10

1 z8oactc 7.10

4002 .35

4053 1.10

4543

1.99

74LS02 .28

74LS122 .55

74LS248

1.10

H Z80-DMA 18.50

4006 1.39

4055 3.95

4553

3.50

74LS03 .28

74LS123 1.19

74LS249

1.69

H Z80ADMA 22.50

4007 .29

4056 2.95

4555

.75

74LS04 .39

74LS125 1.35

74LS251

1.79

■ Z80-S10/0 18.50

4008 1.39

4059 9.95

4556

.75

74LS05 .28

74LS126 .89

74LS253

.98

1 Z80AS10/0 22.50

4009 .49

4060 1.39

4581

1.99

74LS08 .39

74LS132 .79

74LS257

.98

■ Z80-S10/1 18.50

4010 .49

4066 .75

4582

1.01

74LS09 .39

74LS136 .59

74LS258

.98

1 Z80A-S10/1 22.50

4011 .35

4068 .35

4584

.55

74LS10 .28

74LS138 .89

74LS259

2.95

1 Z80-S10/2 18.50

4012 .29

4069 .35

4585

.99

74LS11 .39

74LS139 .89

74LS260

.69

1 Z80A-S10/2 22.50

4013 .49

4070 .49

4702

9.95

74LS12 .39

74LS145 1.25

74LS261

2.49

1 3205 3.95

4014 1.39

4071 .35

74C00

.39

74LS13 .47

74LS148 1.49

74LS266

.59

■ 3242 10.00

4015 1.15

4072 .35

74C02

.39

74LS14 1.25

74LS151 .79

74LS273

1.75

1 8155 11.25

4016 .59

4073 .35

74C04

.39

74LS15 .39

74LS153 .79

74LS275

4.40

1 8185 29.95

4017 1!19

4075 .35

74C08

.49

74LS20 .26

74LS155 1.19

74LS279

.59

1 8185-2 39.95

4018 .99

4076 1.29

74C10

.49

74LS21 .38

74LS156 .99

74LS283

1.10

1 8202 45.00

4019 .49

4078 .35

74C14

1.65

74LS22 .38

74LS157 .99

74LS290

1.29

1 8205 3.95

4020 1.19

4081 .35

74C20

.39

74LS26 .39

74LS158 .75

74LS293

1.95

1 8212 2.00

4021 1.19

4082 .35

74C30

.39

74LS27 .39

74LS160 .98

74LS295

1.10

1 8214 3.95

4022 1.15

4085 1.95

74C32

.99

74LS28 .39

74LS161 1.15

74LS298

1.29

8216 1.85

4023 .38

4086 .79

74C42

1.85

74LS30 .26

74LS162 .98

74LS324

1.75

8224 2.65

4024 .79

4093 .99

74C48

2.39

74LS32 .39

74LS163 .98

74LS347

1.95

8226 1.85

4025 .38

4099 2.25

74C73

.85

74LS37 .79

74LS164 1.19

74LS348

1.95

8228 5.00

4026 2.50

4104 1.99

74C74

.85

74LS38 .39

74LS165 .89

74LS352

1.65 i

8238 5.45

4027 .65

4501 .39

74C85

2.49

74LS42 .79

74LS166 2.49

74LS353

1.65 1

8243 4.65

4028 .85

4502 1.65

74C89

4.95

74LS47 .79

74LS170 1.99

74LS363

1.49 I

8251A 5.55

4029 1.29

4503 .69

74C90

1.85

74LS48 .79

74LS173 .89

74LS365

.99 I

8253 9.85

4030 .45

4505 8.95

74C93

1.85

74LS51 .26

74LS174 .99

74LS366

.99 I

8255A 5.40

4031 3.25

4506 .75

74C95

1.85

74LS54 .35

74LS175 .75

74LS367

.73 I

8255A-5 5.40

4032 2.15

4507 .95

74C107

1.19

74LS55 .35

74LS181 2.20

74LS368

.73 I

8257 9.25

4033 2.15

4508 3.95

74C151

2.49

74LS73 .45

74LS190 1.15

74LS373

1.15 1

8257-5 9.25

4034 3.25

4510 1.39

74C154

3.50

74LS74 .59

74LS191 1.15

74LS374

2.75 1

8259A 7.30

4035 .95

4511 1.39

74C157

2.10

74LS75 .68 r

74LS192 .98

74LS375

.69 1

8271 60.00

4037 1.95

4512 1.39

74C160

2.39

74LS76 .45 "

74LS193 .98

74LS377

1.95 1

8275 32.95

4040 1.29

4514 3.95

74C161

2.30

74LS78 .65

74LS194 1.15

74LS385

1.95 I

8279 10.80

4041 1.25

4515 3.95

74C163

2.39

74LS83 .99

74LS195 .95

74LS386

.65 1

8279-5 10.80

4042 .95

4516 1.69

74C164

2.39

74LS85 1.19

74LS196 .89

74LS390

1.95 I

8282 6.70

4043 .85

4519 .99

74C173

2.59

74LS86 .45

74LS197 .89

74LS393

1.95 I

8283 6.70

4044 .85

4520 1.39

74C174

2.75

74LS90 .75

74LS221 1.49

74LS395

1.70 I

8284 5.85

4046 1.75

4522 .99

74C175

2.75

74LS92 .75

74LS240. . .._1.15

74LS399

2.95 1

8286 6.70

4047 1.25

4526 1.15

74C192

2.39

74LS93 .75

74LS241 1.15

74LS424

2.95 1

8287 6.70

4048 .99

4527 1.75

74C193

2.39

74LS95 .88

74LS242 1.95

74LS668

1.75 1

8288 25.40

4049 .69

4528 .99

74C195

2.39

74LS96 .98

74LS243 1.95

74LS670

2.29 1

8289 49.95

MINIMUM ORDER $10.00INCLUDE $3.00 FOR U.P.S. GROUND

HANLEY ENGINEERING I

(206) 643-0792

1 3400 NORTH UP WAY #22

BELLEVUE, WASHINGTON 98005

$4.00 FOR UPS BLUE or 1 st CLASS MAIL

Washington State Add 5.4% Sales Tax(800-426-2668)

FOR THE FINEST IN MICROPROCESSOR SUPPOR1

r i.c

S J

Circle 151 on inquiry card.

BYTE August 1981

Circle 364 on inquiry card.

SUNNY

LOW LOW COST

POWER SUPPLIES

FOR S-100, FLOPPY DISKS.

KIT 1, 2 & 3 For S-100

R3

For Three 8" or5Va" Disk Drives

S-100 POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time)

ITEM USED FOR @ + 8 Vdc @ - 9 Vdc @ + 16 Vdc @ - 16 Vdc <g + 28 Vdc SIZE W x D x H

KIT 1 15 CARDS SOURCE ?5A Z5A Z5A

KIT 2 SYSTEM SOURCE 25A 3A 3A

KIT 3 DISK SYSTEM 15A 1A 2A 2A

4A

12" x 5" x 47/is"12" x 5" x 47/8"14" x 6" x 47/s"

S3 2 in 1 Unit for S-100 andtwo 8" or 5!4" Disk Drives. It fitsmost Disk System Mainframes.

PRICE

52.9559.9567.95

DISK DRIVE POWER SUPPLY "R3" regulated, open frame, assy. & tested 67.95

SPECS + 5V @ 5A OVP, -5V @ 1A + 24V@ 5A. SHORTS PROTECT 2 SIZES AVAIL .1)9" (W) x 6V4" (D) x W (H). 2) 9" (W) x 4's" (D) x 5V (H)

OPTION 1 ) REPLACE + 24V BY + 12V. 2 ) FOR SIZE 1 ONLY. ADD + 12V @ 1A. AT AN ADDITIONAL $12 00

IDEAL FOR THREE 8" or 5'A FLOPPY DISK DRIVES, SUCH AS SHUGART 801/851. SIEMANS FDD 100-8/200-8 OR 100-5 ETC

DISK SYSTEM PWR SUPPLY "S3" open frame, assy. & tested, compact size: ictw) x 6 (d> x 5 (h> 92.95

REGULATED OUTPUTS FOR DISK DRIVES +5V @ 4A. -5V @ 1A. +24V @ 4A (OR + 12V @ 4A) SHORTS PROTECT

UNREGULATED OUTPUTS FOR S- 100 +8V @ 14A. t 16V @ 3A (OPTION ADD OVP FOR +5V, ADD S5 00)

A COMPLETE UNIT FOR DISK SYSTEM WITH THE MAINFRAME CONTAINING 12 SLOTS & TWO 8" or 51 j" DISK DRIVES

POWER TRANSFORMERS (with mounting brackets)

ITEM PRIMARY SECONDARY #1 SECONDARY #2 SECONDARY #3 SIZE W x D x H PRICE

T1

T4T5

110/120110/120110/120110/120110/120

2x8 Vac, 15A2x8 Vac, 25A2x8 Vac, 15A2x8 Vac. 6A2x8 Vac, 6A

28 Vac, CT, 2.5A28 Vac, CT, 3.5A28 Vac, CT, 2.5A28 Vac, CT. 1.5A28 Vac, CT. 2A

48 Vac, CT, 2A48 Vac, CT, 3A

3%"33/4"33/4"3V3"

3%"

4%"W35/6"

3" >

x 3V8"x 3Ve"x 3Vs"x 3Va"

2V2"

21.9527.9529.9522.9514.95

MAILING ADDRESS:P.O. BOX 4296TORRANCE, CA 90510

TELEX: 830-5010

ANSWER BACK FOR TELEX SUNYCO TRUC

SUNNY INTERNATIONAL

(TRANSFORMERS MANUFACTURER)(213) 328-2425 MON-SAT 9-6

SHIPPING For each power supply $5.50 inCalif., $7.50 in other states, $14.00 in Canada.For each Transformer $5.00 in all States,$10.00 in Canada. Calif. Residents add 6%Sales Tax.

SHIPPING ADDRESS:22129V2 S. VERMONT AVETORRANCE, CA 90502

T

SIOO2032 32K STATIC RAM AST450 NSEC...S579.00,300 NSEC...S585.00.200 NSEC...S629.00

2116 16K STATIC RAM A & T.

450 NSEC...S285.00,300 NSEC...$289.00,200 NSEC...$329.00

2065 64K DYNAMIC RAM A & T $548.95

2200 S-100 MAIN FRAM A&T $379.95

2422 FLOPPY DISC WITH CP/M 2.2'" $329.95

2802 6502 PROCESSOR A&T $282.95

28I0A Z80 CPU A & T $249.95

2710A 4 SERIAL 1/0 A & T $291.95

2718* 2 SERIAL, 2 PARALLEL A&T $305.95

2720A 4 PARALLEL A&T $214.95

PHOTO BOARDS WW .... $39.95, S0LDERTAIL .... $29.95

APPLE PRODUCTS

7114A 12K R0M/PR0M $68.50

7424A CALENDAR/CLOCK $106.95

7440A PROGRAMMABLE TIMER $98.50

7470A A TO 0 CONVERTER $105.95

7490A GPIB (IE 488) INTERFACE $265.95

7710A ASYNC SERIAL $125.95

77I2A SYNC SERIAL $153.95

7720A PARALLEL STANDARD $98.95

7720B PARALLEL CENTRONICS $98.95

781 IB ARITHMETIC PROCESSOR W/DISC $342.95

7BUC ARITHMETIC PROCESSOR W/R0M $342.95

7500A WW BOARD $22.95

7510A S0LDERTAIL BOARD $23.95

SOFTWARE

2B1B CP,'M'"MACR0 ASSEMBLER ON DISK $76.95

2620CP/M'"SYMB0LICINSTRUCTION DEBUGGER... $64.25

2630 CP/M'-TEXT F0RMATER $64.25

2640 CP/M'"BACKGROUND PRINT UTILITY $42.95

OTHER CCS PRODUCTS ARE AVAILABLE.CALL FOR PRICE.

ssm

MICROCOMPUTER PROOUCTS

S100 PRODUCTS

CBIA 8080 PROCESSOR PCBD $32.95

KIT $155.95, A&T S215.95

CB-2 280 PROCESSOR BOARD.

KIT $198.95, A&T $269.95

VBIC64 x 16 VIDEO, PCBD $32.95

KIT $153.95, A&T $199.95

. . $32.95. $234.95

VB2 64 x 16 ViDEO, PCBD

KIT $175.95, A&T

VB3 80 CHARACTER VIDEO 4MHZ.

KIT $345.95, A&T $425.95

UPGRADE RAMS FOR VB-3 $42.00

104 2 PARALLEL, 2 SERIAL PCBD $32.95

KIT $155.95, A&T $194.95

PB-1 2708, 2716 PROGRAMMER BOARD.

KIT $135.95, A&T $185.95

MB-10 16K STATIC RAM.

KIT $29995, A&T $339.95

APPLE PRODUCTS

A488 IEEE 488 INTERFACE $399.95

AIO SERIAL/PARALLEL INTERFACE.

KIT $125.95, A&T $155.95

ASI0 SERIAL I/O

KIT $87.95, A&T $97.95

APIO PARALLEL 10

KIT(W/0 CABLES).., $67.95. A& T(W/0 CABLES)... $87.95

OTHER SSM PRODUCTS ARE AVAILABLE.CALL FOR PRICES.

\m

MONDAY-FRIDAY. 8:00 TO 12:00,THURSDAYS. 8:00 TO 9:00 P.M.

(415) 728-9121P.O. BOX 955 • EL GRANADA, CA 9401 8

PLEASE SEND FOR IC, XIST0R AND COMPUTER PARTS LIST

AUG. SPECIAL SALEON PREPAID ORDERS

(CHAHGE CARDS AND COD 0B P0. HOT AVAILABLE ON THESE 0FFEBS]

MEM-3 KIT LESS RAM $89.95

I0B-1 KIT $99.95

W777C

inc. WAMECO INC.

BOARDS WITH MIKOS PARTS

MEM-3 32K STATIC RAM, PCBD $36.95

KIT LESS RAM $95.95, A&T $135.95

CPU-2 Z80 PROCESSOR, PCBD $32.95

KIT LESS ROM $109.95, A&T. $149.95

EPM-2 16K/32K EPROM. PCBD $32.95

KIT LESS ROM $65.95. A&T $99.95

FPB-1 FRONT PANEL, PCBD $48.50

KIT $144.95, A&T $184.95

CPU-1 8080 PROCESSOR, PCBD $29.95

KIT $89.95. A&T $129.95

QMB-12 13 SLOT MOTHER BOARD, PCBD $39.95

KIT $95.95, A&T $135.95

OTHER WAMECO PRODUCTS ARE AVAILABLE.CALL FOR PRICES.

MIKOS PABTSASSORTMENTS ARE ALLFACTOBY MASKED PABTS KITS INCLUDEALL PABTS LISTED AS BEOUIBED FOR THE COMPLETE KIT LESS PARTS LISTEDALL SOCKETS INCLUDED

LARGE SELECTION OF LS TTL AVAILABLE.

PURCHASE $50.00 WORTH OF LS TTL AND GET 10% CREDITTOWARD ADDITIONAL PURCHASES. PREPAID ORDERS ONLY.

VISA or MASTERCHARGE. Send account number, interbank number, expiration dateand sign your order. Approx. postage will be added. Check or money order will be sen!post paid in U.S. K you are not a regular customer, please use charge, cashier's check orpostal money order. Otherwise there will be a two-week delay (or checks to clear. Calitresidents add 6% tax Money back 30-day guarantee. We cannot accept returned IC'sthat have been soldered to. Prices subject to change without notice. SI 0 minimum ordir.$1.5(1 stales charge on orrJirt III! thin $10.00.

Circle 244 on Inquiry card.

* QTSYSTEM H+

S

r*

SYSTEM H+ and SYSTEM*

11 M Byte hard diskI MHz Z-80A, 4 serial. 2 paralleli2K Ram useable per uservIP/M multi-user DOSJackup: 1 MByte floppyioon: Optional tape cartridge

S H*1S H+2SH*3S H*4

List Now Only

$12,750 $11,250

13.250 11,750

13,750 12,250

14,250 12,750

QT SYSTEM+

I MHZ 2-80A, 2 serial. 2 parallel

I 8" floppies, double density

14K Ram. EPROM monitor for RS-232

:p/m 2.2

Dptional 6, 8, or 12 slot motherboardOptional single or double-sided floppiesBurned in—just add video terminal

QT |

W

K

MINI-

■rr^iB

5]

SYSTEM+ 1

HI

II

^bove with 5'<" floppies

MINI-SYSTEM

► (5W)

'S^SS(6) $3595

'S'SS(S) 3695

fS+SS(12) 3795

SYS*DS(6)SYS*DS(8)SYS + DS(12)...

$4495

4595

. 4695

3YS*SS(6) $24953YS*SS(8) 25953YS'SS(12) 2695

MSYS+DS(6) ..MSYS*DS(8) ..MSYS+DS(12) .

$2795. 2895. 2995

teclai Oder: 2 Boxes of Diskettes Free with anyf System+ or Mini-system +

\tti

2 MBYTE

LOPPY FOR fi-lirsgei

apple mmwmmm

! double density, double sided 8" drivesCabinet, power supply, cable, controller30S 3.3 compatible (Pascal and CP/M optional)"his package is best, spec for spec; price for price.

iggested List ... $2550 Now Only $2050

\VE $500 CP/M Patch $75 Pascal Patch $75

ot V

DISK T.I

PACKAGES

3C-88-2 2-801R, cab., ps, fan $1250

DC-88-22 2-Qume DT-8, cab., ps, fan 1675

)C-88-3 Cabinet, ps. fan, cables 325

DC-88-4 Cabinet only 58

ugart 801R $390

ime DT-8 585

3I B-51 250

3I B-52 350

ADES

S-100

HARD DISK

JRIAM 3350 8" Winchester11 MByte with CP/M 2.2With S-100 controllertables, cabinet, power supply

33 List $5195 Now $3850

QT SBC+2/4;-100 Single Board Computer

l-BOA. 2 or 4 MHz, switchIK Ram, 1 parallel, 1 serialEPROM monitor {specify)DMA. programmable timers

rd .

.$60

Kit

. $195

QT Z+80 CPU

• 2 or 4 MHz, switch

• Monitor with jump

• Serial port to 9600 baud

. $225

QT CLOCK/CALENDAR+Apple, S-100, TRS-80

{Specify}

• Date, month, year

• Day of week, leap year

• 24 hour or AM-PM

• 4 interrupt intervals

• With software

• Now with on-board battery

S-100/Apple/TRS $150

QT EXPANDABLE + REV IIS-100 64K Dynamic RAM

• 2 or 4 MHz. switch

• Bank switch, IEEE Standard

• On board refresh, 4 layer PC

• Burned in, tested.

EXP+16 $299 EXP*48 $379

EXP+32 339 EXP»64 409

(Less $40—kit)

QT P.AM+1616K Static, S-100

• Bank switchable RAM

• Thousands of happy customers

Brd...$35 4MHzKit...$180 4MHz A&T ... $210

QT 1/0+S-100 4 Parallel, 2 Serial

• On board crystal

• Prog, baud

• 16 prog, timers

• 8 level prog, interrupt

Brd .

. $70

Kit .

QTSILENCE+S-100 Motherboards

• Full ground shield network

• Specify board, kit, or assembled

6-B $25 8-B $27 12-B....

.... $30

6-K 40 8-K 55 12-K....

70

6-A 50 8-A 70 12-A....

90

18-B $50 22-B

.... $75

18-K 100 22-K

18-A 140 22-A

.... 190

QT MAINFRAMES

• 18A power supply, S-100

• Drive power supply

• Specify motherboard slots

• Specify 8", 5'/<" or no floppy

2-8" Floppy w/motherboard

MF8-6 $625

MF8-8 650

MF8-12 675

2-5%" Floppy—w/Motherboard

MF5-6 $450

MF5-12 500

No Floppy—w/Motherboard

MF-H2 $450

MF-M8 500

MF+22 600

QT

SINGLE

8" CABINET

• Accepts one 8" floppy

• Power supply, fan, AC filtei

• 117v AC/220V AC

• Data cable, power cables

DDC+8 $175

Hi

QT S-100

CARD

CAGES

• 6. 8 or 12 slot

• Accepts silence + mothei

• With card guides

• Accepts 4" fan

• Specify with mother, with fan

6 Slot (53/.w x 10'/.d x 6"h)

CC+6 $24

CC+6M 90

CC*6M/F 115

8 Slot (7%wx 10'/.d X 6"h)

CC*8 $39

CC»8M 99

CC+8M/F 134

12 Slot (11'Aw X 10V4d x6"h)

CC<12 $61

CC»12M 114

CC*12M/F 149

XYMECHY-Q 1000Daisywheel Printer/Typewriter

• Bold, underline, reverse, right justify, center

• 10, 12 and 15 pitch

• Automatic error correction

• 15 character display

• Fast, nationwide serviceSave $400

Parallel $2450

RS-232 2675

IEEE-488 (GPIB) 2525

Tractor 325

STARWRITER25CPS

• Daisywheel printer, Centronics parallelinterface

• Same as Vista V-300

• Nationwide service

Suggested List .SAVE $345

$1895 Now Only . . . $1550

IDS PAPER TIGERS

#445 $710

*460G 1050

»560G 1300

NEC SPINWRITER 55CPS

• Receive only, serial interface

Only $2500

^&* ADDS VIEWPOINTSmart CRT Terminal

• 80 x 24

• Detachable keyboard

The Best for Less $650

SD SYSTEMS

20%+

Discount on

A&T

All SD items available.

38007 Z-80 Starter Board $424

38013 VDB-8024 (60 Hz) 444

38020 Expandoram II-16K 310

38023 Expandoram II-64K 370

38025 PROM 100 248

38059 Versafloppy II (RS-232) 400

38060 Versafloppy II (VDB-8024) 400

38061 SBC-200 (VDB-8024) 376

38062 SBC-200 (RS-232) 376

Call for kit, software, and cable prices.

CALIFORNIACOMPUTER SYSTEMS

15% DiscountAll CCS items available.S-100

2032A 32K Static - 2 MHz $561

2032B 32K Static - 4 MHz 641

2116A 16K Static - 2 MHz 297

2116B 16K Static -4 MHz 331

2200A Mainframe 368

2210A System 1600

2422A Floppy Controller 360

2710A 4-Port Serial 289

APPLE

7114A 12K ROM/PROM Board $68

7440A Programmable Timer 97

7470A A/D Converter 102

7490A GPIB IEEE-488 255

7500A Wire Wrap Board 20

7510A Solder Tail Board 21

7520A Extender Board 25

7710A Serial Asynch Board 136

7728A Centronics Parallel Bd 105

7811B Arith Processor - disk 355

7811C Arith Processor - ROM 355

TELETEK

FDC-1 Single Board Computer $685

FDC-2 Double Density Controller 325

INTEGRATED CIRCUITS

4116 (200ns) ..

.. $2.00

2114 (450ns) ..

....2.00

2708

....3.50

2716 (5-12V) ..

...8.00

2732

.. 13.00

4164 (200ns) ..

.. 25.00

Z-80A

.. 12.95

8080A

....3.50

8085A

.. 20.00

8086-4

.. 60.00

TMS9900

.. 29.95

8212

3.50

8214

....4.50

8228

6.00

8238

8251

....7.00

8257 17.95

8295 16.50

MC14411 11.00

14411Xtal 4.95

1771B01 24.95

1791A01 37.95

S2350 7.95

N8T26 2.50

1488 1.25

1489 1.25

D3242 10.15

TMS5501 19.00

TR1602B 4.50

6845P 22.00

4118 18.95

DP8304BN 4.00

CABLES

RS-232- male/male - 9 ft $24.00

RS-232 - male/male - 18 ft 29.00

RS-232 - male/female - 9 ft 29.00

Floppy-Data-Card EdgeType SD

Jade

DSC-34-1 Single, mini $24.00

DSC-34-2 Dual. Mini 29.00

DSC-34-4 Quad. Mini 34.00

DSC-50-1 Single, 8" 24.00

DSC-50-2 Dual. 8" 32.00

DSC-50-4 Quad. 8" 40.00

Floppy-Data-Pin TypeCCS • Tarbell • Teletek

DSP-34-1 Single, Mini $24.00

DSP-34-2 Dual, Mini 29.00

DSP-34-4 Quad. Mini 34.00

DSP-50-1 Single. 8" 24.00

DSP-50-2 Dual, 8" 29.00

DSP-50-4 Quad, 8" 34.00

8" Floppy-DC Power

PDC-8 24" long $7.00

ISOBAR

Surge

Suppressor/

Power Strip

• 4 receptacle, 15AIBAR4-6

CONNECTORS

IDD-25P $8,25 DB25C $1.50

IDD-25S 8.75 IDS-20 2.75

CEC-34 6.05 IDS-26 3.50

CEC-50 7.50 IDS-34 4.50

DB25P 3.50 IDS-50 6.50

DB25S 4.60

ZIP DIP SOCKETS

ZIP-16 $5.50

ZIP-24 7.50

ZIP-40 10.25

\pple is a trademark of Apple Computer, Inc. CP/M and MP/M are trademarks of Digital Research. TRS-80 is a trademark of Radio Shack.

>*f--. O I Q(~\ M MAIL ORDER: PO Box Q, Sherman Oaks, CA 91423

Of j]& DI Owl \l RETAIL: 15620 S. Inglewood Ave., Lawndale, California 90260

S?\fii DDAHI IPTO (213)970-1476 (800)421-5150 Circle 35 on inquiry card

PRODUCTS

TERMS OF SALE: Cash, checks, credit cards, C.O.D. Calif, residents add 6% sales tax.

WRITE YOUR OWNCOMPILERS IN PL/C

PL/C (Programming Language/Compilers) isthe implementation a BNF superset as ahigh-level programming language.

Our Z80 version runs on a 32K CP/M systemand generates TDL-format assembler code.

The PUC Compiler, Runtime Library, andCompiler Source Code are shipped on anIBM-3740 format, CP/M compatible diskette.A license agreement must be completed.Lifetime single-CPU license fees are asfollows:

$1000 — PL/C Compiler, Runtime Library,Compiler PL/C Source, andPL/C Source Code for a PUCCompiler Version which pro-duces PROCESSOR-INDEPEN-DENT macro source.

$5000 — As above, plus commented Assem-bler Source Code for the Compilerand Runtime Library.

A PUC information package is available for $25

MRD Systems, Inc.

Box 147, Spring Valley, MN 55975

TRS 80 *EPR0MPROGRAMMER

08/16 (bare board) 30.9516/32 " " 30.50

16/2532 " " 30.50

S100 8088 44.95

S100 Programmer 44.95

"TRS-BO il 8 trademark of the Tandy Corp.

JWS ENGINEERING

Box 67Lebanon, NJ 08833

CROMEMCOUSERS

PMSI INTRODUCES

BANKKEEPING * REPORTER

FOR-Of lets Current Cash Flow Analysis and CompltSMALL Profit/Loss Picture lor Each Month andBUSINESS Year-To-DateAdaptable to All Types ol Business. Farms, PropertyManagement and Investments

FOR Provides a Unique Budget lor Family

INDIVIDUALS Expenditures for Current Month and YearTo

Supplies a Monthly flecap of Tax Deductible Items as Well a:

Complete Listing ol All Tax Deductible Items lor the Entire '

AVAILABLE FOR CDOS - or CHOMIX - FOR FLOPPY

OB HARD DRIVE SYSTEMS

- CPA's. Bookkeeping Service;. Banks and Savings/Loans

PMSI POOi -VI s So; T-.V/-;i: P.V.':,.-iGE 3 ?'_"< C't^.'iMU'i _;3: -'-S

PRACTICAL MANAGEMENT SYSTEMS. INC

P O BOX 1301 2 900 KING STREET

JONESBORO. AR 72401

501 932 8206

DEALER DISCOUNTS AVAILABLE

■ Registered trademarks of Cromemco. Inc

' RBJjjiSiered trademark ol Practical Management Systems. Inc

Circle 259 on inquiry card.

Circle 186 on inquiry card.

Circle 313 on Inquiry card.

AgfaLoaded

Casse

and Cassette Boxes

for

Software Producers& Duplicators

Ask lor our Catalog

POly§ »« 312/298-5300

1233 Rand Road • Des Plaines IL 60016

floppy disks.

100% CERTIFIED AND TESTEDPREMIUM QUALITY

HBASF

Immediate off the shelf delivery.. .one box orquantity orders welcome.

SAVE % 40%

WE PAY SHIPPING!CALL OUR ORDER DESK NOW!

Western States: Los Angeles. . (213) 469-9661

Phoenix (602) 277-5766

Central States: Dallas (214) 988-1885

All Others: (805) 985-9824

MASTERCARD - VISA - C.O.D.

NATIONAL DATA SUPPLIES. INC.

Attention "Electric Pencil 1" users

Introducing —ZIP

Mail list program. Searches for specific zipcodes and zip sorts mailing lists on multipledisc files. Prints 1"x3.5"labels. Designedtowork on files created with "Electric Pencil 1"on single density drives, 8080 or Z-80 basedcomputers. Very simple operation. Practicallyno list formatting required. Price: $100.Supplied on SV" single density disc.

D FHYE=i ELEI

CTRONICS, INC.

BOX 23391 • TIGARD. OREGON 97223 • U.S.A.

(503) 620-2722

Circle 311 on Inquiry card.

Circle 264 on inquiry card.

Circle 142 on inquiry card.

200ns16K DYNAMIC RAM SET

8 Chips for $15.95

LIMITED SUPPLY

These prime 4116's became available when amajor corporation implemented a design changewith several thousand in stock. These parts meetall the rigorous quality standards of one ofAmerica's most respected manufacturers andare fully guaranteed.

DO NOT DELAY

— Expand your computer memory while

supply lasts.

— Club and Quantity discounts available.

— Same day mailing when payment made

with money order or cashier's check.

Russo

P.O. Box 546

Fox Lake, IL. 60020

— Include mailing address and $2.00 per set

for shipping and handling.

Circle 337 on inquiry card.

Convert your TRS-80 into a

DEVELOPMENT SYSTEM

Z-80 In-Circuitemulation andEPROM/EEPROMprogramming ina single compactunit.

Debug stand-alone

systems with

program in

TRS-80 RAM,

then copy working program into PROM.

Only $329 including personality modulefor 2716,2516,2758,2508,2532,2816,2808,48016.

ORION INSTRUMENTS

172 Otis Ave, Woodside, CA 94062(415)851-1172

Circle 285 on inquiry card.

database manager

forTRS 80 Model I

• CREATE random access disk files15 fields or 255 bytes/recordFiles can span 4 disk drivesPassword protected file access

• Database DIRECTORY displays alluser files and their attributes

• Powerful TRAI\ISACTIOI\IS-add,edit, read, delete & list recordsEfficient binary tree sorts

• Sophisticated QUERY with multi-key relational & logical operations

• REPORT formatter requires onlyfor user to select desired fieldsAutomatic sub & grand totalsMay be used with lower case

• Entirely MENU DRIV/EIM operation

• Extensive error trapping routines

• User oriented instruction manual

• Requires 32k —2 disk drives

Introductory price $59.95

Visa and MasterCard accepted

mentor software

B16 McLane Ave - Moi-gantown, WU 265050 Tandy Corp. Trademark

Circle 216 on inquiry card.

SPEECH SYNTHESIZERS

JBE I MICROCOMPUTER

A TO D CONVERTER

APPLE II®

*e*

Now you can haveunlimited speechfor your computer!

JBE's Speech Syn-thesizers use theVotrax® SC-01

Phoneme Synthe-sizer chip. The SC-01phonetically syn-thesizes continuousspeech of unlimitedvocabulary. TheSC-01 contains 64different phonemesand 4 levels of inflec-tion accessed by an 8bit code. It requires10 Bytes/sec. for con-tinuous speech. BothBoards have an audioamp for direct con-nection to an 8Sspeaker.

Documentation includes basic user pro-grams, a phoneme chart and a listing ofcoded words to help you get started.

Documentation for the Apple II0 SpeechSynthesizer includes a disk with many userprograms. jdmm

"Because of the high cost of the SC-01 atthis time, it will be sold separately. In thisway, as the price goes down, we can passthe savings on directly to you.

PARALLEL INPUT

81-088 Apple II® SpeechSynthesizer

S79.SS

81-120 Parallel Input Speech Synth.(On board power supply, Walltransformer included) $89.95

sc-01 Phoneme Synthesizer

Chip $59.95

EPROM EXPANSION CARD

JBE EPROM Expander for the Apple II holdssix 5 volt 2716s for a total of 12K bytes ofROM. This board takes the place of the onboard ROM in the Apple. It is softwareswltchable by the same technique used bythe Apple® II firmware card. Solder Jumpersare for reset to the Apple ROM or 2716s onthe card. (EPROMs available separately).Use JBE EPROM programmer and parrallelI/O cards to program your EPROMS.

81-085K

Kit

$49.95

81-085A

Assm.

$59.95

81-085B

Bare Board

$39.95

JBE's 7 V«" x 11 3A" 6502 base Microcom-puter has the capacity for 16K of EPROM, 4Kof RAM, 8 Parallel Ports and 1 Serial Port.Monitor and Tiny Basic are also available.The fully populated version Includes:

• 1 6502 CPU

• 4 6522 VIA (8 Parallel I/O Ports)

• 1AY5-1013 (Serial I/O Ports)

• 82114 RAM (4K)

• 2 2716 EPROM (monitor & tiny basic)

The partially populated version Includes:

• 16602 CPU

• 16522 VIA (2 Parallel I/O Ports)

• 1AYS-1013 (Serial I/O Port)

• 22114 RAM (1K)

• 12716 EPROM (with monitor)

Both versions Include sockets for 4 2716s or2732s, 816 pi n sockets for I/O Interfacing anda DB25 connector for RS232.

All address and data lines, power supply,ROY, Interrupts, DMA, phase 1 & phase 2clock, RAW, reset and NMI & IRQ are broughtoff the board to the 50 pin edge connector.(similartdtheApplell® bus)

This board also features power on reset andcassette interface,

Documentation Includes 6602 programmingmanual & Complete doc. for the 6522 VIA.Also included is doc. for interfacing with JBEA-D & D-A Converter, Solid State Switches,EPROM Programmer & Parallel Input SpeechSynthesizer.

81-030C Fully Populated JBE I $349.9581-030M Partially Populated

JBE I $249.9581-030B Bare Board JBE I

(Doc.lncl.) $ 89.95

2716 EPROM (with monitor) $ 19.95

2716EPROM(withtinybaslc) $ 19.95

&

^

JBE's 16 channel A-D Converter plugs Intoyour Apple II® Computer. It uses anADC0817 which incorporates a 16 channelmultiplexer and an 8 bit A-D Converter. The 16Inputs are high Impedance and the voltagerange is 0 to 5 volts. Conversion time ls<100Msec. The resolution Is 8 bits or 256 steps,linearity Is ± 1/» step. Two 16 pin DIP socketsare used for Input, GND & reference voltageconnections. There are 3 single bit TTL In-puts. Doc. Includes sample program.

81-132B Bare Board81-132KKH

;sm. & Tested

$29.95$69.96$89.95

U. TIME CLOCK

*

#

JBE's Real Time Clock Card for the Apple II®computer has automatic leap year calcula-tion, month & date and can time down to .1sec. It uses an MM58174 Real Time Clockchip, has Interrupt capability and hasseparate time intervals of 60 sec, 5 sec & .5sec. An on board 2716 holds 8 user programsWhich are switch selectable. A 32768 Hzl Scuracy. On board batteryfor up to one year.

•srd81.135KKH

am.&Tested

$ 39.95$ 99.95$119.95

EPROM SUBSTITUTION CARD

&

$

This board looks like RAM to the Apple® IIand like an EPROM to the computer beingprogrammed. It features 2K or4K of RAM andemulates a2716 or2732. A24 pin ribbon cableconnects the computer being programmed tothe EPROM sub. board. Documentation in-cludes disk with basic & pascal utilityroutines including save, write, CMP, errorchecking. Complete Source Code UserManual also Included. This board allows youto test programs without burning yourEPROM. Three control lines from the boardare used to control the computer being pro-grammed (reset etc.)

81-070K2Kit-2KRAM $149.95

81-070K4KH-4KRAM $159.95

81-070A2Assm.-2KRAM $159.95

81-070A4Assm.-4KRAM $169.95

Ribbon Cable with Connectors $ 9.95

John Bell Engineering, inc.

ALL PRODUCTS ARE AVAILABLE FROM JOHN BELL ENGINEERING • P.O. BOX 338REDWOOD CITY, CA 94064 • ADD SALES TAX IN CALIFORNIA • ADD 5% SHIPPING & HANDLING

(415)367-1137

VISA

10% OUTSIDE U.S.A.

BYTE August 1981

441

$695

UPS ANYWHERE IN CONTINENTAL U.S.

© UHF VARACTOR-TUNER. Channels 14-83-tunable. 1/0 = 75 ohms. Power Gain = 10-20 dB$2395max. Complete with schematic and tech data.Brand new - surplus.

© NiCAD 5 AA BATTERY PACK in shrink tubewith solder tabs. Brand new - surplus.© CABLE TV CONVERTER. For conversion to mid-10 . QKband and superband cable stations. Brand new o4and its LEGAL!

© BRAND NAME POWER SUPPLIES ±5V/6A. t„OOKvoltage adjustable and IC regulated. Ideal lor*2oCMOS, computer-based instruments, etc. use.Brand new - surplus

® MODULATOR. Video and sound input with 75Si CD'Sohms output. Switchable to channels 3 or 4. IDShielded case. Brand new - surplus.SCR ELECTRONICS INC. [7141 527-25549533 VALLEY VIEW, CYPRESS, CA 90630Pay by CHECK, M.O., VISA, MIC, C.O.D

EAST COAST

COMPUTERS

22 ELM ST. WOBURN, MA 10801617-935-9309

VERBATIM 5" DISKETTES

MEMOREX 5" DISKETTES

SCOTCH 5" DISKETTES

PLASTIC BOX

25.00

24.00

27.00

. .. 3.00

LEEDEX MONITOR

129.0029.00179.00479.00459.00289.00169.00

A

ENTSCES

16K MEMORY KIT

D-CAT MODEM

ATARI 400

MX-80

MICROSOFT Z-80 CARD

MICROSOFT RAM CARD

TERMS: MASTERCHARGE, VIS

CHECK, MONEY ORDER,

U.S. FUNDS ONLY. MASS. RESID

ADD SALES TAX. THE ABOVE PR

DO NOT INCLUDE SHIPPINC

Ome machine 11

0 FOR YOUR

Tappkz

SJ4C REALTIMECLOCKlOO AND CALENDAR

Introducing an intelligent real lime clockand calendar peripheral for the Apple II*

• Read and set time routines m 2KEPROM driver.

• Counts seconds, minutes, hours, days, days ofweek, month and years.

• Six date formats including: 12-JUN-1981

• Two interrupt programs in EPROM.

• Nicad battery and applications diskette.

• Basic, Pascal, and Machine languagecompatable.

FOR FREE BROCHURE CALL (801) 486-4839

REATIVE

* Software Dev.

The COMPUTER ROOM1879 Souih Main StreetSail Lake City, Utah 8-11 IS

■TRADEMARK OF APPLE COMPUTER CORPORATION

Circle'341 on inquiry card.

Circle 126 on inquiry card.

Circle 94 on inquiry card.

■ranrgBEEHH EiiEiinirjGjmnsras nmE

EVERY DAY'S A SALE DAY AT

PASSWORD DISTRIBUTORS

PASS THE WORD!

QuME DATATRAK 8 545.00

QUME DATATRAK 5 315.00

EXTENDED ONE YEAR WARRANTY

Qume Sprint 9/45 Printer 2295.00Teletek rod cpu 635.00

EXTENDED ONE YEAR WARRANTY 50.00

SPECIALIZED BOARD CONFIGURATION 50.00

ChRISLIN 64K MEMORY BOARD 635.00 ,

EXTENDED ONE YEAR WARRANTY 50.00

Cables: parallel, serial, a" &

5%" FLAT CABLES 15.00

QUANTITY DISCOUNTS!IMMEDIATE DELIVERY!

■ I traaa annao hqhegdi

ilD Miamffll WH

FULLYAUTOMATEDBARCHARTS

Use the TBAR program with yourCP/M system and Diablo printer toproduce fully automated bar-charts. Produce professionalquality charts in two colors withmany special symbols andfeatures.

F

M

I BEGIN »I ▼Contract Award

I PHASE 1 I ■■' HUH KHK

I PHASE 2 I _^_^^__ JHV ▲

Price: $175.00

JMCA Software, Inc.

4717 University Dr., NW

Suite 106

Huntsville, AL 35805

Heath/Zenith 89 Users

I6K MEMORY EXPANSION CARD

to make a

H/Z89 a 64K

machine.

Assembled

and Tested

$100.00COMPUTER TABLES

60x28x28

$186.40

48x28x28

$162.40

Shelves Available

PRINTER STAND

$75.00

&

§&/

'urn | data

systems

AUTHORIZED SERVICE CENTER

SECURED COMPUTER SYSTEMS

1201 I Aclare St. • Cerritos, CA 90701(213) 924-6741 Shipping not included

Circle 301 on inquiry card.

Circle 185 on inquiry card.

Circle 343 on inquiry card.

ATARI OWNERS

Parallel Printer Interfacefor the ATARI 800

connects to controller jacks 3 and 4works with BASIC/DOS/ASSEMBLER

FOUR printer connectors available:

TRENDOCM 100/200 A8P-1

ATARI 825/CENTRONICS 730/737. . A8P-2

EPSON MX-80'MX-70£t other 36 pin' A8P-3

"Fits all other parallel Centronics plus

Okidata, Anadex, Base 2 Microtek, etc.

I.D.S. PAPER TIGER 440/446 A8P-4

Sb9 . 95 6% CA sales taxorder by part number M.C/VISA accepted

GRAPHICS PRINTING SOFT WARE (tATARI 400 printer interfaces also available

©

To order toll free 1-800-344-7493In CA call 12091 667-2888

AMCROTRONICS, inc.. Q»

8035/9 BOARDS

CPU 1K RAM, 40 I/O linesParallel I/O 2 8255s, 70 mil line driversSerial I/O 3 8251 s, RS 232C interfaceA/D-D/A 8/1 channelAll boards 4x7, 86 pin edge connectorAssembled-$125 Bare - $20Hardware & Software Tools availableMake check payable to:SKP ELECTRONICS2211 Caper Tree Dr.Tustin, CA 92680(714) 832-1732California residents add 6% sales taxPlease add $3.00 for shipping and handlingCOD charges extra

DATAP0INT

1134 Diskette Syitemi

16k Processor with Four Diskettes(1 Megabyte). 80 CPS MatrixPrinter. Nationwide maintenanceavailable.

$2,645

SOFTWARE AVAILABLE

DISK OPERATING SYSTEM

SORT UTILITY

ISAM UTILITY

ALSO AVAILABLE FOR $250 EACH.

A/P, A/R, GENERAL LEDGER, PAYROLL. TIME

ACCOUNTING, AND INVENTORY

AMERICAN COMPUTER EXCHANGE

100 N. MAIN ST. BOX 52CHAGRIN FALLS, OH 44022

216-247-2100

Circle 204 on inquiry card.

Circle 348 on inquiry card.

Circle 17 on inquiry card.

THE STAR MODEM

From Livermore Data Systems

RS232 MODEMIEEE 488 MODEM

RS232 CCITTIEEE 488 CCITT

SALE $128SALE $199

$170$280

STAR Modem is the price performance leader with a lull2 YEAR FACTORY WARRANTY.

We carry Apple 11+ fromBell & Howell

PROGRAM YOUR OWN EPROMS

Bnnding Iran for PET/CBM $79

EPROM Programmer with software lor all ROM ver-sions. Includes all necessary hardware and software toprogram or copy 2716 and 2532 EPROMS.

Paper-Mate Word Processor $39.95

PET/CBM full featured 60 command system by MichaelRiley. Uses either tape or disk and any printer Includes in-text commands, floating cursor, scrolling, etc.

FLEX-FILE Data Base for CBM/PET $60

Random file handling system with Report Writer and MailLabel Handler By Michael Riley

REVERSAL (Spracklen) 32K Apple 28.00

Super FORTH 48K Apple 40.00

Energy Miser for PET, Apple, or Zenith 24.50

Data Manager (Lutus) 24 K Apple 40.00

Histo-Graph (Boyd) 48K Apple 24.50

Data-Graph (Boyd) 48K Apple 40.00

Apple II User's Guide (Osborne) 12.00

Introduction to Pascal (Sybex) 10.30

Pascal Handbook (Sybex) 12.00

Graphics Cookbook for Apple 9.90

Musical Applications of Micros (Chamberlin) 20.00

Basic FORTRAN (Coan) 7.25

KM MM Pascal for PET $75

Subset of standard Pascal with true machine languagetranslator for faster execution 16K with tape or disk

EARL for PET (disk file based)

$65

Editor. Assembler. Relocator, Linker to generate relocat-able obiect code

FORTH for PET/CBM or Apple $65

A lull-featured FORTH with extensions conforming to ForthInterest Group standards Includes assembler, string pro-cessing capabilities, disk virtual memory multiple dimen-sioned arrays, floating point and integer processing

MIPLOT Intelligent Plotterby Watanabe Instruments (Digiplot)

SPECIAL

$1195

Has all intelligent functions for producing graphs anddrawings including 8 vector and 4 character commands-Solid and broken lines can be specified. Character gen-erator for alpha, numeric, and symbols. Characters can berotated in 4 orientations, and can be 16 sizes. Coordinateaxes drawn by specifying graduation interval and numberof repetitions. Parallel ASCII interface, 11x17 paper.

SPECIALS

EPSON MX-80 PrinterEPSON MX-80 F/T PrinterEPSON MX-70 PrinterEPSON MX-100 Printer

Centronics 739 Printer 750

STARWRITER Daisy Wheel Printer 1445

Leedex Video 100 12" Monitor 129

ZENITH DATA SYSTEMS

Z19 Video Terminal 729

Z89with48K 2150

Extra 16K RAM 115

Z-47 Dual 8" Drive 2775

SYM-1 209

SYM BAS-1 BASIC or RAE-1/2 Assembler 85

KTM-2/80 Synertek Video Board 349

6502 7.45

10/6.95 50/6.55 100/6.15

6502A 8.40

10/7.95 50/7.35 100/6.90

6520 PIA 5.15

10/4.90 50/4.45 100/4.15

6522 VIA 6.45

10/6.10 50/5.75 100/5.45

6532 7.90

10/7.40 50/7.00 100/6.60

2114-L200 ns RAM

3.75 25/3.50 100/3.25

2114-L300 ns RAM

3.15 25/2.90 100/2.65

2716 EPROM

7.75 5/7.45 10/6.90

2532 EPROM

17.00

4116 200ns

8 for $20

S-100 Wire Wrap

2.65

Zero Insertion Force 24

pin Socket $2.00

CASSETTES - AGFA PE-611 PREMIUM

High output, low noise, 5 screw housing, labels.C-10 10/5.65 50/25.00 100/48.00

C-30 10/7.30 50/34.00 100/66.00

All other lengths available. Write tor price list.

commodore

CBM-PET SPECIALS

C Up to $375 free merchandiseaJ> with purchase ol one of<C" blowing CBM-PET items:

8032 32K - 80 Column CRT8050 Dual Disk Drive4016 Full Size Graphics Keyboard4032 Full Size Graphics Keyboard8096 96K - 80 Column CRT

2040/4040 Dual Disk Drive - 340K 1295 260

4022 Tractor Feed Printer 795 140

CBM Voice Synthesizer 395 50

C2N External Cassette Deck 95 12

Used CBM/PET Computers CALL

VIC Personal Computer 300 25

WRITE FOR SYSTEM PRICES

*** EDUCATIONAL niscbUMTS***

Buy 2 PET/CBM Computers, receive I FREE

DISKSPECIALS

SCOTCH (3M) 5'A" 10/2.85 50/2.75 100/2.65SCOTCH (3M) 8" 10/2.90 50/2.80 100/2.70

Verbatim 5 Vt" 10/2.45 50/2.40 100/2.35

(add 1.00 for SVa" Verbatim plastic storage box)Verbatim8"Dbl.Dens. 10/3.45 50/3.35 100/3.25BASF5'/4" 10/2.40 20/2.35 100/2.30

WRITE for prices on WABASH DisksWE STOCK MAXELL DISKS

Diskette Storage PagesDisk Library Cases

8" - 2.85

10 for 3.955"-2.15

A

ATARI 800 $745

All Atari Modules 20% OFF

WordPro 3+ - 32K CBM, disk, printerWordPro 4+ - 8032, disk, printerOZZ Data Base System for CBM B032VISICALC for PET or ATARISM-KIT - Super PET RDM Utilitites

25033533517040

4 PART HARMONY MUSIC SYSTEM for PET

The Visible Music Monitor, by Frank Levinson, allows youto easily enter, display, edit and play 4 part harmonymusic. Includes whole notes thru 64ths (with dotted andtriplets), tempo change, key signature, transpose, etc. TheKL-4M unit includes D to A converter and amplifier (addyour own speaker).KL-4M Music Board with VMM Program $59.90

Programmers Toolkit - PET ROM Utilities 34.90

PET Spacemaker II ROM Switch 36.00

2 Meter PET to IEEE or IEEE to IEEE Cable 40.00

Dust Cover for PET 6.90

IEEE-Parallel Printer Interface for PET 110.00

IEEE-RS232 Printer Interface for PET 120.00

The PET Revealed 17.00

Library of PET Subroutines 17.00

Source Hookup over 1000 programs/services

88

ATARI EDUCATIONAL PLAN Write for details.

A P Products 15% OFFAPHobby-Blox 15% OFF

ALL BOOK and SOFTWARE PRICES DISCOUNTED

The 8086 Book (Osborne) 14.00

Z8000 Assembly Language Programming 16.90

PET Personal Computer Guide (Osborne) 12.75

PET and the IEEE-488 Bus (Osborne) 13.60

6502 Assembly Language (Osborne) 14.45

Programming the 6502 (Zaks) 10.45

6502 Applications Book (Zaks) 10.45

6502 Software Cookbook (Scelbi) 9.45

CP/M Handbook (w/ MP/M) Zaks 11.85

Practical BASIC Programs (Osborne) 13.60

Some Common BASIC Programs (Osborne) 12.75

252 Bethlehem PikeColmar, PA 18915

215-822-7727

A B Computers

Circle 1 on inquiry card.

WRITE FOR CATALOG.

AddSI 25 per order for shipping We pay balance of UPS surlace chargeson all prepaid orders Prices listed are on cash discount basis Regularprices slightly higher

M

16-K b/$16.75

E M O R Y

RAM

4116 2oons8/$16.75 $2.75ea.

2114L3oon58/$19.75 $2.55c.4164 2oons $27.00„

EPROMS

2732<5V)45ons8/$15.00 $ 16.95c,

2716(5V)45ons 8/$5.75 $6.35ea.

All chips are fully guaranteed

All chips factory new

Call for quantity pricing

We are Price Competitive

Add 52.50 Shipping & Handling

C.O.D. S3.00. Wash, residents add

5.4% Sales Tax

CHIPS & DALE

P.O. Box 3 1607Seattle, Washington

Zip 98103 1-206-524-9126

CONTROL-Z

SINGLE BOARD Z-B0A+ COMPUTER FOR CONTROL USES

Sola

in.ii Tost Equipment Machine Control Robotics

jam Peripheral Conlrollei Security Systems OEM Products

latic Dialing Eqdipmonl Traffic Signal Control Eld

Homing A Ponar Sysloms Appliance Control

FEATURES: -1 MHZ Z-aOA- (on bo.-mt cry.,lal|. Ik RAM. sockets lor 2 271B 5 |4«PROM). 3-8 bit parallel TTLoulnulpodr,. IB l;.l u.iraNol TU muul rjorl'.-.. 0 .iri.ilrjfp ninul

iwjlaluij input l.n,-:. u.lr.i -.;.;.,!.■ !,t I II i.i>i;»ut lor ■ :■ I O l Bflwiimi .Mr.ughr tij

buslotportcip.instr.in onunairl '.>■■ rocjul.tir.-r .r:.BPCboaii).ij:,ir:i'.r.iin!;ii(172RinuUgoconnector fully sockeiod. requires • 8 10 10 volts. 500 mA

PRICE: 5295

TERMS: CHECK.MC VISA orCOD Cal Ros add 6S la>

First Class Shipping Included ■"•a*"' i»aw«« a Iwj. w<

COMPUTER-AID

1122 DE LA VINA SANTA BARBARA, CA 93101 (805) 966-3077

CP/M COMMUNICATIONS

LY N C™

THE BEST AVAILABLE PROGRAM

FOR CP/M COMMUNICATIONS

LYNC is extremely powerful and easy to use and a must lor every computeruser thai wants to communicate with time-shanng systems or other CP'Mcompulers

TERMINAL MODE

In this mode your system acts as a terminal Can send to ot receive from alimeshanng system. When receiving data liom a remote system, receiveddata is buffered to your maximum memory then can be saved as a disk die

LYNC MODE

Communicate on-line with another computet similarty equipped Both enOscan type messages that appear simultaneously on coin screens

SEND: AUTOMATIC ERROR DETECTION A RETRY

LVNC sends block of information with 16 Bit checksums. In case of error it willkeep retrying until successful

FETCH

Once both systems are m LYNC mods, either operator can FETCH (ties Iromother system

REMOTE AND LOCAL DIRECTORY

Can display both local and remote directories

BAUD RATES: UP TO 9600 BAUD

SELF GENERATING I/O ROUTINES REQUIRE NO

PATCHING

PRICE $95 TERMS MONEY ORDER. CHECK. COD. M C OH VISAPLEASE SPECIFY DESIRED FORMAT 8" Single Density. 5" Micropolis,TRS-80 Mod II with CP'M. North Star single or double density, Superbrain3 0 DOS or later: Cromenco 5" single density

COMPUTER-AID

1122 DE LA VINA • SANTA BARBARA, CA 93101 (805) 966-3077

Circle 53 on inquiry card.

Circle 66 on inquiry card.

Circle 67 on Inquiry card.

SAVE 90%

You CAN save up to 90%by building your ownMicro or Minicomputer!If you can read - youcan do it. SO DO IT!

FREE DETAILS

DIGATEK CORP

SUITE 2D

5723 til. BUTLER DR.

PHOENIX AZ flSDSl

You CAN afford aComputer of your own

68000

ERG68-696 68000 CPUavailable and in produc-tion. Meets or exceeds allaspects of IEEE696 S-100standard.

$1995

Z-80 emulation and in-tegrated 68000 systemsalso available.

Empirical Research Group, Inc.

POBox 1176

Milton, WA 98354

206-631-4855

© Dysan

^CORPORATION

Solve your disc problems, buy 100% surfacetasted Dysan diskettes. AH orders shippedfrom stock, within 24 hours. Call toll FREE(800) 2354137 for prices and informationVisa and Master Card accepted. All ordersseni postage paid.

PACIFICEXCHANGES

100 Foothill Blvd.San Luis Obispo. CA93401. (In Cal. call(805) 543-1037.)

Circle 109 on inquiry card.

Circle 162 on inquiry card.

Circle 292 on inquiry card.

RS-232 PROBLEMS?

LET THE RS-232 TESTER HELP YOUSOLVE YOUR COMPUTER INTERFACEPROBLEMS. DESIGNED TO CONNECTIN SERIES WITH ANY RS-232 INTER-FACE, IT DISPLAYS THE STATUS OFSEVEN OF THE MOST IMPORTANTLINES: TRANSMIT DATA, RECEIVEDATA, REQUEST TO SEND, CLEAR TOSEND, DATA SET READY, CARRIERDETECT, AND DATA TERMINALREADY. THE RS-232 TESTER RE-QUIRES NO POWER AND MAY BELEFT IN THE LINE PERMANENTLY.

$39.95 POST PAIDB & B ELECTRONICS

BOX 475/MENDOTA, IL 61342

FACTORY PRIME STATIC RAM CHIPS

2114 Super Low Power

200ns. 1Kx4 S 2.90

6514 CMOS 300ns. 1Kx4 $ 6.90

6116 CMOS 200ns. 2Kx8 $22.50

Add $5.00 Handling on Orders Under $200.00prtpTfipY PRIMP From tne same shipments used inTHUIUnT rnimC GIMIX Professional quality boards.

32KB STATIC RAM CARDS

for the SS50 and SS50C BUS

(16KB - $298.12), (24KB - 348.14)

(32KB — $398.15)

eWi 64KB BATTERY BACK UPCMOS RAM CARDS

Two independently addressable 32KB

blocks, eacb with extended addressing.

(56KB - $994.56), (64KB - $1088.64)

2MHZ 6809 56KB SS50 SYSTEMS $2498.29

DISK SYSTEMS AVAILABLE

GimiX (51

1337 W. 37th Place • Chicago, IL 60609(312)927-5510 • TWX 910-221-4055The Company that delivers.

Quality Electronic products since 1975.

GIMIX' and GHOST* are Registered Trademarks ol GIMiX INC.

ZEN is HERE

FAST SCREEN EDITINGfor CP/M & NORTH STAR

OPEN PROGRAMS WITH SOURCE FILES

ZEN' offers you very fast screen editing without linenumbers. You are in control and ZEN may be reas-sembled to change or. add custom features. Callsystem and return without losing the file. Justify evenold disc files to any line length. Save, append, find,print & much more, with ease. Monitor functions arebuilt in, extensions can be added. A 32K system withconsole is necessary but addressable cursor is notrequired.

CPM version for 1.4 thru MPM releases, uses theirassembler and line command conventions which caninclude multiple command lines.

North Star DOS versions have a disc assembler, anextensive monitor and some Basic utilities. They usethe N.S. line editing conventions.

Specify version #ZEN2.1 S'SDSSCPMZEN2.2 5" DD NS CPM

Disc and Manual 575CA residents add 6%

ZEN1.1 5" SD NS 2000ZEN1.2 5" DD NS 2000ZEN1.3 5" DD NS OIOO

Manual alone SI 5Send check to:

ZENRAD CONTROLS CO

1575 A.P.S.

Santa Barbara CA 93103

Circle 32 on inquiry card.

Circle 146 on inquiry card.

Circle 406 on inquiry card.

DIGITAL RESEARCH COMPUTERS

(214)271-3538

32K S-100 EPROM CARDNEW!

Blank PC Board - $34

ASSEMBLED & TESTEDADD $30

SPECIAL: 2716 EPROM's (450 NS) Are $9.95 Ea. With Above Kit.

7. Any or all EPROM locations can bedisabled.

8. Double sided PC board, solder-masked.silk-screened.

9. Gold plated contact fingers.

10. Unselected EPROM's automaticallypowered down for low power.

11. Fully buffered and bypassed.

12. Easy and quick to assemble.

KIT FEATURES:

1. Uses +5V only 2716 (2Kx8) EPROM's.

2. Allows up to 32K of software on line!3 IEEE S-100 Compatible.

4. Addressable as two independent 16Kblocks.

5. Cromernco extended or Northstarbankselect.

6. On board wait state circuitry if needed-

32K SS-50 RAM

$329

00

KIT

For 2MHZAdd $10

Blank PC Board$50

For SWTPC6800 - 6809 Buss

Support IC's

and Caps

$19.95

Complete Socket Set

$21.00

Fully Assembled,

Tested, Burned In

Add $30

At Last! An affordable 32K Static RAM with full6809 Capability.

FEATURES:

1. Uses proven low power 2114 Static RAMS.

2. Supports SS50C - EXTENDED ADDRESSING.

3. All parts and sockets included.

4. Dip Switch address select as a 32K block.

5. Extended addressing can be disabled.

6. Works with all existing 6800 SSS0 systems.

7. Fully bypassed. PC Board is double sided,plated thru, with silk screen.

16K STATIC RAM KIT-S 100 BUSS

PRICE CUT!

$1699flT

III fill111IIIIII

jiiliii'iifiiiiiiiiii

16K STATIC RAM SS-50 BUSS

PRICE CUT!

K% i Hi

.. 3111 Ell 1111 illi

1i111I1illIi111I

mm

Mill IJ] II 111 I Ml

FULLY STATIC!

KIT FEATURES:

1. Addressable as four separate 4K Blocks.

2. ON BOARD BANK SELECT circuitry, (Cro-mernco Standard1). Allows up to 512K on line!

3. Uses 2114 (450NS) 4K Static Rams4,- ON BOARD SELECTABLE WAIT STATES.

5. Double sided PC Board, with solder mask andsilk screened layout. Gold plated contact fingers.

6. All address and data lines fully buffered. ASSEMBLED & TESTED-ADD $357 Kit includes ALL parts and sockets.

8. PHANTOM is jumpered lo PIN 67.

9. LOW POWER: under 1.5 amps TYPICAL fromthe+8 Volt Buss.

10. Blank PC Board can be populated as anymultiple of 4K.

FOR 2MHZADD $10

BLANK PC BOARD W/DATA-$33

LOW PROFILE SOCKET SET-$12

SUPPORT IC'S & CAPS-$19.95

FOR SWTPC6800 BUSS!

OUR #1 SELLINGRAM BOARD!

ASSEMBLED ANDTESTED - $35

KIT FEATURES:

1 Addressable on 16K Boundaries

2. Uses 2114 Static Ram

3. Fully Bypassed

4. Double sided PC Board. Solder maskand silk screened layout

5. All Parts and Sockets included

6. Low Power: Under 1.5 Amps Typical

BLANK PC BOARD—$35 COMPLETE SOCKET SET—$12

SUPPORT IC'S AND CAPS—$19.95

^ STEREO! *«*

S-100 SOUND COMPUTER BOARD

COMPLETE KIT!

$3495

(WITH DATA MANUAL)

At last, an S-100 Board that unleashes the full power of twounbelievable General Instruments AY3-8910 NMOS computersound IC's. Allows you under total computer control togenerate an infinite number of special sound effects forgames or any other program. Sounds can be called in BASIC,ASSEMBLY LANGUAGE, etc.KIT FEATURES:

* TWO Gl SOUND COMPUTER IC'S.» FOUR PARALLEL I/O PORTS ON BOARD.

* USES ON BOARD AUDIO AMPS OR YOUR STEREO.

* ON BOARD PROTO TYPING AREA.

* ALL SOCKETS, PARTS AND HARDWARE ARE INCLUDED.

* PC BOARD IS SOLDERMASKED, SILK SCREENED. WITH GOLD CONTACTS.

* EASY, OUICK, AND FUN TO BUILD. WITH FULL INSTRUCTIONS

* USES PROGRAMMED I/O FOR MAXIMUM SYSTEM FLEXIBILITY.Both Basic and Assembly Language Programming examples are included

SOFTWARE:

SCL™ is now available! Our Sound Command Languagemakes writing Sound Effects programsa SNAP! SCL™ also includes routines for Register-Examine-Modify, Memory-Examine-Modify,and Play-Memory. SCL" is available on CP/M' compatible diskette or 2708 or 2716. Diskette -$24.95 270S - $19.95 2716 - $29.95. Diskette includes the source. EPROM'S are ORG atEO00H.

BLANK PC

BOARD W/DATA

$31

SPECIAL PURCHASE!

UART SALE!

TR1602B - SAME AS TMS6011,AY5-1013, ETC. 40 PIN DIP

TR1602B

$2

95

EACH

4 For $10

00

CRT CONTROLLER CHIPSMC #CRT 5037. PROGRAMMABLE FOR 80 x 24, ETC. VERY RARESURPLUS FIND. WITH PIN OUT. $12.95 EACH.

4K STATIC RAM

National Semi. MM5257. Arranged 4K x 1. +5V, 18 PIN DIP. ALower Power, Plug in Replacement for TMS 4044. 450 NS.Several Boards on the Market Will Accept These Rams. SUPERSURPLUS PURCHASE! PRIME NEW UNITS!8 for $16 32 for $59.95

NEW! G.I. COMPUTER SOUND CHIP

AY3-8910. As featured in July, 1979 BYTE! A fantastically powerful Sound & MusicGenerator. Perfect for use with any 8 Bit Microprocessor Contains: 3 Tone Channels,Noise Generator, 3 Channels of Amplitude Control. 16 bit Envelope Period Control, 2-8Bit Parallel I/O 3D to A Converters, plus much more! All in one 40 Pin DIP. Super easyinterface to the S-100 or other busses. $11.95 PRICE CUT!

SPECIAL OFFER: frKr$5 each Add $3 for 60 page Data Manual.

Digital Research Computers

^ (OF TEXAS) '

P.O. BOX 401565 « GARLAND, TEXAS 75040 • (214) 271-3538

TERMS: Add $2.00 postage. We pay balance. Orders under $15 add 75«handling. No C.O.D. We accept Visa and MasterCharge. Tex. Res. add 5%Tax. Foreign orders (except Canada) add 20% P & H. Orders over $50, add85C for insurance.

•TRADEMARK OF DIGITAL RESEARCH.

WE ARE NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE.

Circle 117 on inquiry card.

HEADERS

NT ANGLE MOUNT

34 PIN HEADER3M 3413-1003 it.25 EA40 PIN HEADERALPHA $I.50EA

50 PINHEADER3M 3433-1002 SI .75 EA40 PIN CONNECTOR3M 3417$1.50EACH

22/44 EDQE CONNECTOR

TIN SOLDERTAIL .156"« .200"

LARGE QUANTITIES AVAILABLE

8 POLE DIPSWITCH

B3 gg

RFI LINE FILTER

for line to lineA line lo groundnoise suppressionCOflCOM * IOK6

Rated: 10 amp115/250v

50-400 ru

$3.75ea.10 lor S35.00

SUB MINI LED.

20 MA at 1.75 volt.075"X .098"10 lor SI.00PACKAGE ol 200 PCS

$16.00400 lor $32.001000 lor $70.00

HLL CLECTROniCS CORP.

905 S. Vermont Ave. terms

P.O. BOX 20406 ,0u„

Los Angeles, Calif. 90006 ■ Mm o.nc $10oi(213)380-8000 "JS"200,,,.

Mon.-Fri. Saturday .S°r7sUa"o69 AM-5 PM 10AM-3PM-'"°

SEND FOR FREE CATALOG

Circle 10 on inquiry card.

APPLE, PET, TRS-80, CP/M

SOFTWARE

Westico is a publisher and distributor ofprofessional software for microcomputers.If you have a new program ready fordistribution or want your existing programsto reach a larger market, contact:

Phillip Woellhof. V.P. Mktg.

Westico, Inc.

25 Van Zant Street

Norwalk, CT 06855

(203) 853-6880To increase your profits, take advantageof Westico's worldwide promotion anddistribution.

WESTICO

The Software Express Service

Our software for the Applekeeps the Doctor away...

... away from needlessbilling drudgery.

The Pro-soft Medical Billing System tor theApple II features:

•Up to ten physicians •Immediate Superbill•Over 7000 accounts "MediCare, Medt-Cal. Other•RVS and IDCA codes 'Menu driven, easy lo use• Support and training

For more information call or write us - today'

$&k Professional Medical Software55 (213) 248-2884

§ 3604 Foothill Boulevard .

? La Crescenta, CA 91214

Circle 318 on inquiry card.

INVENTORY CONTROL SYSTEM

WITH PARTS EXPLOSION FORFINISHED GOODS ANO ASSEMBLIES

Parts requirements forecasting & Pull Sheets

Reorder Reports

Economic Order Quantities

5000 Items per 8" disk

AVAILABLE FOR CROMEMCO, CP/M0,

AND OASIS OPERATING SYSTEMS

Hardware requirements: 64k RAM,132 Column printer.

Manual and 8" floppy disk $250.

Multi-level explosion version $499.

Job Costing $350.

Accounts Receivable, Accounts Payable,Order Entry, General Ledger, Payroll andMailing List programs also available.

FEITH SOFTWARE, INC.

204 MARVIN RD.

ELKINS PARK. PA. 19117

(215) 782-8240

THIS

is only one

/ _ \

of hundreds

of unusual

values .

Atari 800 16K • J789

Get yourFREE

TOLL FREE

CATALOG

1-800-343-8124

today!Dept. C

corn purer

245A Great Road

^^™^nluBr

Littleton.

/A

MVw

01460

THIS

in

is only oneof hundredsof unusualvalues . . .Get your

pgay

Radio Shack's

Color Computer 4K • 5310

FREE

TOLL FREE

CATALOG

1-800-343-8124

today!

Dept. I

come

H/rer

245A Great Road

r

riliL«r

Littleton, MA

JHJO

01460

f~ QUARTZ CRYSTALS *~J

1 , .1218-8

5.2428 B

9.9336-8 20D00-B 362BB6-B

42.851 B-B

46BI2B 6 I

1 £3906

5.610 8

9.96408-B 204968 S 3636358

4247684

473768 6 ' ,

, ' 1 000 A

5.7I43B

998960 8 22.1184 8 3? 9628 8

42.92584

4748388 I

1 1843? A

5.955-8

10.000 8 2242588 38.37684

4246284

480004 i'

1 . 1 843? 0

S.982B

102458-6 263556-8 38.4448-8

4300084

443006 -8 |

^ ' 2.0M-A

6.0008

10 4968 B 265006-8 38.6258-8

434378-8

4866684 ( ,

. r 2.0971 ■»

6.144-8

10.775543 266/068 38 9258-8

434748-8

48.70064 { '

' k 2.4576-A

6.15030 6

10.8255-B 270O0U 393I2B-B

43.18584

4847684 . I

< . 2.500-A

6.297BO-B

1083866 2/00068 395038-B

43-2598 B

49.70064 ' ,

1 * 2.6657.B

MOM

11.1360-8 2765068 39.6668-B

4333384

49 73384 <

1 2.9950B

6.5536B

11.155-8 281(116 8 39.7538-B

4337084

49812B4 , >

' > 3.000-A

6.725308

H2186-B 284276 8 394768-8

43.40784

5025054 |

| 3.067 8

6.75840-B

H.2B90B 287538B 399628B

43.43764

5105564 1 .

, 1 3.200-6

690O3 8

M.4776-B 2947584 40.4448-8

43.44484

5I3I2B4 (

1 \ 3.2768-A

7.00638

11.6566-8 29.93784 40 5928-8

4355584

51.77784 , 1

1 3 500 If

7.0336-B

II.6B16-8 3066-10 8 4041284

4362984

51.85064 * |

| ' 3.57S-B

7.091GB

121-108 3036066 4043364

434666-B

5241284 < .

. 1 4.000-B

T.1B36-B

143182-B 30.6258-6 4047584

43.77764

56.7506-8 < '

1 . 4.1943-8

7.2586-B

U.43D8-B 3047684 4048864

4341284

6060064 1

| 4.3426-8

B.0O0-B

I5JJ00-B 31.43786 40J25B-6

4341484

60.75084 ' ,

. > 4.4803-8

B.0556-B

15.4408-6 31.75384 41330088

4345188

6675068 1

1 , 4.6I03-B

B.1416-8

15.5066-8 3190084 41.1G66-B

4388484

70.40064 , '

1 4.6SQ3-B

B.I81B-B

163)004 3ZJU0 B 41.37684

43.92584

754005-B |

| ' ■1.0303-8

8.3303-B

1638488 3320068 4143784

14 00088

B04338-B < .

1 4.9152 1)

B.4998-B

17.2248 8 33.62584 4? 0006 B

44.03784

99.9668 6 <

1 . 5.0O0-B

B.5766B

1/2422 6 34.55584 425836 B

44.376B-B

10066684 , >

1 5.0688-8

8.6056-8

18 000 8 34.75384 42.6268-B

44.77784

101.4668 8 ,

■ ' 5.1203-B

8.96086

18.4320-B 34.97764 42.70064

45.1256 8

103066BB 1

| 5.IB50-B

B9906-B

19.4690-6 35.9256-6 42.7538-8

463006B

10346684 /

< . 5.1856-8

9.47208-B

197508-8 36.0008 4281-18 B

46.70068

1049918-8 ,1

1 mi fi-

tm

ALL 8 -1199

0ORM0BI OfHIICT b".-. ' |

*DD S1.00 SHIPPING

CAL.

RES. ADD 6% SALES TAX

FREE OSCILLATOR SCHEMATICS

WITH ANY ORDER

ll QUALITY COMPUTER PARTS |i

1 PO

BOX 743 / CHATSWORTh

.CA91311 I

Circle 139 on inquiry card.

Circle 74 on inquiry card.

Circle 321 on inquiry card.

CARD COMPUTER FORDEDICATED CONTROL

The AE-85 with trie many features listed below is ideal lor de-dicaied control applications since all the necessary features arcprovided onboard. Even the interrupt control logic and space lotcustom electronics is provided so as to further reduce develop-ment costs So save time Willi Itie simple solution and discoverthe AE-85

Standard

■ Standard 6 MHz 8085 MPU with serial port" 22 programmable bidirecnonal I/O pins

■ 256 bytes of RAM

■ 14 oil crystal controlled counter/timer

■ Up to 4K EPROM (accepts 2708. 2716 or 2732)

• Provisions lor 190 wire wrap pins for various sockets andconnectors

■ Onboard jumper definable logic allowing easy combining olinterrupt requests for the 4 hardware interrupts

' 6 by 6 inches wilh lour 3/16 inch holes for easy mounting

* Assembled and lested $179.00 singles

Optional an extra

■ 22 programmable bidirectional I/O pins' 1280 bylesol RAM

' 14 bit crystal controlled counter/limer

Call today for more information. Phone: 6142213060Adroit Electronics. Inc.. 5 East Long Street, Suite 1012.Columbus, Ohio 43215

COLOR VIDEO MONITORS

RGB AND COMPOSITE

VIDEO

•TC-700 13" color video monitor/receiver,NTSC composite video. $399.00 TC-900,19", $595.00. Use with Apple II and III andother computers.

•CM-19RGB: 19" screen, 3 modes: RGB,Composite video, TV. $895.00.•Apple III RGB Interface: Converts RGBdata from Apple III to produce 16 colordisplay on RGB monitor. $129.00.•Hitachi Hi-Res RGB, 13" characterdisplay, 2000, 80 x 24, 5 x 7 dot matrix, TTLinputs. $1200.00.

•Sony TV to video monitor conversion kit,MCK 100: $135.00.

•OEM 13" and 19" RGB color monitors,immediate delivery, prices and specs, on re-quest.

For additional information, contact:

1/ietea- 7K&i6e£iK&. Inc.

P.O. Box 339

Warrington, Pa. 18976

(215) 343-3000

— Discounts Discounted —

We Feature

CP/M - Osborne - Rejas - Forth

Micro-soft — Micro-Pro —Micro-AP — Fortran — S-Basic

Special Feature PackagesCP/M — Peachtree Programs

General Ledger .

Acct. Rec. \

Acct. Payable \

Pay Roll— ) $1250.00

— / Plus— Sales Tax—/ Plus— Shipping

Inventory

Mailing Address-

This sale terminates when this ad closes.Act Now.

PACIFIC DISCOUNT

SOFTWARE

3204-A Production Avenue

Oceanside, California 92054

Telephone (714)439-6201

Circle 5 on Inquiry card.

Circle 395 on inquiry card.

Circle 291 on inquiry card.

VIO-X

The VIO-X Video I/O Interface for theS-100 bus provides features equal to mostintelligent terminals both efficiently andeconomically. It allows the use of standardkeyboards and CRT monitors in conjunc-tion with existing hardware and software. Itwill operate with no additional overhead inS-100 systems regardless of processor orsystem speed.

Through the use of the Intel 8275 CRTcontroller with an onboard 8085 processorand 4k memory, the VIO-X interface oper-ates independently of the host system andcommunicates via two ports, thus elimi-nating the need for host memory space.The screen display rate is effectively 80,000baud.

The VIO-X1 provides an 80 character by25 line format (24 lines plus status line)using a 5 x 7 character set in a 7 x 10 dotmatrix to display the full upper and lowercase ASCII alphanumeric 96 printablecharacter set (including true descenders)with 32 special characters for escape andcontrol characters. An optional 2732character generator is available whichallows an alternate 7 x 10 contiguousgraphics character set.

FULCRUM

COMPUTER PRODUCTS

The VIO-X2 also offers an 80 characterby 25 line format but uses a 7 x 7 characterset in a 9 x 10 dot matrix allowing high-resolution characters to be used. Thismodel also includes expanded firmware forblock mode editing and light pen location.Contiguous graphics characters are notsupported.

Both models support a full set of controlcharacters and escape sequences, includ-ing controls for video attributes, cursorlocation and positioning, cursor toggle,and scroll speed. An onboard Real TimeClock (RTC) is displayed in the status lineand may be read or set from the hostsystem. A checksum test is performed onpower-up on the firmware EPROM.

Video attributes provided by the8275 in the VIO-X include:

• FLASH CHARACTER

• INVERSE CHARACTER

• UNDERLINE CHARACTER or

• ALT. CHARACTER SET

• DIM CHARACTER

The above functions may be toggledtogether or separately.

The board may be addressed at any portpair in the IEEE 696 (S-100) host system.Status and data ports may be swapped ifnecessary. Inputs are provided for parallelkeyboard and for light pen as well as anoutput for audio signalling. The interruptstructure is completely compatible withDigital Research's MP/M ®.

Additional features include:

HIGH SPEED OPERATION

PORT MAPPED IEEE S-100

INTERFACE

FORWARD/REVERSE SCROLL or

PROTECTED SCREEN FIELDS

CONVERSATIONAL or BLOCK

MODE (opt)

INTERRUPT OPERATION

CUSTOM CHARACTER SET

CONTROL CHARACTERS

ESCAPE CHARACTER

COMMANDS

INTELLIGENT TERMINAL

EMULATION

TWO PAGE SCREEN MEMORY

VIO-X1 - 80 X 25 5 X7 A & T

Conversational ModeVIO-X2 -80X25 7X7A&T

Conversational & Block Modes

-CZD

$295.00$345.00

VIO-X S-100 I/O INTERFACE

Distributed by:

WW COMPONENT SUPPLY INC.

1771JUNCTION AVENUE • SAN JOSE, CA 95112 • (408)295-7171

Circle 404 on inquiry card.

BYTE August 1981 447

DOUBLE YOUR LA36OECWRITERS SPEED TO 60CPS

The ACCELEWRITER converter enables youto convert the LA360ecwriter from 10715/30to 10/30/60 CPS.

Utilizes Decwriter's own built-in 60 CPS

speedPlugs into logic boardCompatible with Decwriter option boardsDecwriter reconverts to "stock" in

secondsThousands soldIn use for over 4 yearsFull one-year warranty$135 includes shipping

Brochure sent promptly at your request.Write or call us.

LARKS ELECTRONICS & DATA

P.O. Box 22. Skokie. IL 60077(312) 677-6080

SINGLE-BOARD VERSATILITY!

m-BKSt

The NewBASYS/1'can:

• directly drive motors and solenoids

• operate for weeks on a few flashlightbatteries

• work reliably from -40 to + 85°C.

• monitor 80 keys and drive 10-digitLED displays

• fit in a 4.5 x 6.5 x 1" space

...and a lot more. BASYS/1 is a CMOS single boardcomputer for real-world control applications. It con-tains a COSMAC 1802 CPU, up to 2K RAM, 8KROM, and versatile serial, parallel, and multiplexedI/O. ROM monitor supplied for machine languageprogramming, or order optional Integer BASIC or8TH (our version of FORTH). Expansion boardsalso available.

BASYS/1 With 1K RAM, 5K ROM. Kit S185,

assembled S220

TECHNICAL MICRO SYSTEMS, INC.366 CloverdaleAnn Arbor, Ml 48105(313) 994-0784

EAGLES 1 |COWBOYS ? I

RAIDERS ?RAMS ?

II you o like to know NOW before the big game

With PROCAP and your TRS-80" you can use statisticsprobability theory to predict the results ol this week'sgames And more PROCAP

• Gives offensive and defensive ratings tor everyNational Football League team

• Predicts range ot results and probable score tor

■ Allows computer malchup ol any two learns(Great lor play oils'I

• Gives 'up-IO-the-minule standings, statistics.and ratings lor each NFL Division

PROCAP is easy lo use and comes with extensive docDisk or cassette version is only 549 95

To order call our toll treeguarantee, so you can't lose

Dial (BOO) S43-30O0 operator 400In Ohio dial (BOO) 5B2-1364 operai

ber NOW Money back

The Trinity Compult

up • Software Agenl/Publllher

Circle 488 on Inquiry card.

Circle 226 on Inquiry card.

Circle 23 on Inquiry card.

AN ALOG** DIGITALDIGITAL** ANALOG

CONVERSION MODULES

SOFTWARECAIN CONTROL

rd test S 101! [MpI'iWwixoble high and low inputs gain

■nin .I 16 channel i if* tb ttjffii In |jto1

programmable gain instrumentation

it ml U-j Mini StolSklu

12-bit sample and hold amplifier

For additional details about the AD-100-4 and otherfine California Data corporation 100% individuallytested, high reliability products, circle the readerservice card number below or for faster responsewrite or call us.

CALIFORNIA DATACORPORATION

3475 Old Conejo Road. Suite C-10Newbury Park, CA 91320

(805) 498-3651

IPEX NEW!

interface Converts

Your Typewriter

Into Printer

v_

• Finest print quality • low cost

» Easy Installation • Quick delivery

• Fits IBM selectrk? typewriter with no modification.■ For TRS-80*, Apple*, or any parallel or RS232 port.

• write or phone for more Information, todayl

— U.S. and worldwide sales—

INTERNATIONAL INC.

16140 valerlo St.

van Nuys,CA 91406 usa

TEL: 213/781-0020 TLX/TWX: 910-495-1767

iPEX

COEO

CRT ORIENTED EDITOR

• For Dala Genera/ Systems:

RDOS (DOS) and AOS (MP/OS).

• Easier to use, faster and more powerful

than: EDIT, SPEED, UNEDIT and SED.

• Includes limited source code, complete

users manual, function key templateand 7 year support.

• Non Data General Terminal support.

$750 for single CPU licenseContact:

M

132 E. St.. *3B

ICROETRIC

Davis, CA 95616(916) 758-9355

Syvtenn Programming lorDjia General Computers

Circle 43 on inquiry card.

Circle 179 on Inquiry card.

Circle 229 on inquiry card.

CP/Mi»»68XX

'CROSS-SOFTWAREincluding source code in "C

ASSEMBLER FEATURES:

2-pass absolute assembly

Full instruction set, Motorola-compatible

Free-format input

Unlimited length labels£) Arithmetic expressions in operandsJ) Sorted symbol table output

Intel format hex output

PACKAGE A6800 . .. MC6800/MC6802/MC6808

PACKAGE A6801 MC6801/MC6803

PACKAGE A6809 MC6809

8" soft-sectored disk format, w/manual... S100.00

5" North Star disk format, w/manual S100.00

Manual and listing alone S 85.00

(Wisconsin residents please add 4% tax)

^

introl corp^

■ZA-t \H l/lrnlnli Ct

617 w. Virginia St. " Visa and

Milwaukee. Wl 53204 Master Charge

(4141276-2937 Accepted

CP/M is a trademark of Digital Research

FULL ELIZA FOR YOUR MICRO!

AT LAST! A FULL IMPLEMENTATION ol Ihe original ELIZA program 19 now availabletl Created al MIT in 1966, ELIZA has oecome Ihe:ial intelligence demonstration program ELIZA 13directive psychotherapist who analyses each statement as you type i| inon responds witti tier own comment 01 question Response lime ts virtuallylaneousandhcf remarks are ollenslartlmn.l|i appropriate Designed to runirge mainlramo. ELIZA has hitherto bean unavailable 10 small computereicopl in greatly ItflppMl down versions lacking the sophisllcattc

il|>ri)(iU

,ofaa

Hing t>

n 0' Ihe original is availaole to run on any CPJMur system with at leasl 40K ol RAM. Supplied as a34K COMhmo language) tile on a standard B men diskette, the program is being otteredlimited lime at Ihe introductory price of only 125 And it you want to lindoulshe does 11101 leach net lo do more), we will include me co■■m, written in MtCfMOfl BASIC fiO, Version 5 XX, lor only S20ac

N WHAT WAY'

WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP1

WHAT RESEMBLANCE DO YOU SEE'

DOES IT PLEASE YOU TO BELIEVE 1 AM AFRAID OF YOU?

WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER?

HAT

ARTIFICIAL INTELLIGENCE RESEARCH GROUP

921 NORTH LA JOLLA AVENUE

LOS ANGELES, CALIFORNIA 90046

(213} 656- 7366 (213) 654-2214

MC. VISA, and CHECKS ACCEPTED

NEW! forthe '89 from

MAGNOLIA fl

MICROSYSTEMS

DOUBLE DENSITYDISK CONTROLLER

for both 5Va" & 8" drives

only vPvDytD complete

including CP/M™2.2

MAGNOLIA MICROSYSTEMS. INC.

2812Thomdyke W.. Seattle 98199

(206) 285-7266 (800) 426-2841

CP/M is a trademark of Digital Research.

Circle 178 on inquiry card.

Circle 24 on inquiry card.

Circle 205 on inquiry card.

yc/t-

P.O. Box 4430XSanta Clara, CA 95054

ELECTRONICS

INTEGRATED CIRCUITS

Will calls: 2322 Walsh Ave.(408) 988-1640 TWX 910-338-2139

Same day shipment. First line parts only. Factory tested.Guaranteed money back. Quality IC's and other compo-nents at factory prices.

7402N7WN

now

74 ION741-IN7420H7«!N743QN7tA2H7445N7447N74J8N745QN7474H74751*74B5N7489fl7490N7492N7493N7495N7J100N74I07N741J5N

LM320X-5 ! 35

LM320K-12 I 35

LM32QK-15 I 35

IM320I-5 95

LM320T-B 95

LM32QM2 95

LM320MS 95

LM323K-5 5 95

LM324N 1 00

LM339N 100

LM340K-5 1 35

LM34QK-B t 35

LM340K-12 1 35

LM340K-I5 I 35

LM34DK-24 1 35

LM3401-5 65

LMWOT-B B5

LM340T-12 B5

IM340M5 B5

LM340I-18 B5

LM340T-24 85LM350

74162M74163N74174N74175HM19CN74192N74193H74221N !

74298N I

74365N74366N7436?N

74LS0TJ TTL

ML SOON

74LS02N

74LS04N

74LS05N

74LS08N

74LSI ON

74I.S13N

74LSUN

74LS20N

74LS22N

74LS28N

74LS30N

MLS33N

74L538N

MLS74N

74LS75N

74LS90N

74L593N

74LS95N

741S107N

74LSI12N 4i

74LS1I3N 45

74LS1324 89

74LST36N 50

74LS151N 75

74LS15S'i 79

74LSI57N 1 10

74LS162N I 10

74LSI63H I 10

74LS174N 1 15

74LS190N I 25

74LS221N 125

74LS258N 1 00

74LS367N 89

LINEAR

CA3045 90

CA3046 1 10

CA3081 1 80

CA3082 1 90

CA3089 3 40LM301AN AH 35

LM305H 87

LM307N 35

LM308N 1 00

LM309K T 25LM3HHN 90

LM317T 1 65

LM317K 375

LM3IB 1 50

LM377

LM379

LM3BON

LM3BI

LM3B2

LM709H

IM723HN

LM733N

LM741CH

LM741N

LM747HN

LM74BN

LU1303N

LM1304

LM1305

LM1307

LMI310

LM1458

IM1BI2

LM1889

LM21I1

LM2902

lm:i9(H;n

LM3BC5

lurmtt

MCI458U

NE550N

HE 555V

NE556A

NE565A

NE56GV

NEG57V

NE570H

78L05

7BL08

78M05

75108

75491CN

7'j492t;N

75494CN

2 -■:

8700CJ

S701CN ;

8750CJ

LD130

9400CJV.F

ICL7IM

ICL7I07

CMOS

CD40OOC04001CDJ002CD4006C04007CD400SCD4009C040IOC04QHC04012CD4013CD40MCD4015CD40I6CD4017C04QIBCD4019C04020CD402TCO4022CO4023CO4024CO4025

C04026CQ4027C0402B

C04D29rn.!0-!BCD4035CD40-10C04QJ2CD4043CD««

'':>:.::-■CD4049CD405SC04051CD4060CO-! 065CD4066CO4069CD 4070CD4071CD4072CD4073CD4075CD4076CD4078CD4081CD4082CD4116CD4490CD4507CD450BCD4510CD4511C04515CD4516CD451BCD4520CD4527CD4528CD4553CD4566C045B3CD4585CD4019?74C0D74C0474C1074C1474C2074C3074C4874C7474C7674C9074C9374C15474C16074CI7574C19274C221MC90574C90SMC91474C922R 74C92374C92574C92674C927

81248125BI26BI28BT978T9B

250

114L 450ns 4 00

4116 200ns 3 95

ns 84I16200nsl8 40

1 35 MM5262 40

45 MM5280 3 00

100 UM5320 9 95

1 35 MM5330 5 94

65 PD411D-3 400

65 PD411D-4 5 00

65 P510IL 8 95

' 67 J2Q0A 9 95

45 82S25 2 90

60 91L0JA I 50

I '3 HD0165-5 6 95

1 J2 MM571Q0 4 50

71 GIAV3S500-1 9 95

40 MCM66751A 9 95

9368

CONNECTORS

30 pin edge 2 50

44 pin edge 2 75

B6 pin edge 4 00

• l\] pin edge 4 50

1110 pin edge WW 5 25

IC SOCKETSSolder Tin Low PratllePIN 1UP PIN 1UP6 15 22 30

WIRE WRAP LEVEL 3

50 410C45 —

100016 00

45

SMI

MM5312

3 90

MM5314

3W

MM5369

2 10

MM 5841

14 4f>

MM5865

ms

H9S

filn

i M)

MM5?7f.AG '

4<HI

IBM

7207

/ Ml

7208

IhflS

4 IS

DS0026CN

3 75

DS0056CN

a 75

3 50

MM53I04

2 SO

MICROPROCESSOR

2.35

6502

L' 'IS

40 6802

35 6820

89 6B50

35 60B0A

35 8065

1 95 8086

B5 ZBO

1 25 «0A

1 25 S212l.H 821''3 50 8216

2 75 8224

1 35 8228 h »3

165 B251 6 95

I go B253 15 00

f, [in B?55 5 75

75 825? '0 95

I ■(., 8259 14 95

5 CQ 1B02CP pia^ 13 95

530 1802DP plas 17 95

2 MH? 4 50

4 MHl 4 25

5 MHi 425

lOMHi 4.25

1BMH; 3 90

20 MHz 3 90

32 MHi 3 90

32768 Hi 4 00

1 8432 MH; 4.503 5795 MHi 1 20

2 0100 MHi 1 95.' :i[jr 15? MHi 4.50■'. -V.ua Mil; 4 50'. J7f,S MH? 4 505 U688 MHi 4 505 IB5 MHi 4 505 7143 MHi 4 50

, „ 6 5536 MHt 4 50

lit 14 31618 MHi 4.25

Inl 10 432 MHi 4 50

,95 22.1184 MHi 4 50

J g KEYBOARD ENCODERS

|=,J AV5-2376 S12 50

3 9? AV5-36O0 17 95

2 95 AYS 9100 10 50

5 ™ AV5-9200 16 509 95 74C922 550J, ?,5 74C923 5 502-W HO0I65-5 6 95ill AV6-9'100 ,0S0

3 45 0 Connecton RS232

4 95 DB25P 3 62

6 95 DB25S 5 2C

5 00 Covoi 1 67S 75 DE9S 1 9J0 95 DA15P 2.K4 95 DAI5S

Complete Se!

CDP1BI6P 7 95

65 UART/FIFO

65 AY5-1013 5 50

6b AY5-1014 7 50

6b 3341 6 95

1 25

■150 PROM

3 00 1702A 5 B!

5 50 270B 5 If.

3 10 2716T1 12 01

3 50 2716 b Volt 10 St

3 20 B 2716 S Volt 64 01

1 69 2732 19 9!

2 75 275B 14 Of1 69 8741A 55 011 69 8748 55 01

B748-8

8755AMOS/MEMORY RAMN82S232101-1 2 95 N82S123

2102-1 95 NB2S126

2102AL-4 1 45 N82S1292102AN 2L 1 65 NB2S1312104A-4 4 95 N82S1362107B-4 3 75 N82S13721111 3 75 DMB577

2112-2 3 95 B223

2114 3 75

?114L300ns4 25

9 50

HtttatSH Digit LEO mul-llmeler B9.9S

Slopwalch KM 76.95

Aulp Clack Kit 17.95DlgllBl Clock Kit 14 95

8K1EX Epram Kll

HesiPHOMSl S89 00Mathslbatld S39 00

Eitindsi Bairn* $15 00

i RESISTORS '• wail*'*

1 10 per type 03

I 25 per lype 025

1 100 pet lype OlS

I 1000 peMYPe 012

1 350 piece pack

1 5 pec type 6 75

[ '; wait 5s. per lype 05

I TelevidEO Teiminil

1 Model 912 S7B5 00

i Model 920 S8B5 00

KEYBOARDS

56 •*, ASCII keyposrs H

Fully assembled

53 key ASCn ttyboanj 1

Red TOiB 15

Gteen »now TO'B 20

JumDO Red 20

Green Orange. Yellow Jurr.DD 25

Clinlite LEO Mourning Clips 8 SI 25Ispeoty red. amoe.'. green yellow, clean

CONTINENTAL SPECIALTIES in HockCompieie line ol breaOnoaro le;l equipMAX-1D0Bdigi1Freq. Ctr. 1149.95

Complete line at AP Products In slock.

SPECIAL PRODUCTS

MM5B65 Slopnatcti Timer

*iin 10 pg spec 9 00

PC DoairJ 7 SO

Sw.li.hf., Mom Pushbutton 27

Encoder HD0165-5 6 95

PiMttonlci

Model 10 Trigger

Eipanfler Kii S225 00

Mode! 150 Bus

Graober Kit S3B9 00

Clock Calendar Kll S23.9S

2.5 MHi Freoirency

Counter Kit 137.50

30 MHi Frequency

Counter Kll I47.7S

I2 6VCT60012V 250 ma*l2VCT2S0m24V CT 100 m

DISPLAY LEDSMAN 1 CA

MAN3 CC

MAN72 74 CA CA

DL704 CC

D1707.DL707R CADL'27.728 CA'CCDL747J50FND359FNDS0OSO7FND503 SlOFND800B07

CA.CC 1

CC ;

CC CA :

CC CA !

CCCA 1

display

3 dign

lOdigii

;■.:■■) en.

TIL311 Hei

MAN3640

MAN4610

MAN4640

MAN4 710

MAN474Q

MAN6640

MAN6710

MAN674Q

MA10O2A. C. E

MA1012A

102P3 Iramloimer

MA1912A Tranilarmer

4116 200ns Dynamic RAM8/S18.40

PROM Eraser

assembled. 25 PROM capacity $37.50(with timer $69.50). 6 PROM capacity OSHA/UL version $69.50 {with timer $94.50).

Z80 Microcomputer

16 bit I/O. 2 MHz clock, 2K RAM, ROM Bread-board space. Excellent for control. Bare Board$28.50. Full Kit $99.00. Monitor $20.00. PowerSupply Kit $35.00. Tiny Basic $30.00

S-100 Computer Boards

8K Static Godbout Econo IIA Kit 149.0016K Static Godbout Econo XIV Kit 269.0024K Static Godbout Econo XX-24 Kit 414.0032K Static Godbout Econo XX-32 Kit 537.0016K Dynamic RAM Kit 289.00

32K Dynamic RAM Kit 328.00

64K Dynamic RAM Kit 399.00

Video Interface Kit $161.00

Color Video Kit 129.95

81 IC Update Master Manual $79.95

Comp. IC data selector, 2 vol. master referenceguide. Over 51,000 cross references. Free updateservice through 1981. Domestic postage $4.75.

Modem Kit $60.00

State of the art, orig.. answer. No tuning neces-sary. 103 compatible 300 baud. Inexpensiveacoustic coupler plans included. Bd. only 517.00.Article in May Radio Electronics.LRC 7000+Printer $389.0064/40/32/20 column dot matrix impact, std.paper. Interface all personal computers.LRC 7000 printer interface cable tor Super Elfwith software $35.00

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a chargeand then charges them up, all in one kit w/fullparts and instructions. $9.95

Rockwell AIM 65 Computer

6502 based single board with full ASCII keyboardand 20 column thermal printer. 20 char, alphanu-meric display, ROM monitor, fully expandable.$405.00. 4K version $450.00. 4K Assembler$85.00, 8K Basic Interpreter $100.00.

Special small power supply for AIM65 assem. inframe $54.00. Complete AIM65 in thin briefcasewith power supply $499.00. Molded plasticenclosure to fit both AIM65 and power supply$47.50. Special Package Price: 4K AIM. 8K Basic,power supply, cabinet $625.00.

AIM65/KIM/VIM/Super Elf 44 pin expansionboard; 3 female and 1 male bus. Board plus 3connectors $22.95.

60 Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequencyto crystal time base. Outstanding accuracy.

Video Modulator Kit $9.95

Convert TV set into a high quality monitor w/oaffecting usage. Comp. kit w/full instruc.

Multi-volt Computer Power Supply

8v 5 amp, ± 18v .5 amp, 5v 1.5 amp. -5v.5 amp, 12v .5 amp, -12v option. ±5v, ±12vare regulated. Basic Kit $35.95. Kit with chassisand all hardware $51.95. Add S5.00 shipping. Kitof hardware $16.00. Woodgrain case $10.00.$1.50 shipping.

RCA Cosmac 1802 Super Elf Computer $106.95

Compare features before you decide to buy anyother computer. There is no other computer onthe market today that has all the desirable bene-fits of the Super Elf for so little money. The SuperElf is a small single board computer that doesmany big things. It is an excellent computer fortraining and for learning programming with itsmachine language and yet it is easily expandedwith additional memory, Full Basic, ASCIIKeyboards, video character generation, etc.Before you buy another small computer, see if itincludes the following features: ROM monitor;State and Mode displays; Single step; Optionaladdress displays; Power Supply; Audio Amplifierand Speaker; Fully socketed for all IC's; Real costof in warranty repairs; Full documentation.The Super Elf includes a ROM monitor for pro-gram loading, editing and execution with SINGLESTEP for program debugging which is not in-cluded in others at the same price. With SINGLESTEP you can see the microprocessor chip opera-ting with the unique Quest address and data busdisplays before, during and after executing in-structions. Also, CPU mode and instruction cycleare decoded and displayed on 8 LED indicators.An RCA 1861 video graphics chip allows you toconnect to your own TV with an inexpensive videomodulator to do graphics and games. There is a

plus load, reset, run, wait, input, memory pro-tect, monitor select and single step. Large, onboard displays provide output and optional highand low address. There is a 44 pin standardconnector slot for PC cards and a 50 pin connec-tor slot for the Quest Super Expansion Board.Power supply and sockets for all IC's are in-cluded in the price plus a detailed 127 pg. instruc-tion manual which now includes over 40 pgs. ofsoftware info, including a series of lessons tohelp get you started and a music program andgraphics target game. Many schools and univer-sities are using the Super Elf as a course of study.OEM's use it for training and R&D.Remember, other computers only offer Super Elffeatures at additional cost or not at all. Comparebefore you buy. Super Elf Kit $106.95, Highaddress option $8.95, Low address option$9.95. Custom Cabinet with drilled and labelledplexiglass front panel $24.95. All metal Expan-sion Cabinet, painted and silk screened, withroom for 5 S-100 boards and power supply$57.00. NICad Battery Memory Saver Kit $6.95.All kits and options also completely assembledand tested.

Questdata, a software publication for 1802 com-puter users is available by subscription for$12.00 per 12 issues. Single issues $1.50. Is-sues 1-12 bound $16.50.

speaker system included for writing your own

music or using many music programs already ffQQ "|4 0306 btOCllUre

written. The speaker amplifier may also be used

to drive relays for control purposes.

A 24 key HEX keyboard includes 16 HEX keys

Super Expansion Board with Cassette Interface $89.95

Moews Video Graphics $3.50. Games and Music$3.00, Chip 8 Interpreter $5.50.

This is truly an astounding value! This board hasbeen designed to allow you to decide how youwant it optioned. The Super Expansion Boardcomes with 4K of low power RAM fully address-able anywhere in 64K with built-in memory pro-tect and a cassette interface. Provisions havebeen made for all other options on the sameboard and it fits neatly into the hardwood cabinetalongside the Super Ell. The board includes slotsfor up to 6K of EPROM (2708, 2758, 2716 or Tl2716) and is fully socketed. EPROM can be usedfor the monitor and Tiny Basic or other purposes.A IK Super ROM Monitor $19.95 is available asan on board option in 2708 EPROM which hasbeen preprogrammed with a program loader/editor and error checking multi file cassetteread/write software, (relocatable cassette file)another exclusive from Quest. It includes registersave and readout, block move capability andvideo graphics driver with blinking cursor. Break

Quest Super Basic V5.0

A new enhanced version of Super Basic now

available. Quest was the first companyworldwide to ship a full size Basic for 1802Systems. A complete function Super Basic byRon Cenker including floating point capabilitywith scientific notation (number range±.17EM), 32 bit integer ±2 billion; multi dimarrays, string arrays; string manipulation; cas-

points can be used with the register save featureto isolate program bugs quickly, then follow withsingle step. If you have the Super ExpansionBoard and Super Monitor the monitor is up andrunning at the push of a button.Other on board options include Parallel Inputand Output Ports with full handshake. Theyallow easy connection of an ASCII keyboard to theinput port. RS 232 and 20 ma Current Loop forteletype or other device are on board and if youneed more memory there are two S-100 slots forstatic RAM or video boards. Also a 1K SuperMonitor version 2 with video driver for full capa-bility display with Tiny Basic and a video interfaceboard. Parallel I/O Ports $9.85, RS 232 $4.50,TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pinconnector set with ribbon cable is available at$15.25 for easy connection between the SuperElf and the Super Expansion Board.Power Supply Kit for the complete system (seeMulti-volt Power Supply).

Ohio Scientific Computers

CIP Series 2 $447.00. Like an Apple at less thanhalf the price! CIPMF Series 2 $1199.00.Minifloppy version with additional RAM/ROM.Complete software and peripherals available.Send for free brochure.

Gremlin Color Video Kit $69.95

32 x 16 alpha/numerics and graphics; up to 8colors with 6847 chip; IK RAM at E000. Plugsinto Super Elf 44 pin bus. No high res. graphics.On board RF Modulator Kit $4.95

1802 16K Dynamic RAM Kit $149.00

Expandable to 32K. Hidden refresh w/clocks up to 4MHz w/no wait states. Addl. 16K RAM $25.00Tiny Basic Extended on Cassette $15.00

(added commands include Stringy, Array, Cas-sette I/O etc.) S-100 4-Slot Expansion $ 9.95Super Monitor VI.I Source Listing $15.00

sette I/O; save and load, basic, data and ma-chine language programs; and over 7b state-ments, functions and operations.New improved faster version including re-number and essentially unlimited variables.Also, an exclusive user expandable commandlibrary.

Serial and Parallel I/O included.Super Basic on Cassette $55.00.

Elf II Adapter Kit $24.95

Plugs into Elf II providing Super Elf 44 and 50 pinplus S-100 bus expansion. (With Super Ex-pansion). High and low address displays, stateand mode LED's optional $18.00.

Super Color S-100 Video Kit $129.95

Expandable to 256 x 192 high resolution colorgraphics. 6847 with all display modes computercontrolled. Memory mapped. 1K RAM expanda-ble to 6K. S-100 bus 1802, 8080, 8085,280 etc.Dealers: Send for excellent pricing/marginprogram.

Editor Assembler $25.00

(Requires minimum of 4K for E/A plus usersource)

1802 Tiny Basic Source listing $19.00

Super Monitor V2.0/2.1 Source Listing $20.00

TERMS: $5.00 min. order U.S. Funds. Calif residents add 6% tax.

$10.00 min. BankAmerlcard and Master Charge accepted. $1.00 Insurance optional.Postage: Add 5%. COD $10.00 min. order.

FREE: Send for your copy of our NEW 1981QUEST CATALOG. Include 48(> stamp.

Circle 327 on inquiry card.

BYTE August 1981

449

micM)DESICfl ccnstiTftriTS

1 Bit through32-Dif Machines

We handle concept

through production

prototypes with

complete documentation.

HARDWARE - 916/723-1050David Jenkins

7214 Springleaf CourtCitrus Heights. CA 95610

SOFTWARE-916/381-1717Richard Lerseth - LEAPAC

8245 Mediterranean WaySacramento. CA 95826

Circle 195 on inquiry card.

ATARI GflfTlEOWNERS

YOU ALREADY OWN APOWERFUL HOBBY COMPUTER

Realize its capabilities by plugging our Magi-Card module into your unaltered Video Com-puter SystemT-M- console. If you have everwanted to program a computer or learn aboutmicroprocessors, our MagiCard and detailedinstruction manual are an unmatched educa-tional value. If you have ever wanted to under-stand and use the video and audio capabilitiesof your ATARI game, our MagiCard will un-lock its mysteries. Features include 1K bytesof RAM and a 2K byte ROM monitor. Usingyour keyboard controllers, you will soon becreating your own 6502 machine languageprograms. To receive your MagiCard and man-ual {including sample programs and instruc-tions for building a cassette interface), sendcheck or money order for $49.88 (in Illinois,add 6% tax) to Computer Magic, Inc., Box3383A, Fox Valley Center, Aurora, Illinois60505.ATARI and Video Computer System are irademarks of ATARI Inc

Worth Star

BASIC UTILITY SET

■ EDITOR — Create & edit aBasic program using 26commands, includingGLOBAL locate & change.

■ BPRT — Print & crossreference a Basic program.

■ BPAK — Pack a Basicprogram.

■ RE — Rename a disk file.

CtCn plus ^1'50 shiPPin9-vJ>Oy Calif. Res. add 6%.

/C^\ Check, VISA, M/C

(5Z) Software Systems

1269 Rubio Vista Road, Altadena, Calit. 91001 (213) 791-3202

Circle 72 on inquiry card.

Circle 372 on inquiry card.

Wttm HeathUsers

Double Your5'/l" disk storagecapacity without adding a drive.

Get twice as much from your H88 orH89 microcomputer. Our FDC-880Hfloppy disk controller, in conjunctionwith your 5'/4" drives, for example,expands memory capacity from 256bytes to 512 bytes per sector.

And it handles single and double-sided, single and double-density, 8" andh1/" drives — simultaneously.

Call 714/275-1272 todayor write for details.

Ol

C.O.R. Systems Inc.

Controlled Data Recording Systems. Inc.7667 Vickers St., San Diego. CA 92111

TERMINAL

DATA

CORPORATION

MODEL 1200 RS-232 BI-DIRECTIONALDATA SPLITTER

available in kit form

Model 1200K gives the terminal or micro-processor user a second interface for a printer,plotter, cassette or tape drive. It operates at anyspeed & isolates the two output devices fromeach other, while providing 2 RS-232 interfacesfrom the terminal or microprocessor.

The kit consists of 3 RS-2 32 connectors,printed circuit board, all necessary components,enclosure, mounting hardware & assembly in-structions $69.00

write or call

TERMINAL DATA CORP.

11878 Coakloy Cir.

Rockville, MD 20852

(301) 881-7655

Scotch'

DISKETTES

SAVE 40% JE5£C

5%"Sgl. Dens. 26.70/10

Specify soft, 10 or 16 hard sectors

8"Sgl. Dens. 27.30/108"Dbl. Dens. 35.80/10

Specify soft or 32 hole hard

Add $2.00 shipping - Michigan add 4% tax

LYBEN COMPUTER SYSTEMS

27204 Harper Ave.

St. Clair Shores, Ml 48081

Authorized Distributor *^Bfl

Information Processing Products mj^fl

Circle 50 on inquiry card.

Circle 382 on inquiry card.

Circle 202 on inquiry card.

D TYPE CONNECTORMOUNTING HARDWARE

at less than V2 the price

• Similar to Ansley 8609-003

• Standard 4-40 male and female threads

• Complete with lock washers and 4-40small pattern nuts

|«- 1875 -»)•«- 375 "H\

.1875

mm

100 pc. .

500 pc. .

1000 pc. .

Ov

CCB

IE

Clev1

I .1406 |«er 1000 — p

Machir

1 9 Shereland, O-216-38

S40.00

S35.00/C

S30.00/C

lease inquire

ie Products

arook Rd.hio 441211-1291

Serial Printer Interface

• Powerful ON BOAHD SOFTWARE provides-TOP OF FORM & AUTO PAGING

-LIST format for program listings (inserts 1 or 2blank lines after any user specified programline)

-"HARD COPY" reproduces screen text on printer-INPUT *rom printers with keyboards

• 32 DIP SWITCH levers select ALL printer inter-face parameters (columns/line, lines/page, ver-tical margins, and more)

•BAUD rates between 70 and 1500

• Output functions selected via ATTRACTIVEcolor coded - CONTROL PANEL (fits underkeyboard)

•Control panel. 7 ft cable, connector includedORDER NOW or send for MORE INFORMATION

RADIX, Inc. JCO residents add 3% sales tax

P.O. Box 3465 Foreign orders add 10%

Littleton. CO 80161 MC/VISA/COD/MO

(303) 985-4152 Personal Check (add 3 wks)

" registered trademark of Apple Computer. Inc

Circle 9 on Inquiry card.

Circle 326 on inquiry card.

PRIAM

Drives, Smart Controllers,

Accessories,SMD interface available

lowest cost and greatest established relia-bility for H.P., DEC. Apple. Z-80. 8085 ... andso on.

We can show you how to overcome"foreign" disk warranty worries—giveus a call.

Special Opportunity:

S-100 Power Supply Kit

14A@±8VDC A^„

2A@±18VDC $2995

Input: 95. 115, 205, 220 VAC, 50/60 Hz.Includes: UL Spec. Transformer. Rectifiers.Computer Grade Capacitors. RFI line filter,and Schematics.

ADVANCED TECHNOLOGY

735 Loma Verde, Palo Alto, CA 94303

415-493-5930Send 36 ct SASE for our 16 page flyer.

Circle 106 on inquiry card.

NOBODY KNOWS MORE ABOUT

ADDING MEGABYTES TO YOUR

TRS-80 MODEL II* THAN

AMERICAN SMALL BUSINESS

COMPUTERS

THE CAMEO CONNECTION

The Cameo 10 Million Cha-racter Disk Drive Subsystem(pictured in foreground) Is A5 Megabyte Fixed, 5 Mega-byte Removable Cartridge-Type Disk Drive. Advan-tages To This Unit Are Easeof Backup For Data and Pro-gram Files and Low Cost. ByAttaching A Multiplexor UnitSeveral Model ll's Can BeAttached To The Cameo DiskDrive. For Further Pricing,Availability, and OperatingSystems Options, Call orWrite to American SmallBusiness Computers and askfor the CAMEO CONNEC-TION.

THE CORVUS CONNECTION

The Corvus Disk Drive Sub-system (center of picture) IsAvailable in 5, 10, and 20Million Character Capacities.The Corvus System Is TheUltimate In The Sealed"Winchester, All-Fixed"Type Drive. The Corvus IsDesigned To Operate In TheHarshest Environments SuchAs Factories, Oil Rigs, Etc.Backup Of Data Is Accom-plished Via Optional MIR-ROR Backup Device Where-by Data Is Written Onto AStandard Video Tape Record-er. A Great Number ofModel ll's May Be AttachedTo The Corvus Via AnOptional CONSTELLATIONMultiplexor. For FurtherPricing, Availability, andOperating Systems, Call OrWrite to American SmallBusiness Computers and Askfor the CORVUS CONNEC-TION.

THE AMERICAN SMALL BUSINESS COMPUTERS MINI-WINCHESTER SPECIAL

The MINI-5 (being held by Corporate President Robert Webster) Is American Small Business Computer's Very OwnDisk Subsystem. The MINI 5 Offers Approximately 5 Million Characters of Information Storage and is Based On theFamous Seagale Technology ST-506 Micro Winchester Drive. Now You Can Own State-Of-The-Art Technology At AnAffordable Price - Only $3500 - Which Includes Drive, Controller Electronics, Power Supply, Cabinet, Cables, Docu-mentation and Operating System Software.

DEALER INQUIRIES INVITEDAMERICAN SMALL BUSINESS COMPUTERS

'TMTANDYCORPORATION

118 SOUTH MILL STREET

PRYOR, OK. 74561

918-825-4844

Circle 16 on inquiry card.

1858 EVERGREEN • DUARTE, CALIFORNIA 91010 • TELEPHONE (213) 357-5005

&•

JUST WRAP KIT

Just Wrap tool for

1#

daisy chain wiring.

Tool strips as it

wraps and cuts.

0

Includes one 50 foot

spool of wire.

'#

Part No.

Description Price

jw-r

Just Wrap Tool $14.95

JWK-6

Tool w/4 Spools and

JUW1 24.95

R-JW*

50 Ft. Replacement

Wire 3.49

JUW-1

Unwrapping Tool 3.49

'Specify Color: Red, Blue, White or

Yellow.

3E5^3>

TERMINALS

• .025(0,63mm)Square Post

• 3 LevelWire-Wrapping

• Gold Plated25 PER PKG.

Part No.

WWT-1WWT-2

WWT-3WWT-4

INS1

Description

Slotted Terminal

Single Sided

Terminal

IC Socket Term.

Double Sided

Terminal

Insertion Tool for

above

Price$4.98

2.984.98

1.98

2.49

SOCKET WRAP - ID

•**S.SS9B.9!!!iMf, Slipped ontoDU»HI7Mlf202l2229» ^ before

Urap-IDNLVmJ

12 II « 9 8 7 t 5 « 3 I I

wrapping toidentify pins.

Bulk Bulk

Part # Price Price Part # Price Price

14ID 1.49/10 5.50/100 22ID 1.49/5 5.95/50

16ID 1.49/10 5.95/100 24ID 1.49/5 5.95/50

18ID 1.49/10 5.00/50 28ID 1.49/5 6.50/50

20ID 1.49/5 5.00/50 40ID 1.49/5 5.00/25

i

&

a

ft

^kwL^^™*" Re9ular Modified^■T*1, Wrap Wrap

IIJIILhand wrap tool

Part No.

Description

Price

WSU30WSU30M

RegularModified

$6.957.95

<^B> PRODUCTS

UtoP.C.B.TERMINALSTRIPS

The TS strips providepositive screw activatedclamping action, accom-modate wire sizes 14-30 AWG (1,8-0,25mm). Pins are solder plated copper,.042 inch (1mm) diameter, on .200 inch(5mm) centers.Part No. Description Price

TS- 4 4-Pole $1.69

TS- 8 8-Pole 2.59

TS-12 12-Pole 3.49

TS6MD 2-Pole Interlocking 3/1.79

DESOLDERINGPUMP

Easy one hand«3r operation.

Rugged all metalconstruction.ReplaceableTEFLON® Tip. Selfcleaning on each stroke.Suction precisely regulated for reliabledesoldering without damage to delicatecircuitry.

DSPI Desoldering Pump $9.95

LOGIC PROBE

Compatible with all logic families us-ing a 4 to 15V power supply.Thresholds automatically programm-ed. Visual indication of logic levels toshow high, low, bad level or open cir-cuit logic pulses.

• 10 N sec. pulse responses

• 120 K input impedence.•Automatic resetting memory.•Includes tip with protective cap &

coiled cord.PRB-1 $36.95

LOGIC PULSER

Superimposes a pulse train (20 pps) ora single pulse onto the circuit nodeunder test without un-soldering IC's.

• Automatic polarity sensing

• 2 us pulse width

• Finger tip push button actuated

• Includes tip with protective cap &coiled cord.

PSL-1 $48.95

VACUUM VISE

Unique vacuum-basedlight duty vise forprecision handling ofsmall components andassemblies. RuggedABS construction. IVi" ^mm)"'travel for maximum versatility. Alsofeatures screw lugs for permanentinstallation.

Description

BW2630 Tool $19.85

BT30 #30 Bit (not incl.) 3.95

BT2628 #28 Bit (not incl.) 7.95

BC1 Batteries & Charger 14.95

INSERTION/EXTRACTIONTOOLS

Part No. Description Price

INS1416 14-16 pin Inserter $3.49

MOS1416 14-16 pin MOS Safe

Inserter 7.95

MOS2428 24-28 pin MOS Safe

Inserter 7.95

MOS40 40 pin MOS Safe

Inserter 7.95

EX1 14-16 pin

IC Extractor 1.49

EX2 24-40 pin

IC Extractor 7.95

-, WK'7 IC

^INSERTION KIT

Complete IC In-serter/ Extractor Kitndividual Com-ponents (listedabove) $22.95

IC DISPENSER

Allows IC's to be dis-pensed from their tube 1at a time and picked upby insertion tools above.

• Dispenses 8-42 pinIC's • Compatable withall IC carrying tubes •Use with WK7 for MOSsafe insertion. •

Part No. Description Price

MDD1 1 Chan. Dispenser $21.85

MDD5 5 Chan. Dispenser 83.43

MDD10 10 Chan. Dispenser 160.45

* * 'No Discount.

TOLL FREE ORDERING NUMBER 1(800) 423-7144

IDC CONNECTORS

RIGHT ANGLE HEADERS

SOLDER TAIL WIRE WRAP

Size Part No. Price

Part No.

Price

10 IDH10SRB $1.20

IDH10WRB

$2.60

20 IDH20SRB 1.90

IDH20WRB

4.15

26 IDH26SRB 2.75

IDH26WRB

5.35

34 IDH34SRB 3.75

IDH34WRB

6.25

40 IDH40SRB 3.75

IDH40WRB

7.35

50 IDH50SRB 4.75

IDH50WRB

9.20

.1" Spacing. Mounts on

PC Board & Mates

with IDS Socket below.

Ejector Bars

4H.00.

S 1

%i

4&^

25 PIN "D"

CONNECTORS

Solder Style

Male

Female

Cover

Part No. PriceDB25P $2.95DB25S 3.95DB25C 1.50

IDC Style

Male

Female

Cover

IDB25P 6.25IDB25S 6.60IDB25C 1.60

Solder Style solders onto cable, IDCStyle crimps onto cable with vise. 9,15, 37 and 50 pin available also.

WIRE WRAP WIRE

#30 Wire Wrap Wire

Length

100/Bag

500/Bag

1K/Bag

2.5"

$1.38

$6.81

$3.94

3.0"

1.43

7.46

4.25

3.5"

1.51

8.11

4.57

4.0"

1.56

8.73

4.88

4.5"

1.63

9.39

5.21

5.0"

1.69

10.04

5.54

5.5"

1.74

10.69

5.92

6.0"

1.82

11.34

6.23

6.5"

2.11

12.99

7.08

7.0"

2.19

13.68

7.44

7.5"

2.29

14.40

7.78

8.0"

2.35

15.10

8.12

8.5"

2.40

15.80

8.46

9.0"

2.46

16.51

8.92

9.5"

2.53

17.22

9.15

10.0"

2.63

17.91

9.58

All lengths are overall, including

1" strip

on each end. Choose from colors; Red,

Blue, Black, Yellow,

White, Greer

,

Orange

and Violet.

EDGE CARD CONNECTORS

Size Part No. Price

102026344050

IDE10BIDE20BIDE26BIDE34BIDE40BIDE50B

$3.954.355.006.056.907.50

.1" Spacing. Crimps onto cable withordinary vise & mates with standard.062" Card Edge.

CABLE PLUGS

Size Part No.

Price

14 IDP14B

$1.45

16 IDP16B

1.65

24 IDP24B

2.50

40 IDP40B

4.15

.1" Spacing. Crimps onto cable

with

ordinary vise & plugs into standard IC

Socket.

WIRE WRAP SUPPLIES

Size Part No.

Tube

08

ICN083WBSG

.44

52x .39 =

s $20.28

14

ICN143WBSG

.53

30x .46:

= $13.80

16

ICN163WBSG

.58

26x .50:

= $13.00

18

ICN183WBSG

.78

23x .68:

= $15.64

20

ICN203WBSG

1.00

21x .85:

= $17.85

22

ICN224WBSG

1.07

19x .92 =

= $17.48

24

ICN246WBSG

1.09

17x1.09:

= $15.98

28

ICN286WBSG

1.43

15x1.23:

= $18.45

40

ICN406WBSG

1.85

10x1.60:

= $16.00

Selective Plating provides gold in contactwhere it counts. 3-level wrap. Save by buy-ing sockets by the tube. All gold available atVzC/pin extra charge.

' * ' No Discount

ORDERING INFORMATION

Prepaid orders over $50 shipped prepaid viaUPS. All others add $3.00 for handling. VISA,MC, COD's and open account orders will becharged freight. $15 minimum order. $100minimum open account order.

RIBBON CABLE

V

Solid Color

Color Coded ^CSl

Size 10 ft. 100 ft.

10 ft. 100 ft. ^^

10 2.90 17.00

4.00 30.00

14 3.40 23.80

5.00 42.00

16 3.70 27.20

5.60 48.00

20 4.40 34.00

7.00 60.00

24 5.00 40.80

8.00 72.00

26 5.40 44.20

8.60 78.00

34 6.80 57.80

11.00 102.00

40 7.80 68.00

13.00 120.00

50 9.50 85.00

16.00 150.00

SOCKETS

^s

Size

Part No.

Price

10

IDS10B

$1.88

20

IDS20B

2.75

26

IDS26B

3.50

34

IDS34B

4.50

40

IDS40B

5.40

50

IDS50B

6.50

.1" Spacing. Crimps onto cable with

ordinary vise & mounts to header

sold

above.

250200100

250500500500250

250500500500

500100010001000

WIRE KITS

Kit No. 1 - $9.95

3" 100

3y2" 100

4" 100

Kit No. 2 - $24.95

2'/2"3"

31/2"

4"

4'/2"

250100100100100

Kit No. 3 - $34.95

2'/2"

3"

3V2"4"

500500500500

Kit No. 4 - $59.95

2y2"

3"

3y2"

1000100010001000

4V2"

5"

6"

5"5V2'

61/2"7"

4'/2"5"

5'/2"6"

4'/2"5"

5V2"6"

DISCOUNT SCHEDULE

Order

Amount

$15 - 99

Net

100- 199

less 10%

200 - 499

less 15%

500 - 999

less 20%

1000 up

less 25%

Discount and the name ofthis magazine must be men-tioned at time of order to getdiscount. Discount applieson all items except as noted,"No Discount."

Circle 296 on inquiry card.

16K Memory 8/S16.95

4116 300ns *ALL MERCHANDISE 100% GUARANTEED CALL US FOR VOLUME QUOTES

LS SERIES

74LS00

.25

74LS163

.95

74LS01

.25

74LS164

.95

74LS02

.25

74LS165

.95

74LS03

.25

74LS166

2.40

74LS04

.25

74LS168

1.75

74LS05

.25

74LS169

1.75

74LS08

.35

74LS170

1.75

74LS09

.25

74LS173

.80

74LS10

.25

74LS174

.95

74LS11

.35

74LS175

.95

74LS12

.35

74LS181

2.15

74LS13

.45

74LS189

9.95

74LS14

1.00

74LS190

1.00

74LS15

.35

74LS191

1.00

74LS20

.25

74LS192

.85

74LS21

.35

74LS193

.95

74LS22

.25

74LS194

1.00

74LS26

.35

74LS195

.95

74LS27

.35

74LS196

.85

74LS28

.35

74LS197

.85

74LS30

.25

74LS221

1.20

74LS32

.35

74LS240

1.85

74LS33

.55

74LS241

1.85

74LS37

.55

74LS242

1.85

74LS38

.35

74LS243

1.85

74LS40

.25

74LS244

1.75

74LS42

.55

74LS245

2.85

74LS47

.75

74LS247

.76

74LS48

.75

74LS248

1.25

74LS49

.75

74LS249

.99

74LS51

.25

74LS251

1.30

74LS54

.35

74LS253

.85

74LS55

.35

74LS257

.85

74LS63

1.25

74LS258

.85

74LS73

.40

74LS259

2.85

74LS74

.45

74LS260

.65

74LS75

.50

74LS266

.55

74LS76

.40

74LS273

1.65

74LS78

.50

74LS275

3.35

74LS83

.75

74LS279

.55

74LS85

1.15

74LS280

1.98

74LS86

.40

74LS283

1.00

74LS90

.65

74LS290

1.25

74LS91

.89

74LS293

1.85

74LS92

.70

74LS295

1.05

74LS93

.65

74LS298

1.20

74LS95

.85

74LS352

1.55

74LS96

.95

74LS353

1.55

74LS107

.40

74LS363

1.35

74LS109

.40

74LS365

.95

74LS112

.45

74LS366

.95

74LS113

.45

74LS367

.70

74LS114

.50

74LS368

.70

74LS122

.45

74LS373

1.85

74LS123

.95

74LS374

1.80

74LS124

2.99

74LS377

1.45

74LS125

.95

74LS378

1.18

74LS126

.85

74LS379

1.35

74LS132

.75

74LS385

1.90

74LS136

.55

74LS386

.65

74LS137

.99

74LS390

1.90

74LS138

.75

74LS393

1.90

74LS139

.75

74LS395

1.65

74LS145

1.20

74LS399

1.70

74LS147

2.49

74LS447

.37

74LS148

1.35

74LS490

1.95

74LS151

.75

74LS668

1.69

74LS153

.75

74LS669

1.89

74LS154

2.35

74LS670

2.20

74LS155

1.15

74LS674

9.65

74LS156

.95

74LS682

3.20

74LS157

.75

74LS683

2.30

74LS158

.75

74LS684

2.40

74LS160

.90

74LS685

2.40

74LS161

.95

74LS688

2.40

74LS162

.95

74LS689

2.40

7400 SERIES

7400

.19

74128

.55

7401

.19

74132

.45

7402

.19

74136

.50

7403

.19

74141

.65

7404

.19

74142

2.95

7405

.22

74143

2.95

7406

.22

74144

2.95

7407

.22

74145

.60

7408

.24

74147

1.75

7409

.19

74148

1.20

7410

.19

74150

1.35

7411

.25

74151

.65

7412

.30

74152

.65

7413

.35

74153

.55

7414

.55

74154

1.40

7416

.25

74155

.75

7417

.25

74156

.65

7420

.19

74157

.55

7421

.35

74159

1.65

7422

.29

74160

.85

7423

.29

74161

.70

7425

.29

74162

.85

7426

.29

74163

.85

7427

.29

74164

.85

7428

.45

74165

.85

7430

.19

74166

1.00

7432

.29

74167

1.95

7433

.45

74170

1.65

7437

.29

74172

5.95

7438

.29

74173

.75

7440

.19

74174

.89

7442

.49

74175

.89

7443

.65

74176

.89

7444

.69

74177

.75

7445

.69

74178

1.15

7446

.59

74179

1.75

7447

.69

74180

.75

7448

.69

74181

2.25

7450

.19

74182

.75

7451

.23

74184

2.00

7453

.23

74185

2.00

7454

.23

74186

18.50

7460

.23

74190

1.15

7464

.39

74191

1.15

7465

.39

74192

.79

7470

.35

74193

.79

7472

.29

74194

.85

7473

.34

74195

.85

7474

.35

74196

.79

7475

.49

74197

.75

7476

.35

74198

1.35

7480

.59

74199

1.35

7481

1.10

74221

1.35

7482

.95

74246

1.35

74B3

.50

74247

1.25

7484

.50

74248

1.85

7485

.65

74249

1.95

7486

.35

74251

.75

7489

4.95

74259

2.25

7490

.35

74265

1.35

7491

.40

74273

1.95

7492

.50

74276

1.25

7493

.49

74279

.75

7494

.65

74283

2.00

7495

.55

74284

3.75

7496

.70

74285

3.75

7497

2.75

74290

.95

74100

1.00

74293

.75

74107

.30

74298

.85

74109

.45

74351

2.25

74110

.45

74365

.65

74111

.55

74366

.65

74116

1.55

74367

.65

74120

1.20

74368

.65

74121

.29

74376

2.20

74122

.45

74390

1.75

74123

.55

74393

1.35

74125

.45

74425

3.15

74126

.45

74426

.85

74490

2.55

74S00 SERIES

74S0074S0274S0374S0474S0574S0874S0974S1074S1174S1574S2074S2274S3074S3274S3774S3874S4074S5174S6474S65

74S74

74S85

74S86

74S112

74S113

74S114

74S124

74S132

74S133

74S134

74S135

74S138

74S139

74S140

74S151

74S153

74S157

74S158

74S161

74S162

.692.391.441.591.981.502.771.24.98.691.481.081.251.451.191.191.191.452.853.70

74S16374S16874S16974S17474S17574S18174S18274S18874S18974S19474S19574S19674S19774S20174S22574S24074S24174S25174S25374S257

3.754.655.441.091.094.472.953.95

14.952.951.894.904.25

14.958.953.983.751.907.451.39

74S25B74S26074S27474S27574S2B074S28774S28874S28974S30174S37374S37474S38174S38774S41274S47174S47274S47474S48274S57074S571

1.491.8319.9519.952.904.754.456.986.953.453.457955.752.989.9516.8517,8515.607.80

T.V.

CIRCUITS

MC1330

1.89

MC1350

1.29

MC1358

1.79

LM380

1.29

LM386

1.50

LM565

.99

LM741

.29

LM1310

2.90

LM1800

2.99

LM1889

2.49

MISC.

8T26

1.69

3242

9.95

8T28

2.49

AY5-1013 3.95

8T95

.99

TR1602

4.95

8T96

.99

IM6402

7.95

8T97

.99

1771

24.95

8T98

.99

1791

36.95

148B

.99

UPD765

39.95

1489

.99

8272

39.95

DM8131

2.95

CMOS

74C00

.35

74C373

2.75

4018

.95

4093

.95

74C02

.35

74C374

2.75

4019

.45

4099

1.95

74C04

.35

74C901

.80

4020

.95

14409

8.95

74C08

.35

74C902

.85

4021

.95

14410

8.95

74C10

.35

74C903

.85

4022

1.15

14411

9.95

74C14

1.50

74C905

10.95

4023

.35

14412

12.95

74C20

.35

74C906

.95

4024

.75

14419

2.95

74C30

.35

74C907

1.00

4025

.35

4502

.95

74C32

.50

74C908

2.00

4026

1.65

4503

.65

74C42

1.75

74C909

2.75

4027

.65

4508

1.95

74C48

2.10

74C910

9.95

4028

.80

4510

" .95

74C73

.65

74C911

10.00

4029

.95

4511

.95

74C74

.85

74C912

10.00

4030

.45

4512

.95

74C76

.80

74C914

1.95

4034

2.95

4514

1.25

74C83

1.95

74C915

2.00

4035

.85

4515

2.25

74C85

1.95

74C918

2.75

4040

.95

4516

1.55

74C86

.95

74C920

17.95

4041

1.25

4518

1.25

74C89

4.50

74C921

15.95

4042

.75

4519

1.25

74C90

1.75

74C922

5.95

4043

.85

4520

1.25

74C93

1.75

74C923

5.95

4044

.B5

4522

1.25

74C95

1.75

74C925

6.75

4046

.95

4526

1.25

74C107

1.00

74C926

7.95

4047

.95

4527

1.95

74C150

5.75

74C927

7.95

4049

.55

4528

1.25

74C151

2.25

74C928

7.95

4050

.55

4531

.95

74C154

3.25

74C929

19.95

4051

.95

4532

1.95

74C157

1.75

74C930

19.95

4053

.95

4538

1.95

74C160

2.00

4000

.35

4060

1.45

4539

1.95

74C161

2.00

4001

.35

4066

.75

4543

2.70

74C162

2.00

4002

.25

4068

.40

4555

.95

74C163

2.00

4006

.95

4069

.35

4556

.95

74C164

2.00

4007

.29

4070

.35

4581

1.95

74C165

2.00

4008

.95

4071

.30

4582

1.95

74C173

2.00

4009

.45

4072

.30

4584

.95

74C174

2.25

4010

.45

4073

.30

4585

.95

74C175

2.25

4011

.35

4075

.30

4702

12.95

74C192

2.25

4012

.25

4076

.95

4724

1.50

74C193

2.25

4013

.45

4078

.30

80C07

.95

74C195

2.25

4014

.95

4081

.30

80C95

.85

74C200

5.75

4015

.95

4082

.30

80C96

.95

74C221

2.25

4016

.45

4085

.95

80C97

.95

4017

1.15

4086

.95

80C98

1.20

DIP SWITCHES

4 position

5 position

6 position

7 position

8 position

.85.90.90.95.95

TRANSISTORS

CONNECTORS

PN22222N39042N39062N3055IN4148IN4004

10/1.00

10/1.00

10/1.00

.79

100/8.99100/8.99100/8.9910/6.9925/1.0010/1.00

RS232MALERS232 FEMALERS232 HOODS-100STS-100WW

3.253.751.253.954.95

LINEAR

VOLTAGE REG'S

7805T7808T7812T7815T7824T

.89.99.89.99.99

7905T7912T7915T7924T

.99.991.191.19

7805K7812K7815K

1.391.391.39

7905K7912K

1.491.49

78L0578L1278L15

.69.69.69

79L0579L1279L15

.79.79.79

LM309KLM317TLM317K

1.491.953.95

LM323KLM337K

4.953.95

T =

TO-220 K

= TO-3 L = TO-92

LM301V

LM308V

LM309K

LM311

LM317T

LM317K

LM318

||_M323K

ILM324

1LM337K

LM339|LM377LM380LM386VLM555VLM556LM565LM566VLM567VLM723LM733

.34

.98

1.49

.64

1.95

3.95

1.49

4.95

.59

3.95

.99

2.29

1.29

1.50

.39

.69

.99

1.49

1.29

.49

.98

LM741V

LM747

LM748V

LM1310

MC1330

MC1350

MC1358

LM1414

LM1458V

LM1488

LM1489

LM1800

LM1889

LM3900

LM 3909V

LM3914

LM3915

LM3916

75451V

75452V

75453V

.29

.79

.592.901.f1.29 11.791.59

.691.391.392.E2.49

.59

.983.953.953.95

.39

.39 I

.391

J^MLfe.

VISA9

l[ master charge I

v—~—- -^^---^J

JDR MICRODEVICES, INC.

1101 South Winchester Blvd.

San Jose, California 95128

800-538-5000 800-662-6263 (Calif.)

408-247-4852

T=TO-220 V=8PSN K=TO-3.

TERMS: For shipping Include $2.00 for UPS Ground; $3.00for UPS Blue Label Air; $10.00 minimum order. Bay AreaResidents add 8V>% sales tax Call). Residents add 6%sales tax. We reserve the right to limit quantities and

Circle 184 on inquiry card.

4K STATIC RAMS 8/18.95

2114 LOW POWER 450nsALL MERCHANDISE 100% GUARANTEED CALL US FOR VOLUME QUOTES

8200

6800

B202

8205

8212

8214

8216

8224

8226

8228

8237

8238

8243

8250

8251

8253

8253-5

8255

8255-5

8257

8259

8272

8275

8279

8279-5

8282

8283

8284

8286

8287

8288

8289

45.00

3.50

1.95

3.90

1.85

2.50

1.85

4.95

19.95

4.95

4.50

14.95

5.50

9.85

9.85

5.25

5.25

9.00

7.00

39.95

29.95

10.50

10.50

6.65

6.65

5.80

6.65

6.65

25.00

49.95^

Z80

ICSOCKETS

1-100 100pcs

8 pin ST114 pin ST116 pin ST118 pin ST120 pin ST|22pinST124 pin ST|28pinST140 pin ST

.13.15.17.20.29.30.30.40.49

ST = SOLDERTAIL

8 pin WW114 pin WW16 pin WW118 pin WW120 pin WW122 pin WW124 pin WW128 pin WW140 pin WW

.59

.69

.69

.99

1.09

1.39

1.49

1.69

1.99

.11.12.13.18.27.27.27.32.39

.49.52

.58.90

1.281.351.49 I

1.80

WW = WIREWRAP

LEDS

Jumbo Red 10/1,00Jumbo Green 6/1.00Jumbo Yellow 6/1.005082-7760 .43'CC .79MAN74.3'CC .99

MAN72.3'CA .99

2101

2102-1

21L02-1

2111

2112

2114

2114L-2

2114L-3

2113L-4

4044-4

4044-3

TMM2016

MB6116

6800

6.95

6802

11.95

6809

37.95

6810

4.60

6820

4.95

6821

4.95

6828

9.95

6834

16.95

6840

14.95

6843

42.95

6844

44.95

6845

29.95

6847

15.95

6850

4.75

6852

5.75

6860

10.95

6862

11.95

6871

25.95

6875

6.95

6880

2.95

Z80

Z80A

Z80B

Z80-PIO

Z80A-PIO

Z80-CTC

Z80A-CTC

Z80-DART

Z80A-DART

Z80-DMA

Z80A-DMA

Z80-SIO/0

Z80A-SIO/0

Z80-SIO/1

Z80A-SIO/1

Z80-SIO/2

Z80A-SIO/2

Z80-SIO/9

Z80A-SIO/9

8.95

9.95

19.95

6.50

8.60

6.50

8.65

15.25

18.75

17.50

27.50

23.95

28.95

23.95

28.95

23.95

28.95

17.95

22.95.

MPU'S

6502

6502

6502A

6504

6505

6520

6522

6532

6551

6.9512.956.958.954.959.9514.9514.95

8035

8039

8080A

8085

8086

8088

8155

8156

8185

8185-2

8741

8748

8755

16.9519.953.9512.9599.9539.9511.9511.9529.9539.9539.9569.9549.95

BEFORE YOU BUY CALLJDR FOR THE BEST PRICE.

800-662-6233

(CALIFORNIA RESIDENTS)

DYNAMIC RAMS

40274116-1504116-2004116-300.4164

(250ns)(150ns)(200ns)(300ns)(200ns)

2.50

8/21.95

8/19.95

8/16.95

CALL

STATIC RAMS

(450ns) 1.95

(450ns) .89

(LP) (450ns) 1.29

(450ns) 2.99

(450ns) 2.99

(450ns) 8/18.95

(LP) (200ns) 8/22.95

(300ns) 8/21.95

(LP) (450ns) 8/18.95

(450ns) 3.49

(300ns) 3.99

(200ns) CALL

(200ns) CALL

LP = LOW POWER

100pcs

2.002.652.352.00CALL.

100pcs

1.85

.85

1.15

2.49

2.79

2.25

2.45

2.45

2.25

3.25

3.75

CALL

CALL

APPLE OWNERS

EXPAND YOUR 48K COMPUTER TO 64K

SUPER RAM*II

• PLUG IN SLOT 0

• GOLD PLATED CONTACTS

• INCLUDES 5 JUMPER OPTIONS

• INCLUDES 5 RAM-ROM OPTIONS

• ENJOY THE BEST OF BOTH WORLDS

• 16K RAM (RANDOM ACCESS MEMORY) ■

• THIS IS SOPHISTICATED FIRMWARE

• EXPANDS YOUR 48K APPLE TO 64KOF PROGRAMMABLE MEMORY

• ELIMINATES THE NEED FOR APPLESOFT' OR INTEGER BASIC ROM CARD

• ALLOWS YOU TO RUN APPLE'S NEW FORTRAN PACKAGE ALSO PASCALAND PILOT

• KEYBOARD CONTROL SELECTION OF RAM OR MOTHER BOARD ROMLANGUAGE

• INCLUDES: INSTALLATION INSTRUCTIONS AND APPLICATIONS NOTES

• THE SOFTWARE DEVELOPED BY VARIOUS VENDORS FOR YOUR (64K)SHOULD NOW WORK AS THEY ADVERTISED

• THE MOST VERSATILE RAM EXPANSION ON THE MARKET TODAYUNIQUE 1 YEAR WARRANTEE!! $168.00

SUPER FAN II

■cooL-ir

TAN COLOR

SAVE DOWN TIME

LONG LIFE MOTOR

LOW NOISE IS A MUST

SAVE REPAIR CHARGES

INCREASES RELIABILITY

CLIPS ON-NO HOLES OR SCREWS

MINIMUM QUIETNESS IS DUE TO THE DRAW EFFECT OF AIR THROUGH

YOUR COMPUTER AND A SPECIAL FAN AND MOTOR DESIGN

THOSE EXTRA PLUG-IN CARDS CAN CAUSE EXTRA HEAT

HOW TO HOOK IT UPClip II on your APPLEUnplug your 120V cable (you won't need it)

Plug short 120V cable from Super Fan II to the back of your computerPlug the supply cable from Super Fan II to your 120V power sourceTurn on the rocker switch and a built-in red ready light comes onYou are all set "COOL IT"

UNIQUE 1 YEAR WARRANTEE!! $69.00

•APPLE IS A TRADEMARK OF APPLE COMPUTER INC.

EPROMS

8 pes

1702

256x8

( 1us)

4.95

4.50

2708

1024x8

(450ns)

3.95

3.50

2716

(5v) 2048 x 8

(450ns)

6.95

5.95

2758

(5v) 1024x8

(450ns)

9.95

8.95

2716-1

(5v) 2048 x 8

(350ns)

12.95

11.95

TMS2716

2048 x 8

(450ns)

9.95

8.95

TMS2532

(5v) 4096 x 8

(450ns)

21.95

19.95

2732

(5v) 4096 x 8

(450ns)

17.95

16.95

PROMS

74S188

(82S23)

OC

32x8

3.95

74S287

(82S129)

TS

256x4

4.75

74S288

(82S123)

TS

32x8

4.45

74S387

(82S126)

OC

256x4

5.75

74S471

TS

256x8

9.95

74S472

(82S147)

TS

512x8

16.85

74S474

(82S141)

TS

512x8

17.85

74S570

(82S130)

OC

512x4

7.80

74S571

(82S131)

TS

512x4

7.80

JDR MICRODEVICES, INC.

1101 South Winchester Blvd.

San Jose, California 95128

800-538-5000 800-662-6263 (Calif.)

408-247-4852

TERMS: For shipping include $2.00 lor UPS Ground; $3.00lor UPS Blue Label Air; $10.00 minimum order. Bay AreaResidents add 6Vi% sales tax Calif. Residents add 6%salea tax. We reserve the right to limit quantities and

Circle 184 on inquiry card.

« ff ^ MICRO

DEALS D D£>US □ DE/US

SHOP HERE AND

(7

10

] IN I MUM ORDER $10.00)

r/7/5 /s ABSOLUTELY the LOWEST PRICE EVERfor a Hi Speed (300 NS) LO-LO Power 32K RAM.t4K by 1 Chips are organized in Selectable Banks.

* Extended Address Lines A16 - A17• Phantom Line + 9 Regulators

SCHOOLS

DIP SWITCHES pos. prc.

4 .88

5 .92

6 .95

7 .99

8 1.05

9 1.15

10 1.19

HOBBIEST

VC EX

PINS

814161820242840

PC

.10.13.16.18.22.32.34.45

WW.26.29.32.34.38.48.50.61

AMP - Need we saymore? There is a dif-ference in sockets!These aren't the low-est prices you canfind. But, if you'vebeen"burned" beforeby bad connectionsin your computer, afew pennies for thebest is worth it!

RESISTORS .02 ea!

(100 PACK) y.w

1.04.76.8

10

15

22

27

33

47

68

751001502203304706801K1.5K2.2K

2.7K

3.3K

3.9K

4.7K

6.8 K

10K

12K

15K

18K

20 K

22 K24 K27K33K39 K47 K68 K100K150K

220 K

330K

470K

680 K

1M

1.5M

2.2M

4.7M

10M

WIRE WRAP WIRE

Packed in 500 Lot Bundles

(Length includes 2" x 1" Strip)

Color - R, Bu, G, Y, Bk, W50 ft. $1.65 - 100 ft. $3.00 - 500 ft. $9.50

2.5-3.25 4.0-3.75 6.0-4.75

3.0-3.35 4.5-4.00 7.0-5.00

3.5-3.50 5.0-4.50 8.0-5.50

10.0-6.50

OK WIRE WRAP TOOL $5.95

COMPUTER GRADE ELECTROLYTICS

Capac. Volt Type

$

150,000 15 CAN

12.50

18,000 25 CAN

5.50

6,000 50 CAN

5.75

10,000 16 AXIAL

4.95

4.700 35 AXIAL

3.50

D0

LM323K 5V 3A-

REGULATOR

$5.50

TAB MOUNT

7805 +5V 1A

7905 -5V 1A

7812 +12V 1A

7912 -12V 1A

HEAT

SINKS

49<t

$1.25

♦ GOLD ♦

S-100-CONNECTOR

Tl or Better

SOLDER TAIL

WIRE WRAP

$2.50 $3.25

DIP PLUGS

PART* PINS

PRICE

08 DP14DP16DP24DP40 DP

14

162440

.40

.55

.58

.95

1.50

Socket and Dip Plug priced based ongold not exceeding $700 per ounce.

CONNECTORS

DUAL ROW .100

CARD EDGE

PINS

PRICE

PINS

PRICE

20

2.35

20

3.35

26

3.00

26

3.80

34

3.85

34

4.65

40

4.50

40

5.50

50

5.50

50

5.90

RIBBON - 20 to 34 @ 1.00 ft.40 & 50 @ 1.30 ft.

CRIMPING 2.00 / CONNECTOR

OEM'S

Z-80-A

$6.95

4MHZ Beastie with extra instructions!

Z-80 SUPPORT

CTC - $6.55

SIO - $25.50

PIO - $6.50

DMA - $18.75

All 4MHZ (who wants 2MHZ?)

74LSXX

74LS0074LS0174LS0274LS0374LS0474LS0574LS0674LS0774LS0874LS0974LS1074LS1174LS1274LS1374LS1474LS1574LS2074LS2174LS2274LS2674LS2774LS2874LS3074LS3274LS3374LS3774LS3874LS4074LS4274LS4774LS4874LS3574LS5474LS5574LS7374LS7474LS7574LS7674LS7874LS8374LS8574LS8674LS9074LS9274LS9374LS9574LS96

.33.33.33.33.59.39.39.39.59.39.29.39.39.69

1.25.49

1.953.7.29.39.49.39.49.95

1.95.75.39.25

1.39.79.79.25.25.70.79.59.79.79.49.95

1.49.95.75.75.95

1.29

1.29

74LS10774LS10974LS11274LS11374LS11474LS12274LS12374LS12474LS12574LS12674LS13274LS13374LS13674LS13874LS13974LS14574LS14874LS15174LS15474LS15574LS15674LS15774LS15874LS16074LS16174LS16274LS16374LS16474LS16574LS16674LS16874LS16974LS17074LS17374LS17474LS17574LS18174LS18974LS19074LS19174LS19274LS19374LS19474LS19574LS19674LS197

.59

.59

.59

.59

.49

.59

1.19

1.49

.89

.89

.79

1.19

.69

.99

.99

1.25

1.49

.79

2.49

1.491.491.491.49

.751.991.251.252.151.492.492.951.951.951.251.491.492.156.95

.991.95

1.951.951.49.95.951.95

74LS22174LS24074LS24174LS24274LS24374LS24474LS24574LS24774LS24874LS24974LS25174LS25374LS25774LS25874LS25974LS2 6074LS26674LS27374LS27574LS27974LS28374LS28974LS29074LS29374LS29574LS29874LS32474LS35274LS35374LS36574LS36674LS36774LS36874LS37374LS37474LS37774LS37874LS3797 4LS38674LS39074LS39374LS39574LS49074LS66874LS66974LS670

2.952.952.491.951.952.958.951.191.191.691.79.951.951.952.95.751.151.754.39.791.495.751.291.951.951.291.751.651.65.95.79.99.992.953.951.951.951.95.591.951.951.954.951.691.893.55

Circle 390 on inquiry card.

DEALS □ DEALS U DEALS

OUR BUYERS ARE IN

CONTACT WITH EVERY MAJOF

SUPPLIER AND O.E.M.

BUY HERE AT 1000 PIECE

QUANTITY PRICES

ALL MERCHANDISE 100%

GUARANTEED! 15 DAY FULL

CASH REFUND!

JUST HOT STUFF

POWER SUPPLIES

If you can beat theseprices we will be trulyamazed. OEM's at 500lot pay more than this.Call or write for fullspec, sheets.

DISK POWER SUPPLIES

PRIAM-SHUGART-CENTURY-MICROPOLIS

+5V@9A |-5V@.8A ]+24V(!>7A | US-384

89.00

SHUGART-SIEMANS-MPI 5%"

+5V@.5A

+ 12V@.9A

US-340

33.50

+5V @ 2A

+ 12V@4A

US-323

56.25

SHUGART-SIEMANS-CDC 8"

+5V @) 1A

-6V@.5A

+24V(s>1.5A

US-205

52.50

+5V @ 2A

-5V@.5A

+24V @ 3A

US-206

69.00

+5V@3A

-5V(a.6A

+24V @ 5A

US-T62

89.00

+5V@1.7A

-5V @ 1.5A

+24V@2A

US-272

69.00

+5V (°> 2A

+ 12V @.4A

-12V @ .4A

US-HTAA

37.50

TELEVIDEO 950

Televideo 950 -$950.00Talevideo 912C- 665.00Televideo 920C- 720.00ADDS R-25 - 710.00

Also have 920C, SO ROC,HAZELTINE, etc. Whatwe don't have is room onthis page. Call Toll Free800 number for prices.

C-ITOH PRINTER$499.00

Look closely at the

photo and see other

adds in this rag at

$995.00. Perfect units,

warranteed. Only 500 pes. Same story,

manufacturerer had too many.

S-100 CARD EXTENDER

$12.50

(Gold Contacts)

As long as there is aprice war, we will fightyour battle. Compareat your local Oept.store and buy U$ MICRO.

MEMOREX - VERBATUM - WABASH

BASF FLOPPIES

BOX OF 10 ONLY:

5%"

5%"

a1/."

8"

8"

8"

SOFTHARD 10HARD 16SOFT 1DSOFT 2DSOFT2DDS

$2.65 ea'2.65 ea.2.65 ea.3.25 ea.3.85 ea.5.00 ea.

w

11 EDISON DRIVE * NEW LENOX • ILLINOIS 60451CALL TOLL FREE: 1-800-435-9357 * MONDAY thru SATURDAY(ILLINOIS RES/DENTS CALL: 815-485-4002) * 8:00 a.m. to 6:30p.m.

TERMS: Prepayment - C.O.D. up to $100.00 - M/C Visa$5.00 Processing and Handling added to each order PLUSShipping Charges. Please allow personal checkto clear before shipment.

SPECIAL OF THE QUARTER SPECIALS OF THE MONTH

SI-MOD (KIT)

$189.00

Complete S-100 12 Slot Computer. Amplesystem power with regulated power for drives.Excellent for Subsystem or Hobby use.4 hours to build. (6 conn, incl., less fans)

DUAL DRIVE SUBSYSTEM

$995.00

$195.00 w/no Drives

.«

If this looks like a Lobo

Drive System, don't be

fooled. Just because it 2 SHUGART 801R

looks like one, works like POWER SUPPLY

one, smells like one, and tastes like one (?)

doesn't mean it has to cost like one!

TWIN VERTICAL DRIVES5" $550.00 - 8" $980.00

Attractive, convenient

and compact Two Drive

Mass Storage includes

Power Supply, Drives,

Cabinets and Cables.

Double Sided, Double

Track available too! $145.00 Kit (Less Cable)

Z-80 CPU (KIT)

The first time this

world popular CPU

offered in Kit. 2 serial,

3 parallel, CTC, EProm

Z-80 at 4 mhz. Software

buad rate, etc. (less Prom & cable) $212.00

EXPANDABLE RAM

*SPECIAL*SPECIAL*SPECIAL*

This is the best allaround 64K boardyou can buy. If afteryou see it, you don'tagree return for fullrefund. Bank Selectby extended addresslines or I.O. 40H.

• $389.00 A&T*

U$ - D$K $255.00

Double Density 8" and5" Disk Controllerdisigned for S-100 IEEEstandards. Uses WesternDigital 1795, 16912143 Chip Set.

^.-^iwJPRjMJlJ1 wm

FANS $14.95

9

These are brand new,

in the box fans. Not

noisey bearing pullouts.

Never again at these low prices!

3-1/8'

4-5/8'

4116s

Expansion 16K DynamicRAMs for Apple, TRS-80S-100 systems. T.I., MostekIntel, Call for manufacturer.

$2.95

200 NS

INTEL8251 $4.958255 $6.50

VERY POPULAR I.O. CHIPSBY LEADING MANUFACTURER

21148 Jk$3.25

One of the world's two

most popular STATIC

RAMs. Factory prime

tested units. Sold in lots of 8 only.

FUJITSU, HITACHI, etc.

200 NS

TMS-4044MM-5257INTEL 2147

$4.25

250 NS

CMOS Version $4.50!

The other of the world's most popular STATICRAMs. This one is 4K by 1 organization. Don'tbuy Gold, buy these, the price won't last!

2716s2708s

$7.50 (450 NS)$6.95 (450 NS)

Remember when 2716s were $50.00 and hardto get? These units are so beautiful it's hard topart with them. But we will, for a small price.Guaranteed!

SHUGART DRIVE8" 801R

$395.00

Manufacturer had

too many, buys at 8" 851 R $585.00

1000 piece rate,

sales dropped, so we got'em. Fantastic buy, get

them while they last! Full warranty.

SIEMANS DRIVE

8" 100-8

$375.00

Very Special Price on -r-w»^.ww

these BRAND NEW current production unitsAdd $10.00 for Extended 1 Year Warrantee!

Circle 390 on inquiry card.

SN740ONSN7401NSN7402NSN7403NSN7404NSN7405NSN7406NSN7407NSN7408NSN7409NSN7410NSN7411NSN7412NSN7413NSN7414NSN7416NSN7417NSN7420NSN7421NSN7422NSN7423NSN7425NSN7426NSN7427NSN7429NSN7430NSN7432NSN7437NSN7438NSN7439NSN7440NSN7441NSN7442NSN7443NSN7444NSN7445NSN7446NSN7447NSNM48NSN7450NSN7451NSN7453NSN7454NSN7459NSN7460NSN7470NSN7472NSN7473NSN7474NSN7475NSN7476NSN747JNSN7480NSN7462NSN7483NSN7485NSN7486NSN7489NSN7490NSN7491NSN7492NSN7493NSN7494NSN7495NSN7496NSN7497NSN74100NSN74107NSN74109NSN74118NSN74121NSN74122N

4.60.49

.65.35

1.75

1.20.32

1.95.29

SN74123NSN74125NSN74126NSN74128NSN74132NSN74136NSN74139NSN74141NSN74M2NSN74143NSN74144NSN74145NSN74147NSN74148NSN74150NSN74151NSN74152NSN74153NSN74154NSN74155NSN74156NSN74157NSN74158NSN74160NSN74161NSN74162NSN74163NSN74164NSN74165NSN74166NSN74167NSN74170NSN74172NSN74173NSN74174NSN74175NSN74176NSN74177NSN74179NSN74180NSN74181NSN74182NSN74184NSN74185NSN74186NSN74188NSN74190NSN74191NSN74192NSN74193NSN74194NSN74195NSN74196NSN74197NSN74198NSN74199NSN 74221NSN74251NSN74273NSN74279NSN74283NSN74284NSN74285NSN74290NSN74298NSN74385NSN743G6NSN74387NSN74368NSN74390NSN743S3N

CD4000CD4001CD4002CD4008CD4007CD400BC04009CD4010CD4011CD4012C04013CD4014CD4015CD4016CD4017CD4018CD4019CD4020CD4021CD4022CD4023CD4024CD4025CD4027CD4028CD4029CD4030CD4031CO4032CD4034CD4035CD4037CD4040CD4041CO4042CD4043CD4044CD4046CD4047CD4048CD4049CD4050CD4051CD4052CD4053CD4055CD4056CD4059CD4060CD4066CD4069CD4070CD4071CD4072CD4073CD4075CD4076CD4077CD4078CO4081C04082CD4085.CD4089CD4093CD4094

.36.35

.251.39

.45

1.39

.591.19

1.15.29

3.25

2.153.25.951.95

1.291.25

.851.75

1.10

1.101.103.952.959.251.39.75.35.49

CD4098

CD4099

MC1440B

MC14409

MC14410

MC14412

MC14415

MC14419

CD4501

CD4502

CD4503

CD4505

CD4506

CD4507

CD4508

CD4510

CD4511

CD4512

CD4515

CD4516

CD4518

CD4520

CD4555

C 04 556

CD4566

74C0O

74C02

74C04

74C08

74C10

74C14

74C20

74C30

74C32

74C42

74C48

74C73

74C74

74C85

74C89

74C90

74C93

74C95

74C107

74C151

74C154

74C157

74C160

74C161

74C163

74C164

74C173

74C174

74C175

74C192

74C193

74C195

74C240

74C244

74C373

74C374

74C922

74C923

MM80C95

MM80C97

.39 SN74490N

CMOS

2.29

2.2512.9512.9512.9512.95

8.95

4.95.39

1.85.89

8.95

2.751.451.391.254.95.992.25

.991.35

1.89

1.795.951.191.191.491.192.493.502.101.651.551.651.551.35"1.351.351.65

2.192.192.392.395.395.651.50.1.25

74LS0ON

74LS01N

74LS02N

74LS03N

74LS04N

74LS05N

74LS08N

74LS09N

74LS10N

74LS11N

74LS12N

74LS13N

74LS14N

74LS15N

74LS20N

74LS21N

74LS22N

74LS26N

74LS27N

74LS28N

74LS30N

74LS32N

74LS33N

74LS37N

74LS3BN

74LS40N

74LS42N

74LS47N

74LS48N

74LS51N

74LS54N

74LS55N

74LS73N

74LS74N

74LS75N

74LS76N

74LS78N

74LS83AN

74LS85N

74LS86N

74LS90N

74LS92N

74LS93N

74LS95N

74LS96N

74LS107N

74LS109N

74LS112N

74LS113N

74LS114N

74LS122N

74LS123N

74LS124N

74LS125N

74LS126N

74LS132N

74LS136N

74LS13BN

74LS139N

74LS145N

74LS148N

74LS151N

74LS153N

74LS154N

74LS155N

74LS156N

74LS157N

74LS158N

74LS160N

74LS161N

74LS182N

74LS163N

74LS00

74LS164N

74LS165N

74LS166N

74LS168N

74LS169N

74LS170N

74LS173N

74LS174N

74LS175N

74LS181N

74LS190N

74LS191N

74LS192N

74LS193N

74LS194N

74LS195N

74LS196N

74LS197N

74LS221N

74LS240N

74LS241N

74LS242N

74LS243N

74LS244N

74LS245N

74LS247N

74LS248N

74LS249N

74LS251N

74LS253N

74LS257N

74LS258N

74LS259N

74LS260N

74LS261N

74LS266N

74LS273N

74LS275N

74LS279N

74LS283N

74LS290N

74LS293N

74LS295N

74LS298N

74LS324N

74LS347N

74LS348N

74LS352N

74LS353N

74LS363N

74LS365N

74LS366N

74LS367N

74LS36BN

74LS373N

74LS374N

74LS375N

74LS377N

74LS385N

74LS386N

74LS390N

74LS393N

74LS395N

74LS399N

74LS424N

74LS668N

74LS670N

81LS95N

81LS96N

81LS97N

81LS9BN

.891.151.691.691.691.691.492.201.101.101.191.40

1.75

4.40

1.101.191.751.951.95

1.951.95.651.951.951.702.352.951.752.29

LINEAR

5.951.49

7BH05

7BM06

7SM.G.

LM105H

LM108AH

LM300H

LM301CN;H

LM304H

LM305H

LM306H

LM307CN/H

LM308CN/H

LM309K

LM310CN

LM31ID7CN/H

LM312H 1.75

LM317T 1.70

LM318CN/H 1.49

LM319N/H 1.25

CU320KXX' 1.35

LM320T-XX

LM320H-XX

LM323K

.99

295

3.25.29

1.25

4.95.955.956.95

LM324N

LM337K

LM338K

LM339N

LM340K-XX" 1.75

LM340T-XX' 1.25

LM340H-XX' 1.25

LM344H

LM348N

LM350K

LM358CN

LM360N

LM372N

LM376N

LM377N

LM380CN/N

LM381N

LM383T

LM386N

LM387N

LM390N

NE531vrT

NE555V

NE556N

NE561T

NE565N/H

NE566H/V

NE567WH

NE592N

LM702H

LM709N/H

LM710N/H

LM711N/H

LM715N

LM723N/H

LM733N/H

LM739N

LM741CN/H

LM741CN-14

LM747N/H

LM748N/H

LM780CN

LM1310N

MC1330

MC1350

1.205.60.981.491.953.752.75

1.95125

19.951.251.751.502.75

.19.75.392.951.901.951.95

MC135B 1.75

LM1414N 1.90

LM1458CN/N .49

MC1488N .99

MC14B9N .99

LM1496N

LM1556N

LM1B20N

LM1B50N

LM18B9N

LM2111N

LM2900N

LM2901N

LM2917N

CA3013T

CA3018T

CA3021T

CA3023T

CA3035T

CA3039T

CA3046N

LM3053N

CA3059N

CA3060N

CA3062N

LM3065N

CA3080T

CA3081N

CA3082N

CA3D83N

CA3086N

CA3089N

CA3096N

CA3097N

CA3130T

CA3140T

CA3146N

CA3160T

CA3190N

CA3410N

MC3423N

MC3460N

SG3524N

CA3600N

LM3900N

LM3905N

LM3909N

LM3914N

LM3915N

LM3916N

RC4131N

RC4136N

RC4151N

RC4194TK

RC4195TK 5.40

ULN2001 1.25

ULN2003 1.50

SN75450N .59

SN75451N .35

SN75452N .49

SN75453N .49

SN75454N .49

SN75491N .89

SN75492N .89

SN75493N .89

SN75494M .89

TU94CN 4.20

TL496CP 1.65

1.50.95

3.101.75

2.502.95

3.492.992.75

1.291.49

4.951.491.291.691.691.55.802.993.491.991.30

1.191.95.591.493.953.953.39

3.753.953.752.951.103704.95

AEMVNCED

COMPUTERPRODUCTS

Whpl HEWLETT

mL'tim PACKARD

HP-85S2695.00

HP 7225 Graphics Plotter 1795 00

HP 16K Memory Module 265 00

HP 5 1/4" Dual Master Flex Disk Drive. 2100.00HP 5 1/4" Single Master Flex Disc Drive 1295 00

HP Personality Module 700 00

HP ROM Drawer 40 00

HP Plotter/Printer ROM 130 00

HP InpuWOulput ROM 260 00

HP Matrix ROM 130 00

HP Serial Interface (RS-232C) 350 i

HP-83 $1895.HP-41: Powerlul. Yet Easy lo Use

• The HP-41 communicates with

P 41-CV you in words as well as numbers

• You can cusiomize the HP-4t toyour own design

• Programming is lasl and easy

• Continuous Memory saveseverything

• Optional Peripherals allow youlo expand capabilities

HP-41 System I 398 00

HP-41 System II 675 OO

HP-41 CV HP-Card Reader 178 00

275.00 HP-Oplical Wanrj 105 00

HP-41C HP-Plolter/Printer 315 00

198 00 HP-Quad RAM 65 00

Maxi-System

.i? MINIMOVER-5'%J*>oK ROBOTIC ARM

Completely ^^|^^L

■nation or _^H ^H^ ^b

lie Assembly^^H ^B ^m

tic Pricloles A

• Automation orRobotic Assembly^

• Education InRobotic Priclples

• Artificial Intellgence Experiments

• Computer Art and Games

topple computer s

¥ Sales and Service »

Apple II® 64K

• Z-80 Softcard

• 16K Ram Card

• Disk II w/controller

• Apple II w/48K Call for more pricing!

Total Value $271900 your price $2229°sa^e- For Pascal System add $4250D

■oppte I hardware clearance up to 25% off

Datas;w«ruUninlnrrijnl.ibl<7PS 395 00 Net, Pascal Par Above' MOO

Vocaly;ar"'VolcoCanJ 225 00 New Ariplc Compulor

VlsionB0"'H0>2<Car(1 325.00 Nhw Apple MJ-SpeedSenal 170 17495

Vision W*0 col unnancomern 175.00 New Cenlionics Primer HO .179.95

A BOO Quad Onnisty B" Conliollei 595 00 Now Appiesoll II Firmware 159.95

MiciosollZaOSollcarO 259.00 Afipie Clock . . S44.9S

MIC(osolM6KRamcsrd 169 00 Anplc GrapHicsTaolel , 599 95

SSMAIOSanalrParaileilO 165 00 Apoie Proiolype CarO 21.95

CCS Asynchionpus 7710 A SO'ial 139 00 Apple Disk II wi conl J 3 559.95

CCS Parallel Cam7720A 15500 Apple Disk II . 453.95

Apple Joystick "QesU" 54.95 Pascal LanguajeCara 415 95

Mountain CompulB' Parallel Prinlei Carfla 159.95

Rompius * IB900 CommuniealionsCara 1B9M

RomWtiler .159 00 InHflet ROM Card 159 95

ln»Ol(X-10 , ... ... 1B000 Calif. Prod Visicalc «ey0O»r0 169.95

Inlrol/X-tORemotoConl.Sys 249.00 M t ft Apple Fan ... 4995

Super Talker 275 00 M4 R Sup R1 Mod. . 28.95

Music System .49900 '■■■■■■ Co'vusSMOHaro DIsK. 3639 00 I

CPSWuililjnclio-i . 22000 New Corvus 10Mb Hard Disk Call.

EipansionCltaasi 699C0 Ne* Corvus 20Mb Hard Disk Call I

DC Mayas Mlcromodsrp:. 299 00 Nb* Corvus ConABliallon Call

DC Hayes Smarl ModB-n 189 95 Ne~ Corvus Minor Call ■

Tnundeiclock 1J5 00 Ne. ACP 1GK UpBiBdB Kit 24 85

X-IOIOOpnon' 4900 Nev. Scoll Vo.ce RBCODrd'On VET-2 B9500 I

|applG/// ^ ^^

$1695

00

Armbaslc Softwara lor TRS-B

wfAppllcailona Manual .

AppllcatlonaJRelerence Manu

$39".$16"

California Computer Systems 2200

SUPER S-100 BUY!

• 12 Slot Mainframe

• 64 Dynamic RAM

• CP/MTM 2.2

• Z-80 CPU 4 MHz w/Serlal 10

• Doublo Dnnnlty Disk Controller

• Interface to Vista V-1000 Chassis

SPECIAL PACKAGE PRICE

FOR COMPLETE SYSTEM

with (2) Shugart Doubla Dnnsliy

Floppya mountad. add 1495.00

New ^appki software

1899.0°

Proto Clips

16-Pin Clip PC>1624-PinCliD PC-2440-P'nCtiD PC-40

Proi^Boatds

IB95 PB-104

IflCO PB-203

21 OO PB-203A

25 00 PB-203A-r43 00

54 0097 00I49O0121QO

|Novatiorj[^AUTO-CAT™

Automatic AnswerDirect Connect0-300 Band

List 27995

ACP 24585

Answer Originate ACP 1 6900

D-CAT1

direct Connect I0-300 Band.

List 249- ACP18900

List 198°°

Vlslcalc — Now Better Than Ever 169.00Vlsiplot —Graph your

Vlslcalc WorksheetsVisltrend/Vislplot—Vlsiplot

w/Trend AnalysisVisldex—The Ultimate

DBMS Vlslcalc CompatibleVisiterm—Communicate

w/other SystemsBPI General LedgerBPI Accounts ReceivableBPI Inventory

Stockfile Inventory SystemInfotory Inventory SystemMicrocom MicrocounerMlcrocom MlcrotelegrapihAccounting Plus II Bi* Pkg,Stoneware DB MaslerStoneware Utility Pkfl (For above) 89.00

149.00

239.00

219.00

209.00299.00299.00299.00349.00289.00229.00229.001250.0D

ACS BASIC ACCOUNTIaccounting systeiPAYROLL

Buy a

System

and

Save

We only offer AppleCPM software whichhas been evaluatedby our software staff

WORDSTAR-The Benchmark ofWordprocssslng soltware requires Z-80& 80x24 349.00

VTS-80 CP/M-Wordprocessor has noscreen menus uses new keycaps(supplied) lo display Key functions

319.00 NewMAIL-MERGE-A Wordstar Enhance-ment Pkg. allows lorm^letter genera-tion & chained printing 169.00SPELLGUARD-Will proofread Wordstar& VTS-80 Text files against anexpandable 20,000 word dictionary

169.00SUPER SORT-Will son. merge, &perform record selection on yourCP/M Data Files 169.00

FORTRA80-By Mierosolt 195.00

COBOL 80 By Microsoft 749.00

NG SYSTEM. Totaldes G/L. A/H. A/P.699.00 New

Breakthru in Apple II" Mass Storage!

Vista A800 Quad Density DMA 8" DiskController i

Mcdel A800. .. . only$595°"

| Special Complete Subsystem OffeF]

• V1000 w/two Qume Datatrack 8 • Cable, ready to run

• A800 Apple II 8" Disk Controller

Total Value $293900 your price$249500

Single BoardComputers

AATARI 800 & 400

Personal Computer SystemATARI 800 $799°°ATARI 400 $375°°

ATARI 800 Includes: Computer Console, BASIC Lang. Cartridge, BASICLanguage Programming Manual. 800 Operator's Manual w/Notebook,16K RAM Module, Power Supply, TV Switch Box.

SKn>m lioo

8*s< littsi'.ii WOO

B*sk Aigwa BOO

llIK bat M Pri|nw luurn

Zvot io BASIC P-o]iamT!i™) H00

BASiL tiame Projrams |00D

Att-Ol Hi*)'!

8K HAM UiVKT, WQOult HOOD

16K HAM Memory MlHuW UiDO

MAM

Bum D>i«tti«

Ds> r« Mjrajtr S0CiMtuwt CwiniKi

Dnwg CWW0*e P»ip 'BOC

-*o*.*. :-.-■"--■' -s- isot

J0fM«* Ccwttw p»i* il0(

^^^ AIM65w/1K

435.00

hrttafiii

5500

8K BASIC ROM

99.00

B20P'ini«i 'JOCnl >

295 00

795.00

POWER SUPPLY

64.95

49 95

US Goie'nmtriV

J5Q0

ENCLOSURE

B50lntul.ur

Prorjilfn Recorder

Suoerviwry Skills

3500

TOTAL SYSTEM W/4K

669.00

69 00

Wtukl MHI0>V iWtSltrni

3500

239.00

Stlt.tr. - IDH Cirmi|ii

SDZ-80 STARTER KIT

367.00

EOuCitiOnSySKmMaitfiCar

DOS ZHOO

1500

SD Z-80 STARTER KIT AST

450.00

5500

^rs«

35 DO

SD SBC 100 Z-80 AST

367.00

BtttUM

Super BKWoul"'

lireji Ciisws lErfliyi

SDSBC200Z-80A&TRCACOSMAC VIP

399.00199.00

«!004200

BlStf Psytf«jl05/

3500

449.00

Muk Comoow

5500

AulO MtCUnci

3500

RETAIL STORES OPEN MONSAT

P.O. Box 17329 Irvine, Calif. 92713

Direct Order Lines: (714) 558-8813

(800) 854-8230 or (800) 854-8241

IVER'S LICENSE « OR MAJOR CREDIT CARD

SREQUIREDONALLCHECKS MONEYOHOtR

CASHIER CHECK WILL FACILI1AH l Ml

Circle 6 on inquiry card.

T ,^^COMPUTER

FIRST TO OFFER PRIME PRODUCTS TO THE HOBBYIST AT FAIR PRICES!

1. PrOVeil Quality Factory tested products only. S*$7?-*\

2. Guaranteed Satisfaction ( 4i6fCall For Special School Discounts \£79.o5

"V-DRIVE"

THE LAST WORD IN 8"FLOPPY-DISK ENCLOSURES

THE VISTA V-1OO0 FLOPPY DISK DRIVE SUBSYSTEM

i OtUntin's: 1WJ1 nunui vcr. any aeon*t *>* pDSilmngjrd nunlng • r*»iMtMNf Ml Wcrnca** jccctiwUIo smpje sded Ortvo»-n:lu*ng trie most con**rtfi ViYchstM and Srugjrt rVwy Of* (Hw*. Jrt 8 ■ reri staam«X] 0<* urws • S trsge

c*^riwi05tD«0ragjcY*»t» inasvji jj*, :-<'"' ""■ v..l-.- sr; beM •MMJU. WOSHAfl*iJ«s» AtKnn* S^^rgS Fnn: am ran ttra m mcuiB;rr-i>f al re eiea .-'.■;*- (no iiUmK sktaj • C«* or rat* rnourMole • tatuttrraMar arttrucbm mth removM*! DVaMRfety Jul afcws easy rabmetixBrl town andmortdg • Dim pul art tar 41sy wvia jtE marlenancs

DISCOUNT PRICES

CABINET S 395

CABINET witt (21 vxf. saw *mbs llnckrtng pM supply & rat*) 51495

CABINET -v . .wc ..1.1 >-..-. ...u.-n,,,^ jl(/,.', ..,-: $1995

TRS80' MODEL I,PMC 80, ZENITH H89,

^SS^S> + S-100, etc

ONLY31000ea.

MODEL V-801,

80 TRACKS, SS

ONLY 42500 ea.

2 DRIVE CABLE. 29.95 4 DRIVE CABLE. 39.95

sfc MOSTEK MK4015rJT 4K Dynamic RAM

' Refresh while supply lasts only .49°Pin equivalent to MK4027 except has 1 ms.

S-100 WW

$2.99 each

FIRST QUALITY AT SURPLUS PRICE

2708 EPROMS

PRIME-450 Ms.8 for $29.95

tlS^^

4K STATIC RAM SELL-OFF

TTTTTTTTT

Zilog 6104-4

Same as TMS 4044 but designed specilicallyfor Z-80 based systems. This is full-spec4Kx I RAM. 450 Ms.

While supply lasts $1.49 each.

SPECIAL PURCHASE$59.95 Limited Supply $59.95

16K Affair RAM Boards. Fully Populated as is.

FLOPPY DISK DRIVES

J ACP LOW PRICE $569.95

1MIOO-1 Bft" Disk Dm".40 trucks

itiDle Model FDD-120-8D

•IB51-

Shugarl SA4O0-5'VShugad 800/80 ifl 8"

Shugart CompPERSCI Mcdel 277 DulMPI B52 5V* DualWANGO/SIEMENS82MPI 91 Oouole Track Density Single SineMPI 92 Oouble Track Density Double S«l<

249.95.239.9529500449 00429.001195.00348.00290.003750047500

6800 MICROMODULE" PRICE LIST

MODEL NO DESCRIPTION PRICE9600A Smijie Bo.vd Microcomputer S495 009609 Advanced Single EW Corno |6809I 59500

16 Slot Mother Board t75 0OCard Cage 75 00

8 S'ol Mother Board '00 00

Power Suoo'y 275 00

DC Input Power Supply 325 00UliiHy Prolo Board 39 00

An|h Proc Memory Module 495 00Buttered Oddly Proio Board 49 CO

J2K EPROM. RAM Module 250 00

EPROM Programming Head 250 00

16 Channel Parallel 1,0 Module 295 00

Sflnai-Parailei I/O Module 325 00

16K Sialic RAM Module 470ns 39500

32K Static RAM 450ns 695 00

32K Static RAM 200ns 895 00Card Extender 68 00

Multiple Programmable Timer 39500

B Channel Duplex Soai I/O Mod 395 00

'.rtw.'wgert Tape Controller 550 DO

32/32 I/O Module 275 00

Contact Closure Module 350 00UHPOPUtATEO BOARDS /Also AvatlaD>et

9603

960 a

9604

9605

96 tO

9611

9612

9616

9617

9620

9622

9627

9629

9629A

9630

9640

9650965!.9610396702

S24.95 TRS-80/APPLE $24.95

MEMORY EXPANSION KITS.4116s 16K (200/250 ns.)

16K J^if^T RAM

CENTRONICS PRINTER

Model 737

• Centronics CornrJlele cinter

• The737haseverynmg. Checkand compare the features

• New low price $835.00

32K STATIC RAM BOARD

2 or 4 MHz Expandable uses2114L'sS-100

l6K4MHzKit . .159.9516K4MHZ A&T .217.9532KMHzKit. ..289.9532K4MHZA&T .339.00

Bare Board 39.95

Bare Bd. w/all partsless mem . . .99.95

NEW! from Zilog

Z-8 CPU comes withTiny Basie & debugprogram on the I.C.

BIPOLAR CPU SALE

Signetics 8 x 300 8 bit CPUWhile stock lasts 14.95 ea.

UV "Eprom'

Eraser

Model UVS-11ES69.95

Model S-52T... 5325.00

NON-LINEAR SYSTEMS. INC.

TOUCHY-TEST 20

DIGITAL «_.._..,

MULTIMETER $31 995

®

* BECKMAN£& DIGITAL MULTIMETERS

*5& TECH 300 Digital Muiiimeter S110

* TECH 310 Digital Multimeter S140

TECH 330 Diqual Multimeter S189

VC-201 Vinyl Carrying Case £10

DC-202 Deluxe Carrying Case S24

HV-211 High Voltage Probe S35

RP-221 RP Probe §35

Ct-231 AC Current Clamp 542

DL-241 DelxueTest Lead Kit S10

TL-242 Square Test Leads SS

INTERSYSTEMS

The Perferred S-100 Box

The new Series II CPU Board features a 4MHz Z-80A CPU and full-feature fronlpanel. 20-slot actively terminated mother-board, with 25 amp power supply (50/60 Hzoperation, incl. 68 cfm fan).DPS-1,Lisl$1795

ACP Price

$1499

<**«* 4iMa

SYSTEM 2A

with Z-80A CPU

MHz, 64K RAM. I/O Board. 20 slots, front

panel, double density disk controller

board. Full 1-year warranty.

Lisl $3795 ACP Price $2995

■ 2 80ACPU4 MHz

• 5 user programmable lunclion keys

• 82 Keys wilh numeric keypad

• 160x100 resolution

• 80 character screen

PC-8001A Microcomputer ;v.'32KRAMPC-8012A l,0 Unit w.'32K RAM.

PC 8031A Dual Mini-Dish Drive UnitPC 8032A Add-On Dual Mm-Disk

Drive UmlPC-8023A Impact Maim Printer

Tractor'Fnction FeedPC 8094ACable 'or PC-B023A PunterJB 1201M(A) High Resolution

JC-1302DH1A] Hifltl ResolutionColor Monitor vwRGB Incut

PC-8091A RGB CaDie forJC-1202OH|A| Color Montlor

PC-8000 SeriesMicrocomputer System.

NEW

INTROPRICING

$1099.00

265.00

1195 00

19 95

PCS

ir Rete

949 00

769 00

44.95

239.00

1049 00

17 9519951995

MICROPROCESSORS

Z80

Z80A . .

F-8 13850)

2650

CD 1802

8080A .

80B0A-4MHJ

SALE 8085...

BOOB-l

2901

2901 A

2903 4-Dit Sup

TMS 9900JL

CP1600

6502

6502A

IM6100

;tB900149 00.9.9513 95169516.959 75.4.7519 95

6BO0B 2 0 MH*

6802P

8035

8039

INS8073N875587486809

299549 9539 959 9516952995,.11.7519 9517 9514 9519.9524.954995

ADVANCED SUPPORT

175 00175 0079 95

8 7512 95

8 7512 9529 9536 9535 9539 40359539.4035 9539.40

8080/B086 SUPPORT

249564 9534 95

3 952 75

5 252 752 959 752 952 95

4 50

5 509.50

15.95

6 9512.95

6 5016 9515.95459515.95

6800 SUPPORT CHIPS

;810 '2B i 8Ram 4 75

;820 6.50

6 5010 75'6 9529 9529 955 955 951095

B155.8156 I/O8755 1 Owtth Eprom8202 0>n RamCont.B20S/T4S '38 Decodflr

8212 8 Oil I/O32 TA Pnorny Ini8216 BvisDr.va-3224 Cock Gen8224-4 i4MHzi8226 Bus Driver8T26 BuS Driver8228 Si S Control3238 Bys Com8243I0E.D8250 Asyn CommS251 Proa I/O8253 l"t Timer8255 P'OB i/O8257 P'OO DMA

1 9525 95

6B21

652BPr.or,ly1nlG834-1 512x8Ep'omB84B(HD46505CRTCoi

6647 Color CRT

6BS0 ADA

6852 Se-;a Aoapte'

6B60 Mooem

6362 ModutalOt

6871A l OUHlOSC

6375

6BB0 Bus Or.ver

MC68488

68047

8502 SUPPORT CHIPS

6520 PIA 7 50

6522 Muii ' i 95

6530-002 003.004 005 21 95

6532 '9 95

6551 19 95

BIPOLAR PROMS

We doCustom Programming

B2S23/6330i5£O0/74Si88 425

82Sil5(512x.E?!TS .12.95

82Si23/5610/74S288(32x8)TS. 4.2582S126/5603/74S387(250>4)OC 4.2582Si29'5e23>74S287!258x4]TS 4,2582S13O56Q4/74S570|512x4)OC 65082S131r74S57l|5l2x4lTS . 6.95B2Sl37,74S573(1024x4|TS .12.9582S14l/3624/74S474(512x8]TS 12.9582Sl47(74S47»(512«8iTS . 129574S471/fi309!256x8ITS 795

MOS PROMS

2764 i.9K.0)TS 8995

2732|4K>8|TS. . . 16.95

27i6'25i6:5Vi2KxB)TS 8-95

TMS2716, = 5V. 12V 17 95

275A.5V, (450MSI 7.50

270fl(450Msl 5.75

2708i650Msi 5 25

1702A 5 75

MM5203AO 14.50

MMS204Q 9.95

CHARACTER GEN

2513-001 iSViUooe' S

2E 13-005 ISM Lower IC

25I3-ADM3 /5ViL0wer 14

MCM66710 Ascu StiiftedMCM66740 Main SymboUCM667S0 Aipna Contrc

2.953.45

3 45

UARTS/BAUD RATE

l¥5i015A.i863ibVi

SALE TR1473B ...

6 95

6 95

7 95

KEYBOARD ENCODERS

STATIC RAMS

21LO2 450T. /ep.t£

tH02ssoM [ :Uo2

21131 X^S^

11 30

t 25

99

'3 752 95

3 65

155

2101-1

2114N(450MS.I

3.75

3.25

2ii4L-2b0ns i4045r

6 50

2l14L<450m (4045|

4.75

425

3.95

t90

4044 450nt

5 95

EMW4200A

9 75

7 95

EMM4402

AMD9140/41

10 95

10 25

925

AMD9130 31

11 95

ID 25

1101

1 75

t 25

PZ125/93425 145ns j

9 95

H3S

E25

6518 IK . 1 CMOS

7 95

7 95

7 25

2147Lo*Po*er4«Sui.

9 95

895

€95

33415

)8S

H )',

E50

AM951 I Anth, Processor

9512 Anlh Processor

9513 Univ TimingAM95'7 DMA ControllerAM95i9Uniuerf3a1lnierruc

Z-60 SUPPORT CHIPS

280'PIO 2 5MHi

ZSOA-I'IO 4 0 MHl

ZBO-CTC 2 5 MHi

ZSOA'CTC 4 0MHI

ZSO'DMA 2 5MHI

Z30A-DMA 40 MHi

ZBO-SIO^O 2 5MHi

Z80A-SIO.-0 40 MHZ

Z80-SIO.I 2 5 MHi

Z80A-:jlO.'l 4.0 MHj

Z80-SIO/2 2 5 MHi

Z30-SIO/2 4 0MHr

DYNAMIC RAMS

416(4116 16K(16Pm|

249

Selol8 416's200MS

2495

4115BK(16Pin|

149

40S0 4K. 1 |l8P'nl

4 95

4060 4K. i |22P.ni

4096 4K ■ 1 116 Pm)

40274Kx i(16Pm|/UPD41

. . 4.95

5261 195 fLAK

5262 1 95 O^^

.35

SS A9b RAMS

E605

7 95

' $19.95

GOQ.'

1 50

SOCKETS

.Pin.

| Wire Wrnp 3 Le.al

Lo-ProSoldott.-iil

Gold

22

2836

40

243H

■>n

mi

36

59

1 40

• ■B4

i 20

1 89

ZERO INSERTION FORCE

LED READOUTS

lis bkr 1)11.1*111"

fN03i7

XI "M

FNDMI

Mil! )W

iMi', tin', tin:

Cl(l',ll/".1.1.

SOD AM

INIMJrj

t.M il-rr

'MObiO

500 Oiai

000 rw

in['Sii,-im,-i

miu nu

,ii.,.-iL3.,-i4'-.

5nn rw

•■■- >;- -i.

BOO rw

»ncw "v.

JUO «W

Cunm Citrate■ Comm CjIMOtComm Cjitiax-

JOO VtUM Comrri f

Comm Ann* let OPOrt-rlis* CA IWI DPC«mm Cjtraif RuTt DPC«rm A-Mde R<)ti! DCComm Anaji! tun OPrjitniOH CA Ltrlt OfCrmn Cjmorjc "«yi DP, Cimm AnMe R^w OP

iflOC

IC SPECIAL PURCHASE

02S09 64x9 Ram

DP8304 0dal Driver

DACB6EX D/AConv

MC1650 Hi Speed AID

MC6852 SSDA

MCI0I45 16x4 ECL Ram

MK3850/F8 CPU

MK3853 Sialic Mem I/O

SN75136 ,46 78M06

MCI0210

LM339

LM710CN

LM711CN

ICM 7045 Precisi

(CM 7207 OrciII;

79W0679 7415729 7416129 74C74i SlopWaiertir Coniroiler .....

Seven Decade Counter 7208

MC14433P 3'j DkjiI A/D Conirenc

ICL 821 1 Voltage Ruleience

1 M 1 Hf.iON Ground Faull IC

LM 2900N Ouart Amnl.lier

LM29t/NFreo 10 Voll Conv

AY-3-3550 4'. difjit DMM

AY-5-3507 4QMH7 DVM

MEM 4963 Mosle! Smoke Delector

■J-fSOB 32 . 8 Prom |IM 56001

ULNZ003A 7 cliannnl Driver

MCM 14505 64 Hit Sialic Ram

MOC 1003 (4N28I Oplo Couplet

SPX33 Opto Coupler

IH 5045 CMOS Swilch DBSTUA 3045 Trans Array

TR I402AUART

MK 1007 Dyn Mem Slult Ret)

5310TVCI1 Disp Circuil

HO.'IOA !) Git CPU

8700 CJO Bit A;D ....

MMS260/VP0 4 11/C2 107/TMS 4060/nKxl Dynamic 22 Pin RAM , ..6604/VPD414/4O27/2660/MK 4096/Dynamic 16 Pin .

371.002/1002/19924 95

6 95

3/100

3/1.00

4 50

7520/25

1488/1489

LM3Z3K

MCI372

MMS2S8-4A

LM 387LM 4558RC4136RC4131COM 5027COM 5037

VERBATIM DISKETTES

100% CERTIFIED ERROR-FREE!

• is tucks (mum omirr smc-if-suEt P«

rvPf fJESCBlPTlON fBir.f HOl II

52MJI Soil Seunrrt TflS80 fti J799S

S2J-I0 10 Hon-H.vd NS AfflMMttc S2995

S2J Id 16 H* Hira M<roo.*i J29 9S

• 40 & 77 1MCK 00U11E OlPISinr - SINGLE SlOtO

S'l W/Hltl Rf INFOnCEMLNT BtkCST) Dt S"1i SecWM IRS an err 53??5

571 i ' lOHMHMhS Aa*«?tf 3225

FLOPPY DISK I/O

1771-01 8

& Minifloppy

24 95

1781 Dual

29 95

1791-01 [

ual Floppy

36 95

1791-02 D

alFlofjpy . . .

44.95

1793 DD. DS Floppy

44 95

1797 DD. DS Floppy . . .

54.95

1691 Data

Separator .

18.95

2143 Cloc

Gen.

18.95

FLOPPY CHIP SET

S79.95/set

A/D CONVERTERS

8700 8 b

8703BbilTS 13

9400 Votl to Freq Conv 7

8750 3'r Digit BCD 13

1408L66DH 3'

140BLB Bbit 5-

DACOl D to A 5

DAC08 9.

DAC '00 .9

TV CHIPS/SOUND

AV3S50O-1 G Games B/W 4

AY38515Color ConverterAY3B603-' Roadrace GameAY38606-1 Wioeoul GameAY38607-1 Shooting GalleryAY38910 Sound GeneraloiSN76477TI Sound GeneraioiMM5320/21 TV Synch GenMM5369 PrescaierLM1889 RF ModulalorMMS7100 NSC Coloi TVMM57104 Clock GenM&R Modulator 29 95

WAVEFORM GEN.

803BFuncltonGeri 4.50

MC4024VCO 295

LM566VCO t 95

XR2206 Function Generalor 5 25

SHIFT REGISTERS

MM500M 50

MM5056N 2 95

MM5060N 2 95

25IDA i 95

2S04V2507V2517V2S24V252525272528252925333347

CTS DIPSWITCHES

CTS206-2 1 75 CTS206-7 I 75

CTS206-4 l 75 CTS206-8 1 95

CTS206-5 1 75 CTS206-9 I 95

CTS206-6 l 75 CTS206-IO l 95

CONNECTORS (GOLD)

DB25P<RS2321 3 25

DB25S Female 3 75

Hood l 25

Sei w-Hooo. Sale

S7 50

22/44 WAV S/T.KIM

2 95

43/86 W'W ST MOT

650

50' 1 CO S-100 Connector w/V

4 95

50/100 S-100 Connector s/1

3 95

NAKED PC

S-100 Saund Boaro

S34 95

3080A CPU

34 95

32K Static RAM i21 14)

39.95

8K Eprom 12708)

24 95

270B/2716 Eprom

34 95

ACPProtoBd

22 95

Vector 8800 Proto

2220

Vector 8803 11 slot MS

2995

ACP Extender w/Conn

18 95

13SlotMotherBoar(l,WMCl32 95

9Stoi MotherBoard (WMC

29 95

8 Siol Moiner (Expandable

34 95

FloprjyPCe IB'SMUGARP

3995

S100 (AY5-S9101 Sound Br.

34 95

Apple Sound Bd

24 95

..PRINTERSEPSON

MX 80 FTMX-100MX.70

Centronics 739Visin V-300/25cpsV-300J45cpsMalibu '65 ...Anadei 9500/9501Base II BOO MST

59500.895.00. 426 00

799.001495.001795.001995.001450 00

549.00

TERMINALS

S799S8491995

S599$10251699$899

1 M9.00

i MONITORS

SANYO

Q

1—mm

^•"■S* Sale Price 159 95

DM5012 12'B/W 239 00

DM6H2i2_Green 249.00

DM6013 13" Color 415.00

NEC Green 259 00

AMDEK/LEEOEX V.deo 100149 00AMDEK'LEEDEX 13' Colo/ 399 00AMKEK/LEEDEX 12'Green 179.00

TERMS:AMEX. Cf25=orlepc

se check. M/C VISA,or COO COD requiresi Charge Orders pleaseraiion dale Foreign payOrder by phone mail or S10 00 Please ftv

•JiMU

• tD nuns oouiie sioto oouiie QEksin y.;\\<n BoltSeovtOSA4S0 «pi S3SM-io lOHoteHaa mm wanglq

• I 100*1 CEMIFIEO DISKETTES

-;■-.. i. -. ", ' .;■ !,.■■ ', v....

SHIPPING USA adrJS2 0Qlc

139 951339313995

i For !

0 30C If

RETAILSTORESOPEN MON-SAT

i. Box 17329 Irvine, Calif. 92713Direct Order Lines: (714) 558-8813(800) 854-8230 or (800) 854-8241

add 70c lor addonal lbs FOREIGN Add 10% shipimgand handling CODsSI B5extr;Not responsible lor typoi. Som.items subiecl 10 prior sale We reserve righl to limit Quantities, somiilenis '-.iitijLtl H)it'r-.j:ous metal atMerRelail pricing may vary Irom MaiOrder We reserve the right lo sub

FOR INTERNATIONAL ORDERS:1310 E. Edlnger (714) 953-06O4SantaAna,CA92705 TWX:910-595-1565

Circle 6 on inquiry card.

California DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

F*1

FREE PLASTIC LIBRARY CASE INCLUDED WITH THEPURCHASE OF EVERY BOX OF DISKETTES

rivale labeled for California Uigttal by one ofle most respected producers of magnetic media, iach diskette is certified double density at 40racks. To insure extended media life each dts-| kette 13 manufactured with a reinforced hub-hole.■Vnil of course. B plastic librarv cage is includedrfth every box of diskettes. MMD-CDHOIXIO)^lease specify computer or required sectors.

Ten boxes 322.75

MINI1J1SKETTES Box

emorex 3401 $27.00

I Verbatim 52S(01«10) 2U.0O

■IT. BOX

One hundred boxes $21.

sas.oo

li 'M-l(O)UQ)UG) $31

10 boxes$29.00

EIGHT INCH Scotch box 10 bxSingle side/sinple den. 7JQ-0 $35. $33.Stogie sdW double den. 7-11-0 45. 43.Single side/32 sector 740-32 35. 33.Double side/ double D. 743-0 65. 59.

Dysan box 10 bx. MRX box 10 bx

3740/1 $4Q. S47. 3060 $ 5. $-.3.3740/ld 75. 73. 30&0 37. 35.

na. 3115 40. 45j

SCOTCH brand head cleaning kit. $24.95

UHA-CK(SX8) please specify 5 1/4 a" '

Prices available on request for: tape, can

ridfies. dtskpacks, vohintn diskettes.

26 MegabyteHard Disk Drive

from

George Morrow's

Thinker Toys

53495

MEMOREX $

8"DISKETTES

25

a truck luni! of otftht mcli i««ketCallfiinil.i IHnil.il «.s forlunaiooffered ibis toad of prln

but are guaranteed iirst qualityMemorex Brand. t»3000 tingle lun.Uk« all rJfsketlM solii by CaliforniaDigital, a library ease is suppliedtree *ltli the purchase of every bnx.

TWi offer is eaMeel to remaining

MEMORY

tzi

UKBHANDED"

TRS-80 ®APPLE II

16k memory (8)4116's

Factory prime. Unconditionallyguarcnteed for one full year.

Add $3.00 for TRS-80 jumpersand instructions.

DYNAMIC

100+ 1K+

4115- 200ns4116 150ns41S4 i>4K

3.25

3.7549.50

3.003.50

2.753.25

STATIC

21L02 450ns.21L02 250ns2114L4 450ns2114L3 300ns4044-4 450ns4044-2 250ns5257-3 300ns

1. 19

1. 493.954.254.95

5. 504.47

1.05

1.452.953.754.504.954. 25

.991. 392.753.004.254.504.05

EPROM

2708 450ns2716 5V.271G Iri-volt27 32 Intel2532 TI2764

4.957.959.9519. 00

21.50

4.506. 50

17. 5019. 00

3.755.008.25

16.00

2.502.754.004.35

3.75

3.254.507.50

I 2.-r__

direct connect

MODEM

V

Your Choice

*169

i acoustic modems

Choose either

Che Universal Data Systems L03LP is switch selectable between answer .md oriK-toatH modus. VaUy Boll 103 oompatable. Directly connects to the new modularill op bom.- jack. 1W>S powered firem the telephone line. No need la locate modem liproximity to A.Cpower roeeptlelc. MOti-l0:il.l' 2 pounds.

LIDS 103J/LP AUTO ANSWLR $219

*■»

m pi

BSR

SYSTEM

X10

The new BSIt tinier runs■appliances while your a*istinR System X-IO davit™BSR Tinier night channel

irul console

ay f

Ultn

onto

nrolt.-i

Appliance Moduli; 500 W. IIS.S!

Lamp Module :(00 Walls 13.9;

NEW full control wall switch 14.51

8-100 Mother Board $35

QuietSuss

8803-1818 slotIMSfli

SWITCHES

■ swrraihs

CONNICTORS

GOLD KUGi: (HINNI.CIOHS

JG/7^ Digital Group SI I' .rj.'J'i a.!

36/72 DlfltBl tiriAip WAV G.iiO fl.l

J3/B6 Motorola 6H00 S/T 6.60 li.!

■I3/B6 Moto. 6800 W/W 7.00 B.l

INTEGRATED CtltCUIT SOCKETSLow Prollle W're Wrapeach 100* each 100*(I pin S.10 S.O'J 1.46 1,41

IGpln .12lil pin .IS

kri'l'l'l'l'l'l'llWri)*"^

' l>' Type each 10-24 28+

DEOPmalv $1.60 $1.40 $1.30UE'JS female 2.25 2.00 1.U0

I1H2:.S l.rmaU- 3.35

3.15 3.05

l)H hood E/P 1.35 1.15 l.Of.

DC37P male 4.20 -i.on 3.70

DC37S temnl* 6.00 5.73 5.50

DC hood B/P 2.25 2.00 1.7.1

IJO50P male 5.50 5.10 4.75

DlJ.iOS female If.40 B.60 8.00

imf>o hood 2/P2.OT 2.40 2.10

RIBBON CABLE CONNECTORS17/34 j"dlsk 4.£!5 4.15 3.9a

20/io rns-fio s,.ss 5.05 4.70

23/50 B" disli 5.S0 5.15 4.'J0

All ii

erchandise sold by Call form

1 Pigttal is pr

Sliipp

ng: First five pounds $2.00;

jaoh addition a.

■orei

En orders 10% shipping. Kxc

ess will be re

Calif c

rnia residents add (i% sales

ax. COD'S d

Open

accounts extended to state su

pporlcd sdllOQ

ions

and companies with a "Strong

IXin & Brads

Ware

louse: lfiGOH Inglewood IUvd.

Visitors by

S-100 MAINFRAME

Mainframe includes 117/230 volt power supply tint! your choice of a

six or twelve slot motherboard.

Six slot enclosure is supplied with mounting provisions for one 5 1/4

floppy disk or Winchester drive.

AC receptacle is provided for terminal or other accessory. Chassis

has been punched to accept six assorted computer connectors.

Shipping weight 37 lbs. ENM-CD1 $265.00

=a.Shugart Associates

$595

801/ R Disk Drive 15 lbs.

Shugart B01/R with CP205 power supply, muffin exhaust fan. c

plete in dual enclosure with all the necessary harnessing cable:

Documentation included. 35 pounds. MSD-1801

Same as above but with two Shufiart B01R disk drives.

50 pounds. MSD-3B01

Disk drive cable. G feet 50 conductor with edge card connector

♦795»1195

h ends. WCA-81Disk i

H)V. SOMHz add J50.00 f

3HUGART801R

$

Qunte Double SiHedS ">'-=t Drive '575

NEW

from

Shugart

Technology

U$

MegabyteHard Disk Drive

Packaged in the same physical size as the industry stan-dard 5 1/4" minifloppy disk drive. The micro-Winches-ter stores thirty times as much data (6.38 megabytesunformatted), accesses data twice as fast (170 milli-seconds) and transfers data twenty times faster (">.0megabits per second. )

The ST506 is factory sealed to protect the media fromenvironmental contaminates. Requires only DC voltage.Dual California Digital 5 1/4" enclosure, t* CAAST506 drive and power supply. ' X3UU

Shugart Associates SA400 removablemedia disk drive for above package, add:S-100 & Apple controller scheduled forspring release.

*300

□ATA INPUTTERMINAL

-om the CMC- division of 1The unit w.is originallyctly onto magnetic tape.

d fiber-Klaus -Ml.

The svfituin is comprised of s premium

alone with » Honeywell / .Microswiicli ha

advise th<B operator of ilie systems sta'.u

acceptance of data and alerts the operai

But most of all this "USED" terminal, with a

to moke the perfect home for an S-100 compiil

modification will .iccepl the Rockwell AIM-65 mtcro/ci

Five volt regulated power Supply is available for an .iddlilonai S20.

Ml units are in excellent condlilon. Criein^l acquisition ever $700. 22 1

1 effect keyboard,s. Four inch loud spi-akfiif pendint; problems.

.magination. <video displa".

Regulated

Power Supply

5 VOLT 5AMP

$H?5

This UStili surplus power supply was removed

I'ass tr^msistor ri.-iul.i'.iun outputs five volts at .Suitable for TTL hobtiy applications. SPC-l'Sl

TOLL FREE ORDER LINE

(800)421-5041

TECHNICAL & CALIFORNIA

213679-9001

Circle 44 on inquiry card

IX 910 325-62121

CaUFornIa DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Enclosure for Two 8"

Disk Drives and12 Slot Motherboard

$

I Modular in concept. . . designiI system Integration, Buy as i

I The basic enclosure is «ngim

structural steel. RF line fil

: conforms to the Federal Comrr

exhaust fans provide maximun a

and a io megabyte

all AC anil DC powShipping weight 30

POWER SUPPLY rShipping weight IS

Monn;mtOAR[j w

sion RFI requirements. Twi

cards. The enclosure has mounting provisions for t'Winchester drive. The b.isic package is supplied with

er cables. Rear panel has been machined to accept nil

lbs. ENM-2D $375.00

for cost effective

ch as you require.red from welded; insures that thelicatton Commis-irflow across print-

i 8" Qume for Shugart disk dri

ry receptacles anted computer connectors.

i AC ;

a basic enclosun

supports

) 8" disk drives and 12 slot motherboard.

e canceling baskel-weave ground plane. Complete with iwShipping weight ;i lbs. BDD-.MT1112C $39.00

I gold S-100 edge

World's Beat Selling Printer

EPSOMX80

Immediate Delivery

Only $

475

Paper Tiger

560Gs1350

rVECSpinwriter551C3P/S

and RS-232 serial (men.niiiHin, .dcnit with print iKeyboard (KSlt) Model Si

'■Iso iiu-lii i M <li.- ir-.dor l.-cd m«

■ ,n-.i rlblton, PKN-5J1PPS 70 1I>havailable S2ABS. PttN-5s3BPS 75 lbs

PRINTROINIIX

P-300P-600

$4500$6150

PRINTERS

Epson MX80

PHJiMXSO

$475

Epson MXBOFT

PRliMXaOF

595

Epson MX 100

PREMX10C

825

Anadix 9500

PR-\9fiO0

1295

Anadex 9561

PHAU501

1295

Anacom 150

PUA150

1075

IDS Paper Tgr.

PRC460O

10S5

IDS Tiger 550

PRGS60G

1330

Diablo 630

PRDG30

2150

Diablo 1650

PRD1650

2850

Diablo 1640

PRD1G-10

2496

Datasoulh 180

PRD1H0

1350

Printronix 300

PHP 300

4500

Printronix COO

PR P GOO

6150

NEC/Sellum 1

NEC/Sm 16KTEC/Starwrlt.

Okidala B0Okidala H2Okidata 113Teletype 43KTexas Ins. 810Tex. Ins 310CCentronics 730Centronics 737Centronics 739Ccntrnx 704-9Centrnx.704-11

PRN5510psPRN5516psPRV300

pRoao

PR082

PROQ3

PTT4320K

PRT810B

PRT810C

PRC730P

PRC737P

PRC739P

PRC704-9

PRC704-11

269527951305419619895109514501795

SYSTEMS

/•- m \ M>^U

48K MEMORY

*1170

HEWLETTPACKARD

!>2650?L3 HP85

Hew/Pack 85 SYSHPSft 2650

Hew/Pack Q3 SYSHP83 1895

Altos ACS8000SYSACS8000 4795Osborne I SYSOB1 1795

Commodore SYSCU032 1495Commodore HY.SCH09G 1795

Supcr!ir.-un(HCJSYSSB64(JSuperbr;.in64D SYSSB64DNortlisUnMQ SYSN64QNorthslai- 64D SYSN64DNEC/PCHOOO SYSPCB000Apple II Plus SYSAP

J 3 350285032952893

VISA

= =:==' 31D1= =L ==r= Display

^— = ' = Terminal

IBM Direct Price *12 9$California Digital

discount $price

1195

Correspondence quality printing.

A lot of printers costing ,i lot more can't touch the MX-fMfs

performance. It gives you .1 choice ol 40, Hit, lift or 1.12 col*

umnsof printing in as many as four distinct [Timing densitymodes, .i total of twelve different combinations which canaccommodate nearly any printing requirement.

Bidirectional printing. Logical seekingof shortest lines. 80 CPS. 64 graphics characters. Formshandling. The list of standard features goes on and on. Thefact is that there are few printers that can compete with theMX-BO a) ANY price. And none—ZERO—ill its extraordi-narily affordable price range.ABCDEF Gl 1101 .LMNOPQRSTLJVWX Y 2 ABCDEFG111.)

rime-

in

rwrnl

ACCESSORIES FOR THE

COMPUTER

AMPEX

DIALOGUE 80CRT TERMINAL

5995

plavable two pages (four option.il)ds'and status line. Transmits da•ellent value. VDT-DflO shlppi

Dialogue SO featuidual prourair. keys. Ia either block, line iig 47 lbs.

movable keyboard,:ensity protected

VIDEO TERMINALS

ADDS Regent 2o numeric cluster VDT

ADDS Regent 30 25th status line VDT

ADDS Regent 40 limited graphics VDT

ADDS Regent 60 Block mode VDT'

Ampex Dialouge 80 two page.detatch VDT'

Digital Equipment V'T-100 VDT'

Digital Equipment VT-132 VDT'

Direct VP-800A emulator VDT'

Hazeltine 1410 VDT-

Hazeltine 1420 VDT'

IlJzeltine 1500 VDT'

Hazeltine 1510 VDT'

Hazeltine 1520 VDT'

Hewlett Packard 2621A VDT-

Hewlett Packard 2621F VDT-

IBM 3101-10 character mode green VDT-

IBM 3101-20 block mode VDT-

Lear Seigler 3A upper case only VDT-

Lear Seigler ADM3 VDT-

Lear Seigler ADM31 VDT-

Lear Seigler ADM42 VDT-

Soroc IQ 120 VDT-

SorccIQ135 NEW VDT-

Sorcc IQ 140 detatchable keyboard VDT-

Televideo 912C VDT-

Televideo 920C VDT-

Televideo 950C detatchable keybd. VDT-

Zenith Z-19 VDT-

R25

R30

R40

1(60

D80

V100

V132

P800

H1410

H1420

H1500

H1510 1025

H1520 1225

HP21A

HP21P

3101 1195

31012 1395

L3A 850

3850

950

1195

1495

995

1595

1895

call

750

795

850

L5

L31

L42

Q120

Q135

Q140

T912

T920

T950

Z-19

9'45

1385

1995

675

850

1150

665

745

985

735

VIDEO MONITORS

i\IC KG12C 18MHzP-31 grn phosphorLeedex/Amdek 12"100Leedex 100 greenLeedex 100-00Hitachi color 13"Zenith color 13"NEC green phosphorPanasonic color 10"Sanyo 9" BWSanyo 12" green phos.Sanyo 15" BWSanyo 13" color

$259129169197389379219

149235259

419

H'OIifVIA COMPUTUS .SYSTEMSArithmetic Processor TBI I B/C $31Asynchronous serial Interface 7710 12Cfiitronlcs Interface card 7728 G

12K PHOM Module 7114 6

Calendar/Clock. Bat. hack-up 742) £Parallel Interface 7720A S

Prograinable Timer 7740A i

Analog/Digital converter 7170AMICHOSOET PRODUCTSApple lo Z-80 CPU card 31

IJ. C. HAYES PRODUCTSMLoremodem for Apple 31

COMPUTER STOP PRODUCTSDoublS VLslon / SO Column Video 2!

IN IKSACTIVi: STRUCTUKKSHi Channel ft/D card 610/2 21

MOUNTAIN COMI'U'I'I.H I'RLH il.k'TS

InlroX-10 syalcm f"r HSR $21

Intro X-10 card onlv II

IE channel AD/DA G bit 31

Apple Clock h.v.ierv back-up 2:

Supenalker SD200 2<

ROM Plus with HIM* II

ROM Wriier/Profirnmmer 1^APPLE BRAND PRODUCTS

Apple Lannunge card 41

Floppy disk with controller 51

Floppy disk without controller 4!

Apple parallel interface 1.

SSM MICROCOMPUTERDual serial parallel interface AIOSORRENTO VALLEY ASSOCIATESa" floppy controller (Pascal,) ^f

S-100 BOARDS

Assembled • Tested • Burned-in

BUC

U08.-./aO8B dualssor BDC

GZU016 bitG68

£**

MZI10

l'IJC-1

2

BDC

nclc

SBC2

niroll.

plus I/O

MAINFRAMES

Calif. Computer 2200A 12 slirt *•

pawer supply ENM-C2200 :iTEI 12 slot table ENM-T12 4

TBI T' slot tabic ENM-T22 G

tiodboiii maintrm. enm-gmi

MEMOBV HOARDS

Calif. Computer Z0S5A 6IK

ilvamic memory BDM-C!001 Sic.lif. Contputer 2010 i«k

st ,n it- rueniory BDM-C201B 2C uif. Computer 3032 .iL'K

sialic memory BDM-C2032 .'1rJodbon! Ran 17 G4K static

memory 16 bit HD.M-G17 10

SU .Svsli-ii'S l-.x:)andoran; II

liik dynamic BUM-EX Hi 2

G4K dynamic bdm-exgi :iMcosuremeni Systems DMBB4G0

fur Alpha Micro UUM-MG lUil Li

BDM-DP32m-lOO

BUM-PI 00

1LOPPY DISK COMTHll.LERCidif. Computer 8433A with

2.2 CPM BDK-C2422

Oodboui "Disk dee" features the

NEC 76r. contrcll.-r. DMA

arbitration 111)1--Ul.ll

Measurement SyBteiuM 785 chip.

single ft double density.

■cry

.Morrow Desicn

.::■!., ileiisil

, 11 c < j

in -

1 11

IIUI -DJl

.sk Jockev II

BIH -DJ2

INTERFACE HOARDSCalif. Con-puter 3718 I/O

2 aerial/2 par 1 BBT-C271IMorrow Deslgna SwUchboard

2 serial/4 pari nn i-mshMorrow DL'^iLins Multiboard

\i serial/:il\ l^HDT-MMHciodhrjut Interfaeer tiie

2 serial/2par'l HDS-titlCOdboul iiHi-rfaeer I'-iu

1 serial/3 p.,r 1 BUS-CB2

spi-.ClALiTYQT Computer

'-Mil ■

BDS-tjCKArtec Elec. Wire wrap proto-type hoard BUS-AWWArtec Ehe. General IHirposeproto board BDS-AGF(.inillHiut Sptcirum color

BUS-CISC

). C. Hav

;-ioo .\

BUS-HMl

c probe kl BUS-MTB1

Rotron Muffin Fan |

$~\A~n $12.00 (B 100|*-|- 10.50 @ 1000

115VAC. 7Watts WR2A1Factory fresh Muffin fansNOT pull-outs. EMF-4M

All merchandise sold by California Digital is premium grade.Shipping: First rive pounds $2.00; each additional add $.40Foreign orders 10% shipping. Excess will be refunded.California residents add G% sales tax. COU's discouraged.Open accounts extended to state supported educational institu-tions and companies with a "Strong Dun & Bradstreet. "Warehouse: 15608 Inglewood Blvd. Visitors by appointment.

Circle 44 on inquiry card.

TOLL FREE ORDER LINE

800)421-5041

TECHNICAL & CALIFORNIA

213679-9001

TWX 910325-62121

Terminals and Printers

fjEMini data

I systems

Z19 Video Terminal

List $995

OUR PRICE

$799

Limited Time

Intertec

NEW INTERTUBE III

List $995 ONLY $749

12" display, 24 x 80 formal, 18-key numerickeypad, 128 upper/lower case ASCII charac-ters. Reverse video, blinking, complete cursoraddressing and control. Special user-definedcontrol function keys, protected and unpro-tected fields. Line insert/delete and characterinsert/delete editing, eleven special line draw-ing symbols.

TELEVIDEO TVI-912C

HAZELTINE 1500

Upper and lower case, 15 baud rates: 75 to19,000 baud, dual intensity, 24 x 80 characterdisplay, 12 x 10 resolution. Numeric pad. Pro-grammable reversfole video, auxiliary port,self-test mode, protect mode, block mode,tabbing, addressable cursor. Microprocessorcontrolled, programmable underline, line andcharacter insert/delete. "C" version featurestypewriter-style keyboard. List $950

CALL FOR PRICE

920C (with 11 function keys, 6 edit keys and2 transmission mode keys, List $1030

CALL FOR PRICE

950C LlSt $1195 CALL FOR PRICE

PAPER TIGER

1410 w/numeric keypad, List $900 CALL

1420 w/lower case and numeric pad .... CALL

1510, List $1395 CALL

1520, List $1650 CALL

SOROC

IQ-120

List $995

SPECIAL

$729

IQ135$749

IQ-140 List $1495

SPECIAL $1149

CENTRONICS

PRINTERS

730, parallel, friction, uactoi

$599

NEW 739 w/qraphics .........

$819

779-2 w/iractor (same as TRS-80 Line

Punier II, Lisi $1350 .

$799

704-9 RS232 I50CPS

$1595

704-11 PamHui I50CPS

$1695

NEC SPINWRITER

TM

Terminal /Keyboard as well as

RO Printer Only models available.

CALL FOR PRICES!

IDS 445 PAPER TIGER $698

IDS 445G PAPER TIGER

Buffer w/graphics option, incl. buffer. . . $789

NEW IDS 460/560

QUALITY PRINTING AT MATRIX

SPEED - LOGIC SEEKING

PROPORTIONAL SPACING

w/auto test justification

NEW IDS PAPERTIGER 460 List $1295 . . $1099

NEW IDS PAPERTIGER 460G List $1394 . $1149

NEWIDS560G List $1794 $1499

TRS-80 cable $45

TI-810

TI-810 Basic Unit, $1895 . $1595

TI-810 w/full ASCII (Lower case), vertical

forms control, and compressed print . $1795

TI820w/lower case List $1995 $1645

Tl 820w/full ASCII, forms control,

compressed print List $2150 . $1795

TI-745 Complete printing terminalwith acoustic coupler, List $1695 .... $1399

ANAD6X

DP9500/DP9501 PRINTERS

DP-9500. List $1650 $1349

DP-9501, List $1650 $1349

ANADEX DP-8000

80-Col. Dot Matrix $849

OKI DATA

Microline 80 lisi $599 only $499

Tractor Feed Option $109

Serial interface $ 99

Microline 82 Lisi $799 $679

Microline 83 Lisi $1260 $1069

EpsonMX-80 FTList $745... $599

EpsonMX-80 List$645 $499

Above prices reflect a 2% cash discount (order prepaid prior to shipment). Add 2% to prices for creditcard orders, C.O.D.'s, etc. Prices are f.o.b. shipping point. Prices are subject to change and offerssubject to withdrawal without notice. WRITE FOR FREE CATALOG.

MiniMicroMart, Inc.

1618 James Street, Syracuse NY 13203 (315) 422-4467 TWX 710-541-0431

462 BYTE August 1981

Circle 247 on inquiry card.

Computers,Disk Systems

TfMtrM I data

I systems

Z89-FA

List $2895

OUR PRICE

$2395

Z-89GA

List $2595, Less Disk $2149

A-87 Two Drive

Minifloppy System List $1195 $989

Z-47DA $3695

8'.' Two Megabyte Disk System

List $3695 $3059

INTERSYSTEMS

formerly ITHACA AUDIOThe new Series II CPU Board features a 4 MHzZ-80A CPU and a full-feature front panel. 20-slot actively terminated motherboard, with 25amp power .supply (50/60 Hz operation, incl.68cfm fanl. DPS-1, jsI $2195 CAL|_ FOR PRICE

COMPLETE SYSTEM with InlerSystem 64K

RAM, I/O Board and double, density diskcontroller board. Full 1-year warranty,

CALL FOR PRICE

\0H

CROMEMCOSYSTEM ZERO/D

A complete 64K Computer with DoubleDensity Disk Controller List $2995

OUR PRICES2545

Companion Disk drive for above —

Quad Density — Total of 780 Kilobytes of

storage on the two drives List J1295

OUR PRICE $1099

Only J3644 for a complete 64K Disk System

SUPERBRAIN

BvlNTERTEC

64K Double or Quad Density units available. Usestwo Z-80 CPU's. Commercial-type terminal with12" monitor. Dual double density minifloppies.Over 350 kilobytes of storage (twice that with quaddensity drives). Two serial RS232 ports, I/O portsstandard. Expandable with optional S-100interface. Comes with CP/MTM 2.2 operating sys-tem. MiniMicroMart can supply a wide range ofCP/M development and application software

W/64K Double Density, List $3495 . . $2869W/64K Quad Density. List $3995 $3395

Whp% HEWLETTmLHM PACKARD

HP-41CV

$259.

DYNABYTE

DB8/1

DB 8 1 64 - 64K RAM SYSTEM WITHZ80 CPU and 2 serial and I parallel I O,List $3395, Disc. $2850

ourprice$2795

m KSS22HM5A

List$3250

#2749

>-83'Special $1749

F.O.B. shipping point. All prices subject to change and alloffers subject to withdrawal without notice. Advertised pricesare for prepaid orders. Credit card and C.O.D. 2% higher.C.O.D. may require deposit.

MORROW

THINKER TOYS'*-'DISCUS M26™

26 megabytes offormatted storageList $4495

FoW$3795

THINKER TOYS®DISK SYSTEMS

Now includes CP/M® 2.2

Discus 2D, List $1199 $998

Discus 2D. dual-drive, List $1994 $1669

Discus 2 + 2, A&T, List $1549 $1299

Dual Discus 2 + 2, A&T, List $2748 $2299

All Morrow floppy disks include CP/M "2.2and Microsoft Basic 80

MORROW

DISCUS M-1010 MegabyteWirchester

List $3695OUR PRICE

$3095

Mini Micro Mart, Inc.

NEW! CR0MIXFROM CROMEMCO

A New UNIX LikeDisk Operating System,

With true multi-user,

multi-tasking capabilities

List $295 OUR PRICE $249

NEW! DOUBLE DENSITYCONTROLLER BOARD

FROM CROMEMCO

With built-in diagnostics16 FDC Controller, List $595 OUR PRICEJ505- WRITE FOR FREE CATALOG -

1618 James Street, Syracuse, NY 13203

(315)422-4467

Circle 249 on inquiry card.

TWX 710-541 0431

BYTE August 1981 463

If North Star or Cromemco offer it..

WE HAVE IT!!

Immediate Delivery at Discount Prices

NORTH STAR Horizon 2

ASSEMBLED

HORIZON 1, DD $2279 32K, QD, List $2995 2539

HORIZON 2, 32K, DD32K, QD, List $3595 . ..48K, DD, List $3590 .,.

$2619 48K, QD, List $4090 3469

. 3049 64K, DD, List $3830 3239

. 3039 64K, QD, List $4330 3669

NORTH STAR APPLICATIONS SOFTWARE

(Exclusive lor use with North Star Disk Systems — specify Doubleor Quad Density)

NORTHWORD, List $399 $339

MAILMANAGER, List $299 249

INFOMANAGER, List $499 419

GENERALLEDGER, List $999 799

ACCOUNTSRECEIVABLE, List $599 499

ACCOUNTSPAYABLE, List $599 499

NORTH STAR HARD DISK HD-18

18 megabytes, plugs into parallel port of North StarHorizon. Utilizes tried-and-proven 14" CenturyMarksman. List $4999.

Data

OUR PRICE $4199

NORTH STAR MDS-A - Double (or Quad)Density Disk System, Kit, List $799 . OUR PRICE $669Assembled and Tested, List $899 SPECIAL $719

NORTH STAR MEMORY BOARDS

16K Dynamic RAM (RAM-16-A/A), Assembled, List $499 $420

32K (RAM-32/A), Assembled, List $739 $620

North Star pricesgoing up!!!

Check by phone for prices after May 1, 1981

NEW System 3

by CROMEMCO

Now with Dual

Double Sided

Double Density

over 2 megabytes

of Storage)

64K of RAM

List $7995

LIMITED TIME

$6395

CROMEMCO SYSTEM 2 — Now double Densitywith Double Sided Drives, Quad Capacity minifloppy disc drives. List $4695 Only $3899

CROMEMCO Z-2H Full 11 -megabyte Hard Disk

system. FastZ-80A4 MHz processor,two floppy diskdrives, 64K RAMmemory, RS232special interface,printer interface,and extensivesoftware available.List $9995

our price $8489

Beat the price increase on many

CROMEMCO Boards & Software.

ORDER NOW!!!

NEW! Double Density Controller Board from Cromemcow/buili-in diagnostics - 16 FDC Controller List $595 $505

Cromemco System CS-0/D

Z-80 SCC CPU, 64KZ, 16 FDC ..' $2595

SINGLE CARD COMPUTER - SCC-W 4 MHz. List $450 $382

NEW COLOR GRAPHICS INTERFACE - SOI List $595 OUR PRICE SSOSCROMEMCO HDD — 11/22-megabyte Hard Disk for use with existingsystems. DMA controller. Transfer rate of 5.6 megabytes/second.

HDD-11. List $6995 OUR PRICE ONLY J5939

HDD-22. List $11,995 $10,189

SHIPPING AND INSURANCE: Add $15 or Horizons, $2.50 for Boards and Software. Hard Disk Systems and Cromemco systems shipped freight collect.Advertised prices are for prepaid orders. Credit card and C.O.D. 2% higher. Deposit may be required on C.O.D. All prices subject to change and offerssubject to withdrawal without notice.

MiniMicroMart, Inc.

1618 James Street, Syracuse, NY 13203 (315)422-4467 TWX 710-541-0431

464 BYTE August 1981

Circle 250 on inquiry card.

Better Products,

JADE

Double-D ™

Get the Inside Track

S-100 bus compatible • Reads and writes singleor double density • Density is software selectable• CP/M" 2.2 compatible in single or doubledensity • Controls up to four 5-1/4" or 8", single ordouble-sided drives • Single or double-sided drivesmay be mixed in the same system • Onboard Z-80A to assure reliable operation • EIA level serialprinter interface on board, baud rates to 9600(perfect for despooling operations) • 2K of RAMon-board • Uses IBM standard formats •Designed to meet IEEE signal disciplines • Workswith 8080, 8085, and Z-80 CPU's • 4-layer PCboard with internal power and ground planesprovides very stable, low-noise operation.

IOD-1200B Bare board $59.95

IOD-1200K Kit $299.95

IOD-1200A A& TforS" $375.95

IOD-1205A A&TforSW $395.00

SFC-58001200E DD boot PROM .... $20.00SFC-59002001F CP/M 2.2 for DD . $150.00

JADE

Memory Bank ™

8 or 16 Bit Dynamic MemoryNew, from JADE (naturally), an IEEE S-10064K dynamic memory that looks toward thefuture. • IEEE S-100 standard pinout and signaldiscipline • Expandable to 16 Megabytes viaswitchable port OR extended address lines • 8 or16 bit words, automatically, depending on the typeof CPU on the bus • 4-layer PC board forextremely low-noise operation.

The new JADE Memory Bank™ is one of thesafest places you can store your valuable programinformation. With its on-board refresh controller,this board allows DMA operations without regardto time factors, ft will run reliably at any systemclock rate up to 6 MHz-because it is clocked withthe system clock itself (no one-shots are used fortiming operations). Its unique IEEE designenables it to switch from a 64K by 8-bit board to a32K by 16-bit board automatically (responds toIEEE's 16 Rqst line and, if enabled, replies with 16Grant).

On-board Ml wait-state generator allows theuse of slower memory, and a unique on-boardprecharge extender makes this board run reliablywith any manufacturer's 4116 memory chips.

Compatible with Cromemco and other CPUsystems - features enough optional strapping toenable it to run with any Z-80/Z8000 system.

MEM-99730B Bare Board $49.95

MEM-99730K Kit, no RAM $199.95

MEM-16730K 16K kit $219.95

MEM-32731K 32K kit $239.95

MEM-48732K 48K kit $259.95

MEM-64733K 64K kit $279.95

Assembled & Tested add $50.00

JADE

The Big Z

Z-80A Based CPU

S-100 bus compatible • Switch selectable 2 or 4MHz operation • Serial I/O port • Accomodates a2708, 2716, or 2732 EPROM in shadow modeallowing full use of 64K RAM • MWRITE signal isgenerated automatically if used without frontpanel • On-board 8251 USART controls serial portat baud rates from 75 to 9600 baud • Switchselectable IK, 2K, or 4K boundary fully buffered •Power-on jump to EPROM

CPU-30201K Kit $139.95

CPU-30201A A& T $189.95

CPU-30200B Bare board $35.00

Memory Chips on Sale

21141

, 4 MHz

3.35

2.99

2.75

2.49

2708

2 MHz

4.90

3.90

3.45

2.90

2532

2 MHz

24.90

19.90

15.90

12.90

27 Hi

2 MHz

8.90

7.45

6.45

5.75

2716

■1 MHz

19.90

15.45

13.45

11.75

2732

2 MHz

24.90

19.90

15.90

12.90

2732

■1 MHz

39.90

29.90

24.90

19.90

2758

2 MHz

8.90

6.25

5.50

4.50

11 Hi

200 ns

3.25

2.9})

2.49

1.99

(Nil

WO ns

28.90

24.90

22.90

19.90

JADE

Disk Sub-Systems

Shugart, Siemens, Qume

Handsome metal cabinet with proportionallybalanced air flow system • Rugged dual drivepower supply • Power cable kit • Power switch,line cord, fuse holder, cooling fan • Never-Marrubber feet • All necessary hardware to mount 2-8" disk drives, power supply, and fan • Does notinclude signal cable

Dual 8" Subassembly Cabinet

END-000420 Bare cabinet $59.95

END-000421 Cabinet kit $225.00

END-000431 A &T $359.95

8" Disk Drive SubsystemsSingle Sided, Double DensityEND-000423 Kit w/2 FDWOSDs .. $975.00END-000424 A & T w/2 FDlOO-SDs $1175.00END-000433 Kit w/2 SA-SOIRs ... $999.95END-000434 A & T w/2 SA-SOIRs $1195.00

8" Disk Drive SubsystemsDouble Sided, Double Density

END-000426 Kit w/2 DT-8s $1475.00

END-000427 A & T w/2 DT-8s ... $1675.00

END-000436 Kit w/2 SA-851Rs .. $1495.00

END-000437 A & T w/2 SA-851Rs $1695.00

Circle 181 on inquiry card.

JADE

S.P.I.C.

Our "SPICy" New I/O Board

New, from JADE, one of the most advanced,technologically sophisticated Serial/ParallelInterrupt Controller systems in the world. On asingle IEEE S-100 standard board, JADE haspacked two bi-directional parallel ports with fullhandshaking, four serial channels (asynchronous,

IBM-compatible bi-synch, synchronous,HDLC/SDLC) with complete modem control lines,and 16 counter-timer channels.

Utilizing the highly advanced Zilog peripheralchips, (Z-80 SIO, PIO & CTCs), the SPIC board isfully programmable to serve as the foundation for amulti-user multi-tasking system. Although theboard can be operated in an 8080/8085 system, werecommend its use with a Z-80/Z8000 systemutilizing the powerful Z-80/Z8000 interrupt Mode 2.Each of the seven Z-80 peripheral chips cangenerate its own interrupt vector, with daisy-chainpriority levels. Each counter-timer channel can beprogrammed to monitor an interrupt vector line onthe S-100 bus, to serve as an interval timer or real-time clock, and to operate as a software controllablebaud rate generator. Each SIO channel can bedriven independently with separate Tx/Rx clocksfor each channel, so your peripherals can havevaried baud rates, from 110 to 76,800 baud

In addition, this board can serve as a dataconcentrator link to an IBM, DEC, or Data Generalmainframe computer, utilizing a high-speed serialchannel that is programmable to virtually anyprotocol.

IOI-1045B Bare board & manual $49.95

IOI-1045K Kit, standard $179.95

IOI-1045A A & T, standard $239.95

IOI-1046K Kit wi'full chip set $219.95

IOI-1046A A& Tw/full chip set ... $299.95

Jade Business Software

Now, for the first time, at an amazingly low price,CP/M and SDOS users can get an affordablebusiness software package. Just look at theseprograms! All come complete with basic code(written to run under CBASIC I), for easycustomizing and modification. All software isself-documenting. The package price includes aword-processing system. When printed on thesystem's printer, all files with the extensionxxxTOT. constitute a complete manual. Nomanuals are supplied with the package other thanas they appear on the disks. All software issupplied on 8" premium quality JADE Diskettes.Software sold as is. (Sorry, but at these low priceswe can not offer our usual friendly support andhandholding.)

Includes; General Ledger, Payroll, Invoicing,Inventory Controll, Accounts Recievable, CashDisbursements, Fixed Assets, Cash Receipts, &Mailing List Management.Special Package Price $249.95

Printers

Accessories for Apple

Single Board Computers

BEST BUY in PRINTERS - Epson

MX-70 13Z column. HO CPS, a x 7 dot matrix, adjustable

tractor feed. & graphics

PRM-27070 List $459 $399.95

MX-80 132 column. HO CPS. bi-directional/Ionic seekingprinting, 9 x 9 dot matrix, adjustable tractor feed. & 64graphics charactersPRM-27080 List $645 $474.95

MX-SOFT same as MX-HO with friction feed and full

graphics added

PRM-27082 List $745 $574.95

MX-100 233 column, correspondence quality, ultra-highresolution graphics, up to lo" paper, friction feed &removable adjustable tractor feed. 1H xlH dot matrix. HOCPS. programmable forms handlingPRM-27100 List $945 $795.00

PRA-27084 Serial interface $69.95

PRA-27088 Serial intf & 2Kbuffer .. $144.95

PRA-27081 Apple card $74.95

PRA-27082 Apple cable $22.95

PRA-27086 IEEE 488 card $52.95

PRA-27087 TRS-80 cable $32.95

PRA-27085 Graftrax II $95.00

PRA-27083 Extra ribbon $14.95

SPINWRITER - NEC

65 CpS, bi-directional, letter quality printer with deluxetractor mechanism, both parallel and serial interfaces on-board, I6K buffer, ribbon, print thimble, graphics, micro-space justification, data cable, and self test/'diagnosticROM.

PRD-55511 without 16K buffer ... $2795.00PRD-55512 with 16K buffer $2895.00

Accessories for TRS-80

DISK DRIVES for TRS-80

2:i"h more storage, H times faster, 40 track with free patch, 120

day warranty.

MSM-12410C Save $125.00 !!! $325.00

8" DISK DRIVES for MODEL II

2 double density drives with cabinet, power supply. & cables

END-000433 Kit $1050.00

END-000434 Assembled $1250.00

WCA-5036A Cable (required) $29.95

16K Atari ... $359.95

ATARI 800 - Atari

Complete personal computer with high resolution colorgraphics, built-in IIP modulator. ■/ controller ports, internalspeaker. ItiK HAM & HK ROM

SYO-2080A WK Atari 800 $759.95

Atari 800 with 32K of RAM $799.95

Atari 800 with 48K of RAM $849.95

SYO-2040A 16K Atari 400 $359.95

MSM-330810 Disk drive $595.00

MSM-330815 Dual drive $1395.00

IOX-5050A 850 interface $199.95

MEX-16853K WK RAM module $69.95

SFI-241011005 Visicalc $184.95

16K MEMORY UPGRADE

Add ItiK of HAM to your TRS-80, Apple, or Exidy in justminutes. We've sold thousands of these 16K RAMupgrades which include the appropriate memory chips (asspecified by the manufacturer), all necessary jumperblocks, foolproof instructions, and our I year guarantee.

MEX-16100K TRS-80 kit $25.00

MEX-16101K Apple kit $25.00

MEX-16102K Exidy kit $25.00

16K RAM Card - Microsoft

(There is life after -IHKl

MEX-16300A A&T $174.95

Z-80* CARD for APPLE

Two computers in one. Z-HO & 6502. more than doubles thepower & potential of your Apple, includes Z-H0* CPU card.CP M 2.2. &■ BAS1C-80CPX-30800A A&T $279.95

APPLE CLOCK - Cal Comp Sys

Real lime clock tv 'battery back-upIOK-2030A A&T $109.95

DISK DRIVE for APPLE

n't" disk drive with controller for your Apple

MSM-12310C with controller ...... $475.00

MSM-123101 w/out controller $375.00

8" DRIVES for APPLE

Controller, DOS, two 8" double densisty driven, cabinet,

power supply. & cables

Special Package Price Kit $1399.95

PRINTER INTERFACE - CCS.

Centronics type I/O card w/ firmware

IOI-2041A A&T $99.95

AIO, ASIO, APIO - S.S.M.

Parallel & serial interface for your Apple tsee Byte pg 11)

IOI-2050K Par & Ser kit $139.95

1O1-2050A Par & Ser A & T $169.95

IOI-2052K Serial kit $89.95

IOI-2052A Serial A&T $99.95

IO1-2054K Parallel kit $69.95

IOI-2054A Parallel A&T $89.95

A488-S.S.M.

IEEE 4HH controller, uses simple basic commands,includes firmware and cable, 1 year guarantee, tsee AprilByte pg 11)10X-7488A A&T $399.95

CPS MULTICARD - Mtn. Computer

Three cards in one! Real time clock calendar, serial interface,

& parallel interface ■ all on one card.

IOX-2300A A&T $229.95

VISICALC - Personal Sftwr

The ultimate program for your Apple 11

SFA-24101005M Complete package $139.95

Circle 182 on inquiry card.

AIM-65 - Rockwell

6502 computer with alphanumeric display, printer. &keyboard, and complete instructional manuals

CPK-50165 IK AIM $424.95

CPK-50465 4KAIM $499.95

SFK-74600008E 8K BASIC ROM ... $99.95SFK-64600004E 4K assembler RUM $84.95

PSX-030A Power supply $64.95

ENX-000002 Enclosure $54.95

■IK AIM. HK BASIC power supply. & enclosureSpecial package price $675.00

Z-80* STARTER KIT - SD Systems

Complete Z-H0* computer with RAM. ROM. I O. display,keyboard, manual, and kluge area.

CPS-30010K Kit $369.95

CPS-30010A A&T $459.95

SYM-1 - Synertek Systems

Single board computer with IK of RAM. IK of ROM. key-pad.LED display. 20ma & cassette interface on board.CPK-50020A -4*7' $249.95

Video Terminals

VIEWPIONT - ADDS

Detachable keyboard, serial RS232C interface, baud ratesfrom 110 to 10.200. auxiliary serial output port, 21 x SO display,tillable screen, international character setVDT-501210 Sale Priced $639.95

TELEVIDEO 950

Detachable keyboard, split screen with tine lock, etched CRT.programmable function keys, on-screen status tine, bufferedauxiliary port. It x 10 dot matrix, self test, serviced nation-wide by General ElectricVDT-901250 List $1195.00 $995.00

Video Monitors

Leedex / AmdekReasonably priced video monitorsVDM-801210 Video 100 12" B&W .. $149.95VDM-801230 Video 100-80 12" B& W $189.95VDM-801250 12" Green Phospor .... $189.95VDC-801310 13" Color I $399.95

13" COLOR MONITOR - Zenith

The hi res color you 'vc been promising yourselfVDC-201301 $449.00

12" GREEN SCREEN - NEC

20 MHz, P31 phosphor video monitor with audio,exceptionally high resolution - A fantastic monitor at avery reasonable priceVDM-651200 12" monitor $259.95

EPROM Erasers

EPROM ERASERS

L.S. Engineering I'V eraser for up to IH EPROMsXME-3200 A&T $39.99

Sped ranks hi intensity industrial eraser

XME-3100 Without timer $69.50

XME-3101 With timer $94.50

Faster Service

S-100 PROM Boards

S-100 Memory

S-100 CPU

PB-l - S.S.M.

2708. 2716 EPROM board with built-in programmer

MEM-99510K Kit $154.95

MEM-99510A A&T $219.95

PROM-100 - SD Systems

2708. 2716. 27.32. 2758. & 2516 EPROM programmer

MKM-99520K Kit $219.95

MEM-99520A Jade A&T $269.95

EPROM BOARD - Jade

16K or 32K uses 2708's or 2716's. IK boundary

MEM-16230K Kit $79.95

MEM-16230A A&T $119.95

S-100 Video

VB-3 - S.S.M.

80 characters x 24 lines expandable to 80x48 for a full pageof text, upper & lower case, 256 user defined symbols, 160 x192 graphics matrix, memory mapped, has key boardinput.

IOV-1095K 4 MHz kit $349.95

IOV-1095A 4 MHz A&T $439.95

IOV-1096K 80 x 48 upgrade $39.95

VDB-8024 - SD Systems

80 x 2-1 1 0 mapped video board with keyboard I/O. andonboard Z-80 A*.

IOV-1020K Kit $399.95

IOV-1020A Jade A&T $459.95

VIDEO BOARD - Jade

64 characters x 16 lines. 7 x 9 dot matrix, full upper/lowercase ASCII character set, numbers, symbols, and greekletters, normal/reverse/blinking video. S-100.

IOV-1050K Kit $99.95

IOV-1050A A&T $125.00

1OV-1050B Bare board $29.95

Motherboards

ISO-BUS - Jade

Silent, simple, and on sale - a better motherboard6 Slot (S'A" x 8s/k")

MBS-061B Bare board $19.95

MBS-061K Kit $39.95

MBS-061A A&T $49.95

12 Slot (9:%" x 8%")

MBS-121B Bare board $29.95

MBS-121K Kit $69.95

MBS-121A A&T $89.95

18 Slot (14W x8W)

MBS-181B Bare board $49.95

MBS-181K Kit $99.95

MBS-181A A&T $139.95

Mainframes

MAINFRAME - Cal Comp Sys

12 slot S-100 mainframe with 20 amp power supply

ENC-112105 Kit $379.95

ENC-112106 A&T $409.95

DISK MAINFRAME - N.P.C.

Holds 2 8" drives and a 12 slot S-100 system. Attractive

metal cabinet with 12 slot motherboard & card cage, power

supply, dual fans, lighted switch, and other professional

features

ENS-112320 with 25 amp p.s $699.95

IffEXPANDORAM II - S D Systems

4 MHz RAM board expandable from 16K to 64K

MEM-16630K 16K kit $275.95

MEM-32631K 32K kit $295.95

MEM-48632K 48K kit $315.95

MEM-64633K 64K kit $335.95

Assembled & tested add $50.00

64K RAM - Calif Computer Sys

4 MHz bank port / bank byte selectable, extendedaddressing, 16K bank selectable, PHANTOM line allowsmemory overlay, 8080 / Z-80 / front pane! compatible.MEM-64565A A&T $575.00

32K STATIC RAM - Jade

2 or -I MHz expandable static RAM board uses 21 I4L's

MEM-16151K 16K4MHzkit $169.95

MEM-32151K 32K 4 MHz kit $299.95

Assembled & tested add $50.00

16K STATIC RAM - Mem Merchant

4 MHz 16K static RAM board. IEEE S-100, bank selectable.Phantom capability, addressable in IKblocks. "disable-able"in IK segments, extended addressing, low powerMEM-16171A A&T $174.95

S-100 Disk Controller

DOUBLE DENSITY - Cal Comp Sys

,5' <" and 8" disk controller, single or double density, withon-board boot loader ROM, and free CP'M 2.2* andmanual set.IOD-1300A A&T $369.95

VERSAFLOPPY II - SD Systems

New double density controller for both 8" & 5'A"

IOD-1160K Kit $339.95

IOD-1160A A&T $379.95

Disk Drives

8" DISK DRIVES

Highly reliable double density floppy disk drivesShugart 801R single sided, double density

MSF-10801R SA-801R $425.00

Special Sale Price 2 for $790.00

Shugart 851R double sided, double density

MSF-10851R SA-851R $595.00

Special Sale Price 2 for $1150.00

Siemens FDD100-8D2 single sided, double density

MSF-201120 6 mo warranty $385.00

Special sale price 2 for $750.00

Qume Datatrak 8 double sided, double densityMSF-750080 SA-851R compatible . . $599.95Special sale price 2 for $1160.00

JADE DISK PACKAGE

Double density controller, two 8" double density floppydisk drives, CP'M2.2 (configured for controller), hardwareand software manuals, boot PROM,cabinet, power supply,fan. & cablesSpecial Package Price Kit $1395.00

5'/i" Diskettes Box of 10 .. $22.008" Diskettes Box of 10 .... $24.00

Circle 182 on inquiry card.

CB-2 Z-80 CPU - S.S.M.

2 or 4 MHz Z-80 CPU board with provision for up to 8KofROM or -IK of RAM on board, extended addressing. IEEES-100, front panel compatible.

CPU-30300K Kit $239.95

CPU-30300A A&T $299.95

2810 Z-80* CPU - Cal Comp Sys

2. 4 MHz Z-80A" CPUwith RS-232C serial I/O port andon-board MOSS 2.2 monitor PROM, front panel compatible.CPU-30400A A&T $269.95

SBC-200 - SD Systems

4 MHz Z-80' CPU with serial & parallel I/O ports. upto8Kof on-board PROM, software programmable baud rategenerator, IK of on-board RAM, Z-80 CTC.

CPC-30200K Kit $339.95

CPC-30200A Jade A&T $399.95

S-100 I/O

1/0-4 - S.S.M.

2 serial I/O ports plus 2 parallel I/O ports

IOI-1010K Kit $179.95

IOI-1010A A&T $249.95

1OI-1010B Bare board $35.00

Novation Cat Modem

(Wehaveonly 265availible at this

special price)

IOM-5200A List price $189.95 $139.95

D-CAT 300 baud, direct connect modemIOM-5201A Special sale price $189.00

AUTO-CAT Auto answer/origiatc, direct connectIOM-5230A Special sale price $239.95

Place Orders Toll Free

Continental U.S. Inside California800-421-5500 800-262-1710

For Technical Inquires or Customer Service call:

213-973-7707

Computer Products

4901 W. Rosecrans, Hawthorne. Ca 90250TERMS of SALE: Cash, cheeks, credit cards, orPurchase Orders from qualified firms and institutions.Minimum Order $15.00. California residents add 6%lax. Minimum shipping & handling charge $3.00.Pricing & availibility subject to change

MOVING SALE

MODEM SALE

$129.00

THE STAR

MODEM \ ^^0^-

from \ WSiUm

LIVERMORE

FEATURE

FITS GTE HANDSETS!

2 YEAR WARRANTY

EXCLUSIVE ACOUSTIC CHAMBERS

The exclusive triple seal of Livermore's new flat'mountedcups locks the handset into the acoustic chamber yieldingsuperior acoustic isolation and mechanical cushioning.Designed to adapt to most common handsets usedthroughout the world, the STAR otters the utrnosl in flex-ibility and transmission reliability. ^

Specifications: -*^^^^f

• Data Rate: 0 to 300 baud ^^^k

• Compatibility: Bell 103 and 113; CCITT r

• Frequency Stability: ±0.3 percent. Crystal controlled

• Receiver Sensitivity: -50 dBm ON. -53 dBm OFF

■ Modulation: Frequency shift keyed (FSK)

• Carrier Detect Delay: 1.2 seconds ON: 120 msec OFF

• EIA Terminal Interlace: Compatible with RS 232specifications

■ Teletype Interface: 20 milliampere current loop

• Optional Interfaces: IEEE 4B8; TTL: TTY43

• International (CCITT) frequencies available

■ Switches: Originate/Off/Answer; Full Duplex/Test/HalfDuplex

• Indicators: Transmit Data, Receive Data. CarrierReady. Test

• Power: Supplied by 24 VAC/150 MA UL/CSA listed wall-mount transformer. Input 115 VAC, 2.5 watts. (A 220VAC. 50 Hz adaptor is available upon request.)

• Dimensions: 10" x 4" x 2"

• Weight: 1.74 lbs. (3 lbs. shipping weight including ACadaptor.)

• Warranty: Two years on parts and labor, excluding theAC adaptor which carries the manufacturer's warranty

Part No. Description List Price SALE PRICE

LIV-STAH RS232, TTL, 20 MA

Current Loop $199.00 1129.00

CABLES

Part No. Description Price

CND-RS2326F RS232 SCond 8 ft S19.95

__MM and "D" SUB-IVllNIATURE

WWffipCONNECTORS ^r-.v.v.v.v.yja-,

MALE T~^ ' I fEMALE—r^

iieuutiuuiiffunu" wvmwF&rvr

P = Plug, Male Type - S = Socket, Female Type • C = Cover, Hood

PART NO. DESCRIPTION PRICE

1-9 10-24 25-99

CND0E9P 9 PIN MALE $2.10 S 1.90 J 1.70

CN0-0E9S 9 PIN FEMALE S 2.70 S 2.40 $ 2 10

CN0DE9C 9 PIN COVER $1.50 $1.25 $1.10

CND-0A15P 15 PIN MALE $2.75 $2.45 $215

CN00A15S 15 PIN FEMALE $3.95 $3.60 $3.20

CND-DAI5C 15 PIN COVER $1.50 $1.30 $1.10

CND-0B25P 25 PIN MALE $ 3.00 $ 2.75 $ 2.60

CNO-DB25S 25 PIN FEMALE $ 4.00 S 3.75 S 3.50

CN0-0B51212 IPC. GREY HOOD $1.60 $1.45 $1.30

CND-P25H 2 PC. GREY HOOD $ 1.50 $ 1.25 $ 1.10

CND-DB5I226 2 PC. BLACK HOOD $ 1.90 $ 1.65 $ 1.45

CND-0C37P 37 PIN MALE $5.80 $5.10 $4.45

CN0-0C37S 37 PIN FEMALE $ 8.70 $ 7.70 $ 6.70

CN0-DC37C 37 PIN COVER $ 1.80 $ 1.55 $ 1.30

CND-D050P 50 PIN MALE $ 8.75 $ 7.75 $ 6.70

CND-0D50S 50 PIN FEMALE $11.65 $10.25 $8.90

CNDDD50C 50 PIN COVER $2.00 $1.80 $160

CNDD204I8 HARDWARE SET 2 PR $1.00 $0.80 $0.70

CND-RS232BFCLAg|2,3c2AgLBE258PcrS)A8FT $19.95 $17.95 $15.95CN05730360 pmNTER^ONNECpTOR 5 9 00 $ 7.50 $ 6.00

GOLD S-100 CONNECTORS

SOLDER TAIL PRICE

Part No. 1-9 10-24 25-99 100-249

2708

450ns 8KEPROM

2716

450ns 5-Volt only16 K EPROM

$8.50 EA.8/$32.00

$11.95 EA8/$48.00

THE EXPANDABLE 1m

2114-3L

4096 BIT (1024x4) 300nsLOW POWER STATIC RAM

8/s30°°

100 + s3ao

2016P3

2Kx 8200nsL/P STATIC RAM

8/$10000

TRS-80/APPLE

MEMORY EXPANSION KITS

4116's RAMS

from Leading Manufacturers

x>(16Kx1 200ns) „ ,

ooX

S100STG

3.50 3.20 2.80 2.50

WIRE WRAP PRICE

Part No.

1-9 10-24 25-99 100-249

S100WWG

4.00 3.75 3.50

3.25

*8 lor *2400 °°!°

ADD $3.00 FOR PROGRAMMING JUMPERSFOR TRS-80 KEYBOARD

4116's 100 pes & UP $2.75 each1000 pes & UP $2.50 each

POWERUNE INS0LAT0R

GOF-IBARW3

SH. WT. 3 LBS.LIST PRICE

S5g95

SALE PRICE

$2g95

A MUST FOR EVERYOFFICE WITH DA TAPROCESSING EQUIPMENT

PROTECT YOUR INVESTMENTPROTECT YOUR DATA WITH

^si^iH H

ISDBflR

GOF-IBAR46

• Inductively isolated grounds

• Sockets individually filter isolated■» Each socket isolated Irom power

line S7Q95

LIST PRICE *#»

SALE PRICE '39

'^"V

6 OUTLETMULTI USECORD REEL

, / THE CONVENIENCE OF"«=.<♦ ' AN EXTENSION CORD AND POWERDISTRIBUTION PANEL IN ONE43^ COMPACT, SELF-STORING UNIT!

• Six GROUNDED 3-PRONG OUTLETS!

• CIRCUIT BREAKER FOR SAFETY'S SAKE —GUARDS AGAINST OVERLOADS ABOVE 10AMPS

GOF-CR21 22 Ft. - 5 lbs $24.95

GOF-CR50 50 ft. -10 lbs $39.95

rjji

PRIORITY ONE ELECTRONICS

9161-B DEERING AVE. • CHATSWORTH, CA 91311

Terms: U.S.; VISA, MC, BAC. Check, Money Order, U.S. Funds Only. CA. residents add 6% Sales Tax.MINIMUM PREPAID ORDER $15.00. Include MINIMUM SHIPPING & HANDLING of $2.50 lor the first3 lbs., plus 25c for each additional pound. Orders over 50 lbs. sent freight collect. Just incase...please include your phone no. Prices subject to change without notice. We will do our best tomaintain prices thru AUGUST, 19B1, SOCKET and CONNECTOR prices based on GOLD, not exceedingS700.00 per oz.Sales Prices are for prepaid orders only. Credit Card orders will be charged appropriate treignt.

THE UNIVERSAL IEEE-S100\DYNAMIC MEMORY CARD

THE EXPANDALBE 1 TM 64K Dynamic Ram board |provides your S-100 system with 64K of reliable, high-speed dynamic RAM. Compatible with most of the ma-jor S-100 systems on the market, including those with Ifront panels, it supports DMA operations and requires |no Wait states with current microprocessors.

• User expandable from 16 to 64 K

• 2 or 4 MHz operation

• North Star compatible

• Cromemco Compatible

• Designed to IEEE proposed S-100 bus standards

• Supports IMSAI-type front panels

• Operates with either an 8080 or 2-80 based S-100system, providing processor-transparent refresheswith both

• Bank-select system allows system memory expan-sion and is compatible with Cromemco products

• Bank select port's address is jumper selectable

• Any 16K block can be made bank-independent

• All 64K can be made bank-enabled on power-on andreset

• Configuration as a 16K, 32K, or 48K board withoutthe removal of RAMs

• Fully buffered address and data lines

• Fail-safe refresh circuitry for extended Wait states

• Board configuration with reliable, easy-toconfigureBerg jumpers

• Supports DMA

• Jumper-selectable Phantom input

• Uses Popular 4116 RAMS

• Assembled & tested

• All ICs in sockets

• Power supply: Unregulated +8, + 16, and - 16 voltsMaximum power draw: 400 mA at +8 volts

175 mA at + 16 volts5 mA at - 16 voltsDissipation: less than 8 watts

• Temperature: 0 to 70 degrees Celsius

• Humidity: 0 to 90% noncondensing

• PC Board

• FR-4 glass epoxy

• Solder mask on both sides

• Gold-plated connector fingers

• Silk screen component outlines, reference numbers,and part designations

PRI-EXP1-16$299.00

Factory Assembled and Tested 16K Board. For addi-tional memory order 1 set of 8 4116's at the left for eachadditional 16K. PRIORITY ONE ELECTRONICS can sup-ply the board A&T populated to 32K, 48K, or 64K at addi-tional cost, see our catalog or call for pricing.

SPECIAL PURCHASE

GOLD

16 PIN LOW

PROFILE I.C.

C-95 SOCKETS

TIG-16LPpkg..fioo$1600TIG-16 LP Pkg. .< iooo s 12000

OEMS Stock up at this LOW PRICE

ORDER TOLL FREE 1-800-423-5922 CA., AK., HI., (213) 709-5464

Circle 315 on inquiry card.

PRIORITY 1 ELECTRONICS

TRUCK LOAD PURCHASE10 MHZ 16K A&T STATIC S-100 RAM SALE

GBT-143A

List

$349.00

$169.00

or 3 for $450.00

The RAM 14 provides 16K X 8 of reliable, totally static RAM storage. Conforming fully to the IEEE 696/S-100 busstandard, RAM 14 not only provides 24 address lines for 16 megabyte extended addressing capability, but also in-cludes a number of features you would only expect to find in memory boards costing considerably more. Here's apartial listing of what makes RAM 14 your best choice!

• Operates up to 10 MHZ (90 ns RAM Chips)

• Assembled & Tested

• Meets or exceeds all IEEE 696/S-100 specifications (includingtiming).

• Fully static design eliminates the timing problems associatedwith dynamic memories.

• Switch selectable choice of 24 address lines conforming tothe IEEE 696/S-100 extended addressing specifications, or 16address lines as used in older S-100 systems.

• Ideal for multi-user installations.

• Board is addressable as one 16K x 8 block on any 4Kboundary.

• Switch selectable PHANTOM disable and write protect.

• +5 Volt operation (requires no other supply voltages).

Low power operation (900 mA typical, 1200 mA maximum).1 year Factory Warranty.

Don't settle for obsolete boards that use 2114's, drawtwice the power, run at only lA the speed . . . and costmore.

Buy with confidence when you buy Godbout boardsfrom P.I.E. Godbout is the world's largest manu-facturer of S-100 products. When Priority 1 Elec-tronics — the # 1 distributor of S-100 products, teamsup with Godbout, it makes an unbeatable combin-ation.

Don't settle for unknown, unproven products fromunknown sources.

(ompuPro"

division

(§P(B(8f(£

^ELECTRONICS^

PRIORITY ONE ELECTRONICS

IMJlAj 9161-B DEERING AVE. • CHATSWORTH, CA 91311

Terms: U.S.; VISA, MC, BAC, Check, Money Order, U.S. Funds Only. CA. residents add 6% Sales Tax.MINIMUM PREPAID ORDER $15.00. Include MINIMUM SHIPPING & HANDLING of $2.50 for the first 3lbs., plus 25c for each additional pound. Orders over 50 lbs. sent freight collect. Just In case...please in-clude your phone no. Prices subject to change without notice. We will do our best to maintain pricesthru AUG, 1981. SOCKET and CONNECTOR prices based on GOLD, not exceeding S700.00 per oz.Sales Prices are for prepaid orders only. Credit Card orders will be charged appropriate freight.

Circle 315 on inquiry card. "

ssy

GBT 171AGBT 171CGBT CPM80

GBT CPM86

S-lOO CPU

CPU-Z • GODBOUT2/4 MHZ Z80 CPU 24 Bit Addressing

GBT160U UnKil 5225.00

GBT160A AST $280.00

GBT160C CSC 3-6 MHZ $375.00

DUAL PROCESSOR 8085-8088 ■ GODBOUT

5 MHZ Provides true 16 Bit Power with a standard

8 bit S-100GBT 1612UGBT 1612A

bus

UnKit

A&T

$295.00$399.00

GBT 1612C

GBT 161UGBT 161A

CSC

BOARD WITH SOB5 ONLY

UnKit

AST

$498.00

$235.00$305.00

GBT 161C

CSC

$399.00

$260.00

$310.00

$89.00

SSMCB1ASSMCB1ASSM8080M

$183.00

$225.00

$59.00

2810 Z80 CPU-CA. COMP. SYST.

214 MHZ Z80A CPU with RS-232C Serial I/O Port

complete with Monitor PROM for 2422 Disk Controller

CCS 2810 AST $280.00

CB2 Z80 CPU - S.S.M.

2/4 MHZ will accept 2716, or 2732, or RAM

RUN/STOP and single step switches

SSMCB2K Kit

SSMCB2A AST

SSMZ80M SSM Z80 Monitor

CBIA 8080 CPU - S.S.M.

8080CPU, 1K RAM, Holds 1 2708,

1 8 Bit parallel input port.

Kit

AST

SM 8080 Monitor

S-lOO RAM

64K STATIC RAM ■ GODBOUT

RAM 17, 10 MHZ. 2 Walt, DMA Compatable

GBT-175A48 AST 48K $950.00

GBT-175C48 CSC48K $1050.00

GBT-175A64 AST 64K $995.00

GBT-175C64 CSC 64K $1395.00

64K DYNAMIC RAM - CCS

4 MHZ, on board refresh, DMA compatable,24 bit address.

CCS-2065A AST $599.00

32K STATIC RAM - GODBOUT

RAM 20 10 MHZ, 4K byte block disable,

available 16. 24. or 32K

GBT164A16 AST16K $319.00

GBT-164C16 CSC 16K $418.00

GBT-164A24 AST 24K $449.00

GBT-164C24 CSC 24K $539.00

GBT-164A32 AST 32K $499.00

GBT-164C32 CSC 32K $720.00

32K STATIC RAM - CCS

4 MHZ. Bank select, 8/16 bit data

CCS-2032 AST 32K $599.00

16K STATIC RAM - GODBOUT

RAM 14. 10 MHZ, 24 bit addressing

GBT-143A AST 16K $199.00

GBT-143C CSC 16K $399.00

16K STATIC RAM ■ CCS4 MHZ, 8/16 bit data, bank select

CCS-2116A AST 16K $299.00

8K STATIC RAM ■ GODBOUT

Econoram II 2MHZ, 8K, No doubt, the most

popular S-100 RAM ever built.

GBT-114U UnKit SK $99.95

S-lOO ROM

FBI PROM PROGRAMMER ■ SSM

'programs 2708 or 2716's, operatesas a 4K/8K EPROM board as well.

SSMPB1K Kit $179.00

SSMPB1A AST $239.00.

ECONOROM 2708 - GODBOUT

6K x 8 EPROM Board using 2708, Power onjump to any 256 byte

GBT 125U UnKit $85.00

GBT125A AST $120.00

GBT 125C CSC $175.00

S-lOO DISK CONTROLLERS

DISK 1 - GODBOUT

DMA, Soft Sector. Controls 8" or 5 '/< ",single or double density

AST $450.00

CSC $555.00

CP/M 2.2 lor Z80/808S withManuals S BIOS 8" S.D. disk $175.00CP/M for 8086 with manuals

S BIOS 8" S/D disk $300.00

2422A ■ CA. COMP. SYST.

I/O Mapped, controls 8" or 5V> ", single

or double density

CCS-2422 AST with CPM 2.2 8" S.D... . $375.00

DISK JOCKEY 1 ■ MORROW

Single density disk controller with

serial I/O. controls 8"

MDSDJ1108 AST $219.00

DISK JOCKEY 2D - MORROW

I/O Mapped, controls 8". single or

double density, serial I/O

MDSDJ2208 AST $375.00

DISK DRIVES

80IR ■ SHUGART

Single sided double density most popular 8" drive

SHU80IR $425.00 ea. or 2 or more $410.00

SHUSA80IRM Manual lor 80IR drives $10.00

DT-B ■ QVME

Data track 8 double sided, double density

QME-DT8 $625.00 ea. or 2 or more $600.00

ea.

DISK CABINETS

V-lOO - VISTA

Dual 8" drive cabinet with power supply.Rack or Desk Mount

VIS-V100 $395.00

SINGLE 8" -Q.T.Single 8" cabinet with power supply

QTCDDC8 $195.00

5" CABINETS • VISTA

VIS-9801 Single 5" with P.S $75.00

VIS-9802 Dual 5" with P.S $95.00

S-lOO DISK SUBSYSTEMS

DISCUS SINGLE SIDES MORROW

8" DBL Density drives with cabinet, power supplycontroller, with CP/M 2.2 and Microsoft Basic

MDSF1218 Single Drive System $950.00

MDSF1228 Dual Drive System $1598.00

DISCUS DOUBLE SIDED - MORROW

8" DBL Density/sided drives with cabinet Power

supply controller, with CP/M 2.2 and Microsoft Basic

MDSF2218 Single Drive System $1198.00

MDSF2228 Dual Drive System $2190.00

26MB HARD DISK - MORROW

Special purchase, limited stock - 26MB formatted harddisk complete with cabinet, P.S.. Controller. CPM 2.2

and Microsoft BasicMDS-M26S 26 MB Subsystem List $4995.00

SALE• $3950.00 •

SAVE $1,045.00!

MICROPOLIS

Priority 1 Electronics is the

worlds largest distributors of

MICROPOLIS disk sub Systems

CALL FOR PRICES

PRIORITY

*&?*>%

S-lOO I/O BOARDS

SYSTEM SUPPORT 1 ■ GODBOUT

Serial port {software prog baud), 4K EPROM or

RAM provision, 15 levels of Interrupt, real time clock,

optional math processor

GBT-162U UnKit $295.00

GBT-162A AST $360.00

GBT-162C CSC $460.00

GBT-9512 Math Chip $195.00

MPX CHANNEL BOARD - GODBOUTI/O Multiplexer, using 8085A-2 cpu on board

GBT-166A AST $450.00

GBT-166C CSC $550.00

INTERFACER I ■ GODBOUTTwo Serial I/O

GBT-133A AST $219.00

GBT-133C CSC $298.00

INTERFACER II - GODBOUT

Three parallel, one serial I/O board

GBT-150A AST

GBT-150C CSC

MULTI I/O - MORROW DESIGNS

Three Serial, Two parallelMDSMB3200 AST

$219.00$298.00

MDSSB2411

SWITCHBOARD-MORROW DESIGNS

Two serial I/O, four parallel I/O,one status port, one strobe port

AST .

MM .00

1/02 - SSM

One parallel input, one parallel output, prolo workarea

SSMI02K Kll $69.00

SSMI02A A&T $89.00

1/04 ■ SSMTwo serial I/O, two parallel I/O

SSMI04K Kit $210.00

SSMI04A AST $260.00

SSM-VB3K24SSMVB3A24

SSMVB3K48SSM-VB3K48SSM-VB3UP

SBI-SSM

Music synthesizer board

SSMSBIK Kit $249.00

SSMSBIA AST $310.00

SSMSBIS Software $ 25.00

S-lOO VIDEO BOARDS

SPECTRUM ■ GODBOUT

Color Graphics board with Parallel I/O.

GBT-1440 UnKit $299.00

GBT-144A AST $349.00

GBT-2D Sublogic Software $ 35.00

VB • 3 S.S.M.

80 x 24 or 48 character video display Memory Mapped.Parallel Keyboard port

Kit 80x24 $359.00

AST 80x24 $450.00

Kit 80x48 $425.00

AST 80x48 $495.00

Upgrade Kit $ 50.00

VB2-SSM

I/O Mapped Video Board, with Parallel Keyboard port.

64x16

SSMVB2K Kit $169.00

SSMVB2A AST $229.00

VBIC - SSM

Memory Mapped Video Board 64x16 character display

or 64x16 graphics disfplay

SSMVBICK Kit $169.00

SSMVBICA AST $229.00

S-lOO MOTHERBOARDS

MOTHERBOARD • GODBOUT

Active termination. 6-12-20 slot

GBT-153U Unkit 6 slot $89.00

GBT-153A AST 6 slot $119.00

GBT-154U Unkit 12 slot $129.00

GBT-154A AST 12 slot $149.00

GBT-155U Unkit 20 slot $174.00

GBT-155A AST 20 Slot $189.00

WUNDERBUSS • MORROW DESIGNS

Active termination, 8-12-20 slot,

peripheral power outputs

(5V@1A, 12V & 500ma. - 12V @ 500ma)

MDS0800K Kit 8 slot no connectors. ... $ 54.00

MDS1200K Kit 12 slot no connectors. . . $65.00

MDS2000K Kit 20 slot no connectors. . . $76.00

MDS0800A AST 8 Slot $129.00

MDS1200A AST 12 slot $149.00

MDS2000A AST 20 slot $199.00

S-lOO MISC.

CK017 ACTIVE TERMINATOR-GODBOUT

GBT-106U Kit $ 34.95

2520 - CCS

Extender/terminator, Active and/or passive

CCS2520AK Kit

EXTENDER/LOGIC PROBE-MULLEN

MULCK004 Kit

OBI VECTOR JUMP - SSM

with prototyping area

SSMOB1K Kit

SSMOB1A AST

$ 59.00

S 59.00

65.0090.00

ELECTRONICS

9161-B DEERING AVE. • CHATS WORTH, CA 91311

E53

ORDER TOLL FREE (800) 423-5922 CA. AX, HI CALL (213) 709-5464

Terms: U.S.; VISA. MC, BAC, Check. Money Order,, U.S. Funds Only. CA residents add 6% Sales Tan. MINIMUM PREPAID ORDER $15.00. Include MINIMUM SHIPPING &HANDLING of $2.50 for the first 3 lbs., plus 25* for each additional pound. Orders over 50 lbs. sent freight collect. Just in case . . . please include your phone no. Prices subject tochange without notice. We will do our best to maintain prices thru August, 1981. SOCKET and CONNECTOR prices based on GOLD, not exceeding $700.00 per oz. Sales Prices are for prepaid orders only. Credit Card orders will be charged appropriate freight.

Circle 316 on inquiry card.

(ompu

ProM

^ ELECTRONICS >*

TEAMS UP WITHPRIORITY ONE ELECTRONICSTO INTRODUCE THE NEXT GENERATIONOF IEEE/696 S-100 COMPUTERS

lEi

MicroFrame

8 BIT

There are still a lot of 8 bit machines out in the world,matched with plenty o( 8 bit software — but very few ofthese machines are working up to their peak capacity.We want the "Big 8" system to change all that, and bringprofessional level computing power to all the owners ofolder S-100 machines. And if you're assembling an 8 bitsystem from the ground up, "Big 8" gets you off to thebest possible start. . . regardless of price.

Here's what you get

1. CPU Z, our high speed, high performance Z80* basedCPU board, Includes a B MHz CPU for maximumthroughput and highest operating speed.

2. Disk 1 DMA floppy disk controller.

3. 64K of fast static RAM with 24 bit extended addressing.

4. Interfacer 1 — Dual Serial I/O card or Interfacer II 3Parallel 1 Serial I/O Card.

5. CP/M*-80 2.2.

S. All documentation and manuals.

It all adds up to $2712.00TOTAL PACKAGE PRICE

$1950.00

YOU SAVE $762.00!

ORDER PART NO. GBT-SPEC-C

Big 8 System with Interfacer IORDER PART NO. GBT SPEC-D

Big 8 System with Interfacer II

SAVE EVEN MORE, when you add2 Shugart 801R disk drives, and adual Vista Cabinet with PowerSupply.This package adds up to $4062

TOTAL PACKAGE PRICE

$3095.00

YOU SAVE $967.00

GBT-SPEC-EV <GBT-SPEC-FV \

ith Interfacer Iith Interfacer II

Micromouth for use on Apple II or other parallel portsA&T Featured in June BYTE

MMMI-94V0APL $149.00

Micromouth for use of TRS-80 Model 1 complete withcable, AC Adapter, less enclosure A&T.

MMI 94V0TRSI $169.00

Expansion Interface for TRS-80 Model 1 with DATASEPARATOR 32K of RAM, and Centronics Printer port.A&T. Featured in MARCH BYTE.

MMI-DISK80 $429.00

16 BIT

A second chance, we offered a limited number of these"BIG 16" packages 2 months ago and quickly sold out,leaving many customers disappointed. We had so manycustomers who wanted to get a second system, andmany more who just wanted a chance to get one system,that we went back to GODBOUT, and convinced them tomake another production run just for us. (They can'tignore our requests when we purchase boards by the1,000's.) Here is your second chance to step up to theWorld of 16 Bit Computers and save hundreds, eventhousands, of dollars if you act right now.

Here's what you get

1. 16 bit/8 bit Dual Processor (w/6 MHz 8088)

2. System Support 1 with Serial I/O. Real time clock.Interval Timers & More!

3. Disk 1 DMA Floppy Disk Controller (w/BIOS for CP/M*2.2)

4. 64K of fast static RAM (w/IEEE 24 bit extendedaddressing)

5. Sorcim's powerful PASCAL/M* - 8086 software ondisk

7. I/O and Disk Controller cables, plus full documenta-tion on all hardware and software'PASCAL M is a trademark of Sorcim; CP/M is a registeredtrademark of Digital Research

It all adds up to $3430.00

A) TOTAL PACKAGE PRICE

$2495.00

YOU SAVE $935.00

ORDER PART NO. GBT SPEC-A

SAVE EVEN MORE, when you add2 Shugart 801R disk drives, and adual Vista Cabinet with PowerSupply.

This package adds up to $4780.

B) TOTAL PACKAGE PRICE

$3650.00

YOU SAVE $1130.00

ORDER PART NO. GBT-SPEC-BV

Gisocfete (frctf! Cello*

I/O Interface lor TRS-80. Features 50-19200 baud RS-232C Serial port and Centronics printer port. Connect upto IS COMM-80's to either Keyboard or Expansion Inter-lace. Featured in June 80 BYTE.

MMI-COMM-80 $179.95

PRIORITY

From the power supply through the sturdy chassis, TEIconstructs and assembles each mainframe with greatcare. Every TEI mainframe utilizes a constant voltagetransformer (CVT) which delivers clean, regulated powerat the proper level, reducing the heat in the computercards. The output voltage on the transformer remainsnearly even with the input voltage varyng from approxi-mately 85V to MOV. This means the mainframe will nevernotice voltage variations or even a brownout. It lso pro-vides 100 dB noise rejection to protect the computerfromvoltage spikes and line noise.

No need for a dedicated line or expensive noise filters.TEI was the first manufacturer to offer the CVT in itscomplete computer product line and is still one of fewmanufacturers to offer the CVT as standard equipment.

^

TEI 22 slot and 12 slot mainframes ofier a S-100 mother-board which is grounded shielded and actively termin-ated for high speed operation now or for later upgrading.Each mainframe is shipped completely assembled, testedand burned in, with fan, washable filter, all connectorsand card guides. Rackmount models are available in both22 and 12 slot mainframes. The combination of the lowestnoise bus, a regulated CVT power system and a ruggedchassis produces a mainframe without equal.

LIST OUR

S-100 MAINFRAMES PRICE PRICE

TEI-MCSI12 12SlotDesk S685.00 5615.00

TEI-MCS 122 22 Slot Desk S845.00

TEI-RM12 12 Slot Rackmount S800.00

TEI-RM 22 22 Slot Rackmount S945.00

Shipping Weight: On 12 Slot Mainframes 35 lbs.

On 22 Slot Mainframes 50 lbs.12 slot; +8V <a 17A. ±1BV @ 2A; 35 lbs.22 slot; I-8V (.a 30A, + 16V @ 4A; 50 lbs.Shipping Weight: On 12 Slot Mainframes 40 lbs.

On 22 Slot Mainframes 55 lbs.

S760O0S720.00S850.00

S-100 MAINFRAME WITH 12 SLOT

MOTHERBOARD AND CUTOUTS FOR

3 5%" FLOPPY DISK DRIVES

WITH INTERNAL POWER CABLES

TEI-TT12 12 slot deskTEI-RF12 12 slot rackmount

LIST OUR

PRICE PRICE

695.00 625.00

795.00 715.00

DUAL 8" DISK DRIVE CHASSIS

For Shugart 800/801R with LIST OUR

internal power cables provided PRICE PRICE

TEI-DFDO Desk Top 669.00 599.00

TEI-RFOO Rack Mount 819.00 749.00

Priority 1 Electronics is a master distributor for T.E.I.Dealers & O.E.M.'s. Call for quantity pricing.

ELECTRONICS

9161-B DEERING AVE. CHATSWORTH, CA 91311

FtuH

ORDER TOLL FREE (800) 423-5922 CA, AK, HI CALL (213) 709-5464

Terms: U.S.; VISA, MC, BAC, Check, Money Order,, U.S. Funds Only. CA residents add 6% Sales Tax. MINIMUM PREPAID ORDER $15.00. Include MINIMUM SHIPPING &HANDLING of $2.50 for the first 3 lbs., plus 25C for each additional pound. Orders over 50 lbs. sent freight collect. Just in case . . . please include your phone no. Prices subject tochange without notice. We will do our best to maintain prices thru August, 1981. SOCKET and CONNECTOR prices based on GOLD, not exceeding $700.00 per oz.

Sales Prices are for prepaid orders only. Credit Card orders will be charged appropriate freight.

Circle 316 on inquiry card.

r

SN7400NSN7401NSN7402NSN7403NSN7404NSN7405NSN7406NSN7407NSN740BNSN7409NSN7410NSN7411NSN7412NSN7413NSN7414NSN7416NSN7417NSN7420NSN7421NSN7422NSN7423NSN742SNSN7426NSN7427NSN7428NSN7430NSN7432NSN7437NSN7438NSN7439NSN7440NSN7441NSN7442NSN7443NSN7444NSN7445NSN7446NSN7447NSN7448NSN7450NSN7451N5N7453NSN7454NSN7459ASN7460NSN7470N

74LS00

74 L SOI74LS0274LS0374LS0474 L SOS74 L SOB74LS0974LS1074 LSI 174LS1274LS1374LS1474LS1S74LS2074LS2174LS2274LS2674LS2774LS2874LS3074LS3274LS3374LS3774LS3874LS4074LS4274LS47"MLS4874L54974LS5174LS5474LS5574LS7374LS7474LS7574L57674LS7874LS8374LS8574LS8674LS90

74SOO74S0274S0374S04

74 SOS74S0874SQ974S1074S1174S1574S2074S2274S3074S3274S3874S4074SS174S6474S657457474SB674S11274S11374S1W

7400

CA3Q10HCA3013HCA3023HCA303SHCA3039HCA3046NCA3059N

CD4000CD4001CD4002CD40O6CD40O7CD40O9CO4010CD4011CD40I2CD4013CD4014CD4015CD4016CD4017CD4018CD4019CD4020CD4021CD4022CD4023CD4024CD4025CD4026CD4027CD4028CD4029CO4030CO4034CD4035CD4O40

SN7472N

SN7473N

SN7474N

SN747SN

SN7476N

SN7479N

SN7480N

SN7482N

5N7483N

SN748SN

SN7486N

5N7489N

SN7490N

5N7491N

SN7492N

SN7493N

SN7494N

SN7495N

SN74%N

SN7497N

SN74100N

SN74104

SN74105

SN74107N

5N74109N

SN74116N

SN74121N

SN74122N

SN 74123 N

SN74125N

SN74126N

SN74132N

SN74136N

SN 7414 IN

SN74142N

SN74143N

SN74144N

SN 74145 N

SN74147N

SN74148N

SN74150N

SN74151N

SN74152N

SN74153N

SN74154N

SN74155N

*Mfi

SN74156NSN74157NSN74160NSN74161NSN74162NSN74163NSN74164NSN7416SNSN7416GNSN74167NSN74170NSN74172NSN74173NSN74174NSN74175NSN74176NSN74177NSN74179NSN74180NSN74181NSN74182NSN74184NSN7418SNSN74190NSN74191NSN74192NSN74193NSN74194N5N7419SNSN74196NSN74197NSN74198NSN74199NSN74221NSN74251NSN74276NSN74279NSN 74283 NSN74284NSN7428SNSN74365NSN74366NSN74367NSN74368NSN74390NSN 74393 N

74LS

74LS92

74LS9374LS9574LS9674LS10774LS10974LS11274LS11374LS11474LS12274LS12374LS12S74LS12674LS13274LS13374LS13674LS13874LS13974LS15174LS15374LS15474LS1S574LS15674LS1S774LS15874LS16074LS16174LS16274LS16374LS16474LS16S74LS16874LS16974LS17074LS17374LS17474LS17574LS18174LS19074LS191

74LS192

1.15

74LS193

1.15

.75

74LS194

.75

74LS195

1.15

.99

74LS197

1.15

74LS221

1.19

.45

74LS240

.45

74LS241

1.95

.45

74LS242

1,95

.49

74LS243

.49

74LS244

1.95

.89

74LS245

2.95

1.25

74LS247

.89

74 LS248

1.19

.55

74LS249

1.19

.99

74LS251

1.49

.89

74LS2S3

.99

.49

74LS257

.89

.89

74LS258

.99

.89

74LS260

.69

.89

74LS266

.69

.89

74LS273

1.95

1.75

74LS279

1.19

74LS283

1.09

1.19

74LS290

.99

.89

74 LS293

.99

.99

74LS298

1.25

1.15

74LS3S2

1.29

1.15

74LS353

1.29

1.15

74LS365

.75

1.15

1.25

74LS367

.75

1.25

74LS368

.75

1.19

74LS373

1.19

74LS374

1.95

2.49

74LS375

.89

1.39

74LS386

.99

74LS393

2.49

.99

74LS399

2.49

2.95

74LS670

2.49

1.25

81LS95

1.95

1.25

81LS97

1.95

74S

74S12474S13374S13474 S135

74S13674 S13874S13974 S14074S15174S15374S15774S15874SI6074S17474S17574S18874S19474S19574S19674S24074S24174S242

1.953.952.9S2.95

74S24374S24474S25174S25374S2S774S2S874S26074S28074S28774S28874S37374S37474S38774S47174S47274S47374S47474S47574S57074S57174S57274S57374S94074S941

5.9519.9519.9519.9521.9521.95

7.95

2.15

us

2.48

CA-LIIMEAR

CA3060N

3.25

CA3080H

1.25

CA3081N

2.00

CA3082N

2.00

CA3083N

1.60

CA30B6N

.85

CA3089NCA3096NCA3130HCA3140HCA3160HCA3401NCA3600N

CD-CMOS

CO4041CD4042CD4043CD4044CD4046CD4047CO4048CO4049CD4050CD40S1CD40S2CD4053CD4056CD4059CO4060CD4066CD4068CD4069CD4070CD4071CD4072CD4073CD4075CD4076CD4078CD4081CD4062CO4093

1.19

2.959.95

CD 4098

CO4506

C D4507

CD4508

CD4510

CD4511

CD4512

CD4514

CD4515

CD4516

CD451B

CD4519

CD4520

CD4526

CD4S28

CD4529

CD4S43

CD4562

CD4S66

CD4583

CD4584

CD4723

CD4724

MC14409

MC14410

MC14411

MC14412

MC14419

MC14433

MC14538

MC14541

1952.951.49

2.79

11.952.792.49

14.9514.9514.95

11.954.95

13.952.49

Inserts both 14 and 18 pin packages.Narrow profile permits work on close-ly spaced items. Pin straightener built

INS-1416 1416 pin $3.49

MOS 1416 14 16 pin CMOS sale 7.95

MOS2428 24 28 pin CMOS sale 7.95

MOS-40 36 40 p.n CMOS safe 7.95

&

Vacuum Vise

Vacuum-based light-dutyvise for small componentsand assemblies. ABS con-struction. IVi" jaws, 1)4"travel. Can be permanent-ly installed.

vv-1 $3.49

Li

I!

11

Wire WrappingKitWK-2

ConttllU WSU-30 wrap tool. 50feet of Kynar 30 AWG whitewire, 50 pieces each pre-strippedwire in 1", 2" 3" and 4" lengths,snipped 1" both ends.

WK-2 $12.95

DISCRETE LEDS

XC556R .200" red 5/S1

XC556G .200" green 4/(1

XC5S6Y .200" yellow 4/J1

XC556C .200" clear 4/$l

XC22R .200" red 5/$l

XC22G .200" green 4/J1

XC22Y .200" yellow 4/$l

MV10B .170" red 4/(1

MV50 .085" redXC209R .125" redXC209G .125" greenXC209Y .125" yellowXC526R .185" redXC526G .185" greenXC526Y .IBS" yellowXC526C .185" clear

•<*& ,t

6 VOLT MINI LAMP

- INCANDESCENT -800-147 Clear w/5" leads 8/$180620 Red w/10" leads 9/S1

RL-2 . .$.39«a.or3/$1.00

C.A. — Corr

non Anode

Type

MAN 1MAN 2MAN 3MAN 52MAN 54MAN 71MAN 72MAN 74MAN 82MAN 84MAN 3620MAN 3630MAN 3640MAN 4610MAN 6610MAN 6630MAN 6640MAN 6650MAN 6660MAN 6710MAN 6750MAN 6780DLO304DLO307 .DLG500

PolarityC.A.—red

5x7 D.M.—redC.C.-redC.A.—greenC.C.—greenC.A.—redC.A.—redC.C.-redC.A.—yellowC.C.—yellowC.A.—orangeC.A.—orange 1 IC.C.—orangeC.A.—orangeC.A.—orange—DDC.A.—orange ± 1C.C.—orange—DDC.C.—orange! 1C.A.—orangeC.A.-red—DDC.C.-red ± 1C.C.-redC.C.—orangeC.A.-orangeC.C.—green

DISPLAY LEDS

C.C.

' Con

Price

2.954.95

Type

DLG507

DL704

DL707

DL728

DL741

DL746

DL747

DL750

DL0847

DLO850

DL33B

FND358

FND359

FND503

FND507

HDSP-3401

Polarity

C.A.—green

C.C.-red

C.A.—red

C.C.-red

C.A.-red

C.A.-red ± 1

C.A.-red

C.C.-red

C.A.—orange

C.C—orange

C.C.-red

C.C. i 1

C.C.

C.C. (FND500)

C,A. (FND510)

C.A.-red

Price1.251.251.261.491.2S1.491.491.49

HDSP-3403 C.C.-red

5082-7751

5082-7760

5082-7300

5082-7302

5082-7304

4N28

LIT-1

MOC3010

.800.800

C.A..R.H.D.C.C.R.H.D.—red .4304x7sgl. dig. RHD .6004x7sgl.dlg. LHD .600Cwernge. char. (±1) .600Photo XsistorOpto-lsolPhoto Xslstor Opto-lsot. .69Optically Isol.TrlacDriver 1.2S

1.501.501.251.7S22.0022.0019.95

SOCKETS

Test

RECEPTACLES

Sockets

ZERO INSERTION FORCE

Pert No.. Pins Price

214-3339 14 pin 5.95216-3340 16 pin 6.49218-3341 18 pin 7.95220-3342 20 pin 8.95

* Nickel Boron Plating*G.F. PSF Plastic Body» For testing JC

Part No. Pins Price222-3343 22 pin 9.95224-3344 24 pin 9.75228-3345 28 pin 11.95240-3346 40 pin 12.95

LOW PROFILE(TIN) SOCKETS

16 pin LP18 pin LP

20 Pin LP22 pin LP24 pin LP28 pin LP36 pin LP40 pin LP

Wtttt'

ll II III

8 pin SG

14 pin SG16 pin SG18 pin SG24 pin SG28 pin SG36 pin SG40 pin SG

SOLDERTAIL (GOLD)STANDARD

• Nickel Boron Plating

• G.F. PSF Plastic Body

• Wire Wrap ContactsPart No. Pins Price

214-3592 14 pin 9.75

216-3593 16 pin 9.95

218-3594 18 pin 10.95

220-3595 20 pin 11.95

Part No. Pins Price

222-3596 22 pin 12.95224-3597 24 pin 12.75228-3598 28 pin 13.95240-3599 40 pin 15.95

SOLDERTAILSTANDARD (TIN)

14 pin ST16 pin ST

18 pin ST24 pin ST28 pin ST36 pin ST40 Pin ST

■

8 pin WW10 pin WW14 pin WW16 pin WW18 pin WW20 pin WW22 pin WW24 pin WW2B pin WW36 pin WW40 pin WW

WIRE WRAP SOCKETS

(GOLD) LEVEL #3

1.351.26

1.53

1/4 WATT RESISTOR ASSORTMENTS -5%

ASST. 1

5ea.

10 Ohm

27 Ohm

12 Ohm

33 Ohm

15 Ohm39 Ohm

18 Ohm47 Ohm

22 Ohm56 Ohm

50 pes.

$1.95

ASST. 2

5ea.

68 Ohm180 Ohm

82 Ohm220 Ohm

100 Ohm

270 Ohm

120 Ohm

330 Ohm

ISO Ohm

390 Ohm

50 pes.

$1.95

ASST. 3

5ea.

470 Ohm1.2K

560 Ohm1.5K

680 Ohml.SK

820 Ohm2.2K

IK2.7K

50 pes.

$1.95

ASST. 4

5ea.

3.3K8.2K

3,9 K10 K

4.7K12K

S.6K15K

6.8K18K

50 pes.

$1.95

ASST. 5

5 an.

22K56K

27 K68K

33 K82 K

39K100K

47K120K

50 pes.

$1.95

ASST. 6

5ea.

150K390 K

180 K

470K

220K560K

270K680 K

330 K820K

50pcs.

$1.95

ASST. 7

5ea.

1M2.7M

1.2M3.3M

1.5M3.9M

1.8M4.7M

2.2M5.6M

50 pes.

$1.95

ASST. 8R

Includes Resistor Assts. 1-7 (350 pes.)

$10.95 ea.

$10.00 Min Order -Calif. Residents AddPostage- Add 5% plu

'NEW*

U.S. Funds Only6% Sales TaxsSI Insurance

I

ameco

ELECTRONICS

Spec Sheets - 254

Send 52a' PostagB for your

FREE 1981 JAMECO CATALOG

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE

1355 SHOREWAY ROAD, BELMONT, CA 94002

PRICES SUBJECT TO CHANGE

Part No. Function Price

7045IPI CMOS Precision Timer 14.95

7045EV/KU* Stopwatch Chip, XTL 22.95

7106CPL 3Vj Digit A/D (LCD Drive) 16.95

7106EV/K11* IC, Circuit Board, Display 34.95

7107CPL 3tt Digit A/D (LED Drive) 15.95

7107EV/KII* IC, Circuit Board, Display 28.95

7116CPL 3ift Digit A/D LCD DIs. HLD. 1B.95

7117CPL 3Vi Digit A/D LED DIs. HLD. 17.95

7201IDR Low Battery Volt Indicator 2.25

7205IPG CMOS LED Stopwatch/Timer 12.95

720SEV/KU* Stopwatch Chip, XTL 19.95

7206CJPE Tone Generator 5.15

7206CEV/KU* Tone Generator Chip, XTL 9.95

7207AIPD Oscillator Controller 6.50

7207AEV/KH* Freq. Counter Chip, XTL 11.10

7208IPI Seven Decade Counter 17.95

7209IPA Clock Generator 3.95

7215IPG 4 Func. CMOS Stopwatch CKT 13.95

721SEV/Klt* 4 Func. Stopwatch Chip, XTL 19.95

7216AIJI 8-Dlglt Univ. Counter C.A. 32.00

7216CIJI 8-Dlglt Freq. Counter C.A. 26.95

7216DIPI 8-Dlglt Freq. Counter C.C. 21.9S

7217IJI 4-Dlglt LED Up/Down Counter 12.95

7218CIJI 8-Dlglt Univ. LED Drive 10.96

7224IPL LCD 4U, Digit Up Counter DPI ILL'S

7226AIJL 8-Oiqit Univ. Counter 31.95

7226AEV/KU* S Function Counter Chip, XTL 74.95

7240IJE CMOS Bin Prog. Timer/Counter 4.95

7242IJA CMOS Dlvide-by-256 RC Timer 2.05

72S0IJE CMOS BCO Prog. Timer/Counter 6.00

7260IJE CMOS BCD Prog. Timer/Counter S.2S

7555 l PA CMOS 556 Timer (8 pin) 1.45

7556IPD CMOS 556 Timer (14 pin) 2.20

7611BCPA CMOS Op Amp Comparator 5MV 2.25

7612BCPA CMOS Op Amp Ext. Cmvr. 5MV 2.95

7621BCPA CMOS Dual Op Amp Comp. 5MV 3.95

7631CCPE CMOS Trl Op Amp Comp. 10MV 5.35

7641CCPD CMOS Quad Op Amp Comp. 1QMV 7.50

7642CCPD CMOS Quad Op Amp Comp. 1QMV 7.50

7660CPA Voltage Converter 2.95

8038CCPD Waveform Generator 4.95

8048CCPE Monolithic Logarithmic Amp 21.60

8069CCQ 50ppm Band—GAP Volt Ref. Diode 2.50

8211CPA Volt Ref/lndlcator 2.50

B212CPA Volt Ref/lndlcator 2.50

74 COO74C0274C0474C0874C1074C1474C2074C3074C4274C4B74C7374C7474CB574CB674CB974C9074C93

6.951.29

1.29

74C9574 C10774C1S174 C15474C15774 C16074 C16174C16274 C16374C16474C17374C17474C17574C19274C19374C195

74C

74C221

74C24074C24474C373

74C37474C90174C90374C91174C91274C91S74C91774C92274C92374C92574C92680C9580C97

1.952.252.252.492.59.691.1510.9510.951.6910.955.495.757.507.50.79.79

6.05

LH00Q2CN 6.85

LM10CLH 4.50LM11CLHLH0070-OI-TL071CP

TL072CP 1.39

TL074CN 2.49

LH0082CD 35.80

TL082CP 1.19

TL084CN 2.19

LH0094CD 36.80

LM300H .99LM301CN/H .35

LM302H 1.95

LM304H 1.95

LM305H .99LM307CN/H .45LM30BCN/H 1.00

LM309H 1.95

LM309K 1.25

LM310CN 1.75LM311H/CN .90

LM312H 2.49

LM317MP 1.15

LM317T 1.75

LM317K 3.95LM318CN/H 1.95

LM319N 1.95

LM320K-5 1.35

LM320K-12 1.35

LM320K-15 1.35

LM320T-5 1.25

LM320T-12 1.25

LM320T-15 1.25LM323K-5LM324NLM329DZLM331NLM334ZLM335ZLM336ZLM337TLM337MPLM338KLM339NLM340K-5

LM340K-12 1.35

LM340K-15 1.35

5.95

3.951.301.401.751.951.156.95.991.35

LINEAR

LM340T-5 1.

LM340T-12 1.

LM340T-15 1.LM341P-5LM341P-12LM341P-15LM342P-5LM342P-12LM342P-15

LM348N 1,

LM3S0K 5LF351N

LF3S3N 1.

LF355N 1,

LF356N 1.

LM358N 1,

LM359N 1,

LM370N 4.

LM373N 3.

LM377N 2,

LM380N 1.

LM381N 1.

LM382N 1.

LM384N 1.

LM386N-3 1.

LM387N 1,

LM389N 1.LM392N

LF398IN 4.

LM399H 5.

TL494CN 4.

TL496CP 1.

NE510A 6.

NE529A 4.

NE531H 3.

NE536H 6.

NES40H 6.

NE544N 4.

NE550A 1.NE555VLM5S6N

NE564N 3.

LM565N 1.

LM566CN 1.

LM567V 1.

NE570N 4.

LM702H .79

LM703CN .89

LM709N .49

LM710N .79

LM711N .79

LM723N .69

LM733N/H 1.00

LM739N 1.19

LM741CN .35

MC1741SCG 3.00

LM747N/H

LM748N/H

LM1014N

LM1310N

LM1458CN

LM1488N

LM1489N

LM1496N

LM1556V

LM1800N

LM1877N-9

LM1B89N

LM1896N

LM2002T

LM2877P

LM2878P

LM2896P-1

LM3189N

LM3900N

LM3905CN 1.25

LM3909N

LM3914N

LM3915N

LM3916N

RC4136N

RC4151NB

RC4194TK

RC4195TK

KB4428

KB4429

LM4500A

ICLS038B

LM13080N

LM13600N

75138N

75450 N

75451CN

75492

2.75

1.25

3.20

2.052.252.252.95

1.153.953.95

3.955.955.494.255.953.254.951.29

CAPACITOR CORNER

Vaii

50 VOLT CERAMIC DISC CAPACITORS

1-9 10-99 100+

1-9 10-99 100+

Value

10 pf .08 .06 .05 .OOluF

22 pf .08 .06 .05 .0O47uF .08 .06 .05

47 pf .08 .06 .05 .OluF .08 .06 .05

100 pf .08 .06 .05 .022uF .09 .07 .06

220 pf .08 .06 .05 .047uF .09 .07 .06

470 pf .08 .06 .05 ' .luF -IS .12 .10

100 VOLT MYLAR FILM CAPACITORS

.OOlmf .12 .10 .07 I .022mf .13 .11 .08

.0022mf .12 .10 .07 .047mf .21 .17 .13

,0047mf .12 .10 .07 .lmf .27 .23 .17

.Olrnf .12 .10 .07 I ,22mf .33 .27 .22

+ 20% DIPPED TANTALUMS (Solid) CAPACITORS

.1/35V

. 15/35V.22/35 V. 33/35 V.47/35V.68/3SV1.0/35V

.39

.34 .29.29

1.5/3SV

2.2/35V3.3/2SV4.7/25V6.B/2SV15/25V22/6V

.41

.37

.51 .45

1.39 1.25 .95

MINI. ALUMINUM ELECTROLYTIC CAPACITORS1-99 100-499 500+ Radial 1-99 100-499 500+

.47/50V

1.0/S0V

3.3/50 V

4.7/25V

10/25V

10/50V

22/25V

22/50V

47/25V

47/50V

100/25V

100/SOV

220/25V

220/50V

470/25V

1000/16V

2200/16V

.19 .16 .12.19 .16 .12.24 .20 .18

.41 .37 .34

47/25V.47/50V1.0/16V1.0/25V1.0/S0V4.7/16V4.7/25V4.7/50V10/16V10/25V10/50V47/50V1M/16V100/25V100/50V220/16V470/25V

.15 .13 .12

.17 .15 .14.25 .21 .19

.25 .21 .19

.35 .31 .27.

472 BYTE August 1981

Circle 183 on inquiry card.

SlSductorClock Modules

12V DC

AUTOMOTIVE/

INSTRUMENT

CLOCK

APPLICATIONS:

• In-dash eutoclocks

• After-market auto/RV clock!

• Aircraft-marine elk*.

• 12VDC oper. Instru.

• Portable/batterypowered Fnstrumnts.

Feaiures:Bright 0.3" green display- Internal crystal time-base. = 0.5 sec./day accur.Auto. display brightness controllogic. Display color filterable to blue, blue-green, green &yellow. Complete —just add switches and lens.

MA1003 Module $16.95

CLOCK MODULES

MA 1023 .7" Low Cost Digital LED Clock Module 8.95

MAI 026 .7" Dig. LED Alarm Clock/Thermometer 18.95

MA5036 .3" Low Cost Digital LED Clock/Timer 6.95

MA1002 .5" LED Display Oig. Clock fi, Xformer 9.95

TRANSFORMERS

102-P20 Xformer for MAI 023 Clock Modules 3.49

102-P22 Xformer for MAI 026 Clock Modules 3.49

102P20 Xformer for MA5036 Clock Modules 3.49

8 OHM SPEAKER

2'/«" - 8 Ohm - .25 watt$1.25 ea. 2/S1.95 ea. 10/S7.95 ea.

BATTERY HOLDER

•Holds 2 ea. C cells•Aluminum Case• 5" leads

$.45 each 10/S3.95

-/-Vii

'*

BATTERYHOLDER

•Holds4ea. C cells

•Plastic case

• 9" leads

$.49 ea. 10/S4.25

EPROM Erasing Lamp

• Erases 2708, 2716, 1702A, 5203Q, 5204Q, etc.

• Erases up to 4 chips within 20 minutes.

• Maintains constant exposure distance of one inch.

• Special conductive foam liner eliminates static build-up.

• Built-in safety lock to prevent UV exposure.■ Compact - only 7-5/8" x 2-7/8" x 2"

• Complete with holding tray for 4 chips.

UVS-11E $79.95

JOYS

JS-5K IJ

JS-5K 5K Linear Taper Pots $5.25

JS-100K 100K Linear Taper Pots S4.95

JVC 40 40K (2) Video Controller in case . . . $5.95

6-DigitClock Kit

• Bright .300 ht. comm. catrode display

• Uses MM5314 clock chip

• Switches for hours, minuteand hold modes

• Hrs. easily viewable to 20 f

• Simulated walnut case

• 115 VAC operation

• 12 or 24 hr. operationponents. case I

all trarSize: 61/,

>rmer< 3-1/8

c 1 Ji"

JE701 $19.95

mfc JE215 AdjustableWit Dual Power Supply

General Description: The JE215 is a Dual PowerSupply with independent adjustable positive and nega-tive output voltages. A separate adjustment for eachof the supplies provides the user unlimited applicationsfor IC current voltage requirements. The supply canalso be used as a general all-purpose variable power

supply.

FEATURES:

• AdiustaDle regulated power supplies,pos. and neg. 1.2VDC to 15VDC.

• Power Output (each supply):5VDC S> 500mA, 10VDC@ 750mA,12VDC@500mA, and15VDC® 175mA.

• Two, 3-termtnal adj. IC regulatorswith thermal overload protection.

• Heat sink regulator cooling

• LED "on" indicator

• Printed Board Construction

• 120VAC Input

• Size: 3-1/2"w x 5 1/16"L x 2"H

iE2Uftdi.0mlPuwerSupplyKit(asshown). . $24.95

(Picture not shown but similar in construction to above)

JE200Reg. Power Supply Kit I5VDC, 1 amp) . . $14.95

JE205 Adapter Brd. (to JE200) ±5,±9 & ± 12V. $12.95

WJE210Var. Pwr. Sply. Kit, 5-15VDC,to1.5amp. $19.95

MICROPROCESSOR COMPONENTS

k G*n»*tor/Drl>

DPS2U

i NSC* 3INSKSOOPS251

DPtai

DP12»OPS3S7

DPIB9DPI27SDPI2MDPBMOOPS301□ PS 30*DPSJ07OPUOt

- 6800/6800 SUPPORT DEVICES -

mpu wlin Clock

MC6CS

MCM30UMCMHMCfcSUMCSSSD

MCUSOA

Quid l-SIIII Bui. Trjni.(MCITPS)

MICROPROCESSOR CHIPS —

zso (raoo cpu iukjuonj (2mhij

2S0A (7KM) CPU (MKMI0N-4)(*MH1,

:*w

MPU

IDMS01ADC CPU -«-BH Slice (Com. Temo.Gr*

MCS6502 MPU w/Cloch (6SK Bytei Memor

INSMJSN* MPU-S-BIt (6MHI)

IN5M1BN-* CPU-Sgl.Cnipl-BII[12SrjyiesRAI

INSSW0N-* CPU (SS BYlti RAM)

INSSOJON CPU-64 Bvl«I RAM

INS80I3N CPU w/OilIc Micro Interoreur

PSOSS CPU

INSHH

TMSWOQJl

MMMOHMMS03H

MMM6HMMS10H

MM50I3MMM16HMMWU*NMMMJSN

CPU-16-BHMPU-lfrBil

— SHIFT REGISTERS-OuilS-eil DyntmicOu»IS0-Bit DynamicDull IQO-ait Stinc

102l'Blt OynjmicHex 1J.QH StaticDual lU-BitStttiCSlI-Blt Dynamic1024.BlI DynamicDual 25SBII StaticDual ZSO-BII StaticDual NO ail StaticQuiOW-BU SialicFlfo [Dull K)

-DATAACQUISITION-

Touch Tone Low Pan FilterToucn Tone Low Pan FilterSup*r Gain Op Amo

LMUSZ Ta.

L.FJHN IF

t-FJSIN Sl<

LMW3H Tai

ADCD60*L.CM t-BOAC0M6LCNSB

DACIO0OL.CN

OACKOILCN

DAC10MLCN

OAC10ULCN

DAC1Z22LCN

COMB1N

AVJ-1113

DATA ACQUISITION (CONTINUED,-t-BIt A/0 Converter (l-Ch. Multl.)I-Blt A/O Converter [16-Cft. Multl.)JO BH O/A Conv. Micro. Comp. (0.06%), U.»10-Blt D/fl. Conv. Micro. Comp. (0.20*) S.9510-Blt D/A Converter (0.05% Lin.)10-Blt O/A Converter (0.20* Lin.)12-BltD/A Converter (0.20% Lin.)

1)01

1HJ

I02tx* Static 4Mni4 Stat

v Pow

1Q24»« Static 3»m Low Power16,384x1 Dynamic SMm (noutemer*H16NJ(UPD4]S) I6K Dynamic JSOni (MMSZWM): Dynamic 2Mmail lOnt

WMII4IJ

356N4

y Decooea

MM5»1MM5262

MMS2B0/21D; 4096x1 Dynamic

MMS2KN-2 [4116) 16K Dynamic I50ni (UPU4I6C-3)

MM5MSJ-3A SK Dyn.2O0m (lowers of MM5290J)

MM5IWNAA/N Controller OrlenleO Procanor

UPD4I4/MK4027 *K Dynamic li-pln

TMS4044-4SNL 4K Static

TMS4041 1024x4 Static

-PROMS/EPROMS-

BK EPROMli I6K EPROM [-SV. *',

el(2S16)TI I6K EPROM (Slnqleil(2S32)TI 32K EPROM

SK EPROM (4S0ni) [

12523(145 IBS)SIS 11582Slil( MSMI

S2S18S

BK PRQM

-ROM'S-

29.9S

2SI3|!140|

2il3'J021)

2S16N Character Generator ID.SS

MMS230N 2048-Bit Read Only Memory 1.9$

NMOS READ ONLY MEMORIES

MCMtGJlOP )2Sx9x? ASCII Snilteo w/Greek 11.50

MCM66740P 121x9x7 Main Symool i. Picturei 11.50

MCMG6I50P 121x9x7 Alpna. Control crtar. Gen. 13.50

MICROPROCESSOR MANUALS

- SPECIAL FUNCTION-

DS0O26CNINSW71N-IINSZSSIN

Com

AV.S-2176HO0165.5

mm

5 Clock Driver (5MZ)llic ControllerIcatlon cnlp

Microproceiior Compatible Clock

Microcontroller wllh 64-Dlgit RAMana Direct LED DriveMicrocontroller wltn 54-Dlglt RAMt Dlrecl LED Drive w/N Bun Int.H-Seg.VAC Fluor. Driver (20-pln pkg.)

CMOS Clock GeneratorKeyooara Encoder fit k*Vt]Keyooara Encoder (16 keys)Keyooara EncoHer (16 Meyi)

Keyboara Encoder (20 keyi)Puih Button Pulse Dialer96/144-Key Serial Keyboard En<

ELECTRONIC TOY MOTORS

Seurca

"""

Send

DflVCELL

I BSD

30

9,300

0 20

™

0.90

0.160

\ 30

57 0

097

.937 O.D. X1.201 Length

MABUCHI RE280 $.99 each . . .10/$7.50 . . .100/350.00

GLOBALSPECIALTIES

EXPERIMENTORSOCKETS

Model

Length

Width

Channel

S Tie Point

Bui

Strip*

Prio

EXP4B

6.0"

1,0"

rt/i

n/i

4(160)

S 4.TS

EXP300

6.0"

2.1"

.3"

9414701

2(80)

112.00

EXP325

..B"

2.1"

.3"

22(110)

2<2Q)

t 3.50

EXP35D

3.6"

2.1"

.3"

46(230)

2(40)

S 6.7S

EXPBOO

6.0"

M"

.6"

94(470)

2(B0)

£14.75

EXPB50

3.6"

2.4"

.6"

46(230)

2(40)

S 6.75

Quick TestSockets& Bus Strips

QT-S9B

nr-47s

0I41B

onss

OT-JSI

at usor-us

OTIS

$10.00 Min. Order - U.S. Funds OnlyCalif. Residents Add 6% Sales TaxPostage- Add 5% plus$1 Insure

Spec Sheets - 25tf

Sand 52rf Postage for your

FREE 1981 JAMECO CATALOG

■ ^i^HI;{>i:i[»|31

PHONE

ORDERS

WELCOME

(415) 5928097

MAIL ORDER ELECTRONICS - WORLDWIDE

1355 SHOREWAY ROAD, BELMONT, CA 94002

PRICES SUBJECT TO CHANGE

1-9

842-812

10-99

100

.351-9

.30362-81210-99

.25100

.391-9

.35473-86210-99

.30

100

,4 b

1-9

.39468-82610-99

.35100

.491-9

.45435-80210-99

.39100

POWER CORD SALE

AC and DC Wall Transformers

Ideal lor uu with ilockigimei. powtr uppliti oany othar typi of AC o

DC ipc liediLin

Part Mo.

Input

Output

Price

AC 250 117V/60H* 12 VAC 250mA ±3.95

AC 500 117W60Hz 12 VAC 500mA $4.95

AC1000 117V/60H* 12 VAC 1 amp $5.95

AC1 700 1 17V/60Hz 9 VAC 1.7 amp $6.95

DV 9200 117V/60H* 9 VDC 200mA $3.25

DC 900

120V/6QH;

9 VDC 500mA $3.95

CONNECTORS

DB25P D-SubminiBture Plug S2.9S

DB25S D-Subminiature Socket $3.50

DBS1226 Cover for DB25P/S $1.75

22/44SE P.C. Ed8e (22/44 Pinl $2.95

UG88/U BNC Plug $1.79

UG89/U BNC Jack $3.79

UG175/U UHF Adapter $ .49

S0239 UHF Panel Recp $1.29

PL258 UHF Adapter $1.60

PL259 UHF Plug $1.60

UG260/U BNC Plug $1.79

UG1094/U BNC Bulkhead Recp $1.29

TRS-8016K Conversion Kit

Expand your 4K TRS-80 System to 16K.Kit comes complete with:

*8 ea. MM5290 (UPD416/4116) 16K Dyn. Rams l*NS)

♦ Documentation for Conversion

TRS-16K2 -150NS $39.95

TRS-16K4 -250NS $29.95

JE610 ASCIIEncoded Keyboard Kit

The JE610 ASCII Keyboard Kit can be interfaced intomost any computer system. The kit comes completewith an Industrial grade keyboard switch assembly(62-keys), IC's, sockets, connector, electronic compo-nents and a double-sided printed wiring board. Thekeyboard assembly requires +5V @ 150mA and -12V@> 10 mA for operation. Features; 60 keys generate the126 characters, upper and lower case ASCII set. Fullybuffered. Two user-define keys provided for customapplications. Caps lock for upper-casB-only alpha charac-ters. Utilizes a 2376 (40-pln) encoder read-only memorychip. Outputs directly compatible with TTL/DTL orMOS logic arrays. Easy Interfacing with a 16-pin dip or18-pin edge connector. Size: 31V'H x 14K"W x 8M"D

JE610/DTE-AK igjMdgjovg ...$124.95

iccm t/:* 62-Key Keyboard, PC Board, a -,q qcJLblU l\it & Components (no case) !J> /y.yb

K62 62-Key Keyboard (Keyboard only) . . .$ 34.95

DTE-AK (case only-3V4"HxU,'Wx8V4,'D)$ 49.95

jWVrWi JE212 - Negative 12VDC Adapter Board KitTNEWI? for JE610 ASCII KEYBOARD KIT Kit/

t-vvw-H Provides-12VDCfrom IncomlngSVDC . . 19.95

JE600Hexadecimal Encoder Kit

FULL 8-BIT ^bL\

LATCHED OUTPUT ^B V^M \

19-KEY KEYBOARD ^^ * jKKJB \

The JE600 Encoder Keyboard Kit provides two separatehexadecimal digits produced from sequential key entriesto allow direct programming for 8-bit microprocessoror 8-bit memory circuits. Three additional keys ore pro-vided for user operations with one having a bistableoutput available, Tho outputs are latched and monitoredwith 9 LED readouts. Also Included Is a key entry strobe,Features: Full O-bit latched output for microprocessoruse. Three uter-define keys with one being bistableoperation. Debounce circuit provided for all 19 keys.9 LEO reedouts to verify entries. Easy Interfacing withstandard 16-pin IC connector. Only +5VDC requiredfor operation. Size: 3VH x 8'/i"W x 8K"D

JE6Q0/DTE-HK altS^%aT^% ....$99.95

ircnn vts. 19-Key Hexadec. Keyboard, d>cn nc

JE600 Kit pc Board tCmpnts. (no case). .$o9.9o

K19 19-Key Keyboard (Keyboard only) .... $14.95

DTE-HK (case only -3Vi,,HxBV."Wx8V."D) $44.95>

Circle 183 on inquiry card.

BYTE August 1981 473

WHAT'S NEW FROM CONSUMER COMPUTERS

Consumer Computers announces its lowest prices ever.

Apple Cards and Hardware

Language System w/Pascal 379

5llentype Printer w/lnterface 349

Mayes Micromodem II 299

novation Apple-Cat II 339

Videx videoterm 80 w/graphics 269

Z-80 Microsoft Card 269

16K Ram Card Microsoft 159

ABT humberic Keypad (old or new kybrd) 110

ALF 3 Voice Music Card 239

ALF 9 Voice Music Card 169

Heuristics Speechllnk 2000 249

Alpha 5yntaun Keyboard System 1399

Corvus 10MB Hard Disk , . CALL

Lazer Lower Case Plus 30

Mlcro-5ci Disk Drives (A-40& A-70) CALL

S5MA10 Serial/Parallel Card A&T 189

5up-R-Termlnal 80 Col. Card 329

5VA 8 Inch floppy Disk Controller-. 345

Versawrlteri Digitizer Pad 229

Diglsector Camera l/F 299

ThunderClock Plus . . CALL

Symtec Mi-Res Light Pen . . 210

Integer or Applesoft II Firmware Card 145

Graphics Tablet 619

Parallel Printer Interface Card 135

rll-Speed Serial Interface Card . .135

5marterm 80 Column Video Card 299

We have many more accessories in stock for the Apple IIPlease call toll free 800-854-6654 for a price list.

Mountain Computer, Inc.

Music 5ystem (16 voices)A/D + D/A InterfaceExpansion ChassisIntrol/x-lOCont. CardClock/Calendar Card5upertalker5D-200Romplu5+ CardRomwrlter Card

479289599169225. 239133149

CCS California Computer 5ystems

Clock/Calendar Module 99

GPIB IEEE-488 Card 249

Asynchronous Serial interface Card 129

Centronics Parallel Interface Card 99

Arithmetic Processor Card . 299

We carry all CCS hardware CALL

Apple II Entertainment Software

Raster Blaster 29

Allen Ram 23

Adventrue by Microsoft 2 7

Sargon II Chess . 52

Reversal 34

Pool 1.5 34

Creature Venture 23

Mi-Res Adventure #0 19

Mi Res Adventure »1 24

Mi-Res Adventure #2 32

ABM By MU5EZorkPulsar IIPhantom Five5pace Eggs5noggleFlight 5imulatorWarpfactor

3235.29.29.29243439

Olympic Decathalon ... 24

Prisoner

Alien Typhoon

Mlssle Defense

Autobahn

Operation Apocalypse

Interlude (A-rated)

Odyssey

Space Raiders

292429. 2955193029Cosmos Mission (Space Invaders) 24

TELEX 695-000AM5: BETAREF: CCMO

OPEM 7 DAYS

k

Apple II Plus Computer

Solution Software for the Apple II.

The versatile Apple Computer forhome or business. Unmatched inflexibility.

16K

$1025

48 K$1129

We carry the Apple IIICall for our price.

Save on Video displays.

Highlights of our fine line of videomonitors.

Amdek/Leedex Video 100 12 " B&W 139

Amdek(Hatachi) 13" Color 359

MEC 12" P31 Qreen Phospher CALL

MEC 12" ROB Mi-Res Color CALL

Panasonic 13" Color 449

Sanyo 9" B&W 159

Sanyo 12" B&W 239

Sanyo 12" P31 Qreen Phospher 279

Sanyo 13" Color 419

Happy Birthday Leslie!

Visicalc3-3

CCA Data Management

DB Master

Word 5tar (Apple 80 col. ver.)

Super Text II

Desktop Plan II

Applewrlter

Infotory

Landlord Apt. Mngmnt

Stock Tracker M&M

Easywrlter

ASCII Express . ...

Appleplot

BPI General Ledger

PFS

Apple Pie (specify version)

Super-Scribe

Data Factory

Peachtree Business

Applesoft Compiler

Visiterm

VlsltrendMslplot

Real Estate Analyzer

Tax Preparer

Request

D05 Toolkit

Tax Planner

Dow Jones Portfolio Evaluator

Dow Jones hews & Quotes Reporter

Apple Fortran

Apple Pilot

Controller gen. Bus. PackageThe Analyzer Dakln 5Music Theory

169

85

169

299

139

169

65

225

649

175

225

59

60

CALL

85

119

79

139

1200

185

129

219

89

89

199

65

99

45

85

165

129

519

519

45

CALL TOLL FREE

800-854-6654

\

AppleDisk Drives

WithController

WithoutController

$519$439

16K Ram Cards byConComp Industries

Atari 800 CardApple II Card .

89

130

Ohio ScientificChallenger computer.

MODII

Circle 90 on Inquiry card.

WHAT'S NEW FROM CONSUMER COMPUTERS

Buying Mail Order saves time, money and energy!

Atari Personal Computer

Now the personal computer offeringfrom the acknowledged leader invideo arcade technology . . . ATARI.

ATARI 800 16K

$749

Atari Accessories

410 Program Recorder 59

810 Disk Drive 449

815 Dual Disk Drive (Dbl Den) 1295

820 40 col. Impact Printer 549

822 Thermal Printer 349

825 80 col. Impact Printer (Cent. 737) 699

830 Acoustin Modem , .... 159

850 Interface Module 159

Atari Light Pen 65

16K Ram Memory Module 149

Atari Software

Missile Command 35

Asteroids 35

5pace Invaders 19

5tar Raiders 35

Sunday Golf 9

5tarTrek3 5 14

Sands of Mars 39

Microchess 19

Checker King 19

FastCranmon 19

rantasy and 2041 55

Family Expenses 24

Imperial Walker 29

Galactic Empire 19

Lunar Lander 14

Cypher Bowl 29

Star Warrior 39

Wizard and the Princess 32

Exidy Sorcerer II

Please Call for our price.

5-100 Unit

Word Prccesslng Pac

Development Pac

44917989

PMC-80 Micro Computer

$599

Printers, Etc.

Qume5print 5145

$2495

Anadex DP-9500/1 w/2K Buffer 1349

C. Hoh5tarwnter25CPS 1649

C. Itoh Starwriter 45 CP5 2249

Centronics 737 , 699

Epson MX-70 339

AVAILABLEHOW. . .

The I1ECMicrocomputer

Please call for more detailsTOLL-FREE ORDER LltlE

800-854-6654

Use your Mastercharge, Visa,American Express, Carte Blanche, orDiners Club card to charge yourorder by phone.

55M 5-100 Cardsat Lowest Prices Ever

The following is our fine line of 5-100cards. We will beat any currentlyadvertised price.

2-80 CPU CB-2

104 2 P + 25 I/O

VB-3 80x24 VIDEO

VB-3 80x48 VIDEO

BV-2 VIDEO

PB1 PROM PRC3MMR & EPROM BOARD

Kit

219189329369

159.139

Assm &Tested

279249379429

219199

CCS Calif. Comp. Systems

280 CPU 2810 n/a

64K Dynamic RAM card n/a

16K Static RAM 2 MH2 n/a

16K Static RAM 4 MFIz n/a

Dbl. Density Floppy Disc Controller n/a

12 Slot 5-100 Mainframe n/a

229499249269299349

EpsonMX-80

$499

Epson MX-80 F/T 649

EpsonMX-100 829

Paper Tiger ID5-445 729

Paper Tiger ID5-560 . 1450

Watanabe Diglplot 1149

Paper TigerIDS - 460

$1099

5ilentype w/appleInterface

$349

We carry much more than listed. Please call our toll freeorder line to request our complete price list.

How to Order

Ordering Information: Phone Orders invited using VI5A,MASTERCARD, AMERICAN EKPRE55, DIMER CLUB, CARTEBLANCHE, or bank wire transfer, Credit cards subject to ser-vice charge, 2% for account number (Include expirationdate), cashiers or certified check, money order, or personalcheck (allow 10 days to clear,) all funds must be in USdollars, Shipping, handling and insurance In US add 3%(minimum J4.00), California residents add 6% sales tax. Weaccept COD's OEM's. Institutions & Corporations pleasesend for written quotation All equipment is subject to pricechange and availability without notice. All equipment Is newand complete with manufacturer warranty (usually 90 days)Showroom prices may differ from mail order prices.

Send orders to:

G©rjD§DaDDD®Q'

Mail Order8314 Parkway DriveLa Mesa, California 92041

5ee Pages 164-165 for more discounts

Circle 90 on inquiry card.

Z-80 FORTH $50.00

Z-80 FORTH—a complete program development system. Full ftg-FORTH and FORTH-79 vocabularies, plus extensions for access toall CP/M* (unctions. Uses standard CP/M* compatible randomaccess dish files (or screen storage. Package includes: inter-preter/compiler with virtual memory management, line editor,screen editor, Z-80 Assembler, decompiler, utilities, demonstrationprograms, and 60 page user manual. System requirements: Z-SOmicrocomputer. 32 kbytes RAM. CPIM* 2.2 or MPIM 1.1. $50.00

280 FORTH WITH NAUTILUS SYSTEMS CROSS-COMPILER.

Extend/modify the FORTH runtime system, recompile on a hostcomputer lor a different target computer, generate headerlesscode, generate ROMable code with initialized variables. Supports(orward referencing to any word or label. Produces load map andlist of unresolved symbols. 107 page manual. System re-quirements as for Z-80 FORTH above. S200.00

Z-80 FORTH WITH FULL FLOATING POINT ARITHMETIC. Our

basic program developmeni system extended with a complete selof floating point operators and data manipulation primitives. In-cludes S-100 compatible hardware assist board incorporatingAMD 9511 arithmetic processor. 5500.00

MACHINE TEST PROGRAM PACKAGE lor Z-80 systems. Includesmemory, lloppy disk, printer, and terminal tests with all sourcecode. Requires CP'M* 2.2. $50.00

All software distributed on eight-inch soft sectored single densitydiskettes Prices include shipping by first class or UPS within USAor Canada. COD charges extra. Purchase orders accepted at ourdiscretion. (CP/M and MP/M are registered trademarks of DigitalResearch, Inc. Z-80 is a registered trademark of Zllog, Inc.)

Laboratory Microsystems

4147 Beethoven StreetLos Angeles, CA 90066

68KFORTH

New SYSTEMS LANGUAGE forERG 68-696 CPU andMotorola's KDM board. O/S,Compiler, Monitor, Assembler,Interpreter, Virtual Memory,Screen Editor, DBL PrecisionArithmetic and more.FORTH-79 Standard Vocabu-lary.

$795

Empirical Research Group, Inc.

PO Box 1176

Milton, WA 98354

206-631-4855

Analog and Power

Control I/O in a

Single Board Computer

MP

1th 2K I

6801

EROM, 128 RAM, timer. 8 12-bitanalog inputs, 8-bit analogoutput, 8 AC or DC inputs oroutputs, serial I/O, digital I/O,watchdog timer, power supply.

WINTER

Wlntek Corp.1801 South StreetLafayette. IN 47904317-742-6428

Circle 192 on Inquiry card.

Circle 163 on inquiry card.

Circle 402 on inquiry card.

MICRO-COMPUTER ,COMMUNICATORS, INC. MCZ

ANNOUNCES the introduction ol the ConsumerReferral Index lor the Micro-Computer Industry.We need additional vendors, now!The Consumer Referral Index can help maintainand enhance your current market penetration aswell as open previously undefined markets re-strained by budget limitations, lack of research,distribution and/or consumer awareness,MC^ is dedicated to bringing "know-how" ofMicro-Computer hardware, software and ser-vices to the general public through RESEARCH.ANALYSIS, AND REFFERAL.In addition to the Consumer Referral Index, MC?provides other services for consumers and ven-dors including the development of sales and in-structional aids (computer-aided and video).For more information contact:MICRO COMPUTERCOMMUNICATORS, INC. MC?10064 BorgmanHuntington Woods, Ml 480701-800-521-0334 Ext. 5071-800-482-4242 Ext. 507 (Mich, only)

'Applications for the Consumer Referral Index subject toreview.

DISCOUNT

PRICES

afcqppkz ii Pius

only!!

16K APPLE II

1059.00

32K APPLE II

1104.00

48K APPLE II

1149.00

DISK W/CONTROLLER

515.00

DISK ONLY

445.00

APPLE SOFTCARD

129.00

INTEGER CARD

129.00

PASCAL SYSTEM

395.00

SILENTYPE PRINTER

495.00

COMPUTER ACE

P.O. BOX 728

ADELPHI, MD 20783

(301)587-7459

UV EPROM ERASER

$19.95

ERASES ALL UV ERASABLE EPROMS

(2708, 2716, 2532, 2564, etc.)QUICK FIFTEEN MINUTE ERASE TIMEERASES OVER FIFTEEN EPROMS AT A TIMELAMP LIFE, 7700 HOURSTIMER AND SAFETY INTERLOCK SWITCH OPTION

DEALER-INQUIRIES INVITED •

QUV-TB 49.95

Shipping 2.50

COD charges 1,50Timer & Switch

option 20,00

Delivery app. 20 days

Send Check or COD order to:LOGICAL DEVICES, INC.

781 W. Oakland Park Blvd.

Ft. Lauderdale, Fla. 33311

(305)565-8103

Circle 295 on inquiry card.

Circle 414 on inquiry card.

Circle 200 on inquiry card.

MEMOREX

FLEXIBLE DISCS

WE WILL NOT BE UNDER-SOLD!! Call Free (800)235-4137

for prices and information. Dealerinquiries invited and C.O.D.'saccepted

PACIFICEXCHANGES

100 Foothill BlvdSan Luis Obispo,CA 93401 In Cal.call (800) 592-5935or (805) 543-1037

□ YES! Sign me up as a chartersubscriber. Enclosed is my$20.00 for 10 issues. ($24Co Canada. $30 elsewhere.)

D Not sure. Enclosed is $2 fora sample issue.

Name

Addr

City/St.

. Zip_

I ! i r-u

_n i

CODBOUT ELECTRONICS A 5 T BOARDSCPU 1 4Mb S221. CPU 8085/88 $319.

L FDR OURLiTy EDrhPoaEITTS

LUDER

CPM 80 w/Dl 135.

4HHz 9511 (8231) 235.Interfacer 3 (5) -167.CPM 86 w/Dl 235.

RAM 17 64K 1046.

DISK SYSTEM Call

Dislc 1 371

System Support 1 296Interfacer I or II 187Interfacer 3 (8) 547RAM 20 32K 10MHz 524RAM 17 48K 786

Enclosure 2 Desk 619. Enclosure 2 Rack 6TELEVIDEO 910 NEK 600. Televideo 920C 725.Televideo 950 975. Anpex Dialogue 80 975.

C.ITOH 25CPS. SW 1495. NEC 5510 S1V 2795.

EPSON MX80 par 473. MX80 FT par 645.

Q.T. SYSTEM+I 6 $5595. List is ar. exception-al Cost/Performance value Now only S3255.Mainframe*DD-3slt 599. MF+DD-12 slot 629.SBC 2/4 Ml; Z80A 265. Expandable* 11 64K 599.RAM 16 16K 4MHz 195. RAM 65 16K Bank 210.

SOFTWARE Registered Trademark of:

UORD STAR $300., Mailrcrge $125. Micro ProData Star 250., Supersort 195. Micro Pro■1AGIC HAND 30tt. PeachTree

Milestone or Date Book!] 250. Organic SoftwareAce.Rec,Acc.Pav,Cen.Led.Payrol1.Mail., 100ALL PRICES SUBJECT TO CHANGE,Min. Shipping$3.00, Outside USA $12. to airmail boardsCPM is a registered trademark of DigitalResearch, Z80 is a reg. trademark of Zilog

-pd aox qsi ^w»

'IFESTrhinSTER. CP, qstj'i^. »

■ -J1H Sh^S ITHt, "W

Circle 292 on inquiry card.

Circle 302 on inquiry card.

Circle 349 on inquiry card.

If your printer is usingmore of your computer's timethan you are...

you need the"Fast Spooler!9

A%

%■■■■■! Southern^55.' S ^pl 1 ilconi lucror. Inc.

ON

RESET

Remember the last time you waitedfor your printer to complete a printout soyou could get down to business with yourcomputer? Well now you can untie yourcomputer with Southern Semiconductor's"Fast Spooler". Large blocks of datacan be transmitted at high speed to the"Fast Spooler" so your computer isavailable for more important functions.Long printouts can be handled entirely bythe spooler — a real timesaver for wordand data processing.

!■ ■■■ 1 ■,

■■■ ■ Hi

iSourhgrn

Easy to interface, the "Fast Spooler"can be connected by either a RS-232serial interface or a Centronics parallelinterface. These interfacing capabilitiesprovide service for virtually any computerand printer.

With it's own power supply, cabinetand necessary software, the "FastSpooler" is a complete unit. So why keepwaiting. Visit your nearest SouthernSemiconductor dealer today or contact usfor complete details.

%5S.fil Semiconductor, Inc.

mmmim 6030 Uni1y Driva Suife ^ NorcrosS; Georgia 30071 (404) 449-6666

Circle 356 on inquiry card.

BYTE August 1981

477

Unclassified Ads

FOR SALE: (MSAI 8080; S560. Tarbell interface with twoPerSci 70 8-inch disk drives, case, and power supply; SI400.VDM-I; SI90. 16 K static programmable memory; $180. IM-SA! MIO; S100. Selectric I/O; S650. BYTE, Kilobaud Microcom-puting, and Interface Age; write for details. T Tai, I 15 Bonny Ln,Collegeville PA 19426.

FOR SALE: Digital Group Z80 dual Phi-Deck system with34 K memory. Godbout memory board can be expanded from16 K to 32 K. The system has a 64 by 16 display, BB-cab. andPhi-cab. A Sanyo 9-inch monitor and two keyboards are part ofthe package. A large amount of software is also included(Phimon, Hi-Phi. Business BASIC, Sargon, Super Games, etc).S1250. D Reavis. 4355 Morris St, Salt Lake City UT 841 19. (801J966-0065.

FOR SALE: 9-inch video monitors. No case, in factory car-ton. 100% prime tested, but never used. Green-phosphordisplay, requires composite video and 13 thru 16 VDC inputs.Schematic included. I can ship COD, but I will pay shipping ifyou send a money order for S60. Chris Kalmbach, 422 S FloridaAve. Joplin MO 64801.

FOR TRADE OR SALE: BYTE: Vol. 6. #4-1. Vol. 5, #12-3,Vol. 4, #8, Vol. 3, # I 1. 4. Walter Jeffries. RFD 1, Readfield ME04355.

WANTED: Apple II with 16 K. Must be in good to excellentcondition. Marc Lenburg, 14 Meadowbrook Dr, Hadley MA01035.

FOR SALE: Ohio Scientific C4P small-business computer. In-cludes 52 K, dual 8-inch floppy drives with 600,000 Kbytes ofstorage. OS-65D and OS-65U operating systems, full line ofrelated manuals, and monitor. All for S2500. UCSD Pascaldevelopment package available at S300 (includes FORTRANJ.John F Dutcher, RD I, Oxford NY 13830, (607) 843-9206.

FOR SALE: SOL-20/16 K programmable memory microcom-puter, 9-inch Sanyo monitor, Diablo Hy-Type tractor-feed letter-quality printer with keyboard, cassette recorder. Electric Pencil Iand II word-processing software, BASIC/5 software, debuggingtape, supplies, and manuals. Asking S400O. Pete Pennington,580 Gregory Ln. Devon PA 19333.

FOR SALE: Wave-Mate 6800 64 K computer, dual 8-inchfloppy-disk drives, and Infoton 80-column video display. In-cludes software: Dynamics editor, assembler, and BASIC com-piler. Asking S3000 or best offer. Will consider selling separate-ly. Scott Joslyn, 5411 EUardin St. Long Beach CA 90815, (213)597-1749.

FOR SALE: Seales 8 K memory board for SS-50 bus; SI00.SwTPC MP-A processor board less ICs; S20. Conrac 21-inchblack-and-white monitor; S25 (pick-up locally only). JoeDubner, 865 S Haskett St, Mountain Home ID 83647. (208)587-9383.

FOR SALE: Diablo Hy-Type l/Hy-Type II or IBM Selectricprinter interface. The input is Centronics-compatible (parallel).The unit is stand alone and has a 16 K FIFO print buffer. TedWarn, POB 526. Knightdale NC 27545. (919) 266-941 1.

FOR SALE: Quest Super ELF 1802 system in cabinet, 4 K ex-pansion board, monitor and Tiny BASIC read-only memory.power supply. RF modulator, ASCII keyboard, manuals,magazines, and tapes. S300. Richard Moffie, 20121 Leadwell St#3. Canoga Park CA 91306. (213) 341-6098.

FOR SALE: Nine female Pin D connectors; $1.50 each. Re-taining clips and mounting screws; S0.50/set of two each.Strain-relief cases for 15-pin D connectors; S3 each. 30-pin card-edge connectors, solder-eye, 0.156-inch spaces, gold-plated,bifurcated contacts; S2.50 each. Limited quantity, first come,first served. 10% for shipping and handling. Money order orcashier's check only. Kurt A Schultz, 115-1 Roxanne Ct, WalnutCreek CA 94596.

FOR SALE: Complete set of BYTE. Make offer on any or allissues. John Cowan, 6 13 Navarra Dr, Scotts Valley CA 95066.

WANTED: Our nonprofit college radio station desperatelyneeds the donation of a video terminal or Teletype. Working ornonworking is okay. We need the terminal fairly soon to securean I/O port on the new college computer. Your donation is fullytax deductible and will be acknowledged by a Swarthmore Col-lege receipt. Steve Podell, WSRN-FM, Swarthmore College,Swarthmore PA 19081. (2 15) 447-7340. May thru August: 90Terrace Ln. Moss Beach CA 94038. |415] 728-3248.

FOR SALE: Printer: 165 cps, excellent condition, variablecharacter size, double-width characters, graphics can be added,same mechanism as the IDS printers. Best offer. S Levme, 1802Melville St, Ocean NJ 07712, (201) 531-8305 after 6 PM.

FOR SALE: Apple Silentype printer. As new and complete.S450. Al Coombe, 807 Neal Dr, Gurley AL 35748, (205)776-2378 after 6 CT.

FOR SALE: S-IOO memory: SDS Expandoram II with 32 K of4 MHz memory. Bank select, expandable to 64 K. Certificateof performance by Jade. Novation CAT acoustic modem, near-ly new, RS-232C compatible. Guaranteed working. S350 andSI50. Nick Reiber, 1 1458 Benton St. Loma Linda CA 92354,(714) 825-7942.

WANTED: Daily stock prices on Pet cassettes. One cassetteper issue. Hi, lo, close, volume, date. 1960 to present. DonNyre, 305 LaJolla Dr. Newport Beach CA 92663.

FOR SALE OR SWAP: TRS-80 Model I with upper-case/lowercase modification in keyboard. Complete with 48 Kexpansion interface, RS-232C and modem, Percom drives, andCentronics 730 printer. Only one year old; selling to do majorhardware upgrade. Software; NEWDOS/80, Miller-FORTH andDatahandler, Pascal, FORTRAN, VisiCalc. Disk Ed/Asm.Stockpak, Scnpsit, etc. $5000 investment. Want S-l 00 or STDbus Z80 equipment with 8-inch drives. Alan Wilcox, POB 151,Archbald PA 18403, (717) 586-8515 before 9 PM.

FOR SALE: Televideo 920C terminal with second-pagememory option. Used for only three months and in mint condi-tion in its original shipping container. Will send UPS postagepaid to the first person submitting a S700 certified check ormoney order. G D Kaplan, POB 1462, Laguna Beach CA92652, (714) 499-2724.

WANTED: Poor student in need of any and all S-l00 (pre-ferred) computer boards, peripherals, software, and electroniccomponents. Need not work. Send list of equipment and price.Jonathan A Chandross. 14 Hunterdon Blvd. Murray Hill NJ07974.

FOR SALE: Brand-new unused Apple communication card.Best offer. R J Crafts, POB 262, Ocean Heights, Edgartown MA02539, (617) 627-4707 days, 627-8867 evenings.

FOR SALE: Digital Group computer. Factory wired, lessthan five hours running time. Z80A processor, 32 K static pro-grammable memory, keyboard, and dual Phi-Deck (earlyboard). Complete documentation, showroom condition. $700or best offer, FOB Los Angeles. J Zubrecky. 328-A Russell Ave,Monterey Park CA 91754. (213) 571-1554.

FOR SALE: Heath H-89 all-in-one microcomputer. Less thanten hours use, looks and works perfect. Single floppy-disk drive,48 K programmable memory, cassette interface, cassetteplayer, HDOS 2.0 disk operating system, and Extended BentonHarbor and Microsoft BASIC. Full documentation plusmiscellaneous software. S3000 value for S2000. Will shipanywhere. Thomas F Arnold, 6961 Island Rd, Clay NY 1 3041.(315) 699-5310.

FOR SALE: IMSAI MIO board and Processor Technology3P + S board. Assembled and tested with all IC sockets andguaranteed working. MIO contains one serial port, two parallelports, and a Tarbell cassette interface for S-100 bus systems.3P + S contains three parallel ports and one serial port for S-100bus systems. SI00 each plus shipping. Will ship COD. JohnDunning, 1 395 Mam St, Waltham MA 02154. (61 7] 899-7244days only.

FOR SALE: Heath H-l 1: 32 K, two serial and one parallelboards, two extra LSI-1 112 processor modules, extendedarithmetic chip, WH-27 factory-assembled floppy disk. DECVT100 video terminal, DEC LA36 DECwnter II Accelwriter (600bps) equipped. Heath computer desk, super software package,all accessories, many extras, running and ready to go. Will ac-cept any bona fide offer over S5000. Will separate. GregKrzyzowski, 5223 Main St. Downers Grove IL 60515. (312)963-0250 days. 964-4429 evenings.

FOR SALE: Apple II peripherals: Hayes Microcomputer Prod-ucts micromodem and Videx 80-column board. Free interfaceEPROM for modem; spare EPROMs and programmer for videoboard. Also. Mountain Hardware clock. Everything 1/3 off cur-rent price or trade for Apple Graphic Pad. James Leatham, RD2, Box 198, Chester NY 10918, (914) 469-4092.

FOR SALE: BYTE, complete set to present, in excellent condi-tion. SwTPC 6800 complete system, cassette-based with ter-minal. New RS/Centronics 779 in unopened box. Make offers.Min French. 8045 Alida St, La Mesa CA 92041.

WANTED: Bare pnnted-circuit board for D C Hayes 8-103Amodem. D Reinebeck. 899 Fairfield Rd. North Vancouver BritishColumbia, V7H 2J4 Canada, (604) 929-5759.

FOR SALE: Assembled and working Heathkit H-8 with 8 Kmemory. H-8-5 serial interface board, Extended BASIC andregular BASIC tapes, tape recorder, and manuals. $350 or bestoffer. Micro-Term serial keyboard; $350. Sanyo 9-inch monitor;S125. RF modulator |used with Apple computer); S20. Bill Lof-ton. 5840 Sun Valley Way, Sacramento CA 95823. (916)393-0154.

FOR TRADE: A Leslie Model 145 organ amplifier/speakerand preamplifier for a computer of comparable value. Like-newcondition. I will deliver within a 250-mile radius. Marlin Meier,801 -J Patterson Rd, Dayton OH 45419. (513) 299-7 1 56.

FOR SALE: APF Imagination Machine. Only two monthsold. Excellent condition. Paid S599, will sell for S450 or offer.Also, interested in buying used Apple II with 48 K. SteveGrabarczyk, 4921 W Midland Dr. Greenfield Wl 53219, (414)543-7989.

HELP: I have an INFO 2000 with TDL monitor and piggybackintelligent controller to PerSci drives. I lost the first EPROM onthe S-100 board. Need DUMP or will buy copy of the chip.Company no longer has the information. If anyone has asimilar system, please write or call collect. Edgar Alberding, POB382. Salem IN 47167, (812) 883-2644.

FOR SALE: Cromemco Z2 chassis. Cromemco ZPU, CentralData 64 K twin-port SIO programmable-memory card. IMSAItwin-port SIO, Morrow second disk controller, and two Shugart801 floppy drives. The above is up and running under CP/M1.4 with a Hazeltine 1500 terminal. S4200. Rick Pugsley, 1911W Callender, Peoria IL 61604. (309) 674-4343.

UNCLASSIFIED POLICY: Readers who are soliciting or giving advice, or who haveequipment to buy, sell or swap should send in a clearly typed notice to that effect. To beconsidered for publication, an advertisement must be clearly noncommercial, typed doublespaced on plain white paper, contain 75 words or less, and include complete name andaddress information.

These notices are free of charge and will be printed one time only on a space availablebasis. Notices can be accepted from individuals or bona fide computer users clubs only. Wecan engage in no correspondence on these and your confirmation of placement is ap-pearance in an issue of BYTE.

Please note that it may take three or four months for an ad to appear in the magazine.

478 August 1981 © BYTE Publications Inc

Reader Service

Inquiry No.

Page No.

1 AB COMPUTERS 443

2 ABM PRODUCTS 184

3 ACKERMAN DIGITAL SYS 189

• ACTION COMPUTER 143

4 ADAPTIVE DATA & ENERGY 127

5 ADROIT ELECTRONICS 446

6 ADV COMP PROD 458, 459

7 ADV MICRO SYS 256106 ADV TECHNOLOGY 450

8 ADVENTURE INT'L 351

• ALF PRODUCTS, INC 122

10 ALL ELECTRONICS CORP 446

11 ALLENBACH IND 76

12 ALLISON INDUSTRIES 244

13 ALPHA BYTE STORAGE 51360 ALPHA BYTE STORAGE 277

14 ALSPA COMP SYS 434

15 ALTOS COMP SYS 88, 89

16 AMER SMALL BUSINESS COMP 451

17 AMER COMP EXCH 442

18 AMER SQUARE COMP 211

19 ANCIE LABS 282

20 ANCRONA431

21 APPARAT INC 23

22 APPLE COMP INC 13

416 APPLE COMP 13

• APPLE COMP 182

417 ARISTO POLKS 198

24 ARTIFICAL INTL RESRCH 448

25 ASAP COMP PROD INC 280, 281415 ASAP COMP PROD INC 371

26 ASHTON-TATE 222, 223

27 ATARI PERSONAL COMP 303

28 AUSTRALIAN PERS COMP 212

29 AUTOCONTROL INC 434

30 AUTOCONTROL INC 434

31 AUTOMATED EQPTMNT 323

• AVOCET 160

32 B & B ELECTR 444

33 BASF SYSTEMS 291

• BELL, JOHN ENGR 441

• BETA COMP DEVICES 287

35 BISON PRODUCTS 439

36 BIT BUCKET, THE 363

37 BOWER-STEWART 180

38 BUSINESS OPERATING SYS 146

39 BUSINESS WEEK 285

• BYTE BOOKS 207

40 BYTE BOOKS 208

41 BYTE BOOKS 209

42 BYTE BOOKS 210

• BYTE BACK ISSUES 376

• BYTE SUB 362

• BYTE WATS 376

43 CALIF DATA CORP 448

44 CALIF DIGITAL 460, 461

45 CALIF COMP SYS 20

46 CALIF COMP SYS 21

47 CALIF SOFTWARE 268

48 CAMBRIDGE DEVEL LABS 357

49 CAMEO ELECTR INC 325294 CASEMAKER, THE 343

9 CCB MACHINE PROD 450

50 CDR 450

52 CHECKS-TOGO 166

53 CHIPS & DALE 444

54 CHRISLIN INDUSTRIES 275

55 CHRISLIN INDUSTRIES 295

56 CMC INT'L 115

57 CMS ENTERPRISES 264

59 COMPILER SYS INC 191

60 COMPONENTS EXPRESS 337

61 COMPU/TIME 333

62 COMPUMART 136, 137

63 COMPUSERVE 235414 COMPUTER ACE 476

65 COMPUTER AGE 290

66 COMPUTER AID 444

67 COMPUTER AID 444

68 COMPUTER CASE CO 338

69 COMPUTER CROSSROADS 351263 COMP DISC OF AM 318

70 COMPUTER EXCHANGE 253

• COMPUTER FACTORY 92, 93

71 COMPUTER FURN & ACCSS 302

72 COMPUTER MAGIC 450

73 COMPUTER MAIL ORDER 283

51 COMP PER UNLTD 353

74 COMPUTER PLUS 446

75 COMPUTER SHOPPER 43486 COMPUTER SOCIETY 480

76 COMPUTER SPCLTIES 84, 85

77 COMPUTER STOP, THE 435

Inquiry No.

Page No.

• COMPUTER WRHSE 99

79 COMPUTERS ETC 202

80 COMPUTERS ETC 286

81 COMPUTERS ETC 383

82 COMPUTERS WHOLESALE 252

83 COMPUTERWARE 353

84 COMPUTEX CORP 30

85 COMPUVIEW PROD INC 65

87 CONCOMP IND 236

88 CONCORD COMP PROD 327

89 CONSUMER COMP 164, 165

90 CONSUMER COMP 474, 475

92 COVER CRAFT 176

93 CPU SHOP, THE 429

207 CREATIVE DISC SFTW 349

94 CREATIVE SFTW DEV 442

95 CREATIVE SOFTWARE 380

96 CROMEMC0 1.2

97 CYBERNETICS INC 361

98 D & W DIGITAL 67

99 DAKIN 5 CORP 337

293 DATA DISCOUNT CTR 250

101 DATA-ED 95

102 DATASOFT 330

103 DATASOUTH COMP CORP 34

104 DATASOUTH COMP CORP 159

• DATRICON CORP 194

107 DELTA PRODUCTS 297

78 DENVER SFTW CO, THE 75

108 DESIGNER SOFTWARE 31

• DFS COMP FORMS 326

109 DIGATEK CORP 444

110 DIGIAC CORP 359

111 DIGICOMP RESRCH CORP 381

112 DIGITAL DATA SYS 434378 DIGITAL ELEC SYS 320

113 DIGITAL GRAPHIC SYS 100

114 DIGITAL MARKETING 6

115 DIGITAL MARKETING 125

116 DIGITAL RESEARCH 247

117 DIGITAL RESEARCH COMP 445

118 DILITHIUM PRESS 238

119 DISC/3 MART INC 345

120 DISCOUNT SFTW GRP, THE 186188 DJ "AI"SYS LTD 196

121 DMA 276

122 DUAL SYS CONTROL CORP 139

123 DYMARC IND 96

124 DYNABYTE BUSN COMP C III

125 DYNACOMP 204, 205

126 EAST COAST COM P 442

127 ECOSOFT349

128 ELECTROLABS 436

129 ELECTRONIC CONTROL 104

130 ELECTRONIC SPCLISTS 333

131 ELECTRONIC SYS FURN 373

132 ELECTRONICS CENTER 296

• ELECTROVALUE 480

133 ELLIS COMPUTING 274

162 EMPIRICAL RESRCH GRP 444

163 EMPIRICAL RESRCH GRP 476

134 EPSON AMERICA 301

135 EXATRON INC 193

136 EXATRON INC 231

• EXECUTIVE SYS INC 153

137 EXPOTEK 54

• FAIRCOM 314

138 FARNSWORTH COMP CTR 331

139 FEITH SOFTWARE 446

140 FORETHOUGHT PRODUCTS 345

141 FREDERICK COMP PROD 228

142 FRYE ELECTR 440

143 G R ELECTRONICS 352

144 GIDDINGS & LEWIS 71

145 GIMIX INC 128

146 GIMIX INC 444

147 GODBOUT ELECTR 299

148 GORDON, MARK COMPS 384

149 H & ECOMPUTRONICS215

150 H & ECOMPUTRONICS217

151 HANLEY ENGNRING437

152 HAPPY HANDS 308

153 HAYDEN BOOK CO INC 315

154 HAYES MICROCOMP PROD 135

155 HAYES MICROCOMP PROD 199314 HAYES MICROCOMP PROD 354

• HEATH COMPANY 16, 17, 185

158 HIGH TECHNOLOGY INC 10

159 HOBBY ROBOTICS 361

160 HOUSTON INSTRUMENTS 206

161 I/O TECHNOLOGY 254

164 IMS INTERNATIONAL 55

165 INFOSCRIBE103

Inquiry No.

Page No.

166 INFOSOFT SYSTEMS INC 272

167 INMAC 355

168 INNOVATIVE PROD 147

169 INNOVATIVE SFTW APPL 382

170 INSOFTCORP53

171 INTEC170

172 INTEGRAL DATA SYS 145

173 INTEGRAND 347

174 INTEGRATED BUSN COMP 372

177 INTERTEC DATA SYS 73

178 INTROL CORP 448

179 IPEX INT'L 448

180 ITHACA INTERSYSTEMS 8, 9

181 JADE COMP PROD 465

182 JADE COMP PROD 466, 467

183 JAMECO ELECTR 472, 473

184 JDR MICRODEVICES 454, 455

411 JIM-PAK427

185 JMCA SOFTWARE 442

186 JWS ENGINEERING 440418 KADAK PRODUCTS 320

187 KERN PUBLISHING 292

190 KRAMER SYS INT'L 356

191 KV 33 434

192 LABORATORY MICROSYS 476

217 LARKS ELECTR 448

194 LEAPAC SERVICES 355

195 LEAPAC SERVICES 450

196 LEO ELECTRONICS 258

197 LIFEBOAT ASSOC 203

409 LIFEBOAT ASSOC 221

410 LIFEBOAT ASSOC 307

198 LNW RESEARCH 243

199 LO-BALL COMPUTERS 218

200 LOGICAL DEVICES 476

201 LOMAS DATA PRODUCTS 270

202 LYBEN COMP SYS 450

203 MACROTRONICS 434

204 MACROTRONICS 442

205 MAGNOLIA MICROSYS 448

206 MALIBU ELECTR CORP 16134 MANNESMANN TALLY 377

208 MARATHON COMP SYS 341

209 MARKETLINE SYS INC 310

207 MAROT SFTWRE 225

210 MARTEC 352

• MARTIN MARIETTA CORP 313

211 MARYMAC INDUSTRIES 343

212 MAXELL DATA PRODUCTS 305

• MCGRAW-HILL BOOK 12 PGMETRO INSERT—TO APPEARIN BOSTON METRO ONLY80,81

213 ME AS SYS & CONTROLS 28, 29

214 MEMOREX MEDIA PROD 169

215 MEMORY MERCHANT 27

216 MENTOR SOFTWARE 440

218 META TECHNOLOGIES 420

219 MICRO AGE COMP STORE 150,151

222 MICRO BUSINESS WORLD 341

223 MICRO BUSN ASSOC 329

224 MICRO COM 229

295 MICRO COMP COMM 476

• MICRO COMP DISC CO 375

225 MICRO DATA BASE SYS 101189 MICRO FOCUS 57

228 MICRO HOUSE 316, 317

229 MICRO METRIC 448227 MICRO MINT 335, 480

230 MICRO PRO INT'L 68, 69

231 MICRO SCI 25

232 MICRO WORKS, THE 294

233 MICROACE 359

234 MICROCOMP TECH INC 123

235 MICROCOMPUTER APP 56

236 MICROCRAFT SYS 345

237 MICRODASYS 201

238 MICROMAIL214

239 MICROMATE ELECTR INC 351

240 MICROSOFT (CPD) 111

241 MICROTECH EXPORTS 86

242 MICROWARE112

243 MIDWST COMP PERPH 350

244 MIKOS 438

245 MILLER MICROCOMP SERV 158

246 MINI COMP SUPPLIERS 350

247 MINI MICRO MART 462

248 MINI MICRO MART 192

249 MINI MICRO MART 463

250 MINI MICRO MART 464

412 MINITMAN PRINTING 390

251 MIN MICROCOMP SFTW 81

To get further information on the products advertising in BYTE, fill out the reader service card withyour name and address. Then circle the appropriate numbers for the advertisers you select from thelist. Add an 18<ent stamp to the card, then drop it in the mail. Not only do you gain information, butour advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a big-ger BYTE. The index is provided as an additional service by the publisher, who assumes no liability forerrors or omissions. 'Correspond directly with company.

Inquiry No.

Page No.

220 MIRO COMPUTERS 343

252 MORROW DESIGNS 77

253 MORROW DESIGNS 79

254 MOSTEK CORP 179

255 MOUNTAIN COMPUTER 19

256 MOUNTAIN DISTR 232

257 MOUNTAIN VIEW PRESS 309

258 MPI 239

259 MRD SYS INC 440

260 MSI DATA CORP 22

261 MTIINC216

262 MULLEN COMP PROD 342

264 NAT'L DATA SUPPLIES 440

265 NATIONAL TRICOR 248

266 NEBS 98

267 NEC AMERICA 175

268 NEEC0 219

• NETRONICS 152, 154, 324

269 NORSEA DATA CORP 91

407 NORTH AMER TECH 26

408 NORTH AMER TECH 62

270 NOVELL DATA SYS 241

• OASIS SYSTEMS 298

273 OHIO SCIENTIFIC INSTR C IV

274 OLIVER ADVANCED ENGIN 434

275 OLYMPIC SALES 355

276 OMEGA MICRO COMPUTER 306

277 OMEGA SALES 262, 263

278 OMIKRON 63

279 OMNI RESOURCES 109

280 OMNITEC DATA 171

281 OPTIMIZED SFTW 357

282 ORANGE MICRO 116

283 ORANGE MICRO 117

284 ORANGE MICRO 141

285 ORION INSTRUMENTS 440

286 ORTHOCODE GROUP 234

287 OSBORNE COMPUTERS 33

288 OSBORNE WILSON LABS 334

289 OSBORNE/MCGRAW-HILL 187' OWENS ASSOC 288, 289

290 PACIFIC COMP BRK 246

291 PACIFIC DISC SFTW 446

292 PACIFIC EXCHANGES 237, 434,444,476

296 PAGE DIGITAL 452, 453

297 PALOMAR COMP EQUIP 261

• PAN AM WORLD AIRWAYS 130,131

298 PAN AMERICAN ELEC INC 72

299 PAN AMERICAN ELEC INC 436

300 PAPER TRACTOR 335

301 PASSWORD DISTR 442

302 PC NEWSLETTER 476

303 PCD SYSTEMS INC 32

304 PEACHTREE SOFTWARE 174

305 PERCOM DATA 7

306 PERCOM DATA 15

307 PERCOM DATA 15

308 PERSONAL COMPUTERS 304

309 PHASE ONE SYS INC 265

310 PICKLES & TROUT 94

311 POLYLINE CORP 440

• POPULAR COMPUTING 273

312 POWER ONE INC 87

313 PRACTICAL MGMNT SYS 440

315 PRIORITY ONE 468, 469

316 PRIORITY ONE 470, 471

317 PRIVATE IND COUNCIL 284

318 PROF COMP STORE 446

319 PURCHASING AGENT, THE 172

320 QUALITY COMP PARTS 312

321 QUALITY COMP PARTS 446

322 QUALITY SOFTWARE 110

323 QUALITY SOFTWARE 328

324 QUASAR DATA PROD INC 257

325 QUAY CORP 319

327 QUEST ELECTR 449

328 R K S ENTERPRISES INC 333

329 RC ELECTRONICS 331

330 RR SOFTWARE 361

331 RACET COMPUTES 363

332 RADIO SHACK ASSOC CTR 339

333 RADIO SHACK-GLNW SPR 335

326 RADIX INC 450

334 RCA 64

335 RCA SOLID STATE 113

336 ROBOTICS AGE 49

337 RUSSO, M 440

• S-100INC279272 S C DIGITAL 354

338 SCIENTIFIC ENGRG LABS 363

339 SCION CORP 5

340 SCITRONICS 242

• SCOTTSDALE SYSTEMS 80

341 SCR ELECTR 442

342 SEATTLE COMP PRODS 255

343 SECURED COMP SYS 442

344 SELECT INFO SYS 213

345 SIERRA DATA SCIENCES 379

346 SIERRA DATA SCIENCES 385

347 SINGER CO 249

348 SKP ELECTRONICS 442

349 SLUDER476

350 SOFT-TOOLS 341

August 1981 © BYTE Publications Inc 479

Reader Service,

Inquiry No.

Page No.

352 SOFTECH M1CROSYS 269351 SOFTWARE HOWS 162

353 SOHO GROUP, THE 349

• SOLID STATE SALES 156

354 SORCIM 78

355 SORRENTO VALLEY ASSOC 337413 SOURCE TELECOMPUTING

CORP AM 396, 397

356 SOUTHERN SEMICNDTRS 477

357 SOUTHWEST TECH PROD C II

• SPECIALIZED BUSN SYS 347

358 SPECTRUM SOFTWARE 267

359 SSM MICRO COMP PROD 11

• STATCOM INC 97

361 STREET ELECTR CORP 336

362 STRUCTURED SYS GRP 35

363 SUBLOGIC259

Inquiry No.

Page No.

364 SUNNY INTL 438

365 SUPER STAR INT'L 233

• SUPERSOFT 83, 163, 197, 220,329 353

366 SURVEYORS SUPPLY CO 358

367 SYBEX59

• SYNCHRO SOUND 368389 SYNERTEK SYSTEMS 173

370 SYS INTERFACE CONS 70

371 SYSTEMS PLUS 195

372 SZ SOFTWARE SYSTEMS 450

375 TARBELL ELECTR 311

376 TARCO DEVELPMT CORP 339

377 TEAM ELECTR 331

226 TECHNICAL MICRO SYS 448

• TECHNICAL SYS CONS 183379 TECMARINC227

Inquiry No.

Page No.

380 TEIINC61

381 TEI INC 177

382 TERMINAL DATA SYS 450

383 TERRAPIN INC 329

384 TEXAS COMP SYS 367

• THUNDERWARE 245

385 TINY-C 82

386 TNW CORP 347

387 TRANSNET CORP 357

388 TRANSWAVE CORP 10523 TRINITY GROUP 448

389 US MICRO SALES 321

390 US MICRO SALES 456, 457

391 US ROBOTICS 271

• UNITED SFTW OF AM 157

392 VAN HORN OFFICE SUPP 359420 VANDATA251

Inquiry No.

Page No.

393394395396397398399400

401402403404405406

VECTOR GRAPHICS 121VERTICAL DATA SYS INC 149VIDEO MARKETING 446VIDEX 181

VISTA COMPUTER CO 119VOTRAX 167

WASHINGTON COMP SERV 433WESTERN BUSN ASSOC 266WESTICO INC 107, 446WHITESMITHS LTD 133WILD HARE COMP SYS 155WINTEK CORP 476WINTERHALTER & ASSOC 339WW COMPONENT SUPPLY 447X COMP 293

ZENRAD CONTROLS 444ZOBEX 129

BOMB

Dnaoina Moni

tor Box

Author|s|

BYTE

S(

Article #

Page

Article

I

14

Introducing the Smalltalk-80 System

Goldberg

2

36

The Smalltalk-80 System

XeroxLearningResearchGroup

3

50

Build a Z8-Based Control Computer

with BASIC, Part 2

Ciarcia

4

74

Object-Oriented Software Systems

Robson

5

90

The Smalltalk Environment

Tesler

6

147

User-Oriented Descriptions of Smalltalk

Systems

Reenskaug

7

168

The Smalltalk Graphics Kernel

Ingalls

8

200

The Japanese Computer Invasion

Miastkowski

9

230

Building Data Structures in the

Smalltalk-80 System

Althoff

10

286

Design Principles Behind Smalltalk

Ingalls

1!

300

The Smalltalk-80 Virtual Machine

Krasner

12

322

Building Control Structures in the

Smalltalk-80 System

Deutsch

13

348

Is the Smalltalk-80 System for Children?

Goldberg andRoss

14

369

ToolBox: A Smalltalk Illustration System

Bowman andFlegal

15

378

Virtual Memory for an Object-Oriented

Language

Kaehler

16

398

Microsoft Editor/Assembler Plus

Carlson

17

401

BOSS: A Debugging Utility for the

TRS-80 Model 1

Mitchell

May BOMB Results:Printers Top List

By one of the largest margins inBOMB'S history, Kevin Cohan'sarticle "The Epson MX-80 andMX-70 Printers" swept first place inthe May contest. The SI00 firstprize will be donated to charity inKevin's name. (Kevin Cohan, atechnical editor at BYTE, was killedin an automobile accident April22.)

Steve Ciarcia's "DC Motor Con-trols: Build a Motorized Platform"captured second place and the S50prize. Third place went to senioreditor Gregg Williams for his article"The Commodore VIC 20 Micro-computer: A Low-Cost, High-Performance Consumer Com-puter," and fourth place went totechnical editor Stan Miastkowskifor his article "Extended ColorBASIC for the TRS-80 Color Com-puter."

POPULAR BASIC LISTINGS

Back after overwhelming response to introductoryoffer in the March BYTE

O LAS VEGAS BINGO PINBALL $ 5

(game card simulation)

Highly Acclaimed- Challenging-

Habit Forming

some people play it all night

□ THE BATTLE FOR GAMMA OMICRONOUTPOST #1 $ 3(Challenging space war game)

□ BOTH LISTINGS $ 6

D BLANK DISKETTES $ 4

state size and sectoring or machineWe sell in single quantities. Noneed to purchase more than you want.

THE COMPUTER SOCIETY

(& company)P.O. Box 1056WASHINGTON PARK, IL. 62204

Add $1.50 shipping and handling. III.residents add sales tax. Credit cardcustomers include card numberand expiration date.

9 TRACK TAPE DRIVES

800 BPI

Hje\

$2400

45 IPS

[u ^_y

NEW IN

FULL MANUAL

Us

ORIGINAL

$4850 VALUE

BOXES

PERTEC Model 8840A-9-45

INDUSTRY STANDARD INTERFACE

CAPABLE OF IND. STD. ANSI-IBM DATA FORMAT

■ BARGAIN PRICED MINI-COMPUTER UPGRADE. OEM Liil S4850

A large OEM overstock makes these industry standard drives available ata traction ol their current tist price Full sue drives handle up lo 10.5 inchreels of standard inexpensive 1/2 inert mag tape 19 inch rack mount oruse right out ol the box on steel shipping Irame

SPECIFICATION SUMMARY: 9-track. BOO BPI. dual head (read alterwrite). 45 IPS read/wiile. 200 IPS rewind. BOT/EOT sensing. 110VAC/60-Hi, solid state, recent manufacture, all I/O signals TTL/DTLcompatible, tension arm lape buffering, full control panel. Call or wnle lorlull set of technical specifications

INTERFACES: Eleclrovalue encourages the development ol interfaces topopular systems. Interlaces exist for popular minis and ore beingdeveloped for several hobby computers It you'd like to develop anddocument an interface to a popular small system call to discussdiscounts

ELECTROVALUE INDUSTRIAL INC.

P O BOX 157-a

MORRIS PLAINS. NJ 07950

201/267-1117

"frcAcwcsooi

SPEECH SYNTHESIZER

"PoAax

$70 Ea.Immediatei-Hlfm+41 Delivery.Order in Ones or Thousands

The SC-01 Speech Synthesizer is a completely sell-contained solid state device. This single chipphonetically synthesizes continuous speech, olunlimited vocabulary.

The SC-01 contains 64 diflerent phonemes whichare accessed by a 6-bit code. It is the proper se-quential combination ol these phoneme codes thatcreates continuous speech.voirax is a trademark ot Federal Screw Works

Call 1-800-645-3479, in N.Y. 1-516-374-6793

The MicroMint Inc.917 MidwayWoodmere, NY 11598 A

Circle 86 on Inquiry card.

Circle 227 on inquiry card.

The Dynabyte Difference: Unequalled price/performance

with total expandability.

Buying the powerfulDynabyte 5615 isn't only smart,

it's cost efficient.

The 5615 is the sure way to get the systemyou need. With more power for the price. Youcan select memory to 400 KB on our S-100bus architecture. Choose from 3 sizes ofWinchesters to 45 MB and have diskette back-up to your system also. If it's tape back-up youneed, then choose our 5700. If you need lessstorage, our 514" floppy 5200, our 8" floppy5300 or our 5400 system using both floppies,with up to 3.6 MB capacity, can be yours.

The 5615 system is available with eithersingle user CP/M or our enhanced MP/M formulti-user applications. Our MP/M operatingsystem supports up to eight terminals, with aseparate or shared spooler, and up to sixteenprinters with no required partition space. Addto this multi-tasking, bank switching, recordlockout, type-ahead and DMA and you havean MP/M operating system that supports a

host of existing languages and meets minicomputer standards.

No multi-user applications library is so responsive to your needs. The 5615 features Business

Manager,™ the fully integrated, menu-driven, well documented, easy to install accounting system

that gives you file/record protection, HELP commands, multi-level security, keyed data access,

internal disk management, available source code and more.

System expandability, power and price/performance are further enhanced by on-hand avail-ability, quantity discounts, 180-day warranty and a national WATS line for support.

Whether you use or sell computer systems, you should ask about the microcomputer that

puts minicomputer capability in your hands. That's

the 5615. That's the Dynabyte Difference. Call

Mike Seashols,V P Marketing (800) 227-8300.

In California (415) 329-8021. Dynabyte,

115 Independence Drive, Menlo Park,

California 94025.

DunanuTE

Business Computers

Business Manager is a registered trademark of Dynabyte. CP/M and MP/M are registered trademarks of Digital Research Corp.

Circle 124 on inquiry card.

"It's beautiful what your bucks will buy

from Ohio Scientific."

Ohio Scientific was first to add Winchester hard disk drives tomicrocomputers.This advanced technology allows low cost micro-computers to store over 100 times as much information on lineas they could before.

"Our Challenger C3-B has been running almost 24 hours a day forthe last 18 months keeping track of countless details of our business.The Challenger's real time clock allows repetitive jobs to be scheduledmonths in advance, and runs them without operator intervention whenthe time comes. For example, every morning at 3 AM our Challengerknows it is time to update all the day's accounting records includingthe P&L, General Ledger, and Payables. It knows when it is time to filea tax return, and it makes out the quarterly reports. When it is^through with all of this, it writes the checks. Periodically it doesa comprehensive advertising analysis and updates any otherfiles that are necessary."

"Our Challenger gives us more control

of scrap from our blown film extrusion

operation. By putting shift reports

through the computer, we spot waste

immediately. Whether the problem

^ is the extruder or the operator

t's corrected fast. Wasted

material is wasted money!'

Wayne Johnson, Controller, WyardIndustries, Cambridge, Minnesota

Ohio Scientific hard disk basedmicrocomputers start at less than$10,000. And are sold by more than 400dealers nationwide. For the one nearestyou, call 1-800-321-6850, TOLL FREE.

Circle 273 on inquiry card.

a /tyftw A Company

1333 SOUTH CHILLICOTHE ROADAURORA, OH 44202 • [216] 831 -5600