Skip to main content

Full text of "Byte Magazine Volume 11 Number 05: Mass Storage"

See other formats


r. 



MAY 1986 VOL.11, NO. 5 



$3.50 IN UNITED STATES^ 

$4.25 IN CANADA 7 £2,10 IN U.K. 

A MCGRAW-HILL PUBLICATION 

0360-5280 



THE SMALL SYSTEMS JOURNAL® 




A single company has revolutionized 

the business of language, the language of business, 

and created the exciting new world of electronic 

reference works-Borland! 



Which isn't bad for a 3-year-oli 
Turbo Pascal,® our first product, 
now has more than half a million 
users, and has become a world- 
wide standard. And that was just 
the beginning. 

Since then, the Turbo Pascal 
family has grown to a family of 9, 
and today we're announcing our 
second language, Turbo Prolog," the 
natural language of Artificial 
Intelligence. 

We've also introduced amazing 
business productivity tools like 
SideKick,® Traveling SideKick," 
Reflex, The Analyst,'" and 
SuperKey.® 

We broke new ground in 1986 
with Turbo Lightning.'" It includes 
the Random House® dictionary and 
thesaurus. Turbo Lightning Is the 
forerunner of a complete electronic 
reference library, newly joined by 
the Word Wizard,"' which solves the 
unsolvable twists, and boggles and 
challenges your mind. Word Wizard 



0ft 




includes Turbo 

Pascal source code 

so you can figure out 

how the Turbo Lightr 

ning access system works. m 

And here is a brief 
synopsis of current offerings from 
the Borland library of histoiy- 
making software . . . 

Turbo Pascal" 3.0 

The fastest Pascal compiler, 
plus an integrated pro- 
gramming environment. 
Includes a free MicroCalc'" 
spreadsheet, and 1,200 lines 
of annotated source code, 
ready to compile and run. 
Minimum memory: 128K. 



Turbo Tutor* 

Takes you from basic right 
through advanced program- 
ming concepts and techniques. 
Includes 300-page tutorial and 
source code for every example 
used in the reference manual. 
Minimum memory: 128K. 

Turbo Graphix Toolbox" 

Lets you create high-res- 
olution graphics. Includes 
tools for complex business 
graphics, easy windowing, 
and storing screen images to 
memory. Complete with source 
code on disk, ready to compile. 
Minimum memory: 128K. 

Turbo Database Toolbox" 

Perfect complement to Turbo 
Pascal. Contains complete 
libraiy of Pascal procedures 
that allows you to search and 
sort data and build powerful, 
database applications. 
Minimum memory: 128K. 



Turbo Editor Toolbox " 

It's all you need to build your 
own text editor or word 
processor. Provides all the 
routines— you decide which 
features you want. Source code 
included. Also includes the 
MicroStar™ text editor with pull- 
down menus and windowing. 
Interfaces directly with Turbo 
Lightning to let you spell-check 
your MicroStar files. Minimum 
memory: 192K. 

Turbo GameWorks'" ^ 

Reveals the secrets and 
strategies of game theory. 
Includes source code so you 
can write your own games. 
Gives you ready-to-play Chess, 
Bridge, and Go-Moku, an 
ancient Japanese game that 
will provide hours of fascinating 
diversion. Even if you don't 
want to write your own games, 
it's a terrific value. Minimum 
memory: 192K. 




0ft 

Turbo Prolog" 

The natural lan- 
guage of Artificial 
Intelligence, Turbo 
Prolog is our second 
language and the 
latest product In the 
Borland software libraiy. Turbo 
Prolog Is a fifth-generation language, 
and probably the most powerful pro- 
gramming language ever conceived. 
Includes a 200-page reference man- 
ual and free GeoBase,"' a natural 
queiy language database with 
commented source code on disk, 
ready to compile. It's all you need to 
know about Artificial Intelligence at 
a HumanJy Intelligent price. 
Minimum memoiy: 384K. 

Turbo Lightning" 

An electronic 
reference libraiy 
which Includes 
the 80,000 -word 
Random House 
Concise Dlctionaiy 
and the 50,000-word Random House 
Thesaurus. Checks your spelling 
as you type. Gives you instant 
synonyms. Leads the revolutionary 
way In electronic publishing. 
Minimum memory: 256K. 



-0ft-- 





Word Wizard" 

Intriguing new 
addition to the 
Turbo Lightning 
Libraiy." Solves 
unsolvable 
crosswords, and 
challenges your word skills and 
ability to break codes and ciphers. 
Scrambles, twists, turns, and boggles 
your mind. Includes Turbo Pascal 
source code and all the technical 
Information you'll need to figure out 
the "nuts and bolts" of the Turbo 
Lightning access system. Minimum 
memoiy: 256K. 

SuperKey* 

Amazing keyboard 
enhancer for your .1 
IBM PC. With easy- <k 
to-wrlte macros that 
can turn 1,000 
keystrokes Intnl. 
Also Includes powerful enciyption 
technology that keeps confiden- 
tial files confidential; locks your 
keyboard with secret password 
protection. (Because of enciyption 
technology, SuperKey is under a US 
Government export ban.) Minimum 
memoiy: 128K. 





SideKick* 

Powerful desktop 
management 
I program. # 1 besv 
| seller for the IBM® 
i PC. Includes 
1 notepad, calculator, 
appointment scheduler, telephone 
dlrectoiy and autodlaler, and ASCII 
table. RAM-resident, it's always there 
to help, and stays In the background 
while you run other programs. One 
keystroke activates it Minimum 
memoiy: 128K. 

m_ , 0ft 

Traveling l 
SideKick" 

BlnderWare® that 
Includes an organ- 
izer, a binder, a 
^i jjgjl software program, 
||^ and a report gen- 
'W* erator that picks 
your SldeKick's electronic brain, 
then prints out your appointments, 
dally/weekly/monthly/yearly cal- 
endar, phone lists, mailing labels, or 
whatever else you need when you're 
away from your desk. It's the smart 
new way to take your computer with 
you without taking your computer 
with you. Minimum memoiy: 256K. 





Reflex, 
The Analyst* 

Unique, easy-to-use 
database manage- 
ment and analysis. 
i Shows your spread- 
! sheet data from 
1-&3® dBase,® and others In five 
graphic forms— Including bar charts, 
pie charts, scatter plots, line graphs, 
and stacked bar charts. Answers What 
If? questions. Minimum memoiy: 384K. 



Special Prices! 

September™ m mK,h «>"gh 



Turbo Pascal SideKick, SuperKey, and Turbo Tutor are registered trademarks, and Turbo Lightning, Turbo lightning Ubrary, Turbo Prolog, Turbo Graphix Toolbox, Turbo Datahase Toolbox, Turbo Editor Toolbox, Turbo GameWorks, Word 
Wizard, Reflex, The Analyst, Traveling SideKick, MicroCalc, MicroStar, GeoBase, and BlnderWare are trademarks of Borland International, Inc. or Borland/Analytlca, Inc. Random House is a trademark of Random House, Inc. IBM is a registered 
trademark of International Business Machines, Inc. dBase a a registered trademark of Aahton-Tate. 1-&3 is a registered trademark of Lotus Development Coip. Copyright 1986 Borland international BI-1042A 



Step-ty-step tutorial, demo programs with source code included! 

And now Borland introduces 

Turbo Prolog; the natural language 

of Artificial Intelligence 

JTrolog is probably the most 
powerful computer programming 
language ever conceived, which is 
why we've made it our second 
language— and "turbocharged" it to 
create Turbo Prolog." 

Our new Turbo Prolog brings 
supercomputer power to your IBM® 
PC and introduces you step-by-step to 
the fascinating new world of Artificial 
Intelligence. And does all this for an 
astounding $99.95. 




I^Jn Turbo Prolog is to 
<J^ Prolog what Turbo 
Pascal® is to Pascal! 

Our Turbo Pascal astonished 
everyone who thought of Pascal 
as 'Ijusi another language." We 
changed all that— and now Turbo 
Pascal is the de facto worldwide 
standard, with hundreds of 

thousands of enthusiasts 
I and users In 
: universities, 
: research 
I centers, 
\ schools, 
and with pro- 
fessional program- 
mers, students, 
and hobbyists. 
You can expect at least the 
same Impact from Turbo Prolog, 
because while Turbo Prolog is the 
most revolutionary and natural 
programming language, it Is al60 
a complete development environ- 
ment—just like Turbo Pascal. 
Turbo Prolog radically alters 
and dramatically improves the 
brave new world of artificial 
intelligence— and invites you into 
that fascinating universe for a 
humanly intelligent $99.95. 




Even if you've never 
1 programmed before, 
our free tutorial will 
get you started right away 

You'll get started right away 
because we have included a 
complete step-by-step tutorial as 
part of the 200-page Turbo Prolog 
Reference Manual. Our tutorial 
will take you by the hand and 
teach you everything you're likely 
to need to know about Turbo 
Prolog and artificial intelligence. 

For example: once you've 
completed the tutorial, you'll be 
able to design your own expert 
systems utilizing Turbo Prolog's 
powerful problem-solving 
capabilities. 

Think of Turbo Prolog as a 
high-speed electronic detective. 
First you feed it information and 
teach it rules. Then Turbo Prolog 
"thinks" the problem through 
and comes up with all the 
reasonable answers— almost 
Instantly. 

If you think that this is 
amazing, you just need to 
remember that Turbo Prolog is a 
5th-generation language— and 
the kind of language that 21st 
century computers will use 
routinely. In fact, you can 
compare Turbo Prolog to 



Turbo Pascal the way you 
could compare Turbo Pascal to 
machine language. 

You get the complete 
Turbo Prolog 
programming system 
for only $99.95 

You get a complete Turbo 
Prolog development system 
including: 

■ The lightning-fast Turbo Prolog 
incremental compiler and the 
interactive Turbo Prolog editor. 

■ The 20Opage reference 
manual which includes the step- 
by-step Turbo Prolog tutorial. 

■ The free GeoBase™ natural 
queiy language database 
including commented source 
code on disk— ready to compile. 
GeoBase is a complete database 
designed and developed around 
U.S. geography. It includes cities, 
mountains, rivers, and highways, 
and comes complete with natural 
query language. Use GeoBase 
Immediately "as is," or modify it 
to fit your own interests. 

So don't delay— don't waste a 
second— get Turbo Prolog now. 
$99.95 is an amazingly small 
price to pay to become an 
immediate authority— an instant 
expert on artificial intelligence! 
The 21st century is only one 
phone call away. 



^^ 



.. 



BORLAND 

INTERNA T t N A L 



4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY CA 95066 
(408)438-8400 TELEX: 172373 



YES! 
$99. ! 



Rush me 

Turbo Prolog 

Today 

95 



To order by phone, or for a dealer nearest you, 

call (800) 255-8008; 

in CAcall (800) 742-1133 



Copies 



Product 



Price 



$69.95 5 _ 
$109.90 $ _ 
$109.90 $ _ 
$124.95 $ _ 
$54.95 5_ 
$54.95 $ _ 
$34.95 5_ 
569.95 $ _ 
569.95 $ _ 
599.95 5- 
$99.95 5_ 
$69.95 $ _ 
599.95 5_ 
$84.95 5_ 
*569.95 5_ 
569.95 5_ 

'$149.95 5_ 



Turbo Pascal 3.0 

Tuibo Pascal w/8087 

Turbo Pascal w/BCO 

Turbo Pascal wl808l BCD 

Turbo Database Toolbox 

Turbo Graphix Toolbox 

Turbo Tutor 

Turbo Editor Toolbox 

Turbo GameWorks 

Turbo Lightning 

Ttifbo Prolog 

WOrd Wizard 

Rellex. Ihe Analyst 

SideKick 

Traveling SideKick 

— SuperKey 

— Turbo Lightning 
Word Wizard 

SideKick. 

Tiaveling SideKick 
SideKick. SuperKey 

Tiaveling SideKick 
htbo Junto Pack 

Outside USA add $10 per copy 

CA and MA res. add sales tax $ 

Amount enclosed $ 

Prices include shipping to all US cilies. 
Carekilly describe your computer system: 
Mine is: _ 8-bit _ 16-bit 
I use: _ PC-DOS —MS-DOS 
-CP/M-80 _ CPlM-86 
My computer's name and model is: 

The disk size I use is: □ 3 ] h' D 5 'A' □ 8' 
Payment: VISA MC Bank Dialt Check 
Credit caid expiialion dat / / 

<*" I I I I I I 1 1 I I 

M I I 1 I I I I I 

NOT COPY-PROTECTED 
"60-DAY MONEY-BACK GUARANTEE 



'$175.00 5_ 
•5245.00 5- 



: 



Name. 

Shipping Address: 



-Up:. 



City 

Stale: 

Telephone: 

CODs and purchase orders WILL NOT be accepted by Borland. 

Outside USA make payment by bank draft, payable in US dollars 

dram on a US bank . 

'Limited lime Otter 

"YES. within 60 days ol purchase, it this product does not 

perform in accordance with our claims, call our customer service 

department and we will gladly arrange a relund. 

Turbo Prolog 1.0 Technical Specifications 

Programming System Features 
Compiler: Incremental compiler generating native in-line code 
and linkable object modules. The linking tormat is compatible 
with ihe PC-DOS linker . Large memory model support. Compiles 
over 2500 lines per minute on a standard IBM PC. 
Interactive Editor: The system includes a powerful interactive 
full-screen text editor. It Ihe compiler detects an enor. the editor 
automatically positions Ihe cursor appropriately in the source 
code. At run-lime, Turbo PtolOQ programs can call the editor, 
and view Ihe running program's source code. 
Type System: A flexible object-oriented type system is 
supported. 

Windowing Support: The system supports both graphic and 
text windows. 

Input/Output: Full I/O facilities, including lormatted I/O. 
streams, and random access tiles 
Numeric Ranges: Integers: -32T68 to 32767: Beats: 1E-307 
to 1E+308. 

Debugging: Complete built-in trace ... --" 

debugging capabilities allowing single- 
stepping ol programs. 



I 
I 



Other Borland PrcduciB include 1\irbo Pascal; Turbo niton Ttoto Lightning; Turbo Dawhaae "toolbox; Turbo Graphix Toolbox; 
Turbo Editor Tbolbox; TVirbo GameWorka, SuperKey; SideKick; SideKick, The Macintosh Office Manager; Reflex, The Anaty&; and 
Traveling SHeKlck-all of which are regissred trademarks or trademarks of Borland InteniaUonal, Inc. or Borland/Analytics, " 
Turtx) Prolog and GeoBase are trademarks and Turbo Rascal la a registered trademark of Borland International Inc. IBM and AT are 
(^glsered trademarks oflniernaUonal Buflneffi Machlnee Corp. Copyright 1986 Borland (nidrnailonal Bl-1046 A 

Inquiry 40 for End-Users. Inquiry 41 for DEALERS ONLY. 




CONTENTS 





82 




158 



FEATURES 

Introduction 82 

Ciarcias Circuit Cellar: Adding SCSI to the SB 180 Computer, 

Part I: Introduction by Sieve Garcia 85 

This month's project takes few chips but much explanation. 

Programming Project: Data Compression with Huffman Coding 

by \onathan Amsterdam . , 98 

This may be the best all-around technique for data compression. 

Modula-2 As a Systems Programming Language 

by Ryn C. Corbeil and Anne H. Anderson Ill 

The authors describe how particular attributes of Modula-2 helped them develop a real-time 
multiprocessing operating system in a relatively short time. 

Linking Data Flow and Functional Languages 

by Chris Hankin. David Till and Hugh Glaser 123 

Combine the advantages of functional programming and parallel execution to increase execution speed. 

Easy C by Pete Orlin and \ohn Heath 137 

Some tips on using this preprocessor can help you write more understandable code. 

Programming Insight: Subroutine Overlays in GW-BAS1C 

by Mike Carmichael 151 

With this technique you can store subroutines in a RAM disk and have your BASIC program call them one 
by one as they are needed. 



THEME: MASS STORAGE 



lNTRODUCriON 158 

The Evolution of Mass Storage by [£onard iaub 161 

Follow the development of mass storage media from the early days of magnetic tape to the latest 
microcomputer disk systems. 

CD-ROM Software Development by Bill Zoellick 177 

To get the most out of CD-ROMs, you need to know how they differ from magnetic disks. 

The Application Interface ofOpncal Drives by Jeffrey R. Dulude 193 

This article discusses the issues facing the applications programmer working with write-once disks. 

Optical Disk Error Correction by Solomon W. Golomb 203 

Sophisticated codes allow media makers to use less disk space for error correction and more for storing 
data. 

A Roundup of Optical Disk Drives by Rich Malloy 215 

Rich describes a variety of recently announced optical storage systems. 

Tape Backup Systems by Anthony Antonuccio 227 

The "data insurance" these systems provide is more needed than ever with today's higher disk capacities. 

Laser Libraries by Uorman Desmarais 235 

Several large databases are now available on optical disks. 

REVIEWS 



Introduction 250 

Reviewers Notebook by \on Edwards 253 

The AT&T UNIX PC by Alastair J. W. Mayer 254 

The power of UNIX in a personal computer. 

ZBasic by Tj Byers 265 

An interactive BASIC compiler that lets you run the same code on several computers with little modification. 



BYTE IISSN 0360-52801 is published monthly with one extra issue per year by McGraw-Hill Inc. Founder: lames H. McGraw (1860-1948). Executive, editorial, 
circulation, and advertising offices: 70 Main St.. Peterborough. NH 03458. phone (603) 924-9281. Office hours: Mon-Thur 8:30 AM - 4:30 PM. Friday 
8:30 AM - 1:00 PM. Eastern Time. Address subscriptions to BYTE Subscriptions. POB 590. Martinsville. N) 08836. Postmaster: send address changes. 
USPS Form 3579. undeliverable copies, and fulfillment questions to BYTE Subscriptions. POB 596. Martinsville. N! 08836 Second-class postage paid 
at Peterborough. NH 03458 and additional mailing offices. Postage paid at Winnipeg. Manitoba. Registration number 9321. Subscriptions are S2I for 
one year. S38 for two years, and S55 for three years in the USA and its possessions. In Canada and Mexico. S23 for one year. S42 for two years. S6I 
for three years. S69 for one year air delivery to Europe. 17.100 yen for one year surface delivery to lapan. S37 surface delivery elsewhere. Air delivery 
to selected areas at additional rates upon request Single copy price is S3. 50 in the USA and its possessions. S4.25 in Canada and Mexico. S4.50 in 
Europe, and S5 elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a US. bank. Please allow six to eight 
weeks for delivery of first issue. Printed in the United States of America. 



2 BYTE- MAY 1986 



COVER PAINTING BY ROBERT TINNEY 



VOLUME II, NUMBER 5. 1986 



GEM Draw/MacDraw by Ricardo Birmele 269 

Two second-generation paint programs. 

Hardcard by Eva White 273 

A hard disk and controller on a card for the IBM PC. 

The B&C Microsystems 1409 EPROM Programmer by Robert ]acobs 279 

An EPROM programmer that connects to one of your computer's RS-232C ports. 

Non-Keyboard Input Devices by Chris Pappas 285 

PC-Pedal. Footmouse. and Light Pen. 

Racter by Hugh Kenner 289 

A software package that interviews and entertains. 

General Electrics 3-8100 Printer by Robert D. Swearengin 293 

A low-end thermal printer. 

Lettrix by Alan R Miller 299 

A resident print processor for IBM PCs and compatibles. 

Review Feedback 305 

Readers respond to previous reviews. 



KERNEL 



Introduction 308 

Computing at Chaos Manor: Expanded/Extended Memory 

by \erry Pournelle 311 

lerry looks at a wide assortment of products. 

BYTE Japan: An Innovative Program by William M. Raike 329 

EM/3+ is an operating-system unification adapter. 

Applications Only: A Mixed Lot by Ezra Shapiro 335 

Ezra talks about Boxes & Arrows. Stella Boxcalc. Interlace, and PC-Outline. 

According to Webster: 68000 Wars: Round 2 by Bruce Webster . 343 

The bout resumes, with comparisons and benchmarks. 

BYTE U.K.: Intuitive Solution by Dick Pountain 363 

Dick describes an object-oriented programming system. 

Mathematical Recreations: The Pellian Equation by Robert T Kurosaka 379 

This equation offers another method to solve word problems. 



BEST OF BIX 



Amiga 398 

Atari ST 402 

Editorial: 
Let Our Modems Go 6 

Microbytes 9 

Letters 14 

Whats New 29 

Clubs and Newsletters 48 

FtxES and Updates 49 

Ask BYTE 50 



IBM and Compatibles 405 

Macintosh 414 

Circuit Cellar Feedback 54 

Book Reviews 63 

Event Queue 78 

Chaos Manor Mail 392 

Disks and Downloads 469 

BYTE's Ongoing MoNrroR Box, 
BOMB Results 470 

Reader Service 471 



Address all editorial correspondence to the Editor. BYTE. POB 372. Hancock. NH 03449. Unacceptable manuscripts will be returned if accompanied 
by sufficient first-class postage. Not responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. 

Copyright © 1986 by McGraw-Hill Inc. All rights reserved, Itedemark registered in the United States Patent and Trademark Office. Where necessary, 
permission is granted by the copyright owner for libraries and others registered with the Copyright Clearance Center (CCC) to photocopy any article 
herein for the flat fee of $1.50 per copy of the article or any part thereof. Correspondence and payment should be sent directly to the CCC 29 Congress 
St,. Salem. MA 01970 Specify ISSN 0360-5280/83. $1.50. Copying done for other than personal or internal reference use without the permis- 
sion of McGraw-Hill Inc. is prohibited. Requests for special permission or bulk orders should be addressed to the publisher, BYTE is available 
in microlorm from University Microfilms International. 300 North Zeeb Rd., Dept. PR. Ann Arbor. Ml 48106 or 18 Bedford Row, Dept. PR, 
london WCIR 4E| England. 
Subscription questions or problems should be addressed to: BYTE Subscriber Service. POB 3 28, Hancock. NH 03449 




250 




308 



SECTION ART BY PAUL DEGEN 



MAY 1986 -BYTE 



Inquiry 349 



The 

Switchboard: 

EnGarde™ 

1® Garde™ is tfie surges- ppses- 
sonwitfa the added protection of a 
master switch that controls your 
computer and its peripherals. It 
quickens start-up time and reduces 
wear on your computer and peri- 
pheral ON/OFF switches. 

An LED grounded outlet indi- 
cator and an anti-static touch pad 
are also built into EnGarde™ 

EnGarde™ also protects your 
computer from p#wer surges caused 
by changes in electrical loads 
and other electrical disturbances. 
It includes a limited five-year 
warranty 

EnGarde™ is a product of Sys- 
tems Control, manufacturer of 
power protection systems for the 
nation's utility companies. 

Ask your dealer f#r.the total pro- 
tection of EnGarde™ Or call toll 
free 1-800-451-6866 to order (in 
Michigamdll collect 906/774-0440). 
If unsatisfied, return EnGarde™ 
within 30 days for a 
lull refund. 




TM 



EnGarde 



A product of Systems Control, a division of MJ. Electric, Inc. 



BYTE 



EDITOR IN CHIEF 

Philip Lemmons 

managing editor. print 

Gene Smarte 

managing editor. 

electronic publishing and communications 

George Bond 

consulting editors 

Steve Garcia 

)erry pournelle 

Bruce Webster 

senior technical editors 

G. Michael Vose. Themes 

Gregg Williams 

technical editors 

Dennis Allen 

Ion R. Edwards. Reviews 

Richard Grehan 

Glenn Hartwig 

Ken Sheldon 

Jane Morrill Tazelaak 

Tom Thompson 

Charles D. Weston 

Eva White 

Stanley Wszola 

associate technical editors 

Margaret Cook Gurney. Book Reviews 

Brenda McLaughlin. Applications Software Reviews, San Francisco 

Donna Osgood. San Francisco 

NEWS AND TECHNOLOGY 

Ezra Shapiro. Bureau Chief. San Francisco 
Rich Malloy. Senior Technical Editor. New York 
Phillip Robinson. Senior Technical Editor. Palo Alto 
Tony Lockwood. Senior News Editor 
associate news editors 
Dennis Barker 
Cathryn Baskin 
Lynne M. Nadeau 

CONTRIBUTING EDITORS 

Jonathan Amsterdam, programming projects 

David Betz. programming 

Mark Haas, at targe 

Rik Jadrnicek. CAD. graphics, spreadsheets 

Robert T. Kurosaka. mathematical recreations 

Phil Lopiccolo. computers in medicine 

Alastair I W. Mayer, software 

Alan R. Miller, languages and engineering 

Dick Pountain. U.K. 

Roger Powell, computers and music 

William M. Raike. \apan 



COPY EDITORS 

Bu» Sadler, Chief 
Elizabeth Cooper 
Faith Hanson 
Nancy Hayes 
Cathy Kingery 
Anne Fischer Lent 
Paula Noonan 

|OAN VlGNEAU ROY 

Warren Williamson 



ASSISTANTS 

Peggy Dunham. Of/ice Manager 
Martha Hicks 
June N. Sheldon 
Iudy Winkler 



ART 

Rosslyn A. Frick. Arl Director 
Nancy Rice, Associate Arl Director 
|an Muller, Ar! Assistant 
Alan Easton. Drafting 



PRODUCTION 

David R. Anderson. Production Director 
Denise Chartrand 
Michael |. Lonsky 
Virginia Reardon 



TYPOGRAPHY 

Sherry McCarthy. Chief Typographer 
Len Lorette 
Donna Sweeney 



SENIOR VICE PRESIDENT/PUBLISHER 

Harry L. Brown 
publisher s assistant 

Beverly Iackson 

circulation (800-258-5485) 

Andrew Iackson. Subscriptions Manager 

Laurie Sf.amans. Assistant Manager 

Susan Boyd 

Mary Emerson 

Louise Menegus 

Agnes E Perry 

Jennifer Price 

Iames Bingham. Single-Copy Sales Manager 

Cathy A. Rutherford. Assistant Manager 

Claudette Carswell 

Karen Desroches 

advertising sales 

Dennis I. Riley. Director of Sales and Marketing 
Sandra Foster. Administrative Assistant 

ADVERTISING/PRODUCTION (603-924-6448) 

Lisa Wozmak. Supervisor 

Robert D. Hannings. Senior Account Coordinator 

Marion Carlson 

Karen Cilley 

Lyda Clark 

Michele Iackson 

Wai Chiu Li. Quality Control Manager 

Iulie Murphree. AdverlisinglProduction Coordinator 

MARKETING COMMUNICATIONS 

Horace T Howland. Director (603-924-3424) 

Vick) Reynolds. Marveling Production Manager 

Lisa |o Steiner. Marketing Assistant 

Stephanie Warnesky. Marketing Ar! Director 

Sharon Price. Assistant Art Director 

Doug Webster. Director of Public Relations (603-924-9027) 

Wilbur S. Watson. Operations Manager. Exhibits 

RESEARCH 

Patricia Akerley. Research Manager 

Iulie Perron. Marfcet Research Analyst 

Cynthia Damato Sands. Reader Seivice Coordinator 

FINANCIAL SERVICES 

Philip L. Penny. Director of Finance and Services 

Kenneth A. King. Bush ess Manager 

Christine Lee, Assistant 

Vicki Wesion. Accounting Manager 

Linda Short. D/P Manager 

Edson Ware, Credit 

Marilyn Haigh 

Diane Henry 

Vern Rockwell 

IoAnn Walter 

planning and development 
Michele P. Verville. Manager 
Faith Kluntz. Copyrights Coordinator 

PERSONNEL 

Cheryl Hurd. Office Manager 
Patricia Burke. Personnel Coordinator 

BUILDING SERVICES/TRAFFIC 

Anthony Bennett. Building Services Manager 
Brian Higcins 
Mark Monkton 

RECEPTIONIST 

Denise Proctor 



W 



Officers of McGraw-Hill Information Systems Company: Presi- 
F dent: Richard B. Miller. Executive Vice Presidents: Frederick P. 

■ ft 1 M ' annott Construction Information Group: Russell C. White. Com- 

■ II I m puters and Communications Information Group: I. Thomas Ryan. 
Marketing and International. Senior Vice Presidents: Francis A. Shinal. Con- 
troller: Robert C. Violette. Manufacturing and Technology. Senior Vice 
Presidents and Publishers: Laurence Altman. Electronics Week: Harry L 
Brown, BYTE; David I. McGrath. Construction Publications. Group Vice Presi- 
dent: Peter B. McCuen. Communications Information. Vice President; Fred 
O. lensen. Planning and Development. 

Officers of McGraw-Hill, inc.: Harold W, McGraw. |r„ Chairman; Joseph 
L. Dionne. President and Chief Executive Officer: Robert N. Landes. Ex- 
ecutive Vice President and Secretary; Walter D. Serwatka. Executive Vice 
President and Chief Financial Officer; Shel F. Asen. Senior Vice President. 
Manufacturing: Robert |. Bahash. Senior Vice President. Finance and 
Manufacturing. Ralph R. Schulz. Senior Vice President. Editorial: George 
R. Elsinger. Vice President. Circulation: Ralph |. Webb. Vice President and 
IVeasurer. 



Editorial and Business Office: 70 Main Street. Peterborough. New Hampshire 03458. 16031 924-9281. 
West Coast Offices: McGraw-Hill. 425 Battery St.. San Francisco. CA 94 I I I. (4 15) 362-4600. 

McGraw-Hill. 1000 Elwell Court. Palo Alto. CA 94303. 14 I 5) 964-0624. 
New York Editorial Office: 1221 Avenue of the Americas. New York. NY 10020. (212) 512-2000. 

BYTE, EVH , and The Small Systems Journal are registered trademarks of McGraw-Hill Inc. 



4 BYTE • MAY 1986 



Circuit-Board-Artwork Software 
for the Design Engineer 





For only $895, smARTWORK® lets 
the design engineer create and 
revise printed-circuit-board art- 
work on the IBM Personal Com- 
puter. You keep complete control 
over your circuit-board artwork — 
from start to finish. 

Forget the tedium of taping it 
yourself or waiting for a tech- 
nician, draftsman, or the CAD 
department to get to your project. 

smARTWORK® is the only low- 
cost printed-circuit-board artwork 
editor with all these advantages: 

□ Complete interactive control 
over placement and routing 

□ Quick correction and revision 

□ Production-quality 2X artwork 
from a pen-and-ink plotter 

D Prototype-quality 2X artwork 
from a dot-matrix printer 



□ Easy to learn and operate, yet 
capable of sophisticated 
layouts 

□ Single-sided and double-sided 
printed circuit boards up to 
10 x 16 inches 

□ Multicolor or black-and-white 
display 

System Requirements: 

□ IBM Personal Computer, XT, or 
AT with 256K RAM, 2 disk drives, 
and DOS Version 2.0 or later 

□ IBM Color/Graphics Adapter 
with RGB color or black-and- 
white monitor 

□ IBM Graphics Printer or Epson 
FX/MX/RX series dot-matrix 
printer 

□ Houston Instrument DMP-41 
pen-and-ink plotter 

□ Optional Microsoft Mouse 







m.km 



Wintek Corporation !n ^ uir y 39 ° 

1801 South Street 
Lafayette, IN 47904-2993 
Telephone: (317) 742-8428 
Telex: 70-9079 WINTEK CORP UD 

In Europe contact: RIVA Terminals Limited, 
Woking, Surrey GU21 5JY ENGLAND, 
Telephone: 04862-71001, Telex: 859502 

"smARTWORK!' "Wintek" and the Wintek logo are 
registered trademarks of Wintek Corporation. 



EDITORIAL 






Let Our Modems Go 

In many cases, social benefits must wait 
for technical advances. Until the develop- 
ment of the telegraph in the 1850s, for ex- 
ample, no one was well informed about 
world events. The telegraph made it possi- 
ble to deploy correspondents widely and 
to publish their reports quickly. News ser- 
vices such as Reuters were born, and the 
public was soon much better informed 
than ever before. 

Sometimes technology stands ready to 
bring about new social benefits, but social 
policy blocks the way. This is the situation 
with data communications in much of the 
world today. All the technological ingre- 
dients are present to move magazine pub- 
lishing into a new era in which print and 
electronic media combined serve the 
reader far better than either can do alone. 
Satellite communications, large packet- 
switching networks, modems, personal 
computers, multiuser systems with com- 
puter conferencing software— all these can 
now link the subscribers of special-interest 
magazines such as BYTE. Subscribers can 
exchange information. What was an ab- 
stract community of interest becomes a 
functioning community unimpaired by 
geography and time zones. It is as if peo- 
ple can voluntarily form communities that 
live in electronic communications and 
record their lives in print. This adds a new 
dimension to publishing and gives new 
value to subscribers. 

But social policy results in prohibitive 
costs for data communications in many 
parts of the world. Postal Telephone and 
Telegraph Agencies (abbreviated "PTTs") 
maintain monopolies on telecommunica- 
tions. 1 will use one PTT as an example of 
these monopolies and their effects— not 
because this PTT is less progressive than 
any other but for the sake of clarity in 
discussing regulatory and pricing issues. 

The West German PTT. for example, is 
the Deutsche Bundespost. To participate 
in telecommunications, our German read- 
ers must open an account with the 
Deutsche Bundespost and rent a modem 
from them at rates decided by regulatory 
agencies. During the Hannover Faire 
(CeBIT) in March 1986, many BYTE readers 
approached the BYTE/McGraw-Hill booth 
and expressed a strong desire to join the 



BYTE Information Exchange (BIX). BIX is 
accessible through Tymnet, which can be 
reached from packet networks outside the 
United States by typing its Data Network 
Identifier Code 3106. 

But the obstacles are great: Bundespost 
charges 120 deutsche marks (about $50) 
per month for a 1200-baud full-duplex 
modem. An autodialer is an additional 30 
DM per month. Users of the packet- 
switching network Datex-P must also pay 
telephone tolls for their calls to the 17 
Datex-P nodes and 5 pfennigs (about 2 
cents) per minute access charges at 1200 
baud. On top of this, users face a charge 
of 23 pfennigs for every 2.964 seconds of 
connection with the U.S. There is a 20- 
pfennig-per-minute duration charge and a 
1 .6-pfennig-per-segment (kilocharacter?) 
volume charge. Bundespost offers no dis- 
count for any time of day or night. 

The Cost of Regulation 

By contrast, within the United States, the 
BIX nighttime charge for telecommunica- 
tions is a flat $2 per hour. Users in the 
United States buy their own modems from 
many different vendors and can now get 
a full-duplex 1200-baud autodial modem 
for less than $200. Since merely renting 
a modem for a year in Germany costs 
three times the purchase price in the 
United States, it is clear that regulation is 
costing German and other European con- 
sumers dearly. Put another way: For the 
modem rental in Germany. BYTE readers 
in the U.S. can buy a modem and use BIX 
for more than three hours per month for 
a year. 

How is it possible for a nation as tech- 
nologically advanced as Germany to have 
policies that retard the development of 
telecommunications? The Bundespost 
booklet on data communications. "World- 
wide Connections: the Deutsche Bundes- 
post, your partner for data transmission," 
provides the answer. The Bundespost 
points out that it has built up the neces- 
sary infrastructure for data communication 
and claims to offer reasonable prices. The 
booklet urges corporations to take advan- 
tage of the infrastructure through a 
"changeover from specialised data pro- 
cessing to integrated data communication. 
The necessary practical measure would be 



the transition to data transmission and 
teleprocessing— within firms and in exter- 
nal business relations, or;, the domestic as 
well as on international markets." In other 
words, reorganize your data processing 
department to use telecommunications. 
This is a sound idea. 

But what if you don't have a data pro- 
cessing department? What about ex- 
change of information among individuals? 
In its only nod to the individual human be- 
ing, the Bundespost booklet states, "The 
computer is on its way from business ap- 
plications to private households. Before 
long these private computers will also be 
used for data communications." This 
booklet was published in March 1985. In 
fact, personal computers are already in 
many European homes and are being 
used for telecommunications to the 
limited extent that PTT regulations and 
charges permit. 

The cost of regressive policies on data 
communications is high: Prohibitive 
charges prevent the natural development 
of international interactive communities. 
Once these charges are reduced, com- 
munities now separated by geography will 
be united by shared interests that tran- 
scend national and continental boun- 
daries. This will greatly improve interna- 
tional understanding. 

For this reason, we call upon the PTTs 
and the governments of the world to re- 
treat from their monopolies on equipment 
and to reduce their data communications 
charges to individuals. 

— Phil Lemmons 
Editor in Chief 



BYTE Listings on Disk 

We apologize for the delays in get- 
ting BYTE Listings disks mailed to 
those of you who ordered them. We 
have had some difficulty making ar- 
rangements with a disk duplication 
service that can handle all of the 
formats requested and that can pro- 
cess the volume of orders we have 
received. We have been mailing 
disks as fast as we can, but some 
of the less common disk formats 
are taking much more time than we 
expected. Please bear with us. 



BYTE* MAY 1 986 



Maxell Corp. of America, 60 Oxford Drive, Moonachie, NJ 07074 












FLOPPY DISKS 
THE GOLD STANDARD 



Before you invest in a DEC*VT240 terminal, 
consider the software alternative. 



Stop and think about what you really 
need: A text terminal. Tektronix* 
graphics. ReGIS* graphics. File transfer 
capabilities. Communications. 

Purchasing a state-of-the-art terminal 
may be one option, but Persoft has a 
smarter solution— SmarTerm® 240, 
the ultimate in terminal emulation 
software. 

SmarTerm can do everything the state- 
of-the-art terminal can do— and more. 
That's why we call it state-of-the-smart. 

With SmarTerm 240, the emulation is 
so exact you'll forget you're using a 
PC. It features superior text emulation, 
ReGIS graphics, Tektronix graphics, 
outstanding communications and file 
transfer capabilities. 



You also get on-line help screens, 
remappable keyboard layouts and 
programmable softkeys which can 
simplify your most frequently performed 
tasks. You can even customize your 
own menus! 

And because SmarTerm runs on your 
PC, you've always got a wealth of 
computing power right at your fingertips. 

All SmarTerm products are backed 
by Persoft's strong technical support 
network. It's a service you expect from 
the industry leader in terminal emulation 
software. 

No matter which terminal you're 
currently using— Data General Dasher* 
D400, Tektronix 4010/4014, DEC VT100, 
VT125, VT220 or even the new VT240, 




SmarTerm has a state-of-the-smart 
solution for you. 

To find out more about the SmarTerm 

family of terminal emulation software, 

see your local dealer. Or contact: 

Persoft, Inc. 

2740 Ski Lane 

Madison, Wl 53713 

(608) 273-6000 -Telex 759491 




'SmarTerm 19 a registered trademark of Persoft. Inc. 'DEC, VI and ReGIS. are trademarks O I Digital Equipment Corp. 
'DASHER is s registered. trademark ot Data General Corp. -Tektronix 1$ a registered trademark ol Tektronix, Inc. 
'<£> Persoft. Inc.. 1986. All rights reserved. 






aersatr 

U Inquiry 28 1 W.. ■ .- 



MICROBYTES 



Staff-written highlights of late developments in the microcomputer industry. 



Microsoft News 

At the 1986 Personal Computer Forum in Phoenix, AZ, Bill Gates, chairman of Microsoft 
argued that applications should not all have to work to the lowest common denominator— 
the 8088. "We must have a transition in which some benefits of new applications accrue 
only to the benefit of users of high-end systems," he declared. 

Gates also said that a new type of software called "multimedia" software will soon 
emerge. It will use CD-ROMs and mix motion video, stills, music, voice, and so on. He 
predicted that CD-ROMs will attain large-scale use in part through the advent of an "infor- 
mation viewer" that lacks a disk and keyboard. 

In other Microsoft news, Gates said that the Bellevue, WA, company is porting Excel from 
the Mac to run under Windows on the IBM PC. He wouldn't say when the program will ap- 
pear under Windows but stated that it is easy to port to that environment. 

At the CD-ROM conference in Seattle, WA, a few weeks later, Microsoft showed an en- 
cyclopedia demo that, while incomplete, has some parts that do exploit the audio, video, 
and text capabilities of CD-ROM. Bill Gates has noted that an encyclopedia should show pic- 
tures and play music when a user looks up Beethoven. 

Finally, Gates announced that Microsoft has set up a new division just for CD-ROM. He 
believes that millions of these devices will be in use by 1990. 

New RAM Technology 

Semiconductor firms are doing more with RAM chips than just increasing memory-access 
cycle speed and cell density. They are also offering new architectures that let more bits of 
data move in and out of a RAM chip in less time. Standard RAMs read or write a single bit 
at a time. The new nybble-mode RAMs available from many manufacturers allow high-speed 
serial access of up to 4 bits of data. The Am90C255 from Advanced Micro Devices of 
Sunnyvale, CA. is a nybble-mode CMOS 256K DRAM made with 1.4-micron, two-level metal, 
one-level polysilicon technology that has an effective 40-ns cycle time. NEC Electronics of 
Mountain View, CA, offers the juPD411001, a nybble-mode 1-megabit DRAM that is made 
with trench capacitor technology and 1 -micron processing to give access times of 100. 120, 
or 150 ns. 

But nybble mode isn't the only twist on the old familiar memories. AMD's enhanced-page- 
mode Am90C2 56, for instance, is a CMOS 256K DRAM that yields an entire row of 512 bits 
without interruption. That permits a continuous data rate of more than 18 MHz with cycle 
times as fast as 55 ns. Such chips cost more than regular RAMs, but their improved band- 
width is worth the money in many designs. 

Electronic Mail Service from AT&T 

AT&T Information Systems of Lincroft, NJ, has instituted a new electronic mail service called 
AT&T Mail. Its metaphor is the "electronic office." You obtain an In Folder, which holds 
messages for 24 hours after you have read them; a Sent Folder; a Wastebasket; and a 
Desk, from which you can create and send messages. For an additional fee, you can get a 
File Cabinet to preserve messages for longer than 24 hours. 

Delivery options include electronic mail, U.S. mail, urgent, overnight, COD, receipt re- 
quested, and memo. You can also create, send, and share data forms and mailing lists, as 
well as store signatures and logos on the system. 

The current price schedule is $0.80 for an electronic message, $0.40 for a return receipt, 
$2 for U.S. mail, $27.50 for an urgent (same-day) message, $0.40 for an electronic note, 
$1.25 for COD, and $7.50 for priority U.S. mail. On-line message create/edit is $0.45 and on- 
line note create/edit is $0.20 per session. Monthly fees include $2 for the service, $10 for 
the forms/file feature, and $2 for a shared address list. Signature/logo registration is $12 per 
year. 

(continued) 



MAY 1986 -BYTE 



NEC V60 and V70 CMOS Microprocessors 

NEC Electronics of Mountain View, CA, has completed development of its V60 and V70 
32-bit CMOS microprocessors. Both chips are built on 1.5-micron technology and employ 
37 5,000 transistors per chip. 

The V60 has a full 32-bit internal architecture, a 16-bit external data bus, and a 24-bit ex- 
ternal address bus. The V70 has 32-bit architecture inside and out Both microprocessors 
have virtual-memory management, an arithmetic floating-point processor (IEEE 754), and a 
six-stage pipelined structure. At 16 MHz, either chip will run at 3.5 MIPS. Both also have an 
orthogonal instruction set of 273 instructions (of 119 types), 21 addressing modes, and 
thirty-two 32-bit general-purpose registers. A 4-gigabyte page-demand virtual-memory space 
is controlled by the on-chip memory manager and high-speed task switcher. 

The V60 and the V70 have an emulation mode that can directly execute V20 to V50 ob- 
ject codes, which means that the chips can also execute 8088 or 8086 code. 

IBM, TI, ITT Join Communications Standards Group 

IBM has announced that it will join a coalition of firms trying to establish standards for 
computer communications. The Corporation for Open Systems counts Digital Equipment 
Corporation, Hewlett-Packard, NCR, AT&T Sperry, Convergent Technologies, and Xerox 
among the firms that already belong to the group. Other new members include Eastman 
Kodak, Du Pont, Boeing Computer Services, ITT, Texas Instruments, and Data General. COS 
reportedly will base its proposed networking standards on the Open Systems Interconnect, 
which has gained popularity among European vendors and is favored by IBM. 

COS is based in Alexandria, VA. Its mission is "to provide a vehicle to accelerate the in- 
troduction of multivendor products and services based on adopted international standards." 

Graduate Credits Via Computer Conferencing 

The New School for Social Research in New York City offers courses on Media Studies via 
computer conferencing. In association with an organization called Connected Education, the 
New School is offering four courses this semester that are run under the EIES conferencing 
system. The tuition of $795 per course is the same as that of a traditional classroom course 
and includes unlimited access time on the conferencing system. School officials claim that 
the students' work is better than that in a traditional course and that the dropout rate is 
zero. Students can obtain half of the 36 credits necessary for a graduate degree through 
teleconferencing. 

Nanobytes 



At the Personal Computer Forum in Phoenix, AZ, S. Jerrold Kaplan of Lotus Development 
laid out a development path for spreadsheets. Kaplan argues that spreadsheets are actually 
"object-oriented declarative programming languages." He said that future competition 
among spreadsheets will be in improving the programming environments that spreadsheets 
provide by adding type checking, debugging aids, and so on ... . Coral Software of Cam- 
bridge, MA, is developing a new version of Logo for the Macintosh computer. A key feature 
of the new Logo is that it will be object-oriented. In addition, programs created with this 
Logo can be compiled, and Coral Software claims that they run at speeds comparable to 
programs written in C or Pascal. The new language will be available approximately in July 
for a price of about $50 .... Spokesmen for several companies made announcements at 
the Personal Computer Forum. Mitch Kapor, chairman of Lotus Development, said that 
Lotus products for Microsoft Windows will appear in 1987 and beyond. Dave Winer of 
Living Videotext talked about an unannounced Macintosh product code-named "Spanky" 
that will be ported to Windows on the IBM PC. Gary Kildall, chairman of Digital Research 
Inc. and CEO of KnowledgeSet (formerly Activenture), said that there will be some new 
very fast access CD-ROM mass storage systems that use tilting mirrors to speed operation. 
These will be expensive "professional" optical drives. . . . Motorola of Austin, TX, is 
pushing its manufacturing technology to make faster versions of the 68020. The state of the 
art is now the 20-MHz 68020, with samples available now and production scheduled for the 
second quarter of this year. The initial price is $771 apiece in 100-piece quantities. . , . 
Micro Industries of Westerville, OH, now has the license to manufacture and market the 
Micromodule line of 8-bit microcomputer boards and accessories that was previously 
available from Motorola's Microsystems Operation. Micro Industries has contracted to pro- 
vide service to boards built by Motorola for a minimum of five years. This contract ends 
Motorola's 1 0-year development and production of the 6800-based boards; the company 
will focus on VME products using the 68000 and its successors. 



10 B YTE • MAY 1986 



Take off with a Tandy portable 

and get real computing power 

wherever you travel* 




As a businessperson you can't 
afford idle time while traveling. 
That's why you need a Model 100 
($499), a Tandy 200 ($799), or our 
new Tandy 600 ($1599) portable 
computer. Each is an important 
business tool that will keep you on 
top of business wherever you go. 

Traveling companions 

The Model 100, a technological 
first, is perfect for writing letters, 
memos, reports and other corre- 
spondence anywhere, at any time. 
This lightweight computer was the 
first to feature five instant-on pro- 
grams, an 40 x 8 display and a 
modem — all built in. 

The Tandy 200 represents a true 
second generation in portable com- 
puters. You can do complete 
spreadsheet analysis and calcula- 
tions with the popular Multiplan 
software that's built into the mem- 
ory. Or use the Tandy 200 as your 
personal appointment calendar and 
address-and-phone directory. 

The most advanced laptop 

Our new Tandy 600 features a 
16-bit microprocessor, an 80- 
character by 16-line liquid-crystal 



display, a built-in 3 l l2 rf disk drive 
that stores 360K of data and 32K 
RAM (expandable to 224K). 

The Tandy 600 also includes five 
resident applications — all designed 
by Microsoft® for the businessper- 
son on the go. With the Tandy 600's 
larger display and expanded mem- 
ory, Multiplan can hold more infor- 
mation. Using MS-Word, you'll also 
have quicker access to documents 
and more storage capacity with the 
built-in disk drive. File is an elec- 
tronic database for names and ad- 
dresses, expenses, client billing and 
more. And you can keep a large 
number of different files on the 
pocket-size diskettes. With Telecom 
and the Tandy 600's built-in mo- 
dem, you're able to keep in touch 
with your office over phone lines. 

Tandy . . . Clearly Superior™ 

Tandy offers you a choice of three 
portable computers — one is sure to 
fit your needs. You can see these 
amazing portables at your local 
Radio Shack Computer Center. 
Come in today! 



Available at over 1200 

Radio Shack Computer Centers and at 

participating Radio Shack stores and dealers. 

Radio /hack 

COMPUTER CENTERS 

A DIVISION OF TANDY CORPORATION 



I 

■ 



Send me a free 
Computer Catalog. 

Radio Shack, Dept. 86-A-898 
300 One Tandy Center 
Fort Worth, TX 76102 



Name_ 



Address _ 



Company. 
| City 

I 



State _ 



-Zip- 



Phone . 






Prices apply at Radio Shack Computer Centers and participating stores and dealers. Multiplan and MS-Word/TM Microsoft Corp. 



Inquiry 308 



MAY 1986 -BYTE 




I ,- . I I I I I I I I I- I ■ I I , I I 1 1 I 1 1 I I I I 



^ 



VxMk 



THE ST COMPUTER UNE 

FROM ATARI. 



IT'S LIKE GETTING THE POWER AND SPEED OF A FERRARI 

FOR THE PRICE OF A FORD: 




When Atari introduced the 520ST™, 
we set the personal computer industry 
on its ear. 

Nobody had ever produced a machine 
so powerful and technically advanced 
for such an incredibly low price. 
Nobody but Atari has done it yet. 

The competition was stunned. 

The critics wrote rave reviews. 

And consumers were ecstatic. 

We could have rested on our laurels, 
but we didn't. 

Instead, Atari extended the ST concept 
to a new computer called the 1040ST™. 

The amazing new 1040ST is even 
more powerful than the 520ST and 
years ahead of all the competition at 
almost any price. The only question in 



ATARI • 
1040ST* 


COMMODORE® 
AMIGA" 


IBM® 

pcat™ 


APPLE® 
Macintosh™ 


APPLE lie® 


Price 


S999 


$1795 


$4675 


$1995 


$1295 


CPU 
Speed MHz 


68000 
8.0 


68000 
7.16 


80286 
6.0 


68000 
7.83 


65C02 
1.0 


Standard RAM 


1 MB 


256K 


256K 


512K 


128K 


Slandard ROM 


192K 


192K 


64K 


64K 


16K 






Number of Keys 


95 


89 


95 


59 


63 


Mouse 


Yus 


Yes 


No 


Yes 


Optional 


Screen Resolution 
(Non-interlaced Mode) 
Color 
Monochrome 


640x 200 
640x400 


o o 
o o 

CO CO 
X X 

o o 

CD CD 


640x200 
720x350** 


None 
512x342 


560x192 
560x192 


Color Output 


Yes 


Yes 


Optional 


None 


Yes 


Number of Colors 


512 


4096 


16 


None 


16 


Disk Drive 




3.5* 


5.25" 


3.5" 


5.25" 


Built-in Hard Disk 
(DMA) Port 


Yes 


No 


Yes 


No 


- No 


Midi Interlace 


Yes 


No 


No 


No 


No 


# of Sound Voices 


3 


4 


1 


4 


1 




Atari 520ST with 512K RAM, $799. 

•Connects to standard color TV. For RGB color monitor add $200. 
••With optional monochrome board (non bit-mapped). 
*• 'Interlace Mode - 640x400 



Ferrari is a registered trademark o) Ferrari Italia SpA and Ferrari ol 
America. Inc. Ford is a registered trademark of Ford Motor Company. 
IBM and PCAT are registered trademarks of International Business 
Machines Corp. Commodore and Amiga are trademarks of Com- 
modore Electronics LTD. Apple. Apple lie, and Macintosh are 
trademarks of Apple Computer. Inc. Atari, 520ST. 1040ST, and ST are 
trademarks of Atari Corp. 



Inquiry 27 for End-Users. Inquiry 28 for DEALERS ONLY. 




1986 isn't which 
company to buy 
a computer , 
from, but which 
computer to buy 
from Atari. 

At $799, the 
520ST gives you 512 Kbytes of RAM, a 
high -resolution monochrome monitor, 
2 -button mouse, and 3.5" disk drive. 

At $999, the 1040ST gives you 1024 
Kbytes of RAM, an ultra high- resolution 
monochrome monitor, 2 -button mouse, 
and a built-in double-sided 3.5" disk 
drive, plus built-in power supply. Both 
the 520ST and the 1040ST can be con- 
nected directly to your own color T.Y 
Or you can add an Atari RGB color monitor 
to get the sharpest, most colorful images 
possible. Add $200 for color monitor. 

It's simply a matter of choosing which 
model best fits your needs. 

And whether you choose the 520ST 
or the 1040SX you'll be getting the 
power and speed of a Ferrari for the 
price of a Ford. 

In fact, you'll save hundreds and in 
some cases thousands of dollars over 
comparable computers. Which is why 
consumers are still ecstatic. Why the 
critics are still writing rave reviews, 
And why the competition is still stunned. 



AATARI' 

POWER WITHOUT THE PRICE." 



MAY 1986 -BYTE 13 



LETTERS 



Choose Your Language 

I read with interest the letter from Mark 
Pickerill ("Speaking of Languages," 
February, page 3 56). 

Like Mr. Pickerill, I am a "professional 
programmer." In fact, I have attained that 
most coveted of professional positions, 
compiler writing and programming-lan- 
guage design. My entire professional 
career has been spent designing and im- 
plementing various programming lan- 
guages, from extended abstract assembly 
languages to standard Pascal to Ada 
derivatives. Currently. I am involved in the 
design and implementation of a high-level 
parallel language designed to run on a 
large, tightly coupled parallel processor. 

Mr. Pickerill raises several language- 
design issues that merit a response. 

Everyone has a favorite language. If Mr. 
Pickerill has chosen BASIC, that is his 
prerogative. I personally find BASIC dis- 
tasteful, and I will use it only when no 
other language is available on a given ma- 
chine. While I have not used some of the 
newer BASICS that offer traditional scop- 
ing, subroutines, and structured control 
mechanisms, my experiences have led me 
to believe that BASIC is inadequate for 
large programming projects and only suf- 
fices when a quick hack is required. 

Mr. Pickerill is correct in his assessment 
that Pascal is not a complete language. It 
is. however, more than adequate for most 
programming projects. In fact, certain ex-/ 
tended Pascal implementations (TUrbcS* 
Pascal in particular) are an absolute joy to 
use. As a compiler writer. I can truly ap- 
preciate the speed of compilation that 
Tljrbo Pascal achieves. When I first used 
that package, I was absolutely amazed. I 
have since written several large systems 
programs in Uirbo Pascal, including end- 
user interface software for a local-area net- 
work. I can assure you that some of the 
things I was able to accomplish in Uirbo 
Pascal simply cannot be done effectively 
in the BASICS I had available to me. 

Mr. Pickerill describes C as "a mess" and 
"a disaster." He claims the syntax is dirty, 
cryptic, and unreadable. In fact, the C syn- 
tax is quite clean; so clean, in fact, that 
mechanized parser generators have ab- 
solutely no problem generating compilers 
for it. I will grant that it is unreadable. As 



most language designers quickly realize, 
languages are designed to be either easily 
readable or easily writable. Pascal. Ada, 
COBOL, and Modula are designed to be 
easily read, promoting self-documenting 
code. C is an easily writable language and 
was designed to effectively express algo- 
rithms in a minimum of space. It is rife with 
operators and has 1 1 levels of operator 
precedence. Once you have mastered 
those operators, however, it is a joy to 
dash off a few lines of C that can do what 
would require 30 lines of Pascal. 

Frankly. C is not for everyone. If you want 
to become proficient at C, you must be 
prepared to spend some time learning to 
think in C. It is simply not possible to 
become fluent in C in a matter of hours. 
If you are not willing to invest the time, 
then do not use the language. 

Remember, C was designed by systems 
programmers, not applications program- 
mers. It meets their needs. It is a tool that 
can be used to achieve a goal. A fatal flaw 
among programmers is the desire to use 
one language for everything. Do you drive 
nails with a pair of pliers? Cut wood with 
a butter knife? Write numeric-intensive ap- 
plications in C. screen editors in COBOL, 
or system code in APL? It is the program- 
mer's responsibility to learn several lan- 
guages to keep in a "toolbox." When a 
programming problem arises, the pro- 
grammer can then make an intelligent 
choice as to which tool will best solve it. 

Mr. Pickerill makes an attack upon the 
use of lowercase letters in programming 
languages. Agreed, a compiler that forces 
the user to use only lowercase letters is 
an atrocity, and the author of said com- 
piler should be thrashed with a stack of 
listings. However, it is well known among 
psychologists that lowercase letters are. in 
fact, much easier to read than uppercase 
ones. Lowercase letters have a mixture of 
short and tall letters ("x" versus "1." for ex- 
ample). Such variations in height provide 
more pattern-matching information for 
your brain to quickly distinguish the let- 
ter at which it is looking. Since all upper- 
case letters are the same height, it takes 
longer for your brain to identify an upper- 
case letter. Further, words written in all up- 
percase TEND TO ATTRACT YOUR EYES 
AND SIGNIFY ALARM. There is a sublim- 



inal message of urgency contained in a 
string of uppercase letters that your brain 
must overcome when reading them. 

Finally, Mr. Pickerill makes some state- 
ments regarding the simplicity of com- 
pilers. He contends that the use of double- 
character delimiters and excessive "syn- 
tactic sugar" in some languages indicates 
an inherent simplicity within a compiler 
and. I suppose, some laziness on the part 
of the compiler writer. Nothing could be 
further from the truth. Double-character 
delimiters (such as /* and */, which delimit 
comments in C) are used simply because 
there aren't enough single-character de- 
limiters available. It is desirable that 
delimiter pairs have some symmetry so 
that they are aesthetically pleasing and 
understandable. In ASCII, the possible 
candidates are < and >. ( and ), | and 
|. and { and }.' Currently C uses all of 
these pairs for something other than com- 
ment delimiters: < and > are comparison 
operators, ( and ) denote nested expres- 
sions. | and | denote array indexing, and 
{ and } delimit multiple statement blocks. 
Character-set limitations force the use of 
double-character delimiters to make lex- 
ical analysis context-free. 

Mr. Pickerill also voices the traditional 
complaint about semicolons. In Pascal, the 
semicolon separates statements; it does not 
terminate them. In order for a parser to re- 
main on track, it needs such syntactic 
sugar to verify that its impression of a pro- 
gram corresponds to the programmer's. 
It is possible to remove much of the extra 
tokens from the Pascal syntax, but a sub- 
sequent penalty of parser complexity is 
paid. Error recovery, which is already quite 
difficult, becomes even harder. It is far 
more desirable to give the compiler a little 

(continued) 



LETTERS POLICY: To be considered for publica- 
tion, a letter must be typed double-spaced on one 
side of the paper and must include your name and 
address. Comments and ideas should be expressed as 
clearly and concisely as possible. Listings and tables 
may be printed along with a letter if they are short 
and legible. 

Because BYTE receives hundreds of letters each 
month, not all of them can be published, letters will 
not be returned to authors. Generally, it takes four 
months from the time BYTE receives a letter until 
it is published. 



14 BYTE* MAY 1986 



m 



— k 



Hard Drive Card 



*! 



Hard Drive Card 



A Hard Drive The Easy Way. 

Turn your PC into an XT in seconds with OnBoard, Maynard's new hard drive card! 



So your PC needs a hard drive. - . 

When you bought your PC, you never dreamed 
you'd need more than floppy drive performance. 
But now, both you and your PC are ready for more. 
In fact, there's just one reason you've been putting 
off getting a hard drive. Admit it. It's the installation. 
Cables and controller and all that. 

Well, relax. OnBoard is here. The hard drive card 
that boosts your PC's storage capacity to rival any 
XT or AT* on the block! OnBoard snaps easily into 
one of your IBM PC's expansion slots! Open your 
PC, plug in OnBoard, and close your PC. Just like 
that. Your PC will boot directly to OnBoard when you 
power up — no more floppy disk maneuvering. 

Powerful Self-Control. 

If you already have a hard drive in your PC, 
OnBoard's controller card will double up and run 
both hard drives. Which helps keep your expansion 
slots open for other business. 

Lots of Head Room, 
Lots of Desk Room. 

OnBoard puts up to 20MB of power into your PC, 
turning it into a hard drive heavyweight in seconds! If 
you need less storage but the same speed and fine 
performance, you can install OnBoard 1 0. 




Inquiry 222 



Single-Slot Installation. 

Simply snap OnBoard into expansion slot 1 of your 
IBM PC* or XT, leaving all your other slots free for 
additional boards. 

OnBoard is designed to work in today's 
leading PCs and is available at the 
finest computer stores. Contact your 
local dealer or call us today for more 
information. 

*IBM PC, XT, and AT are trademarks of International Business Machines. 



■s«2 Maynard Electronics 

Shaping tomorrow's technology. 

460 E. Semoran Blvd., Casselberry, FL 32707 305/331-6402 

MAY 1986 'BYTE 15 





&rw 



Social Imitation s ^WpnQSlS 

^pJ Let • tor qutl- i- ty pnot-ing 

I^SFancyFont 



+(*) 



fc-l 





<? 



t 



Dot Matrix tf# 
Printing 

Made Beautiful 

This entire ad, from top to bottom, was printed on an inexpensive dot matrix 
printer with Fancy Font,® a unique program that works with almost any word 
processor to produce high resolution, proportionally spaced, letter quality 
printing. 

No special hardware or installation is required, so you'll be using Fancy Font 
as soon as you get it 

Fonts, including Roman, Sans Serif, Bold, Italic, ^fori/U, ©lfliEnglisIf and 
more, from 8 to 24 points come standard with Fancy Font 

FLEXIBLE. Fancy Font comes with a complete set of over 1500 mathematical, 
foreign language and other special symbols. 

Hundreds of additional fonts in sizes from 6 to 72 points are available, at a 
nominal additional charge, from our growing font library. 

You can edit any character and also create your own characters or logos, up 
to 1 inch by 1 inch. 

Powerful formatting features let you center, justify, wordwrap and type flush 
left or right, with or without running headers and footers — even with 
different fonts and sizes on the same line. 



LETTERS 



j HP LaserJet, ^A 
id sizes of yfll 



IMPACT YOUR LASER. Combine the high quality of the HP LaserJet 
LaserJet+ or Canon Laser printer with the font styles and 
Fancy Font for the ultimate in visual impact 

You can mix internal printer fonts, cartridge fonts and 
Fancy Font letters on the same line to create materials 
with typographic impact 

COST EFFECTIVE. You can buy Fancy Font from your local dealer or direct 
from SoftCraft for only $180. 

You'll get near typeset quality at a small fraction of the time and cost of 
using art or typesetting services. 

You'll be turning out beautiful reports, newsletters, presentations, letters, 
mathematical texts, overheads, invitations and more after getting your copy of 
Fancy Font The applications are limited only by your imagination. 

Fancy Font runs on PC-DOS, MS-DOS and CP/M systems with Epson, 
Toshiba and compatible dot matrix printers and laser printers. 

Call or write now to order Fancy Font or ask for complete information 
including actual samples and independent reviews. 

CALL TODAY 1-800-351-0500 

MasterCharge and Visa accepted 

Sq/lCraft, Inc. 

222 State Street, Madison, WI 53703 (608) 257-3300 



help and simplify the language grammar, 
so that the compiler writer can concen- 
trate on the important things, like effec- 
tive optimized code generation. 

Mr. Pickerill suggests that a CR-LF se- 
quence is sufficient to terminate state- 
ments; he is showing his assembler roots. 
An important feature of modern lan- 
guages is that they are lexically indepen- 
dent of the source-code format. That is. 
it doesn't matter how you indent your 
code or how you break it up across 
various lines, it still looks the same to the 
compiler. This is not true of BASIC or most 
assembly languages. While some lan- 
guages force the programmer to indicate 
explicit line continuations. I abhor any 
dependency on the source-code format. 
Let's face it, how many people enjoy 
counting out to column 7 for their FOR- 
TRAN programs? How about all you 
COBOL programmers making sure that 
paragraph names begin in column 4 (or 
was it 8)? And let's not forget putting those 
FORTRAN continuation marks exactly in 
column 72! 

In conclusion. I'd just like to say that Mr. 
Pickerill is entitled to his opinion. However, 
those who are interested should under- 
stand that most languages are not de- 
signed willy-nilly. A lot of thought goes in- 
to each and every trade-off made during 
the course of designing and implement- 
ing a language. A full understanding of 
those trade-offs is necessary before you 
start condemning a language. 

As an aside, Mr. Pickerill concludes with 
the contention that assembly code still has 
a place in this world. I agree, when one 
is programming in a uniprocessor environ- 
ment. Let me tell you, though, writing ef- 
fective assembly code in a multiprocessor 
environment (with hundreds of pro- 
cessors) is so difficult that the only 
recourse is to use high-level languages 
that hide the scheduling problems from 
the programmer. 

Chuck Musciano 
Palm Bay, FL 

Atari 520ST versus Amiga 

I am very glad that you did such a fantastic 
product description on the Atari 520ST 
(January, page 84). I have had mine since 
mid-November, and I think it's going to be 
around for quite some time. But there are 
a few things that I should mention con- 
cerning the ST and its future. 

To start. I want to tell you a little about 
the S1 : Amiga battle. For the moment, let's 
just imagine that the Mac was never 
created. Both machines are new, and both 
are quite good in their own right. But there 
is a large price difference, and what you 

[continued) 



16 BYTE • MAY 1986 



Inquiry 323 



New! Windows-Compatible InwVision 1.1% 



Complex Drawin; 



We created In-a- Vision 
just for you. The 
engineer who needs 
more productive 
drafting support. 
The designer who 
needs versatility 
for alternate 
ideas or quick re- 
visions. The ar- 
chitect who needs 
to manage a vari- 
ety of working 
drawings. And the 
businessman who 
needs first-class 
presentation mate- 
rials as well as de- 
tailed flow charts 
and organization charts. 

Point. Click. Draw. 

Now all you do to create com- 
plex technical drawings, systems 
designs, blueprints, diagrams, il- 
lustrations, and proposals is point, 
click and draw. With In-a-Vision's 
mouse support, windowing, icons, 



and pull-down menus, you 
produce drawings more 
quickly, accurately and 
efficiently than ever 
before. In-a-Vision's 
advanced technology 
includes many features 
not found on compar- 
able systems costing thou- 
sands more. For example, you 
can pan around in a user-definable 
drawing space up to 68" x 68" and 
zoom in on specific areas for 





FREE Microsoft" Windows 
from MICROGRAFXr 

If you purchase In-a-Vision 
directly from MICROGRAFX, 
we'll give you a free retail copy 
of Microsoft Windows so 
you can use In-a-Vision as 
p&rt of a fully integrated 
working environment. Move 
instantly from In-a-Vision to 
other applications and back . . . 
cut and paste text and drawings 



; dq— 




{Most popular graphics cards, plotters, and printers supported.) 

Microsoft Windows-compatible. Call for specific operating 
environment requirements. 

" Demo requires MS Windows. F ; ull demonstration system for users 
without Windows available for $4y.(X). 



greater 
detail. Scale, 
rotate and dimen- 
sion symbols, fill an 
area with your 
choices of pre- 
defined colors and 
patterns, as well as 
draw lines with multiple styles 
and widths. Other features in- 
clude overlays, predefined and 
user-definable page sizes, rulers, 
grids, and templates to speed 
popular applications. 

Multi-tasking in a PC- 
based CAD system. 

In-a-Vision uses 
multi-tasking to 
enable you to 
continue 
drawing 
while printing 
hard copies or edit 
multiple drawings simultaneously. 



MICROGRAFX 

The Picture of Success. 

Inquiry 23 7 




between applications 

. . . and more! 
We're confident 
you'll agree — In-a-Vision will 
make your complex drawing tasks 
simple and make you more pro- 
ductive. Satisfaction guaranteed. 

TO ORDER 
CALL- 

800-272-3729 

Demo disk* or 
brochure available 
to qualified 
customers. In 
Texas or for cus- 
tomer support, call 
(214) 234-1769. 
MICROGRAFX, Inc., 1820 
North Greenville Avenue, 
Richardson, Texas 75081. 




In-a-Vision and MICROGRAFX are trademarks of 
MICROGRAFX, Inc. 

Microsoft is a trademark of Microsoft, Inc. 



Escape the 
Programmer's 

Prison 



Do you feel imprisoned by your IBM PC? 
Do you spend too much time wrestling 
with a rigid, unyielding programming 
language? Are you tired of clumsy pro- 
gramming tools that straight-jacket your 
creativity instead of liberating it? 

If so, you're ready for Methods— a Small- 
talk, object-oriented programming sys- 
tem for the IBM-PC and compatibles that 
sets you free from the constraints of 
other languages. Until you program with 
Methods, you don't know just how quick 
and creative programming can be on the. 
IBM PC. 

Methods is . . . 

. . . high-performance object-oriented pro- 
gramming. A powerful, language-compatible 
subset of Smalltalk-80 rM . 
... a toolkit of over 100 classes— easily-cus- 
tomized software building-blocks for rapid, in- 
cremental development of real-world applications. 
... an open-ended, window environment that 
encourages exploration while allowing re- 
covery from any error. 



. . . extensively documented in a four-part 
manual for everyone from beginners to 
experienced programmers— the perfect in- 
troduction to Smalltalk programming. 
. . . ideal for software prototyping, simulation, 
databases, advanced user interfaces, and 
numerous AI applications. 

Methods also offers easy access to DOS, a 
powerful directory /file browser system, remote 
UNIX™ access, an object-oriented shell for 
DOS programs, and much more. 
Methods requires DOS and 512K RAM on 
IBM PC's (including AT) or "compatibles," 
and can be used with or without a mouse. 



digitalk inc. 



5200 West Century Boulevard 

Los Angeles, CA 90045 (213) 645-1082 

Available from Digitalk for $250. Outside U.S. add 
$15.00 for shipping and handling. 
California residents add sales tax. 
Educational and dealer 

discounts available. 




LETTERS 



IBM is a trademark of 

International Business Machines Corporation. 
Smalltalk-80 is a trademark of Xerox Corporation. 
UNIX is a trademark of Bell Laboratories. 

Inquiry 111 



get for your money may not be what you 
paid for. The Amiga's graphics ICs are very 
powerful, and the sound chip gives good 
synthesized music, but that is where the 
power stops dead in its tracks. However, 
since people respond emotionally to sight 
and sound, the demos are sure to catch 
someone's eye Inside, there is very little 
true support for the unbound power of the 
68000. In the low-resolution mode, those 
great graphics chips steal almost 75 per- 
cent (yes!) of the possible CPU time that 
could be used for other real-computer 
things. Since the complicated data for the 
screen must come from the same RAM on 
the same bus as the CPU, there are ex- 
cessive wait cycles imposed on the 68000. 
This, together with an overall slower CPU 
time than the ST, causes the Amiga to ap- 
pear timid when compared to the ST. 

Inside the ST, you will find more custom 
ICs than the Amiga and more powerful off- 
the-shelf chips than the Amiga. This adds 
up to a suprafast computer. Further into 
the hardware side of things, the ST has 
three serial ports (RS-232C. MIDI in. and 
MIDI out) and a keyboard. All of these are 
handled separately, without the 68000, 
and all in hardware. The 520ST also has 
a 68901 interrupt controller that keeps 
track of 16 separate events in the system 
with very little intervention by the CPU 
(this chip is really a necessity with the 
68000 and is missing from the Amiga). 
And this (drum roll, please) is where the 
DMA port comes in. It transfers data to 
RAM without using the CPU, and does it 
at a rate of 1.33 megabytes per second. 
The standard disk drives are also quite 
fast. The ST can bring in a 32K-byte file- 
including start-up, directory search, and 
loading— in less than 4 seconds. The 
Amiga takes almost 20 seconds. The 
Amiga also uses an awkward disk con- 
figuration, and much of the disk support 
is done in software [slow). The drives can 
store slightly more than the ST's double- 
sided drives, but time is sacrificed in ex- 
change. The Amiga format is done much 
like a C-64. In fact, to get a directory, the 
Amiga goes out and finds a program 
called DIR. loads it, and then goes back 
searching— not a very speedy or effective 
way of doing things. 

Now to talk about software. First of all, 
there is almost four times as much soft- 
ware out for the 520ST as for the Amiga. 
Second, Intuition on the Amiga is graphi- 
cally more colorwise than GEM on the 
520ST but really isn't a good user inter- 
face. The windows are poorly configured 
and move with flicker. The Amiga operat- 
ing system is very clumsy to use and full 
of bugs. And for the note of how every- 

[continued] 



fl 



f aste Not,Wanl Not. 



AST's ShortPak ™ and I/O Mini ™ Offer the Powerful Memory and Input/ 
Output Capabilities of Full-Size Boards on Convenient Half-Size Cards. 



Waste Not. Don't waste valuable, 
full-size, system-expansion slots on 
memory or I/O cards. AST Research 
offers the space savers -short-board 
solutions for adding memory and input/ 
output to your IBM X PC-XT, 3270 PC 
or Portable. And users of new, basic IBM 
PCs, check your system chassis. You 
may have short slots, too. 

Of course, ShortPak and I/O Mini 
work just fine in long slots also. 

Small Size, Big Memory With AST's 
ShortPak. Now you can boost your PC's 
memory with up to 576 Kilobytes (Kb) 
in a single, short slot. Using both 64Kb 
and 256Kb chips, this versatile short 
card rounds out virtually any system's 
memory to the DOS 640Kb limit. 

And with every ShortPak board, you'll 
get SuperPak™utility software including 
SuperDrive, rM SuperSpool™and, AST's new 
fASTdisk™ electronic hard disk. Both 
SuperDrive and fASTdisk let you create 
lightning-fast, electronic RAM disks 
and SuperSpool lets you spool files to 
the printer while you continue to enter 
and process data on your system. 

Powerful Connections With I/O 
Mini. This short card offers all the 



input/output ports you may ever require. 
With up to two serial ports, a parallel 
port and battery-backed clock/calendar, 
this five-inch board connects to printers, 
plotters, mice, modems and more. In 
addition, SuperPak software is included. 

Want Not. When you install ShortPak 
and I/O Mini in your PC's short slots 
you get the added memory you need to 
run today's memory-intensive software 
and the vital serial and parallel ports 
needed to make peripheral connections. 

Plus you save your long slots for 
other expansion products— like AST's 
RAMpage! K expanded memory board, 
offering up to 2.0 megabytes of memory; 
ColorGraphPlus™ our 16-color IBM 
compatible color graphics card; and, 
our complete line of networking and 
micro to mini/mainframe cards. 

By the way, there'll be a test covering 
this material on Thursday morning. 
Please be prepared. For tutoring contact 
your local Authorized AST Dealer or 
call AST's Customer Information Center 
(714) 863-1333. Or write, AST Research, 
Inc., 2121 Alton Avenue, Irvine, Califor- 
nia 92714. TWX: 753699 ASTR UR. 

Don't wait until Wednesday night. 



ShortPak Features 

1 Offers up to 576Kb memory on a 

single board (no piggyback required) 
1 Rounds out system memory to 

640Kb o)i single board 
1 Fits short and long slots* 
' Uses 64Kb and/or 256Kb DRAMs 
1 Includes SuperPak utility software 
1 Two-year warranty 

I/O Mini Features 
1 Standard serial port 
' Standard batteiy -backed 

clocld calendar 
' Fits short and long slots 
' Optional: second senal port and 

parallel port 

1 Includes SuperPak utility software 
• Two-year warranty 




RESEARCH INC. 



Inquiry 2 for End-Users. 
Inquiry 3 for DEALERS ONLY 



ShortVak, I/O Mini, SuperPak, SuperDrive, SuperSpool, fASTdisk and ColorGraphPlus tmdemarh and RAMpagel rvgisU'wd trademark ofAS"l' Research, Inc. IBM ngistcwd tmdemurk of International Business Machines Corp. 
Copyright * •' AST Research, Inc., 19 86. All rights usetved. 'ShortPak not compatible with eighth slot in IBM models using PC-XT. system hoard. 



LETTERS 



body compares them and rates them 
against the Mac, you must consider that 
Apple is not letting any operating systems 
look or act like theirs. 

If you have a problem with your Amiga 
that your dealer doesn't know about, you 
are pretty much stuck. To talk to Com- 
modore you either have to be God or 
'Electronic Arts, a company that mainly 
focuses on games. If you want to talk to 
people at Atari, they are very free, open, 
and extremely nice. 



The last thing I want to mention is that 
on page 99 of the article on the 520ST, 
the authors state that the only way to 
move a file out of a folder is to copy it 
to another disk and then copy it back to 
the original disk outside of the folder. 
There is a much simpler way of doing 
things. First, open the directory for disk 
A. Then double-click on the folder you 
want. It should open up and show you the 
file you want to copy. Then go back and 
double-click on the disk A icon again. It 



Why buy 3 
packages to get 
a complete 
multi-user 

dBASE* System? 




After all, FoxBASE is a compiler, an 
interpreter and a multi-user dBASE sys- 
tem all in one. Tl ns single vendor 
support and no problems with product 
incompatibility. 

Not only that, FoxBASE actually outper- 
forms dBASE and other dBASE compiler 
products: its program execution speed is 
far superior to the competition and its 
compiler runs up to 60 times faster than 
other compilers. And FoxBASE is available 



'dBase is a re< 



FoxBASE 
does it better. 

For less. 





$995 



for the widest variety of machines and 
operating systems. 

In addition, FoxBASE is interactive and 
100% dBASE compatible (including full 
macro usage). The only thing you won't 
get is all those annoying dBASE bugs! 

Best of all, FoxBASE costs less than 
half the other packages. 

So call (419) 874-0162 now, and ask for 
a copy of our comparative analysis 
(including benchmarks). After all. . . 

Nothing Runs Like a Fox, 



Fox Software, Inc. 

27475 Holiday Lane. Perrysburg, OH 43551 

(419)874-0162 



igjstered trademark of Asfttpn-Tate FoxBASE is a trademark of fox Software. Inc. Ctipp. -.mark of Nantucket 



will open up into another window, so that 
now you have the main directory and the 
folder directory. Simply drag the file you 
want copied from the folder's directory 
into the regular directory window, and it 
will copy out of the folder. True, you do 
have to go back and delete the original 
file, but this is really a quite sane precau- 
tionary procedure. Suppose you then de- 
cide you didn't want it moved, or maybe 
it gets lost, or the disk crashes. You still 
have the original. 

Mike M. Farnsworth 
Renton, WA 

How Good is Dvorak? 

The February BYTE contained an article 
on page 241 concerning the Dvorak key- 
board arrangement ("Keyboard Efficien- 
cy"). Having used the Dvorak keyboard for 
many years, I eagerly read what Donald 
W. Olson and Laurie E. jasinski had to say 
about it. 

However, their results correspond 
neither with the many books and articles 
1 have read on the subject nor with my 
own experience. I downloaded the BASIC 
program, but, not being a programmer. 1 
couldn't figure out what was going on. So 
I tackled the problem with a pencil and 
paper. 

My approach was more intuitive than 
scientific, I guess, but it seemed that if the 
Dvorak arrangement had all but 2 of the 
12 most-used letters in the English lan- 
guage (ETOAINSHDRLU. as I have read) on 
the home row, then it must be more effi- 
cient than the QWERTY arrangement. 

To simplify my task, 1 used units instead 
of actual measurements and set to zero 
all operations that both arrangements 
share. That is, the space bar, the shift key, 
and the actual key travel were all disre- 
garded. Next, I assigned all home-row keys 
that lie under the typist's fingers a value 
of 0. All home-row keys that don't lie 
under the typist's fingers received a value 
of I. Upper- and lower-row keys received 
a value of 2, with the exception of the keys 
the typist must stretch for. These received 
values of 3. For the QWERTY arrange- 
ment, the hyphen also was assigned a 
value of 3. 

I used Lincoln's "Gettysburg Address" 
for my work text. After saving it to disk, 
I used the search-and-replace feature of 
Spellbinder to do a simple number-for- 
letter substitution both for the QWERTY 
arrangement and for the Dvorak arrange- 
ment. I added the resulting string of 
numbers on an adding machine. 

Viewing the final printout, one im- 
mediately sees that virtually no word of 
any significant length can be typed with- 

[continued) 



20 B YTE • MAY 1986 



Inquiry 143 



THE 
PC PENS 










Discover new dimensions 
in PC graphics with Houston 
Instrument's "PC Pens" — a family 
of desktop plotters that allow you 
to add brilliant color and clarity 
to your presentations. 

Starting at $699,* these compact 
plotters produce professional graphics 
that dot-matrix printers simply can't 
match. With sharp resolution, Hi's 
PC Pens give you countless graphic 
choices — a variety of pen types 
(felt tip, hard nib, and drafting), 
plotting media (paper, vellum, and 
transparencies), and special firmware. 

Whether you're producing sales 
graphs, creating CAD drawings, 

Inquiry 163 



or charting household finances, 
these plotters complete the picture 
on 8/2 x 1 1 or 1 1 x 17 inch formats. 

Choose from Houston Instrument's 
single-pen DMP-40, the four-pen 
PC Plotter series, or the impressive 
eight-pen DMP-29. Each features 
a standard RS-232-C compatible 
interface and Houston Instrument's 
built-in DM/PL rM language, making 
each one immediately compatible with 
most microcomputers and hundreds 
of software packages. And each is 
remarkably reliable and simple to use. 

For more information and the name 
of the distributor nearest you, call 
Houston Instrument at 1-800-531-5205 



(512-835-0900 if in Texas) or 
write Houston Instrument, 8500 
Cameron Road, Austin, Texas 
78753. In Europe, contact Houston 
Instrument, Belgium NV., 
Rochesterlaan 6, 8240 Gistel, 
Belgium. Tel.: 32-(0)59-277445, 
Tlx.: 846-81339. 



*U.S. suggested retail price for PC595 model plotter. 
Pricing subject to change. DM/PL is a trademark of 
Houston Instrument. 



DQCDDaS , B®[jQ 
instrument 

A Division of AMETEK 

MAY 1986 -BYTE 21 



LETTERS 



out constantly returning to the home row 
using the Dvorak arrangement. The 
QWERTY arrangement, on the other hand, 
has severe difficulties with many words, 
including "conceived." "remember," "devo- 
tion," and "government." 

The final result of all this was that the 
QWERTY arrangement required 1716 units 
of movement, while the Dvorak arrange- 
ment required only 844 units of move- 
ment, or a little better than 50 percent 
less. This is still a far cry from a 10 to I 
improvement, but it also ignores several 
of the Dvorak arrangement's other virtues. 
For one. the Dvorak arrangement has far 
fewer "trouble" letter combinations (for 
which the same finger on the same hand 
must move sequentially from the upper 
row to the lower row, or vice versa). Then, 
too. the Dvorak arrangement has a better 
hand-to-hand workload division. The 
Dvorak arrangement also evens out the 
workload of the individual fingers, so the 
more powerful fingers do more of the 
work, and vice versa. 

1 do quite a bit of typing, and 1 notice 
most the reduction in fatigue and typos. 
Although it's true that it can be difficult 
to find Dvorak keyboards at different work 



sites, nonetheless they are available, more 
now than ever before. 1 personally have 
an old Remington manual (which I con- 
verted myself), an IBM Selectric, a Victor 
9000, and a Wyse WY-50. all with Dvorak 
keyboards. I simply wouldn't go back. 
Greg Raven 
Los Angeles, CA 

The Dvorak-Dealey Simplified Keyboard, 
or DSK. is certainly a vast improvement 
over the QWERTY, or Universal, keyboard. 
But before deciding to switch, 1 would sug- 
gest you also consider the English Key- 
board Scheme shown in figure 1 (U.S. Pat- 
ent #3,847,263). 

While studying at the University of 
Washington. 1 had the opportunity to ex- 
amine August Dvorak and W. L. Dealey's 
research in detail. 1 also found their final 
layout was not as efficient as it could be, 
and I was unable to obtain any reasonable 
explanation for the discrepancies from Dr. 
Dvorak, who was still alive at that time. My 
aim was to develop similar keyboards for 
languages other than English, but an im- 
proved arrangement for English using the 
Roman alphabet was the result. 1 also 
found the English arrangement better than 



© OO®000©©0 
© ©©O©©®0®© 
o©@ ©©©©©©© 



Figure 1: The English Keyboard Scheme. 

the various foreign keyboards or the DSK 
in French, German, Spanish. Italian, and 
Portugese. I have used Dvorak and 
Dealey's data for the most frequently used 
words in English as well as many other 
letter-frequency and digraph-frequency 
tables. 

Although I found the American National 
Standards Institute reluctant to even con- 
sider Dvorak's work or mine. I have per- 
sisted in my own efforts. I have designed 
keyboards for English using the "initial 
teaching alphabet" (a phonemic alphabet) 
and the Shavian alphabet (a phonetic 
alphabet, after George Bernard Shaw). I 
have recently completed work on a Rus- 
sian keyboard using the Cyrillic alphabet: 
and I am continuing work on another for 
Inuktitut, which uses a syllabic alphabet 
for the Inuit (Eskimo) language. Of interest 

[continued] 



X-VIEW 86 



Profiles DOS application software and solves 
problems Debug can't touch. 




Application Program 

Unmodified 
DOS Application 




Dynamic Execution 
Information 

X-VtEW 86 profiles the 
execution of DOS software, 
and displays information 
needed to improve program 
performance, identify 
compatibility issues, and 
pinpoint conversion 
problems. 



X-VIEW 86 is a DOS software X-ray machine. 

X-VIEW 86 monitors internal software operations 
during execution to help you debug, test, port, or 
convert programs. X-VIEW 86 adds new features to 
Debug to profile either your own applications 
software or top-sellers like 1-2-3®. You get fast, 
reliable results. 

Real solutions to technical challenges. 

Save hours of time-consuming, tedious work using 
data from X-VIEW 86's built-in reports that identify: 

■ Execution hotspots ■ 1/0 port references 

■ Segment usage ■ Interrupt calls 

■ Memory map references ■ Instruction set usage 
Report information is displayed on screen. And new 
breakpoint commands added to Debug stop a 
program on: 

■ 1/0 port references ■ Memory data 

■ Interrupt calls references 

Hardware and software requirements. 

X-VIEW 86 runs on the IBM PC and compatibles with 
DOS Debug 2.0 or 2.1. Even if you use a different 
debugger, X-VIEW 86 turns Debug into your program 
profiler. And it's not copy protected. 



Priced at an affordable $59.95. 

Get a whole new outlook on your work with X-VIEW 
86. We've made it easy. Order today by calling 1-800- 
221- VIEW (in Texas, or outside the U.S., call 1-214- 
437-7411). We accept Visa, MC, DC, and AmEx cards. 
Or order by writing to: McGraw-Hill CCIG Software, 
8111 LBJ Freeway, Dallas, Texas 75251. X-VIEW 86 is 
just $59.95 plus sales tax and $3.00 shipping 
($9.00 outside the U.S.). Be sure to include credit 
card number and expiration date with mail orders. 
Orders paid by check are subject to delay. To order call 

1-800-221- VIEW 



Rifl McGraw-Hill CCIG 
limfe Software 

8111 LBJ Freeway, Dallas, Texas 75251 



X-VIEW 86 is a trademark of McGraw-Hill, Inc.; IBM is a registered 
trademark of International Business Machines; 1-2-3 is a registered 
trademark of Lotus Development Corporation. 



22 BYTE* MAY 1986 



Inquiry 223 



Ven-TfePs Half Card" modem 
is in all the best computers. 

Here's why. . 



Ven-Tel gives you lots of reasons to buy our Half Card™ 
modem for your IBM PC or compatible. The Half Card™ 
is a complete system that lets you communicate with 
other PCs, mainframes, and databases effortlessly 
It includes Crosstalk-XVI® software. It's reliable. 
It's got all of the features you want. And it's 
a good value. 

Do You Own One off These 
Computers? 

Chances are you do. And if you're 
thinking of buying a modem, consider 
the Half Card™. Because of its small size, 
the Half Card™ fits in more computers, 
including all of the models we've listed 
here. The Half Card™ is small, so it fits in 
short slots or long. That means you can 
save your long slots for other expan- 
sion uses. 

Effortless Communication 
Each Half Card™comes with Crosstalk-XVI® 
communications software, by Microstuf. It's 
the easiest to use, whether you're a beginner 
or an old hand, and the most powerful. A full 
on-line help menu makes using Crosstalk® for 
the first time a snap. It can turn your PC into a 
terminal on a mainframe computer with its power 
ful terminal emulation feature. It will even oper- 
ate your PC when you're not there. You can call 
into an information service such asThe Source or Dow Jones News 
Retrieval, or transfer files and electronic mail, all at the touch of 
a button. The Half Card™ connects your computer to the world. 
Effortlessly. 

More Modem for Your Money 

When you buy the Half Card™ you don't need anything else. The 
Half Card™ is a complete communications package that includes 
a full-featured modem and the best known software on the market. 
Complete easy-to-understand instructions with full technical support 
on installation and use. And a very competitive price. The Half 
Card™ with Crosstalk-XVI® software, retails for only $549. 




Features 

. 1200/300 baud auto-dial, auto-answer. 
. Uses the industry standard "AT" 

command set. 
. Runs with virtually all communications 

software, including Smartcom II and PC 

Talk III and integrated packages such 

as Symphony and Framework. 
. Includes Crosstalk-XVI® software. 
. On-board speaker and extra phone jack 

for easy switching from voice 

to data mode. 
. Selective tone or pulse dialing; 

full or half duplex. 
. Automatic answer on any ring. 
. True ring or busy signal detection. 




Reliability 

Ven-Tel has been making 

modems for 10 years. Our 

experience shows. Ven-Tel's 

Half Card™ only has about 70 parts, compared 

to almost 300 on other modems. We reduced the parts 

by building the first LSI modem chip using advanced 

switched capacitor technology. What that means to you is 

greater reliability and lower power consumption, so you can 

load up your PC with expansion boards and not worry about 

heat or power problems. And we back the Half Card™ with a full 

two-year warranty on parts and labor. 

You Can Buy the Half Card™ 
Anywhere 

You can get the Half Card™ at Computer- 
Land, Businessland, the Genra Group, 
Entr6 Computer Centers, Macy's Computer 
Stores and other fine dealers nationwide. 
Also from Ven-Tel: the 1200 Plus™ an 
external modem and the PC Modem 
1200™ an IBM internal with V.22 inter- 
national capability. 

Effortless Communication 

4> Ven-Tel Inc. 

2342 Walsh Avenue 
Santa Clara, CA 95051 
(408) 727-5721 



Crosstalk is a registered trademark of Microstuf, Inc. Smartcom II is a trademark of Hayes Microcomputer Products. Symphony is a trademark of Lotus Development. Framework is a trademark of AshtonTate. 



Inquiry 374 



MAY 1986 -BYTE 23 



LETTERS 



to Arnie Skurow, who sought interfaces for 
the disabled, an early project of mine in- 
cluded a keyboard for use in English which 
could be used with only one hand. 

Lastly, the only arrangement of the 
Dvorak-Dealey keyboard shown in your ar- 
ticle was for the right-handed typist. A 
reversed layout also exists for the left- 
handed typist both in the Dvorak-Dealey 
model and my own. 

Mr. X 
Kingston, Ontario, Canada 



After reading Donald Olson and Laurie 
jasinski's article on the Dvorak keyboard. 
1 though you might be interested in 
another experience with the keyboard. I 
rearranged the keytops on my Ohio Scien- 
tific computer and reprogrammed the 
ROMs to make a Dvorak keyboard. I no- 
ticed only a very slight improvement in 
speed, on the same order as that de- 
scribed in the article. The first few hours 
of use were terrible (even worse than I had 
expected). Once I became accustomed to 



If you're tired of waiting, 

you're using the wrong file manager. 




Be fast. Btrieve.® 

If batch jobs and reports turn wait- 
ing time to nighttime, then wake up! 
You're using the wrong file manager. 

Btrieve® file management hates 
waiting as much as you do. It's writ- 
ten in assembly language especially 
for the IBM PC. And based on b-tree 
file indexing, with automatic balanc- 
ing for access speed that won't de- 
grade as your database grows. With 
Btrieve, your applications always run 
fast. So you'll be out the door faster. 

The standard for networking. 
Btrieve/N (network version) sets the 
standard for the industry's most 
popular LANs and multi-user sys- 
tems. Btrieve/N offers safe network 
file management that coordinates 
simultaneous updates and prevents 
lost data. 

Automatic file recovery. Btrieve pro- 
vides automatic file recovery after a 
system crash. Your Btrieve data always 



comes back intact. 
Fully-relational data management. 

SoftCraft's entire family of products 
gives you a complete, fully-relational 
database management system. 
Rtrieve™ adds report writing capabili- 
ties. Xtrieve™ speeds users through 
database queries with interactive 
menus. 

For professional programmers. 
Btrieve is the fast, reliable answer for 
all your application development in 
BASIC, Pascal, COBOL, C, FOR- 
TRAN and APL. With Btrieve, you 
can develop better applications faster. 
And know they'll run— fast. 




SoftCraft Inc. 

P.O. Box #917 Austin, Texas 78766 
(512) 346-8380 Telex 358 200 



Suggested retail prices: Btrieve, $245; Btrieve/N, $595; Xtrieve, $195; Xtrieve/N, $395; Rtrieve, $85; 
Rtrieve/N, $175. Requires PC-DOS or MS-DOS l.X, 2.X, orS.X. NO ROYALTIES. 



the new arrangement, however, 1 was 
thoroughly pleased. As I noted above, it 
did not improve speed as much as I had 
hoped. Ah, but fatigue was another story. 
My hands are much more relaxed and I 
type more smoothly than with QWERTY. 
Since this was my home computer, the 
real test of the new arrangement came the 
following Monday when I had to switch 
back to the QWERTY arrangement at 
work. Surprise! No problem at all in revert- 
ing to the old arrangement— that is, until 
1 hit the first A. If you compare the two 
keyboards, you will note that they share 
a common position for the two letters A 
and M. while all other keys have different 
positions. This continues to be the only 
major problem in switching between the 
two arrangements. After the first few 
words, I adapt easily to either keyboard. 
But every time I type an A or M. I have 
a tendency to revert to whichever key- 
board I have used the most during the 
preceding few days. 

Steven P. Hendrix 
Sagamore Hills, OH 

Authors Olson and Jasinski are not im- 
pressed with the Dvorak keyboard layout. 
Having tried it. I am inclined to agree with 
them. However, both they and Dvorak 
only addressed the typewriter keyboard. 

Today's word processors and microcom- 
puters have many more keys on their key- 
boards, with quite different usage than the 
typewriter of the thirties. Where would 
Dvorak have put Ctrl, Alt, Del, Ins? How 
would he have allowed for the more fre- 
quent usage of Q and Y? Should special 
function keys be at the top or the side? 
When we have a numeric keypad, why do 
we need a second set of number keys, or 
if we do, why don't we make the numbers 
the uppercase and have the !, @. #, $, etc., 
available for use without shifting? 

We need a new Dvorak who will give us 
a total keyboard for today's needs and 
technology. 

E. A. Clarke 
Ponoka, Alberta, Canada 

CRTs Are Safe 

If they haven't already, your readers will 
probably soon receive an ad for a radia- 
tion shield for their computer monitors. 
Carefully worded so as to remain legal 
(maybe) the ad will imply that cathode-ray 
tubes emit ionizing (X-ray like) radiation, 
that this is harmful to the operator, and 
that the way to save yourself is to purchase 
the advertised shield to put between you 
and the CRT. One ad I just received from 
a national distributor of computer prod- 
ucts shows an operator dressed in a full 
[continued on page 390) 



24 BYTE • MAY 1986 



Inquiry 324 



WHEN YOU NEED 

ACCESS TO FULL MEMORY, 

STRUCTURE, 

COMPATIBILITY WITH 

GW- & PC-BASICA, 



WHEN YOU NEED THE 
POWER AND FLEXIBILITY 
OF COR PASCAL... 




. . .You need BetterBASIC. 
The BetterBASIC compiler has 
become the standard by which other 
BASICs are evaluated. BetterBASIC is 
completely compatible with GW-BASIC and 
PC-BASICA when running on IBM PC's and true 
clones. You can load and run your existing BASIC 
programs in BetterBASIC. It uses standard MicroSoft 
syntax and gives you more than 150 additional state- 
ments such as XREF, DEFINE WINDOW, MAKE MOD- 
ULE, and PROCEDURE. In benchmark comparisons, 
BetterBASIC is five times faster than interpreted BA- 
SIC. There is optional 8087/80287 math chip support, 
and an optional Runtime System to create stand-alone 



EXE. files. BetterBASIC is not 
copy protected. Technical support is 
provided for all registered users. 
See for yourself why Dick Aarons of PC Magazine 
said "BetterBASIC may be the best of all BASIC pro- 
gramming worlds" and selected BetterBASIC as 
"Editor's Choice" (Oct. 29, 1985). 



BetterBASIC 

8087/80287 Math Chip Support 

Runtime System 

Sample Disk with Tutorial 

Ask your dealer 
or call to order: 



$199 
$99 

$250 
$10 



1-800-225-5800 



BetterBASIC is a registered trademark of Summit Software 
Technoloftf, Inc. IBM PC, XT, AT, and Microsoft are registered 
trademarks of International Business Machines Corp. 
Tandy is a registered trademark of Tandy Coip. 

Inquiry 345 




Summit Software Technology, Inc T . M 

106 Access Rd. Norwood, MA 02062 

MAY 1986 -BYTE 25 




n* 



can draw your own 
conclusions. 

Drafix I. The first high performance CAD software everyone can afford. 




Low-cost, high performance computer- 
aided design & drafting (CAD) software is 
finally available for use on your PC. 

There's never been a professional CAD 
package so complete at such a low cost. 

Drafix I from Foresight Resources. 
Only $295. 

Powerful, full-featured second 
generation CAD software. 

Drafix I offers all of the capabilities you 
expect to find in packages costing S2,000 
or more 

This is not simply a souped-up paint 
package. Drafix I is a breakthrough in design 
that organizes sophisticated CAD functions 
into smooth, fast operations. All of the 
drawing, designing and editing functions 
that designers demand from a serious CAD 
tool are included in Drafix I. 
A breakthrough in screen design and 
visual user interface. 

Drafix I features the best organized 
screen design ever devised. Very simply, it 
displays all the information you need, all of 
the time. 

The entire menu hierarchy is displayed 
constantly. There's no need to memorize 
commands or search for menus. 

Snap-mode options are continually 
shown on the left screen border and can 
be selected "on the fly" by either pointer 
device or a single keystroke Roll-down 
screens provide quick access to the virtually 
unlimited drawing, display and editing 
options. 

And it's all controlled by a versatile 
three-button mouse, or digitizer, with on- 
screen prompts so each button function is 
clearly defined. 

AutoCAD® compatible for easy 
expansion. 

If you or someone in your company 
already uses AutoCAD, Drafix I offers an in- 
expensive way to add to your capability. 

The optional Drafix 1/ AutoCAD file ex- 
change utility perm its transfer of drawings 
between Drafix I and AutoCAD. 



AuloCAO is a ttademarko! Autodesklnc 
IBM PC/XT/AT are trademarks ol ihelBM Corp. 
PCMouse is a trademark ol Mouse Syslemslnc. 
SummaSketcli Is a trademark of Summagraphics Inc. 
Manager Mouse is a trademark ol TbrringlonCompany 




P -- -^-±-J! LTSV TTHTW^j 


p»^«r* '- ; - *•? ftreC ii» M 


JbHwhYI 


(* "•--_'*;* Tsn': ) 


dpi M 

s*e If 
£1 ] J 
-*■* Iff: 


♦0 Soli<3 || 
1 Sho**t dash fa 

5 Dotted £1 
6. Divide S 






Entire menu hierarchy visible 
at all times. 



Extensive use of roll-down 
menus. 



On-screen promptsdefine 
each mouse button function. 



It's the perfect, low-cost alternative for 
increasing your drafting and design 
capacity. 
Low introductory bundle prices. 

Drafix I is designed to run on the IBM 
PC/XT/AT® and compatible personal com- 
puters. It supports all major graphics display 
cards, monitors, printers and plotters. 

And to get you up and running we offer 
two special bundles — all the equipment 
you need at introductory prices you won't 
believe. 

Get Drafix I with your choice of the 
Mouse Systems' PC Mouse® or Torrington's 
Manager Mouse® for just S395.00. Or get 
Drafix I with SummaSketch 12"xl2" 
digitizer tablet with stylus for just S585.00. 
Order today. Take advantage of our 
30-day, money back guarantee. 

Were so certain you'll like the perform- 
ance and versatility of Drafix I you're 
welcome to try it risk free for 30 days. If 
you're not completely satisfied, return it to 
us for a full refund. 

Find out just how good CAD software 
can be. For only S295.00. 

Use our toll-free number and any major 
credit card to order your copy of Drafix I 
today. 



SPECIFICATIONS 

Code specifications 

Lattice "C" language 

Halo graphics 

Floating pointdatabase 

Coprocessersuppor! 

PC-00S/MSD0S2.torlater 
Drafix I Features 
Items 

Lines 

Pt markers 

ArcsS circles 

Note text 

Polygon s& ellipses 

Symbols/individua I & n esled 
Item attributes 

1 6 pert colors 

255Layers 

9 Lmetypes 

12 Text fonts 

32Ptmarkertypes 
Screen Display 

Zoom/Pan/Ful! 

8SaveVie« 

Slidesave/view 

Gridson/olt 
Metric & English Standards 

Engineering (deomal/lracttonal) 

Architectural ((tin) 

Projectdrawlnginlo. 

Numeric Input 

Keyboard and cursor 

Absolute. Relative, Polar 
Snap Modes 

Gridpoint 

Endpoint 

Midpoint 

Intersect 

On item 

Quadrant 

Tangent 

Arc center 
Transform/Copy 

Move 

Rotate 

Scale 

Mirror 

Align 



Modity/Edit 
Attributes 

Break/Divide 

FilleVchamter 

Tnm 

Sirelch 

Erase 

Explodesymbols & polygons 

Mask 

Replace 

Merge 

Region select 

Workgroup 

Autohatchlng, polygonllll 

Auto Dimensions 

Linear Hor/Ver/Aligned 

Angular 

Oia/Radius 

Leader Notes 

Ordinate 

Chains Baseline 
Check calculations 

Coordinates 

Distance & angle 

AreaS perimeter 
Item Masking 
Hardware 
Computers 

IBM PCXT AT and compatibles 

AT&T 6300 Plus 

Zenilli 

SystemRequirements 

- 512K RAM 

- RS-232 Commport 

— Mouse or digitizer 

— Coprocessor recommended 
GraphlciDiiplayboards 

IBM CGA/EGA and compatibles 
Hercules, and a widerangeof 
graphics boards 
Digitizers & Locators 

AHpopularlocaloidencesstipported 
Plotters 
AllpopuIarplottersCC"size) 

supported 
"E'size plotter option available 
Printers 
Allpopularlaserand dot matrix 
pnnterssupported 




Order Now! Call Toil-Free! 1-800-2 31"8 5 74, Ext. 150 



□ Drafix I CAD Package 

□ Drafix I with Mouse 
Mouse Systems^ 
Torrington 



□ Drafix I with SummaSketch tablet 

□ AutoCAD File Exchange Utility 



TORE 

RE! 




$295 
$395 



$585 
$ 95 



Check, money order, Visa 
and MasterCard accepted 

Dealer inquiries welcome 



GHT 

RCES CORP." 



932 Massachusetts Lawrence, KS 66044 913/841-1121 



Inquiry 139 for End-Users. Inquiry 140 for DEALERS ONLY. 



MAY 1986 -BYTE 27 




mm^<0^ 



One IBM PC, XT/AT or compat- 
ible, plus one Advanced Digital 
PC- Slave II, now equals a com- 
plete 3-user (or more) system. 

Do you need a true multi- 
user PC system? 

If so, read on. The Advanced 
Digital solution will simply add 
up in your favor. 

To add two or more users to 
your IBM PC, XT/AT or compat- 
ible, just plug in our PC-SLAVE II 
and two low-cost monochrome 
monitors and keyboards. You can 
now run PC-DOS™ or MS-DOS™ 
on each user with PC-NET™ soft- 
ware to support your network. 
The end result is a true multi- 
processor system that allows each 
user to run independently on 
their own CPU and memory, yet 
sharing a common data base. 

Do you need networking 
capabilities? 

The realm of IBM networks is 
only a step away with the 



The UhimateT^&o 

IBM PC" Card 



m x x y ."' .** y y y y y * *' Cfa: ' 

•t\ > > .t .. .-,._.... 

L, \j i' L L L l <j .■ j .,■ , 



t'-l-v 



m 



PC-Slave II and PC-NET software. 
An expanding network of multi- 
user PC's is truly cost-effective 
since you will be sharing data and 
communication between users and 
PCs. File and record locking are 
also provided so each user can 
run independently of others while 
still tied through the network. 

Do you need additional 
users? 

Expand your existing supply 
of PC standalones into multi-user 
systems by simply adding more 
PC-Slave II's. 

The PC-Slave II features two 
Intel 80188 CPU's @8Mhz, two 
512Kb RAM per CPU and two 
monochrome/keyboard controllers 
all on a single board. 

MS-DOS is a registered trademark of Microsoft 
PC-DOS, PC-NET are registered trademarks 
of IBM Corporation 

PC-Slave II is a registered trademark of 
Advanced Digital Corporation 





ffifc J j .i j r 7 ,f r y j y tf 
r si ' i j .i j j .? i i ■ i i ■ ■ 
rv ■ ■ ■ ■ ,'-1 




i ■■■<■■ 



mm:' : :-<m 



PC SLAVE II BOARD 



To learn more about the multi-user 
solution contact: 

ADVANCED DIGITAL CORPORATION 

5432 Production Drive 
Huntington Beach, CA 92649 
(714) 891-4004 (800) 251-1801 
Telex 183210 ADVANCED HTBH 

ADVANCED DIGITAL U.K. LTD. 

27 Princes Street, Hanover Square 
London W1R8NQ-United Kingdom 
(01) 409-0777 (01) 409-3351 
TLX 265840 FINEST 



<£> ADVANCED/ 
DIGITAL 

CORPORATIO N/ 

Inquiry 6 for End-Users. 
Inquiry 7 for DEALERS ONLY. 



WHAT'S NEW 



Compaq Announces 
80286-based Portable 

Compaq Computer Corp. 
has introduced the 
Compaq Portable II. an IBM 
PC AT-compatible computer 
based on an Intel 80286 
processor running at 6 or 8 
MHz. Lighter and smaller 
than the original Compaq 
Portable, the new computer 
weighs 23.6 pounds and 
measures 7.5 by 13.9 by 
17.7 inches. It has a 
modified IBM PC AT key- 
board, a 9-inch mono- 
chrome monitor, a real-time 
clock, a socket for an 80287 
coprocessor, parallel and 
serial interfaces, and inter- 
faces for an RGB or com- 
posite monitor or standard 
TV set. The dual-mode moni- 
tor displays 80 characters by 
25 lines and has a resolution 
of 640 by 200 pixels in 
graphics mode and 720 by 
350 pixels in text mode. 

The machine has room for 
up to two storage devices, 
either two I/3-height 360K- 
byte floppy-disk drives or 
one floppy drive and a 
1/2-height 10-megabyte hard- 
disk drive. Like the hard disk 
in the company's first por- 
table, the new portable's 
hard-disk drive is shock- 
mounted, but it now in- 
cludes a disk-controller 
board, eliminating the need 
for an expansion board. 

One of the computer's ex- 
pansion slots is 8-bit, and 
the other is 8-/1 6-bit. The 
main system board can hold 
640K bytes of RAM. An op- 
tional memory board that 
attaches under the main sys- 
tem board enables you to 




line Compaq Portable II runs on an 80286 processor. 



expand memory to 2.1 
megabytes without using an 
expansion slot. All con- 
figurations can hold up to 
4.1 megabytes of RAM. 

The new machine's 165- 
watt power supply, which is 
more powerful than that of 
the original portable, uses 
surface-mount technology to 
achieve greater power in a 
smaller unit. As an $89 op- 
tion, the Compaq Portable II 
features an automatic 
power-switching board that 
senses whether you have 
1 10- or 220-volt operation 
and adjusts the machine to 
handle the correct voltage. 

The Compaq Portable II 
sells for $3499 with 2 56K 
bytes of RAM and one 
360K-byte floppy drive; 
$3 599 with 2 56K bytes of 
RAM and two floppy drives; 
and $4799 with 640K bytes 
of RAM, one floppy drive, 
and one 10-megabyte hard 
disk. Contact Compaq Com- 
puter Corp.. 20555 FM 149. 
Houston. TX 77070. (713) 
370-0670. 
Inquiry 550. 



Atari ST Hard Disks 

The SupraDrive Hard 
Disk series for the Atari 
520ST and 1040ST com- 
puters is available with 10. 
20, 30, or 60 megabytes of 
storage. The drives attach to 
the computer's high-speed 
DMA port and. according to 
the company, improve the 
speed of data transfer by 
three to ten times over that 
of floppy-disk-based systems. 
The company says the burst 
data-transfer rate is I5 5K 
bytes per second for the 
10-megabyte drive, 625K 
bytes per second for the 
20-megabyte drive, and 
940K bytes per second for 
the 30- and 60-megabyte 
drives. 

The 520ST and 1040ST 
can boot directly from the 
SupraDrives. All the drives 
come with software that in- 
cludes formatting, partition- 
ing, and backup utilities. Par- 
titioning lets you create up 



to four logical drives for file 
storage, each of which ap- 
pears as an icon on the 
GEM desktop and can be 
used like a separate disk 
drive. 

The drives are compatible 
with the TOS operating 
system and applications soft- 
ware and with other DMA- 
bus peripherals for the 
520ST and 1040ST. such as 
CD-ROM players, copro- 
cessors, and other devices. 
Prices are $799 for a 
10-megabyte drive; $995 for 
20 megabytes. $1295 for 30 
megabytes, and $1995 for 
60 megabytes. Contact 
Supra Corp.. 1133 Commer- 
cial Way, Albany. OR 97321. 
(503) 967-9075. 
Inquiry 551. 



Borland's Prolog 

Borland International 
released TUrbo Prolog, 
designed as a software 
simulation of the Japanese 
fifth-generation computing 
engine. The compiler runs 
on any IBM PC with at least 
384K bytes of RAM and one 
disk drive. 

Turbo Prolog is an in- 
cremental, six-pass compiler 
that produces native-code, 
linkable object modules; its 
linking format is compatible 
with the PC-DOS linker. The 
programming interface, 
which employs its own pull- 
down menus and windows, 
lets you move back and 
forth between windows for 
purposes of editing, debug- 
ging, listing, and running a 
program. 'Type checking can 
be done across module 
boundaries. Borland says 
there are no limits to the 

[continued] 



MAY 1986 • BYTE 29 



WHAT'S NEW 



size of compiled modules or 
source code. The language 
supports color, graphics, 
turtle graphics, sound, and 
windowing. 

The $99.95 package con- 
sists of the compiler, a full- 
screen text editor (with 
automatic identification of 
source-code errors), a refer- 
ence manual, and a tutorial. 
The disk also holds com- 
mented source code for 
GeoBase, a natural-query- 
language database about 
U.S. geography. Contact 
Borland International, 4585 
Scotts Valley Dr., Scotts 
Valley, CA 95066, (408) 
438-8400. 
Inquiry 552. 

Memory-Resident 
Lotus Utility 

Designed for use with 
Lotus's 1-2-3 and Sym- 
phony, SQZ! from Turner 
Hall Publishing is a memory- 
resident program that com- 
presses, or squeezes, work- 
sheet files automatically 
when you save them on 
disk. According to the com- 
pany, the program reduces 
the size of worksheets by 
approximately 80 percent. It 
automatically restores the 
files to their original size 
when you retrieve them, 
with no loss of content. 
Worksheets remain their 
original size in RAM. 

In addition to reducing the 
storage space that files re- 
quire, the program cuts the 
time spent saving and load- 
ing files on floppy-based 
systems and reduces the 
cost of sending files elec- 
tronically. A 1 50K-byte file 
that normally takes 20 
minutes to transmit at 1200 
bps takes 2 minutes after it's 
compressed, the company 
says. The program can also 
encrypt files and save them 
as ASCII text. 

SQZFs compression capa- 
bilities are based on public- 
domain and proprietary 
algorithms and take advan- 
tage of redundancy in the 




Cricket Graph produces color graphics with the Mac. 



Lotus file formats. The pro- 
gram occupies less than 30K 
bytes of memory and sup- 
ports the Lotus/lntel/Micro- 
soft expanded memory 
specification. SQZ! runs on 
IBM PCs and compatibles 
and costs $79.95. For more 
information, contact Turner 
Hall Publishing, 10201 Torre 
Ave.. Cupertino, CA 95014, 
(408) 2 53-9607. 
Inquiry 553. 

Color Graphics, 
Page-Layout Software 
for Mac 

Cricket Software's Cricket 
Graph offers users of 
the 512K-byte Macintosh the 
capability to design and 
print presentation graphics 
in color. And because it can 
handle multiple-graph page 
layouts, the program can be 
used for certain desktop- 
publishing applications. 

Cricket Graph provides 12 
types of graphs and charts: 
scatter, line, area, bar, col- 
umn, stacked bar, stacked 
column, pie, polar, quality 
control, double Y. and text. 
It can plot more than 2000 
data points per series and 
allows for regression-curve 
fits, three-dimensional depth, 
and error bars. 

The software lets you 
enter data in a spreadsheet- 



like form or import it from 
SYLK files, text files, or from 
other applications through 
the clipboard. You can sort 
data, group it by ranges of 
values, smooth it, and trans- 
form it by logarithmic, 
trigonometric, exponential, 
and statistical functions. A 
dialog box provides for 
changing axis tick marks 
and labels, plot symbols, 
and bar patterns. You can 
resize plot frames and ex- 
plode pie chart segments. 

You can assign any of 
eight printer ribbon or pen 
hues and 16 fill patterns. 
Cricket Graph prints color 
on the Apple Imagewriter 11. 
Apple Color Plotter, and 
Hewlett-Packard 7470A and 
7 47 5 A color plotters. (Ver- 
sions of the program are 
available for other printers, 
and other versions let you 
put your work on 3 5mm 
color slides.) 

With the package's layout 
capabilities, you can move, 
resize, and overlay as many 
as 10 graphs per page. 
Color graphs and charts can 
be imported to MacPub- 
lisher II and merged with 
text and images. Cricket 
Graph stores graphics inter- 
nally in PICT, rather than bit- 
mapped, files and retains 
color data when passing 
files to black-and-white 
applications. 

Cricket Graph has a sug- 
gested retail price of $195; 



versions for film recorders 
and color printers are $495; 
a demo disk is $6.95. Con- 
tact Cricket Software, 3 508 
Market St., Suite 206. 
Philadelphia. PA 19104. (800) 
34 5-8112; in Pennsylvania, 
(215) 387-7955. 
Inquiry 554. 

Robotics Controller 
for Apples 

The VIP (Very Intelligent 
Peripheral) Card from 
Bukowski Robotics is an 
Apple-compatible robotics 
controller card that can be 
used as a stand-alone con- 
troller or as a coprocessor 
in an Apple 11. You develop 
programs for robotics or 
control applications in 
BASIC or other languages, 
load the programs into the 
card from the computer's 
disk drive, and then place 
the card into the robot or 
other device to be con- 
trolled. 

The card has a 65C02 
microprocessor, 16 I/O lines, 
two timer/counters, and 8K 
bytes of nonvolatile RAM. It 
can be expanded to include 
48 I/O lines, six timer/ 
counters, and 24K bytes of 
EPROM or static RAM. 
Other options include a real- 
time clock/calendar, a 
16-channel relay controller 
board, and an 8-channel 
8-bit data-acquisition board. 
Memory modules with up to 
128K bytes of RAM and bat- 
tery backup are also avail- 
able. 

The card fits into any slot 
of an Apple 11, N + , or He; 
software bundled with the 
card includes routines for a 
parallel port, serial port, 
stepper-motor driver, and a 
variety of home-control utili- 
ties. 

The VIP Card costs $129. 
For more information, con- 
tact Bukowski Robotics, 1555 
West University, Suite 105, 
Tempe, AZ 85281. (602) 
966-6230. 
Inquiry 555. 

[continued) 



30 BYTE • MAY 1986 




Evercom™... 1200 baud, $249 



Now the EVEREX Evercom 
modem is available on a half -size 
card, perfect for the short slots in the 
IBM XT, Portable, and many 
compatibles. EVEREX has 
combined innovative engineering 
and technology to produce a quality 



Hayes-compatible 1 200 baud 
modem that out performs the 
competition at a lower price. 
EVEREX engineering is the key 
ingredient that delivers QUALITY 
and FEATURES without sacrificing 
PRICE. 



Before you buy a modem, check these features: 



• 300/1200 bps Hayes-compatible 

• Half-si/.e card 

• Automatic dialing, answering, 

and redialing 

• Call Progress Monitoring 

• Configurable from COM1 - COM4 

• Internal Speaker with software 

adjustable volume control 
» Tone and pulse dialing 



EVERCOM 




YES 
YES 
YES 



• Automatic data-to-voice 

transition 

• Detects receiver off -hook 

• Reports speed mismatch 

• Supports 132 columns 

• Communications software included 

• Extended Hayes command set 

• List price 



YES 

YES 
YES 
YES 
YES 
YES 
$249 



HAYES 1200B 
YES 
NO 
YES 

NO 
NO 
NO 

YES 

NO 

NO 
NO 
NO 
NO 

$489 



Demonstration ~ FREE 
Brochure 

Remember, before you buy a 
modem, check the features, check 
the price, and then call EVEREX to 
set up a demonstration at your local 
dealer. 

When you call, we will also send 
you the total solution brochure 
describing EVEREX's complete line 
of IBM microcomputer peripherals. 

1-800-821-0806 

in California 

1-800-821-0807 



EVER for Excellence 

48431 Milmont Dr. Fremont CA 94539 
(415)498-1111 



Evercom is a trademark of Everex Systems. Inc. IBM PC and XT are registered trademarks of International Business Machines Corp. Hayes 1200B is a trademark of Hayes Microcomputer Products Inc. 
Inquiry 131 for End-Users. Inquiry 132 for DEALERS ONLY. MAY 1986 -BYTE 31 



WHAT'S NEW 



Image Processing 
on the PC AT 

Data Translation's image- 
processing system for 
the IBM PC AT consists of 
two plug-in boards. A high- 
resolution frame-grabber 
board (the DT2851) captures 
512 by 512 by 8-bit video 
images, stores them in mem- 
ory, processes them in real 
time, and displays them. A 
second board, the Auxiliary 
Frame Processor (DT2858) 
connects directly to the 
frame grabber through I/O 
ports and speeds image- 
processing calculations. The 
firm claims that the DT2858 
executes convolutions on a 
512 by 512 by 16-bit image 
frame in .85 seconds, as 
compared with 4 to 5 
seconds on the PC AT 
alone. 

The frame grabber can 
operate with standard and 
nonstandard video sources, 
including video cameras, 
VCRs, and slow-scan devices. 
The processor can merge, 
subtract, and offset frames 
by a constant and allows 
AND, OR, and XOR logic 
operations. It has multiple 
input and output lookup 
tables for creating thresh- 
olds and contours and pro- 
ducing pseudocolor. 

Features of the board in- 
clude an 8-bit video A/D 
converter and three 8-bit 
D/A converters. The board's 
two 2 56K-byte memory buf- 
fers can store two complete 
image frames on board, per- 
mitting parallel processing 
of multiple images. 

The auxiliary board has a 
16-bit pipelined processor 
and a RAM conversion 
table. It speeds the creation 
of histograms and convolu- 
tions and operations such as 
zoom, pan, and scroll. 

Optional DT-1R1S Image 
Processing Software is also 
available. The package con- 
tains a subroutine library 
that can be called from 
BASIC Pascal. C. FORTRAN, 
and macro assembler. Rou- 



/ / w 

fig Mil ■ B£Tffljj|gi«lErepregi^ 

w ifrC 





Data Translation's image-processing boards. 



tines include windowing, 
frame averaging, and text, 
line, and circle overlays. 

List price for the frame 
grabber is $2995 and for 
the auxiliary processor, 
$1495. The D1-1R1S software 
costs $995. Contact Data 
Translation Inc., 100 Locke 
Dr., Marlboro. MA 01752. 
(617) 481-3700. 
Inquiry 556. 

Amiga CAD Tool 

PCLO (printed circuit 
board layout) is a 
multiple-layer interactive 
autorouting CAD program 
for engineers and techni- 
cians using the Commodore 
Amiga. Full trace manipula- 
tion and editing, n-layer 
capability, and use of graph- 
ics are among this package's 
features. 

PCLO is priced at $1000 
for single sites; multiple-site 
licenses are available. For 
more information, contact 
SoftCircuits Inc., 401 South- 



west 75th Terrace, North 
Lauderdale, FL 3 3068. (305) 
721-2707. 
Inquiry 557. 

Software Lets Mac 
Work Like Apple II 

Computer Applications 
has developed a pro- 
gram called 11 in a Mac that 
lets you run Apple DOS 3.3 
and ProDOS programs on 
the 512K-byte Macintosh. 
With 11 in a Mac, you can 
transfer commercial and 
public-domain Apple 11 soft- 
ware to the Macintosh com- 
puter without modification. 
Features of the emulator 
include four logical drives, 
RAM disks, joystick, lan- 
guage card, clock, keyboard 
buffer, high- and low- 
resolution graphics, 68000 
system calls, and Apple II 
soft switches and hardware 
accesses. The program also 
provides access to Mac 



peripheral hardware through 
the printer and modem 
ports and works with desk 
accessories and Switcher 
software. 

11 in a Mac comes with 
communications software for 
the Apple 11 and the Macin- 
tosh. You can choose a 
serial transfer (using the 
Imagewriter cable) or a 
modem transfer. 

Computer Applications of- 
fers library disks containing 
public-domain Apple II pro- 
grams for business, enter- 
tainment, and graphics uses. 

Retail price of II in a Mac 
is $69.95. For more informa- 
tion, contact Computer Ap- 
plications Inc., 12813 Lindley 
Dr.. Raleigh, NC 27614. (919) 
846-1411. 
Inquiry 558. 

Ada Compiler for 
MS-/PC-DOS Machines 

Artek has developed an 
Ada compiler that runs 
under MS- and PC-DOS and 
comes with a full-screen 
editor, an interpreter/debug- 
ger, a linker/library manager, 
an A-code disassembler, and 
documentation for $895. 
Artek says its system meets 
all the 1983 Department of 
Defense specifications ex- 
cept tasking. 

The compiler package fea- 
tures generic subprograms 
and packages, as well as ar- 
ray and record aggregates, 
operator overloading, and 
dynamic arrays and excep- 
tions. It takes a single pass 
over source code in order 
to produce executable 
pseudocode. You can invoke 
a second pass to translate 
this A-code into machine 
language for the Intel 8086. 

The compiler system re- 
quires at least 38 4K bytes of 
memory. A hard disk is 
recommended for develop- 
ment of large applications. 
Contact Artek Corp, 100 
Seaview Dr., Secaucus, NJ 
07094. (800) 722-783 5; in 
New Jersey, (201) 867-2900. 
Inquiry 559. 

[continued) 



32 BYTE • MAY 1986 



SuperKey, PC Magazine's "Product of the Year" 

Without SideKick, SuperKey, 

and Traveling SideKick, 

your IBM PC is only half-awake 



Bury one, buy two, or all 
three at spectacular savings 

Sold separately— SuperKey Is 
$69.95, SideKick is 184.95, and 



It's sleepwalking instead of 
sprinting. Dawdling instead 
of dashing, because it's not 
getting the supercharge of a 
high-speed productivity 
booster like SuperKey,® PC 
Magazine's "Product of the 
Year." Or the real-time desk- 
top management of SideKick,® 
the #1 best seller for the IBM® 
PC. Or the electronic clout and 
Computer Age organizational 
skills of Traveling SideKick™ 



SuperKey "macros" are 
electronic shortcuts to 
success 

You avoid repetition like 
\ getting out of bed 47 
[ times eveiy morning, 
[•cooking dinner 93 
times eveiy night— 
when once Is 
obviously 
enough. But 
if you haven't 
| yet discovered 
the time- 
saving power 
of SuperKey, you'll find yourself 
typing the same set of keystrokes 
over and over again. Which 
makes no sense when a 
SuperKey macro cuts all that out. 
Macros are electronic shortcuts 
that can turn 1000 keystrokes 
intol. 

Aside from macros, SuperKey 
also gives you powerful 
encryption technology that 
scrambles your files and keeps 
confidential files confidential It 
also lets you lock your keyboard, 
and foils would-be intruders with 
secret password protection. 





Combine the electronic 
wizardry of SuperKey with 
the practical efficiency of 
SideKick 

The best way to get the most 
done in the shortest time is to put 
both SuperKey and SideKick to 
work They're designed to work 
hand-in-hand, and their comple- 
mentary talents are astounding. 



What SuperKey brings to the 
party includes time-saving 
macros, encryption, secret 
passwords, and programmable 
and re-programmable keys. 

What SideKick brings includes 
a notepad with rull-screen editing 
and wordwrap, a phone directory, 
autodialer, calculator, appoint- 
ment scheduler, and ASCII 
table. (If you don't own a word- 
processing program, don't buy 
one, because with SuperKey and 
SideKick, you probably don't 
need one.) 

Both SuperKey and SideKick 
work with your existing software, 
like Reflex,™ 1-2-3 • MultiMate,™ 
Wordstar* Itirbo Pascal,* 
and dBase* 



Traveling SideKick gets gather ft all together into your Traveling 
personal organizers out of SideKick binder and hilthe road. 



the Stone Age into fche 
ComputerAge 

II you have SideKick, you need 
TravelingS.ideKick—and if you don't 
have SideKick, you need them both! 
Traveling SideKick is a revolutionary new 
combination of binder and software, 
making a completely new category in 
personal organizers: BinderWare!" It 
prints out information Ms already in 
your SideKick files, produces it in 
convenient familiar forms, then lets you 



Traveling SideKick includes report- 
generating software which produces up- 
to-the-minute telephone lists, address 
lists, meeting schedules, travel itineraries, 
calendars, and much much more. It also 
includes instant reference maps, airline 
and hotel reservation numbers, inter- 
national telephone codes, and currency 
units. You get preprinted daily /weekly! 
monthly! yearly calendar forms, alpha- 
betized address book forms, and even a 
receipt envelope that clips inside your 
binder. You can order refills at any time. 

What's inside your Travehng Sidekick 



^> 




ADDRESS BOOK SECTION 

PREPRINTED ADDRESS FORMS WITH TA88ED 

DMOERSFOH EASY REFERENCE 

MISCELLANEOUS SECTION 

TO STORE ALL EXTRA PREPRINTED FORMS AND 

COMMONlYUSED RECORDS 



CONTAINS MAPS THAT SHOW AREA COOES AND 

TIME ZOfJES TOLL-FREE NUMBERS FOR TRAVEL 

ACCOMODATIONS, METFDC CONVERSION CHARTS 

FINANCE SECTION 

MULTI-USE LEDGER FORMS. RECEIPT LOG AND 

STORAGE ENVELOPE. CREDIT CARP INFORMATION 

CALENDAR SECTION 

YEARLY. MONTHLY, WEEKLY. AND DAILY 

ENGAGEMENT CALENDARS SUPPLEMB.TT THOSE 

YOU PRINT OUT WITH TRAVELING SIDEKICK 



PENDING SECTION 

A "TO BE CONTINUED" SECTION FOR CURRENT 

PROJECTS. MEETING NOTES, ETC 

CALCULATOR 

IN ONE OF tWO BUSINESS-CARD-SIZE STORAGE 

POCKETS. 

TRAVELING SIDEKICK SOFTWARE 
GENERATES. UPDATES. AND PRINTS YOUR 
ADDRESS AND CALENDAR FILES 



BORLAND 

INTERNATIONAL 



4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY. CA 95066 
(408) 438-8400 TELEX 172373 

Inquiry 42 for End-Users. 
Inquiry 43 for DEALERS ONLY. 



Borland products include Turbo Database Toolbox, Turbo Lightning, TVirbo Tutor, Turbo GameWorks, and Turbo Editor Toolbox-all of which are 
registered trademarks or trademarks of Borland International or Borland/Analytica, Inc. 

SuperKey, Toxto Faecal, and SideKick are registered trademarks, and Traveling SideKick, Reflex, and Binder-Ware are trademarks of Borland 
International, Inc. IBM la a registered trademark of International Business Machines Coip. 1-S3 is a registered trademark of Lotus Development Ooip. 
MuluMate Is a trademark of MuluMaie International Oorp. Wordstar is a registered trademark of MicroPro International Coip. dBase is a registered 
trademark of Aahton-Tata. Copyrlgh 1 1988 Borland International B1-1040A 



YES! 



I want 
the best. 



To order by phone, 
or for a dealer near you, 

call (800) 255-8008 

in CA call (800) 742-1 133 

Rush me: 

Copies Product Price Totals 



Trio $175.00* 5_ 

SideKick and 
Traveling SideKick 125.00' 5_ 

SideKick 84.95 S_ 

Traveling SideKick 69.95' S_ 

SuperKey 69.95 $- 

Subtotal $ 

Outside USA add $10 per copy 

CA and MA res. add sales tax $ 



Amount enclosed $ ^__^^ 
Prices include shipping to all US cities. 
Payment: VISA MC Bank Dralt Check 
Credit card expiration date / / 

CWI I I I I I I II I I 

I I I I I I I I I I 
NOT COPY-PROTECTED 
"60-DAY MONEY-BACK GUARANTEE 

Name: 

Shipping Address: 



.Zip: 



Telephone: 

CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by bank dratt. payable in US dollars 
drawn on a US bank 
'Limited Time Oiler until September I. 1986 

"YES. within 60 days ol purchase, should you lind thai this 
product does not perform in accordance with our claims please 
call our customer service department and we will gladly arrange 
a retund. 

Minimum system requirements: 

IBM PC. XI Al, or trie compatible. 

Trio— 384K. SideKick— I28K. Traveling SideKick— 256K. Tm c ! 

SuperKey-l2BK 



|^^^2Ji|' 



TV 



\, 



WHAT'S NEW 



32-bit Processor 
for IBM PC 

Oasys announced a 
3 2 -bit coprocessor 
board that the company 
claims provides VAX-like 
performance on an IBM PC. 
Called the DS-32, the board 
uses the 10-MHz National 
Semiconductor 32032 pro- 
cessor with full 3 2 -bit data 
paths and no wait states. 
The board can accom- 
modate 2 megabytes of 
memory, and up to 4 mega- 
bytes of additional memory 
is available with an add-on 
board. 

Other features of the 
DS-32 include the National 
Semiconductor NS32081 
floating-point coprocessor, 
two serial ports, and a 16-bit 
interrupt-driven counter/ 
timer. An NS32082 MMU is 
optional. 

The DS-32 can run UNIX 
System V release 2 and Vir- 
tual MS-DOS simultaneously 
while the IBM PCs pro- 
cessor runs MS-DOS. Ac- 
cording to the company. Vir- 
tual MS-DOS adds demand- 
paged virtual memory capa- 
bilities to MS-DOS. enabling 
the computer to run tasks as 
large as 1 5 megabytes. The 
board supports Green Hills' 
native and cross compilers 
for 68000 and 32000 sys- 
tems, as well as develop- 
ment packages from Oasys. 

The coprocessor board fits 
into one slot on an IBM PC 
or compatible. Prices for 
10-MHz. 1 -megabyte systems 
begin at $2500. For more in- 
formation, contact Oasys. 60 
Aberdeen Ave.. Cambridge. 
MA 02138. (617) 491-4180. 
Inquiry 560. 

Graphics Program 
Resides in RAM 

New England Software 
introduced Graph-in- 
the-Box, a memory-resident 
program that lets you create 
business graphs from data 
in spreadsheets, databases, 
word processors, and other 




Graph-in-the-Box memory-resident software. 



application programs. The 
program will create charts 
with data from programs 
that have no graphics capa- 
bilities and with computers 
that are not equipped for 
graphics. 

Unlike most graphics pro- 
grams, Graph-in-the-Box cap- 
tures information that you 
highlight on screen with the 
cursor. It converts the cap- 
tured data to a chart that 
you can analyze on screen, 
store, or print. You can 
choose from 1 1 types of 
charts, all of which are 
represented by icons on the 
program's menu. Choices in- 
clude column, stacked col- 
umn, bar, stacked bar, line, 
line with filled area, step, 
step with filled area, scatter, 
pie, and exploded pie 
charts. You can also capture 
titles and captions, add grid 
lines, fill patterns, and 
change scale. 

The program works with 
other memory-resident pro- 
grams and with IBM- and 
Hercules-compatible graph- 
ics boards, IBM- and Epson- 
compatible dot-matrix 
printers, and HP-compatible 
laser printers and plotters. It 
resides in I28K bytes of 
memory and runs on IBM 
PCs and compatibles with a 
minimum of 256K of mem- 
ory. 



Graph-in-the-Box sells for 
$97.60. For more informa- 
tion, contact New England 
Software, Greenwich Office 
Park 3. Greenwich. CT 
06830. (203) 62 5-0062. 
Inquiry 561. 

More Storage 
for the Mac Plus 

Univation's SlimLine Hard 
Disk Subsystem com- 
bines a hard disk and a 
removable cartridge for the 
Macintosh Plus. The Slim- 
Line unit connects to the 
SCSI port on the computer 
and transfers data at a rate 
of 5 megabytes per second. 
The removable cartridge is 
mounted vertically below 
the hard disk, and both are 
housed in an enclosure that 
serves as a base for the 
computer. 

The drives come in con- 
figurations that combine a 
20- 30-. or 40-megabyte 
Preformatted hard disk with 
a 10-megabyte removable 
cartridge. A unit with two 
removable cartridges is also 
available. A SlimLine drive 
with a 10-megabyte remov- 
able cartridge and a 
20-megabyte hard disk costs 
$2995; with a 30-megabyte 
hard disk. $3295; and with a 
40-megabyte hard disk, 
$4495. A unit with two 
removable cartridges sells 



for $3495. The company 
plans to sell a drive with 
one removable cartridge 
only for less than $2 500. 
Contact Univation Inc., 
1231 California Circle. 
Milpitas. CA 95035. (408) 
263-1200. 
Inquiry 562. 

GridNet LAN Uses 
Existing AC Wiring 

GridComm's GCM 
GridNet is a local-area 
network that uses an office's 
existing electrical wiring as 
the network medium. The 
network uses an interface 
called the.GC-1400 to con- 
nect any personal computer 
equipped with a serial or 
parallel port to an electrical 
outlet. The interface 
modulates the data from the 
computer's port, encrypts it. 
and sends it via an error- 
correcting communications 
channel to another interface. 

The GC-1400 contains 8K 
bytes of memory that func- 
tion as an electronic mail in- 
box. The data-transmission 
rate is 5760 bps. with a 
claimed error rate of zero. 
Up to eight connections can 
be made on the network at 
the same time. The geo- 
graphical size of the net- 
work is limited to 50.000 
square feet. 

Also available are two 
other interfaces; the 
GC-1100, a receive-only in- 
terface designed for con- 
necting a printer to the net- 
work, and the GC-Zero. a 
300/1200-bps modem that 
allows users of the network 
to connect with remote sys- 
tems and vice versa. 

The GC-140 costs $549. 
the GC-1100 sells for $449. 
and the GC-Zero modem 
sells for $799. For more in- 
formation, contact Grid- 
Comm Inc.. 20 Old Ridge- 
bury Rd., Danbury. CT 
06810. (203) 790-9077. 
Inquiry 563. 

[continued) 



34 BYTE • MAY 1986 



This is the Modula 2 

compiler everybody's 

been waiting for... 



Especially Turbo Pascal users! 




H MODULA 



)tt,can cross the bridge to Modula-2 with ease 



loduIa-2iat its absolute best. It's a fully integrated development 
nent that takes into account what you need as a programmer. Without leaving 
Editor, you can call the compiler, linker and utilities. 

With Logitech's Modula-2, you'll have the ability to edit several files at once, 
comparing, window to window, various code modules. You can even move from 
window to window compiling, linking, debugging and running. 

The compiler has the kind of power and room to breathe that you really need in 
today's complex applications. It is as easy to use as Turbo Pascal, without your 
programs being limited to 64K of code. 

At your command will be the libraries of modules that make Modula-2 a 
programmer's dream. It has essentially the same structure as Pascal with the major 
addition of a library organization of code modules that allow you to put together 
programs on a solid, block-by-block, foundation of proven code. 

Whether you're working with a module of your own making, or one of the many in 
our library, you'll find the system by which each module is identified, described and 
stored an organizational masterpiece. And that's at the heart of Modula-2. 

Underneath the sophisticated system is a Modula-2 compiler that is the result of 
years of development and proven use in industry. We run on the Vax*, and we run on 
the IBM PC. And the code is portable-from one to the other. 

Best of all . . . you can have it right now! 



To place an order call our special toll free number 

800-231-7717 



in California 



800-552-8885 



$ 



Special offer until 8/ 1/86! 

includes 

Free! $49.95 value Turbo Pascal translator! 

Mow, you can lake your library with you! 



89 



Logitech Modula-2/86 Complete with Editor, 
cq(\ Run Time System, Linker, Cursor-posi- 
Os tioning debugger, 8087 Software Emula- 
tion, BCD module, Logitech's extended 
library, Utility to generate standard .EXE 
files, Turbo Pascal (and standard Pascal, 
too) to Modula-2 translator (included 
without charge until 8/1/86), and much, 
much more! 
Logitech Modula-2/86 with 8087 support Even if 
$11QV 0U haven't yet gotten an 8087 co-pro- 

lZ>/cessor, you can still use this version. 
Logitech Modula-2/86 Plus For machines with 
<ijIqq512K or more. Takes advantage of the 
loV larger memory to increase compilation 
speed by 50%! Supports 80186 and 80286 
as well as 8086 and 8088. Includes 8087 
and 80287 support, too. 
Window Package Now you can build true win- 
dowing into your Modula-2/86 code with 
ease, too. Very powerful and very full, yet 
only 15 K in size. Features virtual screens, 
color support, overlapping windows and a 
variety of borders. 



$49 



Run Time Debugger (source level) Much more 

$£Q P ower ^ u ' tnan J ust a symbolic RTD. 

Oy Display source code, data, procedure call 

chain and raw memory. Set break points, 

assign values to variables, pinpoint and 

identify bugs in your source. The ultimate 

professional's tool! 

Utilities Package Features a post-mortem de- 

$/1 bugger for static debugging. If a program 

*ts you've written crashes at run time, the 

situation is frozen, and you can pinpoint, 

in source, the cause of the error and the 

data at that moment. Also includes a 

disassembler, a cross reference utility and 

a "version" utility that allows conditional 

compilation. 

Make Utility Automatically selects modules af- 

$OQ f ectec * by code changes for quick and 

Ay minimal re-compilation and relinking. 

Even figures out dependencies for you. 

Library Sources Sourcecodeforourmajorlibrary 

$QQ moc ^ u ' es ^ s now available-for customiza- 

ss tion or exemplification. 
ROM Package If you need to produce rommable 
code, call our 800 number for further 
information on this package. 



w I'd like to take the next 
I CS ? logical step in programming. 
Please send my copy of Logitech Modula-2/86 
to the following address: 

□ VISA □ MasterCard □ Check Enclosed 



Card Number 

Signature 

Name 



Expiration Date 



Address . 
City 



State- 



_Zip_ 



_Phone (_ 



-)- 



Here's the configuration I'd like: 

□ Logitech Modula-2/86 $89 

□ Logitech Modula-2/86 $129 

with 8087 support 

□ Logitech Modula-2/86 Plus $189 

Please add $6.50 lor shipping 
and handling. 

Total enclosed $ 



And include the indicated items-. 
D Window Package $49 
D Run Time Debugger $69 

(source level) 
D Utilities Package $49 

□ Make Utility $29 

□ Library Sources $99 



(California residents, please add applicable sales lax) 



ffl LOGITECH 

LOGITECH, Inc. 

805 Veterans Boulevard 

Redwood City, California 94063 

Telephone (415) 365-9852 

For European pricing, please contact: 

LOGITECH SA 

Box 32. CH-1143 Apples. Switzerland 

Telephone 41 (21)774545 



Please call our 800 line for: D Information on our *VAX version □ Site License and University Discounts D Dealer and Distributor information 



Inquiry 208 



*Turbo Pascal is a registered trademark of Borland International 
MAY 1 986 • BYTE 35 



WHAT'S NEW 



EW SYSTEMS 



AT-Compatible for 
Under $2000 

The Gemini Advantage 
Processor (GAP) from 
Gemini Electronics is an IBM 
PC AT-compatible computer 
based on an 80286 micro- 
processor running at 6 or 8 
MHz. The computer comes 
with I megabyte of RAM on 
the main board, which has 
two selectable memory 
maps and a socket for an 
80287 coprocessor. A 
10-MHz microprocessor is 
optional. 

The GAP is equipped with 
12 expansion slots, six of 
which have 16-bit buses. Two 
8-bit slots accommodate 
long expansion cards, and 
the remaining four 8-bit 
slots hold short cards. The 
machine comes with one 
1.2-megabyte floppy-disk 
drive. Five half-height drive 
positions are available, with 
four accessible through the 
front of the case. 

An ATstyle keyboard is 
standard. The computer has 
an external reset button and 
a 230-watt power supply 
with an external fuse and a 
I10-/220-volt switch. 

Options for the GAP in- 
clude serial and parallel 
ports, graphics cards, mono- 
chrome and high- and 
medium-resolution color 
monitors, plotters, and 
digitizers. Also optional is a 
360K-byte floppy-disk drive 
and fast-access hard-disk 
drives with 10. 20. 30. and 
40 megabytes of storage. 
Prices for the hard disks 
range from $342 to $882. 

The computer is priced at 
$1995. For more informa- 




Gemini Electronics GAR an IBM PC AT-cornpatibk 



tion, contact Gemini Elec- 
tronics Inc.. 130 Baywood 
Ave.. Longwood, FL 32750, 
(305) 830-8886. 
Inquiry 564. 

68020 Single-Board 
Computers 

Microbar Systems intro- 
duced two 68020- 
based single-board com- 
puters for Multibus systems. 
The GPC68020 is intended 
for use with real-time and 
multiuser operating systems 
and enables users of 16-bit 
Multibus 1 systems to up- 
grade to a 32-bit processor. 
The MT68020 is designed to 
improve the performance of 
32-bit Multibus II systems. 
Both are available with a 
12.5- or 16.67-MHz 68020 



microprocessor. The 
GPC68020 comes with I or 
2 megabytes of dual-ported 
dynamic RAM, while the 
MT68020 comes with 1 to 4 
megabytes. Both have inter- 
faces to an iSBX connector 
for add-on I/O modules, four 
28-pin sockets for PROMs. 
two serial ports, a 16-bit 
parallel port, and five 8-bit 
counter/timers. A memory- 
management unit, four- 
channel DMA controller, and 
floating-point coprocessor 
are options on both systems. 

The company says it will 
port UNIX System V and 
real-time operating systems 
to the MT68020. 

The GPC68020 with 1 
megabyte of RAM costs 
$2785. and the MT68020 
with 1 megabyte of RAM 
costs $3490. For further 



details, contact Microbar 
Systems Inc., 785 Lucerne 
Dr.. Sunnyvale. CA 94086. 
(408) 720-9300. 
Inquiry 565. 

Motorola's 68000 
Development System 
for IBM PCs 

Designed for software 
development. Motorolas 
PC/68000 converts an IBM 
PC into a multiprocessor 
host with a UNIX operating 
environment. 

The plug-in module runs 
the System V/68 operating 
system, which the firm says 
is functionally equivalent to 
AT&T's UNIX System V. Buf- 
fering and cache memory in 
both the IBM PC and PC/ 
68000 allow the 68000 to 
perform processing tasks 
while the 8088 or 80286 
handles I/O required by the 
68000. Switching between 
System V/68 and PC-DOS re- 
quires a two-keystroke com- 
bination, and files can be 
transferred both ways be- 
tween the two operating 
systems. 

The PC/68000 comes with 
a 10-MHz microprocessor, 
memory-management unit. 2 
megabytes of dual-ported 
RAM, the System V/68 oper- 
ating system, plus an I/O 
kernel and diagnostics. It 
sells for $4 500 and runs on 
an IBM PC with a 10-mega- 
byte hard disk. 

For more information, con- 
tact Motorola Semiconduc- 
tor Products Inc., POB 
20912, Phoenix. AZ 85036. 
(800) 521-6274. 
Inquiry 566. 



PERIPHERALS 



Everex Tkpe 

Drive for the IBM PC 

Everex Systems has re- 
leased an external tape 
backup drive that provides 
60 megabytes of storage 
capacity for the IBM PC and 



compatibles. Priced at $995. 
the Excel-Stream 60-8 con- 
tains a !4-inch streaming 
tape drive, power supply, 
and circuitry. The unit can 
back up 10 megabytes of 
data in two minutes. 



The tape drive features 
automatic formatting and 
read-after-write error check- 
ing. It has fully configurable 
DMA channels, port ad- 
dresses, and interrupt lines 
and uses QIC standards. 

The drive comes with soft- 



ware for file-by-file or image 
backup. Contact Everex 
Systems Inc., 47777 Warm 
Springs Blvd.. Fremont, CA 
94539, (415) 498-1111. 
Inquiry 567. 

[continued) 



36 BYTE • MAY 1986 



THIRD GENERATION PROGRAMMERS FROM GTEK 




GTEK MODEL 9000 (E)(E)PROM/MPU PROGRAMMER 

If time is money, then let us save some for you. The 
new model 9000, using its quick pulse algorithms, can 
program a 2764 in 10 seconds. The 9000 offers 
higher performance than the competition has even be- 
gun to think about. Baud rates to 57,600. Supports 
thru 5.12K standard, 8 meg wordwide parts with 
adapter, Cypress proms, mpu's. NO personality 
modules. As with our other programmers, RS- 
232, ASCII data formats, and flexible hand- 
shaking make the model 9000 compatible with 
virtually any computer. Introductory price $749. 



MODEL 7228 (E)EPROM/MPU 
PROGRAMMER The standard by which other 
other programmers are judged. With thousands 
in the field, the time proven 7228 has become 
our most popular programmer. Intelligent al- 
gorithms standard. Programs a 2764 in one min- 
ute. Supports devices thru 512K, mpu's, eeproms, 
cmos. NO personality modules. _^ Price $599 





MODEL 7956 GANG 
(E)EPROM/MPU 
PROGRAMMER 

The 7956 can program eight 
2764's in one minute using intelli- 
gent algorithms. Standard support 
thru 512K, eeproms, cmos, mpu's. A must 
for production emvirohments. Available in 

stand alone only configuration for $979 

or with RS-232 interface for $1099 



MODEL 7128 (E)EPROM/MPU PROGRAMMER The programmer that won't die. 
Thousands manufactured since 1982. Supports thru 256K. PRICE REDUCED to $389 
including free PGX communications software, a $95 value. 

MODEL 705 Motorola 68705 family programmer. Transfers object code to 28 and 40 pin 
mpu's. Single keystrokeoperation $299 

MODEL 7324 PAL PROGRAMMER The 7324 has a built-in compiler. It supports 20 and 
24 pin pals by MMI, NATIONAL, and TI, including the new shared product parts 20S10, 
20RS 10, 20RS8, 20RS4. It operates stand alone or via RS-232 with PALX communications 
package. Functionally tests parts after programming and securing. External compilers are 
supported thru JEDEC and AHSobjectformats $1499 

MODEL7322Sameas7324butnostandalonecapability $1249 

UTILITY PACKAGES 
PGMX High Speed Communications Package. For IBM PC, AT and compatibles. Bi- 
directional data rates to a scorching 57600 bps. Provides flexible manipulation of Intel Hex 
files, both 8 and 16 bit formats, and binary files. Use with model 9000 $149 

PGX Utility Package. For PCDOS, CPM, TRSDOS, ISIS, MSDOS. Use with 9000, 7956, 
7228, 7128 $95 

PALX Utility Package. Provides communication , download of Palasm source, JEDEC and 
AHS object files to models 7324, 7322, 7316 pal programmers $95 

CROSS ASSEMBLERS and SIMULATORS 

You name the cpu, we've got the assembler. Simulators allow target software development 
and testing on your computer. Versions available for PCDOS, MSDOS, CPM . . Start at $200 

ERASERS-We stock both Ultra Violet 

Products and Specrronics for your selection. 

MODEL CHIPS TIMER LAMP PRICE 

DE4 8 N Tube $80 



ACCESSORIES 

CABLES-serial $30, parallel $30, 
custom Call For Quote 

MODEL 481/482/483 8048family 
adapters $98 

MODEL 511/512 8051 family adapter $174 

MODEL 755/756 8755adapter . . . $135 

SPECI ALREQUIREMENTS? Call U s For A Quote On Custom OEM Programmers. 



PE14T 


9 


Y 


Tube 


$129 


C25 


25 


Y 


Grid 


$349 


C50 


50 


Y 


Grid 


$599 



Run CPM Software 
on Your IBM 
or IBM 
Compatible 





If you are a CPM user who wants to convert to 
MSDOS or PCDOS or a PC user who would 
like access to the thousands of CPM programs 
in existance. here is the perfect solution to the 
problem :CPEmulator from GTEK. 

CPEmulator is the only field proven emulator 
which emulates the complete Z-80 instruction 
set. Terminal attribute emulation is Televideo, 
Lear Siegler. or the AMSI standard. CPM 
.COM programs reside under PCDOS and are 
executable under PCDOS as well as 8086 por- 
grams. 

Comes complete with COPYCPM. a disk con- 
version utility which allows transferring data 
and programs to and from 54 different CPM 
disk formats. Free CPM utility programs are 
also included. 

Need speed? CPEmulators Speed Kit includes 
NEC V20 processor. (8080 opcodes only) 

CPEmulator Z80 emulator $199 

CPEmulator 8080 emulator w/V20 .... $199 

Both versions $298 

Call GTEK's CPM Hotline 1-601-467.9019 



The Printing Solution: 
Model 8014 Programmable 
Printer Switch 



V" : 4&Z 

V 




Finally a way to have as 
many parallel printers as 
you need even when 
you only have one 
^g parallel port. With 
GTEK's program- 
mable parallel 
switch, you can 
expand as you re- 
quire. Perfect for net- 
works. 

With the spooling version, 
you can allocate available memory to fit your 
requirements, get multiple copies and more. 

Both use ordinary IBM type parallel printer ca- 
bles, expand one port to four, and may be cas- 
caded in Star or Daisy Chain configurations for 
as many ports as desired. The desired port is 
selected with a simple escape sequence. For 
networks, previous selected port is saved on 
Port Stack and returned to with Return Escape 
Sequence. Complete with power supply. 

PRICE 

Model 8014 Four port programmable reduced 
switch $199 

Model8014-128K with 128Kspool memory 
memory $399 




TEK 



Development Hardware/Software 
P.O. Box 289, Waveland, MS 39576 U.S.A. 
601/467-8048; telex 315-814 (GTEK UD) 
,INC. 



Inquiry 15 1 



GTEK, PALASM, CPM, MS-DOS, PC-DOS, ISIS, TRSDOS, & CPEmulator are registered trademarks. 

MAY 1986 



BYTE 37 



WHAT'S NEW 



PERIPHERALS 



PC-based Interface 
System 

Ajida Technologies' Per- 
sonal Protosystem is a 
complete interface system 
for the IBM PC. You can 
design and build a circuit on 
the Protosystem. connect it 
to the signal lines provided 
on the console, and test it 
using your PC. The Protosys- 
tem software lets you con- 
trol the console signal levels 
and test your design. 

The 7- by 8- by 3-inch con- 
sole provides 32 bits of buf- 
fered digital I/O. two chan- 
nels of 8-bit A/D, two chan- 
nels of 8-bit D/A. three pro- 
grammable 5-MHz counter/ 
timers, a 4-MHz clock, 5-volt 
and 12 -volt power supplies, 
and breadboard space for 
24 14-pin DIPs. It connects 
to your IBM PC via the 
parallel port. 

The Personal Protosystem 
comes with setup software 
and a BASIC driver for 
$425: FORTH and C drivers 
are also available. Contact 
Ajida Technologies Inc., POB 
40178, Berkeley. CA 94704, 
(415) 548-6434. 
Inquiry 568. 

Sound Recorder 
for the Amiga 

The FutureSound digital 
sound recorder makes it 
possible to record play 
back, and store sounds from 
instruments or other sources 
on the Commodore Amiga. 
Among the recorder's fea- 
tures is multitrack record- 
ing, which lets you record 
several sounds and play 
them back simultaneously. 
The recorder offers variable 
recording speeds, ranging 
from a few samples per sec- 
ond to 28.000 samples per 
second, as well as variable 
playback speeds. 

The device connects 
directly to the computer's 
parallel port and is 
equipped with an additional 




Ajida Technologies' Personal Protosystem for IBM PCs. 



connector for a printer. It 
comes with a microphone, a 
jack for using other micro- 
phones, connecting cables, 
and recording software. 
FutureSound sells for 
$175. Contact Applied 
Visions. 15 Oak Ridge Rd., 
Medford. MA 02155. (617) 
488-3602. 
Inquiry 569. 

Excalibur Adds Speed 
and Memory to Mac 

Assimilation Process's Ex- 
calibur is an external 2- 
megabyte RAM drive for the 
Apple Macintosh that in- 
creases the speed at which 
the computer loads and ex- 
ecutes programs. According 
to the company, a Mac 
equipped with the drive 
loads and executes MacWrite 
in 6 seconds, while a floppy- 
based 512K Mac requires 28 
seconds, and a system with 
an Apple Hard Disk takes 1 1 
seconds. 

The RAM drive fits under 
the Macintosh and connects 
to the computer through the 
external disk-drive port. You 
can boot software directly 
from the drive, which re- 
quires no controlling soft- 



ware. The drive's battery 
backup will store data for 
six to eight hours. 

An external port on the 
back of the device lets you 
connect an external floppy 
disk, hard disk, or up to 
three additional Excalibur 
drives. The drive will also 
accommodate additional 
RAM. and the company says 
that upgrades will be avail- 
able in 1 -megabyte in- 
crements later this year. 

The 2-megabyte Excalibur 
costs $699 and runs on the 
Macintosh and Macintosh 
Plus. For more information, 
contact Assimilation Process 
Inc.. 20833 Stevens Creek 
Blvd., Suite 101. Cupertino, 
CA 95014, (408) 446-0797. 
Inquiry 570. 

CAD Plotter 

Enter Computer, manu- 
facturer of the Sweet-P 
plotter, announced the 
Model SPI200 plotter for 
computer-aided design and 
engineering. The plotter pro- 
duces drawings from size A 
to size E. a large format 
suitable for engineering and 
architectural drawings. 

The single-pen plotter 
emulates Houston Instru- 
ments' DM/PL plotter and is 
compatible with CAD/CAE 
software such as AutoCAD, 



VersaCAD. CADKEY. and 
others. The plotter uses HP- 
compatible pens and will 
also accept a variety of 
other pens. Pen speed 
reaches 10 axial inches per 
second with .002 5-inch 
resolution. 

The plotter comes with 
14K bytes of buffer space. It 
attaches to computers or 
CAD workstations through 
an RS-232C port that 
operates at rates between 
300 and 9600 bits per 
second. 

The Model SP1200 sells 
for $4995. For more infor- 
mation, contact Enter Com- 
puter Inc.. 6867 Nancy 
Ridge Dr., San Diego, CA 
92121, (619) 4 50-0601. 
Inquiry 571. 

1200-bps Acoustic 
Coupler 

Anderson jacobson has 
developed an acoustic 
coupler for use with por- 
table computers. Called the 
AJ 1232-P, the device com- 
municates at 1200 and 300 
bps and is compatible with 
Bell 212A and 103 stan- 
dards. It can be used in two 
modes, either as an acoustic 
coupler or as a direct- 
connect modem hooked to 
a telephone with a standard 
RJ-11 modular jack. You can 
power the coupler with an 
optional rechargeable 12-volt 
battery pack or plug it into 
a regular electrical outlet. 

The AJ 1232-P weighs 
about 4/2 pounds and 
measures 14 by 8/2 by 4 
inches, excluding the carry- 
ing case and battery pack. It 
costs $795. For more infor- 
mation, contact Anderson 
Jacobson Inc., 521 Charcot 
Ave., San jose. CA 95131. 
(408) 43 5-8520. 
Inquiry 572. 

[continued) 



38 BYTE • MAY 1986 



Inquiry 249 for End-Users. Inquiry 2 50 for DEALERS ONLY.— * 



ipp€T gives d 



BASE III users more time to do more. 



Clipper™ allows you 
to run all dBASE III™ 

programs 2 to 20 times 
faster than they do 
with the standard 
dBASE interpreter 

That frees up extra 
time you're wasting if 
you're running dBASE III 
programs without 
Clipper. 

Extra time to think. 
To create. To produce. 
To use as you choose. 

You see, Clipper is 
the first true compiler 
for dBASE III Clipper 
eliminates the time- 
consuming translation 
which the dBASE inter- 
preter performs line 
after line whenever a 
program is run. 



With Clipper, once 
you've debugged your 
source code, it's com- 
piled into more effi- 
cient machine code. 

And Clipper com- 
piles all your dBASE III 
programs. The ones 
you have today. The 
ones you'll have 
tomorrow. But don't 
wait until tomorrow 
to order Clipper. 

Today, Clipper has 
already been pur- 
chased to speed up 
dBASE run time at 3M 
and Touche Ross. At 
Exxon and NASA. In 



the Harvard Physics 
Department. For the 
State of Arizona 
and TRW. 

And that's just a few 
of the installations 
worldwide. From 
Greece to Venezuela 
to Canada to Europe. 

•So stop wasting time. 

Call our toll-free 800 
number and get Clipper. 



You'll spend less 
time running dBASE III 
and more time running 
the rest of your life. 



5995 S. Sepulveda Blvd., Culver City, CA 90230 (800)251-8438 In California (213)390-7923 



WHAT'S NEW 



A D D - I N S 



68000 Processor 
for Apple lis 

The R68 System adds a 
Motorola 68000 pro- 
cessor to an Apple 11, 11 + , 
or lie. The board is intended 
for 68000 software develop- 
ment and coprocessing, for 
teaching 68000 software de- 
velopment, or for digital 
signal processing when used 
with the company's digital 
scope and spectrum 
analyzer. Because the board 
runs as a stand-alone system 
after start-up, you can 
reboot the Apple and run 
other programs without af- 
fecting the board or the pro- 
gram it is currently 
executing. 

The R68 uses an 8-MHz 
processor; a 10- or 12-MHz 
processor is optional. Other 
features include' 48K to 
2 56K bytes of memory, 
eight levels of priority inter- 
rupt hardware, two levels of 
interrupt from the Apple to 
the 68000, four 8-bit inter- 
face ports between the 
Apple and 68000, two 8-bit 
I/O ports, two 16-bit pro- 
grammable counter/timers, 
and a serial port. 

Among the software's 
capabilities are routines for 
writing and testing applica- 
tions programs. The soft- 
ware also includes an S-C 
macro assembler with an in- 
tegral coresident program 
editor. 

The R68 System with soft- 
ware and manuals sells for 
$499. Contact Rapid Sys- 
tems Inc., 659 North 34th 
St., Seattle, WA 98103. (206) 
547-8311. 
Inquiry 573. 

Double the Amiga's 
Memory 

Starpoint Software re- 
leased a 2 56K-byte 
RAM card for the Com- 
modore Amiga that expands 
the computer's memory to 
512K bytes. The card comes 




The R68 System, an Apple-compatible coprocessor board. 



with a manual and sche- 
matics. Suggested retail 
price is $120. Contact Star- 
point Software. 1 2 2 South 
Broadway, Yreka. CA 96097. 
(916) 842-6183. 
Inquiry 574. 

Analog/Digital 
Interfaces for 
IBM PCs 

The DA1S1 series of inter- 
faces, from Interactive 
Structures, is a modular 
system of analog and digital 
interfaces for the IBM PC. 
The system is based on a 
master interface, the 
DM1-110, which fits in a 
single slot in the computer 
and holds up to four snap- 
on modules. 

Add-on modules include 
the DA1-120, which performs 
analog data acquisition and 
is suitable for such applica- 
tions as reading tempera- 
tures, resistances, and sen- 
sor outputs. The DA1-120 
sells for $450. A second 
module is the DD1-160, 
which provides 24 lines of 
digital I/O and three timer/ 
counters that can be used 
for controlling and monitor- 
ing equipment and measur- 
ing pulses and counting 
events. The DD1-160 sells for 
$220. The company says 
that the system can be ex- 



panded to hundreds of 
channels. 

The DM1-110 costs $220 
and comes with a menu- 
driven demonstration disk. 
The firm also sells the 
DAISI/Notebook ($895), an 
optional software package 
for data acquisition, control, 
and color graphics plotting. 

For more information, con- 
tact Interactive Structures 
Inc., 218 Great Valley 
Parkway. Malvern, PA 1935 5. 
(215) 644-8877. 
Inquiry 575. 

Digital Signal 
Processor 

Based on the 16-/32-bit 
lexas Instruments 
TMS32010 processor, the 
Model 10 Digital Signal Pro- 
cessor is a coprocessor 
board for IBM PC, XT, AT, 
and compatible computers. 
The board is designed for 
applications in communica- 
tions, instrumentation, and 
numeric processing. It also 
performs signal-processing 
functions such as filtering 
and FFTs. 

The board is equipped 
with 8K bytes of dual-ported 
RAM, three 16-bit timers 
that provide sampling rates 
from .001 Hz to 200 KHz. a 
two-way 16-bit register for 
communications between 
the TMS32010 and the com- 
puter's processor, and inter- 
rupt capabilities between 
the two processors. An ex- 
ternal I/O bus connector 



handles data transfer to and 
from the board and permits 
the addition of A/D and D/A 
piggyback modules. 

The signal processor is 
packaged with a debugger, 
in-line assembler, disassem- 
bler, signal-display software 
for the IBM Color Graphics 
Adapter, signal editor and 
waveform generator, and ex- 
amples of applications such 
as spectrum analysis. 

The price is $750. Contact 
Dalanco Spry, 2900 Connec- 
ticut Ave. NW, Washington, 
D.C. 20008, (202) 232-7999. 
Inquiry 576. 



HP Vectra Hard Disks 

Bering Industries intro- 
duced a series of in- 
ternal hard-disk drives for 
the Hewlett-Packard Vectra. 
The series includes four 
models. The VKF-20 is a 
20-megabyte hard-disk drive, 
and the VKR-10 is a 
10-megabyte removable- 
cartridge drive. The 
VKF-2020 provides 40 mega- 
bytes of storage by combin- 
ing two 20-megabyte hard 
disks. The VKC-2010 com- 
bines a 20-megabyte hard 
disk and 10-megabyte 
removable cartridge. 

All the drives have an 
average data-transfer rate of 
145K bytes per second and 
an average seek time of 85 
milliseconds. Each comes 
with a disk controller card, 
cables, and an installation 
manual. A 10-megabyte car- 
tridge is included with all 
configurations that include 
removable-cartridge drives. 

Prices are $1150 for the 
VKF-20, $1650 for the 
VKR-10, $1850 for the 
VKF-2020, and $2250 for 
the VKC-2010. Contact Ber- 
ing Industries Inc., 1400 
Fulton Place, Fremont, CA 
94539, (415) 651-3300. 
Inquiry 577. 

{continued) 



40 B YTE • MAY 1986 



Inquiry 280 — ► 



Choose your own colors with 

COLOR COMMANDER" 

pushbutton color control center 

The first peripheral of its kind 







P€RMA POW6H 

Color Commander 




Suggested User Price $359.00 



16 color choices with your present 
color board and software 

This exciting new peripheral expands the limited palette offered by your 
software or the IBM RGB color graphics system, to provide an 
unrestricted choice of the 16 IBM colors. . . and lets you see your 
changes as you go. 

Just push two buttons, and COLOR COMMANDER changes any color 
your software has chosen to your choice of the 16 IBM colors. Relieve 
eye strain on monochrome programs; change white-on-black to a more 
legible black-on-whtte, or a soothing yellow-on-blue. On color programs, 
change dull to vibrant, repetition to variety. See your changes as you go, 
compare colors before-and-after, and re-do until you're satisfied. 



The amazing new COLOR COMMANDER is easy to install and to use.., 
and you'll use it constantly, to avoid eye-strain, and to make hard copies 
in the new colors. It simply hooks up between your IBM PC/XT/AT or 
compatible and the digital RGB color monitor, without requiring access 
into the computer. It electronically recodes the graphics adapter color 
information, pixel by pixel, and can change colors with any PC software 
including PC Paint; Graphics Partner,' Lotus 1-2-3,* Wordstar,* and even 
high-resolution CAE/CAD programs. You can use it with your screen 
shooter, plotter, color printer or film recorder. 



Ask to try the revolutionary new COLOR COMMANDER wherever 
computer products are sold. Or write for free descriptive literature. But 
do it today and start getting the most from your color graphics 
system tomorrow. 

PGRMA POWER. 

Electronics inc. 

5601 West Howard Avenue • Chicago, Illinois 60648 
Telephone (31 2) 647-941 4 



* PC Paint is a trademark ol Mouse Systems ( 
trademark ol Bright Bill Roberts and Company, 
ol Lotus Development Corporation; Wordstar is 
Corporation; IBM is a registered trademark ol It 
Corporation. 



rod trademark of MicroPi 
al Business Machines 










Bring improvement, excitement and imagination 
to multi-color graphics 



, 2. Add color to monochrome prograr 
for improved legibility, less eye-str 




3. Add interest and variety 



WHAT'S NEW 



SOFTWARE • PROGRAMMING LANGUAGES AND A 



Pascal C Tools 
for the Mac 

Pascal Extender and C 
Extender are run-time 
libraries of routines aimed 
at simplifying Macintosh in- 
terface programming. They 
support most standard Tool- 
box commands and add 
new routines for making and 
manipulating windows, 
menus, scroll bars, and 
dialog and alert boxes. 

Extender code uses Tool- 
box data structures, so all 
direct "in line" Toolbox calls 
remain supported and func- 
tion normally. You can 
declare some windows as 
exceptions to be handled by 
your own routines, while 
others are handled by the 
Extender. 

Pascal Extender for the 
Apple Macintosh Pascal in- 
terpreter (2.0) and the TML 
MacLanguage Pascal com- 
piler costs $69.95. C Ex- 
tender for Megamax C and 
Manx Aztec C costs 
$129.95. Contact Invention 
Software Corp.. POB 3168, 
Ann Arbor, Ml 48106. (313) 
996-8108. 
Inquiry 578. 



Symbolic Debugger 

Soft Advances has 
recently announced 
DSD86, a full-screen sym- 
bolic debugging program for 
computers running MS- or 
PC-DOS. A windowing sys- 
tem lets you control the 
screen layout. Display types 
include instructions, regis- 
ters, stack, memory, and 
source. You can also 
customize the keyboard in- 
terface; any command line 
can be bound to the Ctrl, 
Alt, and function keys. A 
recursive macro facility per- 
mits consistent extensions to 
the program's 45 com- 
mands. 



Using source-level debug- 
ging, you can open one or 
more windows displaying 
current source files. All dis- 
plays show addresses sym- 
bolically. If an address 
doesn't exactly match any 
symbols, the program finds 
the closest symbol and dis- 
plays it with the offset from 
the target address. Among 
other features are single- 
keystroke stepping through 
source lines and procedures 
and the capability of having 
breakpoints set to a specific 
line number. 

The list price of DSD86 is 
$69.95. DSD87, a version for 
numerically intense applica- 
tions, supports the 8087 
coprocessor and has a win- 
dow that shows all internal 
8087 registers and flags; it 
sells for $99.95. Contact 
Soft Advances. POB 49473. 
Austin, TX 78765. (512) 
478-4763. 
Inquiry 579. 

8096 Simulator/ 
Debugger 

Cybernetic Micro Sys- 
tems' Sim8096 enables 
you to debug 8096 code on 
an IBM PC. XT. or AT. The 
multiwindow display shows 
source code, registers, 
stacks, memory locations, 
timers, I/O ports, and pins, 
as well as documenting pro- 
gram flow. You can scroll 
through the source code 
without executing it, single- 
step through it or run it 
until a breakpoint is hit. 

Sim8096 has a feature that 
lets you embed I/O stimulus 
commands in the source 
code. I/O commands can 
also be input from the key- 
board at any time. Internal 
structures such as the A/D 
converter, the UART, and 
various timers are accessi- 
ble. The program also pro- 
vides a summary display of 
the analog channels, HSIO 
registers, and interrupt 
count. 



You can access all mem- 
ory spaces using three 
modes: absolute, symbolic, 
and indirect. Another 
memory mode provides ac- 
cess to the special-function 
registers; a caption 
describes each register. 

Commands use either 
single characters or control 
characters. (You use Ctrl-B to 
set a breakpoint, for exam- 
ple.) When parameters are 
required, the program issues 
a descriptive prompt. 

Sim8096 sells for $995 
and is copy-protected. It 
runs under DOS 2.0 or later 
and needs 256K bytes of 
RAM. Contact Cybernetic 
Micro Systems Inc., POB 
3000. San Gregorio. CA 
94074, (415) 726-3000. 
Inquiry 580. 

Tools and Routines 
for Turbo Pascal 

A collection of analytical 
tools and library rou- 
tines. Turbo Extender is de- 
signed to heighten the capa- 
bilities of Borland Interna- 
tional's TUrbo Pascal. The 
package's large code model 
lets you write modular pro- 
grams using all 640K bytes 
of available PC-DOS address 
space without using overlays 
or chaining. All object code 
is loaded into memory at 
run time. Any procedure in 
any module can call any 
procedure in any other 
module, and procedures 
pass parameters using stan- 
dard Pascal syntax. 

Turbo Extender has utili- 
ties that automate use of 
the large code model. 
Shellgen converts existing 
overlayed programs into 
separate modules. Exporter 
checks calls made across 
module boundaries and 



maintains structures needed 
for multimodule operation. 
Bigmake recompiles auto- 
matically only those 
modules that require it. And 
Buildexe can convert the ob- 
ject modules into a single 
standard EXE file. 

Additional capabilities in- 
clude a disk-cache toolbox, 
virtual data paging, and ac- 
cess to expanded memory 
for arrays of at least 2 
megabytes or virtual arrays 
of as much as 32 mega- 
bytes. 

TUrbo Extender comes 
with complete source code 
and a 150-page manual. The 
price is $85. You'll need 
Tjrbo Pascal version 3 and 
PC-DOS 2.0 or later. Contact 
TUrboPower Software. 478 
West Hamilton Ave., Suite 
196, Campbell. CA 95008. 
(408) 378-3672. 
Inquiry 581. 

COBOL Generator 
for CP/M Computers 

SourceView Software says 
its interactive Cobol 
Generator for CP/M 
machines helps a program- 
mer by reducing the time 
spent on the mechanical 
process of producing code. 
The software builds a pro- 
totype of the application be- 
ing developed. 

The generator runs under 
Ryan McFarland COBOL and 
can be used with a text 
editor. It has a full-screen 
editor for creating R/M 
COBOL screens and a data 
dictionary for maintaining 
definitions in documented 
form. 

Interactive Cobol Genera- 
tor sells for $149.50. Contact 
SourceView Software Interna- 
tional. 83 5 Castro St.. Mar- 
tinez. CA 94553. (415) 
228-6220. 
Inquiry 582. 

[continued) 



42 B YTE • MAY 1986 




See What You Can Do 



Fantasy printed all of these. 



Presentations! Newsletters! Flyers! 
Signs! Overhead Foils! Invita- 
tions! Menus! Logos! An- 
nouncements! Banners! Layouts! 

When you need a goodlooking visual 
quickly you need FONTASY — superb 
typefaces and simple drawing in one 
easy-to-use package. 

FONTASY gives you a "what-you-see-i 
what-you-get' 1 picture, as you type and draw 
on the graphics screen of your IBM-PC. You 
can create a page at a time, see a mini-] 
cure of that page, print it, and save it on disk. 
Page size is limited only by memory, not 1 
screen size. 

Features 

Proportional space, justify, kern, bold- 
face, rearrange, magnify, black/white rever- 
sal, rotate, mirror image, lines, rectangles, 
ovals, draw, fill-in, undo (and un-undo), on- 
line help, 200-page book, and easy control 
from keyboard or mouse. Corporate 
licenses available. 

Fonts, fonts, and more fonts! We have 
over 275 typefaces in our growing library, 
and will be happy to send you free print 
samples on request. 

When you deal directly with the manufac- 
turer (that's us), you pay rock-bottom dis- 
tributor prices. If you order FONTASY now, 
we will give you 28 fonts (a $50 value) at no 
extra charge. With so many features at such a 
low price, FONTASY belongs in your soft- 
ware library even if you already have a 
"font" program. 



With 



Equipment Needed 

IBM-PC, XT, AT, or true compatible (Compaq, 
with IBM or Hercules graphics adapter and 
graphics monitor. 256K memory needed for partial 
pages, 448-640K recommended for full pages. 
Dot- matrix printer. Mouse optional. MS-DOS 
2.00 or above. 

FONTASY supports: IBM graphics printer, 
Proprinter; Epson FX, JX, LX, MX, RX, and 
LQ-1500; C. ltoh 8510, 1550, 1570, Pro- 
writer-Jr; H-P LaserJet, Thinkjet; Microline 92, 
93; Gemini 10X, 15X; Radio Shack DMP 105- 
430, 2100; Toshiba 351, 1340-1351; Star; and 
most Epson-compatibles. 

Money-Back 
Guarantee 

Fontasy is not copy-protected and has a 
30-day money-back guarantee. So, take 
advantage of our breakthrough price and 
order now TOLL-FREE: 

1-800-824-7888, operator 669 (orders only] 





For further information and same day shipping, call: (818) 765-4444 



Company . 



7248 Bellaire Ave., Box 560 
No. Hollywood, CA 91603-0560 

Name 



FONTASY $69.95 

Tax 

Shipping 

Total 



Address . 



Telephone . 



City, State, ZIP 

Visa/MC 

Computer 



Exp. Date . 



.Memory . 



. Printer 



Terms: M/C, Visa, checks. Please add S 3.00 shipping and handling in U.S. or 
Canada, S 20.00 overseas, 5 2.00 for CO. D., and sales tax in Calif. 



I Canada, S 20.00 overseas, S 2.00 for C.O.D., and sales tax in Calii. 



Inquiry 296 



MAY 1 986 • B Y T E 43 



WHAT'S NEW 



SOFTWARE • SCIENTIFIC AND ENGINEERING 



Mac Program 
for Circuit Design 

Brainpower's DesignScope 
facilitates the design of 
electronic circuits by 
eliminating the need to con- 
struct and reconstruct bread- 
board models. You construct 
the circuit on the screen of 
the Macintosh and then run 
a simulation; if problems 
arise, you can change the 
component parameters and 
run the simulation again. 

DesignScope lets you 
develop electronic block 
diagrams on the screen, 
assign parameters to the 
blocks, and then run the 
simulation of the system and 
watch the waveforms that 
result. You don't have to 
design component circuitry. 

The program's available 
component blocks include 
phase-locked loops, analog 
switches, voltage-control 
oscillators, peak detectors, 
noise generators, flip-flops, 
multipliers, rectifiers, and 
log-exponential amplifiers. 

DesignScope's suggested 
list price is $249.95. Contact 
Brainpower Inc.. 24009 
Ventura Blvd., Suite 250. 
Calabasas. CA 91302. (818) 
884-6911. 
Inquiry 583. 



Imaging Software 

The Imaging Toolkit, 
which runs on the IBM 
PC. XT and AT is a collec- 
tion of tools for generating, 
processing, and displaying 
images. The library of func- 
tions, compatible with the 
Lattice C or Microsoft C ver- 
sion 3.0 compiler, includes 
image capture, contrast 
manipulation, convolutions, 
intensity transection, 
histograms, and others. Utili- 
ties are supplied for three- 
dimensional geometric 
transformations and ray- 
trace illumination models. 

Functions supporting 
image-generation applica- 
tions include three-dimen- 




Microwave SPICE, a package for microwave and RF applications. 



sional three-axis transforma- 
tions and quadratic-surface 
intercept models. A utility 
called GENIMAG lets you 
project two-dimensional 
images in three-dimensional 
space from any viewpoint. 
Device-interface primitives 
are provided for pixel and 
raster setting, vector draw- 
ing, and so forth. The com- 
pany claims that an FFT pro- 
gram called FFT87-2D can 
transform an array of 512 
complex elements in 1.3 
seconds. 

Minimum requirements are 
2 56K bytes of memory, one 
disk drive, an IBM-com- 
patible graphics adapter, an 
8087 coprocessor, and MS- 
DOS 2.0 or later. The Imag- 
ing Toolkit works with Tec- 
mar's Graphics Master dis- 
play adapter, Chorus Data 
Systems' PC-Eye, Microsoft's 
Mouse, and other hardware 
options. The price is $799. 
Contact Rapid Imaging Soft- 
ware. POB 941, Tijeras. NM 
87059. (505) 243-9454. 
Inquiry 584. 

Scientific Word 
Processor 

Tech/Word is a word- 
processing program for 
scientists, mathematicians, 
and other people working 



with technical text. Standard 
mathematical structures- 
sub- and superscripts, roots, 
matrices, fractions, etc.— are 
built into the package. 

To input a built-up fraction, 
for example, you press a 
function key that sets up a 
one-character-wide fraction, 
with a blank denominator 
and numerator. You then in- 
sert the numbers: the pro- 
gram draws the fraction line, 
centers the numerator and 
denominator, and adds 
space if needed. If you edit 
the fraction, the software 
automatically adjusts the for- 
mat. In a similar way, 
matrices, square roots, and 
parentheses expand to ac- 
commodate the figures 
within them. Because the 
program treats math expres- 
sions as units, you can in- 
sert and delete text in multi- 
level lines without fouling up 
the format. 

The package runs under 
MS-DOS 2.0 or later and 
needs 256K bytes of RAM 
and two disk drives. It works 
with the IBM Color Graphics 
Adapter, the IBM Enhanced 
Graphics Adapter, and the 
Hercules display adapter; it 
also works with IBM's mono- 
chrome adapter but doesn't 
show custom fonts. Tech/ 
Word retails for $3 50. A 
demo is $30. Contact 
Goldstein Software Inc., 2 



Redgate Court, Silver Spring, 
MD 20904, (301) 384-5565. 
Inquiry 585. 

SPICE for Microwave 
Engineers 

Based on version 2G6 of 
SPICE developed at the 
University of California at 
Berkeley. Microwave SPICE is 
a program capable of dc. 
time, or frequency-domain 
analysis. The software 
relates active device charac- 
teristics to process-related 
parameters. It includes pre- 
and post-processors, graph- 
ics, electrical models, and a 
user interface described as 
suited to microwave and RF 
applications. 

Microwave SPICE can read 
a Touchstone (EEsof's linear 
circuit-design program) cir- 
cuit file as well as a regular 
2G6 file. After you provide 
model parameters of the 
device and specify the 
analysis function desired, 
the program reads in the 
circuit descriptions and runs 
the analysis. 

Models ranging from a 
transistor to complex net- 
worked elements are ex- 
amined in terms of their S- 
parameters. Elements can be 
extracted for dc and tem- 
perature analysis, and Y- 
parameters can be isolated 
and extracted. If you specify 
physical and electrical char- 
acteristics, the program will 
predict the circuit's perfor- 
mance under different oper- 
ating conditions. 

Microwave SPICE can be 
used alone or with other 
EEsof packages. It runs on 
the IBM PC and compatibles 
and requires 640K bytes of 
RAM. Retail price is $8400; 
volume discounts are of- 
fered. Contact EEsof Inc.. 
31194 La Baya Dr.. Suite 
205. Westlake Village, CA 
91362, (818) 991-7530. 
Inquiry 586. 

[continued) 



44 B YTE • MAY 1986 



Dac-Easy Accounting 
"Best Software Value" 



InfbWorld 

1985 "Product of the Year" Awards 



Dac-Easy 'Accounting Product of the Year" 



70 OOO anc * more every 
I U ,\J\J\J day. That's how 
many smart buyers have already 
streamlined their accounting with 
the fastest-selling, most highly 
praised accounting package ever 
introduced. 



Dac-Easy offers seven full feature 
accounting modules in a per- 
fectly integrated package, with 
instant access to: 



• Inventory 
• Purchase 
Order 
» Billing 



• General Ledger 
•Accounts 

Receivable 
•Accounts Payable 

• Forecasting 

You can generate over 300 reports 
from 80 different routines. And 
best of all, Dac-Easy Accounting 
can be used to manage either 
service -or product-based 
businesses. 

Dac-Easy Accounting is non 
copy-protected, and comes in a 
handsome package with easy-to- 
follow documentation. 

Read what the experts have to 
say. Compare Dac-Easy with 
packages sold module by module 
for thousands more. Then join 
more than 70,000 people who 
have said "Yes!" to Dac-Easy 
Accounting. 

30-day money back guarantee 

Dae Software offers an uncondi- 
tional guarantee on Dac-Easy 
Accounting (less postage and 
handling). There is a $10 restock- 
ing fee if the disk envelope is 
opened. 



Minimum Hardware Requirements: 

IBM (PCjr, PC, XT or AT) 1 or other compatibles. (Also available 

for Apricot and Victor 9000.) 128K memory one DSDD disk 

drive, 132 column printer in compressed mode, 80X24, CRT, 

MS-DOS2, PC DOS* 2.0 or later. 

trademarks of International &isiness Machines Corp. 

trademark of Microsoft Corp. 




InfoWorld 



1985 

PRODUCT 

OF THE 

YEAR 



M 



m. 95 



i 1 1 1 J 



NEW! 



' T TTT 



PC World 

December, 1985 



"Dac-Easy has done something truly 
remarkable." 

InfoWorld Editorial, 
December 2, 1985 

"Dac-Easy is a genuinely amazing deal." 
PC Magazine, 
October 15, 1985 
"Editor's Choice" 

Tve never before in a review come right 
out and told readers to buy a product, 
but I'm doing it now. Dac-Easy is an 
incredible value." 

PC Week, 
August 27, 1985 

"This is an incredibly good value." 

InfoWorld, 
September 23, 1985 

Call toll free or 
return coupon below today 

1-800-992-7779 

Ask for operator #827 

In Texas or 

for more information call 

214-458-0038 



TM 



E^niPaymlL 

ONLY 

M9? 5 



Dac-Easy Payroll was designed to solve all your person- 
nel and payroll management problems, outperforming 
systems costing thousands more. And it can either stand 
alone or integrate perfectly with Dac-Easy Accounting to 
form a comprehensive business management program. 
Features include: 

• Built-in 1986 federal and state tax tables (all 50 states). 

• Automatic federal, state and city withholding 
calculations. 

• FICA and user-defined deductions like union, insur- 
ance, etc. 

• Prints continuous form checks and W-2s. 

• Up to 99 departments, with earning and deduction 
codes per department 

• Manages hire dates, raises, reviews, terminations, vaca- 
tions and sick time. 

• Generates complete range of management reports. 

• Supports hourly and salaried employees, four different 
payroll periods, tips, piece-rate and after-the-fact 
payroll, and much, much more! 

All for only $49.95 ...with the same money back 
guarantee! 

•Hardware requirements — same as Dac-Easy Accounting, 
except two DSDD floppy disks required. 



S&dac software, inc. 

4801 Spring Valley Rd., Building 110-B 

Dallas, TX 75244 



Olease rush me. 



. copies of Dac-Easy 



I Accounting at $69.95 per copy and . 
copies of Dac-Easy Payroll at $49.95 per copy. Tve 
enclosed $750 postage and handling. In Texas, add 
6V8% sales tax ($428 for each Accounting, $3.06 for 
each Payroll). U.S. prices only. Please indicate com- 
puter brand 

□ Check D Money Order 

DAMEX DVISA □ MASTERCARD 

Expires 

Account Number 



Name. 



Company Name . 
Street Address _ 

City 

State 



_Zip. 



Phone. 



Signature _ 



CALL 1-800-992-7779 FOR 
IMMEDIATE RESPONSE 



E^BISeries™ 



#827 



Inquiry 105 



MAY 1986 • BYTE 45 



WHAT'S NEW 



OFTWARE • BUSINESS AND OTHER 



Outliner 

for Apple He/He 

ThinkWorks, designed to 
be used alone or with 
AppleWorks, is an outline 
processor for the Apple lie 
and lie. Besides letting you 
build, rearrange, and expand 
and collapse outlines, the 
package allows you to 
search and replace text, 
enter paragraphs for any en- 
try, and merge one outline 
into another. With the 
AppleWorks word processor, 
you can insert an outline 
into another document. 

To run the software on a 
lie, you need an extended- 
memory 80-column card. 
The program works with 
Apple's Profile and UniDisk 
3.5 and Quark's Catalyst. It 
retails for $125. Contact 
Megahaus Corp., 5703 
Oberlin Dr., San Diego. CA 
92121. (619) 450-1230. 
Inquiry 587. 

XENIX Work-alikes of 
Lotus 1-2-3, dBASE 

The Santa Cruz Opera- 
tion has developed 
UNIX-based versions of two 
popular DOS applications: 
SCO Professional, described 
as a Lotus 1-2-3 work-alike, 
and SCO FoxBASE. similar 
to AshtonTate's dBASE II. 

SCO Professional inte- 
grates spreadsheet, data- 
base, and graphics capabili- 
ties. It can read 1-2-3 files, 
and it regenerates DOS- 
readable data. The company 
says enhancements to stan- 
dard 1-2-3 include 256 
query fields in the database, 
larger worksheet space, and 
character preview graphics 
on any terminal. UNIX 
utilities can be chosen from 
a menu. The program lists 
for $795 and runs on IBM's 
PC AT and compatibles and 
AT&T's PC 6300 Plus. 

SCO FoxBASE functions 
like dBASE II and is com- 
patible with it in terms of 



language and data files. It 
can run dBASE programs in 
multiuser mode without 
modification. FoxBASE per- 
mits as many as 48 fields 
per record, provides 14-digit 
precision in computations, 
and supports the 8087 and 
80287 coprocessors. You 
can convert dBASE files to 
FoxBASE by rebuilding the 
index files. SCO says the 
resultant index files are 
typically 50 percent smaller 
than dBASE's. FoxBASE. 
written in C. lists for $795 
and runs on the same ma- 
chines as SCO Professional. 

Contact The Santa Cruz 
Operation, 500 Chestnut St., 
POB 1900. Santa Cruz. CA 
95061. (408) 425-7222. 
Inquiry 588. 

Low-Cost Spreadsheet 
with Word Processor 

Interface Technologies has 
packaged a spreadsheet, 
described as similar to 
Lotus's 1-2-3. with a full- 
function word processor and 
priced it at $99.95. Called 
Farsight, the program runs 
on the IBM PC line and true 
compatibles. 

Farsight's window environ- 
ment lets you have multiple 
documents or spreadsheets 
on the screen. ITC says 
there's no limit to the 
number of windows that 
may be open. Data can be 
copied between documents 
with as few as six key- 
strokes. 

You can use 1-2-3 data 
files with Farsight Calc 



without learning any new 
commands. The spread- 
sheet/data manager uses a 
sparse-matrix technology 
similar to that used in 1-2-3 
release 2.0, lets you search 
for values and labels, and 
incorporates pop-down 
menus. 

Farsight Word offers full 
editing capabilities, global 
search and replace, propor- 
tional and micro spacing, 
and page breaks indicated 
on the screen. It works with 
many spelling checkers and 
dictionary programs. 

The software needs at 
least 2 56K bytes of memory 
and dual floppy disks or a 
hard disk. Contact Interface 
Technologies Corp.. 3336 
Richmond. Suite 200, 
Houston. TX 77098. (800) 
922-9049 or (713) 523-8422. 
Inquiry 589. 

Accounting Package 
for the Macintosh 

BPI Systems has tailored 
its General Accounting 
package from the BPI Entry 
Series for the Apple Macin- 
tosh. The software provides 
three subsidiary ledgers: ac- 
counts payable, accounts 
receivable, and payroll. It 
also offers a chart of ac- 
counts, six journals plus a 
general ledger for recording 
each transaction, default op- 
tions, automatic check writ- 
ing, and comprehensive 
financial reports. 

General Accounting for the 
Macintosh is priced at $42 5. 
Contact BPI Systems Inc., 



WHERE DO NEW PRODUCT ITEMS COME FROM? 
The new products listed in this section o/BYTE are chosen from the thousands 
of press releases, letters, and telephone calls we receive each month from 
manufacturers, distributors, designers, and readers. The basic criteria for selection 
for publication are: [a) does a product match our readers' interests? and (b) 
is it new or is it simply a reintroduction of an old item? Because of the volume 
of submissions we must sort through every month, the items we publish are 
based on vendors' statements and are not individually verified. 1/ you want 
your product to be considered for publication [at no charge), send full infor- 
mation about it, including its price and an address and telephone number 
where a reader can get further information, to New Products Editor, BYTE. 
70 Main St., Peterborough. NH 03458. 



3001 Bee Cave Rd.. Austin. 
TX 78746. (512) 328-5400. 
Inquiry 590. 

Program Lets Distant 
Users Work Together 

American Video Telecon- 
ferencing's In-Synch lets 
two people separated by 
distance work with the same 
program as if they were in 
the same room. This 
package runs on IBM PCs or 
compatibles connected by 
modem over ordinary phone 
lines, and two users can 
collaborate as if looking at 
one screen and sharing a 
keyboard. 

In-Synch. which resides in 
memory, lets both keyboards 
send commands or insert 
data into a program that's 
been loaded into each com- 
puter. Both displays show 
the same thing. If only one 
machine is running In-Synch, 
conferencing is still possible 
with a snapshot feature that 
lets you capture text or 
graphics and send it to your 
partner. (Snapshots can be 
saved to disk at any time.) 

Users can also type com- 
ments anywhere on the 
shared screen. And the pro- 
gram automatically records 
any important conference 
transactions. 

In-Synch. which also pro- 
vides some conventional 
communications functions 
such as auto-dialing and file 
transferring, runs under DOS 
2.0 or later and requires that 
each computer have at least 
384K bytes of RAM (the 
company recommends 640K) 
and a Hayes-compatible 
modem. It works with Her- 
cules graphics adapters and 
IBM Color, Monochrome, 
and Enhanced Graphics 
Adapters. The price is 
$149.95. Contact American 
Video Teleconferencing 
Corp., 1 10 Bi-County Blvd., 
Suite 115. Farmingdale. NY 
1173 5, (516) 420-8080. 
Inquiry 591. 



46 B YTE • MAY 1986 






TinyTurbo 286 — $695 ( 
AT Speed in a Half Slot 
The People's Choice 



PCturbo286e — $1195 
Double AT Speed in a Full Slot 
The Super-Achiever's Choice 



BE #1 WITH THE LEADER 

Two Breakthroughs to TURBOCHARGE Your PC! 



Orchid became the #1 Turbo 
company by delivering the 
performance, price, and 
compatibility you wanted. Now 
we have followed our critically- 
acclaimed PCturbo 186 with two 
powerful new 8MHz 80286 
Turbos. 

TinyTurbo 286 

A half -slot PC/XT caching 
accelerator for AT speed at a tiny 
cost. It's 100% PC compatible, 
even with copy-protected 
software, because you can switch 
back to the 8088- a feature our 
competitors wish they had. 

PCturbo 286e 

A full-slot PC/XT/AT coprocessor. 
Twice the speed of an AT; 5 times 
that of a PC for lightning 
calculations, dazzling screens, 
and unbelievable performance. 
A Megabyte of RAM, optional 



EMS memory, and free RAM 
Disk, Caching, and Print 
Spooling. Now your PC can wait 
on you instead of the other 
way around. 

Applications: 

A Windows: No longer do you 
need an AT to make it fly. 

A Math: Crunch through 
computations with 8MHz 
80287 power. 

A Spreadsheet: Load and 
recalculate with amazing 
speed. 

A CAD: Redraw, zoom, and pan 
in a flash. 

A Database: Run lengthy up- 
dates on Friday rather than 
all weekend. 

A EMS: Supports Lotus 
specification. 



Norton SI Program V3.0 




IBM XT IBM AT Orchid Orchid 
TinyTurbo PCturbo 
286 286e 



Choose TinyTurbo 286 

If you would like AT speed. 

Choose PCturbo 286e 

If you demand the ultimate 
in performance. 



47790 Westinghouse Dr. 
Fremont, CA 94536 
) 415/490-8586 
Tlx: 709289 




PCturbo 286e and TinyTurbo 286 are trademarks of Orchid Technology. 
All other products names are trademarks of their manufacturers. 

Inquiry 259 



ORCHID 



The Innovative Leaders 

MAY 1986 -BYTE 47 



Inquiry 121 for End-Users. 
Inquiry 122 for DEALERS ONLY. 



LOOKING FOR AT 
PERFORMANCE 
FROM YOUR 




|EARTH HAS IT FOR 
LESS THAN $1 ,000! 

MfOUR SEARCH IS OVER!! EARTH 

■COMPUTERS' exciting new high- 

iWspeed, 80286 accelerator card, 

TurboACCEL-286™ , is justwhatyou've 

been looking for. The TurboACCEL- 

286 will boost your PC performance up 

(to Five times... its completely software 

transparent.. .and its only $995! 

TurboACCEL-286 will fuction with 

L most operating systems and application 

programs (unlike other so-called 

■accelerator boards). 




The TurboACCEL-286 features a 
high-speed, 8MHz, 80286 processor, 
512Kbytes of RAM (expandable to 
1 Mbytes), a switch for 8088 operation, 
and facilities for an 80287 math co- 
processor. It occupies one expansion 
slot, is completely compatible with 
most PCs and is software transparent. 
End your search for AT performance. 
Order the TurboACCEL-286 today! 
Call or write: 



EARTH COMPUTERS 



P.O. Box 8067, Fountain Valley, CA 92728 
TELEX: 91 997 61 20 EARTH FV 

(714)964-5784 

Askabout EARTH COMPUTERS' other 
fine PC and S-1 00 compatible products. 




CLUBS AND 
NEWSLETTERS 



Software Maintenance News, Nicholas 
Zvegintzov I4l St. Marks Place #5F Staten 
Island, NY 10301. (718) 816-5522. Annual 
subscription: $15. 

Ventura PCjr User's Group, c/o Entre 
Computer Center, 4738-1 Telephone R<±, 
Ventura. CA 93003. Monthly .newsletter 
and meetings, hopes for a Fido BBS. 

APL Market News, POB 2485. Secaucus. 
NJ 07094. Published quarterly. Annual 
subscription: $15. 

Milwaukee Apple Users Symposium 
(MAUS), Dick Stevens. Rt. 6. S79-W30979 
Romeo Court, Mukwanago. Wl 53149. or 
call Jeanne Colburn at (414) 781-9640. 
Monthly newsletter and meetings, SIGs, 
public-domain library. Annual dues: $12. 

Macintosh Meeting and Drinking 
Society (MACMAD). 514 North Wickham 
Rd. #150. Melbourne, FL 3293 5. BBS. 
monthly meetings and newsletter, public- 
domain software library Annual dues: $20. 

Concurrent Users Group (CONUG). 
Garry Silvey, POB 734. Marina. CA 93933. 
Monthly newsletter, public-domain soft- 
ware library. Annual dues: $2 5. 

UCLA Microcomputing, University of 
California-Los Angeles. Office of 
Academic Computing Microcomputer 
Support Office. 5628 MSA, Los Angeles. 
CA 90024. (213) 825-8183. 

TI-West, Fred Russo, 2021 Ocean Ave. 
#126. Santa Monica. CA 90405. (213) 
392-3217. Public-domain software and in- 
formation exchange for Texas Instruments 
users. Meetings and newsletters. 

Denver Area Sanyo Users Group. Don 
Robertson, 1210 Saulsbury St., Lakewood, 
CO 80215, (303) 232-6955. Monthly 
meetings for 550/5 55 users only $15 
annual fee includes monthly newsletter. 

Word Processing Users' Group 

(W/PUG). Box 144. Malveme, NY 11565. 
(516) 746-0056. Bimonthly newsletter, 
public-domain software library, BBS. An- 
nual membership: $15. 



Commodore Association of the 
Southeast (CASE) Inc., Bill Freeman, POB 
110386, Nashville. TN 37211. (205) 
854-3496. Regional board organizes Com- 
modore users groups. Annual meetings, 
quarterly news on disk. $2 5 annual dues. 

Quad City Osborne Group (QCOG), 
R. H. Lay. POB 2456. Davenport. IA 52809. 
(319) 386-3484. Meetings, newsletters, and 
24-hour BBS. Annual dues: $30. 

TImex Sinclair Amateur Radio Users 
Group (TSARUG), Alexander Burr, K5XY 
2025 O'Donnell Dr.. Las Cruces. NM 
88001. Fido network at (505) 646-5194, 
monthly journal, $12 annual dues. 

HP Series 80 Users Group. RainerKroos. 
Hasenweg 14, D-4817 Leopoldshohe. West 
Germany. Correspondence with American 
Hewlett-Packard users welcome. 

Baltimore Users Group (BUG). POB 567, 
Owings Mills. MD 21117-0567. For users 
of IBM PC-compatibles. $10 annual dues 
includes newsletter. 

Epson International Users Group. 2 5. 

Sawyers Lawn, Drayton Bridge Rd.. Lon- 
don W 13 0JR England. Public-domain soft- 
ware. BBS. and newsletter. 

C Users Group. Leon Heller, 8 Morris 
Walk, Newport Pagnell. Buckinghamshire 
MKI6 8QD. England. Send self -addressed 
envelope for details. 

The Boston Center for Computer Ap- 
plications, 334 Newbury St.. Boston. MA 
02115, (617) 247-0538. Newsletter, services 
for business users. 

Dvorak Development, Freelance Com- 
munications. POB 717. Areata. CA 95521. 
(707) 826-0102. News about the Dvorak 
keyboard. $12 annually. ■ 



CLUBS AND NEWSLETTERS is an 
acknowledgment of new clubs and newsletters 
received at BYTE. Please allow at least four 
months for your club's mention to appear. Send 
information to BYTE. Clubs and Newsletters. 
POB 372. Hancock. NH 03449. 



48 BYTE • MAY 1986 



STANDARDS 

BRAND PRODUCTS 




HHHllllllllP- UllHlilll! 




mil 



i rjr x f v r v ? i r \ \ 



i * * 



i i r i 



\\ 



STD-AT 

IBM. PC-AT T . 

COMPATIRLF 

COMPUTING 

AT AN 

AFFORDABLE 

PRICE... 



• Intel 80.286 Processor 

• MS DOS 3.1 Included 

• 640K RAM On Mother Board 

• 1.2 MB Floppy Drive 



Dual Floppy & Hard Drive 
Controller 

• Clock/Calendar With 
Battery Back-Up 

• Optional 80287 Math Co- 
Processor Available 



STANDARD- PC/XT 



• Intel 8088-3 (4.77 MHz) 

• STD-5150 Keyboard 

• 1-Half-Height Floppy Drive; 

• 640KRam 

135 Watt Power Supply 

• 8 Expansion Slots 




I ?/ 



I i . I 






$629 

All Standard Brand 
Products Carry A 
1 Year Warranty! 



r r r" V V ,%* r \ r u 

I" l V FT II r r 

° r r r r r r r r | 

r r r r r r i ? t.! 

r f 



"Runs Major Software Written For 
The IBM- PC&XT" 



$1699 



u Compatible ^ Full Documentation 

\s Reliable ^ Extended Burn-In Testint 



STANDAM^ Turbo-Xl 



Intel 8088-2 (4. 77 or6.66Mhz) 

Keyboard Selectable 
Clock Speed 

Up To 40% Faster 
Processing Speed 

STD-5 160 AT Style Keyboard 

640KRam 

One Half-Height Floppy Driv< 

8 Expansion Slots 

$729 



pa 



SOURCE 

1 2303-G Technology Austin, TX. 78727 



CALL TOLL FREE: 
800-626-4027 

OutsideTexas 

512-331-6700 



Setting The Import Standard!! 

?TANClAR^B^ — Enhancement Products For 
5RAND PRODUCTS The IBM. PC Market... 



STANDARD? MFC 



w/384K 



Multifunction Card 



STANQARt^^ MonoGraphicCard 



Hercules® Compatible Monochrome Graphics Cord 




• 384KRam 

• Clock/Calendar 

• Serial Port 



• Parallel Port 

• Game Port 

• Software 



$129 




• Text Mode 80X85 Characters 

• Graphics Mode 720X348 Pixels 

• Parallel Port 



FDC 



5151 Keyboard 



$119 



AT-MFC 1 Power Supply 



Floppy Disk Controller For The IBM- PC or XT Multifunction CardjorlBM AT 



150 Watt 




Controls Up to 
4 Floppy Disk. 
Includes Internal Cables. . . 



$49 



ljLU.U U.J.I.I 1UJ.1L3 ( ) 

sSVrVrViViVSuiitl'JlH 



With Separate 
Numeric And 
Curser Keypad 




, 



Monitor 



Monochrome Monitor 





Up To 1.5MB 

Memory Expansion . 

Serial & Parallel <£1 QO 

PortforlBM AT. . w/0K%J>±Qjf 



ColorCard 



Wm 



Replacement 
Power Supply . 



$85 



MonoCard 



Color Display Card Monochrome Display Card 





12" Amber Screen 
80X25Lines 
720X350 Pixels. . . 



$99 



Serial Port, 
Parallel Port & 
Clock/Calendar . 



$99 



ColorCard 

w /Parallel Port . 



$99 



MonoCard 

w /Parallel Port . 



$89 



PowerMaster 

AC Center 

Three Important Functions 
In One Unit! 




$89 



/ 



4 Separate Power Outlets With 
On/Off Switch On Front Panel 

Surge Suppressor 
Swivel Base Monitor Stand 



Charge For UPS Ground 
pping. NoSurchargeFor 
sterCardorVISA.FortunelOOO 
'chase Order Welcome, 
rranty Work Requires Proof- 
PurchaseAnd Return 
thorization Number. 

and Hercules are trademarks 
^irrespective companies. 



pa 



SOURCE 

1 2303-G Technology Austin, TX. 78727 



CALL TOLL FREE: 
800-626-4027 

OutsideTexas 

512-331-6700 

Inside Texas 



FIXES AND UPDATES 



BYTE'S BUGS 



Repairs to Robotics Articles 



In editing "Autonomous Robot Naviga- 
tion" by Charles Jorgensen, William 
Hamel. and Charles Weisbin (January 
BYTE, page 223), we inadvertently added 
a few errors and omitted a reference. 
These corrections relate to the text box 
"Sonar Sensors" on pages 230-231. 

First, figure A4 represents a n answer to 
the problem of sonar's low angular resolu- 
tion rather than representing the problem 
itself. The figure shows the sonar analog 
of binocular vision. 

Second, in the actual distance formula 
in table A, the D s and the equal sign are 



reversed. The proper formula is 



Actual Distance = D s V A t I S t 

Third, figure A. table A. and the 
associated text are drawn from H, R. 
Everett's article "A Multielement Ultra- 
sonic Ranging Array," which appeared in 
the July 1985 Robotics Age (page 13). Mr. 
Everett's article was cited in the references 
at the end of 'Autonomous Robot Naviga- 
tion," but the citation of the reference was 
not included in the article itself. 

A slight typo appears in listing 1 of "Al 
in Computer Vision" by John L. Cuadrado 



and Clara Y. Cuadrado (beginning on page 
237). On page 245. in the line preceding 
the comment that PDPROLOG does not 
support floating-point math, cylinder 
should have an uppercase C. 

And finally, in Kirk E. Pennywitt's 
"Robotic lactile Sensing" (beginning on 
page 177), the definition on page 200 of 
a newton is slightly flawed. As Keith J. 
Lavallee of East Hampton. Connecticut, 
pointed out to us, the correct definition 
is: I newton equals I kilogram meter/sec- 
ond squared. 

Our apologies to readers and writers. 



More on "Arithmetic" 



Four Little Steps Move 520ST Files 



Surry P. Everett, a reader in Bath, North 
Carolina, encountered a few problems 
while working with Peter Rice's "Arithmetic 
on Your PC* (March 1985. page 119). He 
points out that dividing a number by itself 
(2 5/2 5) results in an error (illegal function 
call) at line 1 1070 of listing 1 because N, 
used as a subscript, is less than zero. Mr. 
Everett suggests the following code 
change, which Mr. Rice agrees works: 

11070 WHILE 2°/o(N) = 0:IF N = 
THEN GOTO 11080 ELSE 
N = N-1:WEND 

Two similar errors appear at lines 1 3370 
and 13630 if a single-digit divisor (25/5) 
is used. Mr. Everett suggests the following: 

-Add a line: 13365 IF Y°/o(100) = 

THEN GOTO 13400 

-Delete line 13640 

-Change a line: 13650 IF BX = 

THEN GOTO 
13670 ELSE 
BX = BX - 1 

According to reader Everett, these 
changes will work in all situations of non- 
negative integers, excluding a divisor of 
zero. 

Mr. Rice says the only other problem he 
is aware of is in the assembler listing. Peo- 
ple who downloaded LONGMATH.ASM 
can fix it by replacing jLE LABEL3 with 
I BE LABEL3 in the division procedure. 



Our product description of Atari's 520ST 
(January, page 84) made the process of 
moving a file out of a folder, explained on 
page 99, sound more complicated than it 
really is. To move a file, open the folder 

SIMPL Name Already Claimed 



(which indeed takesover the disk window). 
Open the same disk again (which gives 
you an additional window of the disk). 
Copy the file from the folder to the disk 
window. Delete the file in the folder. Ta da. 



Jonathan Amsterdam's three-part Pro- 
gramming Project that began in the 
December 1985 issue concerned a com- 
piler that he named SIMPL. We've since 
received a letter from James E. Bernstein 
advising us that SIMPL is the copyrighted 
name of a high-level language and com- 
piler developed and used by his company. 
General Health (in Washington. D.C.). 
Mr. Amsterdam replies that he did a cur- 



sory search of computer science literature 
before adopting the name. Some people 
at the University of Maryland had used it. 
but they did not object to him doing like- 
wise. "My high-level language was con- 
structed for purely pedagogical purposes," 
he writes. "It will probably never be men- 
tioned again in print after the last install- 
ment of the project, and it certainly will 
not evolve into a product." 



How to Access and Use BYTEnet Listings 



To access BYTEnet Listings, call (617) 
861-9764. When you get the carrier 
tone, enter two or three carriage 
returns so that our software can deter- 
mine your operating parameters. 

Optimum modem settings are 8 bits, 
1 stop bit, and no parity at full duplex, 
or 7 bits. 1 stop bit. and even parity 
at half duplex. Acceptable operating 
speeds are 300 or 1200 bps. At this 
time. BYTEnet Listings does not sup- 



port 2400-bps transmissions. 

The BYTEnet Listings software itself 
is menu-driven. Programs may be 
downloaded using ASCII, Kermit. r Iele- 
Link, and XMODEM protocols. 

BYTE listings are also available on 
BIX. After connecting with the system, 
type join listings at the main prompt. 
(For more information on BIX. phone 
(800) 227-2983 between 8:30 a.m. and 
1 1:00 p.m. Eastern time, weekdays.) 



MAY 1986 'BYTE 49 



ASK BYTE 



Conducted by Steve Garcia 



Communication Problem 

Dear Steve. 

1 have an old Apple parallel printer in- 
terface card (vintage 1978) that 1 wish to 
use with an Epson MX-80 printer. Hand- 
shaking is by two lines: an STR (strobe) to 
the printer and an ACK (acknowledge) 
from the printer. A jumper block is used 
on the card for the various polarity con- 
figurations of ACK and STR, and 1 have it 
set for a negative-going STR and ACK for 
the Centronics interface. But the printer 
and the Apple 11 refuse to talk to one 
another through this arrangement. 

1 note that the printer (and the current 
Centronics interface) has provision for 
three handshaking lines and uses them: 
STR. ACK. and a BUSY line from the 
printer. Is it possible to hook up the Epson 
MX-80 to the parallel card, which has no 
obvious provision for a BUSY input from 
the printer? 

1 am enclosing parts of the installation and 
Operating manual, which you may find use- 
ful in helping me. 

Albert Weinshelbaum 
Martinez, CA 

The diagram on page 9 of the printer 
manual shows the correct configuration 
for the jumper block. A negative STR and 
an ACK signal are the only ones used for 
handshaking— BUSY isn't used. Your 
problem is undoubtedly in one of three 
areas: a bad interface card, a nonfunc- 
tioning printer, or a defective cable con- 
necting the printer with the interface 
card. 

The best method for solving the prob- 
lem depends on the resources available 
to you. Nearby friends with compatible 
computer equipment can simplify the 
process considerably by providing equip- 
ment to substitute for existing periph- 
erals. If that is impractical, your best 
course may be to contact your dealer. 

You can isolate the problem by exe- 
cuting these three steps in any order: 

1. Exchange the connecting cable with a 
known good one. A functional system 
indicates that the original cable was 
defective. 

2. Replace the printer card with a known 
good printer interface card, using the 



same cable you are currently using (if 
possible). If the setup works, the problem 
is in the Apple printer card. 
3. Substitute a known good printer for 
the current one. If it works, the problem 
is in your printer— Steve 

Apple Decoding 

Dear Steve, 

1 want to use an EPROM-based card in 
slot 5 of my Apple 11 that requires approx- 
imately 1 500 bytes of memory. Can you 
give me details of an addressing circuit 
that would accomplish this? 

Ray Rusel 
San Jose. CA 

Pin 20 on the Apple bus is active low 
for a 2K-byte address range: C800-CFFF 
hexadecimal. This is the common ROM 
space that is shared by all peripheral 
slots in the Apple. Pin 20 on slot 5 could 
be used to enable a 2Kby8 EPROM like 
a 2516 or 2716. No further address de- 
coding is necessary. 

A good source of information on the 
built-in decoding of the Apple He is 
Understanding the Apple lie by James 
Sat her (Brady Communications).— Sieve 

Hard Disk on a TRS-80 

Dear Steve, 

1 want to connect a 5-megabyte Seagate 
Technology ST506-type drive to my 
TRS-80 Model 4 P. 1 would appreciate any 
information you have on interfacing a hard 
disk to a TRS-80 and prices for a SAS1 
interface. 

1 have been programming in assembly 
language for two years, so 1 would be able 
to write custom software drivers for the 
unit. Since 1 understand only the rudi- 
ments of electronics. 1 would be able to 
make a hardware interface only if it is not 
overly complex. 

Ed Griebel 
Rochester, NY 

Hard Drive Specialist sells a 5-mega- 
byte hard-disk system for the TRS-80 
Model I, in, 4, or 4 P computers. The basic 
unit, called the HDS I, is a complete sys- 
tem that includes its own case and a 
power supply. A second drive can be 
added to the HDS I, giving a total capaci- 



ty of 5, 10, 15, or 30 megabytes. All nec- 
essary device drivers are included with 
the unit, making the HDS I compatible 
with the DOSPLUS, LDOS, and TRSDOS 
6.0 operating systems. For additional in- 
formation and prices, contact Hard Drive 
Specialist, Com pu kit Division, 16 206 D 
Hickory Knoll, Houston, TX 77059, (713) 
480-6001. 

A SASI interface for the Radio Shack 
computers, including the 4P, is available 
from Micro Mainframe, 1 1285-E Sunrise 
Gold Circle, Rancho Cordova, CA 95670. 
If you decide to use a SASI interface, 
keep in mind that S AS 1-compatible drives 
tend to be more expensive than an 
ST506-type drive due to the added cost 
of the disk-controller hardware built into 
the drive.— Sieve 

Sieve of Eratosthenes 

Dear Steve. 

Perhaps the greatest service BYTE 
magazine has provided is its publishing of 
simple benchmark programs. 1 have run 
them many times to test hardware and 
software against published results before 
spending project and personal funds. 

However, after years of personal be- 
wilderment and after asking all my knowl- 
edgeable friends, 1 am finally writing to 
you and admitting my ignorance. Where 
did the Sieve of Eratosthenes come from? 
Is it some classic mathematical joke that 
1 missed in my engineering education? It's 
a good benchmark program, but it's terri- 

[continued) 



IN ASK BYTE, Steve Garcia answers questions on 
any area of microcomputing. The most representative 
questions received each month will be answered and 
published. Do you have a nagging problem? Send 
your inquiry to 

Ask BYTE 

do Steve Garcia 

POB 582 

Glastonbury. CT 06033 
Due to the high wlume of inquiries, personal replies 
cannot be given. All letters and photographs become 
the property of Steve Garcia and cannot be returned. 
Be sure to include "Asfc BYTE" in the address. 

The Ask BYTE staff includes manager Harv 
Reiner and researchers Larry Bregoli. Bill Curlew. 
\eannette Dojan. }on Elson. Roger ]ames, Frank 
Kuechmann. Edward Nisley, Dick Sawyer. Andy 
Siska. and Robert Stek. 



50 BYTE • MAY 1986 



COPYRIGHT © 1986 STEVEN A. GARCIA. ALL RIGHTS RESERVED. 





Those who insist on C compiler performance 
are very big on Mark Williams. 

And the compiler is just part of our total C Programming System. 

Mark Williams' C compiler has earned a place 
in some very big companies for some very good reasons: 
it proves the benchmarks right with the speed, code 
density, consistent performance and expert support 
required in professional development environments. 

But a total development tool shouldn't stop with 
compiling. Or go on and on with extras that add up and up. 

Only Mark Williams' C Programming Systems 
includes the csd C Source Debugger with true source 
level debugging to speed your programming job. 

And only Mark Williams' new 30 version includes 
utilities like "make" to make quick work of even the 
largest projects. 

From source code to final product, only one takes 
you all the way: Mark Williams' C Programming System. 
All for only $495. Ask about our 60-day money back 
guarantee when you call 
1-800-692-1700 to order today: fif|| • Mark 
You'll be big on the total C I Hill wjlljams 

Programming system from \A# Company 

Mark Williams, too. 

♦In Illinois call 312-472-6659. 



These and other powerful 
*&$f utilities now included in the C 
* Programming System: 

make: compiles only what's necessary 
from multiple modules, a powerful pro- 
gramming discipline 

• diff: identifies differences between two files 

• m4: macroprocessor expression editing 
and substitution 

• egrep: extended pattern search 

• MicroEMACS: full screen editor with source 

COMPILER FEATURES 

• Runs under MS-DOS 

• Full Kemighan & Ritchie C with recent 
extensions including void and enum 

• Register variables for fast, compact code 

• Full UNIX™ compatibility and complete 
libraries 

■ Large and small memory models 

• MS-DOS linker compatibility 

• 8087 Support 

• One-step compiling 

• English error messages 

• ROMable code 

• Linker, assembler, archiver 

• Extensive third party library support 

csd C SOURCE DEBUGGER 

• Debugs at C source level without assembly 
language 

• Separate evaluation, source, program and 
history windows 

■ Can execute any C expression 

• Capabilities of a C interpreter, but runs in 
real time 

• Set trace points on any statement or variable 



1430 West Wrightwood 
Chicago, Illinois 60614 



© 1985 Mark Williams Company 
UNIX is a registered trademark of Bell Labs- 
Inquiry 218 



MAY 1986 'BYTE 51 



ASK BYTE 



ble at counting prime numbers. 

James L. Barnett 
APO NY 

The Sieve of Eratosthenes algorithm for 
generating prime numbers was devel- 
oped by a Greek gentleman named Era- 
tosthenes, who lived from about 2 75 B.C. 
to about 195 B.C. Around 240 B.C. he 
became head of the library at Alexandria 
(in Egypt), the most advanced center of 
learning that then existed in the world. 
Known for his talents in poetry, drama, 
literature, geography, philosophy, and 
astronomy, Eratosthenes created ac- 
curate maps of the known world, calcu- 
lated the circumference of the earth and 
the tilt of its axis, and determined the size 
and distance from earth of the sun and 
the moon. 

Far from being terrible at counting 
prime numbers, the Sieve of Eratos- 
thenes is an extremely elegant, efficient 
method that is very accurate. I suggest 
that you consult the following sources for 
further information and explanations: 'A 
High-Level Language Benchmark" by Jim 
Gilbreath (September 1981 BYTE, page 
180), which explains how the algorithm 



works, and The Art of Computer Pro- 
gramming, Volume 2: Semi-Numerical Al- 
gorithms by Donald E. Knuth (Addison- 
Wesley 1 969). -Steve 

Eagle Documentation 

Dear Steve, 

I have an Eagle IIE-4 computer with all 
its bundled software. I am at the point 
where I would like to expand my system 
and add items like a coprocessor card and 
a downloading device. Unfortunately, 
Eagle is not very big on documentation, 
and to install a coprocessor board. I need 
to know what's inside my computer. I'd like 
to know where everything is supposed to 
be before I start taking my baby apart. I've 
already contacted Eagle about this, so 
now I'll try you: Where can I find a 
technical guide or service manual for the 
Eagle IIE-4? 

Art Stan i ec 
Chicago, IL 

Eagle Computer Company has under- 
gone a reorganization that reduced its 
number of individuals and services. All 
documentation and support services are 
being provided by a separate company 



called Eagle Microsystems. You can ob- 
tain the documentation you mention by 
contacting this company at the following 
address: 

Eagle Microsystems 
5900 Washington Blvd. 
Culver City, CA 90230 
(213) 839-2263 

—Steve 

Apple Surgery 

Dear Steve, 

I am the owner of an Apple 11+ that I've 
customized to be portable, and 1 am very 
happy with it. However, there are times 
when I regret having a 11+ instead of a He. 
To solve this dilemma (without having to 
buy a new computer), I am contemplating 
a hardware upgrade and the necessary 
modifications to bring my 11+ up to an 
equivalent lie if possible. 

Though I am capable of performing such 
surgery myself, the real problem is finding 
a suitable published reference that spells 
out the technical differences between 
these two models and supports the infor- 
mation with schematics and other details 

{continued) 



FORTRAN PROGRAMMERS 

Downloading from mainframes or developing 
on the PC the choice is F77L 

"Lahey's F77L FORTRAN is the compiler of choice. . . 
FjjL compiled the five files in a total of 12 minutes which 
was 4 times as fast as MS FORTRAN and an astounding 
6 times as fast as Pro FORTRAN." PC Magazine 

"The manual that comes with this compiler is well put 
together. The messages are clearly explained, the com- 
piler's unique features are well documented. . . All in 
all, FyjL is a fine, well supported product that we think 
will do very well in the marketplace." 

Computer Language 



VERSION 2.0 NOW AVAILABLE — $477 




Full ANSI FORTRAN-77 

Source On-Line Debugger 

Common/Array greater than 64K 

Lattice C and other 3rd Party Compatibility 



To order or for more information 
(213) 541-1200 

Lahey Computer Systems, Inc. 

31244 Palos Verdes Drive West, Suite #243 
Rancho Palos Verdes, CA 90274 

Requires MS-DOS and 8087 

MS-DOS and MS FORTRAN are trademarks of Microsoft Corporation 

Pro FORTRAN is a trademark of International Business Machines 



New Qu ark/PC *^, 

Base model 5.75" x 8" 




Only$ 



495. 



Quantity discounts available 

• IBM PC® compatible single board 
computer mounts to 5V4" drive 

• Includes Floppy Disk & Color Graphics 
CRT Controllers plus more 

AISO includes: Legal BIOS • Boots PCDOS®2.1 • Printer 
Port • 2 Serial Ports • 256K'RAM • Clock Speed at 477 MHz • 
Alphanumerics and Graphics Modes for Color Video 
Controller • Standard IBM® Keyboard Port. 

Options include: 512K RAM • Piggyback I/O channel 
OEM Expansion Board • XT - Compatible Hard Disk SCSI 
Interface • Real Time Clock with battery-back-up • Clock 
speed of 9.5 MHz (Twice as fast as a PC) 

The Megatel Quark/PC is for OEM and end user 
applications that require PC compatibility in a compact 
single board computer. The Quark/PC BIOS will run most 
IBM PC® software including Flight Simulator and Lotus®. To 
meet your specifications a set of options let you add 
memory, speed and an XT-compatible hard disk interface. 
Not only does it quickly mount to a 5 1 /4 " drive, it also comes 
with floppy disk and CRT color graphics controllers — all for 
just $495. 

To order or enquire call us today. Dealer enquiries welcome. 
Megatel Computer Technologies (416) 745-7214 150 Turbine Drive, 
Weston, Ontario M9L 2S2 Telex: 065-27453 U.S. Address: 
1051 Clinton St., Buffalo NY 14206 Distributors: NCS Electronics - 
Varese, Italy • SES Electronics - Nordlingen, Germany • Perdix 
Microtronics - Biggin Hill, U.K. • Microcomputing - Ghent, Belgium. 

Quark is a registered trademark olF. and K. MFG, CO. LTD. IBMJBMPC and PCDOS are registered 
trademarks ol International Business Machines Corp. lotus is o registered trademark of Lotus 
DevelopmentCorp. MSDOS Is a registered trademark olMlcrosoltCorp 



megatel 



52 B YTE • MAY 1986 



Inquiry 197 



Inquiry 227 




Now the biggest name 

in C compilers comes in a size 

everybody can afford. 

Lets C. 

$75 



Introducing Mark Williams' $75 C compiler Want to explore C programming for the first time? Or just 
on your own time? Now you can do it in a big way without spending that way With Let's C. 

This is no little beginner's model. Let's C is a powerful programming tool, packed with all the 
essentials of the famous Mark Williams C Programming System. The one chosen by Intel, DEC, Wang 

and thousands of professional programmers. The one that wins the 

benchmarks and the reviewers' praise: 

"(This compiler) has the most professional feel of any package we tested. . /'—BYTE 

"Of all the compilers reviewed, (it) would be my first choice for product 

development"— David W. Smith, PC WORLD 

And now for more big news. Get our revolutionary csd C Source 

Debugger for just $75, too. 
Use this coupon or charge by calling toll-free: 
1-800-MWC-1700. In 111. call 312-472-6659. 



Mark Williams Let's C 

• For the IBM-PC and 
MS-DOS 

• Fast compact code plus 
register variables 

• Full Kernighan & Ritchie C 
and extensions 

• Full UNIX™ compatibility 
and complete libraries 

• Small memory model 

• Many powerful utilities 
including linker, 
assembler, archiver, cc 
one-step compiling, egrep, 
pr, tail, wc 

• MicroEMACS full screen 
editor with source 

• Supported by dozens of 
third party libraries 

• Upgradeable to C 
Programming System for 
large scale applications 
development 

Let's C Benchmark Done on 
an IBM-PC/XT, no 8087. 
Program: Floating Point 
from BYTE, August, 1983. 

Exec Time in Seconds 
Let's C 134.20 

MS 3.0 347.45 



ORDER NOW! 60-DAY MONEY BACK GUARANTEE! 



Mark Williams Let's C 

Please send me: 

copies of Lets C and copies of csd ( C Source Debugger) 

at $75 each. (111. residents add 1% sales tax.) 

□ Check □ Money Order □ Visa, MasterCard or 
American Express 

Name 

Address 



City_ 



.State. 



.Zip_ 



Cartl#_ 



. Exp. Date_ 



Signature- 



You can breeze through 
debugging at the C source 
level ignoring clunky 
assembler code. 

Affordable, powerful, 
debuggable. Mark Williams 
Let's C is the big name C 
compiler at a price you can 
handle. Get your hands on 
it now 



Mark 

Williams 

Company 




1430 West Wrightwood 
Chicago, Illinois 60614 



Inquiry 219 



© 1985 Mark Williams UNIX is a trademark of Bell Labs. 



ASK BYTE 



needed to plan and execute such an 

upgrade. 
I'm particularly interested in knowing 

about the He auxiliary connector, the 11 + 

slot 0, their conventions and differences. 

and the 11+ lowercase/uppercase SHIFT 

KEY MOD. 
If you are aware of any such published 

references, I would appreciate it if you'd 

let me know them. 

Bruce Schaffer 
Los Angeles, CA 



In a recent installment of his regular 
Ask the Guru" feature in Computer 
Shopper, Don Lancaster suggested that 
the way to make a 11+ into a He is to 
unplug the cord from the 11+ , then dis- 
card everything but the cord. Next, you 
find a lie that's missing a cord and plug 
yours into it. 

It is, unfortunately, not very practical 
to upgrade an Apple 11+ to a He. The 
technical reasons are too complex and 
involved to describe here. Some sources 



You already own a 
computer that can talk. 

Now let it 



Now you can upgrade almost any personal computer 
and make it more powerful than ever, by giving it the power of speech. 



The Votrax Personal Speech System is the least 
expensive sophisticated voice synthesizer available today. 
The PSS's text-to-speech vocabulary is virtually unlimited, 
and you can define an exception word table and custom- 
ize your translations. So the PSS can say just about anything! 

It's a speech and sound specialist. 

The PSS can also mix speech and sound effects or speech 
and music. It contains its own speaker; a programmable 
master clock, 256 programmable frequencies, a program- 
mable speech rate for a more natural rhythm, and 16 
programmable amplitude levels for incredible control of 
word emphasis. You can control the volume. Plus, it 
doesn't use any of your computer's valuable memory. 

It's computer friendly. 

The PSS is unbelievably easy to use. It doesn't need an 
interface card for most computers. It comes with standard 
serial and parallel ports. Speech, music, and sound effects 
are as simple as printing out a document. 

What do you do with a talking 
computer? 

There are countless practical applications. Businesses may 
want the PSS for spoken transmission of information, 
narration of displays, and product demonstrations, It 
makes verification of data input possible for the blind. 
It cln be part of a burglar alarm system. 
Children can use the PSS as a study 
aid. And it helps games come alive, 
speaking while you play. 

Whatever your computer can 
do, the PSS can help it do it better; at 
a cost that makes it all worthwhile: 
only $395* Call (3 1 3) 583-9884 to hear an actual voice 
demonstration of the PSS. 

•Suggested retail price 



There's also the Type *N Talk. 

If you want a less sophisticated unit and want to spend a 
little less, consider the Votrax Type 'N Talk (TNT). Its vocab- 
ulary is also limited only by what you can type. It doesn't 
use any computer memory, its compatible with most 
computers, and it's only $249* Just plug it in to your own 
speaker and go! 

For more information about the Personal Speech 
System or the Type 'N Talk, see your local computer 
retailer; call toll-free or write: 



1394 Rankin 

Troy. Michigan 48083 

1-800-521-1350 

(In Michigan, call collect 
313-588-0341) 




of detailed information on the Apple 
hardware are 

Gayler. Winston D.The Apple 11 Circuit 
Description (Howard W. Sams) 

Sather, James. Understanding the Apple 
11 (Quality Software) 

Sather. James. Understanding the Apple 
lie (Brady Communications) 

—Steve 

Apple 111 

Dear Steve, 

Where can I locate a directory of off-the- 
shelf programs for my Apple 111? Apple ap- 
parently is not marketing that machine 
anymore. Vendors, as a result, are not 
marketing software. There are apparently 
thousands of these machines around. I 
suspect that a software developer might 
earn a good living offering popular pro- 
grams for the Apple 111. 

Could CP/M offer a way out of my soft- 
ware dilemma? If I want to add CP/M capa- 
bility to my Apple III, what card would pro- 
vide the best reliability? 

Patrick I. Forrester 
Carson City NV 

A complete listing of all Apple software 
is contained in Vanloves Apple Software 
Directory. It sells for $24.95 and is avail- 
able in many bookstores or from 

PC Telemart/Vanloves 
1 1781 Lee Jackson Highway 
Fairfax, VA 22033 
(800) 368-4422 

As far as a CP/M card for your Apple 
computer, look at the Microsoft and ALS 
cards. They seem to have a good track 
record with users.— Steve 



CIRCUIT CELLAR 
FEEDBACK 

TheSPIOOO 

Dear Steve, 

I had begun putting together an S-100 
board using the SP1000 speech-recogni- 
tion chip, when 1 discovered your article 
in the November 1984 BYTE ("The Lis'ner 
1000"). 1 wonder if you could help me with 
some questions 1 have about the SP1000. 

1 was unable to locate the recom- 
mended 7.15909-MHz crystal. Instead, 1 
have found a 7.3728-MHz crystal; will this 
work? Also, I am interfacing the chip to 
a 6-MHz Z80 system. Will a program writ- 

(continued) 



54 B YTE • MAY 1986 



Inquiry 378 



Inquiry 266 - 



The future., .a little sooner than you expected! 




The Panasonic Exec. Partner. What makes it an execu- 
tive? The 7.16 MHz 8086-2 microprocessor for high-speed 
processing. So you can do more in less time. 

What makes it your partner? Like all ambitious achievers 
the Panasonic Exec. Partner gets along with others. Namely, 
IBM hardware and software. 

You'll also accomplish more with the new high-resolution 
plasma display. It lasts four times longer, offers clearer defini- 
tion and is easier to read than an ordinary screen. 

The Exec. Partner's built-in dual mode printer will help 



ACHIEVE THE POWER 

AND SPEED OF TOMORROW'S 

TECHNOLOGY. TODAY 

INTRODUCING 

THE EXEC PARTNER™FROM 

PANASONIC. 

you make a good impression. From silent, draft-quality mode 
to correspondence quality. 

The 256K internal memory has built-in expandability to 
640K. So the Exec. Partner will run the most sophisticated 
data base management programs. And its expansion slot 
allows you to fulfill the needs of specific applications like 
telecommunications and Local Area Networks. 

Tomorrow's technology DonaCAhir 
for today's executives. The rm IdSUI II V 
new Panasonic Exec. Partner. Industrial Company 



For the location of your nearest dealer, call 1-800-PIC-8086. 



SECURE PROCESSING... 
AT LAST! 

Protect Proprietary Software with HEI's System 180. 




Connects directly to IBM PC or compatibles, and Apple II computers. 

■ Allows for protected local processing with 
proprietary programs 

■ Controls the number of access cycles to your 
program 

■ Program is erased if there is a physical or electronic 
attempt to compromise protected routines 

The HEI System 180 Protected Processing System lets 
program publishers distribute proprietary software for 
customer processing without loss of security. Routines 
stored in HEI System 180 firmware are invulnerable to 
physical or electronic tampering, and protected from 
unauthorized use. 

The software supplier sets the System 1 80 for a 
designated number of operating cycles. When these 
cycles have been completed by the lease or purchase 
customer, the system may be reactivated using a 
secret code. 

The system is currently being used for remote customer 
processing of the Strong-Campbell Interest Inventory*, 
Performax Pathfinder**, and other sophisticated 
programs. May be used with the HEI Model 185 card 
scanner for fast, accurate data input. 
Call or write to learn about secure distributed 
processing with your software. 

fffl HEI inc. 

Scanning Systems Division 

2378 Wilshire Blvd. 
Mound, Minnesota 55364 
612-472-7914 




Inquiry 152 



mm 



GARCIA FEEDBACK 



ten in C for my system be too slow for 
speech recognition and/or synthesis? 

Frank Merewether 
Long Beach, NY 

A 7.3 728-MHz crystal is less than 3 per- 
cent different from the one specified. It 
will cause the pitch of the speech to be 
almost imperceptibly higher. Timings will 
also be altered by less than 3 percent 
and should cause no problem. 

The C language should be adequate for 
synthesis of speech, and, with your 
system running at 6 MHz, you probably 
will not find that your processor's speed 
is a bottleneck. Speech recognition is no 
easy matter, h owever:— Steve 

Recalling Halcyon Times 

Dear Steve. 

In June 1978 life was simple. 1 bought 
a North Star Horizon 11 kit with two serial 
ports: one for a terminal, one for a printer. 

In November 1985 life got complicated. 
I bought an Apple lie (no one sells kits 
anymore, except maybe you). I plan to get 
a board with a clock and two serial ports 
and an external modem. Someday, maybe. 
I'll be able to afford a letter-quality printer, 
a plotter, a digitizer pad . . . 

The trick is to hook all these serial 
devices together in all the conceivable 
useful combinations: computer to modem, 
computer to printer, computer to com- 
puter, etc. Western Telematic Inc. makes 
a device with eight RS-232C ports that 
they say will "allow a user on any port to 
communicate with an RS-232C device on 
any other port. Up to four pairs. . ." It 
sounds great, but it costs $895. Isn't there 
something between that and shuffling 
cables by hand? 

Peter W. Meek 
Ann Arbor, Ml 

I know what you mean 1 . But I think 
there are cheaper solutions than the one 
you mentioned. Maybe not much 
cheaper, but if you build from scratch, 
you could save quite a few bucks. 

If you want off-the-shelf solutions, try 
looking at peripheral switchers from 

Bay Technical Associates 
POB 387 

Bay Saint Louis, MS 39520 
(800) 523-2702 

Inmac 

2465 Augustine Dr. 
Santa Clara, CA 95054 
(313) 961-6865 

Both companies offer manual and "auto- 
matic" peripheral-switching devices from 

[continued) 



The 



WHO 

WHAT 

WHERE 

WHEN 

WHY 



Since 1978 we've been the leader in discount microcomputer 
sales, leading not only in price, but in product selection, 
innovative services and reputation. We're a solid organization 
that is here to stay. 

Our objective is to give you the finest in micro- 
computer products, professional service and technical 
support at the lowest possible price. No gimmicks, no 
T-shirts, no coffee cups. 

We're just a toll-free phone call from any- 
where in the US. for Business Accounts and 
Mail Order customers. Standard Federal Ex- 
press shipping will make us seem next door. 

Call or visit us when you need quality products by 
Lotus, Microsoft, AshtonTate, Intel and others, low 
prices, professional service, quick delivery, and out- 
standing technical support. 

We do all of this because you deserve to deal with profes- 
sionals. We're confident that once you try us you will become 
a repeat Conroy-LaFbinte customer and never again resort 
to the "no service" discounters. 



Of Conroy-LaPointe. 

n W^ r T t \ ' QTY^l? 17 Q Independently owned and operated by 

I\£Li 1/tlIJLi i3 1 v/J\IZji3 Conroy-LaPbinte Computer Stores, Inc. 

Three Conroy-LaFbinte Computer Stores along the West Coast bring low prices, wide selection, and professional service 
to the retail and local business environment. Visit us in . . . 

San Francisco • Seattle • Portland 

«-.ww ^w^w^w^w^ 4159826212 206-4550206 503-620-5595 

MAIL ORDER 

Our most visible service, the Mail Order department has long been the standard by which other microcomputer discounters 
are judged. We have been often imitated, but never equaled. In Oregon, call 1-800451-5151 or nationally . . . 

1-800-547-1289 

BUSINESS ACCOUNTS 

We are pleased to announce a new and exciting service — our Business Accounts Program. We have designed this program 
as the total solution to the microcomputer needs of American business. We will be offering credit terms, as well as a Quantity 
Purchase Program, our standard Federal Express shipping, no cost technical support, and our everyday professional service. 
You will deal with Business Accounts Representatives who know microcomputers and how they are used in the corporate 
environment. For more information, in Oregon call 503-684-7261, or nationally . . . 

1-800-4-CONROY 

Inquiry 95 for Apple. Inquiry 96 for IBM Peripherals. Inquiry 97 for all others. Bl 



Conroy»LaPointe 



Inquiry 306 

Try It. 

Then Buy It. 

PC-Write. 

A fast, full-featured word 
processing package for the 
unbelievable price of $10. 
Complete. You get a manual 
on disk, mail merge, split 
screen, keyboard macros, 
on-screen formatting, full 
printer support, and more. 

Try PC-Write for $10. 
Then register for $75 to get: 

• latest diskette 

• printed manual 

• two updates 

• phone support 

• newsletter 
Registration supports our 
"shareware" concept that 
keeps our prices low, and 
allows our development of 
PC-Write enhancements. 

Shareware means you can 
get PC-Write from a friend 
or user group to try, and 
give away copies yourself. 
Then register if you like it. 
No risk! 



Byte 
May 1986 

NEW 




Version 2.6 

Automatic reformatting with 
proportional spacing, more 
on-screen help, optional 
menus, HP LaserJet+ support, 
and a wonderful new manual. 



GARCIA FEEDBACK 



Order PC-Write Today. 

Satisfaction Guaranteed. 




z) 


$$ 



(206) 282-0452 
219 First N. #224y 
Seattle, WA 98109 



about $120 and up, depending on the 
number of serial lines you want to switch. 

However, I sense that you are a kit 
builder, so let me try to convince you to 
build your own. I think you will find what 
you need to know in my article "Build an 
RS-232C Code-Activated Switch" (May 
1983). While the unit described there is 
less flexible than what you need, it could 
be easily expanded to fit your setup. You 
could control which devices were con- 
nected together via one of your com- 
puters or even with a switch. 

I hope this helps. If you build some- 
thing, please let me know. Steve 

Living Sensibly 

Dear Steve. 

I am interested in building the xenon 
strobe light described in "Living in a Sen- 
sible Environment" (July 1985). Before I 
start, I need a few questions answered. 

What kind of circuit element is shown 
in figure 22 on page 1 5 5 (see figure I), and 
what is its function? Can you give me more 
information on the trigger transformer, 
such as the turns ratio and voltage across 
the primary side? What is the purpose of 
the two diodes in the circuit? Finally, how 
would you connect the secondary of the 
transformer to the FT-1 xenon flash lamp? 
Stephen ). Maley 
Spencerport NY 

The answers are, in order: 

1. The NE2 (see figure I) is a neon bulb 
that is available from Radio Shack 
(catalog #272-1101). In the circuit shown 
on page 155, the neon bulb triggers the 
SCR (silicon-controlled rectifier) when the 
1-fiF capacitor has charged to about 
70-80 volts (sufficient to turn on the 
neon bulb), so it is the trigger mechanism 
for the flash. The 500-kilohm potentio- 
meter varies the charging rate of the 1-fiF 
capacitor, thus varying the flash rate. 

2. Suitable trigger transformers for the 
circuit can be obtained from 

Mouser Electronics 
11433 Woodside Ave. 
Santee, CA 92071 

Catalog numbers 42FM401 and 
42FM403 would be suitable. The max- 
imum permissible primary voltage is 
typically about 300 V; the secondary 




voltage is about 4000 V. 

3. The two IN4004 diodes rectify the in- 
coming alternating current changing it to 
direct current The diodes are also ar- 
ranged in a voltage-doubler configura- 
tion, boosting the DC voltage obtained 
to the levels required by the flash tube. 

4. The xenon flash lamp has three ter- 
minals: anode, cathode, and trigger. The 
trigger terminal connects with the trig- 
ger transformer secondary.— Steve 

SB180 and Macintosh 

Dear Steve. 

Having read your SBI80 article. I de- 
cided that your single-board computer is 
just what I need. I already have two 
Shugart SA200 drives, a power supply, 
and a monitor. I also have a few questions 
about the SB180. 

Can I plug in my Macintosh keyboard as 
a terminal? Can I use the Mac external 
drive as a 3 /2-inch floppy on the SBI80? 
What about a 5-, 10-. or 20-megabyte hard 
disk? Are you planning such an interface 
in the future? 

Anthony Oresteen 
Batavia, IL 

Forget about using your Mac drives for 
the SB180: they just wouldn't work since 
they are not the same type of 3 '/2-inch 
drive. Nor can you use the keyboard itself 
from your Mac. You could use your Mac 
as a terminal into the SB180, though. A 
good terminal-emulation program is all 
you need, preferably one that can emu- 
late a terminal with direct cursor control 
(like a TeleVideo, Lear Siegler ADM 3 A, 
etc.). I understand that a good program 
is Red Ryder, available from FreeSoft 
Company, 10828 Lacklink, St. Louis, MO 
63114. You would run the terminal- 
emulation program on the Mac and have 
the Mac's serial output port connected 
via cable into the console input on the 
SB180. 

Check this month's Circuit Cellar for a 
combination 300/1200-bps modem and 
SCSI hard-disk expansion board for the 
SBI80. -Steve ■ 



Figure I: A neon bulb. 



Over the years I have presented many dif- 
ferent projects in BYTE. I know many of you 
have built them and are making use of them 
in many ways. 

I am interested in hearing from any of you 
telling me what you've done with these projects 
or how you may have been influenced by the 
basic ideas. Write me at Circuit Cellar Feed- 
back. POB 582, Glastonbury, CT 06033. 
and fill me in on your applications. All letters 
and photographs become the property of Steve 
Garcia and cannot be returned. 



58 BYTE • MAY 1986 



A $1495 PC/AT? 

Is This a Joke? 

A •Hoax? 

A*Trick? 

A* Put-On? 

A* Spoof? 

A* Flimflam? 



No, it's an A*Star™! And, unlike most of its would be competitors, it's none of the 

above. What it is will astonish you! At $1495*, A*Star is by far the lowest priced PC/AT 

compatible on the market. But, it's not just another clone, it's better! 

A*Star™ runs 30% faster than most AT's, has twice the memory and eight available 

expansion slots; theirs has only seven. Plus, A*Star is so "compatible" it's 

backed by an exclusive money back guarantee. Better yet, A*Star is the 

only "network ready" AT you can buy... at any price. 

But that's not all. A*Star™ is also the only PC/AT compatible made in America by an 
American Stock Exchange manufacturer. And that's real peace of mind when you 
consider the unknown origin and quality of many of the cheap, import imitations. 

A*Star™ It's about time! And. ..it's from Wells American. 




«^t Wells American 

3243 Sunset Boulevard • West Columbia, South Carolina 29169 • (803) 796-7800 TWX 510-601-2645 



'Second unit price. Call us for first unit pricing and guarantee details. You'll be amazed! 



Inquiry 382 MAY 1986 • B Y T E 59 



Call for latest prices. 



FREE SHIPPING 

in the Continental United States via UPS Ground. 

NO SURCHARGE FOR E3 OR e 



Seagate H D o Western Digital Controller 

20 MEG Hard Disk System for PC 

Internal $449 
External $599 




For Xebec 1220 Combined Floppy/Hard Disk Controller add $75. 

Includes Seagate Hard Disk, Western Digital Controller, Cables, 

Manual, Software, and Mounting Hardware. 
Boots From Hard Disk 65 MS Access Time One Year Warranty • 

Our Hard Disk Systems are compatible with the latest versions of the following Computers: IBM PC, 
IBM XT, AT&T 6300, Compaq Deskpro, Tandy 1000, Tandy 1200, PC's Limited Turbo PC, Zenith 150, 
Zenith 151, Leading Edge PC (Both Models), Sperry PC, Wyse PC, Televideo PC, Faraday Mother Boards, 
Corona PC, Eagle PC, ITT PC, and most other Compatibles. 

PLEASE SPECIFY YOUR COMPUTER TYPE WHEN ORDERING. 



Seagate 

20 and 30 MEG High Speed 
40 MS Access Time 
Hard Drives for AT™ 



Uses Linear 
Voice Coil 
Activator. 



Heads park automatically 
at power down. 

20 MEG $579 
30 ME6 $699 
40 MEG $819 

Includes Seagate Full Height Hard Disk, 

Cable, and Mounting Rails. 

Boots from Hard Disk. One Year Warranty. • 




64K RAM 

$6t Of 9 ChfllS, 200 or 150 Nanoseconds 



$10 



per set 



256KRAM $29 Wo,9cl * s 

150 Nanoseconds 



300/1200 Baud Hayes Compatible Modem 
Fits in Short Slot 




$159 



PC'S LIMITED Six Function Card 



PC's Limited AT Multifunction Card 



• Upgradable to 384K 

• Clock/Calendar 

• Includes Software 

• Parallel Port 

• Serial Port 

• Game Port 

Two Year Warranty • 




• Expandable To 3 Meg (1.5 on Board/1.5 on Piggy Back 

• Supports 64 or 256K Rams 

• Parallel Port 

• Serial Port (2nd Serial Optional) 



w/OK $99 w/384K $149 



$199 




w/OK 



Piggy Back Board $59 w/OK 



PC's Limited PC-576 RAM Board W/OK 



• Expandable to 576K 

• Supports 64K or 256K RAMS 

• Fits in Short Slot 



$69 




SOLVE YOUR POWER PROBLEM. 

XT POWER 130 W 




$99 



Directly replaces power supply in PC."' 
\ , Fully XT™ compatible. One Year Warranty ' (3 



60 B YTE • MAY 1986 



Inquiry 274 



PRICES AND MACHINES THAT 
OUTRUN THE COMPETITION. 



PCS LIMITED ™ B ? 

High Performance 
Competitive Price 




PC'S LIMITED AT 

High Performance Competitive Price 

Lffl" 



Editor's Choice" 
Feb. 25, 1986 



.».,.- llr *^t> 


~.r C K- 


~w„. 


fffffX: 


.•'••:■;■ /' \y 


i3K: 



One year warranty. * 



Includes: System Unit, 640K on Mother Board, 
360K Floppy Drive, AT Keyboard, 130 W Power Supply. 

Rvtu off Mo{orSofr*w* wrfHon torHu IB MPT and PC/XT', 40% f osrtr, wrHioermodlfkoHrmi. 
(Ppocossorj JcJ-bH 8088-2, 4.77 or 6.66MNZ Clock Speed. (Expansion Slot*) :8j 7 art a«eltet>k in above conflgvratlon. 

GW Basic $95 • IBM DOS 3.1 $85 • 8087-2 $149 



PC's Limited Mini I/O 

$99 



One Year Warranty. * 

BMHZ Option included 
at no extra charge. 



$1995 



Includes: 80286-based System Unit, 1024K on 
Mother Board, 1.2 MegFloppy Drive, Combined Floppy 
and Hard Disk Controller Card, AT Keyboard, 192W 
Power Supply, 2 Serials and 1 Parallel Port, and 
Clock/Calendar with Battery Backup. 




• Serial Port 

• Parallel Port 

• Clock 

• Software 

• Fits In Short Slot 



twu ell MaierSorrwore writtonforHielBM PC", K XT", and PCAf. (Precouer) Intel 80186 running at 6MHZ. 
(Expansion Slots} :8. Same les Configuration as IBM PC AT*. 

GW Basic $95 • IBM DOS 3.1 $B5 • 80287 $195 



PC's Limited Monochrome Graphics 
Fully Hercules Compatible 

• Text Mode 80 X 25 ^SSI^SL 

• Graphics Mode 720 X 348 Pixels 

• One Parallel Printer Port 



$159 




PC'S LIMITED PC'S LIMITED 

MONO-1 MONITOR RGB- 1 MONITOR 

$169 $459 





Floppy Disk Drive 
$109 



1 




MITSUBISHI 

Also ovaimblt for AT- electronics 

in Cray Color. iiaifHeight, ds/dd 



• 12-incbscrr.en 

• Compatible with monochrome 
orcolof graphics cards 



• .MNMdol pitch 

• RGB input 

■ 12-iacbscrceo 

• 690x240 resolution 

• 16 colors 



TEAC 



55-B, Half Height, DS/DD 



PANASONIC 

Half -Height, DS/DD 



PC's Limited Universal 
- Video Adapter 



\ _:...:%& ~~ - 



$259 



L 



• Replaces numerous cards, including IBM, 
Hercules, Plantronics. 

• Provides 132 column text— color or mono 

• Supports all parallel printers and plotters 

• Emulates color software on monochrome 
monitor in 16 shades 



TERMS 



For Wunoiy Stnlce.- Ooe year limited Wirramy 
oaPC'sllaltcd'prodBCts.Contir.lTecholralSup 
ponforaRelara Aulborltailoo SuobcrlRMA). 
Rclorm mutbe accompanied by) our RHA Invoke 
ud ibrler at plinilloo. During the Cunoi) 
Period, PC » Limited will repair orreplacelteffli It 

For CredltXontaclour CajtomtrSupporr Depart- 
mciuwlthio }0day» ofdalesblppedfrom PC'lLlallcd 
for CrcdliRrioro Autborlutloo ICRAl.Credlirt- 
nuettiare >nb)ecuoi 10% RolocUngrcc.No 
credits in bsucd alltr 30diy»f rora >blppln|di(e. 
t» Ibc idIIIcI r r»eot your order arrives defective, 
return ItwliblnJOdavs of ibeorlgl»aJ»h!pp!B|t 
djicfor a foil rtfuodof yoarpnttbasc price. 



RMA wndCRAi are valid iDda 







PC'S LIMITED 

SALES CALLS OUTSIDE TEXAS, 1-800-426-5150 

1611 Headway Circle, Building 3, Austin, Texas 78754 

Sales Calls from anywhere in country, (512) 339-6962 

Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964 

Telex No 9103808386 PC LTD FAX (512) 339-6721 v 



f3 3D 



'Limited Warranty 



independent ules orjjanitation. 



Panasonic. TEAC. Mi titigithi, Intel. IBM, 
Hercules. Plarttronici . Xebec. Seagate, Weatcm 
Digital, ATCiT, Compaq, Tandy, Leading Edge, 
Speny, Wyse. Televideo, Faraday, Corona, 
Eagle. ITT, and Zenith are registered trade- 
marks of their respecliNe companicl. IBM PC, 
IBM XT, IBM AT, are trademarks of IBM Cor- 
poration. Leading Edge PC, Sperry PC. Wyse PC, 
Compaq Dnkpro, Zenith 150. Zenith 151 , 
Televideo PC. Corona PC. Eagle PC, AT&T 
6300. Tandy I0OO and Tandy 1200 are trade- 
marks of their respective companies. 

Some quantities may be limi ted- PC's Limited 
reveries the right to substitute equivalent 
items. All prices arc subject to change without 

Ad Number 405/86 _ 



Inquiry 2 74 



MAY 1986 



61 



THUNDERSTONE 
ARTIFICIAL INTELLIGENCE 

Consolidated Diesel, CDC. Cullinet, Crown Zellerbach, David Samoff Research Center, RCA Labs, Dunn & Bradstreet Computing Services, Inc., EG&G Washington, Riverview Hospital, General Electric. 



PC MAGAZINE said our first AI product, LOGIC -LINE 1 ™ , ", . . comes closer to achieving its lofty aims 
than most other PC programs that claim to possess intelligence'.'* We're pleased to announce our new 
company name, and two spectacular new products for your portfolio of data-manipulation assets. 



QUESTION: 
IS AI "STILL CRAZT 
AFTER ALL 
THESE YEARS?" 

We used to be Clarity Software. In our first 
advertising ever, we asked, "Would you buy a 
pacemaker from Mattel?" We asserted that, 
compared to LOGIC-LINE I artificial intel- 
ligence software, competitive products were 
toys by comparison. PC MAGAZINE agreed. 
So did satisfied customers around the world, a 
few of whom are around this ad. 

Our success has effectively stomped the 
mortal spit out of the brain-damaged geeks 
whose rancid cells have been polluting the 
gene pool of legitimate AI professionals. 

Our aggressive ad also got a rise out of 
another Clarity Software, a Texas firm. Relax, 
Clarity. You had the name first, so we cloned 
Joshua, of Jericho fame, long enough to give 
us a new corporate name: Thunderstone (he 
had his own hunch about artificial intelligence 
- JOSHUA 24:2 7 - suggesting that an ordinary 
stone can be made to remember events). 

It's not too big a leap of logic to name a 
company "Thunderstoner especially if that 
company is trying to turn a bucket of sand 
(which is all a computer really is) into some- 
thing even artificially intelligent. 

So, now we're Thunderstone. Still railing at 
those trendy marketing wizards who figure 
that calling their product "AI" is enough real- 
ity (since they're into science fiction so 
seriously, we suggest they do something really 
creative, like starting their own religion). And 
we respectfully submit three Thunderstone 
products for your review: Our meteoric suc- 
cess, LOGIC-LINE J, and two new rock-solid 
products, LOGIC-LINE 2™ and COM- 
PREHENSION™. 

LOGIC-LINE 1: $250 

TRUE AI! CLONE THE WORLD'S 

GREAT MINDS ON YOUR PC. 

LOGIC-LINE I, a major breakthrough in 
sub-cognitive mathematics, distills the DNA/ 
RNA-like analog to any writer's thought pro- 
cesses. It allows you to search any textbase for 
actual concepts and inference patterns unique 
to that writer. 

LOGIC-LINE I lets you take advantage of 
the best minds the world has produced. Not 
only can you learn from history, but you can 
perpetuate the intellectual essence of the great 
thinkers. You can apply their thought pro- 
cesses to today's problems. 

In other words, even though Einstein may 
never have had a single thought about ecology, 



you can apply his thinking patterns to solving 
ecological problems! Or you can clone your 
own best thinking, again and again. 

LOGIC-LINE I was produced by a couple 
of learning-cyberneticists and the physicist 
who developed one of the first DNA/RNA- 
tracking systems (Yes, boopie, the RNA-of- 
thought assertion is more than an advertising 
creation). 

Can a PC simulate the thinking of great 
writers? We're sticking a money-back guaran- 
tee on our products, and to any so-called AI 
competition. 

LOGIC-LINE 2: $400 
EXTENDING LOGIC-LINE 1 
TO NUMERIC AND 
MATHEMATICAL CONCEPTS 

What LOGIC-LINE I is to textual data, 
LOGIC-LINE 2 is to numeric and symbolic 
data. 

At its lowest level, you can do pattern rec- 
ognition on financial data, algebraic and 
chemical formulae, tax laws, manpower- 
allocation statistics and all the other data that 
makes the financial world go around. (Too 
bad Malcolm Forbes is already using the slo- 
gan "Capitalist Tool.") 

And at its highest level? You just might use 
Thunderstone tools to save the free world, 
again. 

That's right: Again! LOGIC-LINE 2 began 
with the mathematics of possibilistic analysis 
and recursion (developed by men like Alan 
Turing and Norbert Wiener) that directly led 
the Wellington College team to breaking the 
German naval codes in World War II (if you're 
involved with SDI, there's a special federal/ 
DOD-phone number below). 

For customers who already own LOGIC-LINE /, 
we will upgrade you to LOGIC -LINE 2 for the 
difference in price between the two packages: 
$150. 

COMPREHENSION: $75 
AN EXPERT SYSTEM THAT 
HELPS YOU DEBUG YOUR OWN 
THINKING/LEARNING PROCESS 

Given our insights in analyzing the think- 
ing process, it's only natural that we'd produce 
an expert system that helps you debug your 
own thinking and learning. COMPREHEN- 
SION is designed as a trouble-shooting com- 
panion for students or executives. 

When it's 2:00 AM, and you have a 
9:00AM exam or project deadline, your com- 
puter can now debug you. Through con- 
ditional branching structures, COM- 
PREHENSION allows you to subjectively 
diagnose information-skill weaknesses and 
improves your overall intelligence/perfor- 
mance. 



WAKING UP FROM 
THE BOOLEAN DREAM 

It's time to make a major departure from 
"if-then" thinking. Human thought processes 
are much more versatile. Thunderstone has 
taken a major departure from boolean AI 
approaches. Ours are sub-cognitive tools, as 
opposed to cognitive tools (such as those from 
expert-system builders like Teknowledge in 
Palo Alto, one of the few reputable AI com- 
panies anywhere). 

COMPREHENSION and the LOGIC-LINE 
series are intended to amplify the man- 
machine loop. Does LOGIC-LINE make the 
computer think like a man? No. As Frank 
Herbert (DUNE) says: "The human intellect 
is cast in the crucible of surviva?, not in the 
play of symbols!' Nevertheless, Thun- 
derstone products explore the mathematics of 
the human thought process as described by 
Pulitzer Prize-winning author Douglas 
Hofstadter (METAMAGICAL THEMAS): 
"The brain itself does not 'manipulate sym- 
bols;' the brain is the medium in which the 
symbols are floating and in which they manip 
ulate each other!' 

The genius, then, of a particular mind, is 
evidenced by the DNA/RNA-like patterns of 
what Hofstadter calls neural firings. The 
product of that process is words. Words which 
can be analyzed by LOGIC-LINE to simulate 
further inference from your own best thinking, 
or from the long-dead, but still-great minds. 

WHAT DO YOU THINK? 

You may return any purchases, for any rea- 
son whatsoever, within 30 days for a full 
refund. We think you'll love Thunderstone 
software (We also think you're too smart to be 
fooled with $249.95 or $399.95 price tags): 
COMPREHENSION is $75; LOGIC -LINE I 
is $250; LOGIC-LINE 2 is $400. 

To find out more about LOGIC-LINE /, 
LOGIC -LINE 2 or COMPREHENSION, call 
216/729-1132. To order by phone, call 
800/621-5839 (or in Illinois, call 
800/972-5855). If you are with the US govern- 
ment or one of the intelligence spook shops, 
Thunderstone software is available to federal/ 
DOD buyers through IBIS Corporation, 131 
Elden Street, Herndon, VA 22070 (call 
800/532-3344 or 703/478-0300). Please add 
$5 shipping per order, and Ohio residents add 
5% sales tax. 

THUNDERSTONE 

CORPORATION / 

AI from anyone else is like buying 
a pacemaker from Mattel 

P0 Box 839 • Chesterland, OH 44026 • USA 
216/729-1132 



Sa.sk Oil (Canada). SCIEX (Canada). St. Joseph's Hospital. Sperry. SUNSystems. Tektronix. Texas Instruments. TWA. The Pentagon. US Attorney General. U.S. Geological Survey. Woods Hole Oceanoyraphic Insl 



♦January 14. 1986. page 140. Copyright CD 1986 by Thunderstone Corporation. LOGIC-LINE I'". LOGIC-LINE 2'" andCOMPREHENS/ON'" arc trademarks of Thunderstone Corporation, ad i vision of Expansion 
Programs International, and require a 128K IBM PC or compatible with at lea.st one diskette drive and run under MS/DOS 2.1 and up. Advertising & PR by TRBA, 408/258-2708. 



62 BYTE- MAY 1986 



Inquiry 359 



BOOK REVIEWS 



VARIATIONS IN C 
Steve Schustack 
Microsoft Press 
Bellevue, WA: 1985 
344 pages. $19.95 

MACINTOSH GRAPHICS 

IN MODULA-2 

Russell L. Schnapp 

Prentice-Hall 

Englewood Cliffs, NJ: 1986 

190 pages, $19.95 

ALGORITHMS 

AND DATA STRUCTURES 

Niklaus Wirth 

Prentice-Hall 

Englewood Cliffs. NJ: 1986 

288 pages, $32.95 



VARIATIONS IN C 

Reviewed by John D. Unger 

As Steve Schustack 
states in his preface. 
Variations in C is written for 
experienced programmers 
who want to use this power- 
ful language to write profes- 
sional commercial software. 
Although this book re- 
quires no previous knowl- 
edge of C it is not for beginners or for those who are not 
interested in using C to write sophisticated, efficient code. 
The book could also be useful to moderately skilled C pro- 
grammers who want to become more proficient in the lan- 
guage and who want to learn some of the techniques and 
tricks of the professional C programmer. 

Overview 

Variations in C is divided into two parts. The first part, which 
introduces the reader to the language in a fast-paced, pro- 
gressive manner, is geared to the novice, but it is worth- 
while reading for experienced C programmers, too. The 
latter part of the book covers the more powerful and dif- 
ficult features of the C language, such as pointers, struc- 
tures, and bit fields. These sections center on an exam- 




ple of a business-oriented 
order-entry program for 
software vendors. This pro- 
gram contains more than 
1500 lines of source code 
in 28 separate functions 
and header files. Schustack 
first presents the logic and 
structure behind the pro- 
gram and then lists all the 
program's functions, along 
with their complete source 
code. Certain functions are 
described in a simplified 
form as "stubs" and later 
presented in final form 
when the relevant ad- 
vanced coding techniques 
are introduced. The suc- 
ceeding sections draw on 
portions of this program to 
describe the more ad- 
vanced features of C. and 
by the end virtually all the 
functions have been 
presented and their code 
unraveled for the reader. 

Style and Structure 

Variations in C is well written 
and easy to read. The 
author's extensive knowl- 
edge of C shows in his 
smoothly and logically presented tutorial on the structure 
of the language. The chapters are divided into short, self- 
contained sections with large purple headings, which make 
it easy to follow topics as they are introduced and then 
elaborated upon. Scattered throughout the text are 
highlighted boxes, titled either COMMENT or CAUTION, 
that contain key sentences summarizing the section. The 
boxes provide an excellent visual focus on the crucial 
points. 

I found the second part of the book slower reading than 
the first. This is partly due to the fact that the material 
is more advanced, but since these sections refer exten- 
sively to the language and structure of the order-entry pro- 
gram, it just takes more time to read and understand the 

[continued] 



ILLUSTRATED BY MICK WIGGINS 



MAY 1986 • BYTE 63 



Compatibility 

without 
Compromise!! 

PC/AT Compatible 



All included 
50%FASTER 



$1995 




TOMCAT3200-AT MODELIII 

■ CPU INTEL 80286 6/8MHz 

■ RAM 512KB on Mother Board 

■ 2X 1.2MB Floppy Drives 

■ Floppy and Hard Disk Controller Card 

■ Turbo Display Color/Monochrome Card 

■ 1 Serial and 1 Parallel Card 

■ AT Keyboard 

■ Monochrome Display Monitor 

■ User's Manual & Technical Reference 

■ System Utility Disk (Setup, Diagnostic) 



OEM Acceptable 



TOMCAT 



---COMPUTERS 



TOMCAT CORPORATION 

Suite 304.3820 Del Amo 8lvd., Torrance. CA 90503 

TEU(21 3)542-6846 

TOMCAT COMPUTER Inc. 

Yaguchl Bldg., 3-6-4 Nlshiwaseda Shlnjuku-ku. TOKYO 

TEL:(03)208-251 1 TELEX:J28984 FAX:(03)208-2662 



BOOK REVIEWS 



source code as well as the descriptive text. 

Unlike some other books on C which have a distinct 
UNIX-style approach, Variations in C is oriented toward 
microcomputers, specifically MS-DOS machines. The soft- 
ware examples in the text and the order-entry program 
were written on an IBM PC using version 3.00 of the Micro- 
soft C compiler. 

Strengths 

Schustack's fluid yet precise writing style and his con- 
fidence in his own abilities as a C programmer help the 
reader to progress through the first part of the book quick- 
ly and easily He obviously has experience in teaching peo- 
ple the C language. 

His discussion of the C preprocessor and its uses is one 
of the best I have read on this important subject, and I 
learned a lot from it. His knowledge of the efficient design 
of user interfaces shows in the software examples, where, 
for example, he demonstrates how to align titles and 
prompts along the same columns. 

The order-entry program is certainly a bonus in a book 
like this. Schustack uses it effectively to show how to write 
large and complex programs for interactive, screen- 
oriented applications. If you are like me, you won't have 
direct use for a program designed to keep track of sales 
and orders. However, many of the functions that make up 
the software are programming gems that can be included 
in a variety of other applications programs. 

Weaknesses 

The author's complete reliance on the Microsoft compiler 
is the book's only serious weakness. His descriptions of 
how to use that compiler, the Microsoft Link program, and 
their varieties of command-line switches are completely 
lost on someone who might be using another compiler. 
A programmer with Schustack's experience could have 
written more generically about how to compile and link 
source code. 

Much of C's power and usefulness is due to its portabili- 
ty. The other books I have read on C, and the six MS-DOS 
C compilers and interpreters I have used, stick close to 
the standards for C described in Brian W. Kernighan and 
Dennis M. Ritchie's book The C Programming Language 
(Prentice-Hall, 1 983). The Microsoft C compiler that 
Schustack uses for all the examples in Variations in C im- 
plements most of the recommendations for a proposed 
ANSI C standard rather than the more common K 8- R stan- 
dard. This causes no problems if you're planning to use 
the Microsoft compiler, but it could confuse you if you 
try to compile some of the book's source-code examples 
with another compiler. Schustack clearly points out the 
use of the proposed ANSI standard by the Microsoft com- 
piler but does not consistently indicate which of his ex- 
amples use code that would go beyond the K 8- R stan- 
dard, as they do when he uses enumeration data types 
and the void type for functions that return nothing. The 
book is limited by the use of a language standard that, 
as far as I know, is implemented by only one compiler. 

[continued) 



64 BYTE • MAY 1986 



Inquiry 364 




,'J / 



Lotus 
1-2-3 

$319 



Lotus 
Symphony 

$449 



dBase III 
Plus 

$369 



PrameWork 

*369 



MultiMate 

$219 



Word 
Perfect 4.1 

$209 



Software 

Word Processing Editors 

FANCY FONT $139 

FINAL WORD II $219 

MICROSOFT WORD $239 

MULTIMATE $219 
MULTIMATE 

ADVANTAGE $269 
OFFICE WRITER/ 

SPELLER $239 

PFS: WRITE $ 89 

SAMNAWORDIII $259 

THINK TANK $109 

TURBO LIGHTNING $ 59 

VOLKSWRITER 3 $159 
VOLKSWRITER 

SCIENTIFIC $269 

WORD PERFECT 4.1 $209 

WORDSTAR 2000 $249 

WORDSTAR 2000+ $289 

WORDSTAR PRO $259 

XYWRITE III $249 



Database Systems 

ALPHA DATA BASE 

MANAGER II $179 

CLIPPER $359 

CONDOR III $339 

CORNERSTONE $259 

DBASE III PLUS $369 

KMAN 2 $319 

PARADOX $549 
PFS: FILE/PFS: 

REPORT $169 

POWERBASE $219 

Q&A $199 

QUICKCODEMI $159 

QUICKREPORT $159 

R BASE 5000 $359 

REFLEX $59 

REVELATION $559 

Spreadsheets/ 
Integrated Packages 

ENABLE $349 

FRAMEWORK II $369 

JAVELIN $549 

LOTUS 1-2-3 $319 

MULTIPLAN $135 

OPEN ACCESS $259 

SMART SYSTEM $529 
SPREADSHEET 

AUDITOR $109 

SUPERCALC 3 $209 

SYMPHONY $449 



Graphics 

CHARTMASTER $219 

DIAGRAM MASTER $215 

EXECUVISION $249 

ENERGRAPHICS $189 

FREELANCE $219 

GEM DRAW $159 
GRAPHWRITER 

COMBO $329 

IN-A-VISION $289 

MS CHART NEW $169 
OVERHEAD 

EXPRESS $139 

PC DRAW $239 

PC PAINTBRUSH $ 69 

PFS: GRAPH $ 89 

SIGNMASTER $159 

Project Management 
HARVARD TOTAL 

PROJECT MANAGER $279 
MICROSOFT 

PROJECT-NEW $249 
PROJECT SCHEDULER 

NETWORK $339 

SUPERPROJECT $209 

TIMELINE 2.0 $259 

Desktop Environments 

DESK ORGANIZER $ 69 

GEM DESKTOP $ 39 

SIDEKICK $ 39 

Communications/ 

Productivity Tools 

CROSSTALK $ 99 

PROKEY $ 69 

KEYWORKS $ 59 

RELAY GOLD 149 

REMOTE $119 

SMARTERM $Call 

SMARTCOM II $ 99 

SUPERKEY $ 55 

Statistics 

SPSS/PC $575 

STATPAK-NWA $329 
STATPAC- 

WALONICK $349 

SYSTAT $419 

Network Applications 

DBASE III LAN PAK $569 

KMAN 2 $1195 

OPEN SYSTEMS $459 

R BASE 5000 $839 

REVELATION $999 

WORD PERFECT $495 



Languages/Utilities 

CONCURRENT DOS $189 

C88 C COMPILER $299 

DR FORTRAN 77 $219 

FASTBACK $119 

LATTICE C COMPILER $289 

MARK WILLIAMS C $319 
MICROSOFT C 

COMPILER $249 

MS BASIC COMPILER $249 

MS FORTRAN $229 

NORTON UTILITIES $ 59 

QUICK BASIC $ 79 

TURBO PASCAL $ 49 

XENIX $Call 

Accounting 

BPI $299 

GREAT PLAINS $479 

IUS EASYBUSINESS $319 

ONE WRITE PLUS $179 

OPEN SYSTEMS $359 

PEACHTREE $299 

REAL WORLD $399 
STAR ACCOUNTING 

PARTNER II $529 



Hardware' 



Multifunction Boards 
AST AD VANTAGE (128K) $359 
AST 6 PAK PLUS (64K) $229 
AST 6 PAK PLUS (384K) $259 
AST RAMPAGE PC $299 

AST RAMP AGE AT $429 

GOLD QUADBOARD (OK) $419 
INTEL ABOVEBOARD PS 

(64K) $339 

ORCHID CONQUEST 



Display Boards 




EVEREXEDGE 


$299 


EVEREX GRAPHICS 




EDGE 


$299 


HERCULES GRAPHICS 




CARD 


$299 


HERCULES COLOR 




CARD 


$159 


PARADISE COLOR/ 




MONO 


$169 


PARADISE MODULAR 




GRAPHICS 


$275 
$379 


QUADRAM EGA+ 


SIGMA COLOR 400 


$489 


STB EGA PLUS 


$399 


TECMAR GRAPHICS 




MASTER 


$469 


TSENG ULTRA PAK 


$429 


TSENG ULTRA PAK-S 


$369 


Emulation Boards 




AST 5251-11 


$569 
$499 


AST 5251-12 


ASTBSC 


$489 


AST SNA 


$599 


CXI 3276/9 Plus 


$959 


IRMA 


$799 


IRMALINE 


$999 


Modems 




AST REACH 1200 


$369 


HAYES 1200 


$389 


HAYES 1200B 


$349 


HAYES 2400 


$579 


TRANSNET 1000 


$279 



Monitors 

AMDEK310A 
AMDEK800 
AMDEK 710 
AMDEK722 
PRINCETON HX-12 
PRINCETON MAX-12E 
PRINCETON SR-12 
PRINCETON HX-12E 
PRINCETON HX-9 
TAXAN 122 AMBER 



TAXAN 630/640 

Networks 
AST PC NET 
ORCHID PC NET 
3COM 



VENTEL 1200 
HALF CARD 
WATSON 

Mass Storage/Backup 

EXCEL STREAM 60 TAPE 

MNTJ 
IOMEGA BERNOULLI 



$369 
$319 



$899 



(OK) 
ORCHID BLOSSOM 

(384K) 
ORCHID PC TURBO W/ 

DTRBOARD (256K) 
PERSYST TIME SPECTRUM 



$279 
$249 



$669 



(364K) 
QUADBOARD (384K) 
SILVER QUADBOARD 

(OK) 
TECMAR CAPTAIN 

(384K) 
TECMAR WAVE (64K) 
J RAM-3 



$249 
$219 

$219 

$229 
$209 

$Call 



BOX-IOHO $2399 

IRWIN 310A 10MB TAPE 

(EXT) $850 

IRWIN 110D 10MB TAPE 

(INT) $479 

MAYNSTREAM 60MB TAPE 

(INT) $1199 

MOUNTAIN DRIVECARD 

20MB $949 

PRIAM 42MB AT $1295 

SYSGEN SMART IMAGE 

20 MB (INT) $625 

TALLGRASS SCail 

TECMAR QIC-60AT TAPE 

(INT) $1199 



$469/539 



$C«U 

$Call 
$Call 



Printers/Plotters 

BROTHER TWINWRITER $939 
DIABLO $Call 

EPSON FX-65 $359 

EPSON FX-286 $539 

EPSON LQ-1000 $799 

EPSON HI-80 $399 

EPSON DX-10/20/35 $Cail 

HP 7475 A $CaM 

JUKI 6300 
NEC 3550 
OKIDATA 192 
OKIDATA 193 
TI955 

TOSHIBA P321 
TOSHIBA P341 
TOSHIBA P351 

Input Devices 

KEYTRONIC 5151 $179 

KOALA $109 

MICROSOFT MOUSE $129 
PC MOUSE W 

PAINTPLUS $139 



Accessories 
CURTIS SURGE 

PROTECTORS 
DATASHIELD BACKUP 

POWER 
GILTRONIX SWITCHES 
MASTERPIECE PLUS 
MICROFAZER INLINE 

BUFFERS 
TRIPPLITE BACKUP 

POWER 
256K RAM SET 
8087 MATH CHIP 
80287 MATH CHIP 



$Call 

$Call 
$Call 
$135 

$Call 

$Call 
$ 39 
$135 
$199 



Hercules Mountain 

Graphics Card I Drivecard 20 

*299 



$949 



Quadram 

**379 


Princeton 
HX-12E 

$839 


Smartmodem 
<*2400B 

^$849 


IRMA 
Board 

$799 



*CALL FOR SHIPPING COSTS 




LOWEST PRICE 
GUARANTEE!! 

We will match current 

nationally advertised 

prices on most products. 

Call and compare. 

1-BOO-E 



Diskette 

Library 

Case 

with your order 




In New York State call (718) 438-6057 



TERMS: 

Checks— allow 14 days to clear. Credit processing— add 3%. COD orders— cash, 
MO or certified check— add $5.00. Shipping and handling UPS surface— add $3.00 
per item (UPS Blue 58.00 per item). NY State Residents— add applicable sales tax. 
All prices subject to change. 



iMON.-THURS. 9:00AM-8:00PM 
I SUN. & FRI. 9:00AM-4:00 PM 




; /- 






/Softline Corporation 
P.O. Box 729, Brooklyn, N.Y. 11230 
TELEX: 421047 ATLN Ul 
FAX: 71 8-972-8346 



MAY 1986 



lYTE 65 



PROLOG 
APPLIED! 

The FIRST Interactive 
Prolog for the IBM 
and Macintosh. 



PROLOG/i 

A new enhanced Interactive 
Prolog for MS-DOS^ $fiQ95 
Upwardly compatible \J\S 
with PROLOG V and V-plus. 

PROLOG/m 

Prolog for the Macintosh! 
Edinburgh syntax. $Q Q 95 
Floating point, 
math functions. 




BOOK REVIEWS 






THREE GREAT 
APPLICATIONS 

READY TO RUN 

NO PROGRAMMING 

EXPERIENCE NECESSARY. 

NFL X-pert $49 95 

Expert system for professional 
football handicapping. 

TOOLBOX $ 29 95 

Including subroutines that speed 
and compress list handling, 
searches, sorts, reversal algorithms. 




$2995 



TOYBOX 

A collection of games and puzzles 
that make learning Prolog fun. 

MIX AND MATCH FOR ADDED SAVINGS 

PROLOG/i PROLOG/m *SAVE # 
Interpreter plus... 

Toolbox or Toybox $ 79.95 $109.95 $20 

Toolbox and Toybox 99.95 129.95 30 

NFL X-pert 99.95 129.95 20 

NFL X-pert and 

Toolbox and Toybox 119.95 149.95 30 

BUY ALL 4 AND SAVE $50 129.95 159.95 50 

Applications Only 
Toolbox and Toybox 
NFL X-pert and Toolbox or Toybox 
BUT ALL 3 AND SAVE $20 



COMPATIBILITY 
Applications fully 
compatible with 
Prolog compilers 
and interpreters 
with Edinburgh 
syntax. 




System Requirements 
PC-DOS/MS-DOS 
Ver. 20 or later 
256KBAM 
512 Mocintosh 



5580 LA IOLLA BLVD. 

CHALCEDONY SfioiM 

SOFTWARE, [NC, 9 6T9) 7 483 8513 

PHONE ORDERS: 1-800-621-0852 EXT 468 wm mm 



D PAYMENT ENCLOSED $ 

CA residents add 6% sales lax 

□ CHARGE MY: □ MasterCard 



1 

I Card No. 

Signature 

■ Mr. /Mrs. /Ms. . 

■ Address 
City/ State /Zip 



D Visa 



Exp. Date . 



(please print lull name) 



PROLOG/i $69.95 

PROLOG/m 99.95 

// you own PROLOG V or 
PROLOG V-plus, calUor 
upgrade information. 

SHIPPING: 

. $ 5.00 U.S. 
7.50 Canada 
10.00 Carribean, 
Hawaii Air 
20.00 Overseas Air 

COD Orders Not Accepted 
. 15 day check clearance 



Strictly speaking, library functions are not part of the 
C language and should not be an issue concerning por- 
tability of source code. However, certain library functions 
that have become de facto standards for the language are 
included, in the form described in K 8- R. with all the com- 
pilers I have used. Most of the problems with the Microsoft 
compiler's compatibility stem from the use of unique or 
uncommon library functions or from unique extensions 
to standardized functions. 

Examples of function calls described in the book that 
either will not run or will produce errors are 

• use of a * in the width field as an argument in the printf 
I/O function 

example: pr i ntf ("% * . * f ",6, 2 ,1 23.4567); 

to print the number as 123.45 

• use of capital letters D. U. 0, and X as alternative type 
descriptions for Id. lu. lo. and Ix with the scanf( ) function 
to indicate long integers 

• use of h in the context hd, for example, to indicate a 
short integer 

I hesitate to list a matter of programming style as a weak- 
ness, but the author consistently detracts from the read- 
ability of his source code by depending heavily on the 
#define preprocessor command and the typedef state- 
ment to create synonyms for new storage classes and data 
types. He claims that this makes his code more readable, 
but unless you have read this book or carefully scrutinized 
the header files for his source code, it is unclear what kind 
of data type the programmer has defined for the array 
prices[ ] when he wrote IMPORT money prices[ ]; or what 

type of data a function defined as stepcode id cust( ); 

returns. To be fair to Schustack, after going through the 
sections of the book that use the order-entry program's 
functions and header files as examples, I understood these 
and other synonym types and classes, but I still found their 
implementations somewhat awkward. 

Conclusion 

Variations in C is a good book. The author set out to teach 
experienced programmers the C language and its effec- 
tive use in writing professional applications programs, and 
the book accomplishes this task in a readable, thorough 
manner. However, if there is one thing I have learned from 
reading a variety of books on the C language, it is that 
no single text can effectively teach all the features of C. 
I would have liked the book better if the author had stayed 
closer to the C-language standard in Kernighan 8- Ritchie 
and if he had not been so single-minded about the 
Microsoft C compiler. In the final analysis, however, 
the book's strengths outweigh its weaknesses con- 
siderably. 

\oto D. Unger (POB 95, Hamilton, VA 22068) began program- 
ming at MIT on an IBM 7094. He currently writes graphics and 
applications programs in C on microcomputers. 

[continued) 



66 B YTE • MAY 1986 



Inquiry 63 for End-Users. 
Inquiry 64 for DEALERS ONLY. 






$ 






°<^>' 



# 



# 



^ LOWEST PRICES ^ 

^ NO SURCHARGE ' 
^ M ON BANK CARDS 



■a 



SILICON SP€CinUI€S 



X PRINTERS 

^T Anadex All Models 

^T Brother All Models 

J Cannon Loser Printer 

Citizen MSP- 10. 

MSP-15 


Save 

Save 

. . $2099 

$255 

$349 


MSP-20 


$319 


MSP-25 


$485 




. . $409 


Datasouth AIIPrinterModels .... 
Diablo D-25 


$ave 

$529 


635 


$1079 


OlherPrinterModels 


Save 


EPSON 

All Printer Models 


. . . $ave 


Juki 6100 


. . . $349 


6300 


. . $669 


NEC 

3510,3550,3515,3530 

8810,8830,8850 

P5, P6, P7 


$729 
$1039 


Elf360 


$379 


Elf370 


S37Q 




OK ID ATA 

AIIPrinterModels 


. . . $ave 


Panasonic 1080 

1091 


$219 
$235 


1092 


$309 


1592 


. .. $429 


KXP3151 


S399 





STAR MICRON ICS 
AIIPrinterModels . . . $ave 

Silver Reed 

EXP400 Parallel $179 

EXP550 Parallel or Serial $409 

EXP800 Parallel or Serial $619 



TOSHIBA 

PRINTERS 

SPECIAL 







321 Parallel 


. $AVE 


327 Serial 


. $AVE 


341 Parallel 


$829 


341 Serial & Parallel 


$879 


351 Serial & Parallel 


$985 



MONITORS 

Amdex All Monitors $ave 

NEC AIIMonitors Save 

Princeton Graphics Save 

Zenith All Models Save 



HARDWARE 



BOARDS 

AST Advantage $389 

Rampoge PC $299 

Six Pack Plus $219 

Hercules Color Cord . $149 

Graphic Cord $305 

Intel 

Above Boards Save 

Maynard Hordcord $549 

Paradise Modular Graphic 06-1 $239 

FivePak , $115 

Quadram 

Gold & SilverBoards Save 

Quodlink $329 

Quod EGA+ $365 

Tec Mar Graphics Moster $445 

Captain No Memory $155 

COMPUTERS 

PANASONIC 

Sr. Partner Dual Drive $1599 

Exec. Partner Dual Drive $2129 

TOSHIBA 

T-1100 $1389 

WYSE 

Wysepc 1100-1 $979 

Wyiepc 1 100-20 $1539 





Zenith Computer 

Products 
SAVE up to 50% 

Z-158 All Models.. 

Z-138 All Models 

Z-148 All Models 


Save 
Save 


Z-171 




Z-200 


Save 


DISK DRIVES 


. $515 




. $515 


Turbo 30 


$675 


Iomega 




Bernoulli Boxes forMacintosh 

Paradise Macintosh Hard Disk 


. . Save 
. . Save 



VIDEO TERMINALS 



Oume QVTGreen 101 

QVT Amber 101 


... $299 
$314 


Wyse 30 


. . . . $299 


50 


. . $419 


75 


$559 


Wyse 85 . . 


$439 


Wyse350. . . . 


$859 


Zenith Z-22 


. . $455 


Z-29A 


$559 


Z-49 




MODEMS 

AT&T 

4000 External 


$309 


Anchor Automation 

Anchor Express 


$235 


HAYES 

All Modems 


$ave 


Prometheus All Models 

US Robotics Courier 2400 


$ave 

$389 

$180 


Microlink 2400 


$379 



KEYBOARDS 

Keytronics 5151 $159 



DISKETTES 

Maxell MD-2Plostic Box (Qty 100) . 
Sony MD/2 (Qty 100) 



PLOTTERS 

Epson Hi-80 $ave 




SOFTWARE ,_ 

IBM PC and 1QO°/ Compatibles 



WORD PROCESSORS 

Leading Edge Word Processor $48 

Leading Edge W/Pw/Spell& Moil $97 

Lightening $avo 

Microsoft Word 2.01 . $228 

Multfmote3.3 $203 

PFS: Write w/Spell Checker $76 

Wordstor w/Tutor $ 1 62 

Wordstor Pro Pock $233 

Word Perfect (Ver. 4.1). $199 
Wordstar 2000 2.0. . .$233 
Wordstar 2000 Plus 2.0 $278 

GRAPHICS 

Chortmoster $205 

Diagram Moster $189 

Energrophics $ 1 60 

Energrophics w/Plotter Option $205 

In-A-Vision $250 

Microsoft Buss Mouse 

w/PC Paintbrush 3.0 $107 

Microsoft Chart $ 1 69 

Microsoft SerialMouse $120 

Newsroom $32 

PC Draw $199 

PC Draw Light Pen $102 

PC Mouse w/Dr, Halo II $104 

PC Paint w/Mouse $119 

PFS Graph . , $76 

Prlntmoster , $30 

Signmoster $ 1 34 

Turbo Grophix Tool Box $ave 

LANGUAGES 

C Compiler (Microsoft) $227 

Fortran Compiler(Microsoft) $203 

Lattice C Compiler. $242 

Macro Assembler (Microsoft) $87 

Pascal Compiler (Microsoft) , $174 

Quick Bosic $57 

Run C Interpreter $82 

Turbo Pascal 3.0 $ave 

Turbo Tool Box $ave 

UTILITIES 

Copy II PC $19 

1 DIR $47 

Fastback $87 

Norton Utilities 3.1 $48 

Printworks $36 

Sidekick $ave 

Sidekick (Unprotected) $ave 

Sidekick— Superkey (Bundle) $ave 

Sideways 3.1 $34 

Superkey Save 

TRAINING 

Flight Simulator $29 

PCLogo .$75 

Typing Instructor $28 

Typing Tutor III. $28 



MONEY MANAGEMENT 

Dollars & Sense w/Forcost $94 

Tobios Managing Your Money $94 

PROJECT MANAGEMENT 

Harvard Total Project Manager $262 

Microsoft Project Save 

Super Project Plus Save 

Timeline 2.0 $219 



COMMUNICATIONS 


. Best Price 


Crosstalk XVI 


$92 




$145 




$77 




..$92 




S83 


INTEGRATIVE SOFTWARE 














SPREADSHEETS 

Lotus 1-2-3 


Save 

$112 


Spreadsheet Auditor 2.0 

VP Planner 


$82 

$49 



Su percale 3(Ver.2.1). . $ave 

DATA BASE MANAGEMENT 

Clipper $339 

Cornerstone Save 

dBose II , Save 

dBose Ml Plus Save 

Extended Report Writer $79 

Knowledgemon II . . . $289 

KnowledgemonUpgradeKit $145 

Nutshell 2.0 Save 

PFS:File $76 

PFS: Report $67 

Quickcode $138 

QuickReport $138 

Reflex i 

Think Tank $92 



R:Base 5000... $319 



d&* 



00 S3 Hi 



Inquiry 319 for MS DOS Products. Inquiry 320 for all others. 

Product shipped in factory cartons with manufacturer's warranty. Please odd $10.00 per order 
forUPS shipping. Prices & availability subject ta change without notice. Send cashier's check or money order. ..allother checks will delay 
shipping two weeks. 



aWJ 

4WV 






c 

A 

L 
L 



SUPER DISCOUNT WHOLESALER 



BTE 



COMPUTERS, INC. 



C 
A 

L 
L 



IBM XT 512K. FLOPPY $1988 

IBM XT 512K.20MEGHD $2488 

IBM AT 512K. floppy $3288 

IBM AT 512K. FLOPPY. 20 MEG HD $3788 

512K |0K] MEMORY CARD S 4B 

3B4K (OK) XT MLTIFCT. CARD S 9B 



ZENITH 148 $1098 

ZENITH 158 $1598 

ZENITH 177 $1988 

ZENITH 200AT $2888 

20 MEG SEAGATE HD w/CNT S 48B 

10 MEG IRWIN TAPE BACK-UP .... J 46B 



MONITORS 

AMDEK COLOR 600 $388 

SONY IBM HI RES. COLOR $398 

SONY W/TV TUNER $498 

TAXAN IBM HI RES. COLOR $395 

ZENITH AMBER TTL $159 

RF MODULATOR IBM OR APPLE $9.99 
COLOR GRAPHICS CARD RGB $ 78 

APPLE VIDE07 $158 



PRINTERS 

CITIZEN MSP10 $248 

EPSON FX85 $368 

OKIDATA 182 $216 

IBM PRINTER CABLE (HI QUALITY) . $ 15 
DAISY LASER PRINTER (CANNON) $2098 

APPLE 2f or 2e CABLE $ 15 

HP LASER PRINTER 2535 

OTHER PRICES CALL 



NEW SHORT COLOR & MONOCHROME TTL GRAPHICS CARD $158 



INTRODUCING THE NEW SUPER SPC XT PORTABLE 

FITS ANY IBM PC, XT or APPLE II+. HE or (AT - CALL) COMPATIBLE MOTHER BOARDS 

ASSEMBLED AND TESTED 



KIT INCLUDES: 

3 DISK DRIVE SLOTS AMBER 

•TTL or COMPOSITE! GREEN ) 

• HARDWARE RESET 

• POWER ON INDICATOR 

• KEYED POWER SWITCH 

• AUTOMATIC BRIGHTNESS CONTROL 

• EASY TO ASSEMBLE 
INCLUDES: 

• 9- HIGH RES. MONITOR 

• 135 W. SWITCHING POWER SUPPLY 

• KEYBOARD 

• ABS CASE. ACCESSORIES. MOUNTING 1 
HARDWARE. ASSEMBLY MANUAL 
UP TO 6 EXPANSION SLOTS 

ONLY $588 



SPC XT 256K. FLOPPY. MONO $999 

SPCXT256K.FLOPPY.10MEGHD $1499 

SPC XT 256K. FLOPPY. 10 MEG HD. 

10 MEG TAPE BACK-UP SI 999 




SUPER SPC AT 

TOTALLY IBM AT HARDWARE 

80286 microprocessor & SOFTWARE COMPATIBLE 

80287 COPROCESSOR (OPTIONAL) 
512K STANDARD MEMORY 
8 I/O EXPANSION SLOTS 
ONLY (OK) $888 

• SUPER AT KEYBOARD J B9 

$ B9 



DRIVE 
MFG 



FORMATTED 
CAPACITY 



SUPER AT CASE 

• SUPER AT 200 WATT 
POWER SUPPLY {149 

• 2.5M MULTI-FUNCTION 

CARD (OK) $229 



SEA6ATE 

SEA/CDC* 

SEA/CDC* 

CDC 

SEA6ATE 

CDC 

CDC 



21 
21 
30 
40 
40 
56 
70 



ACCESS 
SPEED 

65 
40 
40 
28 
40 
28 
28 



PRICE 

S465 
$899 
$845 
$1145 
$999 
$1399 
$1598 



SUPER COMPATIBLE PC/XT MOTHERBOARD 

TOTALLY IBM XT HARDWARE & SOFTWARE COMPATIBLE! 



• 256K MOTHER BOARD (OK) $149 

> MONOCHROME GRAPHIC PRINTER 

CARD $ BB 

• MULTI-I/O CARD $128 

• PARALLEL PRINTER CARD $ 2B 

• SERIAL CARD $ 3B 

GAME PORT ADAPTER $ 28 

' EPROM WRITER CARD .... $109 



SPECIAL THIS MONTH ONLYI 

5150 KEYBOARD $48,00 

5151 KEYBOARD (88.00 

XT CASE (FLIP TOP) $48.00 

135 WATT XT 

POWER SUPPLY $78.00 



* APPLE COMPATIBLE PRODUCTS * 



• APL. lie* COMPATIBLE MOTHER BOARD .. *238 

• APL. lie* COMPATIBLE 80 COLUMN CARD 
W/64K MEMORY »48 

• APL. He* CASE. KEYBOARD 

W/KEYPAD *119 

• SS SERIAL CARD «68 

• APL. lie* REPLACEMENT KEYBOARD *58 

• APL. lie REPLACEMENT CASE •» 

• POWER SUPPLY (REPLACEMENT 

II* or he) *3» 

• APL. lie* DETACHABLE KEYBOARD 
W/KEYPAD *99i 

• APL. II* COMPATIBLE MOTHER BOARD . . . «18» 

• APL. II* REPLACEMENT CASE »38 

• APL. II* REPLACEMENT KEYBOARD «M 

• APL. II* EXTERNAL KEYBOARD «79 

• API.. II* FUNCTION. NUMERICAL 

KEYPAD & CASE *7B 

• EPROM WRITER CARD *$B 

• 2-80 CP/M CARD »38 

• GRAPPLER COMPATIBLE PRINTER CARD . . *39 

• PRINTER CABLES *13 

• 60 COLUMN CARD FOR II* »42 



► DISK CONTROLLER CARD II* or lie '39 

► 16K MEMORY /LANGUAGE CARD *29 

» JOYSTICK II* or lie *15 

» FANCY JOYSTICK II* or lie '19 

• HALF HEIGHT DISK DRIVES 

II* or lie •US 

• He DRIVES '138 

► SUPER COOLING FANS II* or lie *24 

• APL VIDEO 7 RGB *158 




2e CASE & KEYBOARD 
w/KEYPAD 



MAIL TO BTE Computers. Inc. 
P.O. BOX 30705C • PHOENIX, AZ 85046-0705 • PHONE (602) 867-3962 

MASTER CHARGE. VISA, ARE WELCOME. $5.00 MINIMUM SHIPPING & HANDLING. 

NOT RESPONSIBLE FOR TYPOGRAPHICAL ERRORS. ALL PRODUCTS SUBJECT TO AVAILABILITY 

OR STOCK ON HAND. ALL PRICES ARE SUBJECT TO CHANGE WITHOUT NOTICEI 

ALL SALES ARE CASH DISCOUNT PRICES! REFUNDS ARE CREDITED ONLY. 



BOOK REVIEWS 



MACINTOSH GRAPHICS IN MODULA-2 

Reviewed by Scott L. Norman 

Macintosh owners interested in modern programming 
languages are probably aware that the Modula 
Corporation markets an implementation of Niklaus Wirth's 
Modula-2 for the Mac. MacModula-2, a nearly complete 
implementation of the language, can access several hun- 
dred Toolbox routines in the Mac's unique ROM. 

This very richness of resources presents a problem. As 
hefty as the MacModula-2 documentation is (it runs to 
nearly 600 pages, not including a large supplement), it can- 
not provide detailed instructions for using all the Macin- 
tosh facilities. A need exists for additional information on 
specific topics, and Russell L. Schnapp's Macintosh Graphics 
in Modula-2 is intended to address it. 

First Impressions 

Schnapp assumes that his audience will use Wirth's own 
Programming in Modula-2 (Springer-Verlag, 1982) or some 
other book as a general guide, so he devotes less than 
IO pages to an overview of the language. Approximately 
the same amount of space is devoted to suggestions for 
organizing your working disks and to a run-through of the 
Modula-2 program-development cycle (compilation, link- 
ing, and debugging). The bulk of the book consists of 
listings of program modules that exercise the Mac's 
graphics capabilities, along with explanations of the theory 
behind the code. 

The introductory material was clearly intended to help 
the inexperienced user get under way; unfortunately, it 
is already partially out of date. I obtained my review copy 
of the book at the same time as the MacModula-2 system 
itself, and I noted that the language package I received 
(version 4.0) is distributed among three disks instead of 
the two referred to in the book. Some of the files have 
been renamed as well. This is hardly a major flaw, but it 
does point up the difficulty of keeping Macintosh books 
synchronized with software updates. 

There is another small stumbling block to bringing up 
Modula-2 under the guidance of this book. In an attempt 
to remember the users of l28K-byte Macs, the author fre- 
quently makes use of program modules that are to be 
found in disk files specifically intended for the small- 
memory machines. Users of 5l2K-byte machines (Fat 
Macs), who might want to save space by removing some 
of these files from their working disks, will have to change 
some details of Schnapp's program listings. For example, 
the QuickDrawTypes module required for most of the pro- 
cedures in the book is found in a file intended for 128K- 
byte Macs; the equivalent resource for 5l2K-byte machines 
is called QuickDrawl. (The MacModula-2 supplement 
should be the final authority on what you need for various 
machine configurations.) 

Organization 

Macintosh Graphics in Modula-2 proceeds through Macintosh 
graphics facilities, animation and simulation, interactive 

[continued) 



68 B YTE • MAY I986 



Inquiry 93 



Powerful MS-DOS Software. 

For the IBM® -PC, XT, AT & others with generic MS- DOS/PC- DOS 2.0 or higher. 



pto J 



copV 



Only 




Each! 



UTAH 



:<• 



TM 



D 

D 

D 
D 
D 



D 



Whether student, teacher or professional programmer, 

this is the one you've heard so much about. 

It's easy to use. Compiles 5000 statements on a 128K 

machine. 

170 clear error messages, i.e. DATA-NAME IS 

MISSING OR MISSPELLED. 

Distribute your object code programs royalty free. 

Small object code programs conserve disk space. 

Fast compile times to increase programmer pro- 
ductivity. Over 25 times faster than one compiler 

costing $995! 

You get a diskette and 213-page manual with lots of 

examples and 16 complete COBOL source code 

programs. $39.95. 
Also available: COBOL Application Packages, Book 1 $9.95. 

UTAH 

PASCAL 

14-digit precision, BCD math, no round-off errors 

with decimal arithmetic for business and floating point + 63 

-64 for scientific. 

A very nice TRACE style debugging. 

Arrays up to8dimensionsand64Kstrings. 

External procedures and functions with dynamic 

auto-loading. 

One-step compile, no assembly or link required. 

You get a 132-page manual and diskette. $39.95 



D 



a 
a 

D 

a 

D 



UTAH 



PILOT 



TM 



D 



D 

a 

D 



Perfect for industrial training, office training, drill 

and testing, virtually all programmed instruction, word 

puzzle games, and data entry facilitated by prompts. 

John Starkweather, Ph.D., the inventor of the PILOT 

language, has added a built-in full-screen text editor, 

and much more. 

Meets all PILOT-73 standards for full compatibility with 

older versions. 

You get a diskette, 125-page manual and ten useful 

sample programs. $39.95. 

Also still available for 8-bit machines with CP/M® is our world famous 
Nevada Software Series used by 50,000 customers in 40 countries. 
These include Nevada COBOL, Nevada FORTRAN, Nevada PASCAL, 
Nevada PILOT, Nevada BASIC and Nevada EDIT. $39.95 each. 
Satisfaction guaranteed. If for any reason you're not completely 
satisfied, just return the package within 15 days in good condition, and 
we'll refund your money. 

IBM is a registered trademark of International Business Machines Corp. 
CP/M is a registered trademark of Digital Research. MS is a trademark 
of Microsoft Corp. © 1985 Ellis Computing, Inc. 



UTAH 

FORTRAN 

FORTRAN IV based upon ANSI-66 standards. 
Very fast compile times and easy to use. 
IF . . THEN . . ELSE constructs. 
Chaining with blank and named common. 
Copy statement. 
ENCODE and DECODE. 
Free-format input and output. 
Avery niceTRACEstyledebugging. 
150 English language error messages. 



TM 



UTAH 



EDIT 



TM 



D 



a 



D 



a 



A character-oriented full-screen video display text 

editor designed specifically to create COBOL, 

FORTRAN and PASCAL programs. 

Only requires 15K disk space so it can fit on the 

same disk as your compilers. 

Completely customizable tab stops, default file 

type, keyboard control key layout and CRT by menu 

selection. 

Diskette comes with easy to read 58-page manual. $39.95. 



UTAH 



TM 



BASIC 

□ This interpreter has a built-in full-screen editor. 

□ Single- and Multi-line user definable functions. 

□ BCD Math- no round-off errors. 
D Full Matrix operations. 

D You get 220-page manual and diskette. $39.95. 
Handling/Shipping: No shipping charge within US. Overseas 
add $10 for first package, $5 each additional. Checks must be 
in US Dollars, drawn on a US bank. 

Utah Software requires 128K RAM and PC-DOS or MS-DOS 2.0 or higher. 

HOW TO ORDER. Send check or money order to Ellis Computing, Inc. 
with VISA or MASTERCARD order by phone. Sorry no COD's. 



j||i||^ Ellis Conr 
M & 5655 Rig< 

fl m Reno ' Ne 

W Phone (7 

SINCE 1977 



ELLIS COMPUTING 



Ellis Computing, Inc. 
5655 Riggins Court, Suite 10 
Reno, Nevada 89502 
Phone (702) 827-3030 



TM 



Inquiry I26 



MAY 1986 -BYTE 69 



AT LAST: Professional 

Typesetting Capability 

For PC Users 

With PCTftX™ — the best-selling full 
implementation of Professor Don Knuth's 
revolutionary typesetting program T^X. 

FINEST Typeset Quality Printing From: 

dot matrix laser phototypesetter 

/flu ... «m \ 

021 ... 02n 



w 1 



\a, 



I 

J — ( 



dx 



ml 



a« 



/ 



WIDEST Range Of Output Device Drivers: 

• Epson FX, LQ • HP LaserJet* 

• Toshiba • Apple LaserWriter 

• Corona LP-300* • APS-5 phototypesetter 

• Screen preview, with EGA or Hercules card 

MOST COMPLETE Product Offering: 

PC l^X (not copy protected) includes the following: 

• Our specially written PCT^K Manual, which en- 
ables you to start using T£jX right away. 

• Custom "macro packages" that provide formats 
for letters, manuals, technical documents, etc. 

• The LM^X document preparation system, a full- 
featured macro package for preparing articles, 
books, reports, etc., and WF$£ User's Manual. 

• ^S-I^X, developed by the Amer. Math. Society 
for professional mathematical typesetting. 

Site licenses, volume discounts, and interfaces to 
PC Paintbrush, PC Palette. FancyFont and Fontrix 
are also available. 

PRICED FROM ONLY $249.00! 

(Printer drivers and interfaces additional.) 



Laser printer, 
fonts & software 
from $2995.00 



For IBM PC/XT, AT or compatible, DOS 2.0 or higher, and 
512K RAM. Hard disk required for printer drivers and fonts. 
*HP LaserJet and Corona require additional interface boards. 

For more information call or write: 

Personal Tgpt, Inc. 

20 Sunnyside, Suite H, Mill Valley, CA 94941 (415) 388-8853 

This ad, with space for the photograph, produced by PC T^X. 

Typeset on the Epson FX80, the Corona LP-300 laser printer, 

and the Autologic APS-5 phototypesetter. 

T^X is a trademark of the American Mathematical Society. Manufac- 
turers' product names are trademarks of individual manufacturers. 




BOOK REVIEWS 



graphics, and the third dimension. Each chapter includes 
exercises and a bibliography. There are two appendixes 
summarizing important QuickDraw and Toolbox pro- 
cedures, as well as a glossary and an index. 

The chapter on graphics facilities introduces a new 
library module, MiniQD, for the reader to copy onto a 
working disk. MiniQD provides access to a few of the most 
important QuickDraw routines, such as those for handling 
the graphics pen and drawing predefined shapes, and is 
called upon by most of the other routines in the book. 
The code listing is followed by brief descriptions of the 
data types that it imports from other prepackaged 
modules, along with descriptions of the procedures it ex- 
ports in turn. 

That's the basic pattern for the remainder of the book: 
Complete modules are used to introduce new concepts, 
and earlier modules are frequently drawn upon in the best 
spirit of Modula-2. Schnapp does a fairly good job of ex- 
plaining the function of each procedure, though I suspect 
beginners might appreciate lengthier explanations. 

It is unfortunate that some of the typography is unclear. 
The module listings are photoreduced from dot-matrix 
printouts, and it is sometimes difficult to distinguish vital 
punctuation marks; a few letters are sometimes blurred 
as well. You can avoid eyestrain by purchasing a disk from 
Schnapps own company that contains source code for 
all the modules in the book. 

The graphics facilities chapter goes on to develop 
modules for drawing nested shapes and filling them with 
predefined patterns. A drawing program constructs a map 
of the United States and introduces the idea of reading 
coordinates from a data file. The author does not make 
it clear, however, that the file has been created with a text 
editor, and there is some misinformation about the pro- 
gram's ability to supply the .DAT suffix to the filename. 

The discussion of animation and simulation starts with 
simple shapes that can be drawn and erased so quickly 
that they produce a good illusion of motion. Schnapp 
moves on to the use of scrolling to handle more complex 
shapes. There is a useful treatment of a reliable timer 
module and a good summary on equations of motion as 
they apply to generalized moving objects. Bouncing-ball 
routines, with and without simulated frictional losses, il- 
lustrate this material. 

The interactive graphics chapter helps the reader use 
Modula-2 to manage a mouse, menus, and windows. The 
book treats the use of the mouse for pointing, selecting, 
and manipulating objects and briefly describes the use 
of the computer's event queue. The manipulationof ob- 
jects by pushing and dragging has its limits, so the chapter 
explains how to set up command menus with such 
professional-looking features as shaded lettering for 
unavailable options. There is a good discussion of win- 
dows (including resizing and updating them) but nothing 
on dialog boxes, push buttons, or edit fields. 

A discussion of three-dimensional graphics opens with 
a quick review of orthographic projection and the 
mathematics of rotating an image about the coordinate 

{continued) 



70 B YTE • MAY 1986 



Inquiry 282 




MAKE THE CONNECTION 



Our Connection systems will solve your problem 
of trying to read and write diskettes or tapes from 
almost any computer system using your PC. 

The Diskette Connection is a hardware system 
that enables the IBM PC or compatible to read and 
write most 8 inch, 5V4 inch, or iVi inch diskettes. 

With our File Connection software programs you 
can transfer data files between most computer 
systems, including CP/M, DEC, Honeywell, Univac, 
IBM 3740, S/l, S/3, S/23, S/32, S/34, S/36, and S/38. 

Our Word and Typesetting Connection programs 
use IBM standard Document Content Architecture 
(DCA-RFT) to transfer document files between 
most word processing and typesetting systems, 
including Compugraphic MCS, CPT, Displaywriter, 
OS/6, Multiset, NBI, Quadex, Xerox, and Wang. 



Our Tape Connection system will read and 
write IBM or ANSI standard Vi inch 1600 BPI 
magnetic tape. A full size 2400 foot tape can 
store a 45 MByte file and be written in 6 minutes. 

Since 1982, we have supplied thousands of 
systems to customers around the world, including 
IBM, NASA, AT&T, Kodak, and General Motors. 

Our specialty is conversion systems and we can 
provide a solution to your problem. Call us today 
to discuss your requirements. 

This ad is one of a series featuring NASA missions. 
For a free poster, send us your written request. 

Box 1970 Flagstaff, AZ 86002 
(602) 774-5187 Telex 705609 



Inquiry I 36 for End-Users. 
Inquiry 137 for DEALERS ONLY. 



FLAGSTAFF ENGINEERING 




mmm 





l>"**-* 









I I 



■flWjP' iWR 



■* 



>//# 



r j 



jo 1 1 nil f \ 

i' ill i i if! 

I . I t I t I I i 1,1 

^K ! I f I I I II I 1 




*> ■-..,.*-. 



If you're a serious PC user, you know that 
even the finest personal computer products 
can develop problems. When that happens, 
Micro Mart customers know they can trust 
us to get them on-line again. 

We have the largest in-house service de- 
partment in the Southeast Our experienced 



technicians offer the fast, reliable service 
that business needs. Plus expert advice and 
information to help you select the right PC 
options from our $15 million inventory. 

Micro Mart service and support. For some 
very important people. Our customers. 

Call us today. 



COMPUTERS 

MULTIFUNCTION 
BOARDS 

We have a complete line of Multi- 
function Boards compatible with the 
Portable, XT/AT. 

SIX PAK 64-384K,multifunc 

I/O MINNIE I/O shortboard for 

Portable & AT New low Price! 

ADVANTAGE 128K-3Mb, 
expansion for AT_ 



RAMPAGE 64K-2Mb_ 



.NEW! 



QUADRAM OUADBOARD Loaded, 

384K CALL! 

QUADRAM GOLDBOARD, 

384K $459 

TECMAR CAPTAIN 0-384K, 
multifunc $175 



TALLTREEJ-RAMIL 



CALL! 



INTEL ABOVE BOARD, 

PC & AT From $280 

THESYS FASTCARD $235 

GRAPHIC CARDS 

HERCULES Mono & Color 

Graphics cards New Low Price! 

TECMAR Graphics Master, HiRes 
Color & Mono supports Lotus. $449 
QUADRAM Quadcolor I & II 

color cards 

PARADISE Multi-display or modular 

graphics cards From $199 

STB Chauffeurs 

EGA Plus From $289 

SIGMA Color 400 for 

PGS SR-12 New Low Price! 

FLOPPYDISK 
DRIVES 

y 2 HEIGHT Disk Drives from Shugart, 
Mitsubishi, TEAC and Toshiba. 
PC, XT & AT Compatible- From $99 
BEST SUPPLY ON EAST COAST 

HARDDISCS 

IRWIN/TANDBERG Tape back-up 

systems From $495 

SEAGATE Fast 10, 20, 30, and 75 

Meg. for PC & AT CALL! 

RODIME Hard Discs in Stock_CALL! 

SYSGEN Complete line 

_ Call for our special Sysgen pricing! 
BERNOULLI TECHNOLOGY Hard 

disc Subsystems From $2875 

PRIAM Superf ast 40 & 60 Meg. 

for AT Call! 

Best availability of voice coil and 
stepper motor hard drives with highest 
quality controllers From $495 



SOFTWARE 



ACCOUNTING, SPREADSHEETS 
& INTEGRATED PACKAGES 

SORCIM/IUS Complete line includ- 
ing Windows From $295/each 



SORCIM SuperCalc 3, 



vers.2.0_ 



.New Low Price! 



ENHANCEMENTS & UTILITIES 

FOX &GELLER Complete line for 

dBase ll/lll, RBase 4000 

NORTON Utilities 3.0 $69 



ROSESOFTProKey3.0. 



.$89 



CENTRAL POINT SOFTWARE 

Copy II PC $35 

SOFTSTYLESetFX+and 

Printworks, printer control _ 



SIDEWAYS Inverts printout $51 

BORLAND SideKick 

and SuperKey From $40 



BORLAND Lightning 
and Reflex 



.New! Call! 



COMPILERS & 
LANGUAGE TOOLS 

LATTICE C-Compilers $279 

MICROSOFT Complete line 

MICROSOFT 

OuickBasic New Low price! 

BORLAND Turbo Pascal, Turbo 
Toolbox & more From $35/each 

GRAPHICS 

Z-SOFT PC Paintbrush, mouse 

graphics $95 

DECISION RESOURCES 
ChartMaster.Latest Version, CALL! 

MICROSOFT Chart CALL! 

MICROSOFT Windows CALL! 

COMMUNICATIONS 

MICROSTUF Crosstalk XVI, 

Latest version $99 

HAYES Smartcom II $85 

WORD PROCESSING 

MULTIMATE w/spelling checker 

& tutorial New Low Price! 

MICROSOFT Word. New 

version New Low Price! 

LIFETREE Volkswriter • 

Deluxe $169 

SSI WordPerfect, 

version 4.1 _ New Low Price, CALL! 
MICROPRO WordStar Professional 
series New Low Price! 

OFFICE & 
PROJECT PLANNING 

HARVARD Total Project 

Manager $339 

SORCIM/IUS Super Project_$199 
MICROSOFT Project $175 

DATA BASE MANAGERS 

Call for unadvertised Data Base 

Managers 

MICRORIM 5000, Report Writer 

& Clout New Low Price! 

WARNER SOFTWARE The Desk 

Organizer $145 

MICROSTUF Infoscope $99 



NETWORKING! 

PROTOCOL 

CONVERSION 

SNA&BISYNC 3780,5251. Mod 
11 &12,3274,3278_ 



PC TURBO 186/187 board, 128K, 
8087 Serial Board attached_$875 
IRMA Complete line From $849 

PRINTERS 

We have thousands in stock. 
DOT MATRIX 

EPSON FX85/286 NEW! 

EPSON L01500/L0800/ 

L01000 New Prices! 

OKIDATA 192 & 193, ML84, 
Pacemark 2410_ 



TOSHIBA P-341,P-351 

& NEW 321 New Low Prices! 

NEC New P-5.P-6&P-7. Low Price! 
LETTER QUALITY 

NEC Spinwriters 2050, 3550, 

8850 New Low Prices! 

EPSON DX20 & DX35 



_ New Letter Quality Printers! 



We carry a full range of form 
handling options. 

CHIPS 

All our chips are tested and priced 

for quick sale. Call us! 

INTEL 8087, 80287, high speed 

coproc Call for Market Price. 

64K-256K RAMCHIPS 



Call for Market Price. 

128K Piggy-back chips for 

your AT Call for Market Price. 

MODEMS 

HAYES Smartmodem 300, 1200, 
1200B & 2400. We have the best 

stock in the USA Call! 

VEN-TEL 1200 Baud Half Card 

w/Crosstalk $399 

PEACHTREE TECHNOLOGIES 
P-1200 ext $279 



MISCELLANEOUS 



MAXELL Diskettes. 



_$25 



DYSAN Diskettes at the lowest 

price in the USA Call! 

MOUSE SYSTEMS PC Mouse, 

optical w/software $139 

MICROSOFT Mouse, bus or serial 

mechanical New model in stock! 

KEYTRONICS 5151 

keyboards CALL! 

KEYTRONICS 5153 Keyboard 

with mouse NEW! 

KENSINGTON MICROWARE 

Masterpiece $99 

CURTIS Accessories, Pedestals, 
cables, etc. _ 



GRAVIS Joysticks. 



.$45 



QUADRAM Microfazer print 

buffer 8-128K From $129 

TRIPPEUTE ISOBAR surge 

protectors, 4 & 8 plug From $49 

POLAROID Palette $1245 

MONITORS 

AND CRTS 

PGSMax12(E),HX12,HX12(E), 

& SR-12 New Low Prices! 

AMDEK Color 600 CALL! 

AMDEK 722, New alternative to 

IBM enhanced monitor $569 

AMDEK 300A/300G/ 

310A $129/$119/$165 

© Copyright 1986, Micro Mart, Inc. 
Technology Corporate Campus 
3159 Campus Drive 
Norcross, Georgia 30071 

Prices are subject to change 
without notice and are similar, 
but may vary at over 20 Micro 
Mart Retail Stores. 

Leasing and financing options 

are available. MasterCard/VISA 

or ask for 

Micro Mart 

Blue Chip 

Credit. 



YOURPERSONALBLUECHIPCARD 



1234 567 890 123 



(404)449-8089 

Orders only 

1-800-241-8149 



BT 5/86 




America's PC Specialist 



Inquiry 232 



MAY 1986 -BYTE 73 



Inquiry 421 for End-Users. Inquiry 422 for DEALERS ONLY. 

SAVE MONEY ON 
EPROM PROGRAMMER 

I 



Hi 



BOOK REVIEWS 



ci|n 




A SIMPLE, INEXPENSIVE SOLUTION 
TO PROGRAMMING EPROMS 

Why spend hundreds more for a programmer when you 
can buy the APROTEK-1000 for only $265.? 

The APROTEK 1000 can program 5 volt, 25XX series, 27XX 
series and 68XXX series devices plus CMOS versions of the above 
types. Included with each programmer is a personality module of your 
choice. You may require future modules at only $15.00. 
Please specify modules by EPROM Type. 

APROTEK 1000 comes complete with a menu driven program 
which allows READ, WRITE, COPY and VERIFY with Checksum. Easy 
to use with IBM, Apple, Kaypro and CPM microcomputers with a 
RS-232 port. Interface is a simple 3-wire RS-232C with a female 
DB-25 connector. A handshake character is sent by the programmer 
after programming each byte. The interface is switch selectable at 6 
baud rates & between 300 and 19.2k baud. 

The APROTEK 1000 is truly universal. It comes standard at 
117 VAC 50/60 HZ and may be internally jumpered for 220-240 
VAC 50/60 AZ. FCC verification (CLASS B) has been obtained. 
APROTEK 1000 is covered by a 1 year parts and labor warranty 

TECHNICAL INFO: 1-(805) 987-2454 

.= >irm/-w-iy CALL 0UR T0LL FREE order lines today: 

:^=flrKvJltK. 1(800) 962-5800 US or 1(800) 962-3800 CA 
1071-A Avenida Acaso. Camarillo, CA 93010 



ENHANCED GRAPHICS 
ADAPTER 




SEGA Board 

■ On Board 256K Display Memory 

■ Compatible with the IBM EGA, CGA 
&MDA 

■ Works with Monochrome, RGB & 
Enhanced Color Monitors 

■ Runs the software supporting IBM 
EGA card 

SEGA Board $395 

SEGA with EGA Monitor $895 

Order Toll Free (800) 826-0267 
In California Call (415) 651-3355 

SOURCE ELECTRONICS CORP. 

45277 Fremont Blvd., #6 

Fremont, CA 94538 

IBM is a registered trademark of International Business Machines. Inc 



axes. Results are simply stated without proof, but the treat- 
ment should pose no particular problem to anyone who 
has a nodding acquaintance with sines and cosines. In any 
case, the demonstration routines (which feature rotating, 
tumbling images) are quite explicit when it comes to set- 
ting up the coordinate transformations needed to repre- 
sent solid objects on the CRT. 

The chapter starts with wire-frame images whose ver- 
tices are read from a data file; a wire-frame space shuttle 
is also used to demonstrate the construction of stereo 
pairs of images. Matters conclude with modules that 
employ the powerful concept of the QuickDraw region in 
a more general technique for handling hidden edges. 

I found that the wire-frame demonstration module had 
problems. Elements often failed to join up properly as the 
image rotated, for example. Things improved with the 
SolidCube program and its derivatives. There is con- 
siderable flicker when the drawing routines are handling 
complex tasks, such as rotating the "illuminated" cube; 
I assume this happens because MacModula-2 compiles 
to an intermediate interpreted code and not to machine 
language. 

An Evaluation 

In his preface, Russell Schnapp states that his objective 
was to write a book that would serve both as a tutorial 
on applying Modula-2 to specific tasks and as an introduc- 
tion to Macintosh graphics with a Modula-2 orientation. 
On balance, the book is successful, although Schnapp has 
done better on the first count. The book is too terse to 
serve as a general-purpose guide to the Mac's storehouse 
of graphical tools. It is considerably more successful as 
a vehicle for helping Modula-2 users to write useful, 
polished-looking programs. Readers with some previous 
exposure to the ideas behind the Mac's user interface 
should be able to extend the book's program modules 
to handle other graphical chores quite handily. 

Scott L. Norman (8 Doris Rd., Framingham. MA 01701) is on the 
technical staff of GTE Laboratories in VJaltham, Massachusetts, and 
is a frequent contributor to computer magazines. 



ALGORITHMS AND DATA STRUCTURES 

Reviewed by Michael O'Neill 

The writing of books about data structures and al- 
gorithms is virtually a cottage industry these days. 
Algorithms and Data Structures immediately stands out from 
the crowd because of the stature of its author. Niklaus 
Wirth is well known as the designer of the languages 
Pascal and Modula-2 and as a high-profile advocate of 
what is loosely known as "structured programming." Un- 
fortunately this book's first notable feature is also its last; 
it has little else to recommend it. 

The section developing the algorithm for building an op- 
timal binary search tree is one example of the book's prob- 
lems. Most of the derivation of this algorithm is straight- 

(continued) 



74 B YTE • MAY 1986 



Inquiry 33 7 for End-Users. 
Inquiry 338 for DEALERS ONLY. 



MICROWAY'S 8087 RUNS 1-2-3"! 



MicroWay is the world 5 s leading retail- 
er of 8087s and high performance PC 
upgrades We stock a complete selec- 
tion of 8087s that run at 5 and 8 m hz. All 
ofourcoprocessorsare shipped with a 
diagnostic disk and the best warranty 
in the business - one year! We also 
offer daughterboards for socketless 
computers (NEC PC) and 287Turto 
which increases the clockspeedof the 
80287 from 4 to 8 mhz Our NUMBER 
SMASHER™ includes 640K ram. It will 
run the IBM PC at clock speeds up to 
1 0mhz and achieves a throughput of .1 
megaflops with87BASIC/INLINE, Intel 



Fortran, or Microsoft Fortran. Software 
reviewers consistently cite MicroWay 
software and 8087 expertise as the 
best in the industry! Ourcustomers fre- 
quently write to thank us for recom- 
mending the correct software and 
hardware to meet their specific needa 
They also thank us for our same day 
shipping! In addition to our own pro- 
ducts which support the 8087 and 
80287, we stock the largest supply of 
specialized software available For in- 
formation call us at 

617-746-7341 




SPEED UP YOUR AT 
OR AT COMPATIBLE 
WITH 287TURBCT - Bmhz 



Micro 
lAlay 



FASTBREAK™ employs the8087 to in- 
crease the speed of Lotus 1 -2-3™ Ver- 
sion 1 A or 1 A* by up to 36 to 1 $79 
FASTPAK™ includes FASTBREAK soft- 
ware and a 5mhz 8087 $1 79 

87SFL™ MicroWay's Scientific Func- 
tion Library contains 170 scientific and 
engineering functiona Callable from 
most 8087 compatible compilera First 
Language $250; Additional $100 
A2D-160™ MicroWay's Data Acquisi- 
tion Board performs 160,000 12 bit 
Analog to Digital conversions per 
second! Includes software drivers The 
fastest 1 2 bit A to D board available. 
For the IBM PC or XT $1295 



5057 St 



#;#/# 



rt 



For the IBM PC, PC XT, PC AT and Compatibles. 



NUMBER SMASHER™ The World's Fast 
estAcceleratorCardforthe IBM PC, XT, and Com- 
patibles! Includes an 8086 and 8087 pair tested 
to "lOmhz, and 640K bytes of high speed ram. 
Compatible with all software, operating systems 
and hardware! Your program speed is increased 
by a factor of 2.5 to 4.0. Floating point programs 
run up to 2.8 times faster on the PC than on an 
80287 equipped PC AT. One of the few accelera- 
tors on the market which is compatible with all 
EMS cards Includes FASTBREAK $1 099 

87/88TlirbO™ is a stubby card which includes 
a clock calendar and a speed controller which 
changes the speed of your motherboard from 4.77 
to 7.4mhz. Its use requires your PC to have a soc- 
keted 8224. Typical speed increase is 1 .6. Some 
programs run up to 2.5 times faster. The card over- 
comes the problem of slow hardware by slowing 
up only when slow devices are accessed and 
running at full speed otherwise. It includes an 
8087-2 $350 

286TurboCache™ This new MicroWay ac- 
celerator uses 8K of cache memory and 80286/ 
80287 processors to provide an average speed 
increase of 3 to 1 for most programs Call for 
specifications, benchmarks and price. 

MATRIXPAIC manages a MEGABYTE! 
Written In assembly language, our runtime pac- 
kage accurately manipulates large matrices at 
very fast speeds Includes matrix inversion and 
the solution of simultaneous linear equations 
Callable from RM orMS Fortran, MS Assembler, or 
87BASIC/INLINE each $99 

87FFT™ Written in assembly language, per- 
forms Forward and Inverse FFTs on real and com- 
plex arrays which occupy up to 51 2K bytes of 
RAM. Also does convolutions, auto correlations, 
hamming, complex vector multiplication, and com- 
plex to radial conversions. Callable from most 
8087 compatible compilers $200 

87FFT-2™ performs two-dimensional FFTs 
Ideal for image processing Requires 87FFT $1 00 



l/\lay° 



P.O. Box 7 9 
Kingston, Mass. 
02364 USA 
(617)746-7341 



Mega Page Our Intel-Lotus specification 
memory card. The only EMS board which comes 
with two megabytes of cool-running, low power 
drain CMOS ram installed Includes ram disk, print 
spooler, disk cache, and EMS drivers For the IBM 
PC, XT, AT and compatibles $549 

D Fixer™ Our disk utility which thoroughly 
checks PC or AT hard disks for bad sectors and 
updates the MS DOS file allocation table accord- 
ingly. Solves the AT hard disk problem! ... $1 49 

DOptimizer™ Optimizes the way your hard 
disk or floppy stores its files Speeds up accesses 
by recombining fragmented files $49 

DCache™ Our disk caching software speeds 
up your I/O by storing repetitively used tracks in 
memory. The amount of memory used can be 
selected in 64K byte banks $49 

87 Verify™ For users who have to be absolutely 
sureof their results! This background task periodic- 
ally performs an 8087 accuracy and stress tesL$49 

87MACRO/DEBUG™ Contains all the 
pieces needed for writing 8087/80287 assembly 
code including 8087 macros, object libraries for 
commonly used functions, including transcen- 
dentals, trigonometries, conversions and Micro- 
Ways debugger- 87DEBUG $1 99 

OBJ --* ASM™ A multipassobject module trans- 
lator and disassembler. Produces assembly larv 
guage listings which include public symbols, ex- 
ternal symbols and labels commented with cross 
references Ideal for patching object modules for 
which source is not available $200 

87 BASIC™ includes patches to the IBM Basic 
or MS Quick Basic Compiler for USER TRANS- 
PARENT 8087 support Provides super fast per- 
formance for all numeric operations including trig- 
onometries, transcendentals, addition, subtrac- 
tion, multiplication, and division each $1 50 

87 BASIC/ 1 N LI NE™ converts the output of 
the IBM Basic Compiler into optimized 8087 
inline code which executes up to seven times fas- 
ter than 87 BASIC. Supports separately compiled 
inline subroutines which are located in their own 
segments and can contain up to 64K bytes of 
code. This allows programs greater than 128K! 
Requires the IBM Basic Compiler Version 1 and 
Macro Assembler. Includes 87 BASIC $200 

MICROWAY UDI runs RTOS or RMX com- 
pilers under DOS , $300 



8087 UPGRADES 

All MicroWay 8087s include a one year warranty, 
complete MicroWay Test Program and accurate 
Installation Instructions 

8087 5mhz $109 

For the IBM PC, XT and compatibles 

8087-2 8mhz $149 

For Wang, AT&T, DeskPro, NEC, Leading Edge. 

80287-3 5mhz $179 

ForthelBM PC, AT an d28 6 compatibles 

80287-8 8mhz $295 

For the Tandy 3000 and ITT-XP. 

287TlirbO™ 8lTlhZlfyouownanAT, 
Deskpro 286 or AT compatible, this is the card you 
need to get reasonable numeric performance. It 
plugs into your 80287 socket and includes a spe- 
cially driven 8mhz 80287. The card comes in three 
configurations. The IBM AT version includes a 
hardware RESET button $395 

NECV20, V30 CALL 

64K RAM Set 150ns $10 

256K RAM Set 150ns $34 

128KRAMSetPCAT $49 

JRAM, AST. INTEL CALL 

DCache plus 64K ABOVE BOARD PS 375 

DCache plus 1 28 K AT ABOVE BOARD 475 

Microsoft Fortran Version 3.31 209 

IBM Professional Fortran 565 

Ryan-McFarland Fortran Version 2.0 399 

FORLIB+ or STRINGS and THINGS 65 

Graf matic for Fortran or Pascal 125 

Plotmatic 1 25 

NAG Fortran Library 300 

Lattice C 269 

Microsoft C or QuickBasic CALL 

IBM Basic Compiler Version 2.0 465 

Summit BetterBASIC" CALL 

IBM Assembler w/Librarian Version 2.0 1 55 

Microsoft Assembler Version 3.01 99 

Microsoft Pascal Version 3.31 1 99 

STSC APL*PLUS/PC 450 

Phoenix Plink86 or Cosmos Revelation. . . CALL 

SPSS/PC+ 595 

EPSILON Text Editor 195 

LABTECH NOTEBOOK 745 

MultiHalo (one language) 189 

Fifth Generation FASTBACK 150 



Inquiry 240 



BYTE 75 




BOOK REVIEWS 




IBM® PC/XT-COMPATIBLE 
COMPUTER SYSTEM 

COMPARE OUR SYSTEM COMPONENTS TO THERS & SA VE! 

THEIRS 




OURS 



-Only 128K or OK 

-135-Wattunit 

-w/o Graphics or Print 

capability 
-Brand XYZ, "Mama- 

san," or worse 



-Low resolution, 
no-name monitors 

-90-dayWarranty 
(if you're lucky) 



•25K Memory included 
150-Watt Power Supply 
Monochrome Graphic 
Printer included 
Name-Brand Disk 
Drives such asTEAC 
&QUME 

MAGNAVOX High- 
Resolution TTL Monitor 
Full Warranty on all 
products: 1 yr. Warranty 
on boards, 2-yr. on 
MAGNAVOX monitors 

IBM PC-XT Type Case no. 90180 s 33.00 

150-Watt Power Supply no. 90155 65.00 

5150 IBM-Type Keyboard no. 90130 45.00 

Mother Board expandable to 640K 

with 256K instal led no. spclo3 1 35.00 

Monochrome Graphic Printer Board no. 90010 75.00 

Floppy Controller Board no, 92260 29.00 

2-Floppy Disc Drives at $85 each No. 93140 1 70.00 

12" TTL High Resolution Monitor 

by MAGNAVOX no. 96710 87.00 

Complete with Instruction & Assembly Manuals. 



YOUR COST.. 



: 639 



00 



Any f these components may b e purchased separately. All boards guaranteed 

for 1 year. IBM, PC/XT are trademarks of International Business Machines, Inc. 

Some assembly required. 



SmarTeam Modem 



103/212A— Operates 
at 300 Baud & 1200 
Baud 

Hayes Compatible 
'•Auto Answer, Dial 
UsesRS232-C & Redial 

No. 91990 $ 1 65.00 



Avatex 1200 Modem 

•Auto Answer, Dial & Redial 
•FCC Approved 

•PC TALK III Software included 
•Automatic Self Test on Power-Up 

COMPARE AT $199.00 

No. 97070 $99-00 



MAGNAVOX 




Color 
Monitor 



No. 97890 . 



•RGB High Resolution 
•14" diagonal 
•640 Dots/H-240 lines/ 
80 column 
•Built-in Tilt Stand 

$318.00 



Key 
Boards 



5151 IBM Type Key Board Caps ano 
NumLock a 7C nn 

No. 51515 3> I D-UU 

5150M XT Key Board— looks like AT, has 
big return key & LED indicators 

No. 99020 $59.00 



ADD-ON BOARDS FOR IBM® 
COMPATIBLE SYSTEMS 



Monochrome Graphic 
Printer Board 

•Built in Parallel Printer Port »Text: 
25 line x 80 column •Graphics: 720x348 
resolution •TTL High Resolution Output 

No. 92270 $75-00 



Multifunction Board 

•Expandable to 384K RAM -Serial Port, 
Game Port -Parallel Printer Port •Clock 
Calendar w/Battery Backup 'Software, 
Manuals and Cables 

No. 92290 $75.00 



Color Graphics Board 

•RGB and Composite Port -Light Pen 
Interface •Graphics: 320x200 (color); 
640x200 (BW) 'Text: 25x80 

No. 92280 $65.00 



Multi I/O Card 

•Built-in Floppy Controller that can 
drive2floppydrives»TwoRS232 Serial 
Adapters •Timer Port 'Parallel Printer 
Port •Joystick Adapter 

No. 96770 $84.00 



RS 232 Serial Board 

•1 Serial Port »2nd Port optional 

No. 92310 $^7.UU 



Parallel Printer Card 

•Also may be used as I/O Port 

No. 92700 ...$21 -00 



Floppy Disk Controller 

•Drives 2 Internal drives •Includes cable 
•IBM PC compatible am** ^^ 
No. 92260 $29.00 



PLUS A HUGE SELECT/ON OF CABLES & ACCESSORIES! 



THE WHOLESALE OUTLET 

f DEPT. BY, 1 INTERSTATE AVENUE, ALBANY, NY 12205. To order 
call 1-800-344-4387 (Non-NYS Res.) or 51 8-459-7883 (NYS Res.) 
Personal and company checks accepted (on mai l-in orders). 
Customer pays freight & handling FOB Albany, NY. Non-credit 
cardorders shipped UPS , C.O.D. Minimum order$25. Dealer and 

large quantity orders call 518-459-7883. Ask for Computer Dept. 

Some items not as pictured. Prices subject to change. 




forward but Wirth presents it obscurely. A crucial fact 
(concerning expression 4.73) necessary for producing an 
efficient program is not so easy to derive; Wirth states it 
without a derivation. The development of the algorithm 
is further obscured by a nonstandard notation for sum- 
mation, a consistently incorrect variable name in a sum- 
mation limit (e.g., expression 4.68), and the use of the let- 
ter "k" to represent two different variables (in expressions 
4.65 and 4.72). Finally Wirth claims that the sample out- 
put, a search tree for keywords, was generated by apply- 
ing the program to its own text; this is not so. 

This probably sounds like nit-picking. It is. Most of the 
book is like the passage I just nit-picked. I find it difficult 
to learn anything from a text that contains obscure deriva- 
tions, nonstandard notation, and incorrect formulas. / 
found no gross errors, but the little ones are legion. 

Wirth does not appear to have made any firm decision 
concerning the degree of sophistication of this book's in- 
tended reader. The sections on data types and simple data 
structures, for example, are elementary, while the section 
on string searching is considerably more advanced. 

This book is a substantially revised version of a work 
published 10 years ago (Algorithms+Data Structures^? rograms, 
Prentice-Hall, 1976), which explains two more problems 
it has. One concerns Wirth's treatment of the technique 
of loop invariants. He uses this technique only in the sec- 
tions that were added; the sections carried over from the 
original version do not have it. Loop invariants appear, 
are used for a few pages, vanish, and reappear 200 pages 
later. Wirth should have left this method out or used it 
throughout the text and he should have explained it more 
clearly. The second problem concerns the choice of lan- 
guage for presenting programs. The earlier version of this 
book used Pascal; this edition uses Modula-2. I see no 
evidence that Modula-2 is superior to Pascal for the pro- 
grams given in this book. Because of that, and because 
Pascal is more widely known and available than Modula-2, 
I think Wirth ought to have retained the former as his 
presentation language. 

I have two complaints about the book's typography. First, 
the listings use indentation of about one character width; 
this does not provide a clear demarcation of different 
levels, particularly when a listing crosses to the next page. 
Second, the typeface is very light and difficult to read. 

Algorithms and Data Structures does have some good points. 
Wirth presents a wide range of material of both theoretical 
and practical interest. The chapter on recursion and the 
section on string searching, for instance, provide good 
coverage of some subtle and useful algorithms without 
too much of the obscurity that mars the rest of the book. 

The good points, however, do not outweigh the bad. For 
the most part Algorithms and Data Structures is poorly struc- 
tured and obscurely written, and I cannot recommend it. 
Both Robert L. Kruse's Data Structures and Program Design 
(Prentice-Hall, 1984) and R. Sedgwick's Algorithms (Addison- 
Wesley 1983) are better books on this subject. ■ 

Michael O'Neill (2227 Dwight Way #4, Berkeley, CA 94704) has 
been programming computers for 20 years. 



76 BYTE • MAY 1986 



Inquiry 387 







Same System Plus 10 MB Hard Disk 



UNITEX PC 

* System Board Expandable to 640K 

* 256k Random Access Memory 

* 8 Expansion Slots 

* 360k Floppy Disk Drive 

* 135 Watt Power Supply 

* 5150 Type Keyboard 

* Runs IBM PC Software 

* One Year Warranty* 



TM 




$ 



595 



UNITEX $ 
AT" 



1,695 



* System Board Expandable to 1024K 

* 512k Random Access Memory 

* 1.2 MB High Capacity Floppy Disk Drive 

* Combined Floppy and Hard Disk Controller 

* 230 Watt Power Supply 

* Battery Backup Clock/Calendar 

* AT Keyboard 



UNITEX $ 
TURBO" 



695 



* System Board Expandable to 640K 

* Keyboard Selectable 4.77Mhz and 
8 Mhz Speeds 

* 256K Random Access Memory 

* 360K Floppy Disk Drive 

* 135 Watt Power Supply 

* 5150 Type Keyboard 



HiflHm BM 



UNITEX CO. 

El Camino Real Los Altos, CA 94022 



1-80 



inside California: 1-415-967-6465 m 

IBM PC, XT. AT are trademarks of IBM Corp. Jpa 
* Limited Warranty 

r ree shipping via UPS Ground in Continental United States. Unitex reserves all rights to substitute equivalent items 

All prices subject to change without notice. 
Unauthorized returns subject to a 15% restocking charge 



Inquiry I 54 



MAY 1986 -BYTE 77 



May 1986 



EVENT QUEUE 



Second Annual Interna- 
tional Computer Graphics 
Image Contest. For an entry 
form, contact Raster Tech- 
nologies Inc.. r I\vo Robbins 
Rd.. Westford MA 01886. 
(617) 692-7900. ext. 226. En- 
tries must be submitted by 
June I. 

EXPO 86: T^e 1986 World 
Exposition, Vancouver, 
British Columbia. Canada. 
EXPO INFO. POB 1800. Sta- 
tion A, Vancouver, British 
Columbia V6C 3A2, Canada. 
(604) 660-3976. 
May 2-October 1 3 

Videotex '86: THE Elec- 
tronic Information 
Industry Show Interna- 
tional Conference & 
Exhibition. Infomart, Dallas. 
TX. Cynthia Parsons. Online 
International Inc., 989 
Avenue of the Americas. 
New York. NY 10018. (212) 
279-8890. May 6-8 

AAMSI Congress 1986: 
Computer Applications in 
Medicine and Health 
Care, Anaheim, CA. AAMSI. 
1101 Connecticut Ave. NW, 
Suite 700. Washington, DC 
20036, (202) 857-1199. 
May 8-10 

Association for Systems 
Management Annual Con- 
ference, New Orleans, LA. 
Richard McCaffrey, Associa- 
tion for Systems Manage- 
ment. 24587 Bagley Rd.. 
Cleveland. OH 44138. (216) 
243-6900. May 11-14 

Computer Graphics '86, 
Anaheim, CA. National Com- 
puter Graphics Association, 
2722 Merrilee Dr., Suite 200. 
Fairfax. VA 22031. (800) 
22 5-6242, or (703) 698-9600. 
May 11-15 



1986 Annual Industrial 
Engineering Conference 
and Show, Dallas. TX. Insti- 
tute of Industrial Engineers, 
Conference Department, 25 
Technology Park/Atlanta, 
Norcross. GA 30092, (404) 
449-0460. May 11-15 

Fourth Annual COMDEX/ 
Europe, RAI Congress and 
Exhibition Centre. Amster- 
dam, The Netherlands. The 
Interface Group Inc., 300 
First Ave.. Needham, MA 
02194, (617) 449-6600; in 
Europe. World Trade Center, 
Tower C, 12th Floor, Strawin- 
skylaan 1245. 1077 XX Am- 
sterdam, The Netherlands; 
telephone: (31)^20-621941; 
Telex: 12358NL. May 12-14 

Printed Circuit Fabrica- 
tion Expo '86/Minneapolis: 
Explore Emerging Tech- 
nology, Minneapolis. MN. 
PC FAB Expo, Technical 
Seminars Trade Shows, 1790 
Hembree Rd., Alpharetta. 
GA 30201. (404) 475-1818. 
May 12-14 

Tropictronics/Amazon 
Trade Fair II, Sao Paulo, 
and Manaus, Amazonas. 
Brazil. Joseph Burke. Interna- 
tional Trade Administration. 
U.S. Department of Com- 
merce. Room 4044. Wash- 
ington. DC 20230, (202) 
377-5014. May 12-15 (Sao 
Paulo); May 19-22 (Manaus) 

ELECTRO/86 AND MlNl/MlCRO 

Northeast. Boston, MA. 
Electronic Conventions Man- 
agement. 8110 Airport Blvd.. 
Los Angeles, CA 90045, 
(213) 772-2965. May 13-15 



Infobase '86: Interna- 
tional Database Exhibition 
and Convention. Frankfurt. 
West Germany. Michael Kip. 
Messe Frankfurt GmbH, Lud- 
wig-Erhard-Anlage I, POB 
970126. D-6000 Frankfurt 
97, West Germany; tele- 
phone: (0 69) 7575-477/520; 
Telex: 4 II 558 messe d. 
May 13-15 

THE L.A. Professional 

VlDEOSHOW AND VIDEO PRO- 
DUCTION Conference, Long 
Beach Convention Center, 
Long Beach, CA. Lisa Welp, 
The Professional Videoshow, 
51 Sugar Hollow Rd., Dan- 
bury, CT 06810. (203) 743- 
2120. May 13-16 

THE Info Show: Informa- 
tion Management Exposi- 
tion & Conference, Los 
Angeles Convention Center, 
Los Angeles, CA. Cahners 
Exposition Group. Client 
Services. 999 Summer St.. 
POB 3833, Stamford, CT 
06905. (203) 964-8287. 
May 14-16 

Eurit '86 (THE European 
Conference on Informa- 
tion TECHNOLOGY IN EDUCA- 
TION): Development of 
Educational Software and 
Courseware. Enschede, The 
Netherlands. Pieter Sinninghe 
Damste, c/o Twente Uni- 
versity of Technology, COI. 
POB 217, NL7500 AE 
Enschede, The Netherlands. 
May 20-23 

EuroComm 86: European 
Communications Week 
Amsterdam 86, Amsterdam, 
The Netherlands. EuroComm 



IF YOU WANT your organization's public activities listed in BYTE's Event 
Queue, we need to know about them at least four months in advance. Send 
information about computer conferences, seminars, workshops, and courses 
to BYTE, Event Queue, POB 372, Hancock. NH 03449. 



86. c/o RAI Gebouw bv. 
Europaplein, 1078 GZ 
Amsterdam, The 
Netherlands; telephone: 
(020) 5 411 411. May 20-23 

Sino-European Artificial 
Intelligence Joint Semi- 
nar, Shenzhen. People's 
Republic of China. Dr. Shao 
Zu-Ying. CCTS/1COS. 5/F.. 
Electronics Building, Shen- 
zhen Special Economic 
Zone, People's Republic of 
China; in Europe, Dr. j. M. 
Richards. The 'Hiring Insti- 
tute, George House. 36 
North Hanover St.. Glasgow 
Gl 2AD, Scotland. 
May 26-30 

Automach Australia, 
Sydney, Australia. Leslie 
Hossack. Society of Manu- 
facturing Engineers, One 
SME Dr., POB 930. Dear- 
born, Ml 48121, (313) 
271-1500: in Australia, 
Adolph Greco, A. Greco & 
Associates Pty. Ltd., Inte- 
grated Project Management 
Services. POB 1399. Cherry- 
brook 2120. New South 
Wales, Australia; telephone: 
(02) 875-2377; Telex: SECCO 
AA2 5468. May 27-29 

Using Computers in the 
Lab: The Second Annual 
Symposium for Science 
Educators. Tufts University, 
Medford. MA. Symposium II, 
Technical Education Re- 
search Centers. 1696 
Massachusetts Ave.. Cam- 
bridge. MA 0213 8. (617) 
547-3890. May 27-31 

Workspace 86: People, 
Space and Technology, 

Moscone Center, San Fran- 
cisco, CA. Charles Yourd, 
Workspace, 665 Chestnut St., 
San Francisco, CA 94133. 
(415) 776-2111. May 28-30 ■ 



78 BYTE • MAY 1986 



PC NETW 



GOES TO THE 




How do you suppose most manufacturers of personal eompui 

products get started? 

They go to the Orient. . . taking either their designs or simply their 

ideas to one or more of the major electronics manufacturing 

concerns, getting bids for making these devices under contract to 

the creators. Multifunction Cards, Video Cards, Disk Controllers, 

Modems and I/O Boards all begin their life in this way. 

This relationship between the manufacturing capabilities of the East 

and the design and marketing talents of the U.S. has resulted in the 

incredible selection of enhancement products for the IBM and 

Apple computer markets. 

Well, with 100,000 members and growing strong, The Network 

sent its buyers east to visit some of these manufacturing 



concerns to check out the feasability of directly importing these 
products in the necessary volumes to save our members money! 
What they came back with was astounding. 

Now, we always figured that there were some pretty substantial 
markups as these boards came into the country and got fancy boxes 
and marketing promotions under any one of a number of well 
known brand names in the peripheral add-on markets but we had 
no idea they were so large! 

To prove our point, consider what they brought back. Each board is 
constructed to the same precise standards, on similar machinery to 
their name-brand duplicates. The difference? As a Network member, 
you pay only 8% over our unusually low wholesale price... and 
you get our full 1 year warranty! 



Hercules™ Smarter 
Brother 

A Monochrome Graphics Card with 
Printer Port...100°/o compatible 

with Hercules™ product. 




IBM Color Card 

100% compatible with the 

IBM offering. The wholesale price? 



j$& 



A mere 



$69.00 




Graphics Printer 
Interface 

If all you want is a printer, this is the 
card for you. Supports all text and 
graphics printer features. 

Wholesale price . . . 



$29.00 



The Multi-384 Board 

A clone of the AST's SixPakPlus™ 

includes up to 384Kb of expansion 
memory, 1 serial, 1 parallel, 1 game 

port, a clock/calendar and 
software 
standard. 





I/O Multifunction Card 

Identical I/O board to the AST's I/0+* 

with 2 serial, (1 standard) 1 parallel, 
1 game port and clock/calendar 
with software. 




Wholesale price 

$65.00* 



With0 

$79.00 

Wholesale 



512 K Memory 

The least expensive way to add 
memory to your current system. 
With K installed. 

Wholesale priced at only . . . 

).00* 




Six Pack, I/O Plus and AST are all registered trademarks of AST Research Inc. Hercules is a registered trademark of Hercules Computer Technology Inc. 



*PC NETWORK Members pay just 8% above t is wholesale price, plus shipping. 

All prices reflect a 3% cash discount. Minimum shipping $2.50 per order. International orders 
call for shipping & handling charges. Personal checks: please allow 10 working days to clear. 

CALL TOLL-FREE 1-800-621-SAVE '""""°" c *" 




i:i^iV/» 




(312)280-0002 GET THE NETWORK ADVANTAGE!!! 



Inquiry 271 



MAY .1986 •■.'BYTE 79 




NETWORK 



BUY HARDWARE AND SOFTWARE AT WHOLESALE + 8%, 
AND GET 14-30 DAY SOFTWARE RENTALS'... 



Listed below are just a few of the over 30,000 products available at our EVERYDAY LOW PRICES! 
The Network carries products for Apple, IBM, CP/M and most other popular computer families. 



GAMES & EDUCATIONAL SOFTWARE 

(Please add S1 shipping and handling 
Wholesale 
Arrays Home Accountant-Mac Only S65.00* 

Ax ton Art Portfolio & Card Shoppe 31.00" 

Bluechip Baton/Millionaire/Tycoon 19.75* 

Broderbund Lode Runner 17.25 

Broderbund Choplitter 17.00" 

Broderbund Print Shop 24.75* 

Broderbund Dazzle Draw 31.97" 

CBS Mastering the GRE 53.50" 

CBS Murder by the Dozen 20.97" 

CBS Goren Bridge Made Easy 45.00* 

Counterpoint The News Room 26.97* 

Davidson Speed Reader II 31 .00" 

Davidson Math Blaster 21.50* 

Davidson Word Attack! 21.50* 

1st Byte Smcoth Talker-Mac Only 44.00* 

Hayden DaVinci-House/lnteriors/l.andscapes 24.75' 

Hayden Sargon III 24.75* 

Infocom Deadline or Suspended 24.00* 

Infocom Enchanter. Planet/all. 19.75* 

Cutthroats, Witness or Zork I 

Infocom Hitchhiker's Guide or Seastalker 19.75* 

Infocom Suspect. Sorcerer or Infidel 21.75* 

Infocom Zork II or lit 21.75* 

Layered Front Desk-Mac Only 65.00* 

Mirage Concepts Trivia 21.00* 



FOR YOUR APPLE II & MACINTOSH 

foreach title ordered from below.) 

Miles Computing Mac Attack-Mac Only 

Palatlr Mac Type-Mac Only 

Penguin Graphics Magician 

Penguin Pensate or Xyphus 

Penguin Transylvania-Mac Only 

Professional Software Trivia Fever 

Pryorlty Software Forbidden Quest 

Scarborough Master Type 

Scarborough Run lor the Money 

Simon & Schuster Typing Tutor III 

Sir-Tech Wizardry 

Sir-Tech Knight ol Diamonds 

Sir- Tech Rescue Raiders 

Sublogic Night Mission Pinball 

Subloglc Flight Simulator II 
►Spinnaker Alphabet Zoo. Face Maker. 
Kinder Comp. Hey Diddle Diddle. 
Rhymes & Riddles. Story Machine 
►Spinnaker The Most Amazing Thing 
► Spinnaker Delta Drawing 

T/Maker Click Art-Mac Only 

Warner Desk Organizer 

Vldex Fun Pack-Mac Only 

Videx Mac Checkers & Reversal 

Virtual Comblnatlcs Micro Cookbook 



Wholesale 
22.00* 
23.50* 
28.97* 
20.00* 
20.00* 
19.00* 
21.00* 
19.75* 
26.00* 
28.25* 
17.25* 
18.97* 
18.97* 
19.25* 
27.25* 
15.25* 



20.77* 
20.75* 
25.00* 
65.00* 
19.25* 
25.17* 
17.50* 



BUSINESS SOFTWARE FOR YOUR APPLE //& MACINTOSH 

(Please add S2.50 shipping and handling for each title ordered from below.) 



►Apple Apple Works 

Borland International Turbo Pascal 

BPI GL AP. AR. PR or INV 

Broderbund Bank Street Writer 

Central Point Copy II Plus or Copy II Mac 

Funk Software Sideways 

Funsoft Macasm 

Haba Habadex 

Haba Quartet 

Harvard Mac Manager 

Human Edge Mind Prober 
►Human Edge Sales Edge 

Human Ed9e Communication Edge 
►Living Videotext ThinkThank-Mac Too! 

Main Street Filer-Mac Only 
► M ECA Managing your Money 



S1 60.00* ►Microsoft Word for Macintosh S102.00* 

30.00* ►Microsoft File for Macintosh 102.00' 

190.00' ►Microsoft Multiplan for Macintosh 102.00* 

37.25* Microsoft Basic lor Macintosh 79.00* 

Microsoft Chart la Macintosh 66.00* 

Monogram Doflars & Sense for Apple II 55.00* 

Monogram Doliars & Sense for Macintosh 70.00' 

Od esta Helix for Macintosh Reg's 5 J 2K 200.00' 

Provue Overvue-MacOnly 130.00" 

Sensible Software Sensible Speller IV 67.50" 

Softcraft Fancy Fonts 109.00" 

Softech Microsystems UCSD Pascal 37.00* 

Software Arts TK Solver! for Mac 134.00* 
Software Publishing PFS: File. Write, or Graph 63.50* 



16.25* 
26.50* 
60.00* 
40.00* 
97.00* 
29.95* 
22.00* 
110.00* 
98.00* 
65.00* 
67.00* 
87.50* 



Stoneware DB Master-Mac Too! 
Telos Filevision for Mac 



HARDWARE FOR YOUR APPLE //& MACINTOSH 

(Please add shipping and handling chargesfound in italics next to price.) 

MODEMS 



DISK DRIVES 








Wholesale 


Alps AP-100A Dual Apple Drives in 


S309.00* 


(7-00) 


One Case 






Apple MAC 400KB External Drive 


349.95* 


(7.50) 


Corvus 5 5MB Hard Drive 


939.00* 


(20 28) 


lOmega /WacnouM/ 5MG Removable 


1,250.00* 


(27 00) 


Drive lor Macintosh 






Micro Sci A2 143KB Drive 


150.00* 


(5 00) 


Just like Apple's Own 






Micro Sci Floppy Controller 


55.00* 


(2.501 


►Paradise Mac 10MB Hard Drive 


750.00* 


(16 20) 


Subsystem 






►Paradise Mac 20MB H,irdDnve 


950.00* 


(2052) 


Subsystem 






► PC Network 140KExtemalDnve 


95.00* 


(2 50) 


tor Apple lie 






Rana Elite 1 163K Drive 


225.00* 


(5.00) 


Tecmar 5MB Removable Drive lor MAC 


999.00* 


(21-58) 


Tecmar 10MB MAC Drive 


999.00* 


(21.58) 


Tecmar5MS MACDriveUpgrade 


1.235.00* 


(26.68) 


BOARDS AND BUFFERS 




ALSZ-fng/ne 


S 11 5.00* 


(2.50) 


AST" Multit/0-2serial/Clock 


1 55.00* 


(2 50) 


Microsoft Premium Sottcardlle 


243.67* 


(2.50) 


Microtek DumplmgfGX 


55.00* 


(2.50) 


Orange Micro Grappler 4- 


66.00* 


(2 50) 


Orange Micro Serial Grappler 


66.00* 


(250/ 


PC Network ZB0 Card 


35.00* 


(2.50) 


Quadram APIC/G Graphics Interface 


62.00* 


(2 50) 


Quadrame RAM- 80 


88.00* 


(2 50) 


Quadram Multicore- 1 Parallel/ J Serial/ 


140.00* 


(2.50) 



Wholesale 
S125.00* (2 50; 



174.45* (350) 
276.00* (6 00) 



Hayes Micromodem llew/Smartcom 
Novation Apple Call I 
Prometheus 1200A 

Low Cost 1200 Baud Internal Modem for Apple II 
Prometheus Promodem 1200 299.00* (6 00) 

w/MacPack 
Zoom Zoom/Modem lie 95.00* (2 50) 

Micromodem Compatible-Free Dow Jones 

ACCESSORIES 

Apple Macintosh Carrying Case 
Apple Macintosh Security Kit 
Apple Macintosh Numeric Keypad 
Hayes Mach III Joystick 

w/Fire Button for He 
Kensington Dust Cover lor MAC 

or ImageWriter 
Kensington Starter Pack 
Kensington Surge Protector 

Kensington System Saver Fan 
Koala MacVision 
Koala Koalapad Touch Tablet 
M&R Sup-R-Mod RF Modulation 
PC Network Cooling Fan with Surge 

Protector & Dual Outlets 
PC Network SSDD Diskettes (Box of 10) 7.95* (1.00) 
PC Network Macintosh Diskettes 15.95* (1.50) 

Includes Free Flip & File Case 

These Diskettes are Guaranteed for Life! No Generics' 
Sony Mac Diskettes (Box ol 10) 19.00* (1.50) 



S69.00* 


(1.49) 


29.00* 


(150) 


69.00* 


(2.50) 


26.50* 


(150) 


7.50* 


(1.50) 


49.00* 


(300) 


29.50* 


(2.50) 


56.97* 


(1.50) 


150.00* 


(3.00) 


78.00* 


(150) 


44.00* 


(1.50) 


25.00* 


(2 50) 



GAMES & EDUCATIONAL SOFTWARE FOR YOUR IBM 

(Please add $1 shipping and handling for each title ordered from below.) 



Wholesale 

ATI Intro to PC DOS Vol. I & II S23.00* 

ATI Intro to BASIC 23.00* 

Bluebush IChess (Your Toughest Opponent) 34.00* 

Bluechip Millionaire/Oil Baron or Tycoon 19.75* 

Broderbund Lode Runner 17.25* 

CBS Goren Bridge Made Easy 40.00* 

CBS Mastering the SAT 50.00* 

CDEX Training for Wordstar 37.25* 

Comprehensive Intro to Personal Computing 26.50* 

Davidson Math Blaster. Word Attack! 21.50* 

Davidson Speed Reader II 31.00* 

Hayden Sargon III 24.00* 

Individual Professor DOS 29.75* 

Individual The Instructor 24.50* 

►infocom Zork I or Witness 19.75* 



► infocom Deadline or Suspended 
Microsoft Flight Simulator 

Mouse Systems PC Paint-Turn your PC 

Into A Color Macintosh! 
Scarborough Master Type 
Sierra On-Line Crossfire 
Sierra On-Line Kings Quest II 
Spectrum Holobyte GATO 
►Spinnaker Alphabet Zoo. Kinder Comp. 

Story Machine. Face Maker. Hey Diddle. 

Rhymes & Riddles 

► Spinnaker Delia Drawing 
►Spinnaker Most Amazing Thing 

Sublogic Night Mission Pinball 
Virtual Combinatlcs Micro Cookbook 



Wholesale 
S24.00* 
27.00* 
59.95* 

19.75* 
18.00* 
24.75* 
18.00* 
15.25* 



20.75* 
20.77* 
19.25* 
21.00* 



BUSINESS SOFTWARE FOR YOUR IBM 

(Please add S2.50 shipping and handling for each title ordered from below.) 



► Ashton-Tate DBase III S345.00* 
►Ashton-Tate Framework II 365.00' 

Borland Turbo Pascal 30.00* 

Borland SideKick (Protected) 24.50* 

Borland SuperKey 29.75* 

BPI G/L, Am or A/P 262.00* 

BPI Aura 262.00* 

BPI Personal Accounting 43.75* 

Breakthrough Timeline 230.00' 

►Central Point Copy II PC 20.00* 
Conceptual Instruments Desk Organizer 1 57.00* 

Digital Research DR Logo 75.00* 

Digital Research Gem Desktop 25.00* 

Digital Research Gem Draw 73.00* 

Enertronlcs Energraphics 143.00* 

Funk Software Sideways 32.00* 

► Harvard Harvard Project Manager 175.00* 
Harvard Total Project Manager 225.00* 

► Hayes Smartcom ll-New VT100 Emulator 68.00* 
►Human Edge The Management Edge 22.00' 

► Human Edge Mind Prober 22.00* 
infocom Cornerstone 210.00* 
Lifetree Volkswriler III 126.50* 

► Lotus Development Lotus 1-2-3 285.00' 
MDBS Knowledgeman/2 229.00* 



MicroPro Wordstar 2000 

MicroPro Wordstar 2000+ 

MicroRim RBase5000 

Microsoft C Compiler 

Microsoft Word-Latest Version 2.0 

Microsoft Multiplan 

Microsoft Mouse 

Monogram Dollars & Sense 
►Multlmate Multimale (Latest Version) 

Norton Norton Utilities 3. 1 

Oasis 7/?e Word Plus 

Open Systems P/O Sales 
A/R INV G/L A/P Team Mgr. 

Power Base Power Base 

Real World G/L A/P A/R or OE/INV 

Rosesoft ProKey Version 3 

Ryan McFarland RM COBOL (Dev. System) 
►Samna Samna III Word Processor 
►Samna Word + 
►Satellite Software Word Perfect 

Softcraft Fancy Fonts 

Software Publishing PFS.File. Wnle.Graph 

Software Publishing PFS.&port 

Sorclm Supercalc III 

Xanaro Ability 



209.00* 
250.00* 
285.00* 
205.00* 
202.00* 
102.00* 
107.00* 
85.00* 
180.00* 
43.00* 
75.00* 
ea. 275.00* 

1 55.00* 
ea. 3 5 0.00* 
65.00* 
520.00* 
207.75* 
320.00* 
180.00* 
125.00* 
68.00* 
64.00* 
169.00* 
247.50* 



HARDWARE FOR YOUR IBM 

(Please add shipping and handling charges found in italics next to price.) 



DISK DRIVES wh 

lOmega Bernoulli Box S2.100.00* 

Dual 10MB Drives 
►PC Network 10MB INTERNAL 1.-2 340.00* 

Height Autoboot Drive New lower price 
PC Network 10MB Tape Backup 395.00* 

Same unit used in Compaq's DeskPro! 
P C Net <Mor\iAT42MBIntemal Hard Disk 1 .050.00* 

35MS Access Time-Comes Complete 
PC Network 20MB Tape Backup 495.00* 

Hall Height Internal w/controller 
PC Network20/WB Internal 1/2 Height 395.00* 
Hard Drive-By Seagate or Microscience 
► PC Network Half Height DS-DD Drives 85.00* 
►Tand on TM1002FullHeightDS/DDDrives 1 20.00* 

MULTIFUNCTION CARDS 



Apparat AT Ram Expansion Card 
►AST*" SixPakPluS* With 6AK 
AST- I/O Plus II" 
AST" Advantage tor AT" 
Everex Magic Card/64K 

► P Network 512K Memory Board w/OK 
PC Network The MulU-384 Board 

A clone of the ASTs * SixPakPlus.' 
Includes up to 384Kb ol expansion 
memory. 1 serial. J parallel. 1 game 
port, a clock/calendar and 
software standard 

► PC Network I/O Plus II Clone 

Ser/Par/Game/Clock standard 
Quadram Improved Ouadboard w/0K 
Quadram Quad Sprint Turbo Board 
Tecmar Captain Mullitunclion Card w/OK 



S139.00* 
195.00* 
120.00* 
355.00* 
160.00* 
65.00* 
79.00* 



170.00* 
360.00* 
146.00* 



(45.36) 

(7 34) 

(8.94) 

(24.95) 

(10.69) 

(9.48) 

(127) 
(2.20) 



(2 50) 
(2 50) 
(250) 
(2.50) 
(250) 
(2 50) 
(1.10) 



(2 50) 
(2 50) 
(2 50) 



MODEMS Wholesale 

PC Network Intern at 1200BPS Modem 119.00* (2.50) 
Low Cost Short Slot Hayes Compatible Modem 

Hayes Smartmodeml200BwtlhNew 312.00* (2 soj 

Smartcom II/VT100 Emulator 

Hayes Smartmodem 1200B Alone 265.00* (2.501 

Prometheus Promodem 1200B Internal 225.00* (2 50) 



VIDEO CARDS 

Hercules Color Card w/Parallel Port S142.00* (2.50) 

►Hercules Monochrome Graphics Card 263.00* (2 50V 

Paradise Modular Graphics Card 219.00' (2.50) 

► PC Network EGA Clone 260.00' (250) 

► PC Network Hercules Mono Card Clone 99.00* (250) 

100"i> Hercules Compatible! 

►PC Network Color Card 69.00' (250) 

Persyst BOB CardUltraHighRes Color 299.00* (2.50) 

Quadram Quad EGA + Enhanced 340.00* (2.50) 

Graphics Adapter 

*STBGraphixPluslt 199.00* (2 50) 

ACCESSORIES 

► Brand Name DS/DD Diskettes S 8.95' (100) 

Guaranteed lor Life 1 Not Generic! 
►DS/DD Bulk Rate Special .59'ea. 

Packaged in 50 with sleeves and labels 
Guaranteed for Life! 
►PC Network Replacement 130 Walt 79.00* (5 00) 

IBM-PC Power Supply— Gives your PC the same 
Capacity as an XT. Good for add m Tape Drives 
(without need for a piggyback unit) and large 
capacity disk drives. 
SMAPCDocumate:KeyboardTemplates 9.99*ea (1.00) 
for Lotus/DBase/ Mullimate and others 



MEMORY CHIPS 



MONITORS 



►64K Memory Upgrade Kits (9 Chips) 

Quantity Discounts Available 1 
►64K Dynamic Ram Chips (Each) 

► 256K Dynamic Ram Chips (Each) 

► 128K IBM AT Piggyback Chips (Each) 



2.90* 
5.50* 



(100) 
(100) 
(100) 



EXTERNAL MODEMS 



289.00* (6.24) 



.00* (8.27) 
.00' (10.69) 



Anchor Signalman Express S205.00* (5.00J 

Hayes Smartmodem 300 125.00* (5 00) 

Hayes Smartmodem 1200 340.00* (500) 

Hayes Smartmodem 1200B with new 312.00* (2 50) 

Smartcom II VT100 Emulator 

HayesSmaf'modem '2008Ator>e 265.00* (2 50j 

►HayesSmarf/r 1 oc/em2400 525.00' (5 00) 

PC Network lnternal1200BPSModem 119.00* (2.50) 

w/Bitcom Software.Shorl Slot Hayes Compatible 

Prometheus Promodem 1200 276.00* (6 00) 

External J00% Hayes Compatible 

► U.S. Robotics Courier 2400BPS Modem 395.00* (5 00) 

►US. Robotics Password 1200BPSModem! 195.00* (4 00) 

TERMS & CONDITIONS 

*PC NEIWORK-Members pay just 8% above the wholesaleprice. plus shipping. All prices rellect a 3%cash discount 
Minimum shipping S2 50 per order. International orders call for shipping & handling charges Money Orders, personal 
and company checks please allow 10 working days lo clear. All prices subject lo change without nolice 1 
tRENT BEFORE YOU BUY-Members are eligible tojoin the NETWORK'S Business and Game software Rental Libraries 
and evaluale products for a lull 54 (Regular) or 30 (VIP) days to see if it meetsyour needs. And The NETWORK'srental 
charges are lar less than other soltware rental services- Just 20%OF THE MEMBER WHOLESALE PRICE Rental titles 
available in IBM/Apple/MAC and CP/M Formats. Hardware prices highlited b y ► relied recent major price reductions 



Amdek VideoSOOG Composite Green S110.I 
Amdek Video 300A Composite Amber 120J 
Amdek Video 31 0A IBM Type Amber 130. 
Amdek Color 300 NEW! Composite 215J 
Amdek Color600NEW!HighResRGB 365.I 
Amdek Color 722 GraphicsMonitor 440. 
► Magnavox T2TTL IBM Type Amber 79. 

A great looking/performing monochrome 
Princeton HX-1 2 RGB Monitor 399.I 

Princeton MAX-12e 156.1 

Works with Color or Mono Card 
Quadram Quadchrome II 

640x200 RGB w/14~ Screen/ 

Black, Phosphor Mask/IBM Case 
Tax art 630 High Res RGB Monitor 38: 
Taxan 640 Highest Res (740x400) 43! 

Currently Available- Works with Persysl 

BOB Card & the AT&T Computer 
Zenith ZVM 1230 A Green 8' 

High Res/Non Glare 



Wholesale 

0* (3.00) 

0- (3.00) 

10* (300) 

0' (4.64) 

0* (7.88) 

10* (9.29) 

10* (500) 

0* (8.60) 

0* (5.00) 



COMPLETE SYSTEMS 

Wholesale 



Apple Macintosh Base Systems 
AT&T 6300 PC CPU2 

128K/2 Floppy/ 1 Semil/ 1 Parallel 
AT&T 7300 Unix PC 

10MB Hard Disk/ 1 Floppy/ 51 2 K 
COMPAQ DeskPro/Tape Backup System 1.940.00* (63 70) 

W/640K1 1 Floppy! 10MB Hard Disk/ 

10MB Tape Drive/Monitor 



Wholesale 
S1.999.00* (4318) 



CALL ►COMPAQ Hard Disk Portable 

S1.575.00' (34.02) WMB Hard Oisk/Floppy/256K 

►IBM PC Base System 2DSDD/FDC/256K 1 ,250.00* (30 78) 

3,699.00* (79 90) ►IBM PC Professional Hard Disk 1,620.00' (36 9 1) 

IBM PC/AT Base System~1 2MB 2.875.00' (60. 37) 

Floppy/ 2 56 K 
IBM AT Professional System CALL 

1.2MB Floppy/20MB Hard Disk/1 Ser/1 Par/512K 



PRINTERS 



» hac 



►Citizen MSP-10NEW 

W0CPS/80COL/Fnc 
►Cituei MSP- 15 NEW< 

160CPS/ 132COL/Fnc * 
►Citizen MSP-20NEW 1 

200CPS/80COL/Fnc > 
►Citizen MSP-25 NE W' 

200CPS/132COUFnc « 
►Citizen Premiere 35 NEW' 

35CPS Daiseywheel/ t32COL/Fnc < Trac 
►Epson LX-80 I00CPS 80COL LO Mode 199.00' 

NewModei'i 
►Epson FX-85 299.00* 

►Epson FX-286 NEW' 459.00' 

Epson LQI000NEW! 180CPS/60 CPS NLO CALL 
Epson SQ2000 NEW! Inkjet Printer 1,359.00' (29 35) 

106CPS LQ Model 1 76CPS Draltl 132COL 
Epson DX -35 35CPS 569.00' ( 1 2 29) 

LelterQualily Printer 
► NEC 2030 20CPS LO Parallel 5 70.00* (13 00) 

►NEC 2050 20CPS Letter Quality Printer 5 70.00* (13 00) 



S265.00* (5 72) 



350.00* (7 56) 
350.00' (7.56) 



499.00* (10 76) 
385.00* (8 32) 



(4 30) 



(6 46) 
(9 91) 



► NEC 3530 33CPS LQ Parallel S 690.00* (19 18) 

► NEC 3550 33CPS LelterQualily Printer 690.00 1 ( 1 7 87) 
►NEC 8850 55CPS Printer 995.00* (28 73) 
►NEC Pmwriter 2 New' Color Do: Matrix 599.00' (12 94) 

Okidata ML 182 New 120CPS/LQ CALL 

Model Fric/IBM Graphics + more 

Okidata ML 192 New Sleek Design/ CALL 

160CPS/LQ ModelFricllBM Graphics 

Okidata Color 20 80CPS1 100 + CALL 

Cotors/LQ Mode/IBM Graphics/ + More 

(Requires Interface) 

Okidata IBM Interface lor Qkimale CALL 

Color 20 

Okidata ML84P 200CPS 132COL CALL 

Okidata ML93P 160CPS Wide Platen CALL 

Okidata 2410P Pacemark 350COL CALL 

Qume Sprint U/40 40CPSLetterQual.ity 1.155.00' (2400) 

Star Micronics Power type 18CPS 300.00' (648) 

Toshiba P1340 80COL/144CPS 430.00' (9 29) 

Toshiba P341 New! 210CPSI132COL 699.00* (15 09) 

Toshiba P35J New' 288CPS/ 132COL 926.00* (2 1 06> 




Microsoft Windows 
pulls it all together. 

• Work/display several programs at the same time. 

• Switches applications without quitting them. 

• Built-in electronic notepad. 

• Uses Keystroke or mouse. 

• Data transfer from applications to desktop. 



$53.50 



Wholesale Price 



'Members pay wholesale * 8% and shipping. 
Alt prices subject to change without notice. 



Hardware to get the most out of windows. 



Tall Tree™ JRAM-3 Increases the number of 
applications you can display at one time. Meets 
Lotus/ 'Intel/Microsoft specs, for extended memory. 
Can support up to 2MBs of &H CC f\f\* 

memory, and access over 8MBs. 3J>IOD.UU 



THE™EGA-P 100% compatible with 
IBM '"Enhanced Graphic Adapter. Improves the 
quality of your display with 64 colors, ultra-high 
resolution, and a built-in &OOH f\f\* 

parallel printer port. 



$299.00* 



PC NETWORK • MEMBERSHIP APPLICATION 
YES! Please enroll me as a member in the PC NETWORK™ and send my catalog featuring 
thousands of computer products, all at just 8% above DEALER WHOLESALE PRICES. I will 
also periodically receive "THE PRINTOUT", a special up-date on merchandise at prices 
BELOW even those in my wholesale catalog, and all the other exclusive, money-saving 
services available to Members. 

I am under no obligation to buy anything. My complete satisfaction is guaranteed. 
Please check (*>) all boxes that apply: 
• Basic Membership • 

With 14 Day Rentals 

□ One-year membership for $8 □ 

□ Two-year membership for $15 (SAVE $1) □ 

□ Business Software Rental Library for □ 
$25 add'l. per year — members only 

□ Games Software Rental Library for 
$10 add'l. per year — members only 



356 

Special V.I. P. Membership 

With 30 Day Rentals 
One-year membership for $15 
Two-year membership for $25 (SAVE $5) 
BOTH Business and Game Software 
Rental Libraries for $30 add'l. 
per year — V.I. P. members only 



D Bill my 


credit card: 


□ 


VISA 


□ 


MasterCard 


D 


American Express 


Account 
Number: 









































Exp. 
Date. 



□ Check or money order enclosed for $ . 

Name 

Address 

City 



mo. year 



. State . 



_Apt. No. 
Zip_ 



Telephone (_ 



-)- 



My computer(s) is: D IBM PC □ IBM-XT D IBM-AT □ Apple II D Macintosh D Other 

Signature ^** 

(Signature required to validate membership) Copyright © 1985, PC NETWORK INC. 




•\ 



CITIZEN" 



Citizen "Dot Matrix Printers 

w/draft and near letter quality modes, switch 
selectable compatibility, built-in push feed 
tractor, and replaceable print head. 
MPS-10 w/40/160 cps, 8.5" platen ... $265.00* 
MPS-15 w/40/160 cps, 15" platen .... $350.00* 
MPS-25 w/50/200cps, 15" platen .... $499.00* 



CITIZEN ™ 
PREMIERE 35 

Daisywheel Printer 

• 35 cps letter quality printer. 

• 8K user available buffer. 

• Switch selectable software 
compatibility. 

• Built-in variable-width tractor and 
automatic paper loading. 

• IBM Compatible. 

Wholesale Price 

$385.00* 

*Members pay Wholesale + 8% and shipping. 
AH Prices subject to change without notice. 




BUSINESS REPLY MAIL 



First Class 



Permit No. 14823 



Chicago, IL 



POSTAGE WILL BE PAID BY ADDRESSEE 



PC NETWORK 

320 West Ohio 
Chicago, Illinois 60610 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 




OMPLETE SYSTEM. 

ionart laoal warranty service available in most major metro areas; 




IBM PC BASE 
SYSTEM 

IBMPCW/256K 

Floppy Drive Controller 

2 Double Sided Double 

Density Disk Drives 

Mix and Match with 

your Favorite Monitor 

and Printer! 

$1,250.00* 



CALL FOR 

LATESTIBM 

ANNOUNCEMENTS 




CUSTOM 

CONFIGURATIONS 

WELCOME 





iiiiiiiiiiiiiiiu 1 




m$& 



IBM PC 
HARD DISK SYSTEM 

IBM PC W/256K 
Floppy Drive Controller 
1 Double Sided Double 

Density Disk Drive 
Half Height Hard Disk 



WMUIWB 

$1,620.00 

W/20MB 

$1,690.00 



PORTABLE 
HARD DISK SYSTEM 

256K/1 Floppy/Hard Disk 




comma 



$1,999.00 W/20MB 



call for 10MB 



DESKPRO SYSTEM 

256 K CPU 71 Floppy /Hard Disk 





$1,940.00* 
$2,025.00* 



w/10MB 
W/20MB 




64K IBM PC MEMORY EXPANSION KITS 

Quantity Discounts Available. ^. Jflfr Mm 

Guaranteed for Life! j^ J^ M & JgF mp *^* 

r* s«<* <ftQ nn* 



$9.00" 



DISKETTES 

Guaranteed for Life! 

Brand name diskettes 
available in boxes ol 10 



5 1 A"DS/DD 

$8.95*/ 

Bx. 10/Bx. 50 
ea .bci 



5 1 /4"SS/DD 

$7.95X 

Bx. lOx^Bx. 50 
-<a.47* 



3V 2 "SS/DD 

Bx.10 

$15.95* 

Free Flip 
&FileCase 



1/2HEIGHTDS/DD 
DISK DRIVES 




The Network buys direct 

and makesfantasticdeals 

with manufacturers like MPI/ 

Tandon/CDC/Shugart/Qume/ 

TEACandothersto bring you 

fantastic prices on Name 

Brand drives for your PC/AT/ 

XT/jr/or Compatible. 

$85.00* 

Quantity Discounts Available 



A I otlJS 
$280.00* 



INTERNAL PC HARD DISK 

Low Power/Automatic Boot. Works on standard PC's 

and Compatibles. Includes drive/controller/cables/ 

mounting hardware and instructions. 

Full one year warranty! 
10MB 




$340.00* 

20MB 

$395.00* 

Quantity Discount Available 



WordPerfect 

$180.00* 

MultiMate 



ea. 



'Members pay 8% above this wholesale price plus shipping. 

CALL TOLL FREE 1-800-621-S-A-V-E (mSSSKfi.) 

In Illinois call (312) 280-0002 Validation code: B356 

Customer Service and Order Status (312) 280-1567 

TM & R-Registered trademarks of lBM/COMPAQ/APPLE/ASTResearch/LOTUS/Multimatelnt.,/tOMEGA. Inquiry 



NETWORK 



GET THE NETWORK ADVANTAGE!!! 



SEE WHY OVER 100,000 HAVE JOINED 
MAKING US THE NATION'S #1 SOURCE 
FOR EVERYTHING IN COMPUTING... 

• Our 600 Page Wholesale Catalog 

Over 30,000 products priced at Wholesale + 8°/o. Anything 
you will ever need at a Consistent low price. . . 

• Quarterly Catalog Updates 

Your Catalog is never obsolete! Keep on top of the newest 
products and latest price changes. 

• The Printout 

Our newsletter gives you fantastic specials along with 
unbiased analysis of new products and industry trends. 

• 10 Day Returns on any Hardware!! 

If you don't like any hardware product- for any reason 
—return it for a refund. 

• 1000+ Title Rental Library 

14 to 30 day rentals on over 1000 different titles. 
Try before you buy!! 

• Size-Strength and Stability 

The Network has over 150 employees, 45,000 square 
feet of office and warehouse space, inventory valued in 
excess of S 15, 000,000 and is ranked the largest computer 
product supplier in the Nation! Our commitment is to serve 
our customers and our 90% repeat business rate is proof!! 



Prices subject to change without noiice. 



|» y< 

m ki 

V 



CALL TOLL FREE 
1-800-621-S-A-V-E 

(Orders— Membership and Advice!) 
In Illinois call (312) 280-0002 
Your Membership Validation Number B356 
You can validate your membership number and, if you wish, 
place your first money-saving order over the phone by using 
your VISA. MASTERCARD or AMERICAN EXPRESS. Our 
knowledgeable sales consultants are on duty Mon.-Fri. 8:00 
AM to 7:00 PM, SAT. 9:00 AM to 5:00 PM CST. ^C 

.. PERSONAL COMPUTER NETWORK J0b&9 

kl 320 West Ohio WMX 

* v Chicago, Illinois 60610 

Call now... Join the PC NETWORK and start saving today! 

Customer Service and Order Status (312) 280-1567 

8:30 AM to 4:30 PM, Mon.-Fri. CST 




FEATURED PRODUCTS! 

20MB PC TAPE BACKUP $495.00* 

With controller cables and software. 

EPSON PRINTERS (Unbelievable Low Prices!!) 

LX-80 80 COL/100CPS 199.00* 

FX-85 80 COL/1 60CPS 299.00* 

FX-286 132 COL/200CPS 459.00* 

LQ-1000 132 COL/1 80CPS CALL 

AMDEK V310A ibmttl amber 130.00* 

AST™ SixPakPlus m w/64K 195.00* 

PC NETWORK THEMULTI-384 BOARD 79.00* 

A functional clone of the AST's "SixPackPlus. " 

Includes up to 384Kb ol expansion memory. 1 serial. 1 
parallel. 1 game port, clock/calendar and software standard. 

HAYES 1200B 312.00* 

with newSmartcom H/VT100 Emulator 
TALLGRASS TG-5025 2,250.00* 

25MB Hard Disk with 60MB Tape Backup 

IBM Logo Full Height Drive 125.00* 

Genuine IBM DS/DD-Not Equivalents! 

IOMEGA 20MB Bernoulli 2,1 00.00* 

'Members pay B% above this wholesale price plus shipping. 



272 




* 



A 









BITE 



Features 



Ciarcia's Circuit Cellar: IN THE CIRCUIT CELLAR this month, Steve again turns his attention to the 

Adding SCSI to the SB180 Computer, SB180 computer, which he introduced last fall. This single-board machine with 
Part 1: Introduction j ts hjgh price/performance ratio has proved to be quite popular, and Steve 

y eve laraa 5 nQW 5 e gj ns a two-part tutorial article describing how to implement an SCSI 

Programming Project: Data bus on the SB180. This takes very few chips but much explanation. 
Compression with Huffman Coding Jonathan Amsterdam's Programming Project presents a method for shorten- 
ed onatfian Amsterdam 98 . .., , . .. . c .. .. *. • ^u- j- i 

ing files by compressing the information they contain. This can save disk space 
Modula-2 as a Systems anc j a j so cut c | own Qn ^ time neec j ec j to transmit large files between com- 

Programming Language . „, ., , , ,. . . . r C j. , . . . 

by Ryn C. CorM and Anne H. Anderson .111 P uters - The method under discussion is Huffman coding, an elegant data- 
, n f compression algorithm that, in one sense, Jonathan considers to be the "best" 

Fun K ct.ona A l Languages wa V to compress data. 

by Chris Hankin. David Till. To illustrate the virtues of Modula-2 as a systems programming language, 

and Hugh Glaser 123 Ryn Corbeil and Anne Anderson describe how its particular attributes helped 

Easy C them develop a real-time multiprocessing operating system in a relatively short 

by Pete Orlin and \ohn Heath 137 time. 

Programming Insight: l n "Linking Data Flow and Functional Languages," Chris Hankin, David Till. 

Subroutine Overlays in GW-BASlC and Hugh Glaser explain how this linkage combines the advantages of func- 

by Mike Carmichael 151 tional programming and parallel execution to achieve gains in execution speed. 

^^^^^^^^^^^^^^^^^^^ Pete Orlin and John Heath, in "Easy C" offer numerous tips on using C's 

preprocessor to write more understandable code. Included is a set of defini- 
tions that change the operator notation from the mystical to the obvious. 
In his Programming Insight "Subroutine Overlays in GW-BASIC." Mike Car- 
michael outlines a technique by which you can store subroutines in a RAM 
disk and have your BASIC program. call them one by one as they are needed. 



MAY 1986 -BYTE 83 



ONCE IN A LIFETIME A NEW PRODUCT APPEARS ON 
THE HORIZON THAT SHINE ABOVE ALL OTHERS 



THE CREATOR™ 

• \ APPLICATION GENERATOR 

by Advanced Development Technologies" 
v' • FOURTH GENERATION PRODUCTIVITY 

* ELIMINATE DATABASE MANAGMENT SYSTEMS 

* A COMPLETE APPLICATION 
'• ' GENERATION ENVIRONMENT 

* DEVELOP APPLICATIONS IN LESS TIME 

* « * ■ 

* REDUCE CODE REQUIREMENTS 

BY 90 PERCENT • • '[ 

i, 

* TRAPS ERRORS WITH DETAIL ANALYSIS. 

• * MULTIPLE FILE ACCESS ' • , ■ ,':';' 
;■■• WITHOUT PROGRAMING .' oAx.: 



%'.&& 



INCLUDES: 

• Internal Expression Compile 

Relational File Structure 
■ ISAM File Access Method 
Screen and Report Generator 
Rich Library of Functions » 



* 99 INDEXES PER DATA FILE.. 

* AUTOMATIC RECORD LOCK 

* UNLIMITED' FILE AND 
RECORD SIZE 

* PRODUCES COMPLETE' 
DOCUMENTATION 



MASTERCARD/VISA 



; ;'• • Data Dictionary 
! '.',/'".' ' • System and User Defined Variables 
■ !\ ' For Only $99 The CREATOR™ Lets You Develop 
Applications Without Being Bogged Down By 
•/,■•'* A Lot Of Code. Regardless Of How Simple Or 
;. :v / Sophisticated. The Applications, Save Hundreds Of 
"/" : * Hours Of Programing By Using This Advanced Method 
v / Of Application Development. Manages All Phases Of 
Program Developments 
• Program Generation • Database Defination • 
• Screen And Report Formation • Multiple Levels of Menus. 
A Complete Development System Available For IBM, PC, XT, 
and AT Requires 256K RAM Includes Unlimited Run Time 



800-528-6060 

EXT. 239 

CHECKS AND MONEY ORDERS ACCEPTED 

* » - 

®THE CREATOR™ ISA TRADEMARK OF 
ADVANCE DEVELOPMENT TECHNOLOGIES 
2720 N. 68th St., Suite 5379 
Scottsdale, Arizona 85257 . IB mpc xt atiso 

A^\0 QAE\ 1 ^7^\ * Copywright of International 

# VVfc'THv"! W/W Business Machines, Inc. 



CIARCIA'S CIRCUIT CELLAR 



ADDING SCSI 
TO THE SB180 COMPUTER 

PART 1: INTRODUCTION 



by Steve Garcia 



A tutorial on the 
small computer system interface 




In September and October 
1985, I introduced the 
SB 180 to BYTE readers. 
This 4- by 7-inch single- 
board computer has a 
higher price/performance 
ratio than many refrigera- 
tor-size S-100 systems, and I believe it has 
,set new standards in the world of 8-bit com- 
puting. Thousands of SBI80 systems are 
now in use. 

In the months following the SBI80's intro- 
duction, I described a 1200-bits-per-second 
modem expansion interface for the SB180 
called the COMMI80 and demonstrated a 
COMM180/SB180 turnkey bulletin-board 
system. Attentive readers were quick to 
note that, while I said nothing specific in the 
article, the COMM180 was a dual-purpose 
board containing both a 1200-bps modem 
and an SCSI hard-disk expansion interface. 
I chose not to explain this extra 
COMM180 function at that time because it 
might not have been fully appreciated by 
an audience that hadn't been properly in- 
troduced to it. Implementing an SCSI bus 
on the SB 180 takes very few chips but a 
great deal of explanation. 

In the next two months. I'd like to pick up 
where I left off and describe the SCSI, which 
is a significant new standard, in more detail. 
Because of this, my presentation will be 
tutorial in nature, with specific emphasis on 



the NCR 5380 SCSI bus-interface chip. 

While this month's project is the SCSI por- 
tion of the COMM180 interface (the 
COMM180 schematic included in this arti- 
cle is of the complete dual-function 
COMM180 and is slightly different from the 
modem-only circuit presented in my 
December 1985 article), the simplicity of its 
design fits the tutorial format of this article. 
The lessons as well as the circuitry can 
easily be applied to other computers. I'll 
start with the whys before the hows. 

Standard Interfaces 

Standards exist at virtually every level of the 
electronics industry. Computer languages, 
operating systems, graphics interfaces, 
printer interfaces, backplane interfaces, 
electrical connectors, and component pack- 
ages all have standards to which they con- 
form. Even the color code used to deter- 
mine resistor values is a dominant industry 
standard. 

The SB180 and the COMM180 contain 
several industry standards. The SB1 80 runs 
ZRDOS and ZCPR3, which form an im- 

[continued) 

Steve Garcia {pronounced lK see-ARE-see-ah") is an 
electronics engineer and computer consultant with ex- 
perience in process control, digital design, nuclear in- 
strumentation, and product development. He is the 
author of several books about electronics. You can 
write to him at POB 582, Glastonbury. CT 0603 3. 



COPYRIGHT © 1986 STEVEN A. GARCIA. ALL RIGHTS RESERVED. 



MAY 1986 -BYTE 85 



CIRCUIT CELLAR 



proved operating system based on 
CP/M for 8-bit microcomputers. To ac- 
cess the printer, it uses the Centronics 
parallel interface, another standard, 
and it also uses a standard floppy-disk 
interface. The SB180 board, in addi- 
tion to the optional SCSI interface, 
uses an RS-2 3 2C serial interface, 
another industry standard. 

Standards play an important role in 
the growth of an industry. They help 
to reduce product cost, reduce risk to 
the end user, expand the size of avail- 
able markets, ease system modifica- 
tions, and create multiple sources. 

So that you can better understand 
SCSI, I want to discuss other standard 
interfaces and how they differ from 
SCSI. Figure I shows a breakdown of 
the various interfaces used in com- 
puter systems. They can be cate- 
gorized as system buses, device-level 
interfaces, local-area networks (LANs), 
and I/O buses. 

System buses (also known as back- 



planes) are designed to support CPU- 
to-memory transfers. This type of ac- 
cess requires a high-speed, random- 
access interface capable of address- 
ing a large amount of data. Due to 
these requirements, backplanes 
operate within defined hardware slot 
arrangements and can be relatively 
expensive to implement. Multibus, 
S-100, STD, and IBM PC are some 
popular system buses now in use. I 
cheerfully add the 40-pin SB180 bus 
to this list. 

Device-level interfaces are designed 
to provide low-level control of periph- 
eral devices, that is, items like disk 
drives and printers. For example, 
ST506, the most popular disk-drive in- 
terface, uses one of its interface 
signals to control a stepper motor 
located inside the disk drive. Pulses 
on this signal's line position the 
read/write head over the appropriate 
track before the data is read from or 
written to the disk drive. 



LANs are used to transfer data be- 
tween devices over long distances. 
Allowing devices to be separated by 
several thousand feet of cable pro- 
vides a great deal of configuration 
flexibility. To support these require- 
ments, data is transferred serially to 
minimize signal skewing and intercon- 
nection cost. Ethernet, Arcnet, Apple- 
Talk, and Omninet are a few popular 
LANs. 

I/O buses resemble system buses in 
many ways. They both allow multiple 
devices to be connected on the same 
bus, provide a parallel data path for 
transferring information, and use con- 
trol signals to manage bus operation. 
However, I/O buses have other re- 
quirements that make them unique. 

I/O buses operate over cables rather 
than backplane slots. Cabling pro- 
vides flexibility in interconnecting 
system peripherals. While cables are 
inherently slower than backplane con- 
nections, they provide enough band- 



HOST 
SYSTEM 





HOST DMA 
ADAPTER 



MULTIBUS 
S-100 
STD 
IBM PC 
Q BUS 
VERSABUS 
TM990 
APPLE BUS 
OTHER BUS 



HOST 
SYSTEM 





HOST DMA 
ADAPTER 






i 



PRINTER 
CONTROLLER 



DISK 
CONTROLLER 



HIGH-SPEED 
PRINTER 



LETTER-QUAL. 
PRINTER 



DISK 
OPT DISK 



:.I/P.,BUS;: 



SCSI 

I PI 



i 



TAPE 

CONTROLLER 



TAPE DRIVE 



i 



i 



NETWORK 
CONTROLLER 



TO OTHER 
NETWORK 
DEVICES 



* CENTRONICS l/F 
(PARALLEL) 

* RS-232C l/F 



ST506 

SMD 

SA1000 

ESDI 

ANSI 8 IN. 

ST412HP 



DEI STREAKER 
QIC II 
ARCHIVE 
CIPHER 





^ 8 IN. D.S. 




FLEX. DISK 




* SHUGART 


CONTROLLER 


+> 51/4 IN. 


* SONY 



* ETHERNET 

* OMNINET 

* ARCNET 

* MIRLAN 



BACKPLANE 
BUSES 



I/O 
BUSES 



DEVICE-LEVEL 
INTERFACE 



Figure I: Computer-system interfaces. 



86 BYTE* MAY 1986 



CIRCUIT CELLAR 



width to accommodate even the 
fastest peripherals. Unlike system in- 
terfaces, I/O buses primarily use 
block-oriented transfers and are 
relatively inexpensive to implement. 
LANs and I/O buses also share 
many characteristics: data is typical- 
ly transferred in large sequential 
blocks; multiple devices can be con- 
nected to the bus; and cables are 
used to interconnect devices. Unlike 
LANs. I/O buses transfer data in a 
parallel form, provide faster transfer 
rates, and are designed to operate 
over much shorter distances. I/O 
buses are often referred to as "very 
local area networks." 

Overview 

Before I begin a detailed description 
of the COMM180 and its specific 
hardware, a few words are in order 
about what SCSI is and why it is used. 
SCSI is a standard, intelligent I/O sub- 
system for small computers. In a tech- 
nical sense, standard means that no 
matter what system it is implemented 
on, the interface will look the same. 
This is important because it means 
that, as new computers or peripherals 
are developed that contain an SCSI in- 
terface, they can be connected to 
existing peripherals and computers 
(that also contain an SCSI interface) 
without modifying the existing system 
or peripheral. 

SCSI evolved from Shugart Associ- 
ates systems interface (SASI), com- 
monly pronounced "sassy." SASI was 
developed in the late 1970s for use 
primarily as a disk-controller interface. 
As so often happens in the computer 
industry, SASI was modeled after a de 
facto IBM standard, the IBM I/O 
channel. 

In November of 1981, Shugart As- 
sociates and NCR jointly approached 
the American National Standards In- 
stitute committee on intelligent 
peripherals and proposed that SASI 
be used as a foundation for defining 
an intelligent peripheral interface 
standard. By April of 1982, the 
X3T9.2 ANSI subcommittee was 
established, and the name was for- 
mally changed to SCSI. 

After more than three years of 
definition and participation by more 
than 120 companies, the ANSI sub- 



HOST 
SYSTEM 



§ 



SCSI BUS 



B 



DISK 
DRIVE 



Figure 2: A simple SCSI configuration. 



committee has forwarded Revision 17 
of the proposed SCSI standard into its 
second public review period. Final ac- 
ceptance of the standard is expected 
within a year. Interest in the standard 
has spread throughout the electronics 
industry. Currently the European 
Computer Manufacturers Association 
is working to adopt SCSI as its 
standard. 

The intent of the SCSI standard is 
to make computer peripherals as easy 
to interconnect as stereo equipment. 
This provides the host computer with 
device independence within a class of 
devices. Device independence is a 
powerful concept that lets peripherals 
be added or upgraded to an existing 
computer system without requiring 
lengthy product design and qualifica- 
tion cycles. 

Much of the standard's success is a 
result of the flexibility that the inter- 
face offers. To demonstrate the ver- 
satility of SCSI, I will describe four 
unique system architectures: single- 
user/single-tasking, multitasking, multi- 
user, and multiprocessing systems. 
These examples represent actual 
product offerings that span a wide 
range of computing requirements. 

Single-User/Single-Tasking 
Systems 

Personal computers, which make up 
a majority of the computers sold, can 
be generally characterized as single- 
user/single-tasking systems. In these 
systems, I/O is performed in a sequen- 
tial manner. If you want to store a file 
to disk and then read another file 
from disk, you wait for the first task 
to complete before you start the sec- 
ond. Figure 2 shows a block diagram 
of a single-user/single-tasking system. 
Because the SCSI interface operates 
with generic device types, the system 



can be designed to use a variety of 
intelligent mass storage systems. This 
gives the user a choice of configura- 
tions that meet performance and stor- 
age-capacity requirements. 

Flexibility is important, but product 
cost is the primary concern for this 
class of computer. A hard-disk drive 
and a controller board may account 
for as much as 50 percent of the sys- 
tem cost. Disk-drive manufacturers 
have traditionally provided drive-level 
electronics that interface to the host 
bus through a disk controller. How- 
ever, with the increasing integration of 
controller electronics, several manu- 
facturers are now finding it less cost- 
ly to provide an integrated SCSI con- 
troller directly on the disk drive. 

Obviously, a single board is less ex- 
pensive than two boards and inter- 
connecting cables. Less obvious is the 
savings realized by achieving higher 
manufacturing yields on the disk 
drives themselves. Traditionally, a 
hard disk has had to be flawless. All 
tracks had to be error-free, or the 
flawed tracks had to be specifically 
noted to the host drive controller so 
that they would not be used. With 
SCSI, the hosjt computer is no longer 
concerned with exact track location or 
flawed tracks, since the disk is ad- 
dressed as a logical storage device. 
The disk drive/SCSI controller 
manages the surface defect mapping 
and merely presents the user with 
single mass storage quantity By not ' 
having to produce completely flawless 
hardware, the manufacturer's assem- 
bly yields are increased, and overall 
product cost is reduced. 

Multitasking Systems 

In single-tasking or single-threaded 
environments, system performance 

{continued) 



MAY 1986 'BYTE 87 



CIRCUIT CELLAR 



suffers due to the sequential nature 
of all I/O operations. Seek and rota- 
tional latencies associated with the 
disk drive may occupy up to 70 per- 
cent of the time required to access a 
sector of information. 
In single-user/multitasking systems, 



the SCSI standard lets devices not ac- 
tively transferring data remove them- 
selves from the bus, so that other I/O 
operations can be initiated or com- 
pleted. This lets the system take ad- 
vantage of the "dead" time (when no 
data is being transferred) on disk ac- 



CAD/CAE 
WORKSTATION 



i 



B 



OPTICAL 
DRIVE 



D 



TAPE DRIVE 



3 



FLOPPY / HARD- 
CONTROLLER 



DISK 



Figure 3: A single-userlmultitasking SCSI system. 




Figure 4: SCSI in a multiuser system. 



cesses. Therefore, multiple disk drives 
can be seeking data simultaneously, 
providing for higher bus utilization. 
The drive that locates its data first will 
reselect the host and complete the 
transfer. Figure 3 shows a block 
diagram of a single-user/multitasking 
system. 

Multiuser Systems 

In today's office environment, per- 
sonal computers are stand-alone 
devices that support individual pro- 
ductivity requirements. However, if 
data needs to be shared among users, 
the system components will have to 
be networked. Local-area networks 
can be used to accomplish this. Since 
data is shared among various com- 
ponents, file servers are used as com- 
mon storage elements. File servers, in 
many cases, are personal computers 
modified to support multiuser file 
management. Figure 4 shows a com- 
mon file-server implementation. 

In some cases, having multiple users 
dramatically increases system 
response time. However, since the 
SCSI bus supports data rates up to 1 .5 
megabytes per second in an asyn- 
chronous mode and up to 4 mega- 
bytes per second using a synchronous 
handshake, system performance need 
not suffer. This fast transfer rate cou- 
pled with the disconnect capability 
allows for high data throughput and 
efficient bus utilization. Additionally, 
these transfer rates match or exceed 
the performance of the commonly 
used LANs. 

The SCSI interface supports several 
commands that increase system per- 
formance and provide shared file pro- 
tection in multiuser systems. Search 
commands, implemented in the file 
server or the disk controller, allow 
keywords to be seached for locally 
rather than choking the LAN or the 
SCSI bus with large data transfers. 
These commands increase system 
performance while reducing bus 
bandwidth requirements. To keep 
shared files from being accessed si- 
multaneously, the reserve and release 
commands can be used to manage 
file activity. Reserved files are not 
available to other users until the files 
have been released by the current 
users. 



88 B YTE • MAY 1986 



CIRCUIT CELLAR 



Aside from sharing data file servers 
can be used to share expensive sys- 
tem resources like laser printers, large 
storage devices, color plotters, and 
even copiers. The SCSI interface eases 
the task of reconfiguring the file 
server for specific system require- 
ments. 

MULTIPROCESSING SYSTEMS 

Systems supporting multiple operat- 
ing systems, real-time data acquisition, 
communication processors, or other 
dedicated processors have traditional- 
ly used backplane architectures to 
support their multiprocessing require- 
ments. These systems require a local 
communications bus as well as an in- 
telligent peripheral interface. The SCSI 
interface, with its multihost capabili- 
ty, provides the needed functionality 
at a fraction of the backplane cost. In 
addition to file transfers between in- 
dividual processors and mass storage 
devices, interprocessor communica- 
tions can be accomplished across the 
SCSI interface. Futhermore, freedom 
from requirements imposed by back- 
plane buses provides increased 
design flexibility Figure 5 shows a 
block diagram of a multiprocessing 
system. 

The SCSI interface directly supports 
up to eight bus devices. This may 
preclude the use of the standard SCSI 
interface in complex multiprocessing 
configurations. However, a modified 
standard proposed by Ampro Inc. 
called SCSI/Plus provides a binary 
selection phase that supports up to 
64 bus devices. 

Benefit Summary 

These systems are but a few of the 
many configurations that use SCSI as 
the backbone of their architectures. 
The standard offers the flexibility 
needed to satisfy a range of system 
requirements, from inexpensive per- 
sonal computers to very expensive 
multiuser systems. Additionally, inte- 
grated circuits, board-level products, 
and fully integrated bus devices are 
readily available from a variety of 
manufacturers. In each product cate- 
gory, SCSI offers a cost-effective solu- 
tion that provides the necessary per- 
formance, features, and vendor 

(continued) 



















LISP 
PROCESSOR 




<«lil«iiil 


00 
3: 
:CD: 

:CO: 
U 

to; 












OPTICAL 
STORAGE 






• ) 




MS-DOS 
COPROCESSOR 




( 
















COMMUNICATIONS 
COPROCESSOR 


£:;::;■: 








MASS STORAGE 
SUBSYSTEM 








:•-.,:■..:. ..... > 








UNIX 
PROCESSOR 






( 

















Figure 5: The SCSI bus in a multiprocessing system. 



SCSI Bus Signals. There are a total of 18 signals. Nine are used for control, and 
nine are used for data. (Data signals include the parity signal option.) These signals 
are described as follows: 

BSY (BUSY). An "OR-tied" signal that indicates that the bus is being used. 

SEL (SELECT). A signal used by an initiator to select a target or by a target to 
reselect an initiator. 

C/D (CONTROL/DATA). A signal driven by a target that indicates whether CONTROL 
or DATA information is on the DATA BUS. True indicates CONTROL. 

I/O (INPUT/OUTPUT). A signal driven by a target that controls the direction of data 
movement on the DATA BUS with respect to an initiator: True indicates input to the 
initiator. This signal is also used to distinguish between SELECTION and 
RESELECTION phases. 

MSG (MESSAGE). A signal driven by a target during the MESSAGE phase. 

REQ (REQUEST). A signal driven by a target to indicate a request for a REQ/ACK 
data-transfer handshake. 

ACK (ACKNOWLEDGE). A signal driven by an initiator to indicate an acknowledge 
for a REQ/ACK data-transfer handshake. 

ATN (ATTENTION). A signal driven by an initiator to indicate the ATTENTION 
condition. 

RST (RESET). An "OR-tied" signal that indicates the RESET condition. 

DB(7-0,P) (DATA BUS). Eight data-bit signals, plus a parity-bit signal that form a 
DATA BUS. DB(7) is the most significant bit and has the highest priority during the 
ARBITRATION phase Bit number, significance, and priority, decrease downward to 
DB(0). A data bit is defined as 1 when the signal value is true and as when the 
signal value is false. 

Data parity DB(P) is odd. The use of parity is a system option (i.e., a system is 
configured so that all SCSI devices on a bus generate parity and have parity 
detection enabled, or all SCSI devices have parity detection disabled or not 
implemented). Parity is not valid during the ARBITRATION phase. 



Figure 6: SCSI bus signals and their definitions. 



MAY 1986 'BYTE 89 



CIRCUIT CELLAR 




Photo 1: The NCR 5380 SCSI interface chip. 




Photo 2: The COMM180 SCSI interface board rides piggyback on the SB 1 80 
single-board computer. The NCR 5380 is the large chip toward the front. Note 
the empty socket for the MOSART modem chip (see the November 1985 
Circuit Cellar for a description of the MOSART). 



uniqueness to make it a truly usable 
standard. 

SCSI Bus Physical Interface 

The SCSI bus features a byte-wide 
data bus, an optional parity line, and 
nine control signals used to manage 
the flow of information between SCSI 
devices. (Actually, the parity line is 
mandatory; paying attention to it is 
optional.) Figure 6 describes the 18 
lines on the SCSI bus. 

The SCSI standard defines both 
asynchronous and synchronous data 
transfers. Asynchronous data transfer 
(the mode implemented on the 
COMM180) will support data-transfer 
rates up to 1.5 megabytes per second. 
The synchronous data-transfer mode 
will support data rates up to 4 mega- 
bytes per second. Synchronous data 
transfer is intended for high-perfor- 
mance systems and peripherals and 
requires a more complex hardware in- 
terface than is provided on the 
COMM180. These data rates are not 
arbitrary— they are determined by 
various delays built into the standard. 

SCSI bus devices are interconnected 
using a daisy chain with termination 
required only on each end of the 
chain (see figure 7). Up to eight 
devices are allowed on the SCSI bus, 
with up to 2048 logical units sup- 
ported per bus device. An arbitration 
scheme resolves bus conflicts. The 
bus is designed to operate up to a 
cable length of 6 meters using open- 
collector bus transceivers (used on 
the COMM180) or up to 2 5 meters 
using more expensive differential-pair 
driver/receivers. Differential-pair 
operation offers higher noise immuni- 
ty in addition to longer cable lengths. 

The SCSI standard also allows for 
host-to-host and peripheral-to-periph- 
eral communications, for example, 
disk-to-tape backup without host in- 
tervention. This feature is not present- 
ly supported by the SB 180 BIOS. 

The SB180 BIOS is written to run a 
subset of SCSI called Single Tasking. 
This means that only one host com- 
puter can be on the SCSI bus, and it 
can talk to only one peripheral device 
at a time (but you can hook up to 
seven peripheral devices on the bus). 
The COM MI 80 board will, however, 
support the full SCSI implementation. 



90 BYTE* MAY 1986 



CIRCUIT CELLAR 



This means that you can write a driver 
to implement the full SCSI standard 
if needed. 

Logical Interface 

In order to provide device in- 
dependence, the SCSI standard has 
included a logical as well as a physical 
interface definition. This logical inter- 
face is supported through a defined 
software conritnand structure. Com- 
mand structures have been defined 
for each SCSI device type. The device 
types supported by the interface can 
be characterized as direct-access 
devices (disk drives), sequential- 
access devices (tape drives), output- 
only devices (printers), write-once, 
read-mostly devices (write-once op- 
tical disks), read-only devices (optical 
disks), and other processor devices. 
The intent of the logical interface is 
to remove any of the physical ele- 
ments of a device interface from the 
SCSI protocol. A computer designed 
to support the SCSI interface need 
not know the number of heads, tracks, 
or sectors per track when communi- 
cating with an SCSI disk drive. The 
host issues commands that refer to 
logical sector numbers. The disk-drive 



controller translates the logical sector 
number into the physical head, track, 
and sector locations. The host only 
needs to know the maximum number 
of sectors available, which can be 
acquired through a read capacity 
command. 

THE NCR 5380 

The NCR 5380 is a single-chip 40-pin 
NMOS device designed to provide a 
low-cost, low-parts-count implementa- 
tion of the SCSI bus as defined by the 
ANSI X3T9.2 subcommittee (see 
photo 1). Capable of supporting both 
the initiator and target roles (which I 
will explain in detail next month), the 
NCR 5380 can be used in host 
adapter or peripheral controller de- 
signs. This device supports arbitra- 
tion, including reselection, allowing it 
to be used in complex SCSI configura- 
tions (the SBI80 BIOS does not sup- 
port arbitration and reselection). 

A significant feature of the NCR 
5380 is the on-chip open-collector 
bus transceivers. These transceivers 
are capable of sinking 48 milli- 
amperes of current at 0.5 volt and 
allow the chip to be directly interfaced 
to the SCSI bus through optional ex- 



ternal bus terminators. 

The NCR 5380 communicates with 
the Hitachi 64180 CMOS micropro- 
cessor as a peripheral device. The 
chip is controlled by reading and 
writing several internal registers that 
can be addressed as standard or 
memory-mapped I/O (it is addressed 
as standard I/O on the COMM180). 
The chip optionally supports DMA 
transfers and can be designed to 
operate in a polled or interrupt-driven 
environment. Since the NCR 5380 
does not operate from a clock, no ex- 
ternal clock circuitry is required, and 
all signals operate asynchronously. 

The NCR 5380 allows every signal 
on the SCSI bus to be sampled or 
asserted via its internal registers. This 
provides the benefit of supporting 
only the level of the SCSI protocol re- 
quired of your design. Since the SCSI 
protocol is determined by the con- 
trolling firmware, it is the responsi- 
bility of the programmer to operate 
the chip in accordance with the stan- 
dard. Even though the SCSI protocol 
is a standard, early SASI implemen- 
tations have subtle protocol viola- 
tions. The Xebec S1410 disk con- 

[continued) 



















DAISY- 


-CHAINED 


CABLE 


































• • 
































BUS 

DEVICE 






BUS 
DEVICE 

1 


• 


BUS 

DEVICE 

"N-2" 




BUS 

DEVICE 

"N-1" 




BUS 

DEVICE 

"N" 


















BUS 
TERMIN 


\T 


ON 
























B 

T 


US 
ER 


Wilt 




-SIGNAL 




■SIGNAL 



GROUND 



;|330ft 



150& 



♦ SIGNAL 



m 

TERMINATION FOR SINGLE-ENDED DEVICES 



330& 



GROUND 



m 

TERMINATION FOR DIFFERENTIAL DEVICES 



Figure 7: SCSI bus termination hardware characteristics. 



MAY 1986 'BYTE 91 



CIRCUIT CELLAR 







01 rJ in ro r-,1 o> r-J m ro r* 01 o 

vH *1 i 4 tpHt 


IvH s M 9 H a I-M-I-H t^ 




c 


OOOOoQOOOO 


,! 


ooooc/9 9999(f 99 






o 




in 


*J 


CM 


O 


CD 


m 


rj C\ 


O CD l£ 


XI CM O 00 


m 


'3- 


CM 


o 


CD 


to 


x> 


CM 








in 


"* 


■^ 


•<* 


•^ 


x* 


ro 


ro 


m c* 


ro cm ^ 


CM CM CM f 
























II- 


1° 


!< 


_J 


o 


H 


1* 


|> 


12 


or 


> 


r^ 


m 


m 


xj 


ro 


CM 


^ 


O 








D 


UJ 


h- 


LU 


W 


LU 


o 


w 


ll 


h- 


CO 


CO 


CO 


CD 


m 


CO 


CD 


00 








5 z 


Ice 


< 

|o 

■s 


V) 


5 


in 

LU 

or 


l< 


3 

JCD 




14 


^ a. 

J CO 

— z 


^ cc 

2 2 


















CO 






3 




H 














^ 


^ 


















c^ 






o 




O 














S u 


o 


















o 




> 


xl , 


Xl 


CO 
r-l n 


















CM 


CM 
CM 


















no 

00 r-, 








< 


>-^ 












































WSrH 






















"^ 




















r_ 




_l 




< 


»--Vvv— 


















— AMrH > 






















LU 


UJ 


1 




















^^^^^ 






















' 




or 
< 


m 

o 


O * 
0= , 


*^ wr " 










































i- 


— \ 

o 


►-WV— 


















' 




















\^y — | | 




o 

5 


U. 


no ' 

i 


►-AA/V— 




—4 














^MA^HI 




IHWV- 




Hh- 












— WHI 








< 


— WV-H 


» — 
















~-^VW"H i •— wv— 


















— VS/V— 






> , 






























tD < 1 














































+ 


























m 




o 


CD 


CM 


0) 


UJ 


xt 


CO 


in 




o 




























•"" 


CM 
















ro 




CM 


ro 


"* 


in 


in 


^ 


CD 


0) 








IO IO IO IO u io jh X |> IZ O q_ rs in in *» ro cm »-« o 










DC >. UJ > qj y) yj cj (/) 1- O gq CD 03 CD CD CD CD CD m 








M 


g ■**- — Itr <-> luj J2 Ice l<l Im '<l > a Q q q Q q q o q 












< 












Ul 














^i 








CM 
CM 


ro 


3 


- 














o a: 


u 






























o 


r 


* 


UJ lit: 














Z Ic/i CM i-t O 


D 


? rsWW'tffocMr-iO 


«) [0- o 

UJ o <x 














lu < < <t 




_ ooaooooo 


cc Ilu [q 








no 


CM 


o 


«* 


cr> 


«<» 


in 


in 


rv 


00 


01 


OH 


09 


r*. 


in 
















ro 


en 


ro 




CM 


CM 


no 


ro 


00 


ro 


CO 


00 


« 




CM 


CM 


CM 




m T 




















— oil 












































^ A 












































r> / \ 












































_ *f* CM / \ 












































> j. _ .7? . >-«/ \ 












































in<- 


i HWV / ro \ 




































1 








+ 


/ CM \ 

/ «* \ 
















































/■■ . :-.(s.. v u 

/ \ u 


J 




































**l ml ■"•! rf? a 












*CP 


u 














































T r> U 


















































^ It 


















































<h^V 




1 
























































































































































Tl io 






































_l 

at cd 






















CD 
O 
































0> 


Vi V 


ID 


in < 








or 

i- 


























in<— VA 


o to 


ro 








Or-CMnOr^CM,,, 


































tt. ^ o 




v 








>>>> >->>- >: 


































4- 








CNJ 


ud 


CMCMCMCM l-f ;,r1 fH r- 




































O U 










in 














































CO 






































— . — p 


J r-i 








CO 


0) 




































< Si 


* l-t 








ri Z 


_l 


O O o O 


































So 










O CNJ 




H CM i-. CM m <i 


































O Q <t 

Q — ■ «- 










/£ 




H rt 


m 


ro 


00 












































/ M 1 


3 








1 


1 




































£ >& 


-I 


































II- 




S SK 


LU 

en 






































\< 






z 






































.1$ 






o 








































o 




to 


U. 














^ 


u> 


tn 


tr 


ro 


CM 


^ 


o 
















u. 














Q 


a 


O 


Q 


a 


Q 


o 


Q 


K 




o 




<t 


o 

LU 




0- 


o 














CD 


CD 


CO 


m 


CD 


m 


m 


m 


LU 




Q 

z 




UJ 


or 




X 


QJ TJ 


co 


CM 




O 


[O 


F 








LU 




CC 


q 




UJ 


- <t 


<I 


<t 


< 


1 


la: 


1* 


^ , "*""** "*" "*"E 




1- 




on in ro Kt rn cm o cj> in r-* co <-• 


■""• CNJ «-i CNJ CM CNJ CM rH CNJ 



Figure 8: The COMM180 schematic, now including the NCR 5380 SCSI controller as well as the MOSART modem chip. 



92 BYTE • MAY 1986 



CIRCUIT CELLAR 















































or *- lj 






h i w S 2 * 






w^ ° i °- 






11 §^° -I a 

C\J LJ -5 < O _ , , 






"3 X ~ 














■ ^ J 


C5H 


o e 
O 


O 






* 

r^ 


3 






■ 


*f 
















O 

5 


LU 

z 
o 

I 

£L 

tr 


co 
<t 
m 
o 






/ 


L ?- 






tr 
tr 

LU 

i- 
z 






/ 












< 

LU 


5 

~ li. 

«< v 

O 








C\J 

^» 

r^ z 

LU 


^1 
























o 7 
















^» 












M + 




































u 


id r*' CM 






CD 

_l 














2f o 










^ 


in 


ir> 














CO > 

in 












in-O-A^A— 

+ 


O IO 


- 












Li- 
lt 




H^ 






CM 


en 










d 






u> 


u. 












^J , 
















1 


l \( 




in<-AAAr- 


h-o o < 


™ in 


i. 












>£ 
















d 
1 \( i 




f s A 


i^ 1 

Zii 


c\i 




v v? v 






" ■'SAAf - 






o 








+ 




/i +\ 








<»- 




— w^> 




























LU * 






< 


. \( i 








3. 
CM 
O 

d 










<H^AA^-•-^ 
















1 K il ' 








3 ' 

1* 


^ 




m o 


► 






6 A 


C 




















Li_ 






.^H^— 


^ 
^ 











T 1 


i 




















d 


^ 




o 




























i 


H(- 




-"-• 




CM 


CM 


O 


00 r 


v. u) 






















ZH 0_ ©"'>->->- +- 














— 3 ^~ -Z(_QQ» 






















u_ 




O O ^h H - q. K K Q 




_J 


















4. 
o 




1 I 1°§5 S^l 




CD 
< 






1 










1 
i 


HH 


o 


<x =|<to.- L j£ 2 

<I H LU LU cr o ^ 
«* x x 5 

> Z Z "> LU 

id > ^ o -i ._, co 

+ m w •*" IP IE rv.voinTrmcM.-.o luico 




Z 
LU 

1- 
0. 

D 

or 
























i o <t o Itr 1? qqqqqqqq trio 




tr 

LU 

h- 

z 
















- 


LL CM 1 CM 


en 


ID 

en 


U3 

en 


en 


en 
en 


CM 


r-. O 

en en 


0) 


oo r* 

CM CN 


en 


en 












> 


o 


























,_ 


















ID 




























Q 


















1 < 

o 


1 / 1 


1 






































1 Jv * 




" 


















UD 












































CD 


LD 














U3 


ID 


»» en 


CM^ 


r^ C 




















3£ £ 


1- 










ocvj y 


3 










a 


Q 


Q 


Q Q 


Q 


Q C 
























in >> 


o 










CD 


CD 


CD 


CD CD 


CD 


cd a 
























r*.- r " 1 oo 


p" s 


en 

< 














































? o 
























































CD 






"* ID 


en 






























0. > U °- 










CD 


< 














en 
























O Z -J Q O 










O 




















LU 
















o " 
























H 


1- 


DQ 




O 


































CM 


"-"1 kd\ f- *» 










<t 


CD 


IT = 




— 
























1 1 1 










* 


□ in 






























• <r 










OJ 






























in 










CD 




























1/ 


> S 













< 






















JS.it 


°°Z 










S Id . 


1 








CNJ 


ro 


*I 


to m 


rv " 


'oo a 




_i 










cr 










^ ' 




















LU 

z 
















LU 
CO 

1- 




m 
o 
tr 






tr 

LU 

i- 
z 




























































< 




i- 














> 
+ 




Q 


> 

in 

-t- 


5 
OWER 

3180 
NSION 

AO 


is 


ii 


CO 

z 
< 

X 

LU 


Q 


U3 
Q 


ID 

Q 


tj en 
Q Q 


Q 


r-. C 

Q C 


LU 

CO 

> LU 

) tr 


CO 

o 

> 




co 

LL 




LU 
CO 
LU 

rr 




o 

00 

en 

ID 

x 1 


o 
1- 
z 






A <f 


' c 


> ( 


> "°- ^£ 
































. 3 en in f> cvj c 


n O n ro n s+ in ID CO 


rx) in 






g n ") ro n) oo rq 


ro c\J 





MAY 1986 -BYTE 93 



CIRCUIT CELLAR 



trailer, supported by the SB 180 BIOS, 
is one of these products. The flexibili- 
ty of the NCR 5380 accommodates 
these design variations. 

Hardware Description 

Little logic is required to interface the 
NCR 5380 to the 64180 on the SB180 
(see figure 8). The signals required are 
available on the )4 expansion inter- 
face. The signal EXPANSION SEL, 14 
pin 12, is decoded at address EO-FF 
hexadecimal. This signal and the ad- 
dress lines A4-A2 are connected to 
an LSI 56 that generates chip selects 
for the NCR 5380 register interface 
(F8-FF), the NCR 5380 DMA interface 
(F0), and the XE1201/1203 MOSART 
(E0-E3). Since the LSI 56 provides 
open-collector outputs, the chip-select 
signals are pulled up through 4.7- 
kilohm resistors. The address signals 
(A2-A0) from the expansion interface 
and the RD and WR signals can be 
directly interfaced to the 5380 for 
. register addressing. 

The data bus from the expansion in- 
terface is buffered through an LS245 
that is enabled by EXPANSION SEL. 
Its direction is determined by the RD 
signal. The buffered data bus is con- 
nected to the 5380 data bus. 

The COMM180 is designed to sup- 
port DMA transfers with the NCR 5380 
(see photo 2). When the 5380 requires 
a byte of information or wishes to 
transfer a byte of information, it asserts 
the DRQ signal. Since the Hitachi 
'64180 requires an active low DMA re- 
quest, DRQ from the 5380 is inverted. 
In response to the DR Q output, the 
5380 requires a DACK signal to select 
the interna] data registers. DMA chan- 
nel of the 64180 is programmed to 
address I/O location F0 hexadecimal 
in response to DMA requests from the 
5380. Addressing location F0 gener- 
ates a DACK pulse to the 5380, which 
causes DRQ to be deasserted. De- 
pending on the direction of the trans- 
fer, the DMA either generates an 170 
READ or I/O WRITE strobe to clock 
clock the data into or out of the 5380. 
This process is repeated for each 
DMA request. 

The SASI Subset 

The SCSI bus can accommodate a 
variety of systems. Simple systems 



may use only a fraction of the avail- 
able options, while high-end applica- 
tions can use all the optional bus fea- 
tures. As mentioned previously, the 
SB 180 is most cost-effective in a 
minimum SCSI configuration. 

SCSI in its simplest form is just a 
SASI interface. SASI designs assume 
that one host will select a peripheral 
device, most likely a disk drive, and 
remain connected to it until the I/O 
transfer is completed. Because these 
products are used in low-cost, low- 
performance applications, single- 
ended configurations that do not sup- 
port parity are the most popular. 

The SBI80/COMM180 is typical of 
most SASI designs. The BIOS sup- 
plied with this board accommodates 
single-user/single-tasking applications 
as supported by the Xebec S 1 4 1 and 
the Adaptec ADP4000 disk-controller 
products. You can use other con- 
trollers with similar capabilities. Since 
the NCR 5380 supports general SCSI 
use, software tasks can be written out- 
side the realm of the BIOS to support 
other device types as well as more 
complex protocol versions. 

Circuit Cellar Feedback 

This month's feedback begins on 
page 54. 

Next Month 

I will continue my discussion of the 
SCSI interface, concentrating on the 
communication details of the protocol 
and the different bus phases. ■ 

Special thanks to Mike McBride and Harry 
Mason for their contributions to this project. 

Diagrams and information specific to the 
NCR 5380 are reprinted with the permis- 
sion of NCR Corporation. 

There is an on-line Circuit Cellar bulletin- 
board system that supports past and pres- 
ent projects. You are invited to call and ex- 
change ideas and comments with other Cir- 
cuit Cellar supporters. The 300/1200-bps BBS 
is on line 24 hours a day at (203) 871-1988. 

Due to an overwhelming response and in- 
creased production rate for the SB180. as 
described in the September and October 
1985 Circuit Cellars, the assembled and 
tested SBI 80-1-20 "BYTE Readers' Special" 
price of $499 has been extended indefinitely 
by Micromint. 



Editor's Note: Steve often refers to previous 
Circuit Cellar articles. Most of these past ar- 
ticles are available in book form from BYTE 
Books, McGraw-Hill Book Company, POB 
400, Hightstown, NJ 082 50. 

Clama's Circuit Cellar, Volume 1 covers articles 
in BYTE from September 1977 through 
November 1978. Volume II covers December 
1978 through June 1980. Volume III covers July 
1980 through December 1981. Volume IV 
covers January 1982 through June 1983. 
Volume V covers July 1983 through December 
1984. 

The following items are available from 

The Micromint Inc. 

2 5 Terrace Dr. 

Vernon. CT 06066 

(800) 63 5-3 3 55 for orders 

(203) 871-6170 for information 

1. SBI 80 computer board with 2 56K bytes 
of RAM. Complete with user's manual and 
ROM monitor. Assembled and tested. 

SB180-1 $369 

2. Complete SBI80 computer board with 
2 56K bytes of RAM, user's manual. ROM 
monitor, and the Z-System. including ZRDOS, 
ZCPR3, an editor and utilities. BIOS source 
ROM monitor source. ZAS assembler, ZDM 
debugger, and user's manuals. Provided on 
four 514-inch SBI 80 format DS/DD disks. 
Assembled and tested. 

SB180-1-20 $499 

3. COMM180 SCSI-only expansion board for 
the SB180 computer with hard-disk BIOS 
upgrade (board can be upgraded to include 
the modem at any time). Complete with 
user's manual. Software supplied on 514-inch 
DS/DD SB180 format disk. Assembled and 
tested. 

COMM180-S $150 

4. COMM180 1200-bps modem and SCSI ex- 
pansion board for the SB180 computer with 
TERM3 and hard-disk BIOS upgrade. Com- 
plete with user's manuals. Software supplied 
on two 5 '/n-inch DS/DD SBI 80 format disks. 
Assembled and tested. 

COMM180-M01-S $479 

SCSI hard-disk drives, enclosures, cable sets, 
and various SB180 enhancement products 
are now available. Call for a price list. 

Please include $10 (on items 1 and 2) or $6 
(on items 3 and 4) for shipping and handling 
in the continental United States ($4 addi- 
tional for Canada), $ 1 5 for surface or $3 5 for 
air mail elsewhere. Connecticut residents 
please include 7.5 percent sales tax. 



To be included on the Circuit Cellar mail- 
ing list and receive periodic project up- 
dates and support materials, please cir- 
cle 100 on the Reader Service inquiry 
card at the back of the magazine. 



94 BYTE* MAY 1986 



Avocet puts you in the chips! 




Now you can use your PC to 
develop software for virtually 
any microprocessor. Quickly. 
Easily. Inexpensively. 



THE AVOCET 
CROSS-ASSEMBLER FAMILY. 

AVMAC™ Macro Cross-Assembler 

MSD0S™,PCD0S™ $349 

VAX™/UNIX™ $995 

XASM Cross-Assembler 
CP/M™-80, CP/M-86 $249 

Target Microprocessors Supported: 



6502/65C02 
6800/01,6301 
NEC 7500 



6804 

6805 

6809 

1802/1805 8085 

8048/8041 COP400 

8051 F8/3870 



Z8 

Z80 

68HC11 

HD64180 

68020 

68000/68010 



New AVMAC Macro Cross-assemblers 
offer these important features: Powerful 
macro facility, relocatable code, linker 
and librarian, cross-reference by line and 
procedure, plain English error messages 
and much more. 

™ Signifies manufacturer's trademark. 



Avocet cross-assemblers, simu- 
lators, emulators and EPROM 
programmers will help put your 
design ideas into more chips than 
any other software development 
system on the market. You don't 
need a mainframe, or even a dedi- 
cated system. All you need is a 
PC, a good idea. ..and Avocet. It's 
as simple as that. 

Avocet has been creating tools 
for software development since 
1979 to help design engineers find 
easier and more productive ways 
to develop software for virtually 
any microprocessor— w/Moirt 



switching development systems. 
Our customers turn ideas into 
real products. From data entry 
through assembly, debugging and 
final EPROMs, Avocet has every- 
thing you need to transform your 
personal computer into a fully 
integrated development system. 

Cross-assembler capabilities. 

No matter what the application, our 
family of cross-assemblers runs 
on any computer with CP/M* or 
DOS and processes assembly lan- 
guage for most microprocessors. 

Taking the bugs out. 

1 Avocet's new debug- 
ging tools will eliminate 
"crash and burn" 
from your vocabu- 
lary in two ways. 
First, AVSIM software 
simulator/debuggers allow you to 
test program modules on your 
PC. No special hardware is 
required for executing your target 
code interpretively in a crash-proof, 
interactive environment. AVSIM's 
full screen display lets you see at a 
glance what your program is doing. 
When you're ready to test your 
program in a working model, 
Avocet's TRICE in-circuit emulators 
allow you to examine target 
memory and register, set break- 
points, single-step, trace and 
more. A standard serial interface 
lets you control emulation and 
download code from your PC. 




And best of all, TRICE costs 
less than $500. 

Progressive EPROM 
programming. 

Avocet AVPROM programmers 
work with over 37 different 
devices including EPROMs 
through 27512, CMOS and E 2 
PROMs, and MPU/EPROM 
combos using fast "adaptive" 
algorithms. These intelligent, 
self-contained units work with 
any personal computer using 
Avocet's GDX driver software. 

Made to order. 

You don't have to come to Maine 
to get Avocet products (unless, of 
course, you want a really great 
lobster dinner). 
Just call, toll-free, 

1.800-448-8500 

(in the U.S. except Alaska 
and Hawaii) 
and we'll rush out your order, 
send out more information, or, if 
you want, talk about some of your 
great ideas. Avocet Systems Inc., 
RO. Box 490-B8, Rockport, Maine 
04856. (207) 236-9055. Telex: 
467210 AVOCET CI 

AVOCET /X 
SYSTEMS INC, 



Inquiry 31 



MAY 1986 'BYTE 95 



no other printer is th 

Add up everything that's upfront: 

No other letter-quality printer is this easy this fast 
and this good— all three at once! If you thought that was 
impossible, you were right ...up until Star created the new 
NB-15! 

It makes everything so easy for you. Because every- 
thing's where you want it. Right at your fingertips. Upfront. 
On the front panel. 

And we mean everything: You can select from 3 font 
styles, 4 print pitches, 2 print modes, and 8 form lengths— 
19 functions in all. And you can choose additional font 
cartridges, too. 

There's also an exclusive software override. Full 
software compatibility. 

And IBM- PC compatibility, of course. 

Both tractor and single sheet feeds are standard. And 
there are optional automatic sheetfeeders, single and dual 
bin. With button-control paper alignment right upfront, too. 



IBM is a registered trademark of International Business Machines, Inc. 

96 B YTE • MAY 1986 



is upfront with you. 



Best of all, the NB-15™ gives you all this with 24-wire 
quality printing All at top speeds of 300 cps draft and a full 
100 cps with true letter quality 

Plus a 16K buffer That's all the memory you could 
hopefor 

The all-new NB-15 business printer The newest and 
brightest Star has just come out at a dealer near you. 
And it's already out in front! ^^^ 

In front with m The new 

quality upfront. Star NB-15 




Inquiry 342 



MAY 1986 'BYTE 97 




98 BYTE* MAY 1986 



ILLUSTRATED BY DIANE TESKE HARRIS 



PROGRAMMING PROJECT 



DATA COMPRESSION 
WITH HUFFMAN CODING 

by Jonathan Amsterdam 

A close look at an elegant way 
to compress information 




Am I the only one, or 
have you also noticed 
that there's never 
enough room on a disk? 
No matter how big a 
floppy is-200K, 400K, 
or even 800K bytes— it's 
almost too easy to stuff it to the gills. The 
same goes for hard disks. Sure, it takes a 
while to fill up 20 megabytes. But eventual- 
ly, things get so tight you couldn't fit your 
own name into the space left. 

Using data-compression techniques, you 
can shorten files by compressing the infor- 
mation they contain. But data compression 
can do more than just save disk space. It 
can also cut down on the time needed to 
transmit large files between computers, 
especially if the transmission is done over 
slow links like telephone lines. If you com- 
press the file before sending it and uncom- 
press it on the receiving end, you can 
reduce the total time for the transmission. 
The technique can work interactively, too. 
If you are using your computer as a terminal 
to communicate with a host computer via 
a modem, the host can send compressed 
commands and data that your computer 
uncompresses before displaying. The result 
can be apparent communication speeds 
that greatly exceed the actual transmission 
rate of the hookup. Such a system could 
make remote full-screen editing pleasant, 



even over 1200-bps lines. 

This month, I will discuss an elegant data- 
compression algorithm called Huffman cod- 
ing. Invented by David Huffman in 1952, it's 
easy to implement and widely used. In a 
sense I'll make precise later. Huffman cod- 
ing is the "best" way to compress data in 
general. 

The Problem Defined 

For the sake of concreteness, I will discuss 
Huffman coding in the context of compress- 
ing ASCII text files. The program 1 will con- 
struct takes as input a text file, that is, a se- 
quence of 1 -byte characters. Hopefully, the 
output will be a shorter file. A separate un- 
compressing program will turn the com- 
pressed file back into the original one when 
you so desire. 

How is it possible to reduce the size of 
a file without losing some of the informa- 
tion it contains? The answer involves con- 
structing a code for each character of the 
file. Note that ASCII, as its full name- 
American Standard Code for Information 
Interchange— suggests, is itself a character 
code. ASCII assigns a unique 7-bit pattern 
to each character. Since all the codes have 

[continued) 
Jonathan Amsterdam is a graduate student at the 
Massachusetts Institute of Technology Artificial In- 
telligence laboratory. He can be reached at 1643 
Cambridge St. #34, Cambridge. MA 02138. 



MAY 1986 'BYTE 99 



PROGRAMMING PROJECT 



the same length, ASCII is a fixed- 
length encoding scheme. 

The idea behind Huffman coding 
(and, by the way, Morse code as well) 
is that variable-length codes can 
achieve a higher data density than 
fixed-length codes if the characters 
differ in frequency of occurrence. For 
instance, in a file of English text, the 
space character will probably be by 
far the most common character, ac- 
counting for perhaps one-sixth of the 
file's contents. The letter "e" will like- 
ly finish second. Letters like "x" and 
"z," on the other hand, will be infre- 
quent, if present at all. By using an 
English-letter frequency table, you can 
construct a coding scheme that 
assigns short codes to the frequent 
characters and long codes to the in- 
frequent ones and use it to encode 
English files. The size of a file will be 
reduced if it conforms well to the fre- 
quency table. But you can do better 
by constructing a different code for 
each file, using the actual number of 



occurrences of characters in that file 
as the frequency table. 

For those of you who remain skep- 
tical about the ability of this method 
to shorten files, let's take as an exam- 
ple the sentence you are now reading. 
The frequency counts for the charac- 
ters in the sentence, along with the 
coding schemes produced by the 
Huffman algorithm, appear in table 1 . 
The sentence contains 147 characters, 
including spaces and punctuation. If 
the sentence were stored as a text file, 
each character would occupy I byte, 
so the sentence would take up 147x8 
or 1 176 bits. Since 27 distinct charac- 
ters are found in the sentence, the 
best fixed-length encoding you could 
hope for would use 5 bits per charac- 
ter; the sentence would thus occupy 
735 bits. The Huffman-coded version 
occupies only 612 bits, a 17 percent 
improvement over the best fixed- 
length code and a 48 percent savings 
over the ASCII storage method. In 
practice, I have found Huffman coding 



Tcible I: The frequency distribution and Huffman 


encoding for 


the sentence "For 


those of you who remain skeptical about the ability 


of this method to shorten 


files, let's take as an example the sentence you are 


now reading'. 




Character Frequency 




Code 


space 26 




101 


e 17 




010 


t 13 




1000 


o 12 




1001 


a 10 




1101 


s 8 




0111 


i 7 




0000 


h 7 




0001 


n 7 




0010 


I 5 




11001 


r 5 




11000 


f 3 




01101 


y 3 




00111 


u 3 




00110 


m 3 




111011 


w 2 




111111 


k 2 




111110 


P 2 




1 1 1 1 00 


b 2 




111101 


d 2 




011001 


c 2 




011000 


x 1 




1110101 


9 1 




1110100 


F 1 




1110010 


' (apostrophe) 1 




1110011 


, (comma) 1 




1110001 


. (period) 1 




1110000 



to reduce file sizes by about 30 
percent. 

Variable-length codes can compress 
information, but they have their draw- 
backs. For one thing, they are difficult 
to manipulate inside a computer, 
which prefers fixed-size objects; 
hence, a fixed-length code like ASCII 
is superior when space or transmis- 
sion time isn't an issue. Variable- 
length codes are also sensitive to 
mangled bits. A single incorrect bit in 
a variable-length encoding can throw 
off the rest of the message. In a fixed- 
length code, an incorrect bit will af- 
fect only one character. 

A third problem with variable-length 
codes crops up when you try to 
decode an encoded file. Say your 
coding scheme assigns the code to 
the character "a," 1 to "b," and 01 to 
"c." The string "ab" is encoded as 01. 
But when decoding this string, you 
can't know whether the original string 
was ,l ab" or "c." 

To avoid ambiguity, it is sufficient 
that the code possess the prefix prop- 
erty. In a code with this property, no 
character code occurs as a prefix— 
an initial sequence— of any other 
code. The code in the previous para- 
graph does not have the prefix prop- 
erty because the code for "a," 0, is a 
prefix of the code for "c" 01. The 
code in table I does have the prefix 
property, as do all codes generated 
by the Huffman algorithm. The prefix 
property makes decoding easy. The 
decoder can read one bit after an- 
other until the sequence of bits read 
so far corresponds to a character 
code. It then outputs the character 
and begins reading again. 

An Overview 

Let's now -take a close look at the Huff- 
man algorithm, which uses a frequen- 
cy table to construct a variable-length 
code with the prefix property. The 
secret to the algorithm is that versatile 
and elegant data structure, the binary 
tree. It so happens that a correspon- 
dence exists between codes with the 
prefix property and binary trees 
where every node has either two 
children or none. The nodes with no 
children— the leaves of the tree— are 
labeled with characters. Each left 
branch of the tree is labeled with a 0, 



100 BYTE • MAY 1986 



PROGRAMMING PROJECT 



and each right branch with a 1 . Let us 
call such a tree a code tree. Figure 1 
shows a simple code tree. 

To get the code for a particular char- 
acter, just trace the path from the root 
of the tree to the leaf labeled with that 
character. Every time you turn left 
add a to the character's code; every 
time you turn right, add a 1. In the 
tree shown, the character code for "d" 
is 11 . The form of the tree embodies 
the prefix property, because for one 
code to be a prefix of another, one 
character would have to be on a path 
between the root and some other 
character. But this is impossible, be- 
cause the characters occur only at the 
leaves of the tree. 

To construct such a tree from the 
frequency table, the Huffman algo- 
rithm begins by finding the two char- 
acters with the lowest nonzero fre- 
quencies. (If a character has a fre- 
quency of zero, it can be ignored. If 
more than one character has the 
minimum frequency, it doesn't matter 
which is chosen.) It combines these 
two characters into a tree by creating 
a new node and making the charac- 
ters its children. The tree is assigned 
a frequency that is the sum of the fre- 
quencies of its children. The algorithm 
again picks the two lowest-frequency 
values that occur, this time including 
the newly constructed tree in its 
search. Again, it pairs the two lowest 
values into a tree. It continues this 
process until only one tree remains; 
that tree is the Huffman code tree for 
the frequency table, and the character 
codes can be read off it directly. 
Figure 2 shows how the algorithm 
constructs the tree in figure 1. Figure 
3 provides a more formal description 
of the algorithm. 

Huffman Is The Best" 

It should be clear that the Huffman 
algorithm constructs a binary tree that 
can be used to encode characters, but 
it is far from obvious that it constructs 
the best such tree. It does, but before 
proving it. I should define what I 
mean by "best." 

Since the goal of the algorithm is to 
minimize the space occupied by a file, 
it's clear that the best encoding of the 
file is the one that will take up the 

{continued) 



A 


&*> 


KL 


© © 



Figure I : A simple code tree. 



(a) 



17 



26 



12 



0©0© 



(b) 



© © 9 
0© 



(C) 38 



9. 



26 

© 



© © 



© 



Figure 2: How the Huffman algorithm constructs the tree in figure 1: (a) \t begins 
with a list of characters and their frequencies: (b) \t combines the characters with the 
lowest frequencies, ,l c" and "d," into a subtree and puts the subtree in the list: (c) Now 
the character "a" and the newly constructed subtree have the lowest frequencies, so they 
are combined: (d) Finally, the remaining character is combined with the subtree to form 
the completed code tree. 



MAY 1986 -BYTE 101 



PROGRAMMING PROJECT 



least space, that is, the fewest bits. 
How does that translate to code 
trees? Let's assume that the frequen- 
cy table used to construct the tree 
consisted of the number of times 
each character occurred in the file 
rather than, say, the percentages of 
the characters' occurrence in English. 
(The Huffman algorithm will work 
either way, but it is guaranteed to be 
best only with the former interpreta- 
tion of the frequency table.) Given a 
code tree, it's easy to calculate exact- 
ly how many bits the corresponding 
file will occupy. Observe that the 
length of the path from the root to a 
character— the number of branches 
you have to traverse to get to the 
character— is the same as the number 
of bits in that character's code. Since 
the frequency of a character is the 
number of times it occurs in the file, 
multiplying the frequency of the char- 
acter by the number of bits in its code 
yields the total number of bits the 
character will occupy in the encoded 
file. 

Performing the same calculation for 
each character in the tree and adding 
the results together yields the number 
of bits in the entire encoded file. This 
value is called the weighted path 
length of the tree because it is com- 
puted by multiplying the length of 
each root-to-leaf path in the tree by 
the path's weight, which is the fre- 
quency of the character at the leaf. 
For instance, the weighted path length 
of the tree in figure 2d is 17x2 + 
12x3 + 9x3 + 26x1 = 123. The 
weighted path length of a code tree 
is what you should minimize. I am 
claiming that, for any distribution of 
frequencies, the Huffman algorithm 
constructs the tree that has the 



smallest weighted path length of all 
possible code trees constructed from 
that frequency distribution. 

Some Observations 

Three interesting facts about code 
trees bear on the proof of the above 
claim. The first 1 call the generality 
observation: You can construct any 
code tree by repeatedly taking two 
subtrees and combining them into a 
larger tree. Therefore, the important 
aspect of the Huffman algorithm is 
not the way it builds up the tree from 
subtrees, but the fact that it always 
chooses the smallest subtrees to com- 
bine at each step. 

The second observation is this: If 
you increase the path length of a sub- 
tree by 1, you add the frequency of 
the subtree to the weighted path 
length of the entire tree. 1 call this the 
lowering observation because increas- 
ing a subtree's path length is just like 
lowering the level at which the sub- 
tree occurs in the overall code tree. 
For instance, say I have a tree whose 
weighted path length is 30. A par- 
ticular subtree has frequency 5, and 
the path from the root to that subtree 
is three branches long. If I increase 
the path to four branches while hold- 
ing everything else constant, the tree's 
weighted path length becomes 3 5. 

This is easy to see when the subtree 
is a leaf. If 1 increase the path length 
of a leaf by 1, it's as if 1 added 1 bit 
to the character code for the charac- 
ter at that leaf. If the character occurs 
n times, I have in effect added n bits 
to the length of the file. But that's the 
same as saying that I have increased 
the tree's weighted path length by n, 
since I showed before that the 
weighted path length is equal to the 



For each character with a nonzero frequency, 

add the character to the list of subtrees. 
While the list of subtrees contains more than one subtree, 

remove from the list the two subtrees with the smallest frequencies; 

make them the children of a new subtree whose frequency is the sum of 
their frequencies; 

add the new subtree to the list. 
The remaining subtree is the Huffman code tree. 



Figure 3: The Huffman algorithm takes a table of characters and their frequency 
counts as input and produces a code tree as output. 



number of bits in the file. 

For the case of a nonleaf subtree, 
recall that the subtree's frequency is 
the sum of the frequencies of its 
children, which are in turn the sum of 
the frequencies of their children, and 
so on down until the leaves are 
reached. So the frequency of a sub- 
tree is just the sum of the frequencies 
of all the leaves under that subtree. 
Now, if I increase the path length of 
the subtree by 1, 1 have also increased 
the path length of each of its leaves 
by 1 . By the argument in the previous 
paragraph, 1 have increased the 
weighted path length of the tree by 
the sum of the frequencies of the sub- 
tree's leaves. But this is just the fre- 
quency of the subtree itself. 

The third and most important ob- 
servation I call the swap observation. 
Consider any two subtrees of a code 
tree. If the higher subtree— the one 
with the shorter path length— has a 
smaller frequency than the lower sub- 
tree, you can swap the two subtrees 
and thereby decrease the weighted 
path length of the entire tree. Figure 
4 provides an example. 1 think the 
easiest way to convince yourself of 
the truth of this observation is to 
imagine lowering the higher subtree 
one level at a time until it reaches the 
level of the lower subtree. By the 
lowering observation, each time the 
subtree descends a level, the entire 
tree's weighted path length increases 
by the frequency of the subtree. Now 
imagine raising the lower subtree up 
in the tree until it reaches the level of 
the higher subtree. By the same rea- 
soning used for the lowering obser- 
vation, you can see that each level this 
subtree ascends will decrease the 
tree's overall weighted path length. 
Now which is greater, the amount of 
increase or of decrease? Both sub- 
trees move the same number of levels 
because they are being swapped, but 
the subtree responsible for the 
decrease is the ascending subtree, 
which has a higher frequency. So the 
net effect must be that the overall 
weighted path length is decreased. 

The Proof 

I will now show that no code tree 
using a given frequency distribution 

[continued) 



102 B YTE • MAY 1986 



You need Borland's 

Traveling SideKick because wherever 

you go, there's work to he done 



1 raveling SideKick™ is the only 
personal organizer developed 
from and designed for the 
ComputerAge. 

An electronic leap ahead of 
traditional diaries, day-timers 
and organizers, Traveling 
SideKick is BinderWare" that 
includes a software program, 
a report generator, reference 
materials, maps, addresses, 
appointments, telephone 
numbers, calendars, customer 
lists, travel itineraries, a 
calculator, and much 
much more. 

You need Traveling SideKick 
because it is the new Computer 
Age way to take all your facts, 
files and figures with you 
wherever you go— whether 
you're taking work home or 
heading out across America 
and the world. 

Traveling SideKick is your 
SideKick 'f sidekick 

More than half a million of you 
already know how indispensable 
SideKick, the RAM-resident 
desktop manager, is on your 
IBM® PC (So do many Macintosh™ 
owners who are now using our 
SideKick/Mac version). While 
SideKick enjoys the rank of ttl 
best seller for the IBM PC, it can 



N 



How it works for you: 



Whatever' s already in your 
SideKick— phone numbers, 
appointments, calendar, addresses, 
customer lists, airlines, restaurants, 
etc. —can be picked up and printed 
out by Ttaveling SideKick' s Report 
Generator. 




You simply clip the freshly 
printed information into your 
Traveling SideKick binder and hit 
the road. Instant access to infor- 
mation—no matter where you are. 

Naturally, you can add new information/files/data to your SideKick as it occurs. 
Traveling SideKick instantly incorporates all changes and updates . Traveling 
SideKick will also sort your address files by name, zip code, or company name. 
It prints mailing labels and other information selectively, and will search your 
files for existing addresses and appointments. 



only go where your computer goes- 
so if your computer stays in your 
office or den, so does SideKick. 
Traveling SideKick changes 
all that. 

For a limited time, 
Traveling SideKick is only 
$69.95 

Until September 1, 1986, you 
can get Traveling SideKick for 



What's inside your Traveling Sidekick 




TABLET OF EXTRA FORMS 

IN POCKET ON BACK FLAP. FOR USE IN AMY OF THE 

ORGANIZER SECTIONS 

ADDRESS BOOK SECTION 

PREPRINTED ADDRESS FORMS WITH TABBED 

FOR EASY REFERENCE 
MISCELLANEOUS SECTION 
TO STORE ALL EXTRA PREPRINTED FORMS AND 
COMMONLY-USED RECORDS 



SECTION 

CONTAINS MAPS THAT SHOW AREA COOES AND 

TIME ZONES. TOLL-FREE NUMBERS FOR TRAVEL 

ACCOMODATIONS. METOC CONVERSION CHARTS 

FINANCE SECTION 

MULTlUSE LEDGER FORMS RECEIPT LOG AND 

STORAGE ENVELOPE, CREOIT CARO INFORMATION 

CALENDAR SECTION 

YEAR.Y. MONTHLY. WEEKLY. AND DAILY 

ENGAGEMENT Cil.ENOARS SUPPLEMENT THOSE 

YOU PRINT OUT WITH IRA'/EUNG SIDEKICK. 

PENDINOSECTION 

A "TO BE CONTINUED SECTION FOR CURRENT 

PROJECTS. MEETING MOTES, ETC. 

CALCULATOR 

IN ONE OF TWO BUSlNESS-CARO-SIZE STORAGE 

POCKETS 

TOAVEUNG SIDEKICK SOFTWARE 

GENERATES. UPDATES. AND PRINTS YOUR 

ADDRESS AND CALENDAR FILES 



just $69.95-which is tremen- 
dous short-term and long-term 
value. Short-term because it 
solves immediate problems at a 
veiy low price, and long-term 
because Traveling SideKick 
works this year, next year, and all 
the "next years" after that. 
(Unlike old-fashioned daytime 
organizers, electronic organizers 
and calendars aren't obsolete at 
the end of the year.) 

Special Offer: Get both 
SideKick and Traveling 
SideKick for only $125.00 

You probably already have 
SideKick, but in case you don't, 
we're offering you both SideKick 
and Traveling SideKick for only 
$125.00. (SideKick alone is 
usually $84.95. Add that to 
Traveling SideKick's $69.95, and 
you're looking at $154.90-whlch 
you don't have to look at, because 
you get $29.90 of f when you buy 
both.) Whichever way you buy, 
you're getting our 60day money- 
back guarantee** and making a 
highly organized and productive 
step into modern business life. 



^T 



BORLAND 

INTERNATIONAL 



4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY. CA 95066 
(408) 438-8400 TELEX: 172373 



Traveling SideKick 
is an organizer, a 
tinder, a software 
program and a 
report generator 
that picks your 
SideKick's brain, 
then prints out your 
appointments, daily, 
weekly, monthly, or 
yearly calendar, 
your phone lists, 
and mailing labels, 
itinerary, or 
whatever else 
you need. 



YES! 



I want 
the best 



Rush me Traveling SideKick at. 



$69. 



95* 



Or both Traveling 
SideKick A SideKick at $125.00. * 

To order by phone, 
or for a dealer near you, 

call (800) 255-8008 

inCAcall(800)742~1133 

Send me Traveling SideKick(s) at $ 

Send me of both SideKicks al $ 

Outside USA add $10 per copy 

CA and MA res . add sales tax $ 

Amount enclosed $ 

Prices include shipping to all U.S. cities 

Payment: VISA MC Bank Draft Check 

Credit card expiration date / — 

Cartfn I I I I I I I I I I 



I I I 



_u 



Carelutly describe your compute; system 

Mine is:— 8-bit _ 16-bit 

I use: — PC-DOS —MS-DOS —CP/M-80 — CPIM-86 

My computer's name and model is. 



The disk, sue I use is. Q3 1 /?' D 5 w □ 8' 
NOT COPY PROTECTED 
"60-DAY MONEY-BACK GUARANTEE 

Name: 



Shipping Address: 



City: 



. lip: 



Telephone: 

CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by credit card or International Postal 
Money Order. 
"Special Introductory Otter until September 1, 1986 

""YES. it within 60 days ol purchase this product does not 

perform in accordance with our claims, please call our customer 

service department and we wilt gladly arrange a tetund. 

Minimum System Requirements: 

256K IBM PC. PCjr. XI Aland 

true compatibles 

TS15 



Borland products Include Turbo Pascal; Turbo Database Toolbox; Turbo Lightning; Turbo GraphJx Toolbox; 
Turbo Tutor; Turbo GameWorks; Turbo Editor Toolbox; Reflex, The Analyst^ SideKick; SideKick, The Macintosh 
Office Manager; Traveling SideKick; and SuperKey— all of which are trademarks or registered trademarks of 
Borland International, Inc. or Borland/' Anajyuca, Inc. Copyright 1986 Borland International BI-1043B 



k v 



Inquiry 406 for End-Users. Inquiry 407 for DEALERS ONLY. 



PROGRAMMING PROJECT 



can have a lower weighted path length 
than the tree produced by the Huff- 
man algorithm using the same fre- 
quency distribution. Other trees may 
have the same weighted path length, 
but none can be better. 

By the generality observation, any 
code tree can be constructed by 
building it up out of smaller subtrees. 
To be more concrete about this, say 
that you are building a code tree that 
diverges from the one that would be 
built by the Huffman algorithm. At the 
point of divergence, the frequencies 
of the remaining subtrees are 9, 12, 
17, 26. and 32. The Huffman algo- 
rithm would combine the 9 subtree 
and the 12 subtree (see figure 5a), but 
to make the divergent subtree, you 
combine the subtrees 12 and 26 and 
then 9 with 17. 

In this divergent tree, the lowest- 
frequency subtree and the one it is 
combined with (subtrees 9 and 17 in 
this example) must be at the same 
level. But where does the subtree of 
second-lowest frequency (subtree 12) 
turn up? There are three possibilities: 
at a lower level than 9 (figure 5b), a 



higher level than 9 (figure 5c), or the 
same level (figure 5d). 

If 12 is lower than 9, the swap ob- 
servation says that we can swap the 
two subtrees to get a better tree. If 1 2 
is higher than 9, it must also be higher 
than 17, so we can swap 12 and 17 
to again get a better tree. Any tree 
that diverges from the Huffman tree 
in one of these two ways can't have 
the lowest weighted path length. 

Now to the third case. If 12 is on the 
same level as 9, it is also on the same 
level as 17. Swapping 12 and 17 won't 
change the weighted path length of 
the tree. But it will make 9 and 12 
children of the same node, which is 
just where the Huffman algorithm 
would have put them. So although the 
tree in figure 5d diverged from the 
Huffman algorithm at this point, there 
is another tree with the same 
weighted path length that doesn't 
diverge from it here. 

Abandon the tree in figure 5d and 
begin the argument again with the 
tree in figure 5e. The subtrees to con- 
sider are 17, 21, 26, and 32 (9 and 12 
subtrees make a subtree of fre- 



9 
9 



Figure 4: An illustration of the swap observation. Before the swap, the red subtree is 
higher in the code tree than the blue subtree. The weighted path length of the tree 
before the swap is 128; after the swap, it's 123. 



quency 2 1). Since 2 1 is higher on the 
tree than both 17 and 26, it can be 
swapped with 26 to get a better code 
tree. Hence, the tree in figure 5e is 
worse than the Huffman tree. In 
general, one of two things will happen 
to a new tree. Either it will diverge 
from the Huffman tree as in case 1 or 
case 2 above, showing itself to be 
worse than the Huffman tree, or it 
won't diverge at all, in which case it 
just is the Huffman tree. 

That concludes the proof. Let me 
sum up. The idea is that a tree can 
diverge from the tree constructed by 
the algorithm in only three ways. If it 
diverges in one of the first two ways, 
it can't be minimal. Only if it diverges 
in the third way can it be minimal— 
but then the Huffman algorithm will 
produce a different tree with the same 
weighted path length, hence also 
minimal. It follows that no code tree 
can be better than the Huffman tree. 

Is "Best" Always Best? 

I've only shown that, given a frequen- 
cy distribution, the Huffman algorithm 
produces the shortest character code 
with the prefix property over that dis- 
tribution. Huffman coding is optimal 
only in this narrow sense. In many 
cases, a Huffman code based on char- 
acters will fare worse than some other 
scheme. For instance, consider the 
sentence "John, where Bill had had 
'had,' had had 'had had."" An en- 
coding in which "had" is 1. "Bill" is 
01. "where" is 001, and "John" is 000 
does much better than a Huffman 
code based on characters. In fact, that 
encoding is what you would get with 
the Huffman algorithm if you applied 
it to the words of the sentence. In 
many cases, the Huffman algorithm 
will do poorly no matter what. For ex- 
ample, pictures are often represented 
digitally as bit maps. Since many pic- 
tures consist of large regions that con- 
tain all 0s or Is, a preferable compres- 
sion technique is run-length encoding, 
in which long sequences of identical 
bits (or characters) are represented by 
a single character and a count indi- 
cating the number of consecutive oc- 
currences of that character. 

Despite its drawbacks, Huffman 
coding applied to the characters of a 

[continued] 



104 BYTE' MAY 1986 



PROGRAMMING PROJECT 




Figure 5: Given the subtrees 9, 12, 17, 26, and 32, examine some trees that diverge from the tree produced by the Huffman 
algorithm. For now, look at only the frequencies of these subtrees and ignore the characters these frequencies correspond to: (a) The 
tree the Huffman algorithm would build from these subtrees: (b) The subtree with the second-lowest frequency (12) is lower in the tree 
than the subtree with the lowest frequency: (c) The subtree with the second-lowest frequency is higher in the tree than the subtree with 
the lowest frequency: (d) The second-lowest frequency is at the same level as the lowest frequency: (e) Swapping 12 and 17 gives a 
tree that diverges from the tree that would be produced by the Huffman algorithm at a later point than that of figure 5d and yet 
still has the same weighted path length of the tree of figure 5d. 

MAY 1986 -BYTE 105 



PROGRAMMING PROJECT 



file is usually your best bet especial- 
ly for text files like program sources 
and written documents. 

Huffman Implementation 

My implementation of the Huffman 
algorithm uses a data structure I call 
a node to construct the code tree. A 
node is just a Modula-2 or Pascal 
record that contains five fields: a char- 
acter; a frequency count; two children, 
which are pointers to other nodes; 
and a parent, which is also a pointer 
to a node. The children pointers are 
used to trace down the tree when de- 
coding, and the parent pointers are 
used to trace paths from the leaves 
to the root for encoding. 

My program begins by creating a 
node for each character in the fre- 
quency table. The character is as- 
signed to the character field of the 
node, and its frequency is assigned to 
the node's frequency field. Since this 
node is a leaf, both its children are 
assigned the value NIL (in Pascal and 
Modula-2, NIL is a pointer value that 
points to nothing). The program also 
constructs an array of the leaves in- 
dexed by character to serve as an in- 
dex into the tree for use in encoding. 

The program then places all the leaf 
nodes in a list and does the follow- 
ing: When the list contains more than 
one node, it removes the two small- 
est, combines them, and puts the 
resulting node back in the list. Tb com- 
bine two nodes A and B, the program 
constructs a new node C. sets its 
children fields to point to A and B, 
sets the parent fields of A and B to 
point to C, and assigns the sum of the 
frequencies of A and B to C's frequen- 
cy field. (C's character field is never 
used, so it need not be set.) When 
only one node is left in the list, that 
node is the root of the Huffman tree. 

I haven't specified how the list of 
nodes is represented or how the 
smallest nodes are chosen. My pro- 
gram uses an array for the list, and I 
choose the smallest node by stepping 
through each node in the array and 
comparing it against the smallest 
found so far. The procedure is similar 
to Selection Sort and results in a Huff- 
man algorithm with the same time 
complexity: 0(n 2 ). where n is the 
number of characters in the frequen- 



cy table (see my 'An Analysis of 
Sorts" on page 104 of the September 
1985 BYTE for an explanation of 
Selection Sort and "Big O" notation). 
Although it's possible to do better 
(O(fllogH), in fact) using a more 
sophisticated data structure, it's prob- 
ably not worth the trouble, for two 
reasons. 

First, if you are encoding characters, 
that is, bytes, there cannot be more 
than 2 56 distinct characters in the file 
since a byte can represent only 2 56 
distinct values. Usually, there will be 
many fewer. For such small values of 
n, it is not clear that the theoretically 
faster but more complex algorithm 
will be quicker in practice. Another 
reason in favor of the simpler algo- 
rithm is that, when using Huffman 
coding to compress a file, most of the 
time taken by the compression pro- 
gram is spent reading from and writ- 
ing to the disk. For large files, the time 
taken to construct the tree pales in 
comparison. 

File-Compression Programs 

Some additional apparatus is needed 
before you can use the Huffman al- 
gorithm to compress files. You must 
write an encoding program and a 
decoding program. The encoding pro- 
gram takes a file as input and pro- 
duces an encoded and (hopefully) 
shorter file as output. The decoding 
program takes an encoded file and 
restores it to its original state. TWo 
problems must be solved before you 
write these programs: saving the code 
tree and performing bit-oriented I/O. 
If the encoding program uses the in- 
put file to calculate the frequency 
distribution, the Huffman algorithm 
produces a minimal tree. But this 
method has a drawback that makes it 
unsuitable for short files. Since the 
algorithm generates a different code 
for each file, it is necessary to store 
the code tree along with the encoded 
file so the decoding program can do 
its job. If the file is too short, the 
number of bits saved in compression 
is less than the number of bits it takes 
to store the tree. You can solve this 
problem in a couple of ways. One way 
is to combine many short files into a 
longer one, which is then com- 
pressed. Another is to forgo the 



minimal encoding by using a common 
frequency distribution to encode 
many files. If the frequency distribu- 
tions of the files are close enough to 
the common one, this method will 
save bits. 

Since I want my program to work 
well with a wide range of files, I've 
chosen to compute the frequency 
table from the file. But this leaves me 
with the problem of outputting the 
code tree along with the encoded file. 
The tree should be stored in a way 
that allows the decoding program to 
reconstruct it easily, and, of course, it 
should take up as little space as 
possible. 

To output the code tree, my pro- 
gram starts with the root node and 
does the following: If the node is a 
leaf, it outputs a followed by 8 bits 
that represent the character stored at 
that leaf. If the node is not a leaf, it 
outputs a 1 and recursively outputs 
the left and right children of the node. 
The algorithm and its counterpart for 
input are shown in figure 6. Since 
every code tree with n leaves has n- 1 
nonleaf nodes (a fact I leave to you 
to verify), the space occupied by the 
code tree is (8+ \)n + n-\ = \0n - 1 
bits. Note that it isn't necessary to 
save the frequencies of the nodes; the 
structure of the tree and the charac- 
ters appearing at the leaves suffice for 
decoding. 

The second hurdle to be overcome 
is that the Huffman algorithm pro- 
duces an encoding in terms of bits, 
but all programming languages and 
file systems deal with data in byte-size 
chunks. Routines for doing bit-by-bit 
input and output are required. 

My solution uses a single-byte buf- 
fer to accumulate bits to be output. 
A counter, call it n. is initialized to 
zero. Each time the bit output routine 
is called, the nth bit of the byte is set 
or cleared and the counter incre- 
mented. When the byte is full, it is 
output to the file and the counter is 
reset. Input works analogously: An en- 
tire byte is read in at once and its bits 
doled out one at a time. The algo- 
rithms for bit-oriented I/O are shown 
in figure 7. 

A subtle but important complica- 
tion arises in bit-oriented I/O: It is im- 

[continued) 



106 BYTE • MAY 1986 



IN STATISTICS, 



LESS IS MORE 



SYSTAT™, the first company to port a main- 
frame statistics package to microcomputers, 
has now been joined by BMDP™, SAS™, and 
SPSS™. Now you have a choice. You can 
buy a lot of package to do a little statistics 
or a little package to do a lot of statistics. 
In statistics, as in art, less is more. 

What's less? 

Less to learn. SYSTAT has less than half 
the commands. 

Less to wait. SYSTAT is faster on big and 
small problems 

Less to spend. SYSTAT's single user and 
site license prices are lower. 

Less memory. SYSTAT uses less RAM. 
And much less disk space. It even works 
on floppy disk systems. 

What's more? 

More statistics. SYSTAT Version 3.0 
has more statistical capabilities than any 
microcomputer statistical package. It even 
has more than mainframe BMDP, SAS/STAT, 
or SPSS. 

More machines. SYSTAT operates on 
IBM™ PC's and compatibles, generic 
MS-DOS™ machines like the HP-150™, 
Wang™ and DEC Rainbow™, on CP/M™ 
machines, on several UNIX™ minicomputers 
and mainframes, on the VAX 11/780™, and 
even on the Apple Macintosh™. 

More accuracy. SYSTAT's regression 
routines have been proven more accurate 
than SAS PROC GLM, SAS PROC REG, 
BMDP1R, BMDP2R, and SPSS REGRESSION 
on micros or mainframes. 

More variables. On a 512K microcomputer, 
SYSTAT can compute regressions and other 
statistical analyses on more variables than 
any other microcomputer statistical 
package. 



To evaluate a statistical soft- 
ware package seriously, you 
should look beyond brand 
name or marketing hype to 
find a program that will give 
you the accurate results you 
need. Ask for the booklet 
"STATISTICS QUIZ" which con- 
tains simple problems you can 
run to reveal bugs and serious 
deficiencies in mainframe and 
microcomputer statistical 
packages. We want to help you 
get a package that gets the 
correct answer. 

SYSTAT capabilities include: 

■ Full screen spreadsheet data 
editor 

■ Missing data, arrays, 
character variables 

■ Unlimited cases 

■ Process hierarchical files and 
variable length records 

■ Rectangular and triangular 
files 

■ Relational database manage- 
ment and report generation 

■ Character, numeric, and 
nested sorts 

■ Merge and append large files 

■ Unlimited numeric and 
character transformations 

■ Optional programming 
language 

■ Interactive or batch 

■ Read and write text and 
external files 

■ Subgroup processing in 
statistical modules with SELECT 
and BY 

■ Value labels 

■ RECODE statements for quick 
multiple codes 

■ Scatterplots, contours, his- 
tograms, stem-and-leaf, 
boxplots, bar charts, quantile, 
probability plots 

■ Basic statistics, frequencies 

■ T-tests 

■ Multi-way crosstabs with log- 
linear modeling, association 
coefficients, PRE statistics, 
asymptotic standard errors 

■ Pairwise/listwise missing 
value correlation, SSCP, co- 
variance, Spearman, Gamma, 
Kendall Tau, Euclidean 
distances 



■ Linear, polynomial, multiple, 
stepwise, weighted regression 

■ Extended regression 
diagnostics 

■ Multivariate general linear 
model 

■ Multi-way ANOVA, ANOCOVA, 
MANOVA, repeated measures 

■ Post-hoc tests 

■ Principal components with 
rotations and scores 

■ Multidimensional scaling 

■ Multiple and canonical 
discriminant analysis. Bayesian 
classification 

■ Cluster analysis (hierarchical, 
single, average, complete 
median, centroid linkage, 
k-means, cases, variables) 

■ Nonparametric statistics (sign, 
Runs, Wilcoxon, Kruskal-Wallis, 
Friedman two-way ANOVA, 
Mann-Whitney U, Kolmogorov- 
Smirnov, Lilliefors, Kendall 
coefficient of concordance) 

■ Time Series (smoothing, 
seasonal and nonseasonal 
ARIMA, ACF, PACF, Cross- 
correlation function, trans- 
formations, forecasting, Fourier 
analysis) 

■ Nonlinear estimation (non- 
linear regression, least absolute 
values regression, logit, probit, 
maximum likelihood estimation, 
iteratively reweighted least 
squares) 

■ Non-copy-protected version 
available 

■ Micro, mini, and mainframe 
versions 

Macintosh interface version 
available. 

Single copy price: 

$595 USA and Canada, 

$695 Foreign 

Site licenses and quantity prices 

available. 

Call or write for additional 
information 

SYSTAT, Inc. 

2902 Central Street 
Evanston, IL 60201 

312 864.5670 



SYSTAT 



Inquiry 348 



MAY 1986 



107 



PROGRAMMING PROJECT 



possible to determine exactly where 
the end of a file of bits occurs. Since 
file systems keep track only of bytes, 
a program reading a file does not 
know how many of the bits in the file's 
final byte were actually written when 
the file was created. To get around this 
problem, my encoding program 



stores the number of characters of the 
file with the file's encoding. The de- 
coding program then does not have 
to worry about where the end of the 
file is, because all it has to do is 
decode the indicated number of char- 
acters. 
Now that all the pieces are in place, 



Algorithm writeTree takes a tree node as input. (To output a tree, call 

writeTree with the root of the tree.) 
If the node is a leaf, 

output a bit followed by the 8-bit code for the character at the leaf. 
Otherwise, 

output a 1 bit; 

call outputTree with the node's left child; 

call outputTree with the node's right child. 



Algorithm readTree returns a tree. 
Read a bit from the file. 
If it is a 1, 

call readTree to get the left child, L; 

call readTree to get the right child, R; 

construct a new node N with children L and R; 

set the parent of L and R to be N; 

return N. 
If the bit is a 0, 

read the next 8 bits and convert them into a character, C; 

construct a new mode, storing C in its character field; 

set both the node's children to NIL; 

return the node. 



Figure 6: Algorithms for writing and reading the code tree to a file. 



Algorithm readBit returns a bit (1 or 0). To initialize a file for reading, 


set curBit to 7. At end of file, readBit will keep returning the last bit of the file. 


If curBit = 7, 


If not end of file, 


read a byte from the file and put it in curByte; 


set curBit to 0. 


Otherwise, increment curBit. 


In both cases, return the value of the curBit'th bit of curByte. 


Algorithm writeBit takes a bit as argument. To initialize a file for 


writing, set curBit to 0. 


Set the curBit'th bit of curByte to the bit given as argument; 


If curBit = 7, 


write curByte to the file; 


set curBit to 0. 


Otherwise, 


increment curBit. 



Figure 7: Algorithms for bit-oriented I/O. The routines assume bits numbered from 
to 1 . A file can be opened for reading or writing, but not both at once. Both routines 
use the global variables curBit and curByte. The expression "the curBit'th bit of 
curByte" means the bit of curByte whose number is the current value of curBit. 



I will describe the encoding and de- 
coding programs. The encoding pro- 
gram begins by reading the input file 
and constructing the frequency table, 
which is just an array of integers in- 
dexed by character. It also notes the 
length of the file, in characters. It then 
passes the frequency table to the 
Huffman algorithm, which constructs 
the code tree. The program then 
opens the output file, outputs the 
number of characters in the input file 
(as a 16-bit number) and the Huffman 
code tree (whose output format I 
described above), and proceeds to re- 
read the input file and encode it. A 
character is encoded by looking it up 
in the index to the Huffman tree, 
which provides a pointer to the leaf 
containing the character. The parent 
links are then traced until the root of 
the tree is reached, then the path is 
retraced from top to bottom with the 
appropriate bits being output: for 
left branches, I for right. 

The decoding program begins by 
reading in the number of characters 
and the code tree from the file to be 
decoded. It then sets a pointer to 
point to the root of the code tree and 
reads a bit from the file. If the bit is 
a I, it takes the right branch of the 
tree; if a 0, the left. The program reads 
bits and traverses the tree until a leaf 
is reached, then outputs the character 
at that leaf. It then starts again at the 
top of the tree to decode the next 
character. It decodes as many charac- 
ters as indicated by the number 
stored at the beginning of the file. 

The encoding and decoding pro- 
grams consist of five modules: one 
encapsulates all the procedures 
directly related to the Huffman algo- 
rithm, two others provide CharStream 
and BitStream data types for perform- 
ing character- and bit-oriented I/O. 
and the remaining two are the main 
modules for the two programs. Sepa- 
rating the Huffman algorithm and the 
I/O procedures into separate modules 
makes it possible to use them for 
other programs without having to 
copy, edit, or recompile code. | Editor's 
note: The Modula-2 source code for the en- 
coding and decoding programs is available on 
BYTEnet Listings at (617) 861-9764. These 
programs are also available on disk. See page 
469 for details] m 



108 BYTE • MAY 1986 



Finally you can get a complete CAD package 
at a reasonable price! For only $299, ProDesign 
II provides the advanced features you get on 
CAD systems costing thousands of dollars. But 
there is another, very important reason you 
should get ProDesign II. ProDesign D is very 
unique among CAD packages. It is easy to learn 
and use. When we call ProDesign II "The Easy 
to Use CAD System", we're not joking. You will 
be productive with ProDesign II in an hour or 
two instead of a week or two. 

What else does ProDesign II offer? Compatibil- 
ity. Compatibility with over 100 printers. 
Compatibility with over 50 plotters. Compati- 
bility with most graphics adapters, digitizing 
tablets, and mice. Compatibility with most 
display adapters. Compatibility with any soft- 
ware that can produce HP plotter commands. 
Compatibility with mainframe CAD systems 
(IGES). All at no extra charge! 

What additional hardware do you need? None! 
An IBM PC compatible and 51 2K RAM is all you 



$299! 



need. ProDesign II produces high resolution 
drawings on your dot matrix printer — better 
than .005" resolution on an IBM/Epson com- 
patible printer. In fact, the drawings on this 
page were printed on a $299 dot matrix 
printer! You don't have to get a mouse or 
digitizing tablet ProDesign II is designed for 
easy and efficient keyboard use. You won't even 
need a math coprocessor, although it is 
supported. From a small drawing on a dot 
matrix printer to an E-Size drawing on a large 
plotter, ProDesign II is the one to use! 

ProDesign II 

Affordable, Compatible, and Usable! 



Where can you get ProDesign II? 

See your local computer dealer, or contact 

American Small Business Computers 

118 South Mill 
Pryor, OK 74361 

(91 8) 825-4844 Inquiry 20 




PRODESIGN II 

ANYBODY CAN DO IT! 



DRAWN USING PRODESIGN II 

THE EASY TO USE CAD SYSTEM 

ONLY $299! 



en 




THIS DRAWING WAS PRINTED ON AN ORDINARY 

EPSON/ IBM COMPATIBLE DOT MATRIX PRINTER. 

MDRE THAN 4 MILLION DOTS PER PAGE! 




SR-71 

BLACKBIRD 



WORLD'S FASTEST JET 



3500+ MILES PER HOUR 



LOTUS 1- 






WHY THEY'RE ALII*. 

For starters, the Farsight Spread- 
sheet works like a clone copy of Lotus 
version 1A, the one over a million people 
already use. [f you're among them, you 
already know Farsight: all the com- 
mands, formats, all the keyboard- and 
menu-driven macros. 

You don't have to re-learn a thing. 
Your existing 1-2-3 files, macros and 
templates will never know the dif- 
ference, either-so your investment in 
1-2-3 data and procedures is secure. 
But Lotus itself wants you to surrender 
your copy of 1A and spend $ 150 on a 
new release that requires a lot of re- 
training. Thanks, but no thanks. 

Compare: the Farsight Spreadsheet 
is fully supported by the people who 
created it. And Farsight gives you 
some amazing high-voltage features 
to work with. 



IBM is a registered trademark of International Business 
Machines Corporation. 1-2-3 is a registered trademark 
of Lotus Development Corporation. 

Hardware requirements: IBM PC family or 100% com- 
patible, dual-floppy or hard disk, PC-DOS 2.0 or higher. 



I 1 

YES, rush me copies of Farsight, non-copy 

protected and money-back guaranteed for 30 days. 
Enclosed is $99.95 plus $7.00 shipping and 
handling per copy. In Texas, add $6.13 sales tax. 
U.S. prices only. 

□ Check □ Money Order 

DAMEX DVISA □ MASTERCARD 

Credit Card # 

Expiration Date 

Signature 

Name 



please print 

Shipping Address . 



City 

State/Zip 

DayPhone 

International orders add $30 shipping/handling. If 
paying by check or draft, must be in U.S. dollars 
drawn on a U.S. bank 

INTERFACE TECHNOLOGIES CORPORATION 
3336 Richmond, Suite 200, Houston, TX 77098 
(713) 523-8422 



L 



J 




A bright new look at Lotus. 

from Interface Technologies Corp. 
3336 Richmond, Suite 200, Houston, TX 77098 

1-800-922-9049 

(In Texas, call 7131523-8422) Telex: 322127 
In Europe, call ITC in Switzerland at (01) 700-3037 



WHY THEY'RE DIFFERENT. 

Farsight frees you from the hassles 
of copy protection. It costs $99.95, 
which isn't cheap: rather, at $495 Lotus 
and others are almost criminally over- 
priced. $99.95 is exactly what high qual- 
ity, feature-loaded software should cost. 

Features! Farsight gives you pop- 
down menus. And multiple windows: 
now you can work on two spreadsheets 
at the same time-and handle your 
disk file management chores and 
word processing without leaving the 
spreadsheet. 

Farsight Word is included at no extra 
cost. This professional word processor 
gives you proportional spacing, search 
and replace, decimal tabs, multiple 
typestyles and lots of other convenience 
features found in the most expensive 
word processors. 

Everything's integrated, too: use 
Farsight windows to "paste" spread- 
sheet results directly into your letters 
and reports. 

One other thing: you get a 30-day 
money back guarantee. So you can't 
lose. Order Farsight; do it now. You'll 
get everything you love about Lotus. 
And that's just for starters. 

ONIY $99.95 



110 BYTE • MAY 1986 



by Ryn C. Corbeil and Anne H. Anderson 

Modula-2 
As a Systems 
Programming 
Language 




The process is the key 
to synchronization 



Modula-2 is a powerful 
systems programming 
language used to de- 
velop operating sys- 
tems. Although it is similar to its 
ancestor Pascal (both were developed 



ILLUSTRATED BY MARY ANN SMITH 



by Niklaus Wirth), the design goals for 
each were quite different. Niklaus 
Wirth designed Pascal as a teaching 
language that emphasized structured 
programming concepts and portabili- 
ty. In Modula-2 he has transformed 
and extended Pascal into a language 
designed for systems programming as 
well as for general use. For example, 
Modula-2 includes constructs for pro- 
gramming with machine-level bits and 
addresses and for creating processes 
and switching between them. And you 
can compile different parts of a pro- 
gram separately thus making it easier 
to manage large-scale programming 
projects. These features are defined 
in Modula-2 itself, rather than in ex- 
tensions, making program portability 
a realistic goal. 

To illustrate the attributes of 
Modula-2, this article describes our 
experiences in implementing Hermes, 
a real-time multiprocessing operating 
system that was produced on the 
Lilith personal computer (see refer- 

[continued) 

Ryn C. Corbeil (Penultimate Systems \nc, 
9968 Hibert SL Suite 200, San Diego, CA 
92 1 3 1) was a project systems programmer at 
Burroughs Corporation on the Hermes proj- 
ect. He has a B.S. in computer science from 
California Polytechnic State University at San 
Luis Obispo. 

Anne H. Anderson (3015 8 th St., 
Boulder, CO 80302) was also a project sys- 
tems programmer on the Hermes project. She 
has a B.A. in sociology/anthropology from 
Swarthmore College and an M.S. in computer 
science from San Diego State University. 

MAY 1986 'BYTE 111 



MODULA-2 



ence 1) in a relatively short period of 
time using very little assembly lan- 
guage. It is a successor to the Thoth 
operating system (see reference 2). 
Modula-2 aided in this development 
in several key areas: memory manage- 
ment, multiprocessing, message pass- 
ing, device handling, and software 
engineering. Most of the resulting 
operating system is portable to other 
machines; those parts that aren't por- 
table are largely isolated in separate- 
ly compiled modules. Let's look at the 
main areas in which Modula-2 helped 
us in our development task. 

Memory Management 

The basic requirement for managing 
memory is the ability to manipulate 
machine addresses by referring to 
them and performing arithmetic oper- 
ations on them. Unlike most high-level 
languages, Modula-2 defines address- 
manipulation operations as part of 
the language itself. It defines several 
abstract types and functions for this 
purpose and specifies the relation- 
ships between them. The actual im- 
plementation of these types and func- 
tions can vary from machine to ma- 
chine as long as the basic definitions 
and relationships are preserved. 

Modula-2 contains the following ad- 
dress-manipulation types: 

WORD an individually ac- 

cessible unit of 
storage 

ADDRESS a pointer to a 

WORD 

POINTER TO t a pointer to a vari- 
able of type t 

On a 16-bit machine, a WORD can be 
16 bits long. Likewise, on a 32-bit ma- 
chine, it can have a length of 32 bits. 



The types ADDRESS and POINTER 
vary accordingly to maintain compati- 
bility with the definition of a WORD. 
Modula-2 also defines certain com- 
patible address-manipulation func- 
tions. 



ADR(v) 


returns the AD- 




DRESS of variable 


SIZE(i/) 


V 

returns the size of 




variable v in 




WORDs 


TSIZE(f) 


returns the size of 




a variable of type t 




in WORDs 



You can manipulate POINTERS with 
normal arithmetic operations. For ex- 
ample, if p is a variable of type AD- 
DRESS, the following statement sets 
p to the machine address immediate- 
ly following variable v\ 

p: = ADR(v) + SIZE(v); 

This statement has the same result on 
any machine regardless of WORD 
length, because it depends only on 
the basic relationship between AD- 
DRESS and SIZE as defined by 
Modula-2. 

For an example of Modula-2 's mem- 
ory management, let's keep track of 
memory blocks with a record called 
a MemoryDescriptor defined as: 

TYPE 
MemoryDescriptor = RECORD 
link: ADDRESS; 
size: CARDINAL 
END; 

The link field of a MemoryDescriptor 
contains the machine address of the 
next memory block. The size field 
provides the length of the current 
block. Figure 1 illustrates a chain of 















>NIL 




link 


link 


link 






size (4) 


size (1) 


size (3) 



























such blocks. Each begins with its own 
MemoryDescriptor record. 

If you want to get a memory block 
of size n, you programmatically follow 
the link fields until you find one that's 
big enough. An ADDRESS-type vari- 
able called current contains the ad- 
dress of the proper MemoryDescrip- 
tor. However, the address you want is 
that of the H-word block following the 
MemoryDescriptor, not the address 
of the MemoryDescriptor itself. The 
following Modula-2 statement gets it 
for you: 

RETURN (current + 
TSIZE(MemoryDescriptor)) 

Since TSIZE(Memory Descriptor) 
returns the length of a memory 
descriptor, you add that length to the 
value of current to get a pointer to the 
desired memory block. Figure 2 illus- 
trates the results. 

Another helpful memory-manage- 
ment feature is type coercion, which lets 
you look at one type of data area as 
if it were another type. For example, 
if / is an INTEGER variable and a is 
an ADDRESS variable, you can assign 
a to / with the statement /: = IN- 
TEGER^). Likewise, you can assign / 
to a with the statement a: = AD- 
DRESS^). These function-like types 
allow you to map variables of dif- 
ferent types onto the untyped storage 
of the machine. 

Modula-2 lacks a minor feature that 
would be useful. It has no definition 
for the size of a WORD in standard 
units, such as bits or bytes. To convert 
the output of the SIZE and TSIZE 
functions to bytes, you must define a 
conversion constant, for example, 
BytesPerWord, that you can change 

[continued] 



current 

returned value— 


- > 

— > 






link 




size (n) 









Figure I: A chain of memory blocks. Each block begins with a MemoryDescriptor 
record that points to the next block. 



Figure 2: The returned value is a 
pointer equal to the current pointer 
value plus the size of the 
MemoryDescriptor record. 



112 BYTE* MAY 1986 



Inquiry 336—* 




BETTER SONY THAN SORRY. 



The bomb's up. The system's down. Yo 

error because you made a very basichuman error. You didn't use 

Sony floppy disks. 

Next time, go with the industry standard, the company who 
invented the 3.5" disk drive system, and a floppy disk that comes 
100% certified error free. Sony 

Only Sony 3.5" micro floppy disks contain such error suppress- 
ing materials as patented Vivax™ magnetic particles and a high- 
molecular DDL™ binder system. This protects your micro floppy 
disk, and the information on it, for its lifetime; and assures data 
retrieval in the order you choose. Guaranteed. 

So use Sony 3.5"or 5. 25" floppy disks, and avoid disk error. If you 
use somebody else's, you could be sorry 



SONY. 

THE ONE AND ONLY® 



SONY 



5.25" M]£^ 



5.25' 



^^>! D 




ISONY 



© 1986 Sony Corporation of America. Sony is a registered trademark of the Sony Corporation. 

Vivax and DDL are trademarks of the Sony Corporation. The One and Only" is a registered trademark of Sony Corporation of America, 



MODULA-2 



depending on the WORD length of 
your machine. 

Multiple Processes 

It is helpful to be able to create and 
destroy processes as you wish (see 
the text box "A Process for Each Con- 
current Activity" below). With 
Modula-2 you can. Let's use a record 
called a ProcessDescriptor to de- 
scribe a process; this record contains 
a complete description of its status. 
The ProcessDescriptor includes all 
the information needed to execute 
the process or to restart it if inter- 
rupted. This record also holds sched- 
uling information, such as the process 
priority and process-management in- 
formation, for example, a pointer to 
a list of descendant processes created 
by the original one. 
The status information describing 



the execution of the process is ma- 
chine-dependent. Modula-2 derives 
this information from its NEVVPRO- 
CESS procedure 

NEWPROCESS(code, stack, 
stacksize, p); 

where code is the name of the pro- 
cedure to be executed, stack is the 
address of the memory block to be 
used for the process stack, and stack- 
size is the size of that stack block. 
When control is returned from the 
procedure NEWPROCESS. the vari- 
able p contains the initial machine- 
state description for the process. 
Modula-2 assigns this returned value 
p the type PROCESS. 

If you want to create a new process, 
you can call NEWPROCESS to obtain 
the machine-dependent description 
of the initial state of the process. You 



then add such information as process 
priority and pointers to various oper- 
ating-system lists. See figure 3 for an 
illustration of the resulting process 
description. 

To define a process, you have to 
specify the sequence of instructions 
that it will execute. To do this you can 
use the Modula-2 facility to pass a 
procedure name as a parameter. You 
pass a procedure name to NEWPRO- 
CESS. which sets up the PROCESS 
variable so that the first instruction 
the process executes is the first state- 
ment of this procedure. 

During execution when one process 
is suspended, you want another one 
to begin processing. The process 
chosen depends on which ones are 
ready to execute and on their relative 
priorities. Another Modula-2 intrinsic 

{continued) 



A Process for Each Concurrent Activity 



What is a multiprocessing oper- 
ating system? How is it different 
from a single-process operating system 
such as CP/M or MS-DOS? 

A process is the execution of a se- 
quence of instructions. In CP/M or MS- 
DOS only one sequence of instructions 
can be in execution at a time (with the 
exception of interrupt routines). This 
means that one program must com- 
plete execution before another pro- 
gram can begin. 

A multiprocessing operating system 
allows more than one sequence of in- 
structions to execute concurrently. 
Concurrently does not necessarily 
mean simultaneously; the execution of 
different sequences of instructions can 
be interleaved by switching the pro- 
cessor from one sequence to another. 
It is the job of the operating system to 
perform this switching. When more 
than one processor is available, dif- 
ferent processes can even execute si- 
multaneously. Even in a multiprocessor 
system, however, there are frequently 
more processes than processors, so 
the operating system must still make 
decisions about when to assign a pro- 
cessor to a particular process. 

Different types of multiprocessing 
operating systems use different algo- 
rithms for deciding which process to 
execute and for how long. A time-shar- 



ing operating system allows each pro- 
cess to execute in turn for a short, fixed 
period of time, possibly giving more or 
longer time slices to higher-priority 
processes. A real-time operating sys- 
tem typically assigns the processor to 
the highest-priority process that is 
ready to execute. A process retains 
control of the processor until the pro- 
cess runs out of work or a higher- 
priority process becomes ready. 

Regardless of the type of operating 
system you have, when a process is 
suspended, the operating system saves 
its status. It makes a record of all the 
information required to restart the pro- 
cess, including the address of the next 
instruction that the process should ex- 
ecute and the address of the top of the 
stack it is using. When the processor 
switches back to a suspended process, 
all the information saved is restored 
and the process continues from the 
point where it was interrupted. 

There are several advantages in using 
processes to build programs. First, 
each process can concentrate on a 
specific task. It can perform its task 
without being too concerned with what 
other processes might be doing at the 
same time. For example, consider a 
program made up of two processes, an 
input process that reads characters 
from the keyboard and stores them in 



a queue, and a command-execution 
process that removes characters from 
the queue, interprets them as com- 
mand names, and executes the re- 
quested command. The input process 
can store characters as they are typed 
regardless of whether the command- 
execution process is ready for a new 
command (at least until the queue is 
full). This allows you to type ahead, a 
feature that would be more com- 
plicated in a single-process program. 

Another advantage occurs when 
dealing with peripheral devices, espe- 
cially those that use interrupts. Device 
communication tends to be asyn- 
chronous with respect to the program 
executing: an interrupt does not con- 
veniently occur only when the execut- 
ing program is ready for one. In a multi- 
process system, whenever a device in- 
terrupt occurs, the currently executing 
process can be suspended. Control 
can then be transferred to another pro- 
cess that is responsible for handling 
the device. The input process is a good 
example of such a device handler. It 
gets control of the processor whenever 
you type a key. 

Finally, where multiple processors 
are available, a multiprocess program 
can take advantage of the additional 
processing power, usually making sig- 
nificant gains in execution speed. 



114 B YTE • MAY 1986 



MODULA-2 



function, TRANSFER, 
ability. TRANSFER 
follows: 



provides this 
is called as 



TRANSFER(currentprocess, 
nextprocess); 

where currentprocess and next- 
process are PROCESS variables 
originally initialized with NEWPRO- 
CESS. TRANSFER saves the current 
machine registers in the current- 
process variable. It then resets the 
machine registers using the values in 
nextprocess. TRANSFER causes the 
new process to begin executing at the 
point where it was last suspended. 

When a process completes or its 
resources are needed elsewhere, you 
can destroy it by reclaiming the 
memory allocated for the process 
stack and removing the Process- 
Descriptor from the descriptor list. 
You should also destroy any descen- 
dant processes that it may have 
created during its lifetime. 

Another process-related feature of 
Modula-2 is the treatment of priori- 
ties. Modula-2 lets you associate a 
priority with a kind of module called 
a monitor. Whenever a process starts 
executing a procedure in a monitor 
module, the process's priority is made 
equal to the monitor's priority. It 
keeps this priority until it completes 
the procedure; then its original priori- 
ty is restored. 

Message Passing 

In addition to multiple processes, 
Modula-2 also enables processes to 
communicate with each other. We call 
this ability message passing. Message 
passing is used to transfer information 
between processes and to synchro- 
nize those communications so that 
each is at a specific known point 
before the dialog proceeds (see the 
text box "Processes Can Pass Mes- 
sages to Synchronize at right). 

Message-passing procedures such 
as Send, Receive, and Reply must ac- 
commodate messages of varying 
length and type. To illustrate why, let's 
discuss a particular kind of process 
called a proprietor. A proprietor owns 
a resource and manages it as directed 
by user-process requests that vary de- 
pending on the proprietor. For exam- 

[continued) 



Processes Can Pass 
Messages to Synchronize 



Processes can synchronize and ex- 
change data using Send, Receive, 
and Reply procedures as illustrated in 
figure A. The process shown is sending 
a message to a receiving process. The 
sending process calls the Send pro- 
cedure and specifies the receiver's 
unique identifier and the message. The 
receiving process gets this message by 
calling the Receive procedure and 
specifying the sender's identifier. The 
receiving process later responds to the 
sender with a reply by calling the Reply 
procedure. 

If the sending process calls Send 
before the receiving process calls 
Receive, the operating system 



suspends the sending process. Like- 
wise, if the receiving process calls 
Receive before a message has been 
sent, the receiving process is sus- 
pended. When both Send and Receive 
have been called, the operating system 
resumes execution of the receiving 
process. The sender remains blocked 
until a reply message is returned by the 
receiver, at which time both processes 
are again eligible for execution. 

Typically, a process sends a message 
to another process requesting that 
some work be performed. The receiv- 
ing process performs the work and 
returns a reply message when the job 
is finished. 



Process 1 




Process 2 


Send(Process2,msg 1 reply) 


> > > > 

< 
< 
< 


Receive(Process1 , msg); 




< 


Reply(Process1, reply); 



Figure A: The communications interaction between two processes showing the 
relationship between the Send. Receive, and Reply procedures. 





ProcessDescriptor 










priority 




descendant 
pointer 


PROCESS 




PROCESS 


\ 
\ 
\ 


program counter 




other status 
information 


stack top 


stack limit 






\ 


\ 
\ 
\ 


other machine- 
status information 













Figure 3: A ProcessDescriptor including the machine-dependent PROCESS 
variable provided by Modula-2. 



MAY 1986 -BYTE 115 



MODULA-2 



pie, a keyboard proprietor would typi- 
cally receive requests from user pro- 
cesses asking for a single character (a 
keystroke read from the keyboard 
device). However, a disk proprietor 
would receive messages made up of 
complex file records from very dif- 
ferent user processes. Modula-2 
makes it very easy for the message- 
passing procedures to accept mes- 
sages of varying length and type. 



As an example, let's discuss the 
Send procedure 

PROCEDURE Send( Destination: 
Processld; 
MessageLength: CARDINAL; 
Message: ARRAY OF WORD; 
VAR ReplyLength: CARDINAL; 
VAR ReplyMessage: ARRAY OF 
WORD ): Status; 

The parameter Message is an exam- 



The Key to Unlocking 
Your Operating System 



Discovering MS-DOS'" 

Kate O'Day. A comprehensive study of MS-DOS com- 
mands; how to use MS-DOS to produce letters and 
documents; create names and manipulate files; use the 
keyboard and function keys to perform jobs faster; and 
direct, sort, and find data quickly. No. 22407, S 15.95 

MS-DOS® Bible 

Steven Simrin. The second in the Waite Group's MS-DOS 
series helps intermediate users create, edit and manage 
files, handle data, and customize the keyboard. Details 
the tree-structured directories, DOS filters, and DEBUG, 
LINK, and KDLIN commands. No. 22048, S 18.95 

MS-DOS® Developer's Guide 

Angermeyer and Jaeger. Explore this book's variety of 
topics, including assembly coding tips and higher-level 
language debuggers and aids, Written expressly for 
programmers who want to learn tricks for getting their 
software running in the MS-DOS environment. 
No. 22409, S24.95 

CP/M® Bible: The Authoritative 
Reference Guide to CP/M 

Waite and Angermeyer This detailed reference manual 
puts CP/M's commands and syntax at your fingertips, 
instant access to all CP/M keywords, commands, utilities, 
and conventions are found in this easy-to-use format. 
No. 22015, SI 9-95 

CP/M® Primer (2nd Edition) 

Waite and Murlha, This tutorial companion to the CP/M 
Hible Is for novices and advanced programmers alike. 
Includes the details of CP/M terminology, operation, 
capabilities, internal structure, plus a tear-out reference 
card with commands. 
No. 22170, SI 6.95 

Soul of CP/M®: How to Use the Hidden 
Power of Your CP/M System 

Waite and Lafore. This companion volume to CP/M 
Primer teaches you to use and modify CP/M's internal 
features, including how to modify UIOS and use CP/M 
system calls in your programs. No. 22030, S 19.95 

C Primer Plus 

Waite, Praia, and Martin. Provides a clear and complete 
introduction to the C programming language. Interfacing 
C with assembly language is included, as well as many 
sample programs usable with any standard C compiler. 
No. 22090, S22.95 

UNIX™ Primer Plus 

Waite, Martin, and Praia. For those who want to learn 
about the amazing UNIX operating system, this primer 
presents UNIX in a clear, simple, and easv-to-understand 
style. No. 22028, S 19.95 

UNIX™ SYSTEM V Primer 

Waite, Martin, and Praia. Shell scripts and shell program- 
ming are covered in detail, as is the SED stream editor. 

116 B YTE • MAY 1986 



UNIX filters, text cut and paste, and text formatting 
utilities of NROFF and TROFF are explained. 
No. 22404, SI 9.95 

Advanced UNIX*" — A Programmer's 

Guide Stephen Prata 

This advanced guidebook details the system's key 
components and programming mechanisms. Shows how 
to use simple and complex commands, including the 
Bourne Shell, shell scripts, loops, system calls, and 
more. No. 22403, S 2 1.95 

The UNIX™ Shell Programming 

Language Manis and Meyer 

Demonstrates how the powerful UNIX shell programming 
language is creating a revolution in programming. 
Emphasizes the Bourne shell, while including the C shell 
and the Korn shell as well. No. 22497, S24.95 

To order call 

800-428-SAMS 

In Indiana 
call 317-298-5566 

Ask For Operator 818 



SAMS. 



A Division of Macmillan, Inc. 



Shipping Handling 

AR. CA. H.. IN. NC. NY. Oil. TN. MTV 

ri'sidi'iits add local sales tax 
Dual 

Name- 



Company _ 
Address _ 



mi 


m 


mdi 


card 




VISA 


ak: 




\K 









































Signature (required) 



Check or money order enclosed Make checks payable to Howard M( 
Sams & Co. Mail this form with payment to: Howard W. Sams & Co 
Depi. Ml • (3(11) West fi'iidSlrcct • Indianapolis. IN ihlM 



pie of a Modula-2 open-array param- 
eter. Its upper and lower bounds are 
determined dynamically by the index 
range of the actual parameter. In ad- 
dition, because its type is ARRAY OF 
WORD, its corresponding actual 
parameter may be of any type. For ex- 
ample, a message of type Print- 
Message is sent by a process to re- 
quest service from the printer pro- 
prietor, while a MouseMessage type 
is sent to obtain mouse coordinates 
from its proprietor. Both of these mes- 
sage types are compatible with AR- 
RAY OF WORD. 

This is an important concept. The 
strong typing provided by Modula-2 
allows you to build data structures 
conveniently and correctly. But the 
language provides, in a controlled, 
well-defined way, the ability to convert 
from one type to another. You can 
manipulate complex structures and 
reduce them to simpler, more efficient 
forms. 

Another powerful component of 
the Modula-2 language is its case- 
variant record. It can be very useful 
in, for example, a clock proprietor. A 
clock proprietor could receive any 
one of four types of request: a delay 
request from a process that wishes to 
wait for a certain amount of time; a 
wake-up request from another pro- 
cess to prematurely awaken a sleep- 
ing process; a request for the time of 
day; or a request to set the clock with 
the correct time. If you enumerate 
the different clock requests, a case- 
variant record becomes quite ap- 
propriate for handling the various 
messages. 

Because message passing is such a 
flexible mechanism, it has a high 
potential for error. Modula-2 helps 
minimize this potential by means of 
consistency checks. For example, 
Sends parameter MessageLength 
specifies the size of the message in 
bytes. To verify that MessageLength 
is not larger than the actual maximum 
size of Message, you can use the 
Modula-2 standard function HIGH(x). 
This returns a number equal to the 
number of elements in the array x 
minus one. The Send procedure com- 
pares MessageLength to HIGH(Mes- 
sage) to ensure consistency: 

{continued) 



We have over 1000 Software 
and hardware items in stock. 
Shipments on almost all 
items within 24 hours! 



Call for programs 
not listed 



wAREHOUS 



DATA 
PRODUCTS 



FREE SOFTWARE! 
With over $100 purchase you 
will receive a free diskette for 
your IBM PC with label maker, 
checker game and banner 
programs. 



Technical & Other 
Info. (602) 246-2222 



TOLL-FREE ORDER LINE 1-800-421-3135 



SOFTWARE 

DATA BASE MANAGERS 

Clipper $345 

Clout 2 129 

Condor III .., 310 

Fox and Geller Quickcode 145 

Fox and Geller Quickreport 145 

Knowledgeman 225 

Knowledgeman II 299 

K Paint 60 

K Graph ;... 135 

K Text 105 

K Report 135 

Nutshell Call 

PFS: File 78 

RBase 5000 Call 

Think Tank . . 93 

Tim IV 169 

—WORD-PROCESSING 

Easy (Micro Pro) 89 

Leading Edge w/Merge/Spell 75 

Microsoft Word 2.01 229 

Multimate 3.31 205 

Multimate Advantage 255 

Oasis Word Plus 85 

Peachtext 5000 145 

PFS: Write 78 

Random House Spell Checker 36 

Samna III 3.0 265 

Volkswriter 3 Call 

Word Perfect 4.1 199 

Wordstar 170 

Word star Propac 238 

Wordstar 2000 238 

Wordstar 2000+ 285 

SPREADSHEETS 

Microsoft Multiplan 115 

PFS: Plan 78 

Supercalc III 2.1 Call 

Twin 79 

VP Planner 69 

ACCOUNTING 

BPI Accounts Payable 299 

BPI Account Receivable 299 

BPI General Accounting 299 

BPI Payroll 299 

Cyma Call 

Dollars and Sense 95 

Tobias Managing Your Money 94 



TCS. Big Four equivalent of Peachtree 
Series 4 - Specially augmented and cus- 
tomized for your IBM PC Terminal and 
Printer - GL. AR, PA, AP, CP/M-80, CP/M- 
86 for PC XT, DOS 1.1, 2.0. 
Each Module $65 For All Four $249 



INTEGRATED 

Enable Call 

Smart Software Call 

TRANSFER PROGRAMS 

Crosstal k XVI 89 

Hayes Smartcom II 88 

M icrosof t Access 1 49 

Move-It 79 

Remote 89 

GRAPHICS 

Chartmaster 206 

Dr. Halo II 99 

Energraphics w/o Plotter 170 

Energraphics w/Plotter 220 

Fancy Font 129 

Fontrix 99 

Freelance 1 99 

Graphwriter/Combo 310 

Microsoft Flight Simulator 30 

PC Paint Brush 62 



Printshop $36 

PFS Graph ' 78 

Sign master 135 



INCREDIBLE 




VALUE! 




Nationally advertised board 


s for 


IBM PC and most compatibl 


esat 


giveaway prices. 




1 year warranty 




Keyboards (similar to 5151) . . . 


.$89 


Monochrome Board 




w/Printer Port 


.$79 


Hercules Graphic Board Equivalent 


with Parallel Port 


.$95 


Expansion Board to 576K . . . 


.$42 


AST Six Pack Equivalent 




plus game port 


.$99 


Four Drive Floppy Controller . . 


.$45 


Color Card without printer porl 


$79 


Color Card with printer port . . 


. $89 


IBM PC CLONE 




256K, 2 drives 7 expansion s 


ots 


with Amber Monitor 


$850 



LANGUAGES — - 

Lattice G Compiler 3.0 Call 

Run C Professional )■:.,. 169 

Microsoft C Compiler 235 

Microsoft Fortran 209 

Microsoft Macro Assembler 89 

Microsoft Pascal Compiler 78 

Microsoft Quick Basic 59 

Multi Halo 140 

UTILITIES 

Copy II PC 19 

Copy II PC Board 79 

Copywright 45 

Desqview 59 

Fastback 95 

Norton Utilities 3.1 52 

PC Tools 19 

Prokey 4.0 75 

Superkey 35 

PROJECT MANAGEMENT 

Harvard Total Project Manager 269 

Microsoft Project 235 

Super Project Plus Call 

HARDWARE 

HARD DRIVES 

Bernoulli 20 MB '/a ht 2439 

Seagate 20 MB Internal w/Controller ... 499 

MODEMS 

Anchor Express 235 

Hayes 1200 Call 

Hayes 1 200B w/Software Call 

Hayes 2400 599 

U.S. Robotics Courier 2400 Call 

U.S. Robotics Password 1200 Call 

RAM 

64K 150NS Chips (Japan - Set of 9) . . 9.50 
256K Ram Chips (Set of 9) 27 

BOARDS 

AST Advantage 359 



HARDWARE 

AST Sixpack (384K) Call 

Hercules Color Card 145 

Hercules Graphics Card 299 

J RAM III Call 

J RAM III AT Call 

Paradise Five Pak 119 

Paradise Modular Graphics Card 249 

Quadram Board with Par/Ser 

and Game Port 199 

Quadcolor I 185 

Sigma Maximizer Multifunction 149 

STB Chauffeur Board 249 

STB EGA Plus 320 

STB Mono Board 155 

AB Parallel Print Switch w/cables 75 

Mini Micro Parallel Print Buffer 69 

IBM 120 Watt Power Supply 83 

COMPUTERS 

Corona PC Call 



Sperry PC Mono 256K Dual 
Serial Port, Clock, MS/DOS 2.11 



Drive 



$1650 



ITT Computers PC Compatible 256K 
Dual Drive, Mono, MS/DOS Call 



ITT XP 80286 IBM/PC Compatible, 512K, 
10 MB Winchester, 3 times faster than an 
XT. 30% faster than an AT Call 



Sharp Portable Call 

PRINTERS 



FASTI ALL NEW PRINT SELECT PROGRAM VERS. 2.0 
Written in assembly language for most 
MS-DOS computers. With purchase of any 
printer you will receive at no charge this 
menu driven program to set print charac- 
teristics or to make your computer func- 
tion as a correcting typewriter. Retail value 
$35. 



CITIZEN 

MSP-10 255 

MSP-15 355 

MSP-20 329 

Citizen 120D 169 

Premiere 35 Daisywheel 415 

EPSON - Call on all models 
JUKI 

Juki 6100 349 

Juki 6300 685 

NEC 

3550 785 

8850 1135 

P5 Parallel 995 

Elf 360 398 

OKIDATA - Call on all models 
PANASONIC 

1091 239 

1092 309 

1592 435 

KXP3151 410 

STAR MICRONICS - Call for prices 
TOSHIBA 

1340 460 

P351 975 

P341 799 

MONITORS 

AMDEK Call for price 

Taxan 1 21 Green Call 

Taxan 122 Amber Call 

Princeton Max 12 169 



TERMS: Add 3% for COD. orders. Shipping on most soft- 
ware is $5.00. AZ orders +6Vz% sales tax. Personal check- 
allow fourteen (14) days to clear. Prices are subject to 
change. We accept purchase orders from authorized 
companies. 



No Charge for MasterCard or Visa 



^ffij 


^B 




VISA 



TOLL-FREE ORDER LINE 1-800-421-3135 

WAREHOUSE DATA PRODUCTS 

2701 West Glendale Ave. • Phoenix, AZ 85051 



Hours 7 A.M. to 6:30 P.M. M.S.T.- Mon thru Fri. 
Saturday 9:00 A.M. to 4:00 P.M. 



MODULA-2 



IF MessageLength > 

H I G H (M essage) * By tesPerWord 
THEN Error 

END 

Modula-2 allows for this flexibility in 
message passing. 

Device Handling 

How do processes synchronize and 
communicate with peripheral devices 
such as touch screens, mice, voice 
recognition units (VRUs). and others? 
For example, if you give a computer 
a verbal command, the VRU goes to 
work independently and recognizes 
the command. The device must in- 
form a process of this event and pre- 
sent it with the recognized informa- 
tion. The waiting process is called an 
event handler and has the following 
cyclic structure: 

Initialize; 
LOOP 

AwaitEvent( VRUevent, 

VRUmessage ); 

Interpret VRUmessage ); 
END; 



The variable VRUmessage returns 
the recognized information, the con- 
fidence level of the recognition, and 
other useful status information from 
the VRU. Then this information must 
be interpreted. The tricky part of this 
sequence is detecting the external 
event— the interrupt from the VRU. In 
this case TRANSFER is evoked by an 
asynchronous interrupt. This par- 
ticular mechanism is machine-depen- 
dent and is not considered part of 
Modula-2. However, the following 
description illustrates an accepted 
technique for activating a device. You 
associate a process with each device 
(interrupt level) using NEWPROCESS 
and memory locations reserved by 
the computer for interrupt handling. 
When the VRU presents an interrupt, 
a spontaneous TRANSFER is made 
to its associated event-handler pro- 
cess that reads characters from the 
VRU and composes and sends VRU- 
message. When the interrupt-han- 
dling process completes, it TRANS- 
FERS back to the interrupted process. 
Figure 4 illustrates the various pro- 




Figure 4: Event handling. When a spoken command is given, the VRU recognizes the 
utterance and generates an interrupt that prompts a spontaneous TRANSFER to the 
process dedicated to handling VRU interrupts. The event-handler process reads from the 
device and composes a message, which it sends to the command-proprietor process. After 
receiving a reply from the command proprietor, the event handler waits for the next 
event. 



cesses involved in our simple 
example. 

Reading characters from a periph- 
eral device (like the VRU) brings up an 
important question. How does 
Modula-2, supposedly a machine-in- 
dependent language, provide access 
to machine-dependent characteristics 
like I/O? Strictly speaking, the lan- 
guage has no statements for input or 
output. However, it does allow the ex- 
pression of machine-specific opera- 
tions, such as the I/O for a particular 
device, and encourages us to collect 
such machine-specific operations in a 
separate module. This module makes 
available a machine-independent in- 
terface for device I/O and hides all the 
details. If you isolate these machine- 
specific details, it becomes easier to 
move the system to different com- 
puters. When you do move the sys- 
tem, you need to modify only the im- 
plementation part of the module, 
leaving the interface unchanged. 

Obtaining data from a device is one 
thing; deciphering it is another. 
Modula-2 helps you deal with the 
often cryptic data that devices pre- 
sent. A typical device packs a variety 
of status information into one word; 
each bit represents some condition. 
To unpack this information, you can 
use a Modula-2 standard type called 
BITSET. Each bit in a BITSET variable 
can be singled out and tested. For ex- 
ample, if you want to examine the 
sixth bit of the status from the VRU, 
first you declare a BITSET variable 
VRUstatus, then 

GET( VRUstatusAddress, 

VRUstatus ); 
IF 6 IN VRUstatus 
THEN . . . END 

Additional set operations include 
set union, difference, intersection, and 
symmetric difference. For example, if 
you are concerned only that the third 
bit of the VRU status is on and that 
the fifth bit is off, you can compare 
the intersection of two BITSETs with 
a third BITSET: 

IF VRUstatus* {3, 5} = {3} 
THEN . . . END 

You can also include and exclude in- 
dividual bits in sets as with thefollow- 

{continued) 



118 B YTE • MAY 1986 



"*A 



Princeton SR-1 2 and ^^ 



Sigma Designs Color 400 

"The Ultimate in Graphics 
Resolution and Performance! 







••^>. 



»» 



PC Products June 1985 



mm 



SR-1 2 and Color 400. A brilliant com- 
bination for super-high resolution 
graphics and a crisp character display. 

For a brighter, sharper 

display with your IBM __^_ i 

PC, XT, or AT, here's a 

team that can't be beat. 

The SR-12 super-high 

resolution RGB monitor 

from Princeton Graphic 

Systems and Color 400, 

the advanced color 

graphics adapter card 

from Sigma Designs. 

A Revolution in 
Resolution. Begin by 
snapping the Color 400 into 
your PC. Without any soft- 
ware modification, text suddenly 
becomes readable. Graphics turn 
sharper and cleaner. Jagged edges 
smooth out, and annoying flicker 
fades away. Color 400 
automatically doubles 
the number of lines on 
standard line software. 
It allows true high 

resolution display of 

Lotus 1-2-3 and Symphony 
. charts, graphics from Dr. Halo, 
Ji|jr%JWk CadPlan, Lumena400, and 
fl I i (I others. Also, create dazzling 

W^^M^^J business charts in 16 vibrant 
^^^ colors with Paintbrush 400, 
included with the card. Enjoy fully formed, 
monochrome quality characters in text mode. For 
word processing, spreadsheet, CAD/CAM, or pro- 





fessional design applications, Color 400 is the 
answer to your graphic needs. 

Turn on SR-12 for the impressive 

results. The SR-1 2 
^^^^^^^^ displays your Color 400 im- 
age with unmatched clarity 
and brilliant color. Because 
the SR-12 combines a 
.31 mm dot pitch tube and a 
non-glare screen with an 
incredible 640 x 400 non- 
interlaced resolution, you 
get a flickerless image 
that's as crisp and clean as 
a personal computer can 
produce. 



f 




See how impressive this state- 
of-the-art image can be on your own 
PC system. Visit your local retailer 
today and ask about this new color 
graphics team. Princeton Graphic 
Systems' SR-12 and Sigma Designs' 
Color 400. An unmatched, brilliant 
combination. 



Cotor 400 





C^fc SIGMA 
c^r DESIGNS 

SIGMA DKK3NS, INC., 2023 OToote Avenue, San Jose, CA 95131 
(408)94^9480 Telex: 171240 



PRINCETON 



G R A P H I 

AN INTELLIQEI 



C SYSTEMS 



AS COMRAIN 



Princeton Graphic Systems, 601 Ewing Street, Bldg. A, Princeton, N.J. 08540 
(609) 683-1660, Telex: 821402 PGS PRIN, (800) 221-1490 Ext. 2204 



Inquiry 290 



Graphic Screens courtesy Mouse Systems, Inc. and Forthright Systems, Inc. 

IBM PC, PC XT, and PC AT are registered trademarks of International Business Machines, Inc. 
AutoCAD is a registered trademark of AutoDesk Inc.VersaCADisa registered trademark of T and W Systems, Inc. 



MAY 1986 -BYTE 



1 19 



Inquiry 389 




DATA PRODUCTS CORPORATION 



WE'LL MEET 
OR BEAT ANY PRICE! 



HIGH PERFORMANCE 
IBM' COMPATIBLES 



Monitor Opthnal Til PRO YT 

SYSTEM 

675 

SYSTEM INCLUDES 

• 256K RAM expandable 
to 640K on board 

• 360K floppy drive 

• Serial port 

• Parallel port 

• Game port • 150W power supply •IBM style keyboard 

• IBM style metal case •Clock/Calendar • Complete Manual 
FULLY ASSEMBLED,. JUST PLUG IN, 1 YEAR WARRANTY! 




Illllilllllillll 



sm 



OPTIONAL WITH 20MB HARD DISK $1195 



30 DAY TRIAL! 

With credit towards the purchase o f IBM 1 P C at 
Wholesale Plus 7% if not completely satisfied! 



EXCEPTIONAL TECH SUPPORT! 



MEGA-AT SYSTEM (60286 CPU) 

$ 1990 

SYSTEM INCLUDES 

• 60286 CPU • 512K RAM expandable to 1.2MB on board 

• 1.2 MB Floppy Drive • Combined Floppy Hard Disk 
Controller • AT Keyboard • 200W Power Supply 

• Serial Port • Parallel Port • Clock/Calendar 

• Battery backup on board • Complete Instruction Manual 



LARGEST SELECTION OF OEM/SELF- 
ASSEMBLY BOARDS, BUILD YOUR OWN XT 



• 256/640K on Board. 8088 CPU 
(samedimensionaslBM 1 ) $159 

• Graphics compatible Monochrome 

Card with printer port $115 

• Color Graphics Card. 

640x200 $ 95 

• Multi Disk I/O Card, handles 4 dr serial. 

parallel. game ports, clock/calendar $115 

• 512K RAM 

card-ok ...$ 55 

• 384K Multifunction Card with serial, parallel, 
gameadpt.. ramdisk. spooler, clock/cal $115 

• IBM 1 Style 

Keyboard $ 70 

• 135W switching 

PowerSupply $ B5 

• IBM 1 Style case, sliding 

withfliptop $ 45 

• 360K TEAC 

Floppy Drives $ 98 

Price Quotes For Domestic Dealers by Written Request Only! 

10,000 IBM® PC SOFTWARE, 
WHOLESALE PRICE PLUS 7% 



INTERNATIONAL DEALERS WELCOME 
WE ARE SINGLE SOURCE EXPORTERS! 

LOW PRICES ON PRINTERS, NEC. EPSON, CITOH, OKIDATA 



TELEX 510 601 0960 
24 HOUR QUOTE RESPONSE, CORPORATE 
ACCOUNTS & OEM DEALERS WELCOME! 



PHONE 201-288-8629 



VISA • MASTERCARD • CHECK 

PRICES SUBJECT TO CHANGE WITHOUT NOTICE 



MODULA-2 



DATA PRODUCTS CORPORATION 
3/7 Rt. 17, Hasbrouck Heights, N J 07604. USA 



ing statements: 

INCL(VRUstatus, 1); 
EXCL(VRUstatus, 7); 

where you set the first bit in VRU- 
status and reset the seventh bit. 

Software Engineering 
Issues 

Building an operating system is not a 
trivial effort. The module concept is 
very important in managing the com- 
plexity of development. First you 
define and categorize the various 
functions into separate modules. Then 
you build and test the modules, dis- 
tributing the effort among several 
people. Modula-2's modular compila- 
tion facility is helpful in writing and 
compiling the individual modules. You 
can reduce the complexity of the task 
by breaking the programming down 
into smaller and smaller modules and 
by sharing modules that satisfy a 
common need. You can build 
modules in parallel once you define 
the interfaces between them. An in- 
terface can be defined using 
Modula-2's DEFINITION MODULE 
construct. A DEFINITION MODULE 
specifies data and procedures that 
are available for use by other 
modules. It provides the name and 
argument list for procedures, leaving 
the actual algorithmic details to be 
specified in a companion IMPLE- 
MENTATION MODULE. 

Our Experiences 

Our experiences using Modula-2 in 
memory management were quite 
favorable. We were able to write all 
the Hermes memory-management 
functions without having to resort to 
assembly language. Most of these 
functions are portable to any other 
machine having a Modula-2 compiler 
because the functions depend only 
on the basic characteristics of the 
language's address-manipulation fea- 
tures. 

Modula-2 also provides standard 
functions that hide the machine- 
dependent aspects of a process. We 
were able to save development time 
by concentrating on high-level issues 
such as process scheduling, rather 
than on such details as saving ma- 
chine status. And we are confident 



that our implementation of processes 
is largely portable: Any Modula-2 
compiler for another machine will 
provide an appropriate implementa- 
tion of the PROCESS variable and 
the NEWPROCESS and TRANSFER 
functions. 

The parameters of our message- 
passing procedures provide for 
variable-length, variable-format 
messages. The length and format are 
defined by the sender and checked 
for consistency by the operating 
system. This flexibility is made pos- 
sible by Modula-2. 

Modula-2 helped Hermes extend 
the concept of process synchroniza- 
tion to synchronization between inter- 
nal processes and external devices. It 
allowed us to map the asynchronous 
behavior of devices onto the more 
general multiprocess model. It also 
helped in establishing consistent in- 
terfaces to a world of ever-changing 
peripherals. 

We found Modula-2 to be a very 
powerful and appropriate language 
for writing Hermes. It provides the 
features that are essential for memory 
management, process manipulation, 
and message passing. The fact that 
three programmers were able to build 
Hermes in six months attests to 
Modula-2's expediency. In addition, it 
continues to aid in the system's main- 
tenance. From our experience, we feel 
that Modula-2 has what it takes to 
build an operating system. ■ 

REFERENCES 

1. Wirth. N. "The Personal Computer 
Lilith." Institut fur Informatik, 
Eidgenossische Ifechnische Hochschule 
(ETH), Zurich. Switzerland. April 1981. 

2. Cheriton. D., M. Malcolm. L. Melen. G. 
Sager. "Thoth: A Portable RealTime 
Operating System," Communications of the 
ACM, vol. 22, no. 2. February 1979. page 

105. 



BIBLIOGRAPHY 

Anderson, A. Hermes: A Message-Passing 
Operating System for Realtime Applications. 
San Diego Research Center, Burroughs 
Corp.. San Diego. CA. August 1983. 
Hirschy, E. "Hermes: An Operating Sys- 
tem for a Modula-2 Environment." Proceed- 
ings of the ACM Conference on Personal and 
Small Computers, vol. 6, no. 2, December 
1983. 



120 BYTE • MAY 1986 



QNX 




What do QNX and UNIX have to do with 
architectural design? 

The design determines the environment in which you 
and your applications must survive. If the shear weight 
of the UNIX operating system brings the PC to its knees, 
all applications running under it will suffer. Unix was 
conceived more than a decade and a half ago and the 
product today is the result of modifications, additions 
and patches by hundreds of programmers. The result is a 
large and convoluted piece of software which needs the 
resources of an AT or more. 

QNX's superb performance and compact size is the result of 
one dedicated design team with a common purpose, and 
complete understanding of both the software and the 
environment in which it must run. It runs quickly and 
efficiently on PC's and soars on an AT. Unlike Unix, QNX is 
capable of real time performance and is the undisputed 
choice for real time process control, and office systems. You 
can buy an OS that offers you a 1 to 3 user dead end on 
an AT, OR, you can consider QNX which allows you 
anywhere from 1 to 10 users on both PC's and AT's. And 
we don't stop there. Unlike other Unix-type systems for 
PC's, QNX is also a networked operating system. Not a 
patch-on network, but a fully integrated networking system 
for up to 255 micros. QNX allows you to start with a 
single machine and grow if and as required. There are no 
dedicated file servers and you can attach terminals (users) 
to any machine. To choose a solution which ignores 
networking, is closing the door on your future. 

Everyone is talking about Unix like systems, but no one 
wants to abandon the tremendous amount of DOS 
software available. QNX does not force you to make that 
decision. You can run either PC DOS 2. 1 or 3. 1 ™ as one of 
QNX's many tasks. (DOS File compatibility and DOS 
development tools are also available). Don't misunderstand 
us. We at Quantum have a great deal of respect for Unix. It 
was a major force in moving operating systems out of the 
1960's and into the 70's. QNX however, was designed in 



the 80's and will be a driving force of the 1 990's. Over 
20,000 systems have been sold since 1982. 

Quantum strongly believes that there are good reasons for 
buying QNX, DOS and Unix. If you want more than DOS 
and a working alternative to PC Unix, give us a call and we 
will discuss your needs. 

End-Users, VAR's, OEM's and software developers are 
invited to take the QNX challenge. 

-10 serial terminals per PC, AT. 

-40 tasks per PC, AT. 

-255 machines, 
-up to 10,000 tasks and 2000 
users/network. 
-2.5 Megabit token ring. 

-2800 task switches/sec (AT). 

-Intertask communication between 
any of 1000's of tasks on any 
machine. 

-88K to IIOKforQIMX. 

-Executes as a task under QNX. 

-Standard Kernighan and Ritchie. 

-Single machine or networked. 
One to thousands of users. Full 
resource sharing of disks and 
devices on all machines. 

-Online update system allows 
downloading of new releases 
over the phone. 

-Technical support hot line. 

-From US S450 

-Call for runtime prices. 

-IBM PC, XT, AT™ (both real 
& protected) and compatibles. 



• MULTI-USER: 

• MULTI-TASKING: 

• NETWORKING: 



• REAL TIME: 

• MESSAGE PASSING: 

• MEMORY: 

• PC DOS: 

• C Compiler: 

• Flexibility: 






• Support: 



• COST: 



• HARDWARE SUPPORT: 







TaEEHigZan^SEii lg El li i 

Moodie Drive HiTech Park 215 Stafford Rd. Ottawa, Ontario, Canada. K2H 9CI Phone (613) 726-1893 

IBM PC, AT. XT AND PC-DOS ARE REG. TM OF INTERNATIONAL BUSINESS MACHINES CORP. UNIX IS A REG. TM OF AT&T BELL LABS 

Inquiry 305 





The world's best selling monochrome 
graphics card for the IBM PC. 



There are more Hercules™ 
Graphics Cards in more IBM* 
PCs, XTs and ATs than any 
other monochrome graphics 
card in the world. 

Over a quarter of a million 
demanding users around the 
world use a Hercules Graphics 
Card to improve the perfor- 
mance of their software. 
The Lotus* 1-2-3* Booster. 

Consider Lotus 1-2-3. 
Hercules gives an off-the-shelf 

copy of 1-2-3 

WffrZWM the highest 
■! 3« resolution 
■bdLflJI • ; possible 

: - : - -'-■ - on an IBM 

PC, XT or AT. More 1-2-3 
users choose the Hercules 
Graphics Card to get crisper 
text and sharper graphics 
than any other monochrome 
graphics card. 

And we bring the same 
performance to other integrat- 
ed programs like Symphony 1 ," 
Framework 1 ,'' and SuperCalc*3. 

But we don't stop there. 
The Hercules Graphics Card 



improves all kinds of software. 

Like Microsoft* Word, a 
word processor that enables 
you to display text with sub- 
scripts, superscripts and italics 

Or pf s! Graph, an easy-to- 
use business graphics program 
that converts your data into 
presentation quality graphs. 

Or Microsoft* Flight Simu- 
lator, the high flying game for 
the overworked executive. 

Or our own Graph X T , M a 
library of graphics sub- 
routines that eases graphics 
programming. 

Or AutoCAD," a computer 
aided design program that 
offers features normally asso- 
ciated with expensive CAD 
systems. 

And we supply free soft- 
ware with each card 
to do hi-res graph- 
ics using the PC's 
BASIC interpreter. 
State-Of-The-Art Hardware. 

The Hercules Graphics 
Card gives you graphics res- 
olution of 720h x 348v and a 





parallel printer port. Our 
unique static RAM buffer pro- 
vides sharp 9 x 14 characters 
and flicker-free scrolling. Our 
exclusive safety features help 
prevent damage 
to your monitor. 
State-of-the-art 
custom IC technology 
delivers unsurpassed reli- 
ability. Ordinary graphics cards 
use up to 30 ICs to do what one 
Hercules IC does. By using 
fewer parts, we reduce the pos- 
sibility of component failure. 

Which is one reason we 
warranty the Hercules 
Graphics Card for two years. 

Unbeatable reliability. 
Advanced technology. Proven 
by over a quarter of a million 
users. Why settle for anything 
less than Hercules? 

Call 1-800-532-0600 Ext 408 
for the name of a Hercules 
dealer nearest you and we'll 
rush you our free info kit. 

Hercules. 

We're strong on graphics. 

Inquiry 157 



Address: 2550 Ninth St.. Berkeley. CA 94710 Ph: 415 540-6000 Telex: 754063. Trademarks/Owners: Hercules, Graph X/Hercules; 1-2-3, Symphony/Lotus; IBM, XT, 
AT/IBM; Framework/Ashton-Tate; SuperCalc/Sorcim-IUS; Microsoft/Microsoft; pfs:/Software Publ; AutoCAD/ AutoDesk. 
Limited time offer, subject to change without notice. 



by Chris Hankin, David Till, and Hugh Glaser 



Linking Data 
Flow and 
Functional 
Languages 



Exploiting the 



data-flow mechanism 
to gain execution speed 



Editor's note: This article was adapted from 
Principles of Functional Programming 
(© 1 984) by Chris Hankin, David Till and 
Hugh Glaser (pages 104-1 15) and used by 
permission of Prentice-Hall Inc., Englewood 
Cliffs, NJ. 




In recent years, language de- 
signers have turned away from 
imperative languages to func- 
tional languages to avoid the 
problems connected with the control 
of access to global resources and the 
lack of referential transparency In the 
field of computer architecture, data 
flow has emerged as a paradigm for 
multiprocessor machines providing a 
simple, way of making a number of 
processors cooperate on a single task. 
Linking data flow and functional lan- 
guages combines the advantages of 
functional programming and parallel 
execution. 

The salient feature of data flow is 
that instead of a centralized control 
unit and a program counter, opera- 
tions are selected for execution when 
their operands have been computed. 
Therefore, the flow of data between 
operations provides the sequencing 
control that would normally be pro- 
vided by the program counter in a 
conventional "control flow" machine. 
When several operators have all their 
operands ready, any or all of them can 
be performed in sequence or simul- 
taneously, giving rise to parallelism 
within data-flow systems. Operators 
can have no "side effects": They 

[continued] 
Chris Hankin (Department of Computing, 
Imperial College of Science and Technology, 
180 Queens Gate, Vondon SW7 2BZ, En- 
gland), David Till, and Hugh Glaser (Depart- 
ment of Computing, King's College, Strand, 
iDndon WC2, England) are lecturers in com- 
puting at U)ndon University. 



ILLUSTRATED BY ROB SAUNDERS 



MAY 1986 



1YTE 123 



LINKING DATA FLOW 



receive a number of inputs and pro- 
duce a number of outputs. There are 
no concepts of instruction sequenc- 
ing or global memory. | Editor's note: For 
further discussion of data flow, see "Apply- 
ing Data Flow in the Real World" by William 
Gerhard Paseman, May 1985 BYTE, page 
201, and "Using Data Flow for Application 
Development" by Wayne P. Steins, ]une 
1985, page 267. | 

Two different data-flow models, 
pipeline data flow and token data 
flow, have been investigated. In both 
models directed graphs represent 
data-flow programs. The nodes of a 
pipeline data-flow graph represent 
processes; the arcs represent chan- 
nels between processes. In this 
model, the arcs carry streams of data 
between processes. A substantial 
amount of work has been done on 
the formalization of pipeline data flow, 
and it has formed the semantic basis 
for some of the work on multipro- 
gramming using functional languages. 

All of the current data-flow architec- 
tures, however, are based on token 
data flow. In this model, the nodes are 
used to represent more primitive 



operations, and the arcs are the chan- 
nels that carry the operands and 
therefore represent the data de- 
pendencies between operators. Ap- 
proaches to token data flow differ in 
the rules that are used in the con- 
struction of programs. In this article 
we restrict our attention to acyclic 
graphs, partly because this makes the 
treatment more straightforward, but 
also because we feel that this ap- 
proach is more appropriate for the 
implementation of functional lan- 
guages. 

We can see some of the benefits of 
using data flow in the implementation 
of functional languages by consider- 
ing the following simple example in 
Hope (for an introduction to Hope, 
see "A Hope Tutorial" by Roger Bailey, 
August 1985 BYTE, page 23 5): 

dec sum_square : num # num -> 

num; 
sum_square(a, b) <= a * a + 

b * b; 

While this program does not specify 
any control information, it is clear that 
the plus operator requires the results 



w 






PRIMITIVE FUNCTION 



DUPLICATOR 



VALUE GENERATOR 



CONTROL f \ CONTROL fl F^ 



SWITCH 



MERGE 



Figure 1 : \n these diagrams of the basic operators, the data flow is directed down the 
page. Inputs to and outputs from a graph are shown as arcs that are connected to the 
graph only at one end. 



of the two multiplications and that 
these can be evaluated independent- 
ly. We could, for example, redefine the 
function in a formalism that highlights 
the data dependencies between oper- 
ators. This is'precisely what the data- 
flow notation does. 

In the next section, we describe a 
data-flow notation that can be used 
for the translation of functional pro- 
grams. We then go on to describe two 
algorithms for the execution of data- 
flow programs. Both of these mech- 
anisms support the full range of facil- 
ities found in functional languages. 

A Data-Flow Notation 

The notation we use consists of a set 
of five basic operator types, a func- 
tion application operator, and a nota- 
tion for function definition. Figure 1 
shows the basic operators. 

The graphs show all data dependen- 
cies explicitly. If two operators use the 
same value, they must both have an 
input arc that emanates from the 
same place. There is an explicit 
duplicate node that can be used to 

[continued) 




Figure 2: A possible graph for the 
defining expression of the Hope function: 
dec f : num -> num; — f(a) 
<= if P then A else B; where P, A, 
and B are arbitrary expressions referring 
only to a. 



124 BYTE • MAY 1986 




Honeywell synchronous 
VIP emulation and file 
transfer (FTF an option). 
Compatible with Topview. 
Honeywell VIP 
asynchronous emulation 
and file transfer. 
Compatible with Topview. 



ASYNCHRONOUS $399 
SYNCHRONOUS $499 

TO ORDER PHONE TOLL FREE 
1-800-826-7839 




GROUP INC. 

Rjvergate Plaza, 444 Brickell Ave 

Suite 902, Miami Florida 33131 

Telephone 305/372-9332, Telex 4947306 



Connections IBM PC— Honeywell mainframe 



DPS 4, 6, 7, 8, LEVEL 6, 66, ETC. 



LINKING DATA FLOW 



provide the appropriate number of 
copies of a value. The value generator 
is the operator used to insert literal 
values onto the graph at run time; 
literal values include the integers, 
Booleans, and other primitive types, 
as well as function names. The switch 
and merge operators are used to con- 
struct conditional computations. For 
an example, see figure 2. 



At run time the switch uses its con- 
trol input, which is a Boolean value, 
to select one of its output arcs to 
receive the input value. Similarly, the 
merge uses its control input to select 
a value from one of its input arcs. If 
the expressions of the conditional 
had used other values from the en- 
vironment (e.g., if there were other 
parameters to the function), then the 



L~J 




CZD 



Figure 3: The box defines the graph as a function. Note that the T output from the 
right switch is omitted because the value of b is not required when the condition is 
satisfied. Any application of prod will require two apply nodes. 



graph would require multiple switches 
and merges, all taking their control in- 
put from the P graph. 

You can define a graph as a func- 
tion by enclosing it in a "box." See 
figure 3 for an example of the graph 
of the product function 

dec prod : num # num - > num; 
— prod(a, b) < = 

if a > = b 

then a 

else a * prod(a + 1, b); 

The arcs entering the box represent 
the parameters of the function, and 
the arcs emanating from the box rep- 
resent the results of the function. The 
name of the function is in the bottom 
left corner of the box. An explicit 
apply node (see figure 4a) represents 
an application of a user-defined func- 
tion. Boxed graphs containing self-ref- 
erential apply nodes represent recur- 
sive function definitions. 
Assuming that you have a definition 

[continued) 



(a) 





(b) 





-H APPLY 



Figure 4: The apply node takes two 
inputs, a function name or closure and a 
parameter value. Function names can be 
written explicitly at the node or passed on 
an input arc as are function closures. As 
its result, the apply node produces a value 
or a function closure depending on 
whether the applied function was a first- 
order function or a higher-order function. 



126 BYTE • MAY 1986 




Doesn't your IBM PC deserve IBM service? 



You chose an IBM Personal Computer for 
lots of good reasons. And now that you depend 
on it to help keep your office running smoothly, 
doesn't it make sense to help protect your 
investment with blue chip service from IBM? 

No matter what IBM PC you have, blue 
chip service is more than just expert repair. 

Blue chip service offers the choice of ser- 
vice that's right for you at the price that's right 
for you. It means we'll exchange your monitor, 
for example, at your place or at any of our 
Service/Exchange Centers. 

And blue chip service means a lot of things 
you don't see. Quality. Speed. Commitment. 
And IBM experience. Every year IBM invests 
many hours of training to keep its service repre- 
sentatives current on technologies that never 
stand still. 



As an IBM customer you deserve blue chip 
service. It's the best thing you can do for your 
IBM Personal Computer. 

For more information, use the coupon or 
call 1 800 IBM-2468, Ext. 104, and ask 
for the Service/ Exchange 
Maintenance Department. 

Blue chip service from ==^= 7 = 



r~ 



IBM Direct 

Service/Exchange Maintenance Dept. 

One Culver Rd. 

Dayton, NJ 08810 

□ Please send me more information on IBM PC service. 

Name Title 



104-5-86 



Company_ 

Address 

City 



_Phone_ 



_State_ 



_Zip_ 



Inquiry 166 



MAY 1986 -BYTE 127 



LINKING DATA FLOW 





Figure 5 : What value does the first 
apply node produce? What function is 
supplied to the second? 



of "fac" the factorial function, you can 
use the apply node as in figure 4b. 
When a function has more than one 
parameter, as in figure 3, the situation 
is slightly more complex because the 
apply node has only one parameter 
input. 

In figure 5, two questions arise. 
What value is produced by the first 
apply node, and what function name 
is supplied to the second apply node? 

Both questions can be answered by 
a more careful consideration of func- 
tion names. In our notation, a function 
name is not just an identifier; it also 
contains information about the 
number of parameters that the func- 
tion requires and the values of any 
"fixed" parameters. Therefore, the first 
apply node in the diagram produces 
a new name with the same identifier 
as prod but with the additional infor- 
mation that the first parameter has 
been fixed at 2. We use the term closure 
to refer to such function names that 
contain fixed parameters. The answer 
to the second question is that we con- 





-M APPLY 



Figure 6: The name produced by the first apply corresponds to a single parameter 
function that produces the product of all values between 2 and the parameter value. 



nect the output of the first apply node 
to the name input of the second. 

When the name input of an apply 
node carries a function that requires 
only one further input, the node is 
conceptually replaced by a copy of 
the function. The copy executes using 
the parameter from the replaced 
node and the values that were fixed 
by preceding apply nodes. The pro- 
cess is much more powerful than the 
example suggests. For example, the 
name produced from an apply node 
need not be passed directly to the 
next apply but could be copied or 
transformed in some way first (see 
figure 6). 

As a final remark on our data-flow 
notation, we note that the apply node 
does allow multiple outputs. This 
allows us to translate Hope functions 
that produce more than one output. 
In this case, any "internal" apply node 
that produces a name will have a 
single output, and the final apply 
node will have the same number of 
outputs as are produced by the Hope 
function. 

Data-Flow Evaluation 
Mechanisms 

There are two approaches to the 
evaluation of data-flow programs. One 
is the classical data-driven approach, 
a call-by-value mechanism in which 
arguments are evaluated before they 
are passed to a function. The second 
is the demand-driven approach that 
provides lazy evaluation. For our pur- 
poses, the important aspects of lazy 
evaluation are that arguments are not 
evaluated until they are required, and 
if required, they are evaluated only 
once. We describe each mechanism at 
an abstract level within the context of 
the data-flow notation that we have 
presented. 

First, we define a data-driven mech- 
anism in which each data-flow instruc- 
tion consists of IDEN, an identifier; 
TYPE, a type that is one of the basic 
operators or apply; INPR, an input 
record that has a field for each input; 
and OUTL. an output list of instruc- 
tion identifier/input field name pairs. 

Each value produced from the ex- 
ecution of an instruction must be 
directed to a particular input arc of 

{continued) 



128 BYTE- MAY 1986 



Get the Picture with 

PHOT 





PHOTOBASE is a soft- 
ware package that works 
with data base manage- 
ment systems such as: 
dbase II*, R:Base 4000* 
and the IBM Filing 
Assistant*. 




Now you can open up a whole 
new dimension in data base 
applications by merging real-life 
color pictures with popular data 
base management systems. 
Pictures of people, products, 
diagrams, maps, company logos — 
whatever you want to photograph 
— can be integrated with your 
data base. Consider these typical 
applications: 

Security — verify those employees 
who have authorized clearance to 
limited access areas. A data base 
containing employee pictures and 
personnel records can be searched 
and displayed for visual verification. 

Real Estate — add pictures of 
houses to on-line real estate listings 
for faster property identification and 
improved sales presentations. 

Electronic Cataloging — pictures 
of products can be combined with a 
data base system containing 
product specifications, pricing, 
availability and much more. 

Medical Files — Existing data base 
systems containing patient histories 
can incorporate pictures of x-rays, 
cell slides and external body 
disorders. The ability to visually 
inspect previous medical problems 
of patients can greatly enhance the 
speed and accuracy of future 
diagnosis. 




Customers, distributors and sales 
personnel can quickly search data 
and view the resulting product/ 
picture information on one screen. 
Files can be updated easily, 
quickly. 



tin ft c 

nutans 





PC-EYE is a high speed, 
high resolution video 
digitizer board that lets 
you capture anything you 
can see. 




It's Easy 

With a simple keystroke, pop-out of 
your data base system and into the 
PHOTOBASE menu. Capture 
images of text, photos, artwork and 
3-dimensional objects with an 
ordinary video camera and our 
high resolution PC- EYE™ video 
digitizer. Pop back into your data 
base system and add the picture 
name to your data base like you 
would any other piece of 
information. The full functionality of 
the data base system is preserved, 
but the resulting display is text and 
picture information on one screen. 

Pictures are displayed in the upper 
right quadrant of the screen or at a 
full screen resolution of 320 x 200 
with 256 optimized colors. Screen 
display can alternate with text, 
images, or both simultaneously 
viewed. 

Call or write and we will send you 
information on PHOTOBASE, 
PC-EYE, compatible cameras and 
other imaging equipment in the 
Chorus Family of products. 
(603) 424-2900 or 
1-800-OCHORUS. 

TM PHOTOBASE and PC-EYE are trademarks of 
CHORUS Data Systems. 
*dBase II is a trademark of Ashfon-Tate; R-Base 
4000 is a trademark of Microrim, Inc.; IBM Filing 
Assistant is a trademark of International Business 
Machines Corporation. 



CHORUS 

CHORUS Data Systems, Inc., 6 Continental Blvd., P.O. Box 370, Merrimack, New Hampshire 03054 



LINKING DATA FLOW 




Figure 7: This is a program that returns the sign of its input, which arrives in the 
"left" input field of instruction 2. As we noted earlier, outputs emanate from a 
particular instruction but are not directed toward any instruction. This is represented in 
the code by an asterisk in the output list of an instruction. 



copy 



value : 
switch 



Listing I: A representation of the "execute the instruction" command within the 
major cycle of the data-driven execution mechanism. 



CASE type of instruction OF 

primitive : perform the operation using the inputs; 

FOR each instruction in the output list DO 

put the appropriate result in the specified input field 
ENDD, 
FOR each instruction in the output list DO 

put the value from the input record into the specified input field 
ENDD, 

put the value into the specified input field; 
IF the control input is TRUE 
THEN place the other input value in the specified input field of the first 

instruction in the output list 
ELSE place the other input value in the specified input field of the second 

instruction in the output list 
ENDF, 

IF the control input is TRUE 
THEN place the second (true) input value in the input field specified in 

the output list 
ELSE place the third (false) input value in the input field specified in the 

output list 
ENDF. 

IF the first input is a single parameter function 
THEN generate a copy of the function; 

place the second input value in the input record of the first instruction 
in the function 
ELSE IF the first input is a closure that requires a single parameter 
THEN generate a copy of the function; 

pass the second input and the closure values to the input 
records of the appropriate instructions; 
ELSE generate a new closure with the second input value 
ENDF 
ENDF 
ENDC; 
delete the instruction; 



merge 



apply 



some other instruction. Therefore, we 
need a way of uniquely identifying in- 
structions and a way of distinguishing 
between input arcs. We have used a 
record with named fields to represent 
the set of input arcs, and each instruc- 
tion has a unique identifier. Destina- 
tions for each of the results of an in- 
struction are specified in the output 
list that contains one instruction per 
input field pair for each output arc. 
The instruction type identifies the 
operation to be performed, which in 
the case of value generators and 
primitive functions must include infor- 
mation about which specific instance 
of the class is required. Figure 7 
shows an example of a data-flow pro- 
gram in this notation. 

The major cycle of the execution 
mechanism is 

FOR any instruction DO 
IF the instruction has all of its 

required inputs 
THEN execute the instruction 
ENDF 

ENDD 

Several different instances of this 
cycle may be active at any one time; 
each would operate asynchronously 
with the others. 

The meaning of "the instruction has 
all of its required inputs" will vary ac- 
cording to the type of the instruction 
under consideration, but it can be 
represented by the following expres- 
sion: 

the type is value 
OR the type is one of primitive, copy, 
switch, apply 
AND all fields in the input record 
contain values 
OR the type is merge 

AND the control input field and 
the appropriate other input 
field contain values 

A value operation always has its re- 
quired inputs. All other operations re- 
quire a complete set of inputs, with 
the exception of merge, which re- 
quires only its control input and the 
selected input. 

The most complex part of the cycle 
is "execute the instruction." which may 
be represented as in listing I. With the 
exception of apply, the execution 

(continued) 



130 BYTE • MAY 1986 



NOW CITIBANK 
DIRECT ACCESS 

MAKES IT 

THIS EASY 

TO MANAGE 

YOUR IRA. 



The only PC Banking Service to give you 

up-to-the-minute control of your IRA and 

brokerage investments. 

With Direct Access, managing your 
Citibank IRA and Citicorp Brokerage in- 
vestments is as easy as the touch of a button 
on your PC. You'll know instantly how 
much money you have invested and where it 
is. With Direct Access, you can invest your 
IRAs in CDs, Money Market Accounts, 
even earn potentially higher returns with a 
Citibank Portfolio IRA: stock and bond 
funds managed by Citicorp financial 
specialists. 

Direct Access gives you on-line control 
over your Citibank IRA and Citicorp 
Brokerage investments. Start funding your 
1986 Citibank IRA through Direct Access j 
now, and by moving your other IRA 
accounts to Citibank you'll have every- 
thing you need to know at your fingertips. 

Direct Access— the most versatile, 
complete PC banking service around. 

On-line control of your IRA and bro- 
kerage accounts is just the start of what 
Direct Access can do. With Direct Access 
and a Citibank checking account you can 
pay bills to anyone at the touch of a but- 
ton. You can transfer money between 
accounts, open new accounts and access 

Inquiry 66 





the resources of Dow Jones News/Retrieval.® 
You'll also get a Citicard so you can get cash 
at hundreds of Citicard Banking Centers. 
Direct Access is compatible with more 

than forty of the most pop- 
ular personal computers. 
And best of all, you 
can even download your 
banking transactions into 
programs like Lotus and Dollars and Sense 
in order to manage your finances without 
hours of manual input. 
Save $100 or $50 on a Hayes® Modem 
Get a terrific rebate on your choice of six 
Hayes Modems right now by signing up for 
Direct Access. And you get Direct Access 
free for the first two months— no risk, no 
obligation. Just call 1-800-633-3386, Ext. 
7004 for more information on all the fea- 
tures Direct Access offers you. And put con- 
trol of your financial life at your fingertips. 

its your cirr 

CITIBANK 

A CITICORP COMPANY 

©Citibank N A . 1986 Member FDIC 

Modem rebate offer expires June 30, 1986. Direct Access is a Service mark of 
Citicorp. Dow Jones/News Retrieval is a registered Service mark of Dow Jones & 
Co. Hayes is a registered trademark of Hayes Microcomputer Products, Inc. To 
get Direct Access you must open a Citibank checking account. The Portfolio 
I IRA is a fiduciary service offered under our Collective Investment Trust for 
| Citibank IRAs. Citicorp Brokerage is a division of Citicorp Financial Services, 
I Inc., members NASD/SIPC. All trades are cleared by arrangement with 
I Newbridge Securities Inc., a subsidiary ofCiticorp Financial Services, Inc. 
I • Citibank N.A. 1986 Member FDIC. 

MAY 1986 -BYTE 131 



LINKING DATA FLOW 



mechanism is straightforward. In the 
case of apply, it is necessary to 
distinguish between an application 
that is providing the last parameter to 
a function (closure), in which case a 
copy of the function is generated 
ready for execution, and the other 
cases where a new closure is pro- 
duced. The new copy of a function 
has to be "knitted into" the program 
by setting up the input records of ini- 
tial instructions with parameter values 
and ensuring that the function output 
instructions send their results to the 
correct destinations. This mechanism 
to "generate a copy of the function" 
is shown below: 

create a new copy of each instruction 
in the function, assigning unique 
identifiers and changing the 
output lists accordingly; 

FOR each output instruction in the 
function 

DO set the output list to the 
appropriate values from the 
output list of the apply operator 

ENDD; 



The program is acyclic; instructions 
are thus executed only once. After ex- 
ecution, each instruction is deleted. 
As an example of this process, we 
show how the sign program in figure 
7 would be executed when the input 
is 5 (see table 1). 

DEMAND-DRIVEN SYSTEMS 

In demand-driven systems, the 
presence of operands and a request 
for the result of an operation controls 
the computation. Effectively, a struc- 
ture is imposed on the program that 
carries requests in the reverse direc- 
tion to the flow of data. This require- 
ment is reflected in an extended 
definition of a data-flow instruction: 

A data-flow instruction consists of 

IDEN: an identifier 

TYPE: a type, which is one of the 

basic operators or apply 
SOUL: a source list, which is a list 

of instruction identifiers 
INPR: an input record, which has a 

field for each input 
OUTL: an output list, which is a list 



Table I; The execution of the sign program in figure 7 when the input is 5. Each 
snapshot in the trace results from executing all possible instructions. 

IDEN TYPE INPR OUTL 


Step 1: 

1 value/0 

2 > = 

3 value/1 

4 value/ - 1 

5 merge 


(2. right) 
(left:5, right) (5.control) 
(5.true) 
( ) (5.f alse) 
(control,true,false) (*) 


Step 2: 

2 > = 
5 merge 


(left:5,right:0) (5.control) 
(control,true:1,false:-1) (*) 


Step 3: 

5 merge 


(control:TRUE,true:1 .false: - 1) (•) 


Step 4: 

1 (The result to be output) 





Table 2: The demand-driven execution of the sign program in figure 7. 
IDEN vTYPE SOUL INPR OUTL 



value/0 








(2.right) 


> = 


(?.1) 


(left, right) 


(5.control) 


value/1 








(5.true) 


value/ -1 








(5.false) 


merge 


(2,3,4) 


(control,true,false) 


(*) 



of instruction identifier/input 
field name pairs 

The representation of the program is 
therefore slightly more complicated. 
The "sign" program is specified in 
table 2. The main execution cycle is 
also more complicated. Only instruc- 
tions whose results have been re- 
quested are executed and then only 
if the required operands have been 
computed. Otherwise, the request is 
propagated. 

Listing 2 defines the mechanism. 
Only the inputs that are needed by 
merge are requested. The control in- 
put is requested first, and then either 
the true input or the false input is re- 
quested, depending on the control 
value. The specifications for "the in- 
struction has all of its required inputs" 
and "execute the instruction" are the 
same as the data-driven version, with 
the exception of the apply operator. 
The apply operator requires only its 
left input, the function or closure 
name, and is executed as follows: 

apply : IF the first input is a single 
parameter function 
THEN generate a new 

copy of the function 
ELSE IF the first input is a 
closure that 
requires a single 
parameter 
THEN generate a 
new copy of the 
function 
ELSE generate a 
new closure 
remembering the 
■ identifier of the 
second instruction 
in the source list 
ENDF 
ENDF 

In this mechanism, a closure con- 
sists of the function name and a list 
of instruction identifiers that are the 
sources of its parameters. The param- 
eters may thus be requested, if re- 
quired, when the function is eval- 
uated. We define "generate a new 
copy of the function" as follows: 

create a new copy of each instruc- 

[continued) 



132 BYTE • MAY 1986 



PC 3780 

FILE TRANSFERS STAY 

ON THE TRACK 




File Transfer, RJE 

PC to PC 

PC to Any Mainframe 
(Using above Protocols) 

Unattended or Attended 
Auto Pilot, Remote Startup 

Call Using Interface with User 
Application Program, Basic, Cobol, 
Pascal, C, Etc. 

Uses Standard IBM Hardware 
(BSC Board) 

Changeable Translate 
Tables 



TO ORDER TOLL FREE 
1-800-826-7839 



Inquiry 353 




CROUI 
INC. 



305/372-9332 
Telex 4947306 



444 BRICKELL AVE., #902, 
MIAMI, FLORIDA 331 31 



Inquiry 383 



DO IT YOURSELF 

IBID XT/AT COMPATIBLE SVSTEMS 



Introducing XT64 Basic System 



• 640K Motherboard 

• 135 Watts Hard Disk 

Ready Power Supply 

• Color Graphic Card 

• One DS/DD Slim Drive 

• Floppy Disk Controller 

• Assembly Instruction 



LINKING DATA FLOW 




$699.00 



POWER SUPPLY, CASE 




135 Watts Hard Disk Ready 
Heavy Duty Power Supply . $75. 00 
Flip Top Metal Cabinet 
With Built In Speaker $45.00 



XT/AT KEYBOARD 




* Enlarge Return, Shift & Control Key & 
LED Indicators for Caps, Num Lock 
& Scroll Lock $650Q 



FLOPPY DISK DRIVE 



• Pop-Up Mechanism 

• Direct Drive Brushless 

Spindle Motor 

• High Speed Data Access 

• All Japanese Name Brand 




$85.00 



MOTHERBOARD 



• 640K Motherboard 
. IBM XT Fully 

Compatible 

• 8088 CPU W/8087 

Optional 
. 8 I/O Slots 

* W/O Memory Chip 

• W/Memory Chips . . 




$140.00 
$220.00 



MONITOR, ADD-ON CARDS 



* High Res. TTL Green/ Amber .$95.00 

* High Res. Color Monitor . . . $310.00 

* Disk I/O Card for 2 Disk Drives 
W/Serial, Parallel, Game Port 

& Clock $119.00 

* Color Graphic Card $89.00 

* Monochrome Graphic Card $119.00 

* Floppy Disk Controllers $39.00 

JM SYSTEM INC. 

1580 Industrial St., Los Angeles, CA 90021 
* IMMEDIATE DELIVERY * 

Please Call For Our Special Dealer Price 
Mail Orders Hot Line 

(213) 624-9986 

IBM XT/AT Are Registered Trademarks of 
International Business Machines Corp. 



Listing 2: The demand-driven mechanism. 

FOR any instruction whose output has been requested DO 
IF the instruction has all of its required inputs 
THEN execute the instruction 
ELSE CASE type of instruction OF 
primitive, copy,switch : 

send the request to all instructions in the source list, 
merge : IF control input is present 

THEN IF control value is true 

THEN send the request to the second instruction 

in the source list 
ELSE send the request to the third instruction in 

the source list 
ENDF 
ELSE send request to first instruction in source list 
ENDF, 
send the request to the first instruction in the source list 



apply 
ENDC 



ENDF 
ENDD 



tion in the function, assigning 
unique identifiers and chang- 
ing the source and output lists 
accordingly; 
FOR each input instruction in the 

function 
DO set up the source list 
ENDD; 

OR each output instruction in the 
function 
DO set the output list to 
the appropriate 
values from the out- 
put list of the apply 
operator; 
request the output if 
required 
ENDD 

This mechanism provides lazy 
evaluation (assuming a lazy construc- 
tor for lists) for two reasons. First, 
values are computed only when they 
are required; second, once a value 
has been computed, it will be avail- 
able to any later requests because 
copy sends its result to all instructions 
in its output list, even if they have not 
all requested the value. 

Concluding Remarks 

Currently a number of research proj- 
ects are directed toward the construc- 
tion of data-flow computers, but few 
of the projects that are now at an ad- 
vanced stage were begun with func- 
tional languages in mind. (For a survey 



of data-flow architectures, see "Data- 
Driven and Demand-Driven Computer 
Architecture" by P. C. Ifeleaven. D. R. 
Brownbridge, and R. P. Hopkins, ACM 
Computing Surveys, volume 14, number 
1, March 1982, and "A Survey of Pro- 
posed Architectures for the Execution 
of Functional Languages" by S. R. 
Vegdahl. IEEE Transactions on Computers, 
volume C-33, number 12. December 
1984.) With few exceptions, the link 
between data flow and functional lan- 
guages has not played a major role in 
these projects, as evidenced by the 
fact that none of the architectures 
have provided efficient support for 
higher-order functions. 

The aim was, and it often still is, to 
exploit the data-flow mechanism in 
order to gain execution speed either 
for conventional or data-flow lan- 
guages. Thus, we find that th.e model 
here described, designed to bear a 
close relationship with functional 
languages, is different from many of 
the other notations, particularly in its 
support of higher-order functions in 
a natural way. 

The traditional data-flow mechan- 
ism has begun to bear fruit in the field 
of high-speed computation, and the 
model we have described has poten- 
tial for the implementation of func- 
tional languages. It remains to be 
seen whether functional languages 
and data flow will form a useful 
partnership. ■ 



134 BYTE • MAY 1986 





A fresh breeze 
across the Pacific 

Now, only one airline can take you from all fifty states to thirteen cities 
across the wide Pacific. Now one airline handles everything. Your ticketing and 
seat assignments, boarding passes and baggage. 

And United offers you more nonstops to more business centers across the 
Pacific than any other airline. 

You'll enjoy United's famous Royal Pacific Service, too. It's the best of the 
friendly skies in First Class, Business Class, and Economy. And, of course, you'll 
be flying with a friend, every step of the 

way. United Airlines to the Far East ._. _. ^ 

and South Pacific. W~ T • ^^ Jj 

Call United or your Travel Agent. I ! #" *% % m^^fm 

You're not just flying I II 111 t^l 1 

you re flying thefrieridly~skies. ^^_ J M M M f_%^^p-| 



A NEW SOLUTION from Microcomputer Accessories, Inc. 



THE CASE OF 
THE DISAPPEARING CABLES 




Here's a puzzle for you, Watson! Look at 
this new MicroManager! 

Can't say I see anything out of the ordi- 
nary, Holmes. 

Think, Watson, not about what you see, but rather what you 
don't see. 

But, Holmes, everything seems perfectly in order. 

Precisely! When did you ever see a printer station that was perfectly 
in order, Watson? 

Zounds, Holmes! Some rascal has stolen the cables! 

So it seems, Watson, but observe carefully — there's more to this than 
meets the eye. The cables have been cleverly concealed right under 
our very noses! Notice how each cable disappears through a knock- 
outholeand enters a channel in therear of the device. Remove these 
vertical panels and — voila ! — we discover the cables passing from 



MJCROMAMAQER 



Holmes, you've solved the Case of the 
Disappearing Cables! 

Elementary, my dear Watson. But the 
MicroManager has solved an even deeper 
mystery— where to put the printer! See how this Basic Floor 
Unit is actually composed of individual sections— "modules" 
Americans call them. Consider the possibilities, Watson — single 
modules used as desktop printer or monitor stands, for keyboard 
storage, or what-have-you. Combined, they can form any sort of 
work station we need! The base has locking casters for instant 
mobility. There's even an optional paper refolding attachment! 
Cunning, isn't it? 

By Jove, Holmes, this new MicroManager is the most diabolically 
clever device we've ever encountered! 

Indeed, Watson. Thank 
Heaven its creators are 
on our side! 



level to level through secret compartments. 
USA: P.O. Box3725, Culver City, CA9023L Telephone 21 3/641-1800. EUROPE: Ruede Florence 37, 1050Bruxelles, Belgique Telephone 02/538.61.73- 



Microcomputer ^fc 
Accessories, Inc. ^|pP 



Inquiry 235 for End-Users. Inquiry 236 for DEALERS ONLY. 






25°. 



I] PRINTER 

CPU 



_ PAPER IN 



] PRINTER 

_ PAPER IN 
_ REFOLD 



3 PRINTER 

_CPU 
_ PAPER IN 
_ REFOLD 



30"_ 



□ 



_ MONITOR 



o 



o 



|*E 



.TILTWTURN 

.KEYBOARD 
DRAWER 

.PERIPHERALS 
_CPU 

_ STORAGE 






o 



o 



by Pete Orlin and John Heath 



EasyC 




Use Cs preprocessor 
to write more 
understandable code 



If you think you'd like to try C 
but are put off by the confus- 
ing notation and the unfriend- 
ly look of its code, take heart. 
It doesn't have to be that bad. If 
you're already using C and are tired 
of errors due to mistaken operators, 
improper nesting, or incorrect punc- 
tuation, you can eliminate these prob- 
lems, improve your productivity, and 
get on with the never-ending battle of 



dangling or NULL pointers. 

Because we have had bad experi- 
ences with other powerful but "com- 
pact" languages (most notably APL), 
we were also less than thrilled by our 
first exposure to C. However, its effi- 
cient object code, powerful branching 
and looping, easily implemented re- 
cursion, and the availability of an op- 
timizing compiler made it an attrac- 
tive language to use on a new soft- 
ware project. One catch was that the 
project was to be staffed by program- 
mers with a minimum of C experience 
who would probably find C difficult to 
learn. 

What's Wrong with C? 

What are the weak points of C in 
terms of quickly learning to write pro- 
grams with a minimum number of 
errors? Our answer to this question is 
highly subjective and reflects the 
definite biases we developed while 
learning and applying other lan- 
guages. However, in talking to other 
programmers using C. we found that 
many share the following objections: 

• Difficult operator notation. The use 
of &. &&. ~ . etc., to indicate operators 
is confusing to say the least. Memo- 
rizing them is one thing. Easily detect- 
ing their improper use in code is 
much more difficult. If you use this 
compact operator notation, you will 
have a small, efficient compiler. Un- 
fortunately, it can drive you up a wall 
in debugging subtle, typographical 
programming errors. 

• Context-dependent operators. This 

(continued) 
Pete Orlin and ]ohn Heath are software 
engineers. They can be reached at CAB Con- 
cepts, 125 Main St.. Suite F, Bay Saint 
Louis, MS 39520. 



ILLUSTRATED BY KENT SMITH 



MAY 1986 'BYTE 137 



EASY C 



feature of C (which has good and bad 
points) permits multiple operator 
definitions. The ampersand (&) can be 
the bitwise AND operator or the "ad- 
dress of" operator. It depends on 
where you use it and whether its use 
is unambiguous. Again, this feature 
results in a compiler that fits in a small 
computer but only at the cost of 
coding errors that can be difficult to 
track down. The fact that the majori- 
ty of C operators are context-depend- 
ent makes learning to use them dif- 
ficult and time-consuming. 
• Poorly structured code-block defini- 
tion. The standard C constructs (while, 
for. if. and switch) appear to be de- 
signed to be used on a single line, or 
at least over a small number of lines, 
and are terminated in the same man- 
ner as single-line C statements. If you 
want to expand the range of these 
statements, you can use braces ({ and 
}). The braces define the limits of 
blocks of code. Since a structured 
block usually extends over a large 
number of program statements, the 
problem is not in finding the begin- 
ning of a block but rather in unam- 
biguously locating its branches and 



the end of its span of control. With 
nested if statements in loops, the pos- 
sibilities for confusing those state- 
ments that have closing braces are 
endless. 

With these objections in mind, we 
developed a set of preprocessor 
statements (#define statements) to 
change the flavor of the language 
while retaining all its powerful fea- 
tures. We call our technique Easy C. 

User-Friendly Operators 

The first element of Easy C is a set of 
definitions that change the operator 
notation from the mystical to the ob- 
vious. They also help eliminate unin- 
tentional, context-dependent errors. 
Figure I lists the #define statements 
that implement this element of Easy 
C. Figure 2 gives three examples of 
their use. The arithmetic comparison 
operators (LE. GT. etc.) are consistent 
with many other languages, as are the 
logical operations (AND, OR, etc.). 
The bitwise operators (BAND. BOR. 
etc.) are not generally available, so the 
names were chosen arbitrarily. The 
INC and DEC operators are unique 



/* Logical operators */ 






#define AND 


&& 


/* 


logical AND 7 


#define OR 


II 


/* 


logical OR 7 


#define NOT 


I 


/* 


logical NOT 7 


#define EQ 


= = 


r 


equal value comparison */ 


#define NE 


! = 


r 


not equal value comparison */ 


#define LT 


< 


r 


less than value comparison 7 


#define LE 


< = 


r 


less than or equal to value comparison */ 


#define GT 


> 


r 


greater than value comparison */ 


#define GE 


> = 


r 


greater than or equal to comparison 7 


/* Bitwise operators */ 






#define BAND 


& 


r 


bitwise AND V 


#define BOR 


1 


r 


bitwise OR */ 


#define BXOR 


" 


r 


bitwise exclusive OR 7 


#define BNOT 


- 


r 


bitwise NOT 7 


#define LSHF 


<< 


r 


left shift 7 


#define RSHF 


> > 


r 


right shift */ 


/* Arithmetic operators 


7 




#define INC 


+ + 


/* 


increment 7 


#define DEC 





/* 


decrement 7 


#define MOD 


% 


r 


modulo division 7 



Figure I: The #define statements for the Easy C operators. The preprocessor 
replaces the uppercase Easy C operator with the lowercase C operator in a 
program. 



to C and are used to increment and 
decrement a variable. The MOD 
operator is used to perform modulo 
division (remaindering). In keeping 
with the customary C preprocessor 
conventions, these names are capital- 
ized. These names are replaced by 
the preprocessor with C keywords, 
symbols, and operators. 

The Easy C operators follow exact- 
ly the same rules as the C operators 
they replace. So if you're having trou- 
ble using one of them, the explana- 
tions you find in your favorite C text 
still apply. The only restriction you 
may encounter is with the prepro- 
cessor that your C compiler uses. The 
rules for the preprocessor are not well 
defined in Brian W. Kemighan and 
Dennis M. Ritchie's The C Programming 
language (Prentice-Hall, 1978). Hence, 
all preprocessors do not have to 
behave in exactly the same way when 
performing #define substitutions. To 
avoid possible difficulty in conjunc- 
tion with other #define items, put 
blanks on both sides of the operator. 

What do you gain by using Easy C? 
First, using it means no more chasing 
down bugs in compiled programs 
because you meant logical AND (&&). 
instead of bitwise AND (&) but either 
forgot to hit the & key twice or con- 
fused them. Second, if you now use 
&, you mean it to be the "address of" 
operator and not the bitwise AND. A 
significant advantage of this tech- 
nique is that you can debug Easy C 
by inspection prior to compilation 
with a much greater chance of detect- 
ing typographical and usage errors. 
The compiler does not catch the ma- 
jority of these errors. They must be 
tracked down and eliminated in a run- 
ning (or almost running) program. 

Branching and Looping 

Choosing Easy C's branching and 
looping formats was much more dif- 
ficult than defining simple operator- 
substitution names because these 
constructs are closely linked to style 
in programming. As with any question 
of style, subjectivity is the rule. In 
presenting these constructs, we 
realize that what we find pleasing and 
consistent, you may find stilted and 
arbitrary. However, a clear and consis- 
tent style is probably the best way to 



138 BYTE • MAY 1986 



EASY C 



Inquiry 303 



Example 1 : Checking a character to see if it is a letter (see Kernighan and Ritchie, 
page 127). If the character contained in "c" is greater than or equal to a lowercase 
"a" and is less than or equal to a lowercase "z," or is greater than or equal to an 
uppercase "a" and is less than or equal to an uppercase "z," then it is a letter. 



InC: 

if ((c > = 'a' && c < = 'z') || (c > = A' && c < 
return(LETTER); 



'Z')) 



In Easy C: 

if ((c GE *a' AND c LE 'z*) OR (c GE A' AND c LE l Z'J) 
return(LETTER); 

Example 2: Extracting n bits from a word starting at offset "p" (see Kernighan and 
Ritchie, page 45). Right-shift the bits into position, create a bit mask, and mask off 
the undesired bits. 

In C: 

return((x > > (p + 1 - n)) & -(- < < n)); 

In Easy C: 

return((x RSHF (p+ 1 -n)) BAND BNOT(BNOT LSHF n)); 

Example 3: Checking for a bit pattern in a word. If either bit 4 or 7 is set and bit 
is set, return a value of true. 

In C: 

if (((x & 16) || (x & 128)) && (x & 1)) 
return(TRUE); 

In Easy C: 

if (((x BAND 16) OR (x BAND 128)) AND (x BAND 1)) 
return(TRUE); 



Figure 2: Code fragment examples of the use of the Easy C operators. Note 
that the compactness of C is not lost and that even with a minimal knowledge of 
G the expressions are easily readable. 



lower your coding-error rate. It also 
improves your chances of quickly 
understanding the operation of code 
you haven't seen in several months. 
If you are working as part of a group, 
it becomes critical in sharing the 
maintenance of a program. 

We chose the constructs presented 
here with three objectives in mind. 
First, they had to improve the read- 
ability of C by clearly marking condi- 
tional code blocks and the span of 
control of conditional constructs. Sec- 
ond, they had to simplify the syntax 
of C to the point that the only punc- 
tuation required when writing a pro- 
gram is the semicolon. Third, they had 
to be consistent with the structured 
design method we use that permits 
only two branching and two looping 
structures. 

The #define statements listed in 



figure 3 implement the Easy C struc- 
tured constructs. Four basic con- 
structs are defined, two for branching 
and two for looping. A fifth construct, 
BEGIN_END, is defined to reduce 
the use of the braces to list markers 
in initialization expressions. Defini- 
tions of the use of each of the con- 
structs are given in figure 4. 

These constructs have certain com- 
mon characteristics. First, each is con- 
tained within its own code block ( { } 
pair ). This eliminates the unexpected 
machine code that is occasionally 
produced when constructs are 
nested. It also solves the problem of 
what belongs to each individual 
brace. Second, each element of a con- 
struct is also contained within its own 
code block. This allows an arbitrary 
number of C statements (including 

[continued) 



Run 

Protected 
Software 
from a 
Hard Disk. 



ZeroDisk 
ZeroDisk 
ZeroDisk 



ZeroDisk lets you run dozens 
of popular business software 
packages without floppies. 
Call us for the latest list of 
software it handles. ZeroDisk 
needs an IBM PC or XT or AT 
or compatible, running under 
DOS version 2.0 or higher. It 
occupies 15k bytes of 
memory. ZeroDisk is not 
copy-protected. 

ZeroDisk is revised monthly. 
You may get revisions for an 
$18 US trade-in fee. 

To order ZeroDisk, send a 
check for $75 US, or call us 
with your credit card. We 
will ship the software within 
a day. 




MAY 1986 'BYTE 139 



EASY C 



none) to be used within the element. 
Third, the line containing the substitu- 
tion expression (represented by the 
letter e within the parentheses) must 
obey the preprocessor rules. The first 
of these rules is that a comma may 
appear only when it is protected by 
an open parenthesis. Thus, using a 
comma to separate multiple state- 
ments within a FOR statement is not 
allowed, but using a comma within an 
argument list is. The second rule in- 
volves the length of the expression. 
Many compilers require that the ex- 
pression and its closing parenthesis 
be contained on one line. If the com- 
piler you use has this restriction, you 
must follow this rule. 

The no-comma and one-line rules . 
may seem restrictive at first. In use, 
however, these two rules serve to 
keep looping expressions simple by 
forcing code into an initialization 
block or the loop body. The tenden- 
cy to "load" a loop expression with 
code is hard to resist in C. Some pro- 
grammers manage to write small pro- 
grams within the parentheses of a for 
loop with a loss of clarity that is not 
made up for by the compactness of 
the source code. The executable code 



that is produced from these compact 
loop statements is usually about the 
same size and speed as that pro- 
duced from simpler expressions and 
more explicit coding. The net result 
is that the only thing accomplished is 
an increase in the potential for con- 
fusion. Hence, it is not worthwhile to 
try to be overly clever because of the 
limitation on looping expressions. 

Another common feature of the 
constructs is the simplicity of punctua- 
tion. Other than the semicolon, which 
is used to terminate lines of C code 
and to separate subexpressions in the 
for loop expression, no other punc- 
tuation is required. The general punc- 
tuation rule for Easy C is this: If it's 
a C-code statement, terminate it with 
a semicolon; if not, don't. 

The last common feature of the con- 
structs is our attempt to create an un- 
common end statement for each of 
the constructs. Note that in figure 3 
each construct ends in some variation 
on double braces. While it was tempt- 
ing to simplify things by using the 
same keyword for all of them, we 
made each end statement different 
for clarity. If you are nesting various 
types of constructs, the usual practice 



/* IF_THEN_ELSEIF_ 


_ELSE construct 


7 




#define IF(e) 


{ 'f (e) 


r 


if statement */ 


#define THEN 


{ 


r 


then statement */ 


#define ELSEIF(e) 


} else if (e) { 


r 


elseif statement */ 


#define ELSE 


} else { 


r 


else statement */ 


#define ENDIF 


;} } 


r 


end of if statement */ 


/* CASE construct */ 








#define CASE(e) 


{ switch (e) { 


r 


head of case */ 


#define CASEOF(e) 


case e : { 


r 


case block *J 


#define DEFCASE 


default : { 


r 


default case block */ 


#define ENDCOF 


} break ; 


r 


end of case block */ 


#define ENDCASE 


} } 


r 


end of case */ 


/* WHILE construct */ 








#define WHILE(e) 


{ while (e) { 


r 


while statement */ 


#define ENDW 


; } } 


r 


end of while statement */ 


/* FOR construct */ 








#define FOR(e) 


{ for (e) { 


r 


for statement */ 


#define ENDF 


;} } 


r 


end of for statement */ 


/* BEGIN_END construct */ 






#define BEGIN 


{ 


r 


beginning of block */ 


#define END 


} 


r 


end of block */ 



Figure 3: The #define statements for the Easy C branching, looping, and 
code-block separator constructs. These constructs eliminate the punctuation required 
by C in nesting branches and loops. 



is to take a listing of the code and 
draw nesting lines between the 
elements of each of the constructs. If 
an IF statement ends in anything 
other than an ENDIF or if the lines 
must cross to connect the correct 
elements, a nesting error has been 
made. Thus, the form of the end of 
the construct helps the programmer 
determine what was intended. 

Branching 

Easy C defines two branching con- 
structs. Both support H-way (multiple) 
branching. However, our intention is 
to do it in two different ways. The IF 
construct computes each logical ex- 
pression in the IF and ELSEIF state- 
ments and executes the code block 
associated with the first expression 
that evaluates to a nonzero result (the 
C value for true). If no match is made, 
the code block associated with the 
ELSE statement executes. If there is 
no ELSE block, no code executes. 
The CASE statement computes the 
value of the expression. This value is 
used to calculate the address of the 
start of the code block containing the 
value as a constant in its CASEOF 
statement. If the computed value 
does not correspond to one of the 
CASEOF constants, then the DEF- 
CASE code block executes. 

It's important to note that the CASE 
statement does not have to work this 
way for all compilers. It may actually 
perform the comparisons. An unwrit- 
ten convention has grown up over the 
years that a CASE-type statement 
results in some form of address com- 
putation to immediately execute the 
matching code block and avoid the 
sequential computation of logical 
conditions. If your compiler does not 
produce this type of machine code, 
then it will operate just like the IF, and 
there is little difference in which con- 
struct you use. We use the Lattice C 
compiler, which does address com- 
putations if the number of branches 
and the constants meet the right con- 
ditions. Otherwise, it performs the 
comparisons directly. 

The IF Construct 

The general form of the IF statement 
is shown in figure 4. The expressions 

[continued) 



140 B YTE • MAY 1986 



AMERKXS NEXT 
WOKTTF MOUSE 



The best 
price: *99 



El 



LOGIMOUSE"C7 



HIGH (200 dpi) resolution 
Tactile feedback switches 



THE BEST HARDWARE 

LOGITECH has been the leading OEM 
mouse company for years, quietly providing 
mice to companies like AT&T, DEC, and H-P. 
We've designed LOGIMOUSE C7 just for the 
retail marketplace. And poured all our years of 
hardware engineering 
into it. You simply can't 
find a better mouse. 

■ IBM PC/XT/AT 
compatible through 
any serial port 

■ NO pad, NO external 
power supply 

THE BEST SOFTWARE: 

LOGIMOUSE is now available with all new software that sets 
new performance standards for the mouse: 

LOGIMOUSE Base Package $99 

■ LOGIMOUSE Driver Version 3.0: Faster and smaller. Makes 
LOGIMOUSE compatible with all Microsoft applications. 

LOGIMOUSE Plus Package $119 

■ LOGIMENU— Programmable Pop-Up Menu System: 
Customizable for all your favorite keyboard-based applica- 
tions. Fully compatible with Microsoft Menu, only better. 

■ CLICK: A new concept in mouse software! It resides in 
memory, detects which application you are running and sets 
the mouse to your predefined setting. You define macros for 
the mouse buttons, set the mouse baud rate and protocol, 
define the pop-up menus to be used by LOGIMENU. Just 
add CLICK to your autoexec file and LOGIMOUSE will 
be ready to go with each of your favorite applications. 

So you can get down to work. 

■ POINT- AND-CLICK SHELL for Lotus 1-2-3: No more 
jerky cursor movement, no more delays, no more 
beeping. To select a cell, execute a command, scroll 
your spreadsheet, or call up context sensitive pop-up 
menus, just point with the mouse and click! 

■ POINT EDITOR-Mouse Based Program Editor: 
If you think a mouse was not meant for editing, 
POINT will change your mind. 




LOGIPAINTSET €<MO 

With Base Package 3U-4y 

With Plus Package $169 

LOGIMOUSE C7 plus PC Paintbrush 3.0 is the 
most advanced paint set available for the PC. 
Use LOGIPAINT to design a logo, paint, or draw 
a picture of a product 
you're developing. You 
won't believe its power 
with either free hand 
drawing or graphics. 



To place a credit card order Call toll-free 

call our special toll-free number: in California: 

800-231-7717 800-552-8885 



VT^TJ C f I want America's next favorite mouse! 
X J_jiJ • Please send me: 

□ LOGIMOUSE Base Package 

□ LOGIMOUSE Plus Package 

□ Plus Package Software 
DBase LOGIPAINT SET 

□ Plus LOGIPAINT SET 
DVISA D MASTERCARD 



$ 99 
$119 

$ 29 
$149 
$169 

□ CHECK ENCLOSED 



Add 56.50 for 
shipping & handling. 
Calif, residents add 
applicable sales tax. 

MONEY BACK 
GUARANTEE 



Card Number 
SIGNATURE- 
NAME 



Expiration Date 



ADDRESS. 



J CITY, STATE, 



; ZIP_ 



_PHONE_ 



DEALER INQUIRIES WELCOME 



! ffl LOGITECH 

LOGITECH, Inc. 
I 805 Veterans Blvd., Redwood City, CA 94063, USA 
: Telephone: (415) 365-9852 



LOGI MOUSE is a registered trademark of LOGITECH, Inc. Lotus and 1-2-3 are trademarks of Lotus Development Corp. Microsoft is a trademark of Microsoft Corp. 

PC Paintbrush is a registered trademark of ZSoft Corp. 



Inquiry 209 



MAY 1986 -BYTE 141 



Inquiry 277 



1 -800-222-8324 

^ATAI 




Totally 

IBM 

Compatible 

A Full 1 Year 
Warranty 



Basic Atai W/2 Drives .... $695.00 
Atai Super Unit 



• 2-360 K Floppy 

■ 135 Watt power 
supply 

• Amber tilt swivel 
monitor 

■ 640 K memory 

• Serial/Parallel Port 

■ Clock Calendar 
•MS/DOS 2.11 

• 1200/300 Internal 
Modem 



• Monochrome 
Graphics Card 

• 100 CPSNLQ Printer 
w/tractor 

• All cables 

• General Ledger 
Software 

• Word Processor 

• Database 

• Communications 
Software 



A Truly Complete Computer System, only . $1495. 
Compare Against IBM, Att, Leading Edge!!! 

brother 

BROTHER M-1509 

180 CPS Wide Column 

Beats Epson FX-286 

For Price/Performance. 

Standard NLQ mode w/tractor 

Call For Lowest Price. 

Brother Printers 

• M-1109 $195 • HR-35 $680 

• HR-15XL $360 • Twinriter-5 Dual 

•HR-25 $680 Head $ Call 

EPSON 

• LQ-800 $545 Panasonic 

• LQ-1000 $765 . KXP 1080 $199 

•LQ-1500 .$999 -KXP 1091 $239 

Accessories Available 

Epson Products Okidata 

•LX-80 $220 '182 $299 

. LX-90 $240 '192 $399 

. FX-80+ $259 '193 $599 

•FX-85 $Call "84 $699 

• JX-80 $40 - 2410 S1499 

• FX-286 $ CaM 

HARD DRIVE & BACKUPS 



• 10 Meg $385 

• 20 Meg $475 

• 30 Meg $690 

• 40 Meg $795 

• 10 Meg external Hard 
$545 



• 20 Meg External Hard 

$635 

• 20 Meg Tope . $595 

• 60 Meg Tape . $795 
All Drives Seagates w/ 

Controller 



CARDS & ACCESSORIES for IBM 



• RS-232 $59.00 

• RS-232/Clock $69.00 

• Parallel $59.00 



• Mono/Printer $95.00 

• Color/Printer $99.00 

• Mono/Graphics/ 
Printer $99.00 

1 -800-222-8324 
CALL NOW!!!! 

C OMPUTER 

INTERNATIONAL 
6619 U.S.I Miami, Fl 33143 




EASY C 



within the IF and ELSEIF statements 
are evaluated in order of appearance. 
The code block for the first expres- 
sion that evaluates to a nonzero value 
(true in C) executes. If none of the ex- 
pressions is true, the ELSE code 
block executes. The #define state- 
ments for the IF are set up to require 
a C statement or at least the null oper- 
ator (the ; again) in the THEN block. 
The other blocks can be empty and 
the ELSEIF and ELSE are optional. 
The C statements within the block 
must be terminated with a semicolon. 
Beyond this, no other punctuation 
should be used. The braces asso- 
ciated with isolating the various 
blocks are already included. 

To see how the preprocessor works 
in converting Easy C to C, let's look 
at a simple IF statement: 

IF( a EQ b ) 

THEN 

test = 1; 

ELSE 

test = 0; 
ENDIF 

The preprocessor uses the #define 
statements to expand this to 

{ if (a == b) 

{ 

test = 1; 

} else { 
test = 0; 

; }} 

Coding several nested its in C, with 
all of the braces needed to ensure 
that the compiler did not misunder- 
stand your intentions, would probably 
result in more errors due to mis- 
matches than would be worth the ef- 
fort to correct. In Easy C brace match- 
ing is automatic and always correct. 
The code block in a particular THEN, 
ELSEIF. or ELSE is always unam- 
biguously associated with the correct 
IF. This can be particularly helpful 
with the else, which always associates 
itself with the last if that did not have 
an else. This might not be the if you 
had in mind, so you won't get a com- 
piler error, you will get a run-time bug. 

The CASE Construct 

The general form of the CASE state- 
ment is shown in figure 4. CASE oper- 
ates as follows: First, the expression 



in the CASE statement is evaluated. 
The CASEOF statement with this 
value as its constant is then selected 
for execution. If no CASEOF contains 
a constant equal to the value of the 
expression, then the code block as- 
sociated with the DEFCASE state- 
ment executes. Each code block fol- 
lowing a CASEOF is ended with an 
ENDCOF, as is the DEFCASE code 
block. As many CASEOF-ENDCOF 
blocks as desired can be included. 
They do' not have to contain C state- 
ments. A DEFCASE-ENDCOF must 
always be included. It can also be 
empty. The CASE is ended with the 
ENDCASE statement. 

CASE and CASEOF were chosen in- 
stead of some variation on switch and 
case because they appear in the 
structured design method we use. If 
you wish to follow C more closely, 
they can be replaced by SWITCH and 
CASE in the #define statements for 
them. Your preprocessor should dis- 
tinguish between the uppercase and 
lowercase forms. The names of the 
end statements (ENDCOF and END- 
CASE) might then be changed to 
something more consistent with this 
choice. The contents of the #defines 
for the statements must not be 
changed. They are used to balance 
the braces that isolate the code 
blocks. 

Looping 

Easy C defines two looping con- 
structs. The FOR construct is used in 
counting loops and the WHILE state- 
ment is used in loops terminated by 
a logical condition. Because C permits 
logical termination conditions in FOR 
loops and has the ability to increment 
in WHILE loops, choosing which one 
to use is largely a matter of clarity and 
convenience. In both looping con- 
structs, the code within the loop will 
not be executed if the logical condi- 
tion is false (equal to zero) when an 
attempt is made to enter the loop. 
The form of the WHILE loop con- 
struct is given in figure 4. It operates 
by first evaluating the expression. If 
it is true (nonzero), the optional state- 
ments within the loop execute. An ex- 
pression that can be evaluated to an 
integer numeric or logical result is re- 

[continued] 



142 BYTE • MAY 1986 



NO OTHER HARD DISK 
BACKS YOU UP LIKE SYSGEN. 

HARD DISK AND AUTOMATIC 
TAPE BACK-UP: $1395. 








Why the Sysgen Flat-Pak™ is your smartest 
storage and back-up choice: 

The Flat-Pak, like all Sysgen systems, is designed 

so you can sit down at your PC and use it. Period. 

A reliable Sysgen hard disk keeps your data on-line: 

You never have to juggle disks or cartridges. And only 

Sysgen backs your data up automatically. All in a 

slim half-height chassis that slips neatly under your 

monitor. So absolutely nothing stands between you— 

and your work. 

Only Sysgen gives you unattended back-up. 

Setthe Flat-Pak once, like a VCR, and it will back up 

your data up to twice daily, seven days a week. That's 

smart. 

Two ways to get unbeatably affordable disk and 

tape add-on: 

Choose the 10 Mbyte Flat-Pak with 20 Mbyte cassette 

back-up; or the 20 Mbyte version with 60 Mbyte 

Trademarks: Sysgen, Flat-Pak-Sysgen, Inc. Registered Trademarks: IBM. PC DOS- 
International Business Machines Corporation. 

47853 Warm Springs Blvd., Fremont, CA 94539 
(415) 490-6770, Telex 4990843 




cartridge back-up, using the industry standard 
QIC-24 tape data format. 

Because both Flat-Pak systems utilize your IBM's 
hard disk controller, they are compatible with all 
software written for current versions of PC DOS® 
(Should your system require it, Sysgen offers an 
XT compatible controller for just $350.) 
Get the smartest, most reliable storage and 
back-up solution — at the best price. 
Sysgen's entire disk and smart tape family offers 
an unbeatable combination of capacity and value. 
You won't find a smarter 
solution — or a better price. 
Compare for 

yourself: For a WS 

Sysgen dealer 
near you, 
call 1-800- 
821-2151, 
Dept. 41. 




SYSGEN 

INCOR PORATED 



EASY C 



quired. Statements within the body of 
the loop are not required. 

The FOR loop expression contains 
three optional subexpressions. They 
are used to set a loop counter, test for 
an end condition, and increment a 
loop counter. The statements within 
the body of the loop are optional. A 
convenient way to visualize the opera- 
tion of the FOR loop is to think of it 
as a form of a WHILE loop. For ex- 
ample, the FOR loop 

FOR(initial expression; end expres- 
sion; loop expression) 
C statement(s); 

ENDF 

is equivalent to the WHILE loop 

initial expression; 
WHILE(end expression) 

C statement(s); 

loop expression; 
ENDW 

The initial expression is evaluated 



once prior to loop entry. The end ex- 
pression is evaluated at each loop en- 
try. If it is false, the loop terminates. 
The loop expression is evaluated each 
time the loop is entered, after execut- 
ing the code in the body of the loop 
and before going back to the top of 
the loop. Note that these subexpres- 
sions need not be related to count- 
ing. The only restriction is on the end 
expression, which must be capable of 
being evaluated to an integer numeric 
or logical value. 

Each of the subexpressions is op- 
tional. However, the semicolons must 
be included. Thus the FOR equivalent 
of a WHILE loop is 

FOR(;end expression;) 

C statement(s); 
ENDF 

If no end expression is put in the 
FOR loop, an infinite loop forms. 
While this construct is not generally 
allowed in structured code, it is useful 





Branching Constructs 


IF-THEN-ELSEIF-ELSE Construct 


IF( expression ) 
THEN 

C statement(s); 
ELSEIF 

C statement(s); 
ELSE 
C statement(s); 
ENDIF 


(optional) 
(optional) 
(optional) 
(optional) 


CASE Construct 




CASE( expression ) 
CASEOF( constant ) 

C statement(s); 
ENDCOF 


(optional) 




(additional CASEOF-ENDCOF blocks) 


DEFCASE 

C statement(s); 
ENDCOF 
ENDCASE 


(optional) 




Looping Constructs 


FOR Construct 




FOR( initial expression; 

C statement(s); 
ENDF 


end expression; loop expression ) 
(optional) 


WHILE Construct 




WHILE( expression ) 

C statement(s); 
ENDW 


(optional) 



Figure 4: The Easy C code-block formats. 



in system programs when execution 
must be held in a particular location 
pending an interrupt. 

Complex Coding Examples 

Figures 5 (C) and 6 (Easy C) show a 
complex coding example taken from 
Kernighan and Ritchie (page 1 1 3). The 
program examines a set of strings 
(argc in number) pointed to by the ar- 
ray argv. The program will print 
selected strings based on the results 
of this examination. (We won't discuss 
the use of pointers, marked here by 
the asterisks in the loop expressions. 
Kernighan and Ritchie give a full ex- 
planation.) Understanding precisely 
what the program does is not as im- 
portant in determining the structure 
of the program as comparing the 
two versions for readability and 
ease. 

The most obvious difference be- 
tween the two listings is the simplici- 
ty of the operators and punctuation 
used in the Easy C example. We re- 
placed special characters (&&, = = , 
etc.) with English abbreviations (AND, 
EQ, etc.), which results in a more read- 
able program. The elimination of all 
special punctuation except the semi- 
colon also improves readability and 
helps avoid some of the more frustrat- 
ing run-time errors. For example, let's 
examine the while-for-switch nested 
construct. It is used to search the ar- 
ray of string pointers. In C, the rules 
of punctuation permit nesting if you 
write the constructs sequentially. 
Thus, the while is followed (without 
punctuation) by the for, which is 
followed by the switch. Since the 
switch contains more than one state- 
ment, the braces mark the limits of 
the code within the switch. The errors 
that can occur with this type of punc- 
tuation are easy to make and difficult 
to find. For example, if you place a 
semicolon at the end of the line con- 
taining the for or the while, you won't 
get a compiler error and the program 
will run. However, the compiler will 
think you mean that the for or while 
loops contain no code blocks. Thus, 
placing a semicolon at the end of the 
while statement means that it is not 
the top of the nest but is a stand- 
alone statement to be executed until 

[continued) 



144 BYTE • MAY 1986 




For thousands of years, 
man used personalcomputers 
without decent tape backup. 

Enough. 



Personal computers have come a 
long way. Unfortunately, tape backup 
systems have not. Their functions 
are primitive, they're frightening to 
install and truculent to use. 

Genoa's Galaxy™ Systems are 
more highly evolved. So not only do 
they outperform competitive systems, 
but using them is actually something 
that can be done by an ordinary 
human. 

The simpler* The better* 

Our software is what makes 
the difference between our systems 
and everybody else's. And its designed 
to help you use the system easily in 
either of two modes. Namely, menu- 
driven or batch file. 

The menu mode operates true 
to its name, with menus showing all 
the commands you have to choose 
from. And there isn't a thing you can't 
do from the menu mode because 
it's comprehensive. 

You'll want to use the batch 
mode for routine operations though, 
because it allows you to create a "file" 



to contain those operations and run 
them automatically, just by hitting 
a few keys. 

But probably the best example 
of just how downright civil the Galaxy 
systems can be is our auto backup. 
You just preset the time and the 
desired function, and the system does 
the rest. Automatically. 

No other tape backup systems, 
by the way, operate this simply. 

The features all 

tape backups should have* 

But don't 

Before you make your first 
backup — which is the right time to 
do this— our installation software 
checks your disk configuration to 
make sure your tape drive will run 
at top speed. And it checks the entire 
system to guarantee it will perform 
as promised. No competitive system 
offers anything like it. 

Another thing you can do is abort 
any command at any time. So you 
don't have to sit through a 20-minute 



file-by-file restore just because you 
hit the wrong key. 

You can also do a file-by-file 
restore from an image backup. So you 
can get back the one file you need 
rather than all the files you don't. 

But whether it's a couple of files 
or a complete image, you'll be pleased 
to know you can restore to any storage 
device, thanks to Galaxy's inter- 
changeability feature. 

Multiple backups on the same 
tape — even from multiple sources 
like a floppy or another hard disk — 
aren't a problem either. The system 
simply starts recording where the 
last backup ended. 

Or you can use multiple tapes 
to back up very large files. The system 
will just let you know when it needs 
a new tape. 

We also perform crc error 
checking constantly. We can back up 
a 20 Mb disk in just over 4 minutes. 
And we're network compatible. 

What price progress? 

Surprisingly, the Galaxies cost 
somewhat less than tape backup sys- 
tems that offer less. Which includes 
all of them. 

For the Genoa Galaxy dealer 
near you or complete specs, call 
408-945-9720. Or write Genoa 
Systems Corporation, 73 E. Trimble 
Road, San Jose, CA 95131. 

The Genoa Galaxy Systems. 
The most civilized tape backup in 
history. 




The IBM^compatible Genoa Galaxies are 
available as internal or external versions of l A" 
streaming tape or cassette models. (External 
cassette not shown.) 




Galaxy is a tr;idem;irk of Genoa Systems Corp. ©1986 Genoa Systems Corporation 



Inquiry 146 



MAY 1986 'BYTE 



EASY C 



the logical condition is false. Since the 
semicolon is the usual terminator for 
a line of C code, it is easy to in- 
advertently place one at the end of 
a C looping construct. Finding the 
semicolon can be much more difficult. 
In contrast, the lack'of special punc- 
tuation in Easy C makes the nesting 
of this section of the code unam- 
biguous. Instead of using a semicolon 
to indicate the range of a loop and a 
single brace to indicate the range of 
the nest, each of the nested items is 
terminated with its own end symbol. 
Each of the nested items contains the 
braces needed to tell the compiler 
what is included in it. Semicolons are 
used only on simple C statements. If 
you place one at the end of the 
WHILE or FOR statements, the com- 
piler will interpret it as a null state- 
ment. However, because it is in a code 
block marked by braces, the rest of 
the statements within the block are 
processed normally. Thus, an un- 



intended semicolon will be ignored. 
The second group of nested state- 
ments (starting at if (argc != 1) in 
figure 5) illustrates the differences be- 
tween C and Easy C in coding nested 
branches. The clarity resulting from 
the use of end statements and the ex- 
plicit designation of THEN and ELSE 
paths makes the code more readable. 
The explicit endings solve the prob- 
lem of finding out who belongs to all 
those braces at the end of the pro- 
gram. The more difficult problem of 
determining exactly how many braces 
are needed is also taken care of 
neatly. 

Size, Speed, Portability, 
and Other Questions 

What does Easy C do to the size and 
speed of a program? The answer to 
that depends on your compiler. If you 
have the Lattice C compiler, the 
answer is nothing. The two program 
versions listed in figures 5 and 6 com- 



#define MAXLINE 1000 

main(argcargv) /* Find pattern from first argument */ 

int argc; 

char *argv[]; 

{ 
char line[MAXUNE], *s; 
long lineno = 0; 
int except = 0, number = 0; 

while ( - - argc > && (* + + argv)[0] = = ' - ') 
for (s = argv[0] + 1; *s != '\0'; s+ +) 
switch (*s) { 
case V: 

except = 1; 

break; 
case 'n': 

number = 1; 

break; 
default: 

printf("find: illegal option %c\ n",*s); 

argc = 0; 

break; 

} 
if (argc != 1) 

printf(" Usage: find -x -ra pattern \ n">; 
else 
while (getline(line.MAXLINE) > 0) { 
lineno + + ; 

if ((indexfline, *argv) > = 0) ! = except) { 
if (number) 

printf("°/old: ", lineno); 
printf("%s", line); 



} 



Figure 5: A complex C coding example. 



piled to the same object code. On 
other compilers, the code blocks 
defined by the braces included in the 
Easy C definitions may result in addi- 
tional code. 

The question of portability (the ease 
with which an Easy C program may be 
compiled using other compilers and 
other computers) is somewhat more 
complex. The portability of Easy C 
ultimately rests on the preprocessor. 
If the constructs and their usage are 
consistent with the definition of the 
preprocessor given in Kernighan and 
Ritchie (the de facto standard), then 
they should be as portable as C. The 
Easy C constructs follow that prepro- 
cessor definition. The only other 
question concerns the use of exten- 
sive code-block nesting resulting from 
the braces defined in the Easy C oper- 
ators. If a compiler is not designed to 
accept high levels of code-block 
nesting, then Easy C cannot be used 
with it. This sort of restriction in a C 
compiler would be remarkable but 
not unheard of. 

How does it work in practice? After 
compiling several thousand lines of 
code written in Easy C, we discovered 
no problems. In terms of productivi- 
ty and ease of learning, the payoff was 
better than anticipated. Coding errors 
involving improper nesting were rare 
because of the ease with which nest- 
ing can be inspected and also 
because of the use of the braces. A 
branching or looping statement with- 
out an end. or an end without a 
branching or looping statement, 
results in mismatched braces, which 
produces a compiler error. Thus, 
nesting errors are caught at compile 
time where they are a lot easier to 
find and correct. 

Our attempt to produce a version 
of C that is quicker to learn and apply 
turned out to be successful. Replac- 
ing special symbols with familiar let- 
ter symbols removed one of the big 
hurdles to confidence in writing pro- 
grams. The simplification of punctua- 
tion involved in looping and branch- 
ing constructs helped build con- 
fidence in the ability to write correct 
code. Aside from structures and 
unions (which take a while to ap- 
preciate) and pointers (which never 

(continued) 



146 BYTE • MAY 1986 



PRINTER SHARING 

AND PRINT BUFFERING 

All IN ONE VERSATILE UNIT 



Print Master from BayTech 
is an intelligent printer 
controller that connects 
between your computers and 
printers. It allows you to share 
one printer automatically, 
contend for multiple printers 
automatically, or switch 
between several printers by 
sending a simple code. Plus, 
Print Master's built-in buffer 
spools data until your printer 
can receive it. 

A VERY FLEXIBLE 
PRINTER SHARER 

You configure Print Master's 
ports for any combination of 
printers and computers by 
answering questions from the 
easy-to-follow menus. For 
example, with the ten-port 
Print Master, nine computers 
can share one printer, eight 
computers can share two 
printers, seven computers 
can share three printers, and 
so on, to one computer which 
can share nine printers. You 
can also menu-select these 
features: the baud rate, word 
size, stop bits, parity, and 
XON/OFF handshaking; the 
disconnect time-out; and form 
feeds. Ports may be 
configured individually to 
translate for printers and 
computers using different 
configurations. All 
changes you make are 
saved in non- 
volatile memory. 



BayTech 

Printer Controller 




Print Master 710C j 


POWER 


1 2 3 


4 5 6 7 8 9 10 


c -v <-.. -.. >:. ! 



PRINT MASTER'S BUFFER 
KEEPS YOU WORKING 

Since Print Master can 
accept data faster than your 
printer, you can dump a print 
job into Print Master's 51 2K 
buffer and then go on to 
another project. All connected 
users can send data to this 
common pool buffer, and 
they can be doing it at the 
same time, even if no printer 
is available. Data is stored in 
the buffer until it can be sent 
on a first-in-first- 
out basis to 



the selected printer. If you 
need more memory, Print 
Master is optionally available 
with one megabyte buffer. 

CONTROL PRINT OUTPUT 
FROM YOUR COMPUTER 

If several users are sharing 
one printer, printer sharing is 
completely automatic. There 
are no codes to send. You 
simply perform your normal 
print operation. If you are 
sharing several identical 

printers, connection 
is also 




automatic. Again, you perform 
your normal print operation 
and are connected to the 
next available printer on a 
first-come-first-serve basis. 
Print Master will send data to 
all printers simultaneously to 
keep your printers running at 
full capacity. 

If you are sharing several 
different printers, such as a 
letter printer, a laser-jet and a 
plotter, you do your normal 
print routine but insert a short 
printer select code (which 
you can define yourself) as. 
the first characters of your 
data. The data is then routed 
to the selected printer. It's 
that easy. 

CHOOSE SERIAL 

OR PARALLEL MODELS 

Print Master comes in six, 
eight and ten port models 
that feature serial, parallel, or 
combination serial/parallel 
ports. And BayTech provides 
technical support and service 
on all models if you ever 
have a problem. 

Want more details? Call or 
write BayTech at P.O. Box 
387, Bay Saint Louis, MS 
39520. Telex 910-333-1618. 
Phone 601-467-8231 or 

800-523-2702 



Bay Technical Associates, inc. 



DATA COMMUNICATIONS PRODUCTS 



Inquiry 3 5 



MAY I986 • BYTE 147 



Inquiry 322 



Does YOUR disk Look Like 

THIS? 




Let 

H.D. Tuneup 

cleanup your act! 

H.D. Tuneup tunes your disk file 
system, making it better than new. 
File loads speed along like new. 
Directory searches are faster than 
new. 

H.D. Tuneup reallocates all of your 
files to be contiguous. Each file is 
placed in its proper location, 
adjacent to it's neighbors in the 
directory. 

Disk operations run faster when 
your files have been Tuned. 

H.D. Tuneup relocates your sub- 
directories into one area of your 
disk, as close to the root as possible. 
All deleted entries are actually 
removed. 

Your drive head moves less from 
directory to directory than when 
your disk was new. TREE/F will fly 
when listing all of your files. 

H.D. Tuneup requires IBM 
PC/XT/AT compatability, 196k, and 
DOS 2.x/3.x. Fixed disks up to 32mb 
may be tuned, along with any 5.25" 
diskette. 

NOT COPY PROTECTED! 

ONLY $39.95 plus $3.00 S/H 

SofCap Inc. 

P.O. Box 131 

Cedar Knolls, N.J. 07927 

Visa (201) 386-5876 M/C 

N.J. residents add 6% sales tax. 

For the best performance 
from your disk 
TUNE IT UP!! 




Visa, Master Card, Checks, Money Orders, or 
COD only. 



EASY C 



include "EASYC.H" /• Easy C defines V 

#define MAXLINE 1000 

main(argc, argv) /* Find pattern from first argument */ 

int argc; 

char *argv[]; 

BEGIN 

char line[MAXLINE], *s; 

long lineno = 0; 

int except = 0, number = 0; 

WHILE(DEC argc GT AND (*INC argv)[0] EQ ' - ') 
FOR(s = argv[0] + 1 ; *s NE ' \ 0'; s INC) 
CASE(*s) 
CASEOF('x') 
except = 1; 
ENDCOF 
CASEOF('n') 
number = 1; 
ENDCOF 
DEFCASE 

printf("find: illegal option %c\n," *s); 
argc = 0; 
ENDCOF 
ENDCASE 
ENDF 
ENDW 

IF(argc NE 1) 
THEN 

printf("usage: find -x -n pattern \ n");.. 
ELSE 

WHILE(getline(line, MAXLINE) GT 0) 
lineno INC; 

IF((index(line, *argv) GE 0) NE except) 
THEN 
IF(number) 
THEN 

printf("°/old: ", lineno); 
ENDIF 

printf("°/os", line); 
ENDIF 
ENDW 
ENDIF 
END 



Figure 6: A complex Easy C coding example. 



cease to be a source of wonder and 
confusion), a typical programmer with 
limited C experience could expect to 
be producing code in a matter of 
days. Experienced programmers 
become comfortable with it im- 
mediately. 

Trying Easy C 

If you're using C or have access to a 
C compiler and want to try Easy C put 
the #define statements appearing in 
figures 1 and 3 into a file (ours is 
called EASYC.H). Be sure to mention 
this file in a #include statement prior 
to the first line of code in your pro- 
gram (see the first line of figure 6). 



After that, just follow the rules we 
have described. If you have questions 
about the use of the operators, use 
the #define statement as a reference 
to convert them to standard C and 
consult a C manual for help. Ker- 
nighan and Ritchie is the accepted 
standard for C, although it is difficult 
to study. Programming in C by S. G. 
Kochan (Hayden Book Company 
1984) is recommended if this is your 
first exposure to C. Kochan includes 
numerous specific examples and clear 
explanations of all of the details of C. 
He also uses structured coding and 
points out the nonstructured aspects 
of C that can lead to problem code. ■ 



148 BYTE • MAY 1986 



THE LEADER'S OFFER 




Emerald is the leader in high performance hard disk and tape backup subsystem technology. 



We Want You To See 
What We've Got 



We want you to experience the inno- 
vative new technologies, products, and 
services you can get only from the 
Leader. Like DiskMeld™— Emerald's 
proprietary technology that allows two 
physical hard disks to meld into one logi- 
cal file or volume. And what better way to 
try DiskMeld, than by getting the second 
disk at half price? 

No one else can offer all the options 
we can. That's why we're making this 
special, limited offer (available now, di- 
rect from Emerald or from your dealer). 

Powerful Mass 
Storage 

Emerald pioneered true mass storage 
for microcomputers. Our PC, XT, AT, 
and IBM compatible-based hard disk subsystems of- 
fer power, versatility, and performance you won't 
find elsewhere: 

• DiskMeld™— Emerald technology that merges 
two physical hard disks into one logical file or 
volume. 

• Larger volumes— Emerald was the/?/;?/ to shatter 
the PC-DOS 32 MegaByte barrier.' 

• Faster access through Disk Caching. 

• Faster throughput with our user-selectable inter- 
leave. 

• On-site self diagnostic functions. 

• On-site preventative maintenance with Trackfix™. 

• Internal or external hard disk subsystems. 

• A wide range of capacities, from 30 to 236 Mega- 
Bytes. 

• Xenix System III and System V compatibility. 

• QNX Compatibility. 

Backup: Fast, Secure, 
Automatic 

Our 1/4-inch tape backup subsystems provide 
the best combination of speed and automation availa- 
ble. With functions and features you won't see any- 
where else. 

• ASP™— our new backup/restore utility, with an 
easy to use, Lotus-like interface, digital and 
graphic displays. 

• Real-time information on status of backup. 

• Three types of file-by-file backup. 

• Super-fast streaming. 

• Password security. 

• Multiple backup sessions on the same tape— lets 



Get 50% off a 30-MB disk 
& 60-MB tape drive when 
you buy a 72-MB disk. 

When you buy an Emerald™ 72-MegaByte hard disk subsystem at the 
regular price between April 8 and May 30, 1986, we'll give you a coupon 
good for 50% off the price of our high-performance 30 MegaByte drive and/ 
or a 60 MegaByte 1 /4 inch tape backup. (You can purchase the second disk or 
tape backup anytime before September 30. 1986. So there's plenty of time to 
work it into your budget. 

But there's more— $500 worth of free software when you buy all three 
(the 72-MegaByte hard disk at our regular retail price, and the 30-MegaByte 
drive and 1/4 inch tape backup at half price). You'll get Borland's Turbo 
Lightning™, Reflex: The Analyst™, and Superkey™; Microsoft Win- 
dows™; Ready!™ from Living Videotext. and Funk Software's Sideways™. 



Offer Ends May 30, 1986 



you save on tape media while physically organiz- 
ing your data the way you want it. 

• Programmable time-activator— a backup that runs 
itself. 

• Advanced self-diagnostic and maintenance func- 
tions for tape subsystems. 

• 60-MegaByte internal or external subsystems. 

• Installable device drivers for custom applications. 

• Xenix System III and System V compatibility. 

• QNX Compatibility. 

Mainframe Connectivity 

Our Micro-to-mainframe tape subsystems per- 
form all these same functions— and they allow you 
to transfer data offline between mainframes and 
your PCs. 

• Rapid translation between EBCDIC and ASCII- 
connects micros to mainframes and minis, through 
industry standard 1/2-inch tape. And does it 100 
times faster than terminal emulation. (At 3.3 Me- 
gaBytes per minute, that's 3 times faster than any 
other 1/2-inch subsystem available.) 

• EBCDIC to dBase III and Lotus 1-2-3, via CSV 
reformatting. 

• Data transfer and hard disk backup on the same 
system. 

NetWorthy Subsystems™ 

All our subsystems are network-compatible, 
with special support for LANs. That means you 
won't have to sacrifice any of the performance fea- 
tures you paid for when you bought your 
subsystem— or your LAN. 

• Novell LANs. 

• IBM LANs. 



• Most MS-Net compatible LANs. 

• Online backup with network users 
logged on. 

• Hidden files and other Novell special 
files. 

On-Site Service 
Available Now 

Emerald now offers Green Light 
Service™— our next-day, on-site service 
option. It covers all Emerald compo- 
nents, as well as your IBM, Compaq, or 
Zenith PC, most popular modems, moni- 
tors, printers, add-in memory, and multi- 
function boards in your system. And of 
course, we still back our products with a 
limited one-year warranty, and with ex- 
panded customer support that's available 
for free consultation ten hours of every 
business day. 

Hurry 

Try DiskMeld now— with the second disk at 
half price. Or, add 1/4-inch tape backup for half 
price. Better yet, add both, and get $500 worth of 
free software. This offer ends May 30, 1986, so act 
now. 

It's the perfect opportunity to discover what 
makes Emerald the Leader. And what keeps us 
ahead of the pack. * 



| ( r*< 




Emerald 

Systems Corporation 



Mainframe Storage For Micros 



4757 Morena Boulevard 

San Diego, CA 92117 

U.S.A. 

(619)270-1994 

Telex: 323458 EMERSYS 

Easylink: 62853804 



Emerald Systems Europe 

P.O. Box 310 

6236 Maastricht Airport 

The Netherlands 

4402-77979 

Telex: 56239 



Turbo Lightning. Reflex: The Analyst, and Superkey arc trademarks of Borland International. Microsoft Windows is a trademark of Microsoft, Inc. Ready! is a trademark of Living Videotext. Sideways is a trademark of Funk Software. 

dBase Ml ' M AshtonTate-Lotus 123™ Lotus Development Corporation— IBM PC and AT™. International Business Machines Corporation-Novell NetWare™ Novell Inc. -Emerald. Diskmeld. Extended Mass Storage Architecture. Archival Storage Protector, ASP. Trackfix. 

NetWorthy Subsystems, and Mainframe Storage For Micros™ Emerald Systems Corporation. 



Inquiry 127 for End-Users. Inquiry 128 for DEALERS ONLY. 



MAY 1986 'BYTE 149 




YOU'RE LOOKING AT 

4,096 COLORS 

4-CHANNEL STEREO 

32 INSTRUMENTS 

18 SPRITES 
3-D ANIMATION 
125 DMA CHANNELS 
A BIT BUTTER 
AND 
IALE AND FEMALE VOICl 



A \ 






ONLY AMIGA GIVES YOU ALL THIS AND A 68000 PROCESSOR,TOO 



Three custom VLSI chips working in combi- tm 
nation with the main processor give Amiga" 
graphic dazzle, incredible musical ability 
and animation skill. 

And they make Amiga the only com- 
puter with a multi-tasking operating system 
built into hardware. 

All these capabilities are easy to tap 
because Amiga's open architecture pro- a 
vides you with access to the 68000 main E 
bus in addition to the serial, parallel and I 
floppy disk connectors. Complete tech- I 
nical manuals enable you to take full I 



AMIGA 



\innnrr~rv- 



iVVl L. \me 



advantage of the custom chips and the 
software support routines in the writable 
control store on the Kickstart™ disk that 
comes with every Amiga computer. 

You can access these resources in a 
number of development languages, includ- 
ing Amiga Macro Assembler,™ Amiga Q Amiga 
Basic (Microsoft®— Basic for the Amiga), 
Amiga Pascal and even Amiga LISP. 

So Amiga not only gives you more 
creativity, it gives you creative 

new ways to use it. 

Amiga by Commodore. 



GIVES YOU A CREATIVE EDGE. 



'"Amiga is a trademark of Commodore-Amiga, Inc. "Kickstart Is a trademark of Commodore-Amiga, Inc. 
"Amiga Macro Assembler Is a trademark of Commodore-Amiga, tnc. ^Microsoft is a registered trademark of Microsoft, inc 



PROGRAMMING INSIGHT 



SUBROUTINE 

OVERLAYS 

IN GW-BASIC 



by Mike Carmichael 



Have your BASIC program 
call subroutines from disk 



IF YOU HAVE EVER run out of mem- 
ory when developing a large BASIC 
program, you've probably wished you 
could store all those subroutines on 
a disk and have your program call 
them one by one when they are 
needed. Of course, you can use the 
COMMON and CHAIN statements to 
maintain global variables and forge a 
path between program modules, but 
Microsoft's GW-BASIC does not allow 
the programmer to link a main pro- 
gram with a series of subroutines. 

Yet there is a way around GW- 
BASIC's limitation in which a program 
can call subroutines from a disk. And 
if the subroutines are stored in a RAM 
disk, the additional run time neces- 
sary, to load a subroutine is hardly 
noticeable. 

The idea is simple: Set aside a sec- 
- tion of RAM and load individual sub- 
routines, as needed, into that section 
where each subroutine can be ex- 
ecuted. In GW-BASIC, however, when 
you try to load a subroutine into 
memory that's adjacent to the main 
program, you destroy the interpreter's 
work area, which always resides in the 
memory just above the program, and 
the program crashes. 

To get around that problem, you can 



pad the main program with remark 
statements that reserve a specific 
amount of RAM for the subroutines. 
(In my program example, that space 
is about 1000 bytes, but by using 
more or fewer remark statements, you 
can reserve whatever amount of 
memory your subroutines require.) 
When a particular subroutine is 
needed, the main program gets it 
from the disk and loads it into the 
exact memory location occupied by 
the remark statements— deleting 
those remark statements in the pro- 
cess and effectively merging the sub- 
routine into the main program. Then, 
when another subroutine is needed, 
the program loads it into the same 
memory location, overlaying (and 
deleting) the previous subroutine. 
And all that takes place while the 
main program is running, 

The command used to do this 
magic is BLOAD, a GW-BASIC com- 
mand that loads a disk file into 
specific memory locations. There is a 
catch, however. The file, in this case 
the subroutine, must be in binary 
form. And lest you think we've aban- 
doned programming in BASIC, let's 
examine how' GW-BASIC stores pro- 
grams and how you can convert 



BASIC code into binary format— it's 
easier than you might think. 

Interpreting BASIC Code 

Microsoft's GW-BASIC interpreter is 
very straightforward. You enter code 
line by line into memory, and as you 
do, the interpreter keeps its work area 
just above the last program line. Each 
BASIC command in a line is translated 
into appropriate 1- or 2-byte codes. 
Memory addresses and line numbers 
are stored in a standard 2-byte for- 
mat—the least significant byte first, 
followed by the most significant byte. 
Although it's not visible in a pro- 
gram listing, each line of BASIC code 
is preceded by an address that points 
to the next line. That address pointer 
is followed by the line number, which 
in turn is followed by parsed BASIC 
code and the ASCII equivalent of 
alphanumeric remarks, text, and so 
forth. (During execution, bytes con- 
taining line numbers referenced by 
GOSUB, GOTO, or other branch 
statements are translated into actual 

[continued) 
Mike Carmichael is Director of Software Ser- 
vices at Carmichael ]ones 8- Associates. POB 
426, Glasgow. KY 42141. Inquiries, please 
enclose SASE. 



MAY 1986 -BYTE 151 



"Anyone 
who wants to win MegaWars 

has to dominate 
entire planetary systems. 
And me," 




SUBROUTINE OVERLAYS 



By experimenting 
you can build a table 
of commands and 
small subroutines with 
the POKE function. 



addresses the first time they are 
encountered.) 

lust for fun, let's examine a BASIC 
statement. First, you must find where 
in your computer's memory the pro- 
gram statement will reside. With 
BASIC loaded, use the NEW com- 
mand to get rid of any extraneous 
code. Then equate a variable to some 
value and find the memory location 
of that variable. For example, just type 
F$ = "*". Now type PRINT 
VARPTR(F$). The decimal result will 
lead you very nearly to the lowest 
point in BASIC'S user memory— the 
place where a program will begin. The 
value 1 get on my MBC-Sanyo 5 50 is 
4070; the value on your computer 
may be different. 

Next, enter NEW again and type a 
simple line of code that we can ex- 
amine: 10 F$ = "*". Now, to see 
what the BASIC interpreter has done, 
without using line numbers enter FOR 
I = 1 TO 20: PRINT PEEK(4060 + 
I);: NEXT I. Notice that the starting ad- 
dress for the PEEK function is 10 
bytes less than the value previously 
obtained on my Sanyo; you should 
use an address that is 10 bytes less 
than the value obtained on your 
computer. 

Your computer should display the 
following 20 values for the memory 
locations checked (locations 4061 
through 4080 on my Sanyo): 237 
15 10 70 36 32 231 32 34 42 34 
4 73. Those values translate as 
follows: 

(below the first line of 

BASIC code) 
237 15 (address pointer for next 

line in memory: 

15 * 256 + 237 = 4077) 
10 10 (line number) 



152 BYTE* MAY 1986 



Inquiry 80 



SUBROUTINE OVERLAYS 



70 36 F$ 
32 (blank space) 

231 = (GW-BASIC's code for 

an equal sign) 

3 2 (blank space) 
34 42 34 "*" 

(end of line) 

(locations 4077 and 4078 

show no line numbers- 
no more program) 

4 73 (the first 2 bytes in 

BASIC'S workspace) 

You can also use this method to view 
the workings of other BASIC func- 
tions. In fact, you may want to experi- 
ment with building a table of com- 
mands and small subroutines with the 
POKE function. 

Building a Binary File 

In my program example, the main pro- 
gram and the subroutine are separate 
BASIC listings. | Editor's note: The BASIC 
source code for the program examples. Main- 
progbas and Routine.sub, is available for 
downloading via BYTEnet Listings at (617) 
861-9764 and is also available on disk. See 
page 469 for details] At the end of the 
main program are several remark lines 
that occupy, or reserve, the memory 
space in which the binary version of 
the subroutine will be loaded. The 
documentation and fill characters in 
the remark statements leave more 
than adequate room. In practice, 
though, the area cleared need be no 
larger than necessary. 

To create a binary version of the 
BASIC subroutine, merge the two list- 
ings into one (load Mainprog.bas, 
then type MERGE "routine.sub"). 
Then run the program, and a new file 
rroutine.bin") will be saved. 

The code between line 8000 and 
line 1 1050 checks to see if the binary 
version of the subroutine is on the 
disk. If it isn't, the module assumes 
that you have merged the BASIC ver- 
sion of the subroutine. The load- 
switch variable is turned off, the line- 
pointer variable is set to line 30000. 
and the binary version of the code is 
saved using the BSAVE command. 
BSAVE stores binary code from mem- 
ory starting at a specific location and 
continuing for a specific length of 
bytes. 

{continued) 




CompuServe 






You never know 
who you'UJbe up against 
when you go Online 
with CompuServe. 

(A mmm - 

To buy your CompuServe Subscription Kit, i 
seeyour nearest computer dealer. 
Suggested retail price $39.95, , 

To request our free brochure or order direct, 
call or write: 800-848-8199 
(In Ohio, call 614-457-0802) 

CompuServe 

5000 Arlington Centre Blvd. 

Columbus, OH 43220 E^MI 



Inquiry 81 



MAY 1986 



IYTE 153 



J 






\ 



* 









0n Harrow 



I0ASF 



^e*yOfe*c- 



\ \ 




BASF QUALIMETRICT5.25" FLEXYDISKS" CEF 



EE AND WARRANTED. 





LOOK 

WHAT'S IN IT 

FOR YOU! 







2***, 



c *toc 



■1/ifS.x 



''*:, 






Now more than ever, there's more for you when you buy BASF 
Qualimetric™ FlexyDisks? There's a special two-part game 
ticket that not only gives you 100 chances to win an Apple*' lie 
Computer in our Apple-a-Day Sweepstakes, but is also an excit- 
ing scratch-off game with 14,110 chances to instantly win cash 
prizes up to $1 ,000. What else is in it for you? Only the best. . .the 
BASF FlexyDisk, certified 100% error-free and warranted forever. 
See your BASF dealer today and look for the specially-marked 
boxes of 5.25" and 3.5" BASF FlexyDisks. 



BBASF 



SUBROUTINE OVERLAYS 



Take advantage 
of this simple approach 
to subroutine overlays 
in your GW-BASIC 
applications programs. 



If the binary version of the subrou- 
tine is already on the disk, the pro- 
gram loads it, and the module located 
at line 8 1 00 takes over. (If the ASCII 
version of the subroutine has not 
been merged and the binary version 
is not on the disk, an error will occur.) 
Because the subroutine length and 
starting position will vary depending 
on the needs of the calling program, 
the program must alter, or relocate, 
the code to fit into the allocated 
space. 

The program looks 8 bytes ahead in 
the first line of the binary subroutine; 
thus the BASIC version of the subrou- 
tine must start with one line that con- 
sists of only a line number and one 
remark statement. The program then 
subtracts the address found from the 
line-pointer variable + 8 to calculate 
the pointer adjustments throughout 
the binary version of the subroutine 
now in memory. These adjustments 
are made line by line until the end of 
the program is detected (when the ad- 
dress pointers are 0)— so the subrou- 
tine must be at the end of the main 
program when the binary version is 
saved. The rest of the code is very 
straightforward. 

One further note: If .changes are 
made to the subroutine and an up- 
dated binary version needs to be 
saved on the disk, you must delete the 
current version before running the 
program. Otherwise, the program will 
attempt to load the existing binary 
subroutine. 

This simple approach to subroutine 
overlays in GW-BASIC should be 
useful to any BASIC programmers, 
l^ke advantage of the technique and 
improve on it when you incorporate 
the sample program modules into 
your applications. ■ 

MAY 1986 'BYTE 155 



I z: .II 




I 



1 





ASYSTANT Ready-fo-Run Scienlific Software and ASYST are Irademarks of Macmillan Software Co. 



Now choose from a menu. 



Two scientific 

software systems 

for the way you 

do research. 



New ASYSTANT 

Ready-to-Run Scientific Software.™ 

Macmillan Software proudly intro- 
duces ASYSTANT menu-driven software . 
The first scientific software that lets you 
acquire, reduce, analyze, and graph data- 







without programming! 

ASYSTANT is a comprehensive, fully- 
integrated research system-so you won't 
waste time flip-flopping data from one 
package to another to get the results you 
need. Only ASYSTANT gives you a wide 
range of one-touch reduction/analysis 
functions supported by interactive graphics 
that guide you every step of the way. Built-in 
functions include FFT, smoothing, integra- 
tion, differentiation, curve fitting, statistics, 
differential equations, and matrix and poly- 
nomial operations. And only ASYSTANT 
combines all this power with optional menu- 
driven data acquisition for true, push- 
button control of lab equipment. Overall, 
ASYSTANT gives you more capabilities 
than any other product in its price range. 

For information on ASYSTANT, circle 427. 




ASYSTond ASYSTANTwere developed by Adaptable Laboratory Software, P.O. Box 18448, Rochester, NY 14618 



Or make it to order. 



ASYST." 

More interfacing, analysis, and graphics 
capabilities than any other PC software. 

Macmillan's widely-acclaimed ASYST" 
Scientific Software offers an interactive 
programming environment with the built-in 
functions of ASYSTANT-plus many more. 

ASYST's unique capabilities provide 
the building blocks that let you assemble 
scientific applications-fast. Sophisticated 
functions that would take hours using stan- 
dard programming languages take only 
minutes with ASYST. And full-scale systems 
that would take months to develop can 
now be created in just a few days. 

RS-232 and optional A/D and GPIB/ 
IEEE-488 support offer more interface ver- 

For information on ASYST, circle 428. 




satility than any other scientific software. 
All hardware support functions integrate 
seamlessly with the full range of ASYST 
capabilities. 

Try ASYST or New ASYSTANT 

for 30 Days. 

CALL 1-800-348-0033 

In New York state, (212) 702-3241 . 

Macmillan 
Software Co. 

An affiliate of Macmillan Publishing Company 
866 Third Avenue, New York, NY 1 0022 

For information on both products, circle 429. 



-? 






/' 












:/. 



^ 



^ 






»<T 






BYTE 



Mass Storage 



The Evolution of Mass Storage 

by Leonard laub 161 

CD-ROM Software Development 

by Bill Zoellick 177 

The Application Interface 
of Optical Drives 

by Jeffrey R. Dulude 193 

Optical Disk Error Correction 

by Solomon W. Golomb 203 

A Roundup of 
Optical Disk Drives 

by Rick Malloy 215 

Tape Backup Systems 

by Anthony Antonuccio 227 

Laser Libraries 

by Norman Desmarais 235 



PEOPLE HAVE BEEN STORING information for a long time, and regardless 
of the technology that they use, they invariably run out of room. This endless 
quest for more space in which to store data— our thoughts, hopes, dreams, 
and recordings of the thousands of activities of each day— has spurred 
technology ever since the first cave dwellers realized they would have to draw 
over some old drawings or find themselves a new cave. 

In this issue of BYTE, we'll take a look at the current state of data storage 
on microcomputers, including an in-depth look at laser technology, which 
allows hundreds of megabytes of information to be stored on disks no bigger 
than traditional floppy disks. 

Starting things off, Leonard Laub, featured speaker at the recent First Inter- 
national Conference on CD-ROM, provides a historical perspective for mass 
storage and a close look at the technology behind various laser-based data- 
storage systems. 

To make the best use of the massive amounts of information that can be 
stored on a small CD-ROM requires careful thought about how you put the 
information on the disk and how users will take it off. In his article, Bill Zoellick 
examines some of the issues involved in developing software for CD-ROMs. 
In a similar vein, Jeff Dulude discusses write-once optical drives and the 
development of software for disks on which you can store your own data but 
not erase it. 

The ability to store vast amounts of information on a disk is wonderful, but 
only if you can be sure that the information is correct. Solomon Golomb pro- 
vides a clear introduction to the arcane science of error correction and 
detection. 

Several publishers of large databases are now providing those databases 
on optical disks. The article by Norman Desmarais and the accompanying text 
box by ]oe Dorner discuss some of those products, while Rich Malloy reports 
on the optical systems currently available for use with microcomputers— and 
there are a surprising number! 

We haven't forgotten good old magnetic media. Anthony Antonuccio pro- 
vides an introduction to tape backup systems for microcomputers, explain- 
ing how they work, the pros and cons of various types, and what to look for 
when you buy one. 

One note: There doesn't seem to be any universal agreement on the spell- 
ing of the word "disk." We have adopted the convention of spelling it with 
a "k" in all cases, except where referring specifically to Sony's trademarked 
Compact Disc product. You may not agree with our choices; our authors didn't 
always agree either, so don't blame them. 

— Ken Sheldon, Technical Editor 



MAY 1986 -BYTE 159 



Has your PC taken 
over your desk? 

Has your PC got you crammed into two square 
inches of work space? Surrounded you with a sea 
of power cables? Basically taken over your desk? 
Don't despair. Help is on the way. With five clever 
accessories from Kensington. 

m 



System Stand liberates your desktop. 

When you bought your PC, nobody told you 
it would swallow 80% of your desktop. Big, noisy, 
hot - wouldn't you love to get it off your desk and 
out of your way? Our adjustable System Stand 
does just that, no matter what PC you own. $29.95 

a Master Piece® gives you the power. And 
you need it, because they sure didn't have a 
PC in mind when they wired your office. Other- 
wise, they'd have given you more than one outlet. 
Want an elegant solution? Get a Master Piece. 
Just slide it under your monitor and plugyour PC, 
monitor, printer, modem - even a desk lamp - 
into the back. Now you can control the power to 
your whole system with the Master Piece's front- 
mounted switches. Talk about convenience. 
There's even a master switch to turn everything on 
and off at once. More than just 
convenient, Master Piece protects 
your equipment from dangerous 
glitches in the power line with top 
quality surge suppression, noise 
filtering, and static dissipation. 
$149.95 




Tilt /Swivel relieves the pain in your 
neck. Stop adjusting yourself to fit 
your monitor. Get a Tilt/Swivel. It raises 
your monitor, tilts and swivels to give you a 
comfortable, adjustable fit. And look how neatly 
it will fit under your Master Piece. $49.95 

SCopy Stand increases productivity. The 
first made especially for PC users, our Copy 
Stand makes data entry easy and accurate by 
placing your notes right next to the screen. $29.95 




Antistatic Wrist Rest makes typing a 
breeze. This comfortable rest lets you type 
all day without getting tired. Also grounds dan- 
gerous static automatically, whenever you reach 
for your keyboard. $49.95 

Fora dealer near you, or to speak 
to a Kensington sales person, 
call toll free (800) 535-4242. 
In NY (212) 475-5200. 



KENSINGTON^ 




Complete outfitters to the PC workstation. 

Inquiry 190 



Master Piece is UL-approved. 

G 1986 Kensington Microware Ltd. 



I 



MASS STORAGE 



THE EVOLUTION 
OF MASS 
STORAGE 



by Leonard Laub 



An overview of the technology's beginnings, current status, and 
potential development in the realm of microcomputers 



MAGNETIC TAPE, the first practical 
mass storage medium, was difficult to 
standardize. The high-density format 
of one year was the technical antique 
of the next. Lineal densities on tape 
went quickly from 555 bits per inch 
to 800. 1600, and 6250 bpi. These ad- 
vances were painful in terms of inter- 
changeability. The solution was to 
build new drives with backward com- 
patibility. This complicated the new 
drives and challenged drive designers 
to avoid compromising the perfor- 
mance of the new formats. 

Increases in lineal density didn't 
remedy tape's greatest limitation, 
which was an intrinsically long access 
time, typically tens of seconds. Even 
many tape drives working simulta- 
neously could not meet the random- 
access requirements of computers of 
the mid-fifties. 

Tape's long access time motivated 
the development of magnetic disks. 
Only one short motion and a short 
wait were required to put the head at 
any point on the disk's data-bearing 
surface. This allowed mass storage ac- 
cess times to fall well below 1 second 
and filled the annoying access gap be- 



tween tape and main memory. 

As disks became faster, more 
reliable, and more widely accepted, it 
became feasible to couple disks more 
actively to main memory. This trend 
culminated in the development of vir- 
tual memory, in which data not im- 
mediately needed in main memory 
was automatically paged to disk and 
later automatically paged back to 
main memory when needed. 

In this evolution (during the early 
sixties) the magnetic disk functioned 
primarily as a buffer. Mainframe users 
continued to rely on magnetic tape 
for archival storage and interchange 
of data. 

Microcomputer 
Mass Storage 

Floppy disks began as a low-cost 
medium for loading and transfer of 
programs for mainframes. They were 
adapted for direct access storage by 
early microcomputer architects and 
went through a rapid evolution. Flop- 
pies provided both direct-access and 
removable, interchangeable mass stor- 
age that fit well with the simple oper- 
ating systems typical of early micros. 



The small "Winchester" fixed- 
medium disk was an immediate hit 
with the microcomputer community 
because it provided such fast access 
and transfer of data. There was vir- 
tually no tradition of tape use with 
micros, and as a result microcom- 
puters evolved with big, fast buffers 
and no effective method for backup 
or archiving. 

Most microcomputer operating sys- 
tems still make only primitive provi- 
sion for using floppy disks as "dump" 
media, and the rapid increase in 
typical Winchester capacities leaves 
floppy disks hopelessly inadequate. 
The most promising short-term solu- 
tion is cartridge magnetic tape. 

The biggest problem with using car- 
tridge tape in a microcomputer en- 
vironment is that it is an expensive ad- 
dition with no apparent function other 

{continued) 
\£onard laub is president of Vision Three Inc. 
(2110 Hercules Dr., Los Angeles. CA 
90046). a consulting firm that specializes in 
mass storage technology and systems. He has 
spent twenty years developing and commer- 
cializing mass storage devices and has been 
awarded twelve patents. 



MAY 1986 'BYTE 161 



UNLOCK Removes 
Copy Protection 

RUNS YOUR SOFTWARE ON ANY HARD DISK 

• Produce non-protected 
DOS copies from popular 
software programs 

• For IBM 9 PC, XT, AT, 
compatibles 



Guaranteed to work only with programs below: 






UNIock ALBUM "A" 



$49.95 



(Plus $4 ship/handling. 
Foreign orders $10) 



• LOTUS 1-2-3™ (1.A, la\ 2.0) 

• dBASE III™ (i.o, 1.1, 1.2 & plus) 

• FRAMEWORK™ (to, 11, 11) 

• SYSTAT™ (1.3 & 2.0) 

• SPOTLIGHT™ (1.0 & 1.1) 

• GRAPHWRITER™ (4.3 & 4.31) 

• REALIA COBOL™ (1.2, 2.0) 



UNIock ALBUM "B" 



$49 



j AC (Plus $4 ship/handling. 



Foreign orders $10) 



• SYMPHONY™ (1.1) 

• CLIPPER™ (Winter '84, Summer '85) 

• ELECTRIC DESK™ ( 1.04) 

• DOUBLEDOS™ 

• MANAGING YOUR MONEY rM 

(1.5 & 1.51) 

• smARTWORK™(i.o rev 8 thru 10) 

• DATA BASE MANAGER II™ 

(2.0, 2.02) 



UNIock ALBUM "C" 



$49 



CfcfZ ( p| us $4 ship/handling. 



Foreign orders $10) 



• MICROSOFT WORD™ 

(1.5, 2.0, 2.01) 

• MULTILINK ADVANCE™ 

(3.02 & 3.03) 

• IBM WRITING ASSISTANT™(i.oi) 

• LOTUS 1-2-3 REPORT 
WRITER™ ( i.o) 

• PARADOX™ (i.o) 

• PFS ACCESS™ (1984 Edition) 

• THINKTANK™ (2.0) 



TranSec UNIock is a unique software copying 
disk that removes copy protection, 

providing standard non-protected DOS copies. 
UNIock runs on IBM® PC, XT, AT, and 
compatibles with at least 256K (or more 
required for some programs), DOS 2.1 or 
higher. 

BACKUP COPIES. UNIock safely and 
easily makes backup copies. 

RUN ON HARD DISK. Programs load 
faster, use less disk space and work with any 
hard disk, including Bernoulli Boxes. No 
longer do you need the original in drive "A". 

RUN ON RAM DISK. UNIock is the only 
software that can run copy protected software 
on a RAM disk or micro-floppy. 

EASY TO USE. 1) Type UNIock. 2) Select 
program destination. 3) Insert program disk. 

SAFE ORIGINAL. UNIock does not alter 
your original distribution disk. UNIock works 
by creating a copy of your distribution disk 
on a hard or floppy disk. It then removes copy 
protection from the copy! 

Choice of the Critics! 



'Best of UNIock" 
ALBUM "D" 



$74 



AC (Plus $4 ship/handling. 



Foreign orders $10) 



• MICROSOFT WORD™ 

(1.5, 2.0, 2.01) 

• dBase III™ (to, 1.1, 1.2 & plus) 

• LOTUS 1-2-3™ (1.A & 1.A-, 2.0) 

• SYMPHONY™ (1.1) 

• FRAMEWORK™ (to, 11, 11) 

• CLIPPER™ (Winter "84, Summer '85) 

• MULTILINK ADVANCE™ 

(3.02 & 3.03) 



UNLOCK 



BYTE 



"UNIock 4. 7 defeats th e latest 
Prolok and SuperLock type 
of copy protection scheme It's menu-driven and 
works fine on the programs ifs supposed to 
work on: Lotus 1-2-3, dBase III, Framework, 
Symphony, Paradox, and several others." 

Jerry Pournelle, BYTE, Feb. '86 



{PERSONAL] 



"UNIock has two particularly 
endearing characteristics: it 
works, and works simply. I was able to quickly 
produce unprotected copies of Lotus 1-2-3 
release 2, Symphony 1.1, Microsoft Word 2.0, 
dBase III 1.1, and Framework II. These copies 
performed flawlessly, as did copies of these 
copies." Christopher O'Malley, 

PERSONAL COMPUTING, April '86 



NEW! SPECIAL OFFER 
"Best of UNLOCK 



ORDER BY TELEPHONE TODAY! gj 

1-305-474-7548 S3 




TranSec Systems, Inc., 1802-200 North University Drive, Plantation, FL 33322 

Trademarks are the sole property of their respective owners. • UNIock is For UseOnlyto Improve the Useability of Legally 
Acquired and Operated Software. 



EVOLUTION 



than protection. Except in emergen- 
cies, no direct access is made to tape. 
Little software is released on tape for 
micros. These two factors alone create 
an acceptability gap, as big a problem 
as the access gap mentioned above. 

Optical Storage 

During the last 1 5 years, an entirely 
new family of mass storage media has 
emerged, based on the use of light 
rather than magnetism. 

The earliest commercial optical 
disks were molded plastic read-only 
disks that stored television programs. 
Introduced in 1978 as consumer 
products, they were based on a stan- 
dard called LaserVision and stored up 
to one hour of broadcast-quality 
video on each side of the 12-inch disk. 

LaserVision records the video image 
as an FM signal on a tight spiral track 
that makes 54,000 turns in covering 
a disk surface. This places the turns 
of the spiral 1.6 micrometers apart, 
corresponding to a track density of 
almost 16.000 tracks per inch (tpi), 
several hundred times greater than 
that of a floppy-disk drive and tens of 
times more dense than any Win- 
chester disk drive. 

The FM signal is recorded on the 
master disk by turning its "on" half 
cycles into pits (physical depressions 
or trenches in the disk's surface). The 
pit density corresponds to lineal data 
densities of about 2 5.000 bpi. This is 
about 10 times the density of today's 
practical magnetic disks. 

The pit pattern on the master disk 
is copied by electroplating to make 
stampers, used to mold the information 
pattern into the plastic disks. These 
plastic disks are made quickly and 
cheaply and are not very flat (com- 
pared to the platters of high-per- 
formance Winchesters). 

To read the information from the 
disk, the player must maintain its 
focused light spot on the track within 
a few micrometers axially and a few 
tenths of a micrometer radially. The 
gap between the disk's waviness and 
these tight tolerances is closed by two 
powerful servomechanisms, one con- 
trolling focus, the other controlling 
tracking. Each servo uses an optical 
sensor to determine instantaneous 
error and a small motor to reposition 



EVOLUTION 



the light spot to correct the error. 

These servos are fast and wide- 
ranging enough to handle typical 
"potato chip" disks (those with signifi- 
cant surface irregularities). They take 
up all the slack in both the disks and 
the players and are thus centrally re- 
sponsible for the practicality of the 
LaserVision system. 

Digital Audio Disks 

The high area! density and easy inter- 
changeability of LaserVision video 
disks generated interest in the possi- 
bility of using this entertainment- 
oriented medium to store digital data. 
One result of this was Sony's Compact 
Disc, a read-only optical audio disk on 
which the audio information is en- 
coded digitally. 

Compact disks (CDs), which store up 
to 74 minutes of very-high-quality 
audio program on one surface of a 
12-centimeter (4.72-inch) molded 
plastic disk, can be described as min- 
iaturized versions of LaserVision disks. 
A system of error correction and 
channel coding was developed to 
carry and protect this data. 

Since 1983. when audio CDs were in- 
troduced, player prices have dropped 
by a factor of five and the number of 
CD titles has risen to nearly 10 per- 
cent of that of conventional LPs. 

CD-ROM 

The success of CDs supported the in- 
troduction of CD-ROM (compact disk 
read-only memory), an adaptation of 
CD specialized for the distribution of 
large digital databases (see the text 
box "CD-ROM Technology" on page 
164). One CD-ROM stores about 5 50 
megabytes of data, with an uncor- 
rectable-error rate below 10" 13 . 

CD-ROM, introduced early in 1985, 
is already the heart of some serious 
businesses based on electronic pub- 
lishing of encyclopedias, reference 
works, professional directories, and 
other large databases. CD-ROM drives 
come either in add-on or add-in ver- 
sions; the latter install in microcom- 
puters just like floppy-disk drives. 

JUKEBOXES 

Nonalterable storage implies ever- 
growing storage volumes, the prime 

(continued) 



Simplifies 
Finding Your Files 

EXPANDS FILE NAME CAPABILITY TO 32 CHARACTERS 

• Automatically translates 
PCeasy file names to DOS 
file names 

• Commands and DOS 
both run faster 

• Easy menu access to 
application programs 



TranSec PCeasy is a new easy-to-use 
software file management system that 
organizes your files, simplifies DOS and 
speeds up your IBM® PC, XT, AT or 
compatibles (DOS 2.1 or higher, 256K or 
larger, and hard disk required). 

FILE LIKE YOU THINK. The heart of the 
PCeasy system is its expanded 32 
character capability to name your files 
naturally, the way you think. Eliminated 
are the maze of DOS standard 8 character 
limit half-forgotten or cryptic file names. 

With PCeasy you can use easily 
remembered names, plain words, even 
dates, to name your files. You can also 
name file "folders" to place reports, letters, 
spreadsheets, programs, or whatever, in 
their own logical, easy to find location. 

SIMPLE FILE ACCESS. To access a file, 
you don't have to type the name again. All 
you do is select the file you want and 
PCeasy immediately finds it for you. 
PCeasy file names work with nearly any 
application program (including Lotus 
1-2-3™, Symphony™, dBase III™, 
Framework™, etc.) because they are 
converted to standard DOS file names. . . 
automatically. 

FAST MENU ACCESS. To access a file, 
you don't have to type the name again . All 
you do is select the file you want and 
PCeasy immediately finds it for you. 

COMPUTERS WORK FASTER. 

Commands are performed faster and DOS 
runs more efficiently. An expanded "type 
ahead" buffer keeps the system speedy. 

EASY TO USE. PCeasy prompts you 
through DOS commands and on-line help 
is always available. No need to learn a lot 
of new complicated commands and extra 
keystrokes. 

Order Today for the EASY Life 

$74.95 ea. 

(PLUS $5.00 SHIP/HDL; FOREIGN ORDERS $15.00) 





STANDARD DOS SCREEN with maze of 
hard to remember and confusing file 
names, because you are limited to 8 
characters. 




PCeasy FILESMENU features an expanded 
32 character capability to name your files 
with easily remembered names, plain 
words... even dates. Select the file you want 
and PCeasy finds it for you fast! 



1 !«■£. 

1 jfalf 




'i--.'I '' : *•"•"' ■ ' 


S ?7-31 f 




E.lir for Help in uimj yctim 



PCeasy PROGRAM MENU features quick, 
easy, automatic menu access to your 
application program and DOS operating 
commands. Select function you want... 
PCeasy does the rest. 

ORDER TODAY BY TELEPHONE! 

1-305-474-7548 



NOT COPY 
PROTECTED 



TranSec Systems, Inc., 1802-200 North University Drive, Plantation, FL 33322 

Trademarks are the sole property of their respective owners. 



EVOLUTION 



CD-ROM Technology 



Concern about the quality of mass- 
produced compact disks moti- 
vated the development of Reed- 
Solomon ECC (error-correcting code). 
This error-correcting scheme works in 
conjunction with the standard com- 
pact-disk ECC to reduce corrected-bit 
error rate by at least three orders of 
magnitude. 

The additional ECC requires addi- 
tional storage overhead, taken from the 
CD's user-data capacity. This penalty 
produces a benefit; no special tech- 
niques or controls are needed for CD- 
ROM mastering and replication. The 
same factory can thus make both audio 
compact disks and CD-ROMs almost 
without noticing which is which. This 
permits CD-ROM to share the benefits 
of process developments and econ- 
omy of scale resulting from the success 
of consumer CDs. 

While CD-ROM was in its infancy, 
microcomputers were just beginning 
the current IBM PC-inspired wave of 
market penetration and standardiza- 
tion. This explains why. in the early 
days of CD-ROM, a relatively small 
amount of work was devoted to inter- 
face and file-format specifications. 

Data Format 

CDs and CD-ROMs accept data in 
bytes. Twenty-four bytes make up a 
"frame." Each frame also contains I 
byte of "subcode" data (an auxiliary 
channel carrying timing, disk identifica- 
tion, and several other kinds of support 
data) and 8 bytes of additional data 
computed from the actual user data 
and used for error correction. 

In the CD format 98 frames form a 
block. Blocks occur 75 times per sec- 
ond, each one carrying 23 52 bytes of 
user data, so the sustained user-data 
rate in CDs in 176.40K bytes per 
second. 

The key difference between CD and 
CD-ROM is the provision for an extra 
layer of error correction, intended to 
deliver very low uncorrectable-bit error 
rates. These are realized by devoting 
288 bytes of each block to the addi- 
tional data calculated by the layered 
ECC encoder. 

In addition, CD-ROM uses random 
access to blocks, so 1 2 bytes of each 
block are dedicated to synchronization 



and 4 bytes are used to provide the 
"absolute address" of the block. This 
leaves 2048 bytes of user data per 
block, for a sustained user-data rate in 
CD-ROM of 1 53.60K bytes per second. 
Note that CD and CD-ROM formats 
differ only in the application of the 
bytes carried in each block. They are 
mastered, molded, and read in exact- 
ly the same way. This is key to the 
beneficial linkage between the two for- 
mats and assures CD-ROM's benefit 
from the rapid improvements in CD- 
player and disk design and manufac- 
turing improvements. 

Addressing 

CD and CD-ROM data is written on a 
continuous spiral track, with a variable 
(and usually noninteger) number of 
blocks per disk rotation. The variabil- 
ity comes from the CD's use of CLV 



(constant linear velocity) to maximize 
storage capacity. The disk spins at be- 
tween 200 and 500 rpm depending on 
which radius is being read. 

Since CD-ROM shares this CLV for- 
mat, it also uses the CD address 
nomenclauture of minutes (0 to 73 in 
CD, to 59 in current CD-ROM prac- 
tice), seconds (0 to 59), and blocks (0 
to 74). 

The number of blocks available per 
CD-ROM is 270.000. At 2048 bytes (of 
user data) per block, this yields a total 
user capacity per disk of 5 52,960.000 
bytes (or 5 53 megabytes). This is com- 
pletely usable capacity; it remains after 
all overhead associated with sector for- 
matting and error correction. Other 
numbers seen in the literature (usually 
between 500 and 600 megabytes) re- 
flect only variations in the total number 
of blocks recorded, not in any other 



CDD- FEATURES- INTERLEAVING 



c 


F 


U 


- 


E 


A 


G 


D 


E 


R 


1 


R 


V 


- 


D 


A 


E 


N 


L 


1 


- 


- 


T 


S 


T 


E 


N 


- 



read in 



read out 



c 


p 


u 


- 


E 


A 


G 


D 


E 


R 


1 


R 


V 


- 


D 


A 


E 


N 


L 


] 


- 


- 


T 


ST 


EN 





C 


F 


U 


- 


E 


A 


G 


D 


E 


R 


1 


X 


X 


X 


X 


X 


X 


N 


L 


1 


- 


- 


T 


S 


T 


E 


N 


- 



C 


F 


U 


- 


E 


A 


G 


D 


E 


R 


1 


X 


X 


X 


X 


X 


X 


N 


L 


1 


- 


- 


T 


S 


T 


E 


N 


- 



h 



error burst 



H 



read in 



read out 



c 


D 


7 


- 


F 


E 


7 


T 


U 


R 


■? 


S 


- 


1 


N 


T 


E 


7 


L 


E 


A 


9 


1 


N 


G 


■p 


- 


- 



Figure A: \n this example of data interleaving, the long error burst (xxxxxx) is separated 
into shorter ones that can be handled by the error-correction decoder. 



164 B YTE • MAY 1986 



EVOLUTION 



aspect of formatting or coding. 

Error Correction 

CDs use a specially developed system 
of data encoding and reorganization 
called CIRC (cross-interleaved Reed- 
Solomon code). CIRC consists of two 
major techniques: algebraic ECC and 
interleaving. 

Algebraic ECC 

Many mathematical techniques exist 
for correcting errors due to interrup- 
tions or noise in the data channel. All 
of these calculate relatively small 
amounts of additional data, adjoined 
to the user data either continuously 
(convolutional codes) or blockwise 
(block codes). 

One class of block codes particular- 
ly good at patching data streams with 
long gaps (error bursts) was developed 



by Reed and Solomon. CIRC uses two 
Reed-Solomon (RS) codes in tandem. 
The first (C2) takes the 24 bytes of 
user data for each frame and generates 
4 bytes of additional data. The second 
(CI) takes the 28 bytes output by the 
first (C2) and generates another 4 bytes 
of additional data. This is the origin of 
the 8 bytes of ECC found in each CD 
frame. 

Interleaving 

The second major component of CIRC 
is interleaving. This is a deliberate re- 
organization of data so as to break up 
long error bursts. Figure A shows a 
simplified version of the interleaving 
scheme used in CIRC. In CD encoding, 
interleaving is done on the 28 bytes 
leaving the C2 encoder. Since this is 
just a reordering of data, interleaving 
requires no additional overhead. 



On decoding (during reading of a 
disk), 32 bytes (of user data plus ECC) 
go into the CI decoder, which can cor- 
rect I wrong byte. If more than I of the 
32 bytes Is wrong, the CI decoder sets 
a flag. Under any circumstances, the CI 
decoder delivers 28 bytes to the dein- 
terleaver. 

After deinterleaving, the 28 bytes ar- 
rive at the C2 decoder at different 
times. As each byte arrives, the C2 
decoder looks to see whether or not 
that byte is accompanied by a flag 
from the CI decoder. Of the 28 bytes 
entering the C2 decoder at any one 
time, up to 4 can be wrong and still be 
corrected. 

Performance 

The combination of the two codes and 
interleaving makes it possible to cor- 

[continued) 



8-bit data 



14-bit 
modulated data 



merging bits 

sync pattern 
(part of 24 bits) 



I I 10)000 II 1 000 1 101 I 1010 I I I 01 01 I 



000 1 00 1 00000 10 I00I000I0000I0 000 1 0000 1 00 1 00 00 1 00000 1 0000 1 




000 




I001000I000010 001 000 1 0000 100 100 100 00 100000 1 00001 000 



00 1 0000000000 1 00 1 0000 1 00 1 00000 1 0000 1 00 1 000 1 0000 1 000 1 000 1 0000 1 00 1 00 1 00 00 1 00000 1 0000 1 00 

7 1 n n i — un r"LJ L_n I I r 



/. 



SIGNAL TO MASTER RECORDER 



PITS ON DISK 




CHANNEL BITS 



Figure B: The EFM (eight-to-fourteen modulation) process. Note the long pits burned into the disk by the laser, encoding up to ten 0s 
within a single pit. 



MAY 1986 • BYTE 165 



EVOLUTION 



rect error bursts up to 4 50 bytes long. 
This long a burst would take up almost 
2 millimeters along a track, a far from 
microscopic defect. Current CD quality- 
control techniques screen out nearly 
all such defective disks. 

If a still longer error burst occurs, the 
C2 decoder sets a flag indicating un- 
reliable data. The typical CD player 
then either interpolates (fakes it) or 
mutes (gives up). 

Layered ECC 

CIRC operates on frames of data. CD- 
ROM incorporates an additional layer 
of algebraic encoding that works on 
blocks of data. Before entering the 
CIRC process described above, user- 
data blocks of 2048 bytes go through 
the layered ECC encoder, which adds 
276 bytes of data to be used for error 
correction and 4 bytes of data to be 
used for error detection. 

Within the 288-byte area devoted to 
layered ECC in the CD-ROM block, the 
first 4 bytes contain the additional data 
for error detection, the next 8 bytes are 
all 0s. and the remaining 276 bytes 
contain the additional information 
needed for error correction. 

Calculated uncorrectable-bit error 
rates for CD-ROM are below 10 -15 , and 
observed rates are safely below 10~ 13 , 
at least as good as the best magnetic- 
storage devices available today. 

Channel Encoding 

CD-ROM differs from CD in data for- 
mat and error correction. At the level 
of channel code, which works on in- 
dividual bytes and frames. CD and CD- 
ROM are the same. Both use a chan- 
nel code called EFM (eight-to-fourteen 
modulation). 

The name refers to the first step in 
the coding process, in which each byte 
of data is replaced by a 14-bit se- 
quence, and each pair of such se- 
quences is separated by a 3-bit "merg- 
ing sequence" (see figure B). After the 
1 subcode byte, the 24 user-data bytes, 
and the 8 ECC bytes are dealt with this 
way, the EFM encoder adds an addi- 
tional 24-bit pattern for synchroniza- 
tion and another 3-bit merging se- 
quence. 

Thus, a frame carrying 24 bytes (192 
bits) of user data is represented by 588 
"channel bits." These are actually in- 
structions to the master recorder, in the 
sense that a pit will be started when 
a T' channel bit is received, continued 



while the channel bits are 0s, and 
ended when the next 1 channel bit is 
received. 

The channel clock rate is 4.3218 
MHz. and the "ticks" of this clock are 
the increments of duration of the pits 
and spaces. At the standard CD scan- 
ning speed of 1.3 meters per second, 
one tick covers 0.30 micrometer along 
the track. 

The rules by which the sequences 
mentioned above are chosen guaran- 
tee that the pits and spaces on a CD 
or CD-ROM will have lengths that are 
never greater than 1 1 ticks (3.3 micro- 
meters) or less than 3 ticks (0.9 micro- 
meter). 

EFM is thus a "run-length limited" 
code, related to the (2,7) code used in 
high-performance magnetic-disk drives. 
It fits the signal power into a well-de- 
fined spectrum (160 to 720 kHz), avoid- 
ing both the high spatial-frequency 
region unreadable by the optics and 
the low temporal-frequency region 
used by the tracking servos. It is also 
self -clocking, so no companion track or 
indirect clock is needed. 

Interfaces 

At the output of the ECC decoder, the 
data stream is fully realized as bits, 
which have already been buffered and 
made ready to be clocked out at a rate 
not necessarily tied to the disk rotation. 
Absolute block addresses have already 
been decoded at this point. 

This is comparable to the degree of 
isolation of the system from the idio- 
syncrasies of the basic drive provided 
by the small computer system inter- 
face. SCSI is rapidly emerging as a 
good way to tie together many sharp- 
ly different types of storage devices, 
along with certain I/O devices, by 
translating from the native character- 
istics of each to a common, straightfor- 
ward interface. As the mainstream of 
magnetic-storage devices for high- 
performance microcomputers shifts to 
SCSI. CD-ROM, like any new product. 
will be obliged to follow. 

The other leading CD-ROM interface 
ties directly to the bus of the IBM PC. 
This computer is well suited to control 
the CD-ROM drive in many of its best 
applications, and it is always easier to 
bring the new equipment and software 
to hardware already widely installed. 
In time, however, this interface may be 
replaced by SCSI host adapters for the 
PC and SCSIs on the drives. 



application for optical disks. In order 
to deal with a database spanning 
many disk volumes, some companies 
sell what is often called a "library" or 
"autochanger." but it is hard to resist 
calling it a "jukebox." This machine 
can put any of a large number of disks 
into any of a small number of drives, 
automatically, under software control. 

Optical disk jukeboxes seem to fill 
the access gap, in that they provide 
automatic access to hundreds of giga- 
bytes of data, of which a significant 
amount (5 to 10 percent) is mounted. 
Since all data is stored on disks, the 
mounted part is directly available. 
With judicious application of staging 
algorithms, this can make the whole 
database appear to be on disk. 

Second-generation optical disks 
began appearing commercially in late 
1985. These are aimed directly at 
microcomputers and are packaged in 
the standard full-height 514-inch box. 
Capacities range from 100 to 400 
megabytes per disk side. Current ap- 
plications for these separate into the 
"new," such as image storage and 
transaction recording, or "evolu- 
tionary," in which the optical disk 
backs up one or more Winchesters. 

The current small optical drives all 
use write-once media, but work is pro- 
ceeding on the development of 
alterable media. A small optical disk 
drive exercising a fully functional, 
alterable medium could replace both 
a small Winchester and its backup 
device. It could also write and read 
write-once media, for applications re- 
quiring nonalterable storage, and it 
could read read-only media, for ac- 
cess to published databases and in- 
structional material. 

Given the strong constraints on size 
and price for microcomputer systems, 
such a drive might be a great success. 
Alterable optical media have recent- 
ly graduated from laboratory to pro- 
duction prototype stage and are pre- 
dicted to be available in early 1987. 

Writable Optical Drives 

After a long gestation, writable optical 
disk drives emerged in 1983 as com- 
mercial products. These first-genera- 
tion optical disk drives used 12-inch 
disks that stored about 1000 mega- 

(continued) 



166 B YTE • MAY 1986 



ENERGRAPHICS 2.0 

WE SIMPLY MADE IT BETTER! 




It's here! The newest release of 
ENERGRAPHICS. The graphics package once 
labeled "A Step Ahead of the Rest", has now 
jumped even further ahead with its Version 2J0. 
In one package we have combined more types 
of graphics with more capability employing the 
latest in ease-of-use methods than any PC 
package available today. To say it simply. 
Enertronics has made ENERGRAPHICS 2.0 the 
easiest to use and the best there is! 

Some Highlights of ENERGRAPHICS 2.0 



D«pk. Bio umo* Leyoufc 
Fumlfcur* CbrtflgumUon 



New Ease-of-Use 
Features: 

• Mouse/Digitizer 
(Optional) 

• Help Screens 

• On-Screen Graphics 
Editing 

• Drawing Commands 
On-Screen 




New Capabilities: 

• 2 and 3 Dimensional 
Pie, Bar, Line Charts 

• Paint/Fill 

• New Fonts 

• Merge up to 4 
Graphs on a Screen 

• Entirely New 
Documentation 
Conversion of 2D 
Symbols into 3D 
Symbols 

User Defined Curve 
Fitting 



Of course we can't list all 
the 2.0 enhancements but 
we know this is the program for you. And, for 
those who only want the charting capability of 
ENERGRAPHICS 2.0, we've packaged it into a 
separate product called ENERCHARTS. So whether 
you want the total graphics solution offered by 
ENERGRAPHICS or just charting with ENERCH ARTS, 
you'll have the best in PC graphics available to you. 

ENERGRAPHICS 2.0— For your every graphics need! 
ENERCHARTS — For only your charting graphics need! 

Update Information: 

ENERGRAPHICS 2.0— Send $75.00 and #7 diskette from ENERGRAPHICS 1.3. 
ENERCHARTS— For a current ENERGRAPHICS user, send $195.00 and your #2 
diskette from ENERGRAPHICS 1.3. 

Ordering information: All orders require a check/money order or Visa/ 
Mastercard plus a shipping and handling charge. 

ENERGRAPHICS 2.0— $595.00 Retail ENERCHARTS— $395.00 Retail 

Or, call our toll free number for a dealer in your area (800) 325-0174. 




TBOMCS 



Inquiry 1 29 



vector B 

SEEING IS BELIEVING 



New Interfaces: 

• Lotus" 1-2-3™ 

• Wordstar™ I Multi pi art 

• Video Show™ 

• EGA Board 

• Polaroid Palette 

First Software, lntec-1, (United 

Kingdom) Tel: 0256 463344 Telex: 

859030 

First Software Benelux, (Belgium) 

Tel: 32(16) 202512 Telex: 26202 



Enertronics Research, Inc. 



#5 Station Plaza 



1910 Pine Street 



St. Louis, MO 63103 



(314) 421-2771 



Inquiry 147 



EVOLUTION 




STOP 

SOFTWARE 
PIRACY . . . 

. . .with one of our 
new sophisticated copy 
prevention products. 

For Hard Disk Protection 

• Fixed Disk Locker 

For Disk Security 

High Level Security 

• PADLOCK II DISK 

• SAFEGUARD DISKS 

• COUPON DISKS 

Low Level Security 

User Installable Protection 

• PC-PADLOCK 

Why should your valuable data 
or useful software program 
become available in the 
Public Domain? 



Call or write for 
more information. 




GLENCO 



ENGINEERING INC. 

3920 Ridge / Arlington Hts., IL 60004 

(312)392-2492 



bytes per surface. They were expen- 
sive enough ($5000 and up) and large 
enough (7 to I0 inches high and 19 
inches wide) to be aimed at minicom- 
puters or at least clusters' of micro- 
computers. 

The disks are a "write-once" 
medium (meaning that any given 
region can be written on but not 
altered). Most of these drives are in- 
stalled in document image-storage 
systems, a "new" application in the 
sense that no digital medium has ever 
been inexpensive and compact 
enough to make large-scale image 
storage worthwhile. 

Technology Today 
and tomorrow 

Let's look briefly at the technology 
underlying mass storage products and 
consider the future for each. 

Floppy disks and tape share the 
characteristic of operating with the 
head in contact with the medium. 
Floppy disks were originally intended 
to load programs for mainframe com- 
puters and did not need to survive 
many passes. They are presently the 
main medium for microcomputer ar- 
chival storage. This makes friction and 
wear characteristics very important. 
High-quality floppy disks are now bur- 
nished, in the manner of Winchester 
disks, to assure smoothness and 
absence of particles that might break 
off and scratch the disk. Heads are 
made of hard ferrites embedded in 
hard ceramic sliders. 

The remaining culprits for floppy 
failures are dirt and physical damage. 
All these problems are solved by the 
newer 3 /2-inch floppy format, which 
uses a rigid jacket, a sliding metal 
shutter to cover the access slots, and 
a metal hub attached to the plastic 
disk. Centering and cleanliness are 
good enough that 3 /2-inch floppy 
disks already operate at the same ca- 
pacities as 514-inch disks, up through 
the 1.2-megabyte IBM format. 

Some 5!4-inch formats go past this 
value to 3.3 or even 10 megabytes. 
These systems use special media with 
very fine oxide particles to support 
high lineal densities along the track, 
but their primary difference from con- 
ventional floppy disks is the use of a 
tracking servomechanism. This re- 



quires a head positioner similar to a 
good Winchester, while still providing 
typical floppy access times and trans- 
fer rates. 

These superfloppies seem intended 
primarily as a more compact version 
of the Winchester backup medium, 
but they run into market resistance for 
the same reasons as do cartridge tape 
drives, namely that they are additional 
drives (at an additional cost) used 
only to back up the Winchester. 

Several tiny floppy formats, between 
1.8 and 2.5 inches in diameter, have 
been shown recently as storage 
media for electronic still cameras. As 
these develop, and once a standard 
is set, one of these formats could pro- 
vide the next step down from 3/2 
inches. 

Bernoulli Disks 

Another category of flexible magnetic 
disk deserves not to be called "flop- 
py," both for distinction and because 
it doesn't flop. Iomega makes a 
unique flexible-disk drive in which the 
disk spins rapidly and is aerodynam- 
ically stabilized by the Bernoulli effect. 
The head "flies" over the surface and 
the head positioner is servo-con- 
trolled. 

The results are a single sheet stor- 
ing as much as 20 megabytes and a 
drive with access times and transfer 
rates comparable to good Winches- 
ters, along with unrestricted media re- 
movability and interchangeability. 

Rigid Magnetic Disks 

Thirty years of intensive development 
have not moved this product away 
from aluminum platters, spin-coated 
iron-oxide media, and passively 
pumped air-bearing head supports. 
Within this formula, areal densities 
have doubled every 2.4 years, the 
result of profound evolution of 
components. 

Hand-wound ring cores have given 
way to vacuum-deposited thin-film 
loops in heads. Oxide particle sizes 
have decreased dramatically, as has 
the residual roughness left by im- 
proved surface-finishing techniques 
for the platters and coatings. The 
sliders supporting the heads have 
shrunk, making it easier to maintain 

(continued) 



168 B YTE • MAY 1986 



YOU CANT GET 

A GOOD FEEL FOR A 

SOFTWARE PACKAGE 

FROM All AD. 



If you're searching 
through the ads in this 
magazine for the 
"right" software 
package, good luck. 

Let's say you're looking for a data 
base manager. You read a dozen ad5. 
Each one offers its list of features. 
Each one talks about the ideal 
combination of power and ease of 
use. And each one promises to 
"solve your problems", "answer your 
needs", or both. 

Don't believe anybody. 

We could make the same claims for 
DATAEA5E. Even before Release 2.5, 
tens of thousands of users made 
DATAEA5E the corporate data base 
standard. We could tell you that they 
found DATAEA5E to be an invaluable 
productivity tool because of its fully 
relational capabilities, full screen 
editor and unique combination of 
menus and commands. But don't 
believe us. 

More than 100 reviewers from major 
publications agree with our produc- 
tivity claims. Data Decisions called 
DATAEA5E "perhaps the most effec- 
tive blend of ease-of-use and per- 
formance available for PC users 
to date." But don't believe the 
reviewers. 



Application developers, MI5/DP/IC 
managers, and all kinds of other 
users from Fortune 1000 compa- 
nies throughout the country have 
reached strikingly similar conclu- 
sions. A user at General Instruments 
reports that "those same factors 
that make DATAEA5E preferable for 
non-programmers — ease of use 
and speed of development — make 
it the program of choice for many 
technical types, too." But don't even 
believe other users. 

Mobody knows what you know. 

Even if all these people are abso- 
lutely right about DATAEA5E, does 
that mean it's the right product for 
you? 

The best way to know if DATAEA5E 
fits your needs is to get your hands 
on our free sample diskette. Fifteen 
minutes with the sample will give 
you a feel for the best DATAEA5E yet 
— Release 2.5. It has features that 
appeal to all users; from developers 
to data entry people: A complete 
procedural language; quick reports 
at the press of a button; a direct 
interface to Lotus 1-2-5®; the ability 
to move rapidly from file to file on a 
common piece of data; and built-in 
scientific, mathematical, financial, 
date, time, and string functions. 



Find out for yourself. 

The advances in DATAEA5E's 
Release 2.5, and the support behind 
it, offer you practical advantages that 
leave all the other data base man- 
agers far, far behind — including 
R:Base 5000® and dBase III®. But 
don't believe us. Call or write for 
information and your free sample 
diskette today. 



BYT 5/86 

FREE SAMPLE DISKETTE. 

5end information and a free DATAEA5E 
sample diskette for my PC (check one): 

n ion n waiig n dec n n 



flame 



Title- 


Phnnp' 




Company: 






Strppl- 


City 


•SfafP- 


_?ip: 




Mail to: 5oftware 5olutions, Inc., 
12 Cambridge Drive, 
Trumbull, CT 06611 Telex: 703972 

Don't like samples? Then just 
call us. We'd be happy to talk 
about your information manage- 
ment needs and advise you. 

Software Solutions, Inc 
800-243-5123 



Canada 

Computerlinks, Toronto, Ontario; (416) 231-1270 
Switzerland, France 
5oftsource, 5.A. 1209 Geneve Switzerland; 985152 & 985153 

8 1985 5oftware Solutions, Inc. 

Trademarks are of their respective companies. 



5candinavia 

West 5oft A/5, Alesund, Norway; (47) 71-46166 
United Kingdom West Germany, Austria 

5apphire 5ystems, Essex; 01-554-0582 M&T 5of tware Verlag, Munich, 089-4613-0 



Inquiry 333 



MAY 1986 'BYTE 169 



Inquiry 313 




EVOLUTION 



POWERFUL INCIRCUIT EMULATION, 



' 



Priced Within Your Budget THAT'S NICE! 

Get 9$% of what you get from the Big Guys, 
For 10% of the cost. 



\bu get full-speed, real-time 
execution. Operates up to 10 
MHz with 16 hardware break- 
points, 8K bytes of overlay RAM, 
histogramming and up and down 
loading of S- record files. 

Designed for system 
development, trouble- 
shooting, debugging or 
testing in the lab, field, 
or at home, NICE 68000 
simply plugs into the 
target /iP socket and any 
RS-232 terminal or terminal 
emulator. 

Send check, money order, or 
VISA/MASTERCARD to NICE, 
215 Fourier Ave, 

L Fremont, CA 94539; 
CODs accepted. 
Other NICE emulators are available for the 
Z80, 8088, 8085 and NSC800 starting at 
$550.00. 



At $1795,00* NICE 68000 offers the 
best emulator price/performance. 




For information, call 
800-NICOLET (800 642-6538) or 
415 490-8300 (in California). 

^ Nicolet 



NICE is a trademark of Nicolet. Z80 is a trademark of Zilog, Inc. 



tight head-to-disk spacings. 

Rigid magnetic disks operate with 
heads "flying" above the disk surface 
on an air cushion. Out-of-contact op- 
eration permits very long life because 
there is no head or media abrasion. 
However, the head-to-disk spacing 
must be limited to about the separa- 
tion of bits along the track, so high 
density translates directly into small 
spacing. 

Today's high-performance drives 
have spacings of a fraction of a mi- 
crometer. This is far smaller than the 
size of typical dust particles or even 
smoke particles. Reliable performance 
requires absolute cleanliness and 
smooth motion of the disk surface. 
This, in turn, mandates a fixed 
medium. 

Further increases in density will 
reduce the spacing below the mean 
free path of the gas molecules in air. 
This means that there might some- 
times be no air under the head. While 
there are aerodynamic solutions to 
such problems, many in the magnetic- 
disk field believe that the time may be 
approaching in which optical tech- 
niques should be used. 

Magnetic Tape 

Mainframe magnetic tape recently 
made a big jump with the introduc- 
tion of the IBM 3480 /2-inch cartridge 
product. This cartridge is a package 
4 inches square that stores 200 mega- 
bytes, a dramatic change from 62 50 
bpi nine-track tape, which stores up 
to 180 megabytes on a reel 10.5 
inches in diameter. 

Quarter-inch microcomputer car- 
tridge tape does almost as well, stor- 
ing 60 megabytes in a small package. 
However, none of the computer for- 
mats store as densely as several 
based on consumer videotape. 

In a videotape recorder the heads 
are mounted on a rapidly spinning 
drum. As the tape passes slowly over 
the drum, the heads move quite 
rapidly over the tape in a diagonal 
pattern. The heads are very narrow, 
so adjacent tracks of recording can be 
spaced very closely. This results in 
about one order of magnitude more 
areal density of storage than is prac- 
tical with fixed heads. 

Several companies sell PCM (pulse- 



no BYTE • MAY 1986 



Inquiry 254 



EVOLUTION 



code modulation) adapters for record- 
ing audio digitally on videotape. After 
the analog-to-digital function, these 
machines encode the digital data into 
a signal resembling a video signal 
which is then sent to a standard VCR. 
The typical adapter samples the audio 
48,000 times per second per channel 
and quantizes each sample to 16 bits, 
resulting in a data rate of 1 . 53 6 mega- 
bits per second. This can be recorded 
for two hours on a standard cassette, 
resulting in a user-data capacity of up 
to 1382 megabytes. 

This is a streaming format, with no 
provision for start-stop and no ab- 
solute physical addressing. However, 
versions of this approach have been 
sold as backup and archiving devices 
for microcomputers. 

Honeywell uses a more basic ap- 
proach to VCR technology by dis- 
pensing with video encoding alto- 
gether, using its own electronics 
behind a VHS transport to achieve the 
capacity of 10,000 megabytes on one 
VHS cassette. 

Yet another mass storage approach 
based on consumer products may ar- 
rive if the prototype digital audio tape 
recorders now being shown become 
commercial. At present, some com- 
panies prefer fixed heads that push 
the technology but result in a small 
simple drive, while others prefer 
rotary heads similar to VCRs. There is 
also debate on the digital encoding 
(16-bit linear versus 8-bit nonlinear). 
While these debates go on, CD re- 
corders may appear. 

Read-Only Optical Disks 

The leading format in the category of 
read-only optical disks is CD-ROM. 
Some other formats deserve mention 
here. 

Before CD-ROM appeared, several 
companies developed proprietary 
digital formats based on LaserVision 
laser disks. These formats are similar 
to those of the PCM adapters for 
VCRs mentioned above and store be- 
tween 800 and 1000 megabytes per 
surface of a 1 2-inch disk. With the ad- 
vent of CD-ROM, these formats re- 
ceded to a specialty position, serving 
applications in which a large quanti- 
ty of TV imagery needs to be stored 
and retrieved along with digital data. 



Over the next two years new for- 
mats will appear that will be read-only 
versions of high-performance alter- 
able optical disk formats. These will 
provide higher data rate, faster access, 
and finer addressability than CD- 
ROM, and they will be directly com- 
patible with what may become the 
mainstream mass storage devices for 
small computers. 

Write-Once Optical Disks 

The earliest experimental writable op- 
tical disks used vacuum-deposited 
metal films as recording media. An in- 
tense laser spot heated up the metal 
beyond the melting point, forming a 
molten disk that opened up to a ring, 
expanded, and then cooled to form 
a rim around a hole in the film. 

This is a very positive method of 
marking and has no mechanism for 
reversal. Media of this sort are called 
write-once because marks formed this 
way are permanent. Metal films are 
also very stable during reading be- 
cause the lower-power light spot used 
for reading does not melt the metal. 
The metal conducts away the heat re- 
sulting from the reading beam and re- 
mains unaffected. On this basis, opti- 
cal disks developed their reputation 
for not degrading data during reading. 

Unfortunately metals like to oxidize 
and corrode, so it was necessary to 
complicate this medium to make it 
stable. Today's commercial metal-film 
media use either a single layer of 
several ingredients or multiple layers, 
each one specialized. 

These constructions are rather ex- 
pensive to make, so alternative con- 
structions, particularly those based on 
polymer materials, are attractive. It is 
important when considering these 
alternatives to look for the same kind 
of positive marking and stability dur- 
ing reading that is provided by metal 
films. 

One element of construction ripe 
for simplification is the air gap found 
in most disks. This leaves room for the 
metal to roll back during formation of 
a mark. It also requires extra assem- 
bly steps and makes the disk into a 
barometer, bulging and collapsing 
with changes in altitude. Sensitive 
layers that don't need an air gap are 
thus highly desirable. 



All good write-once media make 
very clean, repeatable marks. 'Typical 
"jitter" of mark edges from their ideal 
locations is a few tens of nanometers, 
which is just a few percent of the 
average length of a mark. Present 
drives really don't need such clean 
marking, but future drives, using ad- 
vanced channel codes now under de- 
velopment, will provide higher perfor- 
mance by storing multiple bits per 
mark. 

As a simple example, CD-ROMs 
store about 2.5 user bits per mark. Ex- 
perimental results show the feasibili- 
ty of storing 8 to 10 bits per mark (by 
fine adjustments to the positions of 
mark edges). Compared to today's 
typical value of about 1, this means 
that the same disk, optics, and drive 
mechanism might be able to achieve 
about one order of magnitude in 
lineal density, capacity, and transfer 
rate. 

Improvements in optical perfor- 
mance of the head, achieved by 
reduction in aberration and, possibly 
reduction in laser wavelength, will per- 
mit smaller spots to be made. This will 
also permit increases in area! density. 
The combination of smaller marks 
and more bits per mark will enable 
optical disks to grow in performance 
in the same rapid evolutionary way 
that magnetic disks have. 

Alterable Optical Disks 

Write-once media succeed by being 
marked in a way difficult or impos- 
sible to undo. Alterable media must 
have all the other virtues of good 
write-once media while supporting a 
marking process that can easily be 
reversed. 

Media producers are pursuing 
several development directions in 
alterable media. None of these is yet 
in full production, although several 
companies have tooled up for pilot 
production of magneto-optic (M-O) 
media. 

Perhaps more important, it is not 
clear that any of the alterable media 
currently in development can clearly 
provide a direct functional equivalent 
to conventional magnetic media. M-0 
and phase-change media require two 
passes for writing new data, and the 

(continued) 



MAY 1986 -BYTE 



171 



EVOLUTION 



Old formats must be 
supported by new drives 
for at least 10 years. 



phase-change medium still has prob- 
lems with fatigue after hundreds of 
thousands of erase-rewrite cycles. 

Despite this, it is likely that M-0 
media and drives will be introduced 
during the next two years, probably 
in 5 !4-inch format. Even with the slight 
functional difference from magnetic 
drives, M-0 drives can do much of the 
work now done by Winchesters if their 
data rates and access times are com- 
parable. Their high capacity and pain- 
less media removability then become 
strong competitive advantages. 

An ideal alterable optical medium 
could provide a perfect alternative to 
the combination of Winchester and 
backup device. Many current Win- 
chester makers feel this is the main- 
stream direction of the future because 
it does away with the acceptability 
gap described earlier for the present 
combination. 

The issue of cross and backward 
compatibility becomes relevant as 
optical-media technologies and for- 
mats proliferate. 

One of the very pleasant aspects of 
Winchester drives is that the medium 
technology and much of the physical 
formatting are invisible to the user. If 
you develop a nice new way to build 
a fixed-medium magnetic-disk drive, 
you need to provide only a standard 
interface, package size, and power- 
supply requirements. The data on old 
drives will be transferred electrically 
to the new one. 

This is not so with removable 
media, as long as people continue not 
to want to copy old data onto new 
media. Experience with tape suggests 
that old formats must be supported 
by new drives for at least 10 years. 
This suggests that alterable optical 
drives, which will begin coming into 
the market when write-once drives 
have achieved some penetration, may 
need to read, and possibly write, 
write-once disks. 

The rapid buildup of the market for 



read-only optical data disks, spear- 
headed by CD-ROM, suggests that 
alterable drives may also need to read 
read-only disks. Some companies 
support the notion of such versatile, 
"multifunctional" drives, expecting to 
meet approval from computer makers 
wanting to minimize the number of 
drives per computer, while others fear 
that the extra complication may cause 
problems. Time will tell. 

The strongest early application for 
optical storage has been the large- 
scale storage of images of business 
documents and engineering drawings. 
The combination of capacity, com- 
pactness, speed, durability, accessi- 
bility, and simplicity of remote access 
is winning. 

Most sites using such systems have 
found that they really want to store far 
more images than will fit on one disk. 
They also want automatic, centralized 
storage capable of supporting large, 
busy user communities. Finally, in 
many cases, the probability of access 
is almost uniform over the entire data- 
base, making it impossible to mount 
only the "busy" disks. The hardware 
solution to this problem has been the 
jukebox, described earlier. 

Representative current jukeboxes, 
intended for the large, busy central 
servers described above, hold about 
100 disks and from two to seven 
drives each. Other designs hold about 
20 disks and one drive. Either way, 
about 5 percent of the full database 
is mounted at any one time. 

This is more than tape jukeboxes for 
mass storage ever managed, but the 
real advantage comes from the 
throughput of the mounted disks. 
Each optical disk drive is a direct- 
access storage device, capable of tens 
of thousands of record transfers per 
hour. By adding drives to an optical 
disk jukebox, it is possible to get 
overall throughput in the thousands 
of records per hour over a database 
in the hundreds of gigabytes from a 
box the size of two large refrigerators 
that costs about $100,000. For appli- 
cations content with write-once stor- 
age, this is a breakthrough product. 

Meanwhile, NEC has shown a pro- 
totype of a jukebox based on small 
writable optical disks. It holds two 
stacks of 100 disks, each storing 600 



megabytes per side, and has two 
drives. The total capacity is also 120 
gigabytes, but the volume of the box 
is only 5 cubic feet. 

Impact on Systems 
Architecture 

Many systems architects are exploring 
ways of coupling optical disks with 
magnetic storage and semiconductor 
RAM to make composite systems. 

The key to these systems is the auto- 
matic management of a memory hier- 
archy with, for example, RAM fed by 
a Winchester disk, fed in turn by an 
optical disk, which may in turn be fed 
by magnetic tape. The choice of what 
data to stage and when can be made 
by specialized processors exercising 
algorithms intended to anticipate user 
requests. 

These algorithms have precedent in 
cache memories and in some virtual- 
memory systems but are not a part of 
any typical microcomputer operating 
system. Specialized devices using sub- 
sets of this method are just emerging. 

The main performance requirement 
motivating the development of such 
systems is accessibility of stored data. 
Optical storage provides high capaci- 
ty, but so does magnetic tape. Read- 
only and writable optical disks will 
soon be active in the field of telecom- 
munications. While corporate tele- 
communications managers try to pre- 
dict whether satellites or optical fibers 
will give them better service, others 
are looking into shipping optical disk 
copies of busy, centrally maintained 
databases to field offices. 

The fundamental reason for this is 
cost. Shipping data across the coun- 
try by recording it on CD-ROMs and 
sending the disks by courier costs less 
than two cents per megabyte. This is 
one to two orders of magnitude lower 
than typical microwave or satellite 
communication costs, and as much as 
10.000 times cheaper than modem 
communication on direct-dial lines. 

In the next decade, the application 
of combined mass storage technol- 
ogies will produce significant im- 
provements in the cost reduction and 
accessibility of large databases for 
many applications, including business, 
communications, and personal com- 
puting. ■ 



172 B YTE • MAY 1986 



Aztec C ... The Best C 

Frees the genius iifyou 



You've got a great idea . . . 

. . . you're ready to write your programs. 

You don't want to be sidetracked by all the paper- 
work. With Manx Aztec C and the ingenious make 
function, your creative processes won't get bogged 
down in program administration and housekeeping. 
Manx Aztec C has the most sophisticated, hardwork- 
ing program administrator available to you. Once 
you've described your project, adding new features or 
enhancements is simple. You never have to concern 
yourself with the repetitive, tedious task of rebuild- 
ing your systems. 

The development process moves quickly. Com- 
piles, assemblies, link edits ... all finish in record 
time. 

Manx Aztec C is the fastest, most efficient C de- 
velopment system in the industry. Benchmarks show 
it . . . reviews commend it . . . users praise it. 

You're ready to test the program. You're ahead of 
schedule. The Manx Aztec C Source Level Debugger 
shows you the exact C language statement giving you 
a problem. You fix the problem quickly . . . you're 
still ahead of schedule. 

You've got some time for fine tuning. 
The Manx Aztec C Profiler examines 
your program, tells you where the slow 
spots are and validates your test pro- 
cedure. A few changes and it's exactly 
what you wanted. 

You've made it! 

Aztec C is available for MS-DOS/PC 
DOS. Call for details on Macintosh, 
Amiga, Apple II, CP/M-80, 
CP/M-86, TRS-80, ROM and others. 

To order, or, for information 

Call Today 

1-800-221-0440 ' 

In NJ or outside the USA call 
(201)542-2121 

30-day satisfaction guarantee. Special Discounts 
are available to professors, students, independent 
developers, and on a "trade-in" basis. Site licenses. 



" . . . a superb linker, a profiler, an assembler, 
and a set of development utilities are only the be- 
ginning of this package . . . performed admirably 
on the benchmarks, with short compile times and 
the best link times in this review . . . includes the 
most professional make utility . . . documentation 
is clear and complete. There is no doubt that this 
is a valuable and powerful programming en- 
vironment.'' Computer Languages Feb. '86 

" . . . execution times are very good, close to the 
best on most tests ..." PC Tech Journal Jan. '86 

" Easily one of the fastest compilers overall . . . 
library provides a lot of flexibility . . . generates 
small .EXE files. " Dr. Dobbs Journal Aug. '85 



C 'Prime (Compiler, Assembler, Linker) $ 99. 

Aztec C 86-d Developer's System $299. 

Aztec C 86-c Commercial System $499. 

PC ROM (8086, 68000, 8080, or 6502) $750. 

Third Party Software for Aztec C: HALO,PHACT, C-tree, 
PRE-C. Windows for C, PC-lint, PANEL, Greenleaf, db Vista, 
C-terp, Plink-86, FirsTime, C Util Lib, 
and others. 



MS ts a registered TM of Microsoft. Inc., CP/MTM DRI. HALO TM Media Cybernetics, PANEL TM 
Roundhill Computer Systems, Ltd., PHACTTM PHACT Assoc, PRE-C. Plink-86 TM Phoenix, db 
Vista TM Raima Corp., C-terp, PC-lint, TM Gimpel Software. C-tree TM Faircom. Inc., Windows for 
C TM Creative Solutions, Apple II. Macintosh TM Apple. Inc., TRS-80 TM Radio Shack, Amiga TM 
Commodore Int'l. 

Inquiry 215 




Manx Software Systems 
One Industrial Way 
Eatontown, NJ 07724 







I 







cvn/vN 




Presenting four fine, upstand 
ing Citizens who'll give you 
service and value above and 
beyond the call of duty for 






many years to come. Citizen™ dot matrix printers, precision- 
engineered by the people who've become a wristhold word 
in fine, precision- engineered watches. 

The Citizens are very sleek, very quiet, and 
Sk .^reliable as the day is long. They're also ex- 
""^^s^p ceptionally easy to use, thanks 
to a unique new push-feed paper loading 
system. What's more, the Citizens are 

very versatile. They're IBM- and 
Epson-compatible. Can print graphics. 
And give you output speeds of 160 cps (40 cps 
correspondence-quality) or a blazing 200 cps (50 cps 
correspondence-quality). 
The Citizen MSP-10 and 15, and MSP-20 and 25. 
Precision-engineered printers at a price precision-engineered 
to put a smile on your face. 

Stop by one of our dealers today and watch what the 
Citizens can do for you. 

For more information, call 1-800-556-1234, Ext. 34. 
$ In California, 1-800-441-2345, ^—t r^j r r , j r jT?\r m 
' Ext. 34. Or wnte Crtrzen ^^lllLtj[\ 

America Corporation, 2425 Colorado Avenue, 
Santa Monica, CA 90404. 

© 1984 Citizen America Corporation 

Citizen and the Citizen logo are trademark of Citizen America Corporation. IBM is a registered ttademark of International Business Machines 
Corporation. Epson is a registered trademark of Epson Corporation. 



Inquiry 67 



MAY 1986 'BYTE 175 



WE TOP IBM BEAUTIFULLY 





n 



BM's Personal Computer is the standard of the industry, 
but a Thomson monitor gives your /BM's great body a 
beautiful face. A Thomson monitor atop your IBM simply 
outperforms the IBM Color Display. 
Here's proof: 



FEATURE 

Dot pitch (in mm J 

Screen 

Switch for green/amber text 

All major controls up front 

Warranty 

List Price 


THOMSON 38mm COLOR 
.38 
Nortg/are 
Yes 
Yes 
hr. 
$549 


IBM CO LOR DISPLAY 
.43 
Glare 
No 
No 
90 days 
$680 


BENEFIT 

Superior resolution 
Less eyestrain 
Improved legibility 
Greater convenience 
Greater confidence 
A bargain 



Who is Thomson? Thomson is a six billion dollar 
multinational company. Unlike our competition, we 
design and build our own monitors with stringent quality 
control. We offer monochrome or color monitors from 
TV- grade to high resolution. 

Call 1-800-325-0464. In 
California call 1-213-568-1002 
(Monday-Friday, 9a.m. to 
5 p.m. PST) for your local 
Thomson dealer, and start 
looking at a beautiful face. 



THOMSON O 

A SIGHT FOR SORE EYES.™ 

© 1986 Thomson Consumer Products Corporation 5731 W. Slauson Avenue, Suite 111, Culver City, CA 90230 

Thomson is a trademark of Thomson S.A. IBM is a registered trademark of International Business Machines Corp, IBM model number 5153. List prices in effect on Feburary 18. 19 



176 BYTE • MAY 1986 



Inquiry 412 for End-Users. Inquiry 413 for DEALERS ONLY. 



SAVE 50 % 




United States □ One Year $21 □ 2 Years $38 

Canada/Mexico □ One Year U.S. $23 □ 2 Years U.S. $42 

Europe □ $69 (air delivery), U.S. Funds enclosed 

Worldwide □ $37 (surface mail). U.S. Funds enclosed 



□ BILL ME. If I'm not completely satisfied with my first copy, 
I'll simply write "cancel" across your invoice, mail it back, and 
my subscription will be cancelled. 

□ Check Enclosed □ Bill VISA □ Bill Mastercard 
Please allow 6-8 weeks for processing your subscription. 



□ 3 Years $55 

□ 3 Years U.S. $61 



4256 



Address 



City/State/Zip 
Card * 



Expires_ 



Signature 



•off newsstand price of $42.00 



iim 



SAVE 50 % 




4256 



United States □ One Year $21 □ 2 Years $38 

Canada/Mexico □ One Year U.S. $23 □ 2 Years U.S. $42 

Europe □ $69 (air delivery), U.S. Funds enclosed 

Worldwide D $37 (surface mail), U.S. Funds enclosed 



D BILL ME. If I'm not completely satisfied with my first copy, 
I'll simply write "cancel" across your invoice, mail it back, and 
my subscription will be cancelled. 

□ Check Enclosed □ Bill VISA □ Bill Mastercard 

Please allow 6-8 weeks for processing your subscription 



□ 3 Years $55 

□ 3 Years U.S. $61 



Address , 



City/State/Zip 
Card * 



Expires_ 



Signature 



• off newsstand price of $42.00 



linil 



BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 39 MARTINSVILLE, NJ 



POSTAGE WILL BE PAID BY ADDRESSEE 



BUI 



Subscription Dept. 

P.O. Box 597 

Martinsville, NJ 08836-9956 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 39 MARTINSVILLE, NJ 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



POSTAGE WILL BE PAID BY ADDRESSEE 



BYTE 



Subscription Dept. 

P.O. Box 597 

Martinsville, NJ 08836-9956 



MASS STORAGE 



CD-ROM 

SOFTWARE 
DEVELOPMENT 



by Bill Zoellick 



Beware of iy magnetic-disk think" 



CD-ROMs (compact-disk read-only 
memories) provide application devel- 
opers with the intriguing possibility of 
making hundreds of megabytes, even 
gigabytes of data accessible on a per- 
sonal computer for less than $1000. 
Such enormous storage capacity 
opens up new realms of potential ap- 
plications for m icrocomputer-software 
developers. ' But there is a catch: 
Unless the file structures for a CD- 
ROM application are designed care- 
fully, the application's performance is 
likely to suffer. 

Typically poor CD-ROM perfor- 
mance is the result of file-structure 
design that reflects "magnetic-disk 
think." If you are new to CD-ROM ap- 
plication design, you may tend to 
apply rules of thumb learned from 
working with magnetic media. In- 
stead, you need to focus on the 
unique strengths and weaknesses of 
the CD-ROM. 

Physical Format 

The CD-ROM's physical format is 
defined by a standard developed by 
the Philips and Sony corporations. 
Since all CD-ROMs conform to this 



standard, disks are usable across the 
different CD-ROM drives made by dif- 
ferent companies. This common data- 
format standard was defined as an ex- 
tension of the Philips/Sony compact 
digital audio disk standard. The size 
of the digital audio market has driven 
the technology that makes the rela- 
tively inexpensive manufacture of CD- 
ROM drives possible. However, this 
digital audio parentage also con- 
strains the CD-ROM to an unimpres- 
sive random-seek performance. In 
particular, the underlying digital audio 
format results in a data format that is 
based on constant linear velocity 
(CLV) recording. 

Most magnetic disks use constant 
angular velocity (CAV) format. Figure 1 
shows the sector organization of a 
typical CAV magnetic disk. Note that 
the sectors on the inner tracks are 
smaller than those on the outer tracks. 
This is because CAV is another way of 
saying constant rotational speed. With 
a CAV format, the linear velocity of 
the disk surface relative to the disk 
head is greater on the outer tracks, 
where the disk's circumference is 
greater. As a corollary, the outer sec- 



tors are physically larger. 

Figure 2 illustrates the CLV sector 
format of a CD-ROM. CLV means that 
the relative speed of the disk head 
and disk surface stays the same, even 
as the head moves away from the 
center of the disk. A CD-ROM drive 
maintains this CLV by actually chang- 
ing the disk's rotational speed as the 
head moves from track to track. Note 
that the CLV format results in sectors 
that all have the same length (the linear 
dimension). This means that the ac- 
tual number of sectors encountered 
in a single disk rotation ranges from 
about 9 on the inside of the disk to 
about 20 on the outer edge. There- 
fore, recording must be done in a 
spiral rather than in a series of con- 
centric rings. Recording begins at the 
inside of the disk and spirals outward. 

The great advantage that CAV re- 
cording has over the CD-ROM's CLV 

[continued) 
Bill Zoellick is the manager of software 
research at TMS \nc. (POB 13 58, Stillwater, 
OK 74076). He has an M.A. from the Uni- 
versity of Illinois and is coauthor of a text- 
book titled File Structures: A Concep- 
tual Toolkit, to be published later this gear. 



MAY 1986 -BYTE 177 



CD-ROM SOFTWARE 



format is that the CAV organization 
makes it easier to find the beginning 
of a particular sector. Suppose that 
you want to jump to a specific sector 
relative to the start of a file. With a 
CAV format, where each track con- 
tains a fixed number of sectors, it is 
very easy to translate this relative sec- 
tor number into an absolute track and 
sector address, given the track and 
sector address of the start of the file. 

There is no simple, fixed relation- 
ship between a CLV track and the 
number of sectors on the track. There- 
fore, translating a relative sector 
number into an absolute track and 
sector address is more complicated. 
In addition, head movement must be 
accompanied by the mechanical pro- 
cess of speeding up or slowing down 
the rotational speed of the disk. 
Together these account for a major 
part of the CD-ROM's relatively poor 
seek performance. 

On the positive side, CLV recording 
makes more efficient use of the disk 
surface. Rather than spreading out the 
data on the outer tracks as on a CAV 
disk, the CLV format packs the data 
on the outer tracks just as tightly as 
on the inner tracks. As a consequence, 
a CLV disk can hold much more infor- 
mation than a comparably sized CAV 



TRACK 0. SECTORI 
TRACK 1. SECTOR 
TRACK 0, SECTOR 




Figure I : The sector organization of a 
typical CAV [constant angular velocity) 
magnetic disk. The sectors on the outer 
tracks are physically longer than those on 
the inner tracks and are organized in 
concentric rings. 



disk. From the standpoint of audio 
recording, where the primary mode 
of access is sequential, the CLV for- 
mat is ideal. It packs the maximum 
amount of music on a disk without 
exacting a performance penalty. How- 
ever, when you build a data format on 
top of this audio format, you pay for 
increased capacity with decreased 
seek performance. 

Physical Addressing 

The CD-ROM's CLV format rules out 
using the familiar "track and sector" 
and "cylinder, surface, and sector" ad- 
dressing schemes used for most mag- 
netic disks. Instead, the CD-ROM uses 
a scheme that is clearly related to the 
disk's digital audio roots. If you think 
in terms of "playing" the disk from 
beginning to end, you find that there 
is room to record 60 "minutes" worth 
of data. Each minute of recording can 
be divided into 60 "seconds." In each 
second the drive will play, or read, 75 
sectors. Each sector consists of 2K 
bytes. Therefore, the entire disk can 
hold 270,000 (60 x 60 x 7 5) sectors, 
or 540.000K bytes. The individual sec- 
tor is the smallest addressable unit on 
the disk. You specify a particular sec- 
tor in terms of the minute of play, the 
second within that minute, and the 




Figure 2: The sector organization on a 
CLV [constant linear velocity) CD-ROM. 
Since all the sectors have the same length, 
the longer outer "tracks" contain more 
sectors. Note the spiral appearance of this 
organization. 



sector within that second, using zero- 
based counts for all numbers. The 
origin of the disk is specified as 0:0:0 
(zero minutes, zero seconds, sector 
zero). The I 56th sector on the disk, 
for example, is specified as 0:2:5, or 
zero minutes, two seconds, sector five 
(using a zero-based count). 

Fortunately, application developers 
don't need to worry about the details 
of physical addressing on CD-ROMs, 
just as they don't concern themselves 
with the physical-addressing details 
for magnetic disks. When writing and 
reading magnetic media, applications 
generally rely on an operating system 
to convert the physical view of the 
disk into a logical view. This lets an ap- 
plication regard the disk as a collec- 
tion of named files, rather than as an 
arrangement of tracks and sectors. 

Laser-disk operating systems pro- 
vide this same kind of file-oriented, 
logical view of CD-ROMs. (See the text 
box "CD-ROM Logical Format Stan- 
dards" on page 184.) Some of them 
have interfaces so similar to popular 
operating systems that you can read 
from the CD-ROM using the system 
calls, open statements, and read state- 
ments that you are used to. CD-ROM 
access is just as easy as magnetic-disk 
access; you don't need to know about 
the disk's physical format to use the 
CD-ROM. The payoff from under- 
standing its physical characteristics 
and format comes when you want to 
use the disk well to get top per- 
formance. 

Measuring Performance 

Good CD-ROM software design must 
reflect an awareness of the CD-ROM's 
weaknesses, in particular its poor seek 
performance, l^ble 1 compares a 
typical CD-ROM drive with two dif- 
ferent types of magnetic-disk drives. 
The comparisons include capacity, 
seek performance, and data-stream- 
ing performance during a series of se- 
quential reads of contiguous data. 
The sequential-read performance on 
the magnetic disks assumes an inter- 
leave factor of five, meaning that it 
takes five disk revolutions to read all 
the data in a given track. 

An average seek on a full CD-ROM 
takes five times as long as on a 

(continued) 



178 BYTE • MAY 1986 



MICROSOFT LANGUAGES NEWSLETTER Vol. 1, No. 5 



News about the Microsoft Language Family 



Microsoft® XENIX® Languages Offer Source Compatibility with MS-DOS® 

Applications developed for MS-DOS using Microsoft high-level languages can easily be transported 
to XENIX.The XENIX versions of BASIC, Q COBOL, FORTRAN, Macro Assembler, and Pascal 
offered by Microsoft are source-language compatible with the MS-DOS versions. 

The object files produced by C, FORTRAN, and Pascal can be used in either operating system 
environment, except for FORTRAN object files that access arrays greater than 64K in length.This 
makes it easier to move operating-system-independent subroutine libraries between systems. 



Using MAKE to Replace Batch Files for Program Development 

The MAKE utility provided with Microsoft Macro Assembler Version 4.0 can be used to replace 
batch files for building application programs. When using standard batch files to build an appli- 
cation every step has to be performed. However, with MAKE the time and date dependency rules 
allow recompiling, reassembling, or relinking only those files that are dependent upon recently 
changed files. 

The MAKE utility also has rules and macros. These features provide an easy and reliable way to 
change how application programs are built. For instance, by defining a rule for how C files are com- 
piled into object modules, every C compilation can be done with the same compiler options. When 
rules are combined with macros, new compilation options can be provided on the MAKE command 
line or in the MAKE file. If you regularly develop large programs and are not using a MAKE type 
of utility, you should investigate how it can help make your software development more efficient. 



Cullinet's Micro/Mainframe Software Developed with Microsoft Macro Assembler 

Cullinet's INFOGATE and GOLDENGATE software supports over a dozen ways of connecting 
PCs to mainframes running Cullinet's Information Center Management System/The only way we 
could create this transparent link was with Microsoft Macro Assembler" said Mary Kroening, 
Director of Micro Software Development. 

"Microsoft Macro Assembler s unique type checking and data structure features make it easy to 
connect routines with the rest of INFOGATE or GOLDENGATE. The Macro Assembler is an 
especially versatile product for writing device-level code to support LAN cards, 3278 emulation cards, 
SDLC interfaces, async ports, and more. The increased speed and reliability in Microsoft Macro 
Assembler 4.0 not only makes our job easier, but also cuts the build time in half." 



For more information on the products and features 

discussed in the Newsletter, 

write to: Microsoft Languages Newsletter 

16011 NE 36th Way, Box 97017, Redmond, WA 9807 3-97 17. 

Or phone: 

(800) 426-9400. In Washington State and Alaska, 

call (206) 882-8088. In Canada, call (416) 673-7638. 



Microsoft, MS-DOS and" XENIX are registered t 
registered trademarks of Cullinct. Inc. 



ademarks of Microsoft Corporation. INFOGATE and GOLDENGATE an 



Latest DOS Versions: 




Microsoft C Compiler 


3.00 


Microsoft COBOL 


2.10 


Microsoft FORTRAN 


3.31 


Microsoft Macro Assembler 


4.00 


Microsoft Pascal 


3.31 


Microsoft QuickBASIC 


1.02 



Look for the Microsoft Languages Newsletter every month in this publication. 



CD-ROM SOFTWARE 



10-megabyte hard disk. When com- 
pared to a high-performance mag- 
netic disk, there is more than an order 
of magnitude of difference in the seek 
performance. When designing soft- 
ware for a magnetic disk, you should 
always make a major effort to avoid 
seeks. Given the cost of seeks on a 
CD-ROM, you need to take even more 
draconian measures to avoid an 
average seek. 

But table I provides good news 
along with the bad. The cost of a 
short seek, covering just a few tracks, 
is quite small because the CD-ROM 
only needs to move the mirror used 
to position the laser beam on the 
disk. It doesn't have to move the sled 
containing the mirror, lenses, and 
other parts of the disk-reading mecha- 
nism. (Not all drives implement such 
fast short seeking.) 

This disparity between the cost of 
a short, local seek and a longer one 
has important consequences. It 
means that, as you design file struc- 
tures for the CD-ROM, you should 
take advantage of opportunities to 
minimize the physical distance be- 
tween parts of a file that you use in 
succession. 

However, the CD-ROM's sequential- 
read performance as shown in table 
1 is quite respectable. Reading a large 
block of data is not substantially more 
expensive than reading a short one. 
The cost is in finding the block. 

Joys of a Read-Only Medium 

The CD-ROM's acceptable sequential- 
read performance and its ability to 



seek rapidly over the range of a few 
tracks are important components of 
a good software design. But its most 
significant characteristic, the one that 
lets you take advantage of the others, 
is that it is a read-only medium. 

TWo important, closely related 
benefits emerge from the CD-ROM's 
read-only nature: 

• You never have to deal with dele- 
tions, insertions, or modifications to 
a file. 

• The costs of creating a file structure 
(writing) and using it (reading) are 
asymmetric (not equally balanced). 

Although the first of these benefits is 
self-evident, it has important conse- 
quences. For example, when you build 
a tree, you know that the nodes near 
the root will always be near the root, 
so you can put the most frequently 
used records in these nodes. 

The second benefit requires a bit 
more explanation. You write a CD.- 
ROM only once. Once the disk is writ- 
ten, it is read over and over again. 
Therefore, it makes sense to put more 
time and effort into the initial con- 
struction of files and indexes if you 
can thereby obtain faster retrieval. 
Moreover, building a CD-ROM's file 
and index structures is often done on 
a larger computer, while retrieving 
them is more often done on a micro- 
computer. Consequently more com- 
puting "horsepower" is available to 
build the files. If expensive tasks such 
as lexical analysis and text formatting 
are necessary, it is better to do them 
once with the larger machine before 



you create the disk. Finally, data for 
a CD-ROM is usually prepared in a 
batch-processing environment, while 
it is often used interactively. This pro- 
vides even more incentive to do as 
much work as possible in the writing 
step. 

Blocks and Buffering 

One general rule underlying all file- 
structure design, whether on CD- 
ROMs or magnetic disks, is to make 
each trip out to the disk as profitable 
as possible. This is the reason for 
using paged structures such as B- 
trees, in which each disk access 
retrieves enough information to make 
many decisions about the next level 
of the tree, rather than the simple two- 
way choice in a binary tree. You don't 
access the disk to retrieve a single 
record; you read in a block of records 
that you can then process in the much 
faster RAM environment. Although 
the CD-ROM seeks slowly, it can 
"stream in" the data in a large block 
at an acceptable rate. This makes the 
choice of block size extremely 
important. 

When selecting a block size, you 
need to consider both logical and 
physical design factors. Logically, for 
example, you should consider the ef- 
fect of page size on the depth of a B- 
tree. In a B-tree, a page that holds N 
records can have N + 1 children, as 
figures 3a and 3 b illustrate. The small 
tree pictured in figure 3a holds eight 
records and has a height of two levels. 
This is an ideal height, since if you 

[continued) 



Table 1: Comparison 


of seek times and data-transfer rates for CD-ROMs and 


magnetic disks. 




CD-ROM 




Average microcomputer hard disk 


High-performance magnetic disk 


Capacity 
Number of tracks 
per read head 
Track-to-track seek 


540 megabytes 

approximately 18,000 
1 ms 




10 megabytes 

612 
3 ms 






456 megabytes 

1258 
7 ms 


Average seek 
Maximum seek 


500 ms 
1 sec 




100 ms 
200 ms 






28 ms 
50 ms 


Rotational speed 
Average latency 
Transfer rate 
for sequential read 


approximately 300 rpm 
100 ms 

150K bytes/sec 


(variable) 


3600 rpm 
8.3 ms 

96K bytes/sec 






3600 rpm 
8.3 ms 

312K bytes/sec 



180 BYTE • MAY 1986 






Suggested retail price 5149,90 
Educational site licenses available from 
Addison-Wesley Publishing. 

True BASIC Lui^u.igc Svstcm is.imifciiurkolTruc H.\,sk\ Inc. 
Macintosh 'in. 1 cr.Kkmiikol" Apple Compiler Corp. 
Ainiu.i i sa trademark of Commodore Business Midlines. 
IHAfi.sj tradcni.irk of] ntcm.uioii.il Business Machines Corp. 



You know John Kemcny and Tom Kurtz. They 
developed die original BASIC. Now they're 
back with an even better version: a flexible, 
easy-to-use structured programming; language 
theycallTrue BASIC™ 

True BASIC offers a Rill selection of control 
structures. External procedures can be 
compiled into libraries, making True BASIC 
faster and more powerful than any other 
programming language. 
True BASIC has a complete matrix algebra 
package and the best graphics ever in a higher 
level language. And there are optional libraries 
for tilings like sorting and searching and 3-D 
grapliics. 

True BASIC programs run on any computer 
which n ins True BASIC, good news for users 
with more than one kind of PC. 

You'll love True BASIC. Whether you re 
programming for your own applications, 
teaching others, or developing products to go 
to market, send in die coupon below to receive 
a free demo disk. 



Availablefor die IBM-PC™ and compatibles, 
Apple Macintosh,™ and Commodore Amiga. 1 

To order, talk to your local 
dealer or call (603) 
643-3882 TODAY! 




M 




T 






3f South Main Street, 

Hanover, NH 03755 (603) 643-3882 

My computer is: □ IBM-PC/compatible 

□ Apple Macintosh 

□ Commodore Amiga 

DFD LIKETOGETMY FREEDEMODISK. 

OTd like more information on the True BASIC 
language products. 

□ I s m ready to buy. Call me and tell me how. 

□ Fd like information on True BASIC 
MathematicsSeriesand other products. 

Na mc . 

Title 

Company/University 

Address . 



City, State, ZIP_ 

Telephone . 



Inquiry 371 



MAY 1986 • BYTE 181 



CD-ROM SOFTWARE 



keep the tree's root page in RAM, you 
can get to any record in the tree with 
only one seek. If you need more 
records in the tree, you can add space 
by adding more levels, but this in- 
creases the average number of seeks 
required for a search. The alternative 
is to increase the block size as shown 
in figure 3b. Doubling the block size 
more than doubles the number of 
records that can be held in the tree. 
To really appreciate the effect of 
doubling the block size, you need to 
deal with a larger number of records 
per block, l^ble 2 shows the number 
of 32-byte records that you can store 
in a tree, given a choice of block sizes 
and a choice of tree depth. Since the 
CD-ROM is a read-only medium, you 
know exactly how many records you 
are going to put in the tree before you 
build it. For example, if you need to 
store 50,000 32-byte records, you 
could choose a block size of 8K bytes 
and a tree of two levels rather than 
use a block size of 2 K bytes and a tree 
of three levels. If you use a larger 
block size, it will take more time to 
read each block, but since CD-ROMs 
can read data at 1 50K bytes per sec- 
ond, reading an additional 6K bytes 
requires only 20 milliseconds. This is 
a small price to pay in return for 
avoiding an additional 500-ms seek. 



These logical design considerations 
argue for using a large block size in 
order to minimize the number of 
seeks required to find a record. How- 
ever, the physical characteristics of the 
CD-ROM must also be considered in 
determining what block size to use. 

Given the 2 K-byte sector size for a 
CD-ROM, the smallest block size that 
you should consider for most applica- 
tions is 2K bytes. This is the amount 
of information that you will retrieve 
even if you only request a single byte. 
But suppose you are absolutely sure 
that you need only the first 32-byte 
record in a sector. Why not just ask 
for what you need? Or, if it is conve- 
nient from a logical design standpoint, 
why not use blocks of, say, 3000 
bytes? 

The answer to these questions has 
more to do with the CD-ROM operat- 
ing system than with the disk itself. If 
an application program requests an 
entire sector of data from the disk (or 
an integral number of entire consecu- 
tive sectors), a well-designed operat- 
ing system transfers the data directly 
into the application program's work 
area with no intermediate data move- 
ment. However, if the application re- 
quests only 32 bytes, or some other 
fragment of a sector, the operating 
system cannot assume that the appli- 



LiHI 

1 I 2 I I 4 I 5 I I 7 I 8 



Figure 3a: A two-level B-tree with a block size of 2. 



















































5 


10 


15 


20 






























1 


2 


3 


4 




6 


7 


8 


9 




11 


12 


13 


14 




16 


17 


18 


19 




21 


22 


23 


24 



























Figure 3b: A two-level B-tree with a block size of 4. Note that doubling the block 
size from figure 3a more than doubles the number of records the tree can hold. 



cation has allocated enough space to 
hold an entire 2 04 8-byte sector. Since 
2048 bytes is the smallest quantity 
that the operating system can bring 
in from the disk, the operating system 
must use a system buffer to hold the 
complete sector and then break out 
the requested 32 bytes for transfer in- 
to the application's work area. Thus 
a request for anything less than a 
complete sector involves moving data 
twice, while a request for a complete 
sector requires only a single data 
movement. Similarly a request for 
some quantity such as 3000 bytes 
that occupies some fraction more 
than one sector requires extra data 
movement for the fragment that must 
be brought in from the second sec- 
tor. To avoid unnecessary data move- 
ment, use a block size that is an in- 
teger multiple of the 2 K-byte sector 
size. 

The decision to read data in integer 
multiples of the sector size has an im- 
portant consequence, however: By by- 
passing the system buffers, you re- 
linquish the assistance that the oper- 
ating system provides in keeping 
recently used data in RAM for a while. 
For example, if you read a 1 2 8-byte 
record, the operating system uses one 
of its system buffers to hold the sec- 
tor that contains the record. If you 
then read a second 12 8-byte record 
from a different sector, and if there is 
more than one system buffer, a well- 
designed operating system places the 
new sector in a different buffer, pre- 
serving the original sector. If the third 
record required by the program is 
back in the first sector (this kind of 
reuse often happens in searches 
down through trees), no seek to the 
disk is necessary; the required sector 
is "buffered" and already in RAM. 

Now suppose that instead of read- 
ing 12 8-byte records, you read 2K- 
byte blocks to avoid moving data 
twice. Unless you provide your own 
buffering mechanism, the second sec- 
tor is read in on top of the first one. 
Allocating a larger number of system 
buffers has no effect, since the system 
buffers are not being used. If you want 
the benefits of buffering, you have to 
handle it yourself. The decision of 
how many buffers to provide and how 

[continued] 



182 B YTE • MAY 1986 



OrefaurPCAKiss; 




Once you do, you'll fall in love. 

KISS is the first intelligent laser printer that's both smart and simple. And at the 
unbelievably low price of $1,995 *, it's the perfect mate to any PC. 

It's so sophisticated, you'll want to kiss your old daisy wheel and dot matrix printers good- 
by. KISS is ten times faster. And it's very quiet. It produces crisp, near typeset quality output at up to 400 
characters per second. And it has its own cut-sheet feeder. 

It lets you show your own style. It has nine resident fonts that you can mix on a single page, 
and even on one line. Imagine all that power packed in one little KISS. 

Plus, KISS is smarter than your old printer. It works with WordStar,® Lotus® and any other 
software that will print to a Diablo 630,® Epson FX 80® and QUME Sprint.® At up to 6ppm KISS is 
unmatched in efficiency and versatility. Can you imagine your present printer performing like that? We can't. 

KISS is from QMS. It's just one way we're meeting 
today's needs with proven technology. 

Now, wouldn't you like a KISS? 

Call toll free, 1-800-245-KISS for more information. 
Or write: QMS INC., P.O. Box 81250, Mobile, Alabama 36689. 
One Magnum Pass, Mobile, Alabama 36608. 



QMS 

Print Systems With Imagination™ 



• Thispricegood in the domestic United States only. 
WordStar is a registered trademark of Micropro International. Lotus is a registered trademark of Lotus Development Corporation. Diablo is a registered trademark of Xerox Corporation. Epson is a 
registered trademark of Epson America. Inc. QUME Sprint® is a registered trademark of QUME Corporation. © 1986 QMS® Inc. 



Inquiry 298 



MAY 1986 



iYTE 183 



CD-ROM SOFTWARE 



to manage them depends on the 
nature of the application. If it searches 
through tree-structured indexes or 
works both forward and backward 
through a sequence, it can benefit 
from a relatively large number of buf- 
fers. If it uses the data sequentially 
and always moves through it in one 
direction, the application won't 
benefit from buffering at all. 



A good general-purpose buffer- 
management scheme is one known as 
least recently used (LRU) replace- 
ment. In LRU replacement, the buffer 
selected for holding new data (and 
overwriting existing data) is the one 
with contents that have been used 
"least recently" (See Harvey Deitel's 
An Introduction to Operating Systems, listed 
in the bibliography, for a discussion 



Table 2: The maximum number of 32-byte records that will fit in a B-tree 
of the given height and block size. 



Block size = 2 
Block size = 4K 
Block size = 8K 



One level 



64 
128 
256 



TREE HEIGHT 
Two levels 



4,160 
16,512 
65,792 



Three levels 



270,400 

2,130,048 

16,908,544 



CD-ROM Logical 
Format Standards 



Logically, a disk contains a volume 
table of contents, a directory 
structure, and data files; physically, the 
disk contains sectors. Clearly, the 
logical view is built on top of the 
physical view. For an application devel- 
oper, the logical view is the one of 
interest, the one that determines how 
many files you can store on a CD-ROM, 
what the performance cost of storing 
many files rather than just a few would 
be. how large a file can be. whether 
files can span across CD-ROMs to form 
a multivolume set. whether files must 
consist of sequential consecutive 
sectors, whether the directory structure 
supports subdirectories, and so on. 

As yet. there is no agreed-upon 
standard for the CD-ROM's logical 
format. Most firms offering applica- 
tions for CD-ROM disks have devel- 
oped their own logical structures, if 
only for internal use. These logical 
formats are usually tied into some kind 
of CD-ROM operating system that 
insulates the applications from having 
to know anything more than the name 
of the file that they wish to use. 



The products that are currently 
available differ in a number of in- 
teresting ways. Some are good at 
handling tens of thousands of files; 
others are better at providing DOS-like 
abilities such as using wild cards in 
directory listings and listing sub- 
directories along with files through the 
DIR command. Still others provide no 
direct connection to MS-DOS at all and 
require that you develop special as- 
sembler routines to manage a com- 
mand block for the CD-ROM file server. 
The various systems also differ in the 
degree to which they use a logical 
structure to maximize the advantages 
associated with read-only media and 
minimize the impact of the CD-ROM's 
slow seek performance. 

This situation is in a state of rapid 
change. There is a movement afoot 
toward cooperation among the various 
firms currently involved with CD-ROMs 
to resolve the differences in their 
formats and create a common logical 
structure. Hopefully we will see some 
kind of logical format standard in the 
near future. 



of LRU and other replacement strat- 
egies.) 

Tree-Structured Indexes 

The general form of a tree structure 
on a CD-ROM disk is much the same 
as that of a broad, shallow B-tree or 
B+ tree. But B-trees and B+ trees are 
normally constructed to be dynamic 
structures that can readily accom- 
modate insertions and deletions. 
Since the CD-ROM is not concerned 
with these, other opportunities be- 
come available. 

One of the most significant of these 
opportunities is the ability to pack the 
blocks of the tree completely full, or 
as close to completely full as you 
wish. The tree uses less space, and 
packing the blocks full means that 
each block can have a greater number 
of children, producing a broader, 
shallower tree. (The numbers in table 
2 assume that the blocks are com- 
pletely full.) If you want to store 
1 5.000 records, you can do so in two 
levels by using a 4K-byte block size if 
you pack the blocks full. But if the 
blocks are only 75 percent full, you 
will need three levels. 

If you build B-trees by inserting 
records randomly and using those 
methods developed for handling the 
growth of dynamic trees, you produce 
trees with blocks between 50 and 100 
percent full with an average utilization 
of between 67 and 85 percent. You 
don't produce trees with blocks that 
are completely full, in order to pack 
as many records as possible into each 
block, you must develop a special 
tree-loading procedure that doesn't 
use the usual block splitting involved 
in B-tree insertion. 

To develop an appropriate tree- 
loading procedure, first you sort all 
the records by their keys. Then you 
begin loading the tree by writing the 
sorted records one at a time into the 
leftmost block at the lowest level of 
the tree. When that block is full, you 
write it out to disk. The next record 
goes into a parent block. Then you fill 
the next block at leaf level. When this 
second leaf block is full, you write it 
out to disk and place another single 
record in the parent block. This pro- 
cess continues until you have loaded 

[continued) 



184 BYTE • MAY 1986 











Imagine him at 70 MPH. 

If the pace of your PC is driving you buggy, 
read on. Because now you can make it function 
up to 700% faster with the SpeedPac 286™. 
So what once took eons for your IBM PC or 
PC/XT, now happens in a flash. Often faster than an AT. And 
for a lot less than you might think-just $595. And. 
you don't have to add memory, or worry about J%* 
software compatibility. What's more (or less), Mfa 
our 80286-generation accelerator is a half-slot *™ 
board, which saves room for other add-on cards. And ¥ 
installing it is so easy it's virtually goof-proof. But then so 
is buying it — you get a 60-day Money-Back Guarantee. 
Call Lynn at 1-800-248-5252 for more information, your 
nearest VICTOR dealer, or to order your SpeedPac 286. 
It'll turn yoursluggish PC into a whole different animal. 
So why wait any longer? 



IBM PC and PC/XT are registered trademarks of International Business Machines Corporation 
Inquiry 377 



VICTIM 

Scott's Valley. CA (408) 438 6680 



MAY 1986 -BYTE 185 




IEEE-488 




CD-ROM SOFTWARE 




GPIB ^ PC 

Hardware Flexibility 

Low cost for instrument 
control 

- 300K byt£s p'er- second 

- $395completewith software 

High performance data links 

— Maximum speed of GPIB 

— On-board buffering 

Software 

Over $ 1 ,000,000 i n software 
development 

• Easy to use, yet handles any 
GPIB application 

• Works with Lotus 1-2-3 

• UNIX, DOS and over 12 
languages 

Applications Support 

■ Applications Library with 
sample programs & TIPS for all 
major instruments 

• Full staff of Applications 
Engineers dedicated to sup- 
port your specific needs 

Other IEEE-488 Products 

• Interfaces & Software for 

- MultibusVMEbus 

- DECQ-bus&UNIBUS 

- STD&S-100bus 

• General GPIB Products 

- GPIB Bus Testers 

- GPIB Bus Extenders 

- Stand-Alone Controllers 

fT NATIONAL 
M INSTRUMENTS 




f 



12109 Technology Boulevard 

Austin, TX 78727 

1 (800)531-GPIB 

In Texas (800) IEEE-488 

Telex: 756737 NAT INST AUS 



all the records. When you are finished, 
the records are arranged in the blocks 
in the type of numbered sequence 
shown in figures 3a and 3b. 

The primary advantage of this 
loading procedure is that it capitalizes 
on the read-only nature of the CD- 
ROM by building a shallow tree and 
avoiding seeks. It also has an impor- 
tant second advantage. If you write 
out each block as soon as it is full (in- 
cluding the blocks containing 
"promoted" keys at higher levels in 
the tree), you are placing parent 
blocks in physical proximity to their 
children, making use of the CD-ROM's 
better performance on short, local 
seeks. Since the CD-ROM is read-only, 
this proximity of parents and children 
will not be disturbed. 

There are additional opportunities 
for decreasing seeks if you know 
something about the distribution of 
requests for the records stored in the 
tree. If the 80/20 rule applies to the 
database— 80 percent of the requests 
are for 20 percent of the records— 
you can greatly reduce the number of 
seeks needed by ensuring that the 
most frequently requested records 
are located as close to the root block 
as possible. You can build this prefer- 
ence for promoting more frequently 
used records into the bottom-up load- 
ing procedure. You must build blocks 
that are less than completely full, 
since you need to choose from several 
records for promotion, selecting the 
one that has the highest frequency of 
use rather than the one that produces 
the fullest leaf-level block. 

One great advantage of working 
with a read-only medium is that you 
can calculate precisely how far you 
can go in trading space utilization for 
flexibility. For example, you can see 
in table 2 that if you have 12,000 
records that require 32 bytes apiece, 
and if you intend to use a block size 
of 4K bytes, you need only guarantee 
space utilization of 73 percent 
(12,000/16,512 = 0.73) to ensure that 
the tree does not exceed two levels. 
The loading procedure can keep track 
of its progress toward meeting this 
goal as it chooses records for promo- 
tion. Once you have constructed such 
a tree, you know it won't be altered. 

These suggestions illustrate general 



CD-ROM design considerations. You 
should compensate for the CD-ROM's 
poor seek performance by taking ad- 
vantage of its read-only nature and 
the asymmetry between reading and 
writing activity. The asymmetry makes 
it worthwhile to invest more time and 
effort in the construction of the tree; 
the read-only nature makes that in- 
vestment possible and permanent. 

Hashing on CD-ROMs 

For applications that don't need to ac- 
cess records in order by key, hashed 
retrieval fits the strengths and weak- 
nesses of the CD-ROM almost ideal- 
ly. Hashing complements the capabil- 
ities provided by tree structures. If you 
need to retrieve all the records with 
keys that include the last name 
"Smith," you should use a tree struc- 
ture, since you can keep all these 
records together in sequential order 
in a tree. However, if the application 
only requires access to single records, 
and if the access needs to be really 
fast (no more than a single seek), you 
should choose hashing. 

From a file-structure point of view, 
hashing consists of using a function 
to transform each record's key into 
the address of a specific bucket within 
the file. When you are looking for a 
certain record, all you have to do is 
apply the function to that record's key 
and then retrieve the bucket at the 
resulting address. Each bucket can 
hold some fixed number of records. 
Hashing works well and permits 
retrieval with a single seek as long as 
there is room for each record in its 
associated bucket. When buckets 
overflow, you need additional seeks 
and must follow procedures to find 
the records that can't be stored at 
their home addresses. One of the fun- 
damental goals in designing a hashed 
file structure is to avoid overflow. 

In a dynamic file on a magnetic disk, 
the possibility of overflow is a given. 
But when you construct a hashed file 
for a CD-ROM, you can do away with 
overflow entirely. You can manipulate 
the following variables to achieve this 
goal: 

• the packing density of the hashed 
storage (the ratio of the actual record 

(continued) 



186 BYTE • MAY 1986 



MICRO CAP and MICRO LOGIC 
put your engineers on line 

not in line 










JiMrrfurk 



a < 



-©-^i 



7('3GXf 



-V*. 













/vi>/oh/Aj wo/eKsr^Tio/a 




How many long unproductive hours 
have you spent "in line" for your simula- 
tion? Well, no more. MICROCAP and 
MICROLOGIC can put you on line by 
turning your PC into a productive and 
cost-effective engineering workstation. 

Both of these sophisticated engineering 
tools provide you with quick and efficient 
solutions to your simulation problems. 
And here's how. 

MICROCAP: 

Your Analog Solution 

MICROCAP is an interactive analog 
circuit drawing and simulation system. 
It allows you to sketch a circuit diagram 
right on the CRT screen, then run an AC, 
DC, or Transient analysis. While pro- 
viding you with libraries for defined 
models of bipolar and MOS devices, 
Opamps, transformers, diodes, and much 
more, MICROCAP also includes features 
not even found in SPICE. 

MICROCAP II lets you be even more 
productive. As an advanced version, it 
employs sparse matrix techniques for 
faster simulation speed and larger net- 





IB 

















"Typical MICROCAP Transient Analysis" 

works. In addition, you get even more 
advanced device models, worst case capa- 
bilities, temperature stepping, Fourier 
analysis, and macro capability. 



MICROLOGIC: 
Your Digital Solution 

MICROLOGIC provides you with a 
similar interactive drawing and analysis 
environment for digital work. Using 
standard PC hardware, you can create 
logic diagrams of up to 9 pages with each 
containing up to 200 gates. The system 
automatically creates the netlist required 
for a timing simulation and will handle 
networks of up to 1800 gates. It provides 
you with libraries for 36 user-defined 
basic gate types, 36 data channels of 2 56 
bits each, 10 user-defined clock wave- 
forms, and up to 50 macros in each net- 
work. MICROLOGIC produces 
high-resolution timing diagrams showing 
selected waveforms and associated 
delays, glitches, and spikes — just like the 
real thing. 




Typical MICROL OGIC Diagram " 



Reviewers Love 
These Solutions 

Regarding MICROCAP ... "A highly 
recommended analog design program" 
(PC Tech Journal 3/84). "A valuable tool 
for circuit designers" (Personal Software 
Magazine 11/83). 

Regarding MICROLOGIC . . . "An effi- 
cient design system that does what it is 
supposed to do at a reasonable price" 
(Byte 4/84). 

MICROCAP and MICROLOGIC are 
available for the Apple II (64k), IBM PC 
(128k), and HP- 150 computers and priced 
at S475 and S450 respectively. Demo 
versions are available for S75. 

MICROCAP II is available for the 
Macintosh, IBM PC (256k), and HP-150 
systems and is priced at S895. Demo 
versions are available for S100. 

Demopricesare credited to the 
purchase price of the actual system. 

Now, to get on line, call or write today! 

Spectrum Software 

1021 S. Wolfe Road, Dept. B 
Sunnyvale, CA 94087 
(408)738-4387 Inquiry 401 



CD-ROM SOFTWARE 



count to the total capacity of the 
storage space) 

• the size of each block or bucket (the 
number of records that can be stored 
at any given address) 

• the design of the hash function itself 

Clearly packing density is relevant, 
since you can avoid overflow by plac- 
ing a small number of records into a 
large file. The more tightly you pack 
a file, the more likely you are to over- 
flow at least one bucket. 

Bucket size also affects overflow. 
You could guarantee no overflow if 
you considered the entire file to be 
a single bucket. Unfortunately, you 
would have to read the entire file in- 
to RAM and process it there. At the 
other extreme, overflow would almost 
certainly occur if you used buckets 
that held only one record each. 

l^ble 3 describes the effect that 
packing density and bucket size have 
on the probability of overflow, pro- 
vided you have a hash function that 
distributes records randomly across 
the buckets. You can reduce overflow 
by manipulating these variables. For 
instance, if you want less than one 
percent of the records to overflow 
their buckets, you can choose from 
the table any of the packing-density/ 
bucket-size pairs that fall within that 
percentage range. 

In practice, you would probably 
choose a bucket size on the basis of 
record size and the physical con- 



straints of CD-ROM sectors. You 
would then accept the packing den- 
sity required to reach some targeted 
overflow probability, l^ble 3 demon- 
strates the advantage of using large 
buckets. The bucket size should be 
some integer multiple of the CD- 
ROM's 2K-byte sector size for the 
reason given earlier: A good operat- 
ing system can transfer data directly 
into the program's work area if you re- 
quest complete sectors. 

The percentages provided in table 
3 were calculated using the Poisson 
distribution, which assumes that the 
hash function distributes the records 
randomly. Since the CD-ROM is a 
read-only medium, you have a com- 
plete list of the keys to be hashed 
before you build the file. You can 
analyze the keys to find functions that 
distribute them more uniformly than 
a random function would. A perfect- 
ly uniform distribution would place an 
equal number of records in each 
bucket, guaranteeing no overflow 
even at a packing density of 100 per- 
cent. Although developing a function 
that yields such perfection can be 
very time-consuming, you can often 
find an economical way to improve on 
purely random distributions, thereby 
allowing higher packing densities 
while still avoiding overflow. You can, 
in short, treat parameters within the 
hash function as variables just as you 
considered bucket size and packing 
density as variables. Optimizing a 



Table 3: The percentage of hashed records that will overflow their buckets given 


a particular packing density and bucket size. (Values less than 0.1 percent are 


indicated by ~ .) 


Packing density Bucket size (number of records) 


(percent) 


1 


2 


5 


10 


20 


10 


4.8 


0.6 


~ 


~ 


~ 


20 


9.4 


2.1 


0.1 


~ 


~ 


30 


13.6 


4.5 


0.3 


~ 


~ 


40 


17.5 


7.3 


1.1 


0.1 


~ 


50 


21.3 


10.3 


2.4 


0.4 


~ 


60 


24.8 


13.6 


4.4 


1.2 


0.2 


70 


28.0 


17.0 


7.1 


2.8 


0.8 


80 


31.2 


20.4 


10.2 


5.2 


2.3 


90 


34.0 


23.7 


13.7 


8.5 


4.8 


100 


36.7 


27.0 


17.5 


12.4 


7.7 



hash function is made possible by the 
disk's read-only nature and practical 
because you can use large computers 
working in a batch-processing en- 
vironment to create the data set that 
will ultimately be used interactively by 
small computers. 

Conclusion 

A CD-ROM drive seeks slowly, mak- 
ing it all too easy to develop applica- 
tions that perform very poorly on it. 
Even if you are an experienced pro- 
grammer, you can make design mis- 
takes that result in poor performance 
if you fall into "magnetic-disk think." 
You need to focus squarely on the 
physical characteristics of the CD- 
ROM, taking advantage of the 
medium's strengths while avoiding its 
weaknesses. 

When the design work is done well, 
the payoff can be impressive: the CD- 
ROM enables you to move very large 
databases out of book form, out of 
centralized time-sharing systems, and 
off microforms. It provides convenient 
access to data inexpensively through 
mass distribution, and it offers excep- 
tionally fast, convenient retrieval of 
these databases on very small com- 
puters. ■ 

BIBLIOGRAPHY 

Bayer, R., and E. McCreight. "Organization 
and Maintenance of Large Ordered In- 
dexes." Acta [nformatica. vol. I. no. 3, 
(1972), page 173. This is the classic, 
original article describing B-trees. 

Bradley. James. File and Data Base Techniques. 
New York: Holt. Rinehart & Winston. 
1981. Contains a good chapter on 
hashing. 

Comer. Douglas. "The Ubiquitous B-tree." 
Computing Surveys, lune 1979. page 121. 
Excellent overview of B-trees and B + 
trees. 

Deitel, Harvey. An Introduction to Operating 
Systems. Reading. MA: Addison-Wesley. 
1984. Brief overview of LRU and other 
buffer-replacement strategies. 

Shuford. Richard S. "CD-ROMs and Their 
Kin." BYTE. November 198 5, page 137. 
Description of the physical character- 
istics of CD-ROMs and other optical 
media. 

Zoellick, Bill. "File System Support for CD 
ROM." In The New Papyrus: CD ROM, Steve 
Lambert and Suzanne Ropiequet eds. 
Redmond. WA: Microsoft Press. 1986. 
Issues of software development applied 
to CD-ROM file systems. 



188 BYTE • MAY 1986 



PERFORMANCE 

In a multi-user system, performance is the most important ingredient. 



That's why we build per- 
formance into every aspect 
of our multi-user systems. 

The CompuPro 286/40™ 
offers more performance for 
the money than any competing 
system; a powerftil 8 MHz 80286 
processor, 768K of memory, 40 
megabyte hard disk, 9 serial ports, 
floppy and tape backup drives, Con- 
current DOS 8 16™ multi-user, multi-tasking operating system 
and applications including New Word™. 




Price? Just $9995. Now that's performance! 
Options? How about memory expan- 
sion to a megabyte, 80 mega- 
byte hard disks, slave proc- 
essors, networking, graphics 
and more. 

To find out how the Com- 
puPro 286/40 (or any of 
our other multi-user systems ) 
can give your business the 
performance it needs, contact a distributor listed below for 
the name of your local CompuPro dealer. 



PERFORMANCE 
ACCELERATORS 



CompuPro's high perform- 
ance S-100/IEEE 696 board 
products are the heart of our 
high performance systems. If 
you're looking to boost your 
system's performance or you're 
choosing boards to build new 
systems, you can't buy better 
boards than ours. Here are 
some of the highlights: 

CPU 286™: 8 MHz, no wait 
state 80286 processor will really boost your system's per- 
formance. $895. 

SPUZ™: 8 MHz Z80H slave processor for concurrent 8-bit 
task processing reduces workload of host processor. 64K 
(one task) version: $295. 256K (four task) version: $395. 




NET 100™: Local Area Net- 
work board features high speed 
(2.5 MBPS) transfers using 
standard coax cable. Network 
multiple systems (even PCs) 
together for resource sharing 
and to increase performance 
in larger installations. $395. 

M-Drive/H™: RAM disk can 
increase system throughput by 
as much as 3500% and can 
now be used as a hard disk cache under Concurrent DOS 816 
version 4.1. 5 12 K version: $495. 2 Megabyte version: $1095. 

Fast Static RAM: Low power, high speed static RAM elimi- 
nates the wait states needed with dynamic RAMs. RAM 22™ 
(256K):$595. RAM24™(1 Mbyte on a single card): $2995. 



AT COMPUPRO, PERFORMANCE IS NOT JUST ANOTHER BUZZWORD. 

Call the Distributor Near You For The Name Of Your Local Dealer: 

Canada— Tri-M Systems (604) 438-0028 Ohio— QDP Computer Systems Inc. (216) 526-0838 

Hawaii— Viaduct (808) 242-9113 Pennsylvania— Tek-Aids Industries Inc. (215) 337-3220 

Illinois— Tek-Aids Industries Inc. (312) 870-7400 Texas— Business Systems (214) 785-0041 

North Carolina— General Semantics (919) 378-1500 West of the Rockies (except Hawaii) 

Call CompuPro direct for the name of your local dealer. 



fompuPro 



Viasyn Corporation 26538 Danti Court, Hayward, CA 94545-3999 (415) 786-0909 

CompuPro, CompuPro 286/40, CPU 286, SPUZ, Net 100, M-Drive/H, RAM 22 and RAM 24 are trademarks of Viasyn Corporation. Concurrent DOS 816 is a compound trademark of Digital Research Inc. 
and Viasyn Corporation. NewWord is a trademark of NewStar Software, Inc. SuperCalc 2 is a trademark of Computer Associates International Inc. 

MAY 1 986 • BYTE 189 



When you 
think of Xerox 



what 



• • 



think of 7 



you 




Its almost instinctive to think of copiers whenever the name Xerox is mentioned. After all, 25 years ago we invented 
the category. And since that time we've become the gold standard for dependable and diverse desktop, mid and high 

volume copier^^^^^^ But just for the record, in the last 8 months we've introduced 30 new office systems 

and business solutions. From Xerography To Lasography. All of these new 
systems and solutions are designed to help you create, preserve and share docu- 
ments of uns urpassed qua lity. And all are backed by Team Xerox. The people who 

provide a service and support 
organization second 
to none. 

Most of 
; ^ these 

new systems 
are the direct 
results of hamess- 
the power of the 
laser. What we call 
Lasography. You see, ten years ago Xerox believed the best way to print text 
and graphics from simple memos to complex reports would be through 
lasography. So, we began work on a new generation of office systems. 
For instance, the Documenter System you see here gives office 
professionals a personal lasographic system right at their fingertips. 
A desktop system that lets them create and print documents of 
J incredible clarity. 
The Documenter consists of the Xerox 6085 Professional Computer 
System and the Xerox 4045 Laser CP The 6085 offers a unique 19 inch 
bit map screen with multiple windows that allow you to spread out all 
The Xerox Documenter System. of your work right in front of you. 

In fact, its windows allow you to work on many things at once. Using either our ViewPoint® or MS-DOS® software. 
And when you're ready to print documents, you can use the Xerox 4045 Laser CP shown here or one of the latest Xerox 
Diablo printers. 

XEROX® and the identifying names and numbers are registered trademarks of XEROX CORPORATION. MS-DOS® is a registered trademark of Microsoft Corporation. 
IBM is a registered trademark of the International Business Machines Corporation. Viewpoint® is a registered trademark of XEROX CORPORATION. 

190 B YTE • MAY 1986 




XEROX 



The Xerox 4050 Laser Printing System featured here is the newest lasographic printer from Xerox. It offers the power 
| and capabilities of the Xerox 9700 and 8700 in a medium speed laser printer. 

■ Were also introducing the Xerox XPS 701. A low cost, full function, turnkey publishing system. The entry level 
Th x an™ ^^ ^' ena ^' es y° u t0 create an d manage text and graphic 
I Laser Printing System. 1 input. It's especially designed for large illustrated documents that 
: require frequent revision, fast production turn- 



^JSSWPP^ 



around and relatively small print runs. 

And for those who want more than a line 
printer but less than a laser printer, there's the 
| Xerox 4060 Computer Printing System. Using 
■ : -__ ...j * Ion Deposition Technology, the advanced 

4060 is ideal for the IBM data center. 
Yet another exciting capabilities story 
r: revolves around networks and software. 
The Most Complete Family Of Networks. 
Xerox now offers the most comprehensive networking capabilities in the industry. 

The new XC22 twisted pair network, is low cost and simple to install and takes advantage of existing telephone wires. 
The XC22 allows work groups to share information and resources such as laser printers and rigid disks. 
The XC24 System uses a coaxial cable that can easily run along the base of off ice walls or in ceilings. And it's an entry- 
level option utilizing the same industry standard MS-DOS® operating system as does the XC22. The XC24 is 
also user installable, easy to learn and use. 

Finally there's the XC80 network family using Ethernet. Fully configured networks, with virtually unlimited 
^^ " " • v m work stations, printers, storage, main frame communications and internetworking appli- 

■ \* ~Z^ « .-. -. cat 'ons. The key to all of these networking capabilities is that 

■ -'--:-..*'■' fclBfflffl ! we can design business solutions that enable small work 
■t^\ H groups or full departments to easily share information. Two 

examples are the new Xerox Integrated Financial Manage- 
ment and Purchasing Management Solutions. Both 
v , v contain powerful depart- «h 
KSl*. mental processing . mm. 
options such as 

"The Xerox xps 701. *■ sophisticated relational 

data-base management, host program access, electronic mail and high capacity file, disk and print 
services which enable each application to fulfill complete purchasing or financial needs. Xerox is 
also introducing the 4020 Color Ink Jet Printer, which is also network compatible. The 4020 can 
produce up to 4000 shades of seven primary colors. And finally Xerox is introducing 
the Telecopier 7010. A portable digital facsimile transceiver that can transmit a hand The Xerox 4060 
written or typed page in just 25 seconds. Before we leave we'd like to remind you of Com P uter Printing System. 
Team Xerox. A unified support structure that includes people, products and services. All here to help you every step of the way. 

So the next time you hear the 






name Xerox, we hope you'll think of 
more than just the worlds most 
dependable copiers. 




TeamXerak 



Yes, I'm interested in learning more about the newest Xerox office systems and 

business solutions. 

Send this coupon to: Xerox Corporation, PO. Box 24. Rochester, NY 14692. 

D The Documenter System D The Xerox XPS 701 System 

□ The 4045 Laser CP D The Xerox 7010 Telecopier 

D The 4060 Computer Printing System □ The 4050 Laser Printing System 
D Xerox Networks and Software D The 4020 Color Ink Jet l^nter 

D Please have a sales representative call me. 



Xerox Networks. 

For more information, call your local Xerox sales office or: 

1-800-TEAM XRX, ext. 213 



(l-800-H32-6979.ext.2l3) 



If you can't wait, call 

1-800-TEAM-XRX, ext. 213 

(1-800-832-6979, ext.213) 



192 5/86 



FOR MORE INFORMATION ON DIRECTIONS WAVE 111 PRODUCTS. CIRCLE CODE 393 ON THE READER SERVICE CARD. 



0SSES90NS 
FOR A MOMENT OF TIME" 





The ITT XTRA XP desktop personal computer 

You can't buy time. 

Long before Queen Elizabeth I, man 
began his quest to hoard that most precious 
and elusive of commodities. Time. 

He can only make 
better use of the few 
hours he already has. 
Hence, the devel- 
opment of today's 
business computer. 



The ITT XTRA™ XP. Our 
crowning achievement. 

By matching memory to the muscle of 
the Intel 80286 microprocessor, we're able 
to achieve "no wait states!' 

Processing never pauses for slower 
memory. 

Making the ITT XTRA XP thirty per- 
cent faster than the IBM AT. And fully 
XT-compatible. 

Giving you speed and flexibility. 

Because, being a corporation of many 
businesses, we're in a unique position to 
better understand what you need to grow. 

Today, as well as tomorrow. 



ITT 
XTRAXP 


COMPAQ 
286 


IBM 
PC/AT 


Lotus 1-2-3 11 sec 


13sec 


15sec 


dBase 36sec 


52sec 


56sec 


FormSort 52sec 


lmin 5sec 


lmin lOsec 



All comparisons are for purpose of illustration only: User's application performanc is 
dependent on application. 

A moment's investment today 
can pay off royally tomorrow. 

Call (800) 321-7661. In California, 
(800) 368-7300. 

And call quickly Every moment wasted 
is a potentially profit- 
able moment you'll 
never possess again. 

PERSONAL COMPUTERS 



ITT 



BECAUSE TIME IS THE 
ULTIMATE BOTTOM LINE 

& 1986, ITT Information Systems. IBM. PC/AT and PC/XT are registered trademarks of 

Inigrnaliona] Business Machines,. Intel 80286 is u registered trademark of Intel Corporation. 

Compaq 286 is j registered trademark of Compaq Computer Corporation. Lotus and 

1-2-3 aro registered trademarks of Lotus Development Corporation. dBase is a registered 

trademark of Ashion-Tate. 

Inquiry 180 for End-Users. Inquiry 181 for DEALERS ONLY. 



MASS STORAGE 



THE APPLICATION 

INTERFACE OF 
OPTICAL DRIVES 



by Jeffrey R. Dulude 



The issues that concern an applications 
programmer working with write-once optical disks 



THE MANY ADVANTAGES of write- 
once optical disk drives, such as re- 
movability, ruggedness, transport- 
ability, capacity, and even low cost, do 
not come for free. And there are none 
who know that better than those of 
us developing IBM PC applications on 
write-once drives, for we are the ones 
who must deal with the differences 
between magnetic and optical disks. 

Optical disks differ from magnetic 
disks in several respects, specifically 
in the write-once nature of the beasts, 
their pushing beyond the 32-mega- 
byte file limit of PC-DOS, their access 
time, and their manner of error han- 
dling. The write-once aspect is further 
complicated by directory-manage- 
ment issues, file updates, retrieving 
older information, and file extensions. 

As the write-once name implies, 
data written on an optical disk is per- 
manent. Information is stored by a 
laser, which burns holes in a special 
material on the disk. Once a hole is 
burned, it is burned forever. Period. 

Also important are the differences 
in capacity and how that space is 
used. The smallest unit you can work 
with on an optical drive is a full sec- 



tor, typically 512 bytes. This limitation 
exists because of a very powerful 
error-correction system used with 
every optical disk drive. 

These error-correction systems work 
by building a unique data block, 
called an error-correcting code (ECC), 
for each sector written. The ECC mir- 
rors the information written in that 
sector. Once the ECC field is written, 
the system can read several bytes in 
a sector erroneously, and yet the data 
can be corrected. However, the ECC 
is generated for the whole sector, 
even if only half of that sector was ac- 
tually used. And because an ECC field 
on a write-once disk cannot be 
changed, any unwritten portion of a 
partially used sector is lost. 

Fortunately space is cheap. Optical 
disks have the lowest cost per mega- 
byte of any data-storage medium. Bet- 
ter still, the disks are removable. But 
while giving you the benefit of essen- 
tially unlimited storage, this also 
creates special problems for directory 
handling on cartridge changes. 

Next, consider the access times, 
which are both fast and slow, depend- 
ing on how far the head has to go. Op- 



tical drives use a two-stage position- 
ing mechanism to get the lens over 
the appropriate track on the disk. 
Most drives can seek optically by tilt- 
ing the lens within about a 40-track 
range. This optical seek is very fast- 
about 1 millisecond per track (a track 
is typically about 10K bytes). Beyond 
that 40-track range, the drive must 
seek mechanically, using a stepper 
motor or worm gear. Due to the large 
mass of the optical head, this posi- 
tioning takes a while, and average 
seek time over the entire disk surface 
is above 100 milliseconds. 

And finally, no popular operating 
system supports write-once optical 
drives at this time. So you must deal 
with issues at the device level, the 
operating-system level, and the ap- 
plication level. 

The Directory 

One of the first issues you must 
resolve is how to put a directory onto 
a write-once optical disk. And for 

(continued) 
\effrey R. Dulude is director of marketing for 
Optotecfi Inc. He can be reached at POB 
1470, Monument. CO 80132. 

MAY 1986 -BYTE 193 



APPLICATION INTERFACE 



someone who has only dealt with 
erasable media, the answer is not im- 
mediately obvious, because most 
operating systems keep their file- 
allocation table (FAT) and root direc- 
tories in the same locations on the 
disk, rewriting only parts of them as 
needed. However, the very fact that 
you can't remove information from a 
write-once disk suggests that you may 
never want to destroy a directory in 
the first place. 

To date, at least four different ways 
of handling directories have been 
used, each with varying degrees of 
success. One of the earliest ap- 
proaches was to keep all the data on 
the optical disk and all of the direc- 
tory on a companion floppy disk. But 
what if you lose or damage the flop- 
py disk? 

Well, people do lose floppies, or the 
disks become erased or damaged. 
But when you lose the floppy disk that 
contains the directory for an optical 
disk, you've also lost all your data. I 
don't think anyone uses the directory- 
on-floppy technique any more. 

Another approach keeps the direc- 
tory and FAT in RAM. They are read 
each time the optical cartridge is in- 
serted and rewritten on the optical 
disk just before the cartridge is 
ejected. This technique slows down 
cartridge changes, but it is otherwise 
fast because the computer can do 
directory searches faster when the 
directory is stored in RAM. 

There are downsides to this ap- 
proach, however. First, it uses a lot of 
disk space. In fact, the overhead used 
by all the directory and FAT rewrites 
on the optical disk often exceeds the 
size of the file data. Even worse, the 
system is vulnerable to power failures 
or someone simply turning off the 
machine before the directory is rewrit- 
ten to the optical disk. 

The last and most difficult approach 
to the optical disk directory issue is 
a unique file-management system that 
provides all the capabilities of PC- 
DOS. This type of file system keeps 
sets of pointers to all the subdirec- 
tories. This way, when a subdirectory 
is updated, only the revised portion 
of the directory along with the 
pointers to it, is written, not the en- 
tire system. This type of system is very 



space-efficient, and it has the addi- 
tional advantage of being able to 
retrieve previous versions of files by 
going back several levels of pointers. 
Access to this type of directory 
system can be provided through 
several means. For example, file I/O 
could be added to popular program- 
ming languages. Or you could write 
device drivers that go through DOS 
and look at only a 32-megabyte file 
window at a time. But perhaps the 
most powerful way is to write an in- 
terrupt handler that traps the DOS in- 
terrupt, allowing an optimal write- 
once directory system that would be 
compatible with programs written for 
PC-DOS. 

Updating Files 

Most application programs often 
need to change only part of a file- 
rarely the entire file. With write-once 
disks, changing only part of a file can 
present a problem. 1\vo approaches 
are currently being used for updates. 
The first is to simply rewrite the en- 
tire file. This approach is not only easy 
to implement, it is also effective when 
you are dealing with many small files. 
Remember, space is cheap on optical 
disks. 

Complete file rewrites become un- 
manageable, however, when the files 
become large. For example, you could 
not update a 150-megabyte file on a 
200-megabyte disk by rewriting the 
entire file, and rewriting only those 
sectors of a file that are actually 
changed becomes the obvious solu- 
tion. For this reason, the post-field 
concept was developed. 

A post field is simply an address- 
pointer field placed after every sec- 
tor on a write-once disk. This pointer 
field is not used when the sector is 
written, but later, when a replace- 
ment, or update, sector is created, the 
address of that new sector is written 
in the post field of the original sector. 
Then, when data is to be retrieved, the 
system checks the post field of the 
original sector to determine if that 
data has been changed and, if it has, 
where the revised data is located. 
And since every sector has a post 
field, new updates can be made to 
previous updates. 

The advantages of post fields are 



that they are space-efficient and they 
give an excellent audit trail for track- 
ing changes to data. The disadvantage 
is that if a file has been updated fre- 
quently, the necessary optical-head 
travel through a long list of linked up- 
dates taxes the system's performance. 

For each of the two methods of up- 
dating a file, retrieving the original 
data is handled differently. Where the 
entire file is rewritten, you need a 
directory system that allows access to 
the old file. Some directory systems 
do this with command extensions for 
file and directory utilities. Others 
routinely include the earlier version of 
the file in all directory activity, and you 
just specify which version of the file 
you want. In the post-field implemen- 
tation, the system finds the original 
data first, so branching to the updates 
is available automatically. 

In either case, the ability to retrieve 
original data is a powerful feature of 
write-once optical disks. Imagine an 
engineering drawing system that 
could take you back through the last 
three changes to see why your current 
version doesn't work. Or imagine a 
software-development environment 
where you could examine every in- 
terim piece of code written. 

Appending Files 

In addition to changing and updating 
original data in files, many applica- 
tions require enlarging the file. Such 
is the case with large database-man- 
agement systems, where you need to 
append new data to the end of exist- 
ing files. 

But appending files on a write-once 
optical disk has two problems: how to 
cope with the existing partially writ- 
ten sector at the end of the file, and 
how to add information past that last 
sector. Here, the state of the art of- 
fers three different ways to tackle the 
problem: rewriting the file, changing 
the FAT, and using a post field. 

Again, rewriting the entire file is the 
simplest way to go. As with updating 
a file, however, this method works well 
only with small files and breaks down 
with large ones. Since the primary ad- 
vantage of an optical disk is its abili- 
ty to handle large files— the very 
reason most developers choose an 

(continued) 



194 BYTE • MAY 1986 



The Source Js Illuminating. 




At last, a beacon to help you navigate 
the vast sea of personal computer technology. 

It's The Source. The online information 
service that can guide you to the best deals in 
the PC market. Shed light on your software 
problems. And signal the latest developments 
in micros. 

With The Source, you can buy, sell or 
swap hardware and software. Learn new 
applications from a Special Interest Group. 
See what's been written about the printer 
you're planning to buy. Or send out 
an SOS to thousands of other PC 
users when you need advice. 

What's more, The 
Source can enlighten you 
with current information 
on everything from business I TOeSoiIce 
to travel, investments to 
world news. 

The Source is a service mark of Source Telecomputing 
Corporation, a subsidiary of The Reader's Digest Association, 
Inc. © 1985 Source Telecomputing Corporation. 



Whatever kind of help you're after, you 
can find it faster on The Source. With a 
system of easy commands and menus. Plus a 
tutorial— free of online charges— that'll bring 
you up to speed in a snap. 

To sign up today, call 1-800-336-3366, 
For more information, mail this coupon, or 
visit your nearest dealer. 

Then, no matter how many waves of new 
technology rock your boat, you'll stay right 
on course. 



NFORMATION NETWORK 





'HicmtisljxwuliilKstt 




SM 

The most powerful resource any personal computer can hare. 

Show me the light. 

Please send more information about The Source. 

Name 

7827323 

Address 



»$** 



City, State 



Zip 



v\ 



\ 



Mail to: Source Telecomputing Corporation, 
FO. Box 1305, McLean, VA 22102. In Virginia, 
or outside the U.S., call (703) 821-6666. 



MAY 1986 



lYTE 195 



Inquiry 39 



WORLD'S 

BEST 

ASCII 

CHART 

Color-coded, pleasant to look at. 
Durable. Combines all the infor- 
mation you need in an easy-to- 
use grid format. Handy reference 
guide for programming, commu- 
nications, peripherals, installing 
software. Available in notebook 
size for $4.75 + $1.50 shipping, 
or poster size for $9.95 + $3 
shipping. Calif, residents add 
applicable sales tax. To order, 
send check or money order. For 
more information, contact us. 
Dealer inquiries invited. 

(DPI W computer specialty products 

QSSOCiQteS PO Bor 772S. Son Jose Cft 95150 (408) 377-6068 





.. 


b5 ■> a 









■., 












'."] 







1 


2 


3 


« 


5 


6 


7 


0000 





. w* . 


. IX: , 




■ ° ., 




P . 


« 


ri o„, 


OOOI 


1 


■ so- ; 


■■+■[ 


,, I , 


.. ' ., 


„ * , 





, « , 


,, «„, 


OOIO 


2 


; st. 


'■■-■■.. 




.. 2 , 


B 


■ " . 


b 


n r ... 


001 1 


3 


\ rT< 


>- 3 ._ 


,, 1 . 


11 3 11 


G 


s 


,. c ^ 


• j s .„ 


OIOO 


4 


;'<■-•<". 


,.L^', 


,. s „ 


, 4 ,, 


,. D „ 


.. T .. 


.. "... 


.. ' M. 


OIOI 


5 




.': "*-;' 




& 


i. 


u 


e 


n u ,„ 


OIIO 


6 


.' «* , 


>!,, 


., * .. 


„ 6 ,. 


... F . 


.. v .. 


.. ' „. 


„ w .„ 


01 1 t 


7 


>*-l . 


.>».. 




, ? .. 


... „ 


,. w .. 


, ■ tJ .,■ 


N W .„ 


1000 


8 


~ BS J ; 


.'. ca \. 


„ 1 u 


.. S ,. 


., H . 


,. x .. 


v. h - 




100 i 


9 


lr v^ 


1 T^r 


- 1 " 


,. 9 » 


JJy 


z 


;;~ 


2__±, 


ion 


B 




e -:..-: . 


.. f ., 




., K ■ 


.. 1 . 


... * . . 


,. 1 .„ 


1 100 


C 


■ » .. 


'fs 






L 


\ 


■ , 


K 1 * 


1 101 


D 


," -•* . 


(,5 


- 


„ " ,. 


M „ 


„ 1 ,. 


m 


r. I.„ 


1 1 10 


E 


' K . 


'' «* , 


;, .. 




N 






„ *"« 


1 1 1 1 


F 


, V . 


. ^ , 




! " 





..— V 


. °.„ 


,. <* L .„ 






■ ■■^z;. 


;'^;:/:. 


«£'&> 


«««"<— 


H "sr u Lss l ,M * 




is / 

////// ^SCHAGPIBCODECHAPl 




Attention aU FX80, FX100, JX, & RX owners: 

You already awn half of 
a great printer 





Now for $79.95 you can 
own the rest. You see, 
today's new dot matrix 
printers offer a lot more. 

Like an NLQ mode that 
makes their letters print 
almost as sharp as a daisy 
wheel. And font switching 
at the touch of a button - 



in over 160 styles. But now, 
a Dots-Perfect upgrade kit 
can make your printer work 
like the new models in 
minutes. At a fraction of 
their cost 

Call now and use your Visa 
or Master Card. Don't replace 
your printer, upgrade it! 



1-800-368-7737 

In California: 1-800-831-9772 



g SoL (Dots-Perfect) 

&D r esse I ha iis 

837 E. Alosta Ave., Glendora, CA 91740 Tel: (818) 914-5831 

An upgrade kit for EPSON FX, JX and RX printers 



Sample of 

letter without 

Dots-Perfect 



g 




EPSON is a trademark of 
EPSON America. Inc. 



APPLICATION INTERFACE 



optical disk system— this technique 
falls short. 

If the file-management system uses 
a file-allocation table, changing the 
FAT can be a very effective way to ap- 
pend a file. With this technique, the 
last sector of the original file is read 
into memory, appended to fill that 
sector, and written elsewhere on the 
disk with the additional sectors follow- 
ing in order. Afterwards, the system 
writes a new FAT. 

Or by using the venerable post field 
to replace the partially filled final sec- 
tor, the system can write the rest of 
the appended sectors contiguous to 
the last one. The advantage of this 
technique is that the entire file can 
reside in contiguous sectors, speeding 
throughput. The disadvantage is that 
you must allocate space for the file- 
making a guess at the file's ultimate 
size— when the file is created. 

Handling the Capacity 

One of the more frustrating things 
about using an optical disk on an IBM 
PC is PC-DOS's limitation on the size 
of a logical disk volume. It is only 32 
megabytes— a pittance compared to 
the 200 megabytes typically available 
on 5 14 -inch write-once optical drives. 
Fortunately, there are a handful of 
ways to handle the address limita- 
tions. One way is to surrender to PC- 
DOS and break your disk into 32- 
megabyte partitions. It's easy to do, 
and it works. 

Some people have tricked PC-DOS 
through one means or another to 
achieve addressable space greater 
than 32 megabytes. This gives you the 
capacity you want, but you some- 
times pay for it with compatibility 
problems, which often crop up with 
off-the-shelf, high-performance soft- 
ware packages that use undocu- 
mented features of PC-DOS to achieve 
their performance. Another problem 
is that developers must redo their PC- 
DOS modification for any new version 
of PC-DOS that may be released. 

The most powerful, and possibly the 
most difficult, way around the size 
limitation is with a new interrupt 
handler, which may also be necessary 
for the file-management system and 
directory. By trapping the operating- 

[continued) 



196 B YTE • MAY 1986 



Inquiry 1 19 



technical reading can 
affect your vision. 





Nothing gives you a more 
focused view of your industry than the 
magazine you're holding right now. 

But if you really intend to get 
ahead, you need a broader perspective 
as well. The kind provided by The 
Wall Street Journal. 

In an age of increasing special- 
ization, it's increasingly important to 



stay in touch with the business 
world as a whole. So in addition to 
thousands of technically oriented 
articles each year, The Journal offers 
you a daily briefing of news, informa- 
tion and ideas that can help you make 
smarter decisions. 

No matter what part of the 
business world you live in. 



One week free. 



To find out how useful The 
Journal can be— especially in a tech- 
nical field- call 800-551-5700, ext. 
71V You'll receive a full business 
week of The Wall Street Journal free 
and at no obligation. Of course, you're 
also welcome to start a subscription. 

If you can see your way clear. 



C1986lJfiw Junes AG impan 



lhe\\&ll Street Journal. 

The daily diaty of the American dream. 



APPLICATION INTERFACE 



system interrupt (21), the interrupt 
handler can intercept calls made for 
the optical disk while other calls are 
simply passed through. Once inter- 
cepted, the optical disk calls can be 
treated differently allowing the write- 
once file-management system to be 
kept transparent to the user. 

The difficulty, however, is that the in- 
terrupt handler must also support 
every disk call in exactly the same way 
as PC-DOS supports them. Those calls 
include functions that open a file, 
write a sector to a file, find out how 
much free space is on the disk, and 
so forth. Moreover, supporting all of 
those functions requires a tremen- 
dous amount of program code. 

Cutting Access Time 

Compared to hard-disk drives, optical 
drives have unusual seek characteris- 
tics. They seek rapidly in a small band 
and slowly in a large band. As an ap- 
plication developer, you must maxi- 
mize performance of your application. 



You can measure your application's 
performance with two criteria: the file- 
management system's access time to 
data and its overall throughput. 

How quickly you get to your data 
depends a great deal on how the 
file-management system is laid out. 
Some companies put the data on the 
outside tracks, expanding inward, and 
the directory on the inside tracks, 
growing outward. The two grow toward 
each other, and the disk is full when 
they meet. Having the data separated 
from the directory by almost the full 
disk surface could lead to long time 
delays between opening a file and 
getting data from it. 

Another file-management approach 
is to interleave the data and directory. 
A "high-water" mark is kept in the 
directory to indicate the next available 
disk sector. If, when writing part of a 
directory, the system runs out of 
space, the high-water mark tells the 
system where to put more directory 
entries. A block of directory space is 



reserved on the disk, and data follows 
it. Such interleaving minimizes the 
seek time between finding a directory 
entry and actually getting the data. 
To speed throughput, you could use 
a file-management system that allows 
you to write sequential sectors of a 
file contiguously on the optical disk. 
Doing so eliminates seek time be- 
tween sectors. Contrast this to PC- 
DOS writing to a floppy disk that has 
had many files erased and rewritten. 
When an available sector is re- 
quested, DOS just gives a file the next 
available sector, even if it's halfway 
across the disk. On a disk where avail- 
able sectors are not adjacent, you get 
"sector scatter," and every new read 
or write requires a seek to a new posi- 
tion, making data transfer very slow. 

Errors and Recovery 

The final issue you must address as 
an applications integrator using write- 
once optical drives is error handling. 
Several types of errors occur under 



Why put up with... 



ZOWJGIZIP 
Z0DIG!ZIP 

ZOWJGJZIP 
ZOWJGJZIP 
ZOWJGJZIP 

ZODfGJZIP 
ZODlGtZIP 



POCKETA,POCKETA! 
POCKETA,POCKETA! 
POCKETA,POCKETA! 
P<KKETA,P<KKETA! 
POCKETA,POCKETA! 
POCKETA,POCKETA! 
POCKETA,POCKETA! 



TICKTICKJICK 
TICKTICKTICK 

TICKTICKJICK 
TICKTICKJICK 
TICK,TICK,TICK 

TICKTICKJICK 
TICKTICKTICK 



when you could have... 



198 BYTE- MAY 1986 



APPLICATION INTERFACE 



different circumstances. You must 
resolve whether you or the drive 
manufacturer will handle them. 

Some errors can be caught when 
the manufacturer formats the disk 
(often called disk certification) or 
when the user formats the disk (often 
called bad-sector mapping). In both 
cases, a table of bad sectors is writ- 
ten on the disk and made available to 
the controller and the host software. 

The next type of errors are those 
found dynamically that is, at run time. 
The most sophisticated optical drives 
have a technique for detecting errors 
as they are writing called direct read 
during write (DRDW). These drives 
can sense whether a particular hole 
in the disk has been successfully 
burned before the laser leaves that 
spot. If more bad burns are found in 
a sector than the ECC can correct, the 
drive signals that there has been a 
write failure in this sector. 

Less sophisticated drives must wait 
a full revolution to read the sector 



written and then compare what was 
written with what was read. This is 
similar to the verify operation done 
on magnetic media today, and 
throughput suffers dramatically. On a 
21-sector-per-track drive you must 
write one sector, wait for 2 1 sectors 
to read and verify that sector, and 
then write the next sector. This is 22 
(21 + 1) times slower than a DRDW 
drive, which detects errors on the fly. 

In both cases, the system must ac- 
commodate the dynamic errors as 
well as the static errors found at for- 
mat time. Who ends up doing the 
error handling varies widely between 
optical disk drive vendors. And the 
way errors are detected and treated 
affects performance greatly. General- 
ly speaking, the more that is done in 
the drive and controller, the better the 
performance will be and the less work 
you will have to do. 

With most of the 12 -inch optical 
drives, the application developer must 
do all of the error handling. On the 



other extreme, at least one 5!4-inch 
optical drive manufacturer has an 
error-handling system that is so 
sophisticated that you can literally 
write perfectly to every sector on the 
disk. This is known as true random- 
write capability, and it is crucial for 
databases that require random seeks 
to the middle of the disk. 

Certainly, write-once optical disk 
drives are application-sensitive 
devices. And while they work superb- 
ly in many applications, they may not 
be suited for others. Moreover, an ap- 
plications developer encounters many 
complicated issues when using these 
drives. Although we have presented 
a synopsis of the possible techniques 
that may be used, integration of a 
write-once optical drive depends on 
the particulars of your application and 
how all those issues affect your system. 

Editor's note: Source code of a write-once 
database example written by the author is 
available for downloading via BYTEnet 
Listings at (617) 861-9764. ■ 



"Mmmmmmm..." 




The Canon Bubble-Jet Printer. 
Because high-speed, high-quality printing should 
be seen, not heard. 

The Canon Bubble-Jet Printer uses an exclusive 
system that combines thermal and ink-jet technology 
to print an ultra-fast 220 cps. While keeping the 
decibels down to a whisper. 

For professional word processing, the Near Letter 
Quality mode (NLQ) churns out crisp, clear copy 
at a brisk 110 cps. And the B J-80 has three graphic 



image modes for high-resolution printouts of charts, 
graphs and diagrams. 

Of course, the Bubble- Jet is fully compatible with 
Canon's fine line of Personal Computers and plug-com- 
patible with the IBM PC. It's compact, lightweight 
and surprisingly affordable. 

Ask your dealer about the full line of fast, efficient, 
economical Canon Printers. ^*> ^ ^g 4V^fl® 
Find out what all the quiet \^d 1 1 %3 1 1 
excitement is about. PRINTERS 

Printouts that stand out. 



©1986Canon U.S.A., Inc. 

For more information: call 1-800-441-1313 (Or in Utah, call 800-922-3131.) Or write Canon U.S.A. 



Inc., Printer Division, PO. Box 619865, Dallas/Fort Worth Airport, TX 75261. 



Inquiry 57 



MAY 1986 'BYTE 199 



JLV. •?> ■ 



? ^'Sr 



*>.sj* «*d^ 



At last, the world's 

best-selling portable computer 

has a little competition. 




nit: 



It's 30% smaller 



17% lighter 400% faster 










Introducing 
the remarkable new 

COMPAQ PORTABLE II 



mmmmsammm 




Now there's a portable per- 
sonal computer so small, 
so light, and so fast it defines a 
new industry standard. From 
the same company that set the 
standard -COMPAQ: 

The new advanced-technology 
COMPAQ PORTABLE II™ has 
all the advantages of the world's 
best-selling full-function 
portable— the original COMPAQ 
Portable— plus it's even more 
portable. And it's far more 
powerful than most desktop 
computers. 

With its 80286 microproces- 
sor, the COMPAQ PORTABLE II 
can run all the popular business 
software written for IBM* Per- 
sonal Computers. At speeds three 
to five times faster than the 
COMPAQ Portable, IBM PC/XT™ 
and other compatibles. 

It's more computer 
in less space 

Never before has a computer 
this small been capable of so 
much. Making the COMPAQ 



It simply works better. 



PORTABLE II 30% smaller and 
17% lighter— with no reduction 
in monitor size and a big gain in 
functionality— was an engineer- 
ing triumph. The result is a full- 
function, advanced- technology 
personal computer that's easy to 
take on business trips or carry 
from desk to desk. 

A computer for now 
and for the future 

The COMPAQ PORTABLE II 
excels in compatibility And 
because of its standard 360- 
Kbyte diskette drive format, 
your data diskettes will be fully 
interchangeable with other 
COMPAQ IBM, and compatible 
personal computers. 

Expandability? An optional 
10-Megabyte fixed disk drive 
stores over 5000 pages of data. 
RAM expands to 2.1 Megabytes 
without an expansion slot, and 
with one expansion slot RAM 
can expand to 4.1 Megabytes. 
Since interfaces for the most 
popular peripherals are already 



built in, the two expansion slots 
can be used for connecting your 
computer to others: add a 
modem, a networking board, or 
a board for communicating 
with your mainframe. 

No compromises 

The COMPAQ PORTABLE II 
puts tremendous computing 
potential within the grasp of 
every computer user. It's backed 
by the service and the support 
of over 2900 Authorized 
COMPAQ Computer Dealers 
worldwide. Plus, it's made by 
the undisputed world leader in 
portable personal computers. 
And for that title, there's no 
competition. 

For the name of the dealer 
nearest you, call toll-free 1-800- 
231-0900 and ask for Operator 
16. In Canada, call (416) 449- 
8741. In Europe, telex 
84117898630AB; 898630 
COMPAQ TTXD. 

IBM* is a registered trademark and IBM PC/XT™ 
is a trademark of International Business Machines 
Corporation. ®1986 COMPAQ Computer Corpora- 
tion. All rights reserved. 

comPAa 



mJT" 



Business 

Management 

Portrait 




Improve your 11 ^productivity 
with two new business software applications for 
users of IBM PC's™ and compatibles. 



Manager Mouse™ with TelePaint™ 

for overhead transparencies and 
slides. 

■ Enhances Lotus 1-2-3 Graphs 

■ Supports Polaroid Palette™ and over 20 printers 

■ Includes business symbols and maps 



Manager Mouse™ with Key Free™ for Lotus 
1-2-3,™ Symphony™ dBaselll™ and hundreds of 
other popular business software. 

■ Easy to install 

■ Pop-in windows for changing 
key settings on the fly 

■ Ability to tailor keys easily 

Manager Mouse, the extremely versatile, portable mouse from the Torrington Company 
is low on maintenance and smooth on performance. It requires no special pad and no 
external power supply. Long a favorite of engineers and technical people, Manager Mouse, 
with a patented suspension drive system runs all popular mouse driven programs. 

Call 1-800-982-0030 for dealer information. 



Manager Mouse and KeyFree a e tradema ks of The Torrington Company. IBM is 
a tradema k of International Business Machines. Lotus 1-2-3 and Symphony are 
trademarks of (he Lotus Development Company. dBase III is a tradema k of 
Ashton Tate. TclcPaint is a tradema k of LCS/Telegraphics. Polaroid Palette is a 
tradema k of Polaroid Corporation. 



TORRINGTON 



Part of worldwide Ingersoll-Rand 



202 B YTE • MAY 1986 



Inquiry 403 



MASS STORAGE 



OPTICAL DISK 

ERROR 
CORRECTION 



by Solomon W. Golomb 



A look at Hamming and Reed-Solomon codes 



OPTICAL DISKS ALLOW a higher den- 
sity of data storage than any other 
computer memory system currently 
available or imminently anticipated. 
For example, a magnetic 5 ! /4-inch flop- 
py disk, double-sided and double- 
density, will store up to 720K bytes, 
while an optical 5 14 -inch disk can 
store as much as 5 50 megabytes. 

It is true of most kinds of media that 
storage density can be further in- 
creased if you can tolerate a higher 
error rate. If your system is running at 
1 million bits per second, an error rate 
of I0" 6 means that, on the average, 
there will be one error per second. An 
error rate of 10" 9 means an average 
of one error every 17 minutes. And an 
error rate of IO" 12 means an average 
of only one bit error every 1 1 Vi days, 
assuming that your system continues 
to run at I million bits per second all 
around the clock, seven days a week. 
That is why manufacturers of com- 
puters and disk drives like to specify 
an error rate of 10" 12 for the computer 
memory systems that will run with 
their machines. 

So media makers face a dilemma. 
They want to pack as many bits of 



storage into each disk as possible, but 
if their "raw error rate" goes up much 
above 10~ 12 , they won't meet OEM 
specifications. Here is where error- 
correcting codes help. 

Suppose the bits are packed so 
densely on the medium that the error 
rate is a horrible 10" 5 , corresponding 
to an average of 10 bit errors per sec- 
ond on our 1-megabit-per-second ma- 
chine. With the sophisticated error- 
correction techniques available today, 
it is possible to use only 10 percent 
of the available bits for redundancy, 
having the remaining 90 percent 
usable for real information, and 
reduce the errors that get through the 
system from a raw error rate of 1 0" 5 
to a corrected error rate of 10~ 12 . Since 
degrading the error rate to IO" 5 prob- 
ably at least doubled the storage den- 
sity, the "penalty" of 10 percent for 
error correction to get the error rate 
back down to IO" 12 still leaves the 
media maker way ahead of the game. 

What Error-Correcting 
Codes Are Used 

Over the past 3 5 years or so, many 
different types of error-correcting 



codes have been devised, and most 
of them have been tried at one time 
or another to reduce the error rate on 
some type of storage media. These 
different types of codes are named 
for their inventors: Hamming codes, 
Fire codes, the Golay code, Bose- 
Chaudhuri-Hocquenghem (BCH) 
codes, Reed-Solomon (RS) codes, 
Goppa codes, etc. Each code is a col- 
lection (or dictionary) of binary code words, 
all of some fixed block length of n bits, 
of which k bits are information bits 
that, depending on the data to be 
stored, can take any possible values. 
The value kin provides a measure of 
the information content of code 

[continued) 
Solomon W. Golomb, Ph.D., is a professor 
of electrical engineering and mathematics at 
the University of Southern California. He is 
a member of the Board of Directors of 
Cyclotomics Inc., a company founded in 1973 
by E. R. Berlekamp that designs proprietary 
Reed-Solomon encoders and decoders. Y\e is 
also a member of the National Academy of 
Engineering and a fellow of the IEEE. He 
can be contacted at the University of Southern 
California, PHE-506. Los Angeles, CA 
90089-0272. 

MAY 1986 'BYTE 203 



ERROR CORRECTION 



words and is called the rate of the 
code. The remaining r bits (r = n-k) 
are redundancy bits (or parity-check bits) 
and are calculated from the informa- 
tion bits by a set of fairly simple equa- 
tions. When a code word is retrieved 
from memory, the redundancy bits 
are tested to see if they still satisfy 
these parity-check equations. If all the 
equations check, it is overwhelmingly 
likely that no errors have occurred in 
the storage and retrieval process. On 
the other hand, if one or more errors 
have occurred, this will result in a pat- 
tern of certain equations checking 
and the other ones failing. From this 
pattern of parity-check failures, the 
errors can be located and corrected, 
provided that the total number of 
errors is not too large for the capabili- 
ty of the code. 

How They Work 

A simple example will help to clarify 
how error-correcting codes work. 
Probably the simplest error-correcting 
code is the Hamming (7,4) code. The 
(7,4) means that the code words are 
seven bits long, and four of the seven 
bits are information bits. The remaining 
three are parity bits, or redundancy 
bits. 

We denote a typical seven-bit code 
word by the letters abcdefg. We allow 
abed to be any combination of four 
bits, from 0000 to 1111, representing 
the actual data. Then we compute e. f, 
and g as shown in table la, where the 
symbol © indicates "parity-check 
arithmetic" in which we write a I if the 
ordinary sum is odd, and a if the or- 
dinary sum is even. 

For the Hamming (7,4) code, the en- 
tire dictionary consists of only 16 
code words, as shown in table lb. 
When a word is retrieved from 
storage, equations 1,2, and 3 for e. f, 
and g are tested to see whether any 
errors have occurred. If no errors have 
occurred, all three equations check. 
But suppose exactly one of the seven 
bits is in error. Depending on which 
bit it is, a different subset of the three 
equations will fail, because each of 
the seven letters (a through g) occurs 
in a different subset of the three equa- 
tions. Thus if a is the one bit that is 
in error, then all three equations will 
fail because a enters into all three 



Table 1: The Hamming (7,4) code: 


(a) Parity bits e, f, and g are 


calculated by XORing the data bits 


shown: (b) all valid Hamming (7,4) 


code words: and (c) an example 


identifying the error in 1 1 001 1 1 . 


(a) 


(1) e = a e b e c 


(2) f = a e b e d 


(3) g = a e c e d 


(b) 


abcdefg 





10 11 


10 10 1 


11110 


10 110 


10 110 1 


110 11 


1110 


10 111 


10 110 


10 10 10 


10 110 1 


1 10 1 


110 10 10 


1110 10 


1111111 


(c) 


(1) e = a e b e c, 


1=1 + 1+0 fails. 


(2) f = a e b e d, 


1=1 + 1+0 fails. 


(3) g = a e c e d, 


1=1+0 + checks. 



equations. If b is in error, equations 
1 and 2 will fail, but 3 will check. If 
c is in error, equations 1 and 3 will fail 
but 2 will check. If d is in error, equa- 
tions 2 and 3 will fail, but 1 will check. 
If e is in error, only equation 1 will fail. 
If / is in error, only equation 2 will fail, 
and if g is in error, only equation 3 will 
fail. So, given the assumption that at 
most one of the seven bits of the code 
word is in error, the pattern of which 
parity equations check and which 
ones fail uniquely corresponds to the 



location of the error (if any). 

For example, suppose we retrieve 
1 1 001 1 1 from storage. We try the three 
equations as shown in table lc. Since 
1 and 2 fail, the single-error assump- 
tion then points to b as the culprit, 
since it is the unique letter that occurs 
in I and 2 but not in 3. Correcting b 
from I to 0, we get the "corrected" 
code word 1000111, which is indeed 
one of the 16 legitimate words of the 
dictionary 

This simple example illustrates the 
principle of information bits versus 
redundancy bits, the calculation of 
redundancy bits via parity-check 
equations, and the location and cor- 
rection of errors from the pattern of 
parity-check failures. 

Principal facts and characteristics of 
the major types of codes used in error 
correction are summarized in table 2. 

Reed-Solomon Codes 

The standard approach that has been 
emerging in more advanced memory 
systems generally, and in optical disk 
systems in particular, is to use a Reed- 
Solomon code with some form of the 
Berlekamp decoding algorithm to 
locate and correct the errors. RS 
codes were invented more than 2 5 
years ago by Irving S. Reed and 
Gustave Solomon, who were then at 
MIT's Lincoln Laboratories, and are 
particularly effective when errors tend 
to occur in bursts. Rather than doing 
arithmetic with the individual bits, as 
most of the earlier and simpler codes 
did, RS codes work on several bits at 
a time. 

RS codes treat m-bit bytes as in- 
dividual code symbols, and a single 
code word (in effect, a "frame" of data 
plus redundancy) consists of 2 m - \ of 
these m-bit bytes. If one wishes to be 
able to correct any error pattern that 
affects no more than t bytes per code 
word, it is sufficient to dedicate It 
bytes per code word to the task of 
error correction. The remaining 
2 m -l-2t bytes are all available for 
information. 

One very popular option is to use 
RS codes based on eight-bit bytes. 
The standard RS code using eight-bit 
bytes has a word length (or "block 
length") of 25 5 bytes, and it will cor- 

[continued) 



204 B YTE • MAY 1986 



Betcha our compiler can 
beat up your compiler. 



Or your money back. 



If you program in BASIC, 

Pascal, Fortran or C, 

you're using yesterday's 

technology. We know this state- 
ment will start a brawl, but it's true. 
So, before you start a fight you can't 
win, take a closer look at the Modula-2 
language and the Modula-2 Software 
Development System (M2SDS) from 
Interface Technologies. Just compare 
the features and performance of 
M2SDS to your system. You'll find a 
new language and a programming 
environment that's more flexible, 
much faster and works on any IBM® 
PC or 100% compatible with 256 K 
memory or more. 

M2SDS 



COMPILE SPEED (MIN.SEC) 
30LINES 
300 LINES 


0:15.58 
0:25.48 


EXECUTION SPEED (MIN.SEC) 
SIEVE 
FIBONACCI 
30X30 MATRIX (8087) 
FP OPERATIONS 
FP OPERATIONS (8087) 


0:13.92 
0:53.49 
0:08.84 
0:27.56 
0:01.97 


SYNTAX CHECKING EDITOR 


YES 


MULTIPLE WINDOW EDITING 


YES 


EDITOR FILESIZE LIMIT 


MEMORYSIZE 


COMPILE ERROR CALLS EDITOR 


YES 


LINKER 


YES 


PRODUCES EXE FILES 


YES 


EXECUTABLE CODE SIZE LIMIT 


DISK SPACE 


DOS ACCESS FROM EDITOR 


YES 


DOS ACCESS FROM PROGRAMS 


YES 


8087 SUPPORT STANDARD 


YES 


COPY-PROTECTED DISK 


NO 


COSTWTTH 8087 SUPPORT 


$50.88/$80.88 



Source; Software Resources, Inc. Sieve program from BYTE, 
January 1983. Fibonacci program from Dr. Dobb's Journal, 
February 1985. Matrix program from BYTE, October, 1982. FP 
Operations program from BYTE, May 1985. M2SDS with or without 
8087 uses 8-byte accuracy. Programs compiled with all checking 
options on. All tests conducted on a standard IBM-PC/XT with 512K 
of memory and an 8087 math coprocessor. 

•Original or back-up diskette may be sent for trade-in. Diskette will 
be destroyed immediately upon receipt so that your current compiler 
license agreement is not violated. 

IBM is a registered trademark of International Business Machines 
Corporation. 




Trade In and Trade Up. Just 
to prove that we're not all brag. . . 
we'll send you M2SDS for just $50.88 
if you mail us your present compiler 
or interpreter diskette.* That's $30.00 
off the regular price. If within 30 
days you're not programming faster 
than ever, just return the diskette and 
we'll send you your money back. 

Heavyweight Champion 

SDS-XP. If you're ready to move 
into light-speed, you need SDS-XP. 
It has everything M2SDS has with a 
little "punch" added. Like Extended 
Libraries, M2MAKE and a Foreign 
Object Module Importer. SDS-XP 
offers buyers a stout discount when 
compared with the cost of buying 
M2SDS and the additional compo- 
nents as add-ons. For a limited time 
only, SDS-XP is available for $99.00 
with compiler trade-in. That's $150.00 
of f the advertised price of $249.00. 



a. 



INTERFACE 
TECHNOLOGIES 

3336 Richmond, Suite 200, Houston, TX 77098 

1-800-922-9049 

(In Texas, call 7131523-8422) Telex: 322127 
In Europe call IK at: Switzerland 41 (I) 700-3037; 
Netherlands 31 (20) 106922; U.K. 44 (1) 656-7333 



Knock Out Bugs $79.95. 

Announcing M2DEBUG. A symbolic, 
compact (only 20K RAM) interactive 
run-time debugger with features 
most requested by software pro- 
grammers and system developers. 
It comes with a Virtual Resource 
Overlay Operating Manager (VROOM) 
that speeds up compile time 50%. 

Calling All Compilers. So now 

that you're wise to the limitations of 
your system, why not trade it in. You'll 
soon see that it was smarter to switch 
than fight. And a pretty safe bet. 

Here's my diskette. Rush me: 

□ M2SDS for $50.88 each, plus $7 shipping 
and handling. 

□ SDS-XP for $99.00 each, plus $7 shipping 
and handling. 

Or, send me: 

□ M2SDS for $80.88 each, plus $7 shipping 
and handling. 

SDS-XP for $249.00 each, plus $7 ship- 
ping and handling. 

DM2DEBUG for $79.95 

D My check is enclosed. 

□ Apply charges to credit card indicated 
below: 

VISA/MasterCard/American Express 
(circle one). 

Credit Card # 



Expiration Date . 

Signature 

Name 



(please print) 



Shipping Address. 



City, 



State/Zip 

Day Phone 

Texas residents add 6.125% Sales Tax. 
International orders add S30 for shipping/handling. 
If paying by check, check or draft must be in 
US. dollars drawn on a US. bank. 



INTERFACE TECHNOLOGIES CORPORATION 

3336 Richmond, Suite 200, Houston, Texas 77098 



L. 



J 



ERROR CORRECTION 



rect any pattern of up to t bytes be- 
ing in error provided that It of the 
bytes are used for redundancy (i.e., 
r=2t), leaving the remaining 2 55-2t 
bytes available for information. 

For example, if we want to be able 
to correct any pattern of five or fewer 
"symbol errors" per code word, we 
will have word lengths = 2 8 - 1 =2 55 
bytes = 2040 bits, of which r = 2t = 
10 bytes = 80 bits are used for redun- 
dancy, and the remaining k = n-r = 
245 bytes = 1960 bits are informa- 
tion. That is. so long as no more than 
5 of the 2 5 5 eight-bit bytes in a code 
word contain errors, the decoder will 
locate and correct all the errors. If 
errors have occurred in more than 5 
bytes, it is overwhelmingly likely that 



the decoder will determine thatan un- 
correctable error has occurred rather 
than erroneously concluding that an 
error of not more than 5 bytes has oc- 
curred from a different code word. A 
byte is in error whether one, two, or 
all eight of its bits have been retrieved 
incorrectly. For this reason, Reed- 
Solomon codes are said to have burst- 
error-correction capability. 

The RS code rate is calculated from 
the formula 

2 w -2£-l = coc ] e ra te 

where m = the number of bits per 
"byte." The example presented has a 
code rate of 24 5/2 5 5. This code is 
designated RS(2 55.245). much like the 



Hamming code designations. 

One other common specification of 
RS codes is the minimum distance, which 
is the smallest number of correspond- 
ing symbols by which two distinct 
code words differ. As you might ex- 
pect, the minimum distance is one 
more than twice the number of errors 
you can correct, or It + I. 

Some experts recommend putting 
one extra redundancy byte, called the 
overall parity byte, into the RS code 
block. This "extended code" can be 
used to correct up to t symbol errors 
per code word, and simultaneously to 
detect (without correction) whenever 
t+ I symbol errors have occurred in 
a code word. In each code word of 

{continued) 



Table 2: The major types of error-correcting 


block codes. 








Code inventor 












and year of 


Usual code 


Type of errors 


Memory systems 


Communications systems 




publication 


parameters 


it corrects 


where used 


where used 


Remarks 


Robert W. Hamming 


g = 2 (binary) 


Corrects only 


Most 


Some packet 


The easiest 


1950 


n = 2'-1 (bits) 


single errors: 


semiconductor 


radio 


codes to 




k = 2 t -t- J \ (bits) 


one bit in 


memories 




understand 




r=t (bits) 


error per block 








Philip Fire 


g = 2 (binary) 


Corrects a 


Some magnetic 


— 


The simplest 


1959 


n = k + r (bits) 


single short 


tape and 




"burst correc- 




k = 75,000 to 


burst 


magnetic disk 




tion" codes 




150,000 (bits) 












r = 48 (bits 










Marcel J. E. Golay 


g = 2 (binary) 


Corrects any 


— 


Some Navy 


A remarkable 


1949 


n = 23 (bits) 


pattern of <3 




teletype 


code but not 




k = 12 (bits) 


errors per 23- 






part of a larger 




r= 1 1 (bits) 


bit block 






family of codes 


BCH codes: 












R. C. Bose and 


q-2 (binary) 


Corrects any 


Very large 


Some packet 


Generalizes 


D. K. Ray-Chaudhuri 


n = 2 r -1 (bits) 


pattern of <e 


semiconductor 


radio 


Hamming codes 


1960; and 


/c=2 r -ef-1 (bits) 


errors per 


memories that 




to correct 


A. Hocquenghem 


r=e/(bits) 


block 


simulate magnetic 




multiple errors 


1959 






disks 






RS codes: 












Irving S. Reed and 


g = 2" I (m-bit 


Corrects any 


Magnetic tape 


Satellite links, 


Generalizes 


Gustave Solomon 


bytes) 


pattern of 


and optical 


deep space links, 


BCH codes to 


1960 


n = 2 m -^ (bytes) 


<f byte errors 


disk 


some international 


nonbinary 




k = 2 m -2i-\ 


per(2"'-1)- 




terrestrial 


alphabets; most 




(bytes) 


byte block 




links 


widely used 




r = 2t (bytes) 






1 


powerful block 
codes 


V. D. Goppa 


Large range 


Like BCH or 


— 


_ 


Generalizes RS 


1970 


of options 


RS codes 






codes to a still 
larger class 





206 B YTE • MAY 1986 



Inquiry 184 — •> 



THAT IS OUT OF THIS WORLD 




$389 






$ 549 



MODEL 2000 20MHz 
DUAL TRACE 



MODEL 3500 35MHz 
DUAL TRACE DELAYED SWEEP 



AT A DOWN TO EARTH PRICE 



At fast! Truly affordable test equipment with no compromise in design, and features 
you would expect to find only on oscilloscopes costing hundreds of dollars more! JDR 
Instruments presents two, new, high-performance models backed by a two year 
warranty and technical support which is only a phone call away. Perfect for the 
technician or advanced hobbyist, both models feature Dual Trace capability and a 
variety of operating and triggering modes, including CH-B Subtract and X-Y operation. 

MODEL 2000 has a 20 MHz I ■■■ MODEL 3500 features a 35 

bandwidth and 20 calibrated §4K MHz bandwidth and exceptional 

sweeps ranging from .2s to. 2jjs. , KttwPSfl 1mV/DIV sensitivity. Delayed 

A convenient built-in component [ BA» mm I sweep and variable holdoff allow 

tester provides additional I^ ^^HyW^M stable viewing of complex 

diagnostic power. |QQggg| | waveforms. 



ORDER TOLL FREE 
800-538-5000 
800-662-6279 ( ca) 



JDR INSTRUMENTS 

1224 South Bascom Avenue 
San Jose, California 95128 (408) 995-5430 



COPYRIGHT 1985 JDR INSTRUMENTS. EARTH PHOTO COURTESY OF NASA. 
THE JDR INSTRUMENTS LOGO ISA REGISTERED TRADEMARK OF JDR MICRODEVICES. JDR INSTRUMENTS IS A TRADEMARK OF JDR MICRODEVICES. 



ERROR CORRECTION 



length 2 m of the extended code, there 
are now 2t+l check symbols and 
2 m -2t-l information symbols. The 
code rate is accordingly decreased to 

2 m -2t-l 



2 m 

and the minimum distance is in- 
creased to 2t+2. 

The standard RS code can also be 
shortened, or punctured, by the simple ex- 
pedient of omitting some of the infor- 
mation symbols. Since the number of 
check symbols remains the same, this 
' decreases the code rate. The encod- 
ing and decoding are done in exactly 
the same way as for the standard RS 
code, but now some of the informa- 
tion symbol positions are fictitious, or 
phantom. If the decoder locates an 
error in a phantom position, this in- 
dicates that in reality an uncorrectable 
error has occurred. 

To work with larger chunks of data 
at a time, one may decide to go with 



10' 
10" 7 
IO" 8 

io- 9 

(U 

& 

Z io 10 

2 

u 

w 

~ 10" 

OQ 
+-> 

| io- 2 

o 

3 io 13 
10 -.4 

| -.S 










\ 


















































































\ 


10" 1 IO" 2 10" 3 IO" 4 1C 
Log Input Bit-Error Rate 


r* 



Figure I : The relationship between the 
raw error rate and the corrected error rate 
using an RS(2 20.204) code. Code words 
consist of 220 eight-bit bytes, of which 
204 bytes are information and 1 6 bytes 
are redundancy, for a code rate of 92.73 
percent. The figure assumes random, inde- 
pendent bit errors. Performance against 
somewhat "bursty" errors is even better. 



twelve-bit bytes (or twelve-bit charac- 
ters), in which the block length of the 
corresponding RS code is 4095 
twelve-bit characters. 

Galois Fields 

The arithmetic that underlies Reed- 
Solomon codes is not ordinary arith- 
metic, but the somewhat bizarre and 
exotic arithmetic of the "finite field" 
containing 2 m elements. These finite 
fields were first invented and studied 
by the nineteenth-century French 
mathematical prodigy Evariste Galois 
(181 1-1832), who was killed in a duel 
some five months shy of his twenty- 
first birthday, and are often referred 
to as Galois fields. ("Galois" is pro- 
nounced ' gal-WAH.") 

A particular Reed-Solomon code is 
generated using a generator poly- 
nomial over GF(2 m ), where GF(2 m ) 
means "the Galois field with 2 m 
elements." The Berlekamp decoding 
algorithm for RS codes makes effi- 




Figure 2: The performance of three RS 
codes against random occurrence of bit 
errors. All three use code words consisting 
of 32 five-bit bytes. The rate Vi code has 
1 6 information bytes and 1 6 redundancy 
bytes per block, an RS(32,16) code. The 
rate 3 A code is RS(32,24), and the rate 
% code is RS(32,28). 



The standard RS 
code can be shortened 
by omitting some of 
the information symbols. 



cient use of the algebraic structure of 
GF(2 m ) and first calculates the syn- 
dromes (a type of discrete Fourier coef- 
ficients) of the possibly erroneous 
code word. From these syndromes 
two special polynomials are con- 
structed. One is called the error locator 
polynomial, and the roots of this 
polynomial are the locations where 
bytes are in error. The other is the error 
corrector polynomial, which gives the 
values to be added to the erroneous 
bytes to get the corrected bytes. 

The details of the mathematics of 
RS encoding and decoding involve ar- 
cane and intricate mathematics. The 
interested reader is referred to the 
items in the bibliography. 

Performance of Reed- 
Solomon Codes 

In figure I, we see the performance 
of a Reed-Solomon code with a block 
length of 220 eight-bit bytes, of which 
204 bytes (1632 bits) are information 
and the remaining 16 bytes (128 bits) 
are used for redundancy. An input error 
rate (raw error rate) of I erroneous bit 
per thousand is converted into an out- 
put error rate (corrected error rate) of 
well below 1 bit per million, while a 
raw error rate of 10~ 4 bits becomes a 
corrected error rate well below 10" 14 
bits, all at a "cost" of only 7.27 per- 
cent of the bits being used for error 
correction rather than for data. This 
is on the assumption that the bits in 
error occur at random and indepen- 
dently of one another. However, in the 
realistic situation that bit errors tend 
to occur in short bursts, the actual per- 
formance against the same average 
bit-error rate will in fact be better than 
figure I indicates. This RS(220.204) 
code is typical of the type of error 
correction that might be used for op- 
tical disk applications. 

[continued] 



208 BYTE- MAY 1986 



GllflilSM 

m wmmm mm 

(the oldest, largest, and most respected 
computer book club in the world) 




(the oldest, largest, and most respected 
computer book club in the world) 



Please accept my application for trial membership and send me 
the "C" Programmer's Set (00717), billing me only $2.95, plus ship- 
ping and handling. I agree to purchase at least three additional 
Selections or Alternates over the next 12 months. Savings range up 
to 30% and occasionally even more. My membership is cancelable 
any time after I buy these three additional books. A shipping and 
handlingcharge is added to all shipments. 
No -Risk Guarantee: If I am not satisfied— for any reason— I may 
return the "C" Programmer's Set within 10 days. My membership 
will be canceled, and I will owe nothing. 



Name- 



Name of Firm. 



I s 



Address. 



(I fyou want subscription sent to your office) 

Apt. . 



Please accept my application for trial membership and send me 
the "C Programmer's Set (00717), billing me only $2.95, plus ship- 
ping and handling. I agree to purchase at least three additional 
Selections or Alternates over the next 12 months. Savings range up 
to 30% and occasionally even more. My membership iscancelable 
any time after I buy these three additional books. A shipping and 
handlingcharge is added to all shipments. 
No-Risk Guarantee: If I am not satisfied— for any reason— I may 
return the X" Programmer's Set within 10 days. My membership 
will be canceled, and I will owe nothing. 



Name_ 



"2 Name of Firm 

x (If you want subscription sent to your office) 



Address. 



_Apt._ 



City_ 



City- 



-Zip- 



State 

(Books purchased for professional purposes are a tax-deductible expense. 
Offer good in Continental US. and Canada only. Prices slightly higher in 
Canada.) 

Byte 5/86 



-Zip- 



State 

(Books purchased for professional purposes are a tax-deductible expense. 
Offer good in Continental US. and Canada only. Prices slightly higher in 
Canada.) 

Byte5/86 









rn 


^ > 






III 


CD CC 


n 




H 


< < 
if) w 

n w 


LU 

_) 
< 


LU 

I 
1- 
Z 


< 

Q 

LU 


O LU 


U_ 




h- 


z z 






Z 






Q ^ 



~3 


Z 


-lui 


■^ Q 


^^ nr 


Ss 


>f 




LU™ 


DC^ 


i- 


coi 


<0£ 


UJ" 


z 


i— CO 


COS 


Du 


COS 


DC 


LL 










rn 


W > 






LU 


9 CE 


n 




*7 


^ < 


in 


III 


< 

Is 


(J LU 
D- (J 


_j 


I 


< 


H 
Z 


Q 
LU 


O LU 


LL 




H 


z z 






Z 



s 



o ff, 



-3 


z 


-J..i 


^™ Q 


rfco 
^^ nr 


Ss 


>f 




LU^ 


DC^ 


i- 


(01 


cot 


llT 


z 


i— CO 


(OS 


Do 


CDS 


(X 


u_ 




The "CProgrammer's Set 

-only 12^5 



when you join the Library of Computer and Information Sciences. 

You simply agree to buy 3 more books— at handsome discounts— within the next 12 months. 



jSSk* 



LfARNING TO PROGRAM IN C ™" 
4.5 Switch 



THE C PROGRAMMING LANGUAGE 

3.7 Break 



RELIABLE DATA STRUCTURES IN C 

2.8 Overflow 



Learning to Program in C 

By Thomas Plum. Beginning programmers 
will quickly learn how to write C programs 
that are both efficient and portable. More 
than an instructive manual, the book also 
gives insight into the undeiiying processes of 
the language and highlights its unique 
aspects. Publisher's Price: $25.00. 

The C Programming Language 

By Brian WKernighan and Dennis M. Ritchie 4 . 
This best-selling tutorial effectively teaches C 
through practical, hands-on exercises. Its ac- 
cessible, step-by-step format enables even 
novice programmers to take advantage of 
this powerful, highly-efficient language. A 
handy C reference manual rounds out this 
information-packed handbook. 
Publisher's Price: $24.95. 

Reliable Data Structures in C 

By Thomas Plum. This example-filled manual 
details all the advanced features of C. Coverage 
includes practical case studies illustrating so- 
phisticated constructs, general-purpose func- 
tions and macros, and application-oriented 
case studies. A series of reliability rules help 
you write programs that deliver "no sur- 
prises." Concepts from the ANSI stan- 
dardization of C pointthe way to 
powerful but portable applications. 
Publisher's Price: $25.00. 




5ftife 



ra 



vfgc**&s 



The Library of Computer and Information Sciences is the oldest, 
largest book club especially designed for computer professionals. 
In the incredibly fast-moving world of data processing, where up- 
to-the-moment knowledge is essential, we make it easy to keep to- 
tally informed on all areas of the information sciences. What's 
more, our selections offer you discounts of up to 30% or more off 
publishers' prices. 

4 Good Reasons to Join 

l.The Finest Books. Oft he hundreds of books submitted to us each year, 
only the very finest are selected and offered. Moreover, our books are always 
of equal quality to publishers' editions, never economy editions. 

2. Big Savings. In addition to getting the "C" Programmer's Set for only 
$2.95 when you join, you keep saving substantially, up to 30% and occasion- 
ally even more. (For example, yoiir total savings as a trial member— includ- 
ing this introductory offer— can easily be over 50%. That's I ike getting every 
otherbookfree!) 

3. Bonus Books. Also, you will immediately become eligible to participate 
in our Bonus Book Plan, with savings of up to 70% offthe publishers' prices. 

4. Convenient Service. At 3-4 week intervals (16 times per year), you will 
receive the Library of Computer and Information Sciences News, describ- 
ing the Main Selection and Alternate Selections, together with a dated reply 
card. If you want the Main Selection, do nothing, and it will be sent to you 
automatically. If you prefer another selection, or no book at all, simply 
indicate yourchoice on the card and return it by the date specified. You will 
have at least 10 days to decide. If, because of late mail delivery of the News, 
you should receive a book you do not want, we guarantee return postage. 

If reply card has been removed, please write to The Library of Computer 
and Information Sciences, Dept. 7-DG5-00717, Riverside, N.J. 08075 for 
membership information and an application. Byte 5/86 




MAY 1986 • BYTE 209 



Inquiry 211 

Dysan diskettes are the ultimate in quality flexible 

recording media for flexible disk drives. They are 

certified to be 100% error free on-track and 

^ between tracks. Diskettes are tested on- ^flSSBT 

"^ track as well as between tracks for 

missing pulse, extra pulse, and 

modulation. Quality is built into 

each diskette from the inside out. Si 

The ultra smooth disc surface is bur- V 

nished on both sides to promote longer \ 

media life, longer head and load pad life, as 

well as better recording and playback performance. 

And to help introduce you to the Dysan quality 

standard we're running a special on their diskette 

product line. 



What separates us from our competition? Simply a combination of the best service 
in the industry, highly competitive pricing, and an ever widening range of products. 
Above all we care about our reputation and we are willing to work on a lower margin 
while delivering what others only claim— and we do it all on a day-in day-out basis. 

Early in 1986 every subscriber to B __■_ 

Lyoen 





Byte Magazine will receive our New 
1986 First Edition Catalog with 16 ad- 
ditional pages and dramatically lower 
pricing. We want to be your source 
for computer supplies & accessories. 



Computer 
Systems 



1050 E. MAPLE RD. • TROY, Ml 48083 
(313) 589-3440 





ERROR CORRECTION 



The noisier the 
environment the lower 
the rate of the code 
that should be used. 



In figure 2, we see performance 
curves for Reed-Solomon codes of 
the type that might typically be used 
in certain communications applica- 
tions, such as noisy telephone lines or 
noisy air-to-ground radio links. The 
three codes illustrated are RS(32,l6), 
which is a rate Vi code; RS(32,24), 
which is rate % code; and RS(32,28), 
which is a rate % code. All three codes 
have a block length of 32 five-bit 
bytes. The noisier the environment, 
the lower the rate of the code that 
should actually be used. Again, the 
curves are based on the assumption 
that bit errors occur independently 
and at random. However, since errors 
on real telephone lines and real radio 
links typically occur in bursts, actual 
performance for the same values of 
average input error rate will in fact be 
better than depicted in figure 2. ■ 

BIBLIOGRAPHY 

Berlekamp. E. R. Algebraic Coding Theory. 
New York: McGraw-Hill 1967. Reprint 
edition, Laguna Hills, CA: Aegean Park 
Press. 1983. 

Bose. R. C, and D. K. Ray-Chaudhuri. "On 
a Class of Error Correcting Binary Group 
Codes, information and Control vol. 3, page 
68, I960. 

Fire, P. 'A Class of Multiple-Error-Correct- 
ing Codes for Non-independent Errors." 
Sylvania Reconnaissance Systems Lab 
Report. RSI^E-2, 1959. 

Golay, M. J. E. "Notes on Digital Coding." 
Proceedings of the IRE (Correspondence), 
vol. 37, page 657, June 1949. 

Goppa, V. D. "A New Class of Linear Cor- 
recting Codes." Problems of Information 
D'ansmission, vol. 6, page 24, 1970. 

Hamming, R. W. "Error Detecting and 
Error Correcting Codes." Bell System 
Technical ]ournal, vol. 29. page 147. 1950. 

Hocquenghem, A. "Codes Correcteurs 
D'erreurs." Chiffres (Paris), vol. 2, page 
147, 1959. 

Reed, I. S., and G. Solomon. "Polynomial 
Codes Over Certain Finite Fields." jour- 
nal of the Society of industrial and Applied 
Mathematics, vol. 8, page 300, I960. 



210 BYTE • MAY 1986 



Inquiry 101 




The Best c Book 

A Powerful C Compiler 

one Great C value s 39.95 



A good C book just isn't complete without a good C 
compiler to go with it. That's why we give you both. You get 
a comprehensive 450 page book and a full feature standard 
K&R C compiler with the Unix V7 Extensions. The Book is 
loaded with examples that teach you how to program in C. 
And our fast one pass C compiler comes with an equally fast 



linker so you don't waste a lot of time watching your disk 
drives spin. You also get a Unix compatible function library 
that contains more than 150 functions (C source code 
included). And if all that isn't enough, we offeryou a 30 day 
money back guarantee. So what are you waiting for? The 
exciting world of C is just one free phone call away. 





Language Features 








Functions 








• Data Types: char, short, 


abs 
asm 


conbuf 
cone 


feof 
ferror 


getcseg 
getdseg 


jsascii 
Jscntrl 


movmem 
open 


replace 
repmem 


strcat 
stremp 


int, unsigned, long, float, 


asmx 
atan 


cos 
cpystr 


fflush 
fgets 


getd 
putd 


Isdlgit 
islower 


outp 
peek 


rewind 
right* 


strcpy 
strlen 


double 


atof 


creat 


fileno 


getdate 


Isprint 


perror 


rindex 


strncat 




atoi 


cursblk 


flletrap 


gettime 


Jspunct 


poke 


rmdir 


strnemp 




atol 


curslin 


find 


geti 


Jsspace 


poseurs 


scanf 


strncpy 


• Data Classes: auto, 


bdos 


curscoi 


floor 


putl 


isupper 


pow 


setbuf 


strsave 




bdosx 


cursrow 


fopen 


getkey 


itoa 


printf 


setbufslz 


system 


extern, static, register 


bios 


cursoff 


fprintf 
fputs 


getmode 


keypress 
left* 


putc 


setcolor 


tolower 




blosx 


curson 


setmode 


putchar 


setdate 


toupper 


• Typedef, Struct, Union, 


calloc 
ceil 


delete 

drand 


fread 
free 


gets 
getw 
neapsiz 
heaptrap 


len 

log 


puts 
putw 


settime 
setjmp 


ungetc 
ungetch 
unlink 
write 


Bit Fields, Enumerations 


cfree 
chain 


exec 
exeel 


freopen 
fscanf 


loglO 
longjmp 


rand 
read 


setmem 
sin 




character 


execv 


fseek 


hypot 
index 
inp 


Iseek 


readattr 


sound 


writechs 


• Structure Assignment, 


chdlr 
chmod 


exit 
exitmsg 


ftell 
fwrite 


malloc 
alloc 


reach 
writech 


sprintf 
sqrt 


xmembeg 
xmemend 


Passing/Returning 


clearerr 
close 


exp 
fabs 


getc 
getch 


insert 
lofllter 


mathtrap 
mid$ 


readdot 
writedot 


srand 
sscanf 


xmemget 
xmemput 


Structures 


clrscrn 


fclose 


putch 


isalnum 


mkdlr 


realloc 


stackslz 


xmovmem 




cmpstr 


fdopen 


getchar 


isalpha 


modf 


rename 


str$ 


^exit 





MIX Editor 
$29.95 



When you're programming in a high 
level language you need a high power- 
ed editor. That's why we created a 
programmable full/split screen text 
processor. It lets you split the screen 
horizontally or vertically and edit two 
files at once. You can move text back 
and forth between two windows. You 
can also create your own macro com- 
mands from an assortment of over 



100 predefined commands. The editor 
comes configured so that it works just 
like Wordstar but you can change it if 
you prefer a different keyboard layout. 
The editor is a great companion to our 
C compiler. Because they work so 
well together we want you to have 
both. To make sure you do, we're 
offering the editor for just $15 when 
purchased with the C compiler. 



ASM Utility 
$10 

The ASM utility disk allows you to link 
object files created by Microsoft's MASM 
or M80 assemblers. Lots of useful assem- 
bly language functions are included as 
examples. 



ORDERS ONLY 

1-800-523-9520 

IN TEXAS 

1-800-622-4070 



NOT COPY PROTECTED 



Canadian Distributor 
Saraguay Software: 416-923-1500 



Editor $ . 

C $ 

C & Editor $ . 

ASM Utility $ . 

TX Residents $ . 

Shipping $ . 



. (29.95) 

. (39.95) 

. (54.95) 

. (10.00) 

. (6.125% sales tax) 

. (see below) 



□ PCDOS/MSDOS( 2.0 or later) Name. 



D IBM PC Single Side 

□ IBM PC Double Side 

□ Tandy 2000 

□ 8 Inch 

□ Other 



Street . 

City _ 
State _ 



Total % 

□ Check □ Money Order 
D MC/Visa* 



Exp. 



Shipping Charges: (No charge for ASM Utility) 
USA: S5/Order 
Canada: SlO/Order 
Overseas: $10/Editor • S20/C • S30/C & Editor 



□ CPM 80 ( 2.2 or later) 

□ 8 Inch 

□ Kaypro II 

□ Kaypro 4 

□ Apple (Z80) 

□ Osborne I SD 

□ Osborne I DD 

□ Morrow MD II 

□ Other 



Zip 



Country . 



Phone 



^h^^^^^^ 2116 E. Arapaho 
J ^^/^ Suite 363 
Software Richardson, TX 75081 

(214) 783-6001 
Ask about our volume discounts. 



Unix i s a trademark of Bell Labs. CPM i s a trademark of Digital Research. MSDOSis a trademark of Microsoft. P CDOS is a trademark of IBM. WORDSTAR i sa trademark of Micro Pro. 



MAY 1986 -BYTE 211 



THE CMO ADVANTAGE HOME COMPUTERS 










TO ORDER 
CALL TOLL FREE 

1-800-233-8950 

DEPARTMENT A105 
OR MAIL YOUR ORDER TO: 

COMPUTER MAIL ORDER 

Department A105 

477 E. Third Street 

Williamsport, PA 17701 

M»t.rC..d (O^P 
H ^^H l \ | DtmtRS CLUB 

POLICY Inquiry 86 
Add 3% (Minimum $7.00) shipping and handl- 
ing. Larger shipments may require additional 
charges. Personal and company checks require 
3 weeks to clear. For faster delivery use your 
credit card or send cashier's check or bank 
money order. Pennsylvania residents add 6% 
sales tax. All prices are subject to change and 
all items are subject to availability. Defective soft- 
ware will be replaced with the same item only. 
Hardware will be repaired or replaced at our 
discretion within the the terms and limits of the 
manufacturer's warranty. We cannot guarantee 
compatibility. All sales are final and returned 
shipments are subject to a restocking fee. 

EDUCATIONAL INSTITUTIONS 

CALL TOLL FREE 
1-800-221-4283 

CUSTOMER SERVICE 

& TECHNICAL SUPPORT 

1-717-327-1450 

CANADIAN ORDERS 
1-800-268-3974 

Ontario/Quebec 

1-416-828-0866 

In Toronto 

1-800-268-4559 

Other Provinces 

TELEX: 06-218960 

2505 Dunwin Drive, 

Mississauga, Ontario 

Canada L5L1T1 

All prices shown are for U.S.A. orders. Call the 
Canadian Office for Canadian prices. 



THE CMO ADVANTAGE 

»<• Next day shipping on all in-stock items. 

^ Free easy access order inquiry. 

*» Orders from outside Pennsylvania save 

state sales tax. 
^ Free technical support from our factory 

trained technicians. 
s There is no limit and no deposit on C.O.D. 

orders. 
^ There is no extra charge for using your 

Visa or MasterCard and your card is not 

charged until we ship 
x' No waiting period for cashier's checks. 

* We accept purchase orders from qualified 
corporations. Subject to approval. 

v Educational discounts available to 
qualified institutions. (See the toll free 
educational phone number above.) 

* FREE CATALOG MEMBERSHIP 



APPLE 

APPLE lie CALL 

APPLE He CALL 

He LCD Display CALL 

ATARI 



65XE (64K) CALL 

1 30XE (128K) CALL 

520ST (51 2K) CALL 

800XL 64K CALL 

1010 Recorder $49.99 

1050 Disk Drive CALL 

1020 Printer $29.99 

1027 Letter Quality Printer $129.00 

1030 Direct Connect Modem $59.99 

Comrex 220 Atari $89.99 

COMMODORE 

Amiga Package 

512K, 2 Drive, RGB Monitor $1799.00 

C64 Package 

C64, C1541, C1802 S559.00 

C128 Computer $269.00 

C1571 (Disk Drive for C128) $249.00 

C1902 (RGB 13" Monitor for C128 CALL 

C1B70 (Modem for C128) $179.00 

C1530 Datasette $39.99 

C1660 Auto Modem $59.99 

DPS 1101 Daisy Printer $339.00 

Comrex 220 (C64 Interface) $89.99 

Xetec SuperGraphix 8K $69.99 



GRAPHICS 



■Polaroid 

Palette $1399.00 

Power Processor. $229.00 

Illuminated Slide Mounter $39.99 

Polacolor 2 Pack film $18.99 



ACCESSORIES 



CURTIS POWER STRIPS 

Diamond SP-1 $29.99 

Emerald SP-2 $39.99 

Sapphire SPF-1 $49.99 

Ruby SPF-2 $59.99 

Safe Strip SP-3 $19.99 

KENSINGTON 

MasterPiece $99.99 

Masterpiece Plus $119.00 



PORTABLE COMPUTERS 



WHS\ HEWLETT 
mL'fLM PACKARD 

41CV $139.00 

41CX $199.00 

HP 11C ..$49.99 

HP 12C $75.99 

HP 15C $75.99 

HP 16C $89.99 

HPIL Module $98.99 

HPIL Cassette or Printer $359.99 

Card Reader $143.99 

Extended Function Module $63.99 

Time Module $63.99 

We stock the full line of 
HP calculator products 

NEC 

PC-8401 LS $699.00 

PC-8201 Portable Computer.. ..$339.00 

PC-8231 Disk Drive $599.00 

PC-8221A Thermal Printers $149.00 

PC-8281A Data Recorder $99.99 

PC-8201-06 8K RAM $79.99 

SHARP 

PC-1350 $149.00 

PC-1261 $149.00 

PC-1500A $169.00 

PC-1250A $89.99 

CE-125 Printer/Cassette $129.00 

CE-150 Color Printer Cassette.$1 49.00 
CE-161 16K RAM $129.00 



SOFTWARE 



ARTWORX 

Bridger 4.0 $17.99 

Strip Poker $19.99 

BRODERBUND 

Print Shop (All) $29.99 

Graphics Library I, II, III (All) $17.99 

Bank Street Writer (64, AT) $34.99 

Bank Street Writer (lle/llc) $44.99 

BATTERIES INCLUDED 

Paperclip (AT, 64/128) $37.99 

Paperclip (lle/llc) $44.99 

Homepack (64/AT) $29.99 

D.E.G.A.S. (520) ....$27.99 

CONTINENTAL SOFTWARE 

Home Accountant (All) $44.99 

Tax Advantage (All) $44.99 

Home AcctVTax Bundle (All) $59.99 

JANE 

Wordpro/dBase (C64) $39.99 

MICROPROSE 

Kennedy Approach (All) $24,99 

Aerojet (All) $24.99 

Silent Service (All) $24.99 

PFS 

File (64) $39.99 

File, Report, Graph (lle/llc) $79.99 

Write w/Proof (lle/llc) $79.99 

PSI 

Fleet Systems III (C128) $59.99 

ROCKLAN 
Game Carts for Atari 

Gorf $3.99 

Wizard of Wor $3.99 

Space Journey $3.99 

Journey to Planet $3.99 

Rack-Em-Up $3.99 

Diamond Mind $3.99 

SPRINGBOARD 

Newsroom (64) $32.99 

Clip Arts (64) $19.99 

Newsroom (Apple) $39.99 

Clip Arts (Apple) $22.99 

SUBLOGIC 

Flight Simulator (All) $37.99 

Jet (64) $37.99 



MODEMS 



DISKETTES 



maxell 

3Va" SS/DD (10) $18.99 

3Va" DS/DD (10) $29.99 

574" MD-1 w/Hardcases (10) $11.99 

5 1 /4" MD-2 w/Hardcases (10) $16.99 

SV*" MD-2-HD for AT (10) $32.99 

3Vz" 5 pack SS/DD/Case $10.99 

k^l Verbatim. 

5V4 M SS/DD $12.99 

5V4" DS/DD $24.99 

Disk Analyzer $24.99 

Elephant 5'/4" SS/SD $13.99 

Elephant 5VV SS/DD $14.99 

Elephant 5'A" DS/DD $16.99 

Elephant Premium DS/DD(50)... .$79.99 
Elephant 3V 2 " SS/DD $29.99 

5V4" DS/DD floppy disks 

(Box of 10) $26.99 

DISK HOLDERS 

INNOVATIVE CONCEPTS 

Flip'n File 10 $2.49 

Flip'n File 50 $14.99 

Flip'n File 50 w/lock $19.99 

Flip'n File 100 $19.99 

Flip'n File Data Case $9,99 

AMARAY 

50 Disk Tub 5V4" $9.99 

30 Disk Tub 3 1 / 2 " $9.99 



Anchor 

Volksmodem $59.99 

Volksmodem 300/1200 $189.99 

Signalman Express $259.00 

Lightning 2400 Baud $399.00 

Expressi (PC Halfcard) $189.00 

6470 (64/128) 300/1200 Baud. .$139.00 

DIGITAL DEVICES 

AT300 - 300 Baud (Atari) $99.99 

5) Hayes 

Smartmodem 300 $139.00 

Smartmodem 1200 $389.00 

Smartmodem 1200B $359.00 

Smartmodem 2400 $599.00 

Micromodem He $149.00 

Smart Com II $89.99 

Chronograph $199.00 

Transet 1000 $309.00 

AST 

Reach 1200 Baud Half Card. ...$399.00 



m.j§ SUPRA 
MPP-1064 AD/AA (C-64) $69.99 

[rVtoyation[gg 

Smart Cat Plus $299.00 

J-Cat $99.99 

Novation 2400 $499.00 

Apple Cat II $229.00 

212 Apple Cat II $379.00 

Apple Cat 212 Upgrade $229.00 

Quadmodem II ^^ 

300/1200 $339.00 

300/1200/2400 .$499.00 

EVEREX 

1200 Baud Internal (IBM/PC)...$1 79.00 



DRIVES 



HARD 

IM5GA- 

A110H Single 10 CALL 

A210H 10 + 10 CALL 

A120H Single 20 CALL 

A220H 20 + 20 CALL 

Save on 10 & 20 Carts CALL 

fTALLGRASS 
TECHNOLO IES 
COMMIT tt OIO mEmO?v 

25, 35, 50. 80 meg (PC) 

from $1299.00 

IRWIN 
Tape Backup CALL 

^^VEREX- 

60 Meg Internal Backup System$799.00 

CORE 
AT20-AT72MB CALL 

PRIAM 

40, 60 MB (PC, XT, AT) CALL 

KITS 

10 Meg with controller $379.00 

20 Meg with controller $499.00 

FLOPPY 

ALLIED TECHNOLOGY 

Apple II, II + , lie V? height $109.00 

INDUS 

Atari GT $199.00 

C-64 /128 GT $199.00 

B7Ff-~g 

SD1 C-64 Single $219.00 

SD2 C-64 Dual $469.00 

landon 

320K 5V4" (PC) $119.00 

TEAC 

320K 5V4" $119.00 



:DEPT.A105 




MONITORS 



Video 300 Green $119.00 

Video 300A Amber $129.00 

Video 310A Amber TTL $159.00 

Color 600 Hi-Res. RGB $399.00 

Color 722 Dual Mode $529.00 

Color 725 CALL 

Color 730 CALL 

MAGNAVOX 

8562 RGB/Composite $279.00 

613 TTL Green $99.99 

623 TTL Amber $99.99 

SEC 

JB1205A $79.99 

JB1270G/1275A (ea.) $99.99 

JB1280G TTL Green $129.00 

JB1285A TTL Amber $129.00 

JC1401 Multi Sync RGB $589.00 

PRINCETON 

MAX-12 Amber $179.00 

HX-9 9" RGB $469.00 

HX-9E Enhanced $519.00 

HX-12 12" RGB $469.00 

HX-12E Enhanced $559.00 

SR-12 Hi-Res $599.00 

SR-12P Professional $699.00 

115 12" Green $119.00 

116 12" Amber $129.00 

121 TTL Green $139.00 

122 TTL Amber $149.00 

220 14" Color Composite $179.00 

620 640x200 RGB $439.00 

630 640x200 RGB $489.00 

640 720x400 RGB $539.00 

8400 Quadchrome I $499.00 

8410 Quadchrome II $339.00 

8420 Amberchrome $179.00 

8500 Quad Screen $1449.00 

ZVM 1220 Amber $99.99 

ZVM 1230 Green $99.99 

ZVM 1240 IBM Amber $149.00 

ZVM 135 RGB $459.00 

ZVM 1330 RGB $459.00 

ZVM 1360 RGB CALL 

ZVM 1380 E G Comp CALL 



INTERFACES 



Multi I/O (Apple II) $149.00 

Graphcard. $79.99 

Seriall Card $99.99 

Microbuffer II + $169.00 

Microbuffer 32K $1 89.00 

QUADtWI^ 

Microtazer from $139.00 

Efazer (Epson) from $79.99 

3JOrange micro 

Grappler CD (C64) $89.99 

Grappler Plus (He, He) $89.99 

Grappler C (He) $89.99 

Grappler 16K (He, II + ) $149.00 

DIGITAL DEVICES 

Ape Face (Atari) $49.99 

U-Print A (Atari) $54.99 

U-A16/Buffer (Atari) $74.99 

U-Call Interface (Atari) $39.99 

U-Print C (C64) $49.99 

P-16 Print Buffer $74.99 

U-Print 16 apple lie $89.99 



PRINTERS 



Canon 

A40.A50.A55 CALL 

LBP-8A1 Laser CALL 

#CITIZEN 

MSP-10 (80 col.) $279.00 

MSP-15 (132 col.) $389.00 

MSP-20 (80 col.) $349.00 

MSP-25 (132 col.) $509.00 

crroH 

Prowriter 7500 $169.00 

Prowriter 1550P $349.00 

Starwriter 10-30 .....$399.00 

3500 Tri Printer $1499.00 

corona 

Lazer LP-300 $2799.00 

DIABLO 

620 Daisywheel $299.00 

D25 Daisywheel $549.00 

635 Daisywheel $1099.00 

D80IF Daisywheel CALL 

ctevwriter 

2000 $699.00 

EPSON 

Homewriter 10, LX-80 CALL 

FX-85, FX-286, RX-100 CALL 

DX-10, DX-20, DX-35 CALL 

SQ-2000, Hi-80, HS-80, AP-80 CALL 

LQ-800, LQ-1000 CALL 

JUKI 

6000 Letter Quality CALL 

6100 Letter Quality CALL 

6200 Letter Quality CALL 

6300 Letter Quality CALL 

5510 Dot Matrix CALL 

LEGEND 

808 Dot Matrix 100 cps $179.00 

1080 Dot Matrix 100 cps $259.00 

1380 Dot Matrix 130 cps $289.00 

1385 Dot Matrix 165 cps $339.00 

NEC 

3000 Series $779.00 

8000 Series.... $1099.00 

ELF 360 $399.00 

Pinwriter 560 $999.00 

OKICATA 

182, 183, 192, 193, 2410, 84 CALL 

Okimate 10 (Specify C64/Atari)$189.00 
Okimate 20 (IBM) CALL 

Panasonic 

KX1080 NEW 

KX1091 $259.00 

KX1092 $389.00 

KX1592 $469.00 

KX1595 $659.00 

Quadjet $399.00 

Quad Laser CALL 

asiiYE«-REeo 

500 Letter Quality $219.00 

550 Letter Quality $419.00 

800 Letter Quality $699.00 

SG-10A (Atari) CALL 

SG-10C (C64 Interface) CALL 

SB/SD/SG/SR Series CALL 

Powertype Letter Quality CALL 

Texas Instruments 

TI850 $529.00 

TI855 $639.00 

TI865 $799.00 

TOSHIBA 

1340 (80 column) $369.00 

P341 (132 column)..... $799.00 

P351 (132 column) $1049.00 



SOFTWARE FOR IBM 



ANSA SOFTWARE 

Paradox $499.00 

ASHTONTATE 

Framework II $389.00 

dBase III Plus $389.00 

BATTERIES INCLUDED 

Isgur Portfolio $159.00 

BORLAND 

Lightening $59.99 

Sidekick (unprotected) $57.99 

Reflex $59.99 

Newspack $59.99 

CENTRAL POINT 
Copy II PC-Backup $29.99 

DECISION RESOURCES 

Chartmaster $229.00 

Signmaster $159.00 

Diagram Master $209.00 

FIFTH GENERATION 

Fast Back 99.99 

FOX AND GELLER 

Quickcode III $169.00 

FUNK SOFTWARE 
Sideways $44.99 

HARVARD SOFTWARE INC. 

Total Project Manager $269.00 

INFOCOM 

Cornerstone CALL 

LIFETREE 

Volkswriter III $159.00 

LIVING VIDEOTEXT 

Think Tank $109.00 

Ready $64.99 

LOTUS 

Symphony CALL 

1-2-3 Version 2 CALL 

MECA SOFTWARE 

Managing Your Money 2.0 ....$99.99 

Manage Your Market CALL 

MICROPRO 

Easy $94.99 

WordStar 2000 $239.00 

WordStar 2000+ $289.00 

WordStar Professional $189.00 

MICRORIM SOFTWARE 

R:Base 4000 $249.00 

R:Base 5000 $389.00 

Clout 2.0 $129.00 

MICROSOFT 

Flight Simulator $34.99 

MultiPlan $129.00 

Word $249.00 

Mouse $139.00 

MICROSTUF 

Crosstalk XVI $89.99 

Crosstalk Mark IV $149.00 

Remote $89.99 

MULTIMATE 

Multi Mate Word Proc $219.00 

Advantage $289.00 

On File $89.99 

Just Write $89.99 

NOUNEMON 

Intuit $69.99 

NORTON 

Norton Utilities 3.1 $59.99 

ONE STEP 

Golf's Best $34.99 

PFS: IBM 

Proof $59.99 

File/Graph (ea).$79.99 

Report $74.99 

Write/Proof Combo $79.99 

PROFESSIONAL SOFTWARE 
Write-N-Spell $89.99 

THE SOFTWARE GROUP 

Enable $329.00 

SATELLITE SYSTEMS 

Word Perfect 4.1 $219.00 

SORCIM/IUS 
Accounting 

AP/AR/GL/INV/OE (ea.) $299.00 

SuperCalc III $199.00 

EasyWriter II System $239.00 

Super Project $199.00 

SPI SOFTWARE 

Open Access $299.00 

SUBLOGIC 
Jet $37.99 



MULTIFUNCTION CARDS 



IBM Inquiry 86 



IBM PC SYSTEMS 

Configured to your specifications. 

Call for Best Price! 

IBM-PC, IBM-XT, IBM-AT 

PC-138 Series, PC-148 Series, PC-158 
Series, PC-160 Series, PC-171 Series, 
AT-200 Series CALL 

©SANYO 

MBC 550-2, MBC 555-2, MBC 675 Por- 
table, MBC775. MBC 880 DesktopCALL 

Safari (7300)..^. CALL 

6300 CALL 

corona 

PPC400 Dual Portable $1289.00 

PPCXT 10 meg Portable $1989.00 

PC40022 Dual Desktop $1389.00 

PC400-HD2 10 meg $1989.00 

ITT X-TRA ITT 

256K, 2 Drive System CALL 

256K.10 meg Hard Drive System CALL 
XP5, 20 meg CALL 

Sperry-AT as low as $1749.00 

Sperry-IT as low as $2699.00 

Call for Specific Configuration! 
All Models CALL 

KP-2000 Portable ........CALL 

Kaypro PC CALL 

RamVantage $349.00 

Rampage-PC $379.00 

Rampage-AT CALL 

Six Pack Plus $229.00 

I/O Plus II $139.00 

Advantage-AT $399.00 

Preview Mono .$299.00 

PC Net Cards $379.00 

5251/11 On-line $669.00 

5251/12 Remote $579.00 

IRMA 3270.. ..^~~. $879.00 

IRMA Print $999.00 

IRMA Smart Alec $779.00 

Edge Card $259.00 

Graphics Edge $219.00 

Magic Card II $159.00 

Magic Card I ...$99.99 

HERCULES 

Graphics $299.00 

Color $159.00 

IBfAssociaies 

IDEA 5251 $549.00 

MYLEX 

The Chairman $439.00 

PARADISE 

Color/Mono Card $149.00 

Modular Graphics Card $259.00 

Multi Display Card $199.00 

Five Pack C, S $129.00 

High Res Mono ..CALL 

Bob Board $359.00 

Captain - 64.... $199.00 

Graphics Master *46900 

QUADRAM 

Quadport-AT $119.00 

Liberty-AT (128K) $349.00 

The Gold Quadboard $449.00 

The Silver Quadboard $239.00 

Expanded Quadboard $199.00 

Liberty $309.00 

QuadSprint $499.00 

QuadLink $399.00 

QuadColor $199.00 

Quadboard-AT $399.00 

8600 E.G.A. card $399.00 

INTEL 

PCNC8087 5MHz 

PCNC8087-2 8 MHz CALL 

PCNC80287 6 MHz FOR 

1010 PC-Above Board YOUR 

1110 PS-Above Board pc 

2010 AT-Above Board 















Bifc«=^ t =5^^B 


z:. _ • 

EEi' 












■ 




■*J / *"" 


i^r 


■■ .1 V 




." -'JL(< A 




-m 


m i 




4F/> 















2^£^— ^' 
























1 








MM' | 




1 | 


1 




A4 


«; 


1 




EE^ 
















_ "' 


BMHSM | 




1 1 




1 




■MM 1 
















I 
















1 


|\— 


| ll 






yl^Wti 


|S£^ 













ps; 





DEPT. A 105 



BRADY Knows 

Programming, 

You'll learn to whip every element of your programming into shape with the 

latest information and guidance by America's foremost technical experts. 

Just call toll-free or use the coupon below to order today. 




1. Beyond thebasics.this guide explores 
new structured concepts to analyze and 
solve problems in C with tools of 
modularity, Input and output functions, 
arrays and structures, and bit manipulation. 
$21. 95 



PROGRAMMER'S 



for the IBM PC, XT& AT 



2. Includes a listing for the remarkable 
QUICKCOOE code generator which auto- 
matically writes input, locate, and print 
statements. Also unleashes high memory 
access and makes screen design a cinch. 
$19.95 



8086/88 



3. Learn the techniques used for creating 
assembly language utilities. Includes 10 of 
the most popular utilities such as DBUG 
SCAN, CLOCK, UNDELETE, ONE KEY, 
PCALC calculator and notepad and five 
others. $21.95 (Disk available) 



Jerome R. Corsi and Wiiam F. His 



4. Includes code listings for three working 
debuggers including single-stepping, cross 
referencing, and mapping utilities. $19.95 
(Disk available) 




5. A definitive reference text for advanced 
programmers. You'll find over 150 discus- 
sions of common hardware-control tasks (in 
BASIC, Pascal, or C) as well as assembler 
overlays, drivers, and real-time operators. 
$22.95 



6. Probes the inner workings of the 8086 7. Here's a compendium of many of the 
(used by the AT&T 6300) and 8088 (IBM PC) most useful, but often neglected, advanced 




chips . . . and describes specific techniques 
for using the full capability of these chip 
designs while programming in assembler. 
$18.95 



programming concepts. A tutorial in format 
that uses BASIC for examples, it covers 
techniques such as: linked data structures; 
recursion; pipelining; and dynamic storage 
allocation. Includes listings! or 25 sub- 
routines. $21.95 (Disk available) 



8. A breakthrough explanation to the tech- 
nical operations of DOS for programmers. 
Shows how to use the I/O services with dis- 
cussions of: character and non-character 
functions; directory and file management 
routines; and memory management. 
Includes BIOS functions and info on IBM 
"compatibles." $16.95 



Now at your book or computer store 
Or order toll-free today 



800-624-0023 



In New Jersey: 
800-624-0024 



BRADY COMMUNICATIONS COMPANY, INC. 

c/o Prentice Hall 

P.O. Box 512, W. Nyack, NY 10994 

Circle the numbers of the titles you want below. 
(Payment must be enclosed; or, use your charge 
card.) Add $1.50 for postage and handling. 

Enclosed is check for $ or charge to 

□ MasterCard □ VISA 



Acc't # 

Signature . 

Name 

Address _ 
City. 



Exp. date . 



~l 



. State . 



(New Jersey residents, please add applicable sales tax.) 
Dept. 3 



Zip. 



GR-PTEC-B1(5) 



1 (0-89303-473-8) 
5 (0-89303-787-7) 



2 (0-89303-784-2) 
6 (0-89303-424-X) 



3 (0-89303-584-X) 
7(0-89303-481-9) 



4 (0-89303-587-4) 
8 (0-8359-5655-5) 



iiiiiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiwiiiiwiiiiiim 



214 BYTE • MAY 1986 



Inquiry 285 



MASS STORAGE 



A ROUNDUP 
OF OPTICAL 
DISK DRIVES 



by Rich Malloy 



BECAUSE OF ITS HUGE storage capa- 
bilities, the optical disk promises fun- 
damental changes in the way com- 
puters handle data. A number of com- 
panies have announced new products 
or technologies that can help us 
realize those changes, but many of 
those products are still in develop- 
ment. However, several of the optical 
disk systems that are mentioned in 
this article were reported to be avail- 
able at the time the article was writ- 
ten (February). 

Most of these products are available 
to original equipment manufacturers, 
value-added retailers, publishers, and 
other volume purchasers. Some, how- 
ever, are available in single quantities 
to end users. 

Write-Once Disks 

One of the most interesting incarna- 
tions of the optical disk is the write- 
once, or WORM (write once, read 
mostly), disk. These disks usually have 
data capacities ranging from about 
100 megabytes up to 1 gigabyte (1000 
megabytes) or more, and they have 
the unusual property that once data 
is written on them, the data cannot 



Recently announced 
optical storage systems 



be erased and rewritten. 

The large capacities of these disks, 
however, alleviate the problem of 
their indelibility And they seem well 
suited for archival data, where in- 
delibility is an asset rather than a 
liability. A small number of companies 
are currently offering write-once disk 
drives to end users: 

Portable Solutions, which also goes 
under the name BackPac Interna- 
tional Corporation, is selling a small 
optical disk drive called the BP-100+ . 
The drive, which is manufactured by 
Information Storage Inc. (ISI), uses 
5^-inch disks that can store 100 
megabytes. The BP-100 + is designed 
to be easily portable from one IBM 
PC to another. It sells for $4995 and 
includes three adapter cards for three 
IBM PCs, three blank optical disks, 
software, and cables. The three cards 
allow three IBM PCs to share the 
drive. Extra disks are available for $99 
each. These disk prices will probably 
drop soon. 

Franklin Telecom offers three con- 
figurations of its 5 !4-inch optical drive 
system. Each configuration uses an ISI 
disk drive and can store more than 



1 1 5 megabytes per side of an optical 
disk cartridge. An internal disk drive 
system for the IBM PC sells for $3990. 
An external disk drive system has a 
price of $43 50. Finally, an expansion 
chassis is also available that provides 
the optical disk drive plus six addi- 
tional IBM PC expansion slots for 
$4900. 

l&llgrass Technologies manufactures 
a 200-megabyte-per-side, 5!^ -inch 
optical disk drive made by Optotech. 
T^llgrass will offer the drive in four 
configurations: the LS-200i. a full- 
height interna] unit; the LS-200e, a 
stand-alone external unit; the LS-250. 
an external unit bundled with a 
50-megabyte hard-disk drive; and the 
LS-450, an external unit that features 
two optical drives plus the 50-mega- 
byte hard-disk drive. All are designed 
for the IBM PC family of computers. 
The internal drive has a single- 
quantity price of approximately 
$4000. 

{continued) 
Rich Malloy is a senior technical editor for 
BYTE. He can be reached at BYTE/ 
McGraw-Hill. 43rd Floor, 1221 Avenue of 
the Americas, Uew York, NY 1 0020. 



MAY 1986 'BYTE 215 



OPTICAL DRIVES 



Chorus Data Systems sells an op- 
tical drive option for its image storage 
and retrieval system. With Chorus's 
Color PhotoBase system, users have 
the capability to digitize and store 
high-resolution graphics images on a 
hard disk. When equipped with an 
optional optical disk drive manufac- 
tured by Optotech, the system re- 
portedly can store approximately 
15,000 color pictures on one side of 



a 200-megabyte optical disk. Chorus's 
optical drive system has a suggested 
retail price of $7 500. 

AGA has a 12-inch optical drive 
system for the IBM PC. Its Discus 1000 
Optical Disk Drive uses a drive manu- 
factured by Alcatel Thomson, and it 
can store I gigabyte of data. Under 
AGAs software, the drive appears to 
the computer's operating system as a 
large, nonerasable, but otherwise or- 




dinary, disk drive. The Discus 1000 
has a list price of $21,500, including 
interface, cables, and software. 

National Memory Systems (NMS) 
offers another 12-inch write-once disk 
drive for the IBM PC family and the 
Texas Instruments Professional Com- 
puter. Called the PC-007, the disk 
drive can store I gigabyte of informa- 
tion. The company claims that it has 
been shipping the PC-007 for about 
a year and a half. The drive is in- 
tended chiefly for archival purposes. 
NMS uses the Optimem 1000 optical 
disk drive with disks from the 3M 
Company, an IBM PC/SCSI board, and 
a custom-designed software package 
called LaserDOS. Current list prices 
are $2 1 ,000 for the disk-drive system 
and $4 50 for each optical disk. 

Write-Once Disk Products 
for oems and vars 

Several other manufacturers have an- 
nounced write-once optical disk 
drives but are offering them only in 
large quantities to OEMs and VARs. 
These companies are listed herein. 
Note that prices for each product can 
vary considerably depending on 
quantity and that some companies 
will sell sample units in single-unit 
quantities. 

IS! is manufacturing a 5 /4-inch op- 
tical disk drive that can store 1 1 5 
megabytes per side. The company, 
which is partly owned by Sperry and 
l^llgrass Technologies, is selling its 
drives primarily to large-volume pur- 
chasers. However, hobbyists may be 
able to purchase evaluation units of 
the drive for $2495. The evaluation 
units include the drive, an IBM PC in- 
terface card, and software. IS1 soft- 
ware divides the disk into 33-mega- 
byte volumes and thus avoids the 
33-megabyte disk-size limit of MS- 
DOS. 

Optotech has available a double- 
sided disk drive that can store 200 
megabytes per side of a 5 /-inch disk. 
Although Optotech is marketing 
primarily to large-volume purchasers, 
it is offering an evaluation unit of its 
drive system including drive, IBM PC 
adapter card, and software for a 
single-unit price of $5000. 

Lancore Technologies is offering to 

[continued) 



216 BYTE • MAY 1986 



Inquiry 138 




640 x 350 16 COLOR 






FLIGHT SIMULATOR 



PAINT BRUSH 



Auto CAD 



ilV Low-End Graphics Adapters. 

MORE 




Why Settle for Less? 

IBM sets the 
standards for 
Monochrome, 
Color/Graphics 
and the Enhanced 
Graphics Adapter. 
Hercules sets the 
Monochrome 
Graphics standard. | And the 
MegraGraph-Plus simply redefines the 
standard for what the Graphics Adapter 
is supposed to be: Monochrome text, 
Hercules graphics, color graphics, 
enhanced graphics. And most 
importantly . . . No software driver 
patches required. 

Fully Compatible 

You can run almost all software from 
your early investment. Including Flight 
Simulator, Pin Ball, Jet and Lotus 1-2-3 
Version A. 

And it will still run all the business 
software packages written for IBM 
Enhanced Graphics Adapter (EGA). 
Examples include Auto CAD, IBM 
Drawing Assistant, Gem Draw, 
Microsoft Window, Word & Chart, Lotus 
1-2-3 and Symphony, Dr. Halo, PC Paint 
Brush, EGA-Paint and many, many 
more. 

AlVonics is dedicated to the technical 
excellence of computing devices. To find 
out more about AlVonics and our super- 
high performance ATM 000 & ATI 2000 
AT system compatible boards call or 
write: 



Features 




Half size, fits in any slot of PC/XT/ AT 


X 


X 






EGA compatible 


X 


X 


X 


X 


CGA compatible 


X 


(1) 


(2) 


(2) 


MDA compatible 


X 


X 


X 


X 


Chip count 


24 


29 


86 


40 


Hercules compatible 720 x 348 graphics 


X 


X 


X 




No Software Patches required 


X 




X 


X 


Boot from: 

— Flight Simulator 

— Pin Ball 

— Jet 


X 








X 








X 








Runs Lotus 1-2-3 version 1A! 

— Hercules mode 

— Color mode 


X 


(1) 






X 


(1) 






Two Video Jacks 


X 


X 


X 




Display Memory 


256K 


256K 


64K 


256K 


Light Pen connector 


X 


X 


X 


X 


List Price 


$549 


$599 


$624 


$595 



(1) Needs software driver patches. 

(2) Compatible only to the BIOS level, but not the hardware level. Will not be compatible with most games software. 



gpSD« | 



ATI 





ATronics International Inc. 

491 Valley Way 

Milpitas, CA 95035 

(408) 943-6629 TLX: 510-600-6093 



/PLUS 



Inquiry 30 



IBM. Hercules. Flight Simulator. Pin Ball. Jet. Lotus 1-2-3 Version A. Auto CAD, Gem Draw, Window, Word & Chart, Symphony, Dr. Halo. PC Paint Brush, EGA Paint, Quadram 
and STB EGA+ are all registered trademarks of their respective companies. 



OPTICAL DRIVES 



OEMs a write-once optical disk drive 
as an option for its line of local-area- 
network file servers. Lancore is using 
Optotech's 200-megabyte-per-side 
optical disk drive to replace the tape 
backup units in its Core line of file 
servers. The price of Lancore's Opti- 
Core 7 5, which features a 75-mega- 
byte hard-disk drive and a 200-mega- 
byte-per-side optical disk drive is 
$9757 in quantities of 100. 

Laserdrive Ltd. has announced a- 
5!4-inch, 400-megabyte-per-side op- 
tical disk drive. A separate controller 
with an SCSI interface will handle up 
to four drives. The drive reportedly 
will be available to OEMs in the first 
quarter of 1 987 at a price of approx- 
imately $4000. 

Toshiba's Disk Products Division is 
offering two write-once drives to 
OEMs. The DF-O50 uses 5i4-inch 
disks and is approximately the same 
size as a full-height 514-inch floppy 
drive. Each disk can store up to 400 
megabytes of data per side. Toshiba's 



other drive, the DF-O450, uses 12-inch 
media and can store up to 1.8 giga- 
bytes per side. No details on price or 
availability of these drives were avail- 
able at press time. 

Sony Information Products offers 
write-once disks in 12- and 8-inch 
sizes. The 12-inch disk can store 1.6 
gigabytes per side, and the 8-inch disk 
can store 0.5 gigabyte per side. Both 
disks are double-sided. As in many 
double-sided optical drives, an 
operator must manually flip the disks 
to read the other side. Each of the 
drives must be connected to a drive 
controller ($7000) that can support up 
to eight drives. The single-quantity 
prices for the 8- and 1 2-inch drives are 
$9000 and $1 1,700, respectively. The 
disks cost $300 and $440. Also avail- 
able is a "jukebox^style disk drive that 
can automatically access up to 50 of 
the larger disks, resulting in a total 
data capacity of 160 gigabytes. 

Alcatel Thomson Gigadisc is also of- 
fering a 12 -inch write-once optical disk 



TAKE COMMAND 

of Your Keyboard 





Place your most often used software commands where 
they belong— at your fingertips— on top of the keys. 
End fumbling and searching through manuals. Touch- 
down™ Key Overlays will greatly reduce instructional 
needs and learning time, reduce operator fatigue and 
increase productivity. 

These Overlays are made of a non-glare rigid plastic material with 
the same look and feel as the original keytop, precisely die-cut to the 
exact size of your keytops. Printing is on the underside to prevent 
the print from ever wearing off. The back is laminated with a strong 

non-slip adhesive for permanent adherence to 

the keytop; although they can be removed without 

permanent damage to the keytops if desired. 

Instructions for easy installation are included 
with the kit. 

CUSTOM KEY OVERLAPS can be made lo your exact specs at a much lower cost than engraving. 
coRpmATDN p0 - Box 201, Dept. BY, Cornville, AZ 86325 (602) 634-7517 



KEY OVERLAYS (Tops and/or Fronts) 



Qty. 


Price 


Qty. 


PC 10 5250/5251 Emulation $2195 


Lotus 1-2-3 


PC lo 5520 Emulation 


29.95 


MultiMate 3.3 


DisplayWrlle 3 


21.95 


EasyWriter 2 


Do-lt-Yourself Kit 


29.95 


Microsoft Word 


Dvorak conversion 


26.95 


Symphony 1.0 


WordPerfect 4.1 


29.95 


Volkswriler 


WordStar 


29.95 


Blank-Out Overlays (99 pieces) 


WordStar 2000 


29.95 


IBM Control Key English 



Price 
$29.95 
29.95 
29.95 
26.95 
26.95 
24.95 
21.95 

6.95 



Specify Keyboard Make/Model 

Name 

Address __ 

City 



_Stale_ 



-Zip_ 



□ Visa □ MC Exp. Dale_ 



_ Card #_ 
Visa or MC orders phone 602 634-7517 



KEYTOP EXPANDERS 

Specify color Black □ Gray □ 
Qty. (12 expanders/set) Price 

IBM PC, PC/XT, PC Portable $21.95 

IBM 5291 Display Station 21.95 

Compaq, Columbia, Chameleon 21.95 

Corona, Keytronics, Qubie, 

Eagle Spirit, ITT, Wyse 50/75 21.95 

AT+T6300 21.95 

IBM 3270 PC "Enter" (1 keytop) 3.95 

Ind. Expanders (specify) 275 ea. 



TOTAL (Min. order $10.00) $_ 
Prices include lirsl class postage. 
(Orders shipped within 24 hours.) 
Arizona residents add 5% lax _ 



TOTAL ENCLOSED $_ 



Your satisfaction guaranteed or your money refunded. 



drive. The GD 1001 is available only 
to OEMs. One of its distributors, 
Cameron Computers, is selling the GD 
1001 in single-unit quantities for ap- 
proximately $15,000. An adapter for 
the IBM PC is also available. 

Optimem, a subsidiary of Xerox and 
formerly a part of Shugart, is offering 
its Optimem 1000/S optical disk drive 
system for the IBM PC to VARs. The 
system includes a 1-gigabyte 12-inch 
optical disk drive, an IBM PC adapter 
board, and the necessary cables and 
software. The single-quantity price is 
$20,000. 

Optical Storage International (OSI), 
which is a joint venture of Philips and 
Control Data, is offering 12-inch op- 
tical disks to OEMs. The LaserDrive 
1200 can store I gigabyte per side on 
an optical disk. The 100-unit price is 
approximately $7000. 

Hitachi's write-once disk products 
are marketed in the U.S. by its two U.S. 
marketing firms, Hitachi America and 
Nissei Sangyo America. Both firms are 
selling a 1 2-inch optical disk drive to 
OEMs only. The Series 301 drive uses 
Maxell disks and can store 1.3 giga- 
bytes per side on single- or double- 
sided disks. A separate drive con- 
troller handles up to four drives. Pric- 
ing starts at approximately $12,000 
for controller and drive in quantities 
of 100 per year. Like Sony, Hitachi also 
has available a jukebox-style disk 
drive that can automatically access up 
to 32 disks, with a total data capacity 
of 83 gigabytes. 

Read-Only Disks 

Another, and perhaps equally inter- 
esting, form of the optical disk is the 
ROM disk, so named because of its 
functional similarity to the ROM chip. 

r I\vo forms of read-only disks are 
available: the 4.7-inch CD-ROM disk, 
which is the same size as the popular 
compact music disks; and the larger 
12-inch disk, which is essentially the 
same size as a commercial videodisk. 
The CD-ROM disks have data capaci- 
ties of 540 to 600 megabytes; the 
videodiskscan store approximately 1 
gigabyte. 

Grolier is offering its Academic 
American Encyclopedia on CD-ROM. 
This 9-million-word work was prob- 

[continued] 



218 BYTE • MAY 1986 



Inquiry 161 for End-Users. Inquiry 162 for DEALERS ONLY. 



Amazing New Advance - 
ments for an Old Friend. 

ZBasic is an incredibly advanced and 
powerful BASIC— but— it's still the old BASIC 
you're used to. Instead of spending 6 months of 
your life learning another complicated language, let 
ZBasic put your programs into light-speed, now! 
( If you know BASIC, you know ZBasic) 

How Fast is ZBasic? 

Lightening fast. Four years of intense 
development have produced the ultimate BASIC. 
ZBasic is "Compiled BASIC," and generates stand- 
alone applications that make any other BASIC 
completely obsolete. Just look at these speed 
comparisons. 



^WtSTESl EASIEST, MOST 
POWERFUL BASIC EVER! 



Sieve Benchmark on Different PC's 


Macintosh™ 


Apple lie, lie 


ZBasic ™ 7.4 sec. 
Mbasic^ 684 sec. 


ZBasic^ 486 sec. 
ApplesottTM 5,401 sec. 


IBM* PC (8088) 


Z-80 (CP/MTM-eo. TRS-80TM) 


ZBasicTM 13.7 sec. 
BASICA™ 2,190 sec. 


ZBasicTM 30 sec. 
MbasicTM 2,520 sec. 







10 iterations of the Sieve from Byte. Januaiy, 1983 

Compiler Speed/Interpreter Ease. 

Like a BASIC interpreter, ZBasic allows you 
to write and execute your programs immediately! No 
messy "Linkers," "Loaders," or clumsy "Subroutine 
Packages" like most other compilers. To compile 
and edit, simply type "RUN." Debugging works the 
same as the interpreter, too. Just type "BREAK" or 
"CTRL C" to get back to the editor. 

Lightning-Fast Compilation. 

Computer Language Magazine says. 
"Compilation is amazingly fast..." After typing 
"RUN," ZBasic compiles your program at blinding 
speed — 40 lines per second . 

Works the Same on All 
Computers. 

If you're tired of throwing away your old 
programs every time you switch to a new computer, 
ZBasic is for you. Source code is portable from one 
computer to another, and since ZBasic uses Device 
Independent Graphics and Disk File commands, 
your programsautomatically "Adapt" to any other 
computer. And the ZBASIC editor is the same 
on all versions— regardless of the computer. 

Einstein Math. 

ZBasic offers programmers a math 
package that surpasses anything else in the 
industry! (Yes, ZBasic is even better than 
FORTRAN, PASCAL, MODULA-2 or any other 
language available!) You will have up to 54 
digits of user-selectable accuracy at your power. 

"Superb Documentation!" 

"The 387 page ZBasic manual is a model 
of clarity and organization. The documentation is 
superb, solidifying our impression that someone 
worked incredibly hard to make ZBasic a 
benchmark for all other BASIC Compilers." 

PC WEEK , Nov. 12, 1985 

Easy Structure— If You Want It. 

ZBasic helps you "Structure" your 
programs in a way that's easy and simple. . .you 
may use GOSUB or GOTO with names or line 
numbers. Supports multi-line LONG IFs and 
LONG FNs. LIST programs with— or without— line 
numbers! ZBasic automatically indents loops and 
structures in LISTings, too. 



Customized for YOUR Computer: 



MSDOS™ and Compatibles: Including PC, XT, AT, 

jr., Tandy™ 500-1200-2000-3000 and all Compaqs™. 
Creates fast stand-alone .COM files. Supports a mouse, 
highlights keywords and lots more. 



Macintosh™: Complete Toolbox ROM calls support, 
creates 68000 Native Code, Macintalk and Appletalk 
support, program size to 4 megabyte, math accuracy 
from 8 to 240 digits. Incredible program speeds! 



ZBasic 
Users Say: 

i i Awesome! It's about timel.Great! 
Unbelievable! " J.R. CPA 

Seymour, MO 

li ....fast, generates stand alone programs, 
requires only modest amounts of memory, has 
outstanding compilation speeds and.. .was bug 
free and f eltsolid. And the price is very 
attractive. " Bruce W. Tonkin 

COMPUTER LANGUAGE 

" ZBasic is a powerful offering for BASIC 
programmers. It provides the flexibility of Turbo 
Pascal and the speed of compiled BASIC, all at a 
price that can't be matched. Kudos to Zedcor and to 
all users who make wise decisions to use ZBasic to 
the fullest. " Garry Ray 

PC WEEK 

"The best I have ever seen. I love it! You should 
be proud of this product. " R. R. Manager 

Mesa, AZ 

i i Mind-blower! Easily the best BASIC I've ever 
seen! " J. D. 

Baltimore, MD 



Versions shipping now! 

Macintosh , Apple He - He (128K & DOS 3.3) • 
IBM PC and MSDOS 2.1 & Compatibles • 



Apple™ He, lie: Mouse support for both the lie and He, 
Super Hi-Res graphics support (560x192 and 280x192 
and lo-RES support tool). Advanced Graphics com- 
mands like CIRCLE, BOX, FILL etc. and you can Mix 
Graphics and Text on the screen like a PC. DOS 3.3 
support (PRODOS coming this summer) Requires Apple 
He or He with 128K but programs created with ZBasic™ 
will run on a 64K Apple II + . 



Z80™ Machines: CP/M™-80 2.0 + , TRS-80™ model 1, 
3 or 4 and a special graphic version for Kaypro CP/M. 




ompa 
Kaypro Graphics version (CP/M-80) « 
on 
TRS-80 Model 1/3, 



P/M-80 2.0 or j 



ireater (Z80 only) • 
Model 4/4p« 



ONLY ZBASIC GIVES YOU 
THESE FEATURES: 

• Highlights errors... makes debugging easy! 

• Not Copy Protected 

• Never any Royalties or Runtime fees for 
programs you sell. 

• Direct commands (Speeds logic testing like an N 
Interpreter) 

• Super Single-Step debug 

> CHAIN with variable passing. (Share all or some 
variables) 

• Create transportable subroutines and functions 

• Multi-line LONG IF. Multi-line LONG FNs 
(argument passing) 

• Decimal, HEX, OCTal or BINary support. 

• Device-Independent Graphics and File I/O. 

• Never does String "Garbage Collection" 

• Comes with "Quick" and "Shell" sort source 
code 

• Built In "HELP" screens lets you get answers 
fast. 

• Long variable name (15 characters) 

• Loops: While-wend, do-until, for-next- 

STEP 

• Serial Port and Modem support 

• Easily load your old BASIC programs saved in 
ASCII 






Send me ZBasic right away! $89.95 complete. 



CREDIT CARD-MASTERCARD/VlSAf AMEX/C O O 



Card Expiration Date: , 
My computer is a 



i complete. 

plus shipping 



MAIL TO: ZEDCOR, INC. 
4500 E. Speedway, # 93 
Tucson, AZ 85712 



Name 


Address 




APT. # 


City 


State 


Zip 



Day Phone 



ZBasic 



Arizona Residents add 5% Sales 
Ta*. In US add$500 shipping. 
COD. add $5.00 per order. 
Outside U.S. and Canada, add 
$2000per shipment for postage 
(U.S. currency oaly.) 
C. Turbo Pascal, IBM PC, Fortran, 
Pascal, MODULA COBOL are 
trademarks of their respective 
companies— Macintosh is a 
trademark o( Macintosh 
Laboratories, Inc. 



ORDER TOLL-FREE: 

1-800-482-4567 



30 day money-back guarantee. 

Technical Support: (602) 795-3996 



inquiry 395 for End-Users. Inquiry 396 for DEALERS ONLY. 



MAY 



BYTE 219 



OPTICAL DRIVES 



ably the first CD-ROM disk available 
for personal computers. The disk uses 
a full-text indexing software package 
created by KnowledgeSet (formerly 



known as Activenture). The disk is 
designed to be used on any of several 
CD-ROM disk drives that can currently 
be connected to an IBM PC. The price 



of the disk is $199. Grolier is selling 
the disk with a disk drive for the IBM 
PC for $1495. 

[continued] 



Companies Mentioned 


AGA 


Lancore Technologies Inc. 


Philips Subsystems and Peripherals 


347 Fifth Ave.. Suite 510 


31300 Via Colinas 


100 East 42nd St. 


New York. NY 10016 


Westlake Village. CA 91362 


New York, NY 10017 


(212) 683-9160 


(818) 991-5100 


(212) 850-5125 


Alcatel Thomson Gigadisc 


LaserData Inc. 


Portable Solutions 


470 Totten Pond Rd. 


10 Technology Dr. 


BackPac International Corp. 


Waltham. MA 02154 


Lowell, MA 01851 


1701 Directors Blvd.. Suite 2 50 


(617) 890-0801 


(617) 937-5900 


Austin, TX 78744 
(512) 448-4965 


Cameron Computers Inc. 


Laserdrive Ltd. 




29 Goodway Dr. 


1101 Space Park Dr. 


Reference Technology Inc. 


Rochester. NY 14623 


Santa Clara. CA 95054 


5700 Flatiron Parkway 


(716) 427-8190 


(408) 970-3600 


Boulder. CO 80301 
(303) 449-4157 


Chorus Data Systems 


Library Corp. 




6 Continental Blvd. 


POB 4003 5 


Sony 


Merrimack, NH 03054 


Washington, DC 20016 


Information Products Division 


(603) 424-2900 


(800) 624-0559 


(for write-once drives) 






Sony Dr. 


Digital Equipment Corp. 


MicroTRENDS 


Park Ridge, NJ 07656 


CD-ROM Publishing Services 


650 Woodfield Dr.. Suite 730 


(201) 930-6484 


12 Crosby Dr. 


Schaumburg, IL 60195 




Bedford. MA 01730 


(312) 310-8928 


Sony 


(800) 332-9277 

(in Massachusetts: (800) 528-1313) 


National Memory Systems 


Optical Memory Group 
(for OEM CD-ROM drives) 




3 55 Earhart Way 


13 59 Old Oakland Rd. 


Franklin Telecom Corp. 


Li verm ore, CA 94 550 


San Jose, CA 95112 

(408)280-0111 . 


31320 Via Colinas, Suite 112 
Westlake Village. CA 91362 


(415) 443-1669 


(818) 706-1186 


Nissei Sangyo America Ltd. 




Grolier Inc. 

Sherman Turnpike 
Danbury, CT 06816 


(for Hitachi write-once and 
CD-ROM disks) 
460 East Middlefield Rd. 
Mountain View.. CA 9404 3 


Tallgrass Technologies Corp. 

11100 West 82nd St. 
Overland Park, KS 66214 
(913) 492-6002 


(800) 243-7256 


(415) 969-1100 


TtCMAR Inc. 


Hitachi America Ltd. 


Optical Storage International 


6225 Cochran Dr. 


(for write-once disks) 


1050 South Academy Blvd. 


Solon, OH 44139 


950 Elm Ave.. Suite 100 


Colorado Springs, CO 80910-3799 


(216) 349-0600 


San Bruno, CA 94066 


(303) 570-1400 




(415) 872-1902 




TIme Management Software Inc. 




Optimem 


POB 13 58 


Information Storage Inc. 


43 5 Oakmead Parkway 


Stillwater, OK 74076 


2768 Janitell Rd. 


Sunnyvale. CA 94086 


(405) 377-0880 


Colorado Springs. CO 80906 


(408) 737-7373 




(303) 579-0460 




Toshiba 




Optotech Inc. 


Disk Products Division 


KnowledgeSet Corp. 


770 Wooten Rd. 


3910 Freedom Circle, Suite 103 


251 1-C Garden Rd. 


Colorado Springs, CO 80915 


Santa Clara. CA 95054 


Monterey. CA 93940 


(303) 570-7500 


(408) 727-3939 



220 BYTE • MAY 1986 



A multi-user UNIX™ System V for 
$3,299 in stead of $4, 

Only 1 000 systems available at this price 

At last . . . an affordable, interactive, multi-user computer system. 

Its time every office had one. 

This high-powered computer system 
puts the competition to shame 




^ At) ATA 



JSSgzw 




The 8300-7 UNIX Processor fro 

• Fastest in its class — compares with systems costing 

• Proven, reliable 10-user system with UNIX System V I 

• So light weight it's portable! 



mes the price. 



JUDGE FOR 
YOURSELF. . . 

This is what you get for $3,299* 



• 26MB Winchester 

• 1MB Floppy 

• 1MB RAM 

• 2 Serial Ports 



• Operation Manual 

• Built-in Diagnostics 

• Menu-Driven Utilities 

• 90 Day Warranty 



• Expansion Capability 

• Built-in SCSI Interface 

• Desktop Design 

• Free Delivery (Within 
Continental U.S.A.) 



• UNIX System V. The Complete Operating System includes: C, Assembler, programming tools, nroff, troff, vi, man, etc. 

Still need convincing? Order BEFORE 6/30/86, and you can buy our Expansion Board, controlled by a 
separate on-board 80186 MPU. for only $700 (a $1,200 value), which includes: 

• Additional 8 Serial Ports • Additional 1MB RAM • Centronics Printer Port 



SOFTWARE OPTIONS: Cobol 74, Fortran 77. Pascal. Basic, Macro 
Assembler, as well as word processing, laser typesetting. DBMS, 
spreadsheet, accounting, inventory/purchasing packages. IBM™ 
3270 SNA/SDLC communications, PC File Server; etc. 

Megadata also offers larger 16-user Multibus™ based 
systems with storage options from 26 to 760MB. 

MEGAEATAft 

*Megadata is a successful, 19-year old computer and terminal 

manufacturer with a commitment to UNIX since 1981. 
**1 5-day money-back guarantee limited to one system per 

customer. Special conditions apply Offer limited to continental 

U.S.A. only, and expires 6/30/86. 

™UNIX is a trademark of AT&T Bell Labs. Multibus is a trademark of Intel Corp., IBM is a 
trademark of International Business Machines. 



Call, write, or use coupon 



r 



MEGAEATA, 

CORPORATION 

35 Orville Drive, Bohemia. New York 11716 
Tel. 516-589-6800 • Telex 14-4659 

YES! I'm interested! 

□ Please tell me how to order 
n I'm in a hurry — please call 

□ Please send information about your 16-user UNIX Systems 

Name/Title 

Company. — . 

Address - — 



1 



City/State/Zip^ 
Telephone . 



_ D J 



Inquiry 225 



MAY 1986 • BYTE 221 



OPTICAL DRIVES 



For the Atari 520ST and the IBM PC 
a ROMulus CD-ROM drive is available 
directly from KnowledgeSet. This con- 
figuration is available by mail order 
for $995. and it includes the en- 
cyclopedia disk. 

For the Apple He. MicroTRENDS 
sells a 68000 board and a CD-ROM 
disk drive adapter that reportedly 
allows the user to connect a CD-ROM 
disk drive to that computer. The 
68000 board, called Jonathan, fea- 
tures a 10-megahertz 68000 pro- 
cessor and the OS-9 operating sys- 
tem. The board reportedly runs cer- 
tain well-behaved GEM applications 
such as the Activenture encyclopedia- 
accessing software. MicroTRENDS 
also indicates that a multiuser option 
will soon be available, allowing up to 
three terminals to access the CD-ROM 
drive through the Apple He. The 
Jonathan 68000 board costs $795. the 
adapter is $395. and a Philips CD- 
ROM drive currently sells for $1000. 

Digital Equipment Corporation's 



CD-ROM Publishing Services division 
is offering CD-ROM readers bundled 
with its collection of reference works 
on optical disk, CD-ROM drives are 
available for the DEC MicroVAX and 
the IBM PC and will soon be available 
for the DEC Rainbow 100. Currently 
10 reference works are offered in- 
cluding COMPENDEX: Electrical & 
Computer Engineering ($1195, or 
$3485 with CD-ROM drive) and NTIS: 
Computers, Communications, and 
Electronics ($1 1 50. or $3440 with CD- 
ROM drive). 

The Library Corporation offers not 
only its bibliographic databases on 
CD-ROM disks but also stand-alone 
CD-ROM disk drives for the IBM PC. 
It currently sells a Hitachi CD-ROM 
drive for $999, including adapter, 
cables, disk-access software, and a 
sample CD-ROM disk. {Editor's note: For 
more sources of applications on CD-ROM 
disks, see "laser Libraries" by Norman 
Desmarais on page 23 5. | 

Tecmar is selling its CD Massfile CD- 



ROM drives and adapters for the IBM 
PC and DEC Rainbow. Each of Tec- 
mar's adapter boards can attach to 
two drives, The price for one drive 
plus adapter card and cable is $ 1 695. 

Read-only Disk Products 
for OEMs and Publishers 

Publishers who need to distribute 
large amounts of information to a 
large group of people may find op- 
tical disk technology to be cost- 
competitive with paper- and modem- 
based methods. A few of the com- 
panies who can master and copy op- 
tical disks are listed in this section. 
Again, note that prices for each com- 
pany can vary considerably depend- 
ing on quantity. 

Nissei Sangyo America manufac- 
tures two CD-ROM drives. The 
CDR-1 502S is approximately as wide 
as the IBM PC system unit. And the 
CDR-2 500 has the same size as a full- 
height 514-inch floppy-disk drive. Both 

{continued) 



THIS $1000.00 SAYS YOU CAN'T FIND A 
BETTER PRICE THAN YOU'LL FIND ON 

THE I. C. E. EXCHANGE^ 




AVAILABLE BY PHONE (VOICEI AND PC DIALUP 



BUT DON'T DO IT FOR THE MONEY!! 




TO RECEIVE YOUR FREE PASSWORD 
(PLEASE HAVE YOUR VISA/MC0 
READY) CALL: 



OUTSIDE 

TENNESSEE: 

IF BUSY 

IN TENNESSEE: 

DIRECT 



(800) 423-6408 
(800) 423-0276 
(800) 826-4528 
(901) 756-1879 



There are easier ways to acquire money-like sav- 
ing a lot of it when you buy hardware or soft- 
ware. The International Computer Component 
Exchange (I.C.E.) brings you a new, low cost 
data base of both dealer liquidations and na- 
tionally advertised offerings. It's available on 
line and by phone (voice) for those who prefer 
Personal Service and advice. Like a com- 



modities exchange, I.C.E. shows only the best 
prices found for each model and brand 
regardless of who the vendor is. It even provides 
descriptive data on many products. Then, if 
you're interested in buying, you can instantly 
retrieve the vendor's name, terms, toll free 
number, etc. to facilitate your purchase however 
you choose to make it. 



SAVE MONEY ON YOUR FIRST CALL OR IT'S FREE! 



If your first phone call doesn't save you money by 
showing you prices that are lower than ANY cur- 
rently advertised prices for identical products, just 
identify the ad for a full refund of line time for 
the call up to 10 minutes. NO MEMBERSHIP 
FEE. All charges are made to your Visa/MC. Just 
99 cents/min. Toll Free for on line dialup data ac- 



cess and $1.25/min. for Personal Service Phone 
Access (Toll Free). If you decide to buy something, 
vendor referral is $2.99. QUESTION: WHEN 
YOU CAN FIND OUT IF YOU'RE GETTING 
THE VERY BEST PRICE FOR JUST ONE OR 
TWO DOLLARS, WHY CONTINUE TO PAY 
SO MUCH MORE? 



A SERVICE OF IBC/INNOVENTION 
1. The first userto find a current advertised price for a new product in a U.S. Computer Magazine that is lower than 
an identical product listed on I.C.E. will receive $1000.00 



222 BYTE • MAY 1986 



Inquiry 173 



THE 

FIRST 

AND 

BEST 




Multi-User 

PC Data Terminal. 

Acts like a PC. Displays like a PC. 
TVpes like a PC. Existing software can 
run on the KT-7/PC terminal as it 
would on a PC. 

Multiple users have the ability to 
share a single PC's resources, such as 
its CPU, hard disk or RAM card. 

Kimtron terminals connect to the PC 
through an RS-232 serial port. 

80 x 25 addressable and scrollable 
lines of display and unique hidden attri- 
butes on a character basis support full 
IBM monitor video attributes. 

The economically designed display 
comes in your choice of 14" green or 
amber. One page of display memory 
standard. Up to 4 pages optional. 

Tens of thousands of IBM PC owners 
have already chosen our KT-7/PC data 
terminal for its convenience. So should 
you! Call today for your nearest 
Kimtron representative. 



IBM is a registered trademark of International 

Business Machine Corporation, 

© Copyright 1986 Kimtron Corporation. 







L*SS8fflI iT^^i^m 



Inquiry 194 for End-Users. 
Inquiry !95 for DEALERS ONLY. 



1705 Junction Ct., Bldg. #160 

San Jose, CA 95112 

TWX: 910-338-0237 

(408) 436-6550 (inCA) (800) 828-8899 



OPTICAL DRIVES 



drives conform to the Sony-Philips 
data standard. Also available are an 
interface for the IBM PC and a DMA- 
type interface. An SCSI interface will 
also soon be available. In quantities 
of 1000 units per year, the price of 
the drive alone, less power supply, is 
$396. Nissei Sangyo also offers disk 
mastering and duplication services. 
Premastering and mastering of data 
on a 9-track tape costs approximate- 



ly $5000; in 1 000-unit quantities each 
disk copy costs $6. 

Philips Subsystems offers CD-ROM 
disk production and CD-ROM drives. 
The company is selling its CD-ROM 
drive to publishers and VARs for ap- 
proximately $500 in 1 000-unit 
quantities. 

Reference Technology can produce 
disks in the CD-ROM format and also 
sells CD-ROM drives. Its CLASIX CD- 



PRESENTING THE 
- EC3000 - 




BUSINESS AND PERSONAL COMPUTER 

• BOTH A SINGLE-USER AND MULTI-USER 

• IBM PC/AT COMPATIBLE 

• ENHANCED FUNCTIONALITY 

• HIGH SPEED PROCESSING AND MEMORY MANAGEMENT 

THE EC-3000, BY MITSUBA 

MANUFACTURED IN JAPAN FOR QUALITY 

MITSUBA CORPORATION 

CORPORATE: 714-592-2866 
JAPAN: EI-EN ENTERPISES 03-446-6531 
TAIWAN: GIFU ENTERPRISES 02-752-9661 
HONG KONG: A&N ENTERPRISES 5-488-463 
SINGAPORE: AI-EN ENTERPRISES 2745-333 



ROM drive for the IBM PC is made by 
Hitachi and has a single-quantity price 
of $1595, including cables. The base 
price for mastering a CD-ROM disk is 
$9000, plus extra costs for indexing. 
Replicas are $1 5 to 2 5 each. The com- 
pany also offers a drive to handle 
12-inch disks. 

Sony's Optical Memory Group is of- 
fering three CD-ROM drives to OEMs. 
The CDU-5002 is the same size as a 
full-height 5!4-inch floppy-disk drive. 
The CDU-100 is an external unit with 
its own power supply. And the 
CDU-200 is like the CDU-100. but with 
an SCSI interface. Sony also has avail- 
able an IBM PC adapter card. In quan- 
tities of 5000 to 10.000 units, the 
CDU-5002 has a price of under $300; 
the CDU-100. under $400. 

Time Management Software (TMS) 
can produce disks in both the CD- 
ROM and videodisk sizes. The com- 
pany offers a software product called 
LaserDOS that comes in two parts 
and is said to ease data storage and 
retrieval. The origination part of 
LaserDOS runs on a VAX and allows 
efficient storage of data on the optical 
disk's sector format. The destination 
part of LaserDOS runs on an IBM PC 
and allows full-text retrieval and 
screen-capture capabilities. Disk 
mastering currently costs $4000 plus 
fees for text preparation and index- 
ing. Copies are $20 each. The price 
for each copy of the destination part 
of LaserDOS ranges from $50 to $95, 
depending on volume. 

LaserData can produce videodisks 
and sells a controller card that allows 
an IBM PC to connect to a videodisk 
player. Called the PC Trio, the con- 
troller allows the PC to access digital, 
video, and audio from a videodisk 
player. PC TVio has a price of $1495. 
Mastering a videodisk with 800 mega- 
bytes has a base price of $8000. 
Replicas are $2 5 in 1 000-unit quanti- 
ties. 

Conclusion 

Because this industry is young and 
rapidly changing, these lists should 
not be considered complete. We in- 
vite interested readers to use them as 
a starting point and to explore other 
products that will surely be an- 
nounced in the future. ■ 



224 BYTE • MAY 1986 



Inquiry 242 for End-Users. Inquiry 243 for DEALERS ONLY 



Only the HayesTranset 1000* 
canget you out of this one. 






PLAU IOAM! 












Now your PC can do three 
things at once instead of making 
you wait while it does one thing 
at once. 

We call it tri ple taskin g? 

It means you can work with 
your PC while the Transet 1000 
receives your electronic mail 
and runs your printer for you 
simultaneously. 

Three jobs at once. No waiting. 

When you're away from your 
desk, or at night while your PC 
is turned off, Transet 1000 serves 
as an electronic mailbox. 
Because it has its own indepen- 
dent 128K or 512K memory. 

To get the messages that come 
in through the night, you can 
call them up on your PC. Access 
them through a remote modem 
if you're away from the office. 

Inquiry 156 




©1986 Hayes Microcomputer Products. Inc. 



Or even have them waiting for 
you in hard copy. 

By now it's dawning on you 






^Try^cy 



Say yes to the future with Hayes. 

' Manufacturer's estimated retail price. 



that Transet 1000 can make your 
PC about three times as produc- 
tive as it is now. Which is no 
small statement. 

You've also figured out it's 
more than just a print buffer. 
More than just a communica- 
tions buffer. And probably costs 
a lot. Right? 

Wrong! 

It costs only $399* for the 
128K model which stores up to 
90 pages. And only $549 * for the 
512K version with up to 360 
pages of storage. 

For more information and 
specifications, contact your 
authorized Hayes dealer. Or 
Hayes directly at (404) 441-1617. 

Hayes Microcomputer Prod- 
ucts, Inc., P.O. Box 105203, 
Atlanta, Georgia 30348. 



MAY 1986 • BYTE 225 



Conquest: 

Two Cards for the 

Price of One 




<8S> 



One Card, One Slot, One Choice 



Introducing Orchid's 
Conquest, the first PC 
multifunction card with 
2 megabytes of the new 
Lotus EMS Expanded 
Memory. It's like having 
a multifunction card and 
an EMS card in one slot, 
but it costs less than you'd 
expect to pay for either. 

Multifunction Card 

Conquest is a multifunction 
card with serial/parallel 

Sorts, clock/calendar, and 
•OS Memory. And Orchid's 
Switchless Installation gets you 
up and running in minutes. 



Expanded Memory Card 

Conquest breaks the 640K 
DOS memory limit with 2 
megabytes of Lotus EMS 
Expanded Memory. Orchid's 
Productivity Software lets you 
use this memory for RAM 
Disk and Caching, so you take 
advantage of it with your 
existing software. 

Whether you're buying the 
first expansion card for your 
PC or an add-on for Lotus EMS 
Expanded Memory, Conquest 
is your choice: 

A First Card Buyers: Conquest 
is a multifunction card with 
EMS. 

A Multifunction Card Owners: 

Conquest is an EMS card 
with ports. 



Features: 

2 megabytes of RAM 
DOS & EMS Memory 
1 Serial, 1 Parallel Port 
Clock/Calendar 

Productivity Software: 
RAM Disk 
Disk Caching 
Print Spooling 
Alarm & clock display 

Optional PCnet connection 



, 47790 Westinghouse Dr. 
A \ Fremont, CA 94536 



415/490-8586 
Tlx: 709289 



ORCHID 

The Innovative Leaders 



Conquest and PCnet are trademarks of Orchid Technology. All other product names are trademarks of their manufacturers. 
226 B YTE • MAY 1986 



Inquiry 260 



MASS STORAGE 



TAPE BACKUP 
SYSTEMS 

by Anthony Antonuccio 

An introduction to backup 
systems for microcomputers 



DURING THE PAST few years, the 
need for tape backup systems within 
the microcomputer community has 
increased mainly due to the advance- 
ments made in magnetic-disk tech- 
nology. Microcomputer systems often 
have 10 to 20 megabytes of 5!4-inch 
hard-disk data storage, and the 
average disk storage capacities could 
soon increase to 30 megabytes or 
more. This move to higher disk capac- 
ities reinforces the need for tape 
backup systems as a means of archiv- 
ing data, transporting data between 
facilities, maintaining data within its 
disk environment, and most of all, 
providing "data insurance" to guard 
against the loss of data. 

This article is not a brand-name 
comparison of available tape backup 
systems. The intent here is to give you 
the necessary background informa- 
tion on the types of tape systems 
available, so that you can make an in- 
telligent choice for a tape system that 
will best suit your needs. 

I will focus on the most common 
uses of tape systems within the micro- 
computer environment, discuss tape- 
system/host-system interaction, and 
describe the most popular types of 
tape systems, outlining the pros and 



cons of each type. I'll also give some 
hints on buying a system. 

Tape Systems 

for Personal Computers 

Until recent years, tape systems were 
primarily used as a "secondary" 
means of data storage. At the end of 
a given day, users would "dump" to 
tape data that was no longer needed 
for immediate access and store it for 
future use. This form of data storage 
was, and still is, very important within 
the mainframe environment, and it is 
becoming more important within the 
microcomputer environment as 
higher-capacity disks become avail- 
able. 

Another common use for tape sys- 
tems is as a means for data exchange 
and distribution. Within many data- 
processing environments, users need 
to distribute data from one facility to 
another. T£pe systems become a 
natural solution for this application 
due to the low cost and high capaci- 
ty of the medium. 

l&pe systems used as disk-file main- 
tenance tools can provide fast and 
flexible reorganization of data. You 
can rearrange groups of files from one 
disk directory or disk device to an- 



other. You can also make fragmented 
disk files contiguous again by back- 
ing up the files to a tape, then restor- 
ing these files from the tape to a re- 
formatted disk. The files will be 
restored contiguously, enabling faster 
disk-file accessing. 

Probably the most important use 
for tape systems is for data protection 
when a system's disk device becomes 
unusable due to disk failure or, more 
commonly, through operator ac- 
cidents where the integrity of file in- 
formation is destroyed. Losing infor- 
mation, as most computer users at 
some time or another can attest, is an 
aggravating and often costly situation. 
Having the "lost" information safe on 
a backup tape may help preserve 
your sanity. 

Technical Background 

The integration of a tape drive to its 
host computer system requires a 
series of interfaces that will transport, 
translate, and process information 

(continued) 
Anthony Antonuccio (Sytron Corporation, 
135 Maple St., Marlborough. MA 01752) 
is vice president for product development at 
Sytron Corporation, developer of software for 
a variety of tape backup systems. 



MAY 1986 -BYTE 227 



TAPE BACKUP 



pertinent to any backup or restore 
operation. The components connect- 
ing the host computer system to a 
tape-drive mechanism consist of a 
host-system interface, a tape-drive in- 
terface, and intelligent tape firmware 
(figure I). These components can be 
contained on a single host-controller 
card containing both tape intelligence 
and the host interface, or they can be 
separated into a host adapter and a 
tape controller with an interface to the 
host adapter and an interface to the 
tape-drive mechanism. No matter 
how they are designed, most tape 
systems have those same basic com- 
ponents. 

The Tape System 

The integral part of the tape-drive 
mechanism is the recording head, 
consisting of read, write, and erase 
heads (figure 2). The number of heads 
determines the number of recorded 
data tracks placed on the tape. The 
storage capacity of a tape drive is 
determined by the number of data 
tracks the device uses, the recording 
density of information it places on 
each track, and the length of the tape. 
The tape-drive interface carries data 
to and from the tape drive. This inter- 
face consists of tape-drive status sig- 
nals, tape-drive control signals, and 
data-interchange signals. These sig- 
nals are the low-level components of 



the backup and restore applications. 

The intelligence of a tape system, 
residing on a tape-controller board, 
receives information from the host 
adapter, manipulates that information 
with one of a series of tape command 
sets, and then passes the resulting for- 
matted information to the tape drive. 

Figure 3 shows the QIC-02 (Quarter- 
Inch Committee) standard commands 
used by some tape driver software to 
manipulate data to and from a tape 
system. Other command sets such as 
SCSI (small computer system inter- 
face), SASI (Shugart Associates sys- 
tem interface), and other QIC com- 
mand sets may also be used. 

The Host Interface 

Host-system adapters with a tape- 
controller interface have the neces- 
sary intelligence to port and decipher 
host-system signals and data to and 
from a tape controller. Most host- 
interface signals include I/O channels 
for DMA (direct memory access) con- 
trol lines of read and write operations, 
processor-interrupt control lines, 
clock and timing control lines, and a 
status-check line. Figure 4 summarizes 
a typical host interface connecting a 
host computer system to a tape con- 
troller. This interface consists of data, 
command, and status bytes; hand- 
shaking lines that can interrupt data 
or command transfer; control signals 



to the tape drive; and status signals 
from the tape drive. 

Software and Utilities 

The software driver that generates 
tape commands and supervises the 
backup and restore operations to and 
from a tape system can take various 
forms, depending on the computer, 
operating system, and the objectives 
of the system programmer, l^pe-sys- 
tem software also includes backup 
and restore utilities that let you 
transfer logical disks and selective 
files to and from a tape drive. 

'Typically, the utility will be a menu- 
driven program prompting you at 
each decision point with appropriate 
questions and valid answers. Upon ex- 
ecuting the utility, for example, you 
might be asked to select the type of 
operation, whether backup, restore, 
or verify. The first option transfers 
data from disk to tape, while the sec- 
ond reverses the process. A verify 
operation performs a tape-to-disk 
comparison to assure the integrity of 
the data on the tape. 

At the lowest level of tape driver 
software is "buffer management." 
Here, the software initiates a buffer 
pool using the host system's available 
RAM, manipulates data blocks con- 
tained within these buffers, and moni- 
tors data-transport activity. Figure 5 
summarizes a typical design for data 



HOST 
SYSTEM 



INTELLIGENT 
TAPE CONTROLLER 



HOST 
INTERFACE 



HOST ADAPTER AND 
DISK CONTROLLER 



DISK 

INTERFACE 



DISK DRIVE 



TAPE 
INTERFACE 



TAPE 
DRIVE 



QJ5 



Figure I : A tape backup system typically consists of an intelligent tape controller with interfaces to the host computer system and 
the tape drive itself. Depending on the system, all or part of this controller may be incorporated into the host system (as an add-on 
card) or into the tape-drive unit. 



228 BYTE • MAY 1986 



TAPE BACKUP 



exchange between a tape system and 
host computer with a hard-disk 
system. 

At the highest level of tape driver 
software, backup, restore, and verify 
operations are generally separated 
into two categories: file-by-file opera- 
tions and image operations. File-by- 
file operations generally use operat- 
ing-system function calls that can 
manipulate single files, groups, or en- 
tire directories of files and provide the 
most flexible and secure of opera- 
tions. 

Image operations disregard file or 
directory structure. Instead, they ac- 
cess disk-sector information sequen- 
tially, through operating-system calls 
or straight BIOS calls, and provide 
maximum data-transfer throughput 
due to lower disk and processor over- 
head. Many users prefer image oper- 
ations because of their faster speed. 
The trade-off is that image operations 
generally give you less flexibility for 
restore operations because of the lack 
of file structure during backup oper- 
ations. 

Figure 6 represents a sample data- 
recording format typically used for 
tape. This QIC-24 format for putting 
data on a tape (as opposed to the 
QIC-02 command set for sending data 
to and from the tape system) includes 
a preamble, which contains informa- 
tion on blocks (akin to sectors on a 
disk); a block marker to mark the be- 
ginning of the actual data; 512 bytes 
of data; a block number; a cyclic re- 
dundancy check (CRC) for error detec- 
tion; and a "postamble" that sets up 
the tape to receive another preample. 
The QIC-24 format is the most wide- 
ly accepted standard for writing data 
on a tape. 

Types of Tape Systems 

Of the many types of tape systems 
available, there are only a handful of 
different tape-drive types and even 
fewer manufacturers of those tape 
drives. Differences in brand-name 
tape backup systems can include how 
the tape drive is assembled, whether 
or not it has a tape controller (not 
always necessary), the design of the 
tape application software, whether it 
is in an external housing (usually con- 
sisting of a power supply, ventilating 



TAPE RECORDING HEAD 
MECHANISM 



DATA TRACK 1 
DATA TRACK 



TAPE MOVEMENT 
TAPE MOVEMENT 



W R 

_□__□__ 
-□-□- 

R W 


E 


- 



W-WR1TE HEAD 
R- READ HEAD 
E- ERASE HEAD 



Figure 2: The integral part of a tape-drive unit, the recording head, consists of read, 
write, and erase heads. This diagram shows two tracks of a multiple-track tape system. 
Note the placement of the read heads after the write heads, for the purpose of error 
detection. 



Select Drive "0" 


Initialize (retension) Tape 


Select Drive "1 " 


Write Data 


Select Drive "2" 


Write File Mark 


Select Drive "3" 


Read File Mark 


Rewind to BOT (Beginning of Tape) 


Read Status 


Erase Tape 


Power-On/Reset 



Figure 3: These QIC-02 commands are typical of commands that a tape-drive 
controller uses to send information to and from a backup tape. 









BYTE-WIDE BUS 










HOST 
SYSTEM 




© 

(^b) intelligent 
^-^ streaming 
cartridge 
^^ tape drive 

© 
© 
© 




TRANSFER 




ACKNOWLEDGE 




REQUEST 




READY 






ON LINE 






RESET 






EXCEPTION 






DIRECTION 





















Figure 4: A summary of the typical communications between a host computer and a 
tape backup system, including: (a) the actual data, command, and status bytes: (b) data 
transfer-acknowledge handshaking: (c) command-status handshaking: (d) host-to-drive 
control signals: and (e) drive-to-host status signals. 



fan, and cabling), and whether it is 
sold by an OEM or a value-added sys- 
tem integrating firm. 

l^pe drives can first be classified by 
the type of tape medium they use. 
Further classification differentiates 
tape drives by the recording 
mechanism they use to place data 
onto the tape medium. The most 
commonly used types of tape media 



are !/2-inch (in width) tape in an open 
reel or cartridge tape form, !4-inch 
tape usually in a cartridge tape form, 
and .1 5-inch tape in a cassette or mini- 
cassette tape form. 

The /2-inch tape drives are general- 
ly used within the mainframe and 
minicomputer environments due to 
their fast data-transport speed and 

(continued) 



MAY 1986 -BYTE 229 



TAPE BACKUP 



high-capacity storage. Most /2-inch 
drives are too large, fast, and expen- 
sive for practical use with microcom- 
puters. However, as processor speeds, 
disk-access speeds, and disk capaci- 
ties increase, so will the need for 
'/2-inch tape-drive systems. In the 
future, /2-inch cartridge tape drives in 
a 5 /4-inch "form factor" (i.e., fitting in 
the same space as a 5!4-inch floppy- 
disk drive) could make /2-inch tape- 
drive technology more popular with 
microcomputer users. Some manufac- 
turers are developing /2-inch tape 



systems for microcomputers, and 
these products may be available by 
the time you read this. 

The /4-inch cartridge tape drives are 
the most commonly used tape back- 
up drives for microcomputers with 
hard-disk storage capacities of 10 
megabytes or more. Capacities of 
^-inch tape drives generally range 
from 45 to 60 megabytes of formatted 
data storage on a single tape, with a 
maximum data-transfer rate of 5 
megabytes per minute. You can 
classify !4-inch tape drives by three 



HOST 
PROCESSOR 



INTERRUPT CALLS AND 
STATUS CHECK 



INTERRUPT CALLS 
STATUS CHECK 




AND 



DISK 
SYSTEM 



( BUFFERS IN RAM ) 




DATA 
TRANSPORT 




TAPE 
SYSTEM 



DATA 
TRANSPORT 



Figure 5: \n the process of data exchange from the host computer system to the tape 
backup drive, the tape software uses the host systems RAM as a buffer to manipulate 
data blocks. 















// 


1 




// 


1 


2 


4 






12 BYTES 


B 
Y 

T 
E 




512 BYTES 


B 
Y 

T 
E 


B 
Y 
T 
E 
S 


B 

1 

T 
S 








ft 






// 












< J 


1 


v 






1 










1 DATA 


1 POSTAMBLE 

1 CRC 


DATA 


-BLOCK MARKER 


1 BLOCK NUMBER 




L PREAMBLE 







Figure 6: A typical data-block format used for tape backup systems, the Q1C-24 
format. 



configurations: start-stop tape drives, 
streaming tape drives, and floppy 
tape drives. 

A conventional start-stop tape drive 
operates with a low-inertia capstan 
that allows sudden starting and stop- 
ping of tape motion and is best used 
for file-oriented data recording, l^pe 
systems using this type of tape drive 
generally can record and access 
specific data files faster than a stream- 
ing tape drive because they can quick- 
ly stop in between data blocks rather 
than "overshooting" the file. Over- 
shooting of tape wastes time because 
the tape must rewind past the last 
recorded or accessed data block and 
reposition itself in a forward motion 
again for the next data block to be 
recorded or accessed. On the other 
hand, streaming tape drives are faster 
at recording an entire disk. 

Most start-stop tape drives can ac- 
cess data files on tape randomly, as 
opposed to sequentially searching 
the tape for a desired data file. Due 
to the sophisticated recording 
mechanisms of start-stop tape drives, 
they are generally more expensive 
than other ^-inch tape-drive systems. 

Streaming tape drives are designed 
to record information to a tape with- 
out having to stop tape motion, thus 
the term "streaming." This type of 
tape drive is better suited for image 
data recording. Because a streaming 
tape drive can record or access a data 
block on the fly, it can achieve con- 
tinuous tape motion, providing a data 
block is available to be recorded or 
accessed. 

Streaming tape drives can do file- 
oriented backup operations with a 
sacrifice of reduced performance 
from that of a start-stop drive. Stream- 
ing tape drives usually access files on 
the tape by sequentially searching the 
tape until they find the desired data 
file or until they reach the end of 
recorded data on the tape. In com- 
parison, streaming tape drives are less 
expensive than start-stop drives due 
to their simpler, lower-cost drive 
mechanism. 

Floppy tape drives are designed to 
eliminate the need for a separate con- 
troller board to control tape opera- 
tions. The tape drive plugs directly 

[continued) 



230 BYTE- MAY 1986 





PROBLEM: There's just no easy way to move from one 
software program to another* 

THE SOFTLOGIC SOLUTION: Software Carousel 



Now you can keep up to 10 programs 
loaded and ready to run. 

Hard to believe, but some people are 
happy with just one kind of PC software. 
Well, this is not a product for them. 

But if you re someone who 
depends on many packages, all 
the time— someone who'd use 
several programs at once if you 
could, well now you can. With 
Software Carousel. 

Why call it "Software 
Carousel"? 

In some ways, Software 
Carousel works like the slide 
projector you're used to. You 
load a handful of pictures, view one at a 
time, then quickly switch to another. A 
simple idea, with powerful possibilities 
for computing. 

Here's how it works. When you start 
Software Carousel, just tell it how much 
memory you have, load your software and 
go to work. 

Need to crunch numbers? Switch to your 
spreadsheet. Need your word processor? 
Don't bother saving your spreadsheet file. 
Just whip over to your document and do 
your work. Snap back to your spreadsheet, 
and it's just like you left it. 

With up to ten different programs at your 
fingertips, you'll have instant access to your 
database, communications, spelling checker, 
spreadsheet, word processor, RAM resident 
utilities, languages, anything you like. 

Reach deep into expanded memory. 

This could be the best reason ever for 
owning an expanded memory card, like the 
Intel Above Board, ASTRAMpage, or any 

Inquiry 326 



Word 
Star 

1-2-3 
BPI 


4X 


8X 


12X 


16X 


























Wi 

run 

load 

a file 

Teste 


h Software Carousel 
ning in RAM. you can 
a program and retrieve 
j up to 15 times faster. 
Dnducted on an IBM XT 



card compatible with the L/I/M Extended 

Memory Standard. 
Software Carousel puts programs into 

this "high-end" memory for temporary 

storage when they're not in use. And 

switches them back out when 
you want them. It's fast, effic- 
ient, and easy. 

If you want, Software Car- 
ousel will even use your hard 
drive for swapping. Just allo- 
cate a portion for storage, and 
go to work. 

Sidekick, Superkey 

and Ready. All at the 

same time. 

You know what happens if 
you try loading two or more RAM resi- 
dent utilities at once. You 
get crashed keyboards, 
frozen screens, all kinds of 
interference between pro- 
grams fighting for control. 

With Software Carou- 
sel, you can have as many 
accessories and utilities on- 
tap as you want. Just load 
different ones in different 
Carousel partitions. Since 
they can t see each other, 
they can't fight. 



Carousel will look for the programs you 
use most often, and optimize them for the 
quickest access. 

You can spend a lot more money, and 
still not get the convenience and produc- 
tivity increase of Software Carousel. 

The way we see it, there are certain 
things you have the right to expect from 
your computer. Access to your software is 
one of them. 

At just $49.95* a copy,Software Carousel 
is the best way to get it. 

Order today at 800-272-9900 (603-627- 
9900 in NH) or send the coupon below. 

Special combination pricing is available 
for the purchase of Software Carousel 
and other Sof tLogic products, including 
Cubit, DoubleDOS and Disk Optimizer. 



The easy way to 
maximize PC power. 

With all this power, you 
might think Software Car- 
ousel is complicated and 
difficult to use. Not so. Set 
it up once, and it will re- 
member forever. Better still, 



^SoftwareCarousel $ 49 ( 



i95* 



YES! 

Please send me_ 

Name 



_copies of Software Carousel today. 



Company- 
Address 

City 



. State/Zip_ 



Check Enclosed D VISA □ 

Card# 

Signature 



MC □ AMEX □ 
Exp. Date 



SoftLogic Solutions, Inc. 
530 Chestnut Street 
Manchester, NH 03101 
800-272-9900 
(603-627-9900 in NH) 



SoftLqgk: 

SOLUTIONS 



Call today: 800-272-9900 



*plus $5.00 shipping and handling. 
MAY 1986 -BYTE 231 



TAPE BACKUP 



If a floppy tape 
system does not record 
data properly on the 
tape f it will not 
indicate this until 
it performs a 
separate verifying pass. 



into the back port of the host com- 
puter system's floppy-disk controller, 
such as is standard on the IBM PC XT. 
Such a setup makes the floppy tape 
systems more portable from one host 
computer to the next than other tape 
systems. 

Floppy tape drives simulate a string 
of floppy-disk drives, where each tape 
data track is treated as a floppy disk. 
The data format of the tape is also set 
up similarly to the format of a floppy 
disk, with a bad-sector table, a file- 
allocation table, random-access abili- 
ty, and so on. 

The "floppy-like" data format of 
floppy tape systems requires that 
before you use any tape, it must go 
through an extensive formatting pro- 
cedure that generally takes at least 40 
to 60 minutes to complete. Once you 
have formatted the tape you should 
not have to reformat it during normal 
use— again, similar to using a floppy 
disk. 

Because floppy tape drives use a 
floppy-disk controller interface, any 
host computer system not having this 
interface may not be able to use a 
floppy tape system. Also, because of 
this interface, floppy tape systems 
have reduced speed performance and 
a degradation of data reliability. The 
average data-transfer rate is I mega- 
byte per minute for both file-oriented 
and image-oriented backup opera- 
tions. Data reliability decreases due 
to the lack of a l, read-after-write" 
check when placing data on a tape: 
Most other drives have a read head 
following the write head within the 
recording head mechanism. This lets 



a system read data from the tape as 
it is being written to the tape, verify- 
ing the accuracy of the write opera- 
tion. If a floppy tape system does not 
record data properly on the tape, it 
will not indicate this until it performs 
a separate verifying pass. Thus, 
floppy tape drives must perform a 
separate verify pass after data is writ- 
ten to the tape. 

Cassette tape drives using .15-inch 
tape are available in both streaming 
and floppy tape configurations similar 
to ^-inch tape drives. Speed perfor- 
mances for both versions are compar- 
able to the '4-inch tape drives. The 
.1 5-inch minicartridge tape drives are 
generally configured similarly to the 
!4-inch floppy tape versions, using the 
host system's floppy-disk controller as 
the tape controller. 

Tape Controllers 

The type of tape controller a tape 
drive needs depends on the host 
computer system's interface and the 
type of tape drive, l^pe-system con- 
trollers are available in a variety of 
configurations from many manufac- 
turers. Currently most tape con- 
trollers use the QIC-36 and QIC-02 
tape-controller configuration, al-. 
though the SCSI and SASI tape-con- 
troller configurations are becoming 
popular. The differences between 
these configurations have to do with 
the command set that instructs the 
tape drive to perform specific opera- 
tions and monitors the host computer 
system's operations. This intelligent 
command set, combined with a host- 
system interface, a tape-system inter- 
face, and a processor, makes up a 
tape controller. 

Not all tape controllers are made up 
strictly of hardware components ar- 
ranged on a circuit board. To reduce 
tape-controller costs, some manufac- 
turers have removed the intelligence 
from the controller and placed it in a 
software module that formats and ma- 
nipulates the data to and from a tape 
drive. With this type of tape controller, 
the host computer system shares its 
microprocessor with the tape con- 
troller, instead of the tape controller 
having its own processor. Systems 
that use a software module to take the 
place of tape-controller firmware 



usually sacrifice performance and 
may be less compatible with different 
host computers. 

Tape Software 

As an operating system controls the 
host system, so tape software controls 
the tape system, l^pe software deter- 
mines the format of how the drive 
places data on a tape, how it transfers 
data from the host system to a tape 
and back again, and what the user in- 
terface will be. Unfortunately, there is 
currently little standardization of tape 
format. As a result, data interchange 
between tape media from one brand- 
name tape system to the next is not 
yet possible. 

Buying a Tape System 

The number of brand-name tape 
backup systems now available prob- 
ably exceeds the number of cereal 
brands offered in the local super- 
market, and choosing between them 
can be difficult. When you are pur- 
chasing a tape system, keep in mind 
reliability. You can expect similar tape 
drives from different manufacturers to 
perform similarly. Speed, reliability 
compatibility, and cost will closely 
resemble one another. You must de- 
cide which tape configuration best 
suits your needs. 

Generally, the greater the width of 
the tape medium, the more informa- 
tion may be less condensed over the 
medium and the more reliable the 
tape data will be. 

If you prefer to mount the tape sys- 
tem internally the power supply with- 
in your host computer system must be 
adequate for the tape drive. Forty 
watts is sufficient for 14 -inch tape 
drives, while I 5 watts is sufficient for 
.15-inch tape drives. 

Most ^-inch and .15-inch tape 
drives are in the 5^-inch half-height 
form factor; 1/2-inch tape drives should 
soon be available in the 514-inch form 
factor. 

The basic rule of thumb is still, "You 
get what you pay for." Remember, you 
are basically buying an insurance 
package for your data. You must first 
ask yourself the question, "How im- 
portant is my data?" That will set the 
tone for puchasing a tape backup 
system. ■ 



232 BYTE • MAY 1986 




PROBLEM: Handling your need for more megabytes, 
without spending megabucks on a new drive* 

THE SOFTLOGIC SOLUTION: Cubit ™ 




With Cubit, you'll get as much as 100% 

compression on data files, effectively 

doubling the storage capacity of all your 

magnetic media. 



Now get up to twice the capacity from 
all your storage media. 

You know what happens. The more you use 
your computer, the more information you 
create. And the faster you fill up your disk. 

The 10MB drive that once seemed enor- 
mous is now jammed with important 
files. That 20MB that should have 
lasted years is crowded in a 
matter of months. 

Of course you could keep 
buyingbigger hard drives. 
Or you could get Cubit and 
get the maximum storage 
space from the drives you 
already have. 

What is Cubit? 

In brief, Cubit is an advanced software tool 
that automatically reduces the number of 
bytes required to store a file, then converts the 
file back to its original size when retrieved. 
Some programmers call this effect "data 
compression," others, "disk expansion." Either 
way, the result is the same. 

Here's how it works. When Cubit com- 
presses a file, it first compares each word to its 
massive English word dictionary. Words that 
match are reduced to a predetermined code of 
just one, two or threebytes each. It then saves 
the abbreviated version to disk. Decompres- 
sion works just the opposite. 

To accommodate other words and symbols, 
Cubit uses two more compression techniques. 
One assigns new, shorter codes to unusual 
words. Another compresses according to the 
frequency of character strings in non-text data. 
So no matter what kind of files you create, 
Cubit ensures maximum space savings. 

Best of all, you'll be using the same fast, 
reliable data compression techniques used 
on mainframe computers for decades. 

Inquiry 327 



How much disk space will you save? 

Because the vast majority of data created 
on PC's is standard ASCII text— letters, 

numbers and other English 
language symbols— we've 
optimized Cubit for word 
processing and database 
files. With these, you'll get a 
minimum of 50% expansion on 
up to a full 100% or more. 
At the same time, you can 
expect a significant 30% to 

50% improvement with 
other kinds of data. Including 
spreadsheet files, program code, 
graph and image files,even binary 
data. 
And Cubit works just as well 
with floppies and tape cassettes as it 
does with hard disk drives. 

Run Cubit where you want, 
when you want. 

Maybe you'll want to use Cubit 
for all your files, or maybe just 
some. So Cubit lets you specify 
exactly which files to work on 
and which ones to leave alone. 

In RAM resident mode, 
Cubit works quickly and 
invisibly, compressing and 
decompressing right from 
within any program you run. 
Or use Cubit's powerful file 
management mode. It supports 
wild-card and global file names, 
and addresses sub-directories 
up to thirty levels deep. 

Save time and money, as well 
as disk space. 

A compressed file is a smaller 
file. So with Cubit, back-ups 



take less time, as well as less space. And 
communicating compressed files means 
significant savings on phone line charges. 

Any way you look at it, Cubit will pay for 
itself in no time. And that's especially true now. 

Special limited time offer. 

Buy Cubit now and you'll save even more. 
Because for a limited time, you can buy Cubit 
at the special introductory price of just $49.95* 
But hurry. This special price won't last long. 

Ask for Cubit at your computer dealer. Or 
order directly from Sof tLogic Solutions by 
calling 800-272-9900 (603-627-9900 in NH), 
or mail in the coupon below. 

Special pricing is available when you buy 
Cubit along with other SoftLogic products 
including DoubleDOS, Software Carousel 
and Disk Optimizer. Ask for details. 



^ Cubit™ 49«* 

YES! Please send me copies of Cubit at this special 

introductory price. 

Name 

Company 

Address 

City State/Zip 



Check Enclosed □ 

Card # 

Signature 



VISA D MC □ AMEX D 
Exp. Date 



SoftLogic Solutions, Ini 
530 Chestnut Street 
Manchester, NH 03101 
800-272-9900 
(603-627-9900 in NH) 



SoftLogic 

SOLUTIONS 



Calltoday:800'272'9900 



*plus S5.00 shipping and handling. 

MAY 1986 -BYTE 233 





Why the Hercules Color Card is 
better for your XT than IBM's. 



Did you know that there's a color 
graphics card specially designed for the 
XT? It's called the Hercules 11 " Color Card. We 
think that it's better for your XT than the 
IBM® Color Graphics Adapter. Here's why. 

The XT comes with an empty short slot. 
IBM's card is too long to fit in it, so you're 
forced to sacrifice a valuable long slot, while 
your XT's short slot goes unused. 

The Hercules Color Card is designed to 
fit in this short slot. It's the smartest way 
to maximize the usable slots in an XT and 
provide for your future expansion needs. 





IBM 






Hercules 


Ill 


I 






mi 
















- — . 











Notice how much more efficiently 
Hercules makes use of the XT's slots. 

Our efficient use of an XT's slots is not 
the only reason to buy a Hercules Color 
Card instead of IBM's. We give you a 
parallel printer port at no extra cost. (IBM 
charges extra and takes up another slot.) 

A lot of people wonder how Hercules 
can do everything that IBM can in a card 
less than half the size. We do it by designing 
our own graphics microchips. Just one of our 
chips packs the punch of dozens of IBM's, 
reducing by more than 50% the number of 
components that can fail. 



And we'll do just about anything to 
make our products the most reliable you 
can buy. 





Hercules 



IBM 



Of course, you will have to give up 
something when you buy a Hercules Color 
Card. You'll have to give up software incom- 
patibility. With Hercules, there is none. 
Every program that runs on the IBM color 
card will run on the Hercules Color Card. 

You'll have to give up IBM's ninety day 
warranty. Ours is two years. 



IBM 
Hercules 



Compare warranties 



I 3 months 



1 2 years 



And you'll have to give up a dollar. The 
Hercules Color Card is $245-IBM's is $244. 

Look into the Hercules Color Card 
for the XT, PC or AT™ Find out why the 
readers of PC World voted the Hercules 
Color Card 1985's best color graphics 
card-ahead of IBM's. Call 1 800 532-0600 
Ext.432 for the name of the dealer nearest 
you and we'll rush you our free info kit. 

Hercules. 

inquiry 1 58 We're strong on graphics. 



Address: 2550 Ninth St., Berkeley, CA 94710 Ph: 415 540-6000 lelex: 754063 TYademarks/Owners: Hercules/Hercules Computer Technology; IBM, XT, AT/IBM. 
Limited time offer, subject to change without notice. 



MASS STORAGE 



LASER 
LIBRARIES 

by Norman Desmarais 

Publishers are providing 
information on optical disks 



OPTICAL STORAGE systems can store 
audio, video, text, computer-gen- 
erated images, or any combination. 
Such systems may soon dramatically 
change the way information pub- 
lishers and libraries serve their users. 

Currently available optical media fall 
into two categories— write-once disks, 
to which you can add information but 
not erase it, and read-only disks, which 
you can read but not change in any 
way. (Editor's note: For a discussion of these 
technologies, see "The Evolution of Mass Stor- 
age" by Leonard Laub on page 161.) 

Publishers of large bibliographic 
and full-text databases are beginning 
to use read-only optical technology to 
distribute information to their cus- 
tomers. Many of these databases have 
been available electronically via tele- 
communication or on magnetic tape 
and are easily transferred to read-only 
optical disks— either 12-inch laser 
disks or the more recently available 
4 3 / 4 -inch (12-centimeter) CD-ROMs. 

12-iNCH Laser Disks 

The Library of Congress has for 
several years maintained an index of 
its holdings since 1968 in electronic 
form called MARC (machine-readable 
cataloging). This database is in the 



public domain, and a number of in- 
formation publishers have incor- 
porated it into laser disk products. 

Library Systems and Services Inc. 
(LSSI), for example, produces a video- 
disk version of the MARC database, 
called Mini MARC, which is geared 
toward smaller libraries. Every two 
weeks, LSSI produces a new version 
of Mini MARC on 12-inch disks for 
Pioneer LDV-1000 players. The system 
can support up to four 12-inch laser 
disk players and provide access to 
more than 3/2 gigabytes of storage. 
(To have the complete database with 
indexes the system requires the simul- 
taneous use of two laser disk players.) 

LSSI also offers 12-inch videodisk 
versions of the Government Printing 
Office database of government pub- 
lications and the National Information 
Center for Educational Media 
(NICAM) database of 500,000 audio- 
visual and educational materials. The 
company recently produced a union 
catalog (a union catalog lists all the 
holdings for all the branches of a 
library system) for the libraries in the 
Southeastern Region New York 
Library System. This 12-inch laser disk 
contains over 700,000 titles. 

International Thomson Library Ser- 



vices has tested a laser disk product 
called MARVLS (the MARC and 
REMARC Videodisk Library System). 
(REMARC is a database of the Library 
of Congress's holdings prior to 1968.) 
MARVLS contains both databases on 
1 2-inch laser disk and lets you search 
through a million cataloging records. 
Various divisions of International 
Thomson have produced optical ver- 
sions of the Library of Congress data- 
base, although none of the products 
are commercially available now. 

Information Access Company pro- 
vides its periodical databases, which 
now include the full text of the Wall 
Street journal, in 12-inch laser disk for- 
mat, under the name Info Tfac (see 
the text box "Info Tfac: Storing Peri- 
odical References by Laser" by Joe 
Dorner on page 236). 

CD-ROM: Advantages 
for Libraries 

CD-ROMs have many advantages over 
the magnetic media currently being 

[continued) 
Norman Desmarais (Phillips Memorial 
Library, Providence College, Providence, RI 
02918) is acquisitions librarian at Phillips 
Memorial Library and author of articles for 
computer-related library publications. 



MAY 1986 -BYTE 235 



LASER LIBRARIES 



Info Trac: Storing Periodical 
References by Laser 



Information Access Company (IAC). 
a branch of Ziff-Davis Publishing 
Company, maintains a large database 
of magazine and newspaper citations 
called Info Trac. Info Trac's short 
references describe article subjects, 
authors, and publications. You can look 
through this data for articles that might 
be applicable to your research or what- 
ever you're interested . in and then 
select items to read. This informa- 
tion is supplied to libraries on 
microfilm, and film readers are located 
in almost every major library across the 
country. 

You could also dial into a public in- 
formation system, such as Dialog, and 
access the information on line. How- 
ever, you would have to spend a lot of 
time reading through this information, 
and log-on charges for such a database 
could easily run into thousands of 
dollars each month. 

Info Trac Magazine Index contains 
references to articles in over 400 
publications, and it is updated monthly. 
It also includes the Newspaper Index, 
which covers several national dailies. 
The accumulation of references makes 



by Joe Dorner 



it a huge database. Even the monthly 
updates are quite large. I AGs main file 
is over 300 megabytes long, with 20 to 
30 megabytes of new data being 
added each month. At IAC. we wanted 
to provide better access to this infor- 
mation, but there was no easy way to 
do it before optical disks came along. 

IAC now provides its databases on 
optical disk systems based on the IBM 
PC and devices manufactured by Laser- 
Data of Boston. A basic system is com- 
posed of two IBM PCs with floppy-disk 
drives, a LaserData decoder, and one 
or two Pioneer laser disk players. 
Libraries receive updated optical disks 
monthly. 

IAC keeps its data on a large main- 
frame computer. Over 30 large-reel 
nine-track magnetic tapes are used to 
hold a single database and associated 
index files. These tapes are sent to 
LaserData for the conversion process. 
It takes several days to encode this in- 
formation, add appropriate error- 
checking information, and create a 
videotape. The videotape is then sent 
to 3M for conversion into 12 -inch laser 
disk masters. Duplicate disks are 



created and checked for accuracy. This 
cycle usually takes over a week, most- 
ly because of the time it takes to 
transfer the information between the 
several companies involved. (This does 
not include the time necessary to 
create the database or process the 
information.) 

Data Storage 

The type of information a database 
contains and how users will access this 
information influences the structure of 
the main data file, as well as the index 
files that point into this main file. Using 
an encyclopedia as an example, let's 
look at a typical search of the Maga- 
zine Index. 

If you are doing research for a report 
or term paper, you usually have a 
specific topic in mind. This will prob- 
ably lead you to an encyclopedia, 
which is arranged in alphabetic order 
by subject. You will then read the arti- 
cle concerning your topic, extracting 
things that are important. If the article 
contains a reference to a related arti- 
cle, you will turn to that one and con- 
tinue reading. If there are no related 





COARSE TABLE 




.OCATOR TABLE 




DATA FILE 






Knife 

Knot 

Ladder 

Lost 

Lucky 

Man 


/ 
\ 


Ladders used in architecture 

Landings on the moon 

Laser beam research 

Laser disks and mass storage 

Leach lines and sewage systems 

Lemmings 

Lost and found departments 


/ 


LASER DISKS AND MASS STORAGE 
The use of laser disks for mass storage, 
discussing the selection of data for 
storage, and the design of programs. 
BYTE magazine, page, volume, issue. 

Movies on laser disk: a change from 
videotape. A discussion on the changes 
in distribution. . . 



















Figure A: Laser disk storage. 



236 BYTE • MAY 1986 



LASER LIBRARIES 



articles, you will try to figure out where 
else to look for information. However, 
if the encyclopedia is being stored on 
a laser disk system, the manufacturer 
can take several steps that will help you 
access the information you need. 

The simplest method of file layout is 
to have one large alphabetic text file. 
You can move sequentially through 
topics until you find what you're in- 
terested in. Since encyclopedias are 
large, this is usually not a suitable 
search method; scrolling forward to 
topics near the end of the alphabet will 
take a long time. You will need some 
form of index; the simplest is an alpha- 
betic index of the main text. 

An alphabetic index can have as 
many entries as time and space allow, 
but the simplest have headings only for 
the 26 letters of the alphabet. You 
would type in a letter and then be 
presented with the first article starting 
with that letter. This simple index is not 
satisfactory because there still might 
be a lot of information to scroll through 
before you reach your desired topic. 

Enlarging the index headings to 
several letters makes searching easier; 
the maximum number of index entries 
would then be one per article. This 
form of index has benefits and draw- 
backs: Can you type in a long name 
without making typing errors? Do you 
even know the proper spelling of a 
topic? Studies have shown that the 
maximum number of characters an 
average person can type without error 
is about 10 or 12. Thus, having indexes 
that are long will not be advantageous 
because many people will not be able 
to type in the full name of an article. 
Some form of subsearch should be 
provided for, assuming that what you 
type in is only the first few characters 
of an item's name. 

If an index becomes very large, then 
there will probably be indexes into the 
index, down to whatever level is 
desired. This is the case with lAC's 
Magazine Index. 

The Magazine Index is composed of 
many small citations. Each entry 
averages only six lines of 60 characters. 
This index was designed to be dis- 
played on an 80-character-wide screen, 
so a 60-character line leaves you room 
to present pointers and related infor- 
mation on either side of the data. 



Companies 
Mentioned 



Information Access Co. 
II Davis Dr. 
Belmont, CA 94002 
(800) 227-8431 
(415) 591-2333 

LaserData Inc. 
10 Technology Dr. 
Lowell. MA 01851 
(617) 937-5900 



There are a great number of citations 
in one database. Each citation is 
related to one or several specific 
topics. In the Magazine Index there are 
two levels of index files to select an en- 
try into the database. 

File Layout 

The first level to the index is a coarse 
table (see figure A) that is entirely con- 
tained within memory. Due to memory 
limits, this level currently has about a 
thousand entries. These entries are 
several characters in length and are 
evenly distributed across the main 
database. Each entry points into a 
locator table that contains one entry 
for each subject in the main database. 

The index prompts you to enter a 
term that you want to search for. The 
program then performs a binary search 
of the coarse table to find the nearest 
alphabetical match. This is fast because 
the entries being searched are all in 
memory. The coarse table provides a 
range within the locator table for the 
program to search. The program then 
performs a binary search on the 
locator table. If the read head on the 
laser player must move around much, 
this search may take a few seconds. 
This then provides an entry into the 
main database, and the program will 
present you with citations on the 
screen. 

For example, you might be doing a 
research paper on laser disk drives. At 



a program prompt you would enter the 
term LASER DISKS as a search topic. 
The program would search the coarse 
table and find the closest matching 
term to be perhaps, LADDER, depend- 
ing on the length of the index and 
number of indexes. The coarse table 
entry following LADDER might be 
LOST. The program would then make 
a search of the locator table, bounded 
by the LADDER and LOST entries. This 
would provide an entry into the main 
data file at the place where LASER 
DISKS is first used as a subject. You 
could then browse through all articles 
that are listed under that topic. 

The Magazine Index also provides 
some GOTO references. In this exam- 
ple, a citation might just tell you to also 
look at OPTICAL DISKS. You then 
press a key to have the system jump 
around the database and bring up OP- 
TICAL DISKS as a subject. After 
reading in this area, you then press an- 
other key to return to the LASER 
DISKS area. This GOTO capability 
makes the system easier to use. The 
data contained in this index was 
originally provided on microfilm, and 
if you wanted to GOTO another area, 
you had to manually move through the 
film strip, position it at the referenced 
area, then move back when you were 
done there. 

This is a simple form of indexing. The 
layout of this database makes it easy 
to place a citation in multiple locations, 
such as under LASER DISKS as well 
as under the author's name, and even 
under other subjects mentioned in the 
article. 

I AC is now providing VM Street jour- 
nal articles in full-text form. Rather than 
create a new indexing scheme into this 
new database, IAC tied it into the cur- 
rent Newspaper Index. As before, you 
enter a topic name and the system 
presents you with the citations related 
to that topic and articles that have full 
text available. By pressing one key. you 
can see the actual article, rather than 
having to look for the hard copy. 

]oe Dorner (Covill Associates, 2204 Garnet 
Ave., Suite 301, Sam Diego. CA 92109) is 
president of the San Diego Computer Society 
and author of Assembly Language 
Routines for the IBM PC. He assisted in 
the development of \nfo Trac. 



MAY 1986 -BYTE 237 



NEW RELEASE 

Ecosoft's Eco-C88 Rel. 3.0 C Compiler 




$5995 



Release 3.0 has new features at an unbelievably low price. ECO-C88 now has: 

■ Prototyping (the new type-checking enhancement) 

■ enum and void data types 

■ structure passing and assignment 

■ All operators and data types (except bit fields) 

■ A standard library with more than 200 functions (many of which are System V 
compatible for greater code portability) 

■ cc and mini-make that all but automates the compile process 

■ 8087 support (we sense the 8087 at runtime - no dual libraries) 

■ ASM or OBJ output for use with MSDOS linker 

■ Tiered error messages - enable-disable lint-like error checking 

■ Fast compiles and executing code 

■ Expanded user's manual 

■ Enhanced CED program editor (limited time offer) 



We also offer the following support products for Eco-C88. 



$2995 



CED Program Editor 

CED now supports on-line function help. 
If you've forgotten how to use a standard library functionjust type 
in the name of the function and CED gives you a brief summary, 
including function arguments. CED is a full screen editor with 
auto-flagging of source code errors, multiple windows, macros, and 
is fully configurable to suit your needs. You can edit, compile, link, 
and execute DOS commands from within the editor. Perfect for use 
with Eco-C88. For IBM PC, AT and look alikes. 




$ 20 



C Source for Standard 

Contains all of the source code for the library 
functions that are distributed with Eco-C88, ex- 
cluding the transcendentals and functions written 
in assembler. 

Developer's Library 

Contains the source code for all library functions, 
including the transcendentals and those written in 
assembler. Perfect for the developer that wish to 
write their own custom functions or learn how 
we implemented the Eco-C88 library. 

ISAM Library 

Contains the code from the C Programmer's 
Library in relocatable format (i.e., .OBJ) includ- 
ing the delete code for the ISAM file handler. 



Library $ 1 f\ 

ie library A \J 



C Programming Guide 

After reading the 1st edition, 
Jerry Pournelle (BYTE Magazine) said: "I recom- 
mend this book . . . Read it before trying to tackle 
Kernighan and Ritchie." The second editon ex- 
pands this best seller and walks you through the C 
language in an easy-to-understand manner. Many 
of the error messages include references to this 
book making it a perfect companion to Eco-C88 
for those just starting out with C. 



( s 20ifnot 
with order) 



$ 25 

( s 50 if not 
with order) 

$ 15 

( $ 30 if not 
with order) 




$17 



C Self -Study Guide 

(Purdum, Que Corp.). Designed 
for those learning C on their own. The book is filled 
with questions-answers designed to illustrate many 
of the tips, traps, and techniques of the C language. 
Although written to complement the Guide, it may 
be used with any introductory text on C. 



$ 20 



C Programmer's 
Library 

(Purdum, Leslie, Stegemoller, Que Corp.). This 
best seller is an intermediate text designed to teach 
you how to write library functions in a generalized 
fashion. The book covers many advanced C topics 
and contains many useful additions to your library 
including a complete ISAM file handler. 



Eco-C88 C compiler requires an IBM PC, XT, or 
AT (or compatible) with 256K of memory, 2 
disk drives and MSDOS 2.1 or later. Call today: 



1-800-952-0472 

or 

1-317-255-6476 



(for orders) 



(tech. info.) 




ECOBDF 



Ecosoft, Inc. 

6413 N. College Ave. • Indianapolis, IN 46220 



TRADEMARKS: ECO-C88, ECOSOFT 



238 BYTE ■ MAY 1986 



Inquiry 12 3 



LASER LIBRARIES 



The costs of a CD-ROM 
system include the 
hardware and 
subscriptions to 
information services. 



used in the computer industry. TWo 
advantages are the elimination of 
wear on the media and the per- 
manency of the data. Data on CD- 
ROMs cannot be destroyed by dust 
and fingerprints that can cause head 
crashes in current computer tech- 
nology Since nothing touches the 
disk while it's operating, there is no 
danger of scratching the disk and af- 
fecting the data. In fact, CD-ROM 
manufacturers encourage you to wash 
the disk surface with warm water and 
mild soap and dry it with a lint-free 



cloth if you notice a decrease in 
response time. This is the only main- 
tenance that is recommended for the 
disks. 

CD-ROM disks do not warp as flop- 
py disks can. However, since the disk 
surface is coated with a plastic cover- 
ing, the plastic may warp and/or melt 
if the heat source becomes intense, 
as in a fire. However, data on such a 
damaged disk might still be readable; 
since the data is etched into the metal 
surface, it is not volatile as is data 
stored on magnetic disks or tape. 
Thus, a CD-ROM's data should be legi- 
ble as long as a laser beam can be 
clearly reflected from the surface. 

This same characteristic also means 
that the data is not affected by clima- 
tic conditions. You can use the disks 
under circumstances that would 
preclude the use of magnetic media. 

A CD-ROM's substantial storage ca- 
pacity, its reasonable response time, 
and a low cost per bit stored are its 
other major advantages for libraries 



and information providers. The costs 
of a CD-ROM system include the hard- 
ware and subscriptions to information 
services. They do not require backup 
hardware or media and they let you 
browse through databases at no ad- 
ditional expense since no telecommu- 
nications charges are involved. Such 
a system also gives you local control 
and total privacy while using it. 

A major application for CD-ROMs 
involves replacing microform and 
record collections. (Microform con- 
sists of reproducing documents in 
much reduced size. The two most 
popular methods are microfiche, 
which comes in 4- by 6-inch cards, 
and microfilm, which comes in con- 
tinuous reels.) Microforms have never 
been popular services in libraries. 
Microform readers are generally 
cumbersome or awkward to use and 
only provide fair imaging at best. 
Reader-printers have been expensive 
and cost more to operate than photo- 

[continued) 



Princeton Graphic 

Systems- the choice in 

PC monitors. 



High resolution. 
Sharp, crisp text. 
Bright, vibrant colors. 
Full PC compatibility. 
Rugged dependability. 
We design our 
monitors to meet your 
most demanding com- 
puter needs. 

From sophisticated 
business graphics to 
basic word process- 
ing, we make sure 
there's a Princeton 
monitor for you. 



mm 



FT^NCETON 

GRAPHIC SYSTEMS 



iuisenT iviri 



* 



; " >■ BEST f --•--/ 



PRI NCETON 



I I 



For the second year in a 
row, you've voted our high 
resolution HX-1 2 RGB color 
monitor the number one 
color monitor in the world. * 
Thank you for your vote of 
confidence... 

* Results of PC World's "World Class 
PC Contest" for 1984 and 1985. 



MAY 1986 -BYTE 239 



THE PC'S LIMITED AT — $ 1 995. 
THE PC'S LIMITED TURBO PC™- $795 



PCs Limited AT 1 ' 

3 "Editor's Choice 1 
-Feb. 25, 1986 





i**«MimimtininK«iMKnmMJK[* 



Yes, you can believe it. Since we ran our first advertisement for the PC's Limited AT™ and Turbo PC™, the calls we've received mostly start 
with comments like "Is this for real?" And "How can that be?" But now that our machines are in the hands of influential buyers, the questions 
tend to concern quantity discounts for further purchases. (Which are available.) You see, the PC's Limited machines are assembled from 
components bought worldwide with our strong buying power. Then they are offered directly to you— with no middleman markups. So light a 
match to your old budgets. With the savings we're providing, you'll have money to burn. 



PC'S LIMITED AT™ 

-80286-based System Unit running at 6MIIZ. (8MIIZ option 

included at no charge.) 
-1024K on Mother Board 
-1.2 Meg Floppy Drive 

-Combined Floppy/Hard Disk Controller Card 
-AT Keyboard 
-192W Power Supply 
-2 Serials and 1 Parallel Port 
—Clock/Calendar with Battery Backup 

Runs all Major Software written for the IBM PC™, PC XT' M t and 
PC AT™. Unit has 8 Expansion Slots. Same Bus Configuration as 
IBM PC AT™. One year limited warranty, 
GW Basic $95 • DOS 3.1 S85 • 80287 $195 



PC'S LIMITED TURBO PC" 

-16-bit 8088-2 System Unit (running at 4.77 or 6.66 MHZ) 
-640K on Mother Board 
-360K Floppy Drive 
-AT Keyboard 
-130W Power Supply 

Runs all Major Software written for the IBM PC ,M andPCXT'\ 
40% faster, without modifications. Unit has 8 Expansion Slots, 
with 7 available in above configuration. One year limited 
warranty. 

GW Basic $95 • IBM DOS 3.1 $85 • 8087-2 $149 



PC'S LIMITED 



IBM' is a registered trademark of 
International Business Machines Corporation. 
IBM PC, PC XT, and PC AT are trademarks of 
International Business Machines Corporation. 

Ad Number 405/86 



SALES CALLS OUTSIDE TEXAS, 1-800-426-5150 

1611 Headway Circle, Building 3, Austin, Texas 78754 

Sales Calls from anywhere in country, (512) 339-6962 

Technical Support Calls, (512) 339-6963 

Customer Service Calls, (512) 339-6964 

Telex No 9103808386 PC LTD FAX (512) 339-6721 

Inquiry 275 



LASER LIBRARIES 



The Library Corporation 
is using CD-ROMs 
to distribute &iblio~File, 
a MhRC-based system. 



copiers even though they provide in- 
ferior reproductions. Patrons have 
never liked microforms because of the 
difficulties of finding them, the time 
required to retrieve the desired infor- 
mation, and the difficulties of 
browsing. 

CD-ROM disks can provide quicker 
access to larger quantities of informa- 
tion than microforms, and they allow 
you to copy the information to a vari- 
ety of formats. You can access it 
through a personal computer and 
copy it onto a floppy or hard disk or 
channel it to a printer. 

The reproduction costs of CD-ROMs 



are currently one-tenth the cost of 
reproducing data in microform. And 
the reliability of the play-back equip- 
ment is generally regarded as 10,000 
to 11,000 hours mean time between 
failures. That's equivalent to running 
the systems 24 hours a day for 59 to 
65 weeks. When a failure does occur, 
it will probably involve replacing the 
laser unit, which currently costs about 
100 dollars. 

Bibliographic CD-ROMs 

CD-ROM technology will find its great- 
est library application with nonvolatile 
databases, as a replacement for mag- 
netic media. The Library Corporation, 
for example, is using CD-ROMs to 
distribute Biblio-File, a MARC-based 
system that contains 1,500,000 
bibliographic records of the Library of 
Congress's English language catalog- 
ing since 1964 and popular titles since 
1900. A unique feature of this prod- 
uct is that, like MARC, it is in the 
public domain. The user's manuals, 



access software, application pro- 
grams, and laser disks are not copy- 
righted or protected. 

The Library Corporation has also 
converted its Any-Book database, a 
bibliography containing virtually every 
book currently being published in the 
U.S., from microfiche to CD-ROM. This 
system also incorporates an auto- 
mated acquisitions system that auto- 
matically converts the data into a pur- 
chase order for printing or sending to 
the vendor via telecommunications. 
Developed in collaboration with In- 
gram Distribution Group Inc., the Any- 
Book database is also available from 
Ingram under the name LaserSearch. 

CD-ROM technology lends itself to 
convenient use for other bibliographic 
databases such as local public-access 
catalogs (PACs, the card catalogs you 
would find in your local library), union 
catalogs, and "fully distributed" on- 
line public-access catalogs (OPACs). 
(Note that here, "on-line" means avail- 

(continued) 



Princeton monitors 
set the pace. 



To become a leader, you've 
got to keep ahead of the 
crowd. At Princeton, we set 
the pace. We delivered a color 
monitor for the IBM PC before 
IBM. And continue with a full 
line of state-of-the-art quality 
monitors. Monitors that deliver 
the features you demand. 

High resolution. 
Sharp, crisp characters. 
Bright, colorful graphics. 

Take a close look at a 
Princeton monitor. You'll see 
the sharp, crisp characters 
and fully formed graphics 
that make our monitors stand 
out against the competition. 




Addtoitafine dot pitch. A 

nonglare screen. 
Our flicker free 
technology. 
And you've 
got an image 
that makes you 

more productive, less fatigued. 

Easy to use. 

Our monitors are compatible 
with the leading 
brands of per- 
sonal computers. 
IBM™, Compaq™ 
and more. But 
we go one step . 
further. By paying'"' 
close attention to ergonomic 
detail, we make monitors 
compatible with you. 




S 



IVTM^ 



y 



m 



,lllljl— 



Dependability. 

You can count 
on Princeton 
monitors when 
you need them. I 
They're rigor- 
ously engineered | 
and manufac- 
tured under the 
highest quality control stan- 
dards. Backed by a full one- 
year warranty. Supported by a 
nationwide service network. 
The result: monitors you can 
depend on. 



Princeton 's 
HX-12Egives 
you brilliant 
64-color 
displays and 
extra sharp 
text. 



Bringing you the future. 

Princeton continues to set the 
industry pace with products 
like our HX-12E, the first IBM- 
compatible high resolution 
RGB color monitor with a 
.28mm dot pitch to support 
IBM's Enhanced Graphics 
Adapter. And our SR-12P, the 
first IBM-compatible analog 
color monitor, with a .26mm 
dot pitch to support IBM's 
Professional Graphics Con- 
troller. .. 




MAY 1986 -BYTE 241 



tomPUTCR WAREHOUSE 



CALL TOLL 



!£IM -800-528-1054 



FREE csw*^ fHATOM 

Air Express Shipping ^ \| |\, | BEST PRICES 

— <^- 



See Details Below 

PRINTERS 

Anadex All Models Call 

Brother All Models Call 

Cannon Laser Printer $2099 

Citizen MSP-10 S255 

MSP-15 S349 

MSP-20 S319 

MSP-25 $485 

Premier 35 S409 

Datasouth All Printer Models Call 

Diablo D-25 $529 

635 $1079 

Other Printer Models Call 



NOW 



EPSON 

All Printer Models Call 



Juki 6100 $349 

6300 $669 

NEC 

3510. 3550. 3515. 3530 $729 

8810.8830,8850 $1039 

P5.P6.P7 Call 

Elf 360 $379 

Elf 370 $379 



MONITORS""^ 

Amdex All Monitors Call 

NECAII Monitors Call 

Princeton Graphics Call 

Zenith All Models Call 

VIDEO TERMINALS 

QumeQVT Green 101 $299 

QVTAmber 101 $314 

Wyse 30 $299 

50 $419 

75 $559 

Wyse65 $439 

Wyse350 $859 

Zenith Z-22 S455 

Z-29A $559 

Z-49 Call 

MODEMS 

AT&T 

4000 External $309 

Anchor Automation 

Anchor Express $235 



l/COMPUTI 



/ 



Charge for Bank Cards 



COMPUTERS 



PANASONIC 

Sr. Partner Dual Drive $1599 

Exec. Partner Dual Drive $2129 

TOSHIBA 

T-1100 $1389 

WYSE 

Wysepc 1100-1 $979 

Wyse pc 1100-20 $1539 



Zenith Computer 

Products 
SAVE up to 50% 

Z-AII Models Call 



DISKETTES 

Maxell MD-2 Plastic Box(Qty 100) . 
Sony MD/2(Qty 100) 



$125 
$120 



BOARDS 

ASTAdvantage $389 

Rampage PC $299 

Six Pack Plus $219 

Hercules Color Card $149 

Graphic Card $305 

Intel 

Above Boards Call 

Maynard Hardcard $549 

Paradise Modular Graphic 06-1 .... $239 

FivePak ...$115 

Quadram 

Gold & Silver Boards Call 

Quadlink $329 

QuadEGA+ $365 

Tec Mar Graphics Master $445 

Captain No Memory $155 

PLOTTERS 

Epson Hi-80 M ^' "^ . .Call 

KEYBOARDS ! 

Keytronlcs 5151 . . . V ^ =$159 



OKIDATA 

All Printer Models 



Call 



HAYES 



All Modems 



Call 



Panasonic 1080. 

1091 

1092 

1592 

KXP3151 



$219 
$235 
$309 
$429 
$399 



STAR MICRONICS 

All Printer Models Call 



Silver Reed 

EXP400 Parallel $179 

EXP550Parallel or Serial $409 

EXP800 Parallel or Serial $619 

Toshiba 321 Call 

P351 Parallel & Serial $969 



Prometheus All Models 

US Robotics Courier 2400 ... 

Password 1200 

Microlink2400 

DISK DRIVES 

Alpha OmegaTurbo 10 

Turbo 20 

Turbo 30 

Iomega 

Bernoulli Boxes for IBM 

Bernoulli Boxes for Macintosh . . 
Paradise Macintosh Hard Disk . 



Call 
$389 
$180 
$379 



$515 
$515 
$675 

.Call 

Call 

..Call 



COPIERS \ 



Canon CffPd: 

Canon PC-10 $509 

Canon PC-14 $649 

Canon PC-20 $719 

Canon PC-25 $939 

XEROX SANYO 

1020 w/Toner $1099 SFT600 . , 




$29 
$75 

$28 
$28 



TRAINING 

FlightSimulator 

PC Logo 

Typing Instructor 

Typing Tutor III 

LANGUAGES 

C Compiler (Microsoft) $227 

Fortran Compiler (Microsoft) $203 

Lattice C Compiler $242 

Macro Assembler (Microsoft) S87 

Pascal Compiler(Microsoft) $174 

Quick Basic $57 

Run C Interpreter $82 

Turbo Pascal 3.0 Call 

Turbo Tool Box Call 

PROJECT MANAGEMENT 

Harvard Total Project Manager $262 

Microsoft Project Call 

Super Project Plus Call 

Timeline2.0 $219 

COMMUNICATIONS 

CompuServe Starter Kit Best Price 

Crosstalk XVI $92 

MS Access $145 

PFS Access $77 

Remote $92 

Smartcom II $83 



SOFTWARE 



IBM PC and 100% Compatibles 



INTEGRATIVE SOFTWARE 

Enable 1.1 Call 

Framework II Call 

Smart Software System Best Price 

Symphony Call 

GRAPHICS 

Chartmaster $205 

Diagram Master $189 

Energraphics $160 

Energraphicsw/Piotter Option $205 

In-A-Vision $250 

Microsoft Buss Mouse 

w/PC Paintbrush 3.0 $107 

Microsoft Chart $189 

Microsoft Serial Mouse $ 1 20 

Newsroom $32 

PC Draw $199 

PCDrawLight Pen $102 

PC Mouse w/Dr. Halo II $104 

PC Paintw/Mouse $119 

PFS Graph $78 

Printmaster $30 

Signmaster $ 1 34 

Turbo Graphix Tool Box Call 



WORD PROCESSORS 

Leading Edge Word Processor S48 

Leading Edge W/Pw/Spell& Mail $97 

Lightening Call 

Microsoft Word 2.01 $228 

Multimate 3.3 $203 

PFS: Write w/Spell Checker $76 

Wordstar w/Tutor $1 62 

Wordstar Pro Pack $233 



Word Perfect (Ver.4.1 )$ 1 99 
Wordstar 2000 2.0,. $233 
Wordstar 2000 + 2.0 $278 



UTILITIES 

CopyllPC 

1 DIR 

Fastback 

Norton Utilities 3.1 
Printworks.. 



$19 

$47 

$87 

$48 

$36 

Sidekick Call 

Sidekick (Unprotected) Call 

Sidekick-Superkey (Bundle) Call 

Sideways 3.1 $34 

Superkey ■■■....... .Call 



SPREADSHEETS 

Lotus 1-2-3 Call 

Multiplan $112 

Spreadsheet Auditor 2.0 $82 

VP Planner $49 

| Supercalc3(Ver. 2.1). Call"| 

MONEY MANAGEMENT 

Dollars & Sense w/Forcast $94 

Tobias Managing Your Money $94 

DATA BASE MANAGEMENT t 

Clipper $339 2 

Cornerstone Call w 

dBase II Call | 

dBase III Plus Call g 

Extended Report Writer $79 g 

Knowledgeman II $289 3 

Knowledgeman Upgrade Kit $145 % 

Nutshell 2.0 Call o 

PFS: File $78 fi 

PFS: Report $67 | 

Quickcode $ 1 38 g 

QuickReport S1 38 § 

Reflex Call J» 

Think Tank $92 | 

I R:Base5000 $3191 * 

Many other titles available. > 



Inquiry 89 for MS DOS Products. Inquiry 90 for all others. 



tomwrcR 

WAREHOUSE 



Order Line: 1-800-528-1054 
Order Processing: 602-224-9345 

2222 E. Indian School Rd. 
Phoenix, Arizona 85016 
602-954-6109 



Store Hours: Mon-Fri 10-5:30 

Saturday 9-1 
Order Line Hours: Mon-Fri 7-5:30 

Saturday 9-1 
Order Processing Hours: Mon-Fri 10-3 



Product shipped in factory cartons with manufacturer's warranty. Please add $6,00 per order for UPS ground shipping on orders up to 10 lbs. Orders 10 lbs. 
and under you pay for ground service, receive air service at no extra charge. Available on orders 11-30 lbs. $17 for air service. Prices & availability subject to 
change without notice. Send cashier's check or money order...all other checks will delay shipping two weeks. 



VISA i ^2 2 y 



LASER LIBRARIES 



able electronically, not necessarily 
telecommunicated.) 

For example, libraries can use the 
Biblio-File system to extract records 
on the books they own and create 
their own unique database on floppy 
disks, or have the information 
mastered onto a CD-ROM disk. 

Bro-Dart Company also puts a local 
library's holdings on a CD-ROM as 
part of a system called LePAC (local 
public-access catalog). A single LePAC 
disk can hold up to a million full 
MARC entries. 

OCLC (Online Computer Library 
Center) Inc. maintains an Online 
Union Catalog that contains 13 million 
bibliographic records, collected from 
the Library of Congress and OCLCs 
6000 member libraries. In the past, 
members have accessed this informa- 
tion via telecommunication services 
to print catalog cards, lists, and so