Byte Magazine Volume 09 Number 09 - Guide to the IBM PCs

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

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

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

Created with abbyy2epub (v.1.7.2)

/

From start to finish The winner is ...

D0R1/ >I4

If you're programming ... Turbo Pascal makes it easier and much faster ... from start to finish.

TM

Now . . . with the advent of Turbo Pascal™, Pascal is a language for everyone who programs. It comes with a builtin editor, occupies only 35K of your precious memory and is menu-driven for true, programming ease.

Whether you're a professional software developer, a student, or someone who just enjoys programming for its own sake, Turbo Pascal™ is designed for you.

"Turbo is much better than the Pascal IBM sells."

Jerry Pournelle, Byte, July 1984

"If you have the slightest interest m Pascal... buy it."

Bruce^ Webster, Softalk IBM, March 1984 W

• Automatic Overlays I

• A Full-Screen Editor

• Full Heap Management "■— via dispose procedure

• Full Support of Operating System Facilities

• Windowing (IBM PC, XT, jr. or true compatibles)

• Color, Sound and Graphics Support (IBM PC, XT, jr. or true compatibles)

• Optional 8087 Support (Available at an additional charge. Even if you haven't yet added an 8087 math chip to your 16 bit machine, you can purchase this now and be ready for the future. Both versions will be on your disk.)

• No License Fees. You can sell the programs you write with Turbo Pascal without extra cost.

• Free Spreadsheet Included. Yes. We include Microcalc . .. the sample spreadsheet written with Turbo Pascal. You can study the source code to learn how a spreadsheet is written . . . it's right on the disk.

£R YOUR COPY OF SIDEKICK™ OR TURBO PASCAL™ TODAY!

isa and MasterCard orders call Toll Free 1-800-255-8008 in California 1-800-742-1133

(lines open 24 hours, 7 days a week) Dealer and Distributor Inquiries Welcome 408-438-8400

CHOOSE HERE: (Please add $5 shipping and handling per copy for U.S. orders)

Sidekick™ $49.95 plus $5

(Available only for the IBM PC, XT, Jr. and Compatibles)

Please specify computer Name:

Turbo Pascal™

My system i©8 bit 16 bit

Operating System: CP/M 80 (Z80 only, no 8080)

CP/M 86 MSD(Ss PCDOS

Computer: Disk Format:

Turbo Pascal $49.95 plus $5

Turbo Pascal with 8087 support

$89.85 plus $5

(California residents add 6% sales tax. Outside U.S.A. add $15 shipping and handling per copy- If outside of U.S.A., payment must be by bank draft payable in the U.S. and in U.S. dollars. Sorry, no C.O.D. or purchase orders.) E27

$ Total enclosed

Address:

City/State/Zip: Telephone:

Check _

VISA _

Card #

Expiration Date

Money Order MasterCard _

m BORIAHD

INTERNATIONAL

Borland International 4113 Scotts Valley Drive Scotts Valley, California 95066 408/438-8400 TELEX 172373

IONAL

Whenever you're using your computer... from start to finish of your session ... Sidekick™ will be there ready to serve. And it's as lightning-fast and compact as only Borland knows how to make it.

ALWAYS JUST A KEYSTROKE AWAY. . .

THE SUPER ORGANIZER

MJl.'lli

A

sales Royalties

Other

B T

SDD.tNi $68.58 $15,88 516.58

i-478.88 $51?,88

XfEHiES

Cost of Materials $28,88 $22.88 $2 Rent $5.88 $5.58 $

Advertising $45.88 $49.5

Salaries

Introductory Offer

95

.otal Expe

Ket Profit

1:39:23 9/14/1984

ost of Materials $20.81 $22.00 $24.20 $1

ent $5.00 $5.50 $6.05

dvertising alaries

$45.00 $49.50 $54.45 $1 $35.00 $38.50 $42.35 $|

!!^S^y]JlF43f!KCfiaF9S!MflV10S

Here's Sidekick in action. That's Lotus 1-2-3 running underneath. In the

Sidekick Notepad you can see data that's been imported from the

Lotus screen. On the upper right, that's the Sidekick Calculator.

There's a notepad that has a full-screen editor that can time and date stamp your notes, and then save them to disk. You can even pull information into the notepad directly from the screen of your underlying software.

Suppose you're working with a spreadsheet, and you suddenly have an important idea. Just hit the button, a window opens, you write the note and hit the button again. You're right back where you left off in the spreadsheet.

Need to make a phone call? Whether the number is in an existing database, your own Sidekick phone directory, or you've just typed it on the screen . . . put the cursor next to the number, hit the keystroke, and Sidekick dials for you! *

WHETHER YOU'RE RUNNING

1-2-3, WORDSTAR, dBASEII

OR WHATEVER . ..

JUST A KEYSTROKE AND

A SIDEKICK WINDOW OPENS .. .

• A CALCULATOR

• A NOTEPAD

• AN APPOINTMENT CALENDAR

• AN AUTO DIALER

• A PHONE DIRECTORY

• AN ASCII TABLE

• AND MUCH MORE

ALL AT ONCE ... OR ONE AT A TIME. ANYWHERE ON THE SCREEN YOU LIKE.

ANOTHER KEYSTROKE, AND YOU'RE RIGHT WHERE YOU LEFT OFF IN YOUR ORIGINAL PROGRAM!

(you never really left!)

There's lots more, too. You can move the Sidekick windows anywhere on the screen you like. And you can have as many on screen at a time as you need. There's even an on-line help window for each of Sidekick's features.

We designed it because we needed it. If you've ever been writing a report and needed to do a quick calculation, or jot down a note, then you need Sidekick, too.

*Only with Hayes Smartmodem and compatibles. Circle 23 On Inquiry card.

EDITORIAL

IBM and Its Personal Computers

There are two sides to the story of IBM's tremendous success in personal computers. The first side concerns what the IBM PC provided: a processor that could address a lot of memory, an 80-column screen, an open system architecture, a keyboard with upperand lowercase and good cursor controls, and wordprocessing software that used correctly labeled function keys. The second side of the story concerns the failure of other major companies to provide these same fundamental features earlier. In retrospect, it seems IBM stepped into a void that remained, paradoxically, at the center of a crowded market. The Apple Ill's word-processing software required you to memorize control codes and made no use of function keys. The Apple II required add-ons to provide such word-processing essentials as an 80-column screen and a full upper- and lowercase character set. The Apple development teams were laboring longer than they expected on software for the Lisa and the Macintosh. Eventually those projects bore fruit, but the world might have been different if Apple had first offered Lisa as a $3000 machine with a 68000 microprocessor, a simple operating system, an 80-column screen, a good keyboard with cursor and function keys, two disk drives, and a set of four basic applications programs. The desktop, the bit map, and the mouse could have followed. The proprietary "Twiggy" disk drives could have given way to Tandons or Shugarts.

While Apple was trying, DEC and Data General were on the sidelines, Tandy's 16-bit system lacked software, HewlettPackard was concentrating on specialized markets. Commodore was thinking 8-bit and 64K bytes of RAM, AT&T was tied up by divestiture, and most other companies failed to convince enough prospective buyers that they were here to stay.

The void was there, and IBM stepped in. The array of IBM personal computers is now formidable: the PC, the Portable PC, the PC XT, the XT/370, the 3270 PC, the 68000-based S9000, and the PCjr (which badly needs to grow up). We did this BYTE Guide to the IBM Personal Computers because many

of our authors had interesting and original things to say about one or another of the IBM machines and we wanted to collect much of this material in one convenient volume. While our subscribers who own IBM PCs wanted more coverage of their machines in BYTE, we didn't want this coverage to be at the expense of our customary variety of features, reviews, theme articles, and columns in the regular issue.

We were hoping for the announcement of IBM's batterypowered portable and its multiuser personal computer in time for this issue, but as of this writing, such intriguing rumors remain rumors. Will the system based on IBM's proprietary 32-bit processor from the Austin group see the light of day? Will IBM's own operating system and applications software supplant those of independent software houses? Will the PCjr grow up? By entering the field of personal computing, IBM has brought the game of IBM watching to an audience of millions.

IBM has also given the field its third major standard, after the Apple II and CP/M. Standards sometimes deprive us of the latest and most innovative technology, but when a standard encompasses both hardware and system software, it cultivates the ground for a flowering of third-party software and peripherals. This increased base of software accompanied by hardware add-ons allows the standard machine to do almost any small computing task. Since the standard machine can do almost anything, everyone wants one.

But everyone also comes to want more. IBM's standard will not be the last, and not just because a one-computer and a one-company world would be dull. Apple's Macintosh offers a superior user interface that attracts passersby. AT&T is capable of creating a standard. HP, DEC, Tandy, and other companies are not to be ignored. IBM itself could bring forth a dazzling new generation of technology.

For the present, it makes more sense to enjoy the benefits of the current IBM standard than to curse it because it could be better. But enjoying the benefits of this standard shouldn't prevent us from keeping an eye open for something really new. — Phil Lemmons, Editor in Chief

Fall 1984 • BYTE Guide to the IBM PC

TREE OF LIFE

VOLUME 9, NUMBER 9

CONTENTS

from

EVTE

IBM and its PCs by Phil Lemmons 1

INTRODUCTION

The Array of IBM Personal Computers 9

■ Matching Machines to Computing Requirements

IBM Personal Computers at a Glance 10

The PC. PC XT, Jr.. Portable, XT/370, 3270 PC. and S9000.

Forecast Market Dominance by Michael Killen 30

A wide range of IBM products followed the PC's well-timed market entry.

STALWARTS

Operating Systems, Programming Languages, and Applications 41

■ Machines Within the Machines: Operating Systems

A Tale of Two Operating Systems

by Charles Daney and lorn Foth 42

The virtual machine of the XT/370 at work with PC-DOS.

The Future of UNIX on the IBM PC by Ralph A.

Phraner 59

UNIX is running on the PC XT, but how soon will it be

available?

Five Window Managers for the IBM PC by \ohn

Markoff 65

You may be ready for window-management software, but is it ready for you?

■ Manners of Speaking: Programming languages

Two Logos for the IBM PC by Morton Goldberg 91

IBM's Logo compared with a version from Digital Research.

The Logical Record Keeper: PROLOG on the IBM

by lames L. Werner 125

PROLOG uses the techniques of a database manager in a programming language.

An Introduction to PC Assembly Language Programming

by William J. Gaff 134

High-level languages are easier to learn if you understand assembly language.

■ Ways of Working: Applications and Programming

Technical and Business Graphics on the IBM PC

by lack Bishop 155

Spreadsheet packages can improve the looks of any business presentation.

Word Processing Revisited by lanet Cameron 165

A review of five new versions of popular word processors for the IBM PC.

Six Database-Management Systems for the IBM PC

by David Kruglinski 187

Six popular databases have been updated on the IBM PC.

Evaluating 8087 Performance on the IBM PC

by Stephen S. Fried 197

The 8087 coprocessor for your IBM can save you time and money.

EXTRA POWER FOR SPECIAL NEEDS

IBM's XT/370, 3270 PC, and S9000 209

■ The Micro as Mainframe/The Mainframe as Micro

The IBM XT/370 Personal Computer

by Ernest Sabine 210

IBM has put a virtual machine on everyone's desk.

Number Crunching on IBM's New S9000

by David J. States 218

The S9000. from IBM's instrument division, may be the first micro for the scientist.

The Mainframe Connection: IBM's 3270 PC

by Larry Augustin 231

Faster communications and windows make the 3270 a bridge to IBM's mainframes.

■ Maximizing the PC Family: Communications and Compatibility

Modems: The Next Generation by Mark Klein 238

Smart interfaces and new software are making modems easier to use.

Moving Data Between PCs and Mainframes

by \ay Siegel 248

Moving data between computers and terminal software can be a problem.

Testing for IBM PC Compatibility

by Robert A. Stillman 256

Trying to stretch your PC budget may mean searching for a compatible machine.

Whats New 266

BYTE looks at some of the latest products to boost the productivity of your PC

Fall 1984 • BYTE Guide to the IBM PC

Circle 121 on inquiry card.

IEEE* 488

High Speed Interface For Personal Computers

Any IBM P

IBM PC compatibles

PCJR

Rainbow 100™

Language Support — Interpretive BASIC, Compiled BASIC, C, FORTRAN, Pascal, Assembly.

Operating Systems — PC DOS, MS DOS, CPM 86/80, FORTH.

Software Compatible with our family of IEEE-488 Interfaces for VAX, PDP-11, LSI-11, S-100 BUS, STD BUS, SBX, and Multibus computers.

The Leader in IEEE-488 Computer Interfaces

12109 Technology Blvd.

Austin, Texas • 78727

800/531-5066 • 512/250-9119

Ruin bow"' IBM PC

s u trade murk of Digital Equipment Corp.

n trademark of International Business Machines.

editor in chief. byte

Philip Lemmons managing editor. byte Gene Smarte

Byte Guide Staff

managing editor Michael |, Comendul technical editor

Bruce Roberts

chief copy editor

Nancy Hayes

art director

Ellen Klempner-Becuin

production assistant

Jaymia Ryll

assistant technical editors

Ralph Baumgartner

Daniel ], Gingras

Margaret Cook Gurnf.y

Steve Harding

copy editors

Barbara Iatkola

Hilary Selby Polk

SENIOR TECHNICAL EDITORS. BYTE

Richard Malloy. Reviews

G. Michael Vose. Features

Gregg Williams

technical editors. byte

thomas r. clune

Glenn Hartwic

Richard Kraiewski

Ken Sheldon

Richard S. Shuford

Jane Morrill Tazelaar

Stanley Wszola

Alan Easton. Drafting

managing editor. user news. byte

George Bond

user news editors. byte

Anthony !. Lockwood. What's Nete

Mark Welch. Mlcrobytes

COPY EDITORS. BYTE

Elizabeth R. Cooper. Chief

Dennis Barker

Anne L Fischer

Paula Noonan

Joan V. Roy

Bud Sadler

Warren Williamson

editorial assistants

Peggy Dunham

Martha Hicks

Faith Kluntz. Copyrights and Permissions

Beverly Iackson

Lisa Jo Steiner

ART DIRECTOR. BYTE

Rosslyn A. Frick

PRODUCTION

David R. Anderson. Associate Director

Denise Chartrand

Michael J. Lonsky

Jan Muller

Sherry McCarthy, Chief Typographer

Nan Fornal

Len Lorette

Valerie Page

Donna Sweeney

publisher Gene W. Simpson

ASSOCIATE PUBLISHERJPRODUCTION DIRECTOR

John E. Hayes

PUBLISHER S ASSISTANT

Doris R. Gamble

ADVERTISING SALES

J. Peter Huestis, Sales Manager Sandra Foster. Administrative Assistant

ADVERTISING

Deborah Porter. Supervisor

Marion Carlson

Rob Hannings

leanna reenstierna

Lisa Wozmak

Wai Chiu Li. Quality Control Manager

Linda |, Sweeney, Advertising/Production Coordinator

Julie Nelson

circulation

Gregory Spitzfaden. Director

Andrew Iackson Subscriptions Manager

Cathy A. R. Drew. Assistant Manager

Phil Dechert

Mary Emerson

Louise Menecus

Agnes E. Perry

Jennifer Price

Jane Varnum

James Bingham. Single-Copy Sales Manager

Linda Turner, Assistant Manager

Carol Aho

Claudette Carswell

Edson Ware

marketing communications

Horace T. Howland, Director

Doug Webster. Director of Pubtk Relations

Vicki Reynolds, Marketing Associate

Ioni P. Vetne. Assistant

Stephanie Warnesky. Graphic Arts Supervisor

Sharon Price. Graphic Arts DesioHer

Michele P Verville. Research Manager

Patricia Akerley. Market Research Analyst

Cynthia Damato. Reader Service Coordinator

accounting

Daniel Rodricues, Business ManagerlController

Kenneth A. King. Assistant Controller

Mary E. Fluhr. Accounting & D/P Manager

Karen Burgess

Patricia Burke

Lyda Clark

Diane Henry

Vern Rockwell

Linda Short

JoAnn Walter

Vicki Weston

traffic

N. Scott Gagnon. Manoaer

Anthony Bennett Brian Hicgins

receptionist

L. Ryan McCombs

personnel/office manager

Cheryl A. Hurd

ft

I

Editorial and Business Office: 70 Main Street. Peterborough New Hampshire 034 58 1603) 924-9281 West Coast Offices: McGraw-Hill, 425 Battery St San Francisco, CA Will. (415) 362-4600

McGraw-Hill. 1000 Elwell Court Palo Alto. CA 94303. |4|5| 964-0624

Officers of McGraw-Hill Publications Company President John C Wrede. Executive Vice Presidents Paul F Mcpherson, Operations: Walter D Serwaika. Finance & Services Senior Vice President-Editorial Ralph R. Schulz Senior Vice President Publishers Harry L Brown. David I McGrath, lames R. Pierce. Gene W Simpson, |ohn E, Slater Vice President Publishers: Charlton H Calhoun ML Richard H Larsen. lohn W Patten, Vice Presidents Kemp Anderson, Business Systems Development: She! F Asen, Manufacturing, lohn A. Bunyan. Electronic Information Services. George R. Elsinger, Circulation: Michael K Hehir, Controller Eric B Herr. Planning and Development H lohn Sweger. Ir. Marketing, Virginia L Williamson, Business Development

Officers of the Corporation Harold W McGraw. Ir. Chairman, loseph L Dionne, President and Chief Executive Otficer. Robert N Landes Senior Vice President and Secretary Ralph I Webb. Treasurer

BYTE Is published monthly with an additional issue In August and October by McGraw-Hill Inc Founder lames H. McGraw (1860-19481 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. USPS Publication No. 528890 (ISSN 0360-5280) Postage paid at Winnipeg. Manitoba Registration number 9321 Subscriptions are S2I (or one year, 538 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 561 for three years S69 for one year air delivery to Europe 17.100 yen for one year surface delivery to Japan S37 surface delivery elsewhere Air delivery to selected areas al additional rates upon request Single copy price is S3 50 in the USA and its possessions. 54.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 lo eight weeks for delivery of first issue Printed in the United States of America

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

Copyrighl © 1984 by McGraw-Hill Inc All rights reserved Trademark 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 SI 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 SI 50 Copying done lor other than personal or internal reference use without the permission of McGraw-Hill Inc. is prohibited Requests for special permission or bulk orders should be addressed to the publisher BYTE is available in microform from University Microfilms International 300 North Zeeb Rd, Dept. PR, Ann Arbor, Ml 48106 or 18 Bedford Row, Depl PR, London WC1R 4EJ England Subscription questions or problems should be addressed to: BYTE Subscriber Service. POB 328. Hancock, NH 03449

BYTE Guide to the IBM PC • Fall 1984

THE NAME TO LOOK FOR WHEN YOU BUY A PERSONAL PRINTER

It's Okidata. Before you buy an IBM printer for your IBM PC. look underneath the initials. It's actually a printer built by another company that just wears the IBM name.

We tell you this because having the right printer is very important. Before you buy you should know what you're getting, and when you buy an Okidata you're getting the best printer there is.

We live, sleep and breathe printers. We specialize in building printers . . . seven different printer models to be exact. So you can fit the printer to the application, not the application to the printer.

We make versatile printers with three print modes; data processing for speed, enhanced for emphasized printing and correspondence for letter quality. (You-know-who only gives you one or two.)

We make fast printers. For example, while an IBM 51 52 is plodding along at 80 characters per second, an Okidata

Circle 126 on inquiry card.

ISN'T IBM!

ML 92 is printing the same data twice as fast. Some Okidata models reach speeds up to 350 characters per second ... an incredible rate that produces five pages in just one minute.

We make printers that match a daisywheel for crisp, clean letter quality, but print much faster than a daisywheel ever could. And Okidata gives you full graphics capabilities for printing all kinds of charts and graphs. You can even print custom typefaces and symbols.

Your IBM's better half. If you're wondering how compatible your Okidata will be with your IBM PC, the answer is "completely," including all popular software packages. And most important, you can buy Okidata printers configured for IBM at no extra cost.

And if you're wondering about service, it's available nationwide through Xerox Service Centers. Of course, chances are you won't need it. Okidata has the best reliability record in the in

dustry, with a warranty claim rate of less than Vi of 1%.

Select, don't settle. Pick your printer for its performance, not its initials. Pick Okidata. Because a printer by any other name just isn't the best printer.

Call l-800-OKIDATA (609-235-2600 in NJ) for the name of the Authorized Okidata Dealer nearest you. Okidata, Mt. Laurel, NJ 08054.

.u

OKIDATA

^k. an OKI AMERICA company

IBM and the IBM logo are registered trademarks of International Business Machines, Inc.

Fa!! 1984 • BYTE Guide to the IBM PC • 5

IBM PC Software: the value of choosing

_

Shoes. If they don't fit, they're not worth wearing.

Software programs. If they don't fit, they're not worth using.

That's why it's altogether fitting that IBM Personal Computer Software offers you a choice.

Size up the selection.

"Yfou'll find many types of programs in the IBM software library. They'll help keep you on your toes in the office, at home or in school.

There are, in fact, seven different categories of IBM programs called "families." A family of software for business, productivity education, entertainment, lifestyle, communications or programming.

Of course, every program in every family is tested and approved by IBM. And IBM Personal Computer Software is made to be compatible with IBM Personal Computer hardware

2$~JL

BYTE Guide to the IBM PC • Fall 1?

programs that fit.

^

Puttingyour best foot forward.

Although every person isn't on equal footing when it comes to using personal computer software, there's something for almost everyone in the IBM software library.

For example, you may be on a shoestring budget and want a big selection of programs with small price tags.

You may be introducing students to computing and want programs that are simple to ^^ use and simple to learn. ^J \ou may run a business requiring

Jr sophisticated inventory and payroll ^g programs. Or you may run a business requiring a single accounting program.

\ou may write interoffice memos and want a streamlined word processing program. Or you may be a novelist looking for a program with features worth writing home about.

Now you can find IBM Personal Computer Software that fits — to help you accomplish specific tasks and reach individual goals.

Stroll into a store today.

What's the next step?

Visit an authorized IBM Personal Computer dealer or IBM Product Center near you. To find out exactly where, call 800-447-4700. In Alaska or Hawaii, 800-447-0890.

Ask your dealer to demonstrate your choice of programs. Then get comfortable. Sit down at the keyboard and try IBM software on for size.

Personal Computer Software

Circle 84 on inquiry card.

*$bj&4

Little Tramp character licensed by Bubbles Inc., s.a.

Fall 1984 • BYTE Guide to the IBM PC • 7

How to make your riv presentation your best presentation.

Why settle for less than the best when you don't have to? Quadjet, Quadram's ink jet color printer, can give you incredible color graphics that will make you look as good as your next presentation.

An easy match.

Getting started with color graphics is easier than you might think. If you have an IBM PC, XT or Apple Computer, you're already half way there.

Quadjet gets along great with color graphics boards and graphics software packages too, including Lotus 1-2-3. Quadjet even comes with its own standard software that's compatible with the IBM PC*

Complimentary colors.

Now you can use black, red, green, yellow, cyan, blue or magenta for all your

graphs, charts and diagrams. Print them on transparencies as well as paper for individual or group presentations. Take your choice of plain paper or clay coated for the ultimate in quality color printing.

Of course, Quadjet prints text as well as graphics including standard and enlarged characters with true descenders. With a maximum resolution of 640 dots/line, your projects are printed crisply and cleanly everytime.

When you've got Quadjet, it's easy to see that color graphics are clearly better than black and white.

'Software compatible with Apple must be ordered separately.

Quadjet by Quadram

:--.i |t< \lf\ firiuu

llEII

S* QUADJET

|ff|lf|J£|

QUADRAT^

Quadjet output produced using Lotus 1-2-3.

Look for this seal. It's your assurance that you're _^ buying the best in

iQlWTXWl QUALITY/

personal computer enhancement devices.

QUADRAM

-J An Intelligenl Systems Company

4355 International Blvd./Norcross, Ga. 30093

(404) 923-6666/TWX 810-766-4915 (QUADRAM NCRS)

INTERNATIONAL OFFICES

Interquadram Lid. 442 Bath Road Slougn. England SL16BE Tel 6286-63865 Tlx B47155 Aunema G Interquadram GmbH Fasanenweg 7 6092 Kelsterbach Wesi Germany Tel 6107-3089 Tlx 417770 Seva G Interquadram s.a.r.l. 41 Rue Ybry. 92522 Neuilly Tel 758-1240 Tlx 630842 Iso Bui Chevco Computing 658i Kitimat Road Mississauga. Ontario Canada L5N-2X5 Tel 416-821-7600

IBM" PC, XT are registered trademarks of International Business Machines Corporation. APPLE' is a registered trademark of Apple Computers, Inc. 1-2-3 and Lotus are trademarks of Lotus Development Corporation, q.Copyright 1984 Quadram Corporation. All rights reserved.

, Circle 148 on inquiry card.

INTRODUCTION:

THE ARRAY OF IBM PERSONAL COMPUTERS

Matching Machines to Computing Requirements

IBM Personal Computers At a Glance 10

IBM Forecast: Market Dominance

by Michael Killen 30

>■

2

Z

f

m O

o

5

The IBM Personal Computer

i i i- i i i i i i i i i

Y \

IBM has established itself as the nation's major microcomputer producer in the three years since it introduced the IBM Personal Computer in August, 1981. Drawing on a reputation for service and reliability with its larger computer systems, IBM has been able to quickly woo corporate America and even entice home users.

Catering to over a million IBM PC users, software publishers have created for the computer one of the largest bases of microcomputer programs, thereby contributing further to the PC's proliferation. The 16-/8-bit 8088 processor makes it possible for users to write larger, more complex programs that offer more sophisticated features yet are easier to use than previous 8-bit personal computer applications. The IBM PC's five expansion slots and the wealth of technical information available let numerous third-party vendors manufacture add-on boards that help the PC flex its productive muscle.

IBM has expanded its PC line and recently reduced its prices in an effort to grab an even larger market share by competing more aggressively with the IBM compatibles. An expanded line also means that IBM is competing directly with itself. Many people currently using larger IBM computers, such as the System 34 and the Displaywriter, will find their needs adequately filled by an IBM PC at a lower cost. The IBM PC, one of the company's most successful products, will account for 6 percent of IBM's revenues in 1984.

Name

The IBM Personal Computer

Manufacturer

International Business Machines Corporation

Entry Systems Division

POB 1328

Boca Raton. FL 33432

(800) 447-4700

Size

5'fi by 20 by 16 inches; 25 pounds

Components

Processor: Intel 8088. 4.77-MHz; socket for addition of the 8087 math coprocessor

Memory: 40K bytes ROM, 2 56K bytes RAM standard. 640K bytes RAM maximum with memory-expansion card Keyboard: 83-key layout with 10 function keys and numeric/cursor keypad; detachable with 6-foot coil cable; adjustable typing angle

Mass Storage: 360K-byte double-sided 5!4-inch floppy-disk drive Expansion: Five expansion slots (one used by floppy-disk drive controller)

Software

Diagnostics, Microsoft cassette BASIC interpreter in ROM

Optional Hardware

64/2 56K-byte Memory Expansion Card with 64K bytes S265

64K-byte Memory Module S100

Monochrome Display $275

Monochrome Display and Printer Adapter S2 50

Color Monitor $680

Color/Graphics Monitor Adapter $244

Disk drive (5!4-inch floppy disk) $42 5

Asynchronous Communications Adapter $100

8087 Math Coprocessor $230

Graphics Printer $449

Personal Computer Cluster Adapter $400

Personal Computer Cluster cable kit $110

Fixed Disk Drive Adapter $590

10-megabyte Fixed Disk $1395

PC Expansion Unit $2880

Optional Software

Personal Computer DOS 1.1 (with Advanced

Disk BASIC) $40

Personal Computer DOS 2.1 $65

Personal Computer Cluster Program $92

Documentation

Guide to Operations, BASIC Reference Manual

Prices

2 56K bytes of RAM and one floppy-disk drive $1995

2 56K bytes of RAM and two floppy-disk drives $2420

10

BYTE Guide to the IBM PC • Fall 1984

Wordstar Wordprocessing and SuperCak 3 Integrated Spreadsheet now included Free with all Seequa computers.

SEEQUA SHOWS YOU HOW TO GET AN IBM PC FOR JUST

$

%\M

iuu

BUY A CHAMELEON BY SEEQUA.

The Chameleon by Seequa does everything an IBM PC does. For about $2000 less than an IBM.

The Chameleon lets you run popular IBM software like Lotus® 1-2-3™ and dBase II.® It has a full 83 key keyboard just like an IBM. A disk drive like the IBM. And a bright 80 x 25 character screen just like an IBM.

But it's not just the Chameleon's similarities to the IBM that should interest you. Its advantages should, too. The Chameleon also has

The Chameleon by

an 8 bit microprocessor that lets you run any of the thousands of CP/M-80® programs available. It comes complete with two of the best programs around, Perfect Writer™ and Perfect Calc.™ It's portable. And you can plug it in and start computing the moment you unwrap it. So if you've been interested in an IBM personal computer, now you know where you can get one for $1995. Wherever they sell Chameleons.

COMPUTER

CORPORATION

8305 Telegraph Road Odenton.MD 21113

Chameleon shown with optional second disk drive.

To learn more about Seequa or (or the location of the Seequa dealer

nearest you, call (800) 638-6066 or (301) 672-3600.

IBM is a registered trademark of International Business Machines Corporation.

Circle 161 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

The IBM

Personal Computer XT

I .1 ! r i ! i i i i i i

Many users soon tire of slow floppy-disk response time, limitations on the size of data files, and the bother of shuffling around their 360K-byte floppy disks and yearn for true "mass" storage. Enter the IBM PC XT, a machine that includes 10 megabytes of storage on a compact hard disk in place of one of the floppy-disk drives. The PC XT can also support a second 10-megabyte drive in a separate expansion unit, making for a fixed disk space of 20 megabytes, or the equivalent of 5000 typewritten pages in a desktop machine.

The PC XT has eight thin expansion slots in place of the PC's five, allowing PC XT users to take advantage of more third-party peripherals without feeling cramped for space. However, three of the expansion slots are already taken by the asynchronous communications adapter and the floppydisk and hard-disk controllers. The power supply on the XT, however, has been beefed up to handle the extra demands for power, doubling the wattage to 130 watts.

DOS 2.1 offers a hierarchical file system with subdirectories to help organize all the files that will now fit onto the PC XT's hard disk. But the euphoria of a faster disk drive and seemingly limitless disk space eventually gives way to the realization that you can fill up even 10 megabytes sooner than you think.

Name

IBM Persona] Computer XT

Manufacturer

Internationa] Business Machines Corporation

Entry Systems Division

POB 1328

Boca Raton. FL 33432

(800) 447-4700

Size

5!/2 by 20 by

6 inches; 3 2 pounds

Components

Processor: Intel 8088, 4.77-MHz; socket for addition of the 8087 math coprocessor

Memory: 40K bytes ROM. 2 56K bytes RAM standard, 640K bytes RAM maximum with memory-expansion card Keyboard: 83-key layout with 10 function keys and numeric/cursor keypad; detachable with 6-foot coil cable; adjustable typing angle

Mass Storage: 10-megabyte fixed disk, 360K-byte double-sided 5^-inch floppy-disk drive

Expansion: Eight expansion slots (three used by asynchronous communications, floppy-disk drive, and fixed-disk adapters)

Software

Diagnostics, Microsoft cassette BASIC interpreter in ROM

Optional Hardware

64/2 56K-byte Memory Expansion Card with 64K bytes S265

64K-byte Memory Module $100

Monochrome Display $275

Monochrome Display and Printer Adapter $2 50

Color Display $680

Color/Graphics Display Adapter $244

8087 Math Coprocessor $230

Graphics Printer $449

5!4-inch floppy-disk drive $42 5

Personal Computer Cluster Adapter $400

Personal Computer Cluster cable kit $110

10-megabyte fixed disk $1395

PC XT Expansion Unit $2290

Optional Software

Personal Computer DOS 2.1 (with Advanced

Disk BASIC) $65

Personal Computer Cluster Program $92

Documentation

Guide to Operations. BASIC Reference Manual

Price $4395

BYTE Guide to the IBM PC • Fall 1984

A printer should complement your computer,

not compromise it.

It's a simple fact that your small computer can compute a lot faster than your printer can print. A problem that becomes even more frustrating in business, when your computer is tied up with your printer while you're ready to move on to other work.

Of course, the only thing more frustrating than waiting on a slow printer is waiting on a printer that's down. Unfortunately, chances are the initial printer you purchased with your computer system just isn't designed to work on continuous cycle high volume printing.

More than likely, you've already experienced one, if not both of these frustrations. But now, you can turn printer frustration into printing satisfaction with the new Genicom 3014, 3024, 3184, 3304 or 3404. Professional printers for personal computers... price/performance matched for small business systems.

Designed and built to increase productivity and maximize the value of your personal computer, the range of 3000 PC printers offers 160-400 cps draft, 80-200 cps memo, and 32-100 cps NLQ printing...performance for both high productivity and high quality printing.

The 3014/3024 models print 132 columns. The 3184, 3304

and 3404 models give you a full 136 column width, and offer color printing as well.

Each printer is easy to use, lightweight, functionally styled and attractive. And you can choose options from pedestals and paper racks to document inserters, sheet feeders and 8K character buffer expansion, plus more.

Genicom 3000 PC printers feature switch selectable hardware, dual connectors and dual parallel or serial interfaces. Plus the 3014 and 3024 emulate popular protocols for both Epson MX with GRAFTRAX-PLUS™ and Okidata Microline 84 Step 2™, while the 3184, 3304 and 3404 emulate popular protocols for Epson MX with GRAFTRAXPLUS™.Soyour current system is most likely already capable of working with these Genicom printers without modification.

Most important, the Genicom 3000 PC printers are quality-built, highly durable printers designed for rapid, continuous duty cycle printing.

So why wait? And wait. And wait. Get a Genicom 3000 PC printer now.

Genicom Corporation, One General Electric Drive, Dept. C411, Waynesboro, VA 22980. In

GEiSliCGiVi

The New Printer Company.

For the solution to your printing needs call

TOLL FREE 1-800-437-7468

In Virginia, call 1-703-949-1170.

Virginia, call 1-703-949-1170.

Epson MX with GRAFTRAX-PLUS is a trademark of Epson America. Inc Okidata Microline 84 Step 2 is a trademark ol Okidata Corporation

Circle 68 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

The IBM PCjr

While the IBM Personal Computer exceeded IBM's initial sales projections as a business computer, it has had mixed success as a home computer, primarily because it costs more than several of the lower-priced home computers. The IBM PCjr, a scaled-down, limited version of the IBM PC for the home market, starts at $599 for 64K bytes of memory and no disk drive. Most users will want the expanded model, which has a disk drive and 128K bytes of memory and sells for $999.

Both models are designed to compete directly with the Apple II family of machines, but the PCjr's shortcomings have cooled its reception. The complaints against the PCjr start with its "chiclet" style keyboard, whose flat, rectangular keys are not labeled and are spaced far apart (this was to allow for keyboard overlays that would redefine the keys). Another major drawback is that many regular IBM PC programs won't run on the PCjr because it has a limit of 128K bytes of memory. In addition, you can add only one disk drive to the PCjr. Further, its innovative cordless keyboard, which uses an infrared link to communicate with the expansion unit, has received mixed reviews.

Name IBM PCjr

Manufacturer

International Business Machines Corporation

Entry Systems Division

POB 1328

Boca Raton, FL 33432

(800) 447-4700

Size

4 by 14 by 11 '/$ inches: 6 pounds. 9 pounds with disk drive

Components

Processor: Intel 8088. 4.77-MHz

Memory: 64K bytes ROM, 64K bytes RAM standard. I28K bytes

RAM maximum

Display: Built-in color adapter

Keyboard: 62-key layout with function control and cursor control

keys: detached with infrared link: adjustable typing angle

Expansion: two cartridge slots

Software

Diagnostics, Microsoft cassette BASIC interpreter in ROM

Optional Hardware

Disk drive (360K-byte half-height 514-inch floppy disk) $480

64K-byte Memory and Display Expansion $140

Internal Modem $199

Adapter Cable for Serial Devices $2 5

Attachable loystick $40

Keyboard Cord (6-foot) $20

Keyboard Overlays (5) $10

Television Connector $30

Color Display $680

Adapter Cable for IBM Color Display $20

Compact Printer (thermal) $175

Compact Printer Adapter $40

Graphics Printer $449

Parallel Printer Attatchment $99

Color Printer $1995

Personal Computer Cluster Adapter $400

Personal Computer Cluster Cable kit si 10

Optional Software

BASIC Interpreter Cartridge (Microsoft) $75

Personal Computer DOS 2.1 (with Advanced Disk BASIC) $65

Personal Computer Cluster Program $92

Documentation

Guide to Operations. Hands-On BASIC for the IBM PCjr

Price

64K-byte Entry Model $599

!28K-byte Extended Model with one floppy-disk drive $999

14

BYTE Guide to the IBM PC • Fall 1984

MULTIPORT CONTROLLER

BAY TECHNICAL ASSOCIATES

1 2 3 4 5 6

MEET OUR DIRECTOR OF PUBLIC RELATIONS

Quite a few important people are saying some very good things about our Serial Port Expanders. They're saying things any company would like to hear. Things like "reliable," "sophisticated," and "affordable."

They're talking about the wide range of applications — port contention, multiplexing, timesharing and networking. They can't seem to tell us enough how pleased they are with our units. But they're trying . . .

"BayTech's Serial Port Expanders were a key solution for Federal Express employees using PCs and peripheral devices. There just weren't enough I/O ports. We needed to talk to more devices. BayTech's units filled that gap. I looked for price and capabilities. With BayTech's Expanders, everything was just right."

Saw Ho, Technical Advisor,

Federal Express

We manufacture Serial Port Expanders in four, eight and sixteen port units. We manufacture a model that allows other units to be cascaded for those needing increased expansion.

Seventeen models are available providing a comprehensive range of applications. Many companies are using our units in different divisions,

different locations.

And everyone seems pleased . .

NCR

"Three of BayTech's 524Fs (any-j port-to-any-port model) are used ' as smart switches between NCR's personal computer, the

Decision Mate 5, and three other processors — NCR's 3240s — which in turn drive twenty-six, 2160 terminals. These cash registers are used at the front gates of Opryland and, on demand, pull totals of gate receipts, number of tickets sold, attendance — even the weather! We are happy with BayTech's units."

Dave Armelli, Administrative

Manager, NCR

"I looked for a box that could be used to interface different types of terminals and peripherals with the box being able to do the dirty work. I researched five or six companies. BayTech's units — considering sophistication and price — mere the best."

Tom Redd, Product Manager Engineering & Manufacturing, NCR

Everyone . . .

"We use the (BayTech) Multiports with our IBM PCs to expand communications. They're used to control

production devices on assembly lines. They work fine for us." Red Karshick, Automation Engineer/Logic Process Development, IBM

/;>-■

r

/

y

BayTech's Port Expanders allow peripheral devices of different configurations to be mixed-andmatched without reconfiguring the host device. Configuration of the peripheral device ports may be changed by menu-driven software. Many other user-friendly features are standard on BayTech's units.

BayTech

Call us on our toll-free line and tell us your needs. We'll help you choose a Multiport to handle your application. And if you require modifications, don't worry. Not only are we "reliable," "sophisticated" and "affordable," we're also understanding.

1-800-523-2702

BAY TECHNICAL ASSOCIATES, inc.

ff^BAYT

HIGHWAY 803, P.O BOX 387

BAY ST, LOUIS, MS 39520

(601)467-9231

BayTech is a registered trademark of Bay Technical Associates Corporation NCR is a registered trademark of National Cash Register Corporation. Federal Express is a registered trademark of Federal Express Corporation IBM is a registered trademark of International Business Machines Corporation

Circle 18 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC •

Make Way For Hayes'Please.

An advanced, easy-to-use data management system for the IBM® PC and compatibles.

Want to get your paperwork out of a clumsy file cabinet and onto your PC's screen, where you can manage it better? Frustrated with data base software that's either too limited or too difficult to use? Hayes offers you a simple word of kindness.

Please?' A powerful, yet easy-to-use, system for organizing and managing your information. Please is flexible enough to store any data you enter, and it'll return data to you in exacdy the form you need. Please does more. It does it all faster. And it's sure to please!

"The menu, Please?"

Menus list all your options

and tell you exactly which

keys to press for every

Please feature.

That's to be expected. As the telecomputing leader, Hayes built its reputation on quality design, relia

bility and customer support. Now these same standards have been applied to a new data management system that is going to instandy change the way you do business!

Say you're looking for an efficient way to maintain sales data. Please leads you every step ofthe way in creating a sales database that might include names, addresses, dates and figures. These categories are called "fields" in database lingo, and they're the very heart of your database structure.

Want last month's total in a particular region? Press a few keys and it's yours! A few more keystrokes ana you'll know who's moving product, and what's your biggest seller. Please will supply you with labels for a mailing to selected customers. It can send customer information to your word processor for a promotional letter. And it can receive data from

"Make it snappy, Please!"

Need a report fast? You and

Please can put together a Quick

List in a matter of seconds.

your spreadsheet program. Please will even look up a name and company for you, your Hayes Smartmodem* will dial the phone number, and you're ready to talk!

Taking this same sales database, you might also want to define special fields for a custom Output Plan. With a defined field for "COMMISSIONS due:' Please can automatically compute each salesman's commissions, and print them out in a report of your own design. All this and more, just for saying "Please!'

And if you ever change your mind and want to change the structure of your database, please feel free. Stepby-step instructions show you how. You have the same flexibility with any database you and Please design. You can store up to 16 million records and 200 custom Output Plans for each database! More than you're likely ever to require. But isn't it nice

Please is a trademark of Hayes Microcomputer Products, Inc. ' Smartmodem 300. Smartmodem 1200 and Smartmodem 1200B are trademarks of Hayes Microcomputer Products. Inc.

ft

Data managemeni

for the IBM Personal Conn

Ml

m

i

"Put it here, Please!' knowing

Design a special screen a^ ™at

format to position data storage

in a particular place. power

— 1 is there?

Just in case you ever need it?

Now you might think that a data management system that does all this must be difficult to use. Right? Rest assured. Please works hard so you don't have to. An easy-to-follow sample disk shows you everything you need to know to aeate your first database. Three Please menus show you which keys to press to access every feature. And whenever you need it, Please provides on-screen HELP messages, tailored to a specific task. So you needn't waste time reading through a list of unrelated instructions on your screen. Or stop what you're doing to consult a manual. In no time at all, and with no assistance at all, you'll be a Please database pro!

"Merge these, Please!"

Combine data from one database into another, without changing your original.

Everything about Please is designed to save you time and effort. So what could make data management even easier? Please Application Templates, that's what!

To help you get up-and-running immediately, we've developed a series of practical, pre-designed templates. You'll appreciate their welT-thought-out structure, and "fillin-the-blank" ease. Choose several! For business and personal use.

Including Mailing List, for storing names and addresses and producing mailing lists. Contacts, for manigures about your salescontacts. Applicants, for following applicants throughout the interviewing process. Appointments, for maintaining your calendar and tracking all of your business expenses. Household Records, a complete home management system. And more! Your dealer has details!

IBM is a registered trademark of Internationa! Business Machines Corporation. ©1984 Hayes Microcomputer Products. Inc.

aging facts and

Buy Please nowl Get a FREE Mailing List template from your dealer.

Second FREE template of your choice, direct from Hayes!

Help yourself. Pleasel And take advantage of these two valuable offers. See your dealer right awayl

Hayes Microcomputer Products, Inc.,

5923 Peachtree Industrial Blvd., Norcross. Georgia 30092. 404/441-1617.

Circle 74 on inquiry card.

The IBM Portable Personal Computer

i

■onnooiooniiB

f eaitwaaaoniil ■ ■ auuanaaaiiaD-* ■

:: y

%k

^b

f

Transportable IBM PC-compatible computers have been around for some time and have taken a slice out of IBM's market, so it was inevitable that IBM would develop a transportable PC. The IBM Portable Personal Computer features a 9-inch amber monitor, a color/graphics monitor adapter, a 360K-byte half-height 5!4-inch floppy-disk drive, seven expansion slots (of which two are already used), 2 56K bytes of memory, a 130-watt universal power supply for use here or abroad, and a carrying bag for the system unit. It's a fairly complete, self-contained system except for the lack of parallel and serial ports for attaching a printer and modem. These can be added via the expansion slots, but then you have only one full-length slot available. The other four slots will take only half-length cards, of which there are not that many.

The amber monitor with the color/graphics monitor adapter is the only display option unless you connect an external color monitor, because the monochrome display and adapter are not available for the Portable PC. The characters produced by the color/graphics adapter are not as clear as those created by the monochrome adapter, and certain color combinations will produce unreadable text.

Because it uses an IBM PC XT system board, the IBM Portable PC offers the utmost in IBM PC compatibility. The system is well-designed, although it's heavy at 30 pounds.

Name

IBM Portable Personal Computer

Manufacturer

Internationa] Business Machines Corporation

Entry Systems Division

POB 1328

Boca Raton. FL 33432

(800) 447-4700

Size

8 by 20 by 17 inches; 30 pounds

Components

Processor: Intel 8088. 4.77-MHz; socket for addition of the 8087 coprocessor

Memory: 40K bytes ROM, 2 56K bytes RAM standard. 640K bytes RAM maximum with memory-expansion card Display: 9-inch amber phosphor, built-in monitor; 80 characters by 25 lines

Keyboard: 83-key layout with 10 function keys and numeric/cursor keypad; detachable with 4-foot coil cable: adjustable typing angle

Mass Storage: 360K-byte half-height double-sided 514-inch floppy-disk drive

Expansion: Seven expansion slots (two used by floppy-disk drive controller and color/graphics monitor adapter), leaving one fulllength slot and four half-length slots

Software

Exploring the IBM Portable Personal Computer. Diagnostics, Microsoft cassette BASIC interpreter in ROM

Optional Hardware

64/2 56K-byte Memory Expansion Card with 64K bytes $265

64K-byte Memory Module $100

Color Display $680

Slimline Disk drive (half-height 5!4-inch floppy) $42 5

Asynchronous Communications Adapter $100

8087 Math Coprocessor $230

Graphics Printer $449

Personal Computer Cluster Adapter $400

Personal Computer Cluster cable kit $110

Optional Software

Personal Computer DOS 2.1 $65

Personal Computer Cluster Program $92

Documentation

Guide to Operations. BASIC Reference Manual

Prices

256K bytes RAM and one half-height

floppy-disk drive $2 595

2 56K bytes RAM and two half-height

floppy-disk drives $3020

18 • BYTE Guide to the IBM PC • Fall 1981

Circuit-Board-Design Without the Tedium

smARTWORK™ lets the design

engineer create and revise

printed-circuit-board artwork

on the IBM Personal Computer.

Forget tape. Forget ruling. Forget waiting for a technician, draftsman, or the CAD department to get to your project. smARTWORK™ software turns your IBM Personal Computer into a professional, high-quality drafting tool. It gives you complete control over your circuit-board artwork —from start to finish.

smARTWORK™ transforms your IBM PC into a CAD system for printed-circult-board artwork. Display modes include both sin gle-layer black and white and dual-layer color.

What makes smARTWORK11 so smart is that it understands electrical connections. Conductor spacing is always correct, lines don't become too narrow, and connecting lines do not intersect other conductors. smARTWORK™ can automatically find and draw the shortest route between two conductors. Or you can specify the route.

smARTWORK™ is the only lowcost printed-circuit-board artwork editor with all these important advantages:

□ Complete interactive control over placement and routing

□ Quick correction and revision

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

□ Prototype-quality 2X artwork from dot-matrix printer

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

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

□ Multicolor or black-andwhite display

□ 32 user selectable color combinations; coincident

points can be displayed in contrasting colors.

D Can use optional Microsoft Mouse as pointing device

Twice scale hardcopy of your artwork Is produced using the Epson dot-matrix printers or the Houston Instrument DMP-41 penand-ink plotter. Quick 1X check plot is also availaPle from Epson printers.

Dual-layer color display of a 2" by 4" section of a 10" by 16" circuit board

The Smart Buy

At $895, smARTWORK™ is an exceptional value, particularly when compared to conventional engineering workstation costs.

Call or write us for more information on smARTWORK™ We'll be glad to tell you how smARTWORK™ helps us design our own circuit boards and what it can do for your business.

Send a purchase order, or major credit card number, and smARTWORK™ can be working for you next week.

System Requirements

□ IBM PC or XT with 192K RAM, 2 disk drives and DOS Version 2.0

□ IBM Color/Graphics Adapter with RGB color or b&w monitor

D Epson MX-80/MX-100 or FX-80/ FX-100 dot-matrix printer

□ Houston Instrument DMP-41 pen-and-ink plotter (optional)

□ Microsoft Mouse (optional)

"smARTWORK" and 'Wintek" are trademarks of Wintek Corporation.

WINTEK CORPORATION, 1801 South St., Lafayette, IN 47904-2993, Phone: (317) 742-8428, Telex: 70-9079 (WINTEK CORP UD)

Circle 186 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

19

IBM Personal "Computer XT/370

The IBM PC XT/370 is actually three systems in one-a workstation for a System/370 mainframe, a 3270-type terminal, and a stand-alone IBM PC XT. When you start the Virtual Machine/Personal Computer (VM/PC) program on the XT/370, you can run most Conversational Monitor System (CMS) programs from a System/370 that will fit into the XT's 4-megabyte virtual-memory space. Uploading and downloading files is supported, as is emulation of a 3277 display terminal. Both these modes require a 3274 control unit connected to the coaxial cable to the mainframe. VM/PC files are stored in the CMS format on disk, but these can be converted from and to PC-DOS format with the CMS Import and Export commands. Most IBM PC hardware options will work with the XT/370 running under VM/PC, and if not (as in the case of the 8087 math coprocessor and the communications adapters), you can use them in the PC mode when not running VM/PC, Switching the XT/370 between these three modes usually requires only two keystrokes.

The XT/370 is made from a standard IBM PC XT with three additional cards. The first card contains three separate processors that execute most System/370 instructions. Two Motorola 68000 microprocessor chips, one standard and the other a custom IBM chip based on the 68000, execute most System/370 fixed-point and nonfloating-point instructions. The third microprocessor, a modified Intel 8087, executes System/370 floating-point instructions and contains the floating-point registers.

A second card has 512K bytes for memory expansion, giving you the maximum 640K bytes of usable memory for the PC mode and 480K bytes for System/370 storage in VM/PC mode.

Name

IBM Personal Computer XT/370

Manufacturer

International Business Machines Corporation

Information System Group

900 King Street

Rye Brook. NY 10573

Size

5'/2 by 20 by 16 inches

Components

Processors: Intel 8088. Motorola MC 68000, Custom IBM/Motorola MC 68000. Custom Intel 8087 Memory: 40K bytes ROM. 768K bytes RAM standard: 640K bytes are addressable in the PC mode, 480K bytes in System/370 mode

Display: 3277 Model 2 emulation card standard Keyboard: 83-key layout with 10 function keys and numeric/cursor keypad: detachable with 6-foot coil cable: adjustable typing angle

Mass Storage: 360K-byte double-sided 514-inch floppy-disk drive and 10-megabyte fixed-disk drive

Expansion: Eight expansion slots, six full-length and two halflength: five slots are already used

Software

Diagnostics. Microsoft cassette BASIC interpreter in ROM

Optional Hardware

Monochrome Display $275

Monochrome Display and Printer Adapter S2 50

Color Display S680

Color/Graphics Monitor Adapter $244

Disk drive (5!4-inch floppy disk) $425

Asynchronous Communications Adapter $100

8087 Math Coprocessor $230

Graphics Printer $449

XT/370 Expansion Unit NA

XT/370 Option Kit for IBM PC XT NA

Optional Software

Personal Computer DOS 2.1 (with Advanced Disk BASIQ $65

Virtual Machine/Personal Computer Program $1000

Documentation

Guide to Operations PC XT, Guide to Operations PC XT/370. BASIC

Reference Manual

Prices

XT/370 Model 568 with one floppy-disk drive

(requires XT/370 Expansion Unit) $6230

XT/370 Model 588 with one floppy-disk drive and

one fixed-disk drive $8085

20

BYTE Guide to the IBM PC • Fall 1984

A NEW WORLD OF SIGNAL PROCESSING

FOR THE IBM PC.

mk

Discover ILS-PC 1.

All the most needed programs

in one convenient software package.

It's here. True signal processing on the IBM PC. It's called ILS-PC 1, and was developed from our minicomputer ILS, the world standard in signal processing software.

ILS-PC 1 enables you to do signal processing now on your own IBM PC or XT. Without writing programs. Without a lot of time or effort. When used with the 8087 coprocessor, it

performs at minicomputer speed.

ILS-PC 1 provides all the essentials: data acquisition support; waveform display and editing; digital filtering; spectral analysis. Applications include noise and vibration, speech, seismology, acoustics, sonar, radar, bio-medicine and many other fields.

Part of ILS-PC 1 convenience is a menu-prompt you can use while

learning, then bypass once you're ready for command control. With our customer service phone line, you get answers to software or applications questions.

Bring signal processing to your own IBM PC or XT. Call our toll-free number now for full information on ILS-PC 1. The price is $ 1495. The benefit is a new world of convenience.

Signal Technology Inc

5951 Encina Road • Goleta, CA 93117

In California, (805) 683-3771 TWX 910-334-3471

Call toll-free (800) 235-5787

Germany • TCAE GmbH, Tel 8! 39/6067. Telex: 841 527523 / Sweden • 3K Ire Konsullor AB, Tel: 0764/3017S, Mux. 85-1 15550 / Switzerland • Zonlrama Technlk AG. Tel: 032233553, Telex, 845 349353 /

U.K. • Loruca. Tel. 01637 9111, Telex, 851 27200 / Japan • Rikei Corp, Tel. 03-345-U1I. Telex 781 123772 / Korea • Gmonoll System Industry Co.. Tel. 725 6281 2, Telex 787 23231 /

Taiwan « Hermes Epitek Corp., Tel 02 562 5851. Telex 785 26794 ISMPCandPC/XTareregisleredlrademarkspflnrernational Business Machines

Circle 162 on Inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 21

How HP business graphics

Enhance your reputation for being more professional, persuasive, credible and effective than your competition with the new HP 7475A Business Professional's Plotter.

Make a first impression that lasts

The vital importance of graphics to today's business professional

cannot be overstated. In survey

after survey, statistics prove

graphics can help you

spot trends and relation

ships quickly,

analyze data

accurately, and

communicate

your ideas

with more

clarity and power than in any other way.

Even more portant, graphics can actually increase personal and company productivity. And create a first impression of quality and professionalism that lasts and lasts.

Graphics: the end to meetings that go nowhere

In a fascinating research project conducted by The University of Pennsylvania, 123 MBA candidates were involved in a study designed to test the effectiveness of business graphics in meeting situations. The results were startling. In the group where visual aids were used:

• Meetings were shorter: The study showed a 28% reduction in meeting length when transparencies were used.

• Group consensus was faster: Agreement was reached by 79% of the group using transparencies, compared with only 8% among the control group using no visual aids.

• The decision process was accelerated: 64% of study participants said they made their business decisions immediately after the visual presentation. When overheads were not used, the control group said they delayed decision-making until some time after the group

discussion following the presentation.

• Presenters with visual aids were perceived as being more professional, persuasive, credible and effective than those not using visual aids.

Now, with the new HP 7475A Business Professional's Plotter, your meetings can have immediate and productive results like these.

How the quality look of HP graphics can help

The way you present your information can be equally as important as the actual information you're presenting. And that's where the new HP 7475A Business Professional's Plotter lets your professionalism shine through.

Standards unsurpassed in the plotter business

The technical standards of the HP 7475A have no equal for producing quality graphics. With a resolution of one-thousandth-of-aninch, curved lines are smooth, not jagged, and straight lines are consistently straight. Its exceptional repeatability (the ability of a pen to return precisely to a given point) assures that intersecting lines and circular shapes will meet exactly. The result is high-quality charts and graphs you'll be proud to present.

Why 6 pens when experts say 4 will do?

Graphics industry experts maintain that good graphics contain four colors per chart. But Hewlett-Packard goes the experts two better by providing a six-pen carousel, so you can store and use pens of different widths —thick pens for bold headings and thin pens for details. And with six pens, you won't have to waste valuable time changing them. That's important when "the boss wants to see your presentation in twenty minutes!"

With the HP 7475A, you also get automatic pen capping to prevent pens from drying out between uses, and special "pen damping" (gently lowering the pen to the paper or transparency) to increase pen life and ensure better line quality... use after use after use. You also get a rainbow of 10 colors to choose from, in two line widths.

Your choice: 2 paper sizes and today's most popular graphics software packages

While most professional business applications will be satisfied with standard 8'/2 x 11" paper or transparencies, the HP 7475A adds the

22 • BYTE Guide to the IBM PC • Fall 1984

can be the key to your success.

capability of plotting on larger 11 x 17" media, too. The larger plots are especially well-suited for time lines, PERT charts, schematics and engineering drawings.

Best of all, you don't have to be a programmer to produce quality graphics on the HP 7475A. It's supported by a variety of professional graphics software packages for both HP and non-HP desktop and personal computers.

Naturally, speaking of software compatibility leads us to hardware compatibility....

Compatible with almost any personal computer in the marketplace today

With two interfaces available, the HP 7475A quickly "makes friends" with most models of today's most popular personal computers, including IBM* Apple,™ Compaq™ Osborne® and Commodore™ --as well as a host of HP computers.

The cost? Surprisingly affordable

The new HP 7475A Business Professional's Plotter is an amazingly affordable $1895. When you consider that a typical fee for a single five-color transparency from a graphics service is $50—and that the same transparency can be prepared for about $1 in materials on the HP 7475A—the return on your investment is almost immediate.

Another choice: HP's low-cost, high performance Personal Computer Plotter

For the "business on a budget!' you may also want a look at our 2-pen Personal Computer Plotter, the 7470A. Its low cost (only $1095) is as remarkable as the quality of its plots. With many of the same features as the new HP 7475A, the HP 7470A plots on a single paper size (8'/2 x 11"). It stores and caps two pens,

and you can easily change the pens

yourself for multi-color plotting. Best of

all, the HP 7470A 2-pen plotter lets you

turn your personal computer into a personal

graphics workstation for only $1095.

Send for your FREE "Better Presentations Package" today!

For a FREE sample plot, overhead transparency, and more

details, mail the coupon below today. We'll also enclose a list

of software packages you can use with the HP 7475A or HP 7470A.

For the name of your nearest Hewlett-Packard dealer call An

toll-free 800-547-3400. T

HEWLETT PACKARD

I "I

YES! I'm ready to gain a reputation for being more professional, persuasive, credible and effective than my competition. Please send me your FREE "Better Presentations Package," so I can learn more about the new HP 7475A Business Profes sional's Plotter and the HP 7470A Personal Computer Plotter. I understand I will receive this valuable package without cost or obligation.

Name Title

Company

Address

City/State & Zip

Phone Number (_

My computer is

-)

Send to: Hewlett-Packard

16399 W Bernardo Drive, San Diego, CA 92127 Attn: Marketing Communications 11303 BT.|BM GUIDE

Circle 79 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 23

The IBM 3270 Personal Computer

The IBM 3270 Persona] Computer, another in the "workstation" family of PCs, lets you communicate with host computers such as IBM 43XX or 308X series processors, or to work locally in a personal computing session. The 3270 PC can display information in up to seven user-definable windows, including four host windows, one PC-DOS window, and two electronic notepads, all on a high-resolution color display. You need a 3274 control unit to run more than one host computer session at a time, multiplexing four cables to one or more remote mainframes into a single connection to the 3270 PC. Windows can be moved and adjusted easily; a single keystroke takes you from personal computing to host sessions. You can store the layout of windows on the screen in a "profile" and call it up with a few keystrokes. An autokey function can record a sequence of keystrokes, simplifying logging onto multiple sessions.

The 3270 is available in several configurations with different displays, amounts of memory, and mass storage. Most people will choose the inexpensive 5272 color display or 5151 monochrome display. Sophisticated graphics are available with the 3270 PC/G and GX systems and their larger, very high-resolution color displays with up to 960 by 1000 pixels and 16-color resolution.

Name

IBM 3270 Personal Computer

Manufacturer

International Business Machines Corporation

Information Systems Group

900 King Street

Rye Brook. NY 10573

Size

5'/2 by 20 by 16 inches; 33 pounds

Components

Processor: Intel 8088

Memory: 40K bytes ROM. 2 56K bytes RAM standard, 640K

bytes RAM maximum with memory-expansion card

Keyboard: 122-key layout including function keys for both 3270

and PC functions and a numeric/cursor keypad: detachable with

6-foot coil cable; adjustable typing angle

Mass Storage: 360K-byte double-sided 5^-inch floppy-disk drive

Expansion: Eight expansion slots (several already used by

various adapters)

IBM 3270 PC

5271 Model 2: System Unit with 256K-byte memory. one floppy-disk drive and adapter. 5151/5272 display adapter. 3270 PC keyboard/timer adapter, 3270 system adapter S3 78 5

5271 Model 4: Model 2 features plus second floppydisk drive, 64/256K-byte memory-expansion option with 64K bytes, parallel printer adapter $4650

5271 Model 6: Model 2 features plus one 10-megabyte fixed-disk drive and adapter. 64/2 56K-byte memoryexpansion option with 64K bytes, parallel printer

adapter S6210

5272 Color Display (14-inch, eight-color. 720 by 350

pixels) $995

All-Points-Addressable Graphics Adapter $550

Host Graphics Adapter $800

3270 PC Control Program $300

3270 PC File Transfer Program $600

IBM 3270 PC/G and GX

5371 Model 12: System unit with 384K-byte memory,

one floppy-disk drive and adapter, 3270 system adapter,

parallel printer adapter, and mouse tablet/adapter $4130

5371 Model 14: Same as Model 12 except for 512K-byte

memory and two floppy-disk drives $4755

5371 Model 16: Same as Model 12 except for 576K

byte memory and 10-megabyte fixed-disk drive and

adapter $6580

5371 Keyboard $295

5279 Color Display (14-inch, eight-color. 720 by 512

pixels) $1600

5278 Display Attachment Unit $3060

5379 Color Display (19-inch. 16-color. 960 by 1000

pixels) $3600

5379 Monochrome Display (19-inch, four shades, 960 by

1000 pixels) $2750

5378 Display Attachment Unit (color) $8310

5378 Display Attachment Unit (monochrome) $7810

5277 Mouse $340

Optional Hardware

5151 Monochrome Display $275

5152 Graphics Printer $449 5182 Color Printer (dot-matrix) $1995 3852 Color Printer (seven-color ink-jet) $900

Documentation

Guide to Operations. Reference Manual, Maintenance \nformation

Prices

3270 PC/G minimum configuration 3270 PC/GX minimum configuration

$9535 $16,785

24

BYTE Guide to the IBM PC • Fall 1984

It is no longer enough to be IBM compatible. Not even for IBM.

It was the personal computer circus.

And it had gone on too long.

The crowd grew restless as each new act continued to perform varying degrees of IBM compatibility.

Suddenly, the crowd gasped. It wa.s the unexpected finale —the arrival of Sperry, with a performance no one could have imagined possible.

Ladies and gentlemen, it was the Sperry PC. It ran IBM compatible software.

But that wasn't the show stopper.

Because it soon became quite clear the Sperry PC didn't just run the IBM programs, it ran them bvtto:

SPERRY PERSONAL COMPUTER

SPECIFICATIONS

OPEHAT1NU

KEYBOARD

SYSTEM

84 keys, lift, cord

MS DOS Version

AUXILIARY

1.25 or 2.0 wiLh G.W.

ME MO it Y

BASIC MICRO

Up to two bitarna) 6J$"

PROCESSOR

diskettes I0MB

Hign-Speed 16-bit 8088

internal fixed disk

DISPLAY SCREENS

when configured with

High Definition

Btngle diskette.

monochrome display

USER MEMORY

IBM compatible

Standard 12HK liyies.

graphics.

expandable to S40K

CO MM UN IC ATI () N S

DIAGNOSTICS

Built-in Asynchronous

Power-on self test

CLOCK

Time-ot-day wf th

battery back-up

Better because it ran them faster — up to 50% faster.

It ran them with breathtaking graphics, far more dramatic than the IBM PC could provide.

And it ran them from a keyboard that drew roars of approval, for it was not only easier to operate, but far more comfortable than IBM's.

And as the crowd cried out for more, that's just what Sperry gave them: the ability to plug right into a company's main computer, whether that system was IBM or Sperry. Or both.

As the crowd sat stunned by this final flourish, Sperry left all with a most provocative question. Was it possible

that the Sperry PC could do all of this and yet cost less?

Again, the crowd gasped.

Could it be?

Come see for yourself. Hands-on, side-by-side. Call 800-535-3232, tollfree. Or write us. Sperry Corporation, Computer Systems, Department 100, P.O. Box 500, Blue Bell, PA 19424-0024.

e Sperry Corporation, 19H:J

IBM is H registered trademark of International Business Machine;

MS DOS Ian registered trademark of Microsoft Corporation.

The Sperry PC. What the personal computer n should have been in the first place.

Circle 168 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

25

IBM System 9000

The IBM System 9000 is designed to automate the laboratory as the IBM PC automated the office. For data acquisition, data analysis, and instrument control, the S9000 has a wide range of interfaces: three RS-232C ports, a bidirectional 8-bit parallel port, an IEEE-488 port, three timers, a clock, 32 programmable interrupts, and four DMA channels. The system includes a real-time, multitasking operating system (CSOS) that can simultaneously collect data, store or process it. analyze collected data and display it on the screen, output data to the printer/plotter, or transmit the data to other computers for analysis.

The S9000 comes in two versions—one for the lab, one for the office. The IBM 9001 benchtop model holds the computer, a display, and multicolor printer/plotter in a vertical package that occupies little space. The IBM 9002 is a smaller system with cleaner lines for your desktop. The XENIX operating system (a version of UNIX) is also available for multiuser, multitasking applications in which real-time control is not as critical. You must configure the system with a hard-disk drive, a memory-management card, 640K bytes of memory, and one 8-inch floppy-disk drive in order to run XENIX. Files can be transferred between the two operating systems.

The large membrane keypad with 57 user-programmable keys helps automate laboratory applications by defining single-keystroke commands to control instruments. Keypad overlays let you clearly label the keys. ■

Name

IBM System 9000

Manufacturer

International Business Machines Corporation IBM Instruments Inc. Orchard Park POB 332 Danbury, CT 06810

Size

7 by 18 by 22 inches: 64 pounds

Components

Processor: Motorola 68000, 8-MHz: with four DMA channels Memory: 128K bytes ROM, 128K bytes RAM standard, expandable to 5.2 megabytes in 2 56K-byte increments Processor Board Interfaces: Three RS-232C, one bidirectional 8-bit parallel, one IEEE-488

Display: 12-inch green-phosphor 768- by 480-pixel screen; 80 characters by 30 lines: 10 user-definable keys below screen Keyboard: 83-key layout with 10 function keys and numeric/cursor keypad: 57-key pressure-sensitive keypad; detachable with 6-foot coil cable

Mass Storage: Optional 640K-byte 514-inch or 985K-byte 8-inch floppy-disk drive Expansion: Optional, five slots on a system bus card

Software

Real-time, multitasking Computer System Operating System (CSOS); diagnostics

Optional Hardware

256K-byte Memory Expansion Card $1395

l024K-byte Memory Expansion Card $3180

Dual 5'/S-inch floppy disks $1645

Dual 8-inch floppy disks $2470

10-megabyte hard-disk drive $2195

Hard-disk controller card $1295

Memory-management card $1495

Analog sensor card $1695

Color Printer $1995

Optional Software

CSOS Extensions $155

BASIC Interpreter $195

Pascal Compiler $595

FORTRAN Compiler $595

Chromatography Application Program $795

XENIX Operating System $995

Documentation Operator's Manual. OS 1.1.

Problem Isolation Manual BASIC Manual

Prices

9001 Benchtop Computer

9001 Benchtop Computer with printer/plotter

9002 Desktop Computer

$6495 $8590 $6495

26

BYTE Guide to the IBM PC • Fall 1984

Tell this to your PC

and see what happens.

No, it won't roll over and play dead. While the funny-looking symbols might not make immediate sense to you, to a PC equipped with STSC's API>PLUS®/PC System they tell an amazing story. In just 11 lines this program describes a sequence of events that can't be accomplished by any other single software package.

The program is written in an application development language called the APL*PLUS/PC System. Briefly, here's what it does. First, it sorts a DOS file containing revenue data and plots the revenues as a histogram. It calculates mean and variance revenues. Then with the help of a full-screen editor, it creates a memo combining the histogram, statistics and descriptive text. Finally the program issues a DOS command to the PC, dials a host computer, and electronically mails the memo. All in just 11 lines. No wonder a PC Magazine reviewer reacted to our APL*PLUS/PC System with "awe and delight" (March 1983).

If you want to integrate existing software or create custom solutions to problems that can't be handled by the software you're currently using, you need the APL+PLUS/PC System. It costs $595.00, and runs on the IBM PC with 192 KB of RAM as well as on a number of compatible machines.

To order the APL*PLUS/PC System see your local dealer or contact STSC, Inc., (800) 592-0050, 2115 East Jefferson Street, Rockville, Maryland 20852.

STSC

A Contel Company Circle 165 on inquiry card.

APL*PLUS is a service mark and Irademark of STSC. Inc., registered in the United States Patent and Trademark Office and En certain other countries.

tV\\

Let Persyst get your

IBM PC talking to your mainframe, because we have

more to talk about*

We have a full range of communication solutions to talk about. That's why Persyst is your single source for the most flexible, the most cost efficient ways to tie your IBM PC to your mainframe computer.

370X COMM CTRL

COAX/3270

For instance, one solution is our Coax/3270. This single-slot expansion board lets you connect your IBM PC directly into virtually any IBM 3270 environment. And with our 3278/79 emulation software, it's easy to share information between your mainframe and IBM PC.

And that's just the start. Persyst has other solutions that will help you incorporate your IBM PC into almost any IBM communications environment, including SNA or Bisync.

With our DCP/88 and our Multiple Protocol Communications controller (MPC), you can create a sophisticated, remote, multi-user 3270 environment. One that can support up to nine devices, including five printers and four PCs functioning as 3278/79 display stations. Or, use either the DCP/88 or MPC to configure 2780/3780 or HASP RJE workstations.

Because Persyst's communication solutions are built on powerful software-controlled multiple protocol hardware, you'll have maximum configuration flexibility. And this means you'll be able to modify your communication strategies as your needs change — without constantly reinvesting in new hardware. It's your guarantee for the future.

And when you're ready to talk about quality and reliability we have plenty to say about that, too. All Persyst products are submitted to one of the most stringent testing and quality assurance programs in the industry. We're so confident in our quality and reliability that we back our products by a 2-year warranty.

So if you're looking for flexible, low cost and reliable solutions for IBM PC to mainframe communications, talk with Persyst. But be

Cluster Controller

prepared to spend some time, because we have lots to talk about.

Persyst Products, Personal Systems Technology, Inc., 17862 Fitch, P.O. Box 19615, Irvine, California 92714. Telephone: (714) 660-1010 Telex: 467864

Insist on Persyst.

Circle 138 for Dealer inquiries. Circle 139 for End-User inquiries.

Fall 1984 • BYTE Guide to the IBM PC

29

IBM FORECAST

MARKET

DOMINANCE

IBM's array of follow-up products and enhancements for the PC means it is here to stay

During 1983, IBM shipped more than 600,000 PC and PC XT microcomputers, making the microcomputer division one of the most startling success stories in IBM's long history. IBM's introduction of low-end computer products has changed the way the corporation approaches the marketplace. Their success will continue to alter Big Blue's development in years to come.

Follow-up products from the corporation's Entry Systems Division in Boca Raton, Florida, and products developed in concert with that division by IBM's Raleigh, North Carolina facility and Endicott, New York operation (the 3270 and XT/370, respectively) indicate that IBM will continue to devote impressive resources to both software and hardware in low-priced computing packages.

Strategic Inc., a high-tech research and market-analysis firm located in San Jose, California, set out to compile user reactions to IBM's new PC from those businesses across the country that have purchased one or more units. IBM PC User Reactions, Requirements and Plans—1984, completed in December 1983, also speculates on how businesses will use these computers in the future.

IBM's PC line now includes six products: the original IBM PC, the IBM PC XT, the PCjr, the PC Portable, the 3270 PC, and the XT/370.

Michael Mien (POB 2150. Cupertino. CA 95015-2150) is president of Strategic Inc.

by Michael Killen

ILLUSTRATION BY DAVE CALVER Fall 1984 • BYTE Guide to the IBM PC • 31

FORECAST

The i6-bit Standard

The 16-bit IBM PC is a flexible, dependable, expandable personal computer with an Intel 8088 central-processing unit, an 8-bit data bus, and one or two 5^-inch, single- or doubledensity floppy disks. Its bit-mapped graphics display comes in monochrome or color, and its PC-DOS (disk operating system), a variant of Microsoft's MS-DOS, is now the standard among 16-bit operating systems for personal computers.

The PC and the XT are architecturally identical: PC programs run without modification on the XT, and any PC board can be plugged into the XT. However, the XT, which contains more slots and a larger power supply, is capable of supporting more peripherals and memory. The XT is configured with both a 5!4-inch floppy disk and a 10-megabyte hard disk.

The IBM PC is exceptionally well constructed and provides an excellent diagnostics package that allows customers to

isolate problems. Most microcomputer companies do not provide such a package. It is a reflection of IBM's long-term customer-oriented philosophy.

IBM's personal computer was one of the first to provide "bit-mapped'' graphics, meaning that each pixel on the display monitor is represented by a single bit in memory, with specialized hardware to translate the memory "image" into TV signals to drive the monitor. To update any point on the screen, a programmer need only set the appropriate bit in memory. Bit mapping is inexpensive and critical for the "window" features in advanced software.

The Intel 8088 processor provides slightly less arithmetic power than a 4-mHz Z80 by Zilog. However, the 640K.-byte maximum address space of the PC allows many significant programs to be run without swapping code or data segments. This often improves performance considerably because disk

[continued]

User Reactions

Strategic Inc. surveyed 70 large companies that currently use both the IBM PC and at least one mainframe and 100 smaller companies that use the IBM PC and some other mini- or microcomputer.

Strategic's findings confirmed several theories on IBM strategies. According to Strategic, IBM has maintained control of its mainframe customers, dissuading most from adding non-IBM equipment. Further, the December 1983 study found that most mainframe customers are using their PCs in conjunction with their mainframes; ultimately, this habit will increase IBM's mainframe revenues.

Specifically, the study found that the large organizations interviewed had an average of 21 IBM PCs installed; the smaller companies had an average of six. According to the survey results, most of the larger companies consider the standard to be IBM products rather than microcomputers from Apple.

The conclusions Strategic reached in its study are as follows:

• Purchase, installation, training, and service are mainly handled by the data-processing departments of large organizations.

• Training is not yet taken very seriously, with most users being self

taught. Many respondents don't think this is adequate.

• Most of the actual users of IBM PCs are middle managers in both large and small organizations.

• Large organizations purchase more complete systems than smaller companies, with more than 70 percent of these configured with two floppy-disk drives or 10-megabyte hard-disk drives.

• Large and small users cite more than 30 different primary applications for their PCs. Spreadsheet and financial applications are the most common.

• Most users are not developing applications software themselves. Of those who are, BASIC is the most popular language, followed by Pascal and FORTRAN.

• Only 12 percent of the large organizations sampled use a LAN (local-area network), of which only two are standard networks (Corvus and 3COM). The majority of large users are actively considering purchasing a LAN, or will do so in the foreseeable future.

• Approximately two-thirds of the large users use IBM 3270 emulation to access other systems. For one-fourth, the PC is mainly used as a terminal, with another one

third using both terminal and PC capabilities. One-third use or want to use remote-job-entry capability.

• Most large users need to access IBM mainframes from the PC Most small users need to access some other computer system.

• Sharing files is the most common reason cited for wanting multiuser versions of a PC.

• Most systems in both large and small companies are shared by at least two different users, and most users have some file-sharing requirement, making a multiuser version of the PC desirable.

• Most small and large organizations are satisfied with their IBM PCs, most citing increased speed, efficiency, quality, and lower cost work as reasons.

• Large organizations in the sample expect to buy at least 32 PCs each during the next year. Sixty percent of the large user organizations plan to make one brand of personal computer standard, and two-thirds have chosen IBM products. Nine percent have chosen Apple.

• Half of the large users expect to buy at least 25 percent more XT systems. Almost 20 percent state they would buy only XT systems.

32

BYTE Guide to the IBM PC • Fall 1984

■<*\

i»ri.^i«l|.»i«

■ ">,'

^^■toaM^^y*

Great Lakes offers you add-on storage and tape back-up at an unforgettably attractive price

So you're about to outgrow the storage capacity of your IBM PC™ or compatible computer? And now you're biting your nails over the cost of adding more bytes.

No need! Consider the eminently memorable combination price of the Great Lakes Superior 10™ hard disk subsystem and the Great Lakes Quartermaster 23™ tape back-up module The Superior 10—$1495

Not only is our $1495 price considerably lower than the nearest 10-megabyte competitor, but we offer the best dollar-per-megabyte ratio for the 23mb and 40mb subsystems as well. The ratios? lOmb at $149 per mb; 23mb at $98 per mb (retail $2249); 40mb at $70 per mb (retail $2795). Quartermaster 23—$995

This optional 23mb tape back-up module is simple to use and efficient as well. Take, for example, our remarkable Selecta-File™ feature. This Vi-inch tape drive module allows you to back up and restore data using selective file-by-file data transfer (or full streaming). And it masters all this for just $43 per megabyte. Complete and ready-to-use

When you buy a Superior hard disk subsystem, everything is there, ready to operate at high speed. This includes: high quality fixed hard disk, controller board, software that runs on DOS 1.1 and 2.0 (CP/M 86™ and other operating systems available), host adaptor board, integral power supply, cables, external custom chassis with additional space for our tape back-up, and documentation. Our line is expansive, not expensive

Need even more storage for your IBM PC or compatible? We offer hard disk subsystems including 65,110 and 140mb —all designed for superb quality at the very lowest possible prices. And we stand behind all our products with our 90-day warranty. That's because our quality lives up to our first name

Available at leading dealers everywhere

COMPUTER

"IBM PC is a trademark of International Business Machines Corporation. '"Superior (10 through 140), Quartermaster 23, and,Selecta-Fi!e are trademarks of

Great Lakes Computer Peripherals. Inc. "CP/M 86 is a trademark of Digital Research, Inc. Circle 69 on inquiry card.

PERIPHERALS, INC.

We live up to our first name

2200 W. Higgins Road, Hoffman Estates, IL 60195 1-800-323-6836/1-312-884-7272

The Ven-Tel Half Card.™

The only 1200 baud modem

for your IBM XT or IBM portable PC.

The Ven-Tel Half Card'" is the only internal 1200/300 baud modem that fits in the small expansion slots of the IBM-XT and the IBM Portable.

Free Expansion Slot. If you own an IBM PC-XT, look inside the chassis sometime. You'll see a number of standard sized expansion slots and one unused half-sized slot. That's where the Half Card'" fits—in a spot that would otherwise be wasted. So why take up one (or sometimes two) valuable full-size slots for your modem? With the Half Card,'" it's like getting an extra expansion slot for free.

True Portability. IBM Portable PC owners will appreciate the true portability offered by the Half Card,1" the only modem that fits in the half-sized slots of the Portable. When you're on the road, you won't need to pack along a bulky external modem, cable and power supply. Your modem will already be inside your computer, ready to go!

Although it's half the size of other modems,

the Half Card'" has all of the high

performance features you

expect: selection of ^^^^

1200 or 300

baud,

automatic dialing using the industry standard "AT" command set, automatic answer on any ring, and full compatibility with virtually all software.

The Half Card™ comes complete with one of the most popular communications software packages available, CROSSTALK XVI by Microstuf. Whether you use an information service such as The Source or Dow Jones News Retrieval, or transfer files and electronic mail, the Half Card" connects your Portable or XT to the world.

Effortless Communication

From Ven-Tel Inc.

2342 Walsh Ave. Santa Clara, CA 95051

(408) 727-5721 Circle I80 on inquiry card.

The Half

Card,'" with

Crosstalk-XVI

software, retails for

$549 and is available at

Businessland, Computerland,

the Genra Group and other fine

dealers nationwide.

The Half Card'" also works in the IBM PC, the

Compaq, and the Panasonic Senior Partner. Also

from Ven-Tel: an internal modem for the HP 150 and an

external modem with all of the features of the Half Card.'"

The Hall Card also operates in the PC Compaq and other IBM compatibles

FORECAST

I/O (input/output) is always time consuming. For instance, on a Z80 even a word processor such as WordStar requires code overlays, and relatively small files must be shuffled to and from the disk. On an IBM PC, the entire program can be resident in memory simultaneously, in addition to very large files.

While 640K bytes of address space is a great improvement over available microcomputer RAM (random-access read/ write memory), it is only two-thirds of the 1-megabyte address space available to the 8088 chip. Unfortunately, Microsoft's BASIC Interpreter and the PC disk operating system consume the remaining 360K bytes of memory. Although the remaining memory is adequate for most of today's microcomputer programs, the limit prevents the PC from running large programs, keeping several programs in memory at once, or storing a large amount of data in memory. Each limitation reduces the effectiveness of IBM's PC in some applications and will slow the development of more sophisticated software.

Further, the 8088's 8-bit I/O and memory data bus limit the speed of communication between the PC and its disks or other peripherals to 8-bit levels.

IBM's own feature-by-feature comparison of price and performance shows the PC to be markedly inferior and higher priced than most equivalent systems from other companies. The system is not being sold on either point, but rather as the standard from a corporation that provides strong support, demonstrating, once again, IBM's hegemony in the computer market.

The IBM 3270 PC

The 3270 PC embodies several IBM tactics. First, it allows IBM to push ahead in the personal computer market and yet maintain its mainframe products at the center of a client's information-processing needs. Second, it bolsters the dataprocessing department's role in information processing. This is important because IBM's main customers are dataprocessing managers, not office-automation managers.

Further, the advent of the 3270 PC enhances and protects a line of IBM products (3270/3274) that is now 12 years old. The 3270 PC may be the first step in upgrading the 3274 product. For instance, IBM may merge the 3274 and the yetto-be-announced local-area network product, or it may use the 3270 PC's program capability to enhance mainframe control of terminals and provide such features as teletext and distributed graphics systems.

Before the advent of the 3270 PC, it was possible to argue that mainframes and their traditional data-processing functions were destined to be overlapped and possibly even superseded by information-processing functions performed by integrated networks of PCs and small multiuser systems. IBM has negated this argument by increasing the capabilities of its mainframes through the integration of more business microcomputer functions. Thus, the information processing functions of business microcomputers are dependent upon the existence and expansion of a mainframe.

The 3270 PC is a superset of the functions of the IBM PC and the IBM 3270 terminal. As a 3270 terminal, it hooks into any of the 3274 control units or serial I/O ports on the various IBM mainframe computers. As a PC, the system provides various configurations comparable to the IBM PC or XT.

IBM has added new functions to this combination, the most

important being the simultaneous display and manipulation on the screen of as many as four "documents" (files or data developed within a program). This kind of integration distinguishes the 3270 PC from a PC with a 3270 emulation adapter.

The 3270 PC will appeal to three classes of customers who currently own IBM mainframes: those who have many management and technical personnel who currently use the mainframe and use, or wish to use, PC functions; microcomputer (and not just IBM PC) users who need to access mainframe data in the course of their work with the microcomputer; and IBM PC users who can't wait for IBM to support the multiwindow capabilities on the IBM PC.

Strategic Inc. believes there are many such users. However, even if there were not, IBM has positioned this product to strengthen both the IBM PC and its mainframe lines of equipment.

The 3270 PC multitasking window capabilities represent an entirely new dimension for both the IBM PC and mainframe products. Comparable single-user, stand-alone systems are Apple's Lisa, the Xerox 820, and the IBM PC with a hard disk running VisiOn software. No comparable stand-alone, multiuser products are available to users of IBM mainframe products.

There is, therefore, no direct competition with the 3270 PC. Strategic Inc. knows of none planned, although companies that make 3270-compatible terminals, such as Memorex, are likely to develop equivalent products.

The XT/370

IBM's XT/370 reaffirms its corporate strategy of maintaining the traditional mainframe as the center of a company's information processing. It is also an attempt to create an industry-standard processor in a new market; the personal workstation arena.

Further, the XT/370 will ultimately force the upgrade of a company's existing mainframe equipment. Adding the XT/370 superficially unloads a company's mainframe 370 of its duties, but the introduction of more XT/3 70s, spurred by the increased terminal capabilities at relatively low cost, will increase the burden of the mainframe 370. Eventually, this leads a company to invest in additional disks, memory, channel capacity, and probably an upgraded central processor.

Physically, the IBM XT/370 is an XT personal computer with three new boards added, providing 768K bytes of memory, four chips (an 8088, two 68000s, and an 8087), which allow it to execute the 370 instruction set, and an I/O and virtualmemory management unit.

Functionally, the IBM XT/370 combines three systems and allows the user to switch quickly between them. In the PC mode, it is an IBM XT. In terminal mode, it functions as an IBM 3277 display terminal. In workstation mode, it executes a new version of the System/3 70 VM/CMS (Virtual Memory/ Conversational Monitor System) operating system, called VM/PC, enabling the workstation to download VM/CMS applications from the host processor. Thus, only normal file and virtual-memory management are handled by the System/370. As a VM/PC workstation, the XT/370 can call up mainframe programs and access mainframe data in a virtual environ

(continued)

Fall 1984 • BYTE Guide to the IBM PC

35

FORECAST

ment of up to 4 megabytes.

Technically, the XT/370 is a weak product: first, there is little integration of the XT/370 with the System/370. For instance, the host treats it like a 3274 terminal, not like a coprocessor. This may be fixed by future software products.

Second, the PC portion of the XT/370 is not well integrated with the MVS (multiple virtual storage) environment.

Third, the XT/370 suffers physical and architectural constraints as a result of IBM's using the XT system as a base. For instance, the PC operating system is always active. The main memory is shared between the 8088 and 370 processors. Further, both I/O and memory share the same 8-bit bus, and, finally, all VM/CMS I/O is run through the PC BIOS (basic input/output system) code.

These limitations, combined with the 70-millisecond access time for the 5!4-inch Winchester disk, which is the paging device, mean that the aggregate performance of the system will be far below the 0.1 millions of instructions per second (MIPS) claimed by IBM. The claim is made for any application with a working set larger than the 4! 6K. bytes of physical memory available to the XT/370 processor, while running as a 370. One-tenth of a million instructions per second of 370 processor power is comparable to a 4-mHz Z80 and less than the processor power of an 8086. This is clearly not a price/ performance breakthrough compared to other microprocessors.

The XT/370 provides its 0.1 MIPS at a cost of approximately $12,000, or $120,000 per 1.0 MIPS. This compares favorably to approximately 1.2 MIPS at $500,000 for IBM's own 4341 mainframe. Thus, the XT/370 has from two to ten times the absolute processor power available to an average mainframe VM/CMS user, and approximately 3.5 times the price performance ratio of the 4341-12, while allowing you to add the workstations in $12,000 increments, rather than buying a $500,000 system.

Finally, IBM's marketing thrust for the XT/370 appears to focus on providing cost-effective higher performance on a per-user basis. However, though favorable relative to IBM's own equipment, the absolute performance of the XT/370 is lower and the price is higher than comparable microcomputers. The per-user cost is unfavorable compared to "supermini" products.

IBM expects the XT/370 to appeal to several classes of customers who have overloaded mainframes:

• Applications developers. The first software releases for the XT/370 emphasize software development. Undoubtedly the work of the original development team, this software provides an excellent interactive environment.

• Users of small working-set applications. These customers will require considerable processor power relative to that available to a single user under the VM/CMS environment, but relatively little I/O.

If the working set of the application is so large that it cannot fit into the 416K-byte physical memory (when running in 370 mode), or if a large data set is used in the 4 megabytes of virtual memory, the PC's disk I/O will limit performance to a fraction of the 0.1 MIPS. If high-density disk or tape I/O is required and files are so large they cannot fit on the XT disks, the performance advantage of the

XT/370 will likely be dissipated by the increased time necessary to communicate this data between the mainframe and the XT/370 workstation. • Engineers and scientists. These customers work with relatively small amounts of data (probably in FORTRAN) and will obtain a better turnaround time from a local 0.1 MIPS system than from a shared mainframe.

It is nearly inconceivable, given the number of very highperformance microcomputers aimed at this market, that IBM could sell a single XT/370 for this use without its current dominance in the data-processing market and the power that data-processing departments have in systems acquisition within most companies.

Probable Future Products

Obvious and necessary upgrades to the PC and XT are larger memory, larger disks, and a larger variety of printers, plotters, modems, etc. Future versions, compatible at the software but not the hardware level, may feature faster memory and processors, but this is unlikely before 1987 or 1988.

Obvious and necessary upgrades of the 3270 PC include all of the above. Additionally, IBM and other companies will take advantage of the PC's processor power and local disk storage to provide increased integration of other mainframe software environments with the PC. For instance, IBM's interactive environments are not known for simplicity, and a menu-driven TSO (timesharing operation) interface would allow the user to function effectively knowing much less about TSO.

Obvious and necessary upgrades of XT/370 include larger disks, printers, etc., as well as better integration of VM/PC with PC-DOS. Strategic Inc. does not expect a more powerful version of this product, based upon higher performance processors and a 16- or 32-bit bus, until a competitor appears and threatens to gain market share. A more powerful XT/370 would undermine its own 42XX mainframe business.

Competition

Although IBM retains and is extending its market dominance with these PC/workstation products, there is room for competition in terms of performance, cost, features, and market flexibility.

The performance gap between IBM's products and what is technologically possible remains. None of the PC products demonstrates particularly impressive performance, either in absolute terms or relative to price. For instance, the 8088's performance is inherently low, and other companies are already offering PC-compatible systems based on the Intel 8086, a chip with 16-bit access to memory and I/O Other companies have announced, or soon will announce, systems based on the Intel 80186 and 80286. The 80186 incorporates DMA (direct memory access), bus control, and other functions into the central processor, cutting component cost and allowing more functions on a single board.

Matching the performance of the XT/370 with bit-slice technology or a custom processor would be relatively simple and inexpensive for a competitor.

IBM's PC has no convenient means of sharing peripherals and data with other personal computers. IBM may remedy

(continued)

36

BYTE Guide to the IBM PC • Fall 1984

FORECAST

Has IBM Captured the Market?

The Strategic Inc. study, completed in December of 1983, is based on interviews with 170 companies—both large and smallrepresenting every segment of American industry. The complete report covers user reactions to the PC, a market analysis, and an analysis of the technical limits of IBM's new line of computers.

Based partly on the interviews and also on the company's economic modeling, Strategic forecasts that IBM will sell 1.5 to 2.0 million units of the PC, the PC XT, and the XT/370 in 1984. Shipments of these computers should increase to 3.4 million in 1988.

IBM itself claims that it will ship 2.5 million PCs and PCjrs in 1984. Strategic's estimates are very close to that number, provided IBM ships approximately one million PCjrs. Based on Strategic's interviews with 70 large corporations and 100 smaller ones, all currently using IBM PCs, Strategic has come to some general conclusions that its full study, IBM PC User Reactions, Requirements and Plans—1984, documents.

Among these conclusions are proposals as to IBM's probable strategies: to set a standard with IBM PCs in a business environment; to design PCs to function with IBM mainframes, thereby bolstering the company's mainframe business; and to merge terminal and PC functions to increase the value of terminal sales.

Market Analysis

Each of IBM's latest products is sold to one of three distinct markets. According to estimates published by IBM, approximately 40 percent of its systems will go to large accounts for business use in 1984; 20 percent to scientists and engineers, mostly with large accounts (companies); and the remaining 40 percent to small organizations and home users.

The PC and XT models are sold to both large and small businesses, where they are used as personal computers, as a small company's

main data-processing system, or as a terminal to a mainframe computer. According to Strategic's 1983 findings, IBM now has 50 percent of this business/personal computing market.

The 3270 PC will be sold in the mainframe-based market in large corporations, primarily for use by managers and financial personnel.

The XT/370 will be sold as a workstation for IBM mainframes, which execute VM/CMS (Virtual Memory/ Conversational Monitor System), an operating system with the fastest growth rate of any of IBM's line. It can already be found in more than 10,000 installations.

Despite strong sales growth rates for the PC and PC XT in the next few years, Strategic's conclusions take into account the products' technological obsolescence. The 640K-byte limit of physical memory and the 8-bit data bus (which inhibits I/O, for example) will become increasingly severe constraints on sales as more sophisticated software is developed and higher performance peripherals are added to the IBM PC. Strategic's user survey found that, while most clients were happy with the selection of software available for the PC, most said they wanted a faster version of the PC. Strategic projects that the current versions of the PC and XT, as well as the 3270 PC and the XT/370, will be phased out by 1987.

Strategic also concludes that IBM's main focus for 1984 will be the 3270 PC. As a combined terminal and PC, this is a stronger product than the XT/370. Furthermore, the product has no direct competition, and its only indirect competition comes from microcomputer companies that provide 3270 emulation on PC-compatible products. But these dp not provide the features of the IBM model.

Although further software developments throughout 1984 may make the XT/370 a more interesting product by integrating it with mainframe systems, Strategic concludes its design has been seriously compro

mised by IBM's basing it on the XT. The 416K-byte memory limit when running in 370 mode will eliminate many CMS programs that would have been useful to middle managers who use mainframes constantly. Furthermore, the maximum (bestcase) performance of only 0.1 million instructions per second (MIPS) and the 4 megabytes of virtual address space will limit its use in some scientific and engineering applications. It will remain useful for developing software on already overloaded systems.

Impact of Competition

Competition from Asia could encroach on 1984 sales of the IBM PC. Already Taiwanese work-alike computers are being delivered to American shores at prices 30 percent lower than IBM's. Furthermore, a number of American companies are manufacturing their computers and products in the Far East. These systems could saturate the personal and small business computer market for IBM's products by the close of 1984, seriously hurting sales in 1985. IBM PC systems with Winchester hard disks are most susceptible to this competition because of a domestic drive shortage. Both Korea and Taiwan are now manufacturing Winchesters.

Strategic does not believe that Far East competition will affect IBM's large accounts or those companies that buy PCs in quantity. But competition will heat up in the small business market, which, according to IBM's own estimates, will account for 40 percent of IBM's business in 1984. However, should foreign firms gain even 50 percent of the U.S. market—a remarkable feat of marketing and sales—IBM's sales would decrease by only 20 percent. The worst effect would be the saturation of the market; that is, supply would grossly exceed demand. This would place severe downward pricing pressure on the entire PC-compatible market and render a majority of the competitors unprofitable.

Fall 1984 • BYTE Guide to the IBM PC

37

Circle 58 on inquiry card.

The Empress

Mainframe Decision Support Software For The Microcomputer

The Empress, from Empress Technology, is a unique software

package for microcomputers which provides Decision Support

Capabilities heretofore found only in Mainframe Report Writing

Packages such as RAMIS and FOCUS. The Empress takes advantage

of the new generation of Micro-Mainframe Chips and their ability to

use large amounts of RAM effectively. Its capabilities take over

where spreadsheets and integrated packages fall short, when writing

complex ad hoc reports using large amounts of data. Most of the

products now on the market lack the capability to manipulate large

amounts of data interactively. The Empress can manage an unlimited

number of records and can sort at a rate of 1000 records per second.

Internal calculations are done with 18 digit accuracy with Decimal

Precision as is required by business systems. The Empress also

provides a user friendly file editor with simple prompts as well as an

interactive report writer which responds to simple commands such as

"List each department with total sales for month July." The Empress

Database Management System effectively puts a Mainframe Decision

Support System on your desk. Most systems will show you how to

get out from under your work. The Empress

will keep you on top of it.

THE EMPRESS DATABASE MANAGEMENT SYSTEM IS

AVAILABLE FOR THE APPLE LISA 2 AND OTHER

MOTOROLA 68000 BASED MACHINES

EMPRESS TECHNOLOGY INC. 510 KING ST. LITTLETON, MA01460 • 617-486-9601

Lisa 2 is a Trademark of Apple Computer Inc.

RAMIS is a Trademark of Mathematica Inc.

FOCUS is a Trademark of Information Builders Inc.

EXPAND

to 280 MB NOW!

For Your IBM PC with Integral 60 MByte Cartridge Tape Back Up.

Up to 280 MByte subsystems available now Volumes and file sizes not limited to 32 MBytes Physical disk can be easily partitioned into multiple DOS volumes

Supports all PC compatible networks

Supports automatic bad sector defect mapping Supports IBM PC, PC/XT, or compatible

Supports PC DOS 2.0, 2.1, QNX, Concurrent DOS and CPM86

Boot from hard disk Menu driven simple one time installation High performance and high capacity at the lowest cost per MByte

&

HERALD

SYSTEMS

CORPORATION

4901 Morena Blvd. San Diego, CA 92117 619-270-1994

IBM PC, PC/XT are registered trademarks of IBM Corporation

Emerald is a registered trademark of Emerald Systems Corporation

QNX is a registered trademark of Quantum Software Ltd.

Concurrent DOS and CPM 86 are registered trademarks of Digital Research, Inc.

FORECAST

IBM has geared up for massive production, which means it is less flexible than competitors in its

response to market requirements. Products with a relatively small market won't be handled by IBM.

this with a network in the future, but this will undoubtedly be a high-cost solution. There is certainly room for a "networkin-a-box" system similar in architecture to that of Molecular Computer's 8-bit systems, since this approach will lead tc lower cost per user than a standard network.

This system should run both networked CP/M-86 and MSDOS, since no multiuser software now exists for MS-DOS systems. Several companies have already demonstrated multiple operating systems executing on a single network.

IBM's PC and XT products were introduced while the Boca Raton organization was still an independent business unit (IBU). Within IBM, an IBU is freed of sharing the R&D cost burden imposed by IBM's establishment. Future products, now handled by the Entry Systems Division, will share the R&D costs, increasing its overhead dramatically. This burden will provide a price umbrella for leaner competitors, even though IBM production is highly automated.

IBM's personal computers don't support many desirable features, for instance, Hewlett-Packard's touch screen and NEC's high-resolution color graphics. Hewlett-Packard has done a notable job in this respect, having signed Lotus to enhance its Lotus I-2-3 package to support the touch screen.

IBM has geared up for massive production, which means it is less flexible than competitors in its response to market requirements. Products with a relatively small market won't be handled by IBM. This leaves room for manufacturers and resellers of add-on and add-in equipment.

More important, the large-scale production, marketing, and future compatibility requirements planned by IBM for the PC line certainly mean that it won't be pushing technological limits. The company is bound by readily available parts. For instance, IBM's marketing requirement for a very low-cost system (the lowest-cost PC and the PCjr) forced the use of the 8088 central processor. This primarily saved IBM the cost of connectors, but permanently limited the computational performance of the system. For a modest cost increase ($50 to $100), IBM could install an 8086 and obtain a 50 percent to 100 percent increase in computational power, relative to the Z80 or 8088. However, IBM's compatibility requirements will prohibit such a change. ■

This article is based on IBM PC User Reactions. Requirements and Plans—1984, a report prepared by the staff of Strategic Inc.. San lose. California, and used with the company's permission. Copies of the document, released in December 1983, are available through the corporation at 4320 StevensCreek Blvd.. Suite 215, San lose. CA 95157.

38

BYTE Guide to the IBM PC • Fall 1984 Circle 57 on inquiry card.

Here's a tax preparation software system we're practically giving away.

*

N^£

!*&*>

xr*c

It's our annual post-tax season sale! A Micro-Tax 1983 professional tax preparation system... regularly $1,000 during the current tax year... is yours for only $58.

Prove to yourself how your in-house microcomputer can eliminate the drudgery of manual tax preparation and generate more profits for your business. A $58 investment in a 1983 Micro-Tax software system will convince you.**

Micro-Tax is compatible with your IBM PC*, IBM XT*, DEC Rainbow*, and most other personal computers with CP/M*, PC DOS* or MS DOS*. For specific hardware and software requirements, contact us at 1 (800) MCROTX or 1 (214) 934-7000.

Look what this system can do: • Computes and prints over 30 Federal Individual schedules and forms for multiple clients.

/ * '

S58°°

• Provides several print optionsincluding laser, for in-house creation of forms identical to IRS forms.

• Computes tax depreciation by individual asset items or groups, as well as handling the accelerated cost recovery system.

• Automatically computes underpayment penalties, self-employment and alternative minimum taxes, and income averaging.

There are more time- and costsaving features to MicroTax. "Hands-on" experience with our 1983 system will convince you. You'll see how next year will be your most profitable tax season ever.

You have the options of our full Federal Individual, Partnership, Corporate, or integrated State package, each for the same low price.

Refer to chart for systems available, then send in the coupon with your check, Visa, or MasterCard today for immediate delivery.

1983 SCHEDULES AND FORMS INCLUDED

FULL FEDERAL

MICRO-TAX'

MICRO

COMPUTER

SYSTEMS

A

1

|

|

O id

<

a

§

?.

1

|

I

I

i

ft

5

%

1

i

i

i

\

i

|

i

i

5

5

J

£

1

I

£

I

!i

81

|

i s

PROFESSBHM;

INDMDUA1

PACKAGE

•

■

•

•

•

•

•

■

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

PARTNERSHIP PACKAGE

•

•

■

•

•

•

•

•

•

CORPORATE PACKAGE

•

•

•

•

•

•

•

•

•

•

•

•

•intooiatod Stout Tax Ronjin)avoHaCl0 *0<d»s takentor yeatfyupoale packogei • At fotmi ana KftecUM subtoci 10 (IS chonaea la 1984 lax yeai.

/MICROCOMPUTER TA>£SYSTEMS,INC

A wholly owned subsidiary of Computer Language Research, Inc.

S

•CP/M: a trademark of Digital Research Inc.; DEC Rainbow: a trademark of Digital Equipment Corp.; MS DOS: a trademark of Microsoft Corp.; PC DOS, IBM PC, and IBM XT: trademarks of IBM.

•Does not include updates or revisions.

Circle 113 on inquiry card

Mail to: Micro-Tax CLR, P.O. Box 111012 Carrollton, IX 75011-1012 Phone: 1 (800) MICROTXoM (214) 934-7000

Please send me the 1983 Micro-Tax microcomputer tax preparation packages (Reg. $1,000 each) checked below for $58 each. California residents add 61/2% sales tax.

□ Professional Individual Package $58

□ Partnership Package $58

□ Corporate Package $58

□ State Package (Where available) $58

Name of State

a cp/m a pc dos dmsdos

Make of your computer:

Name:

Total.

. DisksizeL

Street:

City/State/Zip:

Phone:( )

Check for: $ made out to Micro-Tax, enclosed.

DVISA D MASTERCARD Expiration date:^^J__/

CnrdNo I I I I I I I I I I I I I I I BYTE

Signature:

ORDER BY MAIL OR CHECK WITH YOUR LOCAL SOFTWARE DEALER.

MBA

jfCO I

. '. ■':. : ,.

'"-"""-•••*

■ 1 '

B *

""""W-HrlKiM1

■i

BH^SSSBI

.

H ^h

1

1

■1

r .- ... , . .

WJBWMB I

PrintegratecL

Now, translate your integrated software into integrated hard copy, with the TI OMNI 800™ Model 855 printer. So versatile, it combines letter-quality print, draft-quality print and graphics as no other printer can. It prints letter-quality twice as fast as comparably priced daisy wheel printers, yet gives you characters just as sharp, just as clear. It prints rough drafts ten times faster than daisy wheel printers... faster than most any other dot matrix printer. Only the TI 855 has snap-in font modules. Just touch a button; change your typestyle. The 855 gives you more typestyles to choose from than ordinary dot matrix printers. It makes them quicker, cleaner, easier

to access than any other dot matrix

or daisy wheel printer.

The 855's pie charts are rounder...

all its graphics are sharper than on other dot matrix printers, because the TI 855 prints more dots per inch. As for daisy wheel printers... no graphics.

TheTI 855

Printer

The printer for all major PC's

For under $1,000 you get twice the performance of typical dot matrix printers. Or all the performance of a daisy wheel printer, and then some, for half the price. So get the best of all printers, and get optimum results from your integrated software. With the TI 855. See it at your nearest authorized TI dealer. Or call toll-free: 1-800-527-3500. Or write Texas Instruments Incorporated, P.O. Box 402430, Dept. DPF-183BY, Dallas, Texas 75240. ■ .

Texas ^r Instruments

Creating useful products and services for you.

OMNI 800 is a trademark ei Texas Instruments Incorporated Copyright © 1984 Texas Instruments Incorporated. 2763-36

STALWARTS:

THE IBM PERSONAL COMPUTER, PC XT, PORTABLE AND PCjr.

Machines within the Machines: Operating Systems A Tale of Two Operating Systems

by Charles Daney and Tom Foth 42

The Future of UNIX on the IBM PC

by Ralph A. Phraner 59

Five Window Managers for the IBM PC

by lohn Markoff 65

Manners of Speaking: Programming Languages Two Logos for the IBM PC

by Morton Goldberg 91

The Logical Record Keeper: PROLOG on the IBM

by lames L. Weiner 125

An Introduction to PC Assembly-Language

Programming

by William |. Claff 134

Ways of Working: Applications and Programming Technical and Business Graphics on the IBM

by lack Bishop 155

Word Processing Revisited

by lanet Cameron 165

Six Database-Management Systems for the IBM PC

by David Kruglinski 187

Evaluating 8087 Performance on the IBM PC

by Stephen S. Fried 197

42 • BYTE Guide to the IBM PC • Fall 1984

by Charles Daney and TbM Foth

TALE OF TWO OPERATING SYSTEMS

Confused about the virtual memory operating system in the new XT/370? Compare it to Microsoft's PC-DOS

In October 1983, IBM announced a new member of its personal computer family, the XT/370, the first desktop design of IBM's mainframe 370 architecture. At the same time, IBM introduced the VM/PC (Virtual Machine/Personal Computer) operating system to take advantage of this new hardware.

VM/PC shares many characteristics with the mainframe operating system known as VM/370—and has several new features as well. The main thing that these two operating systems have in common is known as CMS (Conversational Monitor System).

In VM/PC, CMS acts as the user interface and provides application support facilities, just as it has ever since its first incarnation as a part of CP/67, the predecessor of VM/370, nearly 20 years ago.

We'll focus our comparison of CMS and PC-DOS from Microsoft on three different areas: the file system, command procedures, and system modification and extension. Bear in mind, too, that while Microsoft's PC-DOS is always working in your PC XT/370-even if only for I/O (input/output) operations—VM/CMS is invoked only when you are operating as, or networking with, a System/370 mainframe.

(continued)

Charles Daney (19567 Dorchester Dr., Saratoga. CA 95070) is a senior scientist at Tymshare Inc. Tom Foth (260 Sunset Ave. Fairfield. CT 06430) is part of senior technical support for the Adesse Corp.

LLUSTRATION BY STEVE SALERNO

Fall 1984 • BYTE Guide to the IBM PC

43

TWO OPERATING SYSTEMS

The most important function of an

operating system is maintaining

file systems.

File Systems

Probably the most important function of personal computer operating systems is maintaining file systems. The file system encompasses the conceptual layout and partitioning of disk space, the allocation of data files, the facilities for reading and writing data (sometimes known as "access methods"), and the "catalogs" or "directories" available to the user for keeping track of the files.

PC-DOS assigns letters to disk drives, whether fixed or floppy, as drive identifiers when the system is booted. Although you can change drive letters with the ASSIGN command, the manual specifically recommends against this. Under PC-DOS it's impossible to assign two or more identifiers to distinct parts of the same physical drive.

The mainframe version of VM/CMS assigns virtual disk drives to contiguous portions of disk space on the same physical drive or drives. This space is managed by the control program so that virtual drives appear to be separate devices to CMS, each having its own distinct address. In the 370 architecture, device addresses are three-digit hexadecimal numbers, ranging from 000 to FFF. Hence, 4096 (decimal) possible devices exist, not all of which, of course, are physically present.

Similarly, the VM/PC control program in the XT/370 creates for CMS the illusion of separate devices at specific addresses. These virtual disks are maintained in separate PC-DOS files. Such files can be on either fixed or floppy disks. For example, the virtual disk at address 101 belonging to the user FRED has the name FRED.101.

Because these files are in PC-DOS format and VM/PC actually uses DOS facilities to read and write them, they can be copied, renamed, backed up, and manipulated in general by standard DOS utilities.

CMS data, however, is in a binary format, EBCDIC (Extended Binary-CodedDecimal Interchange Code), the IBM alternative to ASCII (American Standard Code for Information Interchange), meaningful only to CMS. Therefore, editing or displaying the contents of these files from DOS is not usually productive. But you can very easily move files back and forth between CMS and DOS with the CMS IMPORT and EXPORT commands. These are similar in form to a COPY command except that either the source or the target file is in CMS while the other is in DOS. Options allow for the different end-of-record conventions of CMS and DOS, and conversion between ASCII and EBCDIC is automatic unless suppressed.

As under PC-DOS, these virtual disks are given a file mode letter using the ACCESS command, and the virtual disk cannot be subdivided further with different modes. However, you can change mode assignments any time or assign several different mode letters to the same device. Certain addresses are automatically accessed when CMS is started. For example, the 101 disk becomes the "A" disk by default.

The letter identifier in CMS has a further significance beyond that in PCDOS: it defines a default "search order." Typically, a command or system utility will search all accessed disks for a requested file whose "mode" is not specified, and the order of search is determined by the alphabetic sequence. This enables the user to keep several versions of the same set of files on different virtual disks and to control which version will be used. Disks "higher" in the search order (toward A) need only contain a subset of all files, consisting of the most recent versions. This function is much like the DOS PATH command, but applies to all file searches.

File Storage

In both CMS and PC-DOS, files are not stored contiguously on a disk. Instead, a file consists of a number of physical blocks, which can, in principle, be located anywhere on the disk, a definite advantage over earlier operating systems that required a file to be stored as a single segment (or at most a very small number of segments). Files, therefore, need not be preallocated at some fixed size, but can instead grow (or

possibly contract) as required. There is some performance penalty for this, however, in that blocks widely scattered on a disk can cause excessive head movement. In addition, a fair amount of bookkeeping is required to associate disk blocks with files.

In PC-DOS, the most fundamental unit of allocation is the sector, a block of 512 bytes. Different drive types can be formatted with different numbers of sectors per track depending on their physical capacity. For example, PC-DOS on the IBM PC writes either eight or nine sectors per track on floppy disks and 17 sectors per track on a hard disk.

Specific sectors are associated with specific files by means of the fileallocation table (FAT). A FAT is a linear array of entries that are in one-to-one correspondence with space-allocation units on the disk. The space-allocation unit, called a cluster, can be different sizes depending on the type of disk. On a single-sided floppy disk, there is just one sector per cluster, but on a doublesided floppy disks there are two. On a 10-megabyte hard disk, eight sectors per cluster exist. This apportionment is used to keep the total number of clusters, and hence the size of the FAT, small.

The root file directory is a separate table consisting of control blocks, one per file. One field in each control block is the index of an entry in the FAT. This entry corresponds to the first cluster of the file, and it in turn points to another entry of the FAT, which represents the second cluster of the file, and so on.

The PC-DOS design of the FAT places certain limits on the file system. In particular, because each file must have at least one (and usually more) entries in the FAT, there can never be more than 4096 files on a disk, no matter how large it is or how many subdirectories are used.

The FAT design places even more severe limits on the number of files that appear in the root directory. This directory is allocated with a fixed size for a given drive type, and it can never be extended. For instance, on a 10-megabyte disk, the root directory is formatted with just 512 entries. Subdirectories do help to make this limit more flexible, however.

By comparison, the CMS file-alloca

[con I inued)

44

BYTE Guide to the IBM PC • Fall 1984

*£?£

o*?****

«*&***

***1&X

HP v tf*

^

s <^*^

5- tqoO^

QUANTITY,

/ / /SYSTEM

/economy/-/manufac

/ /TURER i

/RELIABILITY

QUALITY

„cv 9sO?A

tot ^ xpW U c3^ *

IBM is a registered trademark of the International Business Machines Corporation circle 10 on inquiry card.

Circle 30 on inquiry card.

IBM-PC or PC compatible IEEE-488 INTERFACE BOARD

IEEE - 488

VERSATILE

• Implements the entire IEEE-488(GPIB, HP-IB) standard with high-level commands and standard mnemonics.

• Resident firmware routines support interpreted and compiled BASIC, Pascal, C, and other languages.

- Supports Lotus 123 and most wordprocessing programs.

One board drives any combination of 15 IEEE-488 peripherals.

• Emulates most Hewlett-Packard controller functions and graphics language statements with single line BASIC statements.

Supports Tektronix'"' Standard Codes and Formats.

Small size - fits the PC/XT short slot. FAST

Burst DMA 800KB/sec Continuous DMA • 300KB/sec

PROFESSIONAL

i Clear, concise documentation includes a complete tutorial and source code for interactive bus control, bus diagnostics, graphics plotting, and many other applications.

$395 complete.

extra software charges.

There are no

CAPITAL LQUIPMIZNTCORR

10 Evergreen Avenue

Burlington, MA. 01803

(617)273-1818

IBM is a trademark of International Business Machines Corp. Lotus 123 is a Iradumark of Lotus Development

TWO OPERATING SYSTEMS

tion mechanism is more complex and overcomes most artificial limits on how many files can be stored on a disk (see figure 1). In CMS, the basic allocation unit is called a block. You can select a block size of 512, 1024, 2048, or 4096 bytes when you format your disks. The smaller number allows for many smaller files without much wasted space, while the larger size permits somewhat faster disk access.

The CMS file directory is similar to that of PC-DOS in that it consists of control block entries, called FSTs (file status tables), describing each file. However, in contrast to PC-DOS, the CMS file directory is not fixed in size. Instead, it is itself just a file, and because there are very generous limits on the size of a file, the directory imposes no practical limit on the number of files a disk can contain. Of course, because any file occupies at least 512 bytes, 10 megabytes of disk space could contain at most about 20,000 files.

Unlike PC-DOS, CMS does not use a fixed-size table like the FAT to map the association of blocks with specific files. Instead, it uses a tree structure. Suppose the disk block size is 1024 bytes, if the file consists of only one block, the FST points directly to the block. If the file has more than one block, the FST points instead to something called a pointer block, which will be 1024 bytes long. Blocks are addressed by full 32-bit words. (Because the high-order bit is a sign, the largest positive number is 231 - 1, so more than 2 billion blocks can be addressed, 1000 times more than enough for today's largest disks.) Thus, one pointer block can refer to 256 additional blocks. For a larger file in excess of 2 56 blocks, CMS adds a secondlevel pointer block that in turn points to as many as 256 first-level pointer blocks, which point to the file's actual data blocks. Hence, with two levels of pointer blocks, a file can contain as many as 256x256 = 65,536 data blocks. With four levels of pointer blocks, a file can contain more than 4 billion data blocks, which exceeds the number that can be addressed.

Given this technique of associating blocks with files, it's confusing to determine which blocks of a disk are in use. Therefore, information about which disk blocks are actually allocated is kept separately in a system file called the

allocation map. In this file, each bit corresponds to exactly one disk block, and the bit is on if and only if the block is in use (as a file, or pointer block, or whatever). Thus one block of 1024 bytes can describe the allocation status of 8192 other blocks, which is a fairly small overhead ratio.

CMS updates its directory information with a dual-directory technique that never overwrites the old directory. It does this without doubling the amount of space that must be reserved permanently for the directory. By reserving just two disk blocks, including the first block of the directory file which contains the FST entry for both itself and the allocation map file, CMS determines the complete allocation and file information for the whole disk. As the very last step of any directory update, a single record is written in the disk label that indicates which of the two possible blocks is the first of the directory. If a directory update should fail at any step before the last record is written, all of the old information is still intact because it has not been overwritten, and the effect is as if no change at all had occurred. Once the label record is written, all of the new information is in effect. This new information indicates, incidentally, that the old directory data blocks are no longer allocated, so their space isn't wasted.

CMS uses exactly the same technique for writing data. That is, when records are updated in a file, they are always rewritten to a different, unallocated disk block. Only when the file is closed and the directory is updated does this new data "officially" become part of the file. This provides some measure of safety against a database being destroyed due to a power failure, for example. But it also requires that more disk space be available whenever files are updated extensively.

Reading and Writing Files

The third aspect of an operating system's file management is its facilities for reading and writing files. CMS and PCDOS have different file structures. In the latter, at least at the operating system level, a file is usually treated as simply a string of bytes. That is, the file itself does not, in the operating system's view, have a structure consisting of individual records. Instead, the file can be read or

46

BYTE Guide to the IBM PC • Fall 1984

TWO OPERATING SYSTEMS

written sequentially a byte at a time, or it can be accessed randomly by absolute or relative byte number. This method was expanded in version 2.0 of PC-DOS, which introduced new function calls without the "file control blocks" that had forced the programmer to treat files somewhat artificially, as if they were grouped into blocks of 128 records. (At an application level, of course, the file may well have a record structure defined in a variety of ways, such as fixedlength records, embedded record delimiters, etc.)

The CMS file system recognizes two kinds of record structures: fixed-length record format and varying-length. As in PC-DOS, it would be possible to simulate a file as a string of bytes by using a fixed-format file with a record length of one, but this is usually impractical. Furthermore, embedded record delimiters are never used to separate varying length records in a file. The file system keeps track, transparently to all programs, of record positions, a great convenience because applications need never scan for delimiters on input or supply them on output.

A number of slightly different system calls are available in PC-DOS for reading and writing files. Many were in existence before version 2.0 of DOS, and an even larger number were added in that version. The older calls used a parameter list called a file control block (FCB), which required the programmer to deal with an artificial block and record structure even if no record structure really existed in the file. Version 2.0 simplified this by eliminating the FCB. Instead, version 2.0 supplies the file's name (together with optional path) to the "open" function call and returns an identifier called a "file handle" if the operation is successful. This file handle identifies the file in subsequent function calls. The function calls are simplified, basically, to read or write some number of bytes starting at the current position in the file or at a designated position. PC-DOS makes a distinction between "opening" a file, which can be done only on an existing file, and "creating" a file. Recreating an existing file resets it to zero length.

CMS makes no such distinction between opening and creating a file. In fact, you don't even need to open a file

[continued)

riM

TOUCHDOWN1 KEYTOPS - $18.95

genuinely helpful productivity tool!"

Jim Seymour: MicroBusiness

Enlarge maj

control beys for

IBM PC, PC/XT, PC Portable,

IBM 5291 Display Station and

most PC compatibles. Specify

model and color: Black or IBM Grey.

ILLUSTRATION: IBM PC TOUCHDOWN KEYTOPS IN BLACK

E-Z TOUCH FULL CONTACT

ASK FOR TOUCHDOWN KEYTOPS OR TOUCHDOWN OVERLAY KITS AT YOUR NEAREST COMPUTER DEALER OR ORDER DIRECT:

$18.95 (*5520 and Dvorak kits are $24.95). U.S. orders add $2.00, Int'l add $3.50 S/H: AZ residents add 5 % sales tax.

HOOLEON COMPANY Dept. B PO Box 201 Cornville, Az. 86325

VISA/MC CALL (602) 634-4507 or 634-4503

Dealer and Custom Order Hotline: 634-7517

« -j.

NEW! TOUCHDOWN™ KEY OVERLAY KITS - $18.95

Re-assign commands on your PC key tops for Dvorak,*

Wordstar, DisplayWrite 2 and other software. Also

for 5251/5291 or 5520* emulation. Overlays are

transparent: original commands show through.

Rigid, non-glare overlays look and feel like original

keytops. Do-it-yourself and blank overlay kits are

also available.

TOUCHDOWN CUSTOM OVERLAYS

Re-word key tops to match your software package

Choose your colors! Call or write for info.

Circle 81 on inquiry card.

TWO OPERATING SYSTEMS

The CMS file

system recognizes two kinds of record structures.

explicitly. A file will automatically be opened the first time it is read or written. In keeping with the record-oriented operation of CMS, the file calls specify record numbers rather than byte addresses. Although a parameter list must be supplied with the file calls. CMS provides assembler macros to make life easier.

The concept of fixed or variable record formats and the association of specific logical record lengths with CMS files tend to complicate writing general utility programs that must handle a wide assortment of input files. However, an alternative set of system calls, known as

GET and PUT, mask some of this complexity (while introducing complexities of their own). Although they include a number of somewhat exotic options, in their simplest form they shield programmers from concern with the specific format of the file with which they are working. Some of the more useful options give the programmer control over system buffering, which affects performance.

But the most interesting concept that GET and PUT introduce is a level of indirection in file naming. Instead of referring to files in terms of their "real" names, GET and PUT always refer to an eight-character logical name. At run time, this logical name is associated with a real file by means of the FILEDEF command. FILEDEF can also specify other parameters and options, but its most useful function may well be its ability to redirect I/O operations to devices such as the user's console or to a printer. This provides much the same capability that is offered by "standard

input" and "standard output" options in PC-DOS, namely, the ability to write programs that are indifferent to the source or destination of their data. The CMS advantage, of course, is that there can be any number of such "standard" devices instead of just two.

Directory Structure

PC-DOS's 2.0 hierarchical directory structure is clearly superior to CMS's. The only advantage of the CMS file directory (apart from its clever implementation) is that it allows file extenders to be eight characters long, instead of the three permitted by PC-DOS. (Each system allows the standard eight-character filename.) Still, 16 characters to fully identify a file is quite meager. In CMS, the only available techniques for logically grouping related files are naming conventions and keeping them on separate virtual disks. Neither approach is particularly satisfactory, either aesthetically or in

[continued]

•FIRST SECTOR OF DISK

HLUUK Uh ALILKN

OF CURRENT DIRE!

1 FIRST BL

1 OF DISK

Al t UIKt

CI OF

Y

OCK

1

1

1

1 J

1

PC-DOS DISK ALLOCATION UNITS ARE SECTORS

CMS DISK ALLOCATION UNITS ARE BLOCKS

KEY:

□

BOOT RECORD

DOS FAT

CMS ALLOCATION MAP

□

DOS ROOT DIRECTORY CMS DIRECTORY

DATA FILE

DOS SUBDIRECTORY

CMS DISK LABEL

Figure 1: A comparison of PC-DOS and CMS disk allocation.

48 • BYTE Guide to the IBM PC • Fall 1984

4

A

ivpurt

ssacxm

write

SIMPLE.

".

SIMPLY POWERFUL.

Basically, we agree with PFS® If you're looking for some power from software that's essentially simple, there are several PFS packages you might look at.

But if what you really want is genuinely powerful software, that's also simple to use, you'll do better with one new package from Alpha®

It's called Electric Desk™ and it's word processing, spreadsheet, communications and file management with report writing, all in a single integrated program. What's best, you can run them all at the same time, because it's all on a single disk.

So you not only get to do more work

with one Electric Desk than with several ==■ /

PFS's. You also get to do things PFS simply f £ can't. Like jump instantly from a letter to a budget to a customer list, over to a stock

report and back, with just a couple keystrokes. PFS makes you save files, change disks and waste a lot of time if you want to do anything like that.

Plus Electric Desk lets you do something else that's never been done before—save money. Because for $345.00* you get a complete IBM PC/XT version of Electric Desk with all capabilities included. That's far more computing power than PFS delivers in a handful of packages for about S600.00*

So before you decide on software for your business, compare. We think you'll agree. When it comes

to serious software, it's not how simple Ly^ you make it. It's how you make it simple. ='/= Electric Desk. It's the new force in

/^t software simplicity.

Also available for the IBM PCjr, for S295.00.

ALPHA

SOFTWARE CORPORATION

'Based on manufacturers' suggested retail prices. Electric Desk is a trademark licensed lo Alpha Software Corp. by Electric Software, Inc. Alpha Software Corp, is a registered trademark. PFS is a registered trademark of Software Publishing Corporation. IBM is a registered trademark of (he International Business Machines Corp, © 1984 Alpha Software Corporation, JOB St., Burlington, MA 01803.617-229-2924

Circle 9 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

49

TWO OPERATING SYSTEMS

practice.

By contrast, the hierarchical PC-DOS structure gives each physical disk a root directory, created when the disk is formatted. The root directory can contain subdirectories, which can, in turn, contain other subdirectories. The complete list of directories from the root to an actual data file is known as the "path."

Such hierarchical structures tend to be more difficult to use, especially for those not very familiar with computers. By defining multiple subdirectories, finding a file can often become a minor project. But on balance the structure is most useful.

Unfortunately, although the concept is excellent, the programming of hierar

Beyond

Board-Driven

Networks

MultiLink'" is a unique networking system which doesn't require costly "Network Interface Boards." Instead, it transforms ONE IBM PC/ XT■"■ (or compatible) into the CPU of a multi-tasking, multi-user network.

Four Workstations for the Price of One . . . with a SoftwareDriven Network. With MultiLink'", you can utilize up to eight inexpensive terminals as workstations. Four of these terminals cost less than one PC.

MultiLink'" runs under all releases of PC-DOS'" (except 1.0) and certain implementations of MS-DOS''. A wide range of leading programs which include WordStar", Lotus 1-2-3'", Peachtext 5000'", and dBASE II" are fully supported.

A Resource-Sharing System. Multiple users are able to access all of your computer's resources, locally, or from remote locations using a terminal with a modem. Features include disk, file, and programsharing; a dial-in bulletin board, and a comprehensive print spooler.

Make the MultiLink" Connection Today. Call The Software Link TODAY, and get the whole story. MultiLink'" is immediately available for $295 and comes with a money-back guarantee. VISA, MC, and AMEX accepted.

THE SOFTWARE LINK, INC.

8601 Dunwoody Place. Suite 336, Atlanta. GA 30338 Telex: 4996147 SWLINK CALL: 404/998-0700 m Dealer Inquiries Invited

* ft

MultiLink"" is a trademark of The Software Lin

courtesy of QUME

chical directories in PC-DOS has one glaring deficiency: only one directory at a time is the "current" directory, and only its files are ordinarily visible to programs. The PATH command circumvents this problem for the specific case of finding programs to load by allowing the user to specify which directories should be searched, and in which order. It's too bad that the same concept wasn't applied uniformly to all data files. As a consequence of this oversight, certain data files have to be copied into a number of directories.

Command Procedures

Most operating systems provide some sort of command procedure that enables you to group together in a file sets of commands that are used repeatedly to perform some more complex task. PC-DOS treats this as a minor feature. For example, the IBM DOS manual devotes about 20 pages out of more than 600 to the BAT (batch) facility. The analogous facility in CMS is treated at length because of its greater power. Although the following section of the PCDOS/CMS comparison is slanted toward CMS, these command groups help to explain much of the popularity of CMS.

You can think about batch facilities in various ways. The simplest is the idea of putting commands that would ordinarily be typed on the console all in one file The command interpreter then simply reads from the file instead of the console in order to drive the rest of the system. Indeed, this is exactly what "batch" implies: the term evolved from the earliest days of computing, when a sequence of programs could be specified in a "batch job" for unattended execution.

In an interactive, as opposed to a true batch environment, other uses of command groups are possible. For instance, command procedures (as they would more properly be called) can be used to reduce the amount of typing required by associating a complex sequence of operations with a single name.

Though PC-DOS batch files can contain sequences of commands, and one batch file can transfer control to another, one file cannot call another as a subroutine PC-DOS batch files can deal with parameters passed to them but otherwise do not have variables. PC

50

BYTF Guide to the IBM PC • Fall 1984

Circle 177 on inquiry card.

TWO OPERATING SYSTEMS

DOS includes some very primitive forms of IF, FOR, and GOTO control structures. Finally, PC-DOS batch files can display remarks to the user, but they cannot accept input.

In CMS, command procedures are called EXECs. Like the PC-DOS batch language, an EXEC includes system commands, parameters, and a means for communicating with the user (input as well as output). You can use named variables (with as many as 2 5 5 characters). Certain variables are predefined, like the date, time, and the return code from the last command executed. An EXEC generally treats variables like character strings unless you are using arithmetic operations. You can, of course, assign and compare variables. EXEC provides a wide range of built-in functions with special emphasis on pattern matching and string manipulation. Certain types of commands control procedure execution, including basic operations like looping, testing, and branching. One EXEC can call another as a subroutine a fair number of times, and recursive calls are permitted. EXEC also enables you to call internal subroutines and provides error handling and debugging.

The only thing EXEC lacks as a general programming language in itself is a provision to handle arrays of one or more dimensions. You can contrive a somewhat clumsy substitute by constructing variable names dynamically. The control structures are not as nice as those found in a language like C (that is, there is no IF-THEN-ELSE or SWITCH, etc.); nevertheless, for a great many purposes, EXEC can be used for general programming. CMS users tend to employ EXEC procedures routinely, just as PC-DOS users employ BASIC, so much so that the EXEC facility is far more analogous to BASIC than it is to BAT.

Problems with EXEC control structures will be eliminated when the latest version of the language, now called REXX (restructured, extended executor) becomes available in VM/PC as it is already in VM/370. In addition to improved control structures, REXX is capable of even more powerful pattern matching and string manipulation. It also supports "infinite precision" arithmetic on numbers of arbitrary length. For instance, with a single REXX

command you can parse a data string according to a specified model. REXX also includes extensive debugging aids and function libraries.

One final and important difference in command procedures is that you can't use a PC-DOS batch file to override a command of the same name because the executable command will always be called first. On the other hand, in CMS anyone can write EXEC command procedures that will replace ordinary commands of the same name. This gives users a great deal of control over command naming and syntax.

The Console Stack

The CMS console stack is an input buffer. Commands can communicate with each other and with EXEC procedures by reading from the buffer. Many of the most common CMS utilities optionally deliver their output to the stack instead of displaying it to the user. This enables EXEC procedures to determine file characteristics, for example, or to query the system flags. A command called EXECIO even enables EXEC procedures to read and write files via the stack.

The "pipe" is the most powerful interprogram communication technique in PC-DOS. A pipe defines the output of one program to be the input of another. By means of pipes many simple utilities (called "filters") can be combined to build useful applications. Unfortunately, PC-DOS pipes are very inefficient because all they do is pass the data through an intermediate disk file. Programs have had that option all along. Pipes, in a UNIX operating system—from which the technique derives—pass data directly from one program to another.

In addition to parameters, return codes, and the stack, programs and EXEC procedures can communicate through global variables. These are simply named character strings maintained by CMS in any number of separately defined sets and are easily accessed from both programs and EXEC procedures. At the user's discretion, these global variables may remain defined during one session only, or across multiple sessions. Yet another interface enables a program to read and write variables in the EXEC that called it.

Again, PC-DOS has a function similar

to CMS global variables, known as "environment strings." These, however, are defined only until DOS is reloaded. Furthermore, their use is restricted, and higher level language programs or BAT files cannot access these strings easily.

Returning to the original idea of a command procedure—a sequence of commands executed from a file instead of being typed at the console—you may realize that this procedure can apply to any command-driven interaction, not just the operating system command handler. Editors, database managers, communication programs, and indeed most other applications of any complexity are driven by their own private set of commands. Many such programs have their own batch processors. With EXEC in CMS, these private command sets are unnecessary because, by using the CMS subcommand interface (SUBCOM), such applications can use the EXEC interpreter to handle their own command language for them. In addition to making it easier to develop applications, the subcommand interface makes life easier for end users by requiring them to learn only one procedure language.

The text editor provided with CMS, called XED1T, makes good use of SUBCOM (subcommand) in a number of ways. XEDIT EXEC procedures, also known as macros, allow users to tailor the editor command language to their own preferences. Although XEDIT is not a true word processor, many procedures have been written as macros to perform word-processing functions.

You can use XEDIT to manage the display screen because of its built-in fullscreen primitives and its interaction with EXEC command procedures. You can also use XEDIT in applications that have little to do with editing. For instance, the CMS FILELIST command, a full-screen file-directory management utility, is built on XEDIT.

Operating System Tailoring

EXEC command procedures, and even BAT files to some extent, are available to all users for customizing an operating system. In both PC-DOS and CMS userwritten programs can be used in much the same way as system commands, so extending the operating system by adding new commands is quite easy. In both

(continued)

Fall 1984 • BYTE Guide to the IBM PC

I

Atlanta, Charlotte, Washington D.C.

i^$gjii

-XBD

Floppy Disk Drives

TANDON TM 100-2 &tt»?

CALL FOR QUANTITY PRICING

Vi HT. DISK DRIVES topnames

SOUTHS LARGEST SUPPLY'DEALER INQUIRIES INVITED

$209 $179

^F Networking/Protocol Conversion

PC Turbo by ORCHID

80186 Co-processor Board • Speeds Up PC 5 Times

IRMA ffi£I?&™ pcs/IRMALINE

D/^ Dlrtfr^m 64-384K Multifunction Board rL DlOSSOlTl W/Opt. PCnet Interface

BLUE LYNX 5251/3276 EMULATOR

CADTC r\ATA 3278/3279 Emulator w/SIIIG, T^JKl II UA1A Graphics Capability

SNA &BISYNC* 3780, 5251, 3274

neffQl Printers

AMDEKAMPLjOrn^T*'.2! . . $799 Houst. Inst. Plotters & Digitizer . . CALL!

DOT MATRIX

EPSON FX80 & 100 [Uo<* . . . Best Price!

EPSON RX80T or F/T Best Price!

EPSON RX100 Best Price!

EPSON LQ 1500mEawD!off5atrr?xuai!ty. . Best Price!

ProWriter $339

Prism Color J^SWSffi32.0? $1495

OKIDATA 92 & 93 ?6potc,PBsMProm5. . Best Price!

OKIDATA ML84 20ocPs Best Price!

OKIDATA 2410 Pacemarki35ocps, . . Best Price! TOSHIBA P-1351 & 1340 . . .Best Price!

(jklVl 1 IN I Full Line of StarMicronic Printers . . . . Starting at J.OJ I.I. 855 24 WIRE PIN HEAD. NOW IN STOCK! . . BeStPHCe!

NEC P2 & P3 ,8ocPs Best Price!

DIABLO P38 Hoocps, $1695

LETTER QUALITY

NEC SPINWRITERS 2050 355o&773oBest Price!

DIABLO 620 630 630ecs Best Price!

C-ITOH IrKL^r4^) $1055/$1455

QUMElKTii^^I Best Price!

LQ FeederS NEC3550&C-ITOHStarwriter SAVE!

52 • BYTE Guide to the IBM PC • Fall 1984

^ I Chips

CALL FOR QUOTE ON QUANTITY CHIP PURCHASES

IN 1 EL 8087 High Speed Math Coprocessor 175

64KRAMCHIPS $55/$159

I64K-9 Chip/Upgrade Kit) 11 92K-27 Chip/Upgrade Kit)

O Hard Disks

Peachtree Peripherals

P10

Industry's Best Buy • 10 Meg/F.

Auto Boot'Runs W/Out Ext. Power

Internal or External Installation

10 & 20 MEG/F W/Streamer Tape Faster Streaming & Formatting .

SYSGEN

INI 17 A V Bernouli Box • 10 MEG Removable UNrrVA Cartridges • Double Drives . . .

DAVONG 10 MEG/F ,c

External

SYSGEN IMAGE fSGZSRg^1*

CALL! CALL! CALL!

CALL!

CALL!

ALL NAME BRANDS AVAILABLE NOW! BEST PRICES!! IF YOU DON'T SEE IT

Multifunction Boards

IIIT'DA DA l/Monosraphics'Serial Portlsl'Par. Port r""1 A I I I

ULI lVT\ 1 rVIVExpand. RAM (384K|«Floppy Cont.'Opt. ColorV~/\LL!

ft 1 "384 K Ram Disk«Spooler«Opt. Game Pt. . . BeSt PHCe!

#1 MuItiCardw,aoxpfcuanmce'pr'UKI. . . .BestPrice! #1 I/O Card &t&FKfcft"<S5,. . . Best Price! QUADBOARD Newversion64-384k . . Best Price!

CAPTAIN ByTecmar.64-384K $269

SEATTLE RAM + 3 Sft'SSSSW $199

J-RAM II 512K Multifunction BeSt PHCC!

PROFIT Systems ^'pLsEHte . . .$299/$680 BABY BLUE II RAMdisk«spooie^lkra software Best Price! PC BlossomORCHIDs6"Pakclonewith

Optional PCnet Piggy Back . . . Starting at SANDSTAR

$275

MAYNARD KTHardD.skConm,llerCardsBeSt PHCe!

□ Miscellaneous

Keytronics 5151 n™ improved CALL!

N^nilCC Optical Type LOTUS & Vision Compatible ST/AO

IVlVJUotL By Mouse Systems ZUV

niDTIC Monitor Pedestal (-> \ [ f I

^-Ul\l ID Keyboard Extension Cable. Monitor Extension Cable V_/\LLj:

M1CROFAZER (8K-128K) Stack Spooler

Starting at

139

BACK UP Power Supply 200/425/625 waosCALL!

ICnDAD Surge Protectors'With Great Filtering Via Isolated SCC

IJUDAIX Outlet Pairing»4 & 8 Plug Starting at J J

Advertised cash prices subject to change without notice.

THE SERVICE LEADER! * CORPORATE BUYERS WELCOME

Tampa, Ft. Lauderdale, Orlando, Louisville, New Orleans

s299

Microsoft Project

ACCOUNTING

lUo A.R.. A.P.. G.L.. Inventory, Order Entry. Payroll . . Starting at

Peachtree Accounting t^SZcE^CALU

r> I^»-,,-\^ Entire Line Now W/Full Acct, Comm. & fi A I f I

L/OW JOllCb Sales Plan. Complementing Fine Stk. Mkt. Pkg. V_/\LL;

MISCELLANEOUS

/^\*->/->*-> A/-/-/-v<-f Spreadsheet, 3-D Graphics, Word Processor. j'jQQ LypCIl ACLcbb Time Manager & Comm. in One Pkg. . . . 4 7/

Decision Manager S8ZHX&* . • CALL!

VlSlOn Cak:«Word»Graph«Query CALL!

MICROSOFT PROJECT CALL!

QUICKCODE/dGRAPH/dUtil CALL!

Lattice C-Compilers £%$&£% . . . $299

MICROSOFT COMPILERS CALL!

DIGITAL RESEARCH COMPILERSCALL!

Norton Utilities a must for EveryiBMpc $59

ProKey 3.0 Rosesoft

Copy II PC

ATI Training Critics Choice Software Tutorials 49

Set'FX PLUS Epson FX Series Control Pkg 45

Sideways imer&prinout $49

PC Paint Brush «K5fenG?phk?. . . $129 Chart-Master/Sign-Master CALL!

"CAD SyStemS Computer Aided Design Graphics . CALL! ENERGRAPHICSHotNewGraphicsPackage . . $269

CROSSTALK XVI Mem* CALL!

SMARTCOM II Hayes s99

Modems

$95 $35

HAYES SMARTMODEM 300. I 200 & I200B L.ALL.

MA\/ATIAM MICRO MODEMS. W/Access 1-2-3: $QQ

iNUVAllwiN Internal w/Crosstalk XVI Starting at 77

RIXON I 200-4800 BAUD'IBM PC Compatible CALL.

Signalman Mark XII300 -1200 Direct connect. .$259

S Graphic Cards

CALL!

$299 CALL!

s179

WORD PROCESSORS

»/i(,l4.;» /i_j._. 3.22 "WANG" Style Word Processor with STQO

IVlUllllViate Spelling Checker & All New Tutorial Z07

SAMNA II & III aDteB^P^gPro?e!sing CALL!

Microsoft Word B^^t^ftK. CALL!

VOLKSWRITER DELUXE $189

WordStar ProPack g&SZSSSUi WordPerfect by SSI* %£$2£%

EaSy Writer II Systems Include Speller & Mailer

Peach TeXt 5000 Personal Productivity Series DATA BASE MANAGERS

HARVARD PROIECTMANAGER CALL!

Day rlO Super new data base CALL!

R:base 4000 or 6000 Mro?ir.er.&a°start5at$329

T~»^.,,^.- U»--./^y-> CMS Systems-Combination of Relational & f? A I I I 1 OWer'DaSe Hierarchical Data Base LALL!

Knowledge Man S;ffi^S£te. . $295 dBasell & III t&RPSSgg*?? CALL!

InfOSCOpe ™M Critlcallyacdalmed data base . . . .CALL! SPREADSHEETS

MUltiPIan Microsoft'New Low Pricing CALL!

SUperCalC 3 Superior Graphics to LOTUS CALL!

Dl Monitors & CRT's

ri^O M A V IO Amber«Runsotf IBM

I LjO""IVl/\A 1Z MonoCard»720hx350v .

r-\^-»(2 CD T 1 690x480»Non-lnterlaced Mode 1 UlO C>K" 1 Z RGB W/HiResText. W/Dual Scan Cd

PGS'HX 12 HiRes690DotRGB

Best Price!

Best Price!

Best Price!

QUADCHROME mRes rgb Best Price!

AMDEK COLOR II + $399

AMDEK COLOR IVtzodo. $549

AMDEK 300 A/300G .2 . . . $149/$139

AMDEK 3 10A Alternate to IBM Green Screen .... Io5

Wyse Terminals KSKMgSS0 . . Best Price!

HERCULES SSSHSSflS? CALL!

PLANTRONICS Color+^S.rjaa1cHiRrCALL! Graphics Master Sa7h^Po&rgnL°0tusLow Price! QUADCOLOR I & II CALL!

Ill Tn A n A I/- Graphics'Serial Portlsl'Par. Port Expand. /"> A I I I UL1KA I AIX RAM (384KI«Opt. Color & Floppy Cont. . LrtLL!

PTn Graphix Plus Color & Mono Graphic-Par. Port s~* A T I I

DID RAM Disk«Spooler«LitePenPort»OptClk/Cal V_.TVLjL.

IV/I, >ll-;^rv-^^V-, !32ColinMonoW/Graphics720hx350v $ O 7 C STS — E

IVlUIIlgrapn ColorCraphicsto640hx400vOpt.Par.Port . . JlJ S~S

A , J-.1, IV A A iColorGraphics/Monochrome/Par/Prt Port/8 Pgs$o/| r — —

AmUeK IVlAlstorage/HALO/Light Pen Port Super W/Color IV 3t?

IBM and the IBM logo are • Registered Trademarks of International Business Machines Corp. MicroMart is as Circle 111 on inquiry card.

ORDERS ONLY 1-800-241-8149

TECHNOLOGY CORPORATE CAMPUS 3 I 59 Campus Drive • Norcross, GA 30071

For Information Technical Support Telex

I-404-449-8089

I-404-446-3836

880497

Registered Trademark of MicroMart. Inc.

Fall 1984 • BYTE Guide to the IBM PC

53

TWO OPERATING SYSTEMS

operating systems you can even replace some, but not all, system commands by writing a program of the same name. In PC-DOS, these system commands are the external commands that run as COM or EXEC files, as opposed to those that are part of COMMAND.COM, the command handler. Similarly, you can easily replace CMS system commands that aren't part of the CMS nucleus.

Sometimes, however, you may require more fundamental extensions or changes. In order to modify PC-DOS or CMS, you must first understand the types of interfaces they provide. These interfaces are strongly influenced by processor architecture (8088/8086 and 370, respectively).

In the 8088 architecture, central processor interrupts are generated by various unpredictable events, like I/O events and division by zero. An interrupt can also be generated under program control using the INT instruction. The 8088 assigns a number from 0 to 2 5 5 to each type of interrupt it recognizes and maintains a table of 256 fourbyte entries starting at location 0, called the interrupt vectors. Each 4-byte entry is the address of a routine that receives program control when its interrupt is generated. Some of these interrupts are defined by the hardware, more are defined by PC-DOS and the IBM PC BIOS (basic input/output system), and some are reserved for use by applications programs.

For defined interrrupts, the interrupt vector points to routines in DOS or BIOS. An application can take control of any of these interrupts simply by setting the appropriate address in the interrupt vector, a process called interrupt stealing. If an application wants to modify or replace an existing DOS or BIOS service, it takes over or "frontends" one of the defined interrupts. An application that does this must be prepared either to do most of what DOS or the BIOS would normally do with the interrupt or to eventually pass the event to DOS or the BIOS. If the application merely requires adding a new service, it takes over an unassigned interrupt. This can, of course, lead to incompatibilities among independent applications that take control of the same interrupt.

Not all DOS functions are mapped to

distinct interrupts because only 256 are available. Indeed, DOS reserves only 32 interrupts for itself, 20 hexadecimal through 3F hexadecimal. One interrupt (21 hexadecimal) acts as the general function call interface: specific DOS functions are usually selected by placing a code in a register and calling INT 21 hexadecimal. In order to take over the DOS function, an applications program has only to trap interrupt 21 hexadecimal and watch for the function code or codes it is interested in; all others are passed on to the usual DOS code.

The 370 architecture has only six types of interrupts: processor restart, external (including timers or other central processors), I/O, programs checks (instruction error), machine checks (hardware trouble), and supervisor call (SVC). A table of six entries contains program status words (PSWs) that are to be loaded when a specific type of interrupt occurs. This transfers control to the appropriate interrupt handler. lust as with the 8088 interrupt vector, programs can replace the system's PSWs with PSWs that point to their own code. This process is called PSW stealing.

The supervisor call instruction is a very close analog of the 8088's INT, and it, too, provides 2 56 codes. The single significant difference is that the subroutine addresses associated with each code are not located using hardware, instead, the operating system must look up the addresses in a table, which is not directly accessible from an application. This can take more time and. more important, makes it harder for an application to selectively frontend specific system services. Fortunately, CMS provides an interface to handle selected supervisor call codes that usually meets application needs.

Extending PC-DOS

You can extend PC-DOS by means of exits, interrupt stealing, and device drivers. The distinction among these is roughly as follows. Exit routines are specifically intended to be called by the operating system when certain events occur or during the execution of certain functions. Interrupt stealing applies when an applications program wishes to replace an existing DOS or BIOS service with its own code. Device drivers are usually programs that DOS will call in order to

manage I/O to otherwise unsupported types of hardware.

In PC-DOS, exit routines are just specialized interrupt handlers. They are associated with specific interrupt numbers and are called by DOS using INT. An example of a PC-DOS exit is the Break exit. When you request a "break" or halt in the execution of an applications program, the operating system will first call the application's Break exit, if one was specified. When invoked, the exit routine can determine if the application is in an appropriate state for termination. If not, the exit routine can warn you and return control to the application. It can also do end-of-application processing (such as closing files) and then terminate the application. When the application returns to PC-DOS, these exit routine addresses are reset to default values.

In order to extend the operating system by interrupt stealing, the application simply replaces one of the interrupt vector addresses with the address of its own routine. A common example of this is a disk emulator (RAMdisk). A disk emulator is first invoked as an ordinary command. It then steals the appropriate disk I/O interrupt addresses and returns to DOS in such a way that its code is left resident. When interrupt calls are made for disk services, the disk emulator examines them. If the request is for a disk the routine is not emulating in storage, the routine passes the request on to the operating system routine. If, on the other hand, the request is for one of the emulated disks, the routine maps the request to a read or write operation from memory.

Another interrupt steal might replace the address for interrupt 21 hexadecimal. A routine could intercept all file requests, for example, and, for files where no path is supplied by the caller, search a set of default paths. Finding the file in one of the default paths, the routine would append the appropriate path information to the request (much as the PATH command does for commands) before passing the request on for normal PC-DOS processing. This overcomes the difficulty mentioned earlier of searching for files in multiple subdirectories.

PC-DOS provides several services especially designed to assist applica

[continued)

54 • BYTE Guide to the IBM PC • Fall 1984

You worit get over

what this 350 CPS printer does for under $2,000.

When you see what the CI-3500 Serial Printer can do, you might not believe it's priced under $2,000. Besides giving vou data processing printing at 330 CPS, the CI-3500 delivers letter quality printing at a rapid 87 CPS—more than twice the speed of most daisy wheel printers. And vou also get the capability for high resolution graphics, up to 240 X 144 DPI.

The office friendly CI-3500 is as flexible as it is versatile, especially for a table top, workstation printer. For example, a convenient interface cartridge system allows you to change your printer interface simply by changing cartridges. A DEC-LA 100® compatible cartridge is standard, but additional cartridges are available for interfacing with other systems, such as the IBM PC. A similar font cartridge system accommodates multiple fonts and character sets, so you can avoid costly PROM installations.

The CI-3500 Serial Printer for under $2,000. Whatever you need in a printer, you won't get over what it will do for you. To find out more, just write or call CIE Terminals, 2.505 McCabe Way. Irvine, Ca. 92714-6297. (714) 660-1421.

Or call toll-free 1-800-854-5959. /7T T^ffAt/AfAi€

In California, call 1-800-432-3687. •*"■ <M!ffB.P**

4C/rOH FlFCrtiOWCS COMPAHf

Circle 34 on inquiry card.

'" DEC LA 100 is a Registered Trademark

of Digital Equipment Corp. b CIE TERMINALS. INC. 1984

TWO OPERATING SYSTEMS

The "pipe" is the most powerful

interprogram

communication

technique

in PC-DOS.

tions that do interrupt stealing, such as services that look up the current address of an interrupt or those that replace one interrupt address with another. Memory management is another service required by interruptstealing applications.

PC-DOS device drivers, new as of version 2.0, may be the most powerful of the three techniques of system extension. Device drivers are routines that enable applications to replace the PCDOS logic that handles I/O devices. You can use device drivers as unsupported fixed-disk controllers, as disk emulators, or to read hardware clocks.

Unfortunately, the name of this facility has led users to believe that it is useful only for device handling, but this is simply not the case. Consider a service subroutine (for example, a sort package or database package) that you would like to call from several different languages and, in all cases, use the same calling interface. Rather than trying to interface the routine with several different calling formats, you can call the routine via a sequential I/O request. The same routine will work equally well from any language that supports arbitrary device names.

Device drivers can also ensure data security. You can use a device driver to front-end (take control of) disk I/O. The driver could trap all output commands and first write them to a cartridge tape, providing you with an audit trail. If the disk failed, a utility could restore data from the audit tape to the disk. The beauty of this approach is that the audit feature is completely transparent to the applications program.

Extending CMS

As in PC-DOS, a CMS application can completely take control of one type of

interrupt by replacing the hardwaredefined program status word associated with the interrupt. In principle, this enables CMS application programs to do I/O any way they want, alter the meaning of any system service call, etc. But it is rather a brute-force approach, particularly since there are so few distinct interrupt classes, and the applications program becomes obliged to duplicate a lot of system code, even if it later elects not to handle the interrupt.

To surmount this problem, CMS makes much more use of exit routines to handle specific situations. For example, a system call enables an application to handle I/O interrupts for specific I/O devices. You can define another exit routine to handle all external interrupts (so this amounts to little more than front-ending the external interrupt program status word). You can also define individual exit routines for most of the possible supervisor call codes. The exit routine support for program checks (for example, division by zero) is particularly useful, in that the operating system provides services that allow several interrupt routines to be "stacked," making it much easier for multiple applications that use the same sort of interrupt to coexist.

A number of other CMS exit routine interfaces are not associated with specific interrupts. One such routine gets control when a program is terminating abnormally because of a malfunction. This routine can attempt to close files and perform other clean-up chores, or even attempt to recover from an error. Unfortunately, if you cancel a program, you'll get no opportunity to recover or rescind the order as you do with DOS Break exit. You can define another exit routine through the FILEDEF command to receive control in order to handle GET and PUT file requests, so that an exit routine is capable of acting much like a DOS device driver. You can use exit routines of this sort to read and write storage belonging to other programs, and therefore provide another kind of interprogram communication technique. UNIX-like pipes could be programmed in this way.

CMS also provides you with a function called "nucleus extension," enabling you to replace some CMS nucleus commands with your own.

Two special supervisor call codes, 202

and 203 (decimal), invoke CMS functions in a way similar to the way DOS INT 21 hexadecimal does. The specific function being requested is identified to SVC 202 by an eight-character name, and to SVC 203 by a number. Only SVC 202 functions can have nucleus extensions.

To process an SVC 202, CMS first consults an internal table to see whether the function is in the nucleus. If so, CMS calls it. If the function isn't, CMS looks at the accessible disks for a file by the same name as the specified function and whose type is MODULE. If such a file is found, CMS loads and executes it. If no MODULE is found, CMS consults a table of synonyms and abbreviations that the user has supplied to see whether it should try an alias. If CMS finds an alias, the search starts over with the new name.

When an application defines a nucleus extension, its name is added to a special list, which is searched before any of the other lists and tables. The name can even be added to the list more than once (by different applications), and only the first instance will be used. In this way, you can extend CMS nucleus routines, with one unfortunate exception. The CMS file read and write services cannot have nucleus extensions. (Someone decided it was more important to handle files by a very fast path.) However, because these routines are located via addresses that are modifiable by applications, even this situation can be handled.

No such relatively simple techniques are available to replace or enhance PCDOS internal commands. Because such commands are part of COMMAND. COM. you would have to replace all of COMMAND.COM with an applicationsupplied module. You can, in fact, do this, using the SHELL command in the CONFIG.SYS file, which is consulted when PC-DOS is loaded. (Device drivers are specified similarly by DEVICE commands in the same file.) However, you must supply a complete replacement COMMAND.COM or (more likely) a shell program that first examines commands for the ones it wants to handle before passing the rest to the real COMMAND.COM. But this requires very sophisticated programming, and the lack of adequate documentation of the interfaces makes it difficult. ■

56

BYTE Guide to the IBM PC • Fall 1984

The new HERCULES Color Card *

gives you the

parallel port

IBM forgot-for $1 more.

And it fits into the XT's short slot.

The new Hercules Color Card gives you these five important features in a color graphics card.

1. A parallel printer port. If you buy IBM's color card, you won't get a parallel port for a printer. Ugh. You've just wasted a valuable slot for an extra printer card.

2. It's short. Our new Color Card uses advanced gate array technology to reduce the chip count by 30 and use less than half the board space IBM does. Which makes the new Hercules Color Card perfect for the short slot in an XT.

. 3. Fully IBM compatible. Any program that runs on IBM's color card will run on the new Hercules Color Card. With RGB or composite video, any IBM compatible monitor will work too.

4. Hercules Graphics Card compatible. If you have a Hercules Graphics Card (model GB101 or later), or plan to buy one, an ingenious software switch on our new Color Card allows both cards to be kept in the system at the same time.

5. Low price. At a suggested list price of $245, the new Hercules Color Card has all these features for only $1 more than

IBM's color card. Call for our free information kit. See why the company that made the first graphics card for the IBM PC still makes the best.

Hercules. We're strong on graphics.

800 255 5550 Ext. 428

Address: Hercules, 2550 Ninth St, Berkeley, CA 94710 Ph: 415 540-6000 Telex,: 75406;} Features: 2 year warranty Foreign distributors: Compuserve/Canada; Reflex/U.K.; Computer2QG0/W. Germany; Edisoft/France; SourceWare/Australia. Trademarks/Owners: Hercules/Hercules Computer Technology; IBM/International Business Machines. This price comparison is based on the Suggested List Price as of 2.22.84 for the IBM Color Graphics Adapter.

Fall 1984 • BYTE Guide to the IBM PC

57

One good idea

^*

^:o:o:o:*^fi|i]-l

deserves another

and another

another*

At IBM, we've been working to help your business keep up with its computer needs.

That's why we developed our innovative line of IBM Personal Computer Furniture. You'll find work, stations, tables and chairs that are custom-designed to accommodate Personal Computers, as well as the people who use them.

And best of all, you'll find IBM's PC Furniture available in a variety of prices designed to accommodate your budget.

The IBM Synergetix® PC Work Station (pictured in pearl white) provides a convenient and compact workspace for the Personal Computer. In addition, it's completely mobile, so you can move it from office to office. But most important, the entire unit closes and locks, so you can secure and protect your system.

The IBM PC Table (pictured in walnut) is a stationary unit that's economically priced. It has the same durable construction as our PC Work Station, along with some basic security features. What's more, it's also perfect for the IBM PC//.

The IBM PC Chair boasts a price tag you don't have to sit down for. This ergonomically engineered seating comes equipped with fingertip adjustments and features a contoured backrest for greater comfort and support.

You'll find our IBM PC Furniture in a variety of attractive colors at your IBM Product Center. The IBM PC Work Station is also available at participating retailers. To find out the location nearest you or to order by phone, call IBM Duett toll free at 1800 IBM-2468, ext. 104W.

IBM Personal Computer Furniture. It's designed with you and your PC in mind. _____ _ __

58

BYTE Guide to the IBM PC • Fail 1984

Circle 85 on inquiry card.

THE FUTURE OF

UNIX ON THE

IBM PC

by Ralph A. Phraner

With UNIX available for the XT, the question is not how to employ it, but how soon

Microcomputers seem to be moving away from the era where running a separate program for each specific task was considered optimal usage of available computing resources. Manufacturers are offering integrated environments, multitasking operating systems, and hardware enhancements with dedicated software in hopes of gaining a clear position in future markets. The exact nature of the newly emerging working environment is still unclear, but the molding forces of market demand will decide, from many approaches put forward, how to enhance the productivity of the microcomputer workstation.

IBM's Personal Computer brought about a dramatic change in the microcomputer marketplace with its 640K bytes of addressable memory, 16-bit processor, and 10 megabytes of harddisk storage in the XT model. Backed by IBM's marketing savvy and reputation for reliability, the PC XT captured a large portion of the workstation

Typically, a concurrent system maintains several independentvirtual environments,

each containing a complete program, ~ either ready to run or already executing.

market of corporate America. Until recently, however, the software available has been limited to memory upgrades of 8-bit microcomputer designs. Singletasking sequential processes have been the rule.

Concurrent Futures

Concurrency, the ability of a computer to do two or more projects at once, is both an efficient and an economical approach. The ability of a system to allow

the user to begin another job before a previous one is completed, to suspend one task to work on another, and to automatically transfer data among several independent tasks transparently makes valuable workers, from executives to programmers, much more productive.

Typically, a concurrent system maintains several independent virtual environments, each containing a complete program, either ready to run or already executing. In some cases, the number of concurrent tasks is limited, with all tasks kept resident in RAM (randomaccess read/write memory). In others, the entire operating environment is written to a reserved area on the system's disk when a higher priority for system resources is recognized by the processor. Each program is guaranteed a

(continued)

Ralph A. Phraner is an independent microcomputer product development and systems software consultant. He can be reached at 516 Shrader St., San Francisco, CA 941 17.

Fall 1984 • BYTE Guide to the IBM PC

59

UNIX ON THE IBM

fair share of computing time by operating system scheduling.

The IBM PC Marketplace

The success of the IBM PC is largely due to its acceptance by the business community. From sole proprietorships to Fortune 500 corporations, the largest market for microcomputers is the business market. Two requirements for many of these systems are that they be able to share data among multiple users, whether across the building or across the country, and that they be able to link to mainframes in existing dataprocessing environments.

At present, most of the tasks necessary for a microcomputer to be used with a large host computer system are possible—but only one at a time. This sequential nature of task execution creates conditions in which the microcomputer is forced to wait for the mainframe to finish just as if it were a dumb terminal, not a powerful, intelligent workstation. The operator is forced to wait unproductively. To overcome this bottleneck and better integrate into existing computer networks, individual workstations should include these features:

• Transparent communication with different machines and locations

• A consistent command set across different machines and applications

• Local concurrency to allow background processing

• Increased overall combined system performance as a result of offloading data entry and selected processing tasks to a local workstation

Such a system would let you switch freely from task to task as often as the flow of work required, incurring no penalty in either time or concentration to reestablish a previous work project. You wouldn't have to terminate one task to work on another. You could recall a previous project in exactly the state in which it was left. A major candidate for approaching this ideal is the IBM PC running UNIX.

The Role of UNIX

The UNIX operating system, pioneered

by Bell Laboratories, is heralded as the answer to increasing the usefulness of microcomputers, both in a large dataprocessing environment and at individual workstations. A closer look at this concurrent system will help put alternative software solutions in perspective.

There is little doubt that UNIX is destined to play a major role in microcomputers within the next few years. It is estimated that the annual market value of UNIX systems will exceed six billion dollars within two years, with an estimated one million systems running UNIX in service by 1986. From micro to mainframe, UNIX is available on a broader range of computer hardware than any other operating system. Over a thousand different software packages are available for application use under UNIX, including word processors, accounting systems, financial-planning packages, and some of the most powerful database-management software available. Most of these software packages were originally designed to run on minicomputers and are thus powerful and sophisticated migrants to the microcomputer domain.

UNIX was created as a response to a programmer's need for an interactive software-development environment. Since the first PDP-11 release to universities in 1973, UNIX has gained popularity as a result of its use as a computer science research tool. Many of the popular enhancements were initiated in universities, which have provided a whole generation of programmers and computer science professionals who are enthusiastic about UNIX.

Over the years, UNIX has evolved into a sophisticated environment for document creation and management, file manipulation, and communication. It may also be the finest system for software development yet invented. The UNIX style of software development is to generate specialized software tools that speed subsequent applications efforts. For portability, the operatingsystem interface has been isolated, identified, and grouped by function.

Following are some of the major features and benefits of UNIX:

• Execution with an interactive user interface rather than by batchjob submission. However, interac

tive users may easily initiate substantial batch-job sequences to be run in the background.

• Operating-system and applications software portability through a relatively small number of standardized function calls.

• Multiuser operation with provision for multiple background processes and facilities for system user accounting.

• A hierarchical file system with directories and removable volumes. Links and aliases let you use several names for one utility program or physical file.

• Stream- rather than recordoriented system I/O (input/output). All files and devices look identical to the user.

• Console input and output redirection to any legal device or file.

• Replaceable command-line interpreters. The UNIX shells provide flexible command language, variables, and commands from files. Any other user-supplied shell may be substituted.

• Security implemented by user name and group protocols. FIPS data-encryption standard (DES) available for user files. Encrypted password security protects operating system access.

• Pipes to pass data between concurrent tasks and group simple modules for accomplishing complex operations.

• Many multiprocessing system utility programs include a wide range of separate capacities.

• Text-processing and office-automation utilities including two powerful calculators, a calendar for reminders and provision for scheduled future program execution, formatting for phototypesetter and line printer, two or more editors, formatters for tables and mathematical equations, spelling and writing style checker.

• File-processing utilities enable combine, split, compare, contrast, search, modify, compression, format translation (including 370/ EBCDIC), encryption, and tabular data manipulation and processing.

• Software-development tools include translators for various metalanguages (yacc, lex. and m4) and

60 • BYTE Guide to the IBM PC • Fall 1984

UNIX ON THE IBM

languages (typically C and FORTRAN 77), subroutine libraries, object-code archiving programs, execution performance profiling, assemblers, linkage editors, debuggers, utilities SCCS and make to manage large numbers of object modules or source/text files, and C language utilities to check source for correctness and print formatted listings. • Communications utilities for mainframe remote-job entry and dialup, file transfer, and electronic mail among UNIX facilities.

For a tour of the joys of UNIX, I suggest The UNIX Tutorial, David Fiedler's breezy but comprehensive three-part overview (August, September, and October 1983 BYTE).

Trade-offs

Like any operating system, UNIX is a set of compromises made to enhance certain functions at the expense of others. A few of the areas traded off are as follows.

UNIX is poor at real-time tasks such as data acquisition. Task priority is set up to allocate less processor time to jobs that require the most time. The highest priority is given to jobs that use the least amount of the system's centralprocessor resources. In such a system, designed to be fair across all users and processes, there is no way to guarantee that a time-critical process will get the central processor often enough.

Most of the current UNIX systems permit multiple jobs to simultaneously access the same file, which can bring about such potentially dangerous situations as multiple users updating the same database at the same time. To circumvent this problem, many suppliers of UNIX have implemented file and record locking, generally through the use of such software devices as signals or semaphores, but these are not automatic and must be written into programs. Suppliers of commercial UNIX database programs generally have incorporated file and record locking into their software.

Another drawback is that the user interface can be very difficult to learn. In other systems, the power has been made more explicitly available at a cost of flexibility and command extent.

Often the naming and syntax of commands, options, prompts, error messages, and argument specifications are inconsistent, cryptic, or nonexistent. The concept of a shell to link discrete commands designed for a narrow purpose makes learning difficult, especially for the occasional user.

To overcome these drawbacks, menu systems and other user-interface enhancements are beginning to appear on UNIX systems. It is also worth noting that a competent programmer can create menu facilities, which let new users accomplish tasks usually reserved for experts.

UNIX is vulnerable to problems caused by accidental or intentional overuse of system resources such as jobs, disk space, swap space, and so on. In fact, there are ways to bring a standard UNIX system to a standstill with a single line of commands. The designers assumed that resources are ample to protect against accidental overallocation and that system users are skilled and benign.

For business uses, there are built-in solutions to the last two issues. Each user should have a login profile, set to execute only the appropriate application program or only given access to a selected safe subset of UNIX commands through the use of shell restrictions. As users become more advanced, these restrictions can be relaxed or rescinded. In addition to the primary goal of ensuring system security, this method implements a configurable learning method—a good set of training wheels. Note, however, that this presupposes someone who knows how to set up and enforce such restrictions.

UNIX AND THE IBM PC

IBM has been increasingly interested in UNIX, as demonstrated by its present commercial offerings in the marketplace. UNIX is presently available from IBM on three of its computer lines, Series 1 (CP/IX), the S9000 (XENIX), and the PC XT (PC/IX). An implementation called TSS/UNIX has also been done for the 370 and 303X mainframes, but it is not commercially available yet.

In a modest configuration of 2 56K bytes of RAM, the IBM XT is at the bottom of rankings of system resources employed to host UNIX. The addressable memory expanse is

reasonable in comparison to the PDP-11 series of minicomputers that UNIX grew up on, but the Winchester is only marginally adequate. UNIX runs well on hard disks with an average access time of 20 to 40 milliseconds (ms), while the XT's Winchester times are closer to 90 ms.

Excluding user file space, a full UNIX system occupies 6 to 8 megabytes of disk storage space, leaving little space for user files or a DOS partition for harddisk coresidency. Neither the 8088 nor other on-board hardware provides for memory management and protection. Thus, UNIX must incur extra software overhead to simulate memory management, and the task protection afforded is not sufficient for multiuser software development (due to the likelihood and danger of errant programs) and barely adequate for multiuser application programs. The 8-bit data bus becomes a processing bottleneck in UNIX and C, where most data is manipulated in 16-bit chunks.

On the plus side, the PC family forms the basis for the least expensive UNIX workstation available. That's a potent argument when you recall that only three years ago, the low end of the UNIX market was a minicomputer costing in the middle five figures. The availability of the 8087 coprocessor on the PC is a real boon for floating-point number applications, for example. If usage is restricted to one user doing software development or a maximum of three users at any one time performing tasks such as text entry but not recalculating a large spreadsheet, the system will perform much the same as a terminal on a minicomputer UNIX system under an average load of users. For some applications, then, it's very cost-effective. A general idea of the relative level of performance that can be expected is demonstrated by a. computation-intensive benchmark primarily testing central-processor speed and memory-access efficiency. It showed that in tests involving C's long data type, the XT operated at about one-quarter the speed of an 8-MHz 68000-powered supermicro and with C short integers and integers at about one-half that speed.

There are several general reasons why you shouldn't use UNIX on the PC. For

[continued)

Fall 1984 • BYTE Guide to the IBM PC

61

UNIX ON THE IBM

one, applications software is currently available in a broader spectrum of variety under PC-DOS than UNIX. Second, it takes considerable time for new users to become proficient. Finally, the system is too complex to exist on its own without some rather advanced softwaremaintenance procedures such as user account creation and administration, file-system administration and maintenance, and the observance of system shut-down protocols.

On the positive side, when considered as a single-user system, PC UNIX is a cost-effective way to trade off some performance for having UNIX available on a widely used hardware configuration. A few hints may help you get the most out of your system. If you want a full UNIX system, keep some of its less used parts on floppy disks and load them into the system only when necessary. If the system has several users or does extensive multitasking, the larger the amount of RAM in the system, the faster UNIX will work because you'll need to swap data less often. In general, the system should have only one user in all but the lightest duty applications, where it can accommodate two to three users at most.

UNIX Systems for the PC

Several UNIX systems and work-alikes are presently available for the IBM PC, and more are expected shortly. A brief overview follows.

Currently, four Bell-licensed UNIX systems are available for the PC: PC/IX (implemented by Interactive Systems and sold by IBM), XENIX (implemented by Microsoft and sold by Santa Cruz Operation), VENIX (implemented by VenturCom and sold by Unisource Software), and U-ll (implemented by Unidos Systems and sold by International Data Services). All of these systems allow file transfer to and from PC-DOS and include additional DOS file-manipulation utilities. The makers of VENIX and Uniform Software Systems are working on DOS emulation capabilities for VENIX and PC/IX, respectively. PC/IX, XENIX, and U-II are based on Bell UNIX system III, while VENIX's ancestry is Bell version 7 UNIX. These are all large, full, licensed UNIX systems. XENIX, U-II, and VENIX contain some utility programs developed at University of California,

Several UNIX systems

and work-alikes for the

IBM PC are currently

available.

Berkeley, including versions of the vi screen editor and the C languageoriented shell, csh. PC/IX includes a screen editor developed by Interactive Systems.

The four UNIX look-alike operating systems for the PC are Idris (Whitesmiths Ltd.), QNX (Quantum Software Systems), Coherent (Mark Williams Company), and uNETix (Lantech Systems). None of these systems is based on a Bell Labs UNIX license. The two closest to Bell UNIX are Coherent, a highly compatible UNIX version 7 lookalike, and ldris, which is system-call compatible with version 6 UNIX, but many of its commands differ slightly from their UNIX counterparts. QNX uses an idiosyncratic syntax with functions that bear a close conceptual resemblance to UNIX. To outline some strong points, ldris has an elegant DOS interface, QNX is capable of high performance, and Coherent is nearly equivalent to Bell UNIX. All three systems include excellent C compilers, perhaps better than those supplied with any of the Belllicensed products.

Two implementations of UNIX are tied to auxiliary processor cards. A Motorola 68000 card runs Xenix, and a National Semiconductor 16032 card runs BSD (Berkeley Standard Distribution) 4.1 UNIX. Both cards are available from SriTek Inc. These systems, intended for the OEM (original equipment manufacturer) market, typically use the PC only as an I/O processor; the auxiliary processor does all other tasks. Although the level of central-processor performance is considerably better in these systems, the hard disk is still slow and small for UNIX. Be sure to evaluate these systems for cost-effectiveness, since either adds roughly $3000 to the cost of a basic PC host.

Two general levels of PC-DOS interface are evident. The first, DOS emulation, lets users run DOS programs and return to UNIX without sacrificing the

functionality of either operating system. There are several ways this is done. Idris runs as a task under DOS so DOS commands can be executed from within it by an escape mechanism. Moving between Idris and DOS is as simple as invoking Idris from DOS or exiting to DOS. QNX actually brings the binary executable files into its file system and executes DOS function calls by emulating the operating-system routines accessed through interrupts by the guest program. Coherent and uNETix are both developing emulation capability. The second level, for UNIX environments with DOS file-transfer capability, does not allow for any execution of DOS commands from within UNIX. Differing degrees of file-transfer support are provided. Some systems let you delete, rename, and perform other manipulations on PC-DOS 2.0 directories and files, while others only let you copy files to and from UNIX.

Competing Solutions

Three general categories of software products compete with UNIX for a dominant position in the future market for concurrent systems: other multitasking operating systems, proprietary integrated environments, and enhanced hardware environments incorporating mainframe access.

The first category, multitasking operating systems, includes yet to be released MS-DOS 3.0 and Microsoft Windows, Concurrent CP/M-86, and the Pick operating system and its variants.

Currently, PC-DOS has a greater variety of general-purpose software available, such as decision support, word processing, utilities, and programming tools. However, it lacks concurrency.

Proprietary integrated environments include Lotus's Symphony, Ashton-Tate's Framework, Quarterdeck's DesQ, and VisiCorp's VisiOn series. Generally, they provide the following enhancements to the operating system:

• It's easy to move data from one application module to others.

• The user can freeze session state and return to DOS or execute DOS commands concurrently without leaving the working environment.

• A concurrent stub allows main

(conllnued)

62

BYTE Guide to the IBM PC • Fall 1984

Now Quadram Makes Communications

as easy as 1,2,3. *

.TM

1. Quadmodem.

Instant access to a world

of information, right from

your home or office

fSS

Quadmodem is the complete intelligent modem. With everything you'd expect from a quality modem. Plus enhanced diagnostic capability to spot communication problems. And call progress monitoring to automatically determine and compensate for the type of phone and transmission.

Quadmodem plugs directly from your computer into your phone line. And it's fully compatible with Bell 103/212A dial-up modems and the most popular modem brands.

Get the modem with the name for quality. Quadmodem. With your choice of internal or stand-alone models, full supporting documentation and user manuals. There's even QuadTalk, our very powerful, but friendly, menu driven communications software. Plus, we'll include a special introductory offer from The Source3"

IBM' PC, XT, PCjr are registered trademarks of International Business Machines Corporation.

"The Source is a registered trademark of Source Telecommunicating Corporation.

APPLE lie- is a registered trademark of Apple Computers, Inc Copyright 1984 Quadram Corporation All rights reserved.

2. Quadnet.™

Four easy solutions to one difficult problem.

Local Area Networking (L.A.N.) allows you to interlink a group of computers so they can share information and peripherals with each other.

And now with Quadram's new Quadnet, you can easily link as few as two, as many as 255 IBM PCs together in a hard-wired network. And you can configure them almost any way you want. Because Quadnet gives you a choice with four different Network Systems.

And best of all, Quadnet grows as you grow. Yet the user commands stay the same, thanks to the upward compatibility of the Quadnet operating software.

Whichever version you hook on to, you get the complete package (hardware, software, and documentation). And most importantly, you get the Quadram reputation for quality.

iTM

3. Quad3278.T'

Let an IBM PC communicate with an IBM mainframe.

i^*»>

IQUADfWl OJLttLITYl

Look for this seal. It's your assurance that you're buying the best in personal computer enhancement devices.

To integrate your PC system into a main-frame environment, look to Quadram first.

Because now you can have all the features of the PC (mass storage and peripherals) plus the incredible power of a main-frame right at your desk. All it takes is the Quad3278, Quadram s new 3278 emulation package complete with hardware and software.

With Quad3278, once you're on-line, the IBM mainframe sees you as just another 3278 terminal. But little does it know that you're actually a high-performance, intelligent work station with all the functions of the Personal Computer. Thanks to Quadram Quality.

QUADRAM

' ■* An Intelligent Systems Company

4355 International Blvd./Norcross, Ga, 30093

(404) 923-6666/TWX 810-766-4915 (QUADRAM NCRS)

INTERNATIONAL OFFICES

Interquadram Ltd. 442 Bath Road. Slough, England SL16BB Tel: 62B6-63665 Tlx: 847155 Aunema G Interquadram GmbH Fasanenweg 7,6092 Kelslerbach, Wes! Germany Tel 6107-3089 Tlx 417770 Seva G Interquadram s.a.r.l. 41, Rue Ybry 92522 Neuilly Tel 758-1240 Tlx 630842 Iso Bur Chevco Computing 6581 Kilima! Road, Mississauga. Ontario. Canada L5N-2X5 Tel 416-921-7600

Circle 149 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC - 63

UNIX ON THE IBM

frame communication.

• The system is user friendly and has menu-driven command structures and extensive help information available on-line.

• Other packages can be added to the same environment.

Environments based on concurrently

integrating a mainframe link refer primarily to the two powerful hardware enhancements to the PC computer family offered by IBM. the PC XT/370 with VM/PC operating system and the 3270 PC with its control and file-transfer programs. The facilities of the XT/370 are limited to a single-tasking VM/CMS session locally under VM/PC and thus PC

Btrieve 7 Network and singlcuser file management for all your programs. All your programming languages.

Say goodbye to writing file management routines. Because now Btrieve1 M can handle file management for all your program development on the IBM PC. All your programming languages.

Based on the b-tree file indexing system, Btrieve provides the most sophisticated file handling powers available for your PC. And for multiple PCs. Btrieve™/N lets you share files among PCs in NetWare,™ PCnet,™ EtherSeries™ or MultiLink™ networks. And both Btrieve and Btrieve/N offer the same superior performance characteristics: • Interfaces all major IBM PC languages—BASIC, Pascal, COBOL, C, and IBM Macro Assembler

• Written in 8088 Assembler for the IBM PC

• Multikey access to records

• Automatic file recovery on system crash.

Btrieve and Btrieve/N also have userdefined transaction management. Unlimited number of records per file. Complete error control and recovery within an application. Duplicate, modifiable, and segmented keys. Variable cache buffer from 16K bytes to 64K bytes.

Moreover, recond retrieval is fast with Btrieve—no matter how large your data base. So you can begin writing programs faster with Btrieve.

Say goodbye to file management routines. And hello to Btrieve.

SoftCraft Inc.

P. O. Box 9802 #590 Austin, Texas 78766 (512)346-8380

Suggested retail prices: Btrieve, $245; Btrieve/N, $595. Requires PC/DOS or MSIM/DOS, version 1 or 2. Dealer inquiries welcome.

'Circle 164 on inquiry card.

IBM, MS, Btrieve and Btrieve/N, PCnet, MultiLink, NetWare, and EtherSeries an: trademarks of International Business Machines, Microsoft Corporation, SoftCiaft Inc., Orchid Technology, Davong Systems Inc., Novell Data Systems, and 3GimG)rp., respectively.

XT and 370 modes are not concurrent. The system does offer file-transfer capabilities between mainframe 370 and XT/370 as well as between XT/370VM/CMS and PC-DOS, but it really shines when it comes to offloading processing from an IBM mainframe to capable local workstations.

The 3270 PC supports seven concurrent tasks, including four separate interactive 3270 sessions with a host mainframe, two local notepads (with fullscreen editing and data-transfer capabilities), and one a standard PCDOS 2.0 task.

You can obtain data from up to four mainframes, collect it in a notepad area, evaluate it in a PC-DOS spreadsheet, and then pass a set of results back to the mainframe for transmittal by electronic mail.

A UNIX Solution

The growing popularity of UNIX, and the C language in which it is written, in the commercial microcomputer community is largely based on demands for software transportability. The capital investment required by the labor-intensive process of creating software makes increasing the market size and useful life of such new programs imperative. From this standpoint, the alternatives to UNIX become less attractive. Further, the software consumer has to consider the costs of retraining workers. Advances in hardware that invite upgrades for increased performance will appear more rapidly than similar advances in software. None of the alternatives operates on the range of hardware that UNIX does.

While less business-oriented application software is available for UNIX than for some alternatives, DOS emulation can serve as a useful bridge until the new generation of UNIX software, already under development, appears. At present, using the full extent of UNIX capabilities requires some sophistication, but customized shells and restricted environments focused on one task will soon become available to allow the unsophisticated user to take advantage of the system's power.

The wide-ranging transportability and communications transparency that UNIX provides make it an attractive long-term solution to business demands. ■

■

■ •. 11

■ 11

11

about to read.

•

Enable:

Integration

without compromise

For the IBM-PC and selected compatibles.

Today, buying integrated software is a bit like going through a maze. Full of promising starts and disappointing dead ends.

One package has the functionality but operates at a snail's pace. Another has a good spreadsheet but a weak DBMS. Still another integrates well but not without 512K and a hard disk.

Compromises abound.

But now, there's one system that is without compromise. One system that provides such a totality of performance, it will lead you out of the maze.

That system is Enable.

What you get with Enable will sound familiar: an integrated package with five modules—word processing, spreadsheet, database management, graphics, telecommunications.

But this is where Enables similarity to other integrated software begins and ends.

System design: Unlike any other.

Because Enable was designed from the ground up to work as a unified whole—rather than being a patch job—it operates with a speed, power and total integration previously unknown in PC software.

The Enable integrated system is based on design concepts previously found only in much larger computer systems.

At the heart of Enable is a Master Control Module which is similar to supervisory programs that run the most advanced mainframe computers. This Master Control Module (MCM) contains all services and facilities for Enable. And all functions common to all moduleseliminating system redundancies.

Windowing is easier and faster than ever before. "Cut and paste" data from one module to another cleanly, precisely, with a minimum of keystrokes. And do it in a split-second (others can keep you finger-tapping for a small eternity). Up to 8 windows can be moved, shaped, overlapped or zoomed to full screen size.

Integration: So much, so easily.

You can create a graph from a spreadsheet or database. Then insert the graph and the spreadsheet between text in a single word processing document right on the screen.

Select DBMS data using Enables powerful query language and copy that data into a word processing document. Or insert that data into a spreadsheet and Enable will automatically expand column length and modify formulas.

Using DBMS with word processing, you can automatically include selected DBMS fields—or embed calculated fields—within the text of a letter or report.

Combining word processing with telecommunications, you can write anything from an electronic mail message to an annual report and transmit it across town or around the world.

Since the MCM handles all full-screen text editing, you can use that important feature in any module.

Greek, foreign and special character sets are available-not only in word processing—but for putting labels on top of your graphs, creating DBMS data entry forms and producing customized reports.

Functionality: All you could ask for.

Unlike other integrated software, every one of Enables modules gives you virtually everything you'd expect from the better stand alone programs. And, often, more than you'd expect.

Enable Word Processing is very much like a dedicated word processor. Going beyond all the standard features to include such things as:

• positioned headers and footers • paginarion • automatic footnoting • mail merge • multiple character sets • document size limited only by available disk space.

The Enable Spreadsheet is comparable to Lotus 1-2-3™ both in functionality and speed. With such special features as: • variable column length for loading of DBMS data* highlighting of all related cells • step feature for changing value in target cell • can take advantage of your optional 8087 math co-processor.

Enable Database Management is, without qualification, the most powerful DBMS available in an integrated system. So powerful, you can generate specialized applications without the need for any programming. The DBMS includes:

• Menu-driven field definition using an external data dictionary • comprehensive "paint the screen" input and report forms design • full screen data entry with extensive and automatic field editing and validation • over 65,000 records per database • rapid search and retrieval using Boolean logic, arithmetic and relational operators, and "wild cards" • powerful menudriven report generation including virtual

and calculated fields, and up to 16 break conditions with running, break, conditional and grand totals.

Enable Graphics draws presentation-level graphs. Its many special features include: • sizing, shaping and positioning of graphs using

windowing • writing labels right on the graph • 7 graph types with 8 fonts.

Enable Telecommunications gives you easy access to online services, your company's big computer and other personal computers. With automatic sign-on using stored "set-ups" enter your connection protocol just once and then press a few keys to make that connection again and again.

192K? Yes, 192K.

Enables highly efficient, non-redundant system architecture-which makes use of virtual memory as well as reentrant Assembler coding—gives it the ability to run with as little as 192K and two double-density disk drives. And we do mean run. Which means you won't have to add lots of expensive memory or a hard disk to your hardware to enjoy a fully-integrated, full-function system.

Speed you've never seen.

This major shortcoming of many integrateds is a major asset of Enable.

With Enable, when a word processing document is revised, the entire document is reformatted in an eyeblink (no "ripples").

In a spreadsheet, even as numbers, formulas, rows and columns grow more complex, Enable re-calculates at lightning speed.

Enables DBMS can rapidly retrieve records according to even the most complex parameters and sort them on up to 8 fields.

Critical Compatibility.

Here's another enormous advantage: all the time and money you've invested in first generation packages won't go to waste. Files created by dBase II™ Lotus 1-2-37 WordStar7," VisiCalc™ Easy Writer I,TH or Volkswriter™ can be used automatically in Enable without conversion or rekeying. Similarly, Enable can create files in the proper format for all the above as well.

Enable = Power.

The MCM internally directs traffic, making it possible to run one main program, one communications program and one printing program concurrently. So you can do spreadsheet analysis, print a monthly report and receive

stock quotes over the wife—all at the same time. Enables powerful macro facility saves you time and keystrokes in all modules. Macros may be automatically recorded as the steps are executed; even edited using full word processing capabilities. You can, for instance, create a macro which produces a report containing data selected from your DBMS file. Every time the macro is executed, the resulting report is updated with the latest information from your database.

Ease you've never experienced.

As for being "user-friendly" (the most abused phrase in all of computing), the proof, of course, is in the using. Here, you'll discover, Enable shines. Whether you're a beginner or an expert.

Since the MCM is the sole interface between you and all the modules, you only have to learn one uniform set of commands and menus to use the entire system.

You may not even need to open a manual first. Clear, English language menus-complete with explanatory messages-are available in every module. Menu options may be selected by the traditional cursor method, or with a single keystroke short-cut. As you grow more experienced, expert commands bypass the menus. And there are convenient macro commands for the really sophisticated.

For those just getting started, Enable has a tutorial disk distinguished by its clarity and depth. And the manual teaches you, step-byunderstandable-step, how to use all that the system provides. For online assistance, at any time, just push the Fl key to get all the help you need.

Support. Then more support.

As an Enable owner, you've got a continually evolving software system. One complete

update, with significant new features, will be sent to you—at no cost.

By joining our subscription service, you can receive regular product and manual updates with new features and enhancements. Plus tollfree telephone assistance from our trained staff.

And we've created something unique in the microsoftware industry: all Enable subscribers become official Enable Advisors. You'll tell us what new features you want in future versions of Enable. And we'll listen.

Enable. Here today. Here tomorrow.

Enable is software you can grow with. By learning the system with easy menus and graduating to expert commands. Using more and more of its complete functionality. Exploring the many possibilities of its integration.

Enable defeats software obsolescence. Your product updates will not only include important new features, but—because of the MCM's flexible design, its "open architecture"— your system will be continually enhanced to take full advantage of changes in micro hardware.

Now put us to the test.

This advertisement is, of course, just words on paper. We urge you to see, work with, experience Enable. That's why we've made it so easy for you to try Enable out for yourself Visit your authorized Enable Dealer for a demonstration. Or test the system right there. Even take a loaner copy home.

Finally, the introductory price for integration without compromise: a remarkably affordable $695.

For more information and the name of your nearest Enable Dealer, just dial 1-800-932-0233. In New York, dial 1-800-338-4646.

integration without compromise

The Software Group Northway Ten Executive Park, Ballston Lake, New York 12019

Trademarks: Enable-The Software Group, IBM-International Business Machines Corp., Volkswriter-Lifetree Software, Inc.

EasyWritet-Infotmation Unlimited Software, Inc., WordStar-Micropro International Cotporation,

dBase II-Ashton-Tate, 1-2-3 and Lotus-Lotus Development Corporation, VisiCalc-Visicorp.

© Copyright 1984, The Software Group

by John Markoff

FIVE

WINDOW MANAGERS

FOR THE IBM PC

Multiple windows, mouse pointing devices, and multitasking environments for your IBM PC

The public's acceptance of the Apple Macintosh computer has made it clear that certain user-interface designs are now becoming more universally accepted.

The major elements of these interfaces are bit-mapped graphics monitors, mouse pointing devices, and windoworiented displays with pop-up menus. Together these elements act as a visual shell, insulating the user from the operating system. By using pop-up menus that overlap on the monitor, your computer's screen is supposed to remind you of a cluttered desktop. Often the new interfaces use icons to represent the computer's programs, documents, and resources.

The roots of window-based user interfaces lie in two computer science research developments that emerged during the fifties and sixties. The first is based on the work done around the mainframe graphics systems developed by George Evans and Ivan Sutherland. Sutherland's doctoral dissertation was based on an innovative graphics system he called Sketchpad. The concept of windows seems to have evolved from Sketchpad. Sutherland did his work before the advent of computer timesharing, so, in effect, he was using a mainframe as a personal computer.

The second development grew out of the investigation of new technologies

for information storage and retrieval done by a group headed by Douglas Englebardt at SRI International. Much of the group's work dealt with viewing and organizing documents and giving the user the ability to rapidly switch between documents.

Both of these research developments were brought together by computer scientists at the Xerox Palo Alto Research Center (PARC) in the early seventies. At PARC, work done by the Smalltalk research group led to the construction of a series of single-user personal computers that employed mouse pointing devices and bit-mapped displays. The first version of Smalltalk offered a bitmapped screen displaying overlapping windows; it was created on an Alto personal computer (an experimental Xerox computer) by Dan Ingalls in 1975.

These overlapping windows and mouse pointers were striking in contrast to the single-command line and textoriented questions that faced the user after booting up on the first mainframes and personal computers.

Certain elements of this user interface are still being hotly debated. Some question the efficiency of mouse pointing devices and others ask whether overlapping or "tiled" windows are preferable. (In a tiled interface windows shrink to accommodate other windows that are expanded; however, all windows remain visible. This concept was

also first developed at Xerox PARC and has been used on the Xerox Star.) However, a consensus seems to have emerged that an interface that permits a user to see a command and point at it to execute a task is simpler and more interactive.

Window-oriented user interfaces function best when they are based on highperformance processors and displayed on high-resolution screens. They have (until the introduction of the Apple Macintosh) generally been considered beyond the realm of the low-cost desktop personal computer. However, a number of window-management software programs have been introduced for the IBM PC.

Because two of the five programs 1 looked at are still undergoing testing and two others were released in their first salable version only weeks before our deadline, this article does not constitute a formal BYTE review. However, 1 have been able to work with the products, and I will comment on their performance and design with special emphasis on the style of user interaction offered by each program.

The five programs i previewed include

(continued)

\ohn Markoff is a BYTE senior technical editor. He can be reached at 1000 Elwell Ct., Palo Alto, CA 94303.

Fall 1984 • BYTE Guide to the IBM PC • 65

WINDOW MANAGEMENT

DesQ from Quarterdeck Office Systems in Santa Monica, VisiOn from VisiCorp, Windows from Microsoft, Concurrent DOS from Digital Research, and WindowMaster from Structured Systems Group in Oakland, California.

Window Management on the IBM PC

[f you attempt to display and integrate a number of discrete applications on an IBM PC, you will face a number of problems that have no obvious solutions. For example, some have approached window management as an application in its own right that intermediates between the operating system and separate applications (DesQ, VisiOn, and Window Master can be considered "operating environments"). Other operating-system developers have extended the operating system up toward the application software (Windows and Concurrent DOS).

In the case of the IBM PC, matters have been complicated a great deal, because the user hardware base has tended not to be standardized (the market is split between those who have either monochrome text-oriented or graphics displays and available system memory ranges from as low as 64 K to 600K bytes) and because virtually all major software developers have chosen to circumvent the MS-DOS operating system to display information on the screen.

A. second issue is "tight" versus "loose" integration of applications. VisiCorp, the first company to announce a window manager for the IBM PC insisted on tight integration. To run under VisiOn, an application must be specifically designed for that environment. These applications can exist in display windows as well as pass data to other applications. In contrast, Quarterdeck's DesQ attempts to support as broad a range of MS-DOS applications as possible (see table 1). Quarterdeck has provided "agents" for 12 major application programs. These agents will permit the applications to run in windows under DesQ and to transfer data between windows or applications running in different windows. Applications that don't have a specific agent can generally be installed by the user; however, they will not be able to run in windows. Microsoft's Windows will lie somewhere be

tween tight and loose integration. To run under Windows an application must be specifically tailored to the program; however, Microsoft has stated that if an application writes directly to the hardware, Windows will gracefully turn the screen and other resources over to that application.

There are other issues at stake in developing window managers for the IBM Personal Computer. Important distinctions between window managers range from style questions, such as whether to use icons, to virtual memory and multitasking.

Context Shifting

The variety of personal computer applications available and the fact that many can be used in conjunction with each other or operate on shared data make it desirable to be able to view applications simultaneously and to move quickly between discrete tasks.

If the operating system of the IBM PC is altered to permit multitasking, an ideal window-oriented interface would permit you to carry on simultaneous communications tasks (electronic mail or database access) while running other programs locally.

Partitions

The large memory-address space of the IBM PC permits several programs to be placed in RAM (random-access read/ write memory) at the same time. The simplest approach to partitioning memory is taken by a program called Memory Shift from North American Business Systems. Memory Shift is not a window manager per se, but it allows you to divide the RAM of an IBM PC into up to nine separate partitions. Each partition holds its own application, and you

Table 1: The DesQ agent library. These

programs can run

in resizeable windows

within the DesQ environment.

FAST GRAPHS

pfs:report

dBASE II

pfs:write

Lotus 1-2-3

SuperCalc

MultiMate

SuperCalc3

Multiplan

WordStar

pfsrfile

VisiCalc

are permitted to switch between different tasks that are then displayed on the screen. Since Memory Shift does not offer a multitasking extension, only one program is run at a time. Programs in other partitions are suspended.

Of the five window-management programs for the IBM PC, DesQ's and Vision's partitioning schemes are the most ambitious. DesQ has added some memory-management capabilities to the IBM PC to allow you to simultaneously display programs whose combined memory requirements extend beyond the limits of your system RAM. (Of course, these programs are not running simultaneously; however, DesQ swaps them back and forth from disk.) VisiOn also uses virtual-memory management to permit you to place more programs on its desktop. The exact makeup of the Windows memory-management scheme isn't available yet, but at a developers' seminar held early this year, Microsoft indicated that both code swapping and compaction would be involved. Concurrent DOS and Window Master partition memory in a manner similar to Memory Shift.

Multitasking

Multitasking frequently is held out as the next performance plateau for desktop personal computers. Multitasking is in principle possible on the 8088-based IBM PC, but the consensus is that running several computation-intensive tasks will degrade the performance of the PC below what is acceptable. There are several multitasking operating systems available for the PC most of them variants of the UNIX operating system. There are also a number of multitasking extensions of DOS available from third parties.

Several of the five window managers also offer multitasking capabilities. WindowMaster, Windows, and Concurrent DOS all offer this feature to varying degrees. In each case there are significant limitations. Both WindowMaster and Concurrent DOS have difficulty handling "misbehaved" applications (those that don't use standard DOS calls to write to the screen) as background tasks. Such programs frequently must be put to sleep when they are in the background to avoid conflict over video memory. Windows steps out of the way in the face of programs that do not

66 • BYTE Guide to the IBM PC • Fall 1984

WINDOW MANAGEMENT

meet its design specification. This is not an inconsequential problem, because virtually all of the commercial software available for the IBM PC circumvents MS-DOS for speed reasons.

Data Transfer

Data-transfer capabilities vary in each of the five window managers, ranging from tightly integrated applications (VisiOn and Windows) to a simpler strategy involving only copying screen memory directly or indirectly from one partition to another (Concurrent DOS and WindowMaster). DesQ offers a complex set of transfer options. At one end of the spectrum, with applications that have agent support, DesQ knows enough about how an application formats, marks, and transfers data that it can handle data transfer between dissimilar packages. If agent support isn't available for the programs you are running with DesQ, you can still use a "view" mode transfer option that makes copies from screen memory.

Hardware

One obstacle facing the developers of window-management user interfaces for the IBM PC is the lack of standardization among different hardware components.

The most significant split is between the monochrome and color/graphics display. The monochrome display currently available from IBM has a higher resolution than the color/graphics monitor (720 by 3 50 pixels versus 640 by 200 pixels); however, it supports only a character-mapped display. Developing a window-based user interface has therefore meant choosing to support either one or both of the display options.

There are other hardware-based decisions to make as well. DesQ requires 2 56K bytes of memory plus enough additional RAM to run the largest application program the user intends to run in addition to a fixed disk. DesQ program files take up over 1 megabyte of disk space. VisiOn requires a minimum of 2 56K. bytes of RAM (VisiCorp claims its applications run faster with more memory) and a fixed disk, and asks the user to clear 5 megabytes of disk space for VisiOn files. Windows, on the other hand, claims that it will run with 2 56K RAM on a floppy-disk based system.

Finally, there is the issue of the mouse. Both VisiOn and Windows will require mice as pointing and command devices. Mice are optional or not used by the other window managers.

Misbehaved Applications

The Achilles heel of IBM PC window management is screen management. Only those programs that display textual information on the screen by calling DOS or the ROM BIOS will run in small windows.

Unfortunately, for reasons of performance, almost every software publisher has chosen to write directly to the hardware. DesQ has offered special agents or utilities that permit several popular programs to be run in windows, Still, this probably will remain a major problem until an acceptable standard is set for bit-mapped display graphics and text on the PC's screen.

Other potential sources of incompatibility exist as well, depending on

how individual application programs read the keyboard or how they locate themselves in memory.

Style

Entering the debate over the best user interface is hazardous at best. Should your mouse beep, flash, or make no noise at all when you click it? Should your mouse have one, two, or three buttons? Should your windows overlap or be tiled? Should you use icons or have a more staid or serious desktop? The list is virtually endless, yet the questions remain important both from a design and a marketing viewpoint.

DesQ

DesQ was the surprise hit of the 1983 Spring COMDEX computer show in Atlanta. Its strength is that it allows IBM PC users to integrate their already existing applications, and in some cases to display them simultaneously on the

[continued)

PB'

C^C

,-TVO*4

saiW<eS' «ar>s(l

m**^Ae

sa'

«*$&

_ aWo^'

ittert

ofoyv

\l\S'

«">

- rvo ir(S ,.» _ I 90 ^ and

jatw*

otde'

\\oe

in*

i*y25.«w

s;»^

S3*0

pro1

-AA60

duct

805

■5*A

,\N#L

Circle 44 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

67

..."'

,.,-*

*

All he could do was hit.

And the Babe's fans loved him for it. Doing one thing very well has its rewards. Some people make history. Some set records. Some win hearts.

Multimate International. In a brief 18 months, a growing "fan club" of users has made us one of the leading software companies in the world. The object of their affection: Multimate, the program that put the power and speed of a Wang dedicated word processor into the IBM PC.

We've carved a niche in office automation. By committing ourselves to word processing. And to matching the IBM PC line, product for product. But we're also committed to extending the reach of word processing. By broadening our Multimate line to include data management, and, in the near future, a program that will allow users to convert Wang files to the Multimate format.

Multimate International. We've come a long way in a short time by being very good at what we do. We intend to keep it that way.

To find out more about Multimate, the word processor, and Multimate International, the company, call Jordan Caswell at 1-800-243-3142.

UftimETtC We're putting our reputation into words.

Circle 120 on inquiry card. Fall 1984 • BYTE Guide to the IBM PC • 69

THE FILE CONNECTION

8" DISKETTE SYSTEM FOR THE IBM PC

■ f

\ \ : ;■

■•.•■:

■

«>1V*

* •■■.:

I

Our "FILE CONNECTION" programs provide 8" diskette file exchange between the IBM PC and most Micro-Mini-Main Frame computer systems.

Our "WORD CONNECTION" programs provide 8" diskette text document exchange between the IBM PC and many word processing systems.

Our "DISPLAYWRITER CONNECTION" programs transform documents from Textpack, Wordstar, Multimate, etc. to the new DisplayWrite 2 format.

In addition to our hardware and program products, we also provide a conversion service for customer supplied diskettes. Please contact us for information about the hundreds of 5lA" and 8" diskette formats and systems which we currently support.

FLAGSTAFF ENGINEERING / 2820 West Darken / Flagstaff, AZ 86001 Telephone 602-774-5188 / Telex 705609 FLAG-ENG-UD

Circle 65 on inquiry card.

WINDOW MANAGEMENT

screen and pass information between them. DesQ also automates frequently performed repetitive and complex operations through Learn or Script utilities.

Despite its name. DesQ has kept the use of a desktop metaphor to a minimum; it has no electronic-desktop screen (installed programs appear on a simple menu) and, although the program does support three different mice (Mouse Systems. Microsoft, and Logitech), it is designed to function just as well with menu-based keyboard selections. DesQ does support background color and will run programs that have graphics output (not in windows, however), but it appears to be optimized for use on the IBM monochrome display.

Quarterdeck Office Systems has managed to unhook screen-cursor movement from the individual application software in a number of cases. This means, for example, that it is possible to use a program like WordStar, which is noticeably hostile to mice (quick cursor movement tends to fill a WordStar screen with a series of exclamation marks), with a mouse. However, don't expect the same kind of natural pointing that you experience on a system like Apple's Macintosh. When you move the mouse pointer in WordStar, the DesQ WordStar agent translates your pointer movement into commands. It often

takes several seconds for the WordStar cursor to reach the spot you have pointed at.

Another one of DesQ's strengths is that "shortcuts" have been designed in at every point in the system. This means that, while DesQ is largely menu driven, expert users who have learned commands can frequently get things done using keyboard-control sequences. While novices generally will use menus to move between different windows, experienced users can use a shortcut. To enter a new window (or a new partition of that window), it is only necessary to tap the DesQ key (the Alt key) and then type a number corresponding to the window you wish to activate.

If you are using a mouse with DesQ, one of the mouse buttons becomes the DesQ key. When using a mouse, it is only necessary to point and click in the window to activate it. It is also possible to move or resize the windows with the mouse.

DesQ comes on three floppy disks and uses an install program to create its own directory on a Winchester disk drive. After DesQ is installed, it is necessary to insert the first Starter disk into the floppy-disk drive and then type the command "DesQ" from the operating system prompt each time you start DesQ.

[continued]

AT A GLANCE

Name

DesQ

Manufacturer

Quarterdeck Office Systems 1918 Main St., Suite 240 Santa Monica, CA 90405 (213) 392-9851

Application programs

Existing MS-DOS programs and a simple text editor

Consistent command structure

No

Graphics

Character-based

Hardware required

IBM PC or compatible. 256K bytes of RAM plus enough memory for largest application, 5-megabyte hard disk

Support color

Yes

Multitasking

No

CP/M-86

No

Memory management

Yes

Data transfer

Program-level data with agent support

Mouse support

Optional

Price

$399

Photo 1: VisiO« from Microsoft.

Fall 1984 • BYTE Guide to the IBM PC • 71

WINDOW MANAGEMENT

After the program loads, the first screen of information that appears is the DesQ main menu from which you perform such functions as running programs, rearranging directories, and installing new programs.

To run any program under DesQ, you must first install it as part of the DesQ system. This is done by either loading one of the DesQ-supplied agents for one of the 12 programs that have been tailored for the DesQ environment, or by having DesQ create a new agent for a program that is not in its agent library. After this is done and saved to disk, that program becomes a permanent part of the DesQ menu and can be called directly from that menu.

To create permanent Scripts in DesQ using the Learn facility, select the = key from the DesQ main menu, name the particular Script, and select the keystrokes that will invoke the Script. DesQ then creates a record of all subsequent keyboard input until you suspend the Script by again calling the = key from the DesQ main menu. After the Script has been saved to disk, it can be invoked at any point from a submenu that is specific to a given program. Advanced Script functions also include the ability to let a Script pause for keyboard input or to input data from a pause.

DesQ comes with a series of predefined general Scripts that permit a series of general operations to be performed on any currently active application (see table 2).

The Script command also applies to DesQ's Mark and Transfer function. This feature allows users to automatically generate custom reports that have to be generated regularly from diverse sources.

DesQ claims that if your format can read and write information in DOS text files, DIF format or SYLK (Microsoft's own data format), it will be possible to transfer information in or out of these programs.

DesQ also has a Mark Transfer Forms feature to permit collection of disjointed pieces of information and transfer all the pieces in a group to another program. One example is transferring an entry from an address book in pfs:file to a customer database in dBASE II. Using the Forms capability, the user would show DesQ how to mark each of the pieces of an entry in the pfs:file ap

plication and then show DesQ where in the dBASE II record to put each piece. After DesQ has been shown the operation once, it can then automatically repeat the process. This is an intriguing capability because it can conceivably provide a method for transferring otherwise incompatible database information between programs.

Creation of Mark Transfer Scripts is considered an advanced task in DesQ. Simpler functions include the MARK TRANSFER command, which will permit transfer of data between programs whether they have DesQ customized agent support or not. At the lowest level DesQ uses a View option to copy information from screen memory. The VIEW command can also be used to circumvent individual application restrictions of cursor movment. In View mode DesQ provides a "snapshot" of the information the program has written to the full screen. This can be manipulated independently of program-imposed restrictions.

The View mode also has several other interesting uses. For example, View can be used to save information from communications programs or other programs that write to the screen as if it were a terminal. View will save this information for later editing or other processing. View also lets you take an application that will not run in a DesQ window and place a snapshot of it in a window so that it can be referred to while using other programs. The program is suspended by DesQ when it is in this

special View window.

Although DesQ insulates the user from DOS, the program does not entirely fence the user away from the operating system. DOS directories and most utility programs can be accessed via a special DesQ window called File Print. A range of DOS commands including BACKUP, COPY, ERASE, RENAME, etc., can all be accessed through this menu.

DesQ also provides a DOS-related feature called Logical Drives that permits programs designed for DOS 1.1 to take advantage of DOS 2.0 directories. The Logical Drives feature lets you associate a drive letter with a DOS 2.0 directory. DesQ then maps this drive assignment to a particular directory path.

User Interface

DesQ can perhaps be viewed as an extension to the operating system as well as a user interface. Thus the real importance of DesQ may be in the power it gives users to automate repetitive operations.

Although DesQ is designed to permit mouse operation, using a mouse didn't seem to have any particular advantage. Virtually all of the DesQ commands can be given as quickly, if not more quickly, from the keyboard.

Used with the IBM monochrome display, DesQ suffers from the same problem that all character-oriented window managers do: when the display is broken into separate windows, the space available for each window is sig

Table 2: Predefined DesQ scripts.

Switch to Window (1-9)—switches to windows 1 through 9.

Input from Pause—plays back the last variable information entered when a script performed a Pause for Input command.

Repeat Last Script—displays a menu which allows you to repeat the last script played back.

Mark Begin—marks the beginning of information.

Mark End—marks the end of information.

Put Aside—puts a window aside.

Transfer—transfers marked information.

View—switches the current window in or out of View Mode.

Zoom/Unzoom—zooms the window you are working on to a full screen window, or unzooms it from full screen back to its original window size and position.

72 • BYTE Guide to the IBM PC • Fall 1984

WINDOW MANAGEMENT

AT A GLANCE

WindowMaster

February 29, 1984

Version 1.88

..■ograH Management

3 Window Hanagenent

4 Script nanageaent

5 Interwindow transfer

3 Bill Smth wlan Hilli&ns 5Brian Johnson (Carlos Garcia

HindowHaster offers you several options for perfowing interwindow (between applications) data transfer. In all cases, no knowledge of coHputerese tents like 'file structure' is required. You nag transfer infomation tin

564781 Manually filtered inserting keystrokes as you 3324:1

I choose. ¥ou only need to know ho* your program 369281

work - which of course you do!

515471 Hatch this.

932451

162531

PRESS RETURN TO CONTINUE

Use t or I arrow, 4-> or Function keg to select, Esc to cancel

Photo 2: WmdowMaster from Structured Systems Group.

Name

WindowMaster

Manufacturer

Structured Systems Group 5204 Claremont Ave. Oakland, CA 94618 (415) 547-1567

Application programs

Existing MS-DOS or CP/M-86 programs

Consistent command structure

No

Graphics

No

Hardware required

IBM PC or compatible, 256K bytes of RAM. two floppy-disk drives

Support color

No

nificantly limited. Users might find that the ability to shift between different programs or contexts quickly is ultimately of more value than the ability to display several documents or programs at once.

As long as DesQ is able to hold different programs in RAM, context switching between them is virtually instantaneous. However, when DesQ is forced to swap programs between RAM and disk, it doesn't seem to be quicker than the time it would take to perform the same operation from DOS.

Finally, software compatibility seemed higher on DesQ than on any of the other programs 1 experimented with. DesQ was able to run everything 1 tried; however, several arcade-style games caused the program to hang when 1 called the DesQ menu.

WindowMaster

WindowMaster is a recently introduced multitasking window-based user interface. It is optimized for Structured Systems Group's own applications that normally run under CP/M-86: Word Right, NAD (a mailing-list database-management program), and Magic Spreadsheet; however, it will run other applications programs as well. In terms of documentation. WindowMaster is one of the simplest of the five window man

agers, yet it also has the capability to create script macros similar to DesQ. It will allow several MS-DOS and CP/M-86 programs to run concurrently, and it offers simple interwindow data transfer. Multitasking in WindowMaster is done by time slicing, that is, it allocates each task a small amount of processor time. However, there is no way to control task priorities.

In a sense, WindowMaster has extended MS-DOS to support CP/M-86. (Concurrent DOS is a version of CP/M86 that has been extended to support MS-DOS calls.) The program includes a copy utility that permits the import of CP/M-86 programs and documents.

Like DesQ, WindowMaster doesn't pretend to give the user a desktop metaphor. The program has no built-in provision for mouse support, and all user interaction with WindowMaster is carried out through pop-up menus containing commands that you can execute with the IBM PC's function keys.

WindowMaster will run on a system with as little as 256K bytes of RAM and two floppy disks; however, it can make use of additional RAM and can be run from a hard disk (see table 3). (The WindowMaster disk must be in the A: drive when the system is loaded.) Window

(conlinued)

Multitasking

Yes

CP/M-86

Yes

Memory management

No

Data transfer

Screen memory only

Mouse support

No

Price

$295

Fall 1984 • BYTE Guide to the IBM PC • 73

WINDOW MANAGEMENT

Master does not recognize DOS 2.0 hierarchical directories; therefore, in a system using DOS 2.0, all programs must reside in the same directory as WindowMaster in order to run.

WindowMaster functions break down into six categories: program management, window management, script management, interwindow transfer of data,

graphics, and keyboard management.

Program management is a menu item that allows the user to run a program, get information on the current status of different tasks, display a series of "advanced" function options, and copy CP/M-86 program and data files.

When a program is loaded and run, WindowMaster gives it a full screen and

Both our Oculus-100 and Oculus-200 boards give vision to your IBM® PC or compatible computer. And, both convert your PC into an image processor.

For high performance, choose the Oculus-200 board. Priced at $1995, it incorporates features you'd expect from vision systems costing twice as much. In fact, the Oculus-200 is a real-time, 30 frames/second video digitizer with 256K bytes of memory. Thanks to its on-board video output, the processed image can be displayed on an auxiliary monitor, with graphic overlay and vectoring capabilities. The Oculus-200 transforms, in real-time, the image received from a standard video camera into an array of 512 x 512 pixels with 128 shades of gray. Which means that the digitized image will be as sharp as your original subject.

For those special applications where a real-time binary system is just right: take a close look at our other board... the Oculus-100. It digitizes a TV image, in realtime, into an array of 512 x 512 black and white pixels that can be processed by your personal computer. And the image can be displayed, at a lower resolution, on your PC monitor. With its 32K bytes of memory and $695 price tag, the Oculus-100 is ideal for the rapid processing of contrasting images.

Applications fortheOculus boards can include: page reading —facsimile — teleconferencing — surveillance/security — microscopy — graphic arts — factory inspection — and much, much more. Dedicated software for these applications is available from our company. Each board is delivered with menu driven imaging software, cable and manual. Camera and display monitor are not included.

For more information about our Oculus boards, software or volume discounts, call us toll free at (800) 361-4997, in Canada call (514) 651-2919. Or write to: CORECO INC. The computer REsearch COmpany, 547 St. Thomas, Longueuil, Quebec, Canada J4H 3A7

IBM is a Registered Trademark of International Business Machines Corporation.

allows the user to decide if he or she wants to place it in a smaller-window. The WindowMaster documentation warns that a multitasking extension to MS-DOS can be dangerous because many programs have bypassed the operating system for speed and other reasons. In practice, I found that most, but not all, MS-DOS programs I tested would run in at least some form under WindowMaster.

In grappling with misbehaved applications that write directly to the display screen hardware, WindowMaster has added a special command RUN CONCURRENT DMA VIDEO PROGRAM. When an application is invoked with this command and is not in the active window. WindowMaster suspends the program so that it will not write all over the display screen. WindowMaster additionally gives these programs a full display when they are active.

It is also possible to map a misbehaved application that is only writing to part of the screen into a window so that the portion of the program where output appears will be visible and the rest of the program will be hidden. For example, WindowMaster could place WordStar in a window at the top of a screen while a long document file is being printed. During this time Wordstar only updates the top portion of the screen.

From the program-management menu WindowMaster permits the user to display an information screen that shows a listing of currently running tasks, their status, and available memory. WindowMaster uses the cursor keys on the numeric keypad to size windows on the display screen. It also offers a mode that permits a user to switch quickly between different tasks or windows by pressing the Space Bar. Tb set a new active task, the user presses the Return key.

A Script in WindowMaster is a group of saved keystrokes. The program differentiates between interwindow and intrawindow Scripts and allows each to be defined by invoking the Script mode, performing the desired task, and saving the Script to disk when finished.

WindowMaster permits the transfer of data from one window to another and will permit manual or automatic filtering of characters that are sent between different tasks. If you choose automatic

74 • BYTE Guide to the IBM PC • Fall 1984

Circle 43 on inquiry card.

WINDOW MANAGEMENT

filtering, a filter program creates a file that governs certain aspects of the information transfer, such as the characters to send after each line, the characters that indicate the end of a line, the characters to send before a string field, etc.

A graphics program that permits creation of pie, bar, and line charts on a color display, dot-matrix printer, or the HP 7470A color plotter is also included. However, the program is not integrated with other WindowMaster functions.

Finally, it is possible to define programmable function keys under WindowMaster. This option lets the user define and save single keys for either specific applications or Scripts.

User Interface

The WindowMaster user interface consists of a Spartan set of menus and makes no provision for either mouse support or an expert mode to permit experienced users to circumvent the menus. However, the multitasking feature of WindowMaster is interesting. I set the program up running WordStar. Crosstalk (a communications program), and a simple BASIC program that displayed elapsed time. When the BASIC program was moved to the background, it was suspended by WindowMaster, yet while Crosstalk was receiving a file through the IBM PC communications port it was possible to run the BASIC program in the foreground while Crosstalk continued to receive the file in the background. When Crosstalk was again made the active task, its screen was updated from the point where it had been frozen as a background task with no loss of information.

Of course, the drawback to a multitasking operating system on the IBM PC is that there is frequently a noticeable effect on individual program performance.

Table 3: Special WindowMaster install files for misbehaved programs.

Crosstalk

Lotus 1-2-3

pfs:file

dBASE II

Multiplan

SuperCalc II

WordStar

TK Solver

BASIC

Word Perfect

BASICA

Windows

Late last year Microsoft announced that it would be offering a window manager as an extension to the MS-DOS operating system. As the operating-system developer, Microsoft enjoys special advantages because most independent software developers will view the Micro

soft visual shell as a standard, and because Microsoft has a more intimate working knowledge of the MS-DOS operating system.

To date Microsoft has been able to attract commitments to support Windows from both hardware and software companies. More than 20 IBM PC compati

[continued)

1 ^Volkswriter Deluxe../' the critics' choice!

if

Thirty word processing programs were reviewed ... no other program received a higher overall evaluation than Volkswriter

Deluxe."

Software Digest Ratings Newsletter, January 1984 "If WordStar™ set a standard ... Volkswriter Deluxe sets a new standard for transparency, simplicity, and speed. You can learn Volkswriter in under an hour ... because it does so many things exactly the way you think they should be done."

"VOLKSWRITER DELUXE is the best buy in the IBM-PC™

writing tool arena."

Charles Spezzano, Whole Earth Software Review, January 15, 1984

"Volkswriter Deluxe ... a simple way to word processing power ... for writers who like to think." Washington DC Capital PC User's Group Vol. 3, #4

"Lifetree ... provides exceptionally helpful and competent assistance to registered owners, and the company's update policies are excellent."

"In sum, this is a unique wordprocessing program. lohn Lombardi, Reviewer, InfoWorld, April 76, 1984

99

We couldn't have said it better ourselves!

Suggested Retail Price: Volkswriter

Deluxe $295 for the IBM-PC,

PC compatibles, TV Professional'"

and TRS-80 Mode! 2000'." ^

"^Mfk.,^

IBM PC is a trademark of International Business Machines. TI Professional Computer is a trademark of Texas Instruments. TRS-80 Model 2000 is a trademark of Tandy Corp. WordStar is a trademark of MicroPro. Volkswriter Deluxe and the Lifetree logo are trademarks of Lifetree Software Inc. IB) 19B4 Lifetree Software, Inc.

LIFETREE

SOFTWARE INC

41 1 Pacific Street-Monterey, California 93040 1408) 373-4718/ TWX 1 7(,786

Circle 99 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

75

WINDOW MANAGEMENT

AT A GLANCE

Name

Windows

Manufacturer

Microsoft

10700 Northup Way Bellevue, WA 98004 (206) 828-8080

Application programs

Existing MS-DOS and specially designed programs

Consistent command structure

Yes

Graphics

Bit-mapped

Hardware required

IBM PC or PC compatible. 192K bytes, two floppy-disk drives

Support color

No

Multitasking

Yes

CP/M-86

No

Memory management

Yes

Data transfer

High level with specially adapted programs

Mouse support

Yes

Price

To be announced

ble manufacturers were on hand at the initial product announcement to say they would offer Windows with their computers. IBM was noticeably absent from the group, however. It is still not clear whether IBM PC owners will be able to buy Windows as a retail product.

Only demonstration versions of Microsoft Windows are available currently, and at the time of this writing (late April) Microsoft is stating that it will not ship the Windows development toolkit to OEM (original equipment manufacturer) customers until sometime during May. However, in February, Microsoft held a technical seminar on Windows, and a good deal of information about the product can be gleaned from the proceedings.

As was stated previously, Windows falls somewhere between VisiOn and DesQ in its integration strategy. Windows will allow virtually any existing application to run; however, to take advantage of its user interface, programs must be rewritten specially for the system.

Like VisiOn. Windows will work only with a mouse; however, unlike most other window managers, it doesn't offer overlapping windows. Microsoft takes the view that all current windows should be visible on the screen. The company calls this the tiled approach. As you expand one window, other windows automatically adjust to accommodate the growth. The screen is divided into variable-sized columns and rows. A window can be no smaller than its command line. All the windows are simultaneously active and are not suspended until they are clicked closed with the mouse. Windows will have certain multitasking capabilities and Microsoft is billing the Windows environment as a "sneak preview" of things that will be done with MS-DOS in the future.

The anticipated release size of Windows is between 50K and 60K bytes (the current demonstration version takes about 70K bytes). Microsoft is recommending a minimum of 192K bytes of RAM with Windows. This will leave between I20K and 128K bytes of program space in a minimal system.

Each windowpane has several significant sections. The command line across the top of the window contains the window's name. System prompts, command options, and messages can also appear in this area. Additional application com

mands can reside in a drop-down menu within the window. Each window also can have horizontal and vertical scrollbars for altering the view of the program or document.

Windows will run only on a bit-mapped display (on most systems it will run in the IBM PC high-resolution mode, but it will not offer color windows) and it is the only one of the five window managers to make extensive use of icons to represent programs, documents, and system peripherals. Microsoft claims that icons are the best way to represent applications when screen-display space is scarce.

The question of tiling versus overlapping windows has become something of a theological dispute among userinterface designers. The Microsoft case is that tiling is the metaphor of the "neat" desktop. They claim that a tiledwindow manager builds a certain amount of intelligence into the windowdisplay equation. Windows guesses about where to put and how to size a window when it is selected, and it also allows the user to override in case he or she favors another layout. Microsoft hasn't been entirely orthodox on this issue. It will be possible for individual applications to display their own overlapping or "nested" windows for menus, property sheets, or other tasks.

There will be several data-interchange options in Windows. It will be able to pass information in an internal binary format, as ASCII (American National Standard Code for Information Interchange) text, or in SYLK, and possibly in DIF as well.

One of Microsoft's greatest strengths is its contention that by using Windows, application developers will bring portability to new hardware environments. Inasmuch as Windows is designed to function like a "virtual machine" between the application and the hardware, this will be true. For example, Windows is designed so that it can easily be moved to displays with resolution higher than that of the IBM PC.

User Interface

Of the five window-manager programs discussed here. Windows most closely approximates the group of concepts that comprise the user-interface design first advanced at Xerox PARC and com

[conlinued)

76 • BYTE Guide to the IBM PC • Fall 1984

Circle 2I on inquiry card.

All data base managers can do filing, searching, sorting and reporting, but.

FormManager does it faster, easier AND lets you set up spreadsheet-type formulas.

No new systems to learn ... you can use the format you're used to.

With FormManager, you can lay out forms on a display any way you want; without programming, without any restriction. You can draw lines and boxes with only three keystrokes. Its data validation features catch errors when data is filled in. You can even specify default values (such as "San Jose" for city) to save typing.

Larger capacity than other

programs. You won't

outgrow it!

FormManager can handle up to 32,767 records, 500 fields per record, and 80 characters per field. Its state-of-the-art B-tree technique assures you of fast sorting and searching even when your database grows. There are several ways to search for a record randomly or sequentially.

The only program that lets you set up complex formulas ... saves hours of manual math!

FormManager's built-in math capability provides 26 general math functions beyond the usual four arithmetic functions. You can define multiple formulas for interactive calculation (as in your spreadsheet programs). Its macro facility includes repetitive and conditional statements. You can easily set up a task such as:

IF state = "CA" then TAX = subtotal * 0. 065.

Fully flexible report writing. Prints data the way you want it.

Report Writer lets you produce professional reports sorted by any three fields. Other features such as page break control, calculations and formatting let you create a wide variety of reports.

If you use pre-printed paper forms, you'll love FormManager's advanced printing features. You can set up your own format to print on almost any form, from invoices to insurance forms to loan application forms.

FormManger is the only program that lets you set up forms the way you wanl

The best feature of all is the cost ... only $195. A demo disk is available for only $5. Send for your copy today.

w

B IT Software Inc., Box 619, Milpitas, CA 95035

(408)262-1054

New dimensions in Bible study*

THE WORD processor $199.95

The KJV Bible on disks. /

Search for any word or phrase, create personal indexes, print any verse. Build your own library of Scripture references.

THE

$199.9

Start with any English word and find the original Greek, with definition and word re For any Greek word find every translation. STRONG'S CONCORDANCE and *» T New Testament. (Apple and IBM only

SPS*

TOPICS $49.95

An index to over 200 Scripture subjects.

PEOPLE $49.95

An index to over 140 Biblical people.

For Apple, IBM PC, Commodore 64, TRS80, Ka^pto, CPM 2.2, MS-DOS.

Bible Research

9415 Burnet Road #208 . Austin, TX 78758 . (512) 835-7981 Include $3 postage/handling "Software for personal Bible study"

Circle 20 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 77

Circle 62 on inquiry card.

EXPOTEK

1 -800-528-8960

24 HOUR ORDER LINE

Quality Products Guaranteed Low Prices

PRINTERS

C. Itoh

1550 AP 499

1550 BCD 549

8510 AP 319

8510 BC2 419

8510 BPI 389

A10-20 449

F10-40 899

F10-55 1179

Comrex

CRII 439

Daisywriter 2000 985

Diablo

620 API 739

630 API 1699

630 ECS 1999

Epson All Models Call

Juki

6100 439

NEC

2050 779

3510 1219

3550 1499

7710 1649

Okitata

All Models Call

Panasonic

All Models Call

Qume

Letter Pro 629

11-40WIBMIF..1369 11/55 WIBM IF..1569

Silver Reed

EXP 400 Call

EXP 500 385

EXP 550 479

EXP 770 Call

Star Microtronics All Models Call

Tally

Spirt 80 289

160L w/Tractor...559 180L w/Tractor...779

Toshiba

1340

1351

.749 1359

WINDOW MANAGEMENT

DISK DRIVES

ACI 5,10,20 MB Hard Disk System

w'6 MB Cartridge Back-up Call

TEAC 55B slimline DSDD 179

TEAC 55F slimline DSQD 249

Control Data full height 219

Tandon 100-2 209

Maynard 10MB-WS-1 with EPROM 999

Maynard 10MB-WS-2 with EPROM 1149

Tallgrass Tech Hard Disk System Call

MONITORS

Taxan 105 Amber/100 Green 109/104

420 IBM RGB Look alike Call

RGB-Ill Super Hi Res Call

Amdek 310 Direct IBM Plug In - A or G Call

300 Amber Green 154/144

PGS-HX-12 466

PGS MAX-12 Amber 179

Leading Edge Amber, Green, Color Call

BOARDS

Quadram all products Call

AST latest boards Call

Hercules Graphics Card 369

Paradise Multidisplay Card 379

MODEMS

Novation-Access 1-2-3 w Crosstalk XVI Call

Smart Cat 300/1200 Call

Hayes Smart Modem 300 1200 212/499

1200B Call

Anchor Volksmodem Call

Signalman Mark VII/XII Call

Microcom Era 2 Internal Model w Software 349

ACCESSORIES

Standby Power Systems Best Price

Switch Boxes Parallel & Serial Save

Chips 64K 55

Koala Pad w'Graphics Illustrator Call

DISKETTES

3M Call Memorex Call

2017 E. CACTUS STE. B

PHOENIX, AZ 85022

(602) 482-0400

AT A GLANCE

Name

VisiOn

Manufacturer

VisiCorp 2895 Zanker Rd. San lose. CA 95134 (408] 946-9000

Application programs

Calc, Graph, Word. Query

Consistent command structure

Yes

Graphics

Bit-mapped

Hardware required

IBM PC XT, Eagle and Compaq, Tl Professional. Wang PC. Honeywell 7900, color/graphics adapter. 5I2K bytes of RAM, optical mouse

Support color

No

Multitasking

No

CP/M-86 support

No

Memory management

Yes

Data transfer

High level

Mouse

Yes

Price

$95

mercialized by Apple Computer Inc. Both DesQ and WindowMaster are implemented on character-oriented displays and are therefore better suited for keyboard input. VisiOn has chosen to eschew icons and has built-in interaction concepts that substantially differ from the Star, Lisa, and Macintosh. The final user interface for Concurrent DOS has still not emerged and as such the one currently available should be thought of as an interim design.

Microsoft has stated its commitment to adhere to the Apple Macintosh user interface to ease the design burden on third-party software developers. And although there are substantial differences between the interfaces (such as tiled windows and two mouse buttons instead of one), there are also significant points of compatibility. For example, there will be strong similarities between Microsoft application programs running on Macintosh and the same application running on the IBM PC in the Windows environment.

In the Windows operating environment, both mouse buttons of a twobutton mouse function alike. However, in a Windows application program, mouse functions are defined by the application and each button can have a separate purpose.

Another important characteristic of Windows is the degree to which it insulates the user from the operating system. Windows greatly reduces the number of verbs (copy, delete, name, print) the user is faced with to interact directly with the operating system.

VisiOn

VisiCorp first announced VisiOn at the November 1982 COMDEX computer show in Las Vegas. At the time, VisiOn was the first integrated-desktop software environment for personal computers. When VisiOn finally was shipped in early 1984, the market had grown dramatically more competitive. Not only had Apple introduced both Lisa and Macintosh, each with its own integrateddesktop software, but other window managers and a growing variety of integrated programs had also reached the IBM PC marketplace.

Application software must be specially developed to run as part of the Vision desktop system. VisiCorp offers

(continued)

78 • BYTE Guide to the IBM PC • Fall I984

Inside Outside

Thinking o!

buying a modem?

You owe it

to yourself to check out the Qubie' 212A modems.

Just a few years ago, computers needed big air-conditioned rooms to operate in, balefuls of money to buy, and a team of wizards to keep them running. The constant march of technological progress has given more and more powerful machines which cost less and less. Desktop computers more powerful than the early mainframe computers are the result of the evolution. The Qubie' modems represent the latest extension of this progress. Because up until now, a 212A compatible modem cost at least $500. Through the use of four low-cost, state of the art microprocessors, we can now offer two versions of our full featured 212A modem at prices the competition sells 300 baud modems for.

In The Beginning

In September of 1983 we introduced the first 212A modem card for the IBM PC available for under $300. The PC212A/1200 is a complete communications package including PC-TALK III software, modular phone cable, card edge guide, and instruction manual. The modem is an auto-dial, auto-answer type, which uses all the Hayes software commands so it can be used with any of the popular software packages including Crosstalk1/' and Smartcom? We picked the best software package we could find based on it's ease of use and features, PCTALK III. Our modem includes features the old industry standard missed out on. Like being able to fit in one slot in a Portable PC or PC/XT.

Or an optional connector to use the modem's serial port when not using the modem. Of course the topper is the $299 price, hundreds less than the competition.

Now Available Outside

Our standalone modem, the 212E/1200 can be used with any computer or terminal with a RS-232C serial port. You can use any Hayes compatible communications software on anything from an Apple to a Zenith. Many owners of IBM PC's are using it because they lack available expansion slots, or have more than one computer they want to use their modem with.

It's attractive gold anodized case houses seven status lights (who says low prices means a shortage of features). It fits comfortably under a standard telephone. It is also a 212A compatible auto-dial, autoanswer modem which supports all Hayes software commands. Even the switch settings are the same, so any software giving recommended switch settings for a Hayes modem can be used, without knowing what the switches do. There is a volume control knob for easy adjustment of the speaker's output. Included in the package is modular phone cable, a cable to hook it to your computer or terminal, and instruction manual. Choose the communications package right for your needs, and you're ready to go!

Four Hearts

The heart of the Qubie' modems are four digital signal microprocessors. Two handle sending, and two do the receiving. Rather than attempt to filter all but the relevant tones used for modem communications, the

PC212A/120O Includes: Modem Card, PC-TALK III software, card edge guide, modular phone cable, quick reference card, and instruction manual. $299 Optional external serial port connector S20.

212E/1200 Includes: Standalone modem with cable (specify male or female), modular phone cable, and instruction manual. $329.

microprocessors measure the tones digitally. This allows them to overcome line noise and static better than analog filter based modems

Why Buy From Qubie'

Because you will get a product as good or better than any available, pay less for it, and get factory direct help if you need it. If at any time during the one year warranty period your modem should require service, we will fix it or replace it within 48 hours. Notice also there are no hidden charges in our prices. No extra for freight, insurance, credit cards, or COD fees. In a hurry? UPS 2nd day air service is just $5 extra. If you are like many who say, "Nah, it's too good to be true" just apply the acid test and find out. Then you will be asking yourself, "Why should I pay what these modems used to cost?"

The Acid Test

Qubie' gives you a 30 day satisfaction guarantee on your modem. If you are not completely satisfied we will refund the entire amount of your purchase including the postage to return it. If you can, get anyone selling another modem to give you the same guarantee. Buy both, and return the one you don't like. We know which one you will keep.

IBM is a trademark ol International Business Machines Corporation.

Crosstalk is a registered trademark of Microstuf Inc.

PC-Talk III is a registered trademark ol The Headlands Press Inc.

II

QUBIE'

212A/120OE

HS AA CD OH RD SD TR MR

Order Today, Shipped Tomorrow!

All prices include UPS surface freight and insurance. Add $5 for two day air service. For fastest delivery send certified check or credit card. Personal checks take 18 days to clear. Calif, residents add 6% sales tax. Corporations and Institutions call for purchase order details.

(800) 821-4479

Toll Free Outside California

Circle 150 on inquiry card.

(805) 987-9741

Inside California

QUBIE' %

{. 4809 Calle Alto

I Camarillo, Ca. 93010

I Tempo House, 15 Falcon Road,

I London SW11 2PH, United Kingdom

© Copyright Qubie' 1984

Fall 1984 • BYTE Guide to the IBM PC • 79

HHB

Meet the

AST SixPakPlus has set the standard 100,000 times.

We have manufactured and shipped more than 100,000 SixPakPlus multifunction boards—an event that proves quality and quantity are compatible. AST has maintained the same high set of quality standards from our first SixPakPlus board, to our 100,000th in less than a year. No one in the industry has set that kind of standard! Important as it is, quality \s just one of the factors thalihas made SixPakPlus the mosflpopular, most respected multifunction board available today. Broad performance capabilities is yet another. SixPakPlus provides users of the^BM PC and XT and their compatibles with an ideal combination of enhancements to give you all these benefits on a^single board:

• When you need more memory to run sophisticated software programs and process more data, the SixPakPlus gives you an additional 64K to 384K RAM.

• If you want to add peripherals such as printers, modems, mice, plotters or joysticks, we give you more Input/Output ports—serial, parallel and optional game adapter.

• More convenience, thanks to a built-in clock-calendar that

provides automatic time and date stamping. • More productivity with SuperPak™ utility diskette including SuperDrive,Tl"PC World's User Survey awardwinner, that works like a drive but fifty times faster— and SuperSpool™ so you can print and input at the same time, ^v

Quality even extends to the documentation, making SixPakPlus one of the easiest hardware/software packages to install and operate.

We continue to set the standards by providing the best possible user information. In fact, with our new audio cassette you don't even have to crack our manual to learn how to take full advantage of all SixPakPlus features and functions.

Now meet the standard for multifunction enhancement boards in person. Get a SixPakPlus from a dealer near you —the proven winner for your PC expansion needs. SixPakPlus is a member of the complete AST family of multifunction boards; Micro-to-Mainframe communications, LAN and graphics products.

Contact: AST Research Inc., 2121 Alton, Irvine, CA 92714 Telephone: (714) 863-1333 TWX: 753699ASTR UR

'IBM PC and XT are registered trademarks of International Business Machines.

R€S€flRCH INC.

Circle I on Inquiry card.

WINDOW MANAGEMENT

Both VisiOn and Windows will require

mice as pointing and command devices.

third-party software developers a toolkit for developing applications for $5500. To date, however, the only applications available for VisiOn are ones VisiCorp itself has developed: VisiOn Word ($375), VisiOn Graph ($250), and VisiOn Calc ($395). A fourth VisiCorp product, VisiOn Query ($375) will be added shortly. The VisiOn mouse is priced at $250 and the price of the VisiOn hostapplications manager was recently reduced to $95.

In exchange for tightly specifying the applications that would run in the Vision environment, the program achieves both a consistent command structure across all programs running on the desktop and a higher level of program integration (meaning that data can be transferred between programs in context). For example, it is possible to continuously and automatically update a graph of spreadsheet data each time the spreadsheet is altered.

Because the command structure of VisiOn is consistent and because learning how to do something in one application will usually transfer to other applications, the program is relatively easy to learn.

Although VisiOn requires a bitmapped display, it does not make use of icons. Programs first appear in windows on a gray background (although VisiOn uses the IBM color/graphics adapter card, it currently doesn't have color capabilities) and can be resized and overlapped according to the user's needs. Only one window at a time is active, and this is indicated on the VisiOn desktop by special framing of the active window. The limitation to the number of windows that can be open on the desktop at any one time is available system memory. VisiOn also requires a mouse pointing device that is used to execute system and program commands.

Each VisiOn window consists of three sections, or panes. A large contents

pane is continuously displayed; it contains the program or document itself. Along the bottom of the window is a dialogue pane that supplies prompts and the specific program commands. The third pane is the options pane, which is usually not visible. It gives you control over the default settings for the window or program.

At the bottom of the VisiOn display there is a separate menu consisting of eight commands that are generalized to all VisiOn programs-HELP, CLOSE, OPEN, FULL, FRAME, OPTIONS, TRANSFER, and STOP are available to the user at any point. The HELP command is designed to allow contextsensitive help. The user first points and clicks on the help menu item and then points to whatever it is in the system that he or she needs help with. The CLOSE and OPEN commands function the same way. First you select the command and then you point and click the window you want open or closed. FULL is a zoom command that will cause a selected window to fill the entire screen while FRAME allows you to locate and size the active window. The OPTIONS command will invoke the special hidden pane in each window that permits the user to specially define the default settings of each application. When the TRANSFER command is selected, the VisiOn system will lead you through a series of prompts to outline the source and destination point of data to be transferred between applications. Finally, STOP will permit you to interrupt any operation.

VisiOn filters the user's access to DOS through a special window called Archives. Archives is essentially Vision's organizing model, which is placed on top of the DOS 2.0 directory structure. Archives is modeled after the way information is typically stored in an office filing cabinet. In the VisiOn environment, a file is the data that is created with the VisiOn program. A folder is a collection of related files.

The VisiOn Archives has one special folder called the wastebasket folder. This is where files are placed to be disposed of. A file remains in the wastebasket until a second file is added. At that point the first file is permanently deleted. Archives frees the user from some of the file-naming restrictions of DOS and also will provide information

on each folder and file, including its type, and time and date that it was created or modified. It is possible to divide the Archives window into two panes so that the contents of several folders can be examined simultaneously.

Archives does not permit you to examine files that are not in VisiOn, but which may be in your DOS directories. In the future it will be possible, however, to transfer information into and out of the VisiOn system. VisiCorp has stated that independent software developers will be providing programs that modify MS-DOS files into a format that can be transferred into the VisiOn system.

The import and export of files from VisiOn will be done from the TRANSFER command.

VisiCorp claims that VisiOn now runs on the IBM PC XT, Eagle, and Compaq IBM compatibles; the Honeywell 7900, Texas Instruments Professional, and the Wang PC. Each of these systems must have 512K bytes of RAM, a bit-mapped screen, and a 5-megabyte hard-disk drive.

These specifications should be taken literally. I tried installing VisiOn on three separate IBM PCs with half a megabyte of RAM and hard disks that ranged from 5 megabytes to 33 megabytes, and 1 found that it was possible to install VisiOn on only one of these. A call to VisiCorp revealed that in order to run Vision an IBM PC must be "100 percent XT compatible" and that the brand of your memory-expansion card may also affect Vision's ability to run your system.

The VisiOn user interface differs significantly from the Star/Lisa and Windows user-interface style. A good example of this difference is the process of closing a window on the screen. On Lisa and Macintosh the user clicks a small "close" box in the upper left-hand corner of the window. An animation effect then shows the window collapsing back into its icon. Reopening a window is done by double-clicking the icon. By contrast, in VisiOn closing (and opening) a window is a two-step process that involves selecting the close (or open) option from the menu bar at the bottom of the screen and then moving the mouse pointer and clicking it in the appropriate window. This involves two separate clicks and, potentially, moving

(continued)

82

BYTE Guide to the IBM PC • Fall 1984

Our multi-mode HERMES printers shake hands with all kinds of computers. Even some you've never heard of

And for your IBM-PC™, we have created the fully compatible multi-mode HERMES PC-PRINTER 1

Fully compatible with your IBM-PC™, tested with Easywriter™, Multiplan™, Lotus 1-2-3™ and other software packages, the HERMES PC-PRINTER 1 allows you to convert your personal computer to a heavy duty professional system. IBM-PC™ users who only pick the best will also appreciate:

Its speed. Bi-directional, shortest path printing. 200 cps Data, 100 cps Near Letter Quality (single pass).

Its resolution. Finest print quality available on a matrix printer. So good you can even print signatures. Bit mapping graphics in single, double and triple density modes.

Its quality. Swiss high quality construction. Very high reliability for heavy duty use.

Its versatility. Choice of printing styles with the complete IBM™ character set tables (226 chars.). Wide range of automatic sheet-feeders with 1 or 2 bins + envelopes, single document inserter, roll-holder and tractor.

Its ease of use. Plug'n play installation. Plug it in, switch it on yourself.

HERMES

The impressive printers

HERMES distributors:

ME,NH,VT,CT,MA,RI:

TX.AR.OK.LA:

MD,DE,VA,DC,PA,S.NJ:

NYState.NYCity.N.NJ:

Upstate NY:

MI, OH, KY, WV, W.PA:

FL,GA,TN,AL,MS,NC,SC:

CO, UT, ID, MT, NM, AZ:

S&S Electronics, Inc., US DATA Associates, Inc., MESA TECHNOLOGY Corp., TMA LOGON,

NACO ELECTRONICS Corp., LOWRY and Associates, Inc., GENTRY ASSOCIATES, Inc., PAR Associates,

(617)458 4100 (214)680 9700 (301)948 4350 (201)646 9222 (315)699 2651 (313)229 7200 (305)8597450 (303)3714140

To receive a sample of the finest quality matrix print-out and additional information on the HERMES PC-PRINTER 1, please return the coupon below.

| Please send me more documentation about your PC-PRINTER 1

Name Title

I Company:

Street

City

State

Zip

Phone(

J_

Send to: HERMES PRODUCTS, Inc. Printer Division 1900 Lower Road, LINDEN, NJ 07036, (201) 574 0300

Circle 78 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

83

WINDOW MANAGEMENT

AT A GLANCE

Name

Concurrent DOS

Manufacturer

Digital Research POB 579

Pacific Grove, CA 93950 (408) 649-3896

Application programs

Existing MS-DOS or CP/M-86 programs

Consistent command structure

No

Graphics

Character-based

Hardware required

At least 2 56K bytes of RAM. two floppydisk drives

Support color

Yes

Multitasking

Yes

CP/M-86

Yes

Memory management

No

Data transfer

Screen memory only

Mouse support

No

Price

$295

the pointer back and forth across a great expanse of screen.

Changing the size or moving a window is also a more complex task in Vision. To resize a window you must first select the frame command at the bottom of the display screen, then select the window you wish to frame, then select the new upper-left-corner location, and finally select the lower-rightcorner location. The multiple steps involved in resizing a window seem to make the whole process awkward and cumbersome.

VisiOn also has chosen to have its mouse-select button beep every time it is clicked. This becomes annoying. It is possible to change the beep to a screen flash at the point of the click; however, this isn't as elegant as the contextsensitive feedback of mice-clicks in Macintosh or Windows.

The VisiOn mouse has two buttons: the left one is a selection button and the right one is a "scroll" button. The addiaddition of the scroll button appears to be an innovative alternative to the traditional window-scroll bars. To move a document in a VisiOn Window you simply hold down the scroll button and move the mouse in the direction you wish the document to scroll. The effect that is gained by this technique is natural and closely akin to holding your finger down on a piece of paper and sliding it along a desktop. It is possible to scroll both vertically and horizontally in this fashion.

Concurrent DOS

Although Digital-Research's Concurrent CP/M-86 is still a secondary operating system for the IBM PC, the company has

gotten several extensions of its operating system to market before Microsoft. Digital Research is already shipping its graphics, window, and network extensions. The company is now finishing work on an extension to Concurrent CP/M-86 called Concurrent DOS. The new operating system will run both CP/M-86 and MS-DOS software on the IBM PC and will allow the user to display up to four tasks running simultaneously on the same screen or on separate "virtual consoles" that can be arbitrarily selected (see table 4).

The initial release of Concurrent DOS will be a hybrid that will fall somewhere between DOS 1.1 and DOS 2.0. It will be able to read either 8- or 9-sector floppy disks and will access the root directory of an IBM PC hard disk; however, it will not support DOS 2.0 system calls.

Concurrent DOS has some novel aspects. For example, copy utilities (Copy and Pip) that in the past have been the property of each operating system are now both included with Concurrent. The commands that MS-DOS refers to as internal have been replaced with similar external commands. Most MS-DOS commands are available as part of Concurrent DOS; however, for obvious reasons the SYS.COM is not included. Memory allocations for CP/M86 programs are done dynamically; however, memory must be allocated in each partition by the user for MS-DOS software using a MEM command.

In both Concurrent CP/M-86 and Concurrent DOS, the user can move between any of four different virtual consoles (these can be separate screen or

{continued)

Table 4: Some

of the MS-DOS software

that runs under Concurrent DOS.

dBASE II

AshtonTate

DR Draw

Digital Research Inc.

DR Graph

Peachtree Software Inc.

General Ledger

Continental Software

Home Accountant Plus

Multimate International Corp.

MultiMate

Microsoft Corp.

Multiplan

Lotus Development Corp.

1-2-3

Software Publishing Corp.

pfs:File

Software Publishing Corp.

pfs:Graph

Software Publishing Corp.

pfs:Report

Software Publishing Corp.

pfs:Write

Sorcim

SuperCalc 2

Sorcim

SuperCalc 3

VisiCorp

VisiCalc

Micropro Corp.

WordStar

84 • BYTE Guide to the IBM PC • Fall 1981

ATTENTION: Software Houses and Computer Manufacturers

DATA COPY SYSTEMS

DELIVERS ^ Perfect Duplicates

rte«

*f^*

UOo offers the software industry the most reliable and fastest disk duplication service available anywhere. And we feature fast turnaround at reasonable prices.

We've invested in the most modern, state-of-theart duplication and testing equipment on the market. We can duplicate disks for the IBM PC, Apple, Radio Shack, Commodore, Atari, DEC Rainbow and most other popular microcomputers and disk formats.

Our quality control standards are unmatched. We use only manufacturer-certified media which must pass our own stringent incoming inspection standards. Our automated equipment performs 100% bit-by-bit verification tests on every copy. And we run additional verification tests on samples from every lot.

In most cases, we even run samples on the computer they're meant for... just to make sure.

Whether you're an independent software author, a major software house or a computer manufacturer looking for a reliable East Coast source for disk duplication services, we want to go to work for you.

Circle 48 on inquiry card.

SERVE YOlio

Write for

our

we can do for

you.

°ESCR/pT/VE BROCHURE

0r, if you need =>

(617)295-7500

DATA COPY SYSTEMS

DATA COPY SYSTEMS, INC. / Wareham Industrial Park, 15 Kendrick Road, Wareham, MA 02571

SAVE OVER $1500 ON YOUR NEXT IBM PC.

AND YOUR NEXT. AND YOUR NEXT. AND YOUR NEXT.

Until now, adding extra users to your office system has presented some real problems. Additional PCs are costly. And the problems get tougher when you need shared data access and communication between PCs. Alloy's revolutionary PC-PLUS solves these problems. For $1195 for each user processor and the addition of a dumb terminal, PC-PLUS transforms your IBM PC into a powerful multi-user, multi-processor system.

In any system requiring more than one PC, PC-PLUS provides a more powerful and less expensive alternative. PC-PLUS is almost twice as fast as an IBM PC. And PC-PLUS is ten times faster than LANs (Local Area Networks) at

f K| IyrCOMPUTER

£ Blr I Kshcw

San Francisco, Sept. 6-9 BOOTH 928

half the cost. It also eliminates the cost of LAN controllers, taps, and expensive cabling. So whether you're adding your secretary or

15 colleagues, Alloy's

PC-PLUS can do it at a

much lower cost and

with higher performance.

Best of all, it's available

right now. See PC-PLUS

in action at Computerland,® Businessland, and

at your local dealer.

Or call Alloy today at

(617) 875-6100. Computer Products, Inc.

Alloy Computer Products, Inc., 100 Pennsylvania Ave., Framingham,

Massachusetts 01701. 16171 875-6100, TWX: 710-346-0394

In Europe: Alloy Computer Products lEuropel Ltd.,

Cirencester, Gloucestershire, England. Tel: 0285-68709, Tlx: 43340

86

BYTE Guide to the IBM PC • Fall 1984

Circle 7 on inquiry card.

WINDOW MANAGEMENT

Although Concurrent DOS doesn't support hierarchical files, it does offer 16 different "user areas'; it's possible to copy PC-DOS programs and data to a CP/M disk.

individual windows on the display) by holding down the Control key on the PC keyboard and simultaneously pressing the 0, 1. 2, or 3 key on the numeric keypad. Information about the currently active console is displayed in a status line along the bottom of the screen (if you are running an MS-DOS program in a console, the status line is returned to the program).

Although Concurrent DOS doesn't support hierarchical files, it does offer 16 different "user areas"; to take advantage of this feature it is possible to copy PC-DOS programs and data to a CP/Mformatted disk.

Because there are obvious opportunities for confusion (for example, both WS.COM and WS.CMD on the same disk), Concurrent looks for files in a predetermined search path using both drive and file paths as criteria. If you have two files with the same name but different extensions, Concurrent uses that extension as a tie breaker. It will look first for a .cmd file (a CP/M program), then for a .com file (MS-DOS), then .exe (PC-DOS) and finally .bat (a PCDOS batch file). It is possible to override this search pattern by specifying the extension.

Since many MS-DOS based applications write directly to the screen. Concurrent includes a SUSPEND command that will allow the user to put a program to sleep when its virtual console is not the displayed task. The problem of screen contention is not as great among CP/M applications because most of them are written in a way such that output from the application passes through the operating system before it is displayed. This also means that many CP/M applications will run in windows. A suspended MS-DOS application can continue to be viewed in a window.

User Interface

Concurrent CP/M handles window management with two utilities. W1N

Photo 3: Concurrent DOS from Digital Research.

DOW is a noninteractive, command-line oriented program. WMENU is an interactive program that allows you to alter the size of windows, determine what portion of the virtual screen console is viewed by the window, hide windows, change their background and foreground color, and copy information from a window to a file or vice versa. After setting up your windows with the WMENU program (which is about 10K bytes in size), you can exit it, freeing that space in memory.

Since Concurrent DOS is limited to four virtual consoles (many more background tasks are running, but an arbitrary limit of four simultaneous applications has been established), it is also possible to display only four windows on the screen. These windows can be moved anywhere on the screen, their size can be changed, and they can overlap or extend off the sides or top and bottom of the display. If you have two monitors, it is even possible to display one virtual console on the color monitor and display three additional windows on the monochrome display.

When CP/M Windows is running, the active window is always designated by having an additional frame around its window area. At any time it is possible to zoom this window by pressing the Control and Delete keys simultaneously, so that it occupies the full screen. Pressing them again will return that window to its former position and display other windows.

There currently is no provision in CP/M Windows for a mouse, so interaction is done by entering commands from the keyboard or by selecting options from the small menu offered by the WMENU program.

Conclusion

Current generation graphics-oriented window software technology is literally begging for faster hardware. Either faster processors or the development of personal computers with graphics coprocessors and higher-resolution displays will make it more realistic to run multiple tasks and display them simultaneously.

Window-management software on the IBM PC does offer an interim solution toward a graphics-oriented and more interactive personal computing environment. ■

Fall 1984 • BYTE Guide to the IBM PC • 87

Introducing the new Project Scheduler 50001

Help! The demands of managing a project have you frantically juggling people and resources. It's getting more complicated and you're about to drop the ball on profits and deadlines.

Successfully managing one project can be difficult. Successfully managing two or three projects can be overwhelming. But now, help is here for you. With Project Scheduler 5000 you can precisely forecast, schedule, control and track large projects easily and quickly. You can replace your frustration with a sense of self-satisfaction from a project well managed.

This new generation in scheduling software makes possible what was, until now, only a dream: true interactive use and immediate response to changes and additions. You can schedule over 5000 activities spread over 10,000 time periods. What this means is that you can manage the largest projects with ease. While you probably don't need this power on a daily basis, it's nice to know that you have room to grow.

Interactive "What If" Capability

"What if" scenarios are an important source of information that allow you to make the best decision after trying the alternatives. Now you have time for this kind of in-depth planning, because updating and modifying are so simple with Project Scheduler 5000.

A scheduling package should do more than schedule. With Project Scheduler 5000 you never take the risk of making guesses instead of accurate decisions.

Main Frame Power — Computer Simplicity

Project Scheduler 5000 brings mainframe capabilities to your personal computer.

Personal

88

BYTE Guide to the IBM PC • Fall 1984

... the best solution to effective project management

On Time On Target

Project Scheduler 5000 gives you all the information you need when you need it. Instantly, you know the status of your project.

At a glance, unique plot symbols will let you know whether or not the project is on time and on target and if not, why. Meeting performance goals will become a habit.

Project Scheduler 5000 keeps you constantly informed through its partial complete capabilities. Partial complete status is displayed, reported and used to calculate "value earned".

Accurate Resource Assignment

Extensive resource categories allow you to schedule more efficiently. Using these categories, you can assign to an activity an almost limitless amount of resources. In addition, these resources can be assigned at any point within the activity timeline providing the accuracy you need to build realistic resource profiles by person, labor grade, or other types.

Jntegration Of Multiple Projects

Keeping track of howa resource is used from project to project can be extremely difficult. Not with Project Scheduler 5000. The program can combine projects to give you a complete overview of where and when resources are used. Graphic presentations "can be condensed allowing you to visually compare multiple projects quickly and easily. Think of it! You can simultaneously manage several projects and be on time and meet or beat cost projections on each one.

Get The Picture Any Way You Want It

Hours, days, weeks, and months. You can select the resolution you need. In addition, you can break days into as many as 99 units to provide detailed shift or hour resolution. Get the big picture of your schedule on the screen or report by selecting a compressed format which displays up to 60 days, weeks or months of a project.

Fast Comprehensive Reporting

Communicating project information is no longer the time consuming task it used to be. An enhanced report generator synthesizes project information into reports on resource allocation, status, schedule and cost at both the project and the detailed activity level. You can interactively define special reports to give you all the detail you need. Reports and Gantt plots can be printed on hard copy or stored on disk for future use. Presentation quality graphics are available on a color plotter. Additionally, a spreadsheet interface provides labor and cost transfers for further analysis.

Integrated Graphics Power

Project Scheduler 5000 plus Graphics complements the outstanding scheduling and reporting features provided by Project Scheduler 5000. Using presentation quality financial line graphs, resource histograms, resource bar graphs and other high impact displays, Project Scheduler 5000 plus Graphics provides additional insight as you study in depth the effects of resource allocation, labor usage distribution and cost spreads.

With this control tool you can also track your original cost estimates against updated forecasts and expenditures. Project Scheduler 5000 plus Graphics will help eliminate the possibility that you'll overlook critical costs and deadlines.

Available for PC or MS DOS: IBM PC or XT TI Professional Wang PC* Grid Compass* DEC Rainbow*

* Project Scheduler 5000 plus Graphics available 4th quarter 1984.

SCITOR

SCITOR CORPORATION

256 Gibraltar Drive Sunnyvale, CA 94089 (408) 730-0400

Fall 1984 • BYTE Guide to the IBM PC

89

WithPCTURBOL-SpeedWinstheRace.

In business, success comes to those who win the race against deadlines and competition.The IBM" PC is a great tool, but valuable time can be wasted waiting for it to recalculate spreadsheets, retrieve data, or execute the newer and more complex software packages. PCturbo,"" new from Orchid, can help you win and enjoy the fruits of success.

PCturbo is the ultimate IBM PC productivity enhancement. It boosts the execution speed of your PC so you can get more done in less time. And it's transparent to existing programs such as WordStar,™ Lotus 1-2-3,'" and dBase II!" So, with PCturbo, your PC looks and acts the same as before; it just runs faster.

Who needs PCturbo? Anyone who ever waits for their PC to finish executing so they can run something else. Programmers wait

ing for compilers to finish before testing a new feature. Businessmen waiting for a data base to retrieve account information. Word processors waiting for the spelling checker to finish before printing.

PCturbo does more than just speed up the PC. It extends the life of slower, older pro

ORCHID

ORCHID TECHNOLOGY

47790 Westinghouse Drive

Fremont, CA 94539

(415) 490-8586 Telex: 709289

grams. It provides a base for new sophisticated software. And it protects your PC investment. You get your work done quicker and decisions made sooner. The very reasons you got a computer in the first place. Write or call for more information.

TECHNICAL DETAILS: Hardware

■ One slot plug-in board with high-speed 16bit processor (8086 or 80186)

■ Up to 640K on-board memory for a maximum of 1.28 Mbytes total PC memory.

■ Simple "one step" installation. Software

■ Runs IBM PC-DOS 2.0/1 on either the IBM PC or XT.

■ Provides disk caching, RAM disk using available PC memory up to 640 Kbytes.

■ Concurrent program execution available soon- Circle 129 on inquiry card.

PCturbo is a trademark of Orchid Technology. IBM PC and XT are trademarks of International Business Machines Corporation. WordStar is a trademark of MicroPro. Lotus 1-2-3 is a trademark of Lotus Development Corporation. dBase II is a trademark of Ashton-Tate.

Manners

of

Speaking

BY MORTON GOLDBERG

TWO LOGOS FOR THE IBM PC

TWo Logos, one by Digital Research and another from IBM, share many features, but choosing the better package proves difficult

Ihave never been comfortable with BASIC. We get along all right for quick-and-dirty programs, up to 60 lines or so. Beyond that, it's strictly no go. For anything larger, 1 need a language that lets me work with modules to build a large program from a bunch of small ones. BASIC is hostile to this approach, especially in the case of subroutines. On the other hand, I strongly believe that programs should be coded and tested on an incremental basis. Changes in the program code should be made a little at a time and tested immediately. BASIC, because it is an interpreted language, makes this easy to do. Most modular languages, because they are compiled, are inferior to BASIC in this respect.

For a long time 1 have been searching for a language that is equally friendly to both modular design and incremental coding and testing. My quest has led me to try FORTH, LISP, and now, Logo. Proponents for each of these languages make similar claims: they all are supposed to have the power of a modular programming language coupled with the productivity of an interpretive language. A description of Logo by its originator, Seymour Papert, follows. (Papert always writes "LOGO," but just about everyone else writes "Logo.")

Characteristic features of the LOGO family of languages include procedural definitions with local variables to permit recursion. Thus, in LOGO it is possible

Logo is interactive,

modular, extensible,

recursive, and scoped

—all this and easy

enough

for children too.

to define new commands and functions which then can be used exactly like primitive ones. LOGO is an interpretive language. This means that it can be used irtteractively. The modern LOGO systems have full list structure, that is to say, the language can operate on lists whose members can themselves be lists, lists of lists, and so forth.

... An example of a powerful use of list structure is the representation of LOGO procedures themselves as lists of lists so that LOGO procedures can construct, modify, and run other LOGO procedures. Thus LOGO is not a "toy," a language only for children. The examples of simple uses of LOGO in this book do however illustrate some ways in which LOGO is special in that it is designed to pro

vide very early and easy entry routes into programming for beginners. . . .

—From Mindstorms: Children,

Computers and Powerful Ideas

(New York: Basic Books,

1980, p. 217)

From the quotation, you can see that Logo must be the very model of a modern major computer language: interactive, modular, extensible, recursive, and scoped—all this and easy enough for children, too.

I have used two of the Logos on the market for approximately 10 weeks: DR Logo by Digital Research Corp. and IBM Personal Computer (PC) Logo by Logo Computer Systems Inc. (which has also produced Apple Logo). I believe I have learned enough during this period to make a fair assessment.

Inside the Slipcases

Both Logos come packaged in a shrinkwrapped, 8- by 9.5-inch slipcase holding a binder. Nevertheless, they are easy to tell apart. IBM, showing its marketing skill, has colored the IBM PC Logo slipcase and binder a bright lemon yellow, which certainly stands out on the dealers' shelves. DR Logo comes in the same beige Digital Research uses for all

(continued)

Morton Goldberg (3628 Alpine Dr., Ann Arbor, Ml 48104) does numerical analysis and research for the Environmental Research Institute of Michigan.

Fall 1984 • BYTE Guide to the IBM PC

91

TWO LOGOS

AT A GLANCE

Name

IBM Personal Computer Logo

Type

Interpretive programming language system

Version tested

1.0

Manufacturer

Logo Computer Systems Inc.

222 Brunswick Blvd.

Pointe Claire. Quebec H9R 1A6

Canada

Publisher and distributor

IBM Corp.

Personal Computer Sales

Boca Raton, FL 33432

Price

$175

Format

5!4-inch floppy disk

Software required

None—comes complete with PC-DOS 2.0 operating system

Computer

IBM PC or PC XT with 128K bytes of RAM. one floppy-disk drive, color/graphics adapter with monitor (supports but does not require the following: up to 2 56K bytes of RAM, additional floppy-disk drives, fixed-disk drive, printer, game adapter, light pen, simultaneous use of monochrome adapter if available)

Documentation

Introductory manual, reference manual, quick-reference card

Audience

People who want an easy introduction to programming; educators who want a programming environment also designed to be a learning environment; programmers who would like to use a language supporting modern programming techniques for their personal programming

offerings. With both Logos, along with the 5 '/4-inch floppy disk containing the Logo interpreter, you get an introductory manual, a reference manual, and a quick-reference guide. They have some minor differences. IBM PC Logo's introductory manual is spiral bound; DR Logo's is not bound but is punched to share the binder with the reference manual. IBM PC Logo's quick-reference guide is an accordion-folded card: DR Logo's is a small, staple-bound book. And they have some not so minor differences. I paid only $80 for DR Logo because I was able to buy it from a software discount retail store; I paid the full $175 for IBM PC Logo-it seems IBM doesn't allow software with the IBM label to be sold at a discount. DR Logo comes with two copies of the floppy disk because Digital Research protects the disks from being copied; IBM PC Logo comes with one unprotected disk—you make your own backup copy.

Both Logos come with a license to use what is recorded on their disks. As usual, they lay all responsibility on the buyer, while absolving the software publisher from any responsibility whatsoever. The people at Digital Research ask that you register the license. If you do, they hint you might hear from them occasionally as to bugs, fixes, or updates. IBM requires no registration and makes it perfectly clear that you are on your own.

I think all software should come with a packing slip that tells the buyer exactly what the package includes. The slip would list what files are to be found on the disks, as well as all the tangible properties, such as user manuals. However, such packing slips are more the exception than the rule, and neither of the Logos has one. I had to figure out, as best I could, what it was I had actually bought and whether anything was missing.

The IBM PC Logo floppy disk isn't copy protected. To see what was on it, I booted PC-DOS, popped the floppy into a disk drive, and typed DIR A:. I found:

AUTOEXEC.BAT

LOGO.COM

C0MMAND.COM

DISKCOPY.COM

FORMAT.COM

GRAPHICS.COM

TOOLS. LF

SAMPLES.LF

FILE1.LF

FILE2.LF

FILE3.LF FILE4.LF FILE5.LF FILE6.LF

FILE7.LF

INVENT.DAT

starts Logo immediately upon system boot

Logo interpreter

PC-DOS 2.0 command interpreter

PC-DOS 2.0 disk copy utility

PC-DOS 2.0 disk format utility

PC-DOS 2.0 graphics printer driver

a collection of Logo software tools

menu and loader for Logo demonstration

programs

demonstration program—random rhyme

generator

demonstration program—procedure tree

generator

demonstration program—home inventory

demonstration program—tower of Hanoi

demonstration program—hangman game

demonstration program—recursive curves

demonstration program—musical memory

game

data file for use with FILE3.LF

I expected to find the Logo interpreter, of course, and I had hoped to find something like the demo programs, but I didn't expect to find so much of PC-DOS on the disk. It's there

[continued)

BYTE Guide to the IBM PC • Fall 1984

ALLTHE BEST PRICES

MODEMS

ANCHOR

Volksmodem $59.99

Mark XII $269.00

HAYES

300 $199.00

1200B $449.00

1)300 $489.00

NOVATION

J Cat $99.99

Smart Cat Plus $359.00

MONITORS

AMDEK

3000 $149.00

300A $169.00

310A $169.00

Color II Plus RGB $389.00

New Color 300.400,800.600.700 Call

Color 4 T-IBM RGB $599.00

BMC

1201 $88.99

1201 Plus $98.99

9181 Color Plus $249.00

NEC

JB 1201 Green $149.00

JB 1208 Amber $169.00

JC 1215 Color $269.00

JC 1216 RGB $429.00

PRINCETON GRAPHICS

Max-12 Mono $199.00

HX-12 RGB $499.00

8R-12 ROB $689.00

QUADRAM

8400 RGB $499.00

ZENITH

ZVM 122 Amber $99.99

ZVM 123 Green $89.99

ZVM 124 IBM Amber $149.00

ZVM 131 Color $309.00

ZVM 133 RGB $429.00

ZVM 138 RGB/Composite $469.00

PRINTERS

DIABLO

36 $1399.00

620 $949.00

630 $1749.00

630-ECS $2099.00

EPSON

RX80, RX80FT, RX100 CALL

FX80, FX100 CALL

LQ 1800 CALL

IDS

Prism 80/132 CALL

NEC

2050 $899.00

3550 $1669.00

OKIDATA

82. 83, 84 CALL

92, 93, 23B0, 2410 CALL

OLYMPIA

Compact 2 Letter Quality $469.00

Compact RO $499.00

ESW 3000 $1399.00

CALL FOR YOUR

FAVORITE PC/COMPATIBLE

ASHTONTATE

Framework $439.00

dBASE II $299.00

dBASE II upgrade $149.00

dBase III $429.00

Friday! $179.00

LOTUS

1-2-3 , $319.00

Symphony $549.00

MICROPRO

InfoS tar $299.00

DataStar $179.00

WordStar $299,00

MailMerge $159.00

WordStar/MailMerge $339.00

PRO PACK $369.00

SpellStar $159.00

CalcStar $99.99

MICROSOFT

Multi Plan $139.00

Multi Tool Word w/Mouse $299.00

PEACHTREE SOFTWARE

Peachtext 8000 $229.00

Peachpack (GL/AP/AR) $219.00

PFS

File $89.99

Report $79.99

Graph $89.99

Write $89.99

Proof $89.99

Access $55.99

VISICORP

ViSiCalc 4 $169.00

MICROMIM

R:Base 4000 CALL

PROFESSIONAL SOFTWARE

PC Plus/The Boss $299.00

FUNK SOFTWARE

Sideways $49.99

CENTRAL POINT

PC Copy II $32.99

DISKETTES

MAXELL

MD-l $21.99

MD-2 $29.99

VERBATIM

SS/DD $26.99

D8/DD $34.99

ELEPHANT

SS/SD $17.99

SS'DD $21.99

DS/DD $26.99

Circle 184 on inquiry card.

_ west

— 800-648-3311

In NV call (702)588 5654. Dept. 103

Order Status Number: 588-5654

P.O.Box 6689

Statellne, NV 89449

Canada

Ontario/Quebec 800-268 3974 Other Provincaa800-268-4559

In Toronto call (4 16)628-0866, Dept. 103

Order Status Number: 8280866

2505 Dun-win Drive, Unit 3B

Mlssissauga, Ontario, Canada L5L1T1

AST RESEARCH

MEGA PLUS II as low as $299.00

I/O-PLUS II as low as $139.00

SIXPAKPLUS as low as $249.00

MAIN FRAME

AST-5251 $699 00

AST-SNA $699.00

AST-BSC $699.00

AST-3870 $749.00

MONOGRAPH PLUS Video Board CALL

IDEAssociates

lEDAboard MPR-64 as low as $219.00

IDEAplus XPR-64 CSP....as low as....$279.00 IDEAmax ZPR-64 CSP....as low as....$279.00 IDEAmax ZPR-OK CSPG...as low as...$229.00 IDEAcomm CPR-3278 $799.00

IDEAdisk

5MB to 46MB Hard-drives with removable Cart, backup as low as $1399

QUADRAM

Quadlink 64K $479.00

Quadboard II as low as $309.00

New Expanded Quadboard.as low as.$279.00

Quad 612 Plus as low as $289.00

Quad I/O $199.00

QUADCOLOR

Quadcolor I $239.00

Quadcolor II (640 x 2001 $449.00

Upgrade MI $299.00

QUADDISK

6. 12. 20, 27. 72 Meg starting at $1799

CHRONOGRAPH

Clock/Calendar $89.99

PARALLEL BOARD

Printer Interface w/8' Cable $89.99

QUADJET

QJ9000 Ink Jet Printer $749.00

MICROFAZER Call for Configurations...P/P. P/S. S/S, S/P

Starting at $159.00

EFAZER Epson Internal Buffers

8K $69.99

84K $149.00

KEYTRONICS

5150 Keyboard CALL

5151 Keyboard CALL

MEMORY CHIPS

4164 Ram Chips (set of 9) $49.99

east 800-233-8950

In PA call (717)327-9575, Dept. 103

Order Status Number: 327-9576

Customer Service Number: 327-1460

477 E. 3rd St., Williamsport, PA 17701

No risk, no deposit on C.O.D. orders and no waiting period for certified checks or money orders. Add 3% (minimum $5) shipping and handling on all orders. Larger shipments may require additional charges. NV and PA residents add sales tax All items subject to availability and price change Call today for our catalog CANADIAN ORDERS: All prices are subject to shipping, tax and currency fluctuations. Call for exact pricing in Canada.

TWO LOGOS

AT A GLANCE

Name

DR Logo

"type

Interpretive programming language system

Version tested 1.0

Manufacturer

Digital Research Corp.

Box 579

Pacific Grove. CA 93950

Price

$145

Format

Copy-protected. 5'/4-inch floppy disk

Software required

None—comes complete with SpeedStart CP/M operating system

Computer

IBM PC or PC XT with 192K bytes of RAM. one floppy-disk drive, color/graphics adapter with monitor (supports but does not require the following: up to 2 56K bytes of RAM, additional floppy-disk drives, game adapter, light pen, simultaneous use of monochrome adapter if available: limited support of printer)

Documentation

Introductory manual, reference manual, quick-reference guide

Audience

People who want an easy introduction to programming: educators who want a programming environment also designed to be a learning environment: programmers who would like to use a language supporting modern programming techniques for their personal programming

because IBM PC Logo requires PC-DOS 2.0. Rather than make those IBM PC owners who use an earlier version of PC-DOS buy 2.0, IBM has chosen to distribute the PC-DOS needed with IBM PC Logo.

The demonstration programs range in quality from bad to pretty good. The home inventory program is the worst of the lot. An excellent example of how not to design such a program, it is completely user-hostile. Since it is also the only demo program that uses IBM PC Logo's extensive disk I/O (input/output) capabilities, you might want to look at it for this reason. The random rhyme generator is primitive and silly. The hangman game is just primitive. The remaining demos are the ones I rate as being pretty good. Reading the code in SAMPLES.LF, which contains the control program for the whole set of demos, is instructive because it shows how to do menu-driven program chaining in Logo.

I am always pleased when demonstration programs, simple or otherwise, are included with a programming language. Logo Computer Systems has done its customers a favor by their inclusion, especially when it puts TOOLS.LF on the disk. This file comprises a set of useful and, in some cases, extremely powerful extensions to IBM PC Logo, among which I count such things as while-loops, until-loops, and mapping functions. Since such sophisticated extensions are not covered in the books on Logo with which 1 am familiar, their inclusion in TOOLS.LF is of great value to the neophyte Logo programmer.

While I had no trouble finding out what was on the IBM PC Logo disk, I cannot say the same for the DR Logo disk. When the DR Logo disk is booted, it puts you right into Logo. Although CP/M-86 is on the disk, 1 couldn't get at it to use its DIR command, and even if 1 could, I wouldn't trust the results. Remember, the disk is copy protected, and such disks often have strange directories. I must admit I'm not sure 1 know exactly what is on the DR Logo disk even now. The documentation says nothing about anything being on the disk similar to the tools or demo programs that come with IBM PC Logo. However, while 1 was working my way through the DR Logo primitives, I discovered a hidden treasure. When I tried the primitive getfs, the closest DR Logo comes to having a DIR command, I found a file with the suggestive name Blkjak.log. It proved to be a respectable implementation of blackjack with good graphics for the playing cards. The feeling of finding treasure didn't come until later, when I looked at the code. Blkjak is a far better example of Logo code than any of the IBM PC Logo samples. It is strange that Digital Research justs leaves it on the disk to be discovered accidentally.

DOCUMENTATION

I have seen great improvements made in software documentation during my six-year involvement with personal computers. Two years ago I would have classified the documentation for both Logos as superior. By my current standards, they have good, say B+, documentation. But each achieves that rating in a different way.

The IBM PC Logo documentation is consistently good; it never rises above that level nor falls below it. It is carefully edited and has no typographical errors. However, the intro

[continued)

94

BYTE Guide to the IBM PC • Fall 1984

■ ■^■H *^

Software for

gus'nessAccounong

V >

tvhk

2 V

\y\j\iv

^ r *

1 1 *

n

5 5 V

G

\

Dow Jones Accounting Series™ Accounting software for small businesses who think big.

If you are serious about computerized business accounting, the only software to invest in is the Dow Jones Accounting Series. Your business is worth it

No other accounting software combines the business expertise of Dow Jones with an easy-to-use format and development and support by top accountants. When you buy one of the core modules of the series— Dow Jones General Ledger,™ Dow Jones Accounts Receivable™ or

By Trademark Software and Dow Jones & Company. Inc.

Dow Jones Accounts Payable™—you Available for the ibm* xt

Circle 50 on inquiry card.

are eligible for a free training seminar designed by Arthur Young, one of the nation's foremost accounting firms. And the Dow Jones Accounting Series is fully supported by a toll-free customer service hotline staffed by computer experts trained in accounting.

Big accounting power for the small business.

For a free brochure on Dow Jones business, investment and home software, call:

1-800-345-8500 ext. 244

(Alaska, Hawaii and foreign call 1-215-789-7008 ext 244)

Copyright © 1984 Dow Jones & Company. Inc. All Rights Reserved.

Fall 1984 • BYTE Guide to the IBM PC

95

You would think when IBM needs EPROM Programmers, they would choose the best and the most expensive.

They don't. They only choose the best.

GTEK, L

■CrrEK

GTBK'S Model ^228 EPROM Programmer (shown above), like all GTEK™ products, is IBM™ compatible. The 7228 features intelligent Programming Algorithms. (It takes 7 minutes to program a 2761 EPROM using the standard algorithm. With the ",228's intelligent algorithm, the 2764 programs in less i hn n 60 seconds/)

Device types on the Model ~7228 are menuselected and require no personality modules.

The 7228 supports Intel (both the MCS80™ and MCS86™ hex formats), Motorola™ (16, 24 and 32 hit hex formats), Tck™ and other data formats.

Many EPROM Programmers costing thousands of dollars more (ail to provide the llexihilily performance and speed of GTEK's Model 7228, priced at just $s i9!

When you need to work with 16 hit computers, utility software available from GTEK for the IBM PC™ IBM PCXT™ IBM 3270™ (and IBM compatibles) supports full 20 bit addressing.

Other IBM compatible products from GTEK include gang programmers, PAL programmers, cross assemblers, IIV erasers, simulators, and cables.

For a complete listing of all GTEK products, and additional information, for IBM and IBM compatibles, call GTEK or look for us every month in BYTE Magazine.

Cil'l-K, IBM, HIM PC,

Development I lardwure/Software

P.O. Box 289, Wavdand, MS 39576 601/467-8048'

.. INC.

CXT. IBM V7<>. MCS80, MCH86, Motpro ail registered iraik-iiwrks.

TWO LOGOS

PR Logo can't read data files

created by other software you own.

ductory manual is too simple. The reference manual follows the same pattern as the Microsoft BASIC manual that comes with PC-DOS and is well organized and complete. I have yet to refer to it without being able to find what I am looking for. It gives plenty of examples, but I consider them uninspired. The two appendixes are particularly useful: one documenting the tools file found on the floppy disk and another on the Logo primitives that allow assembly language and machine code to be used with IBM PC Logo.

The DR Logo documentation is more uneven. The introductory manual is superb. It sets a faster pace than the IBM PC manual and is able to teach more of the language without being too long. It is written so carefully that it is not likely to lose even a rank beginner. Incorporated into the text are displays from its example programs. The programming projects it presents are slightly more difficult than the IBM PC Logo projects and, consequently, are more interesting to an adult. The DR Logo reference manual shows signs of hasty work, with many typographical errors. The programming examples are more ambitious than those in the IBM PC Logo reference manual, but they are sometimes botched. The manual contains no mention of the blackjack program provided on the language disk. At a certain stage of my development as a Logo programmer, I would have given up my DR Logo backup disk for an appendix with a good discussion of the internals of this program. And no mention is made of the Logo primitives for interfacing to machine-language code. The primitives exist, and they appear to be similar to the ones provided in IBM PC Logo, but they are only mentioned in the quick-reference guide, where the information given is scanty.

Programming with Logo

Well-prepared documentation is nice but not much assistance if the Logo interpreter doesn't work properly. For these two Logos, I have good news and bad.

First the good news. I find both Logos satisfy my expectations with regard to expressive power, and those expectations were high. Also, neither exhibits what I call the "Version 1.0 syndrome," the bug-infestation characteristic of newly released programming languages. Both Logos are robust; I have not been able to crash either one. I found one small bug in IBM PC Logo and only a few minor ones in DR Logo.

Both Logos do floating-point computations to a high degree of precision. DR Logo does floating-point arithmetic in accordance with the proposed IEEE standard; its floating-point routines carry approximately 19 digits internally and return 15-digit answers. IBM PC Logo has true variable-precision arithmetic. You can do arithmetic to a hundred digits or more if you have the patience.

Both Logos have built-in full-screen editors. Except for the way keys are assigned to the various editing functions, there

(continued)

96

BYTE Guide to the IBM PC • Fall

Circle 71 on inquiry card.

Introducing the software that makes communications

apiece of cake.

EasyLinkSM Instant Mail5" Manager software is probably the only communications package you'll ever need. Designed to blend in perfectly with Western Union's EasyLink service, it makes the total communication process easy, instant, and automatic too.

All the right ingredients.

EasyLink Instant Mail Manager works with EasyLink service to provide automatic access and transmission of almost any type or length correspondence over the EasyLink network. So sending mail instantiy to virtually any other phone-equipped PC or word processor is a snap.

You can even reach people without equipment. Thanks to EasyLink's instant access to Western Union's Worldwide communications services.

EasyLink Instant Mail Manager also lets you access your company's computer or connect instantly to other business and information services.

The frosting on the cake.

EasyLink Instant Mail Manager is more than simple "send and receive" software. With it, you also have complete word processing capabilities. So you can easily create, edit and change the format of

your correspondence, then send it without ever changing software. And, unlike most other communications software, EasyLink Instant Mail Manager allows you to create and manage a permanent electronic address file that stores hundreds of names and addresses. So you can instantiy speed correspondence to anyone. Anytime.

If you need it, getting help is sweet andsimple.

EasyLink Instant Mail Manager is set up to guide you step by step. From how to format messages to how you go about sending them.

EasyLink Instant Mail Manager software and EasyLink service. The perfect mix.

Available now at your computer' software dealer or call 1-800336-3797 ext. 1078 for more information.

3 1984 Western Union Circle 188 on inquiry card.

EasVfc//fA

Western Union

Available for the IBM PC and compatible equipment.

Fall 1984 • BYTE Guide to the IBM PC

97

Circle 35 on inquiry card.

DUMP/RESTORE-XT

Directory Management at

Your Fingertips

01-WORDPROC

02-L£ TIERS 0

OK

02-PHOPOiAL 0

OK

02-DOCUMENT .

D - OK

03-PERSOM'U.

0 - OK

03-flUSINESS 0

0K

03-PROJECT 0

OK

COGITATE's DUMP/RESTORE-XT is a package of utilities specifically designed to handle directory manipulation and file backups under MS-DOS.

_#" COGTREE-A graphic tree display. Hardcopies are available as well as file and directory dumps. -T COGDIR-A multiple wildcard directory utility; i.e.: OCOGDIR\ACCOUi\rrV.DAT, MDX, *..BAK The *..BAK excludes all .BAK files.

_#" COGBKUP-Reads lists created by COGDIR and compresses the files to the floppy diskette. Diskettes can be spanned and are serialized.

J~ COGRSTR-Reads diskettes created by COGBKUP and restores to hard disk based upon multiple wildcards.

The package includes other utilities to assist in file and directory manipulations. COGITATE's DUMP/RESTORE-XT is priced at $90. Dealer inquiries welcome. MasterCard and Visa accepted.

24000 Telegraph Road

Southfield, Michigan 48034 USA

(313)352-2345

iPJifffiHli

ProKey™ makes good software

I even better!

Even the best software requires you to enter the same commands over and over again.

What if you could capture those commands the first time you typed them and play them back effortlessly, with one keystroke?

You can with ProKey, a powerful software enhancer that lets you define any key as an abbreviation for thousands of characters or command sequences.

Make the most of your software investment. Get ProKey! It will be the most productive $130 you'll ever spend.

For more information, send for our free 16 page booklet, "Boost Your Productivity 4th ProKey."

(DKoseSoff

4710 University Way N.E. Seattle, WA 98105 (206)524-8595

To run ProKey, you'll need an IBM PC, XT or PCjr., or

any compatible, and MS-DOS.

Corporate and OEM licenses available.

TWO LOGOS

is almost no difference between them, though 1 prefer the DR Logo key assignments to those of IBM PC Logo. Because they are so alike, I have adopted below the fiction of a single Logo editor to describe both.

The editor is easy to learn and quite usable. It may lack the power of an editor such as FinalWord or SuperWriter, but it is more powerful than the screen editor built into Microsoft BASIC. You have the choice of editing a file or all or part of the Logo workspace, and 1 suppose you could use it as a general-purpose text editor, if you should want to. Its main limitations are a lack of any kind of search or search-with-replace command and an absence of commands to move or copy anything larger than a single line of text.

All the in-line editing commands work outside of the editor. If a command results in an error, you can recall it, edit it, and press the Enter key to resubmit it. This feature can be a blessing when you make a mistake in a long command.

Now the bad news. Design defects exist in both implementations. They are frustrating and quite inexplicable—at least to me; they may make perfect sense to the people who did the implementations. I'll list them, and you decide for yourself whether my complaints are legitimate.

The following characteristics of DR Logo bother me most. First, DR Logo uses just a linefeed character (0A hexadecimal) for an end-of-line marker, rather than a carriage-return linefeed pair (0D 0A hexadecimal), the standard end-of-line marker under CP/M. Whether you're doing output to a file with the SAVE command or to a printer with the COPYON and PRINT commands, you don't get carriage returns. The implication is that DR Logo is a Digital Research product that doesn't conform to Digital Research's own CP/M standards.

DR Logo can't perform any kind of stream (character-bycharacter) or record-oriented file I/O. This means it can't read data files created by other software you own, and it can't write files your other software can read.

And, of course, the copy-protected disk means changing disks—for large editing projects, for instance. If you want to run Logo, you boot the DR Logo disk. Then if you want to do some editing that's too much for the built-in editor, you boot the CP/M-86 disk. But when you've finished editing, you have to boot DR Logo again, and so on.

My complaints about the IBM PC Logo design make up a longer list. IBM PC Logo has only two sets of colors for the turtle's pen (DR Logo has four). While this color choice probably won't bother many people, it bothers me because my favorite graphics color scheme (a yellow turtle drawing bright red lines on a bright blue background) is missing.

This version of Logo doesn't execute an implicit SHOW command at top level. Let me explain the Logo jargon. You're at top level when the Logo interpreter is waiting for you to type something in response to its prompt. Suppose you type "2 4- 2." DR Logo would respond with "4." IBM PC Logo responds with "1 DON'T KNOW WHAT TO DO WITH 4." In IBM PC Logo, you're expected to type "SHOW 2 + 2." DR Logo automatically supplies the SHOW if you don't type it. This feature is what is meant by executing an implicit SHOW, clearly the right thing for Logo to do.

IBM PC Logo won't switch over to turtle-graphics mode if you are in 80-column text mode. If you try, it prints an error message. As a result, you must manually set the text width

98

BYTE Guide to the IBM PC • Fall 1984 Circle 156 on inquiry card.

Circle 137 on inquiry card.

TWO LOGOS

to 40 columns and retype the graphics command it refused. DR Logo makes the changeover with no fuss at all.

IBM PC Logo has little.in the way of primitives to support program debugging, which puzzles me. This lack seems inconsistent with the Logo philosophy. DR Logo has many debugging commands, some of them quite clever (see table 3).

Procedures can't be written in the indented style. Instead, IBM PC Logo forces you to write

TO DRAW.STAR :SIDE

RIGHT 18

REPEAT 5 [FORWARD :SIDE RIGHT 144 FORWARD :SIDE

LEFT 72] LEFT 18 END

It won't accept this more readable format:

TO DRAW.STAR :SIDE RIGHT 18 REPEAT 5

[

FORWARD :SIDE RIGHT 144 FORWARD :SIDE LEFT 72

I

LEFT 18

END

DR Logo allows you to write in either style.

IBM PC Logo doesn't allow comments. The TOOLS.LF file contains a procedure providing a dime-store way to add comments, but it's not a satisfactory substitute for true comment capability.

A Look at Logo Primitives

In Logo terms, the verbs that Logo "understands" at startup are called primitives. You won't be too far off if you think of Logo primitives as being analogous to the keywords and functions of BASIC. The primary job of a Logo programmer is to "teach" the language new verbs by combining primitives and other objects (numbers, words, and lists) into procedures. Thus, the power of a Logo implementation is highly dependent on how many primitives it has. The two Logos under review are comparable by this measure. By my count, DR Logo has 187 primitives, and IBM PC Logo has 183.

Of these, 12 7 go by the same name and perform the same function in both versions. Fifteen more go by different names but perform functions that are the same or nearly the same. Having this large kernel of primitives in common makes translating a program from one Logo to the other easy. Further, because most of the kernel is mainstream Logo, you can adapt programs written in other Logo dialects to either of these two.

I have compiled tables summarizing all the primitives, and in doing so I have divided the primitives into categories according to their principal use. That wasn't always easy. Is file editing more of a file I/O primitive than it is an editor primitive? In such cases I virtually tossed a coin. Also, I had

(continued)

Your PC Can Be Your Next Smart Terminal.

saw/win oiartaw

Our software terminal emulators have the features that do the job: Full keyboard emulation. Multiple setups. TTY mode. "Smart" softkeys. Printer support. Help screens. And a friendly user manual.

smtffi

persafr

Built-in text and binary file transfer is powerful and simple to use, and does not require any special host software. SmarTerm also features automatic file transfer and two different "error-free" protocols, including XMODEM.

SmarTerm 100 emulates DEC® VT100, VT102 and VT52 including 132-column display support. SmarTerm 125 includes all the features of SmarTerm 100, plus VT125 ReGIS® graphic support. SmarTerm 400 emulates Data General Dasher D100, D200 and D400.

Try SmarTerm for 30 days with full refund privilege. Available through your local software dealer, or Persoft, Inc., 2740 Ski Lane, Madison, Wl 53713, (608) 273-6000, Telex 759491

oersofr

• SmarTerm is a irademark of Persoft. Ino

• Dasher is a irademark of Data General Corp. • DEC, VT and ReGIS are trademarks of O.gitai Equipment Corp

SAVE HUNDREDS OF $$$ BY UPGRADING MEMORY

1 I'M I hSli'l'KKHqi

INTRODUCING...

IBM MEMORY EXPANSION KIT COMPAQ COMPATIBILITY

Most of the popular memory boards (e.g. Quadram™ Expansion boards) allow you to add an additional 64K, 128K, 192K, or 256K. The IBM64K Kit will populate these boards in 64K byte increments. The kit is simple to install -just insert the nine 64K RAM chips in the provided sockets and set the 2 groups of switches. Directions incl.

IBM64K (Nine 200ns 64K RAMs) $49.95

Protect Yourself...

DATASHIELD®

Surge Protector

Eliminates voltage spikes and EMI-RFI noise before it can damage your equipment or cause data loss. Six month warranty. Power dissipation (100 microseconds): 1,000,000 watts

Model 100 $69.95

DATA SHIELD® Back-Up Power Source also available. Protect your PC or XT computer from black-outs and voltage sags.

PC200 (200 Watt Rating) $349.95

XT300 (300 Watt Rating) $489.95

$10.00 Minimum Order - U.S. Funds Only California Residents Add 6 Wo Sales Tax Shipping — Add 5% plus $1.50 Insurance Send S.A.SE. for Monthly Sates Flyer!

Spec Sheets - 30C each Send $1.00 Postage for your FREE 1984 JAMECO CATALOG Prices Subject to Change

ameco

GEgEEgna

VISA'

1355 SHOREWAY ROAD, BELMONT, CA 94002 Phone Orders Welcome (415) 592-8097 Telex: 176043

Circle 91 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

99

Circle 64 on inquiry card.

for your pc :: ■-■

IS NOW

EVEN BETTER!

New photo-optical push-tip switch for super reliability. 30 DAY NO-RISK TRIAL PRIVILEGE, and TWO year limited warranty.

Ideal keyboard alternative for INTERACTIVE GRAPHICS, MENU SELECTION, EDUCATIONAL PROGRAMS, and just plain fun. 1 Compatible with a growing library of software:

— PC-DRAW (trademark of MICROGRAFX)

— MICRO-CAD (trademark of COMPUTER AIDED DESIGN)

—SARGON 3.0 (trademark of HAYDEN PUBLISHING) —and much much more. (Complete list on request).

1 Very high performance and reliability for just $195.00. (Optional three diskette software package is just $39.00) Ultra-deluxe version soon available ($295.00).

■ Got another pen?? Ask about our trade-in special.

' ( DATA SYSTEMS

10801 Dale St./RO. Box 615 Stanton, CA 90680 (714) 995-3900 FTG will soon become PC INNOVATIONS

GET MORE FROM dBASEII

.. .AND GET IT FASTER

WITH GRYPHON MICROPRODUCTS

— dBRx is a package of dBASEII and machine language routines, includingSQRT, EXP, LOG, LOG BASE E, SIN,

COS and ARCTAN, with precision to nine digits.

$150

— dBRx/87 adds the speed of the 8087 chip to math routines, which include all dBRx functions plus XY, ADD, SUBTR, MULT and DIV, with precision to 18 digits.

$150 $300 package includes 8087 chip

— dB/RA adds up to ten 1-, 2-, and 3-dimensional arrays and more than 65,000 memory variables to dBASEII. Includes FIND functions for locating data instantly in arrays.

$200

— RA+ works within dB/RA, giving dBASEII the added capabilities of instant screens, windows, animation and sound. Converts DBF files directly to arrays.

$35

— dHELPER (Part 1) allows full error-checking of dBASE programs, and produces formatted listings, a crossreferenced data dictionary and file analysis.

$150

{limited $45 trade-in on similar products from other vendors)

mictoproducts

P.O. BOX B543 SILVER SPRING, MD. 20906 [3D1 1946-25B5

TWO LOGOS

trouble at times coming up with a description for the action of a primitive that was both accurate and short. If I have botched a description, I apologize.

Tables l and 2 list the kernel primitives. Note that I have used the DR Logo names in table l; the IBM PC Logo names differ only by being expressed in uppercase letters.

Tables 3 and 4 list the 45 or so primitives peculiar to each Logo. Even though they constitute only about a quarter of the total, the effects of these primitives are sufficient to give the two Logos distinct personalities. Clearly, Digital Research and Logo Computer Systems had different ideas on how Logo should be extended from the kernel of mainstream primitives. DR Logo was extended to be more LISP-like and to include more program-development tools. IBM PC Logo was extended to be better integrated into the PC-DOS environment; in particular, it was given primitives to perform file I/O.

I admit I am upset that IBM PC Logo, not DR Logo, has been extended to include file I/O. A BYTE article ("Digital Research's DR Logo," by Gary Kildall and David Thornburg. June 1983, page 208) led me to believe that Digital Research intended to break Logo out of the educational-software mold by implementing it as a serious personal computer applications language. Meeting this goal would have required major extensions to the file-handling capabilities of traditional Logo. I incorrectly assumed Digital Research was doing this. With such extensions, DR Logo might have been the leading edge of a major advance in personal computer programming languages.

Some Performance Measurements

Performance testing, or benchmarking, is the sport of programmers. In this case, I raced DR Logo and IBM PC Logo against each other. I did it mostly for fun and admit I wasn't scientific in the way I went about it. Nevertheless, I got some intriguing results showing that the two implementations must differ much more internally than their surface differences suggest.

Listings l through 6 give the programs that I used for my tests. The programs are the IBM PC Logo versions; the DR Logo versions are the same except where noted in the footnotes. Table 5 shows the results. The column headings require no explanation, except the ones labeled Nodes Used, which relate to memory requirements. Both DR Logo and IBM PC Logo take memory as they need it from a memory pool, or workspace. The unit of allocation is called a node. In DR Logo a node is 6 bytes; in IBM PC Logo it is 5. How big a workspace you have depends on your system configuration. In my case, DR Logo's workspace is 10,780 nodes, and IBM PC Logo's is 31,093. Do not conclude from this that IBM PC Logo will run a program three times the size of the largest one DR Logo can run. While a larger workspace is better, maximum program size is not necessarily directly proportional to workspace size. The rate at which workspace is consumed is also important. As table 5 show, IBM PC Logo often consumes workspace at a considerably higher rate than DR Logo.

What happens when a program runs out of workspace? Both Logos stop while workspace is cleaned up by a garbagecollection routine. The pause, called recycling, is quite ap

(conlinued)

(00

BYTE Guide to the IBM PC • Fall 1984 Circle 70 on inquiry card.

Before Johann Sebastian Bach developed a new method of tuning, you had to change Instruments practically every time you wanted to change keys.Very difficult.

Before Avocet introduced its family of cross-assemblers, developing micro-processor software was much the same. You needed a separate development system for practically every type of processor. Very difficult and very expensive.

But with Avocet's cross-assemblers, a single computer can develop software for virtually any microprocessor! Does that put us in a league with Bach? You decide.

The Well-Tempered Cross-Assembler

Development Tools That Work

Avocet cross-assemblers are fast, reliable and user-proven in over 3 years of actual use. Ask NASA, IBM, XEROX or the hundreds of other organizations that use them. Every time you see a new microprocessorbased product, there's a good chance it was developed with Avocet crossassemblers.

Avocet cross-assemblers are easy to use. They run on any computer with CP/M' and process assembly language for the most popular microprocessor families.

5W disk formats available at no extra cost include Osborne, Xerox, H-P, IBM PC, Kaypro, North Star, Zenith, Televideo, Otrona, DEC.

Turn Your Computer Into A Complete Development System

Of course, there's more. Avocet has the tools you need from start to finish to enter, assemble and test your software and finally cast it in EPROM:

Text Editor VEDIT -- full-screen text editor by CompuView. Makes source code entry a snap. Full-screen text editing, plus TECO-like macro facility for repetitive tasks. Pre-configured for over 40 terminals and personal computers as well as in userconfigurable form.

CP/M-80 version $150

CP/M-86 or MDOS version $195

(when ordered with any Avocet product)

EPROM Programmer Model 7128 EPROM Programmer by GTek programs most EPROMS without the need for personality modules. Self-contained power supply ... accepts ASCII commands and data from any computer through RS 232 serial interface. Cross-assembler hex object files can be down-loaded directly. Commands include verify and read, as well as partial programming. PROM types supported: 2508, 2758, 2516, 2716, 2532, 2732, 2732A, 27C32, MCM8766, 2564, 2764, 27C64, 27128, 8748, 8741, 8749, 8742, 8751, 8755, plus Seeq and Xicor EEPROMS.

Circle 17 on inquiry card.

Avocet Cross-assembler

Target Microprocessor

CP/M-80 Version

CP/M-86

IBM PC, MSDOS"

Versions

XASMZ80

Z-80

XASM85

8085

XASM05

6805

$200.00 each

$250.00 each

XASM09

6809

XASM18

1802

XASM48

8048/8041

XASM51

8051

XASM65

6502

XASM68

6800/01

XASMZ8

Z8

XASMF8

F8/3870

$300.00 each

XASM400

COP400

XASM75

NEC 7500

$500.00

NEW! XMAC68K 68000

$595.00

(Upgrade kits will be available for new PROM types as they are introduced.)

Programmer

Options include:

Software Driver Package -

enhanced features, no installat

required.

CP/M-80 Version

IBM PC Version

RS 232 Cable

8748 family socket adaptor . . .

8751 family socket adaptor . . .

8755 family socket adaptor. . .

$429

$ 75 $ 95 $ 30 $ 98 $174 $135

G7228 Programmer by GTek baud to 2400 ... superfast, adaptive programming algorithms ... programs 2764 in one minute.

Programmer $549

Ask us about Gang and PAL programmers.

HEXTRAN Universal HEX File Converter - Converts to and from Intel, Motorola, MOS Technology, Mostek, RCA, Fairchild, Tektronix, Texas Instruments and Binary formats.

Converter, each version $250

Call Us

If you're thinking about development systems, call us for some straight talk. If we don't have what you need, we'll help you find out who does. If you like, we'll even talk about Bach.

CALL TOLL FREE 1-800-448-8500

(In the U.S. except Alaska and Hawaii)

VISA and Mastercard accepted. All popular disc formats now available -- please specify. Prices do not include shipping and handling - call for exact quotes. OEM INQUIRIES INVITED.

'Trademark of Digital Research * 'Trademark of Microsoft

AVOCET 7X SYSTEMS INC.

DEPT. IBM PC-B 804 SOUTH STATE STREET DOVER. DELAWARE 19901 302-734-0151 TELEX 467210

Fall I984 • BYTE Guide to the IBM PC

101

Circle 118 on inquiry card.

FOR TRS-80 MODELS 1,3 & 4 IBM PC, XT, AND COMPAQ

The MMSFORTH

System.

Compare.

• The speed, compactness and extensibility of the MMSFORTH total software environment, optimized for the popular IBM PC and TRS-80 Models 1,3 and 4.

• An integrated system of sophisticated application programs: word processing, database management, communications, general ledger and more, alt with powerful capabilities, surprising speed and ease of use.

• With source code, for custom modifications by you or MMS.

• The famous MMS support, including detailed manuals and examples, telephone tips, additional programs and inexpensive program updates, User Groups worldwide, the MMSFORTH Newsletter, Forth-related books, workshops and professional consulting.

FORTH

TWO LOGOS

A World of Difference!

• Personal licensing for TRS-80: $129.95 for MMSFORTH, or "3+4TH" User System with FORTHWRITE, DATAHANDLER and FORTHCOM for $399.95.

• Personal licensing for IBM PC: $249.95 for MMSFORTH, or enhanced "3+4TH" User System with FORTHWRITE, DATAHANDLER-PLUS and FORTHCOM for $549.95.

• Corporate Site License Extensions from $1,000.

If you recognize the difference and want to profit from it, ask us or your dealer about the world of MMSFORTH.

MILLER MICROCOMPUTER SERVICES

61 Lake Shore Road, Natlck, MA 01760

(617)653-6136

Table l: Primitives found in both Logos.

Action of Primitive

Logo Name

ASSEMBLY LANGUAGE INTERFACE

Similar to POKE in BASIC

.deposit

Similar to PEEK in BASIC

.examine

DEBUG SUPPORT

List of all objects in workspace

.contents

Continue execution after pause

CO

Suspend execution

pause

Make random number sequence repeat

rerandom

DISK AND FILE OPERATIONS

Load file into workspace

load

write contents of workspace/package to disk file

save

EDITOR

Invoke screen editor to edit procedure

edit (ed)

Invoke screen editor to edit variables

edns

KEYBOARD INPUT

TRUE if keyboard entry available

keyp

Read in a single character1

readchar (re)

Read in a list1

readlist (rl)

LISTS, WORDS, AND VARIABLES

All of a list/word but the first item/character

butfirst (bf)

All of a list/word but the last item/character

butlast (bl)

Number of items/characters in a list/word

count

TRUE if argument is empty list/word

emptyp

First item/character in a list/word

first

Append 1st argument to head of 2nd

fput

Select nth item/character from list/word

item

Last item/character in a list/word

last

Make a list

list

TRUE if argument is a list

listp

Declare local variables

local

Append 1st argument to tail of 2nd

Iput

Assign value to variable

make

TRUE if 1st argument is member of 2nd

memberp

Assign value to variable

name

TRUE if argument is variable with a value

namep

TRUE if argument is a number

numberp

Print arguments (add newline)

print (pr)

Splice two lists together

sentence (se)

Display argument

show

Value of a variable

thing

Print arguments (no newline)

type

Splice two strings into a word

word

TRUE if argument is a word

wordp

LOGIC FUNCTIONS

TRUE if 1st argument less than 2nd

<

TRUE if 1st argument equal to 2nd

=

TRUE if 1st argument greater than 2nd

>

TRUE if all arguments are TRUE

and

TRUE if arguments are equal

equalp

TRUE if argument is FALSE

not

TRUE if one argument is TRUE

or

{continued)

102

BYTE Guide to the IBM PC • Fall

Is Your PC

Buried By

Floppy Disk

Back-Up?

*$ n

■

Dig Out With Model 70 PC Cartridge Tape System

Digi-Data's Model 70 PC cartridge tape system lets you back-up your PC's Winchester drive without getting buried in floppies. One cartridge holds 16.5 Mbytes of data, more than you can put on 51 floppy disks! And you can back-up your 10 Mbyte PC XT® drive in less than 15 minutes of unattended operation. That is a small fraction of the time it would take with the PC's floppy, with you standing there changing disks.

Our file-oriented structure makes it possible for you to back-up only what has to be changed on your disk. That saves still more time and storage capacity.

70 PC comes ready to run on your IBM PC XT and most compatibles like Compaq, Columbia Data Products and Eagle. Complete with controller board, driver software and cables.

Digi-Data's products also include V2 inch and 1/4 inch start/stop and streaming drives and systems.

DIGI-DATA CORPORATION

»... First In Value

8580 Dorsey Run Road

Jessup, MD 20794

(301) 498-0200 Telex 87580

In Europe contact:

DIGI-DATA LTD Unit 4

Kings Grove Maidenhead, Berkshire England SL6 4DP Tel. 0628-29555-6 Telex 847720

Circle 46 on inquiry card.

' PC XT is a registered trademark of IBM Corporation

Heath enters the board room

Now you can buy the finest PC compatible boards, accessories and software from a single, trusted source. The Heath Company. We guarantee these to be the besf of breed for your PC.

•

AST Six-Pak Plus. Six most popular functions at a great price!

DG Game Port Adapter for joysticks and other analog inputs.

DG 64K Magic RAM. Add-on memory at a super price!

NEW MS-DOS* Course.

Now you can learn the operating [ system of the IBM and Zenith Data System PC's. Complete step-by-step self-study course shows you how.

"MS-DOS is a registered trademark of Microsoft Corporation.

When you buy PC compatible boards, you want them to work with no problems, no delays. Now Heath has taken the guesswork out of who has the best computerware at the right price. Heath has done the testing and evaluating for you and we offer nothing but the finest boards and accessories. And we back them ail with our own 90 day money-back guarantee. So, forget the guesswork. Buying the best is easier...because the best comes from Heath.

leatli/Zenith

Heath Company

See and buy the finest

boards and other

accessories for your

Heath/Zenith

or IBM PC.

Find them at these Heathkit Electronic Centers:

TWO LOGOS

• PHOENIX, AZ 2m W. Uw School M.

•TUCSON, AZ

7109 E. Broadway •ANAHEIM, CA

330 E. Ball Rd. •CAMPBELL, CA

2350 S. Bascom Ave. •ELCERRITO.CA

6000 Potrero Ave. •LA MESA, CA

8363 Center Dr. •LOS ANGELES, CA

2309 S. Flower St. •POMONA, CA

1555 N.Orange Grove Ave. •REDWOOD CITY, CA

2001 Middlefleld Rd. •SACRAMENTO, CA

1660 Fulton Ave. •WOODLAND HILLS, CA

22504 Ventura Blvd. •DENVER, CO

5940 W. 38th Ave. •AVON, CT

395W.MainSt.,(Rt.44) •JACKSONVILLE, FL

8262 Arlington Expressway •MIAMI, FL

4705 W. 16th Ave.,

Hialeah •FT. LAUDERDALE, FL

7173 W.Broward Blvd.

Plantation

• TAMPA, FL 4019 W. Hillsborough Ave.

• ATLANTA, GA

5285 Roswell Rd. ■ PEARL CITY, HI

98-1254

Kaahumanu St. ■CHICAGO.IL

3466 W. Devon Ave.

• DOWNERS GROVE, IL 224 Ogden Ave.

•INDIANAPOLIS, IN

2112 E. 62nd St. •KANSAS CITY, KS/MO

5960 Lamar Ave.,

Mission, KS

•NEW ORLEANS,LA

1900 Veterans

Memorial Hwy.

•LOUISVILLE, KY

12401 Shelbyville Rd.

• BALTIMORE, MD

1713 E. Joppa Rd.

• ROCKVILLE, MD 5542 Nicholson Lane

•PEABODY.MA 242 AndoverSt. (Rt. 114)

• WELLESLEY.MA 165 Worcester Ave. (Rt. 9)

•FARMINGTON

HILLS, Ml

29433 Orchard Lake

Rd.(At13MileRd.) •EAST DETROIT, Ml

18149 E. Eight Mile Rd. •ST. JOSEPH, Ml

Lakeshore Dr.

'Units of Veritechnology Electronics Corporation

For more information write:

Heath Company

Benton Harbor, Ml 49022

Circle 75 on inquiry card.

•MINNEAPOLIS, MN

101 Shady Oak Rd.,

Hopkins ■ST. PAUL, MN

1645 White Bear Ave. •ST. LOUIS, MO

3794 McKelvey Rd.,

Bridgeton •GREENSBORO,NC

4620C W. Market St. •OMAHA, NE

9207 Maple St. •ASBURYPARK.NJ

1013 State Hwy. 35, Ocean •FAIR LAWN, NJ

35-07 Broadway, (Rt. 4)

• BUFFALO, NY 3476 Sheridan Rd., Amherst

•JERICHO, LI, NY

15 Jericho Turnpike •ROCHESTER, NY

937 Jefferson Rd. •N.WHITE PLAINS, NY

7 Reservoir Rd. •CINCINNATI, OH

10133 Springfield Pike

Woodlawn •CLEVELAND, OH

28100 Chagrin Blvd. •COLUMBUS, OH

2500 Morse Rd. •TOLEDO, OH

48 S. Byrne Rd. •OKLAHOMA CITY, OK

2727 N.W. Expressway •FRAZER, PA

630 Lancaster Pike (Rt. 30)

• PHILADELPHIA, PA 6318 Roosevelt Blvd.

•PITTSBURGH, PA 3482 Wm. Penn Hwy.

•WARWICK, Rl 558 Greenwich Ave.

• DALLAS, TX 2715 Ross Ave.

• FORT WORTH, TX 6825-A Green Oaks Rd.

•NORTH HOUSTON, TX 5050 FM1960 W. (#126)

•HOUSTON.TX 1704 W. Loop N.

• SAN ANTONIO, TX 7111 Blanco Rd.

• SALT LAKE CITY, UT 58 East 7200 South, Midvale

•ALEXANDRIA, VA

6201 Richmond Hwy. •VIRGINIA BEACH, VA

1055 Independence Blvd. •SEATTLE, WA

505 8th Ave. N. •TUKWILA, WA

15439 53rd Ave. S. •VANCOUVER, WA

516SEChaklovDr.(#1)

• MILWAUKEE, Wl 5215 W. Fond du Lac

MATH FUNCTIONS

Multiplication

*

Addition

+

Subtraction

Division

/

Arc tangent

arctan

Cosine

cos

Exponential

exp

Truncate to integer

int

3.14159...

Pi

Product of arguments2

product

Division3

quotient

Pseudorandom integer

random

Remainder from division

remainder

Round argument to nearest integer

round

Sine

sin

Square root

sqrt

Sum of arguments2

sum

MISCELLANEOUS

Converts character to number

ascii

TRUE if game paddle button is down

buttonp

Converts number to character

char

Illuminates pixel at specified position

dot

Current setting of game paddle

paddle

PROCEDURE DEFINITION AND FLOW CONTROL

Attach a label to a list, execute the list4

catch

Make a list duplicating a procedure definition

copydef

Accept argument as procedure definition

define

TRUE if argument is name of defined procedure

definedp

Signals end of a procedure definition6

end

Current error list

error

Go to label

go

If-else construct6

if

Execute argument if last test was FALSE

iffalse (iff)

Execute argument if last test was TRUE

iftrue (ift)

Make argument target for go

label

Exit procedure, return argument as value

output (op)

Execute list for specified number of times

repeat

Execute argument

run

Exit procedure, no value is returned

stop

Evaluate argument, save result for use by iff and ift

test

Definition list of procedure

text

Jump out of the specified catch list4

throw

Signals start of a procedure definition5

to

Suspend procedure for specified interval

wait

PROPERTY LISTS

Retreive property from property list

gprop

Return full property list

plist

Add property to property list

pprop

Show all properties in workspace or package

pps

Remove property from property list

remprop

SCREEN CONTROL

Background color of graphics screen

background (bg)

Clear graphics screen

clearscreen (cs)

Clear text screen

cleartext (ct)

[continued)

Fall 1984 • BYTE Guide to the IBM PC

105

Circle 116 on inquiry card.

MicroTime

800-MICRO 84

SET-UP

SOFT V ARE SUPPORT

ONE YEAR

SERVICE

CONTRACT

AVAILABLE

RSS1STRNCE

OWES PRICES

ALL MODELS

ta

IBM

IBH1-PC

Xerox- Americare Maintenance

SYSTEHl SALES

>ER

MODELS

LOCAL SERVICE

PRICES

IBM®

COMPATIBLE

FREE ON-SITE

SERVICE FOR

5 MONTHS

SOFTWARE &

HARDWARE

SET-UP

ZEIHTH <—■

Desktop PC-1 50 Portable PC-160

SYSTE1T1 SUPPORT

COLOR GRAPHICS

I1EC HPC

AUTOCAD & DIABLO INK JET

PERIPHERALS

AMDEK- AST" BENCHMARK" BLUE CHIP BPI ■ BRO TH ER ■ CITOH ■ DATAPRODUCTS DATASOUTH ■ DIABLO ■ EPSON ■ HAYES HOUST/INSTR ■ JUKI ■ MANN/TALLY MOUNTAIN ■ NEC- NOVATION ■ OK I DATA ORANGE ■ PANASONIC ■ PLANTRONICS PROMETHEUS ■ QIIADRAM • QUME SILVER REED ■ ST ARC GEM IN IJ "TAX AN TRANSTAR ■ TOSHIBA ■ T T X ■ US RO ROTICS

800-642-7684

■ Appla ii ■ '■glH»r«0 trtdamir* ol Appla Compulart. Inc.

- IBM ii a (•gni»r»(i trtdtmark of International Buaintaa Machinal, Corp.

411 West Grant Road Tucson, Arizona 85705

TWO LOGOS

Cursor position on text screen

cursor

Use full screen for graphics

fullscreen

Set background color of graphics screen

setbg

Set position of text cursor

setcursor

Use full screen for text7

textscreen

TURTLE COMMANDS

Move backward

back (bk)

Clear screen without changing turtle status

clean

Confine turtle to visible display

fence

Move forward

forward (fd)

Report turtle heading

heading

Make turtle invisible

hideturtle (ht)

Return turtle to origin with heading due north

home

Turn left

left (It)

Report color of turtle pen

pencolor (pc)

Lower color pen

pendown (pd)

Lower erasing pen

penerase (pe)

Lower XORing pen

penreverse (px)

Raise current pen

penup (pu)

Report pen status

pen

Report turtle position

pos

Turn right

right (rt)

Set turtle heading

setheading (seth)

Set color of turtle pen

setpc

Set state of turtle pen

setpen

Set turtle at specified position

setpos

Set turtle ordinate as specified

setx

Set turtle abscissa as specified

sety

TRUE if turtle is visible

shownp

Make turtle visible

showturtle (st)

Set turtle to point toward specified position

towards

Allow turtle to go outside visible display

window

Apply toroid geometry to graphics display

wrap

Report turtle ordinate

xcor

Report turtle abscissa

ycor

WORKSPACE MANAGEMENT

Make package invisible to certain primitives

bury

Erase everything in workspace/package

erall

Erase procedure from workspace

erase (er)

Erase variable from workspace/package

ern

Erase all variables from workspace/package

ems

Erase all procedures from workspace/package

erps

Report how much workspace unused

nodes

Put procedure/variable in package

package

Put all unpackaged objects in package

pkgall

Show definition of procedure

po

Combine pops and pons

poall

Show all variables in workspace/package

pons

Show all procedures in workspace/package

pops

Show titles of all procedures in workspace/package

pots

Perform garbage collection on workspace

recycle

Undo action of bury

unbury

'In IBM PC Logo, these primitives may also be used for file input.

'Not limited to two arguments

Jln DR Logo, quotient truncates its result to an integer.

■■Catch and throw work together in a way similar to the "on condition'

and "signal" statements of PL/I.

5To and end only function in edit or interactive mode; they are more markers than true primitives.

6lf 1st argument is TRUE, execute 2nd: otherwise execute 3rd.

'May be abbreviated to TS in IBM PC Logo.

MicroAge

Masters of PC Technology

There's a difference between knowing how to operate a computer and knowing how a computer operates.

Don't settle for below average, straight out of the box, PC performance. At MicroAge we're masters of PC technology. We can make personal computers perform beyond your expectations. You get more computer for your money, more productivity for your time.

MicroAge... we know today's PC technology. We're already started on tomorrow's.

/MicroAge

"The Solution Store"

®

For the MicroAge Computer Store closest to you call 1-800-525-4516

Circle 108 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 107

TWO LOGOS

Table 2: Primitives found in both Logos, but under different names.

Action of Primitive

DR Logo Name

IBM PC Logo Name

DISK AND FILE OPERATIONS Invoke editor to edit disk file Show directory information1 Report size of file Set default for disk drive Report default disk drive Erase file from disk

edf

getfs, spaced

sizef

setd

defaultd

erf

EDITFILE

DIR

FILELEN

SETDISK

DISK

ERASEFILE

MATH FUNCTIONS Number raised to exponent Natural logarithm

log

POWER LN

MISCELLANEOUS Emit tones from speaker

tones

TONE

PRINTER CONTROL Enable copying of text screen2 Disable copying of text screen Print graphics screen on printer

copyon copyoff printscreen (ps)

DRIBBLE NODRIBBLE PrtSc key

SCREEN CONTROL Set fore-/background colors for text1 Set space for text on split screen Mix text and graphics on one screen Use two monitors

textbg, textfg setsplit splitscreen twoscreen

SETTC SETTEXT

MIXEDSCREEN (MS) SETSCREEN

'The combined effect of both DR Logo primitives is

primitive.

!The IBM PC Logo dribble and nodribble primitives

the printer.

more or less equivalent to the IBM PC Logo can be used with other output devices besides

parent, and, if frequent, can hurt a program's performance.

My performance-testing adventure started when I decided to see how the two Logos would perform on David Ahl's simple benchmark from Creative Computing ("Creative Computing Benchmark," February 8, 1984), which tests the speed and accuracy of floating-point computations, looping, and random-number generation. Although by no means an exhaustive benchmark, it was a good choice for testing Logo. Listing 1 gives my Logo adaptation of this benchmark.

Surprisingly, DR Logo did considerably better at this benchmark than IBM PC Logo. Normal use had not suggested any such discrepancy in performance. If anything, 1 had formed the opinion that IBM PC Logo was faster than DR Logo. I decided to investigate this unexpected result further.

Next, I selected two programs that are considered Logo classics: Flower and Tower. Flower is a turtle-graphics program that produces a picture of a flower, found in one form or another in just about every introductory Logo book. I originally wrote the version given in listing 2 as an example of how easy it is to produce a logically structured program with Logo. Tower (listing 3) is another program that appears repeatedly in the Logo literature. For a good analysis of Tower, see Brian Harvey's article in the BYTE special issue on Logo ("Why Logo?" August 1982, page 163). Tower is a classic example of a program that is trivial to write when you use

recursion, but moderately difficult to write when you are restricted to traditional iterative methods.

The results of timing Flower and Tower didn't clear things up at all. They not only conflicted with the Ahl's benchmark timings, they conflicted with each other. Whereas Ahl's benchmark had implied that DR Logo was twice a fast as IBM PC Logo, Flower implied they were about the same speed, and Tower implied IBM PC Logo was four times faster than DR Logo. Taken together, the three tests make a fine lesson in the unreliability of naive benchmarking.

If I hadn't taken data on memory use for Flower and Tower, I would have given the whole thing up as a bad job. That data showed IBM PC Logo was using memory at significantly greater rate than DR Logo. The startling difference in workspace requirements for the Flower program intrigued me enough to press on.

I could think of two ways to explain the conflicting timings: 1) under certain conditions, IBM PC Logo was consuming workspace so fast as to require recycling more often than DR Logo, and 2) some IBM PC Logo primitives were faster than the corresponding DR Logo primitives, while others were slower. Of course, these explanations are not mutually exclusive: both effects could be present.

I knew I would never be able to discriminate between the

(continued)

108

BYTE Guide to the IBM PC • Fall 1984

COHERENT™ IS SUPERIOR TO UNIX*

AND IT'S AVAILABLE TODAY

ON THE IBM PC.

Mark Williams Company hasn't just taken a mini-computer operating system, like UNIX, and ported it to the PC. We wrote COHERENT ourselves. We were able to bring UNIX capability to the PC with the PC in mind, making it the most efficient personal computer work station available at an unbelievable price.

For the first time you get a multi-user, multitasking operating system on your IBM PC. Because COHERENT is UNIXcompatible, UNIX software will run on the PC under COHERENT

The software system includes a C-compiler and over 100 utilities, all for $500. Similar environments cost thousands more.

COHERENT on the IBM PC requires a hard disk and 256K memory. It's available on the IBM XT, and Tecmar, Davong and Corvus hard disks.

Available now. For additional information, call or write,

Mark Williams Company

1430 West Wrightwood, Chicago, Illinois 60614

312/472-6659

Mark

Williams

Company

COHERENT is a Irade murk of Mark Williams Company.

•UNIX is a [rack- mark of Bell Laboratories. Circle 185 on inquiry card.

Circle 8 on Inquiry card.

64K RAM chips

(Min. 100) $4.49 ea.

IBM PC256K, Disk Drives, FDC, Monitor and Adaptor $2350.00

SANYO 555-2 System with 128KB Memory, 2 160KB Slimline Drives, Keyboard, MS-DOS and Micropro Software $1399.00

TAVA Standard Unit with 128 KB

Memory, Floppy Drive Controller,

Videoadapter, 2-320KB

Slimline Drives, Monitor,

Keyboard, Parallel Port &

Serial Port $1750.00

10MB Hard Disk Sub System for

TAVA®, IBM®, and COLUMBIA®

Qty. $899.00

Disk Drive for IBM PC $149.00

Color Graphics Card for IBM PC

$199.00

Printers by Epson, Okidata, Brother Call

Floppy Drive Controller

for IBM PC $169.00

Color Monitor HX-12 by

PCS $459.00

Shipping and Handling extra. All transactions based on cashier's check or wire transfer.

SCIENTIFIC RESEARCH CORR

714/261-9137

TWO LOGOS

Table 3: Primitives found only in DR Logo.

Action of Primitive

DR Logo Name

DEBUG SUPPORT

Enable split-screen debug mode

debug

Disable split-screen debug mode

nodebug

Disable trace mode

notrace

Disable single-step mode

nowatch

Show the call tree of a procedure

pocall

Show names of all primitives

poprim

Show names of procedures calling a procedure

poref

Show names of all "top level" procedures

potl

Enable trace mode

trace

Enable single-step mode

watch

DISK AND FILE OPERATIONS

Rename file

changef

Full disk copy

copyd

Copy file

copyf

Format a disk

initd

EDITOR

Invoke editor for everything in workspace/package

edall

Invoke editor for all procedures in workspace/package

edps

KEYBOARD INPUT

Read keyboard line as single word

readquote (rq)

LISTS, WORDS, AND VARIABLES

Convert word to all lowercase

lowercase (Ic)

Extract a substring/sublist

piece

Random permutation of a list

shuffle

Sort a list

sort

Convert a word to all uppercase

uppercase (uc)

Position in list of last match made with memberp

where

Protect argument from evaluation

quote

MATH FUNCTIONS

Absolute value

abs

Convert from radians to degrees

degrees

Base 10 logarithm

log 10

Convert from degrees to radians

radians

Tangent

tan

MISCELLANEOUS

Code segment

.getcs

Data segment

.getds

Read byte from specified port

.in

Write byte to specified port

.out

Set segment for .deposit and .examine

.setseg

Comment

j

Reboot DR Logo

bye

Assign word to function key

fkey

Read position of light pen

Ipen

TRUE if light pen data available

Ipenp

PROCEDURE DEFINITION AND FLOW CONTROL

TRUE if argument is the name of a primitive

primitivep

(continued)

110

BYTE Guide to the IBM PC • Fall 1984

When Lotus wanted

better graphics

for 1-2-3, they

chose a better

graphics card-HERCULES

And then we became a standard.

When the IBM® PC was introduced over 2 years ago, the talented people at Lotus realized that it was limited by a lack of high resolution graphics. They knew that this was going to have an adverse effect on 1-2-3's graphics. And Lotus didn't want anything to hold back their revolutionary software.

So they turned to Hercules.

Lotus recognized that the Hercules Graphics Card delivered the performance they wanted. It offered high quality text and high resolution graphics on IBM's monochrome display. It completely replaced the IBM monochrome card. And it didn't cost an arm and a leg.

Since then, Hercules has sold a lot of Graphics Cards. So many that the Hercules Graphics Card has become the high resolution standard for the IBM PC. And this means that there is more high resolution graphics software available for Hercules than for any other graphics card you can buy.

Software like Microsoft* Word. Our high resolution makes Word's text much sharper and easier on your eyes. And there are other programs for business graphics, computer aided design, terminal emulation and programming. Call for our free information kit. See why the company that made the first graphics card for the IBM PC still makes the best.

Hercules. We're strong on graphics. 800 255 5550 Ext. 409

Address: Hercules, 2550 Ninth St, Berkeley, CA 94710 Ph: 415 540-6000 Telex: 754003 Features: IBM monochrome display graphics resolution of 720x348; parallel printer port; text mode software compatibility; free software for programming; 2 year warranty. Foreign distributors: CompuServe/ Canada; Reflex/U.K.; Computer 2000/W. Germany; Edisoft/France; SourceWare/Australia. Trademarks/Owners: Hercules/Hercules Computer Technology; Microsoft/Microsoft Corp; IBM/International Business Machines; Lotus & 1-2-3/Lotus Development.

Fall 1984 • BYTE Guide to the IBM PC • 111

QuicLWho

New Microsoft® Chart. Nothing draws conclusions better. Chart gives your IBM® PC presentation-quality business graphics. So you can be sure everyone gets the picture. Quick

Illustrate your point

Microsoft Chart helps you set up the chart that most clearly displays your information. Because Chart gives you the freedom to do what you want. Quickly and easily Start by picking the chart that makes your point best line, bar, area, pie, column, high-low, and scatter charts are shown right on the screen.^ibu can see how your

information looks in different charts, switching from one to the other on command.

Then you can fine

Chart it and print it in minutes. Umt the chaTt tO get

exactly what you want. Move any section. Position it, change its size, shape or highlight it^tbur chart is displayed on the screen, so you can see how it looks with every change.

Like it? Print it. Chart works with over 20 printers and more than 10 color plotters.

Chart links with Microsoft Multiplan!

Microsoft and Multiplan are registered trademarks and MS is a trademark of Microsoft Corporation. IBM is a

registered trademark of International Business Machines Corporation. Lotus and 1-2-3 are trademarks of Lotus Development Corporation

VisiCalc is a registered trademark of VisiCorp dBASE 11 is a registered trademark of AshtonTate.

Mm in-lord Cwpoitllon

:

ii

Fdl

m

gets the bonus?

«-'--%5s£ ««j

So when the

numbers change, the charts

change. Automatically It also picks up

information from Lotus™ 1-2-37 VisiCalc® and dBASE II®

Small wonder Microsoft puts you on top of the charts. We designed the MS™ DOS operating system that tells the IBM PC how to think. And our BASIC is the language spoken by nine out of ten microcomputers worldwide.

So if you want to get the picture, quick, call (800) 426-9400. In Washington State, Alaska and Hawaii, call (206) 828-8088. Ask for more information on Microsoft Chart. And the name of your nearest MICROSOFT

Microsoft dealer. The High Performance Software

APPARAT TAKES YOUR PC TO NEW REALMS.

4401 South Tamarac Parkway, Denver, CO 80237—Customer Service 303/741-1778

Apparat retail outlets—DENVER: 4401 S. Tamarac Pkwy. 303/771-2032 • =5224 W. Warren Ave. 303/985-1217

CHICAGO: 1844 S. Arlington Heights Rd. 312/640-0322

114 • BYTE Guide to the IBM PC • Fall 1984

Imagine your PC with Apparat add-ons. Imagine where it could take you.

Special values from the hard disk experts. For example, imagine your IBM PC or Portable PC with hard disk capability. Apparatus external Hard Disk Subsystem is completely compatible, running DOS 2,0 or 2.1 without modification or device drivers. And now you can get more capacity—22 and 33 MB formatted configurations—for less money. 22 MB for $2,295, 33 MB for $2,995. Apparat also offers internal or external 10 MB drives at similarly low prices.

XT owners—trade in your 10 MB drive for a larger Apparat hard disk drive. Our 22 MB drive is $1,299, but you pay just $899 with a trade-in of your existing 10 MB drive. Our 33 MB drive is just $1,799, but you pay just $1,399 when you trade in your existing 10 MB drive. Call the Apparat ordering hotline for trade-in details and shipping instructions.

TEAC or Panasonic floppies. These half-height floppies are perfect for your PC, PPC, or XT. Call for trade-in prices on full-height floppies.

New 28 pin EPROM programmer. Now Apparat has a new Prom Blaster for the PC, XT, PPC and PCjr to program most 28 pin EPROMS (including the 2764, 128, 256), in addition to our original Prom Blaster that programs most 24 pin EPROMS ...each $129. We also make an EPROM cartridge for the PCjr to accept your newly programmed EPROMS.

PPC and PCjr. Apparat has developed new products for the IBM Portable PC. Now available is a 256K RAM card and a Combo card (P & S). Both fit the PPC short slots. New for the PCjr is a 128K RAM card and a Combo jr card (P & elk). Both fit the side attachment.

Other Apparat add-ons. RAM cards for the PC and XT—64K $189, expandable to 512K. COMBO II card for the PC and XT, 5 functions on one card—$189. CRAMBO card for the PC piggybacks COMBO II on 64K RAM card—$359.64K internal PRINT SPOOLER with parallel interface— $299. Stand-alone at $319.

Warranty. All Apparat manufactured P.C. boards sold after June 1,1984 covered by our exclusive lifetime limited warranty covering parts and labor.

jjuk Apparat Inc.

ADD ON AND ON AND ON AND ON AND ON

ORDERING AND DEALER INFORMATION

800/525-7674

Prices subject to change without notice.

TWO LOGOS

PROPERTY LISTS

List of all objects having a specitied property

glist

TURTLE COMMANDS

Write text on graphics screen

turtletext (tt)

WORKSPACE MANAGEMENT

Rearrange order in which procedures are displayed

follow

Disable storing of format information in workspace

noformat

Disable poprim command

noprim

Show all packages and their contents

popkg

List of all procedures in workspace/package

proclist

Table 4: Primitives found only in IBM PC Logo.

Action of Primitive

IBM PC Logo Name

ASSEMBLY LANGUAGE INTERFACE

Call subroutine

.CALL

DISK AND FILE OPERATIONS

Load binary data from file

.BLOAD

Save binary data to file

.BSAVE

List of all open files

ALLOPEN

Close file

CLOSE

Close all open files

CLOSEALL

TRUE if argument is a file

FILEP

Load a file into display memory

LOADPIC

Open file or device

OPEN

Show contents of file

POFILE

TRUE if end-of-file on read

READEOFP

File or device specified by last SETREAD

READER

Current position in input stream

READPOS

Save graphics and text display in a file

SAVEPIC

Attach input stream to open file or device

SETREAD

Position input stream

SETREADPOS

Attach output stream to open file or device

SETWRITE

Position output stream

SETWRITEPOS

TRUE if end-of-file on write

WRITEOFP

Current position in output stream

WRITEPOS

File or device specified by last SETWRITE

WRITER

KEYBOARD INPUT

TRUE if Caps Lock key reversed

CAPS

Enable/disable reversed Caps Lock operation

SETCAPS

Read in specified number of characters1

READCHARS (RCS)

Read in a single word1

READWORD (RW)

LISTS, WORDS, AND VARIABLES

Format a number as scientific

EFORM

Format a number as fixed decimal

FORM

MATH FUNCTIONS

Difference of arguments, prefix form

DIFFERENCE

Report precision of math operations

PRECISION

Set precision of math operations

SETPRECISION

(continued)

Circle 11 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

115

THE 8087 IS IN STOCK!

Micro Ware is the world's leading retailer of 8087s. We also have the most accurate statistics on chip reliability. They are: .01% infant mortality, .00% adult mortality and .02% 8088 incompatibility. As for ease of installation, we have never had a customer return a chip because of bent pins. We are so confident that you will be able to successfully install and use the chip that we offer a 180-day warranty with every chip we sell. That*s 90 days more than anyone else!

To support the 8087 we stock the largest selection of of 8087 software anywhere. This includes: three FORTRANs, three PASCALS, APL, Intel's ASM86, PL/M-86, several Cs, 87BASIC, 87MACRO and MATRIXPAK. For real time or multi-user applications we offer RTOS" - our implementation of Intefs iRMX executive. Our new products include a professional debugger with 8087 support, an interface library which enables MS Fortran users to call the IBM Basic

Micro Way

Compiler Library, and a translator that converts object modules into readable assembly language files. If you have a question about which computer, language, compiler, operating system or application package is best suited to your problem, we can answer it Just call: Information and Orders—

617-746-7341 University, Corporate and Government Buyers—

617-746-7364

TM

8087Si

#;#;#

rf

87FORTRAN/RTOS" our adaptation of the Intel Fortran-86 Compiler generates in line 8087 code using all 8087 data types including 80-bit reals and 64-bit integers. The compiler uses the Intel large memory model, allowing code/data structures of a full megabyte, and supports overlays. Includes RTOS and support for one year $1350

87PASCAL/RTOS" is Intel's ISOStandard Pascal with 8087-8088 exceptions. These make it possible to use all the 8087 data types directly, while generating modules in one of the three Intel Memory Models. Includes RTOS and support for one year $1 350

RTOS DEVELOPMENT PACKAGE

includes 87FORTRAN, 87PASCAL, PL/M-86, Utilities, TXScreen Editorand RTOS... $2500

RTOS

REALTIME MULTI-TASKING/

MULTI-USER EXECUTIVE

RTOS is a Micro Ware configured version of iRMX-86. Includes ASM-86, LINK-86, LOC-86, LIB-86, and the ROM Hex Loader $600

MWS-286 " Configured to your specifications, our computer runs RTOS-286 or XENIX Includes one Intel compiler, seven slot multibus chassis hard disk, streaming tape backup and Intel Service Contract, Six to twenty times faster than your PC CALL

OBJ —ASM™ - a multipass object module translator and disassembler. Produces assembly language listings which include public symbols, external symbols, and labels commented with cross references. Ideal for understanding and patching object modules and libraries for which source is not available $200

Micro Ware

P.O. Box 79 Kingston, MA

02364

(617)746-7341

PC TECH JOURNAL REVIEW:

"The Micro Ware package is preferable ... it executes the basic operations more rapidly and Micro Ware provides a free update service."

87BASIC" includes patches to the IBM Basic Compiler and both runtime libraries for USER TRANSPARENT and COMPLETE 8087 support. Provides super fast performance for all numeric operations including trigonometries, transcendentals, addition, subtraction, multiplication, and division $150

87BASIC/INLINE" generates inline 8087 code! Converts the IBM Basic Compiler output into an assembly language source listing which allows the user to make additional refinements to his program. Real expression evaluations run five times faster than in 87BASIC $200

87MACRO"" - our complete 8087 software development package. It contains a "Preprocessor," source code for a set of 8087 macros, and an object library of numeric functions including transcendentals, trigonometries, hyperbolics, encoding, decoding and conversions $150

87DEBUG - a professional debugger with 8087 support, a sophisticated screen-oriented macro command processor, and trace features which include the ability to skip tracing through branches to calls and software and hardware interrupts. Breakpoints can be set in code or on guarded addresses in RAM $150

FOR-*BAS " - a library of interface routines which allow MS Fortran programs to call the IBM Basic Compiler library and access features such as the RANDOM NUMBER GENERATOR, SOUND, PLAY, DRAW and SCREEN commands $150

You Can

TalkToUs!

8087-3 CHIP $175

including DIAGNOSTICS and 180-day warranty

64K RAM Upgrade $47.50

87/88GUIDE - an excellent tutorial on writing 8087 code and interfacing it with compilers Full of code that runs! $30

MATRIXPAK'" manages a MEGABYTE!

Written in assembly language, our runtime package accurately manipulates large matrices at very fast speeds. Includes matrix inversion and the solution of simultaneous linear equations. Callable from MS Fortran 3.2, 87MACRO, 87BASIC, and RTOS each $150

MICROSOFT FORTRAN 3.2 $239 MICROSOFT PASCAL 3.2 $209

These IEEE compatible compilers support double precision and the 8087

MICROSOFT C COMPILER includes Lattice C and the MS Librarian $350

LATTICE C with 8087 support $350

SCO XENIX .'.""'"I*0" 595

Unisource VENIX/86.'r?:r.T.,r 800

FLOAT87 for MS C 125

SuperSoft Fortran 66 299

Computer Innovations C86 345

STSC APL*PLUS/PC 500

TURBO PASCAL 45

TURBO PASCAL with 8087 Support 85

HALO GRAPHICS CALL

GRAPHMATIC 125

ENERGRAPHICS 295

Professional BASIC 295

Kidger Optical Design Program 3000

COSMOS REVELATION 850

SuperCalc III with 8087 Support CALL

MAYNARD WS1 HARD DISK 995

MAYNARD WS2 HARD DISK 1170

256K RAM CHIPS CALL

MAYNARD ELECTRONICS Boards CALL

NO CHARGE FOR CREDIT CARDS ALL ITEMS IN STOCK

CALL FOR COMPLETE CATALOG IBM PC is a registered trademark of IBM Corp. 8087, iRMX-86, LINK-86. FORTRAN-86. ASM-86, LOC-86. PL/M-86 and LIB-86 are trademarks of Intel Corp. 87FORTRAN/RTOS, 87PASCAL7RTOS, 87BASIC. 87MACRO, MATRIXPAK 87/88GUIDE. 87BASIC+ and MicroWay are trademarks of Micro Ware, Inc.

II6

BYTE Guide to the IBM PC ■ Fall 1984

Circle 117 on inquiry card.

TWO LOGOS

MISCELLANEOUS

Exit from Logo to PC-DOS

Set RS-232C port parameters

Force parsing of procedure definitions

.DOS

.SETCOM

REPARSE

SCREEN CONTROL

Report number of monitors in use

Report "scrunch" factor2

Set "scrunch" factor2

Set width of display (40 or 80)

Report color attributes of text display

Report width of display

.SCREEN

.SCRUNCH

.SETSCRUNCH

SETWIDTH

TEXTCOLOR (TC)

WIDTH

TURTLE COMMANDS

Fill area with color

Report color palette

Select color palette for turtle pen

Set shape of turtle as specified

Redefine shape table entry

Stamp turtle image at current position3

FILL

PALETTE (PAL)

SETPAL

SETSHAPE

SNAP

STAMP

'These primitives can also be used for file input.

!The "scrunch" factor is the ratio of vertical turtle steps to horizontal

square a turtle-space square looks on the display

'A stamped turtle image remains after the turtle moves away.

ones—it determines how

You can now learn C on your own with...

Learning to Program in C

Thomas Plum's LEARNING TO PROGRAM IN C has been called the "best tutorial on the C language." The book explains hardware and its relationship with C. It also includes chapters on data, operators, statements and control flow, functions, software development, pointers and structures of most pieces of the C language. And it describes each language feature, illustrates its use, and describes how or why to use it. With it, you'll have all you need to learn C on your own.

Also Available

C PROGRAMMING GUIDELINES is a valuable compilation of standards for ensuring consistency in style and usage of C.

Order Now

LEARNING TO PROGRAM IN C (372pp, 7Vz" x 10") and C PROGRAMMING GUIDELINES(140pp,71/2"x 10") are each available for $25.00 a copy. A FREE C Language Pocket Guide is included with each order. To order, call PLUM HALL 609-927-3770. Or complete and mail

the COUpOn today. Circle 145 on inquiry card.

l**0^*

W^10

•c

Programming| Guidelines

PLUM HALL

1 Spruce Av Cardiff NJ 08232 609-927-3770 Please send me:

copies of Learning to Program in C @$25./copy.

copies of C Programming Guidelines @$25./copy.

information on C training courses.

In NJ, add 6% sales tax. Quantity discounts available.

Overseas, send $30 U.S.

□ Check □ American Express □ Master Card □ Visa

Card # Exp. Date

Signature

Name

Company

Address

City/State/Zip

TWO LOGOS

Table 5:

Logo

benchmark results.

IBM PC Time

Logo Nodes

DR Logo Time Nodes

Program

Loops

(sec)

Used

(sec)

Used

Remarks

Ahl.benchmark1

1000

690.7

351.5

several recycles executed

Flower

1

15.4

19416

17.4

27

turtle graphics

Tower2

4

1.4

245

6.2

95

recursion test

5

3.0

437

12.1

175

6

5.8

821

24.2

335

Loop

500 1000

2.2 4.2

59 59

10.8 21.3

11 11

empty repeat loop

2000

8.4

59

42.5

11

Cntr

500 1000

4.0 7.8

1060 2060

18.2 36.7

511 1011

repeat loop with counter

2000

15.7

4060

73.2

2011

Fptest Add

100

7.0

1589

10.7

824

IBM PC Logo precision = 10 DR Logo precision = 15

200

13.7

3089

20.6

1624

400

27.0

6089

41,2

3224

Multiply

100 200

8.2 16.2

2971 5871

10.2 20.6

824 1624

400

32.6

11672

40.3

3224

Divide

100

8.6

2179

9.8

819

200

17.3

4274

19.3

1619

400

34.6

8467

38.2

3219

Square

Root

25 50

11.7 23.5

8670 17475

2.8

5.2

219 419

100

42.6

34842

10.5

819

'The floating-point accuracy test results were 3.6e Logo and 1.62 for DR Logo. For both these tests

■-5 for IBM PC Logo and I.I I 5e-l0 for DR Logo. The random-number test results were 26.06 for IBM PC

the smaller the result the better. 'For Tower benchmark, number shown under Loops is recursion depth.

A

IBM PC/XT COMPATIBLE

Computer Case $140.00

Keytronic Keyboard $180.00

PC 65 Watt Power Supply $150.00

XT 100 Watt Power Supply $190.00

PC/XT Bare Board $ 90.00

Shugart SA455 320KB Floppy Disk $169.00

Shugart SA712 10MB Hard Disk $625.00

Shugart SA606 10MB Hard Disk $375.00

Hard Disk Controller $325.00

Floppy Disk Controller w/Serial,

Parallel, Game Ports $250.00

Color Graphic Card $210.00

Monochrome Card $225.00

OEM/DEALER INQUIRIES WELCOME

ELECTRADE CO. (408) 946-2541

780 Trimble Rd., Suite 605

San Jose, CA 95131

8051 & 8048/8041

CROSS ASSEMBLERS

FOR THE IBM PC/XT

and COMPAQ COMPUTERS

Save the cost of a development system by using your PC to develop software. Save time and improve programmer's productivity by using Cross Assemblers specifically designed for the 8051 & 8048/8041. MetaLink's Cross Assemblers:

- Provide software support for all five 8051 memory spaces

- Allow special bit address selectors for the 8051 Boolean Processor

- Recognize all Intel defined symbols for the hardware registers

- Include a detailed User's Manual and explicit error messages to simplify assembler usage

The Cross Assemblers are machine language optimized for extremely fast assemblies. They support all components in either the 8051 family or the 8048/8041 family. Standard Hex format is output for PROM programmers.

Only $145.00 MetaLink Corp.

33 W. Boxelder Place, Suite 110

Chandler, AZ 85224

(602) 926-0797

VISA/Mastercard accepted

^j

FUJI FILM FLOPPY DISK

The Heavy-Duty Disks

MD1D-Single Sided Double Density

box of Reg. $46.50 Special I O . ZJ VJ I 10 ea

MD2D- Double Sided-Double Density

box

of

10 ea.

P

01

18.90/,,

21.90/

Reg. $70.50 Special

Precision Data Products

P.O. Box 8367 Grand Rapids, Ml 49508 Outside U.S.A. 16161 452-3457 Michigan 1-800-632 2468 Outside Michigan 1 800-258-0028

C.O.D.

Add 10% surcharge for less than 50 diskettes. Shipping and Handling $3.00/100 or less diskettes. Ml residents, add 4% sales tax. C.O.D. add $2.00.

Circle 55 on inquiry card.

Circle 107 on inquiry card.

Circle 146 on Inquiry card.

Why people choose an IBM PC in the first place is why people want IBM service...in the first place.

After all, who knows your IBM Personal Computer better than we do?

That's why we offer an IBM maintenance agreement for every member of the Personal Computer family. It's just another example of blue chip service from IBM.

An IBM maintenance agreement for your PC components comes with the choice of service plan that's best for you—at the price that's best for you.

Many customers enjoy the convenience and low cost of our carry-in service. That's where we exchange a PC display, for example, at any of our Service/Exchange Centers.

Circle 83 on Inquiry card.

And for those customers who prefer it, we offer IBM on-site service, where a service representative comes when you call.

No matter which you choose for your PC, an IBM maintenance agreement offers you fast, effective service.

Quality. Speed. Commitment. That's why an IBM maintenance agreement means blue chip service. To find out more about the specific service offerings available for your PC, call 1800IBM-2468, Ext. 104, and ask for PC Maintenance. ___» _ _»

Blue chip service from

Fall 1984 • BYTE Guide to the IBM PC • 119

In the battle of wits with your computer, you now have a powerful new ally. An information management system called CDI/100.

It brings our experience in die minicomputer world to your micro, giving you a fast, powerful,

flexible tool for creating, accessing and changing data base information. CDI/100 is so easy, novices can proceed with ease. And so flexible, experts can adapt and build specialized applications.

CDI/100 features include a relational data base management

system—the only one you'll find with variable length fields. Plus an open-ended file structure with a recordkeeping system that is virtually limitless.

Most revolutionary of all, CDI/100 allows you to use a host of existing application programs,

■

:

.

^•fiP^GSfi

+jFm

V W

1 UK

H

■

■HT

How to conquer your computer.

m$

m

rifl

#?:

M

C-jtf

!#ft

Hffi

wi«f

so you can easily transfer files or add die programs of your choice.

To find out how you can acquire an information management system that lets you take charge fast and efficiently, ask for a test demonstration of GDI/100 wherever you buy your software.

Exceptional New Software Concept

Everyone's Filing System English-like Inquiry Language Dynamic Menu System Integrated Help Features Relational Data Management Enhanced Basic Compiler Dictionary Supported Data Base Task Master

CDI

100

CDI Information Systems, Inc. 1309114* Ave. S.E. Belieuie.WA 98004

(206)455-5117

INCREASE YOUR PERSONAL POWER?

Circle 31 on inquiry card.

TWO LOGOS

Listing 1: My adaptation of Ahl's simple benchmark program.

TO AHL.BENCHMARK :M (LOCAL "N "A "S "R) MAKE"N I MAKE"R 0 MAKE "S 0 PRINT ISTART TIMER| REPEAT :M

I

MAKE "A :N

REPEAT 10

MAKE MAKE

A SORT :A R :R + RN

REPEAT 10 I

MAKE "A :A • :A MAKE "R :R + RN I MAKE "S :S + :A MAKE "N :N + I 1 PRINT |STOP TIMERI PRINT ABS (I0I0-:S / 5) PRINT ABS (I000-:R) END

TO RN

OUTPUT (RANDOM 32768) / 32768 END

TO ABS :X

IF :X < 0 [OUTPUT -:X| (OUTPUT :X| END

Note: The ABS procedure is not required by the DR Logo version of Ahl.benchmark because abs is a DR Logo primitive.

Listing 2: Flower, a turtle-graphics program. TO FLOWER

START.UP

BLOSSOM

GREENERY

TITLE

CLOSE.DOWN END

TO START.UP CLEARSCREEN HIDETURTLE FULLSCREEN PENUP FORWARD 30

PENDOWN END

TO BLOSSOM

SETPC 2

CIRCLE

RIGHT 18

PETALS

PENUP

HOME

PENDOWN END

TO GREENERY

SETPC 1

STEM

LEFT 30

LEAF

LEFT 120

LEAF END

TO TITLE

SETPC 3

PENUP

SETHEADING 0

BACK 15

SETX XCOR-24

TURTLETEXT |FLOWER| END

TO CLOSE.DOWN

HOME

SETPC 2

PENDOWN END

TO CIRCLE LOCAL "STEP PENUP FORWARD 18 LEFT 90 PENDOWN MAKE "STEP 18 REPEAT 90

RADIANS 4

FORWARD :STEP

LEFT 4

I PENUP RIGHT 90 BACK 18 PENDOWN END

TO PETALS REPEAT 5

122

BYTE Guide to the IBM PC • Fail 1984

TWO LOGOS

RIGHT 72 PETAL

I END

TO PETAL REPEAT 5

I

FORWARD 35

RIGHT 72

] END

TO LEAF RIGHT 45 REPEAT 90

I

FORWARD 1

RIGHT 1

1 RIGHT 90 REPEAT 90

I

FORWARD I

RIGHT 1

I RIGHT 45 END

TO STEM

FORWARD 30

BACK 100 END

TO RADIANS :D

OP PI * :D / 180 END

TO TURTLETEXT :TXT LOCAL "N

MAKE "N I

RIGHT 90

SHOWTURTLE

REPEAT COUNT :TXT

I

WRTWORD ITEM :N :TXT MAKE "N :N+1 I SETSHAPE "TURTLE HIDETURTLE END

TO WRTWORD :WD IF EMPTYP :WD I

FORWARD 5 STOP

SETSHAPE ASCII FIRST :WD STAMP FORWARD 5

WRTWORD BUTFIRST :WD END

Note: RADIANS, TURTLETEXT, and WRTWORD procedures are not required by the DR Logo version of Flower because radians and turtletext are DR Logo primitives.

Listing 3: The Tower of Hanoi program.

TO TOWER :N :FROM :TO :EXTRA IF :N = 0 [STOP|

TOWER :N- I :FROM :EXTRA :TO (PRINT "MOVE :N "FROM :FROM "TO :TO) TOWER :N- I :EXTRA :TO :FROM

END

Listing 4:

A simple loop

program (Loop).

TO LOOP

:N

PRINT '

START

REPEAT

:N |IDLE|

PRINT '

STOP

END

TO IDLE

END

Listing 5: A simple

loop

with counter program

(Cntr).

TO CNT :N

LOCAL "I

MAKE "1 1

PRINT "START

REPEAT :N [MAKE

"I :l + i|

PRINT "STOP

END

Listing 6: Floating-point arithmetic test program (Fptest).

TO FPTEST :N :OPR IF OR (:OPR = "+) (:OPR = "*)

I

DO.IT :N (SENTENCE |MAKE "I :)| :OPR ":JI

STOP

1 IF :OPR = "/

I

DO.IT :N (MAKE "I 1.0 / :J]

STOP

1 IF :OPR = "SORT

I

DO.IT :N IMAKE "I SORT :J|

STOP

I (PRINT |I DON'T KNOW HOW TO TEST| :OPR) END

(continued)

Fall 1984 • BYTE Guide to the IBM PC • 123

TWO LOGOS

TO DO.IT :N :RLIST (LOCAL "I "I) MAKE "I 1.0001 PRINT "START REPEAT :N

I

RUN :RL1ST

MAKE "] :) + 1.0

1 PRINT "STOP

(PRINT [FOR j =1 :J-1 [i =] :l) END

two effects if I continued to use typical programs as benchmarks. I needed to write programs simple enough for me to know exactly what was going on. The first of these were Loop and Cntr (listings 4 and 5). As it did with Tower, IBM PC Logo ran both programs four times faster than DR Logo did. For these programs, the Nodes Used results show recycling can never degrade the performance of IBM PC Logo relative to DR Logo. Loop will never recycle because it uses a constant amount of workspace. Cntr will eventually recycle, but DR Logo will be slowed more by this than IBM PC Logo because DR Logo uses up one part in 10,000 of its workspace in every iteration, while IBM PC Logo uses up only one part in 15,000. The tests with Loop and Cntr supported the idea that the speed of primitives determines performance more than the frequency of recycling does.

What primitives could have slowed IBM PC Logo down so much while running Ahl's benchmark? 1 recalled that IBM PC Logo uses true variable-precision floating-point arithmetic, which has a well-deserved reputation for being slow. Thus the floating-point arithmetic primitives were good candidates. I wrote a program to test them, and the result was Fptest (listing 6). While this program is more elaborate than it needs to be, it shows off Logo's ability to pass an arithmetic operator to a procedure, something most programming languages don't allow. The results from running Fptest strongly support the idea that IBM PC Logo's problem when running Ahl's benchmark is its floating-point arithmetic. However, note that IBM PC Logo's square-root primitive consumes workspace at a rate 40 times faster than DR Logo's, indicating that the recycling effect probably contributes as well.

Can Logo Replace BASIC?

Let me restate the question in the limited context of the IBM PC. Can either DR Logo or IBM PC Logo replace the Microsoft BASIC that comes with PC-DOS? For some applications it can, for others it cannot. BASIC is used (or abused, if you prefer) to program an incredibly wide range of applications. Indeed, the range is so wide that I am sure I don't know its real dimensions. The best I can do is mention some applications where 1 think Logo would work better than BASIC and others where I think BASIC would work better.

Since I know Logo was designed to serve education, I wasn't surprised to find that both of the Logos reviewed here live up to Logo's reputation as a superb tool for exploring and demonstrating fundamental concepts in such fields as mathematics, physics, and computer science. Logo is sheer delight when used for this purpose. I imagine it would function just as well when applied to other subject matter, say economics or biology.

A lot of Logo's value in education derives from its excellence as a language in which to write simulations. This area is one in which BASIC is widely used, but where both DR Logo and IBM PC Logo are superior. I find both versions of Logo better than BASIC for numerical computation. Since simulation and numerical computation are two of the most important applications for computers in science and engineering, it follows that either Logo could profitably displace BASIC in these fields.

These Logos should also be of interest to computer scientists and software engineers for rapid prototyping. Rapid prototyping allows you to try out your ideas in a series of small, quickly written programs before you incorporate them into a large and complex one. Prototypes developed in Logo are easy to translate into languages such as C, Pascal, or PL/I. This cannot be said for Microsoft BASIC. When there isn't much need for file handling, DR Logo has the edge over IBM PC Logo for prototyping because it provides the better development environment.

Microsoft BASIC will clearly outdo either of the Logos in most business applications that are mainly of a clerical or financial nature. BASIC'S superior capability for handling files ensures this. File-handling superiority will probably tip the balance in BASIC'S favor for text-processing applications as well, although both Logos are superior to BASIC in their ability to manipulate text data in memory.

Which Logo is Better?

The choice between Logos is another difficult question. Although the two Logos have much in common, each has strengths and defects not found in the other. Every time I am developing a program in one, I find myself wishing for features the other has. If I were forced to choose between them, I would probably choose DR Logo because it provides the better programming environment. But its I/O limitations would make this a hard decision. The pros and cons are so intertwined that I can easily understand someone else choosing IBM PC Logo instead.

My performance tests do not allow any absolute judgment to be made either. Programs that do a lot of number crunching run faster in DR Logo, but IBM PC Logo has variableprecision floating-point computation. Programs that do a lot of recursive list processing run faster in IBM PC Logo, but DR Logo has the better set of list-processing primitives. For many typical Logo programs, no significant difference will be apparent. The Flower program is a good example.

What I would like is a Logo'with all the good features of the two reviewed here and none of the bad. That would be a dynamite programming language. Maybe such a Logo will be available for the IBM PC soon—perhaps even in a subsequent release of either DR Logo or IBM PC Logo. ■

124

BYTE Guide to the IBM PC • Fall 1984

Manners

of

Speaking

THE LOGICAL

by iames l weiner RECORD KEEPER;

PROLOG ON THE IBM

This very high-level language makes it easy to program knowledge-intensive tasks

More people are probably "programming" with spreadsheet software than in any traditional programming language. Spreadsheet software allows you to express a large number of real-world problems in terms the computer can understand and solve. After all, how many doctors, lawyers, and people in business need to calculate the factorial of a number? Home or business users deal with objects and relations in the world around them. They want to be able not only to track the deposits and withdrawals in their checking accounts but also to calculate the balance automatically.

The Japanese, who have recognized that computing is no longer reserved for programmers, are developing a new generation of computers to meet the challenge. To complement this new generation of computers, they chose a new logical programming language called PROLOG.

The Japanese effort, termed the "FifthGeneration Project," is sponsored by both industry and government. The aim of this 10-year undertaking is not only to develop a new generation of computers but to develop integrated systems of software and hardware capable of what the lapanese call "knowledge information processing—applied artificial intelligence. Because it's based on objects and relations, the stuff of logic, PROLOG is clearly the right language for the project.

How many

doctors, lawyers, and people in

business need to

calculate the

factorial of a

number?

Initially developed by a group at Marseille, France, headed by Alain Colmerauer, PROLOG is based on ideas proposed by Robert Kowalski, then at the University of Edinburgh, who suggested using logical inference as a form of computation. The most efficient and well-engineered version of PROLOG was developed for the DEC-10 by a group headed by David H. D. Warren and which included Luis Pereira, Fernando Pereira, Lawrence Byrd, and David Bowen. Called the Edinburgh DEC-10 PROLOG, it was the first to support both an interpreter and a compiler as well as a sophisticated debugger.

At the University of New Hampshire, under my direction, a graduate student named Sidney Clark created a portable version of the Edinburgh DEC-10 interpreter for the IBM PC. UNH PROLOG will be available commercially early in the fall of 1984.

Using PROLOG: An Example

PROLOG is a programming language that uses familiar questions and answers in interaction with a common database. A user poses a question to the computer, and the computer, using PROLOG and its database, responds. Programs in PROLOG are rules, stored in the database, for transforming input to output. What makes PROLOG unique is that the system alleviates the need to explicitly state how to use knowledge in the database to answer a question. Thrown out of the vocabulary of programming are such constructs as IF. . .THEN. . . ELSE, FOR. . . LOOPS, and REPEAT. . .UNTIL. Programmers can focus on describing what a problem is and let the language determine how the database can solve it. While designing a programming example in PROLOG for this article, I have tried to convey both how PROLOG works and how simple it is to use. To some readers my example won't look like sound programming; to others, it will look like the only way.

Suppose we have a large record collection, and we maintain information about it in a three-drawer file cabinet, as shown in figure I. The first drawer,

(continued)

lames Weiner teaches in the computer science department at the University of New Hampshire. He can be reached at the UNH Computer Science Dept., Kingsbury Hall. Durham, NH 03824.

Fall 1984 • BYTE Guide to the IBM PC

125

PROLOG

labeled "records," contains an entry on an index card for each record in the collection. The entry relates the title of the record with the ensemble that performed it, its conductor, the label on which it was recorded, its catalog number, and its location on the shelves. The index cards used to be ordered, but now they are in disarray. We use the information in this drawer mainly to retrieve a record from the shelf. Sometimes, though, we use the information to answer a question about a record: "Who conducted the Berlin Philharmonic performing Handel's 'Messiah' for RCA?"

Let's assume we enjoy listening to different recordings of the same composition. Another drawer, labeled "performance," relates composition titles to information about the recording. Similarly, we might like listening to a particular composition on a record that features one of our favorite soloists, and thus yet another drawer exists, this one labeled

"solo," that relates record, composition, and soloist. Examples of cards from each drawer are given in figure 2.

Applying PROLOG to this problem is simple. We enter the information on each card into a file that is loaded into PROLOG. (In PROLOG this is called "consulting.") To distinguish between entries from different drawers, we'll use the drawer label. For example, one entry in the "records" drawer might refer to the record entitled "Bach-Orchestral Suites" performed by the Academy of St. Martin in the Fields and conducted by Neville Marriner. The record's label is Argo, and its catalog number is zrg948. In PROLOG this entry might appear as: records ("Bach-Orchestral Suites," Academy of St. Martin in the Fields, marriner, argo, zrg948).

This recording features Bennett on the flute. To indicate the corresponding entry in the "solo" drawer, we must have an entry in the PROLOG file, such as: solo (bennett, argo, zrg948).

HIGH TECHNOLOGY AT AFFORDABLE PRICES

Dot Matrix Printers

C. Iloh Prowriter BPI (IBM-PC) $ 439.88

C. Itoh HotDot 509.88

C. Itoh A-10Starwriter(18cps) 549.88

DMX-80 (Panasonic 1090) 259.88

Epson RX/FX/LO Series CALL

Microline 92 w/IBM graphics 469.88

Microline 93 w/IBM graphics 699.88

NEC Pinwriter (80 col/PC) 759.88

NEC Pinwriter(132 col/PC) Series 999.88

NEC 2050 tor IBM-PC (18 cps) 899.88

NEC 3550 for IBM-PC (33 cps) 1779.88

Qume LetterPro 20 709.88

Silver Reed EXP-770 (25 cps) 979.88

Silver Reed EXP-550(17 cps) 559.88

Silver Reed EXP-500 (12 cps) 439.88

Silver Reed EXP-400 (10 cps) 329.88

Star Micronics PowerType(18 cps) CALL

Star Micronics Printers CALL

Toshiba P-1351 1439.88

Toshiba P-1340 819.88

Modems

Hayes Smartmodem 1200B $479.88

Novation SmartCat+, 1200bd 409.88

Novation Access 1 -2-3 299.88

USR Password, 1200 baud 369.88

Monitors

Amdek 300G (green) $ 144.88

Amdek 300A (amber). 159.88

NEC JB-1205M (amber) /59.88

Princeton Graphics HX-12 509.88

Princeton Graphics Max-12 199.88

Roland DG-121 (green or amber) >49.88

IBM-PC Peripherals

64K Memory (4164/200ns) 9/pkg $ 69.88

Alloy 41 MB Disk/Tape System CALL

Alloy PC Backup System CALL

Hercules Graphics Card 379.88

Keytronics5151 keyboard 219.88

Mouse Systems PC-Mouse (3.0) 199.88

Paradise MultiDisplay 449.88

NEW1 Quadram 384K Quadboards CALL

Quadram Quad 512 + (64K) 239.88

Quadram Quad 512 + (512K) 609.88

Quadram QuadColor-1 219.88

Quadram QuadLink 509.88

STB Graphics Plus II 479.88

STB Super I/O 169.88

STB Super RIO (64K) 299.88

TandonTM 100-2 DSDD 229.88

Titan Cygnus I/O (clock/parallel) f49.88

Titan Cygnus I/O (clock/RS-232) f 69.88

TECHNICAL SALES DESK

(603) 881-9855

TOLL-FREE ORDER DESK

(800) 343-0726

Hours: 9:00 to 5:30 EST, Mon-Fri

■ FREE UPS ground shipping on all orders over $50 (under $50 add $2.50 handling)

■ MasterCard, VISA, American Express, Diners Club & Carte Blanche credit cards accepted

■ No surcharges on credit card

■ CODs accepted up to $1000 (add $10 lor COD handling). Payable with certified check money order or cash.

■ Sorry, no APO/FPO or foreign orders

HIGH TECHNOLOGY AT AFFORDABLE PRICES

THE BOTTOM LINE

MILFORD, NH 03055-0423 □ TELEPHONE (603) 881-9855

A composition performed on this record is Bach's "Orchestral Suite No. 2 in B minor." To indicate this, we need an entry in our PROLOG file such as: performance ("Orchestral Suite No. 2 in B minor," bach, argo, zrg948).

Each entry in our file is a fact about the record collection. For example, we know from our file that there was a performance of Bach's "Orchestral Suite No. 2. in B minor" on the Argo label, catalog number zrg948. Once consulted, these facts will be stored in PROLOG'S internal database. Now let's invoke PROLOG:

- UNH Prolog 1.3

%

When invoked, PROLOG responds with a prompt that invites a question. Initially, PROLOG doesn't know much. We must consult our file of facts to add to PROLOG'S knowledge. So we ask PROLOG to "consult the file 'records,' if you can":

- UNH Prolog 1.3 -| ?- consult(records). [ records consulted | yes I ?*

PROLOG responds with the fact that the "records" file was consulted; that is, the facts within it were added to the database. The "yes" indicates it tried to consult the file, and a new prompt invites another question." We can ask, "Did Bennett perform a solo on argo record, catalog number zrg948?":

| ?- solo(bennett,argozrg948).

yes

I?

PROLOG answers in the affirmative; it knows that Bennett performed a solo on Argo record zrg948. To answer, it has gone through very much the same process that you would go through by hand. In the same way you thumb through your index cards looking for one that matches the information in the question, PROLOG "thumbs" through its database looking for a fact that matches the question.

logical Questions

If all you could ask were yes/no questions, PROLOG would be relatively useless. But you can ask PROLOG more interesting questions; for example,

126

BYTE Guide to the IBM PC • Fall 1984

Circle 25 on inquiry card.

PROLOG

Figure 1: The file cabinet.

d Get performance

Who conducted

Who soloed

Figure 3: Rephrasing the question.

"What soloist performed on Argo record zrg948?"

| ?- solo(Soloist,argo,zrg948).

Soloist = bennett.

yes

Questions like the above involve a concept similar to that of "variables" in other languages. Variables in PROLOG are distinguished from other words by starting with an uppercase letter. (Other versions of PROLOG use different variable conventions. For example, MicroPROLOG allows variables X. Y, XO, YO, XL Yl, etc. MicroProlog is available from Programming Logic Systems, 31 Crescent Dr., Milford, CT 06460.) In this case, as PROLOG thumbs through its database, it is looking for an entry that matches all items except the one describing the soloist's name. When it finds a component of an entry that matches, it "sets" the variable "Soloist" to that matching component. For example, in the above, the variable "Soloist" is set to "bennett." PROLOG then reponds with values of all the variables used. The period in "Soloist = bennett." is entered by the user, and it means, "This is the soloist that I was looking for." If the response had been a semicolon (;), which means, "This isn't the soloist I was looking for," PROLOG would have continued to search for another entry that

matched. In this case, since Bennett is the only soloist on the record, PROLOG would have eventually answered "no" to your ":" response.

If the file PROLOG originally consulted had information about another recording performed by the Academy of St. Martin in the Fields, this one entitled "Handel-Orchestral Works," two soloists would have been found. Both Nicklin and Davis performed oboe solos on this Philips recording, catalog number 6727. Let's exit PROLOG and add this information to the file:

recordsfHandel-Orchestal Works,' Academy of St. Martin in the Fields,' marriner, philips, 6727).

performance!'Water Music' handel,

philips. 6727).

performancel'Music for the Royal

Fireworks,' handel, philips, 6727).

solofnicklin, philips, 6727).

solo(davis, philips, 6727).

Then reinvoke PROLOG and reconsult the file:

| ?- consult(collection).

[ collection consulted |

yes

I?

Now that we've these new facts, we can ask, "Who are the soloists on Philips record 6727?"

Bach Orchestra Suites

Academy of St. Martin in the Fields

Marriner

Argo zrg948

Shelf 6

Orchestra Suite No. 2 in B Major

Bach

Argo zrg948

Bennett Argo zrg948

Figure 2: Sample index cards.

| ?- solo(Soloists,philips,6727).

Soloists = nicklin:

Soloists = davis:

no

I?

PROLOG finally responds with "no" only because we didn't accept the two possible answers. If we had typed a period (.) in response to any of the two choices, PROLOG would have responded with "yes."

Suppose we want to ask, "Did Bennett perform Handel's 'Water Music' on a recording conducted by Marriner?" No entries relate a soloist directly to music that he or she performed, only to the record on which he performed. To find out what compositions were performed, we have to search the "performances" drawer. If we want to find out who conducted that performance, we have to search the drawer labeled "records."

To answer the above question, we must rephrase it in terms that apply to our filing system. One way to rephrase this question is, "On what recording did Bennett perform such that that recording was of Handel's 'Water Music' and that recording was conducted by Marriner?" The information needed to answer this question is stored in three different drawers-the "performance" drawer, the "solo" drawer, and the "records" drawer. We need some way to go from one drawer to another (see figure 3). Clearly, the "link" between drawers is information about the recording, specifically the record label and

catalog number.

{continued)

Fall 1984 • BYTE Guide to the IBM PC • 127

PROLOG

The Process by Hand

Now let's run through the process of answering this question by hand. First, we thumb through the "performance" drawer for a performance of Handel's "Water Music." (See figure 4a.) When we find one. we note the record label and catalog number and thumb through the "records" drawer looking for that recording. Once we find it, we look to see if Marriner was the conductor. (See figure 4b.) If he wasn't, then we have to go back to the "performance" drawer again, forget about the recording we last noted, and find another recording of that piece. (See figure 4c.)

If the recording was conducted by Marriner, we head for the "solo" drawer, seeking the same recording, and check to see if it featured Bennett. (See figures 4d and 4e.) If it did, we have our answer; otherwise, we have to return to the "solo" drawer and find another entry for that recording—there could be more than one soloist on a recording. If there isn't another entry, we go back to the "records" drawer and look for another entry for that recording. Clearly, there won't be one, because the "records" drawer has only one entry per recording. So we have to go back to the "performance" drawer and start the process again.

With any luck, we remembered to mark each card in the "performance" drawer as we found a pertinent entry. If we didn't, then each time we have to go back to it. we must start thumbing from the beginning.

This process, called backtracking, is analogous to the way PROLOG processes questions. We can view each time we thumb through a drawer, go from one drawer to another, or go back to a previous drawer as part of a path through the filing system. PROLOG guarantees that if there is a path that leads to a solution to the question, it will find it. In this way, unlike with a conventional programming language, we don't have to tell PROLOG how to find a solution. In PROLOG, the above query would be expressed as follows:

| ?-performance('Water

Music' Label,Number),

| records! marriner.Label,

Number),

|so!o(nicklin,Label,Number).

Label= philips,

Number yes

6727.

The underscore character ( ) is used

to represent some variable that we don't care to name, because we never need to refer to it again. These variables

refer to parts of an entry on which there are no restrictions; we don't care who composed the piece, what the title of the record was. or what ensemble performed it. Although the record label and catalog number are unimportant, PROLOG must use the same ones to link the three drawers together, so you must

ILLUSTRATIONS BY CHIS SPOLLEN

Figure 4: The process of answering the question.

128

BYTE Guide to the IBM PC • Fall 1984

PROLOG

PROLOG

guarantees that if

there is a path

that leads to a

solution to the

question, it will

find it.

name them. Unfortunately, PROLOG doesn't understand that the specific record label and catalog number are used temporarily to answer the question, so it displays them as part of the response.

Rephrasing a Question

It's easy for the record collector to rephrase a question, but for others, it may be difficult. For them, the collector has written a small pamphlet containing possible general questions such as, "Who has conducted on recordings featuring some soloist?" The collector has included instructions on how to use the file system. An example of a page in the pamphlet is given in figure 5. To answer a question that needs rephrasing, we thumb through the pamphlet, looking for a page with our question, and then thumb through the file drawers following the instructions in the pamphlet.

Because we have rewritten each entry in our file drawers in PROLOG, we can do the same with each page in the pamphlet. Instead of being facts about the record collection, the entries are rules for finding out new facts using the record collection. The page shown in figure 5 would be rewritten in PROLOG as follows:

conductor soloist(Conductor,

Soloist) :

records! Conductor.Label,

Number),

solos(Soloist Label, Number).

In PROLOG, the colon/hyphen (:-) is used to separate the "goal" of finding the conductor of a recording that features a specific soloist from the

Figure 5: A page from (he pamphlet

"method" PROLOG must use for finding this information. Because the rule is given in a general form, we can ask several variations on it. For example, we ask, "Did Marriner conduct a recording featuring Bennett?"

|?- conductor soloist

(marriner.bennett).

Or, "What soloist was featured on a recording conducted by Marriner?"

|?- conductor soloist

(marriner.Soloist).

I

Or, "Was Bennett featured on a recording conducted by some conductor?"

|?- conductor soloist

(Conductor, bennett).

Finally, we can ask just the general question, "Who conducted a recording featuring some soloist?"

|?- conductor soloist

(Conductor.Soloist).

For each question. PROLOG thumbs through its database trying to match either a fact or the goal part of a rule. If it matches a rule, the method part, functioning as the rephrased question, is posed to PROLOG with the appropriate substitution of variables. That is, for the question

|?- conductor soloist

(marriner.bennett).

the rephrased question posed to PROLOG would be

records! marriner.Label.

Number), solos(bennett.Label,Number).

This process is called "pattern-directed invocation."

The pamphlet also comes in handy when you're answering questions about what people work together. For example, having heard a rumor that Neville Marriner and Robert Davis are feuding, we may want to know if it is true. It couldn't be possible if the two have never worked together, so we want to know if they have. Picking up the pamphlet, we thumb through it to find a method for figuring out if the two have ever worked together. We find the following:

Do Person A and Person B work

together 1) See if PersonA soloed on a recording. If so, then see if PersonB soloed on the same recording.

in PROLOG this would appear as:

work together(PersonA,PersonB) :

solos(Person A,Label.Number), solosfPersonB, Label.Number).

The rephrased question would be:

soIos(marriner,Label, Number), solosfdavis.Label, Number).

Clearly, this approach will not succeed, because Marriner is a conductor, not a soloist. Going back to the pamphlet, we look for another method to answer our question. On page 5 5 we find:

Do PersonA and PersonB work

together 1) See if PersonB soloed on a recording conducted by PersonA.

[continued)

Fall 1984 • BYTE Guide to the IBM PC

129

How to cure the, Presentation must

be ready tomorrow" headache:

Authorized Dealerships available.

%

'

Lotus'" 1-2-3 is a trademark of Lotus Development Corp.

Use one Penpad tablet.

Mm. IltlS &l*e«ll SllCie eiieCTS* Now, anyone can prepare 35mm

slides, overhead transparencies, or a whole presentatation on a video monitor by using the Penpad.

Penpad is the only graphics tablet in the world that lets you run your PC with one hand. Draw, paint, plot, cut, paste, and label your work in the easiest, most natural way possible—with pen and paper. Capture and personalize images from Lotus™ 1-2-3 and others. It can read your writing and display it in dozens of type styles.

With our custom graphics software, Pendraw™,

an easy-to-use 4-color program, or our advanced,

16-color VIDEOGRAM™, you can do in hours what

once took days or weeks.

There is no better remedy for the pains of an upcoming presentation,

so take two aspirins and call your IBM PC dealer in the morning.

-#P*»

Pencept, Inc. 39 Green Street, Waltham, MA 02154 617/893-6390 In Canada call, Scarsdale Technologies (416) 441-1900

V'

Circle 136 on inquiry card.

PROLOG

This method is similar to the first, but it does not have the same flaw. In PROLOG, a method can consist of either rules or facts interspersed. This rule would appear as:

work together(PersonA.PersonB) :

conductor .soloist(PersonB,

Person A).

From what we know, they do work together. Maybe the feud is still on!

If we exit PROLOG again, add the rules we encountered in the pamphlet to our file "collection," reinvoke PROLOG, and reconsult the file, we can ask PROLOG for an answer to the above questions.

CONCLUSIONS

Owners of a personal computer need a language such as PROLOG that allows them to solve common but interesting problems without having to devote an inordinate amount of time to programming. One might think that a language like LISP, which is widely used in the Artificial Intelligence community, might be as effective as PROLOG for common real-world problems, but that's not the case. LISP is a much lower-level language. The main advantage that PROLOG has over LISP is the fact that patterns and pattern matching are so fundamental to PROLOG. The problem of representing knowledge in LISP is casting that knowledge into lists that LISP can process. ■

REFERENCES

1. Bowen. D. L. L. Byrd. L. M. Pereira, F C. N. Pereira. and D. H. D. Warren. PROLOG on the DECSustem-\0 User's Manual. University of Edinburgh. Scotland: Technical Report. Department of Artificial Intelligence. October, 1981.

2. Clocksin. W. F. and C. S. Mellish. Programming in PROLOG. New York: Springer-Verlag. 1981.

3. Kowalski. R. A. "Predicate Logic as a Programming Language." Information Processing 74. New York: North-Holland, 1974, pp. 569-574.

4. Roussel. P. PROLOG: Manuel Reference et a" Utilisation. Technical Report, Groupe d'lntelligence Artificielle, Marseille-Luminy. September, 1975.

5. Shapiro. E. Y. "A Subset of Concurrent PROLOG and Its Interpreter." Technical Report TR-003, ICOT—Institute for New Generation Computer Technology. lanuary. 1983.

6. Warren. D. H. D. "Implementing PROLOGCompiling Predicate Logic Programs." University of Edinburgh. Scotland: Technical Reports 39 and 40. Department of Artificial Intelligence, 1977.

Lotus 1-2-3

'309

WORD PROCESSING/ EDITORS

Easywriter II System

(3 pak) Fancy Font Final Word Microsoft Word Microsoft Word/Mouse Multimate PeachText 5000 PFS: Write Volkswriter Deluxe The Word Plus (Oasis) Word Perfect (SSI) WordPlus-PC with The Boss WordStar WordStar Professional

(WS/MM/SS/SI) WordStar Options Pak

(MM/SS/SII XVWrite II*

FOR YOUR BOTTOM LINE.

j« ... WordStar .. M__

dBase III I Professional I M^'Mate

'CALL t>co '269

LANGUAGES/UTILITIES

Concurrent w/Windows

$219 M59 : 189

: 239

299

269

: .219

il 95 ,169 U09 $Call $319 $239

$359

$189 $229

SPREADSHEETS/ INTEGRATED PACKAGES

Electric Desk Framework InteCalc Jack 2 Lotus 1-2-3 Multiplan Open Access Ovation Smart System SuperCalc 3 Symphony TKI Solver VisiCalc IV

SCall

$Call $189 $329 $309 $135 $379 {Call $579 $239 SCall $269 $159

Digilal Research C Compiler

Lattice X'

Microsoft C Compiler

MS Basic Compiler

MS Fortran

Norton Utilities COMMUNICATIONS/ PRODUCTIVITY TOOLS

Crosstalk

Memory Shift

Move It

Prokey 3.0

Relay

Smartcom II GRAPHICS/STATISTICS

Abstat

BPS Business Graphics

Chartman Combo (ll&IV)

Chartmaster

dGraph

DR Draw

Energraphics w/Plotter

Execuvision

Fast Graphs

Graphwnter Combo

PC Draw

PFS: Graph

Statpac-NWA

Statpac-Walonick

ACCOUNTING MODULES

$219

$219 $309 $329 $249 $239 $ 59

$119 $ 79 $109 $ 95 $ 99 $109

$279 $229

:;349 :;259 i;189 11199

11319

:;279 :;219

$399 $279

:; 95 :;329

$299

DATABASE SYSTEMS

Alpha Data Base

Manager II $179

Condor III $329

dBase II $289

DBplus | 89

Friday $179

InfoStar $269

Knowledgeman $299

PFS: File/PFS: Report $169

Powerbase $269

QuickCode $169

R:base4000 $279

TIM IV $269

Versalorm $249

PROFESSIONAL DEVELOPMENT

Management Edge $169

Think Tank $129

HOME/PERSONAL FINANCE

Dollars and Sense

Financier II

Home Accountant Plus

Sundex-CPA

Tax Preparer 84

$119 $119 $ 99 $109 $189

PROJECT MANAGEMENT

Harvard Protect

Manager $239

IntePert/Plan $239

Scitor Protect Scheduler $229 VisiSchedule $199

Ask Micro Accounting BPI Accounting I US EasyBusiness System MBA Accounting Open Systems Accounting Peachpak 4 (GL/AP/AR) Peachtree Accounting Real World Accounting Star Accounting Partner IGL/AP/AR/PAY)

$299 $369 $319 $369 $459 $239 $399 $469

$269

HARDWARE PERIPHERALS*

AST Six Pack Plus (64k) $269

Quadboard (Ok) SCall Hayes 1200B with

Smartcom $399

Hayes Smartmodem 1200 $499

Keytronic 5151 DLX $209

IRMA $995

Hercules Graphics Board $349

Epson FX-100 Printer $Call

Comrex II Printer $Call

C Itoh Prownter $Call C Itoh Starwriter $1199

Okidata 93A $749

64K Memory $ 55 "Call for shipping.

R: base 4000

'279

Volkswrlter DLX

'169

AST 6 Pak Plus

'269

Smartmodem 1200B

'399

free

Diskette

Library

Case

with your order

DISCOUNT COUPONS

With each order,

we offer discount coupons

worth up to $10 on your next order.

In New York State call (212) 438-605

057

TERMS

Checks—allow M days to cleat. Credit processing—add 3*c. COO orders—cash. M O or certified check—add S3 00. Shipping end Handling UPS surface—add S3 00 per Horn. (UPS Blue J6 00 per item) NY Slate Residents—add appircablo sales rax All prices subieci to change

m

msd

Softline Corporation

3060 Bedford Ave.. Brooklyn. N.Y. 11210

TELEX: 421047 ATLN Ul

Fall 1984 • BYTE Guide to the IBM PC

131

FOR 15 YEARS. WE'VE REEN

THE WORLDS MOST POPULAR

NOW YOU CAN RUY ONE.

Introducing the Maxwell Modem™ from Racal-Vadic.

It's not your fault you didn't buy one sooner. You couldn't. Unless you happened to be a major corporation. They're the ones who buy the most modems. And the modems they buy most are ours.

Now we've taken everything we know about modems and made one you can buy.

The Maxwell Modem.

It's designed expressly for personal computers. And the people who use them. It's rugged. Reliable. And it even operates over low-quality phone lines that other modems can't handle.

But best of all, it's uncomplicated. So you don't have to know how one works to work one. There's no control panel to control. No switches to switch.

The Maxwell Modem and George are trademarks of Racal-Vadic. IBM is a registered trademark of International Business Machines Corp. (C)1984, Racal-Vadic. 132 • BYTE Guide to the IBM PC • Fall 1984

Instead, every feature makes sense. Auto-dialing. Auto-answer. And complete unattended operation.

Our communications software is just as accommodating. It's called George.'" And we've made George so simple to use you may never have to open your manual.

The Maxwell Modem comes in two different versions and two different speeds: Internal modems for the IBM PC and compatibles, and desktop models for virtually every personal computer. Both are available with speeds of 300- or 1200-bps.

And every Maxwell Modem has diagnostic features built in. So we can test your modem right over the phone from our Remote Diagnostic Center. We'll even pay for the call.

So where can you get your hands on a Maxwell Modem? To find our dealer nearest you, just do what modems do.

Call 800-4-VADICS.

Racal-Vadic, 1525 McCarthy Blvd., Milpitas, CA 95035.

THE IUXWELI

Fall 1984 • BYTE Guide to the IBM PC • 133

Manners

of

Speaking

AN INTRODUCTION

BY WILLIAM J CLAFF TO PC ASSEMBLY-*

LANGUAGE PROGRAMMING

How to program the 8088

This is a guide for writing assembly-language programs or routines on the IBM PC. It is necessary to program in assembly language when an application must be as fast as possible or when the highlevel language being used cannot perform the desired operation. High-level languages are also easier to comprehend when you understand assemblylanguage concepts. This article is not a primer. I am assuming that you have read a primer or manual and are left with unanswered questions. I hope this article will answer some of those questions and that, with one or more of the references listed at the end of the article, you will become a more polished assembly-language programmer. I will present specifics of the 8088 first, followed by a sample program and routine. The program is a useful utility illustrating DOS (disk operating system) function calls and string manipulation. The routine introduces a new technique for writing code to be called from BASIC.

The 8088 Central Processing Unit

Figure 1 shows an elementary block diagram of the 8088. This processor has two separate processing units: the execution unit (EU), which executes instructions, and the bus interface unit (BIU), which is responsible for the 8088's communication with the outside world. The BIU is capable of coor

I assume you have

read a primer

and are left

with unanswered

questions. I hope this

article will answer

some of those questions.

dinating multiple EUs such as the 8087 numeric data processor (NDP) and the 8089 I/O processor. The only difference between the 8088 and the 8086 is their BlUs.

The BIU sits between the EU and the outside world. An EU provides a logical address to the BIU, which translates it into a physical address. This translation, called the physical-address computation, uses two 16-bit quantities: a segment register and an offset. The notation used for logical addresses is segment:offset. The segment registers (parts of the BIU) are code segment (CS), stack segment (SS), data segment (DS), and extra segment (ES). The offset is usually supplied by the EU.

The physical address is computed by shifting the segment register left 4 bits and adding the offset in the BIU's dedicated adder. Segments are 64K

byte relocatable pieces of the 1-megabyte physical-address space. They are located on 16-byte boundaries called paragraphs. Assembly-language programs are written in logical segments. Placement of these segments in memory is a function of the linker and the DOS. They can be overlapped, contiguous, or disjointed.

The address of the next instruction to be executed is CS:IP, (code segment: instruction pointer). For increased efficiency, the BIU pipelines bytes (prefetches them and puts them into a queue). To facilitate this calculation, the offset instruction pointer is kept in the BIU.

The EU contains eight 16-bit registers, any of which can be used in computations. Four of these registers comprise the data group. They are the accumulator (AX), base (BX), count (CX), and data (DX) registers. The high and low 8 bits of each data register also can be accessed. The two halves of the accumulator register are AH (accumulator high) and AL (accumulator low). The halves of the base, count, and data

[continued)

William ]. Claff(7 Roberts Rd.. Wellesley. MA 02 181) is a member of the engineering department of Spinnaker Software Corporation, where he is the in-house expert on the IBM PC family. He also has run his own microcomputer retail and consulting business for the past six years. Mr. Gaff holds a master's degree in applied mathematics from Harvard University.

134

BYTE Guide to the IBM PC • Fall 1984

*£$*"

132 Cols x 44 Rows Simultaneous Color and Monochrome Graphics Display +

One Card/ Single Slot =

The Graphics Edge

■

iillllllllllii

132 CDLs x

HH RDIaJs ■lllllllllllll

TM

The GRAPHICS EDGE is the leading edge. We've really pushed technology to the limit with this one, and here's why:

■ it is software switchable from 80 cols x 25 rows to 132 cols x 44 rows, making it ideal for spreadsheet applications,

■ drives both a color and a monochrome monitor SIMULTANEOUSLY and prints this same information in color on your color printer. Ideal for business applications involving heavy word processing combined with color graphics requirements,

■ and runs Lotus 1-2-3™ with FULL GRAPHICS and also MicroSoft Flight Simulator™ on either high-resolution IBM® Monochrome or color monitors.

And if that's not enough, there's more:

■ it is Fully Compatible with IBM Monochrome and color adapters, Colorplus'M and Hercules'"

■ will run all IBM Color Graphics Software on the IBM Monochrome Display, opening to you a wealth of IBM Color Graphics software applications,

■ supports all BASICA graphics comman

IBM Monochrome or color monitor will software patches,

■ 640H x 200V in 16 colors,

■ 16 shades of green in green monitors with composite output; and. . .

one printer port and one light pen in

No Other Card can give you So Much for So Little. At a Suggested retail price your IBM PC will be performing to the in! potential. WHAT ARE YOU WAITING FOR!!!

OEM Inquiries Welcomed.

For more information, contact your nearest dealer. OEM and Dealer Hotline 800-821-0806. In California call 800-821-0807.

HtcroSoft Flight Simulator Is a trademark of Mtcroioft Corp Craphit

Everex Systems, Inc.

il on Inquiry card.

891 Maude Ave., Mountain View, California 94043 (415) 967

ASSEMBLY LANGUAGE

registers are similarly named.

Two other general registers, the source index (SI) and the destination ' index (DI), comprise the index group. These registers are used primarily in string operations. Two segment registers are required to perform moves or comparisons on memory more than 64K bytes apart. This is why there is an extra segment in addition to the data segment. The destination in a string operation is always ES:D1 (extra segment: destination index).

The last two general registers, the stack pointer (SP) and the base pointer (BP), comprise the pointer group. These registers manipulate the stack that holds subroutine return information. When a subroutine is invoked, SS:SP (stack segment: stack pointer) is used to store the return address on the stack. Stack pointer points to the top of the stack and is automatically decremented by calls and incremented by returns. The stack also is used to pass subroutine parameters. The base-pointer register is used to access these parameters.

Many of the registers in the EU have special uses. Table 1 shows these registers and their uses.

Addressing

An offset is also known as an effective address. The EU generates an effective address using one of several methods called addressing modes. An effective address has one or more of the following: base, index, and displacement. A base can be either a base register or base pointer: an index can be either a source index or destination index: and the displacement is a 16-bit signed number.

If no segment register is specified, the data-segment register will be used. If the base-pointer register is specified as the base, the stack-segment register is used. Supplying a segment register that is not the default is called a segmentoverride prefix. The segment cannot be overridden for an instruction pointer, stack pointer, or destination-index registers in string operations. Figure 2 shows how the various addressing modes in the EU and the BIU combine to form the physical address.

There are three types of addresses: Short, Near, and Far. Short addressing is used for looping, conditional jumps,

and for some unconditional jumps. Near and Far addressing are used in calls and unconditional jumps that do not qualify for Short addressing. Short and Near addresses affect only the instructionpointer register and are always relative.

Far addresses affect code-segment and instruction-pointer registers and are absolute. When the value of the codesegment register does not change, you have intrasegment addressing. When

(continued)

ADDRESS BUS

OH

AL

BH

BL

CH

CL

GENERAL

DH

DL

REGISTERS

SP

BP

DI

SI

i

J , , .

ALU DATA BUS

| TEMPORARY REGISTERS^

(16 BITS) I

INTERNAL ■ COMMUNICATIONSREGISTERS

i~ CONTROL {' SYSTEM

BUS

CONTROL

LOGIC

^■■■:[ y

INSTRUCTION QUEUE

EXECUTION UNIT (EU)

BUS INTERFACE UNIT (BIU)

Figure 1: A block diagram of the 8088's two processing units [see reference 3).

SINGLE INDEX

DOUBLE

INDEX

-|

ENCODED

IN THE <

INSTRUCTION

EXPLICIT

IN THE (

BX

c

BX

SI

OR

OR

OR

BP

BP

DI

OR

SI

EU

N

J

B

U

OR

EFFECTIVE

DI

> 1

>• 1 DISP

LACEMENT

*L

)

INSTRUCTION *>

ASSUMED UNLESS I OVERRIDDEN s BY PREFIX

V

cs

0000

, r

OR

"

ss

0000 |

OR

DS

0000

OR

ES

0000

(.

J*

"V

PHYSICAL ADDR

*

Figure 2: Addressing modes in the execution unit and bus-interface unit combine to form the physical address (see reference 4).

136

BYTE Guide to the IBM PC • Fall 1984

■

Two more great reasons to buy the Canon' AS-100 Microcomputer.

1. Incredibly low price.

2. Free software.

fll

Now there's even more incentive to buy Canon's AS-100 Microcomputer

Because not only will you get one of the most advanced, small business microcomputers you can buy, but with a price that's now dramatically reduced, you'll also get value that's just as far ahead of its time. Plus free business management programs.

That's an unprecedented saving on this elegantly compact, yet powerful microcomputer

It has a high-speed, 16-bit microprocessor with standard 128K-bytes RAM expandable to 512K bytes.

A high-resolution, color display system for easy-to-read figures, charts and graphs (monochrome green display if you prefer).

The convenience and versatility of a lightweight keyboard that's adjustable for maximum comfort. Plus external storage capacity that includes 5y4-inch mini or 8-inch floppy disks, with hard disk drive

also available.

And if all this isn't reason enough, the AS-100 now comes fully equipped with a choice of popular business software packages. Software such as WordStar* for word processing, CalcStar* and SuperCalc 2*** for spreadsheet analysis and dBase II** InfoStar* and Friday!** for data base management. There's also a choice of Canon's exclusive software— Canowriter* and Canobrain IP,

Terrific savings and a choice of software packages.

Two more great reasons to buy the only microcomputer that comes with the assurance, reliability and technological quality of Canon.

The Canon AS-100.

For more information:

Call 1-800-323-1717, Ext. 302.

(In Illinois call 1-800-942-8881, Ext. 302.)

Or Write Canon U.S.A., Inc.,

Systems Division, P.O. Box CN 11250

Trenton, N.J. 08638.

*lnfoStar, CalcStar and WordStar are trademarks of MicroPro. **Friday! is a trademark and dBase II is a registered trademark of Ashton-Tate. ***SuperCalc 2 is a trademark of Sorcim. 'Canowriter and Canobrain II are trademarks of Canon, Inc.

Available through Canon authorized dealers.

Offer good through October 31, 1984. /»«•«•»»•. C««»*.««.»*» r\:.,:»:«*»>

© 1984Canon USA Inc. CailOn SySTeiTlS PlVISIOII

Circle 28 on inquiry card.

ASSEMBLY LANGUAGE

The segmented

addressing scheme of the 8088 differs from the traditional linear

addressing scheme... At shortens the instruction length.. . .of data items.

the value of the code-segment register does change, you have intersegment addressing. A Near call puts only the instruction-pointer register for the return on the stack. A Far call puts both codesegment and instruction-pointer registers for the return on the stack. Consequently, there are different Near and Far returns. A Near call to a Far procedure, or vice-versa, is a disaster.

The segmented-addressing scheme of the 8088 differs from the traditional linear-addressing scheme in several ways. Segmented addressing shortens the instruction length and the size of data items required for addresses. This saves memory and speeds execution because fewer fetches are required. It also allows you to easily relocate logical segments. Linear addressing is superior for processing data that is larger than 64 K bytes.

Interrupts

The 8088 does not distinguish between

interrupts invoked with the assemblylanguage instruction INT or by the hardware. There are 2 56 interrupts, vectored through a table of double words located at hexadecimal OOOOOH:0O00OH (all locations mentioned in this article are hexadecimal). Each double-word entry in the table corresponds to the CS:IP (code segment: instruction pointer) of the subroutine that is invoked for that interrupt.

An interrupt is handled like a Far call except that the flags are also pushed on the stack before the return CS:IP (code segment: instruction pointer). In addition to Near and Far returns, there is an interrupt return. The 8088 uses interrupts 000H through 004 H for division by zero, single stepping, nonmaskable interrupts, breakpoints, and overflows. Hardware interrupts IRQ0 through IRQ7 are mapped into interrupts 008H through 00FH by the 8259A interrupt controller.

Memory Usage

The interrupt vector table is an example of a fixed portion of memory that is used in a particular way. To program the IBM PC effectively, you have to have an understanding of all such fixed areas. The 8088 begins execution at OFFFFH:OO0OOH. On the IBM PC, this is an entry point into the BIOS (basic input/output system). This code is in ROM (read-only memory) at 0FE00H:00000H; therefore, it is called the ROM BIOS. It contains the basic code necessary to interface with all of the hardware devices. You can reach the subroutines of the ROM BIOS through software interrupts 010H through 01FH. The ROM BIOS

also uses memory at 0O04OH:OO0OOH through 00040H:000FFH. Some of the values kept in this area include the current video mode and the keyboard buffer.

There is a version of ROM BASIC located at OF600H:OOOOOH. This BASIC and the disk-based BASICS also use memory at 00050H:00000H through 00050H:000FFH, as do some DOS functions.

The memory from 00060H:00000H through 00060H.000FFH is used under DOS 2.0 and DOS 2.1 to store various disk variables. When DOS is booted, the boot code loads the hidden files 1BMBIOS.SYS and IBMDOS.SYS into memory directly above these reserved areas. IBMBIOS is also known as the RAM (random-access read/write memory) BIOS. It moves IBMDOS down to recover unused space and transfers control to DOS. DOS functions are invoked through interrupts 020H to 027H. DOS initializes devices, loads COMMAND.COM into memory directly above itself, and transfers control to COMMAND. To make more memory available to the user, COMMAND relocates a portion of itself, the transient portion, into high memory.

COMMAND is responsible for executing internal or external commands. For example, DIR is an internal command (the code for DIR is inside COMMAND), while CHKDSK is an external command (the code for CHKDSK is in a file called CHKDSK.COM). The macroassembler, MASM (found in a file called MASM.EXE), is also an external command.

[continued)

ULTRA-RES™ GRAPHICS

Prices from $995

ULTRA-RES,

a family of graphic controllers for IBM-PC / XT and SI00 systems.

Advanced feature display controllers for IBM-PC / XT and compatible systems. Features include NEC7220, programmable resolution to 1024x1024, slave controllers, transparent mode allows monochrome adapter and ULTRA-RES on same monitor, DMA compatible, light pen, externally powerable. Monitor protection circuits. Video outputs are TTL direct drive or analog. Software drivers.

C.S.D. Incorporated P.O. Box 253 SUDBURY, MA 01776

(617)443-2750

ULTRA-RES Trademark CSD Inc. IBM-PC Trademark IBM

138 • BYTE Guide to the IBM PC • Fall 1984

Circle 27 on inquiry card.

Now you don't have to sacrifice print quality for speed.

The Canon Impact Matrix Series Printers.

—gjjL^jjafoj^jjL^

Canon

|

.

D HI B

High speed and high quality in one functional, compact unit. That's what Canon's Impact Matrix Printers offer you.

They print hard copy at a rapid 160 characters per second. While in the double pass mode you get an impressive, high-density 23 X18 dot matrix that gives near letter quality printing suitable for word processing.

Canon's unique technology has also dramatically reduced bothersome clatter down to a muted noise level of less than 60dB.

Even at high speed.

And that, unlike many other impact matrix printers, makes them a pleasure to work with.

Plus there's limitless flexibility with the optional down-loading function that lets you print

'? 1984 Canon U.S.A.. Inc.

whatever character fonts your host computer can create. As well as a choice of four different character styles (all printable on the same line) that you can enlarge or condense.

The Impact Matrix Series Printers give you a convenient choice of special paper widths-the PW-1080A for 80-character column printout and the PW-1156A for 156-character column. - Exceptional quality and high speed.

The Canon* Impact Matrix Series Printers give you the best of both worlds.

For more information:

Call 1-800-323-1717, Ext. 300.

(In Illinois call 1 800-942-8881. Ext. 300.)

Or Write Canon U.S.A., Inc.,

Printer Division, P.O. Box CN 11250,

Trenton, N.J. 08638.

Canon Printer Division

Circle 29 on inquiry card.

ASSEMBLY LANGUAGE

Program Execution

When COMMAND loads code to execute an external command to perform a task, it first builds a 2 56-byte program segment prefix (PSP). The program segment, which has its origins in CP/M, contains important information about the task. Listing 1, PSP.INC, shows the layout of the program-segment prefix.

If the code is in a command (COM) file, the contents of the file are put into memory at CS:00100H, where the code segment points to the program-segment prefix. A COM file contains exactly one logical segment. When execution begins, CS=DS=ES=SS=PSP (code segment = data segment = extra segment = stack segment = programsegment prefix), IP (instruction pointer) =00100H, SP (stack pointer) = 000FEH, and there is a zero word on the top of the stack.

If the code is in an executable (.EXE) file, then the file contains relocation information and one or more logical segments. In this case, when execution begins, DS=ES=PSP (data segment = extra segment = program-segment prefix) and CS:IP (code segmentinstruction pointer) and SS:SP (stack segment:stack pointer) depend on the assembly and link conditions. It is common for the code segment to be PSP (program-segment prefix) +00010H and IP (instruction pointer) to be 00000H.

A Near return is used to terminate execution of COM files. A zero word is placed on the top of the stack, and the code at PSP (program-segment prefix) :00000H is an INT 020H instruction. INT 020H is the DOS terminate function. A jump to 00000H or an INT 020H will also terminate the program. I prefer INT 02 OH because it does not depend on the state of the stack.

For .EXE files, none of the COM file methods work. INT 020H assumes that CS=PSP (code segment = programsegment prefix) because the original DOS, developed by Tim Patterson at Seattle Computer Products, supported only COM files. To terminate an .EXE file, you have to transfer control to the INT 020H instruction in the programsegment prefix with CS=PSP (code segment = program-segment prefix). One common method is to push the initial data segment value and a 0 on the stack and do a Far return to terminate.

Listing 1: Tfe program shows the layout

of the program-segment prefix.

;PROGRAM SEGMENT PREFIX

2 DUP(?) ;int20

DB

TOP_OF_MEMORY

DW

?

DB

? ;ioctl

DB

5 DUPI?) ;dos_imp

TERMINATE

DD

7

CTRL_BREAK

DD

?

CRlTICAL_ERROR

DD

7

DB

22 DUPI?) ;used by dos

ENVIRONMENT

DW

?

DB

46 DUP(?) ;used by dos

FORMATTED_J>iREA_l

DB

16 DUPI?)

FORMATTED_AREA_2

DB

16 DUPI?)

DB

4 DUPI?)

UNFORMATTED^REA

DB

128 DUPI?)

Because the stack may not be in the desired state, I prefer to store the initial data segment value and a 0 in a double word and to jump indirect through this double word to terminate.

Program Walkthrough

Listing 2, MAKEBATASM, shows a program that is executed with two parameters: an output filename and a search filename. The program creates a batch file with the output filename and writes a line in for each file that meets the search criteria. Each line has the form

%1 filename

For example, if we enter

MAKEBAT ALLASM.BAT *ASM

this would create a batch file called ALLASM.BAT that might contain the lines

%1 MAKEBATASM %1 SEARCH.ASM

Entering the command ALLASM TYPE would cause each ASM file to be typed in turn.

programming conventions and Comments

Like most programmers, I follow certain rules to make my programs more understandable and maintainable. These rules are my own and I do not contend that everyone else should use them, but I do feel that each programmer should develop his or her own conventions. You are welcome to adopt or adapt mine as you see fit. You may already

have noticed one convention I use regarding hexadecimal numbers—I use leading zeroes so that word values are always five digits and byte values are always three digits.

A semicolon (;) indicates the beginning of a comment. A comment continues to the end of a line. In my programs the characters after the ; indicate the level of comment. The highest level begins ;=======. Major comments

begin ;******* and minor comments

start with ; . I don't generally

make remarks on individual lines of code because the scope of such comments is usually too limited. I precede groups of lines with a minor comment concerning their function. Major comments precede groups of minor comments.

Program Structure

The 8088's assembly language is strongly typed. Each named item, data, or label has a type, and the assembly language will not let you misuse the item, data, or label. If you declare a variable to be a byte, the assembly language will not let you move that value into a word register. If you declare a label to be a Near procedure, the assembly language will not let you make a Far call to that label. You help the assembly language make these decisions by declaring data before its use.

There are two major classes of declarations—those that reserve memory and those that do not. I place definitions that do not reserve memory at the top of my programs.

140 • BYTE Guide to the IBM PC • Fall 1984

ASSEMBLY LANGUAGE

Listing 2:

This program creates a batch file and is executed with two parameters—an

output filename and a search filename.

-STRUCTURES

p|i c rnMTDAi uin,rt/

FCB

STRUC

DRIVE_NUMBER DB ?

FILE_NAME DB 8 DUP(?)

FILE_EXTENSION DB 3 DUP(?)

CURRENT.

.BLOCK DW ?

REC_SIZE

DW ?

FILE_SIZE_L0 DW ?

FILE_SIZE_HI DW ?

FILE_DATE DW ?

DB 10 DUP(?)

CURRENT.

_REC DB ?

RANDOM.

_REC_LO DW ?

RANDOM.

_REC_HI DW ?

FCB

ENDS

-PROGRAM SFGMFNT PRFFIX

PSP

SEGMENT AT 0

INCLUDE PSP INC

PSP

ENDS

ccpr, CFGMFNT

SSEG

SEGMENT PARA STACK STCK'

DW 256 DUP (?)

SSEG

ENDS

ncFG SFGMFNT

DSEG

1— L^lJCVJ •JU-.\JIV\ i—.1 1 I

SEGMENT 'DATA

- FILE CONTROL BLOCKS

FCBOUT

FCB <>

FCBRES

FCB <>

FCBSEA

FCB <>

-ERROR MESSAGES

MSGCRE

DB UNABLE TO CREATE THE OUTPUT FILE.'.OODH.OOAH.'S'

MSGWRI

DB 'ERROR DURING WRITE TO THE OUTPUT FILE.'.OODH.OOAH.'S'

-OUTPUT LINE TEMPLATE

OUTLINE

DB %1 ?:????????.???'.00DH.00AH

nrMIRI PWAPn FnP RFTIIRN]

RETURN

UUUDLLWUKU rUR I\C1U1\1N

LABEL DWORD

RET1P

DW 0

RETCS

DW ?

-SEARCH FUNCTION. 01IH FIRST TIME THEN 012H.

VARFUN

DB 01IH

DSEG

ENDS

-C^FG SFGMFNT

CSEG

SEGMENT 'CODE'

■ DDi^fCTM I Dec

* rKULLUUKLj

ASSUME CS:CSEG.DS:DSEG.ES:DSEG.SS:SSEC

TRAIL

PROC NEAR

TRAILL

LABEL NEAR

CMP BYTE PTR ES:|DIH-I|;

|NE TRAILX

DEC Dl

IMP TRAILL

TRAILX

LABEL NEAR

RET

TRAIL

ENDP

■ MAIM DDr\l"V\KA

• MAUN rKUvjKAIVl

ASSUME CS:CSEG.DS:PSP,ES:PSP,SS:SSEG

CONDSEG

DW DSEG

PWTRV-PniWT

IP

HIN 1 IMrUII"! 1

LABEL NEAR

•INITIAL AND PSP PROCESSING

-ES = DSEG

MOV ES.CONDSEG

ASSUME ES:DSEG

-FORM DOUBLEWORD FOR TERMINATE

MOV RETCS.DS

MAKEBAT begins with the definition of FCB, a structure that documents the layout of a file-control block. Later, the fields in this definition will allow easy access to quantities such as the REC_SIZE within a particular FCB. The definition starts with the STRUC statement and ends with the ENDS statement. DB and DW stand for define byte and define word. DUP is used to specify a repeating value. A question mark (?) means there is no default value.

The information I need from the command line is stored in the program segment prefix. All segments start with the SEGMENT statement and end with an ENDS statement. The INCLUDE statement brings in the PSP.INC file that was listed earlier. Declaring the segment to be AT 0 tricks the linker into not reserving any memory for this segment in the .EXE file.

The SSEG SEGMENT declares the amount of stack for the program. If there is no stack segment declaration, the linker will generate an error message. This message is really a warning because a stack is still created and usually no harm is done.

The DSEG SEGMENT declares all of the variables. Some variables, such as MSGCRE, have initial values. FCBOUT, FCBRES. and FCBSEA use the FCB definition. The empty angle brackets indicate that none of the fields are to be given initial values different from the defaults in the definition. I list my variables alphabetically so they are easier to find.

The first statement in the CSEG SEGMENT is an ASSUME. This promises the assembly language that each segment register listed will point to the logical segment named after that register. This information will help the assembly language generate segment-prefix overrides where appropriate.

For the same reason that I declare all data before code, I declare procedures before the main code. This should be familiar to Pascal programmers. In this program there is only one procedure, TRAIL. TRAIL is a Near procedure that decrements the destination index, while the byte before the destination index is the blank character. This is used in the main program to remove trailing blanks from the output line. Note the type override. BYTE PTR, in the compare

text continued on page 144

Fall 1984 • BYTE Guide to the IBM PC

141

Circle 39 on inquiry card.

:'"

A

BEST FRIENDS

CF&A is the "best friend" your computerterminal will ever have. Whether it's a specialized desk for your IBM or Apple Personal Computer, a stand for Qume, NEC, Diablo, T.I. and a host of other printers, or a Classic Series Desk in a wide range of sizes and configurations, we have the perfect companion for your personal or business computer system. In addition, our DR Series offers desk height RETMA rack mount enclosures, aseitherfreestanding modules or integrated into the desk. Remember Computer Furniture and Accessories . . . Quality, features and style to bark about at prices that won't make you howl.

CF*A

Computer Furniture and

Accessories, Inc.

515 West 132nd Street

Gardena, CA 90248

(213)327-7710

ASSEMBLY LANGUAGE

■GET DRIVE.FILENAME AND EXTENSION OF OUTPUT FILE MOV CX.ISIZE DRIVE_NUMBER| + (SIZE FILE_NAME) + (SIZE

FILE_EXTENSION| MOV SIOFFSET FORMATTED^REA_l

MOV DIOFFSET FCBOUT

REP MOVSB

— GET DRIVE.FILENAME AND EXTENSION OF SEARCH CRITERIA

MOV CX.ISIZE DRIVE_NUMBER) + (SIZE FILE_NAME| + (SIZE

FlLE_EXTENSION)

MOV SIOFFSET FORMATTED^REA_2

MOV DIOFFSET FCBSEA

REP MOVSB DS = DSEG

MOV DS.CONDSEG

ASSUME DS:DSEG • • • CREATE THE OUTPUT FILE

CREATED

NEXT

MOV

MOV

INT

OR

|Z

- FAILED MOV MOV. INT IMP

- SUCCESS LABEL MOV MOV MOV MOV

AH.0I6H

DX.OFFSET FCBOUT

021H

AL.AL

CREATED

AH,009 H

DXOFFSET MSGCRE 021H EXIT

NEAR

FCBOUT.REC_SIZE,I

FCBOUT.CURRENT_REC,0

FCBOUT.RAN DOM_REC_LO,0

FCBOUT.RANDOM_REC_HI,0 SEARCH FOR FILENAMES LABEL NEAR

SET DISK TRANSFER ADDRESS FOR RESULT OF SEARCH MOV AH.OIAH

MOV DXOFFSET FCBRES

INT 021H

PERFORM THE SEARCH

MOV AHVARFUN

MOV DX.OFFSET FCBSEA

INT 021H

OR AL.AL

|NZ DONE

••BUILD OUTLINE FROM RESULT — %\ '

DIOFFSET OUTLINE AL,'%'

al;

al;

.NUMBER

MOV

MOV

STOSB

MOV

STOSB

MOV

STOSB

DRIVE & '

MOV*

ADD

STOSB

MOV

STOSB

FILENAME & V

MOVE ENTIRE FILENAME

MOV CX,(SIZE FILE_NAME(

MOV SIOFFSET FCBRES.FILE_NAME

REP MOVSB

REMOVE TRAILING BLANKS

CALL TRAIL

AL.FCBRES.DRIVE_ AL.'®'

AL,':

MOV STOSB

AL,'.'

142

BYTE Guide to the IBM PC • Fall 1984

Circle 127 for Dealer inquiries. Circle 128 for End-User inquiries. -»

andOPTOMUX

•

•

(Industrial Control has never been Easier!)

i

WK

Opto 22, an IBM-PC Value Added Dealer, combines OPTOMUX and the IBM-PC to provide a powerful general purpose industrial control or data acquisition system. Optically isolated analog and digital I/O modules plug into a variety of mounting racks which communicate to the IBM-PC over a simple pair of twisted wires.

Opto 22 provides the software to program the PC in a high level language, commanding OPTOMUX to perform: • Process Control ■ Energy Management ■ Machine Control ■ DataAcquisitionoranycombinationofanalogordigitalcontrol.

Our application engineers are ready to answer any questions you may have regarding the use of the IBM-PC and OPTOMUX. Call us at 1-800-854-8851.'

15461 Springdale Street ■ Huntington Beach ■ California ■ (714) 891-5861

-Jv

■■Kr

' In California use our direct line.

ASSEMBLY LANGUAGE

statement. This override is necessary because the operand is anonymous. An anonymous reference is composed only of registers and constants. The assembly language would not know the type of this operand without the type override. The assembly language knows which of the three types of return to generate by the type of the procedure. The main program follows TRAIL. Notice that the ASSUME statement prior to the main code reflects the conditions at the start of execution for an .EXE file. The label IP (instruction pointer) is used on the ENDS statement at the end of the program to indicate where to begin execution. The first statement executed is

MOV ES.CONDSEG

Because CONDSEG is declared in the CSEG segment, the assembly language knows that this statement requires a segment-prefix override for the code segment. If it were not for the ASSUME statement, the line would have to be coded

MOV ES,CS:CONDSEG

A more common way of coding this operation is

MOV AX.DSEG MOV ES.AX

I prefer my method because no free register is needed. Constants cannot be moved directly into the segment registers because of their location in the BIU. Note that immediately after this statement there is an ASSUME to inform the assembly language that the extra segment is now associated with the logical segment DSEG.

String Operations

The filenames from the command line are moved from the program-segment prefix into the FCBs in DSEG with the string operation REP MOVSB (move string byte). The source index and destination index point to the source and destination. The REP prefix means that MOVSB will be executed CX register times. Because there is no segment-prefix override, CX register bytes will be moved from DS:SI (data segmentsource index) to ES:DI (extra segmentdestination index). The count register is set to a constant computed

(continued)

■ EXTENSION & CARRIAGE RETURN & LINE FEED

- MOVE ENTIRE FILE EXTENSION MOV CX.IS1ZE FlLE_EXTENSION|

MOV SIOFFSET FCBRES,FILE_EXTENSION

REP MOVSB

- REMOVE TRAILING BLANKS CALL TRAIL

-CARRIAGE RETURN

MOV ALOODH

STOSB -LINE FEED

MOV AL.OOAH

STOSB

■ WRITE OUTPUT RECORD

- SET DISK TRANSFER ADDRESS FOR WRITE MOVE AH,01 AH

MOV DX.OFFSET OUTLINE

INT 02IH

MOV

AH.028H

MOV

CX.DI

SUB

CXOFFSET OUTLINE

MOV

DXOFFSET FCBOUT

INT

02IH

OR

AL.AL

|Z

WRITTEN

MOV

AH.009H

MOV

DX.OFFSET MSGWRI

INT

02IH

IMP

DONE

; SUCCESS

WRITTEN LABEL

NEAR

MOV

VARFUN.0I2H

IMP

NEXT

: SEARCH

S COMPLETE

DONE LABEL

NEAR

MOV

AH.010H

MOV

DX.OFFSET FCBOUT

INT

02IH

EXIT LABEL

NEAR

IMP

RETURN

CSEG ENDS

ENDS

IP

Table 1

The execution unit's registers and their uses.

Register

Operations

AX

word multiply, word divide, word I/O

AL

byte multiply, byte divide, byte I/O translate, decimal arithmetic

AH

byte multiply, byte divide

BX

translate

CX

string operations, loops

CL

variable shift and rotate

DX

word multiply, word divide, indirect I/O

SP

stack operations

SI

string operations

DI

string operations

144 • BYTE Guide to the IBM PC • Fall 1984

adds VISION to your PC

20/20 Vision for $495.

Quick and versatile, PC-EYE converts your IBM PC or PC/XT into a highperformance image processing system. It improves productivity through better communications. $495 for PCEYE will allow you to capture any object that can be viewed with a standard El A RS-170 compatible video camera. The image can then be displayed, stored, processed, printed, or remotely transmitted. High resolution and real-time display interaction allow simple adjustment of light, focus, or object position for superb quality pictures.

Adds computer picture power for...

■ Graphic Presentations

■ Personal Teleconferencing

■ Document/Report Generation

■ Surveillance/Security

■ Measurement and Inspection

■ Thermography

Uses are so varied that Chorus offers software developers the chance to promote their products in our PC-EYE Catalog. Special awards will be given periodically for the software judged most unique or of greatest interest.

Software makes it happen

Utility software is included with menu driven support for various graphics adaptors and printers. This support includes interactive control of image borders, white and black level, and image location within the borders. The user can direct input to

"Trademark lor CHORUS DATA SYSTEMS' family of video capture products.

4, and 16 levels standard; 64

main memory or the graphics adaptor memory; compare images; and store images or set-up parameters on disc.

Software application packages soon to include PC-EYE support are: digital paint and drawing, slide generation, word processing, communications, and data base management.

Compare our specifications:

Input: Any El A RS-170 (Monochrome or RGB) video source Spatial Resolution: Up to 640 x 512 pixels

Intensity Range: 2, (or pseudo-colors) levels optional Capture Speed:

.33 seconds for a 640 x 400 x 16 level image

.1 second for a 320 x 200 x 4 level image

.6 seconds for a 640 x 400 x 64 level image

input Channels: Four

video plus external

trigger

I/O Slots: 1 IBM PC or

PC/XT compatible

Get started with the

CHORUS family of products

We offer a selection of cameras, accessory kits, and compatible graphic adaptors. For our price/catalog and further details, write,

or call 1-800 OCHORUS or 1-(603) 424-2900

* The B&W pictures are taken with a 35mm SLR camera. The pictures were captured with an RCA TC 1005 video camera on an IBM XT and sent to the monitor with a Tecmar Graphics Master" graphics adapter in the 640 x 400 x 16 level mode via its composite output.

CHORUS

Chorus Data Systems, Inc., 6 Continental Blvd., P.O. Box 370, Merrimack, New Hampshire 03054

Circle 33 on inquiry card. Fall 1984 • BYTE Guide to the IBM PC • 145

While some disks lose

Maxell

A lifetime warranty. And manufacturing standards that make it almost unnecessary.

Consider this: Every time you take your disk for a little spin, you expose it to drive heat that can sidetrack data. Worse, take it to the point of no return. Maxell's Gold Standard jacket construction defies heat of 140°E And keeps your information on track.

And Maxell runs clean. A unique process impregnates lubricants throughout the oxide layer. Extending media and head life. How good is Gold?

their way in the torrid zone of drive heat, guarantees safe passage. nm*®u

Maxell's the disk that many drive manu facturers trust to put new equipment through its paces. It's that bug-free. So you can drive a bargain. But in accelerated tests, Maxell was an industry leader in error-free performance and durability. Proving that if you can't stand the heat you don't stand a chance.

maxell

IT'S WORTH IT

II Corporation of America, 60 Oxford Drive, Moonachie, N.J. 07074 201-440-8020

146

BYTE Guide to the IBM PC • Fall 1984

Circle 106 on inquiry card.

ASSEMBLY LANGUAGE

Listing 3

An assembly-language routine for searching directories from BASIC.

-STRUCTURES

■ _ c

LE CONTROL BLOCK

, r

FCB

STRUC

DRIVE_NUMBER

DB ?

FILE_NAME

DB 8 DUP(?)

FILE_EXTENSION

DB 3 DUP(?I

CURRENT.

_BLOCK

DW ?

REC_SIZE

DW ?

FILE_SIZE

_LO

DW ?

FILE_SIZE

_HI

DW ?

FILE_DATE

DW ?

DB 10 DUP(?|

CURRENT.

_REC

DB ?

RANDOM.

_REC_LO

DW ?

RANDOM.

_REC_HI

DW ?

FCB

ENDS

-STRIirTIIRF cr\D ccacru dadamctcec

SEARCHP

STRUC

DW

? :BP

DD

? :RETURN ADDRESS

REQUEST

DW

7

ANSWER

DW

?

SEARCHP

ENDS

-ronF SFr.MFNT

■ ■*•*•**•

• BASIC SEGMENT

BASIC

SEGMENT

PARA

ASSUME

■ rccc ctrrs

CS:BASIC,DS:BASIC.ES:BASIC,SS:BASIC

CSEG

SEGMENR PARA

ASSUME

CS:SEG

•BLOAD HEADER INFORMATION

DB

OFDH

BLOAD MARKER

DW

O0OOOH

OFFSET

DW

O0OOOH

SEGMENT

DW

FINISH-START

LENGTH

START

EQU

S

• EXECUTION ENTRY POINT

IMP

NEAR FTR SEARCH

;

•DATA

FCBRES

FCB

< >

FCBSEA

FCB

< >

FCBTMP

FCB

< >

VARFUN

DB

7

• CS REGISTER AD|UST PROCEDURE

TORRFrTS FOR RFI rtrATION] TO RIOAD OFF^FT

^UI\I\LL 1 J rUft l\Ql_k_'^rtl IW1N 1W DLAJAU Urr JL.I

-USES TWO PUSHES AND A FAR RETURN TO CHANGE CS:IP

ADIUST

PROC

NEAR

- USE DUMMY NEAR CALL AND POP TO GET CURRENT OFFSET INTO AX

CALL

ADIUSTL

ADIUSTL

PROC

NEAR

ADJUSTL

ENDP

POP

AX

QIJRTPAPT DC a i acccct m nrTCDk/i imc di r^s r\ accctt

SUB

AX.OFFSET ADIUSTL

MOV

BX.AX

-CONVERT TO PARAGRAPHS AND COMPUTED ADIUSTED CS IN CX

SHR

AX.I

SHR

AX.l

SHR

AX.I

SHR

AX.I

MOV

CX.CS

ADD

CX.AX

-COMPUTED ADIUSTED RETURN OFFSET IN AX

POP

AX

SUB

AX.BX

-PUSH NEW CS:OFFSET AND DO FAR RETURN

PUSH

CX

PUSH

AX

by the assembly language as the sum of the sizes of three fields within FCB. The word "offset" in the assignment of the source index and destination index values tells the assembly language to code the offset of that variable into its segment (rather than the content). After the two filenames are moved, I no longer need a segment register pointing at the program-segment prefix so I set the data segment to point to DSEG and inform the assembly language with an ASSUME.

DOS Functions

To reach DOS functions, place a function number in the AH register and do an INT 021H. Additional information is passed in other registers and varies by function. My first DOS function is to create the output file. This is function 016H and requires that the DX register point to the FCB. The AL register contains an error code that will be 0 if the file was created.

If there is an error 1 use function 009H to print my error message. The DX register points to the string to be printed and must end with a dollar sign. If there is no error I set the value of certain fields not initialized by an open or create. I also set the output record size to 1. The default record size is 128. Note the use of the FCB structure in assigning these values.

The disk-transfer address (DTA) is set by DOS function 01AH with the data register set to its value. The disk-transfer address is where subsequent reads or writes will take place. It is also the address at which directory searches place their result. The DOS function for the initial directory search request is different from the one for the continuation search request. The variable VARFUN has the value 011H the first time through the loop and the value 012 H thereafter.

The output line is pieced together from the result of the directory search. The procedure TRAIL is used to eliminate unwanted trailing blanks. The disk transfer address for writing the line is set and the number of bytes in the output line is computed. The line is written using DOS function 028H. For this function the CX register is the number of records and the data register is the file control block. In this case the number of records is the line length

(continued)

Fall 1984 • BYTE Guide to the IBM PC

147

Circle 53 on inquiry card.

Operations Research

Software Systems

for the IBM-PC

• Large Capacity • Efficient

Our software systems have the extensive options, large capacities, speed and accuracy required for large-scale commercial applications without sacrificing the user-friendly features that are essential for general-purpose use.

LP88 — Linear Programming.

Solves linear programs with as many as 255 constrains and 2255 variables using the Revised Simplex Algorithm. $88.00.

BLP88 — Linear Programming with Bounded Variables. Solves linear programs with simple upper and lower bounds without adding such bounds to the constraint set. $88.00.

DLP88 - Dual Linear Programming. Converts linear programs to dual form and solves the dual problems. $88.00.

TSA88 — Transportation Simplex Algorithm. Solves transportation problems with up to 510 sources and/or sinks using the Transportation Simplex Algorithm. $88.00.

MILP88 - Mixed Integer Linear Programming. Solves mixed integer linear programs with as many as 45 integer variables using the "branch and bound" method. $88.00.

SLP88/STSA88 - Student/ Demonstration Systems. Small-scale student versions of LP88 and TSA88 supplied with a license to copy and use on up to 10 PCs. $88.00.

LPX88/BLPX88/DLPX88 Product-Form-of-the-Inverse Codes.

Product-form-of-the-inverse versions of LP88, BLP88 and DLP88 for use on large problems with sparse arrays. $88.00.

EASTERN

SOFTWARE

PRODUCTS INC.

P.O. Box 15328

Alexandria, Va 22309

(703) 360-6942

ASSEMBLY LANGUAGE

ADIUSTF PROC

FAR RET

ADIUSTF ENDP

ADJUST ENDP

: SEARCH

= = = = = = = SEARCH PROCEDURE

SEARCH PROC FAR

I GET FRAME POINTER

PUSH BP

MOV BP.SP

: SAVE REGISTERS

PUSHF

MORE

SUCCESS

PUSH

PUSH

PUSH

CLD -ADJUST CS

CALL -SET ES = CS

PUSH

POP

ASSUME

AX BX CX

AD|UST

CS ES ES:CSEG

-PARSE FILENAME INTO TEMPORARY FCB

MOV MOV MOV MOV MOV INT -SET DS = CS PUSH POP ASSUME

AH.029H

AL.000H

SI,REQUEST|BP|

SI.ISIHII

DIOFFSET FCBTMP

02IH

CS DS DS.CSEG

- COMPARE FCBTMP TO BCBSEA

MOV CX,(S1ZE DRIVE_NUMBER) + (SIZE FILE_NAME|

FILE_EXTENSION) MOV Sl.OFFSET FCBTMP

MOV DIOFFSET FCBSEA

REP CMPSB

|Z MORE

- NEW REQUEST FCB

(SIZE

MOV

MOV MOV REP MOV LABEL -PERFORM SEARCH

CX,(SIZE DRIVE_NUMBER) + (SIZE FILE__NAME| + (SIZE

FILE_EXTENSION)

SIOFFSET FCBTMP

DIOFFSET FCBSEA

MOVSB

VARFUN.OIIH

NEAR

MOV

MOV

INT

MOV

MOV

INT

MOV

AH.01AH

DXOFFSET FCBRES

02IH

AH.VARFUN

DXOFFSET FCBSEA

021H

VARFUN.012H

-TEST FOR SUCCESS

OR AL.AL

JZ SUCCESS

-FAILED BLANK RESULT

MOV VARFUN.OIIH

MOV al; '

MOV CX,(SIZE DR1VE_NUMBER|

FILE_EXTENSION)

MOV DIOFFSET FCBRES

REP STOSB

LABEL NEAR

- RESTORE ES

PUSH SS

+ (SIZE FILE_NAME| + (SIZE

148

BYTE Guide to the IBM PC • Fall 1984

ASSEMBLY LANGUAGE

SEARCH FINISH

CSEG BASIC

POP ES

ASSUME ES:BASIC

- RESULT FILENAME INTO ANSWERS

MOV CX,(SIZE DR1VE_NUMBER) + (SIZE FILE_NAME) + (SIZE

FILE_EXTENSION) MOV SIOFFSET FCBRES

MOV DI,ANSER|BP]

MOV DI,ES:|D1||I|

REP MOVSB

- RESTORE DS PUSH SS POP DS ASSUME DS:BASIC

- RESTORE REGISTERS POP CX POP BX POP AX POPF

-RESTORE BP AND RETURN TO BASIC

POP BP

RET (SIZE SEARCH-6)

EN DP • BLOAD TRAILER INFORMATION

EQU

DB

ENDS

ENDS

END

$ 01AH

because the record size is set to 1. The program loops until it can't find any more directory entries. It then closes the output file with DOS function 010H.

Writing an entire program in assembly language is time consuming. Often it is more practical to write the program in BASIC and make assembly-language calls where necessary.

Routine Walkthrough

Listing 3. SEARCH.ASM, shows an assembly language routine for searching directories from BASIC. This procedure uses a relocation technique that is superior to the methods advocated in the IBM BASIC manual. It allows the user to BLOAD the assembly-language routine anywhere in memory. Hardcoded DEFSEG values are not used. The routine is not a POKE into memory from values in a DATA statement. This technique has two components: BLOAD and the ADJUST procedure.

The BLOAD prefix makes the routine look like a BLOAD file to BASIC after it has been converted from an .EXE file to a .COM-style file. This conversion is necessary because .EXE files have relocation information in them, while COM files are simply memory images.

The ADJUST procedure adjusts the

code segment so that offsets compiled into the routine under the assumption that the code segment points to CSEG are maintained.

SEARCH begins with the FCB definition seen in MAKEBAT SEARCHP is a structure that represents the layout of the stack after SEARCH has been called and the base pointer has been pushed. The components of SEARCHP will be used to get the parameter addresses off of the stack.

The BASIC segment represents BASIC. During the execution of BASIC, all segment registers point to the programsegment prefix of BASIC. This is reflected in the ASSUME statement.

Because SEARCH.ASM must be converted to a COM file to be loaded, there can be only one logical segment. SEARCH will be loaded inside of BASIC, so I have nested the CSEG segment within the BASIC segment. The distinction between the BASIC and CSEG segments is important. All offsets assembled into the program will be from the beginning of CSEG. An unknown number of bytes will be between the beginning of the BASIC and CSEG segments at run time.

The first lines in CSEG define the 7 bytes of data that will make SEARCH

The adjusted code segment value is moved to the data segment. Now all addresses refer to variables in CSEG. The temporary FCB is compared to the request FCB. 1/ they differ, this is a new request.

look like a BLOAD file to BASIC. A jump to SEARCH follows this prefix. This is done so the offset of the entry point is always known. Because of the one segment restriction, the data definitions also are made in CSEG.

ADJUST recomputes the code segment to adjust for the unknown number of bytes between the BASIC and CSEG segment. Offsets for variables within CSEG will be correct after this adjustment. The ADJUST procedure makes a Near call to a label within itself to get the offset from BASIC to that label. The offset from CSEG to the label is known, so the difference can be computed. This value is used to form a CS:IP (code segment:instruction pointer) for a Far return where the code segment points to CSEG. This procedure is not necessary unless there are references to data within CSEG.

SEARCH

The first two statements executed in the procedure are:

PUSH MOV

BP

BP.SP

This preserves the BP register and sets what is known as the frame pointer. The frame pointer is used to access the parameter addresses that BASIC pushed onto the stack before calling SEARCH. SEARCH then calls ADJUST. The CLD (cleardown) instruction is also issued so that all string operations will proceed from left to right.

The adjusted code segment value is moved to the extra-segment register so

(continued)

Fall 1984 • BYTE Guide to the IBM PC • 149

ASSEMBLY LANGUAGE

Listing 4: SEARCH. BAS.

1000 REM RESERVE MEMORY

1010 CLEAR.&H8000

1020 REM LOAD AT PARAGRAPH + 7

1030 SEARCH% = &H8000 + 7

1040 BLOAD "SEARCH. BLO",SEARCH %

1050 REM REQUEST STRING AND TERMINATOR

1060 REQUESTS= '•.ASM' + CHRS(13)

1070 REM RESERVE SPACE FOR ANSWER

1080 ANSWERS = SPACE$(I2)

1090 REM CALL SEARCH

1 100 CALL SEARCH%(ANSWER$,REQUESTS)

1110 REM IF ANSWER IS BLANK THEN DONE

1120 IF ANSWER$ = SPACE$(12) THEN 1190

1 130 REM MAP DRIVE NUMBER FROM 0-3 TO A-D

1 140 DRIVE$ = CHRS(ASCK(LEFT$(ANSWER$,I|| + ASC("@"|)

1150 FILENAME$ = MID$(ANSWERS,2,8)

1160 EXTENSIONS = MIDS(ANSWER$, 10,31

1 170 PRINT DRIVES+ ': " + FILENAMES+". ' + EXTENS10NS

I 180 GOTO 1100

1190 END

that the destination index will point within CSEG. SI will still point within BASIC. SEARCH then takes the address of a 3-byte string descriptor from the

stack using the structure SEARCHP and the frame pointer. The first byte is the length of the string followed by the address of the string within the BASIC seg

Order your personalized computer paper.. .NOW!

Printed with your name, business, club, anything. Paper is white, 20# bond. Choice of 5 ink colors. Fits all printers using 9'/2 x 11 continuous paper (8/2 x 1] when detached). Limited offer of low prices, and special offer.

Satisfaction Guaranteed—

full refund if not satisfied by returning unused paper.

Name

Street

City State Zip

Personalize as follows: Leave space between words.

(For more than one order use separate sheet for 30 character personalization)

1 1 I I I I 1 I I l| II 1 I I 1 1 I 1 I I 1 I I I 1 I 1 Check ink color: Red D Blue □ Gray □ Brown □ Canary □ Green □ SHIPPING CHARGES: If Order is: Shipping Charge is:

under $50.00 $6.00

$50.01 to $80.00 $8.00

over $80.00 $9.00

500 sheets at $19.95$ Enclose check or money order. No COD'S. Texas

1000 sheets at $29.95-$ residents add S!/i% sales tax. VISA and MasterCard

2000 sheets at $43.95 $ accepted. Send number, signature, and expiration

Shipping, handling $ date. Allow three weeks for delivery.

Mail order to: Personalized Computer Paper/Dept. B

Total order $ P. O. Box 39716/San Antonio, Texas 78218/

512-822-8712

The CLEAR statement reserves memory for the assembly-language routine.

ment. The address of the string is used with the DOS parse filename function to create an FCB. No error checking is performed.

The adjusted code segment value is moved to the data segment. Now all addresses refer to variables in CSEG. The temporary FCB is compared to the request FCB. If they differ, this is a new request. If they are the same, this is a continuation request. If the search is unsuccessful, the resulting FCB is blanked.

The original extra segment value is retrieved from the stack so the result can be moved to the answer string in the BASIC segment. Again, no error checking is performed. The answer string must be at least 12 characters long and must not be a literal.

The original data segment value and registers are restored as well as the base pointer. The RETURN statement also pops off the 4 bytes of parameter addresses.

The steps in assembling this routine are

MASM SEARCH;

LINK SEARCH;

EXE2BIN SEARCH SEARCH.BLO

Use of this routine is illustrated in listing 4, SEARCH.BAS. The CLEAR statement is required to reserve memory for the assembly-language routine. The SEARCH routine must be BLOADed 7 bytes beyond a paragraph boundary because of the size of the BLOAD prefix. Notice that the program reserves the string space for ANSWERS by using SPACE$(12) instead of a literal. ■

REFERENCES

1. Bradley, David J. Assembly language Programming for the IBM Personal Computer. Englewood Cliffs, New lersey: Prentice-Hall, 1984.

2. IBM Technical Reference. Boca Raton. Florida: IBM Corporation, 1981.

3. Intel iAPX 86.88 User's Manual. Santa Clara, California: Intel Corporation, 1981.

4. Intel MCS-86® Macro Assembly language Reference Manual. Santa Clara, California: Intel Corporation, 1979.

150

BYTE Guide to the IBM PC • Fall 1984

BMDPC STATISTICAL SOFTWARE

CONFIDENCE AND CONVENIENCE

BMDP' is Data Analysis with Confidence. Researchers and statisticians know quality research demands quality analysis. That's why they rely on BMDP Statistical Software for all their data analysis needs.

BMDP is a comprehensive library of dependable statistical programs. You 3an use BMDP to perform many types of analysis. Capabilities of BMDP range from simple data display and description to the most advanced statistical techniques. In fact, BMDP provides the widest range of statistical approaches required to effectively analyze your research data:

• Data Description

• Data in Groups

• Plots and Histograms

• Frequency Tables

• Missing Values

• Nonlinear Regression

• Analysis of Variance and Covariance

• Regression

• Multivariate Analysis

• Nonparametric Analysis

• Cluster Analysis

• Survival Analysis

• Time Series

Powerful statistical and computing Drocedures make BMDP especially

appealing to the experienced data analyst However, you need not be a seasoned statistician or computer expert to perform data analysis with confidence. English-based instructions make BMDP easy to learn and easy to

As the acknowledged leader in statistical methodology, BMDP has become the standard by which others measure their performance. The BMDP programs are known for superior technology and state-of-the-art methodology. BMDP is committed to developing new statistical methods for data analysis, and continues to lead the way in providing superior statistical software.

BMDP is Data Analysis with Convenience. With our latest advance, you can even perform complex statistical analyses without a large computer. BMDPC offers you both the confidence of BMDP and the convenience of using your own PC.

The same programs that have been trusted for more than 20 years by researchers worldwide are now available for the IBM Personal Computer and compatibles.

Best of all, the BMDPC programs are available in low-cost subsets. So, you can pick and choose programs for your PC. Pick the types of analyses you use most, and choose from our broad selection of statistical programs.

Put the statistical software of choice on your IBM "PC*, so you can perform data analysis with confidence and convenience.

Hardware Requirements

Minimum requirements for running BMDP on the PC include the following:

• a 5 megabyte hard disk

• the capacity for double-sided, double density floppy diskettes

• an 8087 floating point processor

• a PC/DOS 2.0 or later operating system

• 640 kilobytes of memory.

FOR MORE INFORMATION WRITE OR CALL

BMDP Statistical Software

1964 Westwood Blvd., Suite 202 Los Angeles, California 90025 Phone (213) 475-5700

BMDP is a registered trademark of BMDP Statistical Software Circle 22 on inquiry card.

IBM PC' is a registered trademark of International Business Machines Fall 1984 • BYTE Guide to the IBM PC • 151

Compared To

FriendlyWriter FriendlySpeller

A Pencil Is Tough To Operate.

Freedom — 1

Delete, move, copy, 1

■ Catches Mistakes — Checks your spelling H"™" against a 70,000-plus

word, a sentence or a

■ word dictionary, and lets you build your own

dictionary of new

Simple Commands —

User-defined ^r ^W Options — ^r ^

Such as margins, paper f sizes, line spacing and justification.

FriendlyWriter™/ FriendlySpeller™, the word processor and spelling-checker from FriendlySoft is so easy to use it makes writing with a pencil seem difficult.

— 1 Lifetime Warranty

1 ■■ No fine print. If it

I breaks, you get a new

M one.

^ Printer

- Compatibility — ^" Works with more than 65 standard printers.

FriendlyWriter/ FriendlySpeller is the perfect word processing package for home and office. Visit a computer or software dealer near you and ask for a demonstration. If your dealer is not

In about 10 minutes on your IBM® PC, XT or PC Jr, you can learn to write rings around your pencil. And you can check the spelling of more than 70,000 words in another few seconds.

stocking it, let us know.

FriendlyWriter/FriendlySpeller

Only $89.95

Suggested Retail Price

IBM is a registered trademark of International Business Machines.

FriendlySoft, Inc.

3638 WEST PIONEER PARKWAY, ARLINGTON, TEXAS 76013 (812) 227-9378

Price subject to change without notice. FriendlyWriter/FriendlySpeller are trademarks of FriendlySoft, Inc.

COPYRIGHT FRIENDLYSOFT. INC. 1984

152 • BYTE Guide to the IBM PC • Fall 1984

Circle 181 on inquiry card.

"^sffl^^ *w

jra ^r Vj Bb*^

[^HWXXflT^V

(luLBrpon\tmmm

Fall 1984 • BYTE Guide to the IBM PC • 153

LYNX

theUnmouse

by Honeywell

The next time you get the chance, make a side-by-side comparison between an ordinary mouse and the LYNX desktop Trackball. You'll see why we call the LYNX the Unmouse.

We developed the LYNX to be the ultimate cursor control device. Engineered for comfortable operation, fast data output, and total reliability, the LYNX makes the mouse obsolete.

It's attractive, ergonomic housing gives you a comfortable palm rest, three user defined control buttons, and a simple fingertip roll-control for effortless cursor positioning. And the LYNX helps cut back on desk-top clutter with its tiny space-saving size. It fits on the busiest desk-top. Or it can be hand-held and even keyboard and panel mounted for total out-of-the-way convenience.

When it comes to data output speed, the LYNX runs circles around those other devices. Just set the DIP switches for the speed you need, all the way up to 19,200 baud.

And your LYNX is built to last. With its non-contacting optical encoding technology, LYNX withstands over 10,000,000 X or Y axis ball revolutions.

Choose the LYNX that's best for your needs. The standard model works off your computer's RS-232 port, and is an OEM's dream come true. The Smart LYNX

connects between the computer and keyboard, on the IBM®-PC and compatibles, which frees up your RS-232 port for other purposes. And because it requires no software support, the Smart LYNX can be used with any existing software. The Smart LYNX is user programmable from the keyboard.

The user-friendly LYNX is the perfect cursor control device for business and personal computers, CAD/CAM and graphics terminal users.

Find out how much the LYNX can do for your system. OEM's, retail stocking distributors and chain store operations, call or write today for more information.

Disc

Viiii*^

a Honeywell subsidiary

102 East Baker Street, Costa Mesa, California 92626

(714) 979-5300 TWX(910) 595-1987 DiscCSMA

IBM is a registered trademark of International Business Machines Corporation.

154

BYTE Guide to the IBM PC • Fall 1984

Circle 193 for Dealer inquiries. Circle 194 for End-User inquiries.

TECHNICAL AND BUSINESS

GRAPHICS

ON THE IBM PC

A quick look at some spreadsheets and graphics packages in a crowded field

by Jack Bishop

Charts have always been powerful tools for analyzing and selling products. But today's microcomputer graphics programs can make visual aids even more appealing, since they are easy to develop. The popularity of the IBM PC, PC XT, and clones has resulted in the development of even more powerful charting programs for technical and business analysts.

Many spreadsheet programs include graphics routines. Whether you use a spreadsheet for engineering a circuit design or a corporate takeover, you might need the power of a separate charting program. A separate program gives you more flexibility and power, and it often adds fine touches that characterize a professional piece of work. These advantages are often offset by the ease of use of the graphics tied to a spreadsheet package. I would be surprised if any specialized charting pack

age was able to handle all your charting needs, and you might find that buying more than one is not a luxury.

It is hard to tell which charting package is right for you, since no one package seems to meet a wide variety of needs. Here are six of what 1 consider to be the better packages: SuperCalc3, Lotus 1-2-3, GrafTalk, Business Graphics System, DR Graph, and ChartMaster.

To evaluate these programs, I used an IBM PC with 256K bytes and an 8087 chip. This configuration includes a 15-megabyte Falcon hard disk, a ColorPlus graphics card, an Epson MX-80 with Graftrax, and a Sakata 200 monitor. I also used the Hewlett-Packard HP 7470A and Enter Computer Sweet-P plotters.

(continued)

}ack Bishop is a management consultant. He can be reached at Box 311, Evanston, IL 60204.

Fall 1984 • BYTE Guide to the IBM PC

155

GRAPHICS PACKAGES

AT A GLANCE

Name

SuperCalc3

Type

Spreadsheet; menu (of sorts)

Manufacturer

Sorcim

2310 Lundy Ave.

San Jose. CA 95131

Price

$395

Hardware required

IBM PC, IBM PC XT. or clones (Compaq. Eagle PC or 1600. Hyperion, Columbia); two double-sided floppy disks or one double-sided floppy disk and a hard disk; IBM or compatible color/graphics board (optional); IBM graphics dot-matrix printer; Epson MX-80/100 with Graftrax; FX-80/100; RX-80; HP plotters (including 7470A, 7475A); IBM XY/749 plotter; CalComp M84 plotter

Software required

PC-DOS 1.1 or 2.0

Documentation

About 300 pages, spiral bound, with handy bookmark

Audience

Technical and business professionals who need spreadsheet power with extensive charting

Photo 1: SuperCakl screen image of a multiyear bar chart. The screen display gives no hint of the excellent quality of the printed chart.

SuperCalc3

SuperCalc3 began, without the trailing digit, many moons ago, when the world was either Apple or CP/M. Sorcim was one of the first companies to add really impressive features to a microcomputer spreadsheet. On-board HELP commands and extensive formatting of entries (including variable column widths, the dollar sign, commas, debit /credit /parentheses, and percents) contribute to the improved readability and professional character of the SuperCalc3 report.

The graphics capability was another welcome addition. SuperCaIc3 sports all the basic charting routines (line, bar, pie) and a few specialty (high-low and area) charts. It is a single, self-contained product. You never have to leave SuperCalc3 to calculate, view, or print/plot the results.

SuperCalc3 uses a VIEW command to control six different charts for each spreadsheet. This capability is a real sleeper, since keeping track of charts and their source is a potential source of frustration and error. Because one chart can rarely cover all the analysis you need, this capability is even more valuable.

A chart that contains a lot of data allows a spreadsheet to shine. Developing a simple bar chart of the population age distribution is a simple, but surprisingly challenging, test for many products. The data entry and analysis is the sort of thing a spreadsheet cuts its teeth on. For data entry, you can set up SuperCalc3 to move from one cell to the next automatically. I wish more programs had that flexibility.

The VIEW command takes the data cell identities and other basics to develop each chart. I was surprised to find that titles for the charts must be kept in cells in the spreadsheet. I am still not too wild about cluttering up the spreadsheet with a series of extra titles designed for the charts. However, this is a minor inconvenience.

SuperCalc3's on-screen graphics are quite crude and have a decidedly "second-generation" quality. The letters are blocky and the space devoted to the chart is limited. SuperCalc3 provides a clean, undistinguished chart on the screen, but it is nothing to brag about.

Lurking behind this plain facade of on

screen graphics is a much more elegant SuperCalc3. The first indication of this beauty is its ability to select from eight type styles (fonts). The final plotted chart (figure 1) was a pleasant surprise.

This chart is a class act. It illustrates the two levels of titling, automatic legends, a variety of axis scaling, and the other basics. On the chart's field, SuperCalc3 will chart only the symbols or annotate data points with data values, to provide the small touches that help ensure that the message of the chart gets through. Upon close inspection, the chart is even more impressive. SuperCaIc3 does not run the grid lines through the bars; it uses only the blank space between them. This rare feature makes for a particularly clean chart when you are using only a few bars.

Figure 2 is a simple two-line chart, but it illustrates SuperCalc3's power to perform a series of calculations, then chart the results without ever leaving the program. Its ability to space legends along the horizontal axes can be very useful in highlighting specific events, such as mergers or election years.

All in all, SuperCalc3's graphics are surprising. Its operation is essentially flawless, and it is easy to use in producing charts. For many technical and business uses, SuperCalc3 might be the only charting package you'll need.

Figure 1: SuperCak'i charts U.S. population.

U.S. BUSINESS PRODUCTIVITY

Earnings. Fortune 500

1 ™

^ \/V"J

/ V

— ^

L

Figure 2: A SuperCalc3 two-line chart.

156

BYTE Guide to the IBM PC • Fall 1984

GRAPHICS PACKAGES

Lotus 1-2-3

In a short period of time, Lotus 1-2-3 has captured the pocketbooks—and maybe even the hearts—of many microcomputer owners. Popularized by VisiCalc on the Apple, Lotus 1-2-3 brought the spreadsheet to the IBM PC market with some fine touches, such as its use of color, function keys, and its reportprinting capability. The ability to have the spreadsheet integrated with graphics is a strong selling point for the spreadsheet itself.

The Lotus graphics offer multiple fonts for titling and a variety of chart types. The program is comparatively easy to use. However, you must leave Lotus 1-2-3 behind when you enter the print routines, which is somewhat bothersome. Some users will find the separate print routine an advantage, and most will probably not mind switching back and forth, but I like to have a hard copy of the chart in front of me while I continue to develop an analysis.

Lotus 1-2-3 handles a variety of charts, including line, bar, pie, and X-Y, with up to six data series on a single chart (generally more than anyone with good sense will use). The program shines when graphing a large amount of data developed from the spreadsheet. It does a superb job of developing and

Figure 3: lotus mixes symbols and lines.

U.S. SPENDING PRIORITIES

Figure 4: A lotus pie chart.

charting Fortune 500 productivity.

Automatic placement of legends and sizing of titles makes Lotus 1-2-3 even easier to use. The ability to combine symbols with lines can be a substantial advantage for complex charts. While you can use only two fonts on any one chart, this is a modest limitation. Using more than two fonts (or more than four colors) on one chart usually is more for the fun of the creator than for clarity.

The pie chart (figure 4) lacks the ability to emphasize one segment of the pie. Similarly, the ability to distinguish between the segments of the chart is missing. The result is a basic chart with few frills. Including the percentages for each segment is, however, a nice touch. The ability to annotate your chart with the actual data values, plotted in a Lotus line or bar chart is also useful.

Lotus 1-2-3 performs best when you are developing a number of charts for later printing. The quality is excellent, and the range of capabilities is more than enough for most technical uses.

GrafTalk

The operation of GrafTalk begins in a low-key way. The simple white text on a black background obviously was designed to appeal to engineers. This is a far cry, however, from the special charts you can develop with this package. 1 first saw GrafTalk on a Sony and fell in love with its crisp picture. With the addition of new menus, GrafTalk offers an easy-to-use package with extensive charting power.

The menus are an ideal way for us to develop a chart quickly. GrafTalk's menus are a mixed bag, both to me and (I guess) to the developers at the Redding Group. From my standpoint, the person the menus are designed to help (the client in a hurry) is most put off by having to remember a graphics language command (STATUS MENU) to get to the menus. Although it is simple, it is not English. The reason I think the developers have some reservations about menus is their suggestion in the manual that the full features of GrafTalk are not accessible from the menu. In addition, minor glitches in the release version of GrafTalk that I use appear in the menu section. GrafTalk can die in the middle of a chart for no apparent

reason.

(continued)

AT A GLANCE

Name

Lotus 1-2-3

Type

Spreadsheet; menu (of sorts)

Manufacturer

Lotus Development Corp. 161 First St. Cambridge. MA 02142

Price

$495

Hardware required

IBM PC or IBM PC XT; IBM monochrome or color setup; Hercules or other graphics card; IBM printer

Software required

DOS 1.1 or 2.0

Audience

Technical and business professionals who need the power of a spreadsheet with sophisticated charting

Photo 2: You could use a 35 mm picture of the screen version of this productivity chart from lotus 1-2-3 for a formal presentation.

Photo 3; Population distribution as a pie chart is simple and utilitarian with lotus 1-2-3.

Fall 1984 • BYTE Guide to the IBM PC

157

GRAPHICS PACKAGES

AT A GLANCE

Name

GrafTalk

Type

Graphics: menu and/or language

Manufacturer

Redding Group 609 Main St. Ridgefield. CT 06877

Price

S450

Hardware required

IBM PC. IBM PC XT. or any of the following: Compaq, Cannon As-100, Sord 23. Zenith Z-100, SONY SMC-70. DEC Rainbow, Epson QX-10, NEC PC-8801A. North Star Advantage, Otrona Attache, Sanyo MBC-1250. Sord M23, or Televideo 803

Software required

CP/M and MP/M: PC-DOS: other systems as standard above

Documentation

About 200 pages

Audience

Technical and business professionals who want a package moving toward the best of both worlds, menu and language

While the menus are nicely done in general, some rather gaping holes might trap the unwary. You cannot save the chart developed in a menu, nor can you save the commands. As a result, you do not have the use of the menu chart to steady you while you are learning the language. I did find a way to save the data entered from the menu (exit from the menu into the command language, save the data, then jump back into the menu), but all this foolishness is better left to the developers. GrafTalk does not yet support either a log axis or multiple fonts, both of which I was looking forward to seeing along with the new menus.

All these reservations aside, GrafTalk does a decent job with the productivity chart (figure 5). This chart, typical of a GrafTalk product, is clean and utilitarian. You can change both the height and width of the single font in the command language, but in the menu operation you can only rescale each type of character. I have yet to run into a limit on the number of data points, and a colleague regularly uses GrafTalk to chart a year of daily securities prices.

The power of the GrafTalk command language is revealed when the specialty chart arrives on the scene. Intel's sales for 10 years make a pedestrian bar chart—until a pie chart is dropped in the

Figure 5: GrafTalk develops a dean and forceful chart from its new menu.

HI! B 1:3 I'll i|■!:! ■■■. ■: -i 1__^__

Figure 6: GrafTalk bar chart with pie chart.

middle of it to show the distribution of the sales dollar last year (figure 6). You can use the annotation capability to place a small label on the emphasized segment that represents research-anddevelopment spending.

GrafTalk performs at its best for someone who wants to develop a special chart that combines many elements in unique and esoteric ways. While GrafTalk develops the run-of-the-mill chart with few hassles, I find it most useful for really special occasions.

Business Graphics System

Peachtree provides a series of products that are integrated to the extent that they can generate and read files created by each other. Each module is available on a stand-alone basis, and I evaluated the graphics program from this perspective. PeachGraph provides extensive menu operation and a few options that are definitely slanted toward the financial audience. PeachGraph is one of those unique packages whose limitations are balanced by the easy ability to develop charts that are difficult or impossible for its competitors.

The operation of the Business Graphics System is idiosyncratic. The process begins with the development of a LABEL file, which defines the parameters of the chart. You then go back to a main menu, then to a data file to add the data, back to the main menu, then to a display menu to show the chart. Bouncing from one menu to another can be reduced, but not by much, since you must type the name and type of file each time.

Getting beyond this maze, a single screen holds all the options. The operation within the menu takes some getting used to, as a return takes you out of the screen. (The cursor arrows are used to move around the menu, with the Delete key required to erase a command, rather than the more common Backspace key or AUTOERASE command.)

A major limitation in the Business Graphics System is found in the number of data points. With a maximum of 32 data points per series, the business user may feel cramped.

The pie chart (figure 7) approaches the subject uniquely. The legend is split to run down the right and left margins. This leaves the bottom of the chart free

{continued)

158 • BYTE Guide to the IBM PC • Fall

THE CHOICE IS

YOURS HOT OURS.

HR-25 at 23cps or HR-35 at 36cps ?

Twenty-Three or Thirty-Six? It's up to you! Whether you choose the HR-35 at 36 cps and priced at only $1245' or the HR-25 at 23 cps costing less, you're getting the best price/performance ratio of any printers in their class on the market today. And whether you're high or low volume, there's an HR to meet your needs. Such features as the "no mess" daisy wheel, encased in clear plastic, enables print change in seconds.

And,we offer ribbons in a variety of colors

k for those special printing applications.

Add the optional Tractor and Cut Sheet

Feeder and you have a package at a

price that's unbeatable.

Best of all, they're

backed by the Dynax

Optional

Cut Sheet Feeder

»269*

reputation for qual ity and service response. The Choice is Yours!

Optional Tractor *149*

Dynax, Inc.

Manufactured by

arirr: ri

brother

Circle 52 on inquiry card.

DYNAX, INC. OFFICES

•Suggested Retail Price

I HEADQUARTERS 6070 Rickenbacker Rd., City of Commerce. CA 90040 • (213) 727-1227 « ILLINOIS 543 W. Algonquin Rd.. Arlington Heights. IL 60005 • (312) 981-5633

I NEW JERSEY One Madison St., East Rutherford. NJ 07073 • (201) 471-0100 ■ MASSACHUSETTS 400 W. Cummings Park. Suite 5300. Woburn, MA 01801 • (617) 933-8162

I TEXAS 6012 Campus Circle. Suite 250. Irving. TX 75062 • (214) 257-1700 ■ N. CALIFORNIA 1255 Oakmead Parkway. Sunnyvale. CA 94086 • (408) 730-1712

»~iiue m un inquiry cara.

IBM SPECIALS

COMPUTERS

IBM PC-25K 2 Half Hi Drives, Controller, Color or Mono Card & Parallel Interface 2259

IBM 128KXT 3995

TAVA IBM-Like 1 28K 2 Drives, Monitor, Software CALL

Sanyo MBC 555-2 2 Drives...1395

M3X0II5V4 DSDD MD2 Box 1 0 ...33

Brother HR-15 15 cps 419

HR-25 25 cps 695

HR-35 35cps 995

M-1009 CALL

2024L CALL

Epson FX 80 160 cps 459

FX 100 160 cps 679

RX-80FT 1 20 cps 389

Okidata 92P 180 cps 439

93P180cps 749

NEC 3550 40 cps 1695

Star Micronics G10X120 cps...259 G15X120 cps...369 Delta 10160cps.495 Radix 10 200 cps.795 Powrtype 18 cps.439

Silver Reed 550 495

HP Thlnkjet 449

Amdex 31OA 169

300G or A 145

IBM Hi Res Green 239

Sakata SC100 259

Taxan 122 Mono Amber 159

Zenith 123 12 Green 95

122 12" Amber 95

135 13" Color 459

Hayes 1 200 469

1200B 389

Anchor Mark XII 300/1200 ....269

Pro Modem 1200 349

Novation Smart Cat Plus 429

ASCII Pro Software IBM 1 39

CDC 9409-1 800 215

Tandom TM 100-2 199

Teac 55B 159

Panasonic 154

Mitsubishi 10 Meg 995

AST6 Pac 269

Mega Plus 269

STB RIO+ 259

Super RIO 269

Graphix Plus 2 309

64K Memory Set 9 45

Titan PC Accelerator CALL

AsTt5nTatedbaselllTT^^T429

Friday 189

Crosstalk XVI 149

Harvard Project Manager 269

Lotus1-2-3 289

Upgrade 139

Symphony 489

Microsoft Multiplan 1.1 139

Mouse 139

Word with Mouse ... 258

Project 229

Micro Pro Wordstar 269

Pro Pak 369

lnfostar+ 289

Multimate 319

rbase 4000 289

Source Subscription 59

Volkswriter 114

COMPUTER PRIC6 CLUB

16783 Beach Blvd.

Huntington Beach, CR 92647

NO CLUB F€€

714-841-6160

Pflice & AVAILABILITY SUBJeCT TO CHANGe

GRAPHICS PACKAGES

AT A GLANCE

Name

Business Graphics System

Type

Graphics: menu

Manufacturer

Peachtree Software Inc.

3445 Peachtree Rd. N.E.. 8th Floor

Atlanta. GA 30326

Price

S295 (PC-DOS) $125 (Osborne)

Hardware required

IBM PC or IBM PC XT, Osborne 1, Zenith Z-100, or Epson QX-10; Epson MX-80 printer; Hewlett-Packard plotters (7470, 7220); Strobe s-100 plotter; Houston Instrument (3,4.6,7.29)

Software required

MS-DOS or CP/M

Documentation

162 pages

Audience

Business professionals, particularly financial

Photo 4: Ratio analysis is clearer on the plotter version than on this screen version of Peachtree's Business Graphics System. Both charts suffer from trying to put too much on one frame.

for a secondary title. You can also select the height and weight of the titling easily and give the characters some slant as well. (A slant to the title should not convey the impression that the figures are not level.) In addition, the placement of the legend provides enough room to include the amount and percentage, along with the identification of each segment.

The Business Graphics System clustered bar chart is distinguished by a three-dimensional effect. Again, the menu allows easy specification of the horizontal and vertical viewing angles. The result is a chart that is unusual and easy to read (figure 8).

The most intriguing chart is the CRITICAL RATIO chart. With this, you can create up to three sets of comparisons on one chart and specify the elements of each ratio. Business Graphics System takes the numerator

{continued)

INTEL CORPORATION

|st:;>r *mn

Figure 7: The Business Graphics System pie chart carries a lot of information in the labels.

Figure 8: Three-dimensional bars add to a Peachtree chart's impact, while the script title is "a bit much" for most charts.

160

BYTE Guide to the IBM PC • Fall 1984

Thoughtware.

O

° • A New And Unique Series Of

Personal Computer-Based Management Training Programs

o

Management Diagnostic Scries ($350 each)

1.1 Assessing Personal Management Skills

1.2 Evaluating Organizational Effectiveness

1.3 Understanding Personal Interaction"Styles

Management Training Series ($450 each)

2.1 Leading Effectively

2.2 Motivating To Achieve Results

2.3 Defining Goals And Objectives

2.4 Improving Employee Performance

2.5 Performance Appraisal

2.6 Managing Time Effectively

2.7 Conducting Successful Meetings

Thoughtware Is The Future.

It's a new way to learn, a logical and innovative approach ,to management training. It will revolutionize management training now, and in the future.

Thoughtware utilizes the latest research in management development from leaders in the field, and has been tested nationally. The benefits of Thoughtware's computer-based Learning Programs are enormous.

Educationally, Thoughtware is self-paced and continuously interactive. Real situations are simulated. The animation and color graphics motivate and hold your interest. Skills are practiced until they're mastered. There's consistent quality of instruciion

Circle 179 on inquiry card.

®Thoughtwarc is a registered trademark of ihc Institute for Management Improvement.

and increased training effectiveness. And even the capability to test yourself.

Economically, Thoughtware reduces training time and cuts the cost of training dramatically. And the more it is used by you and those who work with you, the more cost-effective it becomes. It also eliminates travel, living and instructor costs.

Operationally, training fits the schedule of the student, not the trainer, thus facilitating increased usage. There's minimal job interruption as training can take place on or off site, during or after regular hours.

Expanding The Universe Of Learning.

Fall 1984 • BYTE Guide to the IBM PC • 161

Become a better manager by visiting your local IBM Product Center, computer dealer, or call toll-free 1-800-THT-WARE for the dealer nearest you. Or write: Thoughtware Inc. Suite S, 2699 So. Bayshore Dr. Coconut Grove, Florida 33133.

Thoughtware Programs run on the following: IBM® PC and compatibles with color graphics card. Apple" II Plus ana He.

Let the ANGELdo the waiting

II has been said that 30% of microCOmputer users will eventually purchase a buffer. For business users, a Puller pays for itself in the time and money it saves the user not waiting lor the printout. I he more you use your printer thr more you need a buffer,

....

T^H"

s»

=~

Sf

, ,•

JOZL,

j=?

**c™'"":

ANGFL, The Intelligent Bufler is the period mate for your system. II has both RS232 Serial and Centronics Parallel interlace, and can convert from serial to parallel and parallel to serial. It is truly a universal buffer that is compatible with most microcomputer systems. This versatility means when you upgrade your system you can use the same ANGEL.

jammed page re prints

AiMGbL passes data lo the printer exactly as received from Ihe computer and is independent ol software — including graphics. The ANGEL also features an innovative page mode which carefully monitors Ihe page break data during printing. Under the page mode you can reprint Ihe lasl page, jammed pages, do page skip as well as page pause for

angfi is an intelligent buffer with 12 additional functions thai may be activated whan you need them; pause, hold, copy, clear, self-test, page reprint, page skip, page pause, mulli copy, continuous copy, space compression, hex dump, etc.

ANGEL comes with 64K bytes of memory, ample for most applications. Additionally, you may activate the space compression mode which in may cases extends the buffer capacity to more than 1 28K.

EASILY ACCESSIBLE SWITCHES

ANGEL is designed lor all types ol users - even those without technical background. All switches, including baud rate selection and parallel / serial configurations are externally accessible. Installation is a matter of connecting cables, setting up DIP switches and power on. t igo Research makes available standard cables/adaptors for most popular computer/printers. Connection diagrams are also provided for users who want to make their own cables.

jBZmZSI

With such a good product available now, why wait for your printer to catch up? You can order the ANGEL from your dealer or call direct to 1 -800-323-3304, TODAY!

396 E. 159th St., Harvey, II. 60426 • 1-800-323-33041,1-312-331-8797 .Telex: 910 257-0850 LIGORSCH, HARV In Canada: ComputerAge, Ltd., P.O. Box 730, Nobleton, Ontario, LOG 1NO • 1-416-859-0370

RESEARCH, INCORPORATED Circle 100 on inquiry card.

GRAPHICS PACKAGES

Figure 9: The Business Graphics System ratio chart offers a unique way to present key business ratios.

u 5 government mam m receipts

1975 - 1SS3

rillu

-—

Figure 10: DR Graph combines the ability to vary the width of the line to enhance the concept of a combined line and bar chart.

and denominator to construct each chart, calculating the ratio and writing it in the margin. I can just see some of my accountant friends ripping up their green eyeshades in exaltation over this chart (figure 9). It is a clever, effective way to show a few key financial ratios. In sum, PeachGraph shines in the development of specialized financial charts. Each chart provides a good, clean development of the subject. You can also develop charts with only text with the Business Graphics System. On the negative side, the few data points are a serious limitation on the usefulness of the system. I found Peachtree's menus more difficult to use than others, and their on-screen graphics are of limited use.

DR Graph

DR Graph provides an extensive varie

ty of charting programs from a series of menus. Two of the biggest limitations for the technical user are its inability to handle more than 75 observations and its limited capability for specifying text as one of the variables to be plotted.

While I found the menus easy to use, data entry is a pain in the lower back. You enter the data one screen at a time, and you never know when you are reaching the end of the screen while you are looking at the data. It is easy to become engrossed in entering the data accurately, while DR Graph takes you to the top of the screen without warning and (I suspect gleefully) conspires to make you write over the data already entered.

On the other hand, the ability to set a number of annotations anywhere on the finished chart with one of several fonts represents one of the more interesting features of DR Graph. The program simplifies the selection of text sizes by allowing only four (designated 1, 2, 3, and 4). 1 found this a minor inconvenience since I really wanted to use a 2.5 size.

The menus give you substantial control over the chart's character, from font changes to a mixture of chart types. The charts DR Graph produces are clean and well laid out. With DR Graph, you can also combine line and bar charts. Few packages can do the same. Its ability to set the size of the line (including the width of the framing lines) is unique (figure 10). In a normal chart, the line would be lost in the chart, but DR Graph accommodates a variety of line widths to avoid such a problem.

A minor inconvenience occurred between the screen image and the plotted version of the chart. While all the labels of my pie chart fit well on the screen, the plotted version (figure 11) cropped a letter off each side. Similarly, the annotation ("Future Investment") did not overrun the segment in the screen version.

DR Graph presents a real anomaly. The charts are fine and the development is fairly easy, but the limited data capacity stops my evaluation short of a rave review. DR Graph is a solid package within its data and text limitations.

ChartMaster

AT A GLANCE

Name

DR Graph

Type

Graphics; menu

Manufacturer

Digital Research

POB 579

Pacific Grove, CA 93950

Price

$295

Hardware required

IBM PC or IBM PC XT; 8087 version available; versions available for 128Kbyte or 192K-byte RAM

Software required

PC-DOS: CP/M-86

Documentation

130 pages

Audience

Business professionals

Photo 5: A DR Graph pie chart in the process of being annotated.

ChartMaster does many

things very (continued)

Photo 6: The screen image of a DR Graph chart.

Fall 1984 • BYTE Guide to the IBM PC

163

GRAPHICS PACKAGES

AT A GLANCE

Name

ChartMaster

Type

Graphics; menu

Manufacturer

Decision Resources Sylvan Rd. South Westport, CT 06880

Price

S395

Hardware required

IBM PC or IBM PC XT; monochrome adapter or Hercules color monitor or card: 192K bytes, 2 56K bytes for use with printer or Polaroid Pallette

Software required

DOS 1.1 or 2.0

Documentation

130 pages

Audience

Technical and business professionals who want a fair degree of flexibility within a simplified menu operation

INTEL CORPORiTlOX

Distribution of 19B3 Sales Dollar

Figure 11: The pie chart from DR Graph trades some chopped-off labels for the ability to annotate the chart.

U.S. BUSINESS PRODUCTIVITY

Figure 12: A paired line chart produced by ChartMaster.

U.S. BUSINESS PRODUCTIVITY

-■

VVi

Photo 7: This black-and-white screen image of an 1 l-segment pie chart illustrates the shares of federal spending and the quality of ChartMaster.

Figure 13: ChartMaster offers a logarithmic (ratio) scale.

FEDERAL SPENDING

REAGAN Budget Proposal 1985 fiscal year

UlUTAfTf (Correal k Past Wars)

Figure 14: ChartMaster automatically generates a pair of proportional pies.

well, but it cannot do other things I would like. What you see is what you get. This is a menu-driven companion to SignMaster, which can be purchased (at about the same price) to develop text-only charts. SignMaster, like ChartMaster, operates easily and well.

A simple line chart of the productivity of U.S. business provides a good example of ChartMaster's capabilities (figure 12). Several different type styles, with and without italics and underlining, along with a number of different type sizes, provide you with custom-made charts. Data entry is simple, as is flipping back and forth between menus to develop the chart. In this case, constant dollar measures are used to eliminate the distortion because of inflation. You can overcome a second distortion, caused by a linear "Y" scale, by touching a few keys. Voila: you have a log scale and an excellent chart (figure 13).

The log scale is one of the several unique functions of ChartMaster, which is one of the only micro-based charting packages to support different scales on each of the "Y" axes. This capability means that you can chart two series with different scales without resorting to an index and losing some of your audience in the process.

A second unique ability of ChartMaster is illustrated in a pair of pie charts, unsegmented in this case (figure 14). Each chart is automatically drawn to scale and side by side. My only complaint about this chart is the scaling of the legends, which go beyond the limits of readability. The borders around the charts are a nice touch that adds to the chart's readability.

ChartMaster fits my own needs almost perfectly. Choosing from the items on the menu, 1 have yet to see ChartMaster fail to produce an excellent chart.

The Bottom Line

The power of charting to help you in analysis and presentation is within your reach, and the products are getting better by the day. With an IBM PC, you can create high-quality charts easily and quickly. Some charts will still be out of your reach, but these packages can do a great deal. 1 am still looking for a better package, but in the meantime, the programs that are available can get you started on the right track. ■

164

BYTE Guide to the IBM PC • Fall 1984

WORD PROCESSING

REVISITED

A review of five new versions of familiar WP packages for the IBM PC—WordStar, Word, pfs:Write, MultiMate, and FinalWord

by Janet Cameron

Just a few years ago, we wordsmiths were satisfied with a word processor that would print out our text neatly. Today, though, our standards are considerably higher, and software manufacturers are responding with increasingly complex programs.

Part of the complexity of "installing" word-processing programs could be our own fault. Almost everyone who uses a word processor is spoiled. With our increasingly sophisticated palates, we have come to expect our word processor to be at least as good as a new and improved R2D2.

Some of them are. Some of them even do windows.

We demand an extremely high level of performance from word processors.

We pay for this with increased difficulty in learning and operation. New packages with varying degrees of userfriendliness are flooding the market; currently there are some 150 to 200 word processors available for the IBM PC alone.

Updates, too, are flying out of software manufacturers' doors faster than you can push Escape. Some programs offer significant improvements; some are simply gimmicky add-ons or "holding patterns," i.e., devices to keep users from switching their loyalties.

(continued)

]anet Cameron (POB 1069, Cambridge, MA 02238) is a professional business writer in the areas of printed circuit boards and microelectronics.

Fall 1984 • BYTE Guide to the IBM PC • 165

WORD PROCESSING

AT A GLANCE

Name

WordStar 3.32

TVpe

Word-processing program

Manufacturer

MicroPro International Corp. 33 San Pablo Ave. San Rafael. CA 94903 (415) 499-1200

Price

$495; options package, S345; both. $695

Format

One 5!4-inch floppy disk; three additional disks for extended lesson tutorials; two additional disks required for optional speller/indexing programs

Language

Translation from 8080 machine language to 8086/8088 machine language (listing provided for some sections that may be customized by the user)

Computer

IBM Personal Computer (as reviewed)

Documentation

475-page loose-leaf manual including an installation, training, and reference guide; three disks with extended lessons; reference folder; key labels

Audience

Basic to sophisticated word-processing users, especially those who need to merge programs, create form letters, and use spelling and indexing capabilities

WordStar, Microsoft Word, pfs:Write, MultiMate, and FinalWord all are out with recent updates of their updates. Each of them has put in a few or many new bells and whistles. Each of them has deleted a few or many old bugs and gremlins. It seems that instead of trying to approach some sort of "standardization" in the way we operate word-processing software, the new wave of wordprocessing developers proceeds on the theory that whoever can achieve the ultimate in esoteric will achieve the ultimate in financial rewards.

1 am a writer. 1 definitely am not a mathematical whiz-bang kid. Along with millions of others, then, 1 expect two things of a word processor: 1 want it to do a lot and I want it to be fairly easy to learn and operate. So far, although I've thoroughly tested more than twodozen packages, 1 haven't found any such critter.

In researching this article, 1 used knowledge of and experience with these five packages, information from my anonymous calls to the manufacturers, opinions from friends who use these programs, and a recently published paperback, The Ratings Book (Wynnewood, PA: Software Digest, 1984), that features overviews of some 30 word-processing programs. I put the programs, in their updated forms, through some pretty strenuous paces on my machine, an IBM PC with DOS 1.1, 32OK bytes of memory, and two disk drives.

WordStar-Version 3.32

In spite of its reputation as hard to learn, MicroPro's WordStar is one of the easiest packages to get started. However, between the new version of WordStar and its options package, MicroPro must be attempting to earn a permanent place in the Guinness Book of World Records.

With WordStar and its options package, you receive six disks and two very thick and erudite manuals. Just making backups of this monumental mass of information costs a fortune. The increased benefits provided by this library of floppy disks is worth a lot, but users must be willing to wade through the newest WordStar changes, the new spelling checker (CorrectStar), the new index system (Starlndex), and the handy but involved WordStar tutorial.

WordStar's Capabilities

There's not much you can't do with WordStar. Commands are initiated mostly with the Control key plus one to several keystrokes coupled with commands from one of the seven WordStar menus.

Beginning with the opening menu, a WordStar user can go to any of the program's seven help screens, open a file for editing, execute one of four file commands (print, rename, copy, or delete a file), see the file directory, set his level of help (from 0 to 3), or run either MailMerge or CorrectStar.

Besides the opening and help menus, WordStar users can access the editing and formatting screens and the print menu (which, strangely enough, is for special effects on the text and print defaults rather than for printing). Each screen is fairly self-explanatory. WordStar supports most of the best-selling printers on the market today.

All that is required to run WordStar is 64K bytes and one disk drive, but CorrectStar takes a major upgrade to 192K bytes of system memory and two disk drives. On my benchmark tests of all five packages (see table 1 on page 180), WordStar came out with medium-range times on all four criteria: loading and saving the document, searching for the final word End, and scrolling from the beginning of the file to the last line. When I write with WordStar, its speed seems acceptable.

Some basic features WordStar handles with ease include moving, copying, inserting, and deleting small amounts or blocks of text: automatic search and replace, word wrap, and hyphenation; dynamic page-break display and default resetting; cursor moves to any part of the text; and a variety of format settings and within-text changes. WordStar supports special features such as double strike, boldface, superscript, subscript, underlining, and strike out. The program automatically justifies the text unless you change the default.

With WordStar, you can perform simultaneous editing and printing, as well as microjustification. Directions for true proportional spacing on WordStar are available in books that explain how to modify the format portion of the program to achieve this result.

(continued)

166

BYTE Guide to the IBM PC • Fall 1984

How Can You Avoid Getting Trapped Under An Ancient Word JL4 v Processor?

Once upon a time, word processors were monstrous things. Dot commands, page orientation, and separate editing, formatting and printing programs turned them into lumbering beasts. Only a well-educated programmer would dare don his armor and tackle such a beast — not a pleasant task for a modern secretary, executive, or writer.

Then came WordPerfect and the beast was slain.

WordPerfect was designed to work for you not against you. WordPerfect has no command language to complicate your writing. Pressing a single key is all it takes to

bold, underline or center.

When writing, you don't want to worry about page formatting, making room for headers or footers, or

Buy Word Perfect!

whether you are in "edit" or "create" mode. Your word processor should do it automatically and WordPerfect does. WordPerfect lets you think in terms of ideas, not pages. It is simple enough that you quickly forget about the mechanics and your writing flows easily.

So if you don't want to be caught under a word processing monster, try WordPerfect. We're certain it will improve the quality of your writing.

ytJteid'it^ffMi

You'll love it —

not only for the features

we've built in, but ;

also for the antiquities we've left out.

288 WEST CENTER STREET, OREM, UTAH 84057 (801) 224-4000 TELEX 820-618

Circle 158 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

167

WORD PROCESSING

AT A GLANCE

Name

Microsoft Word 1.1/2.0

TVpe

Word-processing program

Manufacturer

Microsoft Corp. 10700 Northup Way Believue. WA 98004 (206) 828-8080

Price

S375 without mouse; $475 with mouse

Format

Without mouse, two 5M-inch floppy disks; mouse-driven system requires a third 5!4-inch floppy "mouse" disk and a mouse card

Language

C (user-configurable for typesetter interface but cannot be customized)

Computer

IBM Personal Computer (as reviewed)

Documentation

400-page loose-leaf manual. 120-page mouse installation guide, graphics mouse guide, mouse operations guide, reference folder, and key labels

Audience

Basic to sophisticated users; mouse-driven program appeals especially to users who want speedier operation and less typewriter orientation

MicroPro representatives say they are "working on" a toll-free telephone number for end-user support. Updates of WordStar and the add-on packages are available for fees varying from $2 5 to $85, depending on the program. WordStar is not copy-protected, enabling users to make backup copies for their own use.

Users of the MicroPro family will find they can merge not only information from other "Star" packages into WordStar, but also that this pioneering wordprocessing package can often handle the integration of other vendors' programs into its system. WordStar handily deals with the creation and manipulation of columnar text and figures.

Sophisticated .DCT commands enable the user to utilize microjustification, conditional page breaks, headers and footers, top and bottom margins, page numbers, margin offsets, line height and paper length, bidirectional printing commands, and a variety of other advanced formatting options.

File merging, support of a host of printers, an on-disk tutorial, column manipulation, and decimal tabbing are additional features appreciated by confirmed WordStar users. Although WordStar has been added to, subtracted from, and revamped as much as its own cut-and-paste feature, the latest version is a clean package that performs superbly.

Among the improvements of version 3.32 over 3.0 are more clearly written documentation (the new pictures are a big help), user-definable function keys (and they aren't too difficult to program), simpler installation, support for multicolor on color monitors, redesigned menus, and faster screen updating. The best of these features is the improved manual, although there are still voids and complexities that could have been eliminated by almost any beginning WordStar user. As with every package, there are problems and limitations.

WordStar's Liabilities

A sure way to be marked and deleted is to badmouth the American flag. Mom, apple pie, or the sacred cow of word processing, WordStar. The program has its liabilities, and they are as peculiarly confusing as MicroPro's continuing utilization of non-mnemonic commands.

The six-lesson tutorial, though quite time-consuming, is helpful in learning this heavy-duty program. But the documentation is difficult and puzzling to get through. I especially have difficulty trying to find the index.

With most of the other word-processing programs 1 use, there is an S command for the Search function. Not so with WordStar. It uses a command called Find. Even though WordStar practically invented word processing and set the defaults for many programs, I still find this difference irritating.

When I am totally immersed in the writing process, I find it almost impossible to return to WordStar's opening menu. The way WordStar is set up, most of its commands work off the opening menu; when I have a problem accessing it. I have a problem producing my document. In fact, getting back and forth between WordStar's menus is a real pain. There are several ways to get back and forth, including the CTRL-K commands, but they are awkward and frustrating.

Still, WordStar is a clean, satisfying, indepth program. Writers, office workers with serious word-processing needs, and people who spend a lot of time preparing nonstandard reports, papers, articles, etc., will probably consider WordStar the respectable giant of word processing. And in spite of the huge amount of competing programs, MicroPro still has a winner.

Microsoft WordVersions 1.1 and 2.0 (with and without mouse)

It sure will help when Microsoft gets a toll-free telephone number for Word users and writes some half-way decent documentation. New users of the clever little mouse especially will benefit from these improvements.

There's almost a consensus in informed circles that mice are the wave of the future. I'm not sure I'm happy about this trend. If you're accustomed to keyboards, operating the mouse takes some adjustment.

In my case, Microsoft Word's 122-page so-called "installation and operation manual" is a complete farce. A fine tutorial is really needed. In the newest version, the addition of a small folder about using the mouse doesn't help a

[continued)

168

BYTE Guide to the IBM PC • Fall 1984

WHEN SPREADSHEETS DON'T GIVE YOU THE PICTURE...

LINE CHARTS STATISTICS

GANTT CHARTS PROJECT SCHEDULING

3-DIMENSIONAL BAR CHARTS

ma

1

MUM

ON

i :

ur»cnmin

5

MULTI-SCALE BAR CHARTS NEGATIVE BAR CHARTS

FLOW CHARTS ORGANIZATION CHARTS

PIE CHARTS

i §toii §ittrli*il

(il'JI tIKIIIlllS ISJH II! (IHHE11 Slllll)

&R31 SHE

!;.,.

II litLI

w ii am n*n avu t#n dp « ror '

Kt'ji 1» ft_

jUUMi' ■»* .LiMirm.nl. ii.li^i.enlri„llitlUii.U.-..l».1j_l^.

m'l n.i.i.- ;, mf

PaM flit §WM98

CORPORATE

IMBIU1MIAI.

7"H£ F/AS7 COMPLETE GRAPHICS PROGRAM DESIGNED FOR EVERY BUSINESS USE ON IBM-PC's'

GRAPHICS

Dynamic and so easy-to-use, ENERGRAPHICS is already helping business managers at 40 Fortune 500 companies. ENERGRAPHICS is used in Finance, Marketing, Sales, Advertising, Research and Data Processing. Both VisiCalc" and Lotus 123™ spreadsheet files interface with ENERGRAPHICS. For the first time business executives can plan, project, present, analyze and report with the best looking professional graphics available on the IBM-PC and compatibles.

VisiCalc1' is a registered trademark of VisiCorp. Lotus 123 is a trademark of Lotus Development Corp.

Call 800-325-0174 (except in Missouri) for our detailed ENERGRAPHICS brochure

Circle 59 on inquiry card.

ENERTRONICS

Enertronics Research, Inc.

150 N. Meramec • Suite 207 • St. Louis, MO 63105 • (314) 725-5566 Fall I984 • BYTE Guide to the IBM PC • 169

StarPolish brings out the best of WordStar (version 3.30) with a true display of special print effects before you print. Boldface, underlines, subscript, superscrjpt and Italics all appear in final format1. What you see on the screen is exactly what you will get on paper. Word for word, line for line, space for space. There are no confusing control characters, like ab or ^s, to clutter your screen and make the text hard to read. So you make fewer mistakes and correct them faster.

Use of WordStar with StarPolish is totally compatible with normal WordStar files and commands. You don't even have to remember command sequences because StarPolish HELP menus remind you, in terms you understand. And StarPolish puts

your PC function keys to work to give you the option of saving keystrokes. StarPolish also supports the full special print effects capability of your dot matrix or ink jet printer.

To make your WordStar shine for only $125, ask your local dealer or call us today at (301)340-8700.

TDI Systems, Inc.

620 Hungerford Drive Suite 33

Rockville, MD 20850 (301)340-8700

1 Photo display using PC with color monitor and color'graphics interface card.

StarPolish is a trademark ol TDI Systems. Inc The StarPolish programs and the copyrights to the product are owned Py Alethic Sottware Associates

WordStar is a registered trademark ot MicroPro International Corporation. Circle 172 on inquiry card.

WordStar® with StarPolish

What you see is what you print

BOLDFACE

i talics ""p»<- script

,.,,,bscri pt

under 1ine

c omhinations

WORD PROCESSING

great deal. Clearer prose would help new users to get into the program with less than a lifetime of frustration.

Generally speaking. Word (with or without the mouse) is clever, put together well, and performs some extraordinary feats. Its highly touted windows are well worth the high touting. It's command structure is relatively easy to learn, and Word can fully utilize all the special characters (listed in its extensive help menu), hexadecimal codes, and up to 64 different type fonts.

Word's formatting and style-sheet capabilities are complete and more than satisfactory, though I found them hard to use fully while operating with the mouse. The biggest problem I have with Word is its many built-in redundancies, including having to use two disks to get into and out of the program; the multiple commands; confusing labels (Alpha, Gallery, Transfer, Division, etc.); and the use of the right, left, and both-together mouse buttons. Word's system disk contains copy-protected material and thus cannot be cloned, The program disk can be copied.

Instead of working to make the program more flexible in the context of current word-processing programs, Word's developers seem to be trying to completely reinvent word processing. At this time, I care not to start over from scratch. Those users who are just discovering the wonders of word processing may feel differently about Word.

Major enhancements in this revision include a built-in merge for customized form letters, built-in support for the Hercules graphics card, a mouse utility program that provides mouse support for several external programs, optional compatible spelling checkers, and the support of other computers and printers.

Now, without shuffling disks, Word's users can produce form letters; merge data from other Word documents, ASCII (American National Standard Code for Information Interchange) files, or from the keyboard; use direct output from other programs, such as dBASE II; and use English-like instructions with no restrictions on the contents or lengths of text fields to be inserted.

The utility program (called Mouse Menus) that comes with the new version of Word furnishes support for Multiplan, Lotus 1-2-3, WordStar, and VisiCalc.

Word's developers say users may create menus to use with other programs.

Two spelling checkers are now available (at additional cost) to Word users. Microsoft's package can run on more computers and is compatible with more printers than before. According to the manufacturer, with this current revision, Word has the capability to support vir

tually every dot-matrix and daisy-wheel printer without requiring a special program. Only a printer-descriptor file (described in the manual) is required.

Microsoft Word's Capabilities

Power and flexibility mark Word as a

[continued]

One board speaks over

450,000 words.

CallText™ Voice Synthesizers have an Unlimited Vocabulary

With CallText Voice Synthe- Features

sizers, your computer can speak . Hi h Ut text-to-speech

electronic mail, stock quotations, conversion

sales status, weather reports or any vital information. And CallText products include a telephone interface, so people can call in and listen as any ASCII text file is converted to speech in real time.

Advanced technology gives CallText Voice Synthesizers full command of the entire English language — nearly a half million words.

For a live, interactive demonstration of how data can be delivered in voice, call (415) 969-6257.

FCC-registered telephone interface with Touch-Tone™ decoding and generation. Speaker amplifier for local monitoring. Two models now available:

- CallText 5000, IBM PC/XT compatible card. Includes I/O drivers; BASIC, C, Assembly languages.

— CallText 5050, RS-232C computer peripheral.

INCORPOR AT E D

461 NORTH BERNARDO AVENUE, MOUNTAIN VIEW, CA 94043 TELEPHONE (415) 964-7023

Circle 167 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

171

WORD PROCESSING

AT A GLANCE

Name

pfs.Write 1.1

Type

Word-processing program

Manufacturer

Software Publishing Corp. 1901 Landings Dr. Mountain View. CA 94043 (415) 962-8910

Price

$140

Format

One 514-inch floppy program disk, one 5!4-inch floppy "sampler" disk

Language

Pascal and assembly

Computer

IBM Personal Computer (as reviewed)

Documentation

70-page manual, on-disk "sampler" tutorial

Audience

Basic word-processing users and those who want form-letter capabilities

multifaceted program that's worth checking out. But there are hundreds of new things to learn if you choose this package for your own, especially if you opt for the mouse.

For those of you who aren't familiar with this little gadget, the Microsoft mouse is a hand-held device with buttons used either separately or in tandem to carry out commands. The underside of the mouse has a rolling ball that positions the mouse's cursor on the screen. By utilizing short directional moves and pressing one or both mouse buttons, the user points to and carries out Word's commands and functions. Essentially, the left button chooses the option you desire; the right button executes the command and puts you into the following level of command. Pushing them both simultaneously negates the previous order.

Some of the features programmed into Word include compatibility with hard disks; an "undo" facility with a scrap buffer; and highlighting of characters, words, sentences, and paragraphs for use with various modes (such as Move, Copy, Insert, and Delete). This program lets the user make the most of standard and advanced formatting with an ease up to this time unknown in the word-processing game.

Entering the program requires first inserting the Word system disk; then, when Word prompts it, the program disk. Backing out of the program requires the same hassle in reverse.

One thing Microsoft did right; it made the mouse very easy to install. You position and secure the printed circuit board that comes with the mouse into an expansion slot. Then simply attach the mouse's plug to the I/O (input/output) port and you're in business.

After you get into the program, things start to happen fast. A screen with a double border appears. One is a selector rectangle, the other is the movable mouse cursor. A visible ruler outlines the top of the screen; Word's menu, command, status, message, and information lines take up the bottom four lines. The working portion of the screen (19 lines) is a bit short, but the space seems adequate for my needs.

With the mouse-driven version, complete words prompt the user to choose Alpha (for entering or editing text copy), Delete, Format, Gallery (an alternative

command/style process), Help, Insert, lump (go to), Library (set aside for future features), and Options (sets measurements, turns on and off the alarm and overtyping modes).

The Print command sets the parameters for hard copy. Transfer is used for loading and saving documents from a data disk. Undo and Window round out the first level of commands. And that's just the primer.

In my benchmark tests. Word, along with WordStar, came out just about average in speed of saving, searching, and scrolling to the end of the document. In loading the document, Word was slightly ahead of the other four.

Word handles all routine chores with ease and dispatch. Some of its more advanced features include glossary options (an abbreviated way to delete or copy repetitive words, strings, or blocks of text) and windows (up to eight horizontal and/or vertical divisions of the screen for cutting and pasting, viewing and editing text, documents, footnotes, and so forth). Word also automatically reformats copy as you are working and displays a rainbow of colors when used with an RGB (red-green-blue) monitor.

You can use the mouse to create and handle windows by pointing to an area in the double border (the window bar) and clicking the button, or point to the lower right-hand corner of the screen and turn the cursor into a four-headed arrow. You can also create and manipulate windows with Word commands when the mouse is not being used.

Besides the standard word-processing functions, ASCII-based Microsoft Word has the capability to handle footnotes, multiple columns, the transfer of WordStar files, horizontal scrolling, and special features such as italics, sub- and superscript characters, small caps, underlining, boldface print, and combinations of these features. Integration with laser printers will be available as this type of printer becomes more commonly obtainable.

In the works, according to Microsoft, is badly needed revised documentation, a toll-free user support number, and an indexing capability.

Word's Liabilities

I have many friends who like this program a lot. For me, however, this program, especially when operated with

172 • BYTE Guide to the IBM PC • Fall 1984

Circle 135 on inquiry card.

WORD PROCESSING

the mouse, has many more limitations than benefits. I'd like to mention a few.

Generally speaking, this package (even without the mouse) is extremely frustrating to learn and operate efficiently. With the advanced Word features, the user has to go to several different places and utilize more than one command level to get results. In order to operate the program with the mouse, you need some more-than-basic manual skills or a course in remedial pointing. It's very frustrating to miss the mark with the mouse's selector and destroy what has taken a good bit of time and effort to achieve, or to continually run the mouse headlong into the keyboard and risk ruining the keyboard or the mouse module itself.

Memory requirement for the program is 128K bytes and one disk drive, but my experience with Word leads me to believe 192 K bytes and two disk drives are almost essential. An item most of us find extremely irritating is Microsoft's policy of copy protection. Yes, the program disk can be copied for your own use, but the system disk, necessary to boot and quit from the program, cannot be copied.

In order to tap into the mouse system, you have to read between the lines in the mouse non-manual and read the minds of the developers. Every now and again, when you hit a dead end, the only way to move ahead is to insert DOS (disk operating system) and utilize its capabilities. I could not find this situation mentioned in the documentation.

Word often moves text off the screen while it is in its operating mode. This is terrifying to those who need security blankets to keep their equilibrium while producing long or complex documents. Inadvertently wiping out text you intended to be permanent is frightening.

With Word, deleting is a two-stroke process. With many, many packages, deleting is safely accomplished with one stroke and response to a safetyvalve question. Saving is even more disconcerting and time-consuming. Not only does Word require three or four steps to save material, but after you have executed these commands, it pauses more than 10 seconds before putting the message on screen that it actually is saving the material. This will be a long and awkward delay for most users.

pfs:Write-Version i.i

PfsWrite continues to plug along as an elementary program for users who don't have enough time to major in word processing or who have basic needs and aren't into the one-upmanship game. This revised program has some major deficiencies, though, including its inability to justify text except line by line, its insecure nature, and its extremely complex deletion mode.

pfs:Write's Capabilities

The benefits of pfs:Write are many. The main advantage is its overall ease of operation. 1 get the feeling the developers set out to make the package as simple to use as possible. (What a novel approach.) For instance, this program's main menu really is self-explanatory: it offers six choices: Type/Edit, Define Page, Print, Get/Save/Remove, Clear, and Exit. Pfs:Write's Define Page menu lets users make formatting changes other than the default values. With this selector, you can set the margins (top, bottom, right, left), specify page length, put in headers and footers (up to two lines each), and have Write automatically insert the page numbers for you. There are some tradeoffs, however, such as the program's assuming that any number found in a footer is a page number. If you need to have the footer act as a footnote, you're out of luck.

PfsWrite does a good job of automatically reformatting text when you change parameters through its Define Page feature. You can decide you want your material to be squashed down to a narrow column instead of given the space of a full-width page. With the Print menu you can set print parameters: cause the program to merge other documents, such as VisiCalc (as long as they have been printed to a disk file): and create a text file by printing to a disk. The Print function also enables you to add graphs from pfs:Write's fellow program, pfs:Report, if the material has been saved as a picture file. You can print an entire document, one or many pages, space your material, print envelopes from the addresses in your letters, change the position of your text on the paper, and print the document to almost any printer that you can conIcon tinued)

64K, 1/360K Drive

$1650

Typical Configurations

IBMPC64K

1 Drive, Monochrome Monitor & Card $1995

Same w/256K & 2 drives $2349

or add 10 meg Internal Hard Disk

with these features: Plug compatible with IBM XT™

— Half height hard disk — One year warranty

— Uses IBM DOS 2.1 — Requires no extra power

$3037 W/256K Compaq 256K, 2/360K drives . . . $2349 Compaq 256K, 1/360K drive,

10 Meg Internal 12995

10 Meg Internal Hard Disk 189$

64K RAM chips for PC's $49

TandonTM 100-2, DS/DD $199

Control Data 9409, DS/DD $199

Taxan Monochrome $16$

Amdek 310 A Monochrome $165

Princeton PGS HX-12 (RGB) $499

Quadram QuadColor I $209

Persyst mono card w/parallel.... $229

Quadram Quadjet $69$

TI 8$5 $849

Juki 6100 $449

Okidata ML92P $449

OkidataML93P $709

Epson FX-80 CALL

Epson FX-100 FOR

Epson LQ-1500 PRICE

AST SlxPack Plus (64K) $2 $9

Quadram Quadboard (64K) $279

MultiMate 3.22 $299

Multiplan $145

ProKey 3.0 $89

Norton Utilities $$$

dBase III CALL

Open Access $299

Lotus 1-2-3 $339

Wordstar ProPack $399

Prices subject to change without notice.

SHIPPING FREE WITHIN USA.

IBM Is a trademark of IBM Corp. No surcharge for credit cards,

Quantity Pricing Available. Corporate PO's accepted.

ORDERS ONLY, CALL 1-800-IBM-5150

PC'S LIMITED

(512)452-0323

CALL FOR LATEST PRICES

7801 N. Lamar, #F-1 LJ Austin, Texas 78752 LJ

Fall 1984 • BYTE Guide to the IBM PC • 173

WORD PROCESSING

nect to your machine.

With the Print function, you can print more than one copy of your material. To take advantage of any of these features, or those from any other of this program's menus, however, you have to reprogram your thinking to use the Tab and F10 keys instead of the cursor and Enter keys.

More pluses for pfs:Write's Print mode include the ability to insert a command for special characters (such as italics or any others.your printer will support), utilize more than one printer, pause between pages, and stop the print function at any stage simply by pressing the space bar (supposedly). When I tried this clever little "stop print" feature,

WIPE OUT STATIC FAST

It's easy with Staticide® Wipes. ™ One quick application cleans CRT screens, copiers, keyboards, or any clear surface. And as it cleans, Staticide Wipes will eliminate static— the major cause of dust attraction on CRT screens, computer glitches, malfunctions and downtime. And these handy towelettes are nonstreaking and will not leave a vision impairing residue. So instead of buffing down, you can get down to work! Consider the thousands of dollars you've invested in equipment. And how a few cents more will help keep it clean and operating, without the risk of harming sensitive electronic

components.

EB35Ea wipes

A product of ACL, Incorporated 1960 E. Devon Avenue Elk Grove Village, IL 60007 (312)981-9212

however, my printer kept on humming along.

Appending is exceptionally easy. Simply enter the command at the location in your working copy where the joined document is to appear, and pfs:Write makes it happen when you print it out.

The Get command works approximately the same way as the Save feature. Pfs:Write makes a working copy of your document so changes affect the backup instead of the original. The Remove command provides an exceptionally easy way to permanently erase a document or other on-disk file. But there is no going back, no undoing, no changing your mind. If you don't have a backup copy and you command the program to erase your copy, you'd better have some Valium or a stiff drink handy.

When I crank up pfsWrite, I like what I see on my screen. At the bottom, l see a ruler with decimal and text tabs, line and page numbers, amount of memory space left, cursor position, places for special editing functions, error messages, and special enhancements, such as Insert or Label. The program also tells me when I am in "working copy" mode and how to get to the help screen (Fl).

The package's Insert function is fundamental and acceptable The program's developers should get an award for the uncomplicated "labeling" method of changing, deleting, moving, removing, and copying blocks of text. Function keys are used for moving around in the text when you label (highlight) the areas you want to change. The Search function works only in forward gear, but the Search/Replace function (either manually or automatically) is almost sinfully simple.

The program creates standard ASCII files, supports a hard disk, several new machines (the IBM XT for one), DOS 2.0, and shows on-screen the location of page breaks (with cursor move only, not with page-up or page-down moves). A minimum of one disk drive and 128K bytes is necessary to run pfsWrite.

pfs:Write's Liabilities

Even though the program is inexpensive and the manufacturer provides one backup, the fact that pfsWrite is copyprotected is inexcusable.

174

BYTE Guide to the IBM PC • Fall 1984

Circle 3 on inquiry card.

WORD PROCESSING

Although the documentation summaries are good, the documentation itself (including the on-screen tutorials) leaves much to be desired. Yes. you can make a copy of "Sample," the on-screen tutorial, but who wants to? The tutorial teaches you about price lists before it even mentions cursor moves, and pfs:Write cursor moves aren't all that easy. In the book, the program's features are arranged from advanced to easy. Why? I found the material about form letters especially confusing. What should be elementary explanations are not. But the biggest problem I have with this pleasantly small, handy (not dandy) guide is that when 1 am searching for something, anything, the pages continually manage to get out of the spiral binding. Reinserting them is next to impossible. Thus I have a desk full of individual manual pages for this program.

To move the cursor more than one character at a time, it helps to have memorized the function keys. To move the cursor within a menu requires the use of the Tab key. The manufacturer provides a cheap cardboard template; when 1 tried to apply it over my function keys, it immediately tore.

The Get and Save portions of pfs: Write's Get/Save/Remove function aren't all they're cracked up to be. For a program with lots of built-in comfort, pfs: Write could excel here, but it doesn't.

Having to return to the main menu, push #4, type in the name of the document you're working on, and then press F10 is not only a huge waste of time but a sure exercise in how to forget what you were working on before you started into this process in futility. Then you have to reverse the procedure to get back into your document, consuming another few plodding minutes.

PfsWrite's multiple-step Save procedure includes a sentence, "document about to be overwritten," each time you write the material to disk. "Press Escape to abandon this operation or F10 to continue." Sounds safe, eh? Wrong. To find out how safe it is, 1 pressed F10 in a couple of instances and instantly lost two hours' worth of data. After working with this problem, I concluded that the use of the term "overwritten" is questionable. Evidently, for some reason, the program doesn't always save newly entered material.

1 got an additional dose of insecurity

when I twice lost some copy after pressing F10 to continue in the printing operation (instead of pressing Escape to "abandon this operation") and the program trashed my prose.

Since 1 have a penchant for doing funky things to formatting defaults, I found it extremely frustrating not to be able to permanently change them in pfs:Write. And the program operates in Strikeover mode when my personal preference is Insert, but since this program's Insert mode is simple to get into and out of, I adjusted fairly quickly.

Deleting is not easy with pfs:Write, especially in Command mode. There is a destructive backspace, but you have to remember to go past the last character to activate it. And deleting forward is jerky and sporadic. Right justification, boldface print, and underlining can be done after the fact—one line or word at a time. With the Shift and a function key, these enhancements eventually do happen. But not without effort.

Although pfs:Write came out in my benchmarks about average in all four tests, I found you can add another year or two to your life during the time it takes to save material.

Several other "couldn'ts" include not being able to get pfs:Write to append files from other ASCII programs (it's supposed to do this); alternate the placement of page numbers or headers and footers; copy columns (it's supposed to be able to do this); save large deletions in order to move them; change formats within a document; and keep the original format of the file being appended to or merged with the pfs:Write file.

Updates are available for less than the package's original price, but at this writing, a toll-free user hotline is not in operation.

Nevertheless, in spite of (or maybe because of) pfs:Write's developers' persistence in retaining its KISS (keep it sim

(continued)

The Personal

TSm

Programmer

FOR YOUR

$395.00

I'l I S POSTAGE

& II VMM IV.

With Shooter You Aim Low in Price and'

RS-232 Port. Works with any computer or terminal. Stand-Alone. Copies & verifies. 32K/128K RAM Buffer. Upload/Download in Intel or Motorola Hex format. 90 Day Warranty

LOGICAL DEVICES, INC.

1-800-EE1-PR0M (331-7766)

FLA. (305) 974-0967 • TELEX: 383142 L0GICALTX 1321E N.W. 65th PLACE, FT. LAUDERDALE, FL 33309

Circle 101 on inquiry card.

WORD PROCESSING

AT A GLANCE

Name

MultiMate 3.20

Word-processing program

Manufacturer

MultiMate International Corp. 52 Oakland Ave. North East Hartford. CT 06108 (800) 243-4646

Price

$495

Format

Three 5'/4-inch floppy disks: boot/system, utility, and speller/dictionary

Language

Assembly

Computer

IBM Personal Computer (as reviewed)

Documentation

469-page padded manual, reference card, templates, and key labels

Audience

Sophisticated word-processing users who want a Wang-like package with spellingchecker capability

pie, stupid) policy, this firm has assured itself a permanent and unique place in the word-processing marathon. When Software Publishing or another company fixes this program's faults while keeping its assets, we'll really have something.

MultiMate-Version 3.20

MultiMate International Corporation's efforts to "modernize" its program have resulted in a good news/bad news effect. Now MultiMate is safer—the safest package of the five I compared; but it's also klunky—the klunkiest package of the five 1 tested. Would that the company had concentrated on reducing the number of steps required to use each of the program's handy features instead of providing so many safety backups of safety backups.

The consensus is that this Wang-like program has a multitude of benefits and a multitude of sins to contend with. And my investigation bears out this opinion. Wangs are known for their heavy use of dedicated keys for cutting and pasting, canceling, entering, etc.; MultiMate seems to have patterned part of its program around this concept.

MultiMate's Capabilities

MultiMate's documentation actually starts with what you need to begin; this marks a beatific trend 1 hope catches on. As soon as 1 got over the shock of it all, 1 realized it takes 192K bytes (256K bytes with DOS 2.0 or 2.1) to begin. So I went to the memory store and hiked up my memory past what MultiMate says is necessary.

It takes three disks—the DOS/boot/system disk, the utility disk, and the speller/ dictionary disk—to do all of what MultiMate provides. Essentially, the DOS disk gets things up and running and does the major portion of the tasking. The utility disk handles the responsibilities of converting to standard ASCII files and recovering lost data or missing format lines. The speller/dictionary (accessed from the main menu) is self-explanatory and works satisfactorily.

The program is easy to install; the documentation has good basic directions. And typing wp to boot the system is a grand way to enter. Would that we could start them all this easily.

This package has good walk-through screens—many of them. My impression

of MultiMate's numerous help screens is that they are too numerous, and even with a chart in the manual, confusion reigns. It would have been easy and wonderfully clear had the developer simply put the key or keystroke combinations in boldface type followed by the explanation for each. For some reason, quick reference charts are few and far between. Why? Because MultiMate didn't do this, 1 did my own and found that within 15 minutes I had the most-used functions down pat. A template that does this is available from the company for $6.95.

MultiMate's status line displays the document name, page, line, and column number. Its format line indicates the current line length, line spacing, and tab settings. It also puts an on/off sign onscreen to remind the user of the status of the Shift and Numlock. I had problems with the page-length parameter. This program sets a limit of 150 lines per page, but just try to get it to actualize this promise.

Defaults are easy to change. And the information this program's documentation offers the user is helpful and appreciated. Novices, however, might find the going a bit tough at first since the jargon in the manual is pretty intense and assumes everyone is familiar with word processing.

MultiMate has several points in its favor. Besides being very safe, it lets you customize the program both with its standard utility and its easy-to-use PAT (printer action table) functions. MultiMate is politely sparse with its error messages, too, and hurls them at you only when you've done a no-no.

MultiMate's ability to work with vertical and horizontal columns (including calculations) is a bonus. Unfortunately, moving the vertical columns doesn't always turn out new, perfectly aligned material.

This program handles formatting chores as if it were made to serve. Centering, underlining, boldfacing, justification, spooling, continuous automatic reformatting, visual page breaks, and getting back and forth between menus all are easily dealt with. Tabs, margins, hyphens (hard and soft), and line spacing are simple.

MultiMate has a vehicle (its library) that enables the user to create macros

(continued)

176 • BYTE Guide to the IBM PC • Fall 1984

If you're looking for

a quality monitor, look for this symbol.

HX-12. A high resolution monitor at a medium resolution price.

The SR-12 delivers even better resolution color for a better-than-ever price.

MAX-12. You won't find a better monochrome monitor for a better price.

HX-12 is a high resolution RGB color monitor that's colorful enough for all your graphics needs and sharp enough for word processing.

With its own cable that plugs directly into the IBM PC, the HX-12 delivers a rainbow of 16 colors on a non-glare screen. All that includes clean whites without red bleed. In fact, all the colors are clean and crisp thanks to the HX-12's .31 mm dot pitch and 690 x 240 (non-interlaced) resolution.

Shop around. Nothing else compares to the HX-12 priced at just $695.

At first glance, the SR-12 might appear similar to the HX-12 with a non-glare screen and ,31mm dot pitch supporting 690 horizontal resolution. But take a closer look. SR-12's scan frequency is 31.5 KHz, allowing the SR-12 to support 480 vertical resolution in non-interlaced mode. That means a high-quality, flickerless image with text that's up to monochrome standards. What's more, you get all that quality for $799.

For full compatibility with all IBM software, get the Princeton Scan Doubler. Priced at $249, it allows you to run the SR-12 from a standard IBM or IBM equivalent color card in the IBM PC.

You can't beat the SR-12 for resolution or price.

PGS combines easy-on-the-eyes amber phosphor and exceptional 800 x 350 resolution to give you the MAX-12, the best monochrome monitor for your money.

Check the non-glare screen. Dynamic focusing circuitry keeps the image sharp, not only in the center, but around the edges and in the corners. Then check the price. At $249 the MAX-12 is less expensive than the leading green-onblack competitor. And there's more. The MAX-12 works with the IBM PC and other IBM compatibles.

For clarity, performance and price, your choice is clear. Make it the new MAX-12.

IBM1 PC are registered trademarks of International Business Machines Corporation.

©Copyright 1984 Princeton Graphic Systems. All rights reserved.

Circle I47 on inquiry card.

PRINCETON

An Intelligent Systems Company

Princeton Graphic Systems

170 Wall Street, Princeton, N.J. 08540 (609) 683-1660/(800) 221-1490 EXT. 29 Telex: 821402 PGS PRIN

Fall 1984 • BYTE Guide to the IBM PC •

177

Minis and

• /■ the be;

mainframes have used WorclMARC for four

m. ■ pears exac'

years. Now there's WordMARC word

fprocessing oryour

• * for yc

V^|^|f*l^ft any other word processing software. OK. Now that 1^*1 Vrt you've done that, it's time to pick up the phone.

*WordMARC is compatible with the IBM PC or XT, as well as the Eagle, Compaq, Corona, Columbia, NCR PC, DEC Rainbow, and TI Professional computers. All versions of WordMARC on micro, mini and mainframe computers are compatible.

Originally created for minis and mainframes, WordMARC is now available for use on your micro*. And quite simply, it's the best office-quality word processing software package a micro user could buy. After all, it was the best word processor mainframe and mini users like universities, national laboratories, and Fortune 500 companies could find over the last four years. But, if you need more proof, read on. □ No Problems, No Nonsense, No Competition. For starters, everything you see on your screen appears exactly as it will be printed on paper. Scientific notation. Foreign language characters. Underlining. Subscripts. Everything. □ A Partial List of Features. That's Right, Partial. Menu driven w/function keys. Easy selfpaced tutorials. Spelling checker. Mail merge. Scientific notation. Foreign language characters. Automatic reformatting. Automatic pagination. Document recovery system. Document encryption. ASCII file handling. And so on. □ If Word Processing's Your Call, Call 800-831-2400.

Granted, just because the call is free is no reason for picking up the phone. You should stop and consider our track record with minis and mainframes. You should stop and think what that can mean your micro. And you should stop thinking about

MARC Software International, Inc.

260 Sheridan Avenue, Suite 200 Palo Alto, California 94306 800-831-2400 □ In Calif., 800-437-9900

•WordMARC is a trademark of MARC Software International, Inc. © 1984 MSI, Inc. IBM PC and XT, Eagle, Columbia, Compaq, Corona, NCR PC, DEC Rainbow, and TI Professional computers are trademarks, respectively of Internationa! Business Machines Corporation, Eagle Computer, Inc., Columbia Data Products, Compaq Computer Corporation, Corona Data Systems, Inc., NCR Corporation, Digital Equipment Corporation, and Texas Instruments.

178 • BYTE Guide to the IBM PC • Fall 1984

Circle 105 on inquiry card.

WORD PROCESSING

for often-used words, phrases, strings, and other information the operator desires to call up at the press of a key. Although the program's speed has suffered since its developers reinforced its safety level, it came out as fastest in my save-document benchmark test.

At this writing, MultiMate International is shipping an update, version 3.3. Because of deadlines, 1 was unable to review this latest revision. According to the company, 3.3 incorporates faster screen refreshing, microjustification, an on-disk tutorial with an instruction booklet, and the optional capacity for the user to utilize ellipses for visible spaces when desired.

MultiMate handles moving, deleting, and copying with highlighting; headers and automatic page numbers are supported with little problem. There are some deficiencies in this area, however, and they will be noted under the section on liabilities.

The package supports a host of printers and is hard-disk compatible. The program is not copy-protected, and free updates are available for six months. Thereafter, they can be obtained for a reduced price.

The biggest bonus MultiMate has is its pool of knowledgeable, polite, and patient support people at the far end of a toll-free number (800-243-4646). It may take you a year or two to get through the busy signals, though, and even when you do manage to break into the hotline, you may end up on hold for another decade or two.

MultiMate's Liabilities

MultiMate's many hitches and glitches all combine to make it the most awkward package of all I tested. Now I can really relate to the theory that the sum of the parts equals more than the whole. lust naming a document with MultiMate is a chore if you take the manual's reserved character list as gospel. The symbol #, for instance, can't be used in the naming process, although I couldn't find information anywhere that mentioned that.

In the benchmarks, MultiMate came out last in speed of both searching and scrolling to the end of the document. Searching and highlighting can be done only in the forward mode.

Shortly after entering the program, my disappointment level rising, 1 compre

hended that MultiMate's documentation had neglected to mention adjusting the contrast in order to see the highlighting so necessary to operation. Additionally, the manual takes up the subject of merging before it teaches basic editing functions.

Cursor control is difficult with MultiMate. Often the keystroke combinations designated to move the cursor around chunk by chunk don't do so. Sometimes Cntrl+End put me at the end of the text, sometimes at the end of the line.

The destructive backspace is slow, shaky, and tenuous, as if it doesn't intend to obey. If you want to change the default and permanently operate in the Insert mode, select another word-processing package. And don't try to tab over if you already have text on-screen.

When changing MultiMate files to ASCII and back again, I saw my copy turned into gibberish. During my investigation, I discovered that although this package lets users insert as many formatting changes as desired into a document, operators can "undent" (indent each line below the first paragraph line) or enumerate paragraphs (automatically number each succeeding section) only by doing it manually. With a package this powerful, why?

Although I understand MultiMate is coming out with an improvement, the spelling checker that came with my version had inherent in it so many gremlins, I never could get it to do anything worthwhile. It caused me nothing but problems.

The manual promotes MultiMate's shadow print, boldfaced, and draft print, but 1 had problems with these enhancements until a kind voice in the 800 nether-nether land explained that the program has an IBM bug in this area. He gave me detailed instructions as to how to subvert this and eventually I did manage. MultiMate does not do footnotes.

I started out with high hopes for MultiMate, but its disadvantages outweighed its great benefits. Too bad. The program has incredible potential.

FinalWord -Version 1.16

Until recently, FinalWord was almost alone in its ability to index documents. Now there are others that have this capability, including PeachText, Samna,

{continued)

AT A GLANCE

Name

FinalWord 1,16

Type

Word-processing program

Manufacturer

Mark of the Unicorn 222 Third St. Cambridge, MA 02142 (617) 576-2760

Price

$300

Format

Two 5'/4-inch floppy disks

Language

C (user-configurable but cannot be customized)

Computer

IBM Personal Computer (as reviewed)

Documentation

Hard-cover manual, approximately 300 pages (manual not completed at time of this writing)

Audience

Basic to advanced word-processing users, especially those who need sophisticated features such as the ability to create long documents, tables of contents, and indexes

Fall 1984 • BYTE Guide to the IBM PC • 179

WORD PROCESSING

Edix, and WordStar's Starlndex.

I have used FinalWord for well over a year now, but I haven't even touched its full range of features. Because I use it and rely on it, 1 have a strong love/hate relationship with it. For my purposes, its talents are exceptional and well worth the massive effort it took to learn it and get through its dozens of eccentricities.

The most recent revision of FinalWord consists of improved documentation, badly needed and a long time coming. Version 1.16's upgrades include the ability to wrap footnotes, produce unlimited end notes, support the new DEC (Digital Equipment Corporation) printers, and create foreign characters on the IBM PC. I prefer less bureaucracy in this program's handling of its swap file and buffer functions.

It's hard to believe, but the operation of this extremely powerful, sophisticated program requires only 64 K bytes with DOS 1.1 and 12 8K bytes with DOS 2.0. FinalWord's capabilities are comparable to or greater than those of the other programs 1 tested, and the program uses less memory than most of them unless you use its indexing skills, which means you'll have to upgrade in a serious way.

This program's developers promote its safety with a swap file you can put data into and take out of with abandon, and buffers that hold editing changes like little pockets you can stuff with goodies. But because of some flaws in these functions, my experience with FinalWord hasn't been reassuring.

Mark of the Unicorn says it has repaired these irregularities. But since I can't go back and use the "nix fix" in the situation where I lost four days' worth of text (and FinalWord duplicated the tragedy on the backup disk), I can't swear to the perfection of the revised edition or the efficiency of the debug program.

Nevertheless, because of FinalWord's

advanced (by an order of magnitude) formatting talents, 1 rate it extraordinarily high in performance for users who need to be able to do esoteric formatting chores. I also recommend it for people who produce extremely long and complex documents and need to be able to create indexes and tables of contents.

FinalWord's Capabilities

There are many, but I'll start with its versatility in letting users move the cursor from place to place with the Cntrl and arrow keys. 1 give FinalWord a solid A here. Moving, copying, and deleting blocks of text are tasks this package performs with speed and efficiency.

To its credit, this program isn't copyprotected. Generally speaking, Mark of the Unicorn offers free updates and fairly comprehensive documentation— especially in version 1.16.

It's possible FinalWord was a pioneer with advanced features, such as its Default Insert mode, windows, highlighting, replace functions, and mnemonic commands. Its abilities, too, in the areas of footnoting; headers and footers; "statesave"; use of the IBM function keys; text movement from one file to another while displaying both documents onscreen; and numbering system for pages, blocks of copy, footnotes, and chapters, are greatly appreciated by those who have used them.

Creation of ASCII files, spooling, userdefinable keys, optional help screens, and microjustification and proportional spacing on printers that support these features all are important. But its advanced formatting capabilities are the hub around which FinalWord's reputation has been built.

Suppose you want to write poetry or produce a document (or part of one) with automatically numbered paragraphs. Suppose you want to change the formatting style numerous times

Table I: Benchmark results for the won

-processing programs

reviewed.

All times are

in seconds.

FinalWord

WordStar

Word

pfs:Write

MultiMate

Load document 11.9

9.9

8.9

9.6

9.3

Save document 71.0

31.66

42.6

20.1

3.9

Search document 10.4

12.43

15.1

13.5

42.1

Scroll to end of document 45.8

30.76

39.0

65.0

104.0

within your text. Suppose you want to do some wondrous, aesthetic things with your material. FinalWord provides these and dozens of other advanced formatting functions.

The program lets you automatically underline words and spaces or just text: utilize sub- and superscript characters or boldfaced print; center, doublespace, or justify text; set line length and bottom and top margins; alternate page numbers or headers and footers; and cross-reference material. There isn't much in the way of enhanced formatting or printing that FinalWord can't carry out for you.

FinalWord's Liabilities

There are, however, some basic and elementary tasks that FinalWord's developers have either overlooked or deemed low-priority items.

From my office, Mark of the Unicorn's support number is a local telephone call—fortunately. During my learning curve, I literally spent hours on the phone with the company's technical people. At that time, they were neither knowledgeable nor patient. That situation has improved, but a toll-free number has yet to be instituted.

FinalWord cannot handle columnar material (either text or numbers), horizontal scrolling, automatic hyphenation, or continuous reformatting tasks. Although the program came out ahead in the "scroll to end of document" benchmark, it is terminally slow in its preprinting sequential-paging mode.

You don't see what you get with FinalWord except with its View Screen command, which whips by so fast it's almost worthless. Because this package performs so many advanced functions, not being able to see what you have done (or want to do) is a serious drawback.

FinalWord's most frustrating characteristic is its habit of beeping and putting up error messages at the press of a key. A great deal of the time, too, the machine totally hangs up, either from an incorrect combination of keystrokes or just plain orneriness. Literally hundreds of times, in order to get FinalWord to accomplish a task, 1 have had to switch off my system, turn to another job, then return later and begin all over again.

FinalWord is a very powerful package,

{continued)

180 • BYTE Guide to the IBM PC • Fall 1984

T&ble 2: An evaluation of features and performance.

Name

FinalWord (Version 1.16)

pfs:Write (Version 1.1)

WordStar (Version 3.32)

MultiMate (Version 3.20)

Word

(Version 1.1/2.0)

Price

$300

$140

$495

$495

$375: $475 with mouse

Hardware Configuration

64K, two 5H-inch single-sided floppy-disk drives or 300K capability and printer

I28K, one single-sided drive

64K minimum, two floppy-disk drives recommended, but one drive is practicable if WordStar is already installed

I92K with one doublesided drive (DOS 1.1): 2 56K with two doublesided drives (DOS 2.0/2.1)

128K, one doublesided disk drive (mouse optional)

Maximum Number of Characters Directly Manipulable

varies according to disk size and user-set size of swap file

largest document. 32.000 characters

files up to 8 megabytes, depending on storage capacity

I28K in document: each page 6K long

varies according to disk size

Command Structure

control keystrokes organized by threelevel menus, userdefinable function-key support

menu-driven with function keys

command-driven, but uses function keys

mainly menu-driven with a few keystroke commands

command mode, linestructure oriented

On-line Help?

yes: optional command menus at top of screen accessed by keystroke commands

yes: through function keys and info screens

yes: four levels of help from no help to maximum help (user can specify level)

yes: while editing, hit Shift and Fl. and from main menu

yes: 50-page text onscreen Help screens

Longest Line Length

65,535 characters (no horizontal scrolling)

79 columns

2 56 characters

156 characters

22 inches horizontally anb vertically

Use of IBM PC Function Keys

optional: use of Alt. Shift, Cntrl. and assignable keys

extensive

yes: mainly as userdefinable macros for WordStar functions

strong use of function keys: combinations of Cntrl. Alt. and Shift (40 options)

minimal: used specifically to jump from window to window and for selection of text

Insertion of Nonprinting ASCII Control Characters?

yes

yes

yes. i.e.. phantom spacing

no

yes

Formatting Scheme

both on-screen and embedded command formatting possible

mostly through Define Page and through Type/Edit

through Cntrl commands, formats on screen

mainly format lines placed in document page (text)

on-screen and through style sheets

Print While Editing?

yes

product spools through printer card but not via product itself except file by file

yes

yes: background capabilities

yes: has queuing capability

Change Default Parameters? How?

yes: through menudriven configuration program

no

yes: through its install program

yes: through menus

yes: via various menus or special key codes

Automatic Formatting Capabilities?

extensive and complex capabilities through embedded commands

yes: in Type/Edit

some: user can change margins

yes: some

alternating headers and footers

Change from Single- to Double-Spacing?

yes: through formatting "style" function

yes: at print time

yes: DOT commands

yes: by search and replace of format lines

yes: via command menu or Alt key code

Can Text Be Searched for Printing Attributes?

yes

yes

yes

yes

no

Features of Disk-File Format

in 1.16. users have option to use full 8-bit characters covering entire PC character set. or users can stick to 7-bit characters and use the eighth bit for on-screen highlighting

DOS to format disk

n.a.

nonstandard file format with conversion utility to create standard ASCII files

can automatically save files in ASCII format

Reviewers Assessment

1 like this program's features slightly more than 1 dislike its limitations

I like this program slightly more than 1 dislike it

1 like this program much more than 1 dislike it

1 dislike this program slightly more than I like it

I dislike this program's features more than i like its benefits

Fall 1984 • BYTE Guide to the IBM PC

181

Circle 133 on inquiry card.

Performance BIOS

A low-cost way to improve the performance of your IBM PC.

• Plug-in replacement for the original BIOS ROM.

• Faster floppy disk writes.

• Faster console output.

• ANSI console driver in place of "dumbTTY."

• Serial printer support.

• Auto search for expansion BIOS ROMs.

• And more...

PC Performance Inc.

117 N. First St. • Ann Arbor, MI 48104 (313) 761-9347

BIG TIME STATISTICS GO SMALL

Statpro™ brings the power of mainframe statistics to your personal computer.

Now you can do serious statistical analysis on your IBM or Apple® PC. Including descriptive statistics, regression, time series, ANOVA and multivariate analysis. What's more, Statpro lets you plot all your results in four-color charts and graphs.

Sfc You get all this in one

integrated, easy-to-use, fully documented package. For a Statpro demo, contact your local dealer. Or Wadsworth Professional Software, Inc., Statler Office Building, 20 Park Plaza, Boston, MA 02116.

800-322-2208

(in Massachusetts, 617-423-0420)

Wadsworth Professional Software

Statpro is a trademark of Wadsworth Professional Software, Inc.

Apple is a registered trademark of Apple Computer, Inc.

IBM is a registered trademark of International Business Machines, Corp.

WORD PROCESSING

but it's extremely hard to learn and operate. However, your hefty investment in time and frustration will pay off handsomely, and you'll enjoy its sophisticated subtleties and considerable capabilities.

A Roundup

These five programs appear to balance out in basic benefits and disadvantages, I wouldn't rate any of them unacceptable. Nor would 1 rate any of them way above the rest.

Particular features 1 like in WordStar are its compatibility with other programs, its capability to do just about anything you need a word processor to do, and the inherent integrity its developers adhere to in delivering on its promises to the user.

Advantages 1 appreciate most in pfs: Write include its built-in simplicity and its utility as a basic word-processing program.

Microsoft Word garners some favor because it is paving the way in flexibility. Microsoft's pioneering efforts may be the beginning of a whole different way for people to use word processors. MultiMate rates high in the areas of security and user support (through its toll-free user hotline).

Advanced formatting capabilities distinguish FinalWord. Even with all the recent enhancements to other word-processing programs, FinalWord still ranks high as one of the most able handlers of text-processing tasks.

Certainly, how much an individual likes or dislikes any word processor depends on the application for which it is used. At the moment, there is no ideal or near-ideal word-processing program to be had. As there is no camera that suits the majority of photographers, there probably never will be any software that fills most people's wordprocessing needs.

Along with many other word-processor users. 1 believe that some firm could make a serious financial killing were it to delete the disadvantages of these five programs and combine the benefits. My kudos will go to the developer who creates a word processor that has the ease of pfs:Write, the safety of MultiMate, the formatting capabilities of FinalWord, the flexibility of Microsoft Word, and the compatibility of WordStar. ■

182 ■ BYTE Guide to the IBM PC • Fall 1984

Circle 182 on inquiry card.

DISK DRIVE

ANALYSIS PROGRAM

... A UNIQUE APPROACH TO DISK RELIABILITY!

Select any one of seven tests to perform preventive maintenance or to isolate problems. Simple, single-letter commands make DDA easy to use! Use DDA to align the head, or adjust the speed.

Use the DDA Radial Alignment Test to check the head alignment of your drives. No need for an oscilloscope or other expensive test equipment!

Check the motor speed of your drives. Or, you can even use the Speed Test to adjust the drive speed. No need for any test equipment!

PROTECT YOUR DATA.

Now you can make sure your data is being recorded properly by the use of the revolutionary Disk Drive Analysis Program.

The Disk Drive Analysis Program from J & M Systems, tests your disk's performance and calibration without any additional equipment! It measures your disk's performance and displays it on your screen. /

This is the most comprehensive disk diagnostic program available for your IBM microcomputer. You can even adjust drive alignment whiteiwcrrchrng the display!

Spot problems before they endanger your data! If you own a disk drive, you need the Disk Drive Analysis Program!

Use the Quick Test to quickly and automatically test five of the most important performance parameters of your drive. Monitor your drives for long term drift. Isolate problems quickly and automatically!

IBM \

1 -160K Drives

2 - 320K Drives (Also test

160K drives)

DDA also available for other models

J & M SYSTEMS IS THE DRIVING FORCE!

VIa

J & M SYSTEMS, LTD. 137 UTAH NE • ALBUQUERQUE, N.M. 87108 • 505/265-1501

Circle 89 for Dealer inquiries. Circle 90 for End-User inquiries.

Fall 1984 • BYTE Guide to the IBM PC

183

NETWORK

BUY HARDWARE AND SOFTWARE AT WHOLESALE +8%, AND GET 12-21 DAY SOFTWARE RENTALS* ...

Join the thousands of buyers who have saved more than $8,000,000.00 on over 25,000 orders in just the last six months.

The nation's largest corporations depend on PC NETWORK!

On our corporate roster are some of the nation's largest financial industrial and professional concerns including:

AT&T

Barclays Bank

Bell & Howell

Centel

Citibank

Columbia University

Farm Bureau Insurance

Frontier Airlines

GATX Corporation

General Mills Harvard University Hughes Aircraft National Opinion

Research Center Standard Oil of Ohio University of Chicago Veteran's Administration

Hospitals

plus thousands of satisfied consulting firms, small businesses, computer clubs, user groups, municipalities, government agencies and valuewise individuals ACROSS THE NATION! Their buyers know that purchasing or renting from PC NETWORK saves them time, money and trouble. They also count on us for product evaluation, professional consultation and the broadest spectrum of products and brands around.

CALL TOLL FREE 1-800-621-S-A-V-E

In Illinois call (312) 280-0002

Your Membership Validation Number: 392 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 service consultants are on duty Mon-Fri 8 AM to 7 PM, SAT ^ 9 AM to 5 PM CST.

PERSONAL COMPUTER NETWORK 1 320 West Ohio \\

™ Chicago, Illinois 60610 \^y

Call now...Join the PC NETWORK and start saving todayl

I am under no obligation to buy anything. My complete satisfaction is guaranteed. Please check { *S) all boxes that apply:

Raoir- Usmhorahin C>ui>i-il U I D ft

Basic Membership

□ One-year membership for $8

□ Two-year membership for $15 (SAVE $1)

D Business Software Rental Library for $25 add'l. per year—with 12 day rentals

D Games Software Rental Library for $10 add'l per year

□ Bill my credit card: □ VISA

Account Number:

Exp. Date

Listed below are just a few of the over 20,000 products available at our EVERYDAY LOW PRICES! All software below is priced in IBM-PC format.

PC NETWORK • MEMBERSHIP APPLICATION

YESI Please enroll me as a member in the PC NETWORK"* and rush my catalog featuring thousands of computer products, all at just 6% 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.

392

Special V.I.P. Membership"

D 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—with 21 day renlals *VIP members receive advance

notice on limited quantity merchandise specials D MasterCard □ American Express

mo. year

□ Check or money order enclosed for $ .

Name

Address

City State

Telephone ( )

Please provide the following information to insure compatibility with your system (check all boxes that apply):

My computer(s) is: □ IBM PC □ Apple II □ TRS-80 D Kaypro

a Other: .

Signature

(Signature required to validate membership) Copyright ©1984. PC NETWORK INC.

GAMES & EDUCATIONAL SOFTWARE

(Pfease add $1 shipping and handling Wholesale Avant-Qarde Air Traffic Controller 516.50*

Bluebush Chess {Your Toughest Opponent) 34.00* Broderbund Lode Runner 19.7S*

CBS Goren-Bridge Made Easy 48.00'

Epyx Temple of Apshai 21.97*

Infocom Zork I, II, or III 21.50*

infocom Deadline, Witness or Suspended 27.00*

Microsoft Flight Simulator 27.00*

Orion JBird (QBert Look Alike} 22.00*

Orion PCMan (Great Pac Man) 21.00*

Scarborough Mastertype 27.00*

Screenplay Asylum (works with mono card foo/t 5.50'

tor each litle ordered from below.)

Sierra On-Line frogger Sierra On-Line Crossfire SubLogic Night Mission Pinball Spinnaker Alphabet Zoo Spinnaker Delta Drawing Spinnaker FaceMaker Spinnaker Hey Diddle Diddle Spinnaker KinderComp Spinnaker Rhymes & Riddles Spinnaker Story Machine Spinnaker Most Amazing Thing Virtual Combinatics Micro Cookbook

Wholesale 21.00" 18.00* 24.00* 17.00* 29.00* 20.00* 17.00' 17.00* 17.00* 20.00* 23.00* 21.00*

BUSINESS SOFTWARE

{Please add S2.50 shipping and handling tor each title ordered from below.)

ATI How to use MultiMate

ATI How to use Microsoft: Word

ATI How to use Lotus 1-2-3

Ashlon-Tate DBASE-II New Lower Price

Ashlon-Tate DBASE III

Ashton-Tate Framework

Ashlon-Tate Friday!

Central Point Copy II PC

Conceptual Instruments Desk Organizer

Digital Research CP/M-86

Digital Research OR Logo

Digital Research PL/I Compiler

Funk Software Sideways

Harvard Harvard Project Manager

Hayes SmartCOm II

Human Edge Tim Management Edge

Human Edge The Sales Edge

Lotus Development Lotus 1-2-3

MicroRim RBese 4000

Microsoft C Compiler

Microsoft Word with Mouse—Latest Version

$42.00'

Microsoft Multiplan

105.00*

42.00'

Monogram Dollars & Sense

85.00*

42.00'

Oasts The Word Plus

90.00*

275.00*

Open Systems P/O Sales A/RINV G/L A/P

418.00*ea

CALL

Team Mgr

CALL

Real World G/L A/P A/R P/R or OE/INV

387.50'ea

158.00*

Rosesoft Prokey Version 3

74.00'

23.00*

Ryan McFarland RM COBOL (Development

570.00*

150.00*

System)

30.00*

Satellite Software WordPerfect

210.00'

55.00'

Softer aft Fancy Fonts

125.00'

399.00*

SoftstyleSer-FX

40.00*

36.00'

Software Publishing PFS: File

74.00*

215.00'

Software Publishing PFS: Report

85.00'

88.00*

Software Publishing PFS; Write

74.00*

145.00*

Software Publishing PFS: Graph

74.00'

145.00*

Sorcim Supercalc 3

198.00'

CALL

SPI Open Access

335.00*

260.00*

TCS Client Ledger

730.00*

275.00*

Verbatim Disk Drive Analyzer

25.00*

255.00*

HARDWARE

(Please add shipping and handling charges found in italics next to price.)

955.00" (20.97) CALL CALL CALL

1,940.00* (48.00)

2,675.00* (62.00)

COMPLETE SYSTEMS

Apple Macintosh Base System 1,810.00* (39* 1°).

Apple Apple //c Apple Apple //e

Columbia Desktop & Portable Systems

Ejgle Desktop PC and Spirit Portables

-IBM PC 2 DSDD Floppy Drives/Color

Card/Mono Monitor/Printer Part -IBM Hard Disk 1 Floppy/WMb Hard

Disk/128K/Color Card/Mono Monitor NEC Notebook New Price! 420.00* (10.00)

Sanyo MBC 550 'Lowest Cost MS- 710.00* (75.00;

DOS System'' Tava Complete IBM compatable 1,610.00* (36.95)

(128K/Color Card/Mono Mon/2 drives) Tava Complete IBM compatable 1,610.00* (36.95)

(128K/Mono Card/Mono Mon/2 drives) Texas Instruments Prolessional CALL

DISK DRIVES & CONTROLLERS

Cogilo 1/2 Ht Low Power 10MB 820.00* (18.00)

Winchester W/IBM Controller

-•IBM Floppy Disk Controller 105.00* (2.50)

Maynard WS-1 10MB Internal Hard 860.00* (18.00)

Disk with Sandstar Multi Function Card

Maynard WS-2 same as WS-1 but with 960.00' (20.75)

Sandstar Floppy Controller (uses 1 slot)

Maynard Floppy Controller/Serial Port 165.00* (2.50)

-Panasonic Halt Height DSDD Drive Pair 275.00* (6.92)

Qume Hall Height DSDD Drive Pair 350.00* (7.00)

(Same as usedon IBM Portable)

-Tandon TM100-2 Full Height DSDD Drive 168.00* (4.00) Taltgrass 20MB External Hard Disk 2,800.00' (46.20)

with Tape Backup

TeacFD55-6 Halt Height DSDD Drive Pair 300.00' (7.00)

MEMORY CHIPS

All chips guaranteed lor life. 64K Memory Upgrade Kits (9 Chips) 42.75*

64K Dynamic Ram Chips (Each)

MULTIFUNCTION CARDS

Apparal 512K Memory Board with OK

85.00*

(250)

Apparat Combo II w/ser/par/game/

123.00*

(2.50)

clock/sfwr

AST Six-Pack Plus with OK

205.00*

(2.50)

AST MegaPlus II with OK

205.00*

(2.50)

AST I/O Plus II

105.00*

(2.50)

Quadram Improved Quadboard

197.00*

(2.50)

384K with OK

Tecmar Captain Multifunction Card

200.00'

(2-S0)

with O/K

PRINTERS

Abati 18CPS Letter Quality

340.00'

(8.00)

Comrex/Brother CR-II13CPS LQ Printer 399.00*

(8.62)

Comrex/Brother Typewriter Keyboard

150.00*

(3.25)

tor CR-II

Comrex/Brother Cat Sheet Feeder

180.00'

(3.89)

lor CR-II

Epson RX-80

287.00*

(6.00)

Epson FX-80

415.00*

(9.25)

Epson FX-100

600.00*

(14.35)

Epson L 01500

CALL

Epson IBM-to-EPSON Parallel Cable

21.00*

(1.00)

NEC 2030 20CPS LQ Parallel

625.00'

(16.53)

■NEC 2050 20CPS Letter Quality Printer

765.00*

(16.53)

NEC 3530 33CPS LQ Parallel

1,185.00*

(31.54)

(1.00) (1.00)

(3.60) (2.50)

299.00* (2.50J

4.75'

MODEMS

Anchor Mark XII LOWEST PRICE 1200BPS 230.00'

HAYES COMPATABLE EXTERNAL MODEM! Hayes Smartmodem 300 180.00

Hayes Smartmodem 120QB with 386.90

Smartcom II Hayes Smartmodem 1200B without

software R\xonR212A Stand Alone 1200BPS U.S. Robotics Password (Compact

1200BPS External)

MONITORS

-Amde* Video 30QG Composite Green 110.00* (3.00)

-Amde* Video 300A Composite Amber 120.00* (3.00)

- Amdrik Video 310A IBM Type Amber 130.00* (3.00)

-Amdnk Color II+ RGB Color 362.00* (6.00)

Princeton HX-12 RGB Monitor CALL

Princeton MAX-12 IBM Mono CALL

Princeton SR-12 Ultra High Res RGB CALL

Taxan 210 Combo RGB/Composite 245.00* (6.00)

Taxan 420 Super High Res RGB Monitor 400.00* (9.30)

Zenith ZVM-123 Green High Res 76.00' (2.50)

(Consumer Reports Rated Bost Buy!)

Zenith ZVM-135 RGB/Composite 470.00* (12.00) (High Res with Green Switch tor text work)

■ NEC 3550 33CPS Letter Quality Printer 1,460.00* (31.54) Okidata ML84P 200CPS 132 Col 720.00* (16.00)

Okidata ML92P 160CPS 80 Col Printer 395.00* (8.55)

-Okidata ML93P 160CPS Wide Platen 590.00* (15.00)

-Okidata 2410P Pacemark 350CPS 1,850.00* (60.00)

132 Col Okidata IBM-to-Okidata Parallel Cable 20.75* (1.00) Qume Sprint 11/45 45CPS Letter Quality 1,155.00* (24.00) Qume IBM Cable and Interlace (required) 72.00* (1.00) Star Micronics Gemini 10X 246.00* (6.00)

Texas Instruments 055 DP/LQ w/Tractor 716.00* /T5.50J

-Toshiba P-1351 160/100 CPS Draft/ 1,200.00* f32.00J LQ Printer

VIDEO CARDS

-Amdek MAI Card

Eagle Monochrome Display Card -Hercules Monochrome Graphics Card

Hercules Color Card with Parallel Port -Paradise Multidisplay Card

Quadram Quadcolor I Color Card

Quadram Quadvue Mono Card w/Ser/Par/Clock

STB Grephix Plus

STB Graphix Plus II NEW! (simultaneous Mono Graphics & Color)

STB Clock Option for Graphix Plus 30.00*

ACCESSORIES AND SUPPLIES

Brand Name DSDD Diskettes 20.00' (1.00)

Guaranteed for Lite!! Curtis PC PedestalII 54.00* (3.00;

Keytronic KB5151 Deluxe IBM Keyboard 186.00* (4.00) WP Printer Paper 2600 Sheets 17.00* (10.00)

Microfine Peris (Invisible when torn)

'PC NETWORK Members pay just 8% above the

wholesale price, plus shipping. All prices reflect a 3%

cash discount. Wholesale prices fluctuate rapidly—all prices in this Issue have been prepared 60 days In advance. Please call for latest prices. Minimum shipping 2.50 per order.

310.00*

(2.50)

1B0.00*

rs.so)

208.00*

(2.50J

CALL

332.00*

(2.501

170.00*

(2.601

210.00*

(2.50)

240.00*

(2.501

295.00*

(2.50)

(1.00)

fRENT BEFORE YOU BUY—Members are eligible to join The NETWORK'S Business and Game Software Rental Libraries and evaluate products for a full 12 (Regular) or 21 (VIP) days to see if it meets your needs. And The NETWORK'S rental charges are far less than other software rental services—JUST 20% OF THE MEMBER WHOLESALE PRICE.

Hardware prices highlited by ■**■ reflect recent major price reductions

184

BYTE Guide to the IBM PC • Fall 1984

NETWORK

... AS A PC NETWORK MEMBER ONLY!

*e.*-.ecr.

COMPLETE ISM™ PC SYSTEMS

IBM PC STARTER SYSTEM

IBM PC W/64K $1,940.00* (18.00)

(256K System Board Capacity)

Floppy Drivo Controller

2 Double Sided Double Density 320/360K Disk Drives

I lercules Color Card with Parallel Port

Zenith /VMIP3 High Res Monochrome Monitor

I he Nt T WORK has the perfect starter system lor you! The combination ol double Sided disk drives and a color card enable you to run ANY program—from games and educational software to the most sophisticated business applications.

IBM PC PROFESSIONAL HARD DISK SYSTEM (XT)

IBM PC W/128K $2,675.00* (62.00)

(256K System Board Capacity) —

/ Double Sided Double Density 320/360K Dish Drive Hercules Coloi Card with Parallel Port Zenith ZV123 High lies Monochrome Monitor

w/Evcrex Hall Height Disk Subsystem:

Half Height lOMh Drive Allows Room

tin Addition ol lape Backup in PCI

Automatic Haul Disk Hoot I valine

rhis system Increases productivity In any business oi professional situation rhe inMb haul disk eliminates cumbersome Moppy disk changes, simplifies operations and dramatically speeds program execution lime rheNE t work's buying powei provides you with bettei than XT performance it a price lowei than you'd expect to

"PC Nclwork Member

I in",i- prices have bei new producl announo

Custom Configurations

YOUR SYSTEM EXACTLY AS YOU WANT IT—With the NETWORK'S over 20,000 hardware and software products we can configure a system to your exact specifications ALL AT JUST 8% ABOVE THE DEALER WHOLESALE PRICE! Ask our trained consultants about any drive, monitor, multifunction card or any other component which will meet your unique requirements.

si ii",, above this whole:

LATEST ISSUE REDUCTIONS!

As the NETWORK'S volume grows our prices drop. The following popular products are now available at these new lower prices!

64K MEMORY EXPANSION KITS

! '.t ■! i il '1 i hipS I ithli.intend tut I tie

$ 42.75* set

TANDON TM100-2 DRIVES

168.00* ea.

PANASONIC

117 Height Disk Drives with Mmnii Kll

275.00* pr.

AMOEK MONITORS

V300G Composite Green v:iniiA Composite Ambei v.'iioa ium Ambei

110.00* 120.00* 130.00*

HERCULES MONOCHROME GRAPHICS CARD

298.00*

HAYES 1200B

Wiihuiii Software

299.00*

NEC 3550

33 CPS I ottei Ou,iiiiy Prlntei

1,460.00*

HAYES SMARTCOM/II

Communications Package

68.00*

BRAND NAME DISKETTES

DS/DDBoxof id Guaranteed tor Lite

20.00*

•Nl I WORK members pay just 8",. above these wholesale prices plus shipping.

CALL TOLL FREE 1 -800-621 -S-A-V-E (memblwhlpsj In Illinois call (312) 280-0002 validation code 392 ""ly

...WITH THESE 15 UNIQUE BENEFITS

1COST+ 8% PRICING—The NETWORK purchases millions of dollars in merchandise each month. You benefit in receiving the lowest price available and all at just 8% above published dealer wholesale price.

2OUR 400 PAGE WHOLESALE CATALOG—Members receive our 400 page wholesale catalog containing over 20,000 hardware and software products for the IBM PC, APPLE and over 50 other popular computer systems. THE NETWORK'S CATALOG IS THE LARGEST SINGLE COMPILATION OF PERSONAL COMPUTER PRODUCTS AVAILABLE TODAY.

3EXPERIENCED CONSULTANTS—The NETWORK hires consultants, not order takers, to aid you in product selection. Our consulting staff possess' in excess of 150 man years of personal computer product experience. We back our consultants with our money back guarantee: IF ANY PRODUCT RECOMMENDED BY OUR CONSULTINQ STAFF FAILS TO PERFORM AS PROMISED-OR IS INCOMPATIBLE WITH YOUR SYSTEM-WE WILL TAKE IT BACK AT OUR EXPENSE FOR A 100% REFUND.

4 IN-STOCK INSURED FAST HOME DELIVERY—The NETWORK maintains a giant multi-million dollar inventory of most popular products, allowing us to ship many orders from stock. Non-stock items are typically maintained in local warehouses just days away from The NETWORK and YOU. We pay all insurance expenses on your shipment. EMERGENCY OVERNIGHT SERVICE IS AVAILABLE ON REQUEST.

5 FREE TECHNICAL SUPPORT—The NETWORK supports every product it sells. We maintain a qualified TECHSUPPORT staff to help you assemble your system, interpret vendor documentation and get your software and hardware to work. WE WILL GIVE YOU ALL THE HELP YOU NEED, WHEN YOU NEED IT—FREEI

ItfiOPTIONAL BU8INE88 RENTAL LIBRARY—All

w members can join our BUSINESS RENTAL LIBRARY for Just $25 PER YEAR above the base membership fee. This entitles you to rent business software AT JUST 20% of the DISCOUNTED PRICE FOR A 12 DAY PERIOD. If you decide to keep the software, the entire rental fee Is deducted from the purchase price. VIP MEMBER8 GET A FULL 21 DAY8 for Just $30 above the V.I.P. bate fee. This also includes the game library privileges for a $5 combination savings.

117 OPTIONAL GAME SOFTWARE RENTAL LIBRARY

■ —The Game Rental library Is available to members for just $10 PER YEAR and permits evaluation (or just enjoyment) of any game or educational software product as above.

8SPECIAL SAVINGS BULLETINS—THE PRINTOUT —The NETWORK seeks every opportunity to save money for its members. We buy excess dealer inventories, and store bankruptcy closeouts regularly. We then turn around and make this merchandise (only top quality name brand products) available to our members at fantastic savings via THE PRINTOUT, our newsletter and savings bulletins.

9 DISCOUNT BOOK LIBRARY—Working with numerous publishers and distributors, The NETWORK has assembled a library of over 1000 computer related books and manuals at savings of up to 75% from the normal store price.

MEMBERSHIP REFERRAL BONUS—Our most valuable source of new members is you! To date almost 40% of our members have been referred by word of mouth from other satisfied members. For those of you who refer new members, The NETWORK will credit a cash bonus to your account applicable to any future purchase.

1-f CORPORATE ACCOUNT PROGRAM—Almost I 50% of The NETWORK'S members are corporate buyers and users (see opposite page left). The NETWORK can establish open accounts and assign designated account managers to expedite orders, and coordinate multiple location shipments.

1QQUANTITY DISCOUNTS—For large corporations, Km clubs, and repeat or quantity buyers The NETWORK can extend additional single order discounts, when available to us from our manufacturers and distributors.

IO PRICE PROTECTION—The PC Industry is crazy!! O Prices change not yearly or monthly or even weekly but often day by day! These changes are sometimes up but are mostly down!!! THE NETWORK GUARANTEES THAT IN THE EVENT OF A PRODUCT PRICE REDUCTION, BETWEEN THE TIME YOU PLACE YOUR ORDER AND THE TIME THE PRODUCT SHIPS YOU WILL ONLY PAY THE LOWER AMOUNTII And remember, for Clients who pay by Credit Card, we never charge your card until the product ships.

1 ^MEMBERSHIP SATISFACTION GUARANTEE Hi If for any reason you are not satisfied with your membership within 30 days, we will refund your dues IN FULL.

1CPRODUCT SATISFACTION GUARANTEE 3 If your are not satisfied, for any reason with any hardware component purchased from The NETWORK within 10 days of receipt, we will refund your entire purchase (less shipping) with no questions asked.

Circle 132 on inquiry card.

10!

Statistics, reports and plots happen magically with SPSS/PC -the Statistical Package for IBM PC/XTs*

SPSS/PC is the most comprehensive statistical package for performing simple or complex tasks, regardless of data size. It maintains feature and language compatibility with mainframe SPSS, while optimizing for the PC environment.

Statistics range from simple descriptive to complex multivariate, including Multiple Regression. ANOVA. Factor and Cluster analysis. Loglinear and nonparametric procedures arc also included.

Simple facilities allow transfer of files between

wto

SPSS/PC and programs like Lotus 1 -2-3, dBase II and SAS. A complete Report Writer. Plotting facilities and a Communications program for mainframes round out a fully integrated product.

For more information, contact our Marketing Department without further ado. And see what a little stat magic can do for you.

SPSS Inc., 444 N. Michigan Avenue. Chicago. IL 60611, 312/329-2400.

In Europe: SPSS Benelux B.V.. P.O. Box 115, 4200 AC Gorinchem, The Netherlands, Phono: i 31183036711 TWX: 21019.

PRODUCTIVITY RAISED TO THE HIGHEST POWER

'SPSS/PC runs on the IBM PC/XT with 320K memory and a hard disk. An 8087 co-processor is recommended. Contact SPSS Inc. lor other compatible computers.

IBM PC/XT is a trademark of International Business Machines Corporation. dBase II is a trademark ot Ashton-Tate. 1-2-3 is a trademark of Lotus Development Corporation

SAS is a trademark of SAS Institute. Inc. SPSS and SPSS PC are trademarks of SPSS Inc. for its proprietary computer software. c copyright 19W SPSSinc

UPDATE ON SIX DATABASE

MANAGERS

A comparison of six popular DBMSs for the IBM PC

by David Kruglinski

i

n 1981, no more than half a dozen software packages purported to be .database management systems (DBMSs). Most of these ran under CP/M, then considered to be the universal standard for microcomputer operating systems. Then came the IBM PC, a pathetic little thing at first, with one single-sided disk drive, 64K bytes of memory, a weird keyboard, and no printer port. BASIC and a slow version of WordStar were the only software available. "This is a waste," I thought. "I'll stick to my CP/M machines."

Now, just three years later, the old machines are out the door, and 1 am contemplating getting a second hard-disk PC. Why the switch? Recently, one magazine's annual software review listed 115 DBMSs (surely there are 150 by now).

all running on the IBM PC and compatible machines. Each DBMS has its own personality, however, and the one you choose should match both the job to be done and your staff's skills. Because DBMS projects can require a few hours or several person-years, choosing the wrong program can be very expensive. Therefore, the more you know about DBMSs, the better equipped you will be to choose the right software for your data-management task.

This article describes six popular DBMS packages in three categories. Pfs: file/pfs:report and C.I.P fall into the "entry-level" class, requiring minimum

[continued)

David Kruglinski is president of Tenon Software (1910 Fairview East. Seattle, WA 98102).

*— Circle 169 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

187

DATABASE MANAGEMENT SYSTEMS

skills and expense. Condor 3 and R:base 4000 are "programmerless" DBMSs with more power than the first group. dBASE 11 and KnowledgeMan are complete programming environments that require a skilled programmer for setup, but permit clerical workers to do data entry and retrieval.

Common DBMS Features

Any DBMS application could be programmed from scratch. DBMS software just makes development easier and faster, and it makes the resulting system

more flexible and expandable.

The DBMS's window to the world is the PC's screen. Figure 1 shows how the owner of a computer bookstore would set up the screen for an inventory system. Each title is represented by one record, and the information within the record is represented by fields such as PUBLISHER and CATALOG.NUMBER. All the records for all the titles are known collectively as a file. A group of files forms a database. Some DBMS publishers use different terms, but the concepts are the same. The list of all

—Book Inventory R( PUBLISHER _ TITLE

;cord—

CATALOG.NUMBER _

RETAIL.PRICE _

QUANTITY.ON.HAND _ SALES.DOLLARS

REORDER.POINT _

YTD.QUANT1TY.SOLD _ QUANTITY.SOLD _

Figure 1: Setting up a DBMS input screen.

Table 1: A typical DBMS data dictionary.

Field

Type

Length

Low Limit

High Limit

PUBLISHER:

Alphanumeric

3 chars

CATALOG.NUMBER:

Numeric

4 digits

0

9999

TITLE:

Alphanumeric

30 chars

RETAIL.PRICE:

Dollars

5 places

0.00

99.99

REORDER. POINT

Numeric

4 digits

0

9999

QUANTITY.ON.HAND:

Numeric

4 digits

0

9999

YTD.QUANTITY.SOLD:

Numeric

5 digits

0

99999

SALES.DOLLARS:

Dollars

8 places

0.00

99999.99

QUANTITY.SOLD:

Numeric

4 digits

0

9999

fields in a record, along with their names and characteristics, is known as the data dictionary (table 1). The data dictionary contains more information than is apparent from looking at the screen.

Once you have defined the screen and data dictionary, you can enter, view, and update data on the screen, as shown in figure 2. You can also print a report, either to the screen or to the printer, as shown in table 2. The DBMS allows you to select the fields to be printed, the records to be printed, and the sort order. You could, for example, print only those titles with a retail price over $10.

Both reporting and screen viewing can be classified as a query—a question about the data in the file. The report is an example of tabular query output. If the useful data in a record exceeds 80 or 132 columns, then a full-screen query is necessary. You could, for instance, ask to see books costing more than $10, then have the DBMS display those records one screen at a time.

Basically, this is how all DBMSs work. You build the screen and data dictionary, enter the data, and print the reports.

Differences Among DBMSs

Despite the similarities among DBMSs, each system has a unique set of capabilities. Here are some ways in which they differ.

Limitations. Some DBMSs impose severe restrictions on field length, record length, and number of fields per record. These limitations are obvious from the specifications outlined in table

Systems Reviewed

dBASE II

CLP

pfs:fl!e/pfs:report

Ashton-Tate

Concentric Data Systems Inc.

Software Publishing Corp.

10150 W. Jefferson Blvd.

18 Lyman St.

1901 Landings Dr.

Culver City, CA 90230

Westboro, MA 01581

Mountain View, CA 94043

(800) 437-4329

(800) 325-9035

(415) 962-8910

(213) 204-5570

(617) 366-1122

R:base 4000

Condor 3

KnowledgeMan

Microrim Inc.

Condor Computer Corporation

Micro Data Base Systems Inc.

3380 146th PL, SE

2051 S. State St.

POB 248

Bellevue, WA 98007

Ann Arbor, MI 48104

Lafayette, IN 47902

(206) 641-6619

(313) 769-3988

(317) 463-2581

188 • BYTE Guide to the IBM PC • Fall 1984

DATABASE MANAGEMENT SYSTEMS

3. If you need 60-character product descriptions and a DBMS allows only 50 characters per record, you can eliminate that program.

Single vs. multifile. Suppose you have a file of company addresses and a file of product descriptions, one field of which contains the company name. A single-file DBMS lets you view and list the companies, then it lets you view and list the products. A multifile DBMS allows you to associate the two files based on company name. When the program needs the company name in the product file, it then goes to the company file to find its address. You can then print a list of products with company addresses. Despite this advantage, multifile DBMSs are more expensive and more difficult to learn than sihglefile systems. Remember that single-file programs cover a surprisingly large range of applications, so it might be easier and cheaper for you to combine

the company and product information in one file, even though it means duplicating addresses of companies offering more than one product.

One group of multifile DBMSs are referred to as relational systems. This means that files, known as relations, conform to a mathematical model so that certain relational operations can take place. This is a kind of electronic cut-and-paste allowing new relations to be created from existing relations. For example, if a company name is joined with a product name, the resulting relation contains a record for each company-product combination. Some relational DBMSs create a new physical file for each operation; others create a virtual file, thereby saving disk space and reducing redundancy.

Screen design. Each DBMS uses a different method for screen design. Sometimes you design the screen before the data dictionary, and some

—Book Inventory Record—

PUBLISHER BYT

CATALOG.NUMBER 960

TITLE Ciarcia's Circuit Cellar

RETAIL.PRICE 8.00

REORDER.POINT 50

QUANTITY.ON.HAND 25

YTD.QUANTITY.SOLD 30

SALES.DOLLARS 240.00

QUANTITY.SOLD 15

Option:

Revise (R), Delete (D), No Change (N),

End (E) (save as shown)

Figure 2: Editing data using a formatted screen.

Table 2: A

typical DBMS report

or tabular query.

04/15/82

COMPUTER BOOK PRICE LIST Page 1

PUBLISHER

CATALOG.NUMBER

TITLE

RETAIL.PRICE

BYT

960

Ciarcia's Circuit Cellar

8.00

BYT

1040

Layman's Guide to SBC's

10.00

BYT

4925

You Just Bought a Personal What

11.95

BYT

6745

Beginner's Gde to UCSD Pascal

11.95

BYT

8360

Threaded Interpreted Languages

18.95

OSB

1988

PET/CBM Personal Computer

Guide

15.00

OSB

8806

Some Common BASIC Programs

14.99

OSB

8821

Z80 Assembly Language Prgmng

16.99

OSB

8828

Running Wild

3.95

OSB

8844

CP/M User Guide

12.99

OSB

8847

Business Systems Buyers Guide

15.00

times you design the data dictionary first. Most packages let you design the screen as though you were using a word processor.

Query method. Here you find the biggest difference among DBMS products. Early DBMSs developed their own ad hoc query languages. For example, you could type

LIST CATALDG.NO, TITLE, PRICE WHERE PRICE > 10 SORTED BY CATALOG.NO.

This adapts to both tabular queries and full-screen queries. Query languages have been formalized by an IBM-developed standard called SQL (structured query language). SQL allows queries on multiple files, and it allows for subtotals and page headings. SQL and most other query "languages" require you to know the exact names of the fields and relations in the database.

Another query method, QBE (query by example), also comes from the IBM mainframe world. This is a wonderfully easy to use and useful system; unfortunately, it is not included in many DBMSs. Figure 3 shows an example. A real estate agent has asked to see all Sunnyvale listings with three or more bedrooms and costing less than $130,000. The agent can run through the retrieved listings, using the same screen used for entering and updating those records. With a QBE system, you just move through the screen, filling in the blanks with conditions, all of which must be met for the selection to be displayed.

A new query method depends on advances in Al (artificial intelligence). The query language is English (or, presumably, French if you live in France), resulting in sentences like

LIST THE SALESPEOPLE AND THEIR SALARIES

followed by

IUST THE ONES IN CALIFORNIA

An AI query language can handle multiple files and can look at the data within those files to make sense out of inquiries. The system will ask questions about words it does not understand and

{continued)

Fall 1984 • BYTE Guide to the IBM PC • 189

DATABASE MANAGEMENT SYSTEMS

remember the answers for later queries. Al is very new and has not been proved in the marketplace. The major question concerning the use of AI is whether queries can be phrased precisely enough. Ease of Change. If you are just start

ing a new DBMS application, you will make mistakes. For instance, you might allow five numeric digits for a zip code, then be faced with a Canadian address containing a six-letter postal code. You must be able to restructure the file, changing the field characteristics and

QUERY: ESC executes. CTRL C aborts. F10 clears all. Fl for help.

•*

: listings file* *

listing number:

address:

city:

1 1

1

[Sunnyvale

I listed: I I I sold: | |

footage 1 1 asking price: listing notes:

bedrooms l> = 3 I |< 130000 1 1

baths lotsize

1 1 1 1 sale price:

corner 1 1

schools 1 1

1 1 1

listing agent: address: city: phone:

1

1

agent number:

zip: salary: $0.00 rating:

0

Figure 3: A query-by-example (QBE) screen.

length, but preserving the alreadyentered data.

Report Generator. A query language produces tabular lists, but it does not exercise enough control over the output format. Most DBMSs have a special module for producing fancy reports with page headings, group headings, subtotals, computed fields, and page footings. Some DBMSs allow you to lay out the report on the screen, using horizontal scrolling for 132-column reports. Others have a special language to describe the report format.

Import/Export. If you are starting a DBMS system, you might need to use data from an existing program. The DBMS should allow input of a variety of data formats produced by BASIC and COBOL programs and other DBMSs. It is also becoming more and more important to transfer data to (export) and from (import) spreadsheets and word processors. Common formats are delimited ASCII (BASIC), fielded ASCII (COBOL), DIF (VisiCalc, Lotus 1-2-3), and SYLK (Multiplan).

Table 3: DBMS benchmarks for performance.

Condor 3

dBASE II

R:base 4000

KnowledgeMan

Cl.P

pfsfile

Version

2.11

2.4A

1.10

1.06

1A

pfs:report

Sort time

18 min

2 hr. 15 min

25 min

27 min

Sequential pass

1 min, 16 sec

1 min, 39 sec

1 min, 30 sec

4 min, 30 sec

(using indexl

12 min, 16 sec

14 min, 27 sec

35 min

Index build

1 hr, 3 min

31 min

16 min

8 min

1 hr, 5 min

Join

1 min, 40 sec

7 min. 30 sec

5 min. 34 sec

26 min

(using index)

12 sec

Query method

SELECT command

LIST command

artificial intelligence

QRS multifile

menu

QBE

Report generator

80-column screen

REPORT command

132-column screen

QRS

menu

QBE select

oriented

+ program mode

oriented

+ program mode

132-column

column def

Passwords

no

no

file

file + field

no

no

Special features

POST for accounting transactions

screen painter training disks

flexible "rules" for data entry

spreadsheet

keyword search

Export/import files

delimited, fixed

delimited, fixed (DIF w/program)

DIF, SYLK delimited 80 characters

DIF. delimited

DIF, delimited pfs in

ASCII out

Change field length

difficult

moderate

difficult

easy

easy

easy

unload/reload

APPEND command

unload/reload

REDEFINE command

Copy protect

no

no

no

no

yes

yes

Max records/file

65534

65535

unlimited

65535

65000

Max characters/record

1024

1000

1530

65535

2000

Max fields/record

127

32

400

255

40

Max characters/field

127

254

1500

65535

50

Numeric digits

10/18

10

9/16

14

12

Date field

yes

no

yes

no

yes

Memory requirements

64K/I28K

I28K

256K

I92K

I28K/I92K

64K/128K

List price

$650

$495

$495

$195 CLOUT

$150 xtended report

$500

$100 kpaint $22 5 kgraph

$395

$140 pfs:file $125 pfs:report

190

BYTE Guide to the IBM PC • Fall 1984

DATABASE MANAGEMENT SYSTEMS

Copy Protection. If you use a hard disk, you will be irritated by copyprotection schemes that make you load a special floppy disk for each protected program you run. Ironically, the most expensive DBMS programs are the least likely to be copy protected.

Password Protection. The newer DBMSs provide ways to protect individual files and even fields from unauthorized access and update. This feature is especially useful with hard disks.

Special Features. Some DBMSs have unique features such as built-in spreadsheets and training aids. Help screens, once rare, are now commonplace.

Performance

As you would expect, DBMSs vary widely in performance. Table 3 presents some benchmark data for five of the six DBMSs. The main test file contained 5011 115-character records, and the secondary file contained 6233 27-character records. The benchmarks, run on a hard disk, involved sorting, indexing, and searching the main file and joining six main-file records with the secondary file. Pfsrfile was excluded because it does not allow data import.

To understand the performance differences, you must understand indexes. An index is a disk-based data structure that allows quick access to a particular record in a file. If there is no index file, the DBMS must do a sequential pass to find the records for which you are looking. This is not as bad as it sounds, because sequential passes are very fast. For small files, it is sometimes better to forgo indexes because of the extra problems they create.

What is a "small file," and what problems do indexes create? A disk holds 360K bytes. Because there must be room for sorting and reorganizing, the largest practical file size is half a disk, or 180K bytes. Most DBMSs can sequentially search a floppy-disk-based 180K-byte file in a little more than a minute. If you can wait a minute, then 180K bytes is a small file. Indexed files provide instantaneous access if the query is made on a key field—one previously set up to be indexed. If a query is made on a nonkey field, it could take much longer than if the file were not indexed. You could index all the fields, but adding records would be slower. Also, some DBMSs do not allow you to

change the value of a key field. As a rule of thumb, don't use indexes unless you really need fast access.

Another choice you will have to make is whether to use a hard or a floppy disk. If you are really serious about data management for business, you will need a hard disk. Careful shopping can get you a complete IBM-compatible system with a 10-megabyte hard disk for less than $3000. That's less than 8-bit floppydisk-based systems cost in 1980. A hard disk will appear to run three times faster than a floppy disk, and it holds 30 times as much data. A hard disk also eliminates disk swapping and increases allaround dependability. All DBMSs do run with floppy disks, though, which gives you a chance to get started before committing to more expensive hardware.

Very few DBMSs do a proper job with deleted records. In most cases, if you delete a record, you will not be able to recover that disk space unless you perform a time-consuming reorganization. Reorganization time goes up with the number of indexes you use, and it is possible to get yourself into a jam if you do not have enough disk space to reorganize. Usually, if you delete a whole file, you can get the space back without reorganizing.

Pfs:file/pfs: REPORT

Pfsrfile from Software Publishing lets you do data entry and update, screenoriented queries, and printed mailing labels, while pfs:report is necessary for tabular reports. They are generally used as a pair. What accounts for the spectacular success of these products? Probably because they're easy to use with the QBE query format.

Pfsrfile combines data-dictionary definition and screen layout in one step. You simply move the cursor as necessary to type in a form. The tags become the field names. All the space between the tags is available for data entry, meaning that the program supports variable-length fields and records. In other words, you use only the disk space you need. For instance, "Reno" requires four characters, and "San Francisco" requires 13, so Reno will take up less space on the disk. You must, however, allow at least enough space for 13 characters on the form.

You can have several screens per record, and the last screen carries the label "ATTACHMENT" at the top left, allowing you to enter a full screen of text in a pseudo-word-processing mode with automatic word-wrap. If you insert

(continued)

Photo 1: PFSlFile lets you enter data, update, and print mailing labels.

Fall 1984 • BYTE Guide to the IBM PC • 191

DATABASE MANAGEMENT SYSTEMS

and delete words, you cannot expect the lower lines to be adjusted.

Pfs:report lets you define reports in a two-step process. First, a QBE select screen determines which records you will print. You use the same screen to specify which fields you will print and in what order. The program allows for headings, totals, subtotals, averages, counts, and page breaks. You must be careful with numeric data because pfs: file does not enforce numeric data entry. If you type "frog," the program converts the letters to a number and adds them into your total.

One special feature is the keyword field, which enables you to print multiple records for each individual word contained in that field. You could enter article abstracts, storing sequences of keywords in the first field. Then you could print a list of abstracts sorted by keyword.

The pfs products automatically index the first field of the record. Queries based on this field are instantaneous, but queries based on other fields are slower, depending on how deep the field is in the form. Deleted record space does appear to be reused. Both pfs:file and pfs:report are single-file systems, processing one file at a time and allowing no interaction between files. Reorganization is easy. All you have to do is keep the same tag names so that data in the new file comes across from the old. There is no provision for data import. Pfs:report does print to disk, however, allowing export to programs that can read fielded ASCII. Even though the disks are copy-protected, the programs do not require access to original disks after they are loaded to the hard disk.

You should use the pfs products if you want ease of use and if you don't mind waiting a minute or so to extract data from a large disk file. If you have very small disk files, you won't even notice the wait.

CLP: The Push-Button DBMS

C.1.P (Concentric Information Processor) from Concentric Data Systems is another single-file system that is easy to use and "visual." Because of the screen setup, a first-time user can be up and running in a matter of minutes. To choose from the menu, you just type

the first letter of the item or use the cursor keys.

File definition begins with the data dictionary, which allows you to specify the following:

• Length or "shape" of the fields

• Automatic field completion without Return key

• Field calculated from other fields

• Date

• Field must be full

• Key designation

• Numeric

• Required entry

• Key is unique

• Number of decimal places

You can then rearrange the data dictionary into a data-entry screen. This is a rather nifty visual process in which you drag field names and shapes around the screen a la Macintosh. Shapes are indicated by caterpillar-like strings of squares corresponding to field length. C.I.P uses indexes and demands that at least one field be a key field. The trouble is that you can make full-screen queries only by using key fields. That means that you will have to do most of your querying via the report generator, which generates screen images that scroll up the screen instead of appear

ing one at a time.

C.I.P handles report layouts the same way it handles screen layouts. You lay out the field shapes, headings, subtotal lines, and total lines on a scrolling 132-column screen. You have good control over numeric and data formatting, and you can highlight and right or left justify text. Since there is no query language as such, you must enter all record-selection criteria via the menu. This is awkward, but at least it is foolproof. Wild-card matching is allowed, and you can select and sort reports by nonkey fields.

C.l.P's performance is a little disappointing. The six hours required to load the main test file did not bode well. C.I.P is, however, one of the few DBMSs that properly handle record deletions for indexed files. It uses a peculiar file structure that combines the indexes with the data and seems to do some compression. File sizes were smaller than I predicted by multiplying record quantity by record length.

Plan to use C.I.P when you need highspeed keyed access with frequent additions and deletions. The index system gives you quick access to ranges of key values. For instance, if you asked for "GREEN*," you would get all the last names beginning with GREEN, includ

I Boro Realty incorporated I 8alai Report for July 1983 I ordered by Sollies Price

1*5 Weil ttangrove Street Z1B Landry Drive 187 Horning Clary Lane 79 Colonial latitat

Total ---■

87/25/1983 •7/28/1983 87/12/1983 B7/2&/19B3

Selling Price

tm.M

1. Reported with total caamlaalona, idling price and average selling price.

2. Cottnlaslons are calculated from kv. of selling price.

3. Report mi printed on 87/31/1983.

rage 1

Proceed ay one (Llaa.Screon) R: 7Sx

Photo 2: A first-time user can have C.I.P running in a matter of minutes.

192

BYTE Guide to the IBM PC • Fall 1984

DATABASE MANAGEMENT SYSTEMS

ing GREENMAN, GREENWOOD, and so on. There is no need for a complete sequential pass here. Do not use C.I.P if you make frequent unstructured queries against nonkey fields.

Condor 3

Condor 3 has been around since the dawn of the microcomputer age. but it gets little recognition, even though DEC and Hewlett-Packard have endorsed it and it comes with the Seequa Chameleon. It is a stable, bug-free product whose performance specs are better than those of most of its competitors.

Condor is a full-blown relational DBMS designed to be set up and operated by nonprogrammers. The file-definition process starts with a screen that prompts you to define your field names. After you have "painted" the screen with the field names, Condor asks you for data-dictionary specifics that include field type (alpha, numeric, dollars, date), length, low limit, high limit, and default string. You can have only one screen per file, but the easy setup makes up for this restriction.

All of Condor's queries are two-step processes. First, in the SELECT process, you apply the record-selection criteria to create a new, temporary file. You can then list the new file, called RESULT, in

tabular form with specified fields, or you can view it in full-screen mode. You can either save the RESULT file or overwrite it with the next SELECT file. The UPDATE command allows you to edit a "live" file in full-screen mode.

The program also includes standard relational operators such as JOIN and PROJECT, and a COMPARE operator can subtract files. The POST operator totals transactions, adding them to a field in a master file or replacing an existing value there. This enables Condor to do accounting as well as information retrieval.

Condor allows command batch files, but the only commands available operate on entire files (relations). A batch file can request a variable from the keyboard and can set up a SELECT/LIST command pair, thereby automating queries.

One index per file is allowed, and you can create this index from a combination of several fields. The SELECT and UPDATE commands use this index automatically to reduce sequential passes through the file. For instance, you could quickly select all company names beginning with "Computer" with the command

SELECT COMPFILE WHERE NAME IS COMPUTER*

Until recently, Condor was strictly command

Photo 3: Wit/i R:base, you define the fields called attributes for all relations in the database.

driven; in other words, you had to know the ~ commands.

The asterisk is a wild card as used in PC-DOS. The indexing scheme does not let you change the key fields, and you cannot recover space from deleted records. If a file is indexed, queries by another key result in a fast sequential scan, not a slow indexed scan. You can shuffle a file by adding, deleting, and rearranging fields, and the screen layout can be conveniently changed. It is more difficult, however, to change field lengths. To do so, you must unload the file to an ASCII file, change the data dictionary, and reload the file.

Condor's report generator is quite sophisticated. You can use all the usual subtotals, page headings, and so on. The report is laid out on the screen as it will appear on paper, but there is no horizontal scrolling to permit design of wide reports. Long report lines will wrap around to the next screen line.

Until recently, Condor was strictly command driven—in other words, you had to know the commands. A new version provides optional menus that steer you toward the right command and help you set up the command once you get there. This is a great training aid, but you can disable it once you become proficient.

R:base 4000

Microrim, a start-up company with lots of venture capital, is flooding the computer press with two- and four-page ads for its R:base 4000 relational DBMS. The ads compare R:base with dBASE II, but in reality, R:base is closer to Condor 3. Like Condor, R:base's commands are designed to operate on entire relations.

R:base makes you define the data dictionary before you design screens, and this approach makes sense. First you define the fields, called "attributes," for all the relations in the database, then you

(continued)

Fall 1984 • BYTE Guide to the IBM PC • 193

DATABASE MANAGEMENT SYSTEMS

group these into the proper relations. One attribute might occur in several relations, implying a link between those relations.

You then define the screens, called "forms." Each relation can have several forms. Querying is via the SELECT command, which follows the SQL format except that it does not permit multifile queries. You must use the JOIN command or one of R.base's unique relational operators-lNTERSECT, UNION, or SUBTRACT. In any case, you must know all the attribute names.

The report generator is somewhat elementary, but Microrim is preparing a new add-on report module that will do subtotals and draw data from several relations. Speaking of add-on modules, the CLOUT query module is really something special. It accepts Englishlanguage queries by extracting data from multiple files.

Suppose you have an employee relation and one field in that file is a branch code. A second relation associates branch code with city name. If you ask CLOUT

WHO'S IN CHICAGO

R:base's index structure is not the familiar B+-tree, but a simpler form that does not permit indexed-sequential processing. This means that a sort must precede every report. The sort does not eat up any permanent disk space, but it does take time.

Version 1.1 of R:base has added variables. IF statements, and WHILE con

structs to the command file language. It is possible to generate accounting applications programs, but that is a misuse of R:base. One developer invested more than 100 hours in a simple afterthe-fact payroll system and was thoroughly frustrated.

R:base offers new users lots of help. For example, entering

mmand Prompts

fliUtl.llelatiiin llatl.nillrikote I ill I.CUI. «(u III

JILICT

SELECT ti uses for retrieval dele fro* e Million. Von need tu specify

can uae ALL tot Ike il illy specify attrikutes lar (elected, you can optionally specify lite selection conditions wile « "HHF.IE" clause. Totals and colui "ej he specifies.

Hue ol Ike relation : DCTIUITY

I Sorted ay «ttrIs.leCs I : Where

SELECT all MOM activity SOUTEo BY kraack

HEP'ltnJtE YnVqtlOTn YTIVOW IKMICH

karrlsoa SK.MM.M $2S,MI.M If)

peekody SlI.ttt.M $B.M ID

xalson $3t.lM.U $3

52l.tM.M Seattle

the program searches all relations for instances of "CHICAGO," then works backward to answer your question. If it finds "CHICAGO" in the branch relation, it matches the branch code to employee, knowing by predefinition that "WHO'S" means "LIST EMPLOYEES." If you had another relation listing rock groups, CLOUT would have asked

Photo 4: R.base querying is done through the SELECT Command.

Do you mean CHICAGO the City or the Rock Group?

R:base stores the data for all database relations in one PC-DOS disk file. This is good because it follows the original database concept of one integrated store of data. A problem occurs, however, when a relation is deleted, which frequently happens to the results of the JOIN and other operators. The disk space is not recovered. You must perform a complete reorganization, including rebuilding all the indexes for all the relations. You must go through this timeconsuming process frequently to prevent disks from filling up. Be sure you have enough free space available before starting.

14.70

7.50 \ S

10.10

/sag

5.0B , ..\J' «

s.saj

iMM^M^M

2.50 „> ' **

0.90 '

1 . 00

4.50 8.00

0.00 0.00 5.00 10. (

a. an

SCATTER

3-D BAB

0.00

B00 5.00 10.00

Photo 5: KnowledgeMan from Micro Data Base Systems has a built-in spreadsheet.

194

BYTE Guide to the IBM PC • Fall 1984

Circle 82 on inquiry card.

DATABASE MANAGEMENT SYSTEMS

Finding out about AshtonTate's ^BASE II is simple. At least half a dozen books are dedicated to it.

HELP command tells you everything you need to know about that command. In addition, a Prompt mode guides you through each command. Unfortunately, you do not always know what to do next because the global HELP command lists only R:base's available commands.

Changing the size of a field is really tricky. You must unload the whole relation to an ASCII file, delete the entire relation with all its attributes, key in all the attributes again, and reload the file. The program's alternate method is not any easier.

The Standard by Which Others Are Judged

Finding out about Ashton-Tate's dBASE II is simple. At least half a dozen books and several computer magazine issues have been dedicated to the subject. Classes and seminars on the program are also available. dBASE is really more of a programming environment than a DBMS. Of course, the DBMS elements are there, but the product has been successful because of its flexibility in developing computer applications. dBASE is distributed with a catalog listing hundreds of applications ranging from a $75 personal credit-card register to a $21,000 vending machine operator's management system.

Experienced dBASE users like the product because of the control it gives them over their data. In the Development mode, there is a direct link between keyboard, screen, and disk. You can create and rearrange files quickly and easily, and you can import and export ASCII files more rapidly than with any other product.

The dBASE programming language can operate on individual records in

several files at once, and it can control the screen, permitting full-screen cursor movement for data entry and editing. All this takes skill, but experienced dBASE programmers abound.

Even so, 1 have a few complaints about the program. Working with more than two files at once is awkward, and the 32-field-per-record limit is restrictive. You cannot recover space for deleted records, but multiple indexes are maintained through additions, deletions, and key-field updates. A major problem is the time required to rebuild an index after you have purged deleted records. One person reported a 20-hour rebuild time for a large file.

dBASE file definition starts with the data dictionary. If you do not make any changes, you end up with an ugly oneline-per-field default data-entry screen. To generate a nice screen, you must lay it out on grid paper, then code a succession of GET, SAY statements referencing the proper coordinates. An alternative is to use a stand-alone utility program provided by Ashton-Tate. This generates code that yo.u incorporate into your programs.

Ashton-Tate also provides a set of dBASE lessons on disk. These are reported to be useful and might be an alternative to an expensive seminar.

A Better dBASE?

KnowledgeMan, alias Knowledge Manager and KMAN, comes from Micro Data Base Systems, author of the MDBS III extended-network DBMS. One might have expected an end-user version of MDBS III from Micro Data Base Systems, but the marketing department must have targeted Ashton-Tate's market as the most lucrative. The resulting product is not related to MDBS III at all, but is clearly intended to be a dBASE substitute.

A dBASE programmer would feel quite at home with KnowledgeMan. There have even been rumors of a dBASE-to-KnowledgeMan translator, which would swallow dBASE code and spit out KnowledgeMan code. KnowledgeMan has eliminated many of the frustrating dBASE restrictions. For instance, KnowledgeMan allows 255 fields per record versus dBASE's 32, and any number of files can be open at once, whereas dBASE allows only two. Knowl

SQUEEZED

SLOTS?

□ Six expansion slots plus power supply

□ Brings system total to ten slots

□ No special addressing, part of PC I/O bus

□ Compatible with all PC expansion cards

□ No noise—no fan

An expansion chassis is a must for anyone who needs to go behind the PC's minimum configuration. Simply plug the I-Bus Six-Pac Expansion Chassis into one slot of your PC—and you've doubled your expansion slots from five to a total of ten. There's no special addressing or software required. Cards plugged into the Six-Pac perform exactly as if they were in the main system unit.

And there's plenty of power, too, because chances are your PC will run out of power before it runs out of slots. The SixPac's 40W supply quietly powers its own slots, with negligible power drawn from the PC.

It's only $795, including 18" shielded interface cable (or S835 with a four-foot cable). Call us today for all the details.

Call toll free:

(800) 382-4229

in California call (619) 569-0646

The l-Bus Six-Pac Expansion Chassis

9235 Chesapeake Drive San Diego, CA 92123

SYSTEMS

Fall 1984 • BYTE Guide to the IBM PC

195

DATABASE MANAGEMENT SYSTEMS

KnowIedgeMan lets you write a program that sets up a spreadsheet and references cells directly through variables such as "#a\" (row 1, column a).

edgeMan adds a built-in spreadsheet plus optional integrated screen-painting and graphing utilities. Trig functions, nestable macros. DIF file import/export, and other useful tools have also been added.

KnowledgeMan's SQL query system is powerful but not efficient. Here's a sample two-file query that matches shareholders (SHARE relation) with multiple stock certificates (CERTIF relation) based on the common field SHNUMBER.

SELECT SHARE.SHNUMBER, SHARE.LASTNAME.SHARE. FIRSTNAME.CERTIF.NO FROM SHARE FROM CERTIF WHERE SHARE.SHNUMBER = CERT1F SHNUMBER

This is KnowledgeMan's equivalent of the JOIN command with no temporary file required. Listing 1 shows a short two-file program that lists a shareholder's name and the associated stock certificates. This program does the same thing as KnowledgeMan's JOIN command, but it does it much more quickly. Apparently, KnowIedgeMan does not make effective use of existing indexes.

As with dBASE. deleted records do not release their space; instead of using the PACK command, though, you must use COMPRESS. KnowIedgeMan does not seem to give the user the same hands-on contact with the data that dBASE does. In addition, displaying and modifying a file's structure is more difficult with KnowIedgeMan, and you cannot see what is on disk unless you know the file names in advance. Because of its rich supply of features, however, KnowIedgeMan still comes out ahead in applications development.

One special feature of KnowledgeMan is a built-in spreadsheet, which deserves some close inspection. You might think, "With VisiCalc, Multiplan, and 1-2-3, who needs another spreadsheet?" But take another look. KnowIedgeMan lets you write a program that sets up a spreadsheet and references cells directly through variables such as "#al" (row 1, column a). Thus, you can dump selected values and formulas onto the sheet, turn control over to the operator, then retrieve results frcm the spreadsheet for storage back in the database. Think of the possibilities!

KnowIedgeMan is a tough nut to crack if you have not started with dBASE. The book Using KnowIedgeMan is probably just around the corner, though. In the meantime, you can attend KnowIedgeMan seminars and classes, which are appearing throughout the country.

Choosing Your DBMS

With all these options available, how do you choose a DBMS package? First, be sure you zero in on the right category. If you are a beginner, choose an entrylevel package such as pfs or C.l.P. Others in this group are Personal Pearl, VisiFile, T.l.M. IV, Data Base Manager 11, Friday!, EasyFiler, and Perfect Filer. You can't really go wrong with any of these programs if you realize that most let you access only one file at a time. All are as easy to use as present technology allows, and they solve a wide range of everyday business problems. If you need more power, but you don't

want to learn programming, consider a multifile package such as Condor or R:base. These are relational DBMSs, which are satisfactory for information storage and retrieval, but are not ideal for more conventional accounting applications. Packages such as InfoStar, Power-base, Aladin, and DataPath offer innovative approaches to handling multiple files that are outside the realm of relational theory. You will have to study them all to find the one that suits your application.

If you need more flexibility, consider a DBMS with a built-in programming language. dBASE 11 and KnowIedgeMan have similar languages and are based on relational theory. Dataflex, Sensible Solution, Mag Base, and Revelation automate the coding of data-entry procedures while still allowing programming flexibility. Each of these has its own way of doing things, so you must adapt your requirements accordingly.

A new crop of DBMS software consists of mainframe/minicomputer handme-downs. PC/Focus, Oracle, and Informix are the first entries. Informix is a fully relational package with all the recorddeletion problems properly solved. The other two are too new to categorize.

Finally, there is MDBS 111, the extended-network DBMS for application developers. It has started to show up in sophisticated accounting packages such as Solomon III. Use it only if you are the Defense Department or if you are planning to sell at least a hundred copies of your program. ■

Listing 1: KnowIedgeMan program to display shareholder information.

/* KnowIedgeMan program to display shareholder and certificate info */

shareholder file, indexed "/ certificate file, indexed */

USE ASHARE AS SHARE WITH "SHSHNO.IND" /

USE STOCK WITH "STSHNO.IND" /'

CLEAR

E.SUPD = TRUE

SNUM = "XXXXXXXXXXXX"

WHILE TRUE DO

AT 1.1 INPUT SNUM USING "dddddddddddd" WITH "ENTER SHAREHOLDER NUMBER"

IF SNUM = "000000000000" THEN BREAK: ENDIF

PLUCK SNUM FROM SHARE /" use index to find shareholder record */

? NUMBER LASTNAME FIRSTNAME ZIP

PLUCK SNUM FROM STOCK /• find first certificate record "/

WHILE STOCK.SHNUMBER = SNUM DO ? STOCK.SHNUMBER STOCK.CNUMBER STOCK.QUANTITY OBTAIN NEXT FROM STOCK /* find subsequent certificate records */

ENDWHILE ENDWHILE STOP

196

BYTE Guide to the IBM PC • Fall 1984

by Stephen S. Fried

EVALUATING

8087 PERFORMANCE ON THE IBM PC

Saving time in engineering and business is easy if you

choose the right translator

If you're an IBM PC owner, you probably know that the 8087 is a coprocessor that plugs into an empty socket on the PC motherboard. You probably also know that it does arithmetic and can be purchased for less than $200. But you may not realize that the 8087 is actually a fullblown 80-bit processor that performs numeric operations up to 100 times faster than the 16-bit 8086. It has the potential to do arithmetic at the same speed as a medium-size minicomputer, while providing more accuracy than most mainframes.

To an engineer or programmer, that's good news. But the 8087 can also work wonders with business applications. There is a difference, however, between the business user who needs performance and the engineer or programmer. The business user will typically buy a turnkey application, while the technical user will probably have to write his own. This means the business user can remain ignorant of the chip's existence, while the technocrat has the added burden of evaluating 8087 support.

In this article we'll take a look at applications areas that are fertile for the 8087 and the types of support that are available. I've divided up programming language translators based on the efficiency of the support they provide.

The 8087 in Operation

How good is the 8087 in practice? For the evaluation of simple expressions, the quality of the 8087 code generated

by the best products (in-line compilers) will run 105 times faster than that generated by the weakest products (interpreters and spreadsheets). However, even spreadsheets are good candidates for 8087 support if they are used extensively to compute trigonometries or exponentials, as these library functions run uniformly faster on all 8087 products. Typical increases in speed of 20 to 1 are common for business problems that depend heavily on library routines such as rate of return calculations.

The real power of the chip is most evident in scientific and engineering applications. While using one of the best FORTRAN compilers available, a PC user recently discovered that his CRAY computer executed one of his applications only a factor of 180 faster than his PC. But because the CRAY was serving 100 users, the turn-around time was only a factor of 2 better than the PC The application being run involved a million floating-point operations and took .34 seconds of CRAY central-processor time. I don't suggest that you attempt a problem that takes an hour of CRAY time, unless you plan to go on vacation for a week. But I do advocate the use of desktop microcomputers to solve problems that involve 100 million floating-point operations or less.

(continued)

Stephen S. Fried is a founder of MicrcWare (POB 79, Kingston, MA 02364) and vice-president in charge of R&D. He holds a bachelor's degree in physics from Brown University.

Fall 1984 • BYTE Guide to the IBM PC

197

8087 PERFORMANCE

The major difference between Mel and Microsoft code is the use of the 8087 stack. Intel uses it for storing

temporaries such as common

subexpressions, while Microsoft stores them on the 8088 stack.

Technical Overview

The 8087 is an 80-bit coprocessor that operates as an extension of an 8086 or 8088. It contains eight 80-bit registers which can each hold a single real number. The eight registers are set up as a stack: every time a number is loaded into register 0, its prior contents will be pushed into 1, and 1 into 2, etc. The processor is often referred to as a numeric data processor (NDP) because the basic 48 instructions it can carry out are oriented to numeric operations using the numbers in its stack. To the assembly-language programmer, the 8087 looks like an extension of the 8088 that has its own instruction set for manipulating real numbers instead of bytes and words.

The operations performed by the processor are broken into two classes: in-line and library. The in-line routines perform the basic arithmetic operations (addition, subtraction, multiplication, and division) and square roots, loads, and stores. These operations typically take 100 to 200 machine cycles (20 to 40 microseconds). The library operations include all the trigonometric, exponential, and other related transcendental functions and are really programs that use special primitive operations designed to speed up and improve the accuracy of the functions. The library operations also include programs for converting strings into temporary real numbers and vice versa (encoders and decoders). Most library operations take between 2 50 and 500 microseconds to execute.

The library functions can be either purchased or written by the user (it is a big task) and normally come with 8087 compilers or adaptations as part of the product. Several books and applications notes will help the ambitious user. Each of the library routines takes advantage of special primitives that do the time-consuming part of the job. For example, all trigonometries are computed by first scaling angles into pi/4 radians, then calling a partial tangent function which essentially computes the two sides of the corresponding right triangle. Applying Pythagoras at this point yields the sine, cosine, or tangent. The scaling operation, which is typical of the special 8087 calls, is critical for large angles (used by many people, including astronomers) and is done by one operation called a partial remainder. It does the job faster and with much greater accuracy than any algorithm running on an 8088.

The three primary benefits of using 80-bit registers for numeric computations are speed, extended floating-point range, and extended accuracy. Processes that previously had

to be factored to avoid overflowing now run simply by using the next largest format. The ability of the temporary realnumber format to hold numbers up to 10±4098 is sufficient to handle almost any real-world application. The added accuracy of the 80-bit format makes it possible to solve problems in which the propagation of round-off errors is significant.

The capability to invert large matrices is probably the biggest advantage of all. A study at the Avco Everett Research Laboratory revealed the startling fact that on the average 30 percent of mainframe time was eaten up inverting matrices and solving simultaneous linear equations. Faster matrix routines pay off in a hurry. More accurate ones not only execute faster but also extend the allowable size of the matrix that can be handled. For example, large structures are designed using finite element analysis. In a large structure, information about a small region of the structure has to propagate through the entire structure. This information will get lost through round-off errors unless a 64-bit or larger number format is used. The temporary real-number format of the 8087 makes it possible to extend the size of the structures that can be analyzed. Also, the matrix inversion process lends itself to parallel processing. One algorithm now available on the PC executes at 10 percent of the throughput of an IBM 360 or 2 5 percent of a Prime computer. One happy user pointed out that this routine in conjunction with an 8087 saved him $4 per minute in rental fees!

Code Kinetics

As an interdisciplinary scientist/engineer. I have benefited greatly from working in a number of unrelated fields. Often one field ends up giving incredible insight to another. Most of my "academic quality" research was done in chemical kinetics, the branch of chemistry involved in measuring the speed of reactions. Many reactions can be modeled as a series of processes that execute serially. That is, process one finishes before two, etc.

Often a single process takes the majority of the time. The slow running process can be thought of as a bottleneck. If it can be removed or circumvented, the whole process will go much faster. In chemical kinetics the step that holds back the process is usually referred to as the rate-limiting step. Identifying and understanding the rate-limiting steps are usually the keys to designing efficient chemical reactors and processors. In the case of code processes, the same is true. When people describe a program as "number intensive," "number bound," "floating-point bound," "I/O bound," or "integer bound," they are really describing a code process whose rate-limiting step is known to be floating-point arithmetic, I/O (input/output), or integer arithmetic.

Eliminating the rate-limiting step in the case of a tank containing hydrogen and oxygen is simple: you apply a match. In the case of a program that is number bound, you apply an 8087. The balance of this article is really a study in identifying rate-limiting steps in code produced by a variety of translators and interpreters.

8087 Translators

To evaluate 8087 performance, 1 divided language translators

[continued]

198

BYTE Guide to the IBM PC • Fall 1984

8087 PERFORMANCE

into 4 classes: interpreters, native compilers with IEEE (Institute of Electrical and Electronics Engineers) libraries, native compilers that generate in-line code, and globally optimized programs that use pipelining. First, let's examine interpreters and see why adding an 8087 does not make a big improvement in simple expression evaluation but can make a substantial improvement in trigonometric and transcendental operations. Since most spreadsheets fall into the interpreter category, 8087 spreadsheet support, which should be available by time of publication, will primarily benefit bankers and financial analysts who do a lot of exponentiation.

Interpreters are a class of language translators that either parse program statements into immediate actions every time they are encountered or execute an intermediate form that is not machine executable. In contrast, native compilers translate a statement once and generate code that is directly executable on the target machine. The translation process itself is not always an incredibly heavy burden. But when you combine it with searching through a long table for the value of a variable, you end up losing a factor of 3 to 10 over a similar compiled program, lb see why interpreters don't benefit from in-line 8087 instructions, let's examine a short BASIC program in detail. I have written three short programs to enable you to measure the time required to do a loop, look up a variable, and finally perform a floating-point operation. The first program prints the time and then does 5000 iterations of a meaningless loop:

5 DIM C(5000),D(5000)

6 DEFINT I

10 PRINT TIMES

20 FOR 1=1 TO 5000:NEXT

30 PRINT TIMES

It takes 2.5 seconds to execute and tells you that the time to execute a raw loop with an integer index is 2.5/5000 = .5 millisecond. Next you add an assignment statement to the loop. 1 have chosen a single-dimensioned array, since the majority of simple operations often appear in the innermost loops of programs whose operands are arrays:

40 PRINT TIMES

50 FOR 1=1 TO 5000:C(I] = D(I):NEXT

60 PRINT TIMES

The above fragment takes 15 seconds longer to execute than the empty loop, indicating that the expression C(I) = D(I) takes 15/5000 = 3 milliseconds to execute. Because 1 am familiar with the way Microsoft BASIC executes an assignment, I know that most of the time is spent looking up where the variables are stored. This means it takes about .7 5 microsecond to look up a variable.

70 PRINT TIMES

80 FOR 1=1 TO 5000:A=C(I)+D(I):NEXT

90 PRINT TIMES

Line 80 takes only 4 more seconds than the assignment in line 50, indicating that a floating-point addition takes 4/5000 = .8 millisecond. You have to be careful in this assessment, as there is one extra variable lookup, which from the second program you know takes up to .75 millisecond. Therefore the add may actually take much less than .8 millisecond.

IBM BASIC

Interpreter

2.5 seconds

13.0

4.0

19.5 seconds

Let's examine what kind of improvement you could expect if you placed an 8087 in the machine. In fact, to make a point let's use the world's fastest floating-point processor, the V8-80087, a virtual processor that takes almost no time to execute an add. If you now examine the time to execute line 80, you discover the following:

IBM BASIC with

V8-80087 loop 2.5 seconds 2.5 seconds

lookups 13.0 13.0

add 4.0 0.0

15.5 seconds

You get only a 2 5 percent increase in performance. No matter how fast your numeric processor runs, you can never make a major impact on a process for which the rate-limiting step is not numeric. In this case the rate-limiting step is looking up variables. If you added a call to the screen, it would be I/O. Conclusion: 8087s do not speed up I/O-bound processes: for that you need an 8089 or 80286.

Now let us examine a BASIC interpreter program whose rate-limiting step is numeric. This time I will just list the test fragments, followed by the incremental run times.

6 DEFINT 1

7 F=.512345!

10 PRINT TIMES

20 FOR 1=1 TO 5000:NEXT

30 PRINT TIMES

40 PRINT TIMES

50 FOR 1=1 TO 5000:E=F:NEXT

60 PRINT TIMES

70 PRINT TIMES

80 FOR 1=1 TO 5000:E =

90 PRINT TIMES

loop lookups

COS(F):NEXT

IBM BASIC Interpreter

2.5 seconds

9.0

133.0

144.5 seconds

IBM BASIC with 8087

2.5 seconds

9.0

2.5

14.0 seconds

Looking at the summary for the interpreter without an 8087, you see there is a bottleneck. Ninety-three percent of the execution time is spent computing cosines. The right column contains the time required for a real 8087 to compute 5000 cosines. Notice the improvement in speed is 10 to 1. If you did a Gestalt benchmark for double precision, you would discover it should actually be a 20-to-l improvement because the 8087 time does not change when you change precisions, while the IBM BASIC interpreter's time should double. The fact that changing the interpreter's precision does not slow up its execution speed correlates with the fact that the last eight places of double-precision calculations normally contain garbage. In other words, the PC Basic interpreter fakes double precision.

1 repeated these runs with a recently developed BASIC compiler/interpreter, Professional BASIC from Morgan Computing, which has 8087 support. This product has some unusual runtime features that make it convenient for developing and

(continued)

Fall 1984 • BYTE Guide to the IBM PC • 199

Can your advertising in BYTE nvork in Hie

"back of the book?"

This October 1933 ad

pulled 2,391 sales leads.

On page 4KJ91

This is not an exception. In the same issue on page 409, WYSE Technology's ad generated 1,792 inquiries and the Prometheus ad-way back on page 495-garnered 1,588.

Advertisers in BYTE receive an average of over 1,000 inquiries per page of advertising, an average of 1,300 for full-page or larger ads. And not just in special, front-ofthe-book positions, but all through the pages of BYTE.

BITE

Why? Because more than 430,000 hightech computer sophisticates pay to read BYTE —cover to cover every month —for the microcomputer information they want and need. They'll send advertisers over 6 million ad inquiries this year, and over a half a million BYTE readers will buy products from ads they've seen in BYTE.

Including yours.

Talk to us —we're the people who wrote the book on microcomputer marketing. Just call Pete Huestis, Advertising Sales Manager, at (603) 924-9281.

JHE INTERNATIONAL STANDARD

rtnli

BYTE is published monthly by WGraw-HilUnc ,»vM offices *+ TOMamS^FWerimKjgMH.QWSa

8087 PERFORMANCE

debugging code. The run-time structure of the language is essentially a P-code interpreter. With the 8087, the ratelimiting step for most calculations turned out to be integer arithmetic and the FOR loop structure, which is, in my opinion, overburdened by the size of the integers (4 bytes). On the average, Professional BASIC evaluated simple expressions 4.5 times faster than the IBM BASIC interpreter, but ran at only 25 percent of the speed of MicroWare's 87BASIC an IEEE 8087 adaptation of the IBM BASIC compiler. This is in line with other P-code compilers that have 8087 support. The transcendentals and exponentials were on a par with wellwritten 8087 products.

Other products using run-time interpreters for which 8087 support is in the process of being developed include SuperCalc, VisiCalc, Visi OnCalc and Lotus 1-2-3. The Visi OnCalc spreadsheet is reported by VisiCorp to show only a 15 percent increase in speed using the 8087, although VisiCorp did not elaborate on whether this was for in-line or library operations. The new version of SuperCalc III shows improvements in execution speed that range from a factor of 2 to 20. In the case of a spreadsheet, it is obviously very important to make sure that your problem is number intensive as opposed to word intensive or symbol table intensive. Based on my conversations with Sorcim, it would appear that the "faster" spreadsheets are efficient enough to benefit from 8087 sup

port and that their 8087 implementation really pays off in iterative financial analysis.

Code Generation

with Native-Code Compilers

Most conventional compilers perform floating-point arithmetic by calling routines from a library that comes with the compiler. Libraries are really object modules that have been bundled together to simplify the linking process. At link time the linker pulls the modules needed to support your program out of the library and builds them into your load module. There can be a little to a lot of overhead associated with library calls. It is all a function of the "linkage" between the program and the library and the way the library handles the 8087. As a general rule, compilers that generate library calls for simple operations run 4 to 6 times slower than inline code.

From the user's standpoint, there are essentially three modes in which an 8087 can be run. If the problem you are solving spends the majority of its time executing library calls (exponentials or trigonometries), then any good 8087 package will do, since the speed of the in-line operations will not be critical. In other words, with problems whose rate-limiting step is trigonometries or exponentials, you do not need to

Every day, programmers like yourself are making the jump from BASIC to C. With high level functions that work like BASIC and documentation that is written from the perspective of a BASIC programmer, the BASICC library provides the best path to help make your journey plesant and fast!

BASIC'S POWERFUL FUNCTIONS IN C PROGRAMS—

The BASIC-C library provides most of BASIC'S high level functions—string handling, sequential and random i/o, graphics and many more—all are designed to look and work like BASIC functions. Instead of wasting time trying to figure out how to dear a screen or locate the cursor, you can concentrate on learning what C is about. Source code for the whole library is included!

WRITTEN WITH BASIC PROGRAMMERS IN MIND—

Our documentation is oriented to those familiar with BASIC. A full chapter is devoted to a point-by-point comparison of BASIC and C. Each function's description contains at least one example written in BASIC and the equivalent C. Many customers tell us that the BASIC_C documentation is the best C tutorial they've seen.

EC DEMO DISK - $ 5

EC (pronounced e-see) - full screen editor $125

BASIC-C LIBRARY - including source code $175

BASIC_C & EC $275

BASIC-C & DeSmet C compiler/w debugger $325

BASIC-C & Computer Innovations C compiler $475

BASIC-C & Lattice C compiler $525

BASIC-C & EC & DeSmet C compiler/w debugger . $425 BASIC-C & EC & Computer Innovations C

compiler $575

BASIC-C & EC & Lattice C compiler $625

Now you can edit, compile and test your program

from inside the EC editor. In fact, EC gives you

complete access to the operating system. Do a

directory, copy or delete files, even run other

programs without ever leaving EC!

MULTIPLE WINDOWS ... WITH A FILE IN EACH—

All windows can be shown on the screen at

the same time; or the screen can be

dedicated to one file, while the others are

kept in the background—only a

keystroke away. You can even cut and

paste blocks of text between windows!

FULL SCREEN EDITOR FOR THE IBM—

EC uses all the PC's special keys so that editing is fast and

intuitive. In addition to standard editing features, EC provides text

and command macros, word wrap, paragraph reformatting, horizontal

scrolling, and color video control.

DEMO DISK IS ONLY $5—

Call or write for our full-featured demo. You'll get a standard version of EC

that can handle up to 10K worth of text files and a complete set of

documentation. See for yourself how pleasant it is to use an editor that

gives you multiple windows and free access to your operating system.

•EC runs on an IBM PC, or look-alike, with at least 128K RAM under DOS 1.1 or higher. To use the DOS interlace feature you must have DOS 2.0 or higher and enough

RAM to run the additional program. IBM is a trademark of International Business Machines

Q

OURCE

C SOURCE

12801 Frost Road

Kansas City, MO 64138

816-353-8808

202 • BYTE Guide to the IBM PC • Fall 1984

Circle 26 on inquiry card.

8087 PERFORMANCE

be concerned with the quality of in-line operations (adds, subtracts, multiplies, divides).

The worst 8087 compiler support products are those libraries that adapted the 8087 to the original IBM compilers without converting the entire library and compiler over to the IEEE number format. Because of the ugliness of the conversion process for the IBM FORTRAN library I/O routines, none of the products for this compiler is IEEE compatible. This means they all convert on the fly, back and forth between IEEE and Microsoft format every time a numeric operation is performed. This adds a lot of linkage time to all numerics, but the original routines in IBM FORTRAN were so bad that adding even this limited 8087-only support typically improved run times by a factor of 4.

The IBM Pascal was a much better organized and documented product than the FORTRAN. The Pascal shared a common code generator with the FORTRAN and was well enough documented so that a careful person could coax the first pass of the compiler into generating constants in the IEEE format. Once this hurdle was overcome, it was just a matter of figuring out how to patch an undocumented library with IEEE code. Fortunately for me, the Intel translators leave their signatures behind, and a few calls verified that ASM86 was the Intel assembler and IBM's secret object-file format was essentially Intel's. The IEEE library that I developed for IBM Pascal ran 50 percent faster on simple operations than the non-IEEE library I developed for FORTRAN.

Compiler-generated code can produce 30,000 to 40,000 floating-point operations per second. The best that IEEEcompatible 8087 libraries can do is 8000 operations per second. Yet there are many languages and products that get by quite well with this level of support and do not need the elegant code described in the following paragraphs. If you already own a compiler, the IEEE library approach may be adequate if your application's rate-limiting step is trigonometries or exponentials, or if you use your compiler primarily for writing operating systems or compilers.

The best of the IBM libraries reside in the IBM BASIC Compiler. These libraries are so good that 8087 adaptations that convert on the fly run at about the same speed as the original library routines. Users who want to see an improvement in BASIC programs are advised to use libraries that are IEEE compatible. With IEEE libraries, it is possible to get increases in speed of between 4 and 20 to 1. depending on the ratio of simple operations to trigonometries and exponentials. A number of good products are out that only have library support (that is. they do not generate in-line code). If the compiler generates IEEE constants, then the support will be within a factor of 8 to 1 of the best in-line code.

How does a compiler with an IEEE library perform a floating-point operation and assignment? Assume you have written a program to compute a simple sum. Along with subtraction, this is the most severe test of the libraries. Because it is the most common operation by far. it is the one that typically sets the performance of the library. Let's analyze the following line of code:

FOR I =1 to 200000: A = B + C: NEXT I

Because of the speed of the 8087 it is often necessary to make 200,000 loops to get good measurements of code

speed. I did this in the actual program by setting up an outer loop with a limit of 20 and an inner loop with a limit of 10,000. I have written this line in BASIC syntax, but it just as easily could have been C Pascal, or FORTRAN. Now look at the code generated by this line located in a MAIN program (it will differ in PROCEDURES, etc.). A typical compiler will either set two pointers to the numbers or pass in the actual values, then compute the sum and return, leaving the computed value in a "floating-point accumulator" located in memory or in the 8088 registers. For example, one compiler generates the following code:

MOV

SI OFFSET B

load pointer to A into SI

MOV

DI.OFFSET C

load pointer to B into Dl

CALL

SADD

[SI] + |DI| - FPAC

MOV

DI.OFFSET A

load pointer to C into Dl

CALL

SASS

Assign FPAC to |DI|

For those of you afraid of assembly language, hang in a second: 8087 code is easier to read and learn than straight assembly language. The first two instructions take the address of the variables B and C and place them into 8088 pointer registers SI and Dl. The next line calls a single-precision add routine. The result of a single-precision add is left in the FPAC (floating-point accumulator). The last two lines perform the assignment by taking the value out of FPAC and putting it in A. Now let's examine the library routines SADD and SASS.

SADD: FLD |SI| FADD |DI| FSTP FPAC RET

schematic comments cycles

:|SI| -» ST(0) 43

:|DI| + ST(0) -» ST(0) 105

,ST(0) -* FPAC 89

The routine SADD first loads the 8087 top of stack, ST(0), with the value of the first operand. On the right side of each line I have written the number of machine cycles required to perform the operation. Operand one is pointed to by the SI register in the 8088. The first line tells the 8087 to use the value in SI as a pointer to a single real variable and load this value into ST(0). The actual code would contain an additional modifier, dword ptr, which would inform the assembler that the operand pointed to by SI is single precision. The next line tells the 8087 to get the value pointed to by Dl, add it to ST(0), and leave the result of the addition in ST(0). The final line takes the result and stores it in memory at a location labeled FPAC. A quick analysis of these three instructions reveals that it takes 105 cycles to do the actual addition and another 130 cycles to move numbers into and out of the 8087. Put in other terms, a simple addition is less than 50 percent efficient if the operands have to be imported and the results exported on every addition. It turns out that for the library routines the code is worse because to complete the assignment you have to load the FPAC into A. This is done in SASS.

SASS: FLD FSTP

RET

schematic

FPAC:

PI;

comments cycles FPAC--ST(O) 43 ST(0)->|DI| 89

[continued)

Fail 1984

BYTE Guide to the IBM PC • 203

8087 PERFORMANCE

This adds another 130 machine cycles to the code. Adding up the cycles reveals:

linkage overhead

100 cycles

2 FLD

86

2 FSTP

188

1 FADD

105

479 cycles

But you are still not done! In the case of Microsoft BASIC, each of these two library calls has an additional 50 cycles of linkage to execute going in and coming out. This adds 200 cycles to the total assignment time, which makes a grand total of 679 cycles to do an add and make an assignment. Dividing 679 by 5 cycles per microsecond results in an approximate add, plus assignment time of 134 microseconds, which agrees with the measurements on 87BASIC. For those of you who are perplexed, 200,000 adds in 32 seconds = 6300 adds per second = 1 add every 159 microseconds.

Finally, let's evaluate the numeric efficiency of the code generated by single-register 8087 libraries. This criterion tells you how much of the work that gets done is related to the numeric process at hand, as opposed to numeric I/O. Of the 679 cycles, only 105 involved arithmetic as follows:

FLD B FADD A FSTP C

B

:ST(0)

:ST(0)

+ A

ST(0) ST(0) C

43 cycles 105 89

237 cycles Therefore, the numeric efficiency is 105/679 = 15 percent.

Native-Code Compilers with IEEE Code Routines

The assignment just analyzed is handicapped by the fact that it is not amortized over more numeric operations. It still shows that in-line code will make a big improvement in numeric efficiency. In-line code can be approximated with run-time libraries that contain "code routines." Because of their ease of implementation, compiler-called code routines were the first forms of 8087 support to appear. Developing your own entails writing a library of subroutines, each of which performs a specific 8087 operation. The library must be written so that it can be called from the target language, which must use IEEE constants if the method is to avoid "conversions on the fly." Code routines never caught on because they are neither user-friendly nor transparent. I use them for experimenting with 8087 code because the set I developed is easy to interact with and debug using the IBM BASIC compiler. The technique is most effective where it can be used to eliminate compilergenerated "numeric I/O" by allowing the user to write globally optimized code. For example, if you plan to use the variable C in a series of calculations, then you would compute its value and then leave it on the 8087 stack, as follows:

100 CALL FSRLD(B): rem ST0 now contains B 120 CALL FSRADD(C): rem ST0 now contains B+C

And then do some intermediate calculations:

130 CALL FDUP: rem ST0 and ST1 now contain B+C 140 CALL FSQRT rem ST0 contains sqrt(B+C) 1 50 CALL FDIVP: rem ST0 contains ST0/ST1

before making the assignment.

160 CALL FSRSTP(A): rem assign ST0 to A

The syntax here uses F for all library routines and follows it with an SR if a memory reference is made to a single real number. If you analyze the same calculation performed by the compiler's call to its run-time library, you would see it involves twice as many 8087 operations and takes twice as long to run. This code routine technique can prove valuable if the compiler you own does not have in-line support, and if you can identify the most heavily executed code lines. Rewriting the key section(s) with code routines can usually make a factor of 2 improvement over compiler-generated library calls. Products that use this technique exist for IBM BASIC and Pascal.

Upper Limit on 8087 Speed

For a compiler to generate really fast 8087 code, it must do two things: eliminate the wasted time in run-time library linkage and keep floating-point variables on the 8087 stack as long as possible. Before exploring these techniques, let's review other 8087 facilities. The 8087 has eight registers ST(0) . . . ST(7). which can be used for general-purpose storage of floating-point numbers. Any number that stays on the 8087 stack gets treated as if it were an 80-bit number for the duration of its stay on the stack. Keeping variables on the stack reduces not only 8087 I/O overhead but the accumulation of round-off errors. If you can keep numbers on the stack for many iterations without doing any loads or stores, then the throughput will quickly approach the speed of a stack operation. Because the number of cycles required to perform a stack operation is well known, we can easily place an upper limit on the speed of the 8087. This is a convenient yardstick for the code in table 1 we are about to analyze.

Notice in table 1 that I included the square root as a simple operation. The 8087 is unusual in that it does square roots as fast as division, and several hundred times faster than algorithms executed by the 8088. In typical code, it is rare to see a sequence of additions or subtractions without any multiplications or divisions. So it is deceptive to think about the upper limit as 59,000 floating-point operations per second (FLOPS). In fact, a series of tests reveals that, in an average expression, the throughput for stack operations actually is about 45,000 FLOPS. This roughly corresponds with the average of the times for the four primary operations.

In-line 8087 Support

The best 8087 code is generated by native-code compilers, which emit 8087 instructions in-line. The quality of the code generated by these products is so good that the kinetics of

Table 1: Upper limit on

8087

throughput for

stack operands.

Operation

Machine Cycles Microseconds

Rate FLOPS

ADD

85

17

59.000

SUB

85

17

59.000

MULTIPLY

138

27

44.000

DIVIDE

198

40

2 5.000

SQUARE ROOT

183

36

28.000

204 • BYTE Guide to the IBM PC • Fall 1984

8087 PERFORMANCE

the problem is more complicated than just identifying a ratelimiting step. Many factors now start to play a role. These include the form of the problem being solved, the memory model being used by the compiler, interleaving of 8088 instructions with 8087 instructions (pipelining), the quality of the translation of expressions into 8087 code, 8087 stack use for common subexpressions, and the use of the stack for global variables that are "hot." Ultimately, the key to improving 8087 performance revolves around minimizing 8087 I/O.

Now let's see how two of the best compilers use the stack in the programs they generate. In this section I'll concentrate on the evaluation of a single expression. It is a "fair" expression, which means I did not go overboard and choose an expression with five common subexpressions, which would show off the 8087 and the better 8087 code quality of one of these two compilers. The expression is typical of those that evaluate the properties of materials using polynomial expansions. Equation I is the expression I will evaluate. Equation 2 is an equivalent representation.

1) H = (CO + (X-K)*(C1 + (X-K)*(C2 + (X-K)*(C3 + (X-K)*C4)))|

2) H = C4*(X-K)" + C3'(X-K)3. . . + CO

Equation 1 is preferable for this test because it replaces the computation of powers with multiplies, which execute a factor of 10 faster in the 8087. In these equations, (X-K) is called a common subexpression. A good compiler factors out common subexpressions so that they have to be evaluated only once. Both of the compilers we will study do this. The only difference in the generated code is where the common subexpressions go. Let's examine the impact of the different strategies on the number of machine cycles required to calculate H.

First I'll use code generated by the Intel FORTRAN-86 compiler version 2.2. It is a four-year-old product developed by Intel to run on its development system and to demonstrate the power of the iAPX 86/88 concept. The compiler recently "migrated" under license to PC users running MicroWare's RTOS operating system. When this compiler came out, it was benchmarked by Intel against minicomputers and other 16-bit microcomputers and was shown to be superior for floatingpoint purposes.

In the upcoming section I will provide a guided tour of how Intel generates code for the example expression. To make this less painful, I have added comments to some of the code and also a stack chart on the right side of the code to help the reader visualize the activity on the 8087 stack. The stack is composed of eight registers, which are labeled ST(0) through ST(7) and are often abbreviated as ST0 through ST7. As you proceed along the code line, I will define the common subexpression and label it CSE. The compiler will also build partial results, which I will label Fl through F3. Each line is labeled with a number followed by an 8087 operation, which has optional operands that are followed by the state of the stack after the operation has occurred. I also included some schematics of the operations in the first 4 lines. Line 0 defines the initial state of the stack. All registers start out empty (MT) in line 0.

Line op Operands ST(0) ST(1) ST(2) Comments

0 MT MT MT MT

1 FLD K K MT MT ;K -* ST(0)

2 FSUBR X X-K MT MT ;X-ST(0) =^ST(0)

3 FST ST(1) X-K X-K MT ;ST(0) =~»ST(1)

4 FMUL C4 C4-(X-K) X-K MT ;C4*ST0 =-»ST(0)

5 FADD C3 C3+C4*(X-K) X-K MT ;F1 = C3+C4*(X-K)

Looking at equation 1, you see that the innermost factor is C3+C4*(X-K). This factor contains the common subexpression (X-K), which is computed in lines 1 and 2. Once evaluated, it is saved on the stack for future use. This is done in line 3, using an operation that copies ST0 into ST1. The next line forms the product C4*(X-K) and leaves it in ST(0). Note that (X-K) rides on top of the calculations being done in ST(0). Line 5 completes the first factor. The balance follows:

FMUL

ST0.ST1

■ (X-K)*F1

X-K

MT

FADD

C2

C2+(X-K)»F1

X-K

MT ;F2

= C2 + (X

-K)»FI

FMUL

ST0.ST1

(X-K)*F2

X-K

MT

FADD

CI

C1+(X-K)«F2

X-K

MT ;F3

-ci+pc

-K)*F2

FMULP

(X-K)*F3

MT

MT

FADD

CO

C0+(X-K)*F3

MT

MT

FSTP

H

MT

MT

MT

Looking over the second half, you see that it essentially repeats until you get to line 10. The compiler cleans up the stack for the next user by including two instructions that pop the stack (they also end in P).

Based on the fact that the line executes nine floating-point operations, 1 determined the number of FLOPS, and on the basis of the fact that it was replacing 12 instructions, I computed an "effective" FLOPS, which is labeled EFLOPS.

EFLOPS FLOPS

Operations/second 46,880 3 5,090

The code generated by Microsoft was identical for both versions of Microsoft's compiler (3.1 and 3.2). The major difference between Intel and Microsoft code is the use of the 8087 stack. Intel uses it for storing temporaries such as common subexpressions, while Microsoft stores them on the 8088 stack. You can see this by comparing lines 4 and 5 in the Microsoft code with line 3 in the Intel code. The most unusual thing about the Microsoft code is that it places copies of the subexpression (X-K) on the stacks of both the 8088 and 8087.

Microsoft-Generated Code

Line

op

Operands ST(0)

ST(1)

ST(2)

ST(3)

0

MT

MT

MT

MT

1

FLD

X

X

MT

MT

MT

2

FSUB

K

X-K

MT

MT

MT

3

FLD

ST0

X-K

X-K

MT

MT

4

FSTP

|BP-8]

X-K

MT

MT

MT

5

FLD

[BP-8]

|BP-8]

X-K

MT

MT

6

FMUL

C4

C4.CSE

X-K

MT

MT

7

FADD

C3

C3+C4.CSE

X-K

MT

MT

8

FLD

|BP-8|

IBP-8]

C3+C4.CSE

X-K

MT

9

FMULP

STLST0

|BP-8|*C3 + ..

X-K

MT

MT

10

FADD

C2

C2 + |BP-8|.C3..

X-K

MT

MT

11

FLD

|BP-8]

IBP-8]

C2 + IBR.

X-K

MT

12

FMULP

ST1.ST0

|BP-8|.C2..

X-K

MT

MT

13

FADD

CI

C1+|BP-8|.C2.

X-K

MT

MT

14

FMULP

ST1.ST0

(X-K)»(C1+..

MT

MT

MT

15

FADD

CO

C0+(X-K).(CL.

MT

MT

MT

16

FSTP

H

MT

MT

MT

MT

(continued)

Fall 1984 • BYTE Guide to the IBM PC

205

8087 PERFORMANCE

From a code efficiency standpoint, the cost of placing temporaries in memory and on the stack is 16 instructions for Microsoft as compared to 12 for Intel. This amounts to a 30 percent increase in code size and a corresponding increase in the number of machine cycles needed to execute it. When you analyze the number of cycles that each compiler takes for this job. you will see that the improvement is roughly 30 percent in favor of Intel. This also demonstrates that the difference between the best (the Intel code line for this expression can be shown to be optimal!) and good does not make for a huge difference in performance for well-optimized inline 8087 code generators. Once you are in the ball park, the law of diminishing returns starts to apply to code generators. Also in fairness to Microsoft and Intel, code quality is not the only factor by which to make a purchasing decision. On the average Microsoft code is actually more compact than Intel because Microsoft chose the Medium memory model, while Intel uses the Large model, which will be described later in the article. Designing a compiler involves hundreds of tradeoffs, none of which should make or break a product.

Before leaving the example, I will analyze both code lines with an eye toward calculating the time spent doing I/O to memory versus arithmetic operations. This is easy. Just open any Intel user manual on the iAPX 86/88 series and turn to the section on the 8087. Most have a table listing all the operations and the number of cycles needed for each instruction as a function of the operand size and location. In my analysis, 1 segregated 8087 operations that do I/O only from arithmetic operations and then added up the cycles in each category. Every operation that references memory requires an effective address time (EA in table 2) to be calculated, as per Intel instructions, lb complete the analysis, I transferred the 30 cycles it takes for an instruction of the form FOP mem (OP symbolizes arithmetic operations) to do I/O from the arithme

tic side to the I/O side. The analysis is displayed in table 2.

You can immediately produce all kinds of significant statistics. First, both compilers generate very good code, especially when compared to that generated by library calls. As the expression being evaluated makes better use of the 8087 stack, the numeric efficiency of the code generated by Intel increases, approaching 90 percent for problems that have large numbers of CSEs. The Microsoft code generation is fixed at 60 percent for identical problems, because there is no reduction in the time spent addressing variables on the 8088 stack, which is in memory. What you are witnessing here is a battle between hardware and software. Hardware designers speed up machines by building devices that have special instructions for doing "upper-level" activities. These special instructions save time by cutting down on the number of bus cycles needed to execute them. Software designers always like to write universal code that can be ported to as many devices as possible. For universal code to maintain its portability, it cannot take advantage of these special instructions.

There are some other very significant differences between Intel and Microsoft that affect performance and are important to understand. The first involves calls to library functions. All Intel compilers use a common set of 8087 libraries to do such chores as trigonometries, transcendentals, and exception handling. The numeric parameters are always passed to these libraries on the 8087 stack, dramatically reducing the overhead of a library call but requiring the compiler to keep track of the current depth of the 8087 stack. Microsoft uses the 8088 stack or registers in the 8088 for passing parameters to library calls. The Intel technique is faster but much trickier.

The second difference involves memory models. When Intel developed the iAPX 86/88 architecture, it created four memory models for writing programs. These are called Small, Compact, Medium, and Large. The 8088 can address a megabyte

Table 2: Analysis comparing time spent

on I/O

to memory

versus arithmetic operations.

Operation FLD mem FST sti FSTP mem + arith I/O cycles

Cycles

46

18 102

Intel

(EA) 5

5

no. 1 1 1

I/O OPERATIONS Total Operation 51 FLD mem 18 FSTP mem 107 180 + arith I/O cycles

Microsoft

Cycles (EA) 46 9 102 7

no. 5 2

Total 275 218

180

FSUBR mem FMUL mem FMUL sti FMULP sti FADD mem - I/O cycles = 6*30

1 10 120 130 142 110

5 5

5

1 1 2 1 4

356

ARITHMETIC OPERATIONS 1 15 FSUB mem 125 FMUL mem 260 FMULP sti 142 FADD mem 460

-180 - I/O cycles = 6.30

1 10 120 142 1 10

5 5

5

1 1

3 4

673

1 15 125 426 460

-180

Numeric Cycles

922

946

Total Cycles

1278

1619

Numeric Efficiency

72.14%

58.43%

206

BYTE Guide to the IBM PC • Fall 1984

8087 PERFORMANCE

of RAM (random-access read/write memory) broken up into 64K-byte segments. Segments can be located at any multiple of 16 bytes in the 8088 address space and are addressed in the processor by four segment registers. The convenient "cell" into which programs can be broken is the segment. Depending on how a program is broken into segments, it can be classified as falling into one of these four models. In general, the "smaller" the model used, the fewer number of times the values in the segment registers change. As a result, smaller programs run faster. In effect. Small programs still hold onto the 8-bit architecture of the 8080. The storage that can be accessed is increased as the models get larger. This is accompanied by a reduction in execution speed.

Most of the compilers on the PC market fall into one of the Intel memory models. The IBM FORTRAN and Pascal and Microsoft FORTRAN and Pascal fall into the Medium model. The latest FORTRAN, version 3.2, has an extension—megabyte arrays—a feature that is not defined by the Intel models. The Intel FORTRAN uses the Large model with a similar extension for large arrays. In the comparison of the two compilers, I attempted to verify the use of these models and get an estimate of the decrease in numeric speed resulting from the use of the larger model.

The Medium and Large models are very similar. Both break up the program code into as many 64K byte segments as the

user would like. Essentially, the user can use up to 64K bytes for any main program or subroutine. In the Medium model a single data segment is used to store all constants and data. In addition, the user can define common and memory areas. The Large model associates a data segment with every code segment. From a code standpoint, the main difference between Large and Medium or Compact is that any time a subroutine is called using pass by reference (the FORTRAN standard), the compiler must pass 4 bytes of address information (Large) instead of two (Compact).

A secondary effect is that any time an expression is evaluated that contains dummy arguments (those passed in), for each dummy argument used the 8088 must calculate the effective address of the parameter used. This calculation would take additional time if it were not for 8087 pipelining: in a typical situation, the address calculation (8088) and the previous 8087 operation are done concurrently. The following listing compares the first three instructions of the example (direct addressing) with the code generated when dummy arguments are used (indirect addressing):

INDIRECT ADDRESSING

LES BX,|BP+PARAM+24H|

FLD ES:|BX|.K

LES BX.|BP + PARAM+20H|

DIRECT ADDRESSING

,set address FLD K :8087 operation

.set address

[continued)

How can your microcomputer talk

to an IBM mainframe?

CLEQ.

CLEOl

The cdfffflSHJ||ations features of the CLE03270 Software packag^llll allows your microprocessor to emulate a cluster of IBM terminal devices. The CLEO software provides the cluster emulation and makes the ASCII devices look like an IBM 3278 CRT and 3287 printer.

If your IBM mainframe doesn't support remote 3270 clusters, you need remote batch communications. CLEO-3780 Software is your answer.

For full details contact CLEO, a div. of Phone 1, Inc. 461 N. Muiford Rd., Rockford, IL 61107: (815)397-8110 Telex 703639.

CLEOm

IBM P.C.

2-Drives, Color card monitor, Parallel port

$2395

call for other configurations

©TAVAPC 128K

Complete System Only $1795

call for complete details

Printers

Brother HR-15 $399.00

Epson FX-100 675.00

Juki 6100 399.00

Gemini 10X 269.00

Okidata93 645.00

Modems

Hayes 1200 $469.00

Hayes 1200B 399.00

IBM Accessories

AST Six Pak Plus 249.00

Teac55B 179.00

Maxell DS/DD 27.00

Call for pricing on our complete line of fine computing products

YOU CAN'T BUY COMPUTERS FOR LESS (619) 579-2730

3855 Avocado Blvd., Suite 140*227 La Mesa, California 92041

Prices subject to change without notice Prices reflect 2 1/2% cash discount • Quantities Limited.

Circle 142 on inquiry card.

Circle 42 on inquiry card. Fall I984 • BYTE Guide to the IBM PC • 207

8087 PERFORMANCE

Table 3: Comparison by class of translators that support the

8087.

Translator

EFLOPS

time

Efficiency

Native compiler with optimized in

line code

Intel FORTRAN-86

46.800

51

1.04

Microsoft FORTRAN 3.1/3.2

37.060

65

.82

Native compiler with 8087 IEEE library and code routines

87BASIC/87BAS+

1 5.000

160

.33

Native Compiler

with 808'

IEEE libraries

87BASIC

8391

286

.186

LATTICE C

7500

320

.166

Native compiler with 8087 non-IEEE libraries

87FORTRAN (REALM)

4403

545

.07

P-code compiler interpreters i

with 8087 libraries

Professional BASIC

2000

1200

.045

SS FORTRAN

5800

414

.129

Pure interpreter—no

support

IBM BASIC A

444

5400

.0098

FSUBR ES:|BX|.X FSUBR X :8087 operation

LES BX,|BP + PARAM+8H1 ;set address

FST ST1 FST ST I ;8087 operation

Note the overlapping of 8088 and 8087 instructions in the indirect case. It is also important to understand that it is possible to convert a pass by reference call into a pass by value call by simply assigning the incoming dummy argument to a local variable. When this is done, the code generated by the Intel Large model reverts back to direct addressing. I conclude that there is no penalty to Large model programs in which the majority of data references are made to the "local" data segment.

Summarizing, the Microsoft compiler produces uniformly good code independent of the complication level of the expression. Its efficiency is roughly 60 percent. The Intel code starts out at the Microsoft efficiency level and improves as the number of parameters that stay on the stack increases, asymptotically approaching 90 percent. Neither compiler does a good job with true mainframe optimizations, such as placing global real variables on the Numeric Data Processor stack, although the Intel compiler does keep real variables on the stack through basic blocks and passes parameters to library functions on the stack without unloading the stack. The biggest difference between the products is the use of memory. Intel uses the Large model, which allows each subroutine to have local data storage in an associated data segment, whereas Microsoft uses the Medium modei, which requires all data to go in a single segment. The other difference is the linker. Microsoft generates only .EXE files, whereas Intel generates .EXE files and absolute files. The latter make it easy to place data in out-of-the-way places, like the RAM above the screen bank (B000 hexadecimal) but below the ROM (read-only memory) BIOS (basic input/output system). Including bank

A000 hexadecimal, this opens up 256K bytes to user storage that IBM has reserved but not yet used.

8087 Assembly-Language Support

It is very easy to evaluate simple expressions using your own in-line code. Two approaches to generating 8087 code with the IBM assembler include the use of macro libraries and a preprocessor that converts 8087 opcodes into 8088 escape codes. For those users who own RTOS (MicroWare's real-time operating system), the choice will be the Intel assembler (ASM-86), which also serves as the definition for the language and mnemonics Intel invented for dealing with the 8088. It comes with an exhaustive library of "8087 common elementary functions" and an 8087 debugger.

The MS-DOS areas that require substantial additional user effort are debugging with Debug (which skips over 8087 escape codes and does not display the 8087 registers) and the development of trigonometric and transcendental libraries. Two products from MicroWare reduce these IBM 8087 support deficiencies. The first is a debugger, called 87DEBUG, that lets the users "watch" the 8087 as their codes execute. The second is a library of 8087 routines called 87MACRO which provides functions similar to the Intel libraries. For users who want to write their own routines, the suggested reading is the 87/88 Guide and Intel Application Notes. In any case, users who learn to write code for the 8087 will find it a valuable asset in generating special routines and in understanding the code generated by their compilers.

Table 3 compares the effective numeric efficiency of a number of different translators for the evaluation of the doubleprecision expression in equation 1, described earlier. The times given in the table are in seconds for 200,000 evaluations of this expression. The time to execute loops has been subtracted. The column labeled EFLOPS contains the number of floating-point operations per second, adjusted for the fact that some of the compilers eliminate common subexpressions. Note that about a 105 to 1 spread exists from the slowest to the fastest. The slower products are obviously very inefficient; this does not mean they have poor 8087 support, but that they are I/O bound as opposed to 8087 bound. It also points out that the 8087 is not a panacea, but rather a numeric processor that works best with very tight code. The effective numeric efficiency was computed by dividing EFLOPS by 4 5,000, the number of mixed stack operations that the 8087 can do in a second. I chose this definition because it can be applied across a spectrum of products. For products that use the 8087 stack effectively, the effective numeric efficiency depends on the expression used to evaluate it and goes up as the number of common expressions increases. The definition can result in efficiencies that are greater than one.

Table 3 ignores the other half of the story: library functions such as COS and EXP. If these functions are well written, they should perform with the same accuracy and speed in all implementations (even the interpreters). However, a number of these languages do not support, or do a poor job handling, double-precision variables. Therefore, the quality of doubleprecision arithmetic and the accuracy of functions turn out to be a whole new story. If accuracy is critical for your application, verify that the product in question meets the Intel/IEEE standard and allows the use of temporary real variables. ■

208

BYTE Guide to the IBM PC • Fail 1984

EXTRA POWER FOR SPECIAL NEEDS:

THE XT/370, 3270 PC AND CS 9000 SERIES

The Micro as Mainframe/The Mainframe as Micro The IBM XT/370 Personal Computer

by Ernest Sabine 210

Number Crunching on IBM's New S9000

by David I. States 218

The Mainframe Connection: IBM's 3270 PC

by Larry Augustin 231

Maximizing the PC Family: Communications and

Compatibility

Modems: The Next Generation

by Mark Klein 238

Moving Data Between PCs and Mainframes

by lay Siegel 248

Testing for IBM PC Compatibility

by Robert A. Stillman 256

What's New 266

o

THE

IBM XT/370

PERSONAL

COMPUTER

by Ernest Sabine

IBM's two extensions to its line of personal computers, the XT/370 (or 5160 Model 588 or Model 568) and the 3270 PC (or 5271 Model 2, 4, or 6), address the micro-tomainframe link for the IBM 370, 43XX, and 30XX series of general-purpose computers. Each allows simultaneous operation of an IBM PC as a stand-alone computer and as an interactive terminal networked to an IBM mainframe. Beyond this the XT/370 and 3270 PC differ significantly. The XT/370's major emphasis is on executing IBM 370 programs on the XT itself. The 3270 PC's emphasis is on providing high-quality color graphics and interaction between the XT PC-DOS-based applications and the mainframe host. In this article we'll take a look at the XT/370.

What Is the XT/370?

The XT/370 operates in one of three ways: as an XT personal computer, an interactive full-screen terminal connected to an IBM mainframe computer, or as a mainframe-like system executing 370 programs. By using a "hot" (ESC) key, you can run in one or all three contexts concurrently.

In PC mode, the XT/370 operates as a regular IBM PC XT with 640K bytes of RAM (random-access read/write memory) and one or two 10-megabyte

Photo 1: The XT/370 from IBM.

fixed-disk storage units controlled by PC-DOS 2.0. It is slightly slower than the vanilla XT model, because some of the RAM operates more slowly to accommodate other microprocessors in the XT/370.

When operating as a mainframe computer terminal, the XT/370 emulates an IBM 3277 Model 2 display: a 24-line, 80-character-per-line, monochrome fullscreen terminal. In this mode, you can interact directly with a mainframe host, including IBM's 370, 43XX, or 30XX processors. Because of a third mode, the mainframe can operate under VM/SP (Virtual Machine/System Product) interacting with the user through

CMS (Conversational Monitor System). CMS provides a timesharing environment for editing, compiling, debugging, and executing programs in a variety of languages. Under CMS, your XT/370 can store and retrieve data on magnetic tape and disk, route input and output to and from record equipment, such as card readers and line printers, or to other mainframes as well.

When operated in the System/370 mode, the XT/370 uses 480K bytes of real main storage. The system contains hardware that can map 4096K bytes (4 megabytes) of virtual memory onto the real memory using the 370 relocation method. The keyboard and display

210

BYTE Guide to the IBM PC • Fall 1984

A qualified success, IBM's XT/370 represents a genuine advance

in desktop computing

operate as an IBM 3277 Model 2, and the disk and fixed-disk storage are accessible as CMS virtual-disk storage. Added to these features are a link to the IBM mainframe allowing access to its virtual disks for retrieving and storing programs and data, and access to printers for high-speed listings. The mainframe link can also upload/download files between the XT/370 and the mainframe host. If the XT/370 is locally attached—that is. connected through a mainframe channel—data is transferred at rates exceeding one million bps (bits per second).

TMree Additional Boards

You can buy an XT/370 as a package, or you can upgrade an existing XT or IBM PC. The 10-megabyte fixed-disk version is the 5160 Model 588. If you need 20 megabytes (two fixed disks), you need the Model 568 without disks and the 5161 Model 3 expansion unit with two fixed disks. To upgrade an existing XT get the XT/370 Option Kit-feature 3891. The kit even includes a new nameplate. Make sure your original computer has 2 56K bytes of RAM on the motherboard. In addition to the XT/370 or upgrade, you'll need software for terminal and 370 modes and manuals for diagnostics and reference.

The XT/370 includes a monochrome display and an adapter board. You can use a color monitor, but its color and graphics features are unavailable in ter

minal or System/370 mode. The three boards that operate the two extra modes are the XT/370's most significant feature. One board operates the System/370 processor, another serves as both System/370 main storage and XT storage, and the third provides a mainframe connection.

The processor card (PC/370-P card) contains three microprocessors and a 370-page table with room for 1024 entries. A 370 VM/CMS page contains 4096 bytes, so the processor card supports a 1024 by 4096 or 4-megabyte virtual-address space. The processor card must be installed in slot 4 of the XT.

The processor card uses two Motorola 68000 chips and an Intel 8087 chip for the System/370 operation. One 68000 performs instruction fetch, decoding, and emulation of most 370 fixed-point instructions. It also uses its registers and program counter to emulate both the 370 general-purpose registers and program status word (PSW).

The second 68000 manipulates the 370-page table, processes exceptions (invalid op codes, zero divide, etc.), and emulates system-related fixed-point 370 instructions. This includes the supervisor call (SVC x'Oa') op code used to pass requests from application programs to the CMS monitor and the DIAGNOSE (x'83'1 instruction. On a mainframe the DIAGNOSE instruction passes function requests beyond the

CMS monitor to the VM control program monitor, and on the XT/370 DIAGNOSE communicates function requests from the System/370 mode to PC-DOS.

The 8087 processor performs 370 floating-point instructions. Its registers emulate the 370 floating-point registers.

The memory card (PC/370-M card) contains 512K bytes of parity-checked RAM. It must occupy slot 3 of the XT. The memory is accessible from both the XT's 8088 processor and the System/ 370 processor card. The 8088 has priority over the processor card to ensure that time-critical operations, such as interrupt processing, are carried out properly.

When accessed by the 8088. the memory on the PC/370-M card is addressed as locations 2 56K on up. with the last 128K bytes mapped out. When accessed by the processor card, the first 480K bytes appear as locations 0 to 480K bytes of System/370 memory. The remaining 32K bytes are used for storing 68000 microcode used to emulate the 370 functions and interface operations with PC-DOS as carried out by the second 68000. The memory on this card operates slightly slower than the

XT memory on the motherboard. This

{continued)

Ernest Sabine is a division leader in the systems development division at the Charles Stark Draper Laboratory [\nformation Systems Department, 555 Technology Sq., M.S. 33, Cambridge. MA 02 1 39).

Fall 1984 • BYTE Guide to the IBM PC

THE XT/370

XT/370: The Missing Link by Paul e. Hoffman and g. mack hicks

IBM's introduction of the XT/370 will affect more people than just those who work with the IBM 370 mainframes.

If you're confused by the introduction of a "desktop" 370, remember first who IBM is: a company with 370,000 employees and an annual gross income of more than $40 billion. If you are familiar only with IBM's microcomputers, you may not realize that, in spite of all the interest and excitement generated by the PC family, it represents only about 5 percent of IBM's income.

IBM's announcement of the XT/370 last October illuminates two major marketing strategies for the PC and 370 lines. First, IBM treats the PC as little more than a box that can be easily expanded with more powerful central processors. Second, the 370. IBM's primary mainframe offering, can now be on any user's desk as a real computer, not simply as a terminal. IBM recently stated that its major push for the rest of the eighties is toward intelligent workstations instead of completely centralized mainframes or completely decentralized microcomputers. If you dismiss the XT/370 as simply part of a new method that IBM has devised to sell terminal equipment to 370 mainframe owners, you have missed the point. IBM would be happy to start you on an XT, upgrade you to an XT/370, and then eventually hook you into a 370 for software distribution. Thus, even if you do not currently use a mainframe computer, IBM's microcomputers give you an upward path to them. You are not required to use a mainframe 370 in order to use an XT/370.

Downloading Programs, Not Just Data

Because the XT/370 uses the exact same instruction set as the 370 mainframe, you can copy executable programs from the mainframe to the microcomputer and run them directly. For example, imagine it is just before noon, and the mainframe 370 is becoming terribly slow. You really want to run a large database job. but you are afraid it may take hours at the current load. Instead of being tied to the mainframe, you can simply make a copy of the

database-management system on your XT/370 and run the job on your own system.

In fact, you do not need to download the program from the mainframe: if your office mates have it on their systems, they can give it to you on an ordinary floppy disk. You might even buy an XT/370 simply to run all of the thousands of programs that are already available for its mainframe namesake.

In the future you can expect IBM to use the XT/370 to distribute business software electronically. This, of course, will introduce further software licensing problems. IBM requires a separate license for each XT/370 on which a mainframe program runs. It has begun distributing directions for downloading programs onto the XT/370 with the standard software documentation. Other software vendors will probably do the same soon.

THE VM/PC Operating System

Your interface with the XT/370 is almost identical to your interface with a 370. VM/PC (Virtual Machine/Personal Computer) control-program commands on the XT/370 are directly compatible with VM/SP (Virtual Machine/System Product) commands on the 370. This is important to microcomputer users for two reasons. First, if you already use VM/SP on a 370, you will be completely comfortable with your new XT/370. Second, while you can run PC-DOS on this new computer, IBM downplays its importance. (Anyone who feels that IBM has a long-term commitment to Microsoft and MS-DOS should take note.)

The user's interface to VM/PC and VM/SP is called CMS, which stands for Conversational Monitor System. You give commands to CMS in a fashion similar to the way you give commands to CP/M or MS-DOS: you respond to a prompt by typing in a command followed by a number of arguments. CMS runs under CP, the control program. (In fact, the command syntax of Digital Research's CP/M was derived from IBM's CP.) CMS is the most popular operating system within IBM and is used extensively by its huge marketing staff.

CMS is also used on many of IBM's other large computers, including the 360. the 4300, and the 308X series. If you've used any of these computers, you will have no problems using the XT/370. Though certain programs do not run on the XT/370, the problem is with the current version of VM/PC not the hardware. Future versions of the VM/PC will be able to run even more programs.

Two of VM/SP's major tools are its editor, XEDIT, and its batch programming language, EXEC. With these tools, any programmer can create a wide variety of environments for users, such as interactive help and menu-driven processing. The distinction between the editor and. the batch processor is blurred, since you can give the editor a list of commands to perform on a set of files and even execute operating-system commands from within it. XT/370 users are given both of these programs as part of VM/PC.

One of the unique features of the XT/370 is its ability to access disks on the mainframe as if they were its own. For instance, when you download Pascal/VS from a 370, you can choose to copy only a few of the program libraries. Then, simply link the disk on which they reside on the mainframe to VM/PC with a command. When Pascal/VS looks for the libraries, it will go through its normal search order, first on the XT/370, then on the mainframe.

VM vs. PC-DOS Programs

Because VM programs use virtual memory, a program has available an almost unlimited amount of memory space. Most PC-DOS programs address only 128K bytes: imagine similar programs that can use up to 4 megabytes, or 32 times as much memory. With virtual memory, the limited text editors and formatters of PC-DOS could become incredibly powerful tools.

Other business programs, such as spreadsheets and database managers, also thrive with the significant increase in available memory. When VM program designers work, they do not need to worry about memory limitations nearly as much as their microcomputer peers. This results in more powerful programs

212 • BYTE Guide to the IBM PC • Fall 1984

THE XT/370

that are laden with features.

T>ie Future

Although many people think of the PC as a full-blown microcomputer, IBM conceives of it as an easily upgradable box with many expansion slots, a bit of memory, some mass storage, and an insignificant central processor. (In fact, when you run VM/PC, you use the 8088 as an I/O processor.)

You will see a number of impressive innovations on the PC in its configuration as an XT/370. More people who work in companies with 370s but have no access to the computer will have XT/3 70s on their desks and will use them for the majority of their business communications.

It is always difficult to tell which of IBM's new products it intends to push and which are red herrings. For instance, many people felt that IBM "legitimized" the UNIX market with its PC/1X announcement; since then, almost nothing has been heard of the product. However, the XT/370 is certainly going to be important to IBM, because it gives IBM an easy way to let users reduce the strain on their 370 mainframes and inexpensively gives end users more power at the same time.

The XT/370 is a strong entry into the new market of decentralized mainframes. Instead of coming up with a new mainframe, IBM designed a new microcomputer that works with the already established line. In fact, it also used an already existing communications path between the two computers, so that the IBM PC/XT could be easily integrated into the current 370 environment. Both mainframe users and microcomputer users will soon see the results of this development, and within a few years, it may be hard to tell the two sets of users apart.

Paul E. Hoffman (2000 Center St.. Suite 1024, Berkeley. CA 94704) is the coauthor of the MS-DOS User's Guide, recently published by OsbornelMcGraw-Hill. G. Mack Hicks (26 Car! St., San Francisco. CA 94117) is a senior systems consultant for the Bank of America.

allows it to meet the timing constraints designed in the processor card.

The 3277 emulation card (PC/370 EM card) must occupy slot 2 in the XT. It contains the circuitry and coaxial connector for attaching the XT/370 to an IBM mainframe. The coax, which can be up to 2000 feet long, is run to an IBM 3274 Display Control Unit with a type B terminal adapter. The 3274 may be locally attached to a high-speed data channel (about 1 megabyte per second) or connected through a synchronous data link control (SDLC) telecommunications link, typically at 4800 or 7200 bps.

Two Operating Systems

The software for the XT/370 includes PC-DOS 2.0 and a "Licensed Product," Virtual Machine/Personal Computer (VM/PC), which operates only on the XT/370 version of the XT. While operating as a personal computer, the XT/370 requires only PC-DOS. You'll need both software components for operating your XT/370 as either a 3277 display terminal or in System/370 mode.

Besides supporting the XT/370 as a personal computer, PC-DOS performs the same functions on the XT as the VM control program does on a mainframe 370: file handling, paging I/O, display and keyboard I/O, and file transfers between the XT/370 and the mainframe. Requests for I/O by a 370 program are reflected to PC-DOS by interrupts generated when the 370 DIAGNOSE instruction is executed. This instruction is used by the CMS monitor to pass system-related function calls to the VM control program monitor on a mainframe. On the XT/370, PC-DOS processes the interrupt, and the associated I/O parameters are passed to an I/O driver running under PC-DOS.

VM/PC is a "skinny" version of IBM's VM/CMS mainframe timesharing operating system. It allows 3277 display terminal emulation, includes utilities for moving CMS formatted files between the XT and the mainframe, and transfers files on the XT between CMS and PCDOS.

Using the PC-to-mainframe link, an XT/370 CMS application program can access CMS files on the mainframe, record by record. Print files, created by the CMS application, can be spooled either to a printer connected to the

XT/370 or to the mainframe for highspeed output.

VM/PC also supports CMS I/O devices such as the console (the keyboard and display), local CMS virtual disks on fixed-disk and floppy-disk drives, and local printing. It also enables you to remotely access CMS files and the printer spool on the mainframe. The full CMS and control-program command repertoire is available, including the fullscreen XEDIT file editor, the EXEC2 command language (a more powerful batch-like command processor), and the DEBUG subcommand environment. VM/PC also includes a 370 Processor Control debug function that provides access to the 370 registers, program status word (PSW), and main storage. It also allows execution and tracing of 370 programs in single step and stop-onaddress-compare modes.

Besides XT/370 resident software, VM/PC includes a remote server program that operates on the mainframe host. The remote server coordinates data transfer at the mainframe end, between the XT/370 and the host.

VM/PC provides a full CMS environment, but you may want to run other 370 applications under CMS as well. You can download any 370 program running on the mainframe to the XT/370 and it will operate correctly if its I/O is restricted to the XT/370 CMS devices; its real and virtual storage requirements do not exceed 416K bytes and 4 megabytes, respectively; and it has no time or operating system's internal dependent code.

Compilers, data management, financial analysis, and other types of packaged applications software present a special case if they are sold, leased, rented, or otherwise licensed for use on the mainframe only. Third-party 370 applications software vendors will have to establish additional policies for distributing their products on the XT/370. Most 'mainframe pay-for-use software packages lack copy protection. IBM has already established a pricing policy on its software products, which includes a gentleman's agreement on distribution to paying XT/370 customers only.

The XT/370's functions add considerable storage requirements to those of PC-DOS. Table 1 presents the RAM and fixed-disk requirements for both PCIcon tin ued)

Fall 1984 • BYTE Guide to the IBM PC • 213

THE XT/370

DOS and VM/PC. Free storage on the fixed disk can be severely constrained if several of the commonly used compilers are included. For example, if you run both the COBOL and PL/I compilers, less than 50 percent of a 10-megabyte fixed disk is left for source, data, and other user files. Using a single disk can also constrain performance, especially if you load your compilers frequently. In that case, you may need two fixed disks, one for the operating system and compilers and the other for user files.

Operating the XT/370

Because the XT/370 has multiple modes, you can operate it as a personal computer or a remote terminal hosted to a System 370. Here are a few typical operational scenarios:

• CMS/PC-DOS bridge. By capturing data from PC-DOS, perhaps on disk, you can import it to the local CMS for subsequent processing. Exporting data would reverse the operation.

• Local CMS editing/remote computing. By using XEDIT on the XT/370 for file editing, you avoid response-time delays because of a mainframe's heavy workload. You can also SPOOL source programs and data to the mainframe for processing.

• Local compilation and testing/remote computing. You can go the above step one further on the XT/370 by using a local copy of a 370 compiler.

• Local computation/remote database. You can compile data locally or extract object programs from the mainframe and run them under CMS on the XT/370. You can also access files from a large, perhaps shared, database on a mainframe.

• Local database/remote computation. Using local data on the XT/370, you can execute centralprocessor or large memory-intensive programs on the mainframe. The results can be returned to the XT/370.

• Local computation/local database. You can use the XT/370 locally to process sensitive or proprietary data and programs.

With VM/PC you can switch modes

while another mode is still executing. Although you can run a local and remote CMS session and move files across the systems concurrently, you'll probably find it difficult to work on parallel activities. The easiest way to take advantage of multiple operations is to spin off the printing, file access and transfer, and remote batch jobs that don't require your interaction. It would be less confusing to use multiple sessions if the file and spooling functions were unified so the user could "reach out and touch" software tools and data from one environment while operating in another. Some commands used in CMS have similar counterparts in the CP monitor,

which leads to occasional confusion as to whether you're in the VM/CP or CMS environment.

Like any computer, the XT/370's performance depends on the characteristics of the workload. Any computer can be made to look either very fast or slow with a careful selection of programs.

For raw number crunching in System/ 370 mode, the XT/370 operates at approximately 0.2 million instructions per second (MIPS), slightly slower than an IBM 4331-1 mainframe carrying a $70,000 sticker price. The floating-point speed derives from the math chip on the processor card.

Table 1: XT/370 storage requirements.

MAIN STORAGE:

Use

Storage (K bytes)

Processor control storage

32

VM/PC control program

64

370 CMS/user memory

416

Total 512

FIXED DISK:

Use

Storage (megabytes)

PC-DOS 2.0

0.1

VM/PC system

1.5

Total 1.6

OTHER 370 SOFTWARE FOR FIXED DISK:

Software

Storage (megabytes)

ASSEMBLER H

0.2

BASIC processor and library

0.5

COBOL compiler and library

1.0

FORTRAN VS compiler and library

1.5

PASCAL VS compiler

1.2

PL/I optimizing compiler and libraries

3.0

DCF (SCRIPT VS)

0.6

Table 2: List prices jor a basic XT/370.

Hardware

5160 model 588 (XT/370)

$8085

5151 monochrome display

275

5152 80-cps graphics printer

449

4900 mono display/printer adapter board

250

5162 printer cable

45

Subtotal

$9104

Software

DOS/BASIC 2.1

$ 65

VM/PC

1000

Subtotal

$1065

Manuals

XT/370 Hardware Maintenance

$ 60

XT/370 Technical Reference

28

Subtotal

$ 88

Total cost for base unit

$10,257

214

BYTE Guide to the IBM PC • Fall 1984

Circle 96 on inquiry card.

THE XT/370

For raw number crunching, the XT/370 operates at approximately 0.2 million instructions per second, slightly slower~ than a $70,000 IBM

mainframe.

When executing CPU-bound code, using a general mix of LOAD/STORE/ BRANCH type of 370 instructions, the system executes at approximately 0.1 MIPS. For short, interactive programs such as a text editor or data entry, this speed is quite adequate. Compiling large source programs can take much longer than the same activity conducted on a 370 mainframe.

A more subtle performance phenomenon occurs when you're executing programs using extensive 370 supervisor instructions. These instructions change the state of control registers and page tables and cause 370 system state changes, all of which require more microcode and time than a simple LOAD or STORE.

1/O-intensive programs accessing a fixed disk will run quite slowly because PC-DOS performs the I/O through the XT 8088's 8-bit data path. I/O access to data on the mainframe through the coax/3274 controller link can be quite fast if the 3274 is attached to a channel and the mainframe is not heavily loaded. A remote 3274 will suffer from telecommunications data rates so slow as to require short records or transmission to be infrequent.

Costs

Operating the XT/370 requires you to purchase both XT-related hardware and software. You'll also incur the costs of connecting to the mainframe. Table 2 lists the base price of an XT/370 with

[continued)

Don't let the competition sneak up on you.

Be up and running with The Assistant Controller™ Flexible Accounting Systems from Lake Avenue Software

Written entirely In dBASE II by CPAs. Source Code and Modifications Available.

Fully Integrated or stand-alone. Accounts for up to 999 departments. Automatically

consolidates reports. Complete Audit Trail. Detects out-of-balance transactions.

For PC-DOS, MS-DOS and CF/M Systems. $475 per module.

^°

&*

^

jf

stf*

<r

*P

e&

ITS

***

G°

The Assistant Controller™ Series

LAKE AVENUE SOFTWARE

77 North Oak Knoll, Suite 105 • Pasadena, CA 91101 • (818) 792-1844

dBASE II is a registered trademark of AshtonTate.

on htol

WITH Eli FORTH

PC FORTH™

IBM PC & XT,

HP-150,

Macintosh,

Apple II,

CompuPro,

Sage & CP/M-68K,

Wang PC,

All CP/M and

MSDOS computers.

7j»!ft!wfl»;ikJIF7'

the utmost performance in the shortest development time. Transport your applications between any of our enhanced 83-Standard compilers or expanded 32-bit versions. Choose from our wide selection of programming tools including native code compilers, cross-compilers, math coprocessor support, and B-Tree file managers. All fully supported with hotline, updates, and newsletters.

Laboratory Microsystems Incorporated Mff^KS

Post Office Box 10430, Marina del Rey, CA 90295 mjt/^'UL/

Phone credit card orders to (213) 306-7412 MmttWMF

Circle 95 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 215

THE XT/370

a monochrome display and a 10-megabyte fixed disk. The $10,257 price tag does not include PC-related software and extra hardware, which could bring the actual purchase price up into the $12,000 to $14,000 range. Clearly, the XT/370 is to be used in the IBM mainframe environment, where monthly budgets for system hardware may fall in the $20,000 to $2,000,000 range. If you already have an XT system, you can upgrade it to the XT/370 for $3790. (Order the IBM Personal Computer XT/370 Option Kit, feature 3891.)

The additional mainframe costs include coax cable and 3274 port connections. They can run from $100 to $200 per terminal. The number of XT/3 70s actively connected to a 3274 control unit affects total performance. Extensive file transfers will slow 3274 performance and cause poor response times from other terminals connected to the same 3274.

If you use leased software, add it to your operating costs. IBM's policy on VM/CMS licensed program products is to charge a monthly usage fee for each

XT/370 using the software. Table 3 shows the monthly charge for some of IBM's commonly licensed products.

Balance against these costs the potential savings in mainframe costs that using the XT/370 can mean. If you purchase the XT/370 in lieu of an IBM display terminal, you'll save about $2000. You'll realize an indirect saving by reducing the load or response time of the shared mainframe. This can, in turn, postpone mainframe upgrade expenditures. The most important savings, and the most difficult to measure, are

The Fifth Generation By David l. cohn

Once again, the Japanese are taking an American idea, modifying it, and selling it back to us. In the past, it was TVs, stereos, and automobiles. Now, it is computer "generations."

Generations began simply enough. When transistor-based computers were introduced in the late fifties, a major change took place. Suddenly, the old vacuum-tube machines were obsolete and a new era had dawned. The old machines became the first generation, and the new machines the second.

In the mid-sixties transistors gave way to integrated circuits, and IBM's System/360 heralded the arrival of a third generation. The increased circuit integration of the IBM System/370 earned it the title of fourth generation. Since then, there's been chaos. No new technology has been anointed as the fifth generation.

The family tree seemed so pat. A new generation was declared whenever circuit technology changed the nature of computers. At each step, computers became more available and more important. Unfortunately, since the System/370, computers have improved through evolution, not revolution. There have been no new generations ... or have there?

The Japanese have been watching. They saw that no one had used the fifthgeneration label. They grabbed it and turned it to their own purposes. They would have us believe that fifth generation means artificial intelligence and talking computers and listening computers and fancy software and robots and . ..

Enough!

"Generations" refers to circuit technology, not applications. Sure, applications are important; sure, the lapanese

pose a threat. Sure, we must reclaim our technology leadership. But let's start at the beginning; let's reclaim our terminology leadership.

THE Real Fifth Generation

The fifth generation means microprocessors! There. I said it. In the past, hardened computerists, those who dealt with mainframes, would have laughed at such a statement. "A microprocessor isn't even a computer," they would say. "Clearly, it can't be the next generation of computers."

Although that might have been true of the 6502s and even the 8088s. it's no longer true. The IBM PC XT/370 is a real computer with a real operating system and real programs. It even offers virtual memory.

Perhaps the greatest problem with declaring microprocessors as the fifth generation is that they, too, are based on integrated circuits. Consider this, however: the large-scale integration (LSI) circuits of the fourth generation evolved from the small-scale integration circuits of the third generation. What mattered was that this evolution in component technology changed the nature of computers. The same thing is true of the transition to microprocessors. Although they evolved from LSI technology, they have undeniably altered the concept of a computer.

But why declare the XT/370 the fifth generation of computers? Why not the PC? Or the Apple II? Or the Altair? Because the XT/370 brings the microprocessor directly into the world of the big computer. It cannot be dismissed as a hobbyist's toy. With its System/370 instruction set, its powerful system software, and its high-speed communication, it can

act as an integral part of a larger computer.

lust as each of the first four generations marked a distinct role for computers, so does the IBM PC XT/370. Soon these machines will be connected into networks of interoperating systems. In fact, one of the nicest features of the XT/370 is its high-speed communication with a host computer. When the host is running IBM's virtual machine (VM) operating system, an XT/370 can access host files as if they were local. All of VM's file protection and multiple-access features are still in place, but the processing is done in the small computer.

If my argument has a weakness, it is that the IBM XT/370 is not really "a microprocessor." In fact, it uses three microprocessor chips and a fourth coprocessor. These function as two cooperating computers to form the full system.

The familiar 8088 processor on the PC motherboard is really a slave computer in the XT/370. It acts as an I/O (input/output) processor to the XT/370 processor. The 8088 takes care of the keyboard, screen, disks, and communications hardware. Most of these devices use standard PC-DOS routines to respond to XT/370 processor requests. The major additions to the XT/370 include the new 32 77 emulator board, which allows high-speed communication with an IBM host.

The other two microprocessors and the coprocessor (an 8087 and two 68000s) form the XT/370 processor. The System/ 370 instruction set is too complex to be controlled by a single chip—that is, by a single chip using 1982 circuit technology. (It takes a while to go from chip design to finished computer.) IBM decided to divide the instruction set into three pieces

216 • BYTE Guide to the IBM PC • Fall 1984

THE XT/370

in your own improved productivity. An XT/370 user can now compute at a pace independent of mainframe load and availability.

A New Direction

As a personal computer, the XT/3 70 fits close to the top of the IBM PC line. Most of its memory is slower, its fixed disk has less free space available, and the loss of three board slots restricts the number of board-level products that you can add. Within the VM/CMS environment, the

XT/370 can only benefit by its coexistence with a personal computer operating system and from the thousands of available microcomputer software packages. Software innovation over the past five years has come for the most part from the microcomputer end of the industry. Mainframe software innovation suffers the inertia of having to support older software and hardware technologies even on new hardware. For most mainframe users, however, the XT/370 link—though it's designed to be used with a mainframe—is not general

Table 3: Monthly chai

ges for licensed

XT/370 software.

Monthly Charge

370 Product

per XT/370

ASSEMBLER H

$9

BASIC

$21

COBOL (Compiler)

$19

COBOL (Debug)

$21

DCF/SCRIPT

$18

FORTRAN (VS)

$17

PL/I (Compiler and Library) $29

and incorporate each piece on a separate chip. The three sets include the popular nonmathematical instructions, the popular mathematical instructions, and everything else.

The first instruction set is on a modified 68000 chip. Its microcode has been altered so that it responds to System/370 instructions rather than 68000 instructions.

A modified Intel 8087 is used for the important mathematical instructions. The chip now does arithmetic according to the IBM standard rather than the IEEE standard. The differences are in the details, but the XT/370 will produce precisely the same numerical results as a large IBM mainframe.

The leftovers in the third set are accommodated on a second 68000. This one uses standard 68000 instructions to do these odd jobs. It's a bit slow, but these instructions aren't used much.

theory and Practice

Together, the three processors make up the central processing unit of a mainframe System/370 computer. They can run almost all programs on an XT/370 that can run on a mainframe 370.

The major limitation relates to memory addressing. Even though the memory shared by the XT/370 processor and the 8088 contains 5I2K bytes, the XT/370 can use 4 megabytes. If the XT/370 wants data not in the physical memory, the 8088 fetches it from a DOS file on the disk. In this way, the XT/370 processor can address up to 4 megabytes of "virtual memory." However, a large 370 has 16 megabytes of virtual memory. Therefore, the unusual program that needs more than 4 megabytes won't run on an

IBM PC XT/370.

For an operating system, IBM has developed VM/PC (Virtual Machine/Personal Computer). This popular software is really two pieces: VM/CP (Control Program) and VM/CMS (Conversational Monitor System). CP is the basic interface to the hardware and CMS is the user interface.

For the IBM PC XT/370, portions of the control program run on the XT/370 processor and portions on the 8088. This software was created especially for the XT/370. CMS is a direct descendant of the mainframe CMS. All other software comes straight from the big System/3 70s: the same compilers, the same editors, the same applications.

On mainframe System/3 70s, it is possible to use environments other than CMS. In fact, some researchers even run UNIX. On the XT/370, IBM supports only CMS. However, provisions exist to create other environments, and someone may choose to create them.

Thus, the IBM PC XT/370 is a true System/370. It marks the first time mainframe power can sit on a desktop. It certainly won't be the last. DEC is preparing a desktop VAX. IBM may use its XT/370 chip set in other packages. It may even be possible to fit the entire System/370 instruction set onto one chip using 1984 technology. In any case, the IBM PC XT/370 is a definite step forward in computer technology, the first of a new breed of computers—the Fifth Generation.

David L. Cohn is an associate professor of electrical engineering at the University of Notre Dame [Dept. of Electrical Engineering. UND, South Bend. IN 46556).

enough to support their software. The IBM MVS and DOS users and people who use incompatible mainframe systems will have to wait for the next upgrade.

The market will determine the value of the XT/370. Unfortunately, the large and growing number of IBM mainframe VM/CMS sites has a relatively small budget and attendant hardware. For IBM, the value, beyond revenue, of the XT/370 is its position as a desktop version of a mainframe system. This presents direct competition to desktop 370 vendors such as Canaan Systems and Spartacus Computer and indirect competition to vendors of plug-compatible mainframe and desktop-to-mainframe systems alike.

Viewed as the first in a series of desktop systems, the XT/370 is a qualified success. The hardware and software design teams at IBM deserve credit for fitting all of the 3 70's features into the XT. Future advances and integrations might result in an even better computer. For example, IBM might add:

• Speed—there's never enough

• More RAM storage—at least I megabyte for VM/CMS: more for MVS

• Greater and faster fixed-disk storage

• Better I/O support-a 16- or 32-bit data bus

• MVS operation—needs a "skinny" MVS

• Autonomous operation—comes as a result of more storage above

• Color display support—3270 PC and 3279 display

• Networking support with integrated remote file management. ■

Fall 1984 • BYTE Guide to the IBM PC • 217

NUMBER CRUNCHING

ON IBM'S NEW

S9000

IBM joins with MIT's National Magnet Lab to develop spectrometers for imaging systems

by David J. States

Photo 1: IBM's scientific computers, the S9000 series. At right is the S9001. at left is the S9002.

The National Magnet Lab NMR group, which builds and supports high-performance nuclear magnetic resonance (NMR) spectrometers for research use, has recently collaborated with IBM in the development of NMR imaging systems. In the past, the lab has used minicomputers such as the PDP 11/34 to control spectrometers, but for this project we elected to use the IBM S9000. While the S9000 is a desktop computer, it is based on the Motorola 68000 processor and has considerable processing power. This was enhanced by the SKY MNK-V array processor from SKY Computers (figure 1). The 24-bit address

space of the 68000 and the S9000's ability to support large amounts of RAM (we use as much as 2 megabytes in some machines) make the S9000 suitable for running the large control and analysis programs used in NMR spectroscopy and imaging.

Figure 2 is a block diagram of the electronics in our imaging spectrometer. NMR signals are generated by exciting a sample in a high magnetic field with RF (radio frequency) pulses from the transmitter. These signals are amplified in the receiver, digitized, and averaged. NMR imaging uses magnetic-field gradients to label nuclei spatially. In modern

218

BYTE Guide to the IBM PC • Fall 1984

PLANAR BOARD 68000 CPU RAM I/O CONTROLLER

ARRAY PROCESSOR

MAIN RAM

DISK CONTROLLER

■ SPECTROMETER

■ COLOR GRAPHICS

■BIT MAPPED CRT • FLOPPY DISKS

■WINCHESTER DISKS

Figure I: The architecture of the S9000 computer system used in the MIT NMR project. The 68000 CPU and SKY MNK-V array processor share access to memory over the VERSAbus. You can use as much as 2 megabytes of memory in imaging applications.

NMR spectroscopy, experimental control and data processing are performed digitally. Our design emphasizes modularity and standard interfaces so we can customize the spectrometer by swapping modules. The use of multiple independent processors simplifies design and eliminates bus contention problems.

NMR includes two important time scales. The first is the time scale of nuclear spin motion in the magnetic field, typically involving fractions of microseconds. The RF hardware and custom-built pulse programmer in the spectrometer deal with these extremely rapid events. The second time scale deals with repetitive-signal averaging and the user interface, events that take about a second. This regime is coordinated by the host computer.

Our control program is based on a powerful command parser. Making all aspects of spectrometer control accessible through the command language gives us versatility, and a sophisticated set of control-flow operations in the command language let us program and execute complex experimental protocols easily. The command interpreter allows us to define symbols and macros of commands. Loops, branches, and conditional branching are supported within macros, and macro calls can be deeply and recursively nested.

In a typical experiment, the pulse programmer is triggered, the signal average records from 1000 to 16,000 data points, and a subset of this data is sent back to the host to be displayed. When signal averaging is complete, the entire data set is sent to the host, stored on disk, and manipulated in a variety of ways such as scaling, baseline correction, Fourier transformation, data smoothing, and application of resolu

C

O O ID

■QHO

-IEEE-488 GPIB BUS

0

(-MULTIBUS-) ^MULTIBUS-") (]-SPECTROMETER BUS-]) /"-MULTIBUS-")

171

o

z

>

x

r~

m o

r>

m

m

<

m

t>

o

m

x

TJ > S 33 2 >

o o a

Figure 2: The electronics of a state of the art NMR imaging spectrometer. Nuclear spins in the sample probe are excited by RF pulses from the transmitter, and their response is recorded by the receiver and signal averager.

tion enhancements.

Because some experiments run for hours, we needed the ability to perform simultaneous data acquisition and analysis. This is achieved through multitasking. One task runs the command interpreter and interacts with the user, while a second monitors the actual hardware.

The hardware-control task is responsible for real-time chores such as polling devices and fetching data during free periods of the signal-averaging cycle. Since these free periods might be as short as 100 milliseconds (ms) and as much as 8K bytes might have to be fetched, a reasonably fast transfer is necessary. The IEEE-488 general-purpose instrumentation bus (GPIB) from National Instruments serves this purpose and is supported by a fast direct memory access (DMA) port on the S9000. The CSOS operating system provides asynchronous I/O (input/output) and intertask signaling capabilities necessary to coordinate the activities of the main command interpreter and the subordinate hardware-control tasks.

Our spectrometer control program, RNMR, was developed by Dr. David Ruben at the National Magnet Lab (NML) and consists of approximately 20,000 lines of FORTRAN code and an additional 2000 lines of assembly-language support

(continued)

David \. States, M.D., Ph.D., wrote this article while he was doing research at the Francis Bitter National Magnet laboratory at MIT. IBM was collaborating with the laboratory in imaging medical applications.

States has begun his internship at the University of California, San Diego, Medical Center (225 Dickinson Rd., San Diego. CA 92110).

Fall 1984 • BYTE Guide to the IBM PC

219

Scientific Computing: The Shortcomings of the Micro

The university computing centers of the sixties provided a haven for the growth and development of computing technology, primarily applied to scientific number crunching. Similarly, the minicomputers of the seventies were developed and applied with great success in scientific work. Microcomputers with significant computational power have recently appeared, and they are becoming increasingly attractive as scientific processors. The desktop IBM S9000 and SKY array processor used in this project perform the computations we need in our work at a real rate of better than 2 microseconds per floating-point operation. To appreciate how impressive this is. remember that the EN I AC, that room-sized behemoth that gave birth to electronic computing, required 200 milliseconds to do the same operations. In an hour of processing, the S9000/SKY system will do more computation than the EN1AC did in its entire lifetime! Raw arithmetic benchmark speed is not the only requirement of a scientific computer, however.

Scientific work usually involves work with floating-point numbers, big programs written in FORTRAN, and the manipulation of substantial data sets. Program development is often a major part of the task. Where are micros weak? First, there have been problems with support, documentation, and access to experienced users. Microcomputer compilers have also not been up to snuff, and FORTRAN is probably the worst offender. If program development is your work, compilation speed and reliability is essential. Micro compilers and linkers operating off floppy disks are just not fast enough. Computing speed has also been an issue. Floating-point arithmetic has. in the past, been too slow on micros to be useful. The storage capacity of floppy disks has also been insufficient for reasonable-sized programs (or even source listings). And then there are bugs.

What is the cost of a bug? With a major demonstration and site visit coming up on December 4, I came into the lab on December 1 and found my computer hung up. I tried rebooting, but that didn't work. I tried going back to backup copies of the software. That didn't work. I figured that maybe my machine was flaking out, so I tried running the program on two others. Still no dice. Panic! Why does my program load, begin execution, and then just hang up? About 3 a.m. on December 2, I finally found the answer. It was not my program after all. There was a small

error in the system relative time clock that caused it to return a year and 100 milliseconds when you asked for a 100-millisecond delay during the month of December. With the last month of the year, the carry got screwed up. Logical, right? No problem. By 3:30 a.m. 1 had everything converted over to absolute times and running perfectly. Of course, my hairline had receded a quarter inch, and 1 had barely spoken to my wife for two days.

A scientific computer cannot tolerate bugs. To date, micros have accepted far too many. In this regard, the big companies have a tremendous advantage and responsibility. I was disappointed with the extent to which even IBM was willing to cut corners on reliability and documentation in the early stages of the S9000 project. Perhaps it is unfair to compare a brand-new little machine with the mature VAX system, but the VAX is the current standard, and it has very few bugs.

Compiler and Data Storage

Most scientific computing is performed with floating-point numbers. These numbers exploit our usual concern with relative rather than absolute precision, and they allow for a wide range of absolute values in the real world. In floatingpoint format, numbers are represented as the product of a power of two and a fraction. The exponent is used to obtain the range, while the fraction provides relative accuracy. For example, the number 12.0 is 1.5000 times two to the third power. In IEEE standard floating-point format, this would be coded as follows:

Sign Exponent Fraction

bit 31 30-23 22-0

12.0 = 0 10000010 (1)10000000000000000000000

+ (3+127) (1.5)

where the exponent is shifted by 127 so that both large and small numbers may be represented, and the leading 1 in the fraction is implicit.

To add a pair of numbers, each must be separated into its exponent and fraction, the exponents must be compared, and one fraction must be shifted relative to the other so that they are aligned (in effect, multiplication by powers of two). Then the fractions can be added, and a , new exponent must be calculated. Finally, the sum and exponent must be recombined to return the result as a new floating-point number. Microcomputers

usually perform floating-point arithmetic slowly because they must perform the bit manipulations in software. Larger computers do this in dedicated hardware, with a great improvement in speed.

Compilers

Scientific programming necessarily involves the use of compiled code to achieve adequate speed. With large programs, there is also a premium placed on the speed and reliability of the compilation. Micro compilers usually fail in two respects—they are slow, and they are buggy. They are slow because micros do not always have that much central-processor power and because most micros operate off floppy disks. Reading and writing work files on a floppy disk slows the whole process down to the lackadaisical speed of floppy-disk I/O. Also, interactive work on a timeshared system may not accumulate much total central-processor time, but what is used will be clustered into bursts of compilations and links. A micro capable of providing the same average computational rate will not compete in real response time. Hard disks and a 68000 processor go a long way toward overcoming these speed problems.

Data Storage

Scientific computing often requires more storage capacity at greater speeds than micros have been able to provide For data, the requirements are obvious, and most workers are quite aware of how much storage space they will need. Program development also requires storage space, but this requirement is often overlooked. For example. 10,000 lines of source code (a moderate-sized project) might contain 100.000 characters. Compiling it will generate object and/or listing files of comparable size. Allowing for a couple of backup copies, library files, sources for library files, the compiler, and the linker, the capacity of most floppy disks is rapidly exceeded. I/O to floppy disks is also slow. The one- and twosecond delays every time you need a new piece of data off the floppy disk add up and take their toll in aggravation and lost productivity.

We overcame these problems by configuring our program-development stations with 10-megabyte hard disks. These give adequate storage space and cut access times dramatically. The hard disks allow you to scan through files about as fast as a video screen can display the data.

220

BYTE Guide to the IBM PC • Fall 1984

THE S9000

>> rtlT NMR SPECTBOOETEB COHTROL PR0GRW1 <<

> CS 4

> GO

> QUIT

> BC

Figure 3: The raster graphics display of the S9000. You can draw data very rapidly by writing directly to the RAM, which is mapped bit by bit to the screen pixels.

Photo 2: The SKY MNK-V array processor performs floating-point operations at high speeds.

routines. In the course of my work, the program was adapted to the S9000. On the S9000, Pascal routines can be substituted for much of the assembly code, a tribute to the value of mixed-language environments. The massive amount of directly addressable RAM (random-access read/write memory) on the S9000 greatly simplifies other aspects of programming and offers flexibility not available on the PDP-11.

The PDP-11 restricts processes to 32K bytes of address space. Since this is insufficient even for a single data set (8K points x 8 bytes/point = > 64K bytes), the PDP-11 versions of RNMR were heavily overlaid and included an internal virtual-memory subsystem. None of this was necessary on the S9000. In fact, I/O optimization was largely irrelevant because most data could be maintained in core throughout execution. Because little disk I/O is necessary and we use an array processor for most data manipulation, the response time is much faster on the S9000 than it is on any of the PDP-11 systems or our VAX 11/730.

The bit-mapped graphics display of the S9000 (figure 3) has proved its value in our application. This is the one place where a significant amount of assembly-language code was written (a package developed in collaboration with Richard

Mushlin and Jim Cooper at IBM Instruments). By addressing the screen RAM directly and using address-register manipulations, we are able to scale and display a data set with fullscreen resolution (768 by 480 points) in less than 200 ms. For interactive tuning of the spectrometers, such speed is critical. On the PDP-11 and VAX systems, the graphics display must be addressed over an external port, and a display update takes one to two seconds.

The SKY MNK-V Array Processor

To achieve the processing power we needed for interactive data analysis, we included the SKY MNK-V array processor from SKY Computers in our S9000s (see photo 2). NMR is nearly an ideal application for array processing because most of our computations involve manipulations on large linear arrays of data. The SKY product is a pipelined floatingpoint processor, which can increase the speed of floatingpoint arithmetic on the S9000 by a factor of more than 100. Physically, it is a single PC board that plugs into the VERSAbus, and it operates as an intelligent I/O device. Rather than dedicating RAM to the array processor, the SKY board shares memory with the host 68000, performing DMA transfers to get data as needed. This architecture meshes well with the S9000 and its very large RAM. It also simplifies and reduces the cost of the array processor.

SKY provides a library of vector-manipulation routines, including integer-to-floating conversions, vector-vector and vector-scalar arithmetic, matrix-manipulation primitives, FFTs (fast Fourier transforms), convolutions, and polynomial evaluation. The company also offers an extended library with vector trig functions, exponentials, square roots, and more matrix-manipulation tools.

Accessing the array processor efficiently is easy if you want to perform functions provided in SKY's library. For example, a Fourier transform (FT) is a common mathematical transformation used in signal processing and image analysis. In simple terms, it converts from waves in a time series to frequencies in a spectrum. The FORTRAN code necessary to perform an FT with the SKY array processor is as follows:

CALL VFFT(vec_ CALL VWA1T

jnjncr in.vec out.incr out.len)

where vec in is the input data, incr in is the increment between data points in the input vector, vec out and incr out

specify the output vector, and len gives the number points.

The increment specifications are a rather clever feature allowing you to access a matrix of data in either rows or columns without transposing it. For imaging and other multidimensional applications, this can save a lot of unnecessary data shuffling. The VWAIT call tells the host to wait for the array processor to finish before proceeding. The array processor is able to act on its own through the FT. but, of course, the results will not be valid until it is done. Since the FT might take a few milliseconds, you might want to do some other work with the host while waiting. In that case, you can delay the VWAIT call.

Does the SKY board give us much processing power? You

[continued]

Fall 1984 • BYTE Guide to the IBM PC

221

THE S9000

bet. A 1024-point complex FFT takes only 82 ms. including a bit reversal and swap needed to set up the data for the FFT (both are in the SKY library). The same FFT on a VAX 11/780 with DEC'S FP accelerator takes 230 ms (FFTCC from the IMSL subroutine library). We could do better by coding the FFT in assembly language, but the advantage of the VAX is supposed to be ease of programming.

Optimizing use of an array processor is not the same as optimizing your typical computation. To get some feeling for why. let's examine the processing times required (table 1).

The SKY board achieves its'speed by pipelining. In other words, the different parts of several floating-point calculations are overlapped in dedicated hardware instead of waiting for each operation to complete sequentially. This makes arithmetic processing of numbers faster than the rate at which data can be moved in or out of the SKY board. To speed up processing, a second level of pipelining is used in I/O operations. Data movement on and off the array processors is handled by DMA controllers, which operate independently of the arithmetic processor. The slowest step is actually keeping everything coordinated.

To optimize performance, the name of the game is to maximize the computation done per instruction by using long vectors of data. You also want to get as much done between the times you must stop and wait for completion. Resynchronization waits must be introduced any time you need to use the result of an array-processor calculation in the host. A third goal is to minimize the amount of I/O needed to complete a given calculation. Arithmetic on complex numbers is thus comparatively cheap (twice the time of a real operation rather than the usual factor of about six).

Using the on-board scratch-pad memory can also decrease I/O delays. To see how this is done, consider a simple problem—multiplying a vector by a matrix. The crudest algorithm would be to follow a typical pencil and paper approach

For i = 1 to n rows

Vector multiply ( Row.

Vec out(i) = Sum of_

End loop

J * Vec_ .elements

jn = > Temp ( Temp )

where the matrix is represented by a series of row vectors

Row 1 to Row n, Vec in is the input vector, and Vec out

is the result. The crude algorithm would require four vector moves and two instruction packets per row. You can double the speed by using the dot-product routine that SKY provides to combine the two operations.

For i = I to n_

Vec out(i) =

End loop

_rows

Dot ( Row_

Vec_

This still requires moving two vectors per row into the SKY board. You can gain another factor of two by using the scratch pad.

Move ( Vec in = > scratch pad )

For i = 1 to n rows

Vec out(i) = Dot ( Row i, scratch pad )

End loop

Note that even in the most efficient algorithm, the speed of the calculation is determined by the I/O delays, not the speed of the floating-point operations. Array-processor performance figures quoted in millions of floating-point operations per second (MFLOPs) ignore this fact and might be quite misleading.

Unfortunately, to use the scratch pad you have to delve into SKY's "Advanced Programming" routines and worry about a lot of details the standard library takes care of for you. It is analogous to assembly language versus FORTRAN. Chances are you will not have to worry about this, though. as the second algorithm will run a length 100 real vector through a 100-by-100 matrix in about a tenth of a second.

You must compromise when using an array processor. Array processors work well with computations that involve linear access to arrays of data, but they will not help with sorts, parsing, or algorithms with complex control branching. The SKY array processor, like most low- to moderate-cost units, works only on single-precision floating-point numbers. If you need double precision, you are out of luck. Similarly, the SKY board will do fast integer-to-floating conversions, but if you want the calculation done in integer format, it will not help you. (Of course, the 68000 is pretty fast by itself for integer work.) The SKY libraries offer a good set of basic operations, but functions not supported by the library require more work.

The S9000 is not the only computer SKY supports. SKY array processors are available for the Multibus and DEC'S Q-bus. as well as the VERSAbus, all for about $6000. In addition, they have a slower, less expensive floating-point processor that supports double-precision arithmetic. SKY has subroutine libraries that operate under many different operating systems, including several flavors of UNIX.

Program Development

Bringing up 20.000 lines of code on a new machine is no small task, and programs will continue to evolve once they are running. The capabilities of the S9000 as a programdevelopment station are, therefore, almost as relevant to the project as its ability to run the program in the first place.

CSOS is the operating system IBM supplies with the S9000. While IBM does offer XENIX (a Microsoft UNIX derivative), CSOS remains the focus of most of its development work. CSOS is not a finished product, yet it comes to market at a time of great opportunity. CP/M and MS-DOS clearly do not exploit all the power available in a processor like the 68000. Nor is UNIX the be-all and end-all of operating sys

{conlinued)

Table I: Basic steps and times for optimizing an array.

Operation Time*

Send commands asynchronously 290 /zsec

Wait for completion 235 /isec

Tell the SKY board to repeat the last command 20 ;xsec

Move a word of data Ion or off the SKY board) I usee

Floating-point divide of on-board data 7 ^sec

Add, multiply, or compare on-board data 0 jisect

"Times were calculated by performing the relevant operation 1000 times on a length 1000 vector and dividing the number of seconds needed to perform the task by one million. Command-processing times were obtained by extrapolating to zero-length vectors. tThese operations are pipelined and are faster than data movement.

222

BYTE Guide to the IBM PC • Fall 1984

When you're last

to the party,

you better bring

something special. Like a 10 Megabyte Winchester lor $888.

Hard nigh

rhe great price is just the beginning. fou see. the reason we're late is we took i little more time getting ready. For two fears we have searched for the right romponents at the right price. Anybody :an buy controllers and drives, make ap a name, and presto, they are in the lard disk business. In fact, some of the siggest names in the industry have done just that. To do it right, takes much noro than just bundling the nearest :omponents.

Anybody Want a V-8?

Adding a hard disk to an IBM PC can be irery much like stuffing a V-8 engine in ihe back seat of your VW bug. There is •oom to put it there, and you will have 3ne fast beetle — but you create a whole new set of problems. Like excessive power drain. IBM didn't plan !or a hard disk in your PC, so they put in a meager 63.5 watt power supply XT's have 130 watt power supplies). Most of the hard disks out there need so much power to run them that you can barely add any expansion boards and still have enough power to operate with. And all that power results in excess internal heat — reducing the life M electronic components.

Cool & In Control

Qubie has attacked the power/heat problem with a state of the art controller and drive that draw less power than any on the market today. Start with our controller. It uses LSI (Large Scale Integration) technology to lower the number of components on the board and provides significantly faster performance. Fewer components require less power. Less power means less heat. More power left for other expansion boards, and lower operating temperatures inside your PC. Our half-height drive draws the same amount of power as a floppy disk, and is the lowest power consuming drive on the market today.

Portable Plus

We selected a half-height drive that can be used in an IBM PC, Compaq, or a PC portable. In fact we use the same drive and controller used in the Compaq Plus computer. The drive's specially plated media allows it to stand up to the rigors

of the real world. It can even operate at any angle. No need to treat your PC or Compaq like a piece of antique china just because you have added a hard disk. And no need to spend hundreds more when you can get the same components at a Qubie price.

Complete Package

Included in the package is everything you need to install it yourself. 10Mb Winchester drive, controller, cables, mounting hardware, and step by step instructions to explain the installation. We also include the popular ldir "visual shell" software. It will allow you to take full advantage of the many features of DOS 2.0 or 2.1 without having to invest the time to figure out the manuals.

Need More Power?

If you have some power hungry expansion boards already in your PC, you may need more power in order to add a hard disk system. If so. no problem. For $88 we have an auxiliary power supply which plugs onto the back of your PC and provides all the power needed to run your hard disk drive. This is a IBM PC only problem as all the popular compatibles have substantially bigger power supplies than does the IBM PC.

Why Buy From Us

Because besides having the best hard disk system on the market, we stand behind it and you. You get direct technical support after the sale. // at any time during the one year warranty period your system should require service, we will fix if or replace it within 48 hours. Notice there are no hidden charges in our price. No extra for freight, credit cards, COD fees, or insurance. If you still are not convinced, and are ready to buy another brand of hard disk, ask them if they will take our acid test.

The Acid Test

Qubie gives you a 30 day satisfaction guarantee on our hard disk system. If for any reason you are not satisfied with your purchase, you may return it for a complete refund including the postage to return it. If you can, get any of our competitors to give you the same guarantee. Buy both and return the one you don't like. We know which one you will keep.

Optional Power Supply

SYSTEM REQUIREMENTS: Any IBM PC with 64k RAM. PC DOS version 2.0 or 2.1. Compatible owners call for application information.

Qubie PC 10 with 10 Megabyte ldir

"visual shell" software, installation

hardware, and instructions.

1 year warranty. $888

Qubie QS10 Optional Hard Disk Power

Supply ior users with fully loaded PC's.

Instructions. 1 year warranty. $88

HHBZL Hall-Height beiel ior drive, $ 15

Circle 151 on inquiry card.

DEALER AND QUANTITY PURCHASERS

INQOIMES INVITED

IBM b a trademark of International Builneit Machine* Corpor

attan.

Order Today, Shipped Tomorrow!

Price includes UPS surface freight and insurance. Add S5.00 for two day air service. For fastest delivery send certified check or credit card. Personal checks take 18 days to clear. Calif, residents add 6% sales tax. Corporations and Institutions call for purchase order details.

(800)821-4479

Toll Free Outside California

(805)987-9741

Inside California

QUBIE'

4809 Calle Alto ^"^

Camarillo. CA 93010

Tempo House, 15 Falcon Road, London SW11 2PH, United Kingdom

ldir Directory System Included

Copyright Qubi» 1964

THE S9000

terns. UNIX is full of bizarre and obscure abbreviations, its file system is not particularly robust, the framework of intertask communications is limited, it has no asynchronous I/O facilities, and it is unable to service many real-time applications. CSOS needs some work, but it might be a better alternative to these systems.

CSOS includes a solid basic environment for multitask programming. It supports assigned priorities, interrupts, and asynchronous event handling, and it provides useful timer and semaphore managers for synchronization and communication tasks. Asynchronous I/O is fully supported and functional to the disks, terminal ports, and GP1B port. Device drivers follow a uniform format, making device-independent code easy to write.

The major limitation of CSOS is its lack of a dynamic loader, which is related to the S9000's lack of memory-management hardware. The lack of a dynamic loader is critical because it prevents you from running multiple copies of the same image simultaneously. In particular, you cannot run a second copy of the command interpreter to do multiuser or batchmode processing, despite the S9000's ability to support two or three interactive users or batch-mode processing while a user is editing.

The user interface in CSOS also needs work. All commands must be uppercase, and abbreviations are not allowed. It has no facilities for defining command symbols or for redirecting input or output streams. Logical name handling is static and limited to disk devices. Although it does have a minimal shell script facility, it will only execute a list of commands in strict sequence. It contains no branching, loops, or error status, and calling one shell script from another is illegal. At least it will process command arguments and substitute them in the shell script as directed. Many of the utilities are not set up to execute directly from a command line. Instead of parsing the command line for options and switches, they prompt you for the information. Hence, they cannot be incorporated into automated shell scripts.

It is not fair to compare the S9000 to the VAX, but I am going to do it anyway. All of the features mentioned above are available in VAX/VMS, and they are useful. The IBM people tell me that these are all cosmetic, and in a dedicated application, your program will replace CSOS as the real user interface. Cosmetic or not, it's nice to work in the VAX/VMS environment.

The CSOS file system is another weak spot. CSOS has all the tools to create a hierarchical directory structure (as in UNIX or VMS), but IBM has not done it. On a floppy disk, having all your files in a single directory is not too much of a bother, but this is not acceptable with a 10-megabytehard disk. The IBM directory utility does not help matters. It dumps the file names in random order on the screen and does not even bother to compress blanks between the file name and the extension. Alphabetic listings are provided as an option, but they are abysmally slow. I ended up writing my own directory utility because I got tired of waiting for IBM's.

The CSOS intertask communication channels are not very helpful because they do not support asynchronous I/O. Since asynchronous operation is the basic reason for undertaking multitask program development, this is a fairly significant limitation. You can use semaphores to coordinate asynchro

nous message exchange through shared memory, which is a good alternative to the CSOS intertask channels. No default memory protections are applied, so all of the RAM is, in effect, global-shared memory. Memory protection is available, but it is undocumented at present.

If cost is a consideration, CSOS will run on a bare-bones S9000 (central-processor board alone with no peripherals). In contrast, the XENIX operating system requires hard disks, a memory-management unit, and additional RAM.

In summary, CSOS provides the basic tools expected of a real-time multitask operating system and has performed solidly for us. In the final analysis, I am able to do things in CSOS that would be impossible under UNIX or many other operating systems. CSOS is not yet a finished product, and future releases of the user interface will probably be much better. (The current version 1.1 is worlds better than the 1.0 release.)

DOCUMENTATION

Software is only as good as its documentation. The documentation that came with our first S9000 was poor, especially coming from a company like IBM. In version 1.1 of the operating system, IBM has gone a long way toward repairing its most glaring faults. The language reference manuals are reasonable, although they are not exceptional in clarity or scope. The basic installation guide, operator's manual, and diagnostics are clear and complete. The organization of the manuals could use some work. For example, most error codes are documented in one appendix, while others are scattered through the manuals. Since you may not know precisely which utility generated an error code, finding its description can be difficult.

IBM includes step-by-step instructions on how to rip the guts out of your S9000 and put it all back together again, which is important because we have handled most of our servicing by shipping boards back and forth to IBM's Instrument Service Center in Danbury, Connecticut.

The internals and hardware documentation were nonexistent at the outset, but that seems to be changing. I don't know why IBM people are so secretive about the workings of their computers. Even prying loose a list of I/O addresses was painful. (IBM now includes it in the documentation.) The S9000 is called "a laboratory computer." In a laboratory setting, you must frequently interface weird things to the computer. Without documentation, there is no way to do this. Scientists are also a curious bunch, and many of us just want to know what is going on inside our boxes. As a collaborative research site, we normally have access to internals documentation that is not available to the average customer. In IBM's case, schematics are never available.

Editors

IBM supplies two editors for the S9000. The first, ED, comes with CSOS and was written by the S9000 group. They should not have bothered. The keyboard layout is illogical, the command set is primitive, and there are no macro or key-redefinition facilities with which to expand it. In a candid moment, even the IBM staffers will admit that ED is painful to use. The second editor, PE, is the IBM PC Personal Editor ported

(continued)

224

BYTE Guide to the IBM PC • Fall 1984

Circle 60 on inquiry card. —►

Say more faster. With greater clarity and comprehension. And with a lot more impact. Say it in color. Join the color revolution. The revolutionary JX-80 gives you seven vivid colors to breathe life into charts and give soul to text.

But that's just for starters.

The JX-80's exclusive SelecType control panel makes choosing and mixing any of nine popular typefaces (the JX-80 prints 144 different faces in all) as easy as pushing a few

buttons on the printer. Color it hot.

The JX-80 prints graphics or text in black and white at speeds of up to 160 characters per second exactly like our legendary FX-80"" dot matrix printer. So, like all Epson printers, it's supported by virtually all software and personal computers. Switch to color, however, and the JX-80 is supported by all popular color software such as Lotus* Symphony.™

by the one-year Num ranty, and priced right.

See your nearby Epson dealer. Get the full story in black and white.

And yellow and cyan and magenta and violet and green and orange...

Number one. And built like it.

EPSON

EPSON AMERICA, INC.

2780 Lomita Boulevard • Torrance, CA 90505 • Call (800) 421-5426 for the Epson dealer in your area. In California call (213) 539-9140.

Epson is a registered trademark, and |X-80 and FX-80 are trademarks of Epson America, inc. Lotus and Symphony are trademarks of Lotus Development Corporation.

THE S9000

to the S9000. It offers a more varied command set and the ability to edit multiple files simultaneously. Most important, it has user-definable initialization and key-definition facilities, which allow you to create macros, associate them with keystrokes, set tabs and margins, and so forth. The initialization file supplied by IBM is limited and for some unknown reason, tries to make PE look like ED.

With a little work, you can create a respectable editor with a rich command set, help facilities, and just about any other features you might want. My version of the editor defines

keystroke-motion, text-movement, and text-deletion commands, which operate by character, word, or line. In a couple of keystrokes, 1 can move blocks of text and do text justification. 1 built in several customized program-development modes for each of the languages to do automatic indenting and setup of skeleton comment blocks.

The CSOS Compilers

The high-level languages of the S9000 are one of its strong points. IBM offers Pascal, C, and FORTRAN as a package of

Photo 3: A closer look at the

for the S9000.

Photo 4: A rear view of the interface for the S9000.

Integrating the S900C

With four operational NMR spectrometers and three more in various stages of construction, the National Magnet Lab supports a reasonable-sized labwide computing facility. We have a VAX. two PDP-1 Is, and four S9000s. To optimize utilization of resources, we have developed a data-communication network tying these processors together. In this way, a single tape drive, a line printer, an electrostatic printer/plotter, and the big disk on the VAX are made available to all users, and data may be processed on an available processor while another is running a spectrometer. This is not your average office-mail network. Mail messages and text files are typically a few hundred to a thousand bytes of data. We deal with 50K-byte to 10-megabyte data sets, and we would like to pass them around as quickly as possible. We implemented our data network on the IEEE-488 GP1B bus and achieve high data-transmission rates (200K bytes per second disk to disk) without sacrificing standardization.

Because we have seven computers from two manufacturers and run four operating systems (VAX/VMS, RSX-ll. CSOS. and XENIX), you might wonder how we ever got our software running. This is a significant question. I/O interfaces are different for each of these operating systems, and even the disk file formats vary. RSX-ll (the DEC PDP-11 operating system) uses fixed-length records or variable-length records with fixed headers. CSOS and XENIX use fixed-record data files or stream text files with records delimited by carriage return characters. The VAX uses all sorts of formats.

First, we decided that we did not need to couple the network tightly into the various operating systems. We needed

226 • BYTE Guide to the IBM PC • Fall 1984

THE S9000

mutually supported languages. You can write routines in any language and call them from almost any other. They all use the same code generator, and they share a common object file format, object librarian, and linker. BASIC is supported on the S9000 (see BYTE, February 1984), but it is not compatible with the other languages. IBM has committed itself to supporting the CSOS compilers on its XENIX systems, so code should be freely transportable.

The ability to mix languages is extremely valuable because, like it or not, no perfect programming language exists. Pascal might be great at providing a clean control flow, but doing

arithmetic on complex numbers can get a bit cumbersome, and I/O is limited. FORTRAN is good at coding math and has a rich I/O library, but whoever wrote FORTRAN specifications forgot about pointers and data structures.

Pascal is the "native" language of the S9000. Its compiler is the fastest, and it produces the most compact code. Much of the system software is written in Pascal. The S9000 Pascal is a variant of UCSD Pascal with nice UNIT and INTERFACE features built in. String handling is also done well. Although 1 was born and bred a FORTRAN programmer (real program

[conlinued)

into a Laboratory Computing System

high data-transmission rates, but making the link transparent to the user was not really a requirement. Therefore, we decided to deal with the links as file servers. We also simplified the control structure by using the VAX as the central node of a star architecture. Our application rarely requires communication between peripheral nodes, but when it is necessary, it can be routed through the VAX.

We also attempted to keep programming modular. A file server sends raw data. It does not worry about what format the data is in or how such formats might be transformed. The network operates independently of file formats, and no special provisions are necessary to transmit text versus binary data. Another reason for this setup is speed. Disk I/O is done with block I/O, and the network transmits data about as fast as any of the disks are able to deliver it. We do not have time to mess around with reformatting.

At each node on the network, a small program monitors the network and delivers file data as requested. These programs must respond to only four basic command packets—open a file, close a file, read data, and write data—so they are fairly straightforward. The major complications involve error handling. To function reliably, the network must withstand a variety of insults, including system crashes at the individual nodes and timeouts that occur when the low-priority bus monitor gets locked out by a higherpriority job. The network monitors must also recover gracefully from requests to access nonexistent or inaccessible files and from file read/write errors. Debugging the attachment of a new node monitor is much easier if the network is resistant to internal protocol errors. We elected to enforce a strict handshaking protocol in which every command packet

generates a return status packet. In this way, both parties involved in an errant transaction will be signaled to take corrective action.

Most of the file reformatting is handled on the VAX. Since the RSX-11 file system is a subset of the VAX's, all PDP-11 files can be sent directly to the VAX without modification. With its variety of formats, the VAX I/O services are able to read and reformat most of the CSOS and XENIX files.

Data-format conversions remain a problem. The two largest computer companies on earth cannot agree on how to represent an integer in binary format. Digital Equipment Corp. (DEC) counts bytes from right to left, while IBM counts them from left to right. Floating-point numbers are even worse. The S9000 uses the IEEE standard format. On paper, DEC'S form looks pretty close, but then the bytes are reordered, and there is an offset difference in the exponent. Operating on raw binary data, there is no general way to determine what reformatting must be done because you do not know what type of data you have. There are two solutions to the data-reformatting problem. The first is to transmit ASCII data (at least the S9000 and DEC agree on that). The second option is to write custom datatransformation routines that operate on specific binary data files and know about their internal structure. The latter approach is inconvenient but necessary when speed is a consideration.

We implemented our network on National Instruments' (NI) IEEE-488 (GPIB) bus, a standard bus originally designed for the control of electronic instrumentation. The bus permits asynchronous byte parallel transmission at rates of up to 500K bytes per second. The S9000 supports the GPIB bus as a built-in feature. A number of interface cards are

available for the Unibus and Multibus. We chose NI interfaces for the DEC computers. Nl supplies good software support, and its hardware has been quite reliable. The S9000 port, on the other hand, was an unending source of frustration. Initially DMA did not work at all and was prone to causing crashes later on. The more sophisticated aspects of the device driver had bugs, and in slave mode, it dropped bytes of data. IBM seems to have finally solved the hardware problems. XENIX on the S9000 will only attach to the bus as a master. Since you cannot have two masters on the bus simultaneously and the VAX is already acting as controller, this creates a problem. We deal with it by buffering the XENIX system through a custom box that acts as a slave on two independent GPIB buses. This is hardly ideal.

The GPIB bus does impose some limitations on the network. Principle among these is distance. IEEE specifications allow for a maximum of 20 meters of cable. In practice, we are able to exceed this a little, but it is still necessary to have all the computers in the same or adjacent rooms. NI sells repeaters that allow links over a kilometer, but they cost $2000 a shot and reduce the data-transmission rates to 150K bytes per second.

A second interactive network sprang up spontaneously around the lab. This is based on RS-232C lines and terminalemulator programs. A terminal emulator is a program that echoes I/O from your keyboard and a terminal line and from the line back to your screen. By connecting the terminal line to another computer or modem, you can log in and run on another computer without ever leaving your own host. If the terminal emulator can copy text files to and from the line, you have a functional and absolutely general network.

Fall 1984 • BYTE Guide to the IBM PC • 227

THE S9000

The 68000 instruction set is

powerful and the addressing

modes are quite rich, with a

variety of PC and address

register offset and indexing

options. . . .The 68000 is a 16-bit processor with 24-bit addressing and some 32-bit instructions.

mers don't write Pascal), this compiler converted me.

FORTRAN 77 is fully supported on the S9000. and the FORTRAN compiler has proved to be reliable and reasonably quick. For a number of reasons, FORTRAN is not quite as compact or efficient as Pascal. The FORTRAN run-time library is an addition to the Pascal library, so the linked images are a little bigger. FORTRAN uses static rather than dynamic storage allocation, so data space is also not as efficiently used as it is in Pascal. Finally, by default, FORTRAN uses long-word integers (4 bytes), while Pascal uses short words (2 bytes). Unless you ask for short-word integers, the compiler will have to generate the additional code and storage needed to deal with long words.

FORTRAN has several pseudostandard features that the S9000 FORTRAN does not support. These include bit-wise logical operations on integers, variant argument lists, interchange of character and numeric data in argument lists, the free use of long variable names, hexadecimal and octal format conversions, and the ability to get record lengths on variable-length reads. None of these are part of the FORTRAN standard, but they are useful, and many FORTRAN compilers do support them (including, for example, the VAX FORTRAN 77). You can obtain bit-wise logical operators by equivalencing to logical variables and record lengths on variable-length reads by dropping into Pascal or assembly language, but you will have to live without the rest.

My experience with the S9000 C compiler is relatively limited. It seems to be reliable, but like many versions of C, the linked image files are enormous (the C printf function links most of the I/O library to every program). In evaluating a compiler for scientific work, it is important to remember that the C language specification requires that all floatingpoint operations be performed in double precision. Singleprecision arithmetic might be slow on a microcomputer, but double precision is ridiculous. On the S9000, the stackhandling conventions of the C compiler and the Pascal and FORTRAN compilers disagree. You can call C routines from Pascal if you declare them to be C externals, but you cannot call them from FORTRAN.

The 68000 assembler, ASM, is an interesting development.

It has structured control flow. That's right, you can place IF THEN ELSE constructs, DO WHILES, and REPEAT UNTlLs directly into your assembly-language code. It also supports the usual macro facilities and other directives. Nothing will ever make assembly language into Pascal, but these features can be quite useful in avoiding the usual catastrophic jumble of assembly code.

The 68000 instruction set is powerful, and the addressing modes are quite rich, with a variety of PC and address-register offset and indexing options. After working with the 68000, I was a bit disappointed when 1 went back to the VAX to code a short routine. The 68000 is a 16-bit processor with 24-bit addressing and some 32-bit instructions. It is not a full 32-bit processor. In particular, multiplies and divides on 32-bit integers must be broken down to 16-bit operations. The VAX offers a full 32-bit instruction set and offset indirect addressing (the address stored in the memory location pointed to by a register plus offset). The latter is very useful in argument lists and is not available in the 68000.

The S9000 language system has a couple of annoying limitations. It is impossible to access or initialize FORTRAN common blocks in assembly language, and you cannot code real numbers in ASM data statements. On many other systems (such as the VAX), you can use assembly language to great advantage in initialization data structures with bit masks, pointers, and functions on which FORTRAN stumbles. The subroutine call-sequence convention is also not great. Arguments are pushed onto the stack rather than into a separate register as an argument pointer. This prevents optimization through the use of prebuilt argument lists. It also makes it easy to corrupt the stack. Pascal's rigid type checking avoids most such problems, but in FORTRAN it is easy to put the wrong number of arguments in a call statement or to substitute a character string for a numeric data type, either of which will crash the system. A minor bug in the S9000 linker forces you to link assembly code into the beginning of a large program if it is going to call globally defined subroutines. If your program code does not exceed 32K bytes, or if your assembly-language subroutines make only local subroutine calls, you will never have to worry about it.

IBM has recently released a real symbolic debugger, which works with all the compiled languages. You can load a program, run it, check trace points, break at specific points including line numbers, examine variables by name, and trace back through subroutine calls. This is a very useful little tool to have around.

When 1 began my work, there was no way to get a machinecode listing of the compiler output. A disassembler now exists and should be available soon.

Expansion Capabilities

In assessing any computer system, expansion capability is a consideration. IBM offers a number of peripheral devices for the S9000. including printers, 514-inch and 8-inch floppy disks, up to 40 megabytes of hard-disk capacity, two A/D (analog/ digital) converters (high precision and high speed), and support for up to 5 megabytes of RAM. The hard disks are based on standard interfaces, so alternative vendors might have products available if you buy one IBM disk and

[continued)

228

BYTE Guide to the IBM PC • Fall 1984

,°<fe:>*''

THE S9000

want to add more later. The S9000 comes with the IEEE-488 GPIB port, a parallel printer port, and three RS-232C ports, all of which could be used to add peripherals.

The standard S9000 backplane will support five expansion slots. The hard-disk controller occupies one, and you can put up to 1 megabyte of memory into each of the others. In our application, the SKY array processor fills one slot. The S9000 is based on a derivative of the Motorola VERSAbus, but IBM modified several critical features. If you are going to look at nonlBM VERSAbus equipment, tell the vendor you intend to use it with an S9000 and see if he will support it.

Conclusions

The S9000 is a supermicro available in a reasonable and complete product package. It sports a real-time multitasking operating system, excellent compilers, and the backing of the biggest name in the game. By adding an array processor from SKY Computers, we were able to achieve truly spectacular number-crunching capabilities and have been able to integrate the S9000 into a major scientific data-processing application.

Would I recommend the S9000? As a dedicated processor, yes. It is a powerful computer, and its large memory is a real advantage in running large programs. CSOS supports realtime work that would be impossible under UNIX, and once

the applications software is written, you do not have to deal with the CSOS user interface. I did not like all the hardware glitches we ran into, but most have been cured, and the service has been excellent. The bottom line is that we have an inexpensive machine that does the calculations we need very quickly.

Would I recommend the S9000 as a general-purpose scientific computer? My major word of caution applies to micros in general. Be aware that raw number-crunching power is not the only thing you need in a general-purpose computer. Think about program development, data communication, peripheral devices, and access to knowledgeable people before you buy any system. The S9000 with CSOS offers an excellent set of compilers and will provide a good single-user operating environment. The S9000 will probably be a pretty good XENIX system with multiuser support, but IBM has to deliver the machines first.

Whether or not the S9000 is the super-PC of 1984, the MIT NMR project does demonstrate that, properly equipped, a microcomputer can take on real-world computing tasks with demanding computational requirements and handle them with finesse. The world of minicomputers and even superminicomputers should take good notice. Because after all, the supermicrocomputers are only going to continue getting better and better. ■

e Most Affordable Disk Ma i in the Universe

Download fast, read over 100 formats easily, reformat rapidly

The more disk formats you work with, the more our Disk Maker™ system saves time and money by reading and/or writing disks in any of over 100 formats. No modems, no patches, no other special software necessary.

Disk Maker II is a complete, stand alone system with one 8" DSDD disk drive, one 48 tpi 5'A" DSDD disk drive, 6 MHZ Z80B, 64K CP/M system with Disk Maker™ software. (96 tpi and second 8" drive optional.) Just plug in your terminal and make disks! Bundled software includes MicroShell™/MCALL-ll communications software.

Supported with comprehensive, easy-to-read manual, software updates ($25.00, all formats in revision), and additional drives and hard disk options.

Disk Maker" prices from

$1,495

Disk Maker I runs as a peripheral with an S-100 system and comes with S-100 controller board, one 48 tpi DSDD 5'A" disk drive, dual drive cabinet and power supply, cables and Disk Maker software. 96 tpi and 8"

drives are Optional. Circle 123 on inquiry card.

t

New GefsjeRsmoN

5V5TeMS

3

10(10 Michael Faraday Drive. Suite 206, Reslon, VA 22090

(703) 471-5598 Order Line: (800) 368-3359

Dealer inquiries welcomed.

by Larry Augustin

THE

MAINFRAME CONNECTION:

IBM'S 3270 PC

High-quality graphics and multihost communications characterize IBM's 3270 PC

The remarkable market success of the IBM PC not only created an industry standard, but brought the PC under widespread scrutiny. It soon became painfully obvious that the PC was lacking in one major area—it couldn't talk to IBM mainframes. Sure, it could operate as a dumb terminal at 1200 bps (bits per second), but many computers can do that. It could also transfer files at 1200 bps (if you don't mind the wait), but again, that's nothing special. What was needed was a way to use the PC's intelligence in conjunction with that of a host mainframe, a way to make the two work together, not just transfer data back and forth.

Other manufacturers quickly saw the gap that IBM left open. They realized that the key to making PCs and mainframes talk swiftly was improving the data rate. You simply couldn't do much at asynchronous communications data rates: they're just too slow. The solution was to communicate over the standard IBM 3270 terminal interface. Third-party manufacturers began to develop 3278 terminal interface cards for the PC. As the number of 3278 interface cards increased, so did the potential of the PC as an intelligent workstation.

IBM is now in the workstation market with a series of new PCs designed to operate as workstations. The 3270 PC is the top of this new line of terminals. The IBM 3270 PC plugs directly into an existing IBM mainframe 3270 interface. Its features allow simultaneous operation as both a PC running PC-DOS and as a 3278 Display Station Model 2, 3. 4, or 5. When used with the 3270 PC color display, it provides high-resolution color graphics. All this is packed into what looks like a standard PC XT chassis (including a 10-megabyte hard disk).

LOAD ANALYSIS BY ORDER STATUS FROM WORK CENTER 3H01

DEPARTMENT ACTIVITY DEPT: 3M SHIFT 1 NAME SHOP ORD OPER BATE

LEADMAN,JAMES UPHILL,RANDY BEACH,SANDY PAIGE, DONALD STORER,SILVIA

1670 9810 870/ 1230 0049 9707

CALL IK

?<J0 6030 8707

NO SHOW OUT

W0RKER,WILLIE INDIRECT N 8797

rt:—sm

IW UORK CENTER PRIORITY

NOKK CENTER JM9I STATUS TO

Sf<| ST StIOt' ORD OPER DESCRIPTION SCHED SETUP RUN-REM OJY-REM

1 18 2.186 6685 BURNISH

7 .10 039 6828 CRIND

.1 38 1238 0840 POLISH

4 SO 710 0030 I1NISH CRIND

071')83 0.6

4.5 1160

13.4 (.00

7.1 1b5

S.f. 2S0

Photo 1: A shared screen on the new IBM 3270 PC. Four host programs can run at one time.

Sessions and Windows

The 3270 PC has a number of special features. The first of these, a session, is one of a set of areas in which your machine can operate. IBM windows manage different sessions and let you view several sessions running simultaneously on the screen. To tie all the sessions together, two types of intersession communication are possible: windowto-window copying and file transfer.

There are three types of sessions: host sessions, regular sessions, and notepad sessions. A host session involves connection to a System 370 host computer as a 3278 terminal. By means of its Distributed Function Terminal (DFT mode), the 3270 PC allows you to have as many as four host sessions active simultaneously, while being connected to the host through a single port. The DFT

mode requires some special software for the host's communications controller. In other words, although you have only a single terminal, you can log on to the host using as many as four different identifiers simultaneously. The second type of session is in the normal PC-DOS. There is nothing unusual about this session: it's exactly the same DOS (version 2.0 or greater) as on the IBM PC. The notepad session involves notepads, which are simply screen-sized places that can be used to make notes and save reminders, places to store temporary information. For instance, it is

[continued)

Larry Augustin (856 Twin Oaks Dr., Dayton, OH 45431) just graduated from the University of Notre Dame with a degree in electrical engineering. He will enter a master's degree program at Stanford University in the fall.

Fall 1984 • BYTE Guide to the IBM PC

231

THE 3270 PC

TWo intersession

communications are possible: window-towindow copying and file transfer.

possible to copy a directory of your files to a notepad for quick and easy reference. You can have as many as two active notepad sessions.

Sessions are managed by the use of windows. A window is a partial view into a much larger picture (see photo 1). A window can be as large as the full screen or as small as a single character. The 3278-2 terminal's display is 80 columns by 2 5 rows. By using windows, only a portion of that full screen is displayed at any one time. For example, assume that you had logged on to a host using four different identification numbers. Normally, this would require four separate terminals, but with the 3270 you can create four separate windows on one monitor. Each of these windows can be configured to take up one-fourth of the physical monitor, or approximately 40 columns by 12 rows. In each window part of the full screen of data associated with each connection to the host can be displayed. To view all the screen activity of a particular host, you can pan a window from side to side using the cursor movement keys. You can pan character by character or even pixel by pixel if your 3270 PC is equipped with the All Points Addressable (APA) adapter.

By pressing a key, you can jump from one window to the next. Pressing another key allows you to expand any window to the full screen size. Pressing the same key again returns the window to normal size. You can modify or save the size, position, foreground color, and background color of windows with only a few keystrokes.

The last feature I'll discuss here is intersession communications. As previously mentioned, the 3270 PC offers two communications techniques: window-towindow copying and file transfer.

Window-to-window copying is exactly what it sounds like. A block is first

marked in a source window and then a destination is marked in another (target) window. The process is very similar to the block copy of IBM's Personal Editor. But there is one major restriction on the target session: You cannot copy to a window running a PC-DOS session. When you are copying window to window, you are, in fact, copying to the screen of the terminal associated with that session, and therefore, you are subject to certain restrictions. For instance, in copying to a host session you are copying to the screen of a 3278 terminal and cannot copy onto protected fields. In general, if you cannot edit a portion of a screen, you also cannot copy to it. Table 1 summarizes the various source and target possibilities.

In the tests that I performed, I was able to copy blocks of text (limited by the screen size) from the PC's Personal Editor screen to the host's XEDIT screen (XEDIT is the System Product Editor running under VM/CMS). Since the extended character set of the PC allows you to display a wide variety of symbols, I copied some of the more unusual ones (happy faces, musical notes, etc.) to a host session with XEDIT running. All characters copied successfully: any characters not normally part of the EBCDIC (extended binary-coded-decimal interchange code) were copied as blanks.

By using the SEND and RECEIVE commands, you can transfer files between PC-DOS sessions and host sessions. Sending a file transfers it from a personal computer DOS session to a host session. Receiving a file means transferring it from a host session to a personal computer DOS session. In order to transfer files between sessions, you'll need special software on your mainframe. This software was unavail

able 1: Window-to-window copying and restrictions. & v

$ » $ & v &

Source Window Type ^o O ^>

Host (3278)

: Y

Y

Y

Window PC-DOS

: N

N

N

Notepad

: Y

Y

Y

Y - Yes, copy is allowed N - No, copy is illegal

able to me at the time I wrote this article.

Software for the 3270 PC

The 3270 PC requires a number of pieces of software. The first of these is the IBM 3270 PC control program. The control program is an integral part of the 3270 PC. Without it, the machine can operate only as an IBM PC: no windowing, notepads, or host sessions. Along with the control program come a number of helpful, but not absolutely necessary, programs for saving screen profiles, restoring screen profiles, transferring files, and performing other handy chores. The control program does include the SEND and RECEIVE commands.

This control program is a complicated piece of software, not an "insert-and-go" program. Because it must handle a wide variety of communications controller hardware, it must be configured to each user's computer. You must first build a system disk from a program provided with the 3270. This configurator and its associated software may reside on a hard disk, but the system disk is built on a floppy disk. You can then copy the custom control program to the hard disk if desired.

To load the custom control program, you need a special program loader that causes the system to reboot. This, of course, causes your AUTOEXEC.BAT file to execute again, a potential source of trouble if you want your AUTOEXEC file to load the control program (visions of a system stuck infinitely rebooting itself). IBM was smart enough to foresee this possibility, and if the reboot is caused by the control program loader in an AUTOEXEC file, the loader knows enough not to reboot a second time.

The configurator itself is relatively easy to use, thanks to a series of help panels, but the control program requires that a number of parameters be fixed at the outset, which can reduce the flexibility of your 3270 PC. For example, once the control program is configured, the number and type of available sessions are fixed. If your system is configured with one notepad session, then the only way to add another notepad session is to reconfigure the control program. One caution: both the configurator and the control program

[continued]

232 • BYTE Guide to the IBM PC • Fall 1984

WITH OUR REAL-TIME

OPERATING SYSTEM AND

YOUR IBM PC. YOU COULD

CONTROL THE WORLD.

Factory automation is just one of the many control and data acquisition applications you can run with our MT0S-86/PC operating system and your IBM® PC (or equivalent). Chemical process control is another. Alarm reporting systems are a third. The list is virtually endless.

MT0S-86/PC is the newest member of our MTOS-86 family of real-time multitasking operating systems. The fastest, most efficient 0/S software on the market today.

Within your IBM PC, MT0S-86/PC fully controls the PC and its peripherals, including keyboard, disk drives, timer, interrupt controller and process input/ output systems. It allows custom drivers to be attached for special hardware and can easily be configured for your application.

MT0S-86/PC comes on diskette in the PC format. It includes executive, console driver, debugger, high-speed file system, a run-time interface for the Intel'"' C compiler and a test/demonstration program.

IBM is a registered trademark of International Business Machines Corporation Intel is a registered trademark of Intel Corporation.

Circle 86 on inquiry card.

Price for a single copy, including user manuals, is $495. Inexpensive technical support is available, too.

For more information, contact Industrial Programming Inc., 100 Jericho Quadrangle, Jericho, NY 11753. (516) 938-6600. Telex: 429808 (ITT).

|\_yl Industrial Programming Inc.

The standard-setter in operating system software Fall 1984 • BYTE Guide to the IBM PC • 233

1. Model # 5SVA&T - Designed to house one full size or 2 half height 5%" floppy disk drives in the vertical position. As an added feature, the mounting holes are duplicated in reverse so the user can mount the drives door left or door right. The power supply is a custom linear, proven in thousands of installations over the years!

Retail S60.00. ($67.00 for half hgt

version) 1 year warranty

2. Model # 5DVA&T - The 5DV is custom designed for 2 full size 5%" floppy disk drives to mount vertically. The mounting holes are duplicated in reverse sothedrivesmaybemounted door left or right. The power supply is our custom linear.

Retail $85.00 1 year warranty

3. Model # FD-PC8 -This unique enclosure is designed to match the styling and size of the IBM-PC and can mount on top of, under or along side the PC. It is designed to house Shugart 8 inch half height floppy disk drives, and affords mainframe compatibility using 8 inch floppy diskettes.

Retail $399.00 1 year warranty

4. Model * DH8A&T - The DH8 is designed for one or two standard size 8 inch disk drives such as Shugart 800 series, Qume DT-8, and SIEMENS. The power supply is 206 series commercial grade with a 2 yearwarranty! Cooling fan standard. There is a space designed in above the disk drive area for mounting circuit boards if needed. Specify double or single sided connectors.

Retail $295.00 2 year warranty

5. Model * FD-PC-jr. - For those needing expansion of their PC-jr., here is a matching enclosure to house your disk drive. We have the controller available also. The case has an injected molded front bezel to duplicate the looks of the jr.

6. Model # FD-PC5 - This unique enclosure is designed to match your IBM-PC perfectly. Injected molded front bezel, with all steel 18 gauge construction for shielding and strength. It boasts a custom linear supply that delivers 5 amps continuous current. The FD-PC5 is predrilled to hold any 5V4" half height floppy or hard disk or any 5V«" full sizefloppy or hard disk. We even have adaptor brackets to mount a Syquest 5meg removable!

Retail $295.00 1 year warranty

234 • BYTE Guide to the IBM PC • Fall 1984

7. Model # 5DHHHA&T - The 5DHHH is designed to house 1 or 2 half height floppy or hard disk drives in the horizontal side by side mode. A lit on-off switch is mounted in the front where it's convenient, and uses our custom linear power supply. A blank plate is available for one drive installations.

Retail $125.00 (floppy model)

$195.00 (hard disk model) 1 yearwarranty

8. Model # SH8A&T - Will house one full size 8 inch floppy or one or two half height 8" floppy disk drives. Usesa commercial grade 206 series supply, and carries a full 2 yearwarranty!

Retail $199.00

9 Hard disk 81 Floppies, we carry only the top brands like Shugart and Qume! Don't be fooled by the cheap immitations.Wecarry only the best, with the strongest warranty around. For example, all Shugart disk drives carry a 1 year warranty. So call for the latest pricing to upgrade your PC, Zenith, Heath, Radio Shack, Tl or one of the many other computer systems on the market!

10. We also carry data cables for your system. We can custom make them to your specs, or allow us to help you choose what's right for you.

Floppy Disk Services, inc. is entering our 6th year of supplying disk drives and custom enclosures to the computer industry. Companies that demand quality such as CBS-TV. IBM and NASA to name a few, purchase our products. Space restrictions do not allow us to show all our products, so call toll free for our FREE catalog of products. Or better yet, let one of our sales staff help you make the right choice .... Ask about our REPLACEMENT warranty policy.

Dealer Inquiries invited. All products available in OEM quantities. Prices and specs subject to change without notice.

'FLOPPY OISK

39 Everett Dr., Bldg. D Lawrenceville, NJ. 08648 (609) 799-4440

THE 3270 PC

require a great deal of memory. Don't try to reconfigure your control program if you are already operating under the old control program. Before reconfiguring, reset your computer with DOS only.

The control program can be updated by IBM's Patch Installation Service, a program that runs under DOS to install or remove changes to the control program. It also provides a historical record of the revisions and applied patches. The original software, as I received it from IBM, already had a history of three applied patches.

A number of additional programs provide extra functions. Most notable of these are Save and Restore. The INDSAVE command allows you to save (in a file) screen profiles, notepad contents, and auto-key recordings. (Auto-keying enables you to program a key to replay a series of keystrokes, usually a pattern that you use often. For instance, you can program a key to replay your log-on statement to the host, allowing you to log on using only a single keystroke.) The INDRSTR command allows you to restore the screen, notepad, or auto-key recording from the saved file. A screen profile describes the size, position, color, and windows configured on your computer. When the control program is loaded, these arc set to the defaults. Saving and restoring allows you to recreate easily your own personal screen profile. If you occasionally need to save information typed on notepads, saving and restoring makes this possible as well. By using Save and Restore, you can keep track of auto-key programs from session to session.

Two pieces of software installed on the host are necessary for you to realize the full potential of the 3270 PC. The first is a modification to the 3274 communications controller software on your host. The second is the send and receive software necessary for file transfer.

To operate multiple host sessions on the 3270 PC, you'll also need a special update to the 3274 communications controller software. (I wrote this overview from my experience with the 3270 PC running only a single host session. Notre Dame does not yet have the necessary host software.) As mentioned earlier, file transfer also requires the installation of a module on the host. Neither of these pieces of software is

TOLL FREE (800) 223-0306

Circle 66 on inquiry card.

THE 3270 PC

necessary to the 3270 PC for you to begin its operation as a terminal, but they do add to its already long list of impressive features.

Additional 3270 PC Hardware

At first glance, the 3270 PC Model 5271-6 (models 2 and 4 are available without the 10-megabyte hard disk) resembles an IBM PC XT with a special keyboard and monitor. Internally, IBM has added three cards and possibly made some changes to the system board as well. The three cards that make up the heart of the 3270 PC are the Display Adapter, the Distributed Function Communications Adapter, and the Keyboard/Timer Adapter. The Display

Adapter can drive either the 3270 PC color display or the IBM monochrome monitor. In addition to these necessary cards, two special function cards are available to help drive the display: the All Points Addressable (APA) Adapter mentioned earlier and the Programmed Symbols (PS) Adapter.

The most impressive combination of these pieces is the Display Adapter driving the 3270 PC color display. Anyone who has used the typical IBM PC color monitor will appreciate the high resolution and brilliant color of this display. When used only for text, the quality of its displayed characters is as good as the IBM monochrome monitor. If you add color, the screen suffers no loss of resolution. Programs such as IBM's Pro

fessional Editor and the Norton Utilities take on a whole new look when used with this monitor.

Not as noticeable at first, but equally impressive, is the 3270s Distributed Function Communications Adapter. This card controls the 3270 PCs host interface and makes multiple host sessions possible with the appropriate mainframe software.

The Keyboard/Timer card appears to satisfy some timing requirements in the I/O (input/output) channel or to provide timing information to the display and communications cards. It also drives the monster keyboard available for the 3270 PC. The keyboard combines all the functions of a 3278 terminal keyboard

[continued]

Programming Languages for the IBM 3270 PC By t. Loweii wolf

The IBM 3270 PC is very similar to the IBM PC. PC-DOS 2.0 makes the operating environment highly compatible with IBM PC software. An important key to the operation of the 3270 PC is the control program that operates in conjunction with DOS to support its windows. You can define as many as 10 screen configurations and then save them as PC-DOS files that you can invoke on command. You can print the screen, or any window, on a local or remote printer. The 3270 PC also provides a Help function to display active functions and sessions, as well as a tutorial to explain and simulate system features. Send and receive functions enable you to exchange data between the host and the PC. Path names are supported, as is the option to convert from ASCII to EBCDIC. Most DOS applications designed to use the IBM monochrome display controller will be compatible. PC-DOS software that uses the IBM graphics display controller, however, will not run in the PC-DOS window. IBM has licensed a number of programming-language products for the 3270 PC from Digital Research Inc. Chances are you'll choose a programming language based on your experience. In the 3270 mainframe-oriented environment, the choices are typically as follows:

Level II COBOL: This full ANSI 74 implementation has passed the U.S. Federal Compiler Test at "high" level. COBOL is chosen most often by large companies

because of its portability. PL/1: Based on ANSI Subset G standard, PL/1 is often used by scientific and general-purpose mainframe and minicomputer programmers. Assembly language: Though assembly language maximizes computer performance, assembly-language programming should be minimized to avoid machine dependencies.

Other languages are more popular with recent graduates and programmers with minicomputer or microcomputer orientations:

C: A full implementation of the Kemighan and Ritchie UNIX standard. C is a highperformance language that still retains portability.

Pascal/MT + : A native code compiler based on the ISO standard, Pascal/MT-r is used for software development on CP/M and CP/M-86 machines. Pascal remains a classic teaching language in computer science curricula. CBASIC: Like Pascal/MT+, the CBASIC compiler has been used extensively by independent software vendors for years in both 8-bit and 16-bit environments. CBASIC offers the commercial extensions required for sophisticated spreadsheet and accounting applications.

In addition to compilers, IBM licensed a number of programmer productivity aids from Digital Research. For applications involving extensive data file manipulation, Access Manager provides a multi

keyed ISAM (indexed sequential-access method). Access Manager can be used through high-level subroutine calls from all compiled languages except COBOL, which includes ISAM as a language construct.

Display Manager makes it possible to develop interactive program screens without the tedious work of defining numerous print/read statements. An interactive editor is used to type literals directly on the screen "mask." Form-filling applications are quickly implemented with an additional bonus that the subroutine library calling procedure results in less actual code than normally required for print statements.

IBM also offers the DRI object module librarian, linkage editor, and symbolic debugger.

The IBM 3270 PC offers an inexpensive option for offloading busy mainframe development systems. COBOL shops will find that Level II COBOL (developed by Micro Focus) observes the same standards and conventions used by the IBM mainframe COBOL compilers. Coupled with the Animator interactive symbolic COBOL debugger, Forms II screen and forms generator (this produces COBOL source code), the 3270 PC becomes an excellent environment for the development of mainframe COBOL programs.

T. Lowell Wolf is product marketing manager for compilers at Digital Research \nc. He can be reached at POB 579, Pacific Grove. CA 93950.

Fall 1984 • BYTE Guide to the IBM PC • 235

THE 3270 PC

and a standard PC keyboard, with mixed success. For instance, the keyboard offers two sets of cursor keys, one for use as a PC and the other for use as a terminal. When you are operating it as a terminal, you use the PC's cursor keys as a numeric pad. The feel of the keyboard is excellent, and if you like the feel of the PC's keyboard, you will like

this one even better. But it is huge (22 by 9 inches), easily dwarfing the PCjr's. Can an IBM PC XT be upgraded to a 3270 PC merely by installing these three cards? I performed a number of experiments to see exactly how compatible the two computers' chassis are. Unfortunately, no circuit or timing diagrams are available for the cards or system unit

Winchester power for your PC

BSh,

Oft*.

fe

The proven Winchester subsystem drives for your IBM or compatible PC. 10, 15, 25, or 33 megabytes of big system storage in a DiskSysterrr you simply plug into your system and it's ready to use. At prices that make the speed and storage of a Winchester practical. Only $1495 for a 10 megabyte DiskSystem, $1795 for 15 megabytes, $2245 for 25 megabytes, or $2795 for 33 megabytes. DiskSystems can be bootable from the Winchester. See your dealer today for DiskSystem power for your PC.

Interface Inc

Dedler Inquiries Invited

of the 3270 PC, so I was forced to rely upon a few simple tests. I removed the Display Adapter and Keyboard/Timer card from the 3270 PC and placed them in a regular XT chassis. When I started the XT, I received check-out diagnostic errors, but was able to finish booting the computer with no problems. Every time I rebooted the XT, it issued diagnostic errors, but the monitor seemed to operate correctly from that point on. I had to install the Keyboard/Timer card as well. When it was not present, the color display failed to operate. Because of both its name and the fact that it must be installed in slot J8. which has special timing requirements on a normal XT, I suspect that this card affects timing in the I/O channel.

In addition, I also installed the communications adapter in an XT chassis and turned on the system. Because the control program is necessary to drive the card, I installed it at boot time as well. The results were similar to what I described above. The operating system issued a diagnostic message, but appeared to operate normally thereafter. The Keyboard/Timer card was again necessary.

Certainly, the check-out diagnostic errors indicate some differences between the two units, but the fact that the cards seem to operate normally thereafter indicates that there is hope. A detailed analysis of the circuit and timing diagrams of the cards and the 3270 PC (both unavailable at this time) should eventually reveal the answer.

The APA and PS Adapters add functions to the color graphics monitor. The APA card allows you to control the graphics monitor. It must be plugged into a slot next to the Display Adapter and connects to the latter with a special edge connector. In high-resolution, fullscreen, two-color graphics mode, the APA Adapter is capable of displaying 252,000 picture elements (PELs) in a 720 by 350 pixel matrix. Without this card, the graphics monitor is not pixel-addressable. The APA Adapter also supports the PC color graphics monitor resolution of 320 by 200 pixels (64,000 PELs), allowing many programs written for that monitor to run on the 3270 PC. The PS Adapter allows you to use 3270 programmed symbols in host applications. It stores as many as six symbol sets on the 3270. It too must be

236 • BYTE Guide to the IBM PC

1984

Circle 87 for Dealer inquiries. Circle 88 for End-user inquiries.

THE 3270 PC

I have used 3218 terminal emulators before, but none that

operated with the reliability and ease of the 3270 PC.

adjacent to the Display Adapter and connects via two edge connectors to the adapter.

One limitation affecting both the PS and APA adapters is the number of slots in the computer's chassis. Slots in the chassis of a Model 5271-6 are assigned as follows:

* 1 — Distributed Function Communica

tions Adapter 2 — Free (Possible upgrade to APA or PS Adapter)

* 3 — Display Adapter

4 — Memory Expansion Adapter

* 5 — Fixed-Disk Adapter

* 6 — Floppy-Disk Adapter 7 — Printer Adapter

* 8 — Keyboard/Timer Adapter

Notice that there is only one free slot. Because of this, either the PS or APA Adapter card, but not both, can be supported. The items marked with an asterisk are essential to the computer. Although you can remove the memoryexpansion card, without this extra memory-configuring the more complex versions of the control program are impossible. Slot 7 is a short slot, so removing the printer adapter won't provide the necessary space.

Summary

The 3270 PC introduces high-resolution graphics and a simple connection to an IBM mainframe. 1 have used 3278 terminal emulators before, but none that operated with the reliability and ease of the 3270 PC. The computer interfaces quite naturally with the host. The resolution and brightness of the color monitor are truly amazing. If you demand highquality graphics or need host-to-PC communication, the 3270 Personal Computer is a must. ■

•5n*jss§£

Circle 4 5 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

237

by Mark Klein

MODEMS: THE NEXT GENERATION

New modems, with call-progress signal detection, alternate voice and data using smart interfaces

I'm a Telecommunications junkie. I think of the local Telenet number as my own, checking in daily for my electronic mail. I use my modem several times a day, and I'm an active participant in several computer teleconferences. I pay attention to modem technology.

I examined six modems designed to work with the IBM PC and compatibles (table 1): five in-board modems and a sixth free-standing modem that attaches to any RS-232C port—it will work with just about any computer.

1 chose to review the Hayes Smartmodem 1200B because it seems to be the most popular modem in this marketplace. I selected the others on the basis of their claims for new technology or because they seemed well matched to the IBM PC. There are, however, many other modems on the market that will work with the PC.

What I'm Looking For In a Modem

Currently, I look for an affordable modem with easy connections to both the phone and my computer. A modem should provide alternate voice and data modes and be able to switch between them. Finally. I need feedback, a way of monitoring the modem as it dials and connects to a remote modem.

First, let's talk about price. All of these new modems are hundreds of dollars less than the fancy Vadics ($895 for the

VA212) that 1 use. No one should have to spend more than about $500 for a 1200-bps (bits per second) modem today. Perfectly serviceable 1200-bps sets are selling for less than $300.

Next, I want easy connections. I want to be able to use either an ordinary single-line residence phone with an RJllc (modular) plug or a typical sixbutton office set. Can it connect to an office PBX (Private Branch Exchange)? That may be an important question for some users.

1 want either a smart cable/connector for a free-standing modem or a nocomplications fit into a computer expansion slot for an in-board modem. This can be a problem with the narrow slots on an IBM PC XT.

How will the modem affect my voice calls? I have one phone line in my office, as many businesses do so I need to use it for both voice and data. Can I switch between the two modes without having the phone hang up on me? Can I use the modem to dial my voice calls? Can I turn my modem and computer into an attack dialer (one that automatically redials a busy line until it makes connection)?

The problem is at the answer end, where often you have no way of telling if an incoming call is voice or data. I've cursed when I've finally gotten through on a voice call and heard only that highpitched tone of a computer expecting data. But I've been on the other end

too, picking up my phone with a friendly hello when the incoming call is data expecting my computer modem's answer tone. What's necessary is a quick and convenient way for the answering user to switch modes.

And finally, feedback (in tech jargon, "line status sensing" or "call-progress signal detection"). During dialing, I want to hear and see what is happening. Is there a busy signal? Is that voice response at the other end? How many rings before answering? When nothing is happening on my screen, 1 want the reassurance of knowing that the line is still in place, that "carrier" (an analog signal sent over the telephone network) has not been dropped.

Since some modems can report what's happening at the remote (called) location, the local computer's telecommunications software can branch to the appropriate logic path. For example, in at least some parts of the country, MCI and Sprint (long-distance calling services) can begin billing after a given number of rings, whether or not the call is successfully completed. Software could instruct the modem to hang up before exceeding the billing ring limit.

Another example: computers and modems are being set up to place a series of unattended calls, usually at low night rates. If a person answers, rather than another computer, the calling sequence can be disrupted and the calling computer might lock up. If the local modem can distinguish voice, busy, and no-answer signals at the remote end, local software could abort the call cleanly and move on to the next number.

With voice sensing, computers can control complex number sequences on the alternate long-distance services. Some of these services have voice responses in the middle of the dialing sequence; these voice responses request or acknowledge tone information. If the modem can recognize the voice signal in a timely way, the correct code can be sent by the local computer within the allowed time. Electronic banking is an application that uses combinations of tone entry and voice response to acknowledge transactions.

The Software Generation

The first time I saw the Prentice XI00, I shuddered. 1 didn't see a light or a switch anywhere on it. How was I to tell

238 • BYTE Guide to the IBM PC • Fall 1984

if carrier dropped? How was I to change from 1200 to 300 bps without a toggle switch?

Well, the X100 is tucked away on the floor behind my desk. All of its information comes to me in comprehensible words on the screen. 1 never have to turn my head away from the video in front of me. There are no blinking lights for me to interpret. If there is a vestigial twitch of my head toward a nonexistent

carrier-detect light, I ignore it.

No two modems came with the same software, although Novation comes bundled with Crosstalk (the IBM PC communications package), and Cermetek will sell you Crosstalk at a big discount, if you buy its modem. Bizcomp tells you how to configure its product for Crosstalk.

The software that did come bundled with each product (see table 1) varied

Photo I: The thickness of the board configured with a speaker may concern you if you own an XT. From the top: Hayes, Microcom. Novation, Bizcomp, and Cermetek.

Photo 2: The length of the Cermetek compared to the Novation.

widely in performance, ease of use, flexibility, setup requirements, and documentation. However, there is a definite trend toward on-screen labeling of the function keys, with powerful command strings built into each key.

More and more manufacturers are settling on the Hayes instruction set in the ROM (read-only memory) firmware as a standard. In some cases, there is a superset or subset of the Hayes set. This de facto standard lets me use the same communications software and the same macros on different hardware.

I'll admit my perception of the different modems was strongly affected by the power and flexibility of the software 1 used with them. To wash out the software differences and focus on the hardware, and to write macros that use new feedback features such as call-progress signal detection, 1 used a small set of generic telecommunications software packages (table 1).

Prentice Xioo POPCOM

My favorite modem is the X100 POPCOM from Prentice. It has all the features 1 want and works with all three of my computers (PC, PCjr, and Radio Shack Model 100). The innovative plug, the modem's small size, and the smart RS-232C interface make this the easiest free-standing modem to install that I've ever seen.

The RS-232C connector worked with every cable I tried—3-line, 2 5-line, straight-through, or crossed-transmitand-receive data lines, even odd combinations of those cables. Prentice has figured out how to handle not only both modem data lines and computer data lines, but mixtures of the control signals as well.

Complete call-progress signal detection is another X100 feature I love. I wrote a macro that lets my telecommunications software branch as necessary and keeps me informed along the way. The combination of callprogress detection and voice/data switching lets me use the X100 as a "demon dialer." Attack dialing, in which your phone keeps trying a remote

[continued)

Mark Klein (8 Bay Rd., Newmarket, NH 03857) works for IE Systems, a communications software house in Newmarket, NH. He is a contributing editor to BYTE.

Fall 1984 • BYTE Guide to the IBM PC • 239

NEW-GENERATION MODEMS

Table 1:

Modems surveyed.

Suggested

Modem

Software

Software

Retail

Company

Model

Supplied

Used

Price

Prentice

XI00 POPCOM

none

Acculink

$475

Hayes

Smartmodem 1200B

Smartcom 11

Smartcom II

S599

Bizcomp

PCIntellimodem

PGIntellicom

Crosstalk

$499

Novation

ACCESS 1-2-3

Crosstalk

Crosstalk

$595

Cermetek

INFO-MATE 212PC

Modem-Mate

Acculink

$480

Microcom

ERA 2

ERA 2

ERA 2

$499

number until it completes a call, threatens to tie up our entire phone system, unless modems and autodialers can sense voice or busy signals. Some restrictions now apply to attack dialing; more will be forthcoming as the problem worsens.

When 1 have to make a call to a number that is likely to be busy, I let the XI00 dial for me. When I hear the other party answer, I pick up the phone and begin talking. A pleasure! 1 even set the number of retries on busy to a value below the FCC limit of 15.

Voice/data switching eliminates the need for two phone lines when two people are sending files between their computers. Does this sound familiar?

"OK, I'm going to switch now. Mark? Mark? Mark, pick up the phone. Mark, are you there? My end is not working."

With an X100 at both ends, switching to voice mode is a cinch—just pick up the phone.

If you were in data mode, the X100 stops sending carrier, goes "on-hook," and sends the PHONE message to the local screen. The XI00 at the other end senses the loss of carrier, but instead of hanging up like older modems, it holds the line for a software-specified length of time and turns on its speaker. Your not-so-frantic "Mark, pick up the phone" comes through loud and clear.

When the remote operator picks up his or her phone, the remote modem goes "on-hook," sends a PHONE message to the screen, and establishes voice connection. The XI 00s are out of the way. Of course, by reverting to data mode you can push the modems back to handshake mode again.

1 put the XI00 over one last hurdle. Since it has an RS-232C port, I connected the X100 to a Tektronix Model 834 bit-error-rate tester. I ran the test all afternoon and evening without seeing an error. Because the other modems I

was trying out are all in-board models, I have no basis for comparison, but the XI00 looked good to me and has worked well.

Bizcomp's PCIntellimodem

Bizcomp's PCIntellimodem is an inboard modem that supports the full range of call-progress signal detection and has an extensive instruction set. PCIntellimodem senses voices and switches between voice and data.

1 had two problems with the board, one minor and one annoying. The minor problem was with the PCIntellicom software that was bundled with the modem. I addressed the modem as COM2:, which is the default setting from the factory. When I tried to run the software, I was unable to communicate with the modem. A quick call to the factory uncovered the bug: if another device was attached to COM1: (a common situation), and if cable from that device "jumpered" some of the RS-232C control lines, then the program wouldn't work.

At the time of the Bizcomp trial, the Prentice XI00 was plugged intoCOMl. As soon as 1 unplugged the COM1: cable, the PCIntellicom software could communicate with the board. The software was written in BASIC, so when Bizcomp sent me a two-line patch, the fix was easy. While I was waiting for the mail to bring the patch, I used Crosstalk to drive the modem, with no problems.

The feedback problem was more annoying. The PCIntellimodem has a buzzer instead of a speaker. During auto-dialing, the buzzer was satisfactory, but whenever there was voice response, the "zzst" drove me up the wall.

Turning off the buzzer was another problem. The Intellicom software and Crosstalk turned on the buzzer during dialing and turned it off after the data

connection was established. (Crosstalk used a monitor-on dialing prefix that 1 gave it at setup, using instructions in the Bizcomp manual.) Evidently, both software packages left the buzzer active after hanging up the phone. In the midst of some other program, I picked up the phone only to hear that "zzst" from the buzzer with every word I spoke. Probably, I could write a script file with Crosstalk that would turn the buzzer off, but I didn't bother. Too much trouble.

A good feedback feature on the Intellimodem is a red LED (light-emitting diode) sticking out the back end of the board and visible from the rear of the computer. You can write software to switch that light to indicate the state of several of the RS-232C lines, including the ring indicator (RI), the data carrier detect (DCD), transmit data (TXD), and receive data (RXD). If you encountered a problem, knowing the status of those signals might help.

Another interesting design feature of the Bizcomp Intellimodem is a third Rill modular plug socket, Most modems have two, one for the telephone company line ("to wall") and one to the telephone ("to phone"). The third socket is for a telephone handset. With the Bizcomp software, a function key switches from data to voice and activates the handset. Bizcomp recommends using the handset and telephone company line sockets.

Trouble starts when you're working at your computer, using any program other than the communications software, and the phone rings. If you only have a handset in the top socket, and no phone in the second socket, Bizcomp tells you to exit from your applications program, call up the communications software, press the function key, and then use the handset to answer the call. Do they really expect someone to go through that rigamarole? The manual suggests that if you are expecting a phone call, you should plug a phone into the middle socket. Well, if the whole phone is there, who wants the handset, too? Seems cumbersome to me.

Overall, except for the buzzer, I like the PCIntellimodem. Good communications software can get around the other problems, and it does have call-progress signal detection.

(continued)

240 • BYTE Guide to the IBM PC • Fall 1984

MiCROcentre Work Stations

•?

■J* Ml

to Optimize

Business

Efficiency

Microcentre™ workstations are the ultimate choice of any business where operating efficiency Is as essential as computer power.

Within seconds Microcentre opens your business day, ready to give you full command and comfortable access to your system, with all components positioned at your fingertips.

A conveniently located surge, spike and noise protecting power center* allows you to activate your entire computer system at the turn of a switch .. . Now you're ready for a productive bualness day!

With the same ease used to access your computer you can confidently exit your workstation by locking your valuable hard

* Optional in Model 104 (ECUTIVE 102 (Walnut) Model 103

d I I U »it J t I W fll fc>.

locks provided by Mi

Although generous in features, ea Microcentre model is frugal in the u<si floor space and can be readily relocated give maximum flexibility for your oomputer use.

Since you cannot select the right workstation unless you have a choice, Microcentre offers a variety of models and colors in premium quality laminates and beautifully hand-finished woods to meet your specific requirements.

The unparalleled efficiency and superior quality of Microcentre guarantees a sound Investment and a workstation you can depend on.

Modtl104 NEW!

$1195 (Sugg, retail)

MiCROcentre"

Continental Engineering Group, Inc.

Patent Pending

$995 (Sugg, retail)

$595 (Sugg, retail)

For more information call Continental Engineering Group Inc. or your local dealer: Outside California 1-800-821-6279 Calif. (818) 350-8371

Dealer inquiries welcomed.

Circle l<)9 on Inquiry card,

NEW-GENERATION MODEMS

Cermetek INFO-MATE 212PC

This modem is smaller than the others—nearly half the size of the fulllength cards—with the lowest chip count of any of the board modems. It will fit easily into an IBM PC XT slot without bothering the board next door. Cermetek shrank its board by using

some custom logic chips and by leaving off a speaker. By now, you know how I feel about having my sound. However, Cermetek almost makes up for this omission by including two valuable features.

First, a DB25 connector at the back end of the card can be turned into another RS-232C port when you're not

What do you get when you cross 1200 baud, free on-line time, and extra features at a price Hayes can't match?

Data Rate?

The MultiModem gives you a choice— either 1200 or 300 bits per second. So you can go on-line with the information utilities. Check out bulletin boards. Dial into corporate mainframes. Swap files with friends.

On-Line Time?

With the MultiModem you get CompuServe's DemoPak, a free twohour demonstration of their service, and up to seven more free hours if you subscribe. You also get a $50 credit towards NewsNet's business newsletter service.

Features & Price?

Of course, the MultiModem gives you automatic dial, answer, and disconnect. Gives you the Hayescompatibility you need to support popular communications software programs like Crosstalk, Data Capture, our own MultiCom PC, and dozens of others. Gives you a two-year warranty, tops in the industry.

Trademarks—MultiModem. MultiCom PC: Mutli-Tecti Systems, tnc —CompuServe: CompuServe Information Services. anH &R Block company—NensNet NewsNet, tnc —Crosstalk: Microslut. Inc.—Data Capture Soutneaslern Sottv/are— Smarlmodem Hayes Microcomputer Products, toe

MultiModem.

But Better?

Yes. The MultiModem gives you features the Hayes Smartmodem 1200™ can't match. Features like dial-tone and busysignal detection for more accurate dialing and redialing. Like a battery-backed memory for six phone numbers. All at a retail price of just $549—compared to $699 for the Smartmodem.

What do you get? The new MultiModem, from Multi-Tech Systems. Isn't this the answer you've been looking for?

For the name of your local distributor, write Multi-Tech Systems, Inc., 82 Second Avenue S.E., New Brighton, MN 55112. Or call us at (612)631-3550.

Now available in IBM PC Card Version

Multilech

Systems

®

using the 212PC as a modem. You can select the modem or RS-232C port using software or a pair of the 10 option switches set with jumper connectors.

Four more option switches set the I/O (input/output) port address, so that the 212PC does not limit you to just COM1 and COM2. Some IBM-compatible computers have serial ports built into their motherboards, so that plug-in modems can't use those addresses. Cermetek also lets you address its board at 3F8 and 2F8 (hexadecimal). If your communications software can talk through these ports (special versions of Crosstalk can, as well as the ModemMate package that is bundled with the 2I2PC), you can sneak in an extra I/O port and bring a smile to the face of an RS-232C junkie.

Cermetek is an experienced modem manufacturer, and this is reflected in the sophistication of the command set. There are several test modes: analog loop, analog loop self-test, digital loop, remote digital loop, remote digital loop self-test, and end-to-end self-test. A "quiet" command, ZZZZ, silences the transmitter but keeps the modem off the hook. With INFO-MATE 212PCs at both ends, this command lets you use the telephone connection for voice in between data transmissions.

And finally, the 212PC has callprogress detection. The dialing commands are flexible. The modem can wait for a dial tone or wait for a fixed time without monitoring for a dial tone. Unless you specify tone or pulse dialing, the 212PC uses adaptive dialing. In this mode, unique to Cermetek, the modem automatically selects tone or pulse dialing according to what it senses on the line. After dialing is complete, status messages appear. Each R indicates a remote ring: V is for voice: B is for busy: W means that the other end answered, but at the wrong speed: and A indicates data call connection. Multiple status messages are allowed, and a response such as

221-4567RRRV A

means that the number 221-4567 was dialed and rang three times, and then a voice was detected. The modem con

[conlinued)

The right answer every time.

Circle 119 on inquiry card.

The cost breakthrough.

The technology breakthrough.

Interactive video systems from Visage.

Would you like to reduce your training costs and improve your training yield?

Are you looking for a way to disseminate information effectively?

Do you need a system to manage a visual database?

m

SYSTEM POWER UNIT

Cor»-trol Pulse Circuit

Visage is a company totally devoted to interactive video systems and support, all based on the IBM PC" and compatibles. We can bring our state-of-the-art technology into your business, and give you the software tools to develop your application quickly and easily.

Uniting laser video discs and computers, the Visage VLink'" line of products opens the door to realistic, cost-effective interactive video applications. With such features as universal video disc player control, digital data decoding and graphics overlay, the V:Link interactive video system delivers more performance for the dollar than any other medium. Add V:Link software, such as high-level program development tools and sophisticated graphics development package, and you have an unbeatable system for the creation of interactive video programs. V:Link interactive video hardware and software is already being used in the development of such applications such as?

□ Field service instruction for complex equipment repair.

□ Industrial training for sales, assembly, management, and more.

□ Point-of-sale demonstrations, displays, and information distribution.

□ Visual databases for archive storage and retrieval.

Visage is the company to supply your interactive video needs. Whether you have a direct or O.E.M. interest, we have systems available now. No one else can offer such powerful features at such an attractive price. If you are a pacesetter, get in touch with the industry leader in interactive video.

11984 Visage, Inc.

IBM is a registered trademark of International Business Machines Corp

V: Link is a trademark of Visage, Inc.

\1SAGE.

INTERACTIVE VIDEO SYSTEMS

Visage, Inc. 12 Michigan Drive Natick, MA 01760 (617)655-1503

Circle 67 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

243

DeSmet

The fastest

8088 C Compiler

available

FULL DEVELOPMENT PACKAGE

■ C Compiler

• Assembler

■ Linker and Librarian

■ Full-Screen Editor

■ Newsletter for bugs/updates

SYMBOLIC DEBUGGER

• Monitor and change variables by name using C expressions

■ Multi-Screen support for debugging PC graphics and interactive systems

• Optionally display C source during execution

• Breakpoint by Function and Line #

COMPLETE IMPLEMENTATION

■ Both 1.0 and 2.0 DOS support

• Everything in K&R (incl. STDIO)

• Intel assembler mnemonics

■ Both 8087 and Software Floating Point

OUTSTANDING PERFORMANCE

Sieve Benchmark

COMPILE

4 Sec.

RAM

22 Sec FDISK

LINK

6 Sec.

RAM

34 Sec.

FDISK

RUN

12 Sec.

SIZE

8192 b\

rtes

To Order Specify: Machine

OS □ MS-DOS □ CP/M-86

Disk D 8" □ 5'/4 SS D 5% DS

C

WAR E

CORPORATION

P.O. BOX 710097

San Jose, CA 95171-0097

(408) 736-6905

California residents add sales lax. Shipping: U.S. no charge. Canada add $5, elsewhere add $15. Checks must be on a US Bank and in US Dollars.

NEW-GENERATION MODEMS

tinued monitoring and, finally, received an answer tone. Such a sequence could appear if the remote phone is answered manually and then switched into data mode.

Now, if the index in the manual only had page numbers next to the topics (an editor's oversight I'm sure) or if the modem just had a speaker... .

Novation ACCESS 1-2-3

Novation is clever. Using custom logic chips, it makes a board modem that has nearly half the chips of the Hayes, and only a few more than the Cermetek. The firm uses a full-length board, but it's thin and I still get my speaker. Tucked away on the lower corner is a three-prong connector, and Novation supplies a cable to hook its board to the speaker on the PC motherboard. Makes sense, doesn't it?

Novation bundles its board, the PC 1200B, with Crosstalk XVI, a powerful communications package. The combination is called ACCESS 1-2-3. The version of Crosstalk that comes with the package has some special features to take advantage of the hardware.

First, there is a Port 3 address, for IBM compatibles (Novation gives you one extra port). Second, there is some callprogress display. During dialing, the status line will show the presence of a busy signal or the absence of a dial tone. And there's the rub. I'm spoiled.

1 want the full call-progress detection of the X100.

The rest of the package is good. There are several test modes: hardware integrity, analog loopback, local digital loopback, and remote digital loopback. Novation has the usual two modular jacks for telephone handset and phone line. RJ11, RJ12. and RJ13 jacks, both C and W, will work. The command set is complete, and Crosstalk knows how to exercise the commands. This is a solid package, but not quite as state-of-theart as some of the others.

MlCROCOM ERA 2

The Microcom ERA 2 at first seems like a plain-vanilla, Hayes-compatible modem with no special call-progress detection. It uses the Hayes instruction set, has a speaker, and comes in a pretty box with a good manual. (The ERA

2 also is available as a stand-alone model, which I did not review.) But

because of Microcom's Network Protocol (MNP), it has some very special capabilities.

With Microcom's modems you can establish a reliable link between two computer systems for all the traffic between them. For this kind of dance, though, it takes two to tango. If The Source had an ERA 2 at its end, and 1 had one at mine, it could mean the end of that pesky line noise that often shows up on my screen as random characters when I'm in the midst of some crucial search.

Well, that low noise state may be coming. UNINET has several Microcom modems in place, accessible by local phone calls in Atlanta, Boston, Chicago, Dallas, Houston, New York, San Francisco, Washington, and other cities. Users with ERA 2 or modems incorporating MNP (such as the internal modem on the IBM PCjr) can use what Microcom calls Reliable Mode.

The ERA 2 is flexible about link protocol. You can set up the communications so that your modem tries to establish an MNP link, but will drop back into normal interactive mode if it is unable to make a Reliable Mode connection. Otherwise, the modem is straightforward.

Like the Hayes 1200B, it uses a Z8 microprocessor and has sockets for modular plugs from both the telephone company's wall line and the phone itself. The on-board speaker is very thin, but because about two-thirds of the components live on a piggyback board, the overall board is wide. Also, like the Hayes, it needs an empty slot next to it in an XT chassis.

From my viewpoint, if you work in an environment that needs accurate transaction processing despite a noisy line, installing Microcom modems at each end makes sense. If you can't control the remote end, there is little advantage to the ERA 2. If the MNP protocol continues to penetrate the market, the protocol may find more widespread use on the public data networks and common carriers. Until then, call-progress signal detection is more useful.

Hayes Smartmodem 1200B

This is the standard. A passenger in the seat next to me on the Eastern shuttle between Boston and New York was traveling with a Compaq. After he

244

BYTE Guide to the IBM PC • Fall 1984

NEW-GENERATION MODEMS

watched me work with my Model 100 from Radio Shack, we started talking shop. I asked what modem he had inside his box. "Hayes." he answered, with a look that said, "Doesn't everyone get

a Hayes?"

The Hayes speaker on the board is large, making the modem wider than a regular PC board. But since the speaker is at the end of the board nearest the

front of the computer, the modem can occupy a slot next to a short card (such as the IBM floppy-disk controller) without the speaker's height affecting

(continued)

The Computer-Modem Dialogue

The RS-232C interface between the computer and modem uses a standard vocabulary. When a freestanding modem with an RS-232C port is connected by cable to the RS-232C (DCE) port on the computer (DTE), this vocabulary seems appropriate. But when the modem is on a board inside the computer, when no RS-232C port is in sight, and when the actual interface deviates from the RS-232C standard, more patience is required to unravel the signals. My math teacher from years ago would call this a clean-sheet-of-paper. cold-glassof-lemonade. no-distractions job.

RS-232C signals fall into four groups: ground, data, control, and timing. Ground may include pins 1 and 7, but usually just 7. Data signals through pins 2 and 3 transmit and receive information. Timing signals are irrelevant here. It's the control signals we need to talk about: request to send (RTS). clear to send (CTS), data set ready (DSR). data terminal ready (DTR). ring indicator (RI). and data carrier detect (DCD).

Whether the modem is in-board or free standing, an 82 50 UART (Universal Asynchronous Receiver-Transmitter) is between the modem processor and the computer's address, data, and control buses. The UART reformats bytes of data from parallel format (bits are side by side) to serial format (bits in a row) for transmitting. Each of the in-board modems has an 8250 on the printed-circuit board. A free-standing modem connects to an asynchronous communications board or multifunction board with an 82 50 on it. If an 82 50 or modem is to interface with the public-switched telephone network, four signals are required by the RS-232C standard: DSR, DTR, RI, and DCD.

DSR and DTR are equipment-readiness indicators. In contrast, the RTS/CTS pair is used as a channel-readiness indicator. DTR and DSR are used with automatic dialing and automatic answering equipment. For example, after the modem has dialed the call, established the connection, and is in data-transmission mode, DSR is turned on. The modem tells the computer that it's ready to go. Similarly, if the modem is connected to the telephone network and the computer

turns off DTR, the modem is disconnected from the communications channel.

That's how it's supposed to go in theory; understanding actual practice requires close reading of the manuals. For example, the Hayes 1200B ignores RTS, CTS, and DSR. When DTR is off you completely disable the modem so that it will accept neither commands nor autoanswers. DCD indicates the presence of carrier.

The Prentice X100 has a richer, more complex instruction and register set. Like the Hayes, it doesn't use RTS. But you can set three modem modes in software to define the control lines. Dumb Terminal mode holds DSR, DCD, and CTS true, so a simple three-wire cable can be used. Smart Modem mode can set CTS false when the local phone goes off the hook, allowing convenient voice/data switching. Also in this mode, DSR and DCD go false when carrier is lost. Bell 212 mode follows the conventions of AT&T modems, with CTS going true 200 milliseconds after carrier is detected.

The Cermetek 212PC has a hardware option switch, a jumper that chooses between normal RS-232C operation for CTS, DSR, and DCD, or having those signals forced to the same state as DTR.

What's the significance of this diversity? Manufacturers are choosing slightly different ways to implement the "smart" features on their modems. Users must decide which modems have the features they want, which communications software packages support those features, and how they must set up the modem so that the software can access the signals it needs. (Crosstalk, for instance, controls the DTR line and expects to see DCD true only when carrier is actually present. Modem features such as "DTR override" and "DCD forced true" must be disabled if Crosstalk is to work. Fortunately, the modem manuals have the information you need to do this: I used Crosstalk successfully with several of the new modems and with the 1200B.)

For more technical details, see Data Communications for Microcomputers, by E. A. Nichols. I. C. Nichols, and K. Musson (McGraw-Hill, 1982).

GLOSSARY

RTS—request to send, an RS-232C control signal sent from the computer to the modem, asking the modem for permission to transmit data (used with clear to send, CTS).

CTS-clear to send, an RS-232C control signal sent from the modem to the computer, saying that the modem is ready to receive data from the computer: sometimes indicates local phone is on or off hook.

DSR-data set ready, an RS-232C control signal sent from the modem to the computer, saying whether or not the modem is connected to the (telephone) communications channel (used with data terminal ready, DTR).

DTR-data terminal ready, an RS-232C control signal sent from the computer to the modem.

DCD-data carrier detect, an RS-232C control signal sent from the modem to the computer, indicating that carrier is present (used with DTR).

RI—ring indicator, an RS-232C control signal sent from the modem to the computer, indicating that the modem is receiving a ringing signal from the telephone network.

DCE—data communication equipment, such as a modem.

DTE—data terminal equipment, such as the IBM PC (RS-2 32C ports on the PC are configured as DTE).

Carrier—an analog signal sent over the telephone network.

Modulation—the process of modifying the carrier so that it varies according to changes in another analog signal (the modulating wave).

RXD—receive data.

TXD—transmit data.

Fall 1984 • BYTE Guide to the IBM PC • 245

Circle 41 on inquiry card.

Printer sharing systems for multiple computers and printers.

AddMultiSpool-the hardware spooler that's truly flexible.

Now, thanks to MultiSpool,

there's no more need to buy individual spoolers, no more wasted computer time or memory. With its enormous memorysharing power, this dynamic six-port switching device not only lets you network any combination of computers and printers; it also provides the spooling function within that network.

With its 60K of buffer memory, controlled by 4K of memory management firmware, MultiSpool can orchestrate up to five computers or

12?'

m

five printers simultaneously. Only this degree of flexibility can meet the ever-changing port-expansion needs of today's multiuser environment. Note, too, that MultiSpool mixes four serial and two Centronicscompatible ports. It also handles X-on, X-off protocols and DTR. So, with the unit's dipswitch.you can configure each port to accommodate either a computer or printer; and you can define the discipline of that port. Best of all, MultiSpool sells for just $1,295-even less if you don't need all six ports. And that, we're sure, is music to your ears.

-H

pDigital Laboratories Inc.

600 Pleasant Street, Watertown, MA 02172. (617) 924-1680

My LIBRA software system means as

much to my business as my business

means to me.

Software: Unequaled in comprehensive application for small business. Fully integrated, adaptable to the way you do business.

General ledger, payroll, billing, payables, receivables, estimating, costing, sales analysis, Inventory control, property management, time accounting, client writeup, broadcast, tax preparation ... and more.

Hardware. Available for the IBM PC-XT. . . and soon for the IBM System 36 Training: LIBRA Support provides a total instructional and hands-on training program.

Call toll free 800453-3827

IN ALASKA/HAWAII MXM53-7750

^LIBKrl

LIBRA Is a major supplier of business application software and an authorized IBM Value-Added Dealer.

IlilllllllllllHI

1954 EAST 7000 SOUTH SALT LAKE CITY, UT 84121-3094 (801)943-2084

NEW-GENERATION MODEMS

the adjacent board.

The modem handles both single- and multiline connections. It can be addressed as either COM1 or COM2, but not as COM3 or higher. A register controls the testing feature of the 1200B. Hayes calls this "self-test," rather than "loopback." One setting of the register tests the originate mode, and one tests the answer mode.

The Hayes Smartmodem lacks callprogress detection. Without it, the modem cannot sense either busy signals or voice. It must be programmed to wait for carrier for a specified length of time. If carrier is not detected within the preset time, the modem hangs up (goes on hook). Hayes ships the modem with a default setting of 30 seconds, which to me seems to be a long time to tie up the phone line in an automatic dialing environment. Further, the 1200B cannot detect the presence of a dial tone. Instead, it waits a programmable length of time (the default setting is two seconds) and then assumes the dial tone is present. This usually works, but there could be problems when dialing through a cranky PBX.

The Smartmodem 1200B works well. It has a speaker for audible feedback, the Hayes instruction set, excellent documentation, a good reputation, and Smartcom II, a well-integrated communications package.

If you can get along without callprogress signal detection, then the Hayes Smartmodem is an OK choice.

Summary

At least these modem manufacturers are not copycats. Each has built its product with a slightly different set of features, some using custom logic chips and a different board design.

Since several of the powerful, standard communications software packages will drive any of these modems, I have tried to steer clear of the software variable. Consider the software that comes bundled with the modem. For a typical installation, the call-progress detection features that are available and supported in software will be the most important factors in a buying decision. "Know what you need," and "try it before you buy it" are still wise maxims in the modem market. ■

246

BYTE Guide to the IBM PC • Fall 1984

Circle 98 on inquiry card.

Become a dBASE II expert without cracking a

book.

dBASE II is, quite simply, the best-selling database management system (DBMS) made for any computer, ever. And with over 150,000 users so far, it's become the standard for managing data with a microcomputer.

Jump into dBASE II, disk-first.

The best way to learn to use dBASE II is to use dBASE II. Our ondisk tutorial is a hands-on interactive learning system that will get you up to speed on dBASE II, quickly and easily. Then you can use your new-found knowledge to create a full business information system that does exactly what you need done. A system that will handle today's problems, yet grow with you.

Circle 14 on inquiry card.

dBASE

dBEST deal in town.

When you buy dBASE II, you'll be getting the most advanced information management tool available for your micro for only $700 (suggested retail price). At the same time, you'll be getting the most advanced teaching tool (the dBASE II On-Disk Tutorial) for free.

For the name of your nearest dBASE II dealer, contact Ashton-Tate, 10150 West Jefferson Boulevard, Culver City, CA 90230,(800)437-4329, ext. 217. In the U.K., call (0908) 568866.

ASHTON -TATE

dBASE II is a registered trademark of Ashton-Tate. ©Ashton-Tate 1983

Fall 1984 • BYTE Guide to the IBM PC

247

by Jay Siegel

MOVING DATA BETWEEN PCS AND MAINFRAMES

Moving shared data around once you access it is still a problem in an industry without standards

S e K j

Sooner or later all of us will be moving data, and not just from the word processor to the printer but from one applications program to another, between microcomputers, and in many cases to and from a mainframe.

During the seventies many major U.S. corporations relied on remote computer services for both information and applications software. The success of the microcomputer in the eighties may have slowed the rapid growth of these remote services, but it has also opened up new markets and opportunities. Many timesharing data vendors have introduced software that makes it easier for a microcomputer to access data on their mainframes. The major stumbling block to the proliferation of this service has been incompatible data structures among the different microcomputers.

I'll focus on the hows and whys of transporting data between programs and computers. I'll also outline some of the database services that I find helpful in my work.

Accessing a remote computer is relatively easy. What is not always as easy is downloading data from a remote computer to a microcomputer in a form that can be used in particular applications programs such as VisiCalc, SuperCalc, and Lotus 1-2-3.

Technical Issues: Form and Structure

Coding data electronically is at once an obvious and an elusive concept. Data has a format and structure that ties together the bits and bytes of computer information. This structure makes data meaningful and, correspondingly, difficult to move around between either programs or computers:

One program's data format is another program's gibberish.

The IBM PC stores data as 8 bits or 1 byte. A byte is a sequence of eight Os and/or Is, which makes for a total of 256 different combinations of Os and Is. These binary numbers can represent a computer chip's instructions or data (text and numbers). To represent text, such binary numbers must be translated into the letters, numbers, and symbols (such as commas, semicolons, and quotes) that compose data. These numbers are translated in most microcomputers using a nearly universal code called ASCII (American National Standard Code for Information Interchange). ASCII uses 7 bits and provides a translation for 128 characters: 54 letters (upper/lowercase), 10 digits (0 through 9), and assorted punctuation marks, symbols, and control codes.

IBM never joined the ASCII convention and adopted another coding scheme called EBCDIC for its mainframe computers. (Pronounced Eb-suh-dick, it stands for extended binary-coded decimal interchange code.) The difference between ASCII and EBCDIC is one of the first, but not the most significant, barriers to communications between IBM mainframes and microcomputers.

ASCII uses only 7 bits, while most microcomputers store information in 8-bit bytes. That small difference creates a major problem in moving data. Some applications programs use this "free," or unused bit, making it an integral part of

(continued)

lag Siegel (POB 60997, Palo Alto, CA 94306) is a managing director of Quantitative Software Reports. He formerly worked for Data Resources inc. and taught economics at the University of Toronto.

ILLUSTRATION BY SETH IABEN

MOVING DATA

the data for that program. WordStar uses this eighth bit in document files to format the text on the screen or for the printer.

IBM extended ASCII on the IBM PC to encompass this free bit and thereby increase the number of characters that can be coded and displayed to 256. IBM used the extra 128 characters to extend the set of symbols to include a musical note, a happy face, line graphics, foreign letters, and other symbols. IBM refers to this translation as Extended ASCII, a superset of standard ASCII.

Data files are of two types—stream or rectangular. A stream file is a simple sequential flow of bits. A stream file has no internal structure that can't be represented by specific ASCII characters: a centered heading or a paragraph separated by a blank line or indicated by indentation, for example. The data itself determines how the document ultimately looks when printed on a piece of paper. Essentially, you create that structure as you enter the information.

A rectangular data set has an internal structure that groups the data into subsets, often called fields, and the fields into records. A rectangular data file can be thought of as a matrix with the columns representing data fields and the rows records. This structure is identical with a spreadsheet's data structure. In fact, the relationship between the spreadsheet structure and rectangular data files will prove to be very important in many of the methods of moving data between microcomputers and downloading information.

ASCII provides a standard form for reading data. However, how the letters are grouped and whether or not digits are to be read as numbers or text are determined by the format of the file. There are basically two types of formats—fixed and free. Fixed formats define the data characteristics for specific locations in the data field: for example, columns 7 through 10 might be text and columns 11 through 12, numbers. The advantage of a fixed format is its precision. There is a negative side to this, however, as this precise description must be known by the program that is reading the data.

Free formats use delimiters to separate fields and identify text by surrounding it with quotes. The most common free format is the comma separated value (CSV) format, in which the comma is the delimiter separating fields and quote marks surround text.

DIE which stands for Data Interchange Format, was developed by Software Arts, the creator of VisiCalc, as a standard ASCII format for interchanging data between applications programs. DIF was designed to handle spreadsheet data and can describe labels (text) and numbers along with their row and column location. (DIF was explained in detail in an article, "DIF: A Format for Data Exchange Between Applications Programs," November 1981 BYTE, page 174.) DIF cannot, however, convey the formulas or format instructions in a spreadsheet. Sorcim, the creator of SuperCalc, has developed SDI (Super Data Interchange), an extension of the DIF con

Lotus's Symphony Offers Downloading Options

Symphony, the new product by Lotus Development Corporation (Cambridge, MA), the creator of 1-2-3, opens up new possibilities for downloading via the data-capture method. Symphony is an integrated product that provides spreadsheets, word processing, graphics, database management, and communications in a single environment. The spreadsheet is the basic data structure (the metaphor, to use the current buzzword) for storing data, lb download data from a remote source, Symphony uses the capture option to store data in a range in the spreadsheet. If the data is to be captured from a stream format file, then the range encompasses a single column of the spreadsheet. If the data is in rectangular format, then the range name will encompass two or more columns.

Symphony's communications module provides all of the standard options: the user can set word length, stop bits, modem speed, handshake protocol, etc. It also conforms to the XMODEM filetransfer protocol to directly transfer file from most of the major microcomputers. However, the integration of the commu

nications module with the other Symphony functions amplifies the program's capabilities. For instance, Symphony's expanded macro abilities make it possible to automate a complete telemarketing application. Given a prospect's name, the database manager locates the telephone number which is then dialed automatically by the communications module. When the phone is answered, the modem is switched to voice mode, and the database manager displays a call report form on the screen to record the results of the phone call. This is then updated in the call report data range.

In Symphony, the central role of the spreadsheet in defining data has very important implications for downloading. In ■ the communications mode. Symphony can capture to a range, which the user specifies, data that is being sent from the remote computer and displayed on the monitor. The format of the data captured is linked to the spreadsheet database structure. If the data to be transferred is one column wide, then the specified range will be a single column and data will be stored in stream format (variable-length

records, stored by rows within the single column).

However, if the data encompasses several columns, then a rectangular data structure is specified by using multiple columns. For example, if the data coming from the remote computer service is captured to a range containing eight columns, each of width 10, then the first 10 characters go into the first column, the next 10 into the second column, and so on.

Symphony's word processor can be used to clean up the downloaded information, if need be, to get rid of extraneous information or realign the data in the spreadsheet format. The word processor within Symphony cannot edit control characters, so there may be some minor problems with downloaded data.

Symphony is the first communications software program to give the user the option of defining the format of the downloaded data to be either stream or rectangular files. Symphony's spreadsheet data structure makes downloading via the data-capture method simple yet comprehensive.

250

BYTE Guide to the IBM PC • Fall 1984

MOVING DATA

cept to include spreadsheet formulas and format instructions. SDI lets you transfer a complete SuperCalc workspace in ASCII form.

DIF has attained the position of the de facto standard for exchanging data between programs. Most spreadsheet programs and several database-management programs can read DIF files.

Communications Software

Moving data between computers is most often done with communications software. Though it's possible to hook up two IBM PC microcomputers directly through their serial ports and transfer files between them using the COPY command, the process is much easier if you use communications software.

Communications software is a must in order to move data between your microcomputer and a remote computer service. Such software performs, primarily, two services: terminal emulation and file transfer.

The primary objective of a communications program is to turn your IBM PC into a "dumb terminal," one that can communicate with other computers through the serial port and over the telephone via a modem. However, good communications software turns the IBM PC into a "smart terminal," one that can upload and download files and handle a wide range of communications protocols.

Two fundamental issues affect the transfer of files (downloading/uploading) between computers: coordination and error checking. Most communications software can capture the information being sent from a remote computer as it is being displayed on the IBM PC's monitor. The captured data is then stored in a file on disk.

Pressing the Page Down key in PC-Talk III (developed as Freeware by The Headlands Press Inc.), for example, initiates data capture. The user will be asked for a filename, and all subsequent data displayed on the monitor is saved to the specified file. Pressing the Page Down key a second time signals PC-Talk III to stop capturing data and close the active file. Starting and finishing your transfer with the exact information requires coordination between your microcomputer and the remote computer.

Quite often unrelated information is captured in the beginning and at the end of the file. These unwanted characters can be edited out of the file later with your word processor.

The data-capture method of transferring information saves everything being sent between the two computers. If there is an error in the transmission, the garbled characters are indiscriminately saved in the file. When you are transferring text data, this is only a minor problem. However, when you transfer numerical data, a single garbled bit can change the entire meaning of the data file.

Direct file transfer solves the two problems inherent to the data-capture method, coordination and error checking, but the two computers must use the same file-transfer protocol. This protocol establishes the beginning and end of a file and usually includes an error-checking procedure. The XMODEM protocol developed by Ward Christensen is the de facto microcomputer standard for direct file transfer. The XMODEM protocol breaks the file into small blocks of data, calculates a numerical value for each block, which serves as a check value, and sends the check value along with each block to the receiving computer.

The receiving computer then calculates the characteristic of the block it has received and compares its own check value with the one it received along with the block of information. If the two values agree then the block is saved: if there is a difference the block is re-sent.

PC-Talk III adheres to the XMODEM protocol. By appending "=X" to the end of the name of the file to be transferred, you signal PC-Talk to wait until the sending or receiving computer activates the Page Up or Page Down key and then automatically transfers the file. Any errors in the block detected during transmission result in its being re-sent. Direct file transfer can occur between different software programs other than PCTalk III as long as they support the same protocol.

Transferring Data Between Applications Programs

Most applications programs store their data in binary form and in a format that is convenient for the program. The only way another program can access that data is if it knows the original program's format. Most applications programs, for example, adopt a unique extension to their filenames—WKS for Lotus 1-2-3, CAL for SuperCalc, and VC for VisiCalc worksheet files. In other words, a SuperCalc file is saved differently from a Lotus file. A file called Forecast in Lotus will be saved:

{continued)

enhance WordStar

with

P-r-o-p-o-r-t-i-o-n-a-l Spacing on WordStar

You are reading text printed by WordStar in

providing a profestypeset appearance.

all versions of WordStar, with Diablo, Xerox, Qume, NEC, and most other daisywheel or thimble printers.

proportional spacing, sional, easy to read,

Justified proportional spacing from WordStar's print command, multiple columns on a page, and more. Works on

"The best and least expensive method of dramatically improving the appearance of any WordStar text" - LIST Disk version (CP/M, MS/PC-DOS) automatically modifies WordStar 575 including manual. Manual only (100 pages - with full details for implementing PS using Install) $25. Wo technical skill is needed. Text can be right justified. Printer does not require PS logic. Prices include shipping in U.S. NYS add tax.

Okay! My check is enclosed for $ (or charge my VISA/MC

acct # _ exp / ).

Writing Consultants

Suite 259, 11 Creek Bend Drive - Fairport, NY M450

1-800-828-6293 (in NYS 1-716-377-0130) phones open 21 hours - dealers please call or w rite

Circle 187 on inquiry card. Fall 1984 • BYTE Guide to the IBM PC

251

MOVING DATA

FORECASTWKS; in SuperCalc it will be saved: FORECAST.CAL. Neither filename is readable by the other program. The solution to this data incompatibility is to produce a standard ASCII format version of the file to be transferred. Most applications programs allow this. Lotus, for example, provides two choices: it uses a utility program to produce a DIF file from the WKS file, or prints the data to. disk producing a PRN (print) file in fixed ASCII format. One of the incongruities of Lotus 1-2-3 is that it can read (import) a free-format ASCII file, but it can produce only a fixed-format ASCII file. This is unfortunate since the free-format (CSV) file is one of the most common formats for data transfer between applications programs, both mainframe and microcomputer. SuperCalc's utility, SDI, transforms data to and from CAL and DIF and CSV files.

AshtonTate's database-management program dBASE II can both read and write free-format CSV files. A free-format ASCII file can be created from a dBASE file by copying that file using the Delimited With " option. The dBASE II program uses the name of the data file and appends the extension TXT for the name of the ASCII file, which will be created in a CSV file. Either Lotus 1-2-3 or WordStar, using mail merge, can then read this file. Using the dBASE II Append From . . . Delimited option moves data from a CSV to a dBASE II data file. In version 2.4 on the IBM Personal Computer, the Delimited With " option produces CSV files with the trailing blanks in any field eliminated. (Trailing blanks were not eliminated in earlier version of dBASE II.)

Moving data between word-processing programs can be

A Sampling of Remote Computer Services

Most remote computer services distribute public information electronically, along with proprietary information that they have gathered or licensed from other sources. The following is a brief outline of remote vendor services from major financial suppliers with which I am familiar. I have purposely disregarded the traditional home-user services such as CompuServe, The Source, and Dow Jones, in favor of talking about business-oriented database vendors.

Dialog Information Services

Dialog Information Services provides online access to a wide range of databases containing materials on education, science, business and finance, current affairs, social sciences, law, medicine, the arts, and humanities.

The business and finance databases on Dialog include ABI/Inform and Disclosure II. ABI/Inform abstracts articles from more than 550 publications about business management and administration and offers 200,000 citations. The abstracts can be saved by your microcomputer in simple stream format via the data-capture method.

The Disclosure II database provides abstracts of reports filed with the Securities and Exchange Commission (SEC) by more than 8500 publicly owned companies. This information includes the 10-K and 10-Q financial reports, 8-K reports of unscheduled material events or corporate changes. 20-F financial reports, proxy statements, management discussions, and registration reports for new corporations. These reports are presented in a standard table format for

each company. However, capturing the data as a text file in stream format poses a problem, for in this form it cannot be entered easily into a spreadsheet program. Lotus Development's Symphony has a unique downloading procedure that should enable you to download the Dialog Disclosure II tables directly to a spreadsheet (see "Lotus's Symphony Offers Downloading Options," page 2 50). Dialog charges by connect time, and the hourly rate depends on the database you access.

Wharton Econometric Forecasting

Wharton Econometric Forecasting Associates provides a vast array of economic, financial, and demographic data covering both historical and forecasted periods. Formerly available only to timesharing services. Wharton's information is now accessible to microcomputer users in two forms: downloaded and on data disks for the IBM PC. "Download" is a Wharton program that runs on its mainframe and interacts with the microcomputer to manage the downloading process. It first asks for the series name to be downloaded, then creates a DIF (Data Interchange Format) file for that series or formats a printed report. It coordinates the display of the DIF file on your microcomputer's monitor so that it can be easily captured by the microcomputer and stored to disk. Almost all of the Wharton data can be downloaded. The Wharton Download program will work with any terminal emulation software that can communicate with a TSO (timesharing operation) system.

Wharton charges only for the connect time. There are no data transaction or

stripping charges.

LP. Sharp

I.P. Sharp Associates is a Canadian-based company that provides a telecommunications network and remote computing services for Sharp APL, the first commercial timesharing system for APL (A Programming Language). Sharp also provides extensive databases containing more than 50 million reports of public data covering economic, financial, demographic, energy, and aviation data in different time periods.

Sharp downloads via Microcomm, a software package written in BASIC (with some modules written in assembly language), which runs on the IBM PC and costs $50. Data is formatted in DIF files on the mainframe and downloaded to standard PC-DOS files, making the vast majority of Sharp's economic and financial data available to microcomputer users. Sharp charges only for connect time.

Microcomm is menu driven and completely automates the downloading process. You don't need to know APL as the program is a PC-DOS program and interacts with Sharp in standard ASCII format. However, you do have to be familiar with the Sharp system and the method for querying its databases in order to access the desired data.

Data Resources

Data Resources Inc. (DRi), one of the nation's largest suppliers of on-line economic data, sells its forecasting services by subscription. Forecasts are available about the national economy, state and regional areas, and specific industries and activities as well as many foreign countries. These

252 • BYTE Guide to the IBM PC • Fall 1984

MOVING DATA

forecasts supplement the historical data available through DRI.

DRI has developed a microcomputer product called VisiLink (distributed by VisiCorp) to help the microcomputer owner access the DRI timesharing computer. Information is downloaded in packages called DataKits.

VisiLink DataKits are combinations of data and accompanying analyses focused on specific applications. DataKits are downloaded in ASCII in the VisiCalc worksheet format. The DataKit can be loaded directly into VisiCalc and the resulting worksheet saved as a DIF file transportable to many different applications programs. Furthermore, many applications programs can read VisiCalc worksheets directly.

Downloading data via the VisiCalc format enables DRI to transfer spreadsheet formulas as well as data, something not possible with DIF In addition. VisiCalc is the only major spreadsheet program that stores its spreadsheet data and relationships in ASCII format.

DRI offers three kinds of DataKits: a data retriever pack, a data forecast pack, and an analysis (application) pack. The data retriever is designed for downloading a series of historical information from the DRI data banks. The user is limited to 24 quarterly reports (6 years) and 10 series in one kit. There is a fixed charge of S3 per series in a retrieval DataKit. Forecast data is available in predefined DataKits grouped by areas of interest. You can choose one of three forecast scenarios: control (the forecast DRI considers the most likely), a best-case forecast, or worstcase forecast. Forecast DataKits are naturally more expensive than retrieval kits.

Analysis DataKits are for the following applications: product-line forecasting, cost analysis, financial statements, industry detail, etc. Prices of application DataKits vary and depend on the complexity of the forecast. They range from around $75 to more than $200.

Chase Econometrics

Chase Econometrics, part of Chase Econometrics/Interactive Data Corp., a subsidiary of the Chase Manhattan Bank, also provides microcomputers access to its data. The downloading system is called CEDAF for Chase Econometrics Data Access Facility. CEDAF is part of an economics workstation sold by Chase Econometrics/ IDC, which includes an IBM XT, Lotus 1-2-3, an econometric analysis

package, and other utilities. CEDAF is designed to download data for the applications programs on the workstation. It is not a stand-alone program.

The data banks can contain, literally, millions of time-period series, each one with a unique mnemonic CEDAF contains a query language that allows the user to give an English-language description of the data requested to which the system responds with several series that satisfy the given descriptors. By adding more descriptors, the number of series drops until only a handful are left.

To use CEDAF you must install the workstation, be a subscriber to Chase Econometrics, and pay for the connect time and a data-transaction charge, which depends on the value of the data being downloaded.

Interactive Data Corporation currently has two microcomputer products: PC Screen and Datasheet. Both are dedicated applications packages that link the microcomputer into the IDC databases. These packages are designed to take full advantage of the microcomputers' full screen interface.

PC Screen works with a mainframe's Compustat financial data and. as its name implies, is a screening program used for investment analysis—especially mergers and acquisitions. PC Screen lets you set up screen criteria so that you can identify, quickly and easily, the companies within the Compustat file that meet your criteria.

Datasheet is designed for data sharing within large corporations.

ADP

ADP (Automatic Data Processing) provides on-line access to extensive databases for the financial analyst and the business economist: Compustat, Disclosure II, stocks, bonds, futures, foreign exchange, and the Townsend-Greenspan historical and forecast economic databases. ADP was one of the first value-added resellers of Lotus 1-2-3.

Downloading data on ADP with its program Datapath is a three-step process: first, you define the data to be downloaded by creating a range name in a Lotus 1-2-3 worksheet that starts with the underline character: for instance. GNP

would be a range called GNP. Data

ranges can be anywhere in the worksheet and can be referenced by formulas in other cells. In essence, one constructs an entire Lotus template.

Second. Datapath's terminal-emulation

mode automatically connects with the ADP network. The program asks for the name of the worksheet that defines the data to be downloaded.

Third, the data automatically is downloaded into the predefined Lotus worksheet. If the downloaded data is referred to by formulas in the worksheet, the entire worksheet will be calculated automatically. Thus, if investors are interested in a ratio analysis of a company's performance, they can build a Lotus 1-2-3 template and request from Disclosure II the balance-sheet for that company. Datapath will download the data to the 1-2-3 worksheet, and 1-2-3 will calculate the ratio formulas automatically.

ADP also offers an on-line Applications Library of predefined Lotus templates, similar to the DRI VisiLink product. Templates from the Applications Library cost from $20 to $100. A balance-sheet template costs $20, while a ratio-analysis template costs on the order of $40.

ADP charges a minimum of $100 per month per corporate account (not per user within the account), a subscription fee for each database accessed, and a datatransaction charge that varies depending on the data being accessed.

Remote Computer Services

ADP Network Services 175 Jackson Plaza Ann Arbor, MI 48106 (313) 769-6800

Chase Econometrics/Interactive Data Corp. 486 Totten Pond Rd. Waltham, MA 02154 (617) 890-1234

Data Resources Inc. 24 Hartwell Ave. Lexington. MA 02173 (617) 861-0165

Dialog Information Services 3460 Hillview Ave. Palo Alto, CA 94304

(415) 858-3810

I.P. Sharp Associates Suite 1900, Exchange Tower 2 First Canadian Place Tbronto, Ontario Canada M5X 1E3

(416) 364-5361

Wharton Econometric Forecasting

Associates

3624 Science Center

Philadelphia, PA 19104

(215) 386-9000

Fall 1984 • BYTE Guide to the IBM PC • 253

MOVING DATA

more difficult than you'd expect from programs designed to manipulate just words. Many word-processing programs do not store text in ASCII format. WordStar saves the document as a single stream file with a new line indicated by a single linefeed character, whereas, in ASCII format, a line is indicated by a pair of characters: the carriage return and linefeed combination. This creates a problem for moving ASCII files to and from WordStar. WordStar provides a nondocument editing option to create files in standard ASCII format. However, once you are in the nondocument mode, all of your editing must be done in this mode to maintain the file's ASCII format. Editing in the nondocument mode is neither as simple nor as convenient as in a WordStar document file.

Conversion programs are available in the public domain that convert WordStar files to standard ASCII and vice versa. These programs have been published in most of the magazines devoted to the IBM PC and are available from most user groups or from a number of bulletin boards.

MultiMate, a popular dedicated word-processing program, stores text in a special form that is more akin to a database manager than a word-processing program. MultiMate does provide a utility that will convert its documents to standard ASCII files and from ASCII to MultiMate files. However, this utility will not work with mail merge information—names and addresses to be merged with MultiMate form letters.

iiiiiiiiniiiiii

Hard Disk Drive With Winchester Technology

Hard Disk Drive With Whitney Technology

'Hard Disk Drive With R.L.L. (Run Length Coding) Technology

/ WILL BEAT ANY PRICE IN U.S.A.

Outstanding Quality Products, Latest Technology

Satisfaction Guaranteed, 7 Days Trial

The Best Hard Disk Drive Subsystems in the World

Complete and Ready to Run, Full Year Warranty

10 MB 5%" $ 1,195.00 16 MB 5'/." *

25 MB 5'/." $ 2,295.00 30 MB 5'/." * .

40 MB 5%" $ 3,495.00 65 MB 5%" $ 3,995.00

92 MB 5'/." $ 4,995.00 184 MB 5'/." $ 8,995.00

368 MB 5%" $17,995.00

MX-4 Multiple User Kits (Network Station) $ 395.00

Printer Server Automatic Despools $ 1,295.00

Letter Quality Printer 55 cps $

Dot Matrix Printer 120 cps $

Electronic Cash Register $

•I.B.M. PC 2DD/256K/Video Board with Printer Port/Monitor $

•I.B.M. XT 128K/Video Board with Printer Port/Monitor $

•Televideo 1605 $

Multiple User Kits for Commodore (Disk Drive 1541} $

Memory Chip 41 64 $

Teac Disk Drives FD-55B, 360K *

IBM PC *

Memory Chip for the 4164-1 50 *

The above hard disk drives are compatible with: Access Matrix (ACTRIXI/IBM & Compatibles/Apple II, II+ , lie. III, III+, lie & Apple Compatibles/Altos/Atari 800/

Texas Instruments/Osborne/DEC/Kaypro/Epson QX-10/S-100/NEC PC 8000/ North Star/TRS-80 I, II. Ill/Zenith Z89, 90, 100, 150/Xerox 820/Toshiba T300/

Televideo 802 & 802H/Sanyo 550 & 555/Commodore 64 & VIC-20/etc. These drives can be used as networking stations up to 64 users on one single

drive and up to seven operating systems on the same drive.

Removable hard disk (removable cartridge) available. Tape back up available.

Software available for IBM, Apple, Commodore, Televideo, etc.

Prices include software, cables. Interface (host adapter), and books.

Free shipping and delivery.

1,995.00 2,395.00

995.00

295.00

295.00

2,995.00

4,995.00

2,495.00

195.00

5.60

160.00

2,100.00

4.35

MAX!)IN(t() COMPUTERS & CAMERAS

900 CASCADE DRIVE'FORT WASHINGTON, MARYLAND 20744 (301)292-5632 (301)292-6732

Moving Data Between Microcomputers

The new integrated programs often diminish the need to transfer data between programs by simply offering more functions in a single program. However, transfer problems still exist between different microcomputers. Moving data between microcomputers that read the same disk format is a simple matter of physically moving the floppy disk from one computer to another. The IBM PC has established a de facto standard because of the widespread use of MS-DOS on many different microcomputers. (MS-DOS is Microsoft's disk operating system on which it based PC-DOS.) In addition, programs like Zeno Copy from Vertex Systems can read and write many different disk formats on the IBM PC.

Data files that are being transferred between computers to be used in the same applications program (for example, a WordStar document on a CP/M computer for editing on an IBM PC running PC-DOS, a mailing list in dBASE II, etc.) are best transferred as binary files using a transfer protocol such as XMODEM. Occasionally, you will run into a problem between the versions of the applications programs on the two systems. For instance, when transferring a binary SuperCalc workspace from an Osborne CP/M system running an early version of SuperCalc to an IBM PC with a later version, it is best to use the SDI format to transfer the entire worksheet as an ASCII file. If the SuperCalc version number differs, then you must use the appropriate (SDI) utility to convert the workspace to an ASCII file and transfer the file, and then use the same utility program on the second computer to reconvert the ASCII file into the application format.

With the increasing popularity of lap computers, moving data between computers will become more and more common. Most lap computers come with a word processor and communications software and often include a built-in modem. In such an environment, moving a word-processed document from the lap to the base computer is a straightforward matter. But, using it with the base station word-processing program may not be as easy as you would expect. The lap computer operates with ASCII files and will transfer standard ASCII files to the base station. The problem may be that the base station's word processor does not format ASCII files (WordStar, for example). In all likelihood the ASCII file will have to be converted to run with the base station's wordprocessing program.

Transferring documents from your lap computer to the desktop computer is a two-step process: first transfer the lap computer's ASCII file to the base computer, then transform the file to a WordStar or other word-processor format using a utility program written for that purpose. If your word processor stores files in standard ASCII format, this simplifies the transfer of document files between your lap and desktop computers.

Moving Data Between Mainframe and microcomputer

A wide range of timesharing databases are available to microcomputer users today. You can link your microcomputer to a timesharing vendor in three different ways for different purposes: you can capture information being displayed on your microcomputer's monitor; using vendor-provided downloading software, you can interlock with the vendor's timeshar

254 • BYTE Guide to the IBM PC • Fall 1984 Circle 104 on inquiry card.

Circle 54 on inquiry card.

MOVING DATA

Occasionally, a captured

file may have lines that

end with only a linefeed

character.

ing system, eliminating incompatibility problems; and you can use an applications program that the vendor may provide to link the microcomputer to the mainframe.

The microcomputer's communications software captures data from a remote computer, allowing you to save to disk what is being transmitted to the microcomputer. The transmitted file is in ASCII stream format and, in many cases, will have to be edited with a word processor to remove extraneous information. It may also need reformatting to make it acceptable to the targeted microcomputer applications program. Almost any word processor that can edit and store ASCII files will suffice. However, you may have to remove or add control characters, and many word processors are unable to edit control characters.

Occasionally, a captured file may have lines that end with only a linefeed character, not the carriage return/linefeed combination required for standard ASCII files. The remedy for this problem is to use a word processor to locate all occurrences of the lone linefeed character and replace them with the carriage return/linefeed combination. This cannot be done in WordStar but can be done in Edlin or PCWrite.

Some vendors offer dedicated downloading of data via a special communications software program designed to work only with their timesharing/database systems and sold as a microcomputer software product. With one of these packages running on the PC and connected to the respective vendor's remote computer service, nearly all of the problems connected with downloading discussed above are eliminated. The disadvantage of these systems is that they work only with the vendor that provides them. One of their major benefits is that they permit you to upload data from your microcomputer to the remote computer service. The dedicated software program contains the necessary information for the PC to link up with a special program on the mainframe to run the downloading procedure in reverse.

All of the data timesharing vendors have built their businesses by supplying value-added software that manipulates your data, increasing its usefulness to your business. Your microcomputer uploads data to the remote computer service, which runs its applications programs on your information and returns the results to your terminal. The advantage is that the communications process is transparent, and incompatible files don't exist.

Users do lose control over the remote computer and are permitted to download only information or results for which they've contracted. Usually, when contracting for such services, you are required to buy terminal equipment compatible with the remote service's communication protocol—an IBM or an Apple, for example. Because of IBM's increasing market share in the business segment of the economy, more and more remote services are using it as a standard. ■

New Release 4.1

We've continually improved Microstat since it was introduced in 1978. and the latest release includes many new features you've wanted.

Interactive and Batch Processing Expanded Ddta Mdnagement

Subsystem with New Data

transforms Reading data files created by other

programs 3 types of Analysis of Variance time Series

Crosstabs and Chi-Square Fdctorials, Permutations, and

Combinations Hypothesis tests

Data sets that can exceed memory Multiple Regression (including

Stepwise) Scatterpiots (including best fit

regression) Correlation Analysis 12 Nonparametric tests 8 Probability Distributions Descriptive Statistics Easy installation

Microstat's algorithms have been designed to prevent numeric overflow errors and yield unsurpassed accuracy. Microstat's price is $375.00 including the user's manual and is available for the Z80. 8086. 8088 CPU's and CP/M80. CP/M86. MS-DOS, and PC-DOS. To order, call or write.

6413 N. College Ave.

Indianapolis, IN 46220

(317)255-6476

Trademarks: Microstat (Ecosoft). CP/M (Digital Research). MS-DOS (Microsoft). PC-DOS (IBM). Z80 (Zilog). 8086. 8088 (Intel).

the proven statistical analysis package

TM

StatPac

designed specifically for micros modeled after SPSS'

StatPac is convenient. Comprehensive. Inexpensive. Tested in the field for more than four years, StatPac has been updated, debugged and enhanced. So it's well established and easy to use. It even has built-in word processing for better file handling and editing.

StatPac is the answer for social scientists, market analysts, medical researchers...anyone in the survey and research community. It can handle up to 5,000 cases and manipulate 255 variables on a standard IBM PC.

Call 800328-4907

or write for a free brochure

' SPSS is a tfademark of SPSS. Inc

WALONICK ASSOCIATES

5624 Girard Avenue South

Minneapolis. MN 5541 9

[61 2) 866 9022

1-800-328-4907

Circle I83 on inquiry card. Fall I984 • BYTE Guide to the IBM PC • 255

BY

Robert A. Stillman Jr.

TESTING FOR IBM PC

COMPATIBILITY

Determining how compatible a computer is compared to the IBM PC has now been simplified with two new programs

The IBM PCs and IBM XTs have set an industry standard that has generated numerous IBM PC clones. The question always asked about a clone is. How compatible is it with the IBM PC? The answer, in turn, determines what hardware and software will be available for the clone. We at Award Software have developed a series of tests aimed at confirming a computer's, compatibility with the IBM PC.

Figure I shows an architectural model of the IBM PC and IBM XT. It consists of four levels: hardware, low-level support routines (ROM BIOS), PC-DOS I/O (input/output) device drivers (IBMBIO.COM), and the PC-DOS (IBMD0S.COM) operating system. If the hardware were completely compatible, then IBM ROMs (read-only memory) and DOS (disk operating system) could be used on the computer. However,

copyright laws prohibit this approach, and a ROM BIOS (basic input/output system) must be implemented by the vendor (and must be sufficiently distinct from IBM's as some vendors have found out) to provide interfaces identical to the IBM ROM BIOS. Last, the MS-DOS IO.SYS module must be implemented (and again must be distinct enough to avoid copyright infringement) to provide a PC-DOS interface.

The three areas of compatibility testing addressed in this article are hardware, ROM BIOS, and PC-DOS interfaces. The hardware testing covers the major LSI (large-scale integration) chips (Intel 8088, 8259, 8255. NEC 765, etc.), I/O ports, and how the chips are inter

(contmued)

Robert A. Stillman }r. is an executive vicepresident of Award Software \nc. (236 N. Santa Cruz Ave.. Los Gatos. CA 95030).

DOS INTERRUPTS 20H TO 27H

DOS SYSTEM (IBMDOS. COM OR MSDOS. SYS FILE)

0

DISK DEVICE DRIVERS

DISPLAY AND

KEYBOARD

DRIVERS

COMMUNICATIONS, PRINTER. AND CLOCK DRIVERS

DOS DEVICES (IBMBIO. COM OR 10. SYS FILE)

FDC

CONTROLLER, FIXED-DISK CONTROLLER

VIDEp MEMORY, VIDEO CONTROLLER, KEYBOARD PORT

TIMER, SERIAL, PARALLEL PORTS

HARDWARE SUBSYSTEMS

Figure I: Am architectural model of the IBM PC and XT.

256

BYTE Guide to the IBM PC • Fall 1984

SINCE 1981, OUR CLIENTS HAVE GOTTEN EXACTLY WHAT THEY DESERVE.

COMPETITIVE PRICES, PROFESSIONAL SUPPORT AND EXPERT SERVICE.

When it comes to giving you exactly what you deserve, no one comes through like Oryx Systems. That's because since we opened for business in 1981, we've been totally committed to making a difference in the way you purchase computers, software, and accessories.

We are pleased to report that our staff has grown ten-fold since 1981, And last year we found it necessary to move to a larger store in order to serve your needs more efficiently. We continue to be encouraged by our steadily increasing client list, which now numbers over 15,000 in 50 states and 35 countries. All because we've been able to give you exactly what you deserve.

You deserve competitive prices. Not only this month on a few obscure items, but every month, on the most popular, most requested products available. In fact, our product list of over 6,000 items is one of the largest in the computer mail order business. Which means that you can get the jump on new products as soon as the manufacturer introduces them.

You deserve professional support. Sure, we're in the business of selling computers. But we're also in the business of supporting those orders with knowledgeable people. People that possess an unfailing attention to detail and customer satisfaction.

Our first store, 1981.

Quadrant

Quadcolor 1 monitor

S199

Key Tronic

5151 Keyboard

$219

PGS Monitors

HX12 RGB Color

5499

Central Point

Copy II PC

S 34

Hayes

Smartmodem 1200

.... 1499

Ashton Tote

d-Base II

. S319

Tecmar

Graphics Master

S499

Cdex

All Training Prog's, ea

S 52

Hercules

Graphics Board ....

S359

CompuView

Vedit

S130

Tandon

TM 100-2 Disk Drive

.... S209

Enertronics

Energraphics

.. $265

Software Publishing Corp.

PFS: Report, Access, ea S 79 PFS: File, Graph, Write/ea $ 89

Living Videotext

S139

. $269 269

AST Research

Six Pak Plus 64K (S/P, Clk, exp to 384K) Megapok 256K Exp. .

©1984 ORYX SYSTEMS,

INC.

You deserve expert service. Getting what you deserve means working with professionals. It means trusting your order to a company that's reliable ... with routine orders as well as with the tough ones. And the confidence that comes with knowing that what we promise, we will deliver.

A number of companies have already found that they can get what they want and what they deserve from Oryx Systems. And that they can rely on us for providing competitive prices, professional support and expert service. From a simple box of diskettes, to a complete multi-user system, the following companies have found that they get what they deserve from Oryx Systems.

JOHN DEERE

£

AT&T

1-800-826-1589

ORYX SYSTEMS, INC.

CRAFTSMEN OF THE NEW TECHNOLOGY

101 First Street

Wausau, Wisconsin 54401

Technical Support 715-848-1374

Circle 131 on inquiry card.

Our new store, 1984.

\v

: ■ ■ ■ ■

TESTING COMPATIBILITY

connected. The internal bus structure and timings are not addressed. The ROM BIOS is the set of primitive I/O software routines used to organize the hardware into a somewhat manageable form. The IBM PC and IBM XT ROM BIOS is a single-task/single-user I/O scheme. Even though interrupts are used, only one process is running at a time. (One exception does occur with the timer interrupt.) The PC-DOS is an IBM version of Microsoft's MS-DOS. This is the major operating system used on the IBM PC and XT.

Microcomputers found to have an exceptional degree of hardware and software compatibility with the IBM PC are Columbia, Compaq, Corona, Eagle, Mitsubishi, Stearns, and Seequa.

General Test Aspects

PC-TEST includes 50 programs written in C to investigate the hardware and ROM BIOS interfaces. Each individual test is designed to look at a particular software interface and/or hardware subsystem. Listing 1 is an example listing, which checks the BIOS.

DOS-TEST has 40 C programs used to verify the PC-DOS implementation. It exercises all MS-DOS user-documented Interrupts and Function calls. It verifies IBM PC keyboard and video interfaces. It also verifies that all the IBM PC supported disk organizations are correct.

The motivation for developing PCTEST and DOS-TEST was to validate implementations of IBM PC ROM BIOS and DOS BIOS developed by Award Software for IBM PC clones. Also one of our utilities, Crossdata, which transfers CP/M-80, CP/M-86, and Concurrent CP/M-86 files to PC-DOS files and back again, makes extensive use of the ROM BIOS interfaces. So to aid our porting of Crossdata and validating of IBM PC compatibility. PC-TEST and DOS-TEST were written. PC-TEST and DOS-TEST are currently available to interested OEMs (original equipment manufacturers).

PC-TEST and DOS-TEST were written to be run against an IBM PC or IBM XT. Some tests check whether the system conforms or not and draw a conclusion. Some tests require visual confirmation by the tester. All tests identify themselves and explain what the test is about and areas of testing. All tests report register clobbering when detected and

Listing 1: Example test case for IBM PC compatibility included in PC-TEST.

-TEST ID- BI0S.DISPLAYI0.16 - Bl 10 16

-PURPOSE- Test characters and attributes for black/white display

-VERSION- A

-TEST PROCEDURE- Program writes attributes for all characters. Tester verifies visually for

each character. Shown is each character for all b/w attributes and modes and the ordinal value

of the character for cross reference. Set 40 or 80 columns via mode command for test of 25

by 40 and 25 by 80 screen sizes.

^include "srvrrv.c"

unsigned char curpage = 0: int poscurslyxl unsigned char x.y; I srv.ah = 2: srv.dh = y; srv.dl = x: stv.bh = curpage; sint(0x!0,0x7ff);

int clrexitll

curpage = 0; srv.ah = 6; srv.al = srv.dh = 24; srv.dl poseurs! 2 4,0|;

main (I

I; srv.bh = 7; srv.ch = 0; srv.cl = 79: sysint(0x lO.Ssrv.&rrv);

unsigned char cont.c: unsigned int i.j.k;

printfl TEST BIOSLOW.INT10.16 - Test of char/attribute video i/o interrupt n"); timestampO;

printfl "\nHit key to continue "I; if I(bdos(0x8| & Oxff) = = c') cont = 1: else cont = 0: getkeyl);

srv.ah = 6; srv.al = 0; srv.bh = 7: srv.ch = 0; srv.cl = 0; srv.dh = 24; srv.dl = 79; sysint(0x lO.&srv.&rrv); poscurs(0,0):

printfl "Hit key to continue "I;

poscurs(2.0l:

printfl The character is shown with \n"|;

prlntfC'Intensity off/ blink off, then \n");

printfl "Intensity on/ blink off, then \n");

printf("Intensity off/ blink on, then\n"l;

printfl"Intensity on/ blink on. "):

poscurs(9.01:

printfC'BLACK CHAR ON BLACK \n"|;

printfl'UNDERLINE \n"|:

printfl "WHITE CHAR ON BLACK \n"|;

printfl'BLACK CHAR ON WHITE \n"|:

PrintfC'WHITE CHAR ON WHITE \n"l:

for (i = 0;i<256

i++

[

for (i=0; j

<

5

I++I [

switch (|)

I

case 0:

c

=

0;

break;

case 1:

c

=

1;

break;

case 2;

c

=

7

break;

case 3:

c

=

0

x70; break

case 4.

c

=

0

x77; break

258

BYTE Guide to the IBM PC • Fall 1984

TESTING COMPATIBILITY

for (k = 0: k<4; k+ + ) | switch (k) ( case 0: srv.bl = c; break; case I: srv.bl = c | 8; break; case 2: srv.bl = c | 0x80; break; case 3: srv.bl = c | 0x88; break:

poscurs(9 + [, 20

+ k

• 2);

srv.bh = 0: srv.cx

= 1

srval

=

i: srv.ah =

9:

sint(0xl0,0x7rf);

I:

):

srv.ah = 11; srv.bh =

0; srv.bl >

0;

sysintlOx

10,&srv,&rrv

poseurs! 15,0); printfC

VAL

%xH

','!)

poseurs! 16,0); printfC

VAL

%d ",i

if Icont) j

if Ibdos(Oxb) 6 Ox

ffl break;

else if Ilbdosl0x8) & Ox ffl != ' '1 break: I:

clrexitll;

report error values when results differ from those generated by an IBM PC. These tests are designed to be run by a systems programmer or technician who understands the internal structure of the IBM PC. The goal of the tests was to aid in determining where any incompatibility existed, not just that an incompatibility existed.

Hardware Compatibility Testing

IBM PC and IBM XT hardware compatibility testing consists of verifying that the LSI chips and I/O addresses given in table 1 are the same. Also hardware compatibility requires that the monochrome and graphics memories exist at the proper addresses and that

the character and attribute (or pixel) memories have identical organization. PC-TEST checks hardware compatibility by looking for correct operations from the integrated chips that identify that the right chip is present at the proper I/O address. Display memory use is tested by putting patterns directly into the video memory and having the tester verify the pattern.

To run all IBM PC versions of interruptdriven operating systems, such as QNX, Concurrent CP/M-86, etc., the above tests must pass. Otherwise you must obtain special versions of those operating systems. (Many times they do not exist.)

You can check I/O bus and timing compatibility by plugging in commercially available boards and verifying

their operation. Another method would be to take timing pictures using logic analyzers and verify them against an IBM PC or IBM XT.

ROM BIOS Compatibility Testing

The ROM BIOS has two types of interface. The most commonly used and recommended one is via software interrupts. The other type is direct addressing of RAM (random-access read/write memory) used by the ROM BIOS (not recommended).

Using just software interrupts permits a wider range of computers upon which a particular software package will run. More computers are compatible in this area than the hardware area. Also, a number of computers use a different I/O and chip set to implement the system.

Table 2 lists the software interrupts provided by the IBM PC ROM BIOS, These software interrupts are passed parameters in registers. Some of the software interrupts use other interrupt vectors to obtain other parameters.

The major ROM BIOS functions used by software packages are the Video, Disk, Printer, Communications, Keyboard, Timer, and Equipment interrupts. These interfaces are described in the IBM Personal Computer and XT Technical Reference Manuals' ROM BIOS listings, Appendix A.

The Video interrupt (10 hexadecimal) provides 15 functions that allow for mode of screen display, cursor addressing, lightpen feedback, scrolling, teletype output, character and attribute read/write, graphics read/write, and

[continued)

GRAPHS WITHOUT GRAPHICS?

No need for color monitor or graphics board. Make graphs on dot matrix printers.

Computers 19. 37.

Modems 27.07.

BALES IN 19B3

Easy in Use on PC's and Compatibles.

Excellent Manual.

PC-DOS, MS-DOS, or CP/M.

Dataplotter

Line Graphs & Scatterplots. . . .$69

Bar Craphs & Pie Charts $69

Both for $99

(Prices include manual)

Add $3 shipping,

$6 outside US and Canada.

Lark*

Software '*

7 Cedars Road Caldwell. NJ 07006

Specify type ul Primer. (201)226-7552 Visa, M/C

I SECONDS

Circle 97 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

259

TESTING COMPATIBILITY

palette and color selection. PC-TEST verifies all these uses in a series of 17 tests. Attribute values have been a particular problem on some implementations. However, all of the manufacturers of microcomputers we have examined have cleared up these problems.

The Disk interrupt (13 hexadecimal) provides five functions for floppy disks and 14 functions for fixed disks. Fixeddisk functions 9 through 14 are used by IBM for manufacturing and diagnostic testing and are not generally incorporated in software packages. Both the floppy and fixed disks use parameter tables at interrupt vector IE hexadecimal and 41 hexadecimal, respectively. These are pointers to tables in ROM or RAM that describe motor timings, sectors per track, tracks per disk, and so on.

PC-TEST extensively tests these parameters because many software packages, like our Crossdata program, alter these parameters to read foreign disks. Also, these parameters are altered to implement many of the copy-protection schemes used to protect software from duplication on the IBM PC. This is the major area of incompatibility found on computers because a number of vendors have implemented higherstorage floppy-disk systems. These systems, in turn, exhibit internal timings and responses different from those of the IBM PC, and the copy-protection subsequently fails. Another major area of incompatibility is in error reporting. Some copy-protection schemes rely on certain error codes being reported by the IBM PC, and some systems do not

Table 1: Major hardware components of the IBM PC.

Identification

I/O addresses

Use

Intel 8088. 8086

_

Processor

NEC 765

3F4H. 3F5H

Floppy-disk controller

74LS Latch

3F2H

Floppy-disk secondary control

Intel 8255

60H. 6IH, 62H.

I/O ports for speaker, keyboard, equipment configura

63H

tion. RAM parity enable

Intel 8253

40H - 43H

Real-time clock, speaker timer, DMA Idirect memory access) refresh

Intel 8237

0 - OFH

DMA controller

74LS Latches

80H - 83H

DMA page registers

Intel 8259

20H, 2IH

Interrupt controller

74 LS Latch

0A0 - OAFH

NMI control

Fixed Disk

320H -32FH

Fixed disk controller

Intel 8255

378H - 37AH 3BCH - 3BEH 278H - 27AH

Printer controllers

National 8250

2F8H - 2FEH 3F8H - 3FEH

Serial communications chip

Motorola 684 5

3D0H - 3DFH

Color/ graphics controller

Latches

Motorola 6845

3B0H - 3BFH

Monochrome display controller

Latches

initially report the error codes the same way as the PC.

The Printer interrupt (17 hexadecimal) provides three functions for as many as three parallel ports. PC-TEST verifies these functions for the specified logical parallel port and checks for compatibility in error-code reporting.

The communications interrupt (14 hexadecimal) provides four functions for as many as two serial communications ports. PC-TEST verifies these functions for the specified logical serial ports and checks for compatibility in error code reporting.

The major area of divergence for

microcomputers is in the keyboardhandling interrupt (16 hexadecimal). PCTEST does an exhaustive keystroke test, with input from the tester, to ensure all shift states and keycode combinations occur. The test looks at the actual internal shift states as well as keycodes returned. Most of the computers listed earlier in the article as compatible pass these tests. Some initially failed to report proper internal shift states, but the failure has since been corrected. All reported the proper keycodes that are used by the vast majority of the software packages. The Equipment interrupts (11 hexa

THE

$2395 DEVELOPMENT SYSTEM

Turns any personal computer into a complete microcomputer DEVELOPMENT SYSTEM. Our Integrated control/display program runs under PC/MS-DOS, CP/M, or TRS-DOS. and controls the UDL via an RS-232 port.

Up to 128K bytes of ROM EMULATION (8K standard) allows you to make program patches instantly. Since the target ROM socket connects data and address lines to both the analyzer and the emulator, no expensive adaptors or personality modules are needed.

The powerful BUS STATE ANALYZER features four-step sequential triggering, selective trace, and pass and delay counters. $99 symbolic trace disassemblers are available for Z-80,8048,6500, 6800, 8031, 8085, 3870, Z-8, 1802, 8088, & 8086.

The PROM PROGRAMMER also doubles as a STIMULUS GENERATOR.

For a brochure and list of cross assemblers call or write:

172 Otis Ave., Woodslde.CA 94062 S#ffi=^K (415)851-1172 Instruments

260

BYTE Guide to the IBM PC • Fall 1984

Circle 130 on inquiry card.

Circle 163 on inquiry card.

TESTING COMPATIBILITY

Table 2:

ROM BIOS interrupt use in the IBM PC.

Interrupt

Use

0

Divide by zero from 8088/8086

1

Single step (used by DEBUG)

2

Nonmaskable (parity error)

3

Breakpoint lused by debugger)

4

Overflow

5

Print screen

6-7

Reserved

8-OFH

Hardware interrupts from 82 59

I0H

Video interrupt—15 functions available

I1H

Equipment map

I2H

Memory size

13H

Disk interrupt—6 floppy- and 14 fixed-disk functions

I4H

Communications interrupt—4 functions

15H

Cassette

I6H

Keyboard interrupt—3 functions

I7H

Printer interrupt—3 functions

I8H

ROM basic entry

I9H

Bootstrap loader

IAH

Time-of-day interrupt—2 functions

IBH

Keyboard break interrupt

ICH

Timer tick interrupt

IDH

Video initialization parameter list pointer

IEH

Disk parameter list pointer

IFH

Graphics character pattern pointer

20H-3FH

DOS interrupts

40H

Disk interrupt reroute for fixed-disk systems

4IH

Fixed-disk parameter list pointer

42H-FFH

Reserved or used by DOS. BASIC or user-supplied interrupts

decimal and 12 hexadecimal) tell the type of equipment and amount of memory available. PC-TEST reports the equipment list and the memory used. No problems were seen on the computers listed earlier.

The Timer interrupts (1A hexadecimal and 1C hexadecimal) yield a free running clock and a timer tick. PC-TEST programs verify the accuracy of the clock and the implementation of the timer.

Other interrupt vectors used are the 8259 interrupt chip vectors, trap and single-step interrupts, divide-by-zero interrupts, and print-screen interrupts. PCTEST checks all of the above except the trap and single-step interrupts. They are most easily verified by using DEBUG. Again the microcomputers listed earlier provided no problems. However, the print-screen interrupt interferes with the Intel 188 processor chips, and systems that use the more advanced Intel processors may be incompatible.

PC-DOS Compatibility Testing

Most software packages that do not

directly address the screen or use the ANSI (American National Standards Institute) escape sequences to address the screen do use the standard MS-DOS function calls. If the package does not use function keys, then it probably runs on any MS-DOS machine. However, most packages for the PC require screen addressing and function key codes. They use the Video software interrupt as the only lower-level machine interface (with perhaps an Equipment check) and use only standard MS-DOS calls. If the computer supports the Video interface, the screen character set, and the function key codes, then a large set of software packages will run on the machine.

One potential area of incompatibility is the inability to read and write all supported IBM PC floppy-disk layouts. These layouts are 48-tpi (tracks per inch), single- and double-sided, eightand nine-sectored disks. This inability may be caused by having a 96-tpi drive and not being able to write on a 48-tpi disk or by not reading eight-sectored

[continued]

Personal Computer SMARTWARE™

SpreadlinkT

IBM PC/XT, PCjr

$195

Mainframe Data to Your PC. . .

Instead of entering data by hand from external sources into your spreadsheets or databases, Spreadlink reformats your data and allows you to load your information directly into 1-2-3, VisiCalc, MultiPlan, dBase II, and many other packages for direct use. Your files can be from mainframes, commercial databases, minicomputers, other personal computer, or any application packages that create ASCII standard text files (such as word processors).

You get to preview your data, edit rows and columns with Spreadlink, and then Spreadlink automatically converts it into the right format for your application. Since Spreadlink lets you save your edit format as a command file, you can automate your reports for the next time. Spreadlink allows any mix of labels and values without any special formatting or separators... it also adjusts to column variations caused by stacking several dissimilar reports in one file. We use Spreadlink to move data from our Mini to our controller's PC for monthly reports. . .andit only took our controller 15 minutes to learn and start using.

FEATURES

• Converts standard ASCII text files to native file for Lotus 1-2-3, VisiCalc, Multiplan, dBase II, and DIF.

• Screen preview of your data allows you to edit out unwanted rows or columns or data. Convert only the data you need, or just take all of it automatically.

• File size is only limited by the disk space available.

• No pre-editing or programming required. Reports do not need to be in columns and rows.

• Requires no installation or adapation on the host computer.

• Requires 64K. memory, one disk drive, any version of MS or PC DOS.

APPLICATIONS

Download the last year's financials from your IBM 3033- Using Spreadlink, load the data to your 1-2-3 model for analysis to determine next year's plan. Take expense figures our of a memo in a word processor text file and use it as input to your VisiCalc expense tracking model. All completely automated, no technical knowledge required. @ m, Smarlmrc

SMARTWARE, INC.

557 Howard Street San Francisco, California 94105

DIAL: 800-SMARTWARE

Visa and MC accepted (In California: 974-1500)

Send me a catalog!

NAME

BY1

COMPANY. ADDRESS _ CITY

STATE.

ZIP

Fall 1984 • BYTE Guide to the IBM PC

261

Circle 56 on inquiry card.

SAVE BIG ON COMPUTER PRODUCTS

MODEMS

HAVES

Smartmodem 300 ZOO

Bmartmodem 1200 4BS

Bmortmodam 12008 425

Micromodam HE.. 240

Smartcom II Software [for IBM PC]. . . .90

Cables to Hayes Modems CALL

NOVATION

Smartest Plus [NEW] CALL

J. Cat 300B direct 99

103 SmartCat 300B Smart 159

103/212 Smart 300/1200 B 37S

AppleCat II 300 baud for Apple .... 200 212 AppleCst 300/1200B tor Apple . , . 390

Access 1-2-3 1200B for IBM 379

MONITORS

SUPER SPECIAL!! COMREX n HI. Res.

AMDEK

U300G 12" grim 122

V300A 12" smbar 145

V310A 12" ambar (for IBM] 160

Color 1+ 13" composite 280

Color lit 13" ROB 425

Color IV 13" RGB analog 740

Monitor Cobles.

pole II to Monitor 7

CB 5691 IBM to RGB 13

CB 5692 for TI-99/4A or Commodore ... 15

QUADRAM

MICROFAZER

QRMP-8 Par/Par 135

□ RMSP-9 Ser/Par 145

QRMMSS 8 Ser/Sar 145

GRMPB-8 Par/Ser 145

QUAOBOARO (for IBM PC]

OR 5310 [no mem. installed] 210

OR 5364 64K (mem. installed] . . .270 QR 4064 64K [mem. installed] . .270

OR 8201 Quedcolor-1 200

QR 8202 Quadcolor-2 (upgrede kit]. . . 200

OUADlINK QR 3000 for IBM 475

SAVE 31%-43% HEWLETT-PACKARD

OFF MFR. SUGG. RETAIL PRICES ON

PRINTERS

EPSON • OKIDATA • DIABLO

SCM • DELTA* GEMINI •TTX

RADIX • COMPUTE-MATE

MANNESMANN TALLY

CALCULATORS

HP-11C 56 HP-15C ....

90

HP-12C 90 HP-16C .

9(1

HP-41C 145 HP-41CX

245

HP-41CV .168 HP-97

RBO

ell software & accessories too

li/lllillilllllliillliliiiiililililiilliu

PORTABLE COMPUTERS

HP-71B 399 IIP 75D 799

series 70 software £ peripherals

discountsd too

HP-2225B ThinkJot Printer (HPIL). 375

#

(VI

ht.t:

CALL FOR PRICES

-St

/

QR 3010 for Compaq 475

QR 3020 for Columbia 475

AST

Six Pak Plus 270

Mega Plue II 270

1/0 Plus II 112

DISKETTES

10 — 5%" Floppy Diskettes

ss ;sd ss; DO ds ; dd

Wabash S13.00 816.00 817.50 Mason IMA 20.00 26.00

Dyson NA 23.00 30.00

10 — B" floppy diskettes

Dysan NA 32.00 37.00

CALL FOR QUANTITY PRICING ON

10 OR MORE BOXES OF DISKETTES

HUGE DISCOUNTS all RIBBONS•DUST COVERS PAPER • POST CARDS • LABELS for almost every make and model

CALCULATORS

EL 5100 43

EL 5500 T 70

EL 512 T 2B

SHARP

•TaTsTsTsTsTsTa HAND HELD COMPUTERS

pc 1250A 80

pc 1260 CALL

pc 1261 CALL

pc 1500A 160

PRINTERS DISCOUNTED TOO

CABLES — INTERFACES

accessories for Computer Printers

GRAPPLER PLUB 105

16K BUFFERED GRAPPLER 165

Apple Dumpling GX 85

Cardco G 65

CB5608 10 ft. Par. Cable for IBM. .25

CB5622 10 ft. 36*36 Parallel 32

CB5629 10 ft. 25x25 RB 232 25

CB5618 6 ft. TI-99/4A parallel cable25 CB5620 8 ft. par. TR860 mod. I-III-IVZZ ALL OTHER CABLES CALL

CALL TOLL FREE 800-621-1269 EXCEPT Illinois, Alaska, Hawaii

Corp. Accts. Invited. Min. Ord. S 15.00. Mastercard or Visa by mail or phone Mail Cashier's Check, Mon Ord.. Pers Check [2 wks to clr] Add $4 00 1st item [AK, HI, P.R., Canada add S10.00 first itam] £1 00 ea add'i shpg & handl Shipments to IL address add 7% tax Prices sub) to cnange WRITE for free catalog. RETURN POLICY: Defactives Only: Most products replaced within 30 days of purchase with identical merchandise only. Computer and large peripherals replaced only when defective on Brrival [within 3 work days of delivery]. Other problems covered by mfr. warranty. ALL ELEK-TEK MERCHANDISE IB BRAND NEW, FIRST QUALITY AND COMPLETE.

I

BASIC Discovers Shorthand.

Programming in BASIC just got smarter, easier, faster . . . and five great reviews. Before you write another program in BASIC, you might be wise to start with a little reading.

Five major computer publications have something good to tell you. About the BASIC Development System (BDS). And about making your programming in BASIC more efficient than you ever dreamed.

BDS is a powerful, integrated set of software tools that quickly gets you beyond the BASIC basics. It gives you everything from Cross-Referencing to Scrolling Keys that let you scroll by page or line. It gives you Compress and Uncompress commands, Variable Dump, Single Step Trace and more.

BDS also gives you something else. A 30-day money back guarantee.

Finally, BDS gives you great references. From reviewers who've lived with it and loved it. For example: "/ wonder how I ever got along without it." John M. Woram, PC Magazine, September 1983.

Well send you the reviews just for writing BETATOOL SYSTEMS

us. Or, for only $79, we II send you BDS itself. And a 30-day money back guarantee.

07S

BDS is available lot I ISM PC and COMPAQ computers. VISA/MC accepted. Please add $3 for shipping.

X972 E Hampden Ave • Suite 179 Denver, Colorado 80231 ■ 1303)793-0145

TESTING COMPATIBILITY

formats at all.

Another area of incompatibility arises from the manufacturer not partitioning the fixed disk in the same manner as the IBM XT does. The IBM XT allows as many as four different bootable disk partitions. Each operating system may use one partition only. Thus a fixed disk may contain a DOS, CP/M-86, and/or Concurrent CP/M-86 partition.

The DOS-TEST programs check four areas of MS-DOS: the display, communications, printer, and keyboard characteristics; the disk organization; DOS interrupts; and the remainder of DOS functions that are invariant Microsoft functions.

The display testing consists of displaying the characters as shown in the IBM Technical Reference Manual. Appendix C. These tests use DOS interrupt 21 hexadecimal functions 2 and 6. The keyboard tests in DOS-TEST verify that the extended keycodes are identical. The physical keyboard layout may be different, but the ASCII (American National Standard Code for Information Interchange) and extended codes must be identical to pass the tests. The keyboard tests use DOS interrupt 21 hexadecimal functions 1, 6. 7, 8, A. B. and C The other character device operations are tested via DOS interrupt 21 hexadecimal functions 3, 4, 5, and 9.

DOS-TEST includes programs for the testing of disk organization as noted above. Also, one program checks the fixed-disk partitioning. This test uses Disk ROM BIOS interrupts because the partition table exists outside of the system.

The remainder of the DOS-TEST programs exercise DOS interrupts 20 hexadecimal (program terminate). 22 hexadecimal (terminate address), 23 hexadecimal (control break exit address), 24 hexadecimal (critical error handling vector), 2 5 hexadecimal (absolute disk read), 26 hexadecimal (absolute disk write), 27 hexadecimal (terminate process and remain resident), and 21 hexadecimal (DOS function calls not included above).

Checking for IBM PC and IBM XT compatibility is tedious at best. PC-TEST and DOS-TEST were designed to be specific engineering test tools to pinpoint areas of compatibility and incompatibility. ■

262

BYTE Guide to the IBM PC • Fall 1984

Circle 19 on inquiry card.

Announcing 4 New Collector Edition

BYTE COVERS

The 4 Byte covers shown below are the newest additions to the Collector Edition Byte Cover series. Each full color print is 11" x 14", including a 1 1/2" border, and is part of an edition strictly limited to 500 prints. Each print is a faithful reproduction of the original Byte painting, printed on museum quality acid free paper, and Is personally inspected, signed and numbered by the artist, Robert Tinney. A Certificate of Authenticity accompanies each print.

Collector Edition Prints are carefully packaged flat to avoid bending, and are shipped first class within one week of receipt of order. The price of each print is $25. All 4 prints are available as a set (Set 21-24) for only $80.

Other Collector Edition Byte Covers are also available from Robert Tinney Graphics. For a color brochure, or to order one or more of the prints shown, please check the appropriate box in the coupon below.

Please send me the following Prints ($25), or Sets ($80). □ I have enclosed check or money order.

QTY. TITLE* PRINT NO. AMOUNT □ visa □ MasterCard

$ Card No.

. $ Exp. Date:

t SHIP MY PRINTS (OR BROCHURE) TO:

postage & handling $3.00 (Overseas $8.00) $ Name:

TOTAL $ Address:

City:

[3 Please send me your color brochure. State:

Mail this coupon to:

robert tinney graphics

1864 N. Pamela Drive Baton Rouge, LA 70815

Z i p: _

plerfect C ompatibility

IBM & ACP

When you need competitive prices, prompt service and complete support, call us.

HARDWARE SPECIALS

CONTROL DATA

Full Size 320K DS/DD

$ 209*

*"The drive IBM trusted with its logo"

TEAC

Half-Height 320K DS/DD

.$ 179

"The #1 Rated Half-Height Drive"

AST MEAGAPLUS II W/256K . . .

.$ 434

64K RAM Chips 200ns Pre-Tested

$ 55

AST SIXPACK W/384K

.$ 569

MAYNARD ELECTRONICS

10MB HARD DISK

(XT Lookalike)

$ 995

SOFTWARE SPECIALS

LOTUS 1-2-3/WORDSTAR PROPACK $ 679

LOTUS 1-2-3/HERCULES GRAPHICS CARD $ 679

MULTIMATE w/80K Word Speller. $ 295

An advanced word processor with all the features of a dedicated stand alone system.

dBASE II/QUICKCODE/dUTIL $ 450

dB/COMPILER $ 450

Neither dBase II nor Run-Time required.

30% less storage, faster execution

assembly language interface

EASYWRITER ll/SPELLER/MAILER ... $ 195

HARDWARE

We carry a wide variety of Mainframe Com

MAYNARD ELECTRONICS

munication and Local Area Networks. For

10MB Hard Disk WS-1 (XT Lookalike).

.$ 995

COMPUTER SYSTEMS

advice about which will suit your needs

10MB Hard Disk WS-2 (XT Lookalike).

.$1195

IBM

best give us a call and let us review them

DISKETTES

PC W/256K 2 DS/DD Disk Drives ...

$ Call

with you.

SCOTCH 3M

COMPAQ 1 W/256K 2 DS/DD Disk Drives

DS/DD Box of 10

.$ 35

$ Call

FLOPPY & HARD DISK DRIVES

CONTROL DATA

VERBATIM

DS/DD Box of 10

$ 35

COMMUNICATION PRODUCTS

HAYES

Full Size 320K DS/DD $209

DISK CONTROLLERS

Smartmodem 300

.$ 209

Half-Height 320K DS/DD w/Bracket.. $ 189

MAYNARD ELECTRONICS

Smartmnripm 1?00

$ 489 .$ 419 .$ 25

DAVONG

Standard Disk Controller

.$ 115

5 MB to 32 MB Hard Disk Int./Ext. .. .$ Call (Includes power supply, controller &

with Parallel Port

.$ 135

Smartmodem-to-IBM 6 ft. Cable ...

with Serial Port

.$ 145

Smartcom II

.$ 109

software)

Sandstar Modular Disk Controller ...

.$ 209

NOVATION

TALLGRASS

All Sandstar Modular Options Avail. .

.$ Call

Access 1-2-3 (w/Crosstalk XVI) ....

.$ 379

12-70 MB Hard Disk w/Tape Backup.. $ Call

EXPANSION BOARDS

TAC

TEAC

MAYNARD ELECTRONICS

Irma (Emulates 3278 Terminal) ....

.$ Call

Half-Height 320K DS/DD w/Bracket.. .$ 179

Modular Memory Brd. W/64K to 576K

.$ 219

Irma Line (For Remote Emulation) .

.$ Call

Half-Height 640K DS/DD w/Bracket.. .$ 265

Modular Multifunction Board

$ 95

• Next Day Shipping

• No Credit Card Surcharge •Company P.O. Accepted

We have built our reputation on offering quality products, prompt service and effective solutions. We understand your need for wellinformed people who will work with you to meet your goals. Therefore we have developed a unique approach to sales. Our salespeople are well educated in the computer field and will speak with you not as salespeople, but rather as consultants. They will review your options and suggest alternatives to help you construct a system to best suit both your immediate and future needs. We also have a skilled technical staff that will guide you through any problems you may encounter after receiving your equipment.

HARDWARE CONT.

AST RESEARCH

(All AST boards include SuperDrive, SuperSpool and 1 year warranty)

SixPack Plus W/64K to 384K $269

MegaPlus II w/64K to 512K $269

Memory Board II w/64K to 384K $ 239

I/O Plus II $ 139

MegaPack w/128K or w/256K $ Call

Parallel, Serial, Game Options $ 35

ORCHID TECHNOLOGY

Blossom W/64K to 384K $ 269

TECMAR

Captain W/64K to 384K w/Software .. .$ 269

QUADRAM

Quadboard w/64K to 384K $279

PRINTERS & PLOTTERS

C. ITOH

Starwriter Letter Quality 40 cps $1195

Printmaster Letter Quality 55 cps ... .$ Call

Cut Sheet Feeder (Feeds 200 sheets). .$ 445

EPSON

(All Printers include GRAPHTRAX-Plus)

RX-80 (120 cps, 80 cols) $ Call

RX-80 F/T (120 cps, 80 cols) $ Call

RX-100 F/T (100 cps, 132 cols) $ Call

SOFTWARE

ALPHA

Database Manager II $ 199

Apple-IBM Connection $ Call

ASHTON TATE

dBase II $285

dBase III $ Call

Friday $ 179

Framework $ Call

ATI

All Software Training Pkgs $ 55

CENTRAL POINT SOFTWARE

Copy II PC $ 35

FOX & GELLER

Quickcode $ 169

dGraph (Requires Graphics Card) ... $ Call

dUtil (Utilities For dBase II) $ 25

OZ (Management Control) $ Call

FINANCIER—Financier II $ 119

FUNK-Sideways $ 49

HAYES-Smartcom II $ 109

IMSI-4 Point Graphics (Rated #1) .. .$ 119

INDIVIDUAL SOFTWARE

Tutorial Set (IBM PC/XT and DOS).... $ 79 Typing Instructor $ 49

INFORMATION UNLIMITED SOFTWARE

EasyWriter II System (See Specials) . .$ 195

Accounts Receivable $ 299

Accounts Payable $ 299

General Ledger $ 299

Payroll $ 369

FX-80 F/T (160 cps, 80 cols) $ Call

FX-100 F/T (160 cps, 132 cols) $ Call

Epson-IBM Cable $ 30

HEWLETT PACKARD

HP-7470A Two Pen Plotter $ Call

HP-7475 Six Pen Plotter $ Call

HP-IBM Cable (works w/Lotus 1-2-3).. $ 50 NEC

NEC 3550 Letter Quality 35 cps $1699

NEC 2050 Letter Quality 18 cps $ 895

Bi-Directional Tractor $ 235

Cut Sheet Feeder (Feeds 200 Sheets).. $ 445

NEC-IBM Cable $ 30

OKI DATA

Microline 83A (120 cps, 132 cols)... .$ 575

Microline 92 (160 cps, 80 cols) $ 445

Microline 93 (160 cps, 132 cols) $ 699

Microline 84 (200 cps, 132 cols) $ 879

Plug n' Play $ Call

Okidata-IBM Cable $ 30

SILVER-REED

EXP 550 (20 cps, 132 cols) $ 595

MONITORS

AMDEK

Video 300 Green Screen $ 140

Video 300A Amber Screen $ Call

INFOCOM-Zork I, II, III $ 29

LATTICE

C-Compiler $ 299

C-Food Smorgasboard $ 110

LIFETREE

Volkswriter $ 115

Volkswriter Deluxe w/TextMerge $ 179

LIGHTNING SOFTWARE

Master Type (Best Typing Tutor) $ 39

LOTUS DEVELOPMENT

Lotus 1-2-3 (Version 1A) $ Call

Symphony $ Call

Symphony Upgrade $ Call

MICRO DATA BASE SYSTEMS

Knowledgeman $ 299

MICROSOFT

C-Compiler $ 349

Flight Simulator $ 35

Multiplan (New Version) $ 149

Multi-Tool Word $ 249

Multi-Tool Word w/Mouse $299

Pascal Compiler $ 250

MICROPRO

Wordstar w/Tutorial on Disk $ 259

Wordstar/MailMerge/CorrectStar/ Starlndex (ProPack) $ 369

MICRORIM

R.base4000 $ 299

Clout $ 139

MICROSTUF

Crosstalk XVI (for Hayes Smartmodem) $ 109

Video 310A IBM Monochrome in Amber

PRINCETON GRAPHICS

HX-12 RGB Hi Resolution Color.... Max-12 IBM Monochrome in Amber SR-12 Hi Resolution Color

.$ 170

.$ 499

.$ Call

.$ Call

VIDEO-MONITOR BOARDS

HERCULES Graphics Card .

PC COMPONENTS Bi-Graphix I... PARADISE SYSTEMS Multidisplay ...

PC+ PRODUCTS Colorplus

STB Graphix Plus ..

QUADRAM Quadcolor I ...

TECMAR Graphics Master

MISCELLANEOUS

Cables (all extension cables)

8087 Co-processor

KEY TRONIC

Deluxe Keyboard (KB 5151)

KOALA-Touch Tablet w/Software ...

KRAFT-Joystick

T.G.—Joystick

MICROSOFT-Mouse w/Software ... MOUSE SYSTEMS-PC Mouse

359 Call 399 419 299 199 499

Call 199

Call Call 49 49 159 Call

MORGAN COMPUTING

Trace 86 (Assembly Language Debug) $ 99

Ted (Program Editor) $ 79

Professional Basic (170K Work Space

w/8087 Support) $ 259

MULTIMATE INTERNATIONAL

Multimate (See Specials) $ 295

PETER NORTON

Norton Utilities $ 55

POWER BASE SYSTEMS

Power Base $ 269

ROSESOFT

Prokey (Newest Version) $ 95

SOFTWARE ARTS

TKISolver $ 299

SOFTWARE PRODUCTS

Open Access $ 399

SATELLITE SOFTWARE INTERNATIONAL

Word Perfect (includes Speller) $ 279

SORCIM

Supercalc 3 $ 219

SOFTWARE PUBLISHING

PFS/File $ 95

PFS/Graph $ 95

PFS/Write $ 95

PFS/Report $ 79

TALL TREE SYSTEMS

J-Format2.0 $ 40

WORDTECH SYSTEMS dB/Compiler (True dBase II

Compiler) $ 450

WANG PUBLICATION Random House Proof Reader

50K speller $ 45

APPLIED COMPUTER PRODUCTS INC.

1916 Welsh Road #6, Philadelphia, PA 19115 215-934-6990

800-223-3860

Our Policy

• We accept VISA, Mastercard, Money Orders, Certified Checks. Cashiers Checks, Personal Checks. Wired Funds. • We do noi charge your card until we ship. • No surcharge added on VISA and Mastercard • Allow one week for personal and company checks to clear. • COD maximum $500 Cash or Certified check on delivery. • Please use local phone number for order status inquiries. • Prices subject to change without notice. • Returns may be subject to restocking fee.

SHIPPING (U.S.). For monitors, printers, and hard disk drives add 2% to all orders. Blue label and Next Day Air available. For all other items add $4. Most orders shipped next day.

Circle 13 on inquiry card.

WHAT'S NEW

PERIPHERALS

CallText Permits Data Access Over Telephone

CallText 5000 is a text-to-speech converter and telephone interface that lets you access text data in voice by means of a Touch-Tone telephone. It provides voice output with unlimited vocabulary, and you can program it to answer the telephone, initiate calls, obtain text data from a host computer, and supply text in voice to a caller. CallText converts serial ASCII English text to speech in real time and automatically answer incoming calls. It has an on-board speaker and I/O drivers callable from BASIC, C, and assembly-language programs running under MS-DOS. Priced at $2700, it connects to the telephone network through a modular jack and to the computer through an RS-232C serial port. Contact Speech Plus Inc.. 461 North Bernardo Ave.. Mountain View. CA 94043. (415) 964-7023. Circle 252 on inquiry card.

Disk Subsystems Use Kodak Drives

Data Technology's TeamMate line of disk subsystems for the IBM PC are based are Eastman Kodak's 3.3-megabyte (unformatted) flexible disk technology. The TeamMate subsystems offer 2.78 megabytes of on-line formatted storage capacity, and they can serve as a Winchester backup. TeamMate configura

Hard-Disk Subsystems

tions include internal- or external-mount Kodak drives, two external drives, or a combined 10-megabyte Winchester drive with the Kodak drive for backup. The software controllers are transparent, providing easy installation without software drivers or formatted disks. For storage and retrieval, the drives

use a closed-loop servo tracking system, A user-initiated command will switch the motor speed for reading either 48- or 96-tpi media. Prices begin at $895. Contact Data Technology Corp.. 2775 Northwestern Parkway. Santa Clara, CA 95051, (408) 496-0434. Circle 253 on inquiry card.

Micro-Design markets a line of hard-disk subsystems for IBM PC, PC-compatibles, Apples, and Radio Shack computers. Its Data and SQ series incorporate removable 5-megabyte cartridges, on-line access and offline storage, and expandability. Microprocessors handle the interface to the computer and

embedded servo mechanisms ensure position accuracy when reading or writing data. The line includes units that mix removable and fixed storage media, with storage capacities ranging as high as 22 megabytes. Prices for the Data series begin at $2995: the SQ series starts at $1795, The Pro

Series of 10-, 20-, and 33-megabyte models are available for internal installation or in IBM-style cases. Prices start at $1299. Contact MicroDesign. 6301 Manchaca Rd., Austin, TX 78745, (800) 531-5002; in Texas, (512) 441-7890. Circle 255 on inquiry card.

Multifunction Card Has Real-Time Clock

Seattle Computer's RAM+ 6 multifunction card gives IBM PC users a time-of-day clock with battery backup, room for up to 348K bytes of RAM. and ports for a parallel printer, an RS-232C serial device, and game connection. Memory options for RAM + 6 include 64K, 128K, 192K, 256K, 320K. and 348K bytes. This board is provided with software that lets you designate a portion of memory to be used for disk emulation. Another software package lets you assign up to 64K bytes of memory, in IKbyte increments, as a printer buffer. RAM + 6 prices begin at $395 with 64K bytes of memory. Contact Seattle Computer, IBM PC Products. 1114 Industry Dr.. Seattle. WA 98188, (800) 426-8936; in Washington, (206) 575-1830. Circle 256 on inquiry card.

266

BYTE Guide to the IBM PC • Fall I?

WHAT'S NEW

Single-Board Modem Fits in PC

The single-board MultiModem PC fits inside the IBM PC and does not require a serial card. An auto-dial/auto-answer 300/1200-bps communications system. MultiModem has an internal speaker for call-progress monitoring. Its commands are Hayes Smartmodem I200/1200B compatible. It comes with communications software that provides automatic log-on, diagnostics, error-protecting filetransfer protocol, log-on macro

encryption for password security, and the ability to copy communications to the printer, disk, or both while on-line. MultiModem and its software can be configured as either COM1. COM2. COM3, or COM4. With documentation, it's $549. Contact Multi-Tech Systems Inc.. 82 Second Ave. SE. New Brighton. MN 55112. (612) 631-3550. Circle 251 on inquiry card.

PC-to-Mainframe Connection

The Quad3278 plugs into the IBM PC and creates an IBM PCto-mainframe connection. This hardware/software package will permit the PC. PC XT. and PCcompatibles to communicate with an IBM mainframe via a 3270 coaxial network. It provides 3278 Information Display emulation and a screen-capture ability that lets you retrieve, store, and print pages of infor

mation from the mainframe. You can toggle back and forth between PC stand-alone and mainframe modes. With documentation, it sells for SI 195. A starter kit. which includes 100 feet of coaxial cable, is $95. Contact Quadram Corp., 43 5 5 International Blvd.. Norcross, CA 30093. (4041 923-6666. Circle 254 on inquiry card.

Memory Board Has Clock/Calendar

AST Research calls its MPII a "no frills" expansion card for the IBM PC XT. The MPII comes with 64K bytes of dynamic RAM. utility software, and a clock/calendar. Its memory capacity is upgradable to 348K bytes in 64K-bvte increments. The price for the MPII ranges

from $345 to $845. depending on memory. The 64K-byte increments are $100. A version without the clock/calendar is available. Contact AST Research Inc., 2121 Alton Ave. Irvine. CA 92714. (714) 863-1333. Circle 257 on inquiry card.

SOFTWARE System Allows Sharing of Printers

Digital Laboratories is selling a family of printer-sharing systems for microcomputers, minicomputers, and mainframes. The MultiSpool Printer Sharing Systems can route the output from as many as 17 computers

to as many as 5 serial or parallel printers. Prices begin at $595. Information is available from Digital Laboratories Inc.. 600 Pleasant St.. Watertown. MA 02172. (617) 924-1680. Circle 269 on inquiry card.

APL Interpreter Written in C

Portable Software has announced the availability of PortaAPL, an APL interpreter written in C for easy portability between different computers. Currently, interpreters are available for the IBM PC. Sanyo PC. DEC VAX. and Motorola 68000. The implementation is identical on all machines, and a system command is available for porting workspaces to different types of computers. PortaAPL does not support shared

Spellbinder for PCjr, Compatible Machines

Lexisoft is offering version 5.3 of Spellbinder for the IBM PC. PCjr, and compatibles. This version includes a spelling and grammar checker, automatic hyphenation, footnoting, augmented forms-handling, and a revised manual. The program also interfaces with databasemanagement, spreadsheet, and accounting programs. The suggested retail price is $495. Information is available from Lexisoft Inc.. POB 1378, Davis, CA 95617. (916) 758-3630. Circle 264 on inquiry card.

variables, but it does include a full-screen editor. It has an ASCII character set option and a Host File System option. PortaAPL provides access to machine-language functions. The price for the IBM PC version of PortaAPL is $195. Source and OEM licenses are available. Contact Portable Software. 60 Aberdeen Ave., Cambridge, MA 02138. (617) 547-2918. Circle 280 on inquiry card.

Want to Program In Plain English?

Plain English is claimed to be the first programming language using simple English language commands such as "save by customer number in accounts receivable and repeat."' The language runs under all MSand PC-DOS systems and includes four accounting modules as example programs. List price is $595. Contact Common Language Systems Inc.. 100 East Sybelia Ave., Maitland. FL 32751. (305) 628-5973. Circle 262 on inquiry card.

[continued)

Fall 1984 • BYTE Guide to the IBM PC

267

WHAT'S NEW

SOFTWARE

Planner Software Fills Address Book

Mini-based Editor Ported to IBM PC

Personal Planner is a program for keeping name and telephone lists and printing them on Recordplate forms for use in an address book. The program also can produce form letters using the address list. It runs on all IBM PC models, in

cluding PCjr, and compatibles. List price is $99, including the address book and 100 Recordplate forms. Contact National Microware. 2102 Business Center Dr., Irvine. CA 92715. |714) 752-2344. Circle 263 on inquiry card.

UniPress Software has developed a Gosling EMACS screen editor for the IBM PC. The company says that the MSDOS version is a full-function Gosling EMACS, including fullscreen editing, multiple windows, full keybindings, automatic parentheses checking, extensibility through macros.

and a built-in compiled MLISP programming language. Cost is S375 for a binary version and $995 for source code. A minimum of 384K bytes of RAM is required. For information contact UniPress Software Inc., 1164 Raritan Ave., Highland Park, NJ 08904, (201) 985-8000. Circle 259 on inquiry card.

PC Article Database Free of Charge

LETUS A-B-C. a database containing abstracts of articles and letters from major IBM PC magazines, is available without charge under the usersupported software concept. The database covers all articles and letters from the 1982 and 1983 editions of Softtalk. PC PC Age. PC World, and PC Tech journal. It includes articles on the IBM Personal Computer that appeared in BYTE magazine. Designed to be used with PCFile, LETUS A-B-C lets you

search the database by any keyword, subject, title, or author. You can obtain LETUS A-B-C by sending three doublesided double-density floppy disks in a self-addressed, stamped mailer to LETUS A-B-C. 3790 El Camino Real, #2006, Palo Alto, CA 94306, (415) 493-4306. (A donation of $10 per disk is requested.| You can also remit $40 and the disks will be mailed to you.

Circle 279 on inquiry card.

Make Your IBM Into a DEC

Database Program Supports LANs

The EM100 is a software program for the IBM PC. PC XT, and Portable PC that allows those computers to communicate with DEC hosts as VT100 terminals. EM100 sells for $22 5. Information is available from Diversified Computer Systems, POB 7575, Boulder, CO 80306, (303) 443-6255. Circle 258 on inquiry card.

d Basel 1 Program Tracks Prospects

Prospects Unlimited keeps files of information on customers and prospects for salespeople. It also can be used as a tickler file, time manager, and label generator. It is written in dBasell and sells for $349. For information, make contact with ACS Consultants, Suite 207, 199 California Dr.. Millbrae, CA 94030, (415) 697-3861. Circle 271 on inquiry card.

Metafile version 8.0. a relational database system, claims compatibility with most PC localarea networks, including PCnet. Novell Sharenet, and 3COM. The program, which costs $99 5, allows users to share logical and physical devices such as hard-disk drives and letter

quality printers among several computers. Transaction-level locking is used for data integrity. For information, make contact with Sensor-based Systems, 1701 East Lake Ave., Glenview, IL 60025, (800)323-3731; in 1L (312) 724-0310. Circle 268 on inquiry card.

A Clean Slate for Commercials

Clean Slate is designed to estimate and control costs of film and video-tape commercials. It costs $795 and runs on any IBM PC or compatible computer and can be modified for special requirements. Information is available from Info.Cus Systems, POB 5 56, Middle Village, NY 11379, (212) 849-9672. Circle 273 on inquiry card.

Modular Software for Businesses

Interactive Business System is a set of interrelated modules that can handle accounts receivable, accounts payable, inventory control, payroll, fixed assets, and general ledger. The complete system retails for $795: demonstration disks and manual are available for $2 5 from Performance Engineered Programming, 3970 Syme Dr., Carlsbad, CA 92008, (619) 434-6023. Circle 267 on inquiry card.

268

BYTE Guide to the IBM PC • Fall

WHAT'S NEW

SOFTWARE

Calculator Program

Evergreen Software Products' PC-Calculator performs all the standard functions of a desktop calculator as well as solving trigonometric, statistical, and financial problems. The program can support a line printer. PCCalculator will run on any IBM PC or comDatible with at least 96K bytes of memory. It retails for S39.95. Contact Evergreen Software Products. POB 438. Lancaster, NY 14086, (716) 683-4603. Circle 277 on inquiry card.

Mapping Program Uses Standard Information

Atlas is an interactive, menudriven program from Strategic Location Planning for generating maps and data displays based on state, county, congressional district, advertising region, census tract, or custom data. It requires PC-DOS 2.0. 192K bytes of RAM. and an HP-7470A or HP-7475A plotter or a dotmatrix graphics printer. Price is S22 5. and information is available from Strategic Locations Planning, 2471 Golf Links Circle, Santa Clara. CA 95050, (408| 247-1956. Circle 270 on inquiry card.

Baby 34 Lets RP Gil Programs Run on PC

Baby 34 is a software system that allows programs in the RPG II language to run on the IBM PC and PC XT. Available for $2500 to S3000. depending on options, Baby 34 provides for program conversion between the PC and the IBM System 34 by use of the data exchange utility (DEU). Also included are an operations control language (OCL). an RPG II compiler. RPG II run-time support, a screenformat generator, source entry utility (SEU). and RPG II sort. A data file utility is optional. Contact May-Craft Information Systems Inc.. 4312 Beltwood Parkway South. Dallas. TX 75234. (800) 527-7456: in Texas. (214) 392-3766. Circle 276 on inquiry card.

Cope with Linear and Integer Programming

Management Analytic Support has announced the release of Cope, a software package for solving linear and integer programming problems on the IBM PC. Cope features conversational English interaction with the computer and menu-driven applications development. Variable names may be as long as 16 characters. Problems may be saved on disk, reloaded, and

modified from within Cope. Cope is available for three ranges of applications: 50 constraints by 100 variables. 100 by 200. and 150 by 300. The pricing is $285. $365. and $475, respectively. Contact Management Analytic Support Inc.. 6826 Dean Dr., McLean, VA 22101, (202) 293-1624. Circle 274 on inquiry card.

Integrated Systems Can Run on PCjr

IOAS-3 is an integrated software package for the IBM PC. PC XT, PCjr, and compatibles that sells for $199. It includes a database manager. IDM-X; a spreadsheet, SS-X: and a word processor, WORD-X. Minimum memory needed is 128K bytes, and any version of PC-DOS can be used. The system comes in three versions: IBM PC XT. PCjr with monitors, and PCjr with television display. It supports both monochrome display and color monitors. For information, contact Micro Architect Inc.. 6 Great Pine Ave. Burlington. MA 01803. (617) 273-5658. Circle 260 on inquiry card.

IDM

Prolesglonal sollwnre from

Video Makers Get Help with Budgeting

The DataMogul Budget program is designed to prepare, revise, and print budgets for film and videotape production. It runs on all versions of the IBM PC and compatibles. Special forms are available for specific budgeting. The basic program lists for $1100, and the forms range in prices from $100 to $500. Information is available from Quantum Films, Suite 24. 8344 Melrose Ave., Los Angeles, CA 90069, (213) 852-9661. Circle 272 on inquiry card.

New Program Can Aid Mail-Order Businesses

Data Consulting Group has introduced its PC Mail Order System for the IBM PC and compatibles. The program allows logging details of sales, printing sales reports, printing labels and lists, maintaining inventory controls, and creating invoices. It sells for $295. Information is available from Data Consulting Group. 12 Skylark Dr., #18. Larkspur. CA 94939. (415) 927-0990. Circle 261 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 269

The Nlicromint Collection

Micromint. Supporting the varied projects that appear in Steve Ciarcia s monthly article in BYTE Magazine, "Ciarcia's Circuit Cellar." Ottering a wide range of computers and peripherals designed to meet the exacting demands of the hobbyist as well as worldwide corporate clients.

TERM-MITE ST

SMART TERMINAL BOARD

As featured in Ciarcia's Circuit Cellar BYTE Magazine, January & February 1984

All you need to build a Smart Video Terminal equivalent to the types advertised for S1.000.00 or more is a Term-Mite ST circuit board, scanned or parallel keyboard, video monitor and power supply.

• Uses brand new Nat't Semi NS455A Terminal Processor.

• 24 lines by 80 characters, 25th reverse-video status.

• Upper & lowercase. Line (block) graphics.

• Selectable data rate, parity & display options.

• Reverse video, half intensity, double height & width, underlined, blinking and/or blank character.

• Separate sync or composite video output. Seif Test. Term-Mite ST Video Display Terminal Board

BCC22 Assembled & Tested S284.

BCC23 Complete Kit 244.

MPX-16 MICROCOMPUTER IBM PC COMPATIBLE

Z8 BASIC SYSTEM CONTROLLER NEW!!!

As featured on the cover olBYTE Magazine. Also featured in Ciarcia's Circuit Cellar November, December 1982 & January 1983 The Computer Willi A Split Personality. —Use it as an IBM PC look alike that directly boots PC DOS 1.1 and accepts all expansion boards designed lor the IBM PC. —Use it as a powerful 8088 single board computer lor all your OEM applications. Just add serial terminal, disk drive and power supply Directly boots CP/M-86. Buy (he MPX-16 in the form that best meets your needs or budget. As a bare board, as a wave soldered board that contains all components less ICs, as an assembled and tested circuit board or as a complete system.

• Directly boots PC DOS 1.1 and CP/M-86.

• Most IBM PC software executes with no modifications.

• IBM PC bus compatible i 9 expansion slots.

• Intel 808816-bit microprocessor

• Optional Intel 8087 math coprocessor.

• 256K bytes on board memory

• Up to one megabyte of syslem memory

• Up to 64K bytes of syslem ROM EPROM

• 2 RS-232C Serial 8, 3 Parallel I 0 ports.

• Disk controller for 5W" or 8" drives

• Sixteen levels of vectored interrupts. MPX-16 Circuit Board Assembled

W/64KRAM S1.20D.

OEM 100 quantity price 900.

MPX-16 Circuit Board Asembled

W/256KRAM 1.400.

MPX-16 Semi-Kit (wave soldered circuit

board wait components) Less ICs 595.

Complete Kit ol ICs w 256K RAM 595.

MPX-16 Unpopulated (bare) PC Board .... 300. CP/M-86 Operating System I Manuals... 80.

MPX-16 Switching Power Supply 300.

MPX-16 Technical Reference Manual 50.

MPX-16 Metal Enclosure with Fan 300.

Tandon TM100-2 Double Sided/Density

Drive 300.

IBM PC Keyboard Interlace Adapter 100.

Shipping & handling additional on all

MPX-W orders.

IBM PC is a trademark ol International Business Machines Inc. CP M-86 is a trademark ol Digital Research Inc. Z8 is a Irademark o/Zilog Inc

Circle II2 on inquiry card.

As featured in Ciarcia s Circuit Cellar. BYTE Magazine. July S August 1981

The Z8 Basic System Controller is an updated version ot our popular BCC01 The price has been reduced and features added The entire computer is 4" by 41?" and includes a tiny BASIC interpreter up to 6K bytes of RAM and EPROM. one RS-232C serial port with swilchable baud rates and two parallel ports. BASIC or machine language programming is accomplished simply by connecting a CRT terminal Programs can be transferred to 2732 EPROMs with an optional EPROM programmer for auto start applications. Additional Z8 peripheral boards include memory expansion, serial and parallel I 0. real time clock, an A D Converter and an EPROM programmer

• Uses Zilog Z8 single chip microprocessor

• Data and address buses available for 124K memory

• Can be battery operated

• Cross assemblers for various computers

BCCtl Assembled & Tested S149.

New Low Price

Z8 MEMORY. I/O EXPANSION. CASSETTE INTERFACE

• 8K bytes of additional RAM or EPROM.

• Three additional 8 bit parallel ports.

• Cassette interlace—300 baud K C. Standard.

• Software real lime clock

BCC03 W/4K RAM Assembled & Tested S150.

BCC04 w/8K RAM Assembled & Tested 180.

Z8 EPROM PROGRAMMER

• Transfer BASIC or Assembly Language application programs from RAM to 2716 or 2732 EPROM

• Comes with programming & utility routines on EPROM.

• Requires BCC03 Z8 Expansion Board for operation BCC07 Assembled & Tested S145,

Z8 ANALOG TO DIGITAL CONVERTER

• Uses Analog Devices 7581 iC. 8-channel 8-bit.

• Adds process control capability to the Z8 system

• Over 1,000 conversions per channel per second.

• Monitors 8 analog signals in one of two 1Qv ranges. BCC13 Assembled & Tested $140.

Z8 SERIAL EXPANSION BOARD

• Adds additional RS-232C and opto-isolated 20 ma current loop serial port to the Z8 System

• Runs at 75 to 19,200 baud in all protocols

• Comes with listings of sample serial I 0 routines. BCC08 Assembled & Tested S160.

Z816K MEMORY EXPANSION BOARD

• Add up to 16K of additional memory, RAM or EPROM, to your Z8 Syslem Controller in any multiple.

• Accepts 2016, 6116. 2716, or 2732 memory types.

• Four 16K cards may be installed on the Z8 System bringing the total memory to 64K.

BCC14 Assembled & Tested w/8K RAM S120.

BCC16 Assembled & Tested w16K RAM 155.

COMING SOON! MICRO D-CAM

FORTH LANGUAGE VERSION DIGITAL TV CAMERA OFTHEZ8

With the new Z8 with on board 4K FORTH you can

piogram high speed control functions in a few simple

high level language commands Perfect for data

reduction, process control and high speed control

applications.

BCC20 Z8F FORTH Microprocessor chip .... $150.

BCC21 Z8F FORTH System Controller

(This board is a BCCT1 with a BCC20

installed)

Assembled & Tested 280.

Z8 CROSS ASSEMBLERS

Fmm Micm Resources

IBM PC, APPLE, 6502 Systems 5V4",

CPM2.2 8" S 75.

Fmm Allen Ashley

TRS-80 Model I, 111. Northstar5V4" 75.

CP/M2.2B" 150.

Z8 FIVE SLOT MOTHER BOARD

• Expand yourZ8 BASIC System with minimum effort

• Contains five slots complete w 44 pin connectors MB02 Assembled & Tested S69.

TRIPLE VOLTAGE POWER SUPPLIES

+5V @ 300 ma. + -12V @ 25 ma.

UPS01 Assembled & Tested S35.

UPS02 Complete Kit 27.

+5V(ffi1Amp. +12V@.5Amp. -12V @ 50 ma.

UPS03 Assembled & Tested 60.

UPS04 Complete Kit 50.

SPEECH SYNTHESIZERS

MICROVOX TEXT-TO-SPEECH SYNTHESIZER

As featured in Ciarcia s Circuit Cellar BYTE Magazine September, October 1982.

Microvox is a second generation professional voice quality text-to-speech synthesizer thai is easily interfaced to any computer, modern, RS-232C serial or parallel output device and provides speech of unbelievable clarity.

• Unlimited vocabulary

• 64 programmable inflection levels

• 6K lext-to-speech algorithm

• Full ASCII character set recognition and echo

• RS232Cand parallel output

• 1000 character buffer. 3000 optional

• Adjustable baud rates (75-9600).

• Spelling output mode.

• 7 octave music and sound effects.

• On board audio amplifier & power supply.

• X-OnX-Off handshaking.

MV01 Assembled with 1K buffer $299.

MV02 Complete Kit with 1K buffer 219.

Add $15.00 for 3K buffer option.

VOTRAXSC-01A PHONETIC SPEECH SYNTHESIZER IC

The SC-01A Speech Synthesizer is a completely selfcontained solid state device that phonetically synthesizes continuous speech of unlimited vocabulary. Used in our Microvox and Sweet-Talker SC01A Quantity 1-99 S44. ea.

100+ 32. ea.

WOO - 24. ea.

As featured in Ciarcia's Circuit Cellar BYTE Magazine, September & October 1983

GIVE YOUR COMPUTER THE DIMENSION OF SIGHT

• Interprets, enhances and stores images

• 256 • 128 digital image sensor

• Plug-in boards for the IBM-PC. APPLE II ■ or e

• Software includes utilities for auto exposuie. multi-level greyscale. screen dump and image enhancement.

• includes interface card. 4 foot extension cable, camera assembly, manual, and software on diskette

DCOI IBM PC Assembled & Tested S299.

DC02 IBM PC Complete Kit 264.

DC03 APPLE II Assembled & Tested 299.

DC04 APPLE II Complete Kit 264.

300 BAUD ANSWER/ ORIGINATE MODEM KIT

As featured in Ciarcia's Circuit Cellar

BYTE Magazine. March 1983

Micromtnt's latest 300 Baud Modem Kit is crystal

controlled, uses Ihe Tl TMS99532 IC. contains just

25 parts and reguires no calibration or adjustments

Use with acoustic coupler or in direct connect mode

MD04 Complete Kit as shown S60.

MD05 Transformer for Direct Connect Mode .. 9. AC01 Acoustic Coupler Kit 20.

E-Z COLOR GRAPHIC INTERFACE WITH SPRITES

APPIIII E-Z Color plug-in board with Graphics Editor on 3.3 disk

EZ01 Assembled & Tested S150.

E202 Complete Kit 125.

APPLE II E-Z Color Plus

• Allows the use ol a single monitor or TV set

EZ11 Assembled & Tested w Graphics Editor . S200. KRELL LOGO lor E-Z Color and E-Z Color Plus Supports Sprite Graphics

EZ21 Krell LOGO w lull documentation $89.

Animation Soltware lor E-Z Color Plus

• Draw with Sprites using Joystick or Koala Pad

• Animate Sprites Irom your own BASIC program EZ21 Animation Software S49.

S100 E-Z Color Graphics Board

• With sound generator & pystick interlace

• MBASIC Graphics Editor on 8" diskette.

EZ04 Assembled & Tested S289.

MICROMINT INC. 561 Willow Avenue. Cedarhurst. NY 11516 To Order: Call Toll Free 1-800-645-3479 For Information Call: 1-516-374-6793 Call: Monday-Friday, 9-5 PM

Circle 36 on inquiry card.

Prices listed are

valid thru

Sept. 1984.

Please call tor

new prices.

mEGfl-BVTES FDR (TllCRQ-BUDGETS enparid your system...shrinh your cost.

Why pay more for top quality products when our prices are consistently among the lowest anywhere? We invite you to compare prices, then call us.

COMPUTERS AT LOW PRICES

CALL FOR CONFIGURATIONS AND OPTIONS

MEMOTECH MTX-512

SHARP PC-5000 PORTABLE

LEADING EDGE PC

IBM PC-XT

PRINCETON GRAPHICS SYSTEMS

HX-12 Limit - One to a Customer Cash Price $459.00

MISC. PERIPHERALS

HAYES SMARTMODEM 1200B (IBM-PC)

SALE PRICE

$399.50

HAYES SMARTMODEM 1200 (RS-232)

. . .489.50

HAYES CHRONOGRAPH

189 50

ROLAND DG XY800 6 PEN PLOTTER

. .799.50

BAUSCH&LOMB DMP-29 PLOTTER

. .1885.00

PENCEPT PENPAD 320

900 00

EPSON PRINTERS

MX-100

SALE PRICE

$475 00

FX-80

489 00

FX-100

. .689.00

RX-80

. .309.00

rx-80 f/t

375 00

LQ-1500

7135 00

DYSAN DISKETTES (Boxes of 10 each)SALE PRICE

104/1 5W SINGLE SIDE, SINGLE DENSITY $31.20

104/1D 5%" SINGLE SIDE, DOUBLE DENSITY 32.98

104/2D 5'/i" DOUBLE SIDE, DOUBLE DENSITY 38.99

3740/1 8" SINGLE SIDE, SINGLE DENSITY 32.39

3740/1D 8" SINGLE SIDE, DOUBLE DENSITY 40.19

3740/2 8" DOUBLE SIDE, SINGLE DENSITY 40.19

3740/2D 8" DOUBLE SIDE, DOUBLE DENSITY 46.89

GREAT LAKES (PEGASUS) HARD DISK SYSTEMS

10 MEGABYTE INTERNAL

SALE PRICE

$1149.00

10 MEGABYTE EXTERNAL

1295.00

23 MEGABYTE EXTERNAL

1895.00

40 MEGABYTE EXTERNAL

2449.00

65 MEGABYTE EXTERNAL

3249.00

140 MEGABYTE EXTERNAL

4995.00

TAPE DRIVE 23 MEGABYTE INTERNAL

950.00

TAPE DRIVE 23 MEGABYTE STAND ALONE

1249 00

ORDERS ONL Y 800-858-4310 IN CALIF. 800-821-6662

COMMERCIAL BUSINESS SYSTEMS

2858 S. ROBERTSON BLVD., LOS ANGELES, CA 90034

INFORM A TION (213) 559-0596

Phone orders accepted on Visa and Mastercard only. California residents add 6.5% sales tax. No C.O.D. Actual shipping and handling charge added to all orders. Prepaid orders as follows: Money orders or cashier's check-merchandise shipped upon receipt. Personal checks must clear before shipping. 20% restocking fee.

Prices and availability subject to change. $100 minimum order.

Lyco Computer Marketing & Consultants

MANNESMANN

NEC

NECB023. NEC8025.

CITOH

GORILLA GX-100 . GORILLA SERIAL

PBOWRITEB II

8600

SHEET FEEDER

620

630

8510SP

P510SCP

A10 LETTER OUAL PROWRITER8510. PRINTMASTER

STARWRITER.

S899.00 ... $425.00 ..S929.00 SI 699.00 .. S499.00 ...S559.00 S499.00

$335.00

....$1199.00

. $929.00

CATALOG AVAILABLE

HARD DISK DRIVES

10MEG $975.00

20 MEG $1399.00

30 MEG CALL

* D.O.S. EXTRA

STAR ^

MICRONICS w

GEMINI 15X S379.0O

DELTA 10 S449.00

DELTA 15 S525.00

RADIX 10 S575.00

RADIX 15 S675.00

POWERTYPE SCALL

SWEETP(ModeMOO> ...5549.00 STX80 SI 49 00

GEMINI 10X ..$259.00

PANASONIC

1090 $279.00

1091 $309.00

1092 $459.00

DISKETTES

ELEPHANT

6V4" SSSD $16.75

5'A" SSDD $19.95

514" DSDD $25.95

SAVE -PRINTER

MAXELL

5V«" MD-1. 5V4" MD-2.

TO ORDER

or send order to

LEGEND

EPSON

RX-BO... RX-BOFT . FX-80 FX-100...

. $269.00 . $299.00 . $439.00 . $639.00

OKI DATA

BLUE CHIP

M12010

M12010C-64. D4015

.. $279.00 .. $279.00 .$1399.00

ZENITH

SAKATA

2VM 122A AMBER

... $95.00

SC100 COLOR... $229.00

2VM 123G GREEN

$85.00

SG1000 GREEN

.. $99.00

ZUM 124IBM-PC

$129.00

SA AMBER

.$109.00

ZUM COLOR

. $275.00

NEC

ZUM 133 RGB

. $389.00

ZUM 135 RGB

$449.00 ,

JB1260 GREEN

. . $99.00

ZUM 136

.$589.00 *

JB1201 GREEN

.$145.00

JB1205 AMBER ....

.$145.00

TAXAN

JC1215COLOR

.$269.00

100 GREEN

..$115.00

JC1216

. $399.00

105 AMBER

..$125.00

AMDEK

210RGBCOMPOSITE... 400RGBMEDRES

$269.00

.. $295.00

VIDEO 300

.$139.00

410RGBHI RES

.. $349.00

VIDEO 300A

$149.00

420 RGB HI RES (IBM)..

.. $475.00

COLOR 1+ $269.00

121 GREEN

..$145.00

COLOR 11+

$399.00

122 AMBER

$149.00

800-233-8760 ^sTZT

Customer Service 1-717-327-1825 Jersey Shore PA 1 774C

POLICY

In stock items shipped within 24 hours ol order Personal checks require four weeks clearance b

depositonC OD orders Free shippmgon prepaidcash orders within the continental US PA residents add sales ta« AH products subject to availability and price change Advertised prices show 4 ■■ discount ottered tot f.ash add 4 tor Master Card or Visa DEALER INQUIRIES INVITED

Circle 103 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC • 271

Circle 72 on inquiry card.

MOTHER BOARD:

• 8088 CPU with socket for co-processor 8087

• 8088 is supported by 8259A interrupt controller and 8237 DMA controller

• 2 (two) 28 pin sockets for ROM

• 8 (eight) expansion slots

• No RAM on board (RAM is on multifunction board)

Bare Board 69.00

Ready Board 199.00

(with IC sockets, resistors, capacitors, connectors, crystals, transistors soldered)

Tested Board (w/o ROM) 399.00

IC kit 199.00

Build Your IBM PC Compatible at Competitive Prices

MULTIFUNCTION BOARD

• 2 serial ports, 1 parallel port real time clock, 64k RAM up to 256k RAM 249.00

• Floppy disk drive controller board 169.00

• Hard disk controller board 299.00

• Color graphic board 219.00

• Monochrome + color + graphic board 329.00

• Panasonics disk drive, 320k, half height 159.00

• Hard disk drive 10 MB 699.00

• 100W power supply with fan 169.00

• Case 119.00

• Manual 25.00

• Keyboard 149.00

• High resolution color RGB monitor 449.00

• High resolution green monitor 129.00

• Monitor stand 19.95

• Hayes 1200B modem 449.00

• Hayes 1200 modem 475.00

IBM is the trademark of International Business Machines. Prices subject to change without notice.

Lut Hand wcllcorp

4962 El Camino Real • Los Altos, CA 94022

(415) 962-9265 1-(800) 821-3628

TLX: 171947 HANDWELL LTOS

Come visit us in our New York City Showroom

21-55 44th Road

Long Island City, New York 11101, USA

(212) 937-6363

Se Habla Espahol

Cable.COMSYSTEC NEWYORK Telex: CSTNY 429418

OUR SPECIALTY: IBM COMPATIBLE PRODUCTS, GRAPHICS, DATABASE, 68000 UNIX, EXPORT

IBM PC & COMPATIBLES

Columbia, Corona, Zenith,

Leading Edge, Televideo, Sanyo,

Tava, & IBM PC

OTHER POPULAR COMPUTERS

Epson, Cromemco, NEC PC,

Altos, North Star, Dual 68000,

DEC Rainbow, OSM

PRINTERS EPSON, OKIDATA full line

Call

Prism 132 Toshiba PI340 Microprism Dataproduct

NEC 2050 3SS0 C.Itoh F-10 Juki 6100 Qume 11/40 Slar Power Type Diablo 630 Dynax HR3S

200 cps, 132 col 1,100

80 col., 160 cps 799

110 cps, 80 col. graphic 379

8000 series CALL

8010 180 cps, graphic 545

"Letter Quality***

20 cps for IBM PC 840

35 cps for IBM PC 1,610

40 cps 999

18 cps 459

w/IBM interface 1,420

18 cps 399

ECS/IBM ext. char. set...2,100

33 cps 910

Comrex Comwrilcr Ml 740

Transtar 315 graphic, color 479

AN AFFORDABLE CAD SYSTEM FOR ENGINEERS & DESIGNERS

DIGITIZER

DT-114

AutoCAD'" is a two-dimensional computer-aided drafting and design system suitable for many applications including drawings for architectural, mechanical, electrical, PCB layout, chemical, structural, and civil engineering. For the configuration as shown in the above flowchart,

SPECIAL CALL FOR $5,800.00

(cables included)

Package with 10 MB hard disk also available

,,,..,....,», CALL F0R DETAILS •**••* **

POWERFUL ADD-ON BOARDS

from AST, PERSYST, PLANTRONIC, TECMAR, QUADRAM, HERCULES, TITAN

MORE FOR YOUR IBM PC

MONITORS

(TERMINALS: HAZELTINE, ZENITH, WYSE, VISUAL...

Panasonic amber super resolution monitor

Comrex CR6800 I4"RGB high resolution monitor

NEC JC1216 RGB monitor, 640x300 resolution

JBI201 20 Mhz green monitor

Princeton Graphic HX12 RGB monitor

SR12 RGB high resolution monitor.

Aindek 300 12" green monitor

Color IV Xtra high resolution monitor, color..

Zenith ZVM 123 Green Monitor

ZVM 122 Amber monitor

ZVM 135 RGB monitor for IBM PC

.CALL) 199

...489 ....435 ....185 . ...490 . ...630

155

...710

87

. ...135 ....475

PLOTTERS/DIGITIZERS

Amdck

Houston Instrument

Hewlett Packard

Calcomp M84

6-pen X-Y Plotter

DMP-29 8-pcn X-Y Plotter

DMP-40 1 pen plotter

DMP4I, DMP42 22x34", 24x36"

plotter

DMP-51, DMP-52 22x34", 24x36"

plotter

HIPAD DT-1IAA Digiiizer

H1PAD DT-114 4-button digiiizer.

7470A 2-pen plotter

7475A 6-pen plotter

8-pen plotter

.895 . 1,795 ..795

CALL

CALL

....725 CALL ...940 . . 1,640 . . 1,650

HAYES

USR NOVATION

MODEMS

Smartmodem 300/1200 bps 499

I200B modem for IBM PC CALL

300/1200 bps W/64K, parallel port 550

Password 300/1200 bps modem 339

Smartmodem 300/1200 bps modem 415

PC Cat 300/1200 bps modem 450

Prices subject to change. American Express. Visa/Mastercard add 3%. F.O.B. point ot shipment. 20% restocking fee for returned merchandise. Personal checks take 3 weeks to clear. COD on certified check only. NY residents add sales tax. Manufacturers' warranty only. International customers, please confirm price before order. Accept P.O. from Fortune 500, schools and gov't.

Computer Channel TELEX:

21-55 44th Road 429418

Long Island City, NY 11101 CSTNY

For information CALL (212) 937-6363 To order CALL 1-800-331-3343

272

BYTE Guide to the IBM PC • Fall 1984

A B Computers

THE VALUE LEADER I I SINCE 1976

COMPUTERS

IBM Popular IBM options from AB include the PC. PC XT and our special PC + package: Computer Ram Drive Ports Price

IBM PC 256K 360K 0 CALL

IBM PC i 256K 3 3 MB 0 CALL

IBM PC XT 256K 10 MB lH.irdllPL/2 SER CALL

Zenith All Zeniths fully software & hardware compatible with the PC and XT superior keyboard: Computer Ram Drive Ports Price

ZF 151-21 128K 360 1 PL/2 SER S1649

ZF 151-52 320K 720 1 PL/2 SER 2099.

ZW-151-52 320K 10 6 MB t 360 1 PL/2 SER 3375 ZF 161-52- 128K 360 1 PL/2 SER 1799

ZF I61-521 320K 720 1 PL/2 SER 2249

'Portable

Sanyo-We have Sanyo 550 & 555 PC's. Built-in software includes MDOS Version II. Wordstar. CalcStar. Basic, more. Great Prices CALL

DISKS AND ACCESSORIES

VERBATIM-Verbalim DATALIFE Minidisks are super quality, super durable Puce per 5'.r minidisk (sold in boxes of 10)

Qty. 10

1 95

2 60

Qty. 50

1 90

2 55

Qty. 100

I 85

2.50

-Top disk quality at

SS/DD DS/DD

*AB's OWN DISKETTES

low. low

price

buy 100

(DS/DD)

and pay

only S1.35 per disk.

Plus, before September 30. get a free Amaray

Mediamate 5 disk file in the bargain!

AB carrys all major brands 3M. Verbatim.

Maxell. Wabash. BASF. Sentinel Dysan. .in all

popular sizes and configurations CALL for super

prices.

DISK STORAGE

Mini Flip N File (50 5" disks) $17.45

Rolltop 100 (100 disks. 10 dividers) 28.99

Mini Kas-ette/10 (for 5" disks) 1/2.25 10/2.05 ea ♦ Amaray Mediamate 5 til Sept 30. only 11.99 PLUSHEAD" disk cleaning kit (w/2 disks) 11.99

IBM drive analyzer 22.50

lincludes diagnostics tnti hpaci analyzer]

COMMUNICATIONS

Anchor Mark XII Smart modem . Hayes Smarlmodem I200B

Crosstalk" software

AB communication software . .;. irks .viih Anchot H tyes others)

SOFTWARE

$270 459

135. 29

$345.

479.

325

179.

335. CALL .CALL . 325.

Lotus 1-2-3

Lotus Symphony

Multi-Mate

Multiplan (Microsolt)

Wordstar

dBASE II (Ashton-Tate)

dBASE III (Ashton-Tate)

Microsoft '-WORD" (with MOUSE)

Peachtree Peachtext 5000 189.

includes word pro: essoi thesaurus spell utuoler Itst manager spreadsheet morel Peachtree MS-DOS

Gen'l Ledger 8 349.

Accts. Receivable 8 349.

Accts. Payable 8 349.

Inventory 8 349.

Sales Invoicing 8 349.

Payroll 8 349.

Spinnaker Software-lull line for IBM PC. CALL UNIX (Mark Williams) CALL

COPY PC llels you iiiiv protected disks lot 29.

bat r ip Personal use only i

PLUS many other soltware specials CALL

FREE CATALOG!

Tins ad space can accommodate only a few ol the exceptional values available from AB Our latest catalog is packed with lantastic buys, lop brands, thousands of items For a free copy call or write

MONITORS

USI—20 MHz band width. 1000 lines resolution. Easily capable of 80 character display.

* 1200G (Pi-2)-12" green phosphor SPECIAL $85.

* 1200A (Pi-3)-12" amber phosphor SPECIAL 89.

AMDEK

Video 310A-12" amber. 18 meg TTL-IBM.S155.

Color II -a—13" RGB TTL input 435.

ZENITH

ZVM-124-12' amber 22 MHz. TTL for IBM ..$150. ZVM-135-Htgh res RGB + composite monitor.... 470. ZVM-135-1-Cable for RGB monitor 23.

OUTPUT DEVICES

Printers by Star, Epson, Okidata, Brother:

Star Micronics Gemini 10X $295.

10 carnage I '1 120 CPS

Epson LQ-1500 NEW 24-pin CALL

■■iit-t qual doi matrix

Epson RX-80-l-.tc.io> teed Grallrax . 289.

Okidata 92 CALL

Brother HR-25 Daisywheel-23 CPS Bt-Dttecnonal 740. Brother HR-15 DaisywtieeT-13 CPS Bi Directional 449. PLOTTERS BY AMDEK. SWEET-P: Amdek Amplot II—Six Pen 890

* SWEET-P 100—Single Pen iwth i color pensi

SPECIAL 539.

* SWEET-P 600-Six Pen SPECIAL 939.

Microlazer Printer Buffers (Quadram):

MP Parallel 8K-$145.16K-S155.32K-$175.64K-$205 IBM Parallel Printer Cable 19.

INPUT DEVICES

* OBERON Optical Scanning Wand—Now. scan typed lines for fastest input. Handles 10 pitch characters, most common'fonts. Great for mail list updates, much more. RS-232 $395.

Zenith keyboard 159.

Keytronics 5150 keyboard 179.

/ETC.

* Data Technology "TEAM MATE'' drive—super new system using Kodak disk technology breakthrough. Puts 3 3 MgB on 5V:r floppy formats to 2.8. For PC XT owners, an alternative to hard disk. 4 disks back-up 10 megabytes CALL

Panasonic. Amdek. Hitachi & Others—Vi height, double side drives from $189.

* Great Lakes Winchester (10 MB, Tandem)999. Quadtronics Quadboard—Parallel port, serial port, clock/calendar.

No RAM-$229, w/64K-$279, w/384K-$499

Hercules graphics board 359.

Votrax speech synthesizers—Personal Speech System 249.

AST—full line of IBM cards & boards CALL

POWER DEVICES

Datashield back-up power source

200 PC-200 watt 2265.

300 XT-300 watt 390.

"BITS" Power back-up-250W, Trueuranteruptabte695. Brooks power strip BN6-6 54.

AB SATISFACTION GUARANTEE

Every product sold by AB Computers is factory packed and comes with the manufacturers warrantee. However, if an item is defective when received, you may return it to us within 15 days tor repair, adjustment or replacement at our option. Returns must be accompanied with copy of your invoice, letter detailing defect, blank warrantee card and all original factory packing. To expedite handling, please call for return authorization number. (Sorry, no returns on computer software, once opened.)

Ordering Information: Prices shown include cash discount. Add 3% for credit card purchases (Mastercard or VISA). Personal checks take 15 days to clear; no waiting on certified checks or money orders. Add $1.50 shipping and handling on all orders. Mail, APO/FPO, Air may require additional charges. PA residents add 6% sales tax. All items subject to availability. Prices subject to change. Additional discounts available to qualified educational institutions.

A B Computers

THE VALUE LEADER SINCE 1976

252 BETHLEHEM PIKE COLMAR, PA 18915

OR USE OUR ORDER LINE. MONDAY FRIDAY

9 A.M.

6 P.M. EST

215-822-7727

Circle 2 on inquiry card.

Fall I984 • BYTE Guide to the IBM PC

273

Sav-On Computer, Inc.

nncTniucD

ORDER DESK TOLL FREE

800-345-7100

OUTSIDE CALIF.

CUSTOMER

SERVICE

ORDERS

INSIDE CALIF.

213-675-2115

IBM COMPONENTS

AST RESEARCH

BPac Plus C64K) S

10 Plus

Mega Plus

Mega Pac

Additional Ports

QUADRAM

Quad Color 1 S

Quad Color 2

Quad Board I

Quad Board II

Color Card $244

Monochrome Card 318

HERCULES

Graphics Card S339

USI

Paradise System Multi Display Card S399

PLANTRONICS

PC +, w/Software S388

MEMORY

B4K Upgrade $49

128K Upgrade !

MATH CO-PROCESSOR

Intel B087 $175

KEYTRONICS

515Q Keyboard $189

5151 Keyboard 239

COMPUTERS

Joy Stick

KOALA

Graphics Tablet

SANYO

MBC550 MBC550-2 MBC555 MBC555-2

5% DISK DRIVES

TANDON

CALL

Priced Too Low To List.

100-2 101-4 55-2 .

COMPAQ

Portable (1 Drive & 128K).. $1975 Portable [2 Drives S. 25BK).. .2375 Compaq Plus Call

|—

IBM PC CALL

IBM PC/XT We Will Try To Beat

IBM Portable Any Advertised Price

KAYPRO

Kaypro II $1148

Kaypro 4 + .1694

Kaypro 10 2494

APPLE

Apple lie [Starter System).. $1325

Maclntocsh 2294

Apple lie Call

FRANKLIN

ACE 1000 $789

ACE 1200-DMS 1589

COLUMBIA

1600-1 $2594

1600-4 3874

SHUGART

SA455 SA465

9409.. 9409T.

MICROSCI

v\*

tV*

**

w

V>

rt

&*

MODEMS

3*

APPLE COMPONENTS

TERMS

We accept Visa, MC, CODs, Wire Trans- fers. No Surcharge for Credit;

Cards. UPS, Federal Express, Emery shipping available. CA residents please add 61/20/o sales tax to order. Prices subject to change without notice. Not responsible for typographical errors.

TG MICROTEK

Joystick S39 Bam 16 S58

Select Port.... 39 Ser. Int

Paddles 39 MICROSOFT KENSINGTON 16KCard

Sys Saver.... $69 Soft Card .... 239

MICROMAX

View Max 80 CBO Col. Card) . .$138 View Max BOE [for lie) 128

HAYES

300 :

1200

1200B

Micro Modem tile)

ANCHOR

Mark VII 300

Mark XII 1200

NOVATION

Access 123

J-Cat

RIXON

PC212A (1200SA)

P212ACIBM PC)...

U.S. ROBOTICS

Password C1200B)

5Va DISK DRIVES

QUENTIIM RESEARCH

Apple Mate $194

DISKETTES

RANA SYSTEMS

Elite I.. Elite II . Elite III.

DISK DRIVE CONTROLLERS

Rana [Controls 4)

Maynard

Maynard (w/Serial Port] .... Maynard (w/Parallel Port)... Quentin

51A DS/DD 5V4 SS/DD

5V4 SS/DD 51A DS/DD

51/4 SS/DD 51A DS/DD

MAXELL

DATA LIFE

DYSAN

DISKETTES

GENERIC

Box of 10 DS/DD

*&

&

C°

*s

»y

»

e<

b*;

^

Si

%*.

DISK DRIVE CABINETS

PRINTERS

PRINTER INTERFACES

DYNAX

Dynax (Parallel) $469

Dynax DX15 (Serial) 525

Dynax DX25 728

STAR MICRONICS

Gemini 10X Call

Gemini 15X ...., Call

Power Type S478

OKIDATA

PC PRODUCTS

5V4 Single Cabinet w/Supply

$69

51A Dual Thinline Cab. w/Supply . 79

5Va Dual Cabinet w/Supply..

79

MONITORS

USI

PI 1 (9" Amber)

$119

PI 2 (9" Green)

.129

PI 3 (12"Amber, 20 MHz)..

.118

PI 4 (12" Green)

124

PRINCETON GRAPHICS

HX12 $469

SR12 649

Max12 199

B2A (120cps, Parallel

Color....

$699

CABLES

and Serial Interface)

$298

Monochrome

319

BM to Printer

Kaypro to Printer

Centronics to Centronics ....

$26

.26

...26

83A (15" Carriage)

84P (200cps, Friction

568

300G....

AMDEK

. $139

RS232 Cable

.26

and Tractor)

. .989

300A....

149

92P dBOcps)

. 428

31OA (Monochrome i)

178

FOURTH DIMENSION

93P (160cps, 15" Carriage ..

738

Color l +

(Composite Video).

...289

Card & Cable ......

. $48

EPSON

Color II + (RGB Video)

...418

RX80 (120cps)

.5318

ZENITH

MICROTEK

RXB0FT(120cps, Friction

ZVM122

$108

Dumpline GX

. $88

and Tractor)

418

ZVM123

... 108

Dumpline GX EXP to B4K....

1BK Upgrade

148 ...14

FXBO dBOcps)

FX100 dBOcps, 15" Carriage

518 .728

12AUW .

BMC

. $78

OKIDATA OPTIONS

NEC

8023A-C (120cps)

12EUN..

108

Tractor for 82 & 92

. . $59

$398

9191 (Color)

238

Serial Interface

98

8025 (15" Carnage)

.698

TAXAN . HITACHI.

.. Call SANYO

.. Call .. Call

ORANGE MICRO

JURY

GORRILLA

Grappler +

$113

B100 dBcps and Letter

Green ...

. $109

Grappler + w/16K

.178

Quality)

$448

Amber...

.109

Sav-On Computer, Inc.

Circle 159 on inquiry card.

12595 CRENSHAW BLVD., HAWTHORNE, CA 90250 0PEN: H£™ 3 t^ZZ 5E"Fri

IBM COMPATIBLE

A word for this Punch/Reader Combo is

Speed! Model 510 punches paper tape at 110cps, reads at 150cps. This rugged machine is computer compatible offering RS232C, current loop, parallel inputs. The ASCII-to-Baudot code conversion permits direct keyboard entry for Telex/TWX transmission. Plus: 256 character storage, 75-9600 baud rate, 5-8 level tape, stock. ADDMASTER CORP. 416 Junipero Serra Dr., San Gabriel, CA 91776 + 213/ 285-1121.

FORTRAN

or

PASCAL

PROGRAMMER?

READ

THIS

AD

5

PRINTER RIBBONS

PRICE PER PER

RIBBON DOZEN

ANADEX 9500 10.50 109.80

APPLE DMP 5.25 52.20

C. ITOH PROWRITER 5.25 52.20

EPSON MX-FX 70/80 5.00 48.00

EPSON MX-FX 100 6.75 69.00

GEMINI 10-10X-15-15X 2.50 23.40

IBM HARMONICA W 6.75 78.00

IBM HARMONICA %" 7.95 92.40

IBM 4-COLOR 15.75 180.00

IDS MICROPRISM-480 5.75 58.80

IDS PAPER TIGER 460/560 6.75 78.00

IDS PRISM 7.95 92.40

IDS 4-COLOR 15.75 180.00

NEC-3500 M/S Non Flip 6.25 69.00

NEC - 3500 NYLON 9.00 96.00

NEC PC-8023A 5.25 52.20

OKIDATA 80/82/83/92 2.50 23.40

OKIDATA-84 5.00 57.00

RADIO SHACK DMP-2100 7.50 87.00

RADIO SHACK LP VI & VIII .... 5.75 58.80

SILVER REED EX 550 S/S 5.00 57.00

SILVER REED EX 550 NYLON ... 9.00 105.00

TOSHIBA-1350 7.50 87.00

XEROX 610/620 M/S 5.95 66.00

Add $3.00 Ship. & Hand. — To Order Call

Toll Free 1-800-742-1122

In Ml (313) 569-3218 or Write for our Catalog

DWIGHT COMPANY, INC.

15565 Northland Drive - West Tower Southfield, Michigan 48075-6496

Circle 4 on inquiry card.

Circle 51 on inquiry card.

■"■

IBM MICRO, COMPATIBLES & APPLE lie OR III USERS

Easy to use software works with PCDOS 1.1 (IBM or compatible) or DOS 3.3 (Apple) and printer. Prints high resolution font - all ASCII characters.

ONLY $24.95 To order phone our Order Desk at (217) 359-5888 and use your Mastercard or Visa or send check or money-order for $24.95 (IL Residents add 6% tax) plus $2.50 for postage and handling to: Advanced Analytics Technology Corp. Business and Technology Center 701 Devonshire Dr. C-30 Champaign, Illinois 61820 'Apple is a registered trademark of Apple Computer Inc.

GRAPHICS

• Text/graphics generics

• 2D interactive

• 2D plots (full support) including auto-scaling, auto-axis generation, auto-labeling, tabular/log/ parametric curves, splines, bars, pies, you name it, we have it.

• 3D Plots incl. 2 hidden line removal options—not just old-fashioned wire frame.

PEN PLOTS

• Standard plotter primitives plus

• FULL 2D support plus

• Interface to screen graphics,

• Limited 3D.

Clear and complete documentation. GRAFMATIC $135.

PLOTMATIC 135.

MICRO COMPATIBLES 11443 Oak Leaf Drive Silver Spring, MD 20901 (301) 593-0683

SL-MICRO

STATISTICAL LANGUAGE for MICROCOMPUTERS

features

VALUE and VAR LABELS

DATA TRANSFORMATION

FREQUENCIES CROSSTABS

PEARSON CORR REGRESSION

CONDESCRIPTIVE

Only $250. Manual $15 Available for IBM PC. CP/M or MS-DOS. Many Formats.

QSC BOX 23056

LANSING, Ml 48909

PHONE (517) 641-4428

Circle 5 on inquiry card.

Circle U5 on inquiry card.

Circle 153 on inquiry card.

d BASE III

(iBMPC)5b«5oo.UU FRAMEWORK

(IBM PC) M>TrDU«UU d BASE II $265.00

VISA/MC WELCOME

Cabrillo Software

a division of Cabrillo Computer Service

484 Mobil Ave., Suite 42

Camarillo, CA 93010 (805) 484-5353 m calif. (800) 321-5753 in usa

SPECTACULAR

LOWEST PRICES

I maxell disks

LIFETIME WARRANTY

$i80eaMD»$940ea

5'/«" MDI-DDM SS/DD/96TPI . . $2.65 5V," MD2-DDM DS/DD/96TPI . . $3.30

8" FD-1 SS/SD or DD $2.85

8" FD-2 DS/DD $3.30

1-800-328-3472

Dealer inquiries invited. COD's and charge cards accepted. All orders shipped from stock within 24 hrs.

Ai<

w

North Hills Corporation

3564 Rolling View Dr.

White Bear Lake, MN 55110

MN Call Collect 1-612-770-0485

DUST COVER PROTECTION WITH ANTI-STATIC, LINT FREE NYLON PACK CLOTH

IBM PCim Keyboard 14.00

IBM PC Monitor 16.00

IBM PC Drive 16.00

IBM PC Mon./Dr. Comb. (I pc.)... 28.00

IBM Graphics Printer 16.00

Apple He Comb 28.00

Apple Printer Image Writer 16.00

Apple Disk Htm .. 9.00 .. 2 stacked .. 14.00

Silver Gray with Black Trim

CHECK/ VISA/MC

Plus$2 Ship. & Hand.- R.I. Res. Add6% SalesTax

fomputerAi/V"

P.O. BOX 293, BARR1NGTON, R.I. 02806 FOR QUANTITY DISCOUNTS (401) 245-0532

Circle 152 on Inquiry card.

Circle 124 on inquiry card.

Circle 38 on inquiry card.

to] gdgOfoi

ESTABLISHED 1977

SALES 800-528-3138

TECHNICAL 602-991-7870 MODEM ORDERS 602-948-1387 TELEX: 16 5025 FTCC SEC PHX.

BUILD YOUR OWN P.C.

IBM-PC W/ 64K RAM. PC-DOS 2.1.

1 DSDD DRV. & CONTROLLER W/ KB. 81,895

1 TANDON TM 100-2 DSDD DRV. 8189 STB GRAPHICS PLUS II MONO. & COLOR

GRAPHICS W/ CLOCK. PRT PORT 8322

64K RAM 4164-150 NS 9 CHIPS/SET 849.95

U.S.I 20MHz 12" AMBER MONITOR 8109

PGS HX12 HI-RES RGB MONITOR 8495

INTEGRATION, BURN-IN & TEST 895

6Mb REMOV. CARTRIDGE H D IN PC. 81,249

(WILL BOOT FROM THE HARD DISK)

EBZEa FOR IBM-PC

CAPTAIN 64K, IS, IP, CLK/CAL 8272

CAPTAIN ABOVE W/ 384K 8557

1»t MATE 64K. IS. IP. CLK/CAL 8272

1st MATE ABOVE W/ 265K 8412

WAVE XT' MEMORY BD 64K S209

WAVE ABOVE W/ 256K 8349

DYNAMIC MEMORY W/ 256K 8342

INTERNAL REMOV. H.D. IN PC INSTALLS

DIRECTLY INTO PC, STORES 30X MORE

THAN FLPYS 8. IS 9X FASTER 81,496

10Mb H.D. IN MINI-CAB. - HIGH DENSITY

PRIMARY STORAGE. 4 CONFIG POSS..

STORES 30X MORE THAN FLPYS. 81,871

5Mb REMOV. H.D. & 33Mb IN EXPAN.

CHASIS - HIGH DENSITY PRIMARY

STORAGE. MANY CONFIG POSS..

STORES 100X MORE THAN FLPYS..

5 ADDITIONAL SLOTS FOR OPTS. 5Mb REMOV. H D. MEDIA EXPANSION CHASSIS W/ 8 SLOTS 5" & 8" FLPY ADAPTOR SS or DS.

SD OR DD. COMPLETE SFT SUPPORT GRAPHICS MASTER HIGH RES. COL.

(640X4001. MONO (720X700). RGB.

NTSC COMPOSITE & IBM MONO.

MON . 128K. LT. PEN INTERFACE 2ND MATE MULTIFUNC BD - 2S. 2P. C

VEC INTERRUP . PAL LOCK-OUT OPT BOSUN "XT" MULTIFUNC BD - IS. IP

CLK/ CAL. PAL LOCK OUT OPT, AUTO

TIME & RAMSPOOLER SFT 8146

SCRIBE TENDER - IP & IS CABLE, IP

6 2S PORTS, MULT I/O CAPABILITIES S 1 76 TIME MASTER - SETS TIME/DATE AUTO..

5 YR BATT. ALARMS AVAIL. 8101

EXTENDER BD 860

jrCAPTAIN 64K P. C. 1 YR BATT LIFE 8255

jrWAVE 64K 8239 jrCADET 64K ADD ON PIGGYBACK BD

FOR jr CAPTAIN/WAVE S159

jr 2ND MATE 64K. P. C. 1YR BATT LIFE 8119

84.121

885

8709

S521 8221

Mac Drive

73200 10Mb FIXED H D

73020 ABOVE W/ 5Mb REMOV

73010 5Mb REMOV. H.D.

73210 2 5Mb REMOV H.D.s

COLUMBIA

1600-1 W/ K.B. 5160.

US I. 12" AMBER MONITOR 1600 4 ABOVE W/ 12Mb H.D 1600 VP PORTABLE PRINCETON GRAPHICS HX 12

HI RES RGB MONITOR

81.496 82.468 81.496 82,468

S2.549 S3,995 82.295

8495

^Wtor

PERSONAL SPEECH SYSTEM

MULTIFUNC. ADD-ON CARDS:

IBM PC I/O PLUS II (W/ SUPER DRV/

SPOOL) "l/O-PG" CIS. IG. IP 8225

IBM PC MEGAPLUS II (W/ SUPER DRV/

SPOOL) "MGII-064PG" 64K, C. IS. IP. IG 8421

MEGAPLUS II FIELD EXPAN. OPTIONS:

MPK-2S6 EXPANDS FROM 256K-512K 8336

IBM PC COMBOPLUS (W/ SUPER DRV/

SPOOL) "MC-064SPC" 64K. C. IS. IP 8336

IBM PC SIX PAK PLUS "SPK-064G"

64K. C. IS, IP. IG 8378

IBM PC EXPAND MEM (W/ SUPER DRV/

SPOOL) "MP-064" 64KB PARITY 8251

IBM PC ADVANCED COMMUN PRODUCTS:

AST-3780 BISYNC EMUL. 8803

AST-SNA SNA/SDLC EMUL. 8761

ASTS2SI 5251 EMUL. 8761

AST 3270 BSC 3270 BISYNC 8761

RIO PLUS: RS232 S. P I/O. G. CLK/

CAL. 64K & PC ACCEL. STB RIO<64 ABOVE W/ 256K 8257

GRAPHIX PLUS: RGB & MONO.. P, LT

PEN INTER.. CLK OPT. STB-CLR 8259

GRAPHIX PLUS II: RGB «• MONO

PRINTER & LT. PEN PORTS S325

SUPER RIO: RAM-IO MULTIFUNC. W/

64K (UPGRD TO 768K). 2S. 1 P (IBM

COMPAT.) IG. CLK/ CAL. STB SRIO 64 8273

STB PB 64 PIGGYBK (EXPAND. TO 512K) 8162

SUPER I. O: 4 FUNC. WILL FIT XT.

RS232 S. IP. IG. CLK/CAL STB SI. O 8149

PC ACCELERATOR: COMB. DISK EMULATOR & SPOOLER SFT STB-PCA 852

MEMORY EXPAN. BD: 64K (EXPAND TO 384K)STB 1 64 8192

TRIPP LITE

STAND-BY POWER W/ YUASA BATTERY

SB-400-LVC 1HR+@ 400 WATTS 8395

SB 1000 1/2HR+ <ffl 1000 WATTS 8695

ISOBAR LINE FILTERS:

IBAR 2-6 2 OUTLETS & 6 FT CORD 840

IBAR 4-6 4 OUTLETS & 6 FT CORD 860

IBAR 8-15 8 OUTLETS & 15 FT. CORD 875

ProModem 1200 from.

:<WP.ROME,TtHEUSI

HAYES COMMAND COMPATIBLE W/ HELP MENU

m

U.S. ROBOTICS

FREE TELPAC SOFTWARE INCLD

TELPAC MSDOS, IBM PC 879

PASSWORD 1200 AUTO ANS /DIAL 8359

AUTO DIAL 21 2A (HAYES COMPAT.) 8459

IBM PERSONAL MODEM W/ SOFTWARE 8297 IBM PERSONAL MODEM W/ 64K.

PRT PORT. CLOCK, S.W. 8469

IBM PERSONAL MODEM W/ 256K. ETC. 8769

i terminals! :& monitors:

COMREX CR5600-Y. HI-RES, P-39 8126

PRINCETON GRAPHICS HX12 HIRES RGB 8496

TAXAN RGB 420 (IBM LOOK-ALIKE) 8495

USI AMBER 12" HI-RES MONITOR 120MHz) 8109

DISK drives:

MAXTOR XT-1066 B'A" 66Mb H.D. QUANTUM Q640 SV>" 40Mb H.D. SEAGATE ST419 6V4" 20Mb H.D. SEAGATE ST212 6V<" ViHI 12Mb 5'/4" H.D. CNTRL FOR IBM-PC

SUPPORTS ST506 INTERFACE DRIVES

ASK ABOUT SUBSYSTEMS FOR IBM 100-2 5'/4" DSDD

Tl

82.249

81.396

81.196

8679

8319

8189

an7an

(JUIHC 6 MONTH WARRANTY 142 DSDD 5%" Vi HI 8179

TOSHIBA

FOR IBM-PC & PORTABLE

HIGHEST ENGINEERING QUALITY

5'/." Vj HI FLPY. DIRECT DRV. 1 YR WARR. 8156

819.96 828.96

|^^ MD1D 5V.' SSDD BOX/10

■l|Ilk MD2D 5V." DSDD BOX/10 "**!'| MD2D 96TPI 5'/i" DSDD

"^■M 80 TRACKS BOX/10 835.95

FD2D 1024N 8" DSDD BOX/10 833.95

DataMag -dysan qualityeconomic PRICE

5V<" SSDD SOFT BOX/10 816 95

5V." DSDD SOFT BOX/10 821.96

software:

ACCOUNTING PEARL FOR IBM-PC COMP INNOVAT. "C" COMPILER COMPUVIEW TRANSYS

MS DOS - CP/M86 FILE TRANSFER COMPUVIEW VEDIT-86/MS-DOS KNOWLEDGEMAN 8086 DATA BASE MGR. LOTUS 1-2-3

MICROSOFT'S BASIC COMPILER PERSONAL PEARL DATA BASE MGR. SORCIM SUPERCALC-3/IBM-PC

8635 8299

8159 8185 8346 8369 8292 8215 8245

MicroPro

MICRO PRO PRO-PAK

W.S . S.S.. MM.. STAR INDEX MICROPRO CORRECT STAR

8399 8135

M DIGITAL RESEARCH

PERSONAL BASIC 8109

CBASIC INTERPRETER 8149

CBASIC COMPILER 8439

"C" LANGUAGE COMPILER 8269

PASCAL MT+ 8296

SPEED PROGRAMMING PKG. 8149

PL/I W/ PROG. UTILITIES 8649

CIS COBOL 8626

LEVEL II COBOL 81,169

LEVEL II ANIMATOR 8689

FORMS 2 8149

DR ASSEMBLER PLUS TOOLS 8149

ACCESS MANAGER 8296

DISPLAY MANAGER 8369

MICRO/ SPF 8329

SELECT WORD PROCESSOR 8366

CONCURRENT CP/M W/WINDOWS 8109

CP/M-86 844

DR. LOGO 876

PC ACCOUNTING PACK W' CCP/M 8697

S 100 DIV./696 CORP.

14425 North 79th Street

Scottsdale. Arizona 85260

FULL DEALER SUPPORT VISIT OUR SHOWROOM

Hn. 8:30AM - 5:00PM M-F

Subject to Available Quantities

Prices Quoted Include

Cash Discounts

Shipping & Insurance Extra

35mm COLOR SLIDES FROM YOUR PC

$ 49.95 + $ 30° Shipping and Handling Check or Money Order

• Allows CRT photos in full room light

• Eliminates reflections

• Makes slides or prints

• Easy to use

• Maintains accurate focus distance

• Attaches to your 35mm camera

■ Fits CRT image up to TW x 10%"

• Specify lens thread size

□ 49mm □ 52mm

SECTOR SYSTEMS CO.

P.O. Box 751, Marblehead, MA 01945 (617)631-2878

? HELP-WP

►ATTENTION WRITERS:

BLACK & WHITE

^ Allows u«r to sec 12 PACES OF

LAYOUT ON THE SCREEN AT THE SAME TIME!

► wbrks with 1X")S formal tcxi files from most word processors and editors on the IBM IX;, XT. & Jr..

► C jonfigures to the major printer control commands oi your word processoT.

►- Faster than printing—saves time and paper.

► An Indispensable aid in formatting tables und illustrations.

► Print layouts on the Epson printer equipped with graphics option.

► Color • Graphics adaptor required

25.00 check or money order CHELSEA-SKYE PO BOX 634 SOCORRO, NM 87801

SPECTACULAR

LOWEST PRICES 3M DISKETTES

LIFETIME WARRANTY

$168ea ™ $919ea

XcTylS 5YDSTO £g&&

5!4" SS/QD/96TPI .. . $2.55 5!4" DS/QD/96TPI ... $3.20

8" SS/SD $2.00

8" SS/DD $2.45

8" DS/DD $2.95

1-800-328-3472

Dealer inquiries invited. COD's and charge cards accepted. All orders shipped from stock within 24 hrs.

North Hills Corporation

3564 Rolling View Dr.

White Bear Lake, MN 55110

MN Call Collect 1-612-770-0485

Circle 160 on inquiry card.

Circle 32 on inquiry card.

Circle 125 on inquiry card.

FREE SOFTWARE

RENT THE PUBLIC DOMAIN!

User Group Software isn't copyrighted, so no fees to pay! 1000's of CP/M and IBM software programs in .COM and source code to copy yourself! Games, business, utilities! Alt FREE!

CP/M USERS GROUP LIBRARY

Volumes 1-92, 46 disks rental-S45

SIG/M USERS GROUP LIBRARY

Volumes 1-90, 46 disks rental- S45

Volumes 91-172, 40 disks rental-S45

SPECIAL! Rent all SIG/M volumes for $85

MOST FORMATS AVAILABLEI SPECIFY.

IBM PC-SIG (PC-DOS) LIBRARY

Volumes 1-135, 5%" disks $135

Public Domain User Group Catalog Disk $5 pp.

(CP/M only) (payment in advance, please)

Rental is for 7 days after receipt, 3 days grace to

return. Use credit card, no disk deposit.

Shipping, handling & insurance—$7.50 per library.

(619) 941-0925 information,

(619) 727-1015 anytime order machine

Have your credit card ready!

Public Domain Software Center

1533 Avohill Dr.

Vista, CA 92083

IB!

THE PHANTOM PRINTER?

Press the switch - the computer "prints" to the Phantom Printer at blazing speed. You can stop the real printer, even disconnect and carry it away. Press the switch again - its a regular printer cable. Just $49.95. Call now Toll Free 1-800-824-7888. Ask for Operator 157 (AK. HI 1-800824-7919) visa/mc 24hrs

Avocado Computer

17352 Yorkshire Ave.

Yorba Linda, CA 92686

714-528-1025

-> All LOMAS DATA PRODUCTS' 416-Blt. S-100 Bus: Systems & Boards

« * « FIREBALL DISCOUNTS * • «

25% off List Price (UPS extra) for

Cashier's Check or Money Order

+ + +

You save MONEY = We save TIME

+ + +

See -» LOMAS <- ad In BYTE

or request complete specifications

\ LIGHTNING SPEED /

80286-CPU & 80287-NDP: $1458. 75

I I THUNDERING PERFORMANCE I I

80186 & I/O * 256K-DRAM & 5.25V8disk controller & CCP/M-86: *<f96.25

Configured for SanTBC~S700 printer:

TelBVIdeo-GAB70C VDT: ft 121. 75

Spellblnder-5.30 W/P: $371.25

HIERATIC COMPUTER SYSTEMS

BOX 133; MEDFORD. MA 02155

(617) 391-8659

Circle 144 on inquiry card.

Circle 15 on inquiry card.

Circle 80 on inquiry card.

State-Of-The-Art

INTELLIGENT PRINTER BUFFER

* *TWO printers controlled simultaneously

* * SMART-MERGE (allows address lists and

form letters to be merged in the buffer)

INTELLIGENT, microprocessor controlled: •ABORTSajob instantly 'VERIFIES job stats instantly 'CHECKS status of available memory 'TWO-WAY communication via a unique ASCII command structure.

SMARTY is available with either Centronics or serial interface and 64K or 256K of RAM. SMARTY is also available as a board level product for integration into your system or in an attractive 5" x 7" box with its own power supply. Suggested retail price: $349.00. Major credit cards accepted. Call for dealer and OEM discounts!

Phoenix Electronic Development Corporation 618 Venice Boulevard Marina del Rey.CA 90291 (213)827-2511

THE COLLECTOR"

SERIES'" By Trainsoft™

4 YEARSINDEVELOPMENf NOW AVAILABLE FOR THE IBM' PC

(Requires DOS 2.0/2.1 with 128K Single

Disk Drivevt IBM EPSON primer) Organize Your Collectables

• Toy Trains

• Dolls

• Hummels

• Antiques

• Household Inventory

• You Name It

$65

oo

II. Res.

Add 6.25%

For Additional Info: write/call The Third Rail0'

P.O. Box 143 O'Fallon, IL 62269 1618) 632-7424

CROSS

SOFTWARE

for the NS32000

INCLUDES:

* Cross Assembler * * Cross Linker *

* Debugger *

* N.S. ISE Support *

* Librarian *

* Pascal Cross Compiler *

* C Cross Compiler *

U.S. prices start at $500

SOLUTIONWARE

1283 Ht. View-AhrUo Rd.

SulteB

Sunnyvale. Call! 94089

408/745-7818 * TLX 4994264

Circle 141 on inquiry card.

Circle 178 on inquiry card.

Circle 166 on inquiry card.

California Digital

17700 Figueroa Street m Carson, California 90248

SEC RGB.. ^ COLOR *2S9

MONITOR

The NEC JC-1401D is a 13" medium/high resolution RGB monilor suitable (or use with the Sanyo MBC-550/555 or the IBM/PC. The monitor features a resolution of 400 dots by 240 lines. Colors available are Red. Green, Blue. Yellow, Cyan, Magenta. Black and While. These monitors are currently being used in applications far more crilical lhan microcomputers.

The NEC mon lor carries the Litton-Monroe label and was originally scheduled for use in ihetr Office of the Future' equipment. A change in Monroe's marketing strategy has made these units excess inventory which were sold to California Digital. We are offering these prime "new" RGB monitors at a fraction of their original cost. Sanyo compaiible NEC-1401 /S. IBM/P/C Compuler compatible NEC-1401 /PC

MONITORS

Amdek310Aamber Amdek Color II BMC9191M NECJC1401D Princeton HX 12 Princeton Max- 12 Zenith 122 amber Zenith 123 green

superior resolution RGB color RGB color RGB color RGB, non-glare monochrome monochrome w/cable monochrome w/cable

158.99 418.98 399.97 259.96 467.95 189.94 99.90 99.90

CTS212AH Hayes 1200 Hayes1200B Novation Access 123 Signalman Mark 12 US Robotics 212A

communication soft, external modem internal w/Smartcom II includes Crosstalk 300/1200 baud Hayes compalible

355.00 489.95 399.59 395.89 269.90 459.75

ACCESSORIES

Key!ronics5150 Keytronics 5151

Microsoft

ergonomic keyboard 175.00 seperate cursor pad 219.00 Mouse w/software 129,79

TEAC DISK DRI

Conlrol Data

Control Data

Mitsubishi

Panasonic

Qume

Shugart

Tandon

Teac

9409 IBM approved 9428 hall height 5851 hall height JA551 half height 142 half height SA455 half height 100-2 FD55B half height

239.90 229.90 189.99 159.00 199.95 199.45 179.95 139.00

AST*265

SIX PAK PLUS

MULTIFUNCTION CARDS

AST SixPackPlus 64K with software ASTSixPackPlus 384K fully populated board

AST MegaPlus I AST MegaPak Persyst Board Quadboard STB RIO Plus STB Super I/O

AST Monograph Plus Hercules Graphic PC Peacock Color Plantronics ColorPlus Quad Color I STB Graphics Plus

64K to 512K with MegaPak 256K piggyback / MegaPlus 64K with software 64K with six functions 64K with PC accelerator serial/par'l/game port

VIDEO CARDS

monochrome/graphic two year warranty mono. RGB. graphics printer port / software expandable, high res. with software

Franklin 10MBext. Franklin 10MB int. Maynard 10MB int.

controller, power 3X speed of XT full XT emulation

265.00 499.00 269.00 279.00 319.00 249.00 279.00 184.99

449.79 339.89 269.00 379.98 209.75 379.67

1195.45 99595 998.97

MEMORY

4164 Memory Chips 64K Set (9 chips) 8087 Coprocessor

150 or 200 ns with instructions arithmetic chip

5.95 48.95 199.54

Epson Comrex

PLOTTER

*m

The Comrex Comscriber I is the ideal solution to make short work of translating financial and other numeric data into a graphic presentation. Complete with menu driven software for use with either IBM/PC or Apple II. Along with this are included multicolor plotter pens, demonstration software and interface/cable.

The Comscriber I was originally priced to sell at S795. This is your opportunity to purchase a high value graphic plotter aton!ySlB9. IBM/PC COM-C1PC; Apple COM-C1A2

PRINTERS

Epson RX-80 with quiet mode 284.90

Epson RX-80 F/T friction and tractor 339.90

Epson FX-80 with pin and tractor 519.90

Epson FX-100 F/T international sets 689.90

Epson LX-1500 67 cps letter quality 1189.90

Gemini 10X friction and Iractor 277.75

Gemini 15X wide carriage 379.75

Okidata 80 affordable 279.00

Okidata82A parallel interface 299 00

Okidata 83A wide carriage w/tractor 559 00

Okidata 84 200 char/sec. 975.00

Okidata 92 Okigraph graphics 427.00

Okidata 93 wide carriage w/tractor 595.00

LETTER QUALITY

Brother HX-15 Brother HX-25 Comrex CR-II Diablo 620 Diablo 630 Juki 6100 SilverReedSOO SilverReed 550

wide carrage high speed includes 5K buffer 35 cps

serial and parallel 14 cps, 15 " carriage w/micro justification w/multistrike ribbon

450.50 749.50 459.95 875.90 1699.90 435.45 429.95 499.95

Shipping: First five pounds $3.00, each additional pound $.50. Foreign orders: 10% shipping, excess will be refunded. California residents add 6Vi% sales tax. • COD's discouraged. Open accounts extended to state supported educational institutions and companies with a strong "Dun & Bradstreet" rating.

PC

<1679i

System I includes

64K byte of memory

one 320Kbyte double

sided disk drive, and ^^^">

keyboard. Monitor and video board available.'

System II includes 256K byte of memory two 320K byte disk drives,

Sakata color monitor, color card with printer port all for only $2659.

FREE

Second Drive or Monitor

SANYO

IBM COMPATIBLE

t

89$

The Sanyo MBC-550 Microcomputer includes 128K byte of memory, a 5 W disk drive along with a parallel printer port. The computer outputs both RGB color and monochrome composite video. Extensive software such as Sanyo Basic, Wordstar, Calcstar and Easy Writer I is included with the MBC-550.

Along with all this California Digital offers "FREE" your choice of either a second disk drive, or a high resolution green or amber screen monitor. All at the super low price of only $895. Double sided 320K/byte disks drives are available at only $99 per drive additional.

Sanyo 550 Sanyo 550-2 Sanyo 550-2 Plus Sanyo 555 Sanyo 555-2 Memory Upgrade Serial Card DOS 2.11

FREE monitor or drive one double sided drive two double sided drives two sgl. drives, bonus soft, two dbl. drives, bonus soft. 256K total memory modem interface compatible, IBM DOS 2.0

895.00

949.00

095.00

095.00

249.00

99.95

85.00

75.00

DOUBLE SIDED

DISKETTES

Calif. Digital

Dysan

Maxell

Memorex

Scotch

CAL551 104/2D MD2 3491

745/01

error free diskettes 24.95

superior quality 42.50

high reliablity 37.95

electronically bonded 32.95

86 Proof 37.95

SOFTWARE

dBase II dBase III Framework Lotus 123 Symphony

data base manager new release ... by Ashton Tate super spreadsheet ... by Lotus

385.85 CALL 595.95 319.89 549.95

TOLL FREE ORDER LINE

(800) 421-5041

TECHNICAL & CALIFORNIA

(213)217-0500

The Source For All IBM Compatible Products

• 64K of Memory • 9 - 4164 • 1,000 pes

1 set for 5^T /

2 sets for 590

+ 256K Disk Controller

• 1 - 360K Disk Drive

• Keyboard

List $1995

$1695

IBM PC XT

• 256K, 10MesHard Disk • 1 - 320K Drive* Keyboard

List $4395

$3795

TEAC DISK DRIVE

• FD55B * Slimline, 360K

List $299

$155

MULTIDISPLAY CARD

• Monochrome or Color

Composite or RGB Video

• Light Pen & RF Mod Ports

• Parallel Printer Port

• 640 x 200

List $459

$299

PC PEACOCK

COLOR . BOARD

• IBM Color Card Compatible

• With Parallel Centronics

Printer Port

EPSON PRINTER

• FX80

• 160 cps

* With Near Letter Quality

Printing

List $399

$219

List $599

$439

OKIDATA PRINTER

* ML93A

• 160 cps

* 15" Wide Carriage

List $995

$639

SANYO COMPUTER

* MBC555-2

* 2 - 360K Disk Drives

• Bundled Software

List $1595

$1275

LOTUS

PIPELINE

COLOR

CARD

• Lotus 123

• PC Spread Sheet

List $495 $309

• Symphony

* Same as IBM * Color Composite Video

List $695

$529

List $249

$189

The Source!

ANCHOR MODEM

• Mark XII

• 1200 Baud

• Hayes Compatible

List $399

$239

[MasterCard.,'

• We Accept MC, Visa, Wire Transfers, Certified Checks

• COD's Avialible

• All Prices Reflect a Prepaid Discount

• Shipping Minimum 4.50

• Purchase Orders Accepted

• This Ad Supersedes all Others

Prices Subject to Change

The Sourc

VISA

CALL TOLL-FREE (800) 841-0905 For Lowest Prices & Fast Delivei

IBM & COMPATIBLE COMPUTERS

IBM

PCw/64K,1 Drive

.$1567

PCw/64K,2Drives

. 1743

PC XT, 256K10 Meg Disk

. 3795

COMPAQ

Compaq 128K, 1 Drive

.$1950

Compaq, 256K, 2 Drive

. 2295

COLUMBIA

1600-1,2-Drives(360K)

.$2495

1600-4,12MB Hard Disk

. 3875

MPC-XP Portable

. 2395

SANYO

MBC 550,1 -Drive, software ....

.$ 699

MBC555,2-Drives,160Kea

. 1035

MBC 550-1,1-Drive, 320K

. 979

MBC 555-2,2-Drives,320Kea. ..

. 1275

Optional Serial Port

89

Optional Drive w/Software .. .

. 199

TAVA

2-Drives, 128K, 2 Ser. 1 Par. Port, Color

Graphics Card & Hi-Res.

Green

.$1789

MODEMS

HAYES MICRO INC.

Smart Modem 300

.$ 205

Smart Modem 1200

. 489

1200BforPC

. 399

ANCHOR

Mark VII300 Baud

.$ 89

Mark XI11200 Baud

. 239

PROMETHEUS

ProCom1200

.$ 349

RIXON

PC212A, 1200 Baud Stand Alone.

.$ 399

U.S. ROBTICS

Password. 1200 Baud

.$ 319

DISKETTES

PIPELINE

Dbl./Dbl. Reinforced Hub 1 year

warranty $ 18

Flip File Holds 70 (smk. plexiglass). 16

PRINTERS

OKIDATA

ML92A(160cps)

ML93A(160cps)

92&93 Plug&Play

STAR MICRONICS

Gemini 10X, 120cps

Gemini 15X, 120 cps, 15" car. ...

JUKI

6100,18cpsltr.qual

Tractor Feed

.$ 439 . . 129

EPSON

RX80 . . RX80FT RX80 . . FX100 .

MONITORS

AMDEK

300G, 12" Green $ 129

300A,12" Amber 139

310A, 12" Amber Monochrome .. 165

ColorlH- Color Composite 299

Color II + RGBw/Cable 409

PRINCETON GRAPHICS

PGSHX12 $ 469

PGSMAX12 189

PGSSR12 640

IBM COMPATIBLE DISK DRIVES

TANDON

TM-55-2, % Height (360K) $ 195

TM-100-2(360K) $ 179

TEAC

FD55B,V4 Height (360K) $ 155

MATSUSHITA

Same as Panasonic, 1/s Ht. 360K ... $ 145

9409, (360K)

INTERFACE CARDS FOR IBM AND COMPATIBLES

AST RESEARCH

SixPac + 64K Par. & Ser. Software . $ 259 Mega + 64K exp. to 512K Ser. Port 259 MegaPack 256K option for Mega. . 269 l/o + Ser. & Optional Par. Game .. 149 Additional Ports *°

QUADRAM

Colorl $ 209

Colorll 229

Quadlink 449

64K 279

Quad Board II 269

HERCULES

Color Graphics Card .$ 329

PLANTRONICS

Color+ $ 379

IBM

Dos2.1 $ 57

Monochrome Monitor or Adaptor 229

FLOPPY DISK CONTROLLERS

Maynard $ 169

Maynard w/Ser. Port 229

Maynard w/Par. Port 229

Sigma Controller 159

DUST COVER

Covers Monitor, Mainframe & Keyboard $ 19

MORE ACCESSORIES

Koala Graphics Tablet $ 85

8087 Co-Processor ., 179

Kraft Joystick 3°

Par. Printer Cable S.,

USI

Paradise $ 299

PC

ColorCard $ 189

The Source!

Circle 143 on inquiry card.

ORDER DESK: (213)970-0177 (800)841-0905 (OUTSIDE CALIFORNIA)

MAIL ORDER:

1142 Manhattan Avenue, CP21 CUSTOMER SERVICE: Manhattan Beach, CA 90266 (213) 970-0177

RETAIL STORE:

New Location Openins Soon Call for Details

COMPU

IBM PC

256K, two disk drives 360K each, Drive Controller and Keyboard

$1899

IBM PORTABLE

256K, two disk drives

$2199

805-498-6635

IBMPCw/IOMB

256K, one (loppy Drive, Keyboard tncnn

10 MB Hord Disk with Controller >/5VV

BOOTS FROM HARD DISK Backup also available

IBMPC «/30MB

256K, one floppy Drive, Keyboard &'>r\nn 30 MB Hard Disk with Controller >0 VVV and Booster Power Supply BOOTS FROM HARD DISK Backup also available

• PRICE WAR • auus LAST

PRINTERS

FX-80 $489

-—.___M FX-100 $599

EPSON LQ 1500 iAU

OKIDATA 92P P"

W_VI_#MIM 93p $M9

INCLUDES PLUG & PLAY j)4P $799_

M__»2050 $799

NEC 3550 $1,499

DYNAX a000

ox-is $399

BROTHER HR-35 $999

IDS PRISM 132C ci aqq

COLOR PRINTER vl/^""

SHEET FEEDERS ,...

AND TRACTORS m

HARD DRIVES

UP TO 140 MB

BACKUP ALSO AVAILABLE CALL

WITH YOUR BEST QUOTES

NETWORKING

EVEREX10MB

w/Controller ond 2 Year Warranty

$899

MAYNARD10MB/30MB

10MB/WS-1 $899 10MB/WS-2 $1,049

30MB CALL

ORCHID TECHNOLOGY

PC Net PLUS Starter Kit $999

CORVUSOMNINET

TALL GRASS TECHNOLOGY

20 MB w/20 MB Backup 35 MB w/45 MB Backup 70 MB w/60 MB Backup.

$3,299 $4,495 ...CALL

PLOTTERS

AMDEK AMPLOTII

6 Pens

$799

HEWLETT PACKARD

7470A 2 Pens $949

7475A - 6 Pens .. $1,699

_«. -M^0XY-101

ROLAND dxy-800

1 Pen .

8 Pens.

$599 $799

hOUStOII DMP 40-2 Pens... $799

instrument dmp29-8Pens...$1799

MONITORS

MAX-12 Amber $179

.__»_- HX-12 $449

PGSSR12 $599

FLOPPY DRIVES

__ _ _ HALF 55B-DSDD $149

■ EAC HEIGHT 55FQUAD .... $199

FullHt-DSDD $199

CDC Half Ht.-DSDD $179

TANDON 100 2

Full Ht. DSDD

$179

+ $UPER $PECIAL$ +

64KRAM

Set of 9 chips

$45

ROLAND CC141 14

RGB.

$599

300 Green $119

_______ 300 Amber $139

AMDEK 310 Amber $159

MODEMS

MICROCOM ERA 2

Internal $329 Standalone $439

_____ -__« Color/Graphics Card $199

IBM PC MonoChrome/PrinterCard $199

PGS HX-12

$449

SANTA CLARA SYSTEMS

PC Terminal CALL

_ __ MonoGraph Plus w/clock & PP.. .. $369 AST Serial Port Option $30

QUAD Color I ..$199 Color II $199 EVEREX Graphics Edge $399

TECMAR Graphics Master $449

_________ __, Mono Graphics $329

HERCULES Color Graphic $199

new stb yII $349

PLANTRONICS i $366

PARADISE Multi-display Cord $299

Tseng Labs Ultra PAK $409

MULTI-FUNCTION CARDS

QUADBOARD $199

AST SIX PAK with 64K (to 384K) $249

■■m»■&_■-_? Magic c

EVEREX ilk (m

Moqic Card

$229

TEAC Disk Drive

FD55B, 360K slimline, PC Compatible

$149

HAYES 1200B...

SMARTMODEM

$399 $479

KEYTRONIC

Deluxe Keyboard KB5151

$199

ERA 2 MODEM

PC Internal 1200 Baud w/sollware, 4 Yr. Warranty

$329

COMPAQ

256K, 2 Disk Drives

$1999

MISC. ADD ONS

PRACTICAL PERIPHERALS MICR0BUFFER

CALL

CABLE Parallel or Serial

$20

IBM PC DOS 1.1 ..$20 DOS 2.1 . $50

IBM PC Floppy Drive Controller S I J 7

COMPUTER POWER ACCESSORIES DIRECTOR

$109

STANDBY 200 WATTS $299

POWER SUPPLY 300 WATTS $399

Surae Protection, uo to 30 minutes Standby Power

282

BYTE Guide to the IBM PC • Fall 1984

Circle 37 on inquiry card.

PARTIAL LISTING ONLY - PLEASE CALL OR WRITE FOR FREE CATALOG.

STATIC RAMS

2114

2114-25

2114L-2

TMM2016-200

TMM2016-150

TMM2016-100

HM6116-4

HM6116-3

HM6116LP-4

HM6116LP-3

HM6264

1024x4 (450ns)

1024x4 (250ns)

1024x4 (200ns) (LP)

2048x6 (200ns)

2048x8 (150ns)

2048 xB (100ns)

2048 x 8 (200ns) (cmos)

2048x8 (150ns) (cmos)

2048 x 8 (200ns) (cmos) (LP)

2048x8 (150ns) (cmos) (LP)

8192x8 (150ns) (cmos)

8/9.95 8/10.95 8/13.95 4.15 4.95 6.15 4.75 4.95 5.95 6.95 39.95

LP = Low Power

DYNAMIC RAMS

4116-250 4116-200 4116-150 4164-200 4164-150 TMS 4164-15

16364x 1 16384x 1 16384X 1 65536x1 65536x1 65536 x1 5v

(250ns) (200ns) (150ns) (200ns) (5v) (150ns) (5v) (150ns) (5v) = Single 5 volt supply

EPROMS

8/7.95

8/12.95

8/14.95

5.95

6.95

8.95

2708

2716

2716-1

TMS2532

2732

2732-250

2732-200

2732A

2732A-2

27128

1024x8 (450ns) 3.95

2048x8 (450ns) (5v) 3.95

2048 x 8 (350ns) (5v) 5.95

4096x8 (450ns) (5v) 5.95

4096x8 (450ns) (5v) 4.95

4096x8 (250ns) (5v) 8.95

4096x8 (200ns) (5v) 11.95

4096 x 6 (250ns) (5v) (21 vPG M) 9.95

4096x6 (200ns) (5v)(21vPGM) 13.95

16384x8 (300ns) (5v) 29.95 |5v = Single 5 voll supply 21vPGM = Program at 21 Volts

SPECTRONICS CORPORATION

I EPROM ERASER PE-14, 9chipcapacity 63.00

8039 8080 8085 8087 8086 8155 8748

8000

8203

8205

B212

8216

8226

8237-5

8243

6250

8251

8253

8253-5

8255

8255-5

8259

8259-5

6275

8279

8282

8284

8286

8200

Z-80

5.95

3.95

4.95

CALL

29.95

6.95

24.95

39.95 3.50 1.80 1.75 3.49

21.95 4.45

10.95 4.49 6.95 7.95 4.49 5.25 6.90 7.50

29.95 8.95 6.50 5.50 6.50

ZBO-CPU

Z80-PIO

Z80ACPU

Z80ACTC

Z60APIO

Z80A-SIO/0

Z80B-CPU

3.95 3.95 4.49 4.95 4.49 12.95 9.95

6500

6502

4.95

6522

6.95

6502A

6800

6.95

6802

7.95

6809E

14.95

6821 6845

2.95 14.95

6850

3.25

6663

22.95

DISK CONTR

1771

24.95

1791

24.95

1793

26.95

2791

54.95

2793

54.95

INTERFACE

8T28 1.89

8T97 .89

DM8131 2.95

DP8304 2.29

9334 2.50

9368 3.95

CLOCK CHIPS

MM5369 3.95

MM56167 12.95

MSM5B32 3.95

DATA ACQ

ADC0804 3.49

ADC0809 4.49

ADC0817 9.95

SOUND CHIPS

76486 5.95

AY3B910 12.95J

RESISTORS

% WATT 5% CARBON |

FILM ALL STANDARD

VALUES FROM 1 OHM |

TO 10 MEG OHM

50PCS./VALUE .025 | 100PCS./VALUE .02 1000PCS./VALUE .015 |

DIP SWITCHES

IC SOCKETS

8 pin ST 14 pin ST 16 pin ST 18 pin ST 20 pin ST 22 pin ST 24 pin ST 28 pin ST 40 pin ST 64 pin ST

.13 .15 .17 .20 .29 .30 .30 .40 .49 4.25

100 .11 .12 .13 .18 .27 I .27 •27 .32 .39 call

ST = SOLDERTAIL 8 pin WW .59 .49 |

4 POSITION

5 POSITION

6 POSITION

7 POSITION

8 POSITION

MISC.

ULN2003 3242 MC3470 AY5-1013 . COM8116

.65 .90 .90 .95 .95

2.49 7.95 4.95 3.95 10.95 J

14 pin WW 16 pin WW 16 pin WW 20 pin WW 22 pin WW 24 pin WW 26 pin WW 40 pin WW

.69 .69 .99 1.09 1.39 1.49 1.69 1.99

.52

.58

.90

.98

1.28

1.35

1.49

1.80

WW = WIREWRAP 16 pin ZIF 6.95 call j 24pinZIF 7.95 call | 28 pin ZIF 8.95 ci

ZIF = TEXTOOL (Zero Insertion Force)

ORDER TOLL FREE

800-538-5000

M'lttrlWfc

(CALIFORNIA RESIDENTS)

rD-SUBMINIATURE CONNECTORS^

DB09P Male 9 Pin D-Sub $2.08

DB25P Male 25 Pin D-Sub 2.50

DB25S Female 25 Pin D-Sub 3.25

DB25SR Female 25 Pin Right Angle PC 4.42

GREY HOOD lor DB25Connectors 1.25 1

IDC CONNECTORS

I IDS26 26 Pin Ribbon Socket 2.43

IDS34 34 Pin Ribbon Socket 3.15

IDS50 50 Pin Ribbon Socket 4.65

IDE34 34 Pin Ribbon Edge Card 3.25

IDP16 16 Male Pin Dip Plug 1.65

1RC50 50 Conductor Ribbon Cable 1.38/lt.

PERIPHERALS

IJDR HALF-HEIGHT DISK DRIVE

*TEAC MECHANISM —DIRECT DRIVE

* 100% APPLE COMPATIBLE-35 TRACK

* 40 TRACK WHEN USED WITH OPTIONAL CONTROLLER

* 1 YEAR WARRANTY

$-|6995

40 TRACK CONTROLLER s4995

FD-35 FULL HEIGHT DISK DRIVE

* MADE IN USA

*SHUGART MECHANISM $"17Q95

* FULL 1 YEAR WARRANTY I # 57

CONTROLLER FOR FD-35 s4995

J BMX-80SOcps Bi-Directional s249°°

JDR 16K RAM Card s3995

[Power Supply 4amp Model s49"

JUMBO LEDS

1-99 100-up | RED .10 .09

GREEN .18 .15

YELLOW .18 .15

MOUNTING HAROWARE | .10 EA. 100/.09EA.

DISPLAYS

MAN 72 CA.3" .991

MAN 74 CC.3" .99

FND-357 CC.375" 1.25

FND-500 CC.5" 1.49

FND-507 CA.5" 1.49J

ELCOMP

Hardware Handbook I Mfr's Specs: LOGIC, MEMORY, MPU'sS. more

800 pfl, $149»l

'CAPACITORS

DISC

10pl 56pl

22pf 82pl

27p( 100pf

33pl 220pl

47pf .001uf

50V, .05* EACH MONOLITHIC .Olulmono 50V .14 .047uf-mono 50V .15 .lufmono 50V .18 .47uf-mono 50V .25 ELECTROLYTIC RADIAL 1ul 25V

47ul 35V

470ul 25V

2200uf 16V

AXIAL 1uf 50V

22uf 16V

47uf 50V

220uf 25V

COMPUTER GRADE 44,000ut 30V 3.95

CRYSTALS

32.768 khz

1.95

1.0mhz

3.95

1.8432

3.95

2.0

2.95

2.4576

2.95

3.276

2.95

3.579545

2.95

4.0

2.95

5.0

2.95

5.0688

2.95

6.0

2.95

6.144

2.95

8.0

2.95

10.0

2.95

10.738635

2.95

14.31818

2.95

15.0

2.95

16.0

2.95

17.430

2.95

20.0

2.95,

74LS00

DISCRETE

KBP02 Bridge .45 1N751 5.1v zener .25 1N759 12v zener .25

2N2222 PN2222 2N2905 2N2907 2N3055 2 N 3904 2N3906 1N4004 , 1N4148

.25

.10 .50 .25

.79

.10

.10

10/1.00

25/1.00 i

LINEAR

TL084

LM301

LM307

LM311

LM317T

LM319

LM324

LM339

LF351

LM353

LM358

LM380

LM386

LM393

TL497

NE555

NE558

NE564

LM565

LM566

LM567

NE592

LM723

LM741

LM1303

MC1408L8

LM1458

LM1488

LM1489

XR2206

XR2211

CA3146

LM3914

75150

75154

75188

75189

7805T

7808T

7812T

7815T

7805K

7812K

78H05K

78L05

78L12

7905T

7912T

79L05

79L12

2.19

.34

.45

.64

1.19

1.25

.59

.99

.60

1.00

.69

.89

.89

1.29

3.25

.34

1.50

2.95

.99

1.49

.89

2.75

.49

.35

1.95

2.95

.59

.69

.69

3.75

5.25

1.85

3.95

1.95

1.95

1.25

1.25

.75

.75

.75

.75

1.39

1.39

9.95

.69

.69

.85

.85

.79

.79

T = TO-220 K = TO-3 L = TO-92

HEAT SINKS

TO-3 style .95

TO-220 style .35

74LS00

74LS02

74LS03

74LS04

74LS05

74LS08

74LS09

74LS11

74LS14

74LS20

74LS21

74LS27

74LS30

74LS32

74LS33

74LS38

74LS42

74LS47

74LS51

74LS73

74LS74

74LS75

74LS76

74LS85

74LS86

74LS90

74LS92

74LS93

74LS107

74LS109

74LS112

74LS122

74LS123

74LS125

74LS126

74LS132

74LS133

74LS136

74LS138

74LS139

74LS148

74LS151

74LS153

74LS154

74LS156

74S00 74S02 74S04 74S05 74S08 74S10 74S11 74S20 74S32 74S74

7400 7402 7404 7405 7406 7407 7408 7410 7411 7414 7416 7417 7420 7425 7430 7432 7438 7442 7445

4001 4011 4013 4015 4016 4017 4020 4024 4027 4040 4042 4046 4049 4050 4051 4066

.24 .25 .25 .24 .25 .28 .29 .35 .59 .25 .29 .29 .25 .29 .55 .35 .49 .75 .25 .39 .35 .39 .39 .69 .39 .55 .55 .55 .39 .39 .39 .45 .79 .49 .49 .59 .59 .39 .55 .55

1.35 .55 .55

1.90 .69

74LS157 74LS158 74LS161 74LS163 74LS164 74LS165 74LS169 74LS173 74LS174 74LS191 74LS193 74LS194 74LS195 74LS221 74LS240 74LS241 74LS242 74LS243 74LS244 74LS251 74LS257 74LS258 74LS259 74LS260 74LS266 74LS273 74LS279 74LS2B0 74LS283 74LS290 74LS293 74LS299 74LS323 74LS365 74LS367 74LS368 74LS373 74LS374 74LS377 74LS390 74LS393 74LS640 74LS670 74LS682 74LS688

74S00

.32 .35 .35 .35 .35 .35 .35 .35 .40 .50

74S86

74S112

74S124

74S138

74S157

74S175

74S240

74S280

74S287

74S288

7400

.19 .19 .19 .25 .29 .29 .24 .19 .25 .49 .25 .25 .19 .29 .19 .29 .29 .49

7447

7473

7474

7475

7476

7486

7490

7492

7493

74121

74123

74132

74151

74154

74157

74164

74168

74192

74193

CMOS

.25 .25 .38 .39 .39 .69 .75 .65 .45 .75 .69 .85 .35 .35 .79 .39

4069

4070

4071

4081

4093

14411

4511

4518

4520

4553

4584

74C00

74C04

74C74

74C925

74C926

.65

.59

.65

.65

.69

.95 1.75 |

.69

.55

.B9

.79

.69

.69

.89

.95

.99

.99

.99 1.29

.59

.59

.59 2.75

.59

.55 1.49

.49 1.9B

1.75 3.50

.49

.45

.45 I 1.39 1.39 1.39 1.19 1.19 2.20 1.49 3.20 2.40

.50

.50

2.75

.85

.95

.95

2.20

1.95

1.90

1.90

.69 .34 .33 .45 .35 .35 .35 .50 .35 .29 .49 .45 .55

1.25 .55 .85

1.00 .79 .79

.29

.35

.29

.29

.49

11.95

.85

.89

.79

5.79

.75

.35

.35

.35

5.95

7.95J

1224 S. Bascom Avenue, San Jose, CA 95128

800-538-5000 • 800-662-6279 (CA)

(408) 995-5430 • Telex 171-110

VISIT OUR RETAIL STORE

HOURS: M-W-F, 9-5 T-Th., 9-9 Sat. 10-3

PLEASE USE YOUR CUSTOMER NUMBER WHEN ORDERING

TERMS: Minimum order $10. For shipping and handling Include $2.50 lor UPS Ground and $3.50 lor UPS Air. Orders over 1 lb. and foreign order* may require additional shipping charge* — please contact our sales department for the amount. CA residents must Include 6% sales tax, Bay Area and LA resldsnts Include 6'/,%. Prices subject to change without notice. We are not responsible for typographical errors. We reserve the right to limit quantities and to

Copyright 1984 JDR Microdevlces APPLE IS A TRADEMARK OF APPLE COMPUTER CC substitute manufacturer. All merchandise subject to prior sale.

Circle 191 on inquiry card.

Fall 1984 • BYTE Guide to the IBM PC

283

Tektronix 40XX Terminal Emulation

EMU-TEK™ IS NOW AVAILABLE FOR IBM PC, XT, AND MOST COMPATIBLES

• Access powerful mainframe graphics using: —PLOT 10 (trademark of TEKTRONIX, Inc.) —DISPLA (registered trademark of ISSCO) —DARC (available from QUESTEL, Inc.) —and most similar packages and services.

• Upgrade with complete software compatibility. ■ Increase versatility with options such as:

—High resolution board support —Local pen-plotter support —Hard copy on matrix printer —Advanced communications program features —Other terminal emulations, including: —VT100 (trademark Digital Equipment Corp.) —RETRO-GRAPHICS (trademark Digital Engineering, Inc.)

• 30 DAY NO-RISK TRIAL PRIVILEGE.

10801 Dale St./P.O. Box 615

/0„C\ FTG) Stanton, CA 906BO

>' (DATA SYSTEMS <™> 995-390° FTG will soon become PC INNOVATIONS

*IBM'!; PC Compatible

pcpipeune

C3l =3 ZZtJ

E-PROMS — Call1 Lowest Prices Anywhere

*4164-150/200 480

2764-250 675

6116-LP3 4"

HMM256K Call for quote

TTL Parts — now avail Call

Disk Drives: (F0.B. Tampa)

*TM-100-2 16995

*Half-Heights-2 16995

*10 mb Microscience w/cable & controller 959"

Add $3.95 shipping lo all orders • Prices subiect lo change • PO.'s on approval • C.O.D. OK • All new. no surplus, no seconds. QUANTITY DISCOUNTS. 4920 Cypress St., Ste. 100, Tampa, FL 33607

In FL and lor info, call 813-875-0299 FOR ORDERS ONLY, 800-237-8910

S 8AM-7PMEDT

Circle 63 on Inquiry card.

Circle 134 on inquiry card.

MEMOREX

SPECIAL OFFER

ON DATA RELIABLE DISCS

Memorex seals Its floppy discs with a process it developed, called Solid-Seam Bonding. This seals shut every inch of every seam of every Memorex floppy disc.

PLUSI If you call, write, or utilize reader service in response to this ad—we'll send you our full-range catalog of computer supplies with Special Offers good for further savings on Memorex diskettes and many other quality products.

LYBEN COMPUTER SYSTEMS

1250-E Rankin Dr., Troy, Ml 48083 Phone: (313) 589-3440

Simply #1 in Service & Reliability

CERTIFIED 100% ERROR-FREE

Circle 102 on inquiry card.

• PC compatible PROM 2000 card

• S100 compatible PROM 200 card

• Zero-Insertion socket on external bo*

• PROM type software selectable

• Personality box for EPROMS (24 pins & 28 pins)

• 2758 2516 2716 2732 2732A 2764 27128 27256 MC6874

• EPROM version of microprocessor ■ 874818749/8751

• 16 20 and 24 pins BIPOLAR PROMS

• 20 and 24 pins Programmable Logic array (PAL)

Advanced Microcomputer Systems, Inc.

6802 N W 20lh Avenue

Ft. Lauderdale, Florida 33309

Phone{305)975-9515

ams

N-CODE ™

PROTECTS YOUR FILES

Super-fast Data Encryption Unique Code for each User Multi-layered Security YOU select Coding Keys Guards your IBM-PC files 30-day Money-tiack Guarantee

S199 each. Demo Disk $10. For Orders/Free Brochure: (301) 564-8669 _ K + L Software

■I White Flint Mall P.O. Box 2303

Kensington, MD 20895

DUST COVERS

For Personal Computers and Small Business Systems, Peripherals, Game Units - Protective, Long-Lasting Vinyl Resists Both Dust and Liquids

- CHOICE OF COLORS

Amdek Franklin Ace

Apple IBM

Atari Kaypro

BMC Okidata

Columbia Rana Systems

Commodore Star Micronics Corona Televideo

Eagle Texas Instruments

Epson PLUS OTHERS

GROUP/VOLUME DISCOUNTS AVAILABLE

FOR FREE BROCHURE WRITE:

ENCHANTED FOREST

P.O. Box 5261, Newport Beach, CA 92662

(118 Onyx)

[Jealerlnquirie^nvitec^^^

Circle 6 on inquiry card.

Circle 93 on inquiry card.

PERIPHERAL SWITCH

AUTOMATIC SWITCHES FOR IBM PC

Fast, easy, automatic way to share a printer or modem among many computers. No software required. RS232 or Centronics. It scans for peripheral request, connects to the peripheral, handles all hardware handshaking, and releases the port. LEDs display channel selected and busy status. Attractive aluminum box. tt channels-price: 2-S200 4-S250 6-S300 8-S350

MANUAL SWITCHES FOR IBM PC Uses PC board and aluminum box. # lines switched RS232-10 Cent-20 RS232 l:2$59(wow) 1:4 $89

Centronics 1:2 $99 1:4 $179

Free book with each order entitled Serial and Parallel Explained

ROSE^^ASt^' AND VISA

ELECTHON.es ^"^^ (713)240-ROSE P.O. Box 742571 Houston, Tx 77274

COMPUTER PRODUCTS-GUARANTEED SAVE UP TO 50%

•COMPUTERS

IBM PC and compatibles, North Star, NEC Portable and more Call

•PRINTERS

Dynax DX-1S (LO.) parallel or serial S425.00

Brother HR-25 parallel or serial $695.00

Okidata 92 (160 c.p s.) Call

Panasonic 1091 dot matrix multimode printer Call

•PERIPHERALS

Drives: Tandon, Teac, NEC, Panasonic and more

Boards, monitors, plotters, cables and more at lowest prices

■ACCESSORIES

Printer Stand, computer covers, all models Call

Roll-Top Diskettes File (holds 100] $34.95

L.F High Quality 514" disks with hub rings, SSDD $1.75, DSDD 52.25 31/!" diskettes, mag tapes, diskpacks, data cartridge, etc. Call

•SOFTWARE

Peachtree Accounting-GL, AR, AP. Inventory Control,

Payroll, Job Costing S385.O0/ea.

Back to basics ser. lor IBM PC (accounting) Home Software Library lor IBM PC and PC jr S285.00

cBASE III, upgrade to dBASE III, Rbase, Peachtext 5000 Call Harvard Project Manager and other software at bargain prices

•TRAINING COURSE AND HANDBOOK

Lotus 1-2-3, dBASE II, Wordstar, Accounting and others S65.00/ea. Everyman's Database Primer (Book) $14.95

Educational software and much more Call

MANY OTHERS, AT LOWEST PRICE, PHONE OR WRITE ■■ Mail or Phone Your Order

mSb LF COMPUTER PRODUCTS 8660-D Miramar Fid. Suite 265, San Diego, CA 92126 (619) 566-6823 — Phone order full rebate

Mastercard/VESA add 3%. Shipping & Handling $3.95, Calif. Res. add 6% Sales Tax. All Products Manufacturer Guaranteed.

THE GRAYSCALER

The Grayscaler works with your color graphics card, substitutes sixteen brightness levels for color. Gives any composite green, white or amber monitor the crispness & power of RGB at a fraction of the cost. Software transparent. Just $59.95. Call Now Toll Free 1-800-824-7888. Ask for Operator 157 (AK. HI 1-800-824-7919) visa/mc 24hrs

Avocado Computer

17352 Yorkshire Ave.

Yorba Linda, CA 92686

714-528-1025

Circle 155 on inquiry card.

Circle 94 on inquiry card.

Circle 16 on inquiry card.

MAXIMIZE YOUR IBM PC OR XTI

MAXIMUM FLEXIBILITY-AII of the most asked for support features on one card plus SOFTDISK and SPOOL software to increase your PC's productivity!

MAXIMUM PERFORMANCE PER DOLLAR-Compare features with the best selling multifunction card and save!

MAXIMUM RELIABILITY-The MAXIMIZER features the highest quality 4-LAYER board construction, sockets for all RAM, and is backed by a fulll

ONE YEAR WARRANTY

^SIGMA DESIGNS, INC.

MAXIMIZER

COMPAREI

MAXIMIZER

AST6-PACK +

Maximum Memory RS-232 Serial Parallel Port Clock Calendar Game Adaptor

384K/512K'

2'

1

YES

Optional

384 K

YES

Optional

' withoptionaM28KMAXISTACK second serial port optional

$25995

(64K)

OPTIONS:

• 2nd Serial Port S4985

• Game Adaptor $2995 |

• 128KMAXISTACK '15995

• Additional 64K RAM S4900

PC PEACOCK

COLOR GRAPHICS ADAPTER

BY MA SYSTEMS

FULL IBM COMPATIBILITY

HIGH RES. 640x200 * MED. RES. 320x200

COMPOSITE AND RGB OUTPUT FOR ALL

STANDARD MONITORS

LIGHT PEN INTERFACE

CHOICE OF 16 COLORS IN HIGH RES. MODE!

PARALLEL PORT STANDARD!

* 2 YEAR WARRANTY!

YOUR BEST BUY NOW ONLY S23995

ffl s

ACCESSORIES

VERBATIM DATALIFE DS/DD

Parallel Printer Cable s3995

HAYES SMARTMODEM1200B s41995

includes Smartcom I!

SMART CABLE s8495

Universal RS-232 InterfaceInstantly connects any RS232 computer and peripheral. (Specify Male or Female)

!il;ji tin

(CALIFORNIA RES

DISK DRIVES

TANDON5V. TEAC HALF HEIGHT

FULL-HEIGHT

TANDON TM100-2 DS/DD !199"

HALF-HEIGHT

TEAC FD-55B DS/DD s159,!

MATSUSHITA JA551-2 DS/DD s149"

TEAC FD-55F DS/Quad s200°°

JFORMAT-2 s5995

Support for quad density drives from Tall Tree Systems

Dual Slimline cabinet with power supply s89

FROM JDRMICRODEVICES

PROTOTYPE BOARDS

IBMPR1 s27"

General purpose development board with convenient lines for power and ground. Holes on .1" centers.

IBM-PR2

SOQ95

529

As above, with modular signal decoding area providing buss buffering, block decoding, and additional decoding.

Both cards feature high-quality glass epoxy with plated-through holes, solder mask on 2 sides, silk-screened legend for all signals, and gold card-edge contacts. Mounting bracket and instructions included.

8087 5MHz $175 4164 200ns 9/$49

130W POWER SUPPLY

XT COMPATIBLE UPGRADE YOUR PC

INSTRUCTIONS INCLUDED

+ 5V- 15A + 12V-4.2A

-5V-.5A -12V-.5A

Above cabinet with 2 FD-55B disk drives and cable

$17goo

xjur\ iviicroaevices

1224 S. Bascom Avenue, San Jose, CA 95121!

S. Bascom Avenue, San Jose, CA 95128 800-538-5000 • 800-662-6279 (CA) (408) 995-5430 • Telex 171-110

© Copyright 1984 JDR Micr ode vice.

ONE YEAR WARRANTY

VISIT OUR RETAIL STORE

HOURS: M-W-F, 9-5 T-Th., 9-9 Sat. 10-3

PLEASE USE YOUR CUSTOMER NUMBER WHEN ORDERING

TERMS: Minimum order $10. For shipping and handling include $2.50 lor UPS Ground and $3.50 for UPS Air. Orders over 1 lb. and foreign orders may require additional shipping charges — please contact our sales department tor the amount. CA residents must include 6% sales tax. Bay Area and LA residents include 6*'?%. Prices subject to change without notice. We are not responsible for typographical errors. We reserve the right to limit quantities and to substitute manufacturer. All merchandise subject to prior sale.

Circle 192 on inquiry card.

Fail 1984 • BYTE Guide to the IBM PC

285

BOMB

BYTE's Ongoing Monitor Box

ARTICLE* PAGE ARTICLE AUTHOR(S)

1 30 IBM Forecast: Market Dominance Killen

2 42 A Tale of Two Operating Systems Daney. Foth

3 59 The Future of UNIX on the IBM PC Phraner

4 65 Five Window Managers for the IBM PC. . . Markoff

5 91 Two Logos for the IBM PC Goldberg

6 125 The Logical Record Keeper:

PROLOG on the IBM Weiner

7 134 An Introduction to PC Assembly

Language Programming Claff

8 155 Technical and Business Graphics

on the IBM Bishop

9 165 Word Processing Revisited Cameron

10 187 Six Database Management Systems Kruglinski

11 197 Evaluating 8087 Performance

on the IBM PC Fried

12 210 The IBM XT/370 Personal Computer Sabine

13 218 Number Crunching on IBM's New S9000. . States

14 231 The Mainframe Connection:

IBM's 3270 PC Augustin

15 238 Modems: The Next Generation Klein

16 248 Moving Data Between PCs and Mainframes Siegel

17 2 56 Testing for IBM PC Compatibility Stillman

IBM Special BOMB Card Explanation

lust as with your regular issues of BYTE, the editors would like to survey how effectively each article in our BYTE Guide serves our audience. Fill out the card opposite the readers' index, mail it in, and look for the tabulation of your votes in the December issue of BYTE.

First-place winner will receive a bonus of SI00, second-place performer will receive S50, and the article that scores third will be mentioned in these pages.

BITE

"back issues for sale

1976

1977

1978

1979

1980

1981

1982

1983

1984

Jan.

$2.75

$3.25

$3.25

$3.70

$4.25

Feb.

S2.75

$2.75

$3.25

$3.25

$3.70

$4.25

March

$2.75

$3.25

$3.70

$3.70

$4.25

April

52.75

$2.75

S3.25

$3.25

$3.70

$3.70

$4.25

May

S2.00

S2.75

$2.75

$3.25

$3.70

$3.70

$4.25

June

$2.00

$2.75

$2.75

S3.25

$3.70

$3.70

$4.25

July

$2.00

S2.00

$2.75

$2.75

$3.25

$3.70

$4.25

$4.25

Aug.

S2.00

$2.75

$2.75

$3.25

$3.70

$4.25

$4.25

Sept.

S2.75

$2.75

$2.75

$3.25

$3.70

$4.25

Oct.

$2.75

$2.75

$3.25

$3.25

$3.70

$4.25

Nov.

$3.25

$3.25

$3.70

$4.25

Dec.

S2.75

S2.75

$3.25

$3.25

$3.25

$3.70

$4.25

Circle and send requests with payments to: BYTE Back Issues P.O. Box 328 Hancock, NH 03449

Prices include postage in the US. Please add $.50 per copy for Canada and Mexico; and S2.00 per copy to foreign countries (surface delivery).

□ Check enclosed

Payments from foreign countries must be made in US funds payable at a US bank.

□ VISA

Card § _ Exp.

□ Master Card

Signature

Please allow 4 weeks for domestic delivery and 12 weeks for foreign delivery.

NAME

ADDRESS

CITY

STATE

ZIP

286

BYTE Guide to the IBM PC • Fall 1984

READER SERVICE

Inquiry No.

Page No.

1

2

3

4

5

6

7

9

10

II

13

14

15

16

17

18

19

20

21

22

23

25

26 27 152

28 29 30 31

A.S.T RESEARCH 80. 81

AB COMPUTERS 273

ACL INC 174

ADDMASTER CORP. 276

ADV. ANALYTICS TECH. CORP. 276

ADVANCED MICRO SYSTEMS INC 284

ALLOY COMPUTER PRODUCTS 86

ALPHA SOFTWARE CORP. 49

AMERICAN MITAC CORP. 45

APPARAT INC 114. 115

APPLIED COMP. PROD. INC 264, 265

ASHTON-TATE 247

AVOCADO COMPUTER 278

AVOCADO COMPUTER 284

AVOCET 101

BAY TECHNICAL ASSOC 15

BETATOOL SYSTEMS 262

BIBLE RESEARCH SYSTEMS 77

BIT SOFTWARE INC 77

BMDP STATISTICAL SOFTWARE 151

BORLAND INT'L Cll

BOTTOM LINE. THE 126

BYTE BACK ISSUES 286

BYTE ADV. MESSAGE 200. 201

C WARE 244

C-SOURCE 202

C.S.D. INC 138

CABRILLO SOFTWARE 276

CALIF. DIGITAL 279

CANON USA 137

CANON U.S.A 139

CAPITAL EQUIPMENT CORP. 46

CDI 120, 121

Inquiry No.

Page No.

32 CHELSEA-SKYE INC 278

33 CHORUS DATA SYSTEMS 145

34 CIE TERMINALS 55

35 COGITATE 98

36 COMMERCIAL BUSINESS SYS 271

37 COMPUMAIL 282

38 COMPUTER AID COVERS 276

■ COMPUTER CHANNEL 272

39 COMPUTER FURN. 6- ACCSS 142

184 COMPUTER MAIL ORDER 93

47 COMPUTER PRICE CLUB 160

42 COMPUTERS FOR LESS 207

43 CORECO INC 74

44 CUESTA SYSTEMS 67

48 DATA COPY SYSTEMS 85

45 DATASOUTH COMP. CORP. 237

46 DIGI-DATA CORP. 103

41 DIGITAL LABORATORIES 246

193 DISC INSTRUMENTS 154

194 DISC INSTRUMENTS 154

50 DOW IONES SOFTWARE 95

51 DWIGHT CO.. INC 276

52 DYNAX, INC 159

53 EASTERN SOFTWARE PROD 148

54 ECOSOFT 255

55 ELECTRADE CO 118

56 ELEK-TEK 262

57 EMERALD SYSTEMS CORP 38

58 EMPRESS TECH INC 38

■ ENCHANTED FOREST 284

59 ENERTRONICS 169

60 EPSON AMERICA 225

61 EVEREX SYSTEMS 135

Inquiry No.

Page No.

62 64 63 65 66 181 68 69 70 71 72 73 74 75

78 79 80 81 82 83 84 85 86 87 88 89 90 91 191 192 93

EXPOTEK 78

FT.G. DATA SERV. 100

FT.G. DATA SERV. 284

FLAGSTAFF ENGINEERING 70

FLOPPY DISK SERV. INC 234

FRIENDLYSOFT 152

GENICOM 13

GREAT LAKES COMPUTER 33

GRYPHON MICRO PROD 100

GTEK INC 96

HANDWELL CORP. 272

HAUPPAUGE COMP. WORKS 229

HAYES MICROCOMP. PROD 16. 17

HEATH COMPANY 104, 105

HERCULES COMPUTER TECH 57

HERCULES COMPUTER TECH Ill

HERMES PRECISA INT'L 83

HEWLETT-PACKARD 22, 23

HIERATIC COMP. SYS 278

HOOLEON COMPANY 47

l-BUS SYSTEMS 195

IBM-(ISG) SERVICES 119

IBM CORP. 6, 7

IBM NDD-SYS. SUPPLIES 58

INDUSTRIAL PROGRAMMING 233

INTERFACE INC 236

INTERFACE INC 236

l&M SYSTEMS 183

|&M SYSTEMS 183

IAMECO ELECTR 99

IDR MICRODEVICES INC 283

|DR MICRODEVICES INC 285

K&L SOFTWARE 284

BYTE ADVERTISING SALES STAFF:

J. Peter Huestis, Advertising Sales Manager, 70 Main Street, Peterborough, NH 03458,

tel. (603) 924-9281

NEW ENGLAND

SOUTHEAST

SOUTHWEST, ROCKY MOUNTAIN

NORTH PACIFIC

ME, NH. VT. MA. RI

NC, SC. GA. FL, AL. TN

UT. CO. WY, OK. TX, AR. MS. LA

HI. WA, OR. ID, MT. NORTHERN CA.

Paul McPherson Ir. (6171 262-1 160

Maggie M. Dorvee (404) 252-0626

Alan Morris (214) 458-2400

NV (except LAS VEGAS). W. CANADA

McGraw-Hill Publications

McGraw-Hill Publications

McGraw-Hill Publications

David lern (4151 362-4600

57 5 Boylston Street

4170 AshfordDunwoody Road-Suite 420

Prestonwood Tower—Suite 907

McGraw-Hill Publications

Boston. MA 021 16

Atlanta. GA 30319

5151 Beltline

425 Battery Street

Dallas. TX 75240

San Francisco, CA 941 11

ATLANTIC

MIDWEST

Nl (NORTH), NY. NYC. CT

1L. MO. KS. IA. ND. SD. MN. Wl. NB

SOUTH PACIFIC

Bill McAfee (415) 964-0624

Dick McGurk (2121 512-3588

lack Anderson (3121 751-3740

SOUTHERN CA, AZ, NM. LAS VEGAS

McGraw-Hill Publications

Leah S. Goldman 1212) 512-2096

McGraw-Hill Publications

Page Goodrich (714) 557-6292

1000 Elwell Court-Suite 225

McGraw-Hill Publications

Blair Building

McGraw-Hill Publications

Palo Alto. CA 94303

1221 Avenue of the Americas— 39th Floor

64 5 North Michigan Ave

3301 Red Hill Ave.

New York. NY 10020

Chicago, IL 60611

Building #1—Suite 222

WEST COAST SURPLUS

Costa Mesa. CA 92626

AND RETAIL ACCOUNTS

EAST

GREAT LAKES, OHIO REGION

Tom Harvey (805) 964-8577

PA IEAST), N| (SOUTH).

Ml, OH, PA (ALLEGHENY). KY IN.

Karen Niles (2131 480-5243, 487-1160

3463 State Street-Suite 2 56

MD, VA, W.VA. DE. D.C.

EASTERN CANADA

McGraw-Hill Publications

Santa Barbara. CA 93105

Daniel Ferro (215) 496-3833

Dennis Riley (3131 352-9760

3333 Wilshire Boulevard #407

McGraw-Hill Publications

McGraw-Hill Publications

Los Angeles. CA 90010

Post Card Mailings

Three Parkway

4000 Town Center-Suite 770

National

Philadelphia. PA 19102

Southfield. Ml 48075

Bradley Browne (603) 924-6166 BYTE Publications 70 Main Street Peterborough. NH 03458

International Advertising Sales Representatives:

Mr Hans Csokor

Mrs. Maria Sarmiento

Mr. Arthur Scheffer

Seavex Ltd.

Publimedia

Pedro Teixeira 8. Off. 320

McGraw-Hill Publishing Co.

Room 102. Yu Yuet Lai Bldg.

Reisnerstrasse 61

Iberia Mart 1

34 Dover St.

43-55 Wyndham St. Central

A-103 7 Vienna. Austria

Madrid 4. Spain

London WIX 3RA

Hong Kong

45 52 891

England 01 493 1451

Mrs Gurit Gepner

Hiro Morita

McGraw-Hill Publishing Co.

Mr. Andrew Karnig

Mr. Savio Pesavento

McGraw-Hill Publishing Co.

PO Box 2156

Andrew Karnig &■ Associates

McGraw-Hill Publishing Co.

Overseas Corp

Bat Yam. 59121 Israel

Kungsholmsgatan 10

Via Flavio Baracchini 1

Room 1528

866 561 321 39

1 12 27 Stockholm. Sweden

20123 Milan, Italy

Kasumigaseki Bldg.

08 51 68 70

86 90 656

3-2-5 Kasumigaseki

Mr Fritz Krusebecker

Chiyoda-Ku

McGraw-Hill Publishing Co.

Mr Ken Davey

Seavex Ltd.

Tokyo 100. Japan

Liebigstrasse 19

McGraw-Hill Publishing Co.

05-49/50 Tanglin Shopping Center

581 9811

D-6000 Frankfurt/Main 1

17 rue Georges Bizet

19 Tanglin Rd.

West Germany

F 751 16 Paris

Singapore 1024

72 01 81

France 720 33 42

Republic of Singapore

Fall 1984 • BYTE Guide to the IBM PC

287

READER SERVICE

Inquiry No.

Page No.

94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 113

116 117 118 119 120 121 122 123 124 125 126 127 128 129

L.F. COMPUTER PRODUCTS 284

LABORATORY MICROSYS 215

LAKE AVENUE SOFTWARE 215

LARK SOFTWARE 259

LIBRA PROGRAMMING 246

LIFETREE SOFTWARE INC 75

LIGO RESEARCH INC 162

LOGICAL DEVICES 175

LYBEN COMP SYS 284

LYCO COMPUTER 271

MANDINGO COMPUTER 254

MARC SOFTWARE 178

MAXELL DATA PRODUCTS 146

METALINK CORP. 118

MICRO AGE COMP. STORES INC 107

MICRO CENTRE 241

MICRO MART INC 52. 53

MICRO MINT 270

MICRO-TAX 39

MICROCOMPATIBLES 276

MICROCOMPATIBLES 276

MICROSOFT CORP. 112, 113

MICROTIME 106

MICROWARE 116

MILLER MICROCOMP. SERV. 102

MULTI-TECH SYSTSEMS 242

MULTIMATE INTL 68. 69

NATIONAL INSTRUMENT 4

NEC INFORMATION SYS CHI

NEW GENERATION SYS 230

NORTH HILLS CORP. 276

NORTH HILLS CORP. 278

OKIDATA 5

OPTO-22 143

OPTO-22 143

ORCHID TECHNOLOGY 90

Inquiry No.

Page No.

130 ORION INSTRUMENTS 260

131 ORYX SYSTEMS 257

132 PC. NETWORK 184, 185

133 PC PERFORMANCE 182

134 PC PIPELINE 284

135 PC'S LIMITED 173

136 PENCEPT INC 130

137 PERSOFT 99

• PERSONALIZED COMP. PAPER 150

138 PERSYST. INC 28. 29

139 PERSYST. INC 28. 29

141 PHOENIX ELECTRONIC DEVLP 278

142 PHONE I. INC 207

143 PIPELINE COMPUTER 280. 281

145 PLUM HALL INC 117

146 PRECISION DATA 118

147 PRINCETON GRAPHIC SYS 177

144 PUBLIC DOMAIN SOFTWARE CTR 278

148 QUADRAM CORP. 8

149 QUADRAM CORP. 63

150 OUB1E DISTRIBUTING 79

151 QUB1E DISTRIBUTING 223

153 QUESTIONNAIRE SERV CO. 276

TO GET FURTHER information on the products advertised in BYTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Add a 20-cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE. The index is provided as an additional service by the publisher, who assumes no liability for errors or omissions. •Correspond directly with company.

Inquiry No.

Page No.

155 156 189 190 158 159

160 161 162 163 164

175 177 166 167 168 169 165 172 173

178 179

180 67 182 183 188 185 186 187

RACAL-VADIC 132. 133

ROSE ELECTRONICS 284

ROSESOFT INC 98

S-100 DIV 696 CORP. 277

S-100 DIV. 696 CORP. 277

SATELLITE SOFTWARE 167

SAV-ON COMPUTERS 274. 275

SCIENTIFIC RESEARCH CORP 110

SCITOR 88. 89

SECTOR SYSTEMS CO. 278

SEEOUA COMP CORP II

SIGNAL TECHNOLOGY 21

SMARTWARE INC 261

SOFTCRAFT INC 64

SOFTUNE CORP. 131

SOFTWARE GROUP, THE (insert! 64 AD

SOFTWARE LINK, THE 50

SOLUTIONWARE CORP. 278

SPEECH PLUS 171

SPERRY COMP SYS 25

SPSS 186

STSC 27

TDI SYSTEMS INC 170

TECMAR INC CIV

TEXAS INSTRUMENTS 40

THIRD RAIL. THE 278

THOUGHTWARE INC 161

TINNEY. ROBERT GRAPHICS 263

VEN-TEL INC 34

VISAGE 243

WADSWORTH PROFESSIONAL SOFTWARE .... 182

WALONICK ASSOCIATES 255

WESTERN UNION 97

WILLIAMS. MARK CO, 109

WINTEK CORP. 19

WRITING CONSULTN 251

SUBSCRIBERS ONLY! USE AIMS Avai,ab7%l4ys0aUweaekday and BYTE'S AUTOMATED INQUIRY MANAGEMENT SYSTEM

GET PREPARED ...

1) Write Your Subscriber Number, As Printed On Your Subscriber I.D. Card, In Boxes In Step 4 Below. (Do Not Add 0's.)

2) Write Numbers For Information Desired In Boxes In Step 6b Below. (Do Not Add 0's.)

CALL AIMS ...

3) Now, On a Touch-Tone Telephone Dial: (413) 442-2668 And Wait For Voice Commands.

ENTER YOUR SUBSCRIBER AND ISSUE NUMBERS . . .

4) When AIMS Says: "Enter Subscriber Number" . . .

(Enter by pushing the numbers and symbols [# or * enclosed in the boxes] on telephone pad

ignoring blank boxes)

Enter DDDDDaDDii

5) When AIMS Says "Enter Magazine Code & Issue Code" . . . Enter tTJ ffl DD L2 fH ffl ffl

ENTER YOUR INQUIRIES ...

6a) When AIMS Says "Enter (Next) Inquiry Number" . . .

Enter One Inquiry Selection From Below . . . (Ignore Blank Boxes) b) Repeat 6a As Needed (Maximum 17 Inquiry Numbers)

I.

DDDB1

6.

DDDfflffl

10.

□ DDlffl

14.

ODD

2.

□ □□Lag]

7.

DDDBI

11.

DDDfflffl

15.

DDD

3.

DDDfflffl

8.

DDDfflffl

12.

DDDfflffl

16.

DDD

4.

DDOfflB

9.

DDDfflffl

13.

DDDfflffl

17.

ODD

5.

DDDfflffl

END SESSION . ..

7) End Session By Entering . . . E B L9J CD El ffl

8) Hang Up After Hearing Final Message

If you are a subscriber and need assistance, (603) 924-9281.

call

If you are not a subscriber fill out the subscription card found in this issue or, call BYTE Circulation 800-258-5485.

288

BYTE Guide to the IBM PC • Fall 1984

NO OTHER LETTER-QUALITY PRINTER CAN TOUCH OUR NEW SPINWRITER FOR SPEED AND EA5EOFUSE.

Introducing the Spinwriter 8850.

Our newest, and fastest, Spinwriter® printer operates at over 550 wordsper-minute. And is extraordinarily easy to operate.

For one thing the Spinwriter 8850 takes care of basic settings such as pitch and forms length automatically. Of course you can also change either

.

THE 8850 JOINS THE HIGHLY-RELIABLE SPINWRITER LINE

one at the touch of a button. It also has a unique control panel. With large, legible alphanumeric LED's to indicate the specific operating status. And make it simple for even an unfamiliar operator to use. And, of course, the 8850 has all the features, quality and reliability that

UNIQUE LED DISPLAY TELLS

USER EVERYTHING FROM THE

FACT THAT PAPER IS OUT

TO THE FACT THE COVER IS OPEN

make a Spinwriter a Spinwriter. The first choice of IBM PC users.

The Spinwriter printer was the first totally plug compatible letter-quality

printer available for the IBM® PC. It's still one of the few that works with all IBM PC software, as well as all other popular packages. You'll notice even its looks are compatible.

Spinwriter printers also give you capabilities you won't find on other printers. Like a selection of 80 different print styles.

And, nine easily installed forms handling options that can accelerate your printed output even more. Spinwriter printers also have an enviable record for reliability.

In fact, several

CHANGE FORMS LENGTH AT THE PRESS OF A BUTTON.

years without a failure is not unusual. No wonder there are more Spinwriter printers hooked up to IBM PC's than any other letter-quality printer. How to get up to speed.

For more information on the Spinwriter 8850 or our two companion

THE 8850 PLUGS RIGHT INTO THE IBM PC.

models,just call NEC Informtion Systems at: 1-800343-4419; in Massachusetts call (617)264-8635. Also available at: Entre, 1-800-HI ENTRE: Sears Business System Centers, 1800-2282200; and

Computerland stores, (In California) 1-800-3211101; (Outside California) 1-800423-3308. Find out why more and more IBM PC users are saying, "NEC and me."

SEC

AND, ME

NEC Information Systems, inc. 1414 Mass. Ave. Dept. 1610

Boxborough, MA

01719

Spinwriter is a registered trademark of NEC Corp. IBM is a registered trademark of International Business Machines Corp.

Circle 122 on inquiry card.

TEGVMR

GRAPHiCS MASTER

(2

WHAT A PAIR !

Tecmar's Graphics Master™ & Lotus

Graphics Master is the only board that creates

both monochrome and color graphics for

Lotus 1-2-3.

You can also run IBM compatible software

because Graphics Master emulates both the IBM

Color Graphics Adapter and the Monochrome

Adapter.

We are pleased to announce that Graf-Talk2 and

MetaWindow3 software take full advantage of

Graphics Master's high resolution graphics.

Graphics Master is the only board that will do all of the following with appropriate software:

• High resolution color graphics

640 x 400, 16 colors

• High resolution monochrome graphics

720 x 700

• Run software for IBM Monochrome Adapter

• Run software for IBM Color Graphics Adapter

TEGH/1R

the power behind the PC

Tecmar Inc. 6225 Cochran Road Solon (Cleveland), Ohio 44139-3377 Phone:(216)349-0600 Telex: 466692

1 Registered Trademark of the Lotus Development Corp. 2 Registered Trademark of the Redding Group Inc. 3 Registered Trademark of the Metagraphics Corp.

Circle 173 on Inquiry card.