(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Byte Magazine Volume 09 Number 08: Modula Number 2."

AUGUST 1984 VOL.9, NO. 8 




$3.50 IN UNITED STATES 

$4.25 IN CANADA / £2.10 IN U.K; 

A McGRAW-HILL PUBLICATION 

0360-5280 



THE SMALL SYSTEMS 



v URNAl 



MODULA-2 



FEATURES: 

Framework Preview 

The 65816 

FORTH-83 

Benchmarking UNIX Systems 



REVIEWS: 

Macintosh 

PCjr 

Sanyo MBC-550 

Juki 6100 Printer 

Four Logos 



W 










_ 



oQ 76562$ 







B-l ISO 






\ 




Announcing a small imp 



Itsl2"xll'/i"x2iA" 
It weighs less than 8 pounds.* 
And costs less than $1,300.** 
Yet with 128K, the new Apple" He Per- 
sonal Computer is a lot bigger than it looks. 

The lie has a full-size ke\ 'board . 



1 , ?l 


,. =1 


n 


» DtB 


:=- 



Because its inherited all the talents 
of the eminently talented Apple lie: 

The versatility to run over 10,000 
different software programs. 

The ironclad reliability of 
the first true VLSI motherboard. 

And the artistic ability of 
16 high-resolution colors. 

The He also has some 
talents of its very own. 

For instance, a 
switchable 80/40- . ' 




A built-in half-high 143K single- 
sided disk drive. 

Built-in serial potts for modems, 
printers and an extra half-high drive. 
Even built-in 
mousetronics so its 
ready to use a mouse 
and all the new Apple II 
mouseware. 

And our newest 
brainchild is certainly 
not an orphan. 



You can grow it 



character display. ,,,, . 

n . , \ , - 1 inn, isn t it/ EimiuMth its built- m , , > .1 r 

Switchable d/skdrm with a whole family of 

QWERTY/Dvorak keyboard. Apple II accessories and peripherals. 



■ 




rownent on the Apple He 



Including the newApple Scribe— Apples 
first full-color print-on-anything printer 
for under $300, it can handle anything 
from business graphics to term papers. 

The lies father, of course, is the 
granddaddy of the whole personal com- 
puter industry, the Apple He. Which, lest 
we forget, has quite a few improvements 
of its own this year. 

r rhe He can now use our ProFile™ 
hard disk— so it can store about 2400 



pages of anything you'd like to remember. 

And the Apple He is still the most 
expandable personal computer there is. 

minium ii'iimn mi \\\ iimniuii 



\ 



5 



30 






I 



Built-in porks for making all the right connections. 

You can increase its RAM to an elephan- 
tine 512K Add a Z-80 card to run CP/M™ 



In fact, you can grow it with enough 
cards and peripherals to run just about 
any family business. Like Saudi Arabia. 

So you see, the only question 
is whether you need an expandable 
Apple II.As in lie. 

Or a compact Apple II. As in lie. 

Just visit your friendly authorized 
Apple dealer. 

And tell them what size 
improvement you'd like. 



* Don 't asterisks make you suspicious as all get- out? Well all Ibis one means is that the lie CPU alone m>igl.Vi 7.5 pounds. The pouer pack monitor, an exlra disk dm <e, a printer and set wal bricks u ill 
make llje lie neigh mow. Our law) 'ers aire concerned that) m might not he able to figure this one out for yourself. * * The FfCis concerned about price-fixing. So this is out) ■ a Suggested detail Price. 
You can pa} ' more if you real/) > it ant to. Or less. © /%V Apple Computer. Inc. Aj)ple ihefyple logo andProFile are trademarks qffyple Compute): Inc. CP/M is a trademark of Digital Research Inc. 
For an authorized. -\f^le dealer nearest you. call (800) 538-9696. In Canada call (800) 268-7796 or (800) 268-7637. 



CONTENT 





FEATURES 

wmmammmmammm 

Introduction 119 

Framework by Rik \adrnicek, )ohn Markoff. and Ezra Shapiro 121 

A team of BYTE editors previews an integrated software package that combines familiar 
features within a novel structure. 

The 65816 Microprocessor. Part I: Software by Steven P. Hendrix 125 

This two-part series begins with a look at software considerations for an 8-/1 6-bit 
successor to the 6502. 

Ciarcias Circuit Cellar: Circuit Cellar Feedback by Steve Garcia 129 

Steve takes a break from hardware design to answer project-related queries 
from readers. 

Benchmarking UNIX Systems by David F. Hinnant 132 

Several microcomputer UNIX implementations are compared to minicomputer 
versions of the operating system. 

FORTH-83: Evolution Continues by C. Kevin McCabe 137 

A new standard corrects some problems, but FORTH is still a language in flux. 

THEME: MODULA-2 



Introduction 143 

History and Goals of Modula-2 by Niklaus Wirth 145 

The creator of Pascal and Modula-2 writes on the module's coming of age. 

Tutorial on Modula-2 by ]urg Gutknecht 157 

The concept of autonomous modules is fundamental to this structured 
programming language. 

Lilith and Modula-2 by Richard Ohran 181 

The director of the Modula Research Institute offers a case study 
of high-level-language processor design. 

An Introduction to Modula-2 by Robert J. Paul 195 

An exploration of the differences in control structure, expressions, and general 
syntax between Modula-2 and Pascal puts the new language in perspective. 

Pascal, Ada, and Modula-2 by David Coar 215 

A system programmer compares the three languages. 

REVIEWS 



Reviewers Notebook 237 

The Macintosh by Bruce F. Webster 238 

Apple's new system, while not perfect, comes a long way toward achieving its design 
goals of being nonthreatening, quickly learned, easy to use, and fun. 

The IBM PCjr by Rowland Archer \r 254 

First impressions are favorable, but a closer look reveals some problems. 

The Sanyo MBC-550 by Bill Sudbrink 270 

This inexpensive MS-DOS system is IBM compatible. 



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



BYTE • AUGUST 1984 



COVER PAINTING BY ROBERT T1NNEY 



VOLUME 9. NUMBER 8. 1984 



Four Logos for the IBM PC by Mark Bridger 287 

Several new Logo packages offer turtle graphics of varying quality 
on the IBM Personal Computer. 

The Juki 6100 Printer by G. Michael Vose 305 

Juki Industries' fully formed character printer isn't fast, but it's inexpensive 

Review Feedback 308 

Readers respond to previous reviews. 

KERNEL 

Introduction 311 

Computing at Chaos Manor: Between Conventions by jerry Pournelle 313 

In a hectic schedule, Jerry finds time for a Mac attack and more colorful 
commentary on the computing scene. 

Chaos Manor Mail 334 

Jerry's readers write, and he replies. 

BYTE Japan: Pasocom Pagodas by William M. Raike 339 

Our man in Tokyo comments on a software shortage, the Sharp MZ-5500, 
the Fujitsu FM-11, and more. 

BYTE West Coast Macintosh's Other Designers 

by \ohn Markoff and Ezra Shapiro 347 

Three original designers discuss the earliest days. 

BYTE U.K.: Microprocessor Design by Dick Pountain 361 

BYTE's British correspondent looks at the Transputer and its special language, Occam. 

Editorial: What Makes Personal Computers Special? 6 

MICROBYTES 9 

Letters 14 

Fixes and Updates 33 

What's New 44, 431 

Ask BYTE 54 

Cuubs and Newsletters 67 

Book Reviews 73 

Event Queue 94 

Books Received 424 

Technical Forum 428 

Unclassified Ads 477 

BYTE's Ongoing Monitor Box, BOMB Results 478 

Reader Service 479 




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

Copyright © 1984 by McGraw-Hill Inc. All rights reserved. Irademark registered in the United States Patent and Irademark Office. Where necessary 
permission is granted by the copyright owner for libraries and others registered with the Copyright Clearance Center (CCCI 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. S1.50. Copying done for 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 flAflCJS 
in microform from University Microfilms International. 300 North Zeeb Rd.. Dept. PR. Ann Arbor. Ml 48106 or 18 Bedford Row. Dept. PR. \*1Zjv 
london WC1R 4E1 England. 
Subscription questions or problems should be addressed to: BYTE Subscriber Service. POB 328. Hancock, NH 03449 



SECTION ART BY IVAN POWELL 



AUGUST J 984 • BYTE 



Circle 216 on inquiry card. 



Microlfime 




800-MICRO 84 



SET-UP ASSISTANCE 

SOFTWARE 
SUPPORT 



ONE VEAR 

SERVICE 

CONTRACT 

AVAILABLE 



LOWEST 
PRICES 
ALL 




iBm-pc 

Xerox- Americare Maintenance 



SYSTEm SALES 



NEW LOWER PRICES 

IBM® 

COMPATIBLE 

FREE ON-SITE 

SERVICE FOR 

3 MONTHS 

SOFTWARE & 

HARDWARE 

SET-UP 





ZEMTH 

Desktop PC- 150 Portable PC- 160 



SYSTEm SUPPORT 

FRMIL^PRCK 

HARD ■ '■ CALLF0R 

BOOT 




► FRflnKLin < 

THE APPLE® COMPATIBLE 



PERIPHERALS 






AMDEK ■ AST ■ BENCHM ARK ■ BLUE CHIP 
BPI -BROTHER ■ CITOH ■ DATAPRODUCTS 
DATASOUTH ■ DIABLO ■ EPSON ■ HAYES 
HOUST./INSTR ■ JUKI ■ MANN /TALLY 
MOUNTAIN ■ NEC- NOVATION ■ OK I DATA 
ORANGE ■ PANASONIC ■ PLANTRONICS 
PROMETHEUS ■ QUADRAM ■ OUME 
SILVER REED ■ ST AR ( GEM IN I) -TAX AN 
TR ANSTAR ■ TOSH IBA -TTX - US ROROTICS 



800-642-7 



• Apple Is a rngistorsd Imdomark of Apple Computers, Inc. 

• IBM Is s registored trademark of international Business Machines. Corp. 



411 West Grant Road 
Tucson, Arizona 85705 



BYTE 



EDITOR IN CHIEF 

Philip Lemmons 

MANAGING EDITOR 

Gene Smarte 

consulting editors 

Steve Ciarcia 

Jerry Pournelle 

senior technical editors 

Richard Malloy. Rex'iews 

G. Michael Vose. Features 

Gregg Williams 

technical editors 

Thomas R. Clune 

Glenn Hartwig 

Richard Kraiewski 

Arthur A. Little 

Bruce Roberts 

Ken Sheldon 

Richard S. Shuford 

Iane Morrill Tazelaar 

Stanley Wszola 

Margaret Cook Gurney Associate 

Alan Easion. Drafting 

WEST COAST EDITORS 

Ezra Shapiro. Bureau Chief. San Francisco 
Iohn Markoff; Senior Technical Editor. Palo Alto 
Donna Osgood. Associate Editor. San Francisco 

MANAGING EDITOR. USER NEWS 

George Bond 

USER NEWS EDITORS 

Anthony I. Lockwood. What's New- 
Mark Welch. Microbyles 

CONTRIBUTING EDITORS 

Dennis Allison, at large 

Mark Dahmke, video, operating systems 

Michael W. Ecker. mathematical recreations 

Rik Iadrnicek. CAD. graphics, spreadsheets 

Mark Klein, communications 

Alan Miller, languages and engineering 

Dick Pountain. U.K. 

William Raike. \apan 

Perry Saidman. computers and law 

Robert Sterne, computers and law 

Bruce Webster, software 

Richard Willis, at large 

COPY EDITORS 

Elizabeth R. Cooper. Chief 
Dennis Barker 
Anne L Fischer 
Nancy Hayes 
Lynne M. Nadeau 
Paula Noonan 
Ioan V. Roy 
Bud Sadler 
Warren Williamson 



assistants 

Peggy Dunham 

Martha Hicks 

Beverly Iackson 

Faith Kluntz. Copyrights and Permissions 

Lisa |o Steiner 



ART 

Rosslyn A. Frick. Art Director 
Nancy Rice. Assistant Art Director 



PRODUCTION 

David R. Anderson. Associate Director 

Denise Chartrand 

Michael I. Lonsky 

Ian Muller 

Sherry McCarthy. Chief '\lfpographer 

Nan Fornal 

LEN IjORETTE 

Valerie Page 
Donna Sweeney 



publisher 

Gene W. Simpson 

associate publisher/production director 

Iohn E. Hayes 

publishers assistant 

Doris R. Gamble 

ADVERTISING SALES 

I. Peter Huestis. Sales Manager 
Sandra Foster. Administrative Assistant 

ADVERTISING 

Deborah Porter. Supervisor 

Marion Carlson 

Cathy A. R. Drew 

Rob Hannings 

Ieanna Reenstierna 

Lisa Wozmak 

Wai Chiu Li. Quality Control Manager 

Linda I. Sweeney. Advertising/Production Coordinator 

Julie Nelson 

CIRCULATION 

Gregory Spitzraden. Director 

Andrew Iackson, Subscriptions Manager 

Barbara Varnum. Assistant Manager 

Phil Dechert 

Mary Emerson 

Louise Menegus 

Agnes E. Perry 

Jennifer Price 

Jane Varnum 

James Bingham. Single-Copy Safes Manager 

Linda Turner. Assistant Manager 

Carol Aho 

Claudetfe Carswell 

Edson Ware 

marketing communications 

Horace T. Howland. Director 

Doug Webster. Director of Public Relations 

Vicki Reynolds. Marketing Associate 

]oni P. Vetne. Assistant 

Stephanie Warnesky. Graphic Arts Supervisor 

Sharon Price. Graphic Arts Designer 

Michele P. Verville. Research Manager 

Patricia Akerley. Market Research Analyst 

Cynthia Dam aid. Reader Service Coordinator 

accounting 

Daniel Rodrigues. 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 

IoAnn Walter 

Vicki Weston 

traffic 

N. Scott Gagnon. Manager 
Anthony Bennett 
Brian Higgins 

receptionist 

L. Ryan McCombs 

PERSONNEUOFFICE MANAGER 

Cheryl A. Hurd 



Editorial and Business Office: 70 Main Street. Peterborough. New Hampshire 034 58. (603) 924-9281 
West Coast Offices: McGraw-Hill. 425 Battery St.. San Francisco. CA 94111. (415) 362-4600. 
McGraw-Hill. 1000 Elwell Court. Palo Alto. CA 94303. (415) 964-0624. 

Officers of McGraw-Hill Publications Company: President: Iohn G. Wrede. Executive Vice Presidents: Paul F. McPherson. Operations: Walter 
D Serwatka. Finance & Services. Senior Vice President-Editorial: Ralph R. Schulz. Senior Vice President Publishers: Harry L Brown. David 
). McGrath. lames R. Pierce. Gene W. Simpson. John E. Slater Vice President Publishers: Charlton H. Calhoun 111. Richard H. Ursen. Iohn W. 
Patten. Vice Presidents: Kemp Anderson. Business Systems Development: Shel F. Asen. Manufacturing; Iohn A. Bunyan. Electronic Information 
Services: George R. Elsinger. Circulation: Michael K. Hehir. Controller: Eric B. Herr. Planning and Development: H Iohn Sweger. Ir. Marketing. Virginia 
L Williamson. Business Development. 

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



m 



68000-based systems. 
Justtellus 



n 'im 'tviT 'iimn 



m 



68000-based systems 
to fit your 
ilicatioi 



Right from the pages of our 
catalog, we can deliver 68000-based 
supermicro systems to match virtu- 
ally any application. 

Including yours. 

Here's how. 

Built on the IEEE-696 (S-100) 
bus, Cromemco systems offer up to 
21 board slots. And a family of 35 
boards — CPU, memory and special- 
ized I/O —to fill the slots any way 
you choose. 

At the heart of each system is our 
68000/Z- 80 dual processor. Backed by 
as much as 16 Mb of error- correcting 
RAM. Full multi-tasking capability. 
I/O to handle up to 16 terminals. 



And that's just the beginning. 

You can select single or dual 
floppies, 5%" or 8." A 50 Mb 5%" 
Winchester hard disk. And a nine- 
track tape drive. 

We can accommodate your 
taste for the exotic, too. With boards 
like our SMD interface that sup- 
ports up to 1200 Mb of disk storage. 
A fast floating-point processor. A 
color graphics interface. A TV camera 
digitizer. An IEEE-488 bus interface. 
Communications. And more. 



Then, if you're designing a dis- 
tributed processing system, you'll 
want to take a look at our C-10 per- 
sonal computer. The Z-80-based C-10 
can serve our 68000-based systems 



as a powerful intelligent workstation 
in a distributed processing mode. Or 
as an independent personal computer 
with its own floppy storage. 





That brings us to software. It 
starts with CROMIX? our UNIX™ -like 
operating system that you're free to 
tailor to your application. 

CROMIX can exewite both 
68000- and : Z-80-based programs. So 
right along with your 68000-based 
packages, your system will accommo- 
date a wide selection of CP/M® soft- 
ware written for the Z-8C 

And our high-level language 
support is second to none. From a 
68000 Macro Assembler. To 68000 
FORTRAN 77, PASCAL, GSA-certi- 
fied high-level COBOL, C and BASIC. 



You see, when we say, "Just tell 
us what you need',' we're not kidding. 

You won't find another family of 
68000-based microcomputers that 
can fit your needs as exactly as ours. 

So if you're in the business of 
providing specialized computing solu- 
tions, you really should be doing 
business with Cromemco. 

For a copy of our Systems 
Catalog, contact: Cromemco, Inc., 
280 Bernardo Avenue, P.O. Box 7400, 
Mountain View, CA 94039. 
(415)964-7400. 

In Europe: Cromemco GmbH, 
6236 Eschbom 1, Frankfurter Str. 33-35, 

P.O. 5267, Frankfurt Main, Germany 
or Cromemco Ltd., 
The Cambridge House, 

178-182 Upper Richmond Rd., 
Putney, London SW15 England. 



® 



Cromemco 



•Cromemco and CROMIX are registered trademarks of Cromemco, 
Inc. ™ UNIX is a trademark of Bell Laboratories. *CP/M is a registered 
trademark of Digital Research. ©1983. Cromemco, Inc. 

Circle 90 on Inquiry card. 



EDITORIAL 



What Makes Personal 
Computers Special? 

People sometimes ask me why there's 
so much fuss about personal com- 
puters. Now that there are millions of 
them in the hands of ordinary people, 
personal computers are, in a sense, 
commonplace. Even enthusiasts may 
forget that personal computers are very 
special indeed. We would enjoy them 
even if they lacked practical applications 
and never overcame the digital indif- 
ference so often characterized as un- 
friendliness. To put personal computers 
in perspective, we should compare 
them with such earlier cultural water- 
sheds as the printing press, the in- 
dustrial Revolution, and the automobile. 
Because it made the production of 
books far more efficient, the printing 
press made it possible for more people 
to learn more than ever before. But 
while the printing press gave creative 
work a wider audience and eliminated 
the drudgery of scribes, Gutenberg's 



technology did not directly enhance the 
creativity of the people who wrote 
books. 

The Industrial Revolution made the 
production of goods far more efficient 
than ever before. The efficiencies of 
mass production made possible the ac- 
cumulation of great wealth. Unfor- 
tunately, mass production also brought 
about cultural impoverishment of many 
workers. The assembly line deprived 
workers of the creativity that belonged 
to craftsmen— the stamp of individuali- 
ty that went with good handwork. The 
Encyclopaedia Britannica puts it this way: 
". . .the discipline of the factory (a 
discipline often imposed by strangers), 
the remorseless monotony of many of 
the tasks, and the physical hazard and 
discomfort of some of the new pro- 
cesses took a heavy toll." Few would 
deny that the Industrial Revolution was, 
on balance, a good thing. But it did ex- 
act a great human price. 

The automobile changed society for 
all time by broadening the experience 




of millions of people. The ability to 
travel quickly and widely enabled peo- 
ple to see more of the world and to 
judge it for themselves. The auto- 
mobile's influence resembled that of the 
printing press; while widespread book 
publishing extended knowledge, the 
mass production of automobiles ex- 
tended experience. With broadened ex- 
perience came wider choice in place 
and type of work. But the automobile 
did not directly enhance creativity; 
furthermore, the automobile was pro- 
duced by the dehumanizing assembly- 
line methods introduced by the In- 
dustrial Revolution. 

The personal computer disseminates 
knowledge, as the printing press did; in- 
creases productivity, as the Industrial 
Revolution did; and broadens ex- 
perience, as the automobile did. In 
many applications, personal computers 
also reduce drudgery such as needless 
retyping and recalculation. 

What sets personal computers apart, 
however, is their ability to enhance the 
creativity of the individual. They have 
justly been called "mind appliances" 
and "thought amplifiers." They can help 
us manipulate information and ideas 
with remarkable freedom. Rather than 
forcing us all to work alike under the 
supervision of strangers, personal com- 
puters will let us develop our own 
unique ways of working. Rather than re- 
quiring personal sacrifices to achieve 
greater social goals, personal com- 
puters will contribute to the achieve- 
ment of social goals by enriching the 
lives of individual persons. Programs 
like Bill Budge's Pinball Construction Set, 
Bill Atkinson's MacPaint, and Warren 
Robinett's Rocky's Boots offer glimpses 
of things to come. 

Will personal computers make us all 
geniuses or saints? No. But they will 
help us make the most of ourselves. 
That is ample reason for regarding per- 
sonal computers as far more than just 
another major consumer item. 

—Phil Lemmons, Editor in Chief 



BYTE • AUGUST 1984 



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



SEEQUA 

SHOWS YOU 

HOW TO 

SET AM 

IBM PC 

FOR JUST 

81995. 

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 soft- 
ware 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 

SEEQ UA 




an 8 bit micro- 
processor 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 inter- 
ested in an IBM personal com- 
puter, 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 for 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 276 on inquiry card. 



AUGUST 1984 -BYTE 7 




Thanks To CompuServe's 
CB Simulator, 

"Digital Fox"Accessed"Data Hari"And 
Proceeded To An "Altared" State. 



The CB Simulator, where 
CompuServe Subscribers can 
Access Friends and Influence 
People on 72 Different 
Channels. 

Just pick your handle and get 
on line. From math to matrimony, 
there's always someone out there 
who speaks your language. Friends 
from all over the U.S. and Canada are 
at it 24 hours a day. Talking tech or 
just having fun. And if youVe got a 
secret, just use the CB Scrambler. 

8 BYTE • AUGUST 1984 



That'll fool the "lurkersr those CB 
"see it alls 11 who get their kicks 
by watching. Or you can always use 
the private talk mode for guaranteed 
one-to-one conversation. 

The CB Simulator is just one 
of CompuServe's many electronic 
communications options that 
include a National Bulletin Board, 
Professional Forums and Electronic 
Mail. Plus, there's a world of on-line 
information and entertainment all 
for the price of a local phone call 
plus connect time. 



You can access CompuServe 
with almost any computer and 
modem, terminal or communicating 
word processor. 

To receive your illustrated 
guide to the CompuServe Information 
Service and learn how to subscribe, 
call or contact: 

CompuServe 

Consumer Information Service, P.O. Box 20212 
5000 Arlington Centre Blvd., Columbus, OH 43220 

800-848-8199 



In Ohio call 614-457-0802 
An H&R Block Company 



Circle 63 on inquiry card. 



MICRO-BYTES 



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



AT&T Unveils Microcomputer 

AT&T Information Systems introduced its long-expected IBM-compatible microcomputer in 
late June. The AT&T PC 6300, made by Olivetti, includes an 8-MHz 8086 processor, 640 by 
400 color graphics, 128K bytes of RAM, serial and parallel ports, two 360K-byte floppy-disk 
drives, a clock/calendar, MS-DOS 2.11, and seven additional expansion slots for $2810. A 
10-megabyte hard-disk version is $4985. AT&T also announced that its 3B2 and 3B5 series 
of UNIX computers would be available through retail channels and introduced many pro- 
grams that run on the machines under UNIX System V. The AT&T PC does not use UNIX. 
AT&T also announced dot-matrix and daisy-wheel printers. 

AT&T also introduced the Information Systems Network, a local-area network designed to 
link from 200 to 1920 computers. ISN uses standard twisted-pair wiring and transfers infor- 
mation at a speed of 8.64 megabits per second using a proprietary "perfect scheduling" 
system. It costs from $400 to $500 per node. AT&T said it will announce a smaller network 
later this year. 

Morrow and Visual Add UNIX-Based Multiuser Systems 

Morrow, which last month introduced an IBM PC-compatible portable computer, has now 
unveiled Iricep, a 68000-based multiuser S-100 bus computer that uses the UNIX System V 
operating system. Morrow's new machine includes 512K bytes of RAM, a 16-megabyte hard- 
disk drive, one floppy-disk drive, and a four-user capacity for a base price of $9000. The 
system can be expanded to include up to 2 megabytes of RAM, four 34-megabyte hard 
disks, four floppy disks, and eight users. 

Visual Technology Inc. was expected to unveil an 80286-based multiuser system that uses 
the XENIX operating system. With 512K bytes of RAM, a 19-megabyte hard-disk drive, a 
streaming tape drive, and ports for six users (expandable to 16), the system will be priced 
in the $10,000 to $15,000 range. Visual hopes to sell the system both through retail chan- 
nels and to other manufacturers. 

Polebrook Computer Systems, Peterborough, England says it has completed development 
of a 68000-based UNIX system that it says will retail for about $2750 with a 10-megabyte 
hard-disk drive and 256K bytes of RAM. Polebrook is seeking a company to market the 
system both in the U.K. and the U.S. 

IBM Speculation 

IBM attended the June meeting of Committee SC-I56 of the Radio Technical Commission for 
Aeronautics, which is studying potential hazards to airplanes by portable computers. This 
has fueled speculation that a battery-powered IBM portable may be in the works. SC-156 
will meet again September 18-19. 

Epson Brings PX-8 Notebook Computer to U.S. 

Epson America Inc., Torrance, CA, announced the Geneva PX-8, the notebook computer its 
parent company showed at the Hannover Fair in West Germany earlier this year. The PX-8 
includes an 8-line by 80-character LCD, microcassette tape drive, a Z80-compatible 
microprocessor, and the CP/M 2.2 operating system. MicroPro's ROM-based Portable Word- 
Star, Portable Calc, and Portable Scheduler are bundled with the PX-8, which will retail for 
$995. An optional battery-powered 3 l /Hnch disk drive will be available for $599. Epson will 
also offer a 300-bps modem, a printer, and 64K- and 128K-byte memory-expansion units. 

Tektronix Announces Color Ink-jet Printer 

Tektronix introduced the 4692 Color Graphics Copier, a color ink-jet printer with a resolu- 
tion of 154 dots per inch. The 4692 can be used with Tektronix color-display terminals or 
with the 4510 Color Graphics Rasterizer, which uses an RS-232C interface to link to other 
computers. The 4692 Copier will be available in October for $5995; the 4510 Rasterizer will 
be priced from $4495 to $9995, depending on memory. 



{continued) 
AUGUST 1984 -BYTE 9 



M1CROBYTES 



Uniform Software to Run PC-DOS Software Under UNIX 

Uniform Software Systems Inc., Santa Barbara, CA, has announced the Connector, a pro- 
gram that allows any MS-DOS or PC-DOS software to run under UNIX. Initially, the Connec- 
tor will be available for PC/IX, the UNIX version sold by IBM. but may be translated for 
other versions of UNIX. The program will be available in September for less than $300. 

Two New Telephone-Management Systems 

Natural Microsystems. Needham, MA, was expected to announce Watson, a $1000 
telephone-management system for the IBM PC in late July. Watson includes a 300/1200-bps 
modem and software to digitize voice messages so the system can be used as a telephone- 
answering machine. Terminal emulation and calendar software are also included. 

Liberty Electronics, San Francisco, CA. announced a voice/data terminal, the Freedom 212. 
The $1295 terminal includes an auto-dial 300/1200-bps modem and a built-in 25-line 
telephone directory. 

NANOBYTES 



Assimilation Process, Los Gatos, CA, has announced the Mac-Daisywheel Connection. This 
$99 program allows Apple's Macintosh computer to print text using a standard daisy-wheel 
printer; an interface cable is included. . . . Leading Edge Products said it will sell a line of 
"Peanut" IBM PC-compatible computers beginning in late fall. . . . AST Research is develop- 
ing a PCnet expansion card for the IBM PCjr. . . . Teknowledge, Palo Alto, CA, has intro- 
duced M.l, an expert-system generator for the IBM PC, priced at $12,500. . . . Gigabit Logic, 
Newbury Park, CA, has begun shipping 12 logic and counter chips that use gallium arsenide 
(GaAs) instead of silicon. GaAs parts are much faster and more expensive than their silicon 
counterparts. . . . Faxtel, Toronto, Ontario, is developing software that will allow the Macin- 
tosh to be used as a NAPLPS decoder terminal. . . . Solutions Inc. has developed Straight 
T^lk, terminal software for the Macintosh, to be sold by Dow Jones for $79. Apple was ex- 
pected to introduce MacTerminal in July. . . . Advanced Storage Technology Inc., San Jose, 
CA, has announced 61- and 103-megabyte half-height 5 '/4-inch hard-disk drives. In large 
quantities, the 103-megabyte drive sells for $1950. , . . NEC Information Systems an- 
nounced a 55-cps daisy-wheel printer, the 8850, for $2500, and three floppy-disk drives, in- 
cluding a 1.6-megabyte 5 '/4-inch and two 3'/2-inch models. NEC is also developing a $3500 
6-page-per-minute thermal-transfer printer and a $700 HP-compatible four-color plot- 
ter. . . . Intel says it is shipping CMOS 256K-byte RAMs. Motorola will begin full production 
late this year. . . . The Computer Satellite Network hopes to offer cable programming for 
computer enthusiasts by late fall. . . . Practical Peripherals, Westlake, CA, planned to unveil 
an encryption device at NCC. The Data Encryption System (D.E.S.) 2000, priced at less than 
$500, will attach to the computer's serial port. . . . Xetec Inc., Salina, KS, will begin shipping 
a dual 3 '/4-inch disk-drive system for IBM's PCjr entry model. The $800 unit includes a disk 
controller and can add a third 3 /4-inch or a 5 '/4-inch drive. . . . Kamerman Labs, Beaverton, 
OR, is selling a 10-megabyte hard-disk subsystem for the IBM PC for $895. . . . Motorola for- 
mally introduced the 68020, a 32-bit version of the 68000 microprocessor. The CMOS chip 
includes an on-board cache and a coprocessor interface and can run at 16 MHz. . . . Wang 
has announced a $595 expansion card that it says makes its Wang Professional Computer 
fully compatible with the IBM PC. . . . Xerox will sell a $795 expansion card linking the IBM 
PC to Ethernet. . . . Sony will reportedly begin private showings of a compact laser-disk 
read-only memory device late this summer. The drive will use the same technology as 
Sony's audio laser disks. . . . Keyboard maker Key Tronic will manufacture a version of 
Display Interface Corporation's HiFi Mouse, which uses sound to detect motion and direc- 
tion. It will sell for $65 in very large quantities. . . . Volition Systems, Del Mar, CA, has 
added a CP/M-68K version of its Modula-2 compiler. The $495 compiler will be available 
next month. . . . Ttelos Software Products, Santa Monica, CA. announced FileVision, a $195 
visual database manager for Apple's Macintosh. . . . Ricoh introduced the LP4120, a $14,000. 
1 2-page-per-minute laser printer. , . . Delphax Systems, Mississauga, Ontario, introduced a 
laser printer designed to print up to 1.5 million copies per month. The $70,000 S 6000 can 
print 60 pages per minute. 



10 BYTE • AUGUST 1984 



v 



_ ~ _'_ Ui^AJ 



MBA 







EffiftBiuSrfSE 


J 




\ 


• u «, 

• ■ 
• ■ 

* 1 

• ■ 


1 w 


1 




lj 








w\ 


jvAjM ^ 




V 

r isiOi\j 1 

ij;7i 

lv ) 

39 < 

fO 1 

i ' ! 

i> 

I'D 




Pg^lft^itflfr' 




,~: !,- 
















* 












— ■ 
















1 1 






,~:i 






K % w 


■ 




■•' 


2-r 






f 


* 






1 






v . ^. - -» ,. , 


— 




VtSU ORJ" 









Now, translate your integrated soft- 
ware into integrated hard copy, with 
the TI OMNI 800™ Model 855 
printer. So versatile, it combines let- 
ter-quality print, draft-quality print 
and graphics as no other printer can. 
It prints letteivquality 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 inte- 
grated 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. DPF482BY, 
Dallas, Texas 75240. ■ . 

Texas ^* 
Instruments 

Creating useful products 
and services for you. 

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



u 



Dare to 



TI makes the best software 
perform even better* 

When choosing a computer, there are 
two important things to look for. Who 
runs the best software— and who runs 
the software bestl That's why we're staging 
a dramatic country-wide side-by-side 
comparison against IBM™ called "Dare 
to Compare" 

Come to a participating dealer and 
take the "Dare to Compare" challenge. 
You'll see first-hand how. .. 

TI makes software 
faster to use* 

Take a closer look. See how we give you 
more information on-screen than the 
IBM PC? That way you'll spend less time 
looking for data, and more time using it. 
We also give you 12 function keys, while 
they give you 10. Unlike IBM, we give 
you a separate numeric keypad and cur- 
sor controls. And that saves you both 
keystrokes and time. We also isolated 
the edit/delete keys to reduce 
chance of making mistakes. 

TI makes software 
easier to use* 

TI gives you up to 8 colors 
on-screen simultaneously, 
which makes separating 
the data a lot easier. IBM 
displays only 4. Our graphics 
are also sharper. And easier 
on the eyes. 




//// 



• ■ >"j»yn\ 



'mm* 



IBM Personal Computer 



Compare" 




\ 



\ - . I , , , V ' , ' , < 

\ I % V * » \ «. 



And TI makes it easier to get your data 
on-screen. Our keyboard is simpler— it's 
more like the familiar IBM Selectric™ 
typewriter than the IBM PC keyboard is. 

TI lets you see for yourself* 

Right now, you can "Dare to Compare" 
for yourself at participating TI dealers all 
over the country. Stop in, put both 
machines through their paces using the 
same software titles, and see for yourself 
how the Texas Instruments Professional 
Computer makes the best software per- 
form even better. 

For the name of a participating dealer 
near you, please call TI toll-free at 
1-800-527-3500, or write: Texas Instru- 
ments Incorporated, P.O. Box 402430, 
Dept. DCA-232BY, 
Dallas, Texas 75240. — 

Texas 
Instruments 

Creating useful products and services for you. 



BPS Business Graphics™ shown. 
BPS is a trademark of Business 

&. Professional Software Incorporated. 
IBM and Selectric are trademarks of 

International Business Machines, Inc. 

Copyright © 1984 Texas Instruments 



\ . 



Texas Instruments Professional Computer 



DTC2763-69-R1 



LETTERS 



In Praise of APL 



I read G. T. Hunter's article "Calculating Over- 
head Costs by Computer" (February, page 416) 
with great interest. It was well written, with a 
good blend of history. It would seem that prog- 
ress is rather slow. The article did tease the 
reader a bit with the statement on page 423 
"In APL. the procedure is even simpler, ..." In- 
deed, that is true. It is unfortunate that Dr. 
Hunter did not demonstrate this. Consequent- 
ly. I have picked up the challenge. I am enclos- 
ing the APL function that generates the same 
numeric data that the listed BASIC program or 
the iterative-spreadsheet approach does. 

The first step of the closed-form solution is 
to recognize that the set of four equations on 
page 418 is a set of four equations in four 
unknowns. Simple algebra will put them into 
standard form. Thus, if you place a - 1 on the 
main diagonal of the matrix of distribution fac- 
tors, it becomes the matrix of coefficients for 
the set of linear equations. Negating the initial 
values makes them the constants for the set of 
linear equations. Thus, in APL. the expression 
that produces the answer is simply: 

(-INITIAL VALUES) B DISTFACTORS 



Listing I (presented here) is an annotated APL 
function that will accept the initial approximate 
vector and the distribution matrix and produce 
the data in the form of table 3 (page 422). I did 
this on my IBM PC using IBM's PC APL. 

It is unfortunate that more of the computing 
community is not aware of this powerful gen- 
eral-purpose programming language. There are 
at least five different full implementations of 
APL on the IBM PC. I believe that APL is the 
most powerful general-purpose programming 
language currently available on microcom- 
puters. 

Raymond P. Polivka 
Poughkeepsie, NY 

THE Sieve Benchmark 
on a Heath H-89 



After reading "STSC APL*PLUS and IBM PC 
APL: TWo APLs for the IBM PC" (March, page 
246). I decided to put my machine to the test 
and run the Sieve program in listing 2. I used 
a Heath H-89 with CP/M 2.23 and Microsoft 
BASIC. I modified the program slightly to pro- 
vide indications of start and completion, and 
to automatically recycle the program. Running 



Listing I : An APL adaptation of a BASIC program for determining how indirect 
costs are distributed among the four departments of a hypothetical company. This 
function accepts the initial approximate vector and the distribution matrix to produce 
data in the form shown in table 3 on page 422 of the February BYTE. 

TBURDENIOIT 
▼ Z^ INT BURDEN DF:T:S 
1 1 1 AlNT:INITIAL DEPT. COST EST. 
121 aDF: DISTRIBUTION FACTORS AS A MATRIX 
131 a COLN =FROM . ROW=TO 
|4| aZ: MATRIX WITH 
151 a 1st ROW-TOTAL EXPENSE /DEPT 
|6| a LAST ROW-NET EXPENSES/DEPT 
171 a REST OF THE ROW ARE THE DISTRIBUTED EXPENSES 
[81 a OF EACH DEPT(COL) TO EACH OTHER DEPT(ROW) 
191 a LAST COLN -INITIAL DEPT COST EST I.E. INT 

1101 a 

[III a PUrriNG - I ON MAIN DIAGONAL OF DF 

1121 T-DF + (p-ITpDF)pO 

1 13| a TOTAL EXPENSE/DEPT 

1141 Z«~(-INT)BT 

1151 a GET INDIVIDUAL DISTRIBUTIONS 

|16| T^-DFx(pDF)pZ 

1171 a BUILD OUTPUT MATRIX 

1181 S«-Z.|I1T 

1191 S-S,IIIZ-+/|11T 

1201 Z^S.(+/Z).INT.+/INT 



my version (see listing 2. presented here) I was 
able to obtain results averaging 284.56 seconds 
per iteration of the program. Note that my pro- 
gram is looped 10 times to be consistent with 
the benchmarks presented in BYTE. 

Needless to say. I was surprised to obtain the 
results I did. I have been thinking about adding 
a 4-MHz upgrade to my processor board (I am 
using a stock 2-MHz machine). If I were to do 
so. my lowly 8-bit machine would out-loop even 
the mighty Big Blue and its 1 6-bit powerhouse. 
I had considered purchasing an IBM PC to han- 
dle my computing needs, but now I believe I'll 
hang on to what I've got. Thank you for the 
enlightening article and also for renewing my 
already strong faith in the Z80. CP/M. Microsoft 
BASIC, and Heath. 

Peter M. Hermsen 
Burlington, NC 

Quantifying 
User Friendliness 



Thank you for William I. Raduchel's article 'A 
Professional's Perspective on User-Friendliness" 
(May, page 101). His equation for quantifying 

[continued) 



Listing 2: A modified version of the 
Sieve of Eratosthenes program. 

1 FORX=5 TO STEP -I 

2 FOR Y= I TO 650 

3 NEXTY 

4 PRINT "";X (""G") 

5 NEXTX 

10 DEFINT A-Z 
20 OPTION BASE I 
30 DIM F(8I9I) 
35 FORQ=l TO 10 
40 C = 

50 OR 1 = 1 T08I9I 
60 F(l) = l 
70 NEXT I 

80 FOR 1 = 1 TO 8191 
90 IFF(l) = 0THEN 170 
100 P = l + I+I 
110 K = l + P 
120 WHILE K<=819l 
130 F(K) = 
140 K = K + P 
150 WEND 
160 C = C+I 
170 NEXT I 

180 PRINT C;"primes"-G 
182 NEXT Q -G 

185 PRINT " 
190 END 
OK 



~G" 



14 BYTE* AUGUST 1984 



FINDACOMPUTER 

THAT'LL OUTPERFORM OURS 

AND WEIL GIVE YOU A HEADSTART. 




If you can find a microcomputer, 
equally priced or less, that'll beat only 
half of 10 standard features we've 
selected on our HeadStart Model 512, 
well give you a HeadStart absolutely 
free. How can we make this incredible 
offer? Because looking for a better 
computer than our new HeadStart is 
like looking for a needle in a haystack 
You're more apt to come up with a case 
of hay fever. 

HeadStart is simply the fastest, 
smallest, most powerful business com- 
puter in its class. Period. 

In fact, we're so certain we have an 
unbeatable machine, we're offering 
you this challenge. If, by some incon- 
ceivable circumstance, you should find 
a business computer that is even equal 
to ours, well give you a HeadStart 
Absolutely Free. 



If you'd like to accept our challenge 
and leam more about this small wonder 
of microcomputer technology we call 
HeadStart, call us or fill out and return 
the coupon. 

You could come up with a free Head- 
Start, which is nothing to sneeze at 

HERE'S YOUR CHANCE TO WIN 
AFREE COMPUTER AND CETA 
HEADSTART ON THE COMPETITION. 






Intertec, Dept. "HeadStart" 

2300 Broad River Road, Columbia, SC 29210 

Phone: 1-803-798-9100 

D I accept your challenge. Please send me details 
on how I can beat the HeadStart VPU 512. 

□ HeadStart sounds terrific. Tell me more. 
Name 



Title. 



Company Name_ 
Phone 



Address. 



City. 



State- 



-Zip_ 



intertec 



Circle 164 on inquiry card. 



AUGUST 1984 -BYTE 



Circle 219 on inquiry card. 



MidWest 
iMtoo^PcriphGrqJi 



Let its earn your trust 

as we have that of others: 

Goodyear • General Motors • US Navy • Bell Labs 
Conrail • Texas A&M University • General Electric 
and General Dynamics 



List Our Price 
PRINTERS 

StarGeminMOX(120CPS) $399.00 $269.00 

Star Gemini 15X 549.00 419.00 

Star Delta 10 (160CPS) 549.00 399.00 

Star Delta 15 795.00 589.00 

StarRadix 10-15 $CALL$ $CALL$ 

Epson RX 80 (1 00 CPS) 399.00 269.00 

Epson RX-80F/T(100CPS) 499.00 349.00 

EpsonFX80(160CPS) 689.00 489.00 

Epson L0 1500 (200CPS) 1395.00 1299.00 

Ok/data 92P-80 Col, (1 6 OCPS) 599.00 429.00 

0kkJata82A-80Col. 120CPS 349.00 319.00 

Okidata 93P-136 Col. 160CPS 999.00 649.00 

Pacemark 2350P-350CPS 2695.00 $CALL$ 

Pacemark 241 0P-350CPS 2995.00 $CALL$ 

Riteman Portable (Epson Compat.) 399.00 279.00 

DAISYWHEEL PRINTERS 



Sliver Reed EXP 400 

SilverReedEXP500 16CPS 
Silver Reed EXP 550 19CPS 
Silver Reed EXP 770 36CPS 
Juki 6100 18CPS, Bi-dir 
Daisywn'ter 2000 40CPS 

SOFTWARE 



399.00 299.00 

599.00 459.00 

699.00 539.00 

1295.00 859.00 

599.00 439.00 

1495.00 998.00 



Lotus 1-2-3 

dBase 

Quickcode 



Think Tank 
Multimate 
PFS 



And Other $CALL$ 

Popular Titles' $s a A n VE$ 



DISK DRIVES FOR IBM PC OR XT 

All Drives Pretested With Complete Instructions. 



Panasonic Half Heights (2 or more) 279.00 159.00 ea. 

Panasonic Drive Kit 599.00 329.00 

(Complete hardware & instructions) 
Tandon 100-2 (IBM Standard) 399.00 

Maynard-10Meg. Internal 1395.00 

(Hard drive complete kit - software included.) 

VERBATIM DISKETTE SALE 

10-90 
SS/DD 179 

DS/DD 239 

MODEMS 



199.00 
998.00 



100-Up 
1.59 
2.19 



Smartmodem 300 
Micromodem 11 e 
Smartmodem 1200 
Smartmodem 1200B 
Smartcom 1 1 



289.00 
299.00 
699.00 
599.00 



MONITORS 



Amdek310-A 
Amdek Color II 



230.00 
529.00 



MEMORY SPECIALS 

Memory chip kit-64K.200ns-9chips 99.00 

EXPANSION CARDS 

AST 
Six Pac Plus. 64K. S/P/C+S/W 
Megaplus II. 64K. 2S/P/C 
I/O Plus II 
Complete AST Line 

QUAORAM 
Quardboard Expandable 384K 
Complete Quadram Line 

HERCULES 
Graphics Card 



395.00 
495.00 
215.00 



295.00 



219.00 
229.00 
489.00 
419.00 
$CALL$ 



199.00 
459.00 



54.00 



269.00 
269.00 
129.00 
$CALL$ 

199.00 
$CALL$ 



449.00 
IBM PC SYSTEMS 

Will configure to your needs 

for PC's, XT's and Jr's. J 

Save on complete systems 
Ask for ext. 20 ! 



OUR PRICE COMMITMENT 

MidWest will try in good faith to beat 
any nationally advertised price. 



Call Today! 
1-800-423-8215 

In Ohio 1-800-321-7731 
Information - Ordering 

We accept VISA and MASTERCARD (Add 3%). 
certified checks, money orders, and COD's. 
MidWest Micro-Peripherals 

{Division of Infotei. Inc ) 

135 South Springfield St 

SI Pans. Ohio 43072 

AD #B-105 



LETTERS 



user friendliness is a noble attempt to take an 
advertising slogan and make it a tool for bet- 
ter program design. 

However. I would like to point out that in his 
example (Standard PC versus Script versus Lisa) 
he uses Script to imply a command that will cor- 
rectly do exactly what a user wants with no ad- 
ditional decisions by the user. Essentially, this 
means that any variation in the task performed 
would require that an entirely new Script be 
produced or the user would be required to 
resort to the underlying command structure. 
Neither of these would be acceptable with Mr. 
Raduchel's assumption that Po=10 (that the 
user will always pick the right action). Therefore 
the Script case is the theoretical maximum— 
that one command is all the user needs to con- 
sider. Mr. Raduchel's results do indicate an ap- 
proachable goal, though— to make frequently 
used sequences available as a single command. 

The inclusion of Script (or macros) into an- 
other command (either Standard PC or Lisa 
cases) seems to be logical. Before looking too 
closely. I would like to define the cases. Stan- 
dard PC is used to indicate a system where the 
user initiates all information transfer. If the user 
wants to move a file but does not remember 
the name or how much room is on the disk, 
he or she must ask for a directory. The Lisa ap- 
proach implies that the system will supply the 
user with the necessary information at the time 
and location it is needed. Although this defini- 
tion is simplified, it describes the fundamental 
difference between Script and Lisa. Windows 
and icons are used in a Lisa-type approach 
because of the large volume of different infor- 
mation displayed at the same time. In essence, 
windows are simply organized groups of infor- 
mation, displayed together and manipulated as 
a unit. And if a picture is worth a thousand 
words, an icon must be worth a dozen or so. 

But both Lisa and Script approaches can sup- 
port macros. Neither approach has any inherent 
limitation to prevent it from taking advantage 
of macros. In fact, UNIX assumes that a shell 
(in effect, macros) will be used in an applica- 
tion environment. I also agree with Mr. 
Raduchel that the Lisa approach, if properly 
supported with hardware and consistent 
throughout all applications, will produce higher 
user friendliness than the Standard PC ap- 
proach. Therefore, it would seem logical to con- 
clude that a shell, similar in concept to a UNIX 
shell and optimized for each type of applica- 
tion, coupled with a Lisa-like environment, 
would produce the most user-friendly 
programs. 

J. L, Mahowald 
Overland Park, KS 

Computers and Lawyers 



I am a subscriber to, and regular reader of. your 
excellent magazine I would like to comment on 
Robert P. Wilkins's article "How Lawyers Can 
Use Microcomputers" (May. page 160), 

I am a practicing attorney who is knowledge- 
able about office-automation issues and the 
computer marketplace. I know Mr. Wilkins's 
works well. He is an acknowledged authority 



and leader in the automation area of the legal 
industry. 

However, we differ philosophically in a key 
area. In his first paragraph. Mr. Wilkins states 
that lawyers do not need to know terms such 
as RAM. bps. ". . .and other foreign, often un- 
nessary technical terms. All lawyers need to 
know is how computers can improve the effi- 
ciency of a legal practice." 

To the contrary, the road to efficient and 
proper use of computers in law offices must 
start with lawyers and staff members having a 
good understanding of the new buzzwords. 
How else can a lawyer feel confident when walk- 
ing into a computer store? You must know if 64K 
bytes of memory is enough, what disk drives 
are for. whether a hard disk is necessary, what 
programs are for and what they do. etc. There 
is no substitute for this basic education. 

Lawyers are intimidated by this new world and 
knowledge of these words will get things go- 
ing. Mr. Wilkins discussed database-managment 
systems for lawyers, including dBASE II. I am 
told dBASE II is complex and requires a great 
deal of expertise to use. How can a lawyer use 
this product without knowing terms such as bits, 
bytes, etc.? Even using search techniques on 
databases is easier if you understand what a 
database is. how it is compiled and stored, and 
what the rationale is for the search methods. 

Electronic mail also has its tricks and prob- 
lems. The American Bar Association has got- 
ten off to a slow start with its electronic mail 
network. 1 believe the reason is that lawyers are 
intimidated because they don't understand this 
new technology. Further, to use electronic mail, 
you'd better know what a modem is and how 
to use it. 

It wouldn't be a bad idea for lawyers to sub- 
scribe to BYTE for its technical tutorials and 
educational materials. Lawyers must know 
something of computer technology and termi- 
nology. 

There is another reason lawyers must learn 
about this new technology. Our clients are in- 
volved with computers at every level. How are 
we to serve our clients if we do not understand 
what they do or what they are telling us? How 
can we discuss a source-code escrow if we don't 
know what source code is. why it's important, 
and how it differs from object code? 

Mr. Wilkins and I do agree 100 percent on 
one issue. Computers are indeed the most 
significant change in the way the law is prac- 
ticed since the invention of the telephone and 
the typewriter. 

Paul Bernstein 
Chicago, IL 

Computers and Doctors 



I found George Zucconi's article "A Computer 
in the Doctor's Waiting Room" (May, page 108) 
very interesting. Programs such as his are useful 
for providing patients with information that they 
might otherwise not "bother the doctor with." 
However, it cannot be overemphasized that 
such a computer program is not a substitute 
for consultation with a physician. In particular. 

[continued) 



16 BYTE • AUGUST 1984 




"We sell IBC computers 
because it's the best 
way to attain a low cost, high 
performance multi-user system." 



Roger Scaggs 

President, APS Systems, Inc. 

Dallas, Texas 



"APS is the nation's leading supplier of 
medical office management systems, serving 
over 1,000 practices in 30 states. 

Most of our customers require more than a 
single-user desk top system. They need a 
good, fast multi-user computer without a 
minicomputer price tag. 

We looked at many of the so-called low-cost 
"Supermicros" running UNIX™ but decided to 
continue selling IBC-OASIS™ computers. UNIX 
requires a lot of horsepower to run well, and 
the low cost UNIX systems did not have the 
performance to do our customers job to our 
satisfaction. 

APS sells high performance systems based on 
the OASIS multi-user operating system. OASIS 
provides all the features that you find on a 
good minicomputer multi-user operating 
system. OASIS is user friendly and performs very 
well on low cost multi-user systems. 

At APS, we have selected IBC for our 
customers, because they provide a computer 
that allows us to efficiently run up to 16 users 
with our OASIS software. 



Circle 1 49 for Dealer inquiries. Circle I 50 for End-User inquiries. 



Do you want a multi-user system which has 
hundreds of applications already available? 
Do you want to sell user friendly, low cost, multi- 
user computers that outperform the low end 
UNIX systems? Then I suggest you contact IBC 
immediately." 




IBC/lntegrated Business Computers is the 

leader in multi-user technology. To find out 
more about the company, its products and 
support, please call or write: 



OUTSIDE THE USA 



WITHIN THE USA 



IBC/lntegrated Business Computers I I IBC/ DISTRIBUTION 



21621 Nordhoff Street 
Chats worth. C A 91311 
(818) 882-9007 Telex No: 215349 



1140 36th Street, Suite 212 
Ogden, Utah 84403 
(801)621-2294 



UNIX Is a trademark of Bell Laboratories 
OASIS Is a trademark of Phase One Systems 



AUGUST 1 984 • BYTE 17 



There's a 
better way to 
pack more muscle^ 
in your micro/ ^ ' 




The HarDrive™ by QuCeS. 
More bytes for your buck. In a flash. 

If you're looking for a way to get more performance out of your microcomputer, 
look no further than QuCe5. 

With a QuCe5 HarDrive subsystem, you can make your micro behave almost like 
a mainframe. 10 to 114 megabytes of mass storage lets 
you handle data bases that would make the normal 
micro blow a fuse. And you can access, update and 
process data so incredibly fast, you won't believe 
your eyes. A QuCe5 HarDrive with an optional 5 
megabyte backup cartridge, also means you 
won't have to rely on a very unreliable storage 
medium for your crucial data— namely floppy 
disks— ever again. 

Another QuCe5 plus is compatibility. It inter- 
faces with most popular microcomputers like 
IBM, Radio 5hack, Apple, DEC, Epson— 
you name it. Installation couldn't be easier, 
our software is easy to use, and each 
HarDrive is backed by a 1-year warranty. 

The QuCe5 HarDrive. It will make your micro mightier and faster than ever before. 




•%^ 



- 



^ 



Hoes 



For complete details, contact 

Quality Computer Services 



LETTERS 



drugs for diabetes, hypertension, and acne, as 

well as related medications, are not covered in 

Dr. Zucconi's program. Drugs in Pregnancy. 

Samuel Neff, M.D. 

Narberth, PA 

Program Comments 



1 enjoyed the article "Using Comments to Aid 
Program Maintenance" by Richard A. Thomas 
(May, page 41 5), and I think that an article that 
attempts to demonstrate some good (and bad) 
commenting techniques would also be useful. 
1 have found that the usual reason for bad com- 
ments is that the programmer doesn't know 
how to do it any better. My company has de- 
veloped fairly rigid standards regarding code 
and documentation, and we avoid some of the 
problems stated in the article by stressing that 
you can't move on to a new project if no one 
else can maintain your old one. 

We consider the most useful comments to be 
the program and subroutine headers. Our pro- 
gram headers contain the name of the program, 
the system it belongs to. the name of the pro- 
grammer, a complete revision history, and a 
brief description of the program's function. Our 
subroutine header contains the name of the 
subroutine, a description of the subroutine's 
function, and the input and output parameter 
details. These headers seem to be the biggest 
help to a maintenance programmer and we in- 
sist that they be kept up to date at all times. 
D. P. Kerkhoff 
Orlando, FL 



Dear Thieves 



3 Quces Drive, Metuchen, N.J. 08840 (201) 548-2135 
TELEX 299410 QCS 



Judging by the letters and articles in microcom- 
puter publications, the controversy over soft- 
ware piracy seems to have died down recent- 
ly. However, from my own experience I feel that 
it is as much a problem as ever and is merely 
reaching the level of general acceptance. Lest 
it arrive at that point and doom us forever to 
the curse of sophisticated and costly protec- 
tion schemes. I submit the following: 

An open letter to software pirates: 

I am constantly amazed at a practice so 
prevalent among microcomputer owners that 
a person who does not participate in it is almost 
considered a freak. I refer of course to the prac- 
tice commonly referred to as software piracy. 
I prefer, however, to call it by its correct name- 
software THEFT. I am not referring only to those 
who copy software for profit or underground 
distribution, but to anyone who copies copy- 
righted software they did not purchase. The law 
is clear on this point. You have the legal right 
to copy software you have purchased for your 
own use. Any other copying, even if you give, 
not sell, the copies to friends, school, users 
groups, or anyone else, is illegal. In spite of this, 
I know people who would not think of violating 
the 55-miles-per-hour speed limit but freely and 
frequently copy copyrighted software from 

[continued) 



18 B YTE • AUGUST 1984 



Circle 263 on inquiry card. 



Meet the Standard. 




AST SixPakPlus has 
set the standard 
100,000 times. 

We have manufactured and shipped more than 100,000 
SixPakPlus multifunction boards in less than a year— an event 
that proves quality and quantity are compatible. 

Important as it is, quality is just one factor that has made 
SixPakPlus the most popular, most respected multifunction 
board available today 

Performance is another. SixPakPlus provides IBM PC, XT, and) 
compatibles users with an ideal combination of enhancements:* 

• Run sophisticated software programs and process more data 
with an additional 64K to 384K RAM memory capability. 

• To add peripherals such as printers, modems, mice, plotters I 
or joysticks, we give you more Input/Output ports— serial, 
parallel and optional game adapter. 

Circle 5 on inquiry card. 



• More convenience, thanks to a built-in clock- 
calendar that provides automatic time and date stamping. 
• More productivity with SuperPak™ utility diskette including 
SuperDrive,™ PC World's UserSurvey award-winner, that works 
like a drive but fifty times faster— and SuperSpool™so you can 
print and input at the same time. 

Quality extends to documentation, too. SixPakPlus is one of 
the easiest hardware/softwarep ackages to install-and operate. 

And, with our new audio cassette, you don't even have to crack 
our manual to learn how to take full advantage of SixPakPlus' 
features and functions. 

Meet the standard for multifunction enhancement boards 
in person. Get a SixPakPlus from a dealer near you. SixPakPlus 
is a member of the complete AST family of multifunction boards, 
Micro-to-Mainframe com- 
munications, LAN and 
graphics products. 

Contact: 
AST Research Inc. 
2121 Alton Avenue 

Irvine, CA 92714 VvJV M 4 

Phone: (714) 863-1333 Sjg^ ||£\ 

TWX: 753699ASTR UR 

* IBM P C and XT are registered trademarks 
of International Business Machines. 



\ 




R€S€nRCH INC. 



AUGUST 1984 -BYTE 19 



**f' } 



WANTED 




mw* 






SOMETHING TO 
RELIEVE THIS HESS! 

If you've ever found yourself searching for a calculator, notepad or appointment book 

when you've got a computer right in front of you, then you know 

the absurd situation we're illustrating. 



Sure, there are clumsy little programs you 
can boot up to accomplish one or the other of 
these tasks ... but that's generally meant first 
stepping out of the software you're working with. 

Whafs always been needed is one powerful 
piece of software, occupying only afewK, that 
would be tucked away in an unused part of RAM no 
matter what program you're running. 

Whether you were running dBasell, Lotus 1-2-3, 
WordStar or even Turbo Pascal© ... it would always 



be ready for lightning-fast use. You could just hit a 

button and open a window for a notepad, another for 

a calculator. Hit the button, again, and your work 

would be saved to disk and you'd be right back in 

your original software! 

While we're at it, it should also have a perpetual 

calendar linked to a datebook. And even an autodialer, 

with a built-in phonebook. 

Is this piece of software possible? At a price you can 

afford . . . now? 



• <--\ 



Something totally new in applications 
software from Borland, 
the folks who make 
Ibrbo Pascal® 




JUST A KEYSTROKE AMY. 

NO MATTER WMT SOFTWARE 
YOU'RE RUNNING! 

• A CALCULATOR 

• A NOTEPAD 

• AN APPOINTMENT CALENDAR 

• AN AUTO DIALER 

• 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 realty left!) 



NOW . . . Whether you're working in dBasell, Lotus 1-2-3, WordStar 
or whatever . . . You'll have your SIDEKICK®, too! 



Something brand new. Crafted in Assembly language as carefully 
as Borland's famous Turbo Pascal©, so that it's lightning-fast and as 
compact as only Borland knows how to make it! With a notepad that 
has a fulf-screen editor that saves your notes to disk You can even swap 
information back and forth between your applications software 
and your Sidekick. 

rf&tfppose 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 



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

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

Understand Why. 'Only with Hayes Snurtmodem and compatibles. 



hit the button again. You're right back where you left off in the spreadsheet. 

YOU CAN ORDER YOUR COPY OF SIDEKICK® TODAY! 

For Visa and MasterCard orders call Toll Free 1-800-227-2400 ext 953 in California 1-800-772-2666 ext 953 

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



SIDEKICK 6 $49.95 

(plus $5.00 shipping and handling 
•Shipped UPS) 

Check D Money Order □ 
VISAD MasterCard □ 
Card* 



Expiration Date 



Please be sure your computer is an IBM PC, XT, jr., or true compatible! 

NAME | 

ADDRESS 



CITY/STATE/ZIP . 
TELEPHONE 



■\ 



California residents add 6% sales tax. Outside U.S.A. add $15.00. (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. S D15 



E| BORlAflD 
9 INTERNATIONAL 

Borland International 
4113 Scotts Valley Drive 
Scotts Valley, California 95066 
TELEX: 172373 



Circle 40 on inquiry card. 



dBase II is a trademark of AshtonTate, WordStar is a trademark of MicroPro, Lotus 1-2-3 is a trademark of Lotus Development Corporation. 



Circle 34 on inquiry card. 



affordable & reliable... 

NETWORKING 




Networking begins with your fine 
computer. Where it goes is unlimited 
when you interface your peripheral 
devices with a 4, 8 or 18 port BayTech 
Serial Port Expander. With BayTech's 
units you can mix-and-match other 
computers and/or peripheral devices 
of different configurations without the 
need to reconfigure. Port configura- 
tion of the peripheral device ports 
may be changed by the user with 
BayTech's menu-driven software. 

Computer 




BayTech's versatile networking 
multiports, capable of any-port-to- 
any-port interconnection, have virtual- 
ly unlimited applications. With their 
features and low cost, the user can 
create a local network providing simul- 
taneous communication for 5, 9, or 18 
R5-232C devices. 




A few companies make a good, 
expensive Serial Port Expander. 
One company makes an excellent, 
affordable line of them - BayTech. 

• Model 524F $ 329. 

• Model 528F $ 619. 

• Model 52I8F $1750. 

"We design and price BayTech Multiports so 
everyone can have an affordable and reliable com- 
puter network. To solve your networking 
problems, call us." 

Charles R. Ramsey, President 
Bay Technical Associates, Inc. 

1-800-523-2702 

BAY TECHNICAL 
ASSOCIATES, Inc. 

HIGHWAY 603. P.O. BOX 38? 
BAY ST. LOUIS. MS 39520 160 1 1 467-823 1 




LETTERS 



others or to give to others. 

I have heard and read more rationalizations 
for this practice than I could possibly list. They 
are just that— rationalizations of those who must 
make excuses for their actions. One of the most 
common I hear is "software is overpriced." To 
that I say, if you absolutely cannot live without 
a piece of software then, whatever its price, it 
is worth it to you to pay it. Otherwise, don't buy 
it. don't copy it, and don't use it. If it truly is 
overpriced and people do not buy it or use it, 
the price will come down or it will disappear 
from the market. V\fe should encourage and sup- 
port such software publishers as A.P.P.L.E., 
Penguin. Beagle Bros., and others who have 
chosen to reduce their costs and their prices 
by not copy-protecting their software. These 
publishers sell top-quality software for reason- 
able prices. I encourage you to buy and use 
their products, but please do not rip them off 
by stealing their software. 

For those of you whose only ethical standard 
is "it's OK if I don't get caught," I don't expect 
to make much of an impression on you. You 
are right about one thing: if you don't sell boot- 
legged software you probably won't get caught. 
But I am writing this to those of you who hold 
to some form of ethics or morality that says it 
is wrong to steal, whether or not you might get 
caught. Consider what you are doing when you 
accept or give copies of copyrighted software; 
consider the example you are setting for your 
children and friends. You are stealing, regardless 
of your rationalizations to the contrary. 

Just because software piracy does not receive 
the press attention it once did does not mean 
that it is no longer a problem. In reality, it is 
bigger than ever as more and more people buy 
computers. I don't expect that this letter will 
make much of a difference in the overall prob- 
lem, but if a few who may be unwittingly copy- 
ing software accept the reality of what they are 
doing and refuse to continue the practice, then 
it is worth it. 

William G. Wright 
Oceanside, CA 

Reconfiguring Perfect 
Writer Commands 



Recently. I bought a Kaypro 2 computer to use 
primarily for word processing. After looking 
through the manuals, I decided to use the Con- 
fig program provided to program the number 
keys to replace many of the Control-X com- 
mands in Perfect Writer. I thought it would be 
nice to replace three- or four-keystroke com- 
mands with one-keystroke commands. I quickly 
found two problems. First, the documentation 
is terrible. No instructions are given to explain 
how to use the Conf ig program with Control or 
Escape sequences. Second, once I found the 
necessary information in the Perfect Writer 
manual (which is also terrible), it turned out that 
the hexadecimal codes for these commands are 
all three characters long, which will not work 
with the Config program. 

I finally worked out a way of doing everything 
I wanted. Perhaps it is not the easiest way but 



it does work, and I thought many of your 
readers who own Kaypro 2s would be inter- 
ested. The process follows: 

1 . Copy the following files onto a blank for- 
matted disk from the Perfect Writer Installa- 
tion disk: PWBIND.COM. FUNCTS.TXT, 
PW.SYM. Copy the following files onto the 
same disk from the Perfect Writer Edit disk: 
PW.COM. PW.SWP. PW.HLP. 

2. Edit the-FUNCTS.TXT file by typing PW 
FUNCTS.TXT at the A> prompt. Then, pick 
out any 1 4-line section of FUNCTS.TXT that 
consists of all unknown commands and 
whose hexadecimal codes are two charac- 
ters long. Numbers 161-174 are ideal since 
the corresponding hexadecimal codes are 

AI. A2. A3 AD. Find in the Perfect 

Writer manual the printout of FUNCTS.TXT 
and the commands you want. Then replace 
just the items in the third and fourth col- 
umns of each line (161-174) with the com- 
mands you want. When done, save the 
edited version with Control-X. Control-S. 
then exit with Control-X. Control-C. 

3. Call up PWB1ND.COM by simply typing 
"PWBIND" at the A prompt. PWBIND will 
do the rest. 

4. Next, copy PW.COM. PW.SWP. and 
PW.HLP back to the Perfect Writer Edit disk. 
The commands corresponding to the lines 
you edited will now work. (If you use Perfect 
Speller, it will be necessary to copy these 
to the Perfect Speller disk, too.) 

5. Next, put the new PW Edit disk into drive 
B. and the CP/M disk into drive A. Then, 
at the A> prompt, type CONFIG. Choose 
number 4 from the menu (change the 
number pad) and then number 2 to actual- 
ly change them. Then enter the new hexa- 
decimal codes into the chart (if you used 
161-174 then the next hexadecimal codes 
will be Al-AD) in accord with your wishes 
(a hand-drawn chart comes in handy). Then 
press Esc twice, then answer Y when asked 
if you want to keep the changes made. 

6. Finally, put the reconfigured Edit disk in 
drive A. and then push the reset button. 
After this, the number pad will be recon- 
figured the way you want it. 

Although there are a number of steps in- 
volved here, this procedure is not difficult. It 
is unfortunate that both Kaypro and Perfect 
Software chose to make this all sound so dif- 
ficult in their manuals. However, once it is done. 
life with Perfect Writer is much nicer. 

I find it convenient to. have a STAT file on the 
same disk as my word-processing software. This 
is no problem on WordStar because there is 
plenty of room left on the disk. However, on 
the Perfect Writer disk there is all of I K byte left. 
The PW.HLP file is exactly the same length as 
STAT.COM. though, and. since I never use the 
on-screen help feature, I erased it from the Edit 
disk (I did save it on the PW LESSONS disk) and 
copied STAT.COM to Perfect Writer. This allows 
me to know the remaining space on a disk with- 
out changing to the CP/M disk. 

Barry D. Smith 
Carbondale, IL 



22 BYTE • AUGUST 1984 



Circle 35 on inquiry card. 



LETTERS 



A Call for QX-IO Support 



I am the owner of an Epson QX-10 with an 
MX-80 FT as well a Comrex CR-11. 1 purchased 
this primarily for business use and am happy 
with it except for one thing. There is virtually 
no one putting out any educational software 
to use under the CP/M-80 operating system. I 
realize that the QX-10 is relatively new but CP/M 
isn't. Why don't the good educational-program 
writers who work for Atari and Apple under- 
stand that CP/M system users have children who 
could benefit from such software? 

And what about all those ingenious add-on 
board builders? Why hasn't someone made one 
that will run Apple and IBM PC programs on 
the QX-10? 

David M. Boyd 
Tampa, FL 



SUPERMICROS 



I would like to suggest that technology has ad- 
vanced enough to warrant a shift of focus for 
"the small systems journal." 

Many of the articles in BYTE seem to be 
pitched to the level of systems with a 6502. 
8088. or 8086 central processing unit. But there 
are a number of "small systems" on the market 
using 68000s and calling themselves super- 
micros. I have been following the product an- 
nouncements of Cadmus, Pixel, Callan. and 
Wicat for a while hoping that I might win the 
state lottery so 1 could buy one. Actually, given 
another year or two. I might be able to afford 
a supermicro without the lottery. But now my 
interest has been aroused by the appearance 
of 32-bit "supermicros" 

DEC has announced its Microvax, and now 
AT&T is about to market its 3B2/300. Both of 
these are true 32-bit machines and yet they are 
being promoted as small systems, i.e., not quite 
minicomputers. At this point, all I know is that 
1 would like to own one of these machines, with- 
out knowing what they could offer me. One of 
the things I'm looking for is the capability of 
doing graphics more on the level of computer- 
aided design than pie charts, but AT&T tells me 
that the 3B2 doesn't support graphics as yet. 

So now I want to suggest that BYTE extend 
its coverage of slightly more sophisticated 
machines. Before you object that none of your 
readers can afford these machines unless they 
have a healthy business going, let me mention 
that I am an individual without such a business 
who will probably buy a 68000-based system 
running UNIX, and who is very interested in 
reading about and learning more on the genera- 
tion of 32-bit microcomputers. 

]ay Steinbrunn, Ph.D. 
South Hadley. MA 



Request for Help 



I recently bought a Radio Shack Model 4 and 
now I need help with some conversions from 
my old Mode! 1. 



First I would like to know if anyone knows 
what patches must be applied to Microsoft's 
muMATH for the Model 1 to make it run on a 
Model 4 (either in Model III or Model 4 mode). 

I would also like to know where I can buy a 
disk-controller board so that an 8-inch disk drive 
from my old Model 1 will run on the Model 4. 
I want to use the 8-inch drive with three 5 14-inch 
drives under DOSPLUS 3.5. DOSPLUS IV. NEW- 
DOS/80 (Model III mode), Montezuma MICRO 
CP/M version 2.2, and Radio Shack CP/M ver- 
sion 3.0. 

James R. Primm 
Paris, MO 

A Subscriber Complains 



1 look forward to the delivery of my BYTE each 
month because 1 enjoy it and it is a method of 
keeping up with my peers who also subscribe 
to BYTE. My complaint is in regard to my per- 
ceived view of your mailing practices. My last 
name is Zehnder and I work with a gentleman 
whose last name is Anderson who is also a 
BYTE subscriber. We live within 30 miles of each 
other. 1 have noticed that over the last several 
months he has received his issue of BYTE four 
to five days earlier than I. 

At this point I would like to note two features 
of BYTE magazine: it is of broad interest and 
substantial content, i.e., it has a large physical 
structure (my wife still thinks it's a catalog): and 
it has a large subscription base because it is 
a leading reference magazine in the computer 
field (everybody gets it). These two features lead 
me to believe that McGraw-Hill has trouble mail- 
ing all of one month's issues on the same day. 

My conclusion is that McGraw-Hill makes their 
monthly mailing over a period of about one 
week with the output sequenced alphabetically. 

1 feel that you are discriminating against those 
whose last name begins with a letter toward the 
end of the alphabet. 

If BYTE is an influential information source, 
which I believe it is, then I think that the prac- 
tice of mailing alphabetically means that those 
whose names begin with the letters "A," "B," or 
"C" rise in corporate structures faster in rela- 
tion to their current information sources. 1 don't 
have the resources to perform a meaningful 
study to substantiate these assumptions, but the 
results of such a study would be interesting. 

If BYTE is discriminatory in its mailing prac- 
tices and if it is influential, then it is leading peo- 
ple whose names begin with something other 
than "A." "B." or "C" to take one of two actions: 
they can do nothing but also not rise in the cor- 
porate structure due to their lack of timely in- 
formation; or they can inform BYTE that their 
"mailing name" is Aardvark or Aaron or the like. 
The second solution is only temporary because, 
as more people discover the problem and use 
this solution, an "alphabetic war" will break out. 
This will cause much havoc as subscribers race 
to change their names and move up on the 
BYTE mailing list. 

Let me address a possible solution to this 
problem. I assume that BYTE has a computer- 

{continued) 



affordable & reliable... Dn p T 

CONTENTION 



° \ ■ SB** o^QQJg^o a ferawp wf o o^gSS 



Add more users to your multi-user 
computer without expensive hard- 
ware or software modifications. A 
BayTech Port Contention unit will 
maximize utilization of available ports, 
thereby minimizing idle, valuable 
system time. With 6-to-3. 8-to-4 and 
1 2-to-6 port models available. Port 
Contention problems can be solved 
from micro to mainframe computers. 



,u\» r 



pop 



, -atf* 6 * h * Old*- 




\\w\w uuvh mmmWMfM 



The graphic above illustrates a typical 
BayTech Model 52I8B Port Contention 
application. By adding a single 52 1 8B unit, 
a 6-port multi-user computer gains six 
additional users, thereby doubling access- 
ibility to the computer. 



Model 528B 
Model 52I2B 
Model 52 1 8B 



6 ports to 3 . 
8 ports to 4 . 
2 ports to 6 . 
To solve your 
port contention problems . 



$ 625. 
$1095. 
$1750. 



1-800-523 




Now 
You're 
Talking!™ 



AUGUST 1984 • BYTE 23 



LETTERS 



ized mailing list (it would be ludicrous to 
assume otherwise) and that the BYTE and 
McGraw-Hill staffs are computer literate (don't 
they read their own magazine?). Thus these staff 
members must be capable programmers who 
are only guilty of not completing the project. 
It should only take a small change in the 
algorithm to solve the problem. One solution 
might be to move the starting position by one- 
twelfth of the total subscription base each 
month. In this way each subscriber would get 



their issue on the first day once each year. This 
would at least even out the information gap. 
Although, as a point of justice, you might con- 
sider sending BYTE out in reverse alphabetic 
order for a period of time to correct past in- 
equity (and let me get mine first). 

1 hope that you take prompt action to avert 

a major "alphabetic war" and the subsequent 

loss of personal integrity by your subscribers. 

Don Zehnder 

Tacoma, WA 




The proven Winchester subsystem drives for your IBM 
or compatible PC. 10, 15, 25, or 33 megabytes of bis 
system storage in a DiskSystem® 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. 



- - | 21101 Osborne Street 

IntSrfdCS IllC Canoga Park, CA 91304 

(818) 341 -7914 • Telex: 662949 



Dealer Inquiries Invited 

DiskSystems is a copyright of Interface Inc. IBM is a registered trademark of IBM 
Corporation. Prices are suggested retail and are subject to change without notice. 



In fact, our subscriber copies are mailed by 
ZIP Code rather than alphabetically. Our cir- 
culation department is taking steps to speed 
up delivery. We hope that these steps bring 
your BYTE to you earlier. 

More on the Mac 



] feel that I must defend Gregg Williams's Prod- 
uct Preview of the Apple Macintosh (May Let- 
ters, pages 14-20). I was an "Apple hater" 
before the company came out with this mar- 
velous machine (I still don't like the lie). If a 
previewer is justifiably excited about a new pro- 
duct, he should convey that excitement to the 
readers. 

I can see why some people are thrilled about 
this radical new machine. If you have any idea 
of how ingenious the design of the Macintosh 
is, you probably are jumping for joy. It's about 
time a company comes out with a new machine 
rather than another clone. 

I also would like to address the problem of 
the 128K-byte memory limitation. This is similar 
to the power race in home-stereo equipment 
several years ago. Everyone was trying to build 
the most powerful amplifier in the world (300 
watts and above). Now the only place to find 
such behemoths is at flea markets. Can anyone 
recall that the Apple II and the Radio Shack 
Model Hi ran every piece of software imagin- 
able with only 48K-bytes? With memory limits 
currently approaching 1 megabyte, sloppy pro- 
grammers will continue to eat up all the mem- 
ory they have until . . .(where will it end)? 

Look hard at this machine and compare the 
hardware and software and you'll see how dif- 
ferent the Mac is. Look at the potential it has 
compared with all the CP/M and IBM clones and 
you'll share the excitement too! 

Wayne Daniel 
Lafayette, LA 

I'm college educated, worked as a nuclear engi- 
neer for several years in the Navy taught high 
school for two years, and am employed by a 
major national corporation working with com- 
puter simulations. I've been working with com- 
puters since 1970 and even have designed 
several micros (I even have an 8008). Daily I 
work with state-of-the-art mainframes, minis, and 
micros, yet according to Gerald Evenden (May 
Letters, page 20) I am one of BYTE's "less- 
sophisticated readers" because this letter was 
drafted and typed on a Macintosh. The worst 
part is that I probably could have used this 
machine for years without ever realizing what 
Mr. Evenden was so quick to point out. I feel 
so ashamed! 

Jonathan L. Poland 
Berkeley, MO 

In the bewildering personal computer 
marketplace, buyers often look to dependable, 
accurate, and honest magazines like BYTE for 
information. Many times they are misled by "ex- 
perts" who recommend or condemn machines 
after only superficially examining them. 
I'm writing in regard to a letter by George 

{continued) 



24 B YTE • AUGUST 1984 Circle 162 for Dealer inquiries. Circle 163 for End-User inquiries. 





DAIA ACQUISITION SOFTWARE 
THAT SPANS TWO WORLDS 



Now one IBM PC can direct high 
speed acquisition of analog signals, and 
simultaneously read and control instru- 
ments on the IEEE-488 bus. Connect 
your analog signals to the Keithley DAS 
Series 500 Measurement and Control 
System; connect IEEE-488 instruments 
to our new Plus500 Instrument Control 
System. The same software environ- 
ment controls both interfaces at the 
same time. 

■ Soft500andnewPlus500 
software make measurement and 
control accessible. 

Sof t500 and Plus500 software are 
enhancements of BASIC, the language 
of personal computing. As easy to use as 
BASIC itself, Soft500 and Plus500 add 



Circle 172 on inquiry card. 



powerful data acquisition and control 
capabilities to a higher level language. 

■ You can trust the data. 
Soft500's foreground/background 
scheduling carefully times multiple 
tasks to ensure that successive readings 
from the same channel maintain pre- 
cisely the same sampling interval. And 
there's still time for simultaneous data 
analysis. 

■ The Series 500 is fully modular. 

Seventeen modules form an extensive 
and growing family that supports ana- 
log input, analog output, digital I/O, 
current loop output, pulse counting, 
and AC/DC relay control. And now the 
Plus500 Instrument Control System 
allows simultaneous access to the IEEE- 
488 bus as well. 



■ Quality manufacturing, 
quality service. 

The Series 500 is built like an instru- 
ment. It has the highest accuracy, the 
lowest noise, and the best thermal sta- 
bility of any personal computer based 
data acquisition workstation. That's why 
it comes with a one-year warranty and a 
free product support hotline. 

■ For more information 

Call us toll free at 1-800-552-1115. In 
Massachusetts, call 617-423-7780. We'd 
like to tell you more about the Series 
500 measurement and control family. 

349 Congress Street 
Boston, Massachusetts 02210 



KEITHLEY 



AUGUST 1984 • BYTE 25 




FOR YOUR 
BOTTOM LINE. 



Lotus 
1-2-3 

319 



dBase II 

*369 



WordStar 
Professional 




Multi Mate 

*279 


'359 


j 



WORD PROCESSING/ 
EDITORS 

Easywriter II System 

(3 pak) 
Edix/Wordix 
Final Word 
Microsoft Word 
Microsoft Word/Mouse 
M ultimate 
PeachText 5000 
Perfect Writer/ Speller 
PFS: Write 
Samna Word II 
Select Word Processor 
Spellbinder 
SuperWriter 
Volkswriler Deluxe 
The Word Plus (Oasis) 
Word Perlecl (SSI) 



$219 
$269 
$189 
$239 
$299 
$279 
$219 
$249 
$ 95 
$329 
$199 
$249 
$179 
$179 
$109 
SCall """.- 



WordPlus-PC with The Boss $329 



WordStar 

WordStar Prolessional 

IWS/MM/SS/SI) 
WordStar Oplions Pak 

(MM/SS/SI) 

DATABASE SYSTEMS 

Alpha Data Base 

Manager II 
Condor III 
dBase II 
DBplus 
Friday 
InfoStar 
Knowledgeman 
Perfect Filer 
Personal Pearl 
PFS: File/PFS: Report 
Powerbase 
QuickCode 
R:base 4000 
T/Maker 111 
TIM IV 
Versaform 



$239 
$359 



$189 



$179 
$329 
$369 
$ 89 
$179 
$269 
$299 
$159 
$199 
$169 
$289 
$169 
$289 
$199 
$269 
$249 



SPREADSHEETS/ 
INTEGRATED PACKAGES 

Framework $Call 

InteCatc $189 

Jack 2 $329 

Lotus 1-2-3 $319 

Multiplan $135 

Open Access $399 

Ovation SCall 

SuperCalc 3 $239 

Symphony $Call 

TKI Solver $289 

VisiCalcIV $159 

PROJECT MANAGEMENT 

Harvard Project 

Manager $269 

IntePert/Plan $239 

Scitor Project Scheduler $229 

VisiSchedule $199 

GRAPHICS/STATISTICS 

Abslal $279 

BPS Business Graphics $229 

Chartman Combo (ll&IV) $349 

Chartmaster $259 

dGraph $189 

Energraphics $259 

Fast Graphs $199 

Graphwriler Combo $429 

PC Draw $289 

PFS: Graph $ 95 

Statpac $299 

ACCOUNTING MODULES 



Ask Micro Accounting 
BPI Accounting 
I US EasyBusmess System 
MBA Accounting 
Open Systems Accounting 
Peachpak 4 (GL/AP/AR) 
Peachtree Accounting 
Real World Accounting 
Star Accounting Partner 
(GL/AP/AR/PAY) 



$299 
$369 
$319 
$369 
$459 
$239 
$399 
$469 

$269 



PROFESSIONAL 
DEVELOPMENT 

Management Edge $139 
Think Tank $179 

HOME/PERSONAL FINANCE 

Dollars and Sense $119 

Financier II $119 

Home Accountant Plus $ 99 
Tax Preparer 84 $189 

LANGUAGES/UTILITIES 

Access Manager $239 
Digital Research 

C Compiler $219 

Display Manager $299 

Microsoft C Compiler $329 

MS Basic Compiler $249 

MS Fortran $239 

Pascal MT+86 $249 

Norton Utilities $ 59 

COMMUNICATIONS/ 
PRODUCTMTY TOOLS 

Crosstalk $119 

Memory Shift $ 79 

Move It $109 

Prokey 3.0 $ 95 

Smartcom II $109 

HARDWARE PERIPHERALS* 

AST Six Pack Plus (64k) $269 
Quadboard (0k) 
Hayes 1200B wilh 

Smartcom 
Hayes Smartmodem 1200 
Hercules Graphics Board 
Epson FX-100 Printer 
Comrex II Printer 
C lloh Prowriter 
C Itoh Starwriter 
Okidata 93A 
64K Memory 

*Call for shipping. 



$209 

$399 
$499 
$349 
SCall 
SCall 
SCall 
$1199 
$749 
$ 55 




Word& 
Mouse 

$ 299 



Microsoft C I Smartmodem 
Compiler 1200B 

$ 399 



fre 



ei 



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 Slate call (212) 438-6057 




TERMS: 

Chocks— allows ft days to r clear. Credit 
processing— add 3V COD orders— cash, M.O. 
or cartitted check—add $3.0"6 Shipping and 
handling UPS surfece—add $300 per Hem. 
{UPS Blue S6.00per nem). NY State 
Residents— add applicable sales tax All prices 
subject to change 



jffl wH 



ra 




Softline Corporation 

3060 Bedford Ave.. Brooklyn. N.Y. 11210 

TELEX: 421047 ATLNUI 



LETTERS 



Snoga (May Letters, page 1 4). It was dishearten- 
ing to see someone try to compare a PCjr to 
a Macintosh. I was glad Gregg Williams pointed 
out that a Mac is much more of a PC than a 
PCjr, but I feel he should have gotten the point 
across more clearly. BYTE must maintain its 
respectability as a magazine by answering tough 
questions with tough answers. Mr. Williams's 
reply answered the letter writer but left me 
uneasy and hungry for more. 

I'm surprised that Mr. Snoga said that the Mac 
isn't much more powerful than a PCjr because 
it lacks slots. Slots originally came Jnto existence 
so hardware could be added to expand a 
machine. In those days it was necessary for 
microcomputers to share the microprocessor 
with the peripherals through the use of slots. 
Microprocessors were too expensive to in- 
dividually implement on each and every periph- 
eral. Today, single-chip micros cost about $8 
apiece; they are inexpensive enough to put in- 
to modems, printers, plotters, etc. It is no longer 
necessary to have a direct processor bus con- 
nection for each peripheral because it is also 
no longer necessary to share the processor. 

One of the best ways for the computer and 
it's intelligent peripherals to communicate is by 
means of the high-speed serial ports Macintosh 
uses. They transfer data at I megabit per sec- 
ond, unlike the slow RS-232C With this arrange- 
ment you don't have to concern yourself with 
whether certain cards or peripherals are com- 
patible with each other. Also, you can daisy-link 
the peripherals attached to the serial ports, 
meaning you can have more than one device 
on each serial port. You will not have to scrap 
your system. Mac is truly expandable. 

As Mr. Williams pointed out, the only kinds 
of peripherals you can't add on are copro- 
cessors and the like. If you really want to add 
this type of hardware to your machine, and if 
there is a very good reason for it. third-party 
vendors will probably pick up your problem 
and figure out a way around it. Besides, the 
speech/sound synthesizer, clock/calendar, disk 
controller, monitor/display circuitry, mouse inter- 
face/drivers, and serial ports are all built in. 
These are exactly the things you would fill up 
most expansion slots with anyway. People 
describe the IBM PC as having only five slots. 
But because almost everything is built in on the 
Macintosh, and because peripherals can be 
daisy-linked, it is unfair to say that the Mac has 
only two ports and is unexpandable. 

I must admit that at first glance the PCjr and 
the Mac appear to be similar. Yet upon closer 
examination, it becomes obvious that a Macin- 
tosh is at least equal to the PC. if not better. 
IBM officially has no option for a second drive 
for the PCjr: only third-party vendors supply 
such. The Mac has a second drive from Apple. 
The Mac does not have a maximum memory 
of 12 8K bytes. The memory-upgrade mother- 
board (to 51 2K bytes using 2 56K-bit chips) will 
soon be available. The PCjr has minimal hard- 
ware expandability— it doesn't have high-speed 
serial ports to add peripherals as the Mac does, 
and it doesn't have true, open slots. You might 
say the Mac is upwardly compatible with the 
Lisa 2. but I like to view it simply as compati- 

[continued) 



26 B YTE • AUGUST 1984 




The Ultimate Spreadsheet Display For Apple 

1 28 Columns by 32 Lines, 80 Columns by 48 Lines, and More! 



UltraPlan 

SPREADSHEET CALCULATOR 

Software 
For use with Apple 

• EASY TO FOLLOW MENUS 

• VARIABLE COLUMN WIDTHS 

• SHIELDS CONFIDENTIAL 

INFORMATION 

• PREVENTS ACCIDENTAL 

CHANGES 

• EASY CURSOR MOVEMENT 

UltraPlan— an advanced spreadsheet pro- 
gram—makes planning, forecasting, and 
budgeting easy, fast, and accurate. UltraPlan 
can make full use of the UltraTerm, 
Videoterm, and can use additional memory 
cards for models as large as 512K. UltraPlan is 
compatible with VisiCalc® data files and 
features advanced commands not found in 
VisiCalc. UltraPlan is compatible with the 
Apple ][ and Apple He computers. 



TM 





Actual photo of 128x32 screen. 



UltraTerm ™ 

A DISPLAY PERIPHERAL 

To display more than 80 columns or 24 lines, you will need an 
UltraTerm video display card. This card gives your Apple ][ or Apple He 
the ability to display more characters than ever. Nine display modes 
that can display as many as 4096 characters allow you to choose the 
number of columns and rows best suited to your application. 

UltraTerm utilizes 8 x 9 or 8 x 12 dot character matrix (versus the nor- 
mal 5x7) to deliver superb resolution in the crispest, cleanest 
characters available anywhere. 

Other display attributes such as highlight/lowlight, inverse, and half- 
intensity backgrounds can be chosen to suit your own viewing 
preferences. 



Videoterm 



TM 



The Videoterm— the best selling 80 x 24 display card for the Apple It- 
can be used with UltraPlan. The advanced software features and ex- 
panded memory capability of UltraPlan are also available to Videoterm 



users. 



Apple is a registered trademark of Apple Computers, Inc. UltraPlan, UltraTerm 
and Videoterm are registered trademarks of Videx, Inc. VisiCalc is a registered 
trademark of VisiCorp. 

Circle 322 on inquiry card. 



Videx Inc. 



1105 N.E. Circle Blvd. • Corvallis, OR 97330 
503-758-0521 

AUGUST 1984 -BYTE 



27 



In the battle between 
the IBM PC, there can be 



Hear the guns? 

,It T s a battle for your desktop. Apple® versus IBM.® 
The easy-to-use Macintosh against the serious business 
computer from Big Blue. 

And the winner? Epson.® That's right, Epson. Because 
for the person who simply wants to buy one relatively 
perfect personal computer, the Epson offers an opportunity 
for peace in our time. 

A computer that is easy to use, like the Mac, but also 
runs all sorts of business software, like the PC. 

And aren't those two computers exactly the one you need? 

An easier way to be easy. . . 
A more serious way to be serious. 



l> 



The Epson is easy because 
its keyboard works in English, 
I \ not computer ese And only 



the Epson comes with Valdocs™ a powerful integrated 
software system that takes you step-by-step through the five 
most important business functions: word processing, 
business graphics, telecommunications, electronic filing 
and daily scheduler 

As a result, while IBM owners are still pondering their 
manuals, and Macintosh owners are still drawing sneakers, 
Epson owners are churning out productive work with 
electronic speed and accuracy 

The Epson also opens the doors of your disk drives 
to the largest collection of software in captivity In fact, the 
Epson runs more business programs than the IBM PC? 

To start, the Epson is available with an optional 16 bit 
co-processor so you can use almost any MS 1M -DOS program, 
including SuperCalc* 3 and Lotus 9 1-2-3* 

The Epson also comes with Microsoft® BASIC and 
CP/M-80® 2.2. 

The CP/M library is impressive. It includes the 
most popular, most powerful business 
programs like WordStar* and dBase II* 
Plus about a thousand other business 
programs, everything from fixed asset 
accounting to pipe network analysis. 
With MS-DOS, Valdocs and CP/M, the 




the Apple Macintosh and 
only one winner. The Epson 



Epson should be able to handle any future busi- 
ness need. And that should make you feel very 
good about siding with Epson today 

The ultimate technical 
specification: value. 

The Epson QX-10 comes complete 
with a 12" high resolution monitor, 600 x 
400 Pixels, driven by one of the most 
powerful graphic processors available. 
With screen resolution this good, text 
and graphics will leap off the screen. 
And when you add a graphics pro- 
gram, like Q-plotter™ you can 
produce presentation graphics of 
the highest order. 

Standard issue on the Epson 
also includes 256K memory, plus 
128K resident video memory, dual 
380K Epson-made disk drives, a 
CMOS Realtime Clock/Calendar with 
battery backup, a 1- year warranty, an 
RS-232C port and a parallel port; thus 
freeing the five— that's right, five- 




option slots for some real options. 

Best of all, everything is Epson quality, 
the same quality that has made Epson the 
number one manufacturer of computer 
printers, worldwide. And when you consider 
that Epson gives you a complete com- 
puter system at a price a thousand dol- 
lars less than either Apple or IBM, 
you understand why this computer 
can not only bring peace to your 
desktop, but to your budget, as well. 



■VWi optional MS-DOS board. Apple, the Apple logo, IBM, Epson, SuperCalc 3. 

Lotus 1-2-3, CfVM-80, Mwoson, WordStar and dBase II are registered trademarks 

of Apple Computers, Ire, ISM, Epson Corp., Sortim, Lotus, Digital Research, 

Mfcrosoft, Mjcropra and Ashton-'&te respectively; \fekJocs, MS, Optatter are 

trademarks of Rising Stair, Microsoft and Metro Software respectively 



EPSON 

STATE-OF-THE-ART. . . SIMPLIC] 



MjIW l MI". 




PC 

SQFTMRE 

SALE 



WE'LL MATCH PRICES ON MOST PRODUCTS 



LOTUS 
CALL 

RBASE4000 
$315 

WORDSTAR 
PROFPAK 

$359 

HAYES 
SMARTMODEM 

1200 



WORDSTAR 

$229 

dBASE II/III 
CALL 

EASYWRITERII 
SYSTEM 

$185 

AST SIX 
PAKPLUS 

$269 



LOOK AT THESE 
SPECIAL PRICES! 



ATI Training Power 

Crosstalk 

dBase II/III 

Database Manager II 

EasyWriter II System 

Hayes Smartmodems 

InfoStar 

IUS Accounting 

Lotus 1-2-3/Symphony 

MicroPro Products 

Microsoft Word 

Microsoft Products 

Multimate 

Peachtext 5000 

ProKey 

Quadram Quadboards 

RBase4000 

SuperCalc 2 

SuperCalc 3 

VisiCorp Products 

Volkswriter Deluxe 

Wordstar 

Wordstar Prof. Package 

All Other Products 



CALL 
$ 99 

CALL 
$199 
$185 

CALL 
$249 

CALL 

CALL 

CALL 
$289 

CALL 
$269 
$189 
$ 87 

CALL 
$315 
$155 
$219 

CALL 
$175 
$229 
$359 

CALL 



To order: 

Call TOLL-FREE: 

800-227-4780 or 415-845-2651 

Or write: 

ECONOMY SOFTWARE 

2040 Polk Street 

San Francisco, CA 94109 



ECONOMY 
SOFTWARE 



□ We guarantee our products against 
manufacturer's defects. 

□ Quantity discounts available. We are 
experienced with Corporate accounts. 

□ No surcharge added for charge cards. No 
charges until products are shipped. 

□ Purchase orders accepted. 

□ Call for shipping charges. 

□ Prices subject to change. 



LETTERS 



ble. The Lisa 2 is still slower than a Macintosh. 
It makes up for this by being able to do multi- 
tasking, but this difference may blur when 
Macintosh is expanded to 51 2 K bytes. And. as 
Mr. Williams pointed out. who says the Macin- 
tosh can't have hard disks? There are at least 
two vendors working on it. excluding Apple 
itself. And as far as price goes, the PC and Mac 
are amazingly alike. After reading Mr. Williams's 
"Update on Apple Macintosh and Lisa 2" (May. 
page 339). I have to agree that the Mac would 
better penetrate the computer market if it were 
cheaper, but even at its present price, it 
represents a great value. Where else can you 
get a system with such power, fast bit-mapped 
graphics, and the unique user interface with the 
mouse for the price? Mac may no longer be 
inexpensive, but it's still a bargain. 

Macintosh represents a breath of fresh air into 
the dry and dull world of me-too computers led 
by IBM. If Macintosh is a success, the innova- 
tion that computer companies used to put in- 
to their products will once more be felt. 

J. Jason Kim 
Honolulu, HI 

Thanks to Gregg Williams for giving Apple the 
"one-two" in "Update on Apple Macintosh and 
Lisa 2" (May. page 339). I too feel that the 
Macintosh is overpriced but I bought one any- 
way. And let me tell you. I'm glad I did. 

It's a fabulous machine that allows me the 
direct visual response 1 crave as an artist. I can't 
imagine going back to the old green screen 
after this. All computers should look this good. 
It looks even better with MacPaint and Mac- 
Draw. They turn this computer into a real 
computer-aided-design system. 

I think that the Mac has a fine future, but 
Apple could have assured it if the Mac were 
priced about $500 cheaper. Maybe Apple will 
let us upgrade to 512K bytes for free, then it 
won't be so bad. One day a computer company 
is going to make a big hit when it realizes that 
price is an important consideration for the 
buyer, but until then, those characters look so 
nice. . . . 

Michael Brodsky 
ML Crawford, VA 

More on Clock-Time 
Benchmarks 



In response to Philip Ender's letter (May. page 
26) regarding my article "Benchmarking FOR- 
TRAN Compilers" (February, page 218): while 
the user ultimately sees wall-clock time. Mr. 
Ender fails to note that there are all types of 
mainframe work loads. Also, you may have to 
wait in line to use a shared single-user office 
microcomputer or you may have to wait for a 
slow 16-character-per-second printer to finish 
printing. Because each mainframe installation 
may have various loads and types of loads, 
there is no way to include all these in a bench- 
mark article without taking measurements at 
several places (such as Los Alamos, which has 
many heavy number crunchers; a university, 
with many users who do light editing; and 



Draper Lab. consisting of a mix of users). Usual- 
ly the average waiting time in the execution-job 
queue is known for each mainframe site, thus 
no new information would be gained by includ- 
ing it in a benchmark. In fact, it would make 
comparisons difficult. Because a user also 
knows the difference in speeds between a slow 
teletype and a fast laser printer, no new infor- 
mation would be gained by including these I/O 
times in the benchmark. If a mainframe installa- 
tion supports the recommended number of 
users and loads, then the mainframe still wins. 
Also note that the microcomputers are fast 
catching up with mainframes. Job-Step time is 
still the most accurate bound for comparing 
respective systems; you can go no faster with 
an unloaded mainframe system or when you 
don't have to wait in line to use a shared single- 
user office microcomputer. 

AVRAM TETEWSKY 

Cambridge, MA 

Future THeme Suggested 



In the Thinktank letter by John Glazer (May. 
page 32). Mr. Glazer states: "It is interesting to 
reflect on how the writing process itself is be- 
ing transformed by what the computer makes 
possible." 

This strikes me as food for thought for a future 
theme for BYTE: "Computers: How are they 
changing (can they change) the social sciences?" 

In another flash of my imagination I can see 
BYTE keeping track of these changes. 

A. C. Posada 
Charlottesville, VA 



Disk Protection 



In regard to Steven A. Green's inquiry about air- 
port security screens erasing his disks (May Let- 
ters, page 36): radiation is to varying degrees 
inhibited by lead foil; magnetic fields are not. 
I suggest he have someone weld him a mu- 
metal box big enough to hold his disk-file con- 
tainers. This should protect them from all but 
the most intense fields he could encounter. 
There are no end of devices that generate 
fields that can damage the fields on a disk 
(which are relatively feeble). Even an electric- 
window motor in a car or almost any solenoid 
valve could damage a disk close to it. 

Billy R. Pogue 
Thatcher, AZ 

Closing the Debate 



Douglas Davidson ("Address Calculation: The 
Forgotten Sort.'* November 1983. page 494) 
wrote that he had discovered a method of sor- 
ting n elements in time proportional to n. Greg 
Scragg (April Letters, page 20) wrote that this 
was impossible since it contradicted a well- 
known result in Knuth's The Art of Computer Pro- 
gramming that any sorting method requires time 
at least proportional to n log n. The seeming 

(continued) 



30 BYTE- AUGUST 1984 



Circle 298 on inquiry card. — ► 



In the Hard Disk Jungle 

Tallgrass Clears 

A Path 




tc jungle, Tallgrass clears 
a path by offering high performance, integrated 
mass storage solutions f6r the IBM® PC/XT, the 
T.I. Professional and related computers. 



TALLGRASS INNOVATIVE FEATURES 



MASS STORAGE SYSTEMS with formatted 
HardFile™ capacities of 6, 12, 20, 35 and 70 Mb, 
all with built-in tape backup. 
CONVENIENT INTEGRAL TAPE BACKUP 
SYSTEM allows rapid tape 'image" streaming, 
or incremental file-by-file backup and restore on 
ANSI standard inexpensive data cartridges, 
instead of the usual floppies, video cassettes, or 
low-capacity removable Winchester devices. 
NETWORK READY and fully compatible with 
networks such as PCnet®and EtherShare™ 
HIGH RELIABILITY with dual directory and 
read-after-write verify options. A dedicated 
landing zone, where the read/write heads reside 
when the disk is idle, provides data protection 
during powerdowns and transportation. 



Follow the Tallgrass path to your local computer 
dealer and watch your personal computer transform 
into a powerful data processing system. 

Available from COMPUTERLAND® Entre® 
Computer Centers, MicroAge® Computer Stores 
and other participating computer dealers. 



New! 

IBM-XT Cartridge 

Tape Backup 

World Headquarters: Tallgrass Technologies Corp. / 11100 W. 82nd St. 
Overland Park, KS 66214/913/492-6002 /Telex: 215406 TBYT UR 

Canadian Headquarters: Tallgrass Technologies (Canada), 1775 Meyerside Drive 
Mississauga, Ontario, Canada L4V1H2/ 416/ 673-3244 

European Distributor: CPS Computer Group, LTD 
Birmingham, England B276BH/(021) 7073866 

Australian Headquarters: Tallgrass Technolgies (Australia) /Five Dock Plaza, 
Suite 12/50 Great North Road /Five Dock /Sydney, N.S.W. 2046/(02) 712-2010 




Tallgrass 
Technologies 

Corporation 



egistered trademark of International Business Machines Corp. PCnet* is a trademark of Orchid Technology EtherShare™ is a registered trademark of 3Com Corp. 



LETTERS 



contradiction is due to misconceptions by both 
of the writers. Scragg slightly misquotes Knuth's 
result. The result is that any method based on 
comparisons requires at least n log n com- 
parisons to sort an arbitrary array of n elements. 
Davidson makes the assumption that his 
method, which is actually the well-known tech- 
nique of hashing, is a sorting method. In the 
simplest case, each element in the array gets 
sent to a different address according to some 
predetermined hash function. The order im- 



parted by this hash function is no more a sorted 
order than is calling array element I smallest, 
array element 2 next smallest, etc. 

Hashing is primarily a method of processing 
an array so that searching can take place rapidly. 
To find where a key is, simply compute its hash 
function and look in that location. This provides 
searching efficiently without having to sort first. 

The most common situation has many ele- 
ments in the array having the same hash value. 
These collisions are to be expected to occur 




Choose from oui Stand Alone, Intelligent, RS-232 units. 

COMPATIBLE WITH ANY COMPUTER OR TERMINAL. 

GANGPRO-8 $995.00 UV ERASERS 

High throughput. Gang 8 EPROMS with the ECONOMY MODEL QUV-T8/1 $49.95 

last Algorithm. Optional 512K buffer. Erases over 15 EPROMS, Plastic case. 

Programs ALL 24 pin & 28 pin EPROMS. njnnqTPTAT cittvta/on «aao* 

Otherunitstogang24EPROMS. INDUSTRIAL <QXJV-T8/2N 568.95 

Metal case. UV indicator.tray, erases over 15 

PROMPRO-8 $689.00 EPROMS in 15 minutes. 

Powerful commands, easy communi- INDUSTRIAL GLUV-T8/2T $97.50 

cations, 128/256K buffer. Alpha Display, With 60 minute timer and safety switch. 

Simulation and Keypad option. Programs INDUSTRIAL GLUV-T8/Z $124.95 

ALL EPROMS 8c MPU's. Fast Eraser, 15 EPROMS In 7 minutes, 30 EPROMS 

PROMPRO-7 $489 00 in 15 minutes 

32K RAM buffer" ideal for" programming ra ?Py™SF,25?J- ■ \u ^ « , $149 ' 95 

8748. 8749, other Intel MPU's and 16K-128K SRS J"™*™* Erases 50 *f** in 

EPROMS. minutes. 

,™~, .«•«•, TOLL FREE 1-800-EE1-PR0M 

BIPOLAR « PAL Programmers... Call! (331-7766) , FLORIDA (305) 974-0967 

AYiOHBK SOFTWre DHTERS 

L IBM PC 2. APPLE 3.Intel-MDS 4. CPM 

5. TEXTRONIX8002 6. COMMODORE 64 7. TRS-8Q COLOR 8. FLEX 

LOGICAL DEVICES, INC. 

DEPT. 6, I321-E N.W. 65th PLACE • FT. LAUDERDALE, FL 33309 
DISTRIBUTORS INQUIRY WELCOME 

32 BYTE • AUGUST 1984 Circle 178 on inquiry card. 



QQQDQQQ 



frequently. They are generally resolved by using 
a field of each location for a pointer to a loca- 
tion for the colliding element, setting up a linked 
list. The standard measure of performance is 
the length of the array times the average length 
of the list. 

Ronald J. Leach 
Washington. DC 

I read with interest the article by Mr. Davidson 
on the subject of hash coding and the letter 
from Mr. Scragg in which he takes Mr. David- 
son to task for his contention that the sort 
method he outlines performs in a time propor- 
tional to the number of items to be sorted: |0(«)|. 

In his letter, Mr. Scragg quotes two sources 
that he says carry proof of this assertion that 
no sort can perform in a time faster than 0|(w 
log n)|. Unfortunately he is guilty of not reading 
the text quoted completely. 

In Fundamentals of Data Structures, page 3 50. 
Horowitz and Sahni state quite definitely that 
the best time performance that can be achieved 
is a time proportional to n times the log base 
2n. e.g., 0|« log n\. This is exactly as stated by 
Mr. Scragg but in this case Horowitz and Sahni 
were discussing sort algorithms in which the 
only operations allowed on the keys were com- 
parisons and interchanges. In hash coding, this 
is not the case, as the order of the keys is par- 
tially determined by a calculation performed 
on the key itself and thus it is possible to get 
execution time proportional to the number of 
elements to be sorted. 

That is not to say that the method as de- 
scribed by Mr. Davidson is ideal or even ap- 
proaching ideal. As implemented by him. the 
method is inefficient because it always requires 
much more data storage than elements to sort. 
It is this that produces the linear-time perfor- 
mance as the ratio of hits to collisions is kept 
nearly constant. 

The real value of hash coding is in the im- 
plementation of look-up tables where there is 
no requirement for the data to be stored in lex- 
icographical order and where, with more so- 
phisticated collision-handling methods and 
hash-coding functions, very high percentage 
usage of storage can be achieved with little 
deterioration in response time. 

The whole realm of storing and searching is 
complex with a great number of methods avail- 
able, each with its advantages and disadvan- 
tages. It is important that before any one 
method is chosen all the factors are considered. 

R. Kennett 
LaSalle, Quebec, Canada 



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

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



FOR 15 YEARS 






IRE WORLD'S 
MOST POPULAR 





YOU CAN ROY 








It's not your fault you didn't buy 
one sooner. 

You couldn't. 

Unless, of course, 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 was designed specifically 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. No 
100-page manual to memorize. 

Instead, every feature makes 
sense. Auto-dialing. Auto-answer. 
Auto-selection of tone or pulse. 
And one feature most other pc 
modems don't even offer-complete 
unattended operation. 

Which means 
your Maxwell 
Modem can 
keep working 
long after you've 
left work. 

Our com- 
munications 
software is just 



as good. It's called George?" And 
thanks to George, The Maxwell 
Modem is so simple to use you may 
never have to open your manual. 

Of course, there's a lot of data 
communications software already 
on the market. Some compatible 
with Racal-Vadic dialing protocol 
and others compatible with Hayes! 1 
So The Maxwell Modem comes 
with both protocols. 

It even selects the right one for 
you-automatically. 

And because not everyone 
wants the same things in a 
modem, The Maxwell Modem 
comes in two different versions 
and two different speeds. Internal 
models for the IBM® PC and 
compatibles. And desktop models 



for virtually every personal 
computer. Both are available with 
speeds of 300- or 1200-bps. 

One last comforting thought: A 
little bit of Racal-Vadic comes with 
every Maxwell Modem. So if for 
some strange reason something 
ever happens... 




YOU CAN ALWAYS GALL 
FOR HELP 

Every Maxwell Modem has 
diagnostic features built in. Both 
local and remote So using your 
pc, your phone jack, your modem 
and our Remote Diagnostic 
Center, we can test your modem 
right over the phone. 

Naturally, The Maxwell Modem 
comes with a one-year limited 
warranty on all parts and labor. 

So where can you get your hands 
on a Maxwell Modem? 

Well, rather than take another 
page or two to list all the stores 
from Pittsburg to Petaluma, we have 
a better idea. 

Do what modems do. Call. 
800-4-VADICS. 




Racal-Vadic 1525 McCarthy Blvd. Milpitas, CA 95035 (408)946-2227 

"The Maxwell Modemand George are trademarks of Racal-Vadic. ©IBM is a registered trademark of International Business Machines Corp. ©1984, Racal-Vadic. 

"' Hayes is a trademark of Hayes Microcomputer Products. Inc. 



FIXES AND UPDATES 



Developments 



Product News 

VISICORP has cut the prices of its VisiSeries 
software. The price for the IBM PC version of 
VisiCalc has tumbled from $250 to $99. Visi- 
Word Plus for the IBM PC has the top price in 
the line— $195. It once sold for $375. VisiSched- 
ule and VisiLink for the Apple can now be 
bought for $ 1 49, dropping from $300 and $2 50, 
respectively. VisiCorp also announced that it 
recently inked a distribution agreement with 
First Software Corporation for 1 0.000 copies of 
FlashCalc, a $99 spreadsheet. FlashCalc, de- 
signed for the Apple He and lle/ll + , has vari- 
able-width columns and extensive formatting 
features. 

MEAD DATA CENTRAL of Dayton, Ohio has 
announced software that lets Apple and Wang 
microcomputer users gain access to its NEXIS, 
LEXIS, NAARS, and other information-retrieval 
services. 

IBM ENTRY SYSTEMS DIVISION unveiled 2 56K- 
byte versions of the PC and PC XT. while at the 
same time reducing the price of the PC Portable 
and the PCjr. An entry-level PC with a 360K-byte 
floppy and 256K bytes of memory costs $1995. 
A 2 56K-byte PC XT starts at $4395. The Por- 
table now costs $2595, or $3020 with a factory- 
installed drive. The base price of the PCjr now 
stands at $599. The larger version with 128K 
bytes of RAM and a drive has been reduced 
to $999. 

INNOVATIVE SOFTWARE has begun marketing 
an enhanced version of its T.I.M IV 
database-management system. New features 
added to T.I.M., which runs on the IBM PC. let 
you transfer data between files while doing 
calculations and accumulating totals in a 
separate but related file. T.I.M.'s data files can 
handle 32,000 records; 128K bytes of memory 
is required. The price is $495. Owners of earlier 
versions can contact the company for update 
procedures. 

EAGLE COMPUTER of Los Gatos. California, 
has unveiled the lurbo GT, an enhanced ver- 
sion of the llirbo XL. The GT comes with a 
32-megabyte hard disk. 5 1 2 K bytes of RAM. and 
a $6995 price tag. The $4995 XL has a 
10-megabyte fixed disk and 2 56 K bytes of RAM. 

CORONA DATA SYSTEMS of Thousand Oaks, 
California, has announced 15 to 21 percent 
price reductions on its line of IBM PC- 
compatible computers. You can get a Corona 
desktop PC with 1 28K bytes of RAM, one disk 



drive, a keyboard, BASIC, and MS-DOS for 
$19 50. With a monitor included, both the 
desktop model and the Portable PC cost $2195. 

MORROW has unbundled the software pack- 
ages from its Micro Decision line because 
surveys indicated that a majority of users didn't 
need most of the software packaged with the 
Micro Decision. The single-drive MD-IE and the 
MD-3E now come with the NewWord word-pro- 
cessing program. The MD-3E also includes a 
spelling checker. They go for $999 and $1499, 
respectively. Versions of the Micro Decision with 
the complete package of five application pro- 
grams will still be marketed, according to 
spokespeople for the San Leandro. California, 
manufacturer. 

INFOCOM's complete line of interactive fiction 
games now runs on the Apple Macintosh. 
Based in Cambridge. Massachusetts, Infocom 
publishes the Zork trilogy as well as a variety 
of whodunits and adventures. 

CYBERLYNX COMPUTER PRODUCTS of 
Boulder. Colorado, recently demonstrated a ver- 
sion of its Smarthome 1 home-automation pack- 
age that puts to work certain features of the 
Apple lie. A starter kit costs $499. 

VOLITION SYSTEMS recently reduced the price 
of its Modula-2 compilers and development sys- 
tems. For the Apple II and 111 the prices are $295 
and $395, respectively. Both the IBM PC and 
PC XT versions are $395. The price is $49 5 for 
Sage 11/IV computers. The Advanced System 
Editor is $1 50. Volition Systems is located in Del 
Mar. California. 

NORTH STAR COMPUTERS has slashed prices 
and bundled new software for its Horizon and 
Advantage systems. For $5400, you can get a 
1 5-megabyte Horizon. Twice the storage can be 
picked up for $6400. Advantages with similar 
storage capacities are $200 less. A single 
floppy-disk drive Horizon now costs $2800. 
while a dual-drive Advantage goes for $2600. 
North Star, headquartered in San Leandro. 
California, is also offering fixed bundles of soft- 
ware at savings of from $600 to $1000 if pur- 
chased separately. 

ATRON CORPORATION of Saratoga. California, 
recently held a series of technical seminars that 
demonstrated versions of its PC Probe and Soft- 
ware Probe that apply Microsoft's Windows en- 
vironment. The Windows option includes en- 
hancements to debug multiple programs and 
data areas running under different windows, 
hook up with symbol tables, and automatical- 
ly track symbol tables and breakpoints after 



memory reallocation. Windows is available as 
an add-on software package. 

NEC HOME ELECTRONICS is now selling its 
PC-8200 notebook computer and 14 programs 
for $599. For $799, you can buy a 24K-byte 
PC-8200 with a 300-bps modem. NEC is based 
in Elk Grove Village. Illinois. 

LOTUS DEVELOPMENT CORPORATION. Cam- 
bridge. Massachusetts, announced that Hewlett- 
Packard's Portable Computer is the first system 
to have the 1-2-3 spreadsheet built into ROM. 
In a related development, a Lotus spokesper- 
son said that 1-2-3 is available for the dual-disk 
and Winchester-disk-drive versions of Zenith 
Data Systems' Z-l 50. 

LEADING EDGE PRODUCTS has revised the 
pricing of its Personal Computer. The new base 
price is $2695. A version of the Leading Edge 
computer with color graphics starts at $200 
more. The company operates out of Needham 
Heights, Massachusetts. 

FUJITSU MICROELECTRONICS reduced the 
price of its Micro 16s to $23 50. The Micro 16sx 
with a 10-megabyte drive is $42 50. 

MICROSTUF's Crosstalk XVI data-communica- 
tions software system is now included with 
Rixon's PC212A card modem for the IBM PC. 

GENERAL ELECTRIC Information Service Com- 
pany of Rockville. Maryland, has introduced and 
demonstrated an IBM Personal Computer in- 
terface to its computer-based comprehensive 
wire-transfer system. MoneyNET. MoneyNET 
allows corporate treasurers to initiate fund 
transfers and transaction processing with the 
Federal Reserve Bank and correspondent 
banks. 

Industry Updates 

THORN EMI COMPUTER SOFTWARE has ac- 
quired a license for the exclusive worldwide 
marketing and distribution rights for all products 
of Perfect Software Inc. The Berkeley-based 
Perfect Software is well known for its business 
applications software, including Perfect Calc and 
Perfect Writer. In a related development. Thorn 
spokespeople said that the company will pub- 
lish and distribute personal computer software 
for business, entertainment, and education 
beginning in mid-1984. Thorn EMI Computer 
Software is a $7 million start-up company and 
a part of the Information Technology Group of 
Thorn EMI pic, a London-based multinational 
corporation with annual revenues in excess of 
$4 billion. 

[continued) 



AUGUST 1984 • BYTE 33 




Circle 52 on inquiry card. 

WHY 

JOHNNY 

CAN1 

HEAD 
HIS 
OWN 
CODE 

Johnny's 
A Good 
Programmer, 
Even Brilliant, 

Dul- johnny works in 8080/Z80 assembly 
language, with a conventional assembler. 
That can make yesterday's brilliance 
today's garble, a maze of mnemonics and 
a jumble of meaningless labels. Johnny's 
program is less than self-explanatory — 
even for Johnny. 

Johnny could read his own code if he used 
SMAL/80 — the super assembler — and so 
can you. SMAL/80 boosts your program's 
clarity and your productivity by giving you: 

■ Familiar algebraic notation in place of 
cryptic mnemonics — "A = A-3" for example, 
instead of "SUI 3" (if you know BASIC or 
Pascal, you already know SMAL/80) 

■ Control structures like BEGIN . . . END, 
LOOP. . . REPEAT WHILE, and IF. . THEN . . . 
ELSE... to replace tangled branches and 
arbitrary label names (eliminating up to 90% 
of labels with no overhead imposed) 

■ Compiete control over your processor — 
because SMAL/80 is a true assembler, it 
doesn't reduce execution speed or burden 
your program with its own runtime routines. 

SMAL/80, the assembler that handles like a 
high-level language, lets you do it right the 
first time, and lets you read and understand 
your work afterward — the next day or a 
year later. Users say SMAL/80 has doubled 
and even tripled their output of quality code. 
But don't take our word for it— TRY IT! 

Use SMAL/80 for 30 days. If you're not 
completely satisfied with it — for any rea- 
son — return the package for a full refund. 
SPECIAL BONUS: Order before Sept. 30, 
1984, and get Structured Microprocessor 
Programming— a $25 book FREE! 
SMAL/80 for CP/M-80 systems {all CP/M 
disk formats available —please specify); 
produces 8080/8085 and Z80 code. Now 
supports Microsoft .RELONLY $149.95 
SMAL/80 for CP/M-80 systems, 
8080/8085 output only. SAVE $20: $129.95 
NEW! SMAL/80X65^f or Apple II and lie 
(requires Z80 card and CP/M); produces 
Z80 and 6502 object code. $169.95 

Mastercard CM A I / ftfl We pay 

Visa wivir^»# ww shipping on 

cods CHROMOD ASSOCIATES prepaid 

(201) 653-7615 orders 

1030 Park Ave. Hoboken, N.J. 07030 



FIXES AND UPDATES 



COMPUTER ASSOCIATES INTERNATIONAL 
has acquired all the assets of Sorcim Corpora- 
tion, makers of SuperCalc. lerms called for cash 
payments totaling $17.6 million over a five-year 
period, plus contingent payments of almost $9 
million. Headquarters for Computer Associates 
is in Jericho, New York. Sorcim is based in San 
Jose. California. 

PRACTICORP INTERNATIONAL is the new 
name resulting from the merger of Micro Soft- 
ware International and Computer Software As- 
sociates. Both companies developed and 
marketed PractiCalc and other products bear- 
ing the Practi- prefix for Apple, Commodore, 
and now IBM computers. Practicorp Interna- 
tional Inc. maintains corporate offices in 
Newton Upper Falls, Massachusetts. 

TAVA CORPORATION has agreed to bundle 
Computer Creations' Ultimate 5-in-l with its IBM 
PC-compatible computer. The Ultimate is a 
combination package containing Z-Com 
electronic-mail, dictionary, word-processing, 
database-management, and mail-merge abili- 
ties. 

SOFTECH MICROSYSTEMS announced an 
agreement with Business Solutions to market 
Jack2, an integrated package with word- 
processing, graphics, spreadsheet, and 
database-management capabilities. The list 
price is $495. 

BYTE's Bits 



TDI Brings ETH Modula-2 
Software to Commercial Market 

TDI Ltd. has signed an agreement with Niklaus 
Wirth and ETH Zurich that allows TDI to offer 
a family of portable, modifiable Modular- 
based operating systems and application pro- 
grams derived from software created at ETH. 
The agreement allows TDI to license the en- 
hanced software to commercial users (along 
with extensive documentation and support) for 
a per-machine price and to educational users 
at a lower per-site price. This is said to be in 
keeping with TDI pricing policies that "en- 
courage the widest possible distribution and 
use of the software." 

The software line, called Liberator, promises 
several advantages to both users and program- 
mers because of the company's commitment 
to creating high-performance software that will 
run only on 32-bit microprocessors. Its use of 
Modula-2 guarantees that programmers can 
more easily modify software and move it to 
other computer systems (TDI will sell the source 
code for all products for an additional fee). Both 
operating-system and application software will 
use windows, menus, and mice; users can 
modify menu descriptions, error messages, and 
Help files by editing text files associated with 
the program. 

TDI's first major product is a Modula-2 pro- 
gramming environment/operating system called 
Moses. Future products will include application 
programs and more sophisticated operating 



systems. TDI is serving as a clearinghouse for 
unsupported Modula-2-related compilers and 
application programs originally available from 
ETH Zurich. In a related development, TDI said 
that it will occasionally make changes or exten- 
sions to the Modula-2 implementations it pro- 
vides; the company pledges that it will only 
make changes approved by Niklaus Wirth. For 
more information contact TDI Ltd., 29 Alma 
Vale RcL Bristol BS8 4NJ. England; telephone 
(0272) 742796. 

Omikron Reorganizes Under 
Chapter 11 

On February 21, 1984, Omikron filed for 
bankruptcy under Chapter 1 1 of the Federal 
bankruptcy laws. Omikron made a name for 
itself supporting CP/M products for the Radio 
Shack TRS-80 microcomputer. Problems arose 
when a number of bugs forced a delay in a 
major project while at the same time several 
competitors entered the market. 

The company continues to operate, but it has 
had to cut back on services such as toll-free 
customer lines and reduce its advertising 
budget and personnel staff. 

Customers with products on order or refunds 
due will receive complete information shortly. 
Omikron has formulated a plan to meet its 
obligations but must await the approval of the 
bankruptcy court before it can be carried out. 

Omikron maintains its offices at 1127 Hearst 
St., Berkeley, CA 94702. 

Bug Snoops Sought 

Want a checkbook system for the IBM PC? If 
so, contact Computer lax Service in Incline 
Village, Nevada. For $30 you can pick up beta- 
test copies of a program called Money Street. 

'Iesters will hunt for bugs, critique documen- 
tation, suggest improvements, and help fine- 
tune the product. In return, they will get the final 
version of Money Street free, a testers' newslet- 
ter, and discounts on future software purchases. 

"We want testers to bash it, smash it, and try 
to crash it," says Bob Payne of Computer Tax 
Service. "Just to get their blood pumping, we 
hid a few bugs in it." 

For more information, contact Computer lax 
Service. POB 4845, Incline Village, NV 89450, 
(702) 831-4300 or 832-1001. 

Kraft Announces Contest Winners 

Paula Boge, a 16-year old from Dubuque, Iowa, 
won the grand prize trip to the EPCOr Center 
in Florida in the recent Kraft Kideo Game Con- 
test. Ms. Boge elected to take the cash 
equivalent of the trip, approximately $4000, 
and buy a computer for her family. 

The Kraft Kideo Game Contest challenged 
students 1 8 and under to devise a concept for 
a nutrition-oriented computer game geared 
toward younger children. Ms. Boge's entry, 
called Health Habits, was awarded top spot in 
the competition that featured more than 800 
entries from 47 states. Nibbles, the main 
character of her game, takes children through 
the adventures and misadventures of achiev- 
ing good health habits. 

[continued) 



34 B YTE • AUGUST 1984 




Ordinary modems can't do what 

the QuadModem can. Because 

they're not as smart. 

If you expect your computer to 
communicate effectively with other 
intelligent systems, you can bet it'll 
need an intelligent modem. That's 
where the new QuadModem from 
Quadram comes in. 

QuadModem connects directly to 
your phone line. From there it can 
dial a number from memory; detect 
incoming baud rates; answer the 
phone when another modem calls; 
and distinguish between dial tones, 
busy signals, data transmissions, 
and human voices (remember those?). 
It also automatically adjusts for rotary 
or Touch Tone phone systems and 
shows you what's happening right 
on your computer screen. 

Even problems aren't problems. 

An advanced microprocessor in 
QuadModem can automatically spot 
phone problems, and the QuadModem 
is fully compatible with Bell 103/212 A 
dial up modems and the most 
popular modem brands. 

QuadModem is the complete intelligent 
modem: with two different versions, 
an internal model for IBM PC's and 
most compatibles and a stand-alone 
for the PC and other popular brands. 
Both come with full supporting 
documentation and user manuals. 
Plus right now, we'll include an 
introductory offer from The Source? 1 
And to round it out, you can add 
QuadTalk, our very powerful, highly 
intelligent communications software 
that's menu-driven and very friendly. 

If you expect your computer to 
communicate properly, it's got to 
act intelligently. It can with the new 
QuadModem from Quadram. 



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: 6286-63865 Tlx: 847155 Auriema G Inteiquadram GmbH 
Fasanenweg 7, 6092 Kelsterbach. West 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 Kitimat 
Road, Mississauga, Ontario, Canada L5N-2X5 Tel: 416-821-7600 



IBM' PC, XT, PCjr, are registered trademarks of International 

Business Machines Corporation. 

'The Source is a registered trademark of Source Telecommunicating 

Corporation. 

©Copyright 1984 Quadram Corporation. All rights reserved. 

Circle 259 on inquiry card. 




©1984 AT&T Technologies, Inc. 






ysri 










• 









UNIX™ System V from AT&T 
can help you close a sale, as 
well as open Up new markets. 

It's another reason why good 
business decisions are based on 
UNIX System V from AT&T. 

More and more of your cus- 
tomers will be demanding multi- 
user and multi-tasking systems. 
The benefits of UNIX System V- 
portability, reliability, flexibility 
—make it the ideal software „, 
system for this lucrative market. 



In addition, AT&T will sup- 
port UNIX System] V with the 
service, training, and documenta- 
tion resellers need to prosper. 

More choices, 
more opportunities 

UNIX System V is virtually 
hardware independent. So you'll 
be able to configure systems 
using equipment from a variety 
of vendors. 

Ifou can use the flexibility of 
UNIX System V as a real selling 



point to customers who want to 
add hardware that is compatible 
with the machines they already 
have. 

And over the long term, 
UNIX System V offers continuing 
opportunities to upgrade and 
expand your customers' systems. 
End-user flexibility translates 
into market opportunity for the 
reseller. 

Software that sells 

UNIX System V offers 




another real sales opportunity in 
the area of customized software. 

You'll be able to sell software 
for a wider range of configura- 
tions. Ifcu'll have more software 
to offer, too. Your programmers 
can concentrate on developing 
new packages instead of rewrit- 
ing old ones. 

For more information, send 
in the coupon for a copy of our 
free booklet/ <t Why Good 
Business Decisions are Based on 
UNIX System V." 



UNIX System V. From AT&T. 
From now on, consider 
it standard. 



Circle 6 on inquiry card. 



Please send the free booklet "Why Good Business 
Decisions are Based on UNIX™ System V." 
Mail to: AT&T, EO. Box 967, 

Madison Square Station, 

Mew York, NY 10159 

Name 

Title : ! 3 1_ 

Company ___ 

Address - '•" : ^_ _ 3L 



.State. 






I 
AT&T L 



City. 
' My business category (check one): 

□ OEM/VAR □ Software House 



.Zip. 



□ MIS/DP Mgt. 
Other. 



□ General Business Mgt. 



UNIX System Licensee □ Yes 



No □ Don't 
know 



FIXES AND UPDATES 



Jn all. 2 2 prizes were awarded by a panel of 
computer experts, nutritionists, educators, and 
whiz kids. 

Multiuser System Network 
Tested in Miami 

An interactive multiuser computer system that 
allows 45 people to participate simultaneously 
is being tested in the Miami area by American 
Software Technology. The system, called Enter- 
net is designed to allow users to interact with 
each other and the host computer in real time. 

For the test, the company has created Fazuul. 
an interplanetary adventure game. The player 
crash-lands on Fazuul. and he or she must pose 
questions and analyze clues to escape. Players 
can team up to beat the game or work against 
other participants. All game commands are in 
English. 

If you live in the test area and own a 300- or 
1200-bps modem, you can gain access to Enter- 
net by calling 866-8060. The host computer will 
verify your telephone number and billing infor- 
mation (MasterCard, VISA, or prepayment) and 
provide instructions on how to play the game. 

Call for Papers 

The conference committee for the 1985 ASME 
International Computers in Engineering Con- 



ference and Exhibition has issued a call for 
papers that address the theme "Expert Sys- 
tems: A New Dimension in Computer Engineer- 
ing.'" The venue will be the Sheraton Boston 
Hotel, August 4-8, 1985. 

Papers are solicited in all areas related to the 
research, development, and application of com- 
puters in mechanical engineering with a focus 
on expert systems, including computer-aided 
manufacturing, simulation, robotics, engineer- 
ing software and standards, and finite-element 
techniques. Contributions in the form of a full- 
length paper or an extended abstract are 
sought. 

A November 1 5, 1984, deadline has been set 
for the submission of abstracts. Three copies 
of the finished contribution must be submitted 
by January 15, 1985. The date for notification 
of acceptance is February 1 5. 1985. Contribu- 
tions must be submitted to the appropriate 
technical program chairperson. For a list of 
names and addresses, contact the American 
Society of Mechanical Engineers, 345 East 47th 
St.. New York. NY 10017. 

Public-Domain Software 
Sales and Rentals 

P.J.'s Company of Vista, California, offers non- 
copyrighted, public-domain software in its 



WITH IBIi FORTH 



PC FORTH™ 

IBM PC & XT, 

HP-150, 

Macintosh, 

Apple II, 

CompuPro, 

Sage & CP/M-68K, 

Wang PC, 



Try the professional language offering 
the utmost performance in the shortest 
development time. Transport your ap- 
plications 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 



All CP/M and file managers. All fully supported with 
°OOS computers, hotline, updates and newsletters. 

Laboratory Microsystems Incorporat 

Post Office Box 10430, Marina del Rey, CA 9021- 
Phone credit card orders to (213) 306-7412 



original source code. Three software libraries, 
CP/M. SIG/M. and IBM PC, are available. Each 
library is a collection of volumes from a users 
group and is made up of game, utility, and busi- 
ness programs. Computerists can freely copy 
and exchange the libraries using Digital 
Research's CP/M versions 1.4. 2.2, or 3.0 and 
241K-byte 8-inch single-sided single-density 
IBM-3740-format drives. PC-DOS and most 
5 14 -inch floppy-disk-drive formats are sup- 
ported. 

The CP/M Users Group library has 92 
volumes, the SIG/M library offers 148, and the 
IBM PC library has more than 100. Additional 
services include telephone ordering and auto- 
matic updates. 

The complete CP/M library can be rented for 
$45. The SIG/M library rents for $75, and the 
IBM PC library rents for $99.50. Add $7.50 for 
shipping, handling, and insurance. The rental 
term is seven days after receipt, with a three- 
day grace period for return. For more informa- 
tion, contact PL's Co., 1062 Taylor St.. Vista. CA 
92083, (619) 941-0925. 

BYTE's Bugs 



Misplaced Lines 

Dr. Antonio Salvadori, associate professor of 
physical science at the University of Guelph in 
Canada, spotted a bug in Stephen Bourne's ar- 
ticle The Unix Shell" (October 1983, page 187). 
The five lines on page 190 in the third column 
that begin "is an append command. . .." should 
be replaced with the following: "is the Shell pro- 
gram called temporarily to execute a file. Files 
have three independent attributes— read, write, 
and execute. If wg is executable, then . . ." 

Sieve of Eratosthenes 
Algorithm Defended 

A BYTE reader wrote us expressing his confu- 
sion over the validity of the Sieve of Eratos- 
thenes algorithm that accompanied Jacques 
Bensimon's March article "STSC APL*PLUS and 
IBM PC APL: 'Iwo APLs for the IBM PC" (page 
246). Specifically, the reader became befuddled 
with Mr. Bensimon's BASIC prime-number- 
generating program (listing 2b, page 2 54), which 
produces an answer of " '1899 PRIMES' when 
in fact there are only 1028 primes between 2 
and 8191." 

"The problem with this . . . program," the 
reader wrote, "seems to be a faulty method for 
incorporating a sure and certain speed-up of 
the 'standard' sieve: after discarding all multi- 
ples of 2, ... one only has to eliminate the odd 
multiples of 3, 5, 7, 11, etc. . . . After spending 
a lot of time unsuccessfully trying to accomplish 
this using only one FOR. . .NEXT loop, I have 
come to believe that the most efficient way to 
obtain this speed-up is to eliminate all odd 
multiples of 2, 3, 5, etc., in a first pass. What 
remains is either prime or a power of 2. A sec- 
ond pass to eliminate 4, 8, 16, 32, etc., leaves 
only the primes. My Turbo Pascal version of this 
runs 10 iterations in about 13.5 seconds."' 

We sent a copy of the letter to Jacques Ben- 

(continued) 



38 BYTE- AUGUST 1984 



Circle 175 on inquiry card. 







People who buy UDS 
aren't playing games! 



ms 



You can often judge a personal computer user by 
the hardware he selects. If the modem comes 
from UDS, chances are he has a serious invest- 
ment in computer and software, a serious data 
communications requirement and serious com- 
puter-based decisions to make. 

UDS modems offer true pro-quality perfor- 
mance to the serious microcomputer owner. Data 
rates range from to 9600bps. Depending on 
data rate, synchronous and asynchronous 
models may be selected for half- or full-duplex 
communications. Their prices put them within 
easy reach of the serious user. 



If data communication has progressed beyond 
the game-playing stage in your microcomputer 
system, it's time to investigate UDS. The efficiency, 
reliability and potential for faster data transfer can 
add real professional capability. Contact Universal 
Data Systems, 5000 Bradford Drive, Huntsville, AL 
35805. Telephone 205/837-8100; TWX 810-726-2100. 



Universal Data Systems 

(M) MOTOROLA INC. 

ttfarmatJon Systems Group 

Circle 314 on inquiry card. 




(Formerly Warehouse Software) 



Call for programs not listed. 



Technical & Other Information (602) 246-2222 

TOLL-FREE ORDER LINE 1-(800) 421-3135 

Call for programs not listed. 



DATA BASE MANAGEMENT SYSTEMS 

Dbase II and Dbase III Call 

Fox and Geller Quickcode $159 

Knowledgeman $275 

Condor III $330 

NWAStatpak $350 

Tim IV $249 

Infostar $255 

PFS File $95 

FRIDAY $175 

Personal Pearl $145 

Fast Facts for IBM PC $135 

RBase 4000 $285 

WORD PROCESSING 
Wordstar, Mail Merge, Correct 

Star, Star Index $345 

Wordstar $235 

Mail Merge or Correct Star $130 

Microsoft Word With Mouse $295 

Word Perfect $295 

Volkswriter for the IBM PC $110 

Volkswriter DeLuxe $175 

Aspen Spellchecker $36 

Metasoft Benchmark $265 

Multimate $275 

Peachtext 5000 $195 

SPREADSHEETS 

Calcstar $89 

Supercalc II $159 

Supercalc III $199 

Microsoft Multiplan $139 

!TK Solver $289 

ACCOUNTING 



TCS. equivalent of Peachtree - Specially 
augmented by Warehouse Software. 
Customized for your IBM PC Terminal 
and Printer - GL, AR, PA, AP, CP/M-80, 
CP/M-86 for PC XT, DOS 1.1, 2.0. 
Each Module . . . $75For All Four $275 



CYMA CALL 

Dollars & $ence $115 

MBSI Real World, GL, PA, AP, AR 
Each Module $350 

TRANSFER PROGRAMS 

Move-it $85 

Microstuff Crosstalk $105 



BEST PRICE IN U.S. 
FOR IBM PC OR CLONES 

Multifunction Board - Includes Async 
Adapter, Parallel Adapter, Clock with 
battery back-up and Software, 64K 
memory expandable to 512K. 1 year 
warranty $249 



LANGUAGES 

Lifeboat Lattice C Compiler $295 

Microsoft C Compiler $315 

Microsoft Pascal Compiler $215 

Microsoft Basic Compiler $245 

Microsoft Basic Language $235 

CBASIC 86 for IBM PC $135 

FOR PC DOS 

Norton Utilities $55 

Copy II PC $34 

Prokey V3.0 $89 

Harvard Project Manager $265 

Microsoft Flight Simulator $38 

HARDWARE 

Hayes 1200 Modem $495 

Hayes 1200b Modem for IBM PC . . .$425 

Internal Model for IBM PC $285 

Anchor Signalman 1200baud Modem. $285 

MPI 360K Disk Drives $185 

CDC 360K Disk Drives $215 

1/2 Height Panasonic Drives D/S D/D$185 
10 MB internal hard drive for IBM PC $995 
10MB external hard drive 

for IBM PC $1095 

Princeton RGB monitor $479 

COMPUTERS 

Corona or Zenith Computer 
Portable or Desk Top Call 

BOARDS FOR THE IBM PC 
OR L00KALIKES 

Quadram Color I $199 

Quadram Color II $245 

256K Sigma Ram Board $299 

Maynard Sandstar Controller $195 

STB Graphics Boards $285 

Sigma Disk Controller $185 

PRINTERS 

Bluechip M120/0 $249 

Gemini 10X $269 

Gemini 15X $369 

Okidata 82A Call 

0kidata83A Call 

Okidata 84P $949 

Okidata 92P $425 

Okidata 93P $639 

Juki 6100 $420 

Call on all Epson Models 

Daisywriter 2000 $1030 

Silver-Reed Call 

Diablo 620 Call 

Diablo 630 Call 

NEC 3550 Call 

TERMS: Prices include3% cash discount. Add 3% for 
charge orders. Shipping on most items $5.00. AZ 
orders +6% Sales Tax. Prices subject to change. 



TOLL-FREE ORDER LINE 1 -(800)-421-3135 

WAREHOUSE DATA PRODUCTS 

2701 West Glendale Ave., Suite 6 

Phoenix, AZ 85021 



FIXES AND UPDATES 



simon, who responded by telling us ". . . the 
Sieve of Eratosthenes it certainly is!" According 
to Mr. Bensimon, the figure 1899 is the correct 
number of primes between 3 and 16,383 (i.e., 
2 x 8191 + 1). The algorithm avoids even 
numbers entirely because it operates on flag 
vector F of 8191 elements, which represent all 
odd numbers between 3 and 16,383. The 
variable P steps through the 1899 distinct prime 
values during execution. 

Tiger and Dragon 

Mixed with Wrong Formula 

Dan Rollins's article "A Tiger Meets a Dragon" 
(December 1983, page 4 57) motivated Mexico 
City's Ruben Chaves Misrahi to write a Pascal 
program to graph dragons of different orders 
on his Apple He. In the process, Mr. Misrahi 
discovered a bug that has a solution that may 
not be obvious. 

Mr. Rollins's generalized dragon formula in the 
last column on page 4 59 is incorrect. According 
to Mr. Misrahi, the correct formula is 



S(n) = S(n'l) + d„ + S(n - 1) 

using S(O) = null < sequence > 

In a letter to us confirming this bug and its 
correction, Mr. Rollins notes that many of his 
article's readers failed to realize that the Gen- 
dragon program (listing I , page 460) does not 
have to be used with the plotter emulator 
(listing 2, page 475). In addition, if you replace 
the GOSUB 1 500 in line 5 50 with PSET (X.Y). 
you can transport the program to many 
machines. Mr. Rollins also reports that an 
order-1 1 dragon curve can be displayed directly 
on an IBM PC's monitor and printed out with 
a graphics screen-dump program. 

Important Biographical 
Info Omitted 

We inadvertently left out some important 
biographical information about Scot Kamins, 
the author of "Macintosh BASIC" (April, page 
318). Mr. Kamins coauthored with Mitch Waite 
Apple Blackjack: Humanized Programming in BASIC 
(McGraw-Hill/BYTE Books, 1982). He has writ- 
ten a number of manuals for Apple Computer 
Inc., including the Applesoft Programmers Reference 
Manual and the Macintosh BASIC Reference Manual 

Mr. Kamins is currently writing a series of 
books on Macintosh BASIC that is to be pub- 
lished in the fall. He is a senior technical writer 
for Technology Translated Inc. (1047 Sutter St., 
San Francisco. CA 94109). a technical writing 
concern. 

We apologize for our mistake. 

Greater Memory Expansion 

You can expand the RAM of Digital Equipment 
Corporation's Rainbow 100B by 768K bytes (for 
a total of 896K bytes), not to 768K bytes as we 
erroneously reported (June What's New, page 
50). We apologize for the error. 

It comes with 128K bytes of RAM, a pair of 
400K-byte 5 !4-inch floppy-disk drives, and dual 
Z80 and 8088 processors. Without a keyboard 
or monitor but with CP/M-80. CP/M-86 version 
2.00. and MS-DOS version 2.05. it costs 
$2750. ■ 



40 BYTE • AUGUST 1984 




C COMPILERS FOR 
PC DOS MS DOS CP/M-86 CP/M-80 APPLE II, He, //c 
COMMODORE 64 RADIO SHACK and MACINTOSH 



AZTEC C86 

Optimized "C" compiler for PC DOS, MS DOS & CP/M-86 

PC DOS, UNIX I/O, math, screen, graphics libraries 

8086 assembler, linker & librarian, overlays 

/PRO- library source, debug, ROM, MASM & RMAC, 8087, large model 




NEW C COMPILERS 

AZTEC C68K f or MACINTOSH 
VAX cross compilers 

C TOOLS & AIDS 

Z editor (like Vi), C TUTOR compiler, PHACT database, 

C GRAFX, UNI-TOOLS I, QUICK C, BABY BLUE for PC 

to CP/M cross, QUADLINK for PC to APPLE cross 





AZTEC C II 

Optimized "C" compiler for CP/M, TRSDOS & LDOS 
assembler, linker & librarian, overlays, utilities 

UNIX I/O, math & compact libraries 
/PRO -library source, ROM, M80 & RMAC 



AZTEC C65 

"C" compiler for APPLE DOS 3.3, ProDOS or COMMODORE 64 

VED editor, SHELL, UNIX & math libraries 

/PRO — library source, ROM, overlays 



CROSS COMPILERS 

Compile & link on HOST— test on TARGET machine 
HOSTS: UNIX, PC DOS, CP/M-86, CP/M-80, VENIX, PCIX, APPLE 
TARGETS: PC DOS, CP/M-86, CP/M-80, APPLE, RADIO SHACK, 

COMMODORE 64, other hosts and targets available 









PRICES 








AZTEC C86 C COMPILER 




AZTEC CIIC COMPILER 




AZTEC C CROSS COMPILERS 


TARGETS 


PC DOS MSDOS 


249 


CP/M 


199 


PDP-11 HOST 


2000 


PC DOS 


CP/M-86 


249 


CII/PRO 


349 


PC DOS HOST 


750 


CP/M-86 


BOTH 


399 


/PRO UPGRADE 


150 


CP/M-86 HOST 


750 


CP/M-80 


C86/PRO 


499 


TRS 80 MODEL 3 


149 


CP/M-80 HOST 


750 


APPLE 


/PRO UPGRADE 


250 


TRS 80 MODEL 4 


199 


APPLE HOST 


750 


RADIO SHACK 


Z (VI EDITOR) 

C TUTOR COMPILER 

PHACT DATABASE 

C GRAFX 

SUPERDRAW 

UNI-TOOLS 1 


125 
99 

299 
99 

299 
99 


TRS 80 PRO (3 & 4) 

AZTEC C65 C COMPILER 

APPLE DOS 3.3 

PRODOS 

E EDITOR 


299 

199 

3ALL 

99 


VAX HOST 
MACINTOSH 


CALL 
CALL 


COMMODORE 64 
MACINTOSH 


QUICK C 


125 






TRS 80 RADIO SHACK TRS DOS 


s a trademark of TANDY. 



MANX SOFTWARE SYSTEMS 
Box 55 
Shrewsbury, NJ 07701 
TELEX: 4995812 




APPLE DOS MACINTOSH is a trademark of APPLE. 



TO ORDER OR FOR INFORMATION: 

CALL: 800-221-0440 (outside NJ) 
201-780-4004 (N J) 



Australia: Blue Sky Industries - 2 A Blakesley St. - Chatswood NSW 2067 - Australia 61-2419-5579 

England: TAMSYS LTD - Pilgrim House - 2-6 William St. - Windsor, Berkshire SL4 1B A- England — Telephone Windsor 56747 

Shipping: per compiler next day USA $20. 2 days USA $6, 2 days worldwide $75, Canada $10, airmail outside USA & Canada $20 

UNIX is atrademark of Bell Labs. CP / M, CP / M-80 and CP / M-86 are trademarks of DRI. PC DOS is a trademark of IBM. MS DOS is a trademark of MICROSOFT. 

NJ. residents add 6% sales tax. 



Circle 190 on inquiry card. 



AUGUST 1984 -BYTE 41 





eve made it 



possible for you to 

work with some 

unusual computer 

characters. 



Not long ago, a group of engineers here at Digital Research had 
a genuine brainstorm. 

Introducing VidLink.™ The software- video technology that will 
literally revolutionize the way you see your computer. 

Using a cable that connects a Pioneer® LD- 700 Laser-Disc Player 
to your Commodore 64™ (and soon an IBM® PC or Apple®II), VidLink 
lets you key up visual information from virtually any videodisc. With 

I B M i s a registered trademark o f International Business Machines Corporation Commodore 6 4 i s a trademark o f Commodore Business Machines I n c. Apple i s a trademark o f Apple Computer I n c. Pioneer LD700 Laser-Disc player i s 
a trademark o f Pioneer Video Inc. a wholly owned subsidiary of Pioneer Electronics, Tokyo, Japan. VidLink is a trademark of Digital Research Inc. © 1984 Digital Research Inc. Al I rights reserved. 'Price subject to tax, shipping and handling. 

42 B YTE • AUGUST 1984 



&39I 





everything from NFL Videodiscs to a trivia quiz disc like Maze Mania. 

Imagine. Playing games with interactive discs like Murder, 
Anyone?, Apollo 17: Mission to Taurus Littrow or The National Gallery 
of Art. You'll even be free to create your own challenges. VidLink 
lets you invent your own games or programs to work with a wide 
range of existing videodiscs. 

Imagine. The ability to re-program sequences on a videodisc, 
The possibilities are limited only by your imagination. 

Hooking the computer revolution to the video revolution is a snap. 
A VidLink connector cable and cassette-based or floppy software 
running on your computer is all it takes. And instructions are simple 
and fully documented. 

But perhaps the most unexpected 
feature is the price. Just $49.00* gives 
you VidLink, one of the many visions we 
see in the future of computer- video. 

VidLink is only available direct 
from Digital Research. To order yours, 
and titles like Murder, Anyone?, Maze 
Mania or First National Kiddisc, just 
have your American Express,® Visa®or 
MasterCard®ready. Then pick up your 
old-fashioned phone and enter these 
familiar characters: 1-800-227-6703, or 
in California: 1-800-632-7979. 



m DIGITAL 



RESEARCH 

We make computers work 51 



NFL SymFunny/Legends of the Fall Videodisc© 1981 courtesy of NFL Films Video Mt. Laurel. New Jersey. The National Gallery of VWVideodisc ©1983 courtesy of Videodisc Publishing Inc. New York, New York, 
Space Archive Volume 2 Apollo 17; Mission to Taurus Littrow Videodisc ©1984 courtesy of Video Vision Associates Ltd. Madison, New Jersey. Murder, Anyone 7 Videodisc ©1983 courtesy of Vtimax. Inc. Cincinnati, Ohio. 



Circle 102 on inquiry card. 



AUGUST 1984 • BYTE 43 



WHAT'S NEW 



Compaq Transportable Computers Get Stay-at-Home Brothers 



Compaq Computer Corpora- 
tion has expanded its prod- 
uct line to include four desktop 
machines based on a full 16-bit 
8086 processor with a clock 
speed of 7.14 MHz. The new 
machines can use all software 
and hardware for the IBM PC 
and PC XT, the company says. 

Because some telecommunica- 
tions software and games will 
not run properly at the 7.14- 
MHz speed (the IBM's 8088 
runs at 4.7 MHz), the clock can 
be slowed from the keyboard or 
by instructions in software. An 
LED on the front of the system 
unit indicates what speed the 
processor is operating at. 

The entry-level machine in the 
Deskpro line is the Model 1. 
This $2495 machine has a 
single floppy-disk drive and 
128K bytes of RAM. The Model 
2. at $2995. has two floppy-disk 
drives and 2 56K bytes of RAM. 
The $4995 Model 3 has 2 56K 
bytes of RAM. one floppy-disk 
drive, one 10-megabyte Win- 
chester-disk drive, and a serial/ 
clock card. The top-of-the-line 
Model 4 costs $7195 and has 
640K bytes of RAM. one floppy- 
disk drive, one 10-megabyte 
Winchester-disk drive, one 
10-megabyte cartridge-tape 
drive for Winchester backup, 
and a serial/clock card. All 
models include a 12-inch green 
or amber monitor, an interface 
for an RGB color monitor, and a 
parallel printer port. 




All models can accommodate 
up to 640K bytes of RAM on 
the main system board and sup- 
port four half-height mass- 
storage devices in the system 
unit. These include combina- 
tions of up to two 360K-byte 
floppy-disk drives (controlled by 
one card, which also can con- 
trol a tape-cartridge drive), two 
10-megabyte Winchester-disk 
drives (controlled by one card), 
and one 10-megabyte tape- 
cartridge drive for Winchester 
backup. Technology developed 
for the Compaq Plus transport- 
able with a Winchester drive is 
used to shock-mount all mass- 
storage devices in the Deskpro 



series. A 200-watt. 3-amp power 
supply is standard and can sup- 
port any combination of inter- 
nal mass-storage devices. 

All models have eight expan- 
sion slots, seven full-length and 
one short. The floppy-disk con- 
troller (with parallel printer port) 
occupies one slot in all con- 
figurations, as does the video 
board. Models with hard-disk 
drives add the serial/clock card 
in the short slot and the Win- 
chester controller in a long slot. 
This leaves five long slots and 
one short slot open in floppy- 
disk configurations and four 
long slots open in hard-disk 
units. 



The display features auto 
switching between text and 
graphics on the same monitor. 
In alpha mode, the monitor has 
a 9- by 14-dot character matrix 
and overall resolution of 720 by 
350 pixels. The alpha/graphics 
mode drops to a character 
matrix of 8 by 8 dots for a stan- 
dard 80-character by 25-line 
screen or a 16 by 8 matrix for a 
40-character by 2 5-line screen; 
resolution overall is 640 by 200 
pixels monochrome or 320 by 
200 in four colors or gray levels 
(each pixel requires 2 bits). 

The IBM PC keyboard layout 
is used, but LEDs have been 
added to the Cap-Lock and 
Num-Lock keys. A 10-character 
type-ahead buffer is provided. 

The tape system uses 8 tracks 
in a serpentine pattern with 59 
tracks per inch and 158 blocks 
per track. Recording density is 
6400 bits per inch encoded 
using MFM method. Data 
transfer rate is 2 50K bits per 
second. 

Software, except for a 
diagnostics disk, is not bundled. 
Compaq's MS-DOS 2.11 and 
BASIC cost $60. A tilt-and-swivel 
stand for the monitor is $50. 
and a small platform to allow 
storing the keyboard under the 
system unit is $50. 

For more information, contact 
Compaq Computer Corp., 20333 
FM 149. Houston, TX 77070. 
(713) 370-7040. 
Circle 600 on inquiry card. 



Low-Cost Plotter Produces Four Colors 



Sharp Electronics has set a 
$399 suggested retail price 
for its CE-515P four-color plot- 
ter. The CE-515P uses black, 
blue, green, and red pens that 
can be programmed to change 
automatically. The minimum 
shifting width of the ball pens is 
0.2 mm. The size of an alpha- 
numeric character when pro- 
duced in the four-step by six- 



step mode is 0.8 mm wide by 
1.2 mm tall. It can handle paper 
up to 8/2 inches wide and plot 
on postcard-sized documents. 
Roll-feed paper and transpar- 
ency sheets can be used. 

Both EI A standard RS-232C 
serial and Centronics-type 
parallel interfaces are built into 
the CE-515P The plotter can be 
driven by most microcomputers 



that use BASIC, such as the 
Apple. Other built-in features in- 
clude circle, paint, and axis 
commands. 

Softkey's Keychart is bundled 
with the CE-515P Keychart. 
which provides IBM PC com- 
patibility, is a presentation 
graphics product. It uses a 
menu-driven fill-in-the-blank for- 
mat to produce a variety of 



multisized charts. 

Sharp is working with a 
number of software houses to 
make a substantial software 
base for the CE-515P. Contact 
Sharp Electronics Corp., 
Systems Division, 10 Sharp 
Plaza, Paramus. NI 07652, (201) 
265-5600. 
Circle 601 on inquiry card. 

[continued] 



44 BYTE • AUGUST 1984 



The automatic transmission 
with a $250 differential. 



What a way to travel! The Password™ modem is 
geared to transmit up to 1 20 characters a second 
from anywhere to anywhere else in the country at 
the push of a button. Adjusts automatically to any 
speed — moving at a high of 1200 baud, or 
down-shifting all the way to 300 baud. 
Totally compatible, it lets any micro- 
computer phone-communicate with 
any other microcomputer. Easily 
portable, it parks almost any- 
where thanks to the convenience 
of Velcro™ strips. 

The Password modem turns / : 

out text ten times faster than / / 

an expert typist— sends thou- 
sands of words by phone for 
less than express mail. And 
our automatic transmission 



comes through in the clutch by automatically 
dialing or answering your calls. Now look at the 
sticker price! At $449, we're about $250 less than 
the best-known modem. A very sizeable differ- 
ence. Especially considering that both send and 
receive at the same speeds, and both carry 
a two-year limited warranty. 

The Password modem. High per- 
formance at a compact price. 



PASSWORD 

by U.S. Robotics, Inc. 



M 



1123 W.Washington 
Chicago, IL 60607 
Phone:(312)733-0497 




For a poster size reprint of this ad, send $3.00 to U.S. Robotics, Inc. 
Circle 310 on inquiry card. 



WHAT'S NEW 



MS-DOS Portable, Pivot Has Modem, Drive Built In 



Pivot, a portable 16-bit com- 
puter from Morrow, com- 
bines a modem, clock, calcula- 
tor, and 5J4-inch floppy-disk 
drive in a 9-pound package. It's 
available in three 128K-byte ver- 
sions, with prices starting at less 
than $2 500. 

Pivot uses Microsoft's MS-DOS 
2.0 operating system, which pro- 
vides access to hundreds of 
business applications. It's based 
on the CMOS 80C86 micropro- 
cessor and comes with a 16-line 
by 80-character, high-resolution 
LCD display. 

The battery-backed real-time 
clock/calendar is accessed by 



the clock icon on the Pivot's 
keyboard, which has 63 pro- 
grammable keys. 10 function 
keys, and a 22-key calculator 
overlay. If you need to know the 
time in Japan, you can get the 
correct time there by locating it 
on the world map Pivot can 
display. The four-function cal- 
culator will accept up to 2 56 
entries of 16 digits each, and it 
automatically inserts decimal 
points and commas. 

The built-in modem operates 
at 300 bps under AT&T 103 pro- 
tocol. ROM-based software lets 
Pivot emulate a dumb terminal 
for data communications with 




electronic services. You can exit 
an applications program, access 
a database, and insert retrieved 
data into the application. With 
communications software, you 
can have a full-duplex modem 
with auto-answer and auto-dial 
features for both tone and 
rotary-pulse dialing. 

All versions of Pivot run on 
12-volt DC power. An optional 
rechargeable 1.5-pound VCR 
nicad battery provides up to 
five hours of additional power. 
The battery module fits inside 
Pivot and costs $50. Pivot 
measures 13 by 13 inches when 
open, When shut, it measures 
13 by 5.6 by 9.5 inches. 

The Pivot family includes one 
or two double-sided, double- 
density 5 '/4-inch floppy-disk 
drives using nine-sectored IBM 
PC format with memory capaci- 
ties of up to 51 2K bytes and 
bit-mapped graphics with 480- 
by 128-pixel resolution. They 
have three interface ports: a 
parallel port that mimics IBM 
PC I/O, an RS-232C serial port 
with programmable data rates 
from 300 to 19,200 bps, asyn- 
chronous or synchronous, and 
an RII 1C port to connect the 
modem to standard telephone 
lines. For complete details, con- 
tact Morrow Inc., 600 McCor- 
mick St., San Ijeandro, CA 
94577, (415) 430-1970. 
Circle 602 on inquiry card. 



10-Net: IBM PC Network 



Fox Research markets a kit of 
hardware, software, and 
utilities for linking IBM Personal 
Computers into a high-speed 
local-area network. With 10-Net 
users can share applications, 
files, storage devices, and 
printers. 10-Net costs $695 per 
user. 

10-Net does not require a 
dedicated file server. It works 
with twisted-pair cabling and 
operates at 1 million bps. 
10-Net extends up to 3000 feet, 
and repeaters increase its range 
to 1 mile. It's Ethernet-com- 
patible with regard to message 
formatting and addressing. 
Record locking and several 



levels of password security en- 
sure file and data integrity. Net- 
work utilities provide a calendar 
and electronic mail. 

As a complement to 10-Net, 
Fox Research has released a 
network version of its 10-Base 
relational database-management 
system. 10-Base permits single- 
query access to multiple files, 
and it places no restrictions on 
the number of files that can be 
created. A bridge feature lets 
you exchange information with 
more than 100 popular micro- 
computer programs, and a 
forms manager lets you design 
custom screens and forms. 

The network version lets you 



set up a distributed database. 
With the assistance of a system 
configuration table, you can 
locate 10-Base's data dictionary, 
files, and other resources any- 
where within the network. Its ar- 
chitecture provides for 65- 
character path names, 

Minimum system requirements 
are an IBM PC, PC XT, or com- 
patible, PC-DOS 2,0 or later, 
128K bytes of RAM, and a disk 
drive. The network version of 
10-Base is $895 per network 
system. Additional manuals are 
$75. Contact Fox Research Inc., 
7005 Corporate Way, Dayton, 
OH 45459, (513) 433-2238. 
Circle 604 on inquiry card. 



Five Programs 
Constitute Enable 

Enable for the IBM PC com- 
prises five integrated 
software modules: word pro- 
cessing, spreadsheet, graphics, 
database management, and 
telecommunications. You can 
generate a graph from the 
spreadsheet, then insert the 
graph and spreadsheet in text 
and print the whole package. 
You can select information for 
the database using Enables 
query language and insert it 
anywhere without worry 
because Enable automatically 
expands the column length and 
modifies formulas. 

It uses a master control 
module (MCM) that supervises 
the activities of each module 
and serves as the sole interface 
between you and the modules. 
It has a consistent set of com- 
mands. English-language menus 
with explanatory messages are 
available in each module. Menu 
options can be selected with 
the cursor or a keystroke. Ex- 
pert commands that bypass the 
menus are available. 

Enable lets you run one ap- 
plication, one communications, 
and one printing program con- 
currently. Its macro facility can 
record keystrokes and com- 
mands as they are executed, 
You can edit stored commands 
with the word processor. 

Enable provides up to eight 
separate windows that you can 
size, shape, overlap, or zoom to 
full-screen length, Data can be 
cut and pasted from window to 
window with a minimum of key- 
strokes. Files created by such 
programs as dBASE II, Lotus 
1-2-3, WordStar, VisiCalc, 
EasyWriter 1, and Volkswriter can 
be used without rekeying or 
conversion. Enable can create 
files in the proper format for 
each of these programs. 

1\vo disk drives and 192 K 
bytes of memory are required. 
It lists for $695. For full details 
on the word processor's editing 
features or the seven graph 
types of the graphics module, 
contact The Software Group, 
Northway Ten Executive Park, 
Ballston Lake, NY 12019, (518) 
877-8600. 
Circle 603 on inquiry card. 

[continued) 



46 BYTE • AUGUST 1984 



Circle 302 on inquiry card. 



Our Family Tree Is Growing Again 



SBC-II A two user multiprocessing 
S-1G0 slave complete with a Z-80 CPU 
(4 or 6 MHz), 2 serial ports, 64K RAM, 
and 2K FIFO buffer for each user! A 
cost effective way to add users to 
your multiprocessing system. 



Jfeftta --" T'V V ' 



™ ^5«2 



mm mm 






HD/CTC A hard disk and 
cartridge tape controller 
combined together on one 
board! A Z-80 CPU (4 or 6 
MHz); 16K ROM, and 
up to 8K RAM provide 
intelligence required to 
relieve disk I/O burden 
from host system 
CPU. Round out your 
multi-processing system 
with an integrated 
mass storage/backup 
controller. 



M 



Systemaster" 

The ultimate one board 
computer; use it as a 
complete single-user 
system or as the 
"master" in a multi- 
processing network 
environment. 
Complete with 
Z-80ACPU, 
2 serial and _ 






SBC-1 A multiprocessing 
slave board computer with 
Z-80CPU (4 or 6 MHz), 
2 serial ports, 2 parallel ports, 
and up to 128K RAM. Provides 
unique 2K FIFO buffering for 
system block data transfers. 
When used with TurboDOS or 
MDZ/OS the results are 
phenomenal! 




3£H 



«*S5* 



2 parallel ports, floppy 
controller, DMA, real 
time clock, RAM drive 
disk emulation 
package, and 
Teletek's advanced 
CP/M BIOS or 
TurboDOS. 



4600 Pell Drive Sacramento, CA 95838 (916)920-4600 Telex #4991834 Answer back- Teletek 



TELETEK 



WHAT'S NEW 




Preprogrammed Hero 



Heath's preprogrammed 
personal robot. Hero Jr., 
roams, explores, sings, and 
speaks English, It'll wake you in 
the morning (a 10-minute 
snooze period is built-in), play 
games, and guard your house 
with an optional security 
system. A Motorola 146818 
CMOS 100-year calendar/clock 
provides the date, day of week, 
and time, and it adjusts 
itself for biannual time 
changes. 

Hero Jr. trundles about ran- 
domly on its three wheels, and 
a wireless remote control lets 
you drive it around. For sound 
sensing, it has a 2 56-bit resolu- 
tion sound sensor with adjust- 
able range and a 200- to 
5000-Hz bandwidth. A 2 56-bit 
resolution light sensor with ad- 
justable range and a 25-degree 
reception angle is provided. Its 
ultrasonic sonar can accurately 
measure distances from 4 
inches to about 25 feet. Speech 
synthesis equipment includes a 
Votrax SC-01. with 4 pitch levels 
and 64 phonemes. 

It can carry up to 10 pounds 
on a 94-cubic-inch compart- 
ment. A 1 7-key keypad lets you 
modify its personality or initiate 
a special task. Eight data LEDs 
flash in time with its speech or 
indicate sound levels when it 
listens. Rear connectors include 



a charger jack, on/off switch, 
sleep switch, and an RS-232C 
interface. 

The operation of Hero Jr.'s 
personality traits can be in- 
creased or decreased through 
software. A Hero Jr. BASIC car- 
tridge permits programming 
through its RS-232C port. Addi- 
tional preprogrammed game/ 
entertainment cartridges will be 
available. 

Hero Jr. uses a Motorola 6808 
microprocessor. It has 32 K 
bytes of monitor ROM. 8K bytes 
of RAM, and provisions for up 
to 16K bytes of ROM or RAM 
as well as for 4K or 8K bytes of 
plug-in ROM cartridges. It's built 
with three circuit boards: micro- 
processor, power supply/sense, 
and keyboard. Two Motorola 
6821 parallel interface adapters 
are incorporated into its design. 

For steering, it uses a 
180-degree rotation, stepper- 
type motor, and a 1 2-volt DC 
motor for the drive. It's 
powered by two 6-volt, re- 
chargeable lead/acid gelled- 
electrolyte batteries: two op- 
tional cells double operating 
time. It stands 19 inches tall and 
weighs 21.4 pounds. 

Hero Jr. costs approximately 
$1000. Contact Heath Co.. Dept. 
150-375, Hilltop Rd., Benton 
Harbor. MI 49022. 
Circle 605 on inquiry card. 



Input Console Eliminates Rote Commands 






Polytel Computer Products' 
Keyport 300 is a 300-key 
programmable input device for 
the home, office, and school. 
Available for the Apple II series, 
the Commodore 64, and the 
IBM PC or PC XT, Keyport uses 
interchangeable overlays known 
as Keyware. These overlays 
organize the commands associ- 
ated with, for instance, a 
spreadsheet in such a fashion 
that anyone, regardless of com- 
puter expertise, can use the 
program immediately. The need 
to learn a command language is 
eliminated. 

With the Keyware overlays, 
Keyport translates commands 
anguages the computer 
Stands. It uses single 



keystrokes, and the command 
outlines are written in plain 
English 

A library of preprogrammed 
Keyware overlays for spread- 
sheet, word-processing, and in- 
tegrated programs is available. 
You can create custom overlays 
using Keyport's programmable 
keys. 

Keyport 300 uses a membrane 
keyboard: it has no integrated 
circuits or moving parts. It 
measures 9'/$ by 12% inches. To 
use this system, you plug Key- 
port into the computer, load a 
Keyware disk, fit the program 
overlay onto Keyport, and begin 
programming. 

A larger version of Keyport, 
the 717, which features 717 pro- 



grammable keys, is available for 
the Apple only. 

An Executive Keyport 300 
package, complete with word- 
processing, spreadsheet, and 



graphics demonstration overlays, 
is available for $299. The 
Keyport 717 with educational 
software begins at $179. Con- 
tact Polytel Computer Products 
Corp., Suite 310, 12 50 Oakmead 
Parkway. Sunnyvale, CA 94086, 
(408) 730-1347. 
Circle 606 on inquiry card. 




(continued) 



TE • AUGUST 1984 



/•'^irf 'k 









i 



\\ \ 



INPUT /OUTPUT TECHNOLOGY, INC. 

25327 Avenue Stanford, Unit 113, Valencia, CA 31355 • [805] 257-1000 

Uncompromising Additions to your S-100/IEEE-696 BUS 




DUAL GPIB-4BB INTERFACE 
BOARD 

A Stand-Alone, independently Controlled 
Dual Channel IEEE-4BB I/O Processor. In- 
terface Activity Modes for Controller-in- 
Charge. Controller Assigned or Terminal 
Bus Slave, and all Interface Functions are 
handled transparent to Host System CPU 
through an on-board CPU and DMA con- 
troller. User Friendly operation. 

AST. P/N 52748-800-102 




RGB COLOR GRAPHICS BOARO 

Programmable resolution up to 512 x 512 
pixels with A local video planes and on-board 
graphics processor. Color mapper allows 16 
colors from a palette of 4096. Light pen 
input. Plus more ... 
AST, P/N 6E74B-300-101 




12-BIT A-O-A CONVERTER 
BOARO 

B Channel A-D: 12 microsec. Conversion, 
5DKHz Sample Rate, Programmable 
Gains, Offset and Diff. /Single Modes. 
B Channel D-A: 2 microsec. Settling, 
Bipolar V or Unipolar I Output. Program- 
mable Reference levels, Dual-Ported Chan- 
nel Refresh RAM. 16/B-Bit Data 
Transfers via I/O or Memory Mapped 
AST, P/N 52748-900-101 




BAR COOE PROCESSOR BOARO 

The BarTender is a stand-alone I/O Pro- 
cessor that reads and prints most common 
Bar Codes. Includes bi-directional reading, 
wand interface, clock/calendar with battery. 
Extensive documentation and software. 
AST, 5S748-500-101 Without WbhcJ 
A£T ) 58748-500-801 With Wand 




PERIPHERAL SUPPORT 
BOARO 

Two Serial SYNC/ASYNC Ports with 
RS-232, TTL or Current Loop Outputs, 
three S-Bit Parallel Ports, three Timers, 
Real Time Clock/Calendar and Response 
Programmable Interrupt Controller. Small 
Proto Area with +5 and +12v. 
AST, P/N 52748-15D-1D1 




MULTI-PURPOSE 
PROTOTYPING KIT 

Industrial Quality with Plated-Thru holes for 
Wire-Wrap or Solder projects. Complete 
with +5, +12v Regulators, Bus Bar, Filter 
Capacitors, and Manual. 



P/N 52748-450 



Cirde 1 57 on inquiry card J 



ALSO AVAILABLE: MULTI-FUNCTION I/O BOARO, SMART PROTOTYPING KIT, 128Kx8/G4Kx16 STATIC RAM MODULE 

SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. 



WHAT'S NEW 



SagePaint Drawing Program 



I '.-": : 



nnummm 





DDDED® 




PHI 
















1 1 


{'.('• 


«*; 


s 


m 


m 


m 


m 


Wil 






vX 












1 








. 
















\m 


■ - 


•:.:i 


SBBb 



SagePaint is a color-graphics 
drawing program from Sage 
Computer. 

Written in UCSD Pascal, it 
runs on a Sage II or IV com- 
puter enhanced by the Pluto 
graphics subsystem. The pro- 
gram uses a three-button mouse 
to draw eight-color graphics in 
288- by 568-pixel resolution. 
Using the metaphor of pen and 
ink, the user can mix fore- 
ground and background colors 
to create a wider variety of 

Photo I: SagePaint' s color mixing 
palette. On the left-hand side of the 
screen, you can select functions from 
the icon menu. 



"paints" than the eight pure 
colors that are supplied. 

The user can select functions 
from a menu of graphic icons 
displayed on screen. The pro- 
gram can draw brush strokes 
and thin lines, erase, fill an 
enclosed area, copy and modify 
rectangular areas of graphics, 
and enter text in one size. 

SagePaint's price was not 
available at press date but was 
estimated to be about $400 for 
the program itself and $1000 
for the source code. 

For further information, direct 
your inquiries to Sage Com- 
puter, 4905 Energy Way, Reno, 
NV 89502. (702) 322-6868. 
Circle 607 on inquiry card. 



Portable Drive for 
Notebook Computers 

The Bullet, a mass-storage 
system for such notebook 
computers as the Radio Shack 
TRS-80 Model 100. the Olivetti 
M-10, and the NEC 8201. is pro- 
duced and manufactured by 
Holmes Engineering. It plugs 
directly into the computers 
RS-232C port and operates 
using menu-driven commands 
from the computer. Power is 
drawn from rechargeable bat- 
teries or from a battery 
charger/power transformer. 

The Bullet uses thin wafer-type 
tape cassettes; each can store 
up to 64K bytes of data on its 
continuous loop. A ROM-based 
operating system gives the 
Bullet a rapid load/save 
response time; for example, a 
lOK-byte file can be saved and 
verified in about 40 seconds. 

It's housed in a cabinet that 
complements the Model 100's 
color. The 3 3 /4-pound Bullet 
measures 8 inches wide. 5 l /2 
inches deep, and 2'/2 inches 
high. With cables, wafer tape, 
manual, and battery charger/ 
power transformer, the Bullet is 
$369.95. Contact Holmes Engi- 
neering Inc., 5175 Green Pine 
Dr.. Salt Lake City, UT 84107. 
(801) 261-5652. 
Circle 608 on inquiry card. 



Intelligent Copier/Printer Uses 68000 



The K-2 intelligent copier/ 
printer from Kentek Infor- 
mation Systems has the ability 
to merge multiple fonts, custom- 
ized logograms and signatures, 
and business graphics. It uses 
electrophotographic technology 
and is designed to print letter- 
quality text and graphics from 
virtually any host micro- 
computer. 

Its on-board intelligence 
centers around a Motorola 
MC68000 microprocessor, sup- 
ported by a 5 /4-inch floppy 
disk. It can perform a variety of 
program control functions rang- 
ing from the selection of page 
sizes, print orientation, and 
fonts to the generation of highly 
complex vector graphics such 
as computer-aided designs, 
statistical symbols, line draw- 
ings, and technical diagrams. 

The data stream of text and 
graphics can be fed from your 
computer to the K-2's on-board 
controller. In turn, the controller 
computes the corresponding all- 
points-addressabie bit-map pat- 
tern for transfer to the LED ar- 
ray printing head, which is 
focused on an organic photo- 
conductor belt. It yields a 240- 
by 240-pixel-per-inch image at a 
rate of 12 pages per minute. 



The print engine uses a two- 
component dry toner that is 
heat and pressure fused. 

'Two paper cassettes are avail- 
able to feed 16- to 64-pound 
bond, letterhead, transparencies, 
pressure-sensitive labels, per- 
forated sheets, and envelopes. 
Paper sizes range from 5 Vi by 
8'/2 inches to 8/2 by 14 inches. 
Envelope sizes are 8% by 4/ 8 
inches to 6/2 by Vh inches. 

The K-2 supports character 
variables, including line density 
in standard text of 5. 5.33. 6. 8. 
and 24 lines per inch. Line 
spacing is available in single, 
double, triple, half, and one and 
a half. Character pitches include 
10. 12. and 15 with or without 



proportional spacing. All charac- 
ters can be rotated. 

Font selection and manage- 
ment is controlled by the host 
computer and limited only by 
the capacity of the floppy disk. 
Disks are capable of storing 
more than 30 fonts of 1 54 char- 
acters each. 

Connections are through 
either an RS-232C or an RS-422 
port. The K-2 supports three 
asynchronous protocols at con- 
current levels. Pricing begins at 
less than $10,000. Contact 
Kentek Information Systems Inc., 
Six Pearl Court. Allendale. NJ 
07401. (201) 825-8500. 
Circle 609 on inquiry card. 

{continued on page 431) 




50 BYTE • AUGUST 1984 



"Heaven Knows How I'd Keep Track of My Flock 
Without Infoscope." 




Before we got Infoscope, I frankly didn't know what to do with our church's 
personal computer. Now I don't know what I'd do without it. Infoscope lets me put 
virtually anything in our computer, and take anything out in whatever form I need. 
I can see how a business could use data management like that. But my "business" 
is my congregation — and I never knew my congregation so well before. 

Wait till you see what we get out of Infoscope . . . 



"Our Computer Never Did 
So Much Before." 



I've got every church member in 
here. Names. Addresses. Children. 
Anniversaries. Pledges. Special needs. 
Volunteer projects. Infoscope makes it 
easy to enter information. If I make a 
mistake (no man is perfect), Infoscope 
suggests an alternative. 



BIWTWY? Do you k» MHHDftY (MY 



If I misspell a word, Infoscope 
suggests the right spelling. Politely, I 
might add. None of this SYNTAX 
ERROR business. I don't need 
scolding. 

I Forget Anniversaries. Infoscope 
Doesn't. 

Once I've entered the data, I just ask 
Infoscope to pull out all anniversaries 
of our members for, say, January. 
Before I can blink my eyes, I've got it. 
I remember birthdays the same way. 
My congregation thinks it's wonder- 
ful, the kind of memory I have. It's 
hard to believe that pastors used to 
keep all this in their heads. Or, forgive 
me, but maybe they didn't ... 




Building Fund Pledges Here. 
Contributions Here. 

Anytime you want to compare 
data, Infoscope lets you create 
windows. 




I can see our pledge list in one 
window, and 




contributions in another. The only 
thing Infoscope doesn't know is that 
Bill Martin is late paying his pledge 
because Sue has been sick. That's my 
department. 



■24 Ayr 84- 3:27:11 ^-Je 



52 BYTE • AUGUST 1984 



I Can Create a Window for 
Everything. 

For example, Vacation Bible 
School. In one window, I pull out and 
display all the volunteer teachers. In 
another, I scroll through last year's 
students. In another, all the class 
projects. 




And so on. I can make each 
window as large as I want, and put it 
anywhere on the screen I want. 



p Infascofe for the IBfl Personal Cosprter / serial 1186981 



|Teacfeps-i (8 fra file mom) I 



Ui : : , - MTS-AMRILABU Airing Apr 

Sorted by: LfiSTWAJf 



\\:~-:-z !i::T^i FHOffi-no kt, 



r Hliott Eons! a Wr* 

Fini Focus; AGE ova 5 

Ken Projects-1 (4 froa file HO Sated fcy: ftSE 

Eai Focus: everything liifflfire FUSTOBf flfl BIKHMyIS:: il""" 

"hWKT-DBCI INCHES* Rudolph Jim 6 2 fer 78 l'n Be 
Constance ttary 6 13 fov 7? 1 f S 

1 Spiritual Gcfcile Finch Farter Bhonda 8 22 kw 75 3 F h 

Chocolate coolies Broav Pinkerton Rose 9 22 Aug 74 4 F Co 



1 (Spiritual mobile Finch 
Chocolate coolies Brow 



IM1CRPSTUF 



At Last, Our Computer Performs 
Miracles. 

It just took the right program. With 
Infoscope, we can enter data ... sort it 



= Infoscope for the IBfl Personal Co^uter / serial 1189961 -> 

[Sbmbs-1 (6 ftw Hi t SHffltS?"] 

?:::■■: everything 
Sorted W: MH-raufan 

ntle The Prodigal Son .■:;-■ 3C\ 



Press / for 
-"24 Ajr 84 - 3;! 



... compare it in expanding movable 
windows . . . even pull out data from a 
larger data base. No software ever did 
so much to make a microcomputer so 
valuable. I swear by — well, I ap- 
preciate very much what it does for 
me. 




* Infoscope operates on data in 
RAM, so it's 4 to 1 00 times faster 
than other information 
»\ management programs. For a 

demonstration, see your retailer. 
Or, write for details: 

1000 Holcomb Woods Parkway / Roswell, Georgia 30076 



Circle 212 on inquiry card. 



AUGUST 1984 -BYTE 53 



ASK BYTE 



Conducted by Steve Garcia 
TI # Keyboard for # IBM PC? 

Dear Steve. 

Having seen the lexas Instruments PC key- 
board (November 1983 BYTE, page 232) and 
owning an IBM PC. 1 feel as Bobbi Bullard does, 
that TI "started out right" in designing its 
keyboard. Is it possible to convert the Tl PC 
keyboard to work with the IBM PC? If it is pos- 
sible, what would be involved in the conversion? 
Will Madison 
Anchorage. AK 

While it is probably possible to adapt the 
TI Professional Computer's keyboard to the 
IBM PC, it would require extensive changes to 
the IBM BIOS (basic input/output system) 
keyboard-interpretation routine and possibly 
some hardware changes— not an easy task. 

Alternatives do exist, however, if you want 
to get a keyboard with a softer touch and 
move the much-maligned left-hand Shift key 
and the Return key to a more conventional 
location. A few keyboards on the market while 
they make no attempt to duplicate the TI Pro- 
fessional's 97 keys, may satisfy your needs. 
Some of these are produced by Key Tronic 
Corp., POB 14687, Spokane, WA 99214; Maxi- 
Switch Co., 9697 East River Rd., Minneapolis, 
MN 55433; and Qubie Distributing, 4809 Calle 
Alto, Camarillo, CA 93010. Advertised prices 
for these keyboards are in the $200-$300 
range. 

A cheaper alternative is to use one of the 
keyboard-customizing programs that modify 
the keyboard interrupt-service routine to 
change some of the key functions to your 
specifications. Some of these are Keyswapper 
2.0 from Vertex Systems, 7950 West 4th St., 
Los Angeles, CA 90048; Magic Keyboard from 
Lifeboat Associates, 1651 3rd Ave, New York, 
NY 10028; ProKey from RoseSoft, POB 45808, 
Seattle, WA 98105; and SmartKey II from 
Heritage Software, 2 130 South Vermont Ave., 
Los Angeles, CA 90007. 

I hope one of these options will meet your 
requirements with less work than adapting the 
TI keyboard.— Steve 

Dear Steve. 

1 have been searching for a way to transfer 
data from an Apple 11 CP/M disk to Commodore 
1 54 1 disk-drive format. I want to use the Com- 
modore 64 with a Z80 cartridge and CP/M 2.2. 
1 have seen disk-format converters available for 
other machines. 

Darwin Yu 
Livingston, NJ 



I am not aware of a format converter that 
will change Apple II CP/M disk files to the Com- 
modore 1541 format. The Commodore CP/M 
implementation is new and has not yet gained 
widespread use. 

Files can be transferred from one machine 
to the other by the use of serial ports and 
some communications software. The transfer 
can be accomplished either by means of a 
modem or by direct connection through a 
serial cable. The files are then uploaded or 
downloaded as required. 

Many communications software packages 
are available for each computer. Consult the 
ads in BYTE or machine-specific magazines for 
manufacturers. —Steve 

Questions on Apple 
and BASIC^ 

Dear Steve. 

1 have an Apple lie with two disk drives, a 
Gemini-lOX printer, and a Monitor IN. First, what 
is a good inexpensive program or peripheral 
device to speed up the processing time of my 
computer? 

Second, I have an 80-column card in the aux- 
iliary slot, 1 want to know if any other card can 
be used in Slot 3 while the 80-column card is 
in use? If so, which ones or what type? 

Finally, can the Einstein compiler (January, 
page 349) be used to compile copy-protected 
programs? 

Melvin C. Etheridge 
Camp Lejeune, NC 

You can speed up the processing time of 
your Apple lie in several ways. The one best 
suited to your application, however, depends 
on the type of program. For example, if your 
program requires a lot of disk interaction, a 
RAM disk will greatly improve speed. If your 
program does a lot of number crunching, the 
RAM disk will not be effective. A faster 
microprocessor can result in speed increases 
of three to four times. 

Alpha Logic Business Systems (4119 North 
Union Rd., Woodstock, IL 60098, (815) 
568-5166) sells the Accelerator II board ($599), 
which increases the processor speed by three- 
and-a-half times, and the Saturn 32K-, 64K-, 
and !28K-byte memory boards ($219, $349, 
$499) with software to use the board as a RAM 
disk. Omega Microware (222 South Riverside 
Plaza, Suite 2234, Chicago, IL 60606, (312) 
648-4844) sells the Ramex 128K, a multipur- 
pose expansion card with disk-emulation soft- 
ware ($499.99). 

The Apple lie maps the auxiliary connector 
as Slot3 to maximize compatibility with ex- 



isting 80-column software. When one of the 
lie 80-column text cards is plugged into this 
connector, a PRi3 command enables this card 
and disables the ROM (read-only memory) or 
firmware on any card plugged into Slot 3. 

The Einstein compiler (or any other BASIC 
compiler) converts a BASIC program into a 
machine-language program that executes 
faster.— Steve 

Monochrome Graphics 

onaPC 

Dear Steve. 

I have an IBM PC with its monochrome-dis- 
play and printer-adapter card, color/graphics 
card, and monochrome display. I want to get 
the monochrome graphics output from my 
display— without spending more than $100. 

I know that some vendors have introduced 
a simple interface circuit to enable the IBM 
monochrome display to be connected with the 
color/graphics card to get the result. 

Please tell me if this method is technically and 
economically suitable. Will it do any harm to 
the monochrome display? Also, please describe 
in a future BYTE how such a circuit is built, if 
possible. 

Matthew Lim 
Republic of Singapore 

The IBM monochrome display is designed 
to work at a horizontal sweep rate of 18 kHz 
and a vertical scan rate of 50 Hz. This differs 
enough from the NTSC (National Television 
System Committee) sweep rates output by the 
graphics-display adapter to cause problems. 
IBM warns that operating the monochrome 
display from the graphics adapter will damage 
the display. I have also heard of damaged 
power supplies in these displays from 
operating this way. 

For this reason, I don't recommend using the 
monochrome display with the color-graphics 
adapter. Instead, I recommend that you buy 
an inexpensive monochrome monitor that 
follows NTSC standards, many of which are 
available from advertisers in BYTE for around 
$100, that will give as good a graphics display 
as the IBM monochrome display. This gives the 
added advantage that both monitors are 
available on your system, so you can have the 
excellent text display of the monochrome- 
display system with the ability to switch to the 
graphics display when doing graphics. Pro- 
grams such as Lotus 1-2-3 make this switch 
automatically when both display systems are 
installed. 

A pair of programs in the IBM BASIC Manual 

{continued) 



54 BYTE* AUGUST 1984 







free and Easy 



u 



sing a Business 
Plotter is difficult 
and expensive, 
right? Wrong! That's the way 
things used to be. Roland DCs 
new hardware/software 
package not only makes 
plotting easy, it also makes 
part of the deal free! 

During the 
months of 
April, May and 
June with the 
purchase of a 
Roland DG 
DXY-800 8-Pen X-Y 
Plotter, you get the 
KeyChart Presentation 
Graphics Software to run the 
plotter— Absolutely Free! A 
savings of $375.00. 

At the heart of the package is 
the Roland DG DXY-800 X-Y 
Plotter, (the lowest priced 8-pen 
plotter on the market). The 
DXY-800 is an 8-pen intelligent 
plotter offering an 11" x 17" plot 
bed, Centronics parallel and 
RS-232 serial interfaces, and 
can also be used in either a 
horizontal or vertical (60 
degree inclined) position, to 
conserve your 
desk-top space. 
Use regular paper 
or even acetate 
to produce 
overhead 
projection 
graphics. 

Next add 
KeyChart, prob- 
ably the quickest, 
and easiest software 
program for generating 
presentation-quality 
business graphics. You don't 
have to be a programmer to use 
KeyChart. It is completely 
menu-driven and can provide 
automatic default values for 
every characteristic. Load in 
your data from the keyboard, or 
from almost any electronic 
spreadsheet, including Lotus 
1-2-3. 



• 



r 




keyChart 
graphics 
software 
is high-quality, 
quick, and easy. 




W, hy not 
take the 
work 
out of your 
next business 
presentation? 



thanks to 
Roland DG i 
KeyChart 
can come to 
you for free. 





oland DG's 
DXY-800 
KeyChart 
package is available 
for most popular personal 
computers. Just plug it in, and 
within minutes you'll be 
creating the kind 
of graphics you 
thought 
might take 
days of pro- 
gramming. 
All of this 
comes to 
you for the 
DXY-800's 
normal low retail 
price of $995.00. 
KeyChart, normally 
priced at $375.00 is 
included at no additional 
cost. For those who don't 
need multi-pens, Roland DG 
also makes a single pen 
plotter (the DXY-101), also 
bundled with KeyChart for 
only $750.00 
Why not let the Roland DG 
= graphics 
system 
improve 
the 
quality 
of your 
business 
presenta- 
tions? 
But 
you'd 
better 
hurry, this kind of free and 
easy dealing isn't going to last 
forever, just until June 30th. 
For a dealer near you contact: 
Roland DG, 7200 Dominion 
Circle, Los Angeles, CA 
90040, (213) 685-5141. 



KeyChart is a 
trademark of SoftKey 
Software Products Inc. 
Lotus and 1-2-3 
are trademarks of 
Lotus Development Corp. 




Roland DG 



Circle 270 on inquiry card. 



AUGUST 1984 -BYTE 55 



ERG/68000 

MINI-SYSTEMS 

□ Full IEEE 696/S100 Compatibility 

HARDWARE OPTIONS 

□ 8MHz, 10 MHz, or 12 MHz 
68000/68010 CPU 

O 68451 Memory Management 
CD Hardware Floating Point 

□ Multiple Port Intelligent I/O 

D 64K/128K Static RAM (70 nsec) 

□ 256K/512K/1MB Dynamic RAM (150 
nsec) 

D Graphics-Digital Graphics 

CAT-1600 
O DMA Disk Interface 
D SMD Disk Interface 

□ V4" or y 2 " Tape Backup 

D 5 1 A" or 8" Floppy Disk Drives 

D 5MB-474MB Hard Disk Drives 

D 7/10/20 Slot Back Plane 

CD 20 or 30A Power Supply 

D Desk Top or Rack Mount End. 

SOFTWARE OPTIONS 

□ 68KFORTH 1 Systems Language 

D CP/M-68K 2 0/S with C, 68K-BASIC\ 
68KFORTH1, FORTRAN 77, EM80 
Emulator, Whitesmiths' C, PASCAL 

D IDRIS 3 O/S with C, PASCAL, 
FORTRAN 77, 68K-BASIC 1 , CIS 
COBOL 4 , INFORMIX 5 Relational 
DBMS 

D UNIX* SYS V O/S with C, PASCAL, 
FORTRAN 77, BASIC, RM COBOL 7 , 
ADA 8 , INFORMIX 5 , Relational DBMS 

D VED 68K Screen Editor 

□ Motorola's MACSBUG and FFP 
Package 

Trademark 1 ERG, 'Digital Research, 

Whitesmiths, 4 Micro Focus, 5 RDS, 

I Inc., "Bell Labs, 7 Ryan McFarland, 

•U.S. DoD 

30 Day Delivery - OEM Discounts 



since 1974 



Empirical Research Group, Inc. 

P.O. Box 1176 

Milton, WA 98354 

(206) 872-7665 




ASK BYTE 



(Appendix I, page 8) switch the output back 
and forth between monitors. A more versatile 
program, VMODE by Ray Duncan, was 
published in the September 1983 issue of Sol- 
talk for the IBM PC (page 17 '8). -Steve 

Replacing the Apple II 
Keyboard 

Dear Steve, 

I have three questions I would like answered. 
What do I have to do to replace the Apple II 
keyboard? Can I use an Apple-compatible disk 
drive on an IBM PC? What can I build or buy 
to allow me to access the game I/O port as a 
plug-in socket from outside the Apple II 
cabinet? 

David A. Fong 
San Jose, CA 

The Apple II keyboard plugs into a socket 
on the motherboard. A replacement keyboard 
can be added simply by plugging its cable in- 
to this socket Several keyboards are available 
for the Apple II. Some feature preprogramm- 
ed functions, single-keystroke commands, up- 
percase and lowercase, and a full numeric 
keypad. Consult the ads in BYTE or an Apple- 
related magazine for further information. 

The Apple II disk drives are quite different 
from the IBM PC disk drives even though they 
both use 5!4-inch disks. Apple uses a software 
approach to control many of the disk-drive 
functions; the PC uses on-board hardware. 
Many of the functions required by the PC 
drives are missing from the Apple drives. They 
are incompatible. 

An extension socket can be made from a 
piece of flat cable, a 16-pin plug, and a socket 
to bring the connection outside the computer. 
A zero insertion-force socket facilitates the in- 
sertion and removal of accessories. One com- 
pany featuring several such products ($16.95 
to $34.95) is Happ Electronics Inc., 4640 Island 
View, Oshkosh, WI 54901, (414) 
231-5128.-SX.eMe 

C-64 Video Signals 

Dear Steve. 

I recently began a project to transform my 
Commodore 64 into a portable unit. I have a 
used case and monitor originally designed for 
an Osborne I system. Since the Osborne 
monitor requires horizontal and vertical syn- 
chronizing signals along with an input video 
signal, I need to convert the composite output 
from the VIC II chip to the component signals 
so I can see a display. Is there a simple solu- 
tion to my dilemma? 

Gregg Peele 
Greensboro, NC 

A circuit to separate the horizontal and ver- 
tical synchronizing signals from the composite 
video signal from your Commodore 64 is 
known as a sync separator. A suitable circuit 
was presented in the January 6, 1982 issue of 
EDN. "Sync Separator Provides Speed, Accu- 
racy" by Bradley Albing (page 207) describes 
a method to obtain the desired signals.— Steve 



Apple Software on S-ioo 

Dear Steve, 

I'm currently running CP/M on my CompuPro 
20-slot S-100 mainframe using Advance Micro 
Digital's Supernet S-100 single-board computer 
with an 8-inch Qume Data Irack double disk 
drive, a leleVideo 92 5 terminal, and an Epson 
MX-80 printer. My problem is that the company 
I work for has its software written for the Apple 
II; some is standard DOS, and some is 
Apple/CP/M. 

Is there an S-100 board that can be added 
to my system along with an Apple disk drive 
that would permit the direct use of this Apple 
software or the ability to read the Apple/CP/M 
programs onto my CP/M 8-inch disks and run 
them on my equipment? 

If I use Modem7 to transfer the Apple/CP/M 
files to my 8-inch S-100 system, will those pro- 
grams execute acceptably or must I modify the 
program files to make them work? They are all 
written in BASIC, with which I'm somewhat 
familiar. 

Also, do you know of a computer (desktop 
or portable) that can run Apple. IBM, and CP/M 
software interchangeably? 

Verne Carey 
Windom, MN 

I am not aware of an S-100 board that will 
allow direct reading of Apple software. Since 
the instruction sets for the two processors are 
greatly different, there is no benefit. 

As for transferring Apple/CP/M files to the 
S-100, Modem7 works fine. There should be 
few, if any, changes required, since the BASICS 
for each system are comparable. A direct serial 
connection can be used if the two systems are 
in close proximity. Otherwise, a modem must 
be used. 

If you have an IBM PC and a lot of money, 
you can run Apple, CP/M-80, and IBM software 
on the same machine. The Quadram Quadlink 
card will handle the Applesoft programs, and 
the Dump Card from Sweet Micro Systems or 
the Baby Blue card from Xedex will run 
CP/M-80 programs on the PC. For further in- 
formation, contact Quadram Corporation, 
4357 Park Dr., Norcross, GA 33093, (404) 
923-6666; Sweet Micro Systems, 50 Freeway 
Dr., Cranston, Rl 02920, (401) 461-0530; and 
Xedex Corporation, 222 Route 59, Suffern, NY 
10901, (914) 368-03 5 3. -Steve 

Robot Eyes 

Dear Steve 

I am presently designing a robot and want 
to give it electronic eyes for recognition and 
data retrieval. In your series, "Build the Micro 
D-Cam Solid-State Video Camera" (September 
and October 1983), you describe a unit using 
a RAM chip. In this series you did not mention 
how the lens was mounted. 1 would like to know 
how you did this. I would also like to know how 
to make this unit work with three others. These 
four units could have a dedicated 1802 pro- 
cessor that would give out only information that 
was requested from it or that the 1802's pro- 

[continued] 



56 BYTE • AUGUST 1984 



HIGH PERFORMANCE 



IT'S WHAT'S UNDER THE 



III 



THAT COUNTS 




Take a close look under the hood of a Datasouth 
printer. Inspect for loose parts, cheap fittings. Search for 
things that show more concern for speed on the assembly 
line than the communications line. 

You won't find them. Instead you'll find the source of 
the Datasouth reputation: design, engineering and mate- 
rials dedicated exclusively to high performance value. 

Now look closer. 

MORE THAN THE HUM OF ITS PARTS 

Count the moving parts in a Datasouth printer. You 
won't find many. Most of those are dedicated to transport- 
ing the printhead and the paper from point to point with 
optimum speed and accuracy, while the rest of the printer 
sits quietly with the motionless authority of a Stonehenge. 

And thinks. 

Under the hood of every Datasouth printer is a highly 
intelligent microprocessor. Its sophisticated brainwork elimi- 
nates the need for many parts still common in other printers, 
and optimizes carriage and paper travel so the printhead 
intelligently follows the shortest path from one printable 
character to the next. So more work gets 
done with less strain on the machinery. 



Everything that matters is easy to reach, right there under 
the hood. Even the cartridge ribbon, rated at 3 to 4 million 
characters, snaps into place in seconds. 

JUST TURN THE KEY ~ 

Datasouth printers are easily driven by virtually any 
mini or microcomputer. The fully instrumented dashboard 
allows the user to program up to 50 different applications 
features at the touch of a few buttons. Meanwhile, the 
digital readout shows everything from programming 
prompts to line count. 

TAKE YOUR CHOICE ~ 

Datasouth reliability comes in two high performance 
models. The DS180 is a legendary workhorse that delivers 
crisp data quality printing at 180 CPS. The new multimode 
DS220 cruises at 220 CPS for high speed data printing 
and at 40 CPS for letter quality word processing. Both 
models print precision dot-addressable graphics. 

If you have a high performance printing need, 
Datasouth has a high performance printer to fill it. 



MODUIJXR MAINTENANCE 

Datasouth design simplicity 
assures easy maintenance. All control 
electronics are on a single printed 
circuit board. The 9 wire printhead is 
rated at over 500 million characters, 
and is easily replaced in minutes. 




data 



DRIVE ONE TO WORK TODAY 

Both the DS180 and the DS220 
are on display at more dealer show- 
rooms every day, including one near 
you. So go take a hard look at the 
kind of hard copy you get from high 
performance Datasouth printers. 

See what really counts when 
you compare printers. 



R F O R M A N 



M AT R I X PRINTERS 



Find Datasouth Printers At 

Participating Coff^trtwCond* Stores 

And Other Fine Dealers. 



Circle 98 on inquiry card. 



AVAILABLE NATIONWIDE 

THROUGH OUR NETWORK OF 

SALES AND SERVICE DISTRIBUTORS 

CALL TOLL FREE: 

1-800-222-4528 



Datasouth Computer Corporation 
Box 240947 - Charlotte, NC 28224 
704/523-8500 * Telex 6843018 DASOU UW 

AUGUST 1984 • BYTE 57 



ASK BYTE 



gram demanded to be on the data lines. The 
processor is to communicate strictly parallel 
and must collect data from all four units and 
process it before any information can be ob- 
tained. It is to run and store this information 
until requested from another processor in the 
robot system. 

I would also like to know why you chose a 
16-millimeter lens for this project. Can an 8mm 
movie camera or a 3 5mm still camera lens be 
used with a better result? 



Finally, do you know of any way to increase 
the resolution of the unit? 

Chois Blackwell Jr. 
Waco, TX 

I don't see any reason why you can't use the 
Micro D-Cam as robot eyes. The binary char- 
acteristic of the image produced might limit 
its ability to recognize objects in cases where 
tonal gradations are important, but this can 
be circumvented to a large extent by techni- 



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? 


.. 




• .V. .; 


The MultiModem 








gives you a choice — 
either 1200 or 300 bits 


MultiModem. 


per second. So you can 








go on-line with the 






' 


information utilities. 








Checkout bulletin 








boards. Dial into corpo- 








rate mainframes. Swap 








files with friends. 


But Better? 

Yes. The Multi- 






On-Line Time? 


Modem gives you fea- 






With the Multi- 


tures the Hayes 






Modem you get 


Smartmodem 1200™ 






CompuServe's 


can't match. Features 






DemoPak, a free two- 


like dial-tone and busy- 






hour demonstration of 


signal detection for 






their service, and up to 


more accurate dialing 






seven more free hours 


and redialing. Like a 






if you subscribe. You 


battery-backed mem- 






also get a $50 credit 


ory for six phone num- 






towards NewsNet's 


bers. All at a retail price 






business newsletter 


of just $549 — com- 






service. 


pared to $699 for the 
Smartmodem. 






Features & Price? 








Of course, the 


What do you get? 






MultiModem gives you 


The new MultiModem, 






automatic dial, answer, 


from Multi-Tech Sys- 






and disconnect. Gives 


tems. Isn't this the 






you the Hayes- 


answer you've been 
looking for? 






compatibility you need 






to support popular 








communications soft- 








ware programs like 


For the name of 






Crosstalk, Data Cap- 


your local distributor, 






ture, our own MultiCom 


write Multi-Tech Sys- 




PC, and dozens of 


tems, Inc., 82 Second 






others. Gives you a 


Avenue S.E., New 




-S5S5F1"" — "" ' -MuBW$s£j, 


two-year warranty, 


Brighton, MN 551 12. 




ihw*m ^wtW^if^^ 


tops in the industry. 


Or call us at 
(612)631-3550. 




— 


Trademarks— MultiModem, MuiitCom 
PC: Mulli-Tech Systems, Inc. — Compu- 




MultiTechfil 


Serve: CompuServe Information Services. 
anHSR Block company—NewsNet: 
NewsNet, Inc — Crosstalk: Microstul. 






Systems ^0r 



-Dara Capture Southeastern Soft- 
ware— Smartmodem: Hayes Microcom- 
puter Products, Inc. 

58 B YTE • AUGUST 1984 



The right answer every time. 

Circle 227 on inquiry card. 



ques described in the articles if you have time 
enough to take the several pictures needed. 
If you want to use a dedicated processor in- 
stead of the Apple or IBM PC, you will need 
to write control software for it. The program 
should be modeled after the Apple program 
listed on pages 512 to 538 of the October 1983 
BYTE. If you want to use four cameras for 
special vision properties, the same program 
could be modified to control them all and read 
the images in sequence. Further processing 
will depend on your specific application. 

The output from the Micro D-Cam's IS32 
sensor chip is serial, primarily because the 
chip is organized as a 64 K by 1-bit memory 
array. Part 2 of the article shows how to con- 
vert this to a parallel data stream. 

The selection of a lens for the camera also 
depends on the application. A lens for a 16mm 
movie camera was chosen as one that pro- 
vides a standard mount, a "C" mount in this 
case, and has a focal length short enough to 
provide a usable field of view. Remember that 
the field of view and magnification are deter- 
mined by the lens focal length, not the type 
of camera it was made for. The longer the focal 
length, the higher the magnification and the 
smaller the held of view for a given sensor size. 
Lenses designed for 8mm or 35mm cameras 
could also be used, since the sensing element 
is about the width of an 8mm film frame and 
much smaller than 35mm film. 

If you want to mount your own lenses, buy 
short extension tubes (the kind sold at photo- 
graphy stores for close-ups) and attach them 
to your robot for use as lens mounts. The 
lenses then sci-ew or bayonet into the mounts. 
The resolution of the element is close to the 
resolution limit of most inexpensive lenses, so 
the decision you make must achieve a good 
balance between magnification and field of 
view. High magnification (longer focal length) 
will allow your robot to see a little bit of an 
object very clearly: a short focal length will 
allow it to see more but with less detail.— Steve 

8-jnch Djsks for Apple 11 

Dear Steve 

I have an Apple II and two 8-inch disk drives 
(Pertec type FD400). I want to connect both 
drives to the computer. 1 would be pleased if 
you would let me know how to do so. 

Marc Kleyn 
Merchtem, Belgium 

Converting 8-inch disk drives to run on your 
Apple II is quite involved since a different disk- 
controller card is required. Many of the disk 
functions of the Apple are implemented in 
software rather than hardware, thus the con- 
troller card is relatively simple. The 8-inch 
drives have on-board circuitry that handles 
these functions, and the controller must pro- 
vide the proper interface. 

Advanced Computer Products (1310B East 
Edinger, Santa Ana, CA 92705, (800) 
854-8230) sells the Vista A800 8-inch Disk 
Controller Card for the Apple II. It uses all the 
standard Apple DOS commands except I NIT. 

[continued) 



FEATURES 


COMMODORE 64™ 


APPLE lie™ 


IBM PCjr™ 


ATARI 800XL™ 


1 Price* 


$219 


$699 


$669 


$299 1 


Built-in Memory 


64K 


64K 


64K 


64K ! 


Typewriter Keyboard 


YES 
(66 Keys) 


YES 

(62 Keys) 


"CHICKLET" 
(62 Keys) 


YES 

(61 Keys) 


Upper/Lower Case 


YES 


YES 


YES 


YES 1 


Programmable Function Keys 


YES 


NO 


YES 


NO 



I AUDIO | 


Polyphonic Tones 
Music Synthesizer 
Hi-Fi Output 


YES 
YES 
YES 


NO 
NO 
NO 


YES 
NO 
YES 


YES 
NO 
YES 


VIDEO \ 


1 TV Output 
Video Monitor Output 


YES 
YES 


EXTRA COST 
YES 


EXTRA COST 
EXTRA COST 


YES 

YES [ 


INPUT/OUTPUT 


1 Intelligent J/O Bus 
RS-232 Communications 
"Smart" Peripherals 


YES 

YES** 

YES 


NO 

EXTRA COST 

NO 


NO 

YES** 
NO 


YES j 
EXTRA COST 

YES » 



'Prices shown are common retail and may vary slightly in different markets. 
•'Requires an adapter to operate. 



First you need the right input. 

Like $219. That's what the 
Commodore 64™ costs. It's about one third 
the price of the Apple lie™ or the IBM® PCjr™ 

And 64K. That's how much memory 
the Commodore 64 has. It's also how much 
memory Apple lie and the IBM PCjr have. 

This computer lesson is brought to you 
as a public service by Commodore (certainly 
not by Apple or IBM), the only computer 
company that can afford to show you a chart 
like the one above. 

But what you can't see above are the 




thousands of software programs that make 
the Commodore 64 fully capabJe of doing 
anything any "triple the price" computer can 
do; for fun or profit, for every member of the 
family; anything from soccer to spread 
sheets to space exploration. 

Because the Commodore is so 
affordable, you can load up on Commodore 
peripherals. Like a disk drive, a printer or a 
telephone modem. All together they cost just 
a tad more than an IBM PCjr by itself. With 
no peripherals. 

No wonder Commodore sells more 
computers than Apple and IBM combined. 

t commodore 

COMPUTERS 

IT'S NOT HOW LITTLE IT COSTS, 
IT'S HOW MUCH VOU GET. 

AUGUST 1 984 • BYTE 59 



"I just found the 
ideal solution to 
my telecomputing 
problems. Arid it's 
right here inside my 
IBM* PC Pius I got a 
free bonus to boot!" 




Hayes 

Smartmodem 1200B™ and 

Smaitcom II™ software. 

The complete, easy-to-use plug- 
in telecomputing system for the 
IBM® PC and compatibles. 

IIIIIIIIIIIIIIIIIIIIIIIIIIIL 

Looking for just the right telecomput- 
ing system for your PC? Hayes has it! 
Smartmodem 1200B and Smartcom II 
communications software. The most 
reliable and easy to use modem and 
software for your IBM PC or com- 
patible computer. At a great single- 
package value for you. And when 
you buy now, you'll also receive a 
valuable free offer. From Hayes, the 
telecomputing leader. 

Smartmodem 1200B, 
Your PC's telephone. 

Everything you need to communi- 
cate-computer to computer-is on 
one, convenientplug-in board. Smart- 
modem 1200B easily slides into an 
expansion slot of your PC (your dealer 
can install it in minutes). You're ready 
to send and receive information at up 
to 1200 bps. For speedy, economical 
transmission to personal computers, 
databases and information services 
throughoutNorth America. 

So what could make communica- 
tions easier? Smartcom II software, 
designed by Hayes specifically for 
Smartmodem and your PC! 

Smartcom II. 
Your Smartmodem's software. 

Smartcom II maximizes the out- 
standing capabilities of Smartmodem 
1200B. At the same time, it minimizes 
your effort. 

Thanks to Smartcom II's menu- 
driven ease, the first time out you'll 
be creating messages, sending and 
storing them to disk. Simultaneously! 
And when you're on the receiving 
end, your PC will do all the work, 
completely unattended. 

Circle 141 on inquiry card. 

Smartmodem 1200B and Smartcom II are trademarks of Hayes 

Microcomputer Products, Inc. 

IBM is a registered trademark of International Business 

Machines Corp. 

•Trademarks of COMPAQ Computer Corporation. Corona 

Data Systems. 'IeleVideo Systems. Inc.. Columbia Data 

Products. Inc.. and Direct. Inc. 

CompuServe Information Service is a registered 

trademark of CompuServe. Inc.. an HSR Block Company. 

Dow Jones News/Retrieval is a registered trademark 

of Dowjones & Company. Inc. 

OAG EE is a registered trademark of the Official Airline 

Guides. Inc. 

THE SOURCE. AMERICA'S INFORMATION UTILITY is a 

service mark of Source Telecomputing Corporation, a 

subsidiary of The Reader's Digest Association. Inc. 

©1984 Hayes MiaocomputerProducts. Inc. 



Smartcom II stores frequently called 



And we'll also send you a compli- 
mentary copy of Free Software for 
the IBM PC, a practical resource book 
that tells you now to access and 
download more than 600 varied soft- 
ware programs to your PC, with die 
help of your Hayes Smartmodem. 
And Hayes offers you this valuable 
guide free, when you purchase a 
Smartmodem 1200B/Smartcom II 
telecomputing package ! 

But remember. To take advantage 
of these great bonuses, you need to 
get moving fast! 

Get on-line with 
the telecomputing leader. 

See your computer dealer right away! 
Ana plug in to the exciting world of 
telecomputing. With Smartmodem 
1200B and Smartcom II. A smart buy 
for your IBM PC or PC compatible! 



system requires just a few quick key- 
strokes. And if you ever need it, 
on-line "help" is right there at your 
fingertips. 

A complete, 

plug-in telecomputing system 

for 9 popular PC models! 

Whatever your PC model Hayes 
has the definitive connection! 
Smartmodem 1200B and Smartcom 
II are compatible with the IBM PC, 
PC XT and PC Portable, COMPAQ 
and COMPAQ Plus, Corona, Tele- 
video Portable, Columbia VIP and 
DirectlPClOOO* 

Free introductory subscriptions. 
Free access time. 

Smartcom II comes with more 
"built-in" benefits, as well. Your Hayes 
telecomputing system includes intro- 
ductory subscriptions and access 
time to several leading information 
services! 

Sample a wide variety of practical 
services from CompuServefOAG EE® 
(Official Airline Guide), Dow Jones 
News/RetrievalfandTHE SOURCE. 3 " 
AMERICA'S INFORMATION 
UTILITY. 3 " A value of up to$200, free! 

Act now through August 311 
Get an additional $69 value free. 

Act right away, and you'll receive 
a free introductory subscription to 
CompuServe's Executive Informa- 
tion Service For accurate, up-to-the- 
minute investment information, as 
well as news, home shopping, travel, 
education services and more! Direct 
from CompuServe to your PC screen! 



Save this coupon! It's your ticket 

to a $69 value from Hayes. 

Offer good through August 31, 1984. 

Tb receive your free introductory subscription to CompuServe's Executive 
Information Service, and your complimentary copy of Free Software for the 
IBM PC: Complete this coupon and mail direct to Hayes with your Product 
Registration Card (inside your Smartmodem 1200B and Smartcom II package). 



Name 




Address 



City 



State 



Zip 



Date of Purchase 



Place of Purchase 



Mail to: Hayes Microcomputer Products, Inc., Dept. 1200B, 
5923 Peachtree Industrial Blvd., Norcross, Georgia 30092. 

The introductory offer for CompuServe's Executive Information Service includes a free subscription 
plus $15 worth of free connect time. 



B j 




PREVENT THE DISASTER 

OF HEAD CRASH AND 

DROPOUT. 



The war against dust and dirt 
never ends. So before you boot- 
up your equipment, and 
everytime you replace a 
cassette , disk or drive 
filter, besureto use Dust 
it counteracts dust, grit and lint. 
Otherwise you're flirting with 
costly dropouts, head crashes 
and downtime. 

Dust-Off II is most effective 
when used with Stat-Of f II. Stat- 
Off II neutralizes dust-holding 
static electricity while Dust-Off II 
blasts loose dust away. There's 
also the Dual Extender and Mini- 
Vac for vacuuming dust out of 
hard-to-reach places. 

Photographic professionals 
have used Dust-Off brand 
products consistently on 
their delicate lenses and 
expensive cameras for 
over ten years. They 
know it's the safe, dry 
efficient way to contami- 
nant-free cleaning. 





Cleaning not provided by liquid 

cleaners. 

Dust-Off II's remarkable 

pinpoint accuracy zeros in on the 

precise area being dusted. And 
you have total control — every- 
thing from a gentle breeze for 

Stat-Off II neutralizes dust-holding 
static electricity from media and 
machines. 

delicate computer mechanisms 
to a heavy blast for grimy dirt. 
Don 't let contamination dis- 
rupt your computer operation. 
Stock upon Dust-Off II— thead- 
vanced dry cleaning system, 
at your local computer or 
office supply dealer. 

Or send $1.00 (for 
postage and handling) 
for a 3 oz. trial size and 
literature today. 



Dust-Offll 

The safe dry cleaning system 

Falcon Safety Products, Inc., 1065 Bristol Road, Mountainside, NJ 07092 



ASK BYTE 



The latter has been improved and enhanced 
in a different format. A high-speed DMA 
(direct memory access) data rate of I micro- 
second per byte is provided, and it is compat- 
ible with DOS 3.3, Pascal I.I, and CP/M 2.2 
(with optional Z80 card). The A800 sells for 
$299.95. -Steve 

Dear Steve. 

I would like information on how to construct 
a mark sense punch-card reader or a source 
from which I could purchase one at a 
reasonable price 

I believe that card input would be more ac- 
curate for data entry than punching a set of 
keys. Also, keyboard entry is a large waste of 
"on time" for a system. 

Stephen Mizgala 
New York, NY 

Punch cards are an excellent way of feeding 
data to a computer if you can find them all 
punched with the correct data. After you've 
had the pleasure of punching a few hundred 
cards and checking them for errors before sub- 
mitting them to the computer, I'm sure you'll 
never again want to sit at a terminal typing 
in data and correcting it as you go. 

Seriously, though, if you want a card reader, 
used units are sometimes available on the 
surplus market. I found one listed for $34.50 
intheH&R March 1984 catalog. The catalog 
number is TM20K91 7, and the address is H&R 
Corporation, 401 East Erie Ave., Philadelphia, 
PA 19134. 

If punched tape turns you on, you can get 
a punch and a reader from John H. Meshna 
Inc., 19 Allerton St., Lynn. MA 01904. The 
catalog numbers are SPL 339A and LBXBI. 
The punch interfaces with an IBM Selectric 
typewriter that you can get for about the price 
of an inexpensive computer— Steve 

IBM PC # Memory S egments 

Dear Steve, 

All the material I've read regarding memory 
segmentation for the IBM PC states that each 
physical segment can be up to 64K bytes long. 
However, the sample device driver for an in- 
storage disk that is listed in the back of the DOS 
2.0 manual for the IBM PC defines a 1 80K-byte 
virtual-disk area contiguous to the code seg- 
ment. The program is initialized with the CS. 
ES. and DS registers all pointing to the code 
segment, and the virtual-disk area appears to 
be addressed using the "based and indexed ad- 
dressing" mode. How does this work? 

Curtis L. Jews 
Caithersburg, MD 

First, to make the answer to your question 
a little easier to understand, let's review the 
memory-addressing method used in the IBM 
PC. 

The PC uses the 8088 processor, which has 
the capability of addressing four segments of 
memory at the same time by putting the start- 
continued) 



62 BYTE • AUGUST 1984 



Circle 129 on inquiry card. 



This is THE PASCAL COMPILER 
You've Been Hearing About 




"It's, almost certainly better 

than IBM's Pascal for the PC. . , 

Recommended." 

Jerry Pournelle 

Byte, May 1984 



$49.95 



VERSION 2.0 



m 



If you don't have CP/M [for 

your Apple], Turbo Pascal is 

reason enough to buy it." 

Cary Hara 

Softalk Apple, May 1984 



tf If you have the slightest interest in Pascal . . . buy it " 

Bruce Webster, Softalk IBM, March, 1984 

And Now It's Even Better 
Than You've Heard! 

• 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) 

• Automatic Overlays 

• A Full-Screen Editor that's even better than ever 

• Full Heap Management— via dispose procedure 

• Full Support of Operating System Facilities 

• No license fees* You car* sell the programs you write with Turbo Pascal without extra cost. 

Yes. We still 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.* And, if you're running Turbo 
Pascal with the 8087 option, you'll never have seen a spreadsheet calculate this fast before! 

*Except Commodore 64 CP/M. 

Order Your Copy of TURBO PASCAL® VERSION 2.0 Today 

For VISA and MasterCard orders call toll free: 1-800-227-2400 x968 

In California: 1-800-772-2666 x968 

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



Choose One (please add $5.00 for ship- 
ping and handling for U.S. orders. Shipped 
UPS) 

Turbo Pascal 2.0 $49.95 + $5.00 

Turbo Pascal with 8087 support 

$89.95 + $5.00 
Update ( 1.0 to 2.0) Must be accom- 
panied by the original master $29.95 
+ $5.00 

-Update (1.0 to 8087) Must be 

accompanied by the original master 
$69.95 + $5.00 



Check __ 

VISA 

Card #: 

Exp. date: 



Money Order 

Master Card 



My system is: 8 bit 16 bit 

Operating System: CP/M 80 

CP/M 86 MS DOS PC DOS . 

Computer: 



») BORlAflD 

t» INTERNATIONAL 

Borland International 
4113 Scotts Valley Drive 
Scotts Valley, California 95066 
TELEX: 172373 



Disk Format: 

Please be sure model number & format are correct. 

Name: . 



Address: 

City/State/Zip: 
Telephone: 



California residents add 6% sales tax. Outside U.S.A. add $15.00 {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. D ^ 5 



Circle 326 on inquiry card. 

Less 

forlbiir 

Money 

If you do word processing on 
your personal computer, you 
probably know that there are 
many programs for sale to help 
you with your spelling. But the 
biggest spelling error you'll ever 
make is paying too much for your 
spelling correction software. The 
Random House ProofReader 
gives you less for your money - 
less trouble, that is, and fewer 
spelling errors. The Random 
House ProofReader is based on 
the world famous Random House 
Dictionary. It contains up to 
80,000 words, depending on 
your disk capacity. You can add 
new words with the touch of a 
key. It shows you the error and 
the sentence it's in. It instantly 
suggests corrections. It even re- 
checks your corrections. And it 
costs half as much as other 
programs with far less power. The 
Random House ProofReader is 
compatible with all CP/M 2.2®, 
MS-DOS® and IBM Personal 
Computer® systems. 




THE 




The 

Random 
House 
ProofReader 

$50 

For orders or information, see your local 
dealer or call (617) 967-4541. Master card 
and VISA accepted. Or write Wang 
Electronic Publishing, One Industrial Ave., 
Lowell, MA 01851. Please enclose $50 and 
specify your computer model, disk size 
and memory. 

Random House and the House design are registered 
trademarks of Random House, Inc. CP/M is a regis- 
tered trademark of Digital Research, Inc. IBM and IBM 
Personal Computer are registered trademarks of 
International Business Machines, Inc. MS-DOS is a 
registered trademark of Microsoft, Inc. 

64 BYTE • AUGUST 1984 



ASK BYTE 



ing address of each segment in one of the seg- 
ment registers. The four segments can start at 
any 20-bit address whose last 4 bits are zero, 
or in other words, on a paragraph boundary. 
Thus, a 20-bit address is specified complete- 
ly by multiplying the contents of a 16-bit seg- 
ment register by 16 and adding the offset in- 
to the segment as defined by the program. The 
multiplication isn't the programmer's job; it 
results from the hardware design that loads 
the segment registers in the high 16 bits of the 
20-bit address register before the offset is 
added. 

Each segment can be up to 64K bytes long. 
The usual arrangement is to put the program 
code in the segment designated by the CS reg- 
ister and the data in the segment starting at 
the address in the DS register. If a stack is re- 
quired, it is defined by the SS register, and the 
ES register can be used for data in addition 
to the DS segment. The ES register is usually 
used to identify the segment of the destina- 
tion address in string moves. These are used 
in the virtual-disk program to transfer data to 
the virtual disk. 

Now we get to the workings of the address- 
ing used in the DOS 2.0 virtual-disk program. 
The segment definition at the beginning of the 
vdsk procedure (line 69) sets the CS, DS, and 
ES registers to the same address, as you say. 
Equally significant, it does not define a stack 
segment. The result is that the constants and 
variables defined in the beginning of the pro- 
gram will be stored in the body of the pro- 
gram rather than in the virtual-disk storage 
area, and it also tells the assembler that we 
want to use the stack area defined by DOS. 
These segment definitions are, however, tem- 
porary. They get changed as soon as we want 
to address an area outside the program 
segment. 

Notice that around line 100, variables 
named VDISK__PTR and START_SEC are 
defined. These are used to point to the begin- 
ning of the virtual-disk area, and their values 
are changed as required to put data, into the 
virtual-disk area without overwriting files. To 
see how this is done, we can follow part of the 
procedure for writing a file. 

First, on entering the program by requesting 
a write operation, a jump to the procedure 
OUTPUT will occur: This routine determines 
how many sectors are to be written and the 
address of the starting sector, and it calls 
another routine called SECTOR_WRITE. This 
routine in turn calls CALC^ADDR to get the 
beginning address of the sector to be saved 
and loads this into the ES register. An offset 
address is then loaded into the Dl register to 
make the complete ES.Dl destination address 
for a string move. The DS and SI registers are 
also set in this routine to point to an area 
called the DTA (data-transfer area), which con- 
tains the data to be saved to the virtual disk. 

While this explanation leaves out a lot of 
detail about how this program uses variable 
segment boundaries on the fly to make use 
of large blocks of memory, I hope it will help 
you understand the program. As you can see 
from the description above, the general pro- 
cedure is to use an area in the code segment 



to calculate segment addresses for data- 
storage areas as needed and load these into 
the ES or DS registers as appropriate. The Dl 
and SI registers are used as described above 
for string moves, but for other types of storage 
or retrieval operations, any of the general- 
purpose registers can be used to hold the off- 
set address.— Steve 

Project Management 

Dear Steve, 

Do you know anyone who offers OGERT for 
the IBM PC? Reportedly, this software (code- 
size equivalent to about 1 0,000 IBM cards) was 
produced on the basis of work done by Alan 
B. Pritsker and can be used for personnel man- 
agement, hardware-project management, etc., 
similar to PERT. 

F. R. Cappelletti 
Washington, DC 

A survey of several current application-soft- 
ware listings reveals no mention of the use of 
Q-GERT on an IBM PC 

However, a number of software publishers 
offer other project and resource-management 
programs that can run on the PC under a wide 
variety of system configurations (operating sys- 
tems, memory, display, storage, etc.). These 
include 

Data* Easy Software 
877 Bounty Dr. #EE203 
Foster City, CA 94404 
(415) 571-8100 

Harvard Software Inc. 
Software Park 
Harvard, MA 01451 
(617) 456-3400 

McClintok Corporation 
9655 South Dixie Hwy #305 
Miami, FL 33156 
(305) 666-1300 

Earth Data Corporation 
POB 13168 
Richmond, VA 23225 
(804) 231-0300 

Morgan Computing Co. 

10400 North Central Expwy. #210 

Dallas, TX 75231 

(214) 739-5895 

Aha Inc. 

1475 Rodriquez St. 
Santa Cruz, CA 95063 
(408) 475-8705 

SoftCorp Inc. 

#1244, 2304 State Rd. #580 
Clearwater, FL 33575 
(813) 799-3984 

Peachtree Software 
3445 Peachtree Rd. N.E. 
Atlanta, GA 30326 
(404) 239-3000 

[continued) 

Circle 142 on inquiry card. —+ 



Build your own IBM PC compatible 
and save hundreds of dollars. 



ife# 



I 



Heath proudly announces 
the NEW HS-1 51 Desktop and 
HS-161 Portable computers. 

One of the world's largest software 
libraries has IBM's name on it. 
Now you can run that software on 
Heath's new IBM PC compatible 
computers, available in easy-to- 
build kits. 

Can you build one of these comput- 
ers? &5% of our first-time customers 
ask the same question. And the 
answer is 100% yes. You can. 
In fact, you should build one. You'll 
save a lot of money while learning 
about computers in general and the 
Heath PC's in particular. 
Build confidence... and your new 
computer... one step at a time. Two 
main circuit boards come to you 
pre-assembled and factory-tested. 
So that you can build the three other 
boards, we include a test soldering 
board plus helpful soldering instruc- 
tions to make sure you get it right. 
Our instruction manuals are easy to 
understand, thorough and packed 
with cogent illustrations. And once 
it's built, the computer guides you 



through a. full range of included disk- 
based diagnostics. 
Expert advice is only a phone call 
away, should you need it. You'll 
reach a trained consultant whose 
specialty is talking sense, not jargon. 
We'll do whatever's necessary to 
make our pledge come true: "We 
Won't Let You Fail." Our entire 
business depends on that 
... . simple promise. 

Experience a little won- 
der and a lot of pride. Save 
money, too, by building the high- 
est quality personal computer. The 
Heath PC's have 128K RAM stan- 
dard (expandable to 640K), a pro- 
fessional keyboard, dual 360K disk 
drives and optional Winchester. 
These machines are truly complete. 
Both are color capable and 
MS*-DOS is included. 
Check out the Heath PC computers 
today. IBM compatibility means 
they'll run the most popular soft- 
ware. And, with the money saved by 
building a kit, think of all the periph- 
erals and software you can buy! 



HS-151 Desktop 
PC with stan- 
dard floppy 
disk drive 
or optional 
hard disk. 



CIRCLE READER SERVICE 
CARD. Get more information on the 
most rewarding personal comput- 
ers. The HS-151 Desktop PC and 
HS-161 Portable PC. 

*MS is a registered trademark of 
Microsoft Corporation. 



For computing on the go... 
the HS-161 Portable. 




The HS-161 has the same features as 
the HS-151. Amber Monitor included. 
Convenient keyboard folds up, two 
disk drives fold down. 




omp 






ASK BYTE 



Quala 

23026 Frisca Dr. 
Valencia, CA 91355 
(805) 255-2922 

Primavera Systems 
29 Bala Ave. #224 
Bala-Cynwyd, PA 19004 
(215) 667-8600 

Scitor Corporation 



710 Lakeway #290 
Sunnyvale, CA 94086 
(408) 7300400 

In addition, you may be interested in a few 
BYTE articles dealing with PERT and CPM: 
"Programming PERT in BASIC" by Steven Zim- 
merman and Leo M. Conrad, May 1982, page 
465 and "Programming the Critical-Path 
Method in BASIC" by Steven Zimmerman and 
Leo M. Conrad, July 1982, page 378.— Steve 




Data Defenders by Ring 
King. They're the finest quality 
protection you can buy for the 
information you have stored 
on 5 1 /4" mini-diskettes and 
printout. 

The Ring King 070 Tray holds 
70 mini-diskettes in a tough 
copolymer shell with security 
lock. The; Ring King Flip File II 
binder holds 20 mini-diskettes 
and converts to a desktop 
index. Ring King Looseleaf Files 
are punched to fit standard 3- 



ring binders. Ring King Data 
Binders hold up to 8" of 9 1 /2"x 
11" or 14%" x 11" unburst 
printout. 

Ask for Ring King Data Defen- 
ders at your computer supply 
dealer Or send for our free, full- 
color catalog of computer sup- 
port products. Write Ring King 
Visibles, Inc., 2210 Second Ave- 
nue, P.O. Box 599, Muscatine, 
Iowa 52761 . For customer serv- 
ice, phone (800) 553-9647, in 
Iowa (319) 263-8144. 

DATA 
DEFENDER. 





Carri er;Cu RREnt Modem 

Dear Steve, 

I am in the process of building your power- 
line carrier-current modem (August 1983, page 
36). I have had no problems except locating a 
few of the components listed in the schematics. 
If possible, would you supply me the part 
number and manufacturers for the following 
components: 0.22-fxF. 600-V capacitor (line- 
coupling capacitor) and fused capacitor (line- 
to-line coupling). 

Fred Mathews Jr. 
Las Vegas, NV 

In this day and age of microelectronics, find- 
ing high-voltage capacitors is becoming more 
difficult. Few computer or electronics supply 
houses carry the 600-V capacitors used in my 
article on carrier-current modems. However, 
any electronics supply house that handles 
radio or television components will surely have 
the 0.22- pF, 600-V capacitor. A typical part 
number for such a capacitor is Sprague 6PS-22 
(orange drop-dipped tubular). 

The fused capacitor is exactly what it implies, 
a capacitor with a series fuse to provide pro- 
tection in case of capacitor failure. Since the 
current through the capacitor is small any low- 
value (l-amp) fuse will su/fr'ce.— Steve 

Teletype .Parts 

Dear Steve, 

1 have an old TDR33 leletype (an ASR33 with 
a paper-tape punch/reader). The tape reader 
has a few parts missing, and the feed wheel is 
broken. Is there any place to get parts for these 
old machines? 

Douglas Cook 
Exeter, NH 

Amateur-radio operators used Teletypes for 
radioteletype transmission long before their 
application to personal computers. While solid- 
state units are now more popular, there is still 
some interest in the older units. 

A scan through a recent amateur-radio 
magazine revealed the company Typetronics, 
POB 8873, Ft. Lauderdale, FL 33310. A self- 
addressed, stamped envelope will bring a list 
of parts, supplies, and gears. 

Also, Teletype parts may be available from 
Morris Precision Parts Co., POB 157, Morris 
Plains, NJ 07950, (201) 993-9669. -Steve I 



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

Ask BYTE 

do Steve Garcia 

POB 582 

Glastonbury. CT 06033 
Due to the high volume of inquiries, personal 
replies cannot be 'given All letters and photo- 
graphs become the property of Steve Garcia and 
cannot be returned. Be sure to include "Ask 
BYTE" in the address. 



66 B YTE • AUGUST 1984 



Circle 82 on inquiry card. 



CLUBS & NEWSLETTERS 



• MODUS OPERAND/ 
MODUS, the Modula-2 Users 
Association, first met in Zurich. 
Switzerland, as part of the 8th 
International Conference on 
Programming Languages and 
Program Development. It is 
made up of a nucleus of institu- 
tional and corporate charter 
members that includes the ETH 
Institut fur Informatik (Zurich), 
Volition Systems Inc. (Del Mar, 
California), the Modula Research 
Institute (Provo, Utah), and 
Logitech Inc. (Palo Alto, Califor- 
nia, and Appels, Switzerland). 
MODUS plans to produce a 
quarterly newsletter, Modula-2 
News. Although the association 
has offices in Zurich, contact 
MODUS, c/o the Pacific Systems 
Group, POB 51778, Palo Alto, 
CA 94303. 

• EPSONS IN BRITAIN 

The HX-20/QX-10 (International) 
Users Group, specializing in in- 
formation about Epson prod- 
ucts, enables members from 25 
countries to exchange informa- 
tion on peripherals and soft- 
ware via its monthly newsletter. 
Members are offered introduc- 
tory prices on items premiered 
in the newsletter and can fur- 
ther benefit from educational 
articles, program listings, and 
free software bonuses. Members 
can also exchange programs 
and ideas via an electronic mail 
facility, the Closed-User Group 
Network, on Telecom Gold. In 
addition, the group provides 
consultants who. for a moderate 
fee, give demonstrations to 
Epson end-users. Contact 
Terence L. Ronson, HX-20/QX-10 
(International) Users Group, 2 5 
Sawyers Lawn, Drayton Bridge 
RcL London W13 OJP, England. 

• HEATH USERS IN LEHIGH 
VALLEY. The Lehigh Valley 
Heath Users Group (LVHUG) 
welcomes all Heath/Zenith users 
to join the newly formed club. 
The meetings are informal 
gatherings held at Lehigh 

• University at 1 p.m. on the last 
Saturday of every month. Up- 
coming plans include selection 



of club officers and determina- 
tion of dues to cover postage 
of a monthly newsletter, which 
is presently distributed at the 
meetings. The newsletter covers 
minutes of the last meeting, 
goals of the club, and sug- 
gested future presentations. An 
exchange column is planned for 
members who wish to exchange 
their equipment. At this time, 
no dues have been set. Call 
Carol Bloch for details at (215) 
770-4640, or contact lames 
Batug, LVHUG. 142 5 North 
Broad St.. Allentown, PA 18104. 
(215) 770-5993. 

• CLASSROOM CREATIVITY 
Creative Wore/ Processing in the 
Classroom is for educators who 
want to explore the use of com- 
puters in developing children's 
reading and writing skills. The 
three annual editions— fall, 
winter, and spring— have color- 
coded sections relevant to ad- 
ministrators, librarians, and 
teachers of kindergarten 
through grade 12. Lessons, 
discussions of hardware and 
software, and articles on educa- 
tional theory are written by 
educators with experience in 
several computer-assisted 
creative-writing projects. A 
subscription is $9 a year. Write 
to Creative Wore/ Processing in the 
Classroom. Suite 365. 2210 
Wilshire Blvd., Santa Monica. 
CA 90403. 

• LEGAL REVIEW 

The Computer law Newsletter, a 
publication from Delphi Data of 
Riverside, California, is a con- 
cise review of legal issues in the 
rapidly changing software in- 
dustry. It reviews current cases 
and offers suggestions about 
protecting computer software, 
acquiring rights to software, and 
marketing software. A subscrip- 



tion to the bimonthly publica- 
tion is $96 for one year. Access 
is available via modem at no 
extra charge. For details, contact 
Clyde Sparks, 3425 Meadow- 
view Dr.. Riverside. CA 92 503. 
(714) 689-7408. 

• A LEGACY FOR JUNIORS 
The first bulletin-board service 
(BBS) for use exclusively by 
owners or potential owners of 
the IBM PCjr is open 24 hours 
a day at (402) 466-8114. Legacy 
Technologies Ltd. of Lincoln, 
Nebraska, is offering the public 
service as a forum for the ex- 
change of technical and general 
information about the PCjr. Both 
technical and nontechnical users 
can communicate with other 
users, dealers, and distributors. 
Questions can be answered by 
Legacy engineers within 24 
hours. Contact Greg Brehm, 
Legacy Technologies Ltd.. 4817 
North 56th St., Lincoln. NE 
68504. (800) 228-72 57; in 
Nebraska. (402) 466-8108. 

• MAC NEWS OF SAN DIEGO 
The San Diego Macintosh Users 
Group meets on the fourth 
Wednesday of every month. 
Membership is free, but to 
receive the monthly newsletter, 
San Diego Mac News, you must 
pay a subscription fee of $15. 
The newsletter is prepared and 
produced using a Macintosh. 
Columns include the Chairman's 
Corner, Editors Note, Minutes, 
and a Gallery. Articles, drawings, 
letters, or other contributions 
related to the Apple Macintosh 
or Lisa are welcome. For further 
details, contact the San Diego 
Macintosh Users Group, POB 
12561. La Jolla. CA 92037. 

• FREE ADVICE FOR USER 
GROUPS. A monthly help col- 
umn is available to all user 



CLUBS & NEWSLETTERS is a forum for letting BYTE readers know what is hap- 
pening in the microcomputing community. Emphasis is given to electronic bulletin-board 
services, club-sponsored classes, community-help projects, field trips, and other activities 
outside of routine meetings. 0/ course, we will continue to list new clubs, their ad- 
dresses and contact persons, and other information of interest. To list events on schedule, 
we must receive your information at least four months in advance. Send information 
to BYTE. Clubs & Newsletters. POB 372. Hancock. NH 03449. 



groups for the price of the 
postage. The columnist offers 
help for frustrated users and 
guarantees a reply on questions 
about CP/M. Pascal, UNIX, 
XENIX, WordStar, MailMerge, 
programming techniques, and 
criteria for selecting software 
and microcomputers. For de- 
tails, write B. Bhavisyat, Land of 
the Blind, Route I, Box 318. 
Moundsville, WV 26041. 

• MAC SUPPORTS THE COM- 
MUNITY, The founder of Club 
Mac offers a free Macintosh 
communications program, a 
monthly newsletter, access to an 
on-line idea exchange, and a 
professionally staffed help line. 
Current or prospective Macin- 
tosh owners, software or 
peripheral vendors, Mac artists, 
and other interested persons 
can join by sending $3 5 in an- 
nual dues to Club Mac, 73 5 
Walnut, Boulder, CO 80302, 
(303) 449-5533. 

• FIND OUT HOW 

The Computer Analyst & Pro- 
grammers Association (CAPA) 
consists of professional people 
working with computer hard- 
ware and software. Practical 
guidance is submitted by 
members to improve program- 
ming languages, operating sys- 
tems, system documentation, 
and input/output (I/O) devices. 
The focus is on CP/M, MP/M, 
MS-DOS operating systems. 
BASIC, Pascal. FORTH, and 
hardware-interfacing capability. 
For information, send a self- 
addressed stamped envelope to 
CAPA, POB 5762, Rockford, IL 
61125-0762. 

• CO-OP ITEMS FOR EPSONS 
The National Epson QX-10 
Users Group (EUG) produces a 
bimonthly newsletter that lists 
items that can be bought at a 
discount by members, contains 
numbers of public BBSs for the 
Epson QX-10 that span the con- 
tinental U.S., and provides news 
and comments on topics of in- 
terest to Epson users. The 

[continued) 



AUGUST 1984 • BYTE 67 



You can now run the famed Gosling EMACS on your VAX, 
Sun, Pyramid, Cyb, Callan, Masscomp, Integrated Solutions, 
Apple Lisa, Pixel, Charles River Data, Perkin Elmer, Dual, 
Momentum, Cadmus, Tandy Model 16, NCR Tower, Fortune, 
Apollo, HP9000 and the list goes on! 

UniPress Gosling EMACS: The famous multi-window full- 
screen editor. Edit several files at once. Interprocess com- 
munication on UNIX and VMS. Extensible via macros and 
the built-in compiled MLISP language. 
UniPress Gosling EMACS: The ultimate programmer's 
tool: C, Pascal and MLISP language assist. EMACS 
manages execution of Unix makefiles, and automatically 
points to lines containing errors in the source code. Keys 
can be bound as desired, macros can be named, customized 
MLISP routines can supplement the many included 
packages, and much more! 

UniPress Gosling EMACS: Use EMACS as your session 
manager— Divide your screen into a "shell window" to run 
commands, and one or more source file windows. 
UniPress Gosling EMACS: Runs under Unix 4.1/4.2, 
System lll/V and Version 7. VMS and MS-DOS too! 
PRICES: UNIX: $395/Binary; $995/Source 
VMS: $2500/Binary; $7000/Source 
MS-DOS: $375/Binary; $995/Source 
(Requires at least 384K) 
Call us with your hardware type. 

ALSO NEW! MINIMACS- Special efficiency-conscious 
EMACS for Unix. Runs on a wide range of hardware types. 
MINIMACS: Faster and smaller version of the famed 
Gosling Emacs. Its features include full screen editing, 
multiple windows allowing several files to be edited 
simultaneously, full EMACS keybindings, macro capability 
and many more powerful Emacs features, such as com- 
mand output being directed to a window. 
MINIMACS: Minimizes your resource load and is much 
smaller than the vi editor. 
Price: $375/Binary; $795/Source 



UNIPRESS OFFERS A FULL LINE OF 
SOFTWARE FOR UNIX, VMS AND MS-DOS. 



Lattice® C compilers to the 8086-family; both native and 
cross. Write programs on your mainframe for execution on 
the IBM-PC, etc. (Cross compilers for UNIX and VMS.) 

Window Shell: Multiple windows on any CRT! 

Q-C ALC • Lex • Phact • /RDB • The Menu System • UniCalc 

• Full UNIX System V Operating System for the Apple Lisa 

• and much more powerful software. 

Call or write for more information. 

UniPress Software, Inc. 

2025 Lincoln Highway, Edison, NJ 08817 

201-9853000 • Order Desk: 800-222-0550 (outside NJ) 

Telex: 709418 

Mastercard and Visa 

EMACS and MINIMACS are trademarks of UniPress Software, Inc. • Unix 
is a trademark of Bell Laboratories • VMS is a trademark of Digital 

Equipment Corp. • MS-DOS Is a trademark of Microsoft 

• Lattice C and UniCalc are registered trademarks of Lattice Inc. 

• IBM-PC is a trademark of IBM. 



CLUBS & NEWSLETTERS 



membership dues are $2 5 per 
user; $15 per student user. For 
information, contact EUG, Box 
1076. Lemont. PA 16851. (814) 
237-5511. 



• LIBRARY MICROCOMPUTER 
DATABASES. The Public Library 
Association lask Force on the 
uses of microcomputers in 
public libraries is compiling na- 
tional and regional databases of 
library microcomputer users. 
For details, contact Phil Clark, 
216 South 4th Ave. Highland 
Park. NJ 08904. 



• 6809 PEOPLE UNITE 
People with an interest in 
MC6809 machine code and the 
6809's hardware applications 
can join a user group that is 
based in England but welcomes 
an international audience. The 
bimonthly newsletter will cost 
£75 and will feature software 
and hardware sections, an 
assembly-language course for 
updates, advertisements, letters, 
and articles of interest to 6809 
enthusiasts. For details, contact 
Paul Hill. 28 Woburn Rd.. 
Launcestoa Cornwall PL15 7HH. 
England. 



• HERO ROBOTS ORGANIZE 
The Hero Resource Exchange is 
an organization for the benefit 
of Hero I owners to exchange 
information, programs, and 
ideas about their robots. For 
details, contact Walter Glod Jr., 
10802 Condrey Ridge Court. 
Richmond, VA 23236. 



• EVENS AND ODDS OF 
SECAUG, The South East Con- 
necticut Apple Users Group 
(SECAUG) meets at 7:30 p.m. 
every month. In odd-numbered 
months, the group meets every 
third Thursday at the Groton 
Public Library; in even- 
numbered months, it meets 
every third 'Iliesday at the 
Mohegan Community College in 
Norwich. Special-interest groups 
include DOS, machine language, 
and BASIC programming. The 
group maintains a library of 
public-domain software in disk 
format and produces a monthly 
newsletter, Statements, a subscrip- 
tion to which is included in the 
$20 annual membership fee. For 
details, contact Warren Nord- 
gren. 42 'lerry Rd., Gales Ferry, 
CT 06335. (203) 464-9372. 



• MALDEN CATHOLIC HS 
ACTIVITY. Students at the 
Maiden Catholic High School 
and members of the Maiden 
Catholic Computer Club pro- 
duce the MC Microcomputer News 
six times during the school 
year. Although the focus is on 
Radio Shack's TRS-80 Models III 
and 4. the newsletter also 
covers Apple Logo, BASIC pro- 
gramming tips, printer informa- 
tion, a glossary, and suggested 
periodical readings. Readers are 
encouraged to contribute com- 
ments and criticism. Newsletter 
exchanges are welcome. For fur- 
ther details, contact MC 
Microcomputer News. Maiden 
Catholic High School. 99 Crystal 
St.. Maiden. MA 02148. 



• SOFTWARE LAW UPDATE 
The coverage of Software Protec- 
tion, a monthly publication, in- 
cludes international develop- 
ments and software-licensing 
law relevant for software vend- 
ors, users, and legal advisors. 
The expanding editorial board 
is international. A sample copy 
is $5; a year's subscription is 
$72; and $90 covers airmail out- 
side the U.S. For further infor- 
mation, contact Law & Tech- 
nology Press, 1112 Ocean Dr. 
#201, Manhattan Beach, CA 
90266. 



• BILINGUAL MEDICAL JOUR- 
NAL, Micromed. devoted to 
practical applications of micro- 
computers in medicine, is a 
nonprofit, independent group 
that produces a monthly news- 
letter in English and Italian. Ex- 
changes with other newsletters 
are welcome. The $10 member- 
ship fee outside Italy covers the 
cost of printing and mailing. For 
details, contact Francesco Di 
Girolamo, V.le della Rimem- 
branza, 2 5, 66034 Lanciano. 
Italy. 



• EPSON USERS UNITE 
An international Epson users 
group provides access to a 
remote BBS throughout the 
country. The 32-page monthly 
newsletter, EpsonConnection. will 
contain information on forming 
regional groups for Epson 
users. The annual fee is $24. 
For details, contact Carolyn Mc- 
Carthy, EpsonConnection. POB 
14027. Detroit. MI 48214. (313) 
822-0090. ■ 



68 B YTE • AUGUST 1984 



Circle 312 on inquiry card. 



WHY INVEST**© IN MODULA-2 ? 
BECAUSE YOU'RE COMPETING WITH PEOPLE 



IS THE ONE THEY ALREADY KNOW. 



Whoever decided to make the switch 
from Roman numerals to a more efficient 
notation fordoing arithmetic should be a 
hero. His friends probably reacted as if 
he'd asked them to learn a whole new \ 
language. We think you'll see the parallel 
with Modula-2, epecially after you try it. 

Niklaus Wirth, creator of Modula-2, 
asserts that Modula-2 is an abstract tool 
for the construction of computing 
machinery: "In my opinion, the term pro- 
gramming language is ill chosen and 
misleading. Program nofa//on would be 
eminently more appropriate." 

We're not proposing that you learn a 
"new language." That would be like argu- 
ing the merits of English versus French. But 
it does make sense to avail yourself of the 
most efficient known technology for con- 
trolling computing machinery-while your 
competition is left in the dark ages. 

Compared to Modula-2, whatever pro- 
gram notation you're now using is like 
doing your arithmetic in Roman Numerals. 

In this limited space, we won't try to 
prove that Modula-2, is the best available 
competitive tool for the serious computer 
entrepreneur. "Such matters," according to 
Frank Herbert (DUNE), "can only be tested 
in the crucible of survival, not in the play of 
symbols." 

The question is, for $90, can you afford 
not to test our claim? No other company in 
history has made it as easy for you to do 
business. Ouraitire object-program 
licensing agreement is on this page. So 
put some distance between yourself and 
those who believe the best programming 
method is the one they already know. 

MODULA-2 COMPILERS FOR IBM PCs, 
MACINTOSH, LISA AND lls-$90 

Modula-2 compiler and interpreter with 
enhanced, bit-mapped graphics, inter- 
rupts, and extended-memory support are 
supplied on diskette for Apple's Lisa, 
Macintosh and II computers; IBM's PC, 
XT and compatibles (MS-DOS 2.0); and 
others soon to be announced, including 
68000 systems under UNIX. Documenta- 
tion is on diskette. Compiler and library 
sources are available under separate 
license. 



PASCAL-TO-MODULA-2 C0NVERTER-$100 

Invaluable to all who have Pascal invest- 
ments, or whose Pascal programs gener- 
ate too much code to run on the Apple lis, 
it will run on any of the mentioned 
systems. 

MODULA-2 ACCELERATOR CARDS FOR 
IBMANDAPPLE-$245 

If you don't want to waste the memory 
and goto a full, compiled Modula-2, our 
accelerator cards increase execution 
speed of our modified Modula-2 inter- 
preters by a factor of four. Accelerators 
are available for the Apple lis, and the 
IBM PC, XT and compatibles. 

THE IDEAL MODULA-2 ENGINE 

We'd love to introduce you to the Lilith. 
It's a workstation computer with bit-map 
graphics, three-button mouse and a bit- 
slice processor. The Lilith was designed 
by the original Modula-2 team at the 
Swiss Federal Institute of Technology 
(ETH) as the ideal Modula-2 engine. Over 
200 have been placed into academic 
and research environments. Now Modula 
Corporation makes a commercial version 
for your more demanding problems. Just 
call 800/UUTH2to hear about customer 
benchmark reports. 

OBJECT PROGRAM LICENSE 

Join us in a commitment to personal 
integrity. Our prices are fair. Unlike pro- 
gram license agreements you can't help 
but violate, we've tried reTHINKing a few 



things. Perhaps we can start a trend that 
makes violation of another's intellectual 
property unfashionable Without all the 
"whereas" and "herewith" language, 
here's our attempt to transfuse integrity 
into the entrepreneurial bloodstream: 

You are t o treat t h e information w e send you a s i f it 
were a book, with the exception that you are granted the 
right to make backup copies. Simple, Pournelle logic! 

In the spirit of the "book" analogy, you are free to 
take your book to another house (or computer) with 
you. This, of course, means someone at your own 
house (or computer) cannot simultaneously read it. 
Similarly, you can loan your book to a friend. But there 
can be no possibility you can read it at the same time. 
You may sell your book, only if the new owner agrees 
to these same conditions (which means a copy of this 
agreement, signed by the new owner, must be sentta 
us). Finally, just as in a book, it lacks integrity to 
substitute your name for the name of the legitimate 
author. 

As for our warranties: Defective software may be 
returned within thirty days for replacement. But just like 
any other self-help book, its value to you is what you 
make of it. No malter how badly it damages your life, 
or that of your customers, we're not obligated ta do 
anything whatsoever about it. 

Now, it's time to play "How'd-you-like- 
to-see-something-ra7///-scary?"When 
you send us your check or credit card 
authorization, enclose this page (or a 
copy) with an original signature. Violate 
this agreement of integrity, and you'll get 
a doozer of a course in integrity at the 
claws of our attorneys; and they'll tell 
your mother. 

MODULA 

CORPORATION 

reTHINK 

950 N. University Ave., Provo, UT 84604 
801/375-7400 or 800/LILITH2 



In addition to information on the Lilith, 

□ Please send me the Modula-2 Compiler at $90 for the □ IBM PC or XL or the Apple □ lis, □ Lisa or 
the □ Macintosh. 

□ Please send me the Pascal-to-Modula-2 Converter at $100 for the D IBM PC or XT, or the Apple □ lis, 
D Lisa or then Macintosh. 

□ Please send me the Modula-2 Accelerator at $249 f orthe □ Apple II or the □ IBM PC orXT, (Note: You 
must also have ordered the modified compiler below.) 

□ Please send me the Modula-2 Compiler; for use with trie accelerator at $40. 
Utah residents include 6% sales tax. 

$10 handling and shipping is included for all orders. 

$ Total amount enclosed/authorized. 

My signature below, besides being a possible credit card authorization, indicates my agreement to all 
the above terms. 



□ My check is enclosed 

□ Please bill my □ VISA/D MASTERCARD 






Cord number 




Expiration 


Signature 




Dote 


Print/type full name 


Title 




Company 


Phone 




Address 



City 



State 



Zip 



© 1984 by Modula Corporation. Apple" Apple Computer Inc., IBM" IBM Corp., MS-DOS Microsoft Corporation, UNIX" Bell Laboratories, Inc. Advertising copy by Genghis. 
Circle 223 on inquiry card. AUGUST 1984 -BYTE 



69 



D san is a registered trademark of Dysan Corporation. © 1984, Dysan Corporation. 



Somebody 
has to be better 

than everybody 

else. 



It's inevitable. 

Somebody is always more determined. 
Works harder. And winds up on top. 

Take Dysan, for instance. 

We were the ones who helped 
develop the first 5 l A ff flexible diskette. 

And while everybody else was trying 
to figure out how to make them, we 
were busy making them better. 

With superior materials. A special 
lubricant and jacket liner that extend 
diskette life. 

Unique manufacturing techniques. 
Like our burnishing process that helps 
eliminate read/write errors. 

And an almost fanatical corporate 
commitment to quality 

What does all this mean to you? 



Every Dysan diskette you buy will 
record and retain all your data all the 
time. For as long as you own the diskette 
and treat it right. 

Dysan. 

We're not just like everybody else. 

Dysan 5 l A n and 8" flexible diskettes 
are available at your computer products 
dealer. 

Call toll free for the name of the 
Dysan dealer nearest you. (800) 551-9000. 

Dysan Corporation, 5201 Patrick 
Henry Drive, PO. Box 58053, Santa Clara, 
CA 95050, (408) 988-3472. 



Dysan 



Circle 116 on inquiry card. 



® 













Condor's 

IBM™ PC-compatible file management software is 
one of the easiest and most complete MENU 
assisted file managers today, and for just $195. 

Would you buy a file manager that can't add two numbers? Of course 
you wouldn't. PFS FILE™ contains no arithmetic capability and can't 
even balance a checkbook! 

Condor jr. offers all the benefits of PFS FILE™ plus the ability to easily balance your check- 
book, total your purchase orders, average grades and even monitor your tax deductible 
expenses. This is in addition to your normal mailing list and other file management tasks. 
Unlike PFS FILE ™, Condor jr. also offers report writing at no additional cost. 

Condor jr. allows you to upgrade to Condor3 and save money as your needs grow. You can 
move to a fully relational database without redoing your system. A $195 discount off Condor3 
also makes it easier. 
Since Condor has years of data management experience — we have a proven growth path 
for you. Condor jr. has been especially designed for the first time 
user. Not surprisingly, it is designed directly from Condor 3 — a 
fully relational database that is being used in over 100,000 
businesses today. 
To find out more about Condor jr. and the demonstration- 
pack software, see your personal computer dealer, or call 
1-800-221-8479 (in Michigan call 
0-313- 769-3992 collect) for the dealer nearest you. 

IBM is the registered trademark of International Business Machines Corp. 
PFS File is the registered trademark of Software Publishing Corp. 

Circle 77 on inquiry card 



2051 South State Street Ann Arbor, Ml. 48104 313-769-3988 



BOOK REVIEWS 



PROGRAMMING 
IN MODULA-2 
Niklaus Wirth 
Springer-Verlag 
New York: 1983 
176 pages, $16.95 

THE ELEMENTS OF 
FRIENDLY SOFTWARE 
DESIGN 
Paul Heckel 
Warner Books 
New York: 1984 
224 pages. $8.95 

THE ABC'S OF 
DEVELOPING SOFTWARE 
Sheldon D. Softky 
ABC Press 
of Silicon Valley 
Menlo Park. CA: 1983 
144 pages, $13.95 

THE PROGRAMMER'S 
CP/M HANDBOOK 
Andy Johnson-Laird 
Osborne/McGraw- Hill 
Berkeley. CA: 1983 
500 pages. $21.95 



Programming in Modula-2 
Reviewed by David D. Clark 




User friendliness is one approach discussed in a review of two books 
on software design this month. 



By now, everyone has heard about 
Niklaus Wirth's new language, 
Modula-2. You've probably also heard 
that it will be the programming language 
of choice in the near future, replacing 
Pascal and preferred over Ada. For these 
predictions to come true, however, peo- 
ple have to learn the language. Niklaus 
Wirth's book, Programming in Modula-2, is 
designed to teach programmers the fun- 
damentals of the language. 

Professor Wirth describes the ra- 
tionale behind the development of 
Modula-2 in the book's preface: 

In 1977. a research project with the 
goal to design a computer system (hard- 
ware and software) in an integrated ap- 
proach, was launched at the Institut fur 



Informatik of ETH Zurich. This system 
(later to be called Lilith) was to be pro- 
grammed in a single high-level language, 
which therefore had to satisfy the require- 
ments of high-level system design as well 
as those of low-level programming of 
parts that closely interact with the given 
hardware. Modula-2 emerged from care- 
ful design deliberations as a language 
that includes all aspects of Pascal and ex- 
tends them with the important module 
concept and those of multiprogramming. 
Since its syntax was more in line with that 
of Modula than with Pascal's, the chosen 
name was Modula-2. 

The text of the book was prepared in 
camera-ready form using a Lilith mini- 
computer and printed with a laser 
printer. All of the programs to format 



the text, control, and interface 
to the printer were also writ- 
ten in Modula-2 on a Lilith. 

Structure 

The book is divided into five 
parts followed by the 
technical Modula-2 report 
(mentioned later in this 
review in more detail), two 
appendixes, and an index. 
The first nine chapters 
describe the basic concepts 
of variables, expressions, 
statements, and simple data 
types. Although the preface 
states that the book is in- 
tended for persons with 
some knowledge of pro- 
gramming, in several in- 
stances it goes into detailed 
discussions of very elemen- 
tary concepts, explaining, for 
example, that the order in 
which statements are ex- 
ecuted affects the outcome 
of a calculation. 

The next five chapters ex- 
plore the concept of the sub- 
program or procedure. This 
second part starts with an ex- 
planation about breaking 
down a large problem into simple parts, 
which can be further subdivided, it is 
this process of stepwise refinement, of 
yielding simple tasks that can be imple- 
mented in single procedures, that is the 
power in any programming language. 
The reader is also introduced to the 
ideas of locality or scope, recursion as 
a programming strategy, and the 
methods of transferring parameters and 
results to and from procedures. 

The third logical division of the text 
begins with chapter 1 5 and covers the 
concepts of data type and structure. In 
a general sense, the purpose of com- 
puter programs is to perform some 
useful transformation on some piece of 

(continued) 



ILLUSTRATION BY RANDALL ENOS 



AUGUST 1984 -BYTE 73 



BOOK REVIEWS 



data. Using an appropriate data struc- 
ture facilitates the implementation of a 
program from such a transformation. 
One of the great strengths of Pascal, 
and now Modula-2, is the richness of 
this capability. This section of the text 
describes the data-structuring facilities 
clearly and completely. 

Overview 

The first 22 chapters can be skimmed 
by an experienced Pascal programmer 
with little chance of missing anything 
important. Modula-2 has several 
changes in syntax from Pascal, usually 
well-designed extensions and refine- 
ments. With the exception of some in- 
teresting examples, though, we've seen 
it before. 

The really interesting stuff begins with 
the exposition of modules in chapter 
23. Modules, familiar to people already 
acquainted with UCSD Pascal UNIT or 
Pascal Plus's ENVELOPE, provide a 
means of grouping related tasks into 



separately compiled pieces for inclusion 
in libraries. This capability to logically 
group related procedures further 
enhances the process of stepwise re- 
finement. 

After presenting the module in 
various forms, the book provides ex- 
amples for the implementation of com- 
mon tasks such as character input/out- 
put (I/O) from video terminals and file 
stores. As with the C programming lan- 
guage, I/O is not explicitly provided for 
by the language. This is because it is 
such a hardware-dependent activity. To 
be complete, each implementation 
should provide a library of modules 
containing procedures and data types 
to perform the functions required. 

The chapter on screen-oriented input 
and output is one of the most interest- 
ing in the book. It presents definition 
modules for line-drawing primitives, a 
mouse handler, and a window handler. 
As an aside, the Lilith minicomputer, on 
which Modula-2 was the systems' pro- 



gramming language, has a high-resolu- 
tion, bit-mapped display that is perfect 
for graphics-intensive applications. 

Details 

In demonstrating the use of the line- 
drawing primitives, Professor Wirth 
returns to an example presented in one 
of his previous books, Algorithms + Data 
Structure = Programs (Prentice-Hall, 1976). 
The program generates a Sierpinski 
curve. This program was used to il- 
lustrate recursive techniques in the 
older book. The algorithm employs four 
mutually recursive procedures (A, B, C, 
and D). 

The program in the older book, which 
was written in Pascal, would not com- 
pile because some of the procedures 
had not been previously declared. To 
remedy the situation. Pascal provides a 
FORWARD statement. The situation in 
Modula-2 is slightly different; all objects 
at the same scope level are known to 

[continued) 




POWER 



THAT WON'T 
QUIT! 

199 00 



DC-AC CONVERTER: #PS400 

Great for mobile computer applications. 
Sincwave output. 
3 separate grounded outlets. 
1 10V @ 4A output. 
12 VDC input 

All loads up to 400W combined (IE computer, printer, monitor). 
Filtered + Bypassed. 
Make Your Portable Computer Truly Portable. 



POWER BASE: #B400 



199° 



Provides uninterruptable power source for converter. 

Gives up to 30 min. backup if power fails. 

No power on switching time. 

Continuous on line operation. 

Status indicators. 

Auxiliary battery input. 

Fan cooled. 



UNINTERRUPTABLE PS: #UPS400 



299 



00 



Combines DC-AC converter with power base to make an 
uninterruptable power supply for your computer system. Will run 3 
loads up to 400W. Measures just 6"x 9"x 12". 




10MB 4 " 

■ \J U COMPLETE* 



COMPLETE #TD10 

(INTERNAL MOUNT) 
HD Backup • May be used like a 1 0MB Floppy! 
Single File Access • Inexpensive Rcmovcablc Media 
Auto Loading • Slrcaming Tape Mode 
Installs in a single Vi high 5 '/a" floppy slot 
Optional Standalone package' 

Low Power consumption + 12v @ .5avg, +5v @ .5avg 
For IBM, Apple 2 , Atari', and many others. 
THE MOST COST EFFECTIVE MEMORY YET! 



(1) Cabinet, Cables, PS #Kii 99.00 

(2) Requires Special Controller tfUDC 99.00 

(3) Requires Expansion Box 



INFORMATION & OROERS (209) 295-4014 



PS400 199.00 

B400 199.00 

UPS400 299.00 
TDI0 499.00 

Kit 99.00 

UDC 99.00 

INTERSTAR CORP. 
Box 2008 
Pioneer, CA 95666 



NAME ________^^ 

COMPANV . 

ADDRESS 

CITY>S1ATE(ZIP 

Cheek American Eipresi 
CARD. 



CIA, COD. COMPANV P.O. (OAC) 



74 BYTE • AUGUST 1984 



Circle 317 on inquiry card. 




COMPUTERS 



ALTOS 

586-20 (8086, 512K, 5 Users. XENIX/RT, 20 MB 

Hard Disk & 1 Floppy) SCall 

986-40 (9 Users, 42 MB) SCall 

COLUMBIA 

1600-1 (128K, 2 Drives) SCall 

1600-4 (10 MB Hard Disk) SCall 

1600-VP (Portable) SCall 




COMPUPRO All Models SCall 

CORONA Desktop & Portable PCs . ... SCall 

DIRECT PC (128K, 2 Drives, 12" Amber) . $2425 
EAGLE 

PC-Plus 2/PC-Plus XL SCall 

Spirit-2/Spirit-XL SCall 

Turbo-XL (8086, 256K, 10 MB) $3995 

FRANKLIN 

CX Series (NEW! Apple DDS, MS-DOS, CP/M) SCall 

ACE 1200 OMS (6502/Z80B, 2 Drives, WordStar, 

MailMerge.ACECalc) SCall 

ACE 1200 OMS 10 Pkge (10 MB Hard Disk) $2449 

FUJITSU MICRO 16S (8086/Z80A) SCall 

INTERTEC 

HeadStartVPU 512 (Z80A/8086, 512K) . . . $Call 

HeadStart VPU 1000 (1 MB RAM) SCall 

NEC 

PC-8201A (w/ 16K RAM) $479 

PC-8801A (Z80A, 64K. 2 Drives. 12" Monitor, 

WordStar. MailMerge, Multiplan, NBASIC) $1199 

PC-8801-16 (Optional 8086 w/ MS-OOS) . . SCall 
SANYO 
MBC 550-2 (8088, 128K, 1 OSOO Drive (360K), 

WordStar, CalcStar, EasyWriter) SCall 

MBC 555-2 (550-2 Plus 1 Add. Drive, Mailmerge, 

Spellstar & Infostar) SCall 

Double-Sided Drive Systems Available Now! 

SEEQUA Chameleon (IBM Compatible) . . . SCall 
SWP Micro Computer Products 
Co-Power-88 Board (8088 w/ 256K) 

ForKAYPR0 2,4&10 SCall 

For MORROW DESIGNS Micro Decision. . SCall 

TAVA IBM Look-Alike (128K. 2 Drives) . . . $1945 

TE1EVIDE0 

1605 (8088. 128K. 2 Drives, DOS 2.0) . . . SCall 

TPC-II (Portable Version of Above) SCall 

TITAN TECHNOLOGIES 

OX-PC (8088 w/ 192K) For EPSON QX-10. . SCall 

VISUAL Commuter (IBM Compatible Portable) SCall 



FOR IBM-PC & COMPAQ 



AST RESEARCH INC. 

MEGA PLUS II (64K, Ser& Clk) $269 

SIX PACK PLUS (64K. Ser/Par. Clk) $269 

COMBO PLUS (64K, Ser/Par. Clk) $269 

I/O PLUS II (SertalPort, Clock/CaT) $119 

• •OPTIONS** 

Each 64K Increment Is $60 Installed. 
Serial/Parallel/Game Port $45 

QUADRAM 

EXPANDED OUADBOARD (S, P, Clock, Game) 

64K $279 384K $529 

QUAD 512+ (SerialPort, Maximum 512K) 

64K $239 256K ...... $389 

QUADCDLDR I (Video Board) $199 

OUADLINK (6502 w/ 64K) $479 

MICROFAZER 

Parallel/Parallel 

16K. . $139 64K . . $185 128K . . $239 

Serial/Serial, Serial/Parl, Parl/Serial 

8K . . $145 16K . . $155 64K . . $209 

AMDEK MAI Board (128K, 640 x 400) .... $389 

CCS SupeiVision (132 Column) $489 

HERCULES Graphics Board (720 x 348) . . . $339 

INTEL 8087 Math Co-Processor $249 



DEALERS 
1 WE BUY 

OVERSTOCKED 
MERCHANDISE 



GenTech 



KEYTRONIC IBM Keyboard (5150) $189 

MA SYSTEMS PC Peacock (RGB & Composite, 

ParallelPort) $269 

MICROLOG Baby Blue II (Z80B, 64K, Parallel & 

Serial Ports, Clock/Calendar) $539 

PARADISE SYSTEMS Multi-Display Card . . $409 

PLANTRONICS ColorPlus SCall 

RANA 2.5 MB Disk Drive w/ Controller . . . SCall 

STB SYSTEMS Graphix Plus $269 

TANOONTM 100-2 (DSDD Disk Drive) , . . $199 

TEAC FD-55B (DSDD Thinline Drive) .... $175 

TECMAR Graphics Master (640 x 400 RGB) $519 

The Captain (w/ OK) $259 

1st Mate (w/ OK) $229 



FOR APPLE ll/lle, Franklin ACE 



ALS CP/M Card $279 

Smarterm II (80 Column Card) $129 

DIGITAL RESEARCH CP/M Gold Card w/ 64K $339 

FOURTH DIMENSION 16K RAM Card $55 

80 Column Card w/ 64K (lie Only) .... $129 

INTERACT. STRU. PKASO Universal $125 

KOALA TECH. Koala Pad $85 

MA SYSTEMS Omnigraph $79 

MICROSOFT Premium Softcard (lie) .... $279 

Softcard (Apple/ Franklin) $229 

MICROTEK 0umpling-16 $149 

ORANGE MICRO Grappler+ $109 

Buffered Grappler+ (16K) $169 

PCP Applicard 6 MHZ $249 

RANA Elite I .... $249 

Elite ll/Elite III $349/$429 

TG Paddles $10 

TRANSENDASIO $125 



HARD DISK 



CORVUS 

Omnidrive: 11 MB $1949 

Transporter . . $399 PrinterServer. . $789 

Network Mirror $759 The Bank ... . $1749 
DAVONG (Universal External) 

10 MB $1925 21MB $2645 




GREAT LAKES 

10 MB Internal For IBM $1059 

23 MB External (w/ Controller) $1799 

QCS 

10/20 MB (w/5 MB Cartridge Back-Up)$2995/$3495 

TALLGRASS 

12 MB External w/ Tape Back-Up $2799 

20 MB External w/ Tape Back-Up $3149 

TANDON TM 5112 (10 MB External) .... $1449 

TECMAR 

RemovableCartridge Winchesterin PC (5 MB) $1529 
10 MB w/ 5 MB Cartridge in Chassis . . $3149 
THOUGHTWORKSforSANYOMOMB. . . $1875 
XCOMP 16 MB External (For IBM, Apple, Kaypro & 

Morrow Designs) $1749 

CALL FOR PRICES ON CONTROL DATA, DATAMAC, 
FRANKLIN, QUADRAM, RANA, SYSGEN 



DOT MATRIX PRINTERS 



ANADEX 

DP 9625B (60 CPS NLO) $1199 

OP 6500 (500 CPS, 15" Carriage) $2375 

C-ITOH Prowriter I 8510 AP $329 

DATASOUTH DS-180 $1149 




EPSON 

LQ-1500 . . . $1149 RX-100 $509 

RX-80 $279 RX-80F/T .... $329 

FX-80 $459 FX-100 $689 

FLORIDA DATA (600 CPS, 4 Fonts) .... $2995 

INFO RUNNER Riteman Plus $279 

NEC 

P2 Pinwriter (180 CPS. 10" Carriage) .... $649 

P3 Pinwriter (180 CPS, 15" Carriage) .... $879 

OKIDATA 

ML 92 SCall ML 93 $Call 

ML 84(P) . . . SCall Pacemark $Call 



MANNESMANN TALLY 

MT 160L .... $599 MT 180L $789 

PANASONIC KX-P1090/1091 $289/$339 

SMITH CORONA 0-200 (120 CPS, NLQ 17x16) $459 

STARMICRONICS 

Gemini 10X. . . $285 Gemini 15X .... $389 

Delta 10 ... . $409 Delta 15 $549 

Radix 10 .... $589 Radix 15 $699 

TEXAS INSTRUMENTS 

850 RO $489 855 RO $759 

TOSHIBA 

P1340 $789 P1350/1351 .... $Call 

TRANSTAR T315 Color Printer . $449 



$3B5 



LETTER DUALITY PRINTERS 



ABATI LQ-20 (18 CPS, 15" Carriage) . 
BROTHER/DYNAX 

0X-15(13 CPS, Diablo Compat.) $449 

HR-25/HR-35 SCall 

COMREX ComRiter II (5K Buffer) $449 

ComRiter III (23 CPS, 15" Carriage) . . . $709 
DAISYWRITER 2000 EXP (48K Buffer) . . . $985 
DIABLO 

620 API .... $799 630 ECS/IBM. . $2049 
JUKI 6100 (17 CPS, Diablo Compat.) .... $Call 
NEC 

2030 $685 2050 $815 

3530 $1275 3550 $1595 

7710. .... $1725 7730 $1725 

OLYMPIA Compact RO/2 $459/$429 

ESW 3000 (50 CPS. 15" Carriage) .... $1379 
DUADRAM Quadjet (Ink Jet Printer) .... $759 

QUME Sprint 1140/1155 $1299/$1479 

SILVER-REED 

EXP 500/550 $409/5519 

EXP770(35CPS, 15" Carriage) $899 

STAR MICRDNICS PowerType (18 CPS) . . . $339 
TRANSTAR T120/T130 $409/$569 



BED" 



AMDEK OXY-100/Amplot II $609/$879 

ENTER COMPUTERS 

Sweet-P .... SCall Six Shooter. . . . $859 

HOUSTON INSTRUMENTS 

DMP-40-2. . . $779 DMP-29 .... $1849 
DMP-41 . . . $2399 DMP-42 .... $2399 

PANASONIC VP-6801A $1349 

ROLAND DXY-101/DXY-800 $539/$709 

STROBE Model 200/Model 260 . . . $529/$689 



KT 



AMOEK 

Video 300/300A/310A $135/$145/$159 

Color l+ .... $269 Color Ik $419 

Color III + . . . $379 Color IV $709 

MONITECH 9"/12" Green $85/$95 

PRINCETON GRAPHICS HX-12 $489 

SR-12 (690x480) $639 

Max-12 (12" Amber. TTL) $185 

QUADRAM Ouadscreen (17," 968x512). . . $1439 
ROLAND 

MB-121G. . . . $135 MB-121A $145 

MB-122G. . . . $155 MB-122A $165 

CB-141 $279 CC-141 $559 

SAKATA SC-100/SC-300 $259/$699 



TAXAN 

KG-12N $109 KG-12N/UY. . . . $119 

210(380x262) $259 420(640x262) $439 

USIPi-2/Pi-3 SCall 

ZENITH 

ZVM-123A ... $99 ZVM-122A .... $105 

ZVM-135 (13", RGB/Composite, 640x240) . $459 



TERMINALS 



ESPRIT 

Esprit I SCall Esprit II $499 

Esprit III .... SCall ESP-6310 $589 

LIBERTY Freedom 110/200 SCall 

QUME 102/102A $535/$549 

103/108 S849/S549 

TELEVIDEO 914/924 $.519/$675 

950/970 SCall 

PersonalTerminal $419 

w/ 300 Baud Modem $528 




VISUAL 50/55 $559/$6B9 

WYSE 

WY-50 $519 WY-75 $619 

WY-100 $659 WY-300 $995 

ZENITH 

Z-29 $649 Z-49 SCall 

ZTX-10 $329 ZTX-11 $389 



ANCHOR 

Mark VII $109 Mark XII. .... $265 

HAYES 

Micromodem lie (w/ SmartCom I) . . . . $245 

Smartmodem 300/1200 $219/$499 

Smartmodem1200B(IBM) $439 

NOVATION 

Access 1-2-3 $419 

J-Cat (Auto Orig/Answer, 300 Baud). ... $99 

Apple Cat II (300 Baud) $225 

212 Apple Cat II (1200 Baud) $399 

103 Smart Cat (300 Baud) $169 

103/212 Smart Cat (1200 Baud) $399 

TRANSEND (Formerly SSM) 

Modemcard w/Source(For Apple) . . . $239 

PC Modem Card 1200 (For IBM) $419 

U.S. ROBOTICS 

Password (1200 Baud) $315 

Auto Dial 212A $449 



SOFTWARE 



ASHTONTATE dBAse ll/lll SCall 

LOTUS 1-2-3/Symphony $319/$Call 

MBSI, STAR Accounting Software SCall 

MICROPRO WordStar Pro Pack (IBM) . . . $399 

MICRORIM R:Base 4000 $309 

MICROSOFT Multiplan $129 

PSIWordPlus-PCw/BOSS $349 

SATELLITE SOFTWARE WordPerfect .... $259 

SOFTWORO SYSTEMS Multimate $319 

SORCIMSuperCalcS $239 



$29 
$23 




MISCELLANEOUS 



SINGLE-SIDED DISKETTES 

3M $23 Oysan . . . 

Maxell $26 Verbatim. . 

DOUBLE-SIDED DISKETTES 

3M $30 Dysan $38 

Maxell $37 Verbatim $31 

SURGE PROTECTORS 

EPD: Lemon/Orange $45/$99 

ULTIMA $39 

FOR C0MM000RE-64 

CARD CO Card?+ G. $69 

ORANGE MICRO Grappler CO $99 

HOUSTON INSTRUMENTS 

DT-11 Digitizer (1-Button Cursor) $719 

DT-114 Digitizer (4-Button Cursor) $779 

INTERACTIVE STRUCTURES Shufflebuffer 32K $219 

RANA 1000 Disk Drive w/ DOS (For Atari) S269 



CUSTOMER SERVICE 



401-781-0020 



ORDERS ONLY 



800-843-4302 

150 Broadway, Suite 2212, N.Y., NY 10038 

Money Order. Cashier's Ck, Personal Ck (3 WeeksTo Clear). 

Add 3% MC/VISA, 5% AMEX Charge. Add 2% On COD Orders. 

APO Orders Add 6%. Add 3% For Net Terms. 

All Returned Non-Defective Merchandise Are Subject To 

20% Restocking Charge. 

GenTech Reserves the Right to Change Advertised Prices. 



8 amTricanI 
| express, i 

l::©d 



(Mnjf*id>f1 


i r 



Circle 13 3 on inquiry card. 



BOOK REVIEWS 



one another. This is the only example 
I could find in the book that even in- 
directly addresses the relaxed declara- 
tion sequence accepted by Modula-2. 
One of the improvements in the syntax 
of language relative to Pascal is that it 
allows for declarations of constants, 
types, variables, and procedures to be 
declared in an arbitrary order in ar- 
bitrary locations, within the same scope 
level. Such syntax allows global vari- 
ables to be declared right in front of the 
group of procedures that uses them. Al- 
though this fact can be determined from 
close examination of the formal syntax 
(in my case, by recourse to someone 
who is already an expert in the lan- 
guage), I think this new syntactical fea- 
ture should have been explicitly 
mentioned. 

The fifth division of the text consists 
of three chapters that cover language 
facilities for system programming and 
other low-level tasks. When Pascal was 
created, it was originally intended only 



to teach good programming practices. 
Because it was so easy to write reliable, 
structured programs in Pascal, several 
extensions of it were created to enable 
it to handle systems-level programming. 
The UCSD project, for example, wrote 
the entire operating system in its ex- 
tended version. In order to access the 
underlying hardware, programmers 
resorted to tricks to get the job done. 
Because of such practices, programs 
written in one variant often were not 
portable to implementations using a 
slightly different version. 

As stated in the preface, a major ob- 
jective in the design of Modula-2 was 
creating a general-purpose program- 
ming language that could also program 
low-level tasks. The topics discussed in 
the fifth division of the book include 
multiprogramming, concurrency, corou- 
tines, peripheral interfacing, and inter- 
rupts. While unleashing the programmer 
on these low-level facilities, an attempt 
is made to instill a sense of solid, sound, 



conservative design when using them. 
These language features enable the pro- 
grammer to greatly damage the system 
and should be used cautiously and 
deliberately. This part of the book is the 
most terse, possibly by design. My ad- 
vice is, if you don't understand what the 
text is discussing, don't even attempt to 
use the facilities described. 

Following the main body of the text 
is the "Report on the Programming Lan- 
guage Modula-2." This document is the 
technical reference mentioned earlier 
that describes the language. It defines 
the standard language, at least until na- 
tional standards committees create new 
ones. While a book review need not 
comment on the technical merits of a 
language definition, a few comments on 
its presentation are in order. In this case, 
the most obvious observation is that it 
is understandable. The 2 5-page docu- 
ment clearly specifies the syntax and 
semantics of the language. It is remark- 

[continued) 



Developing microprocessor software? 
Check out this exciting duo! 





Your IBM-PC 



Our //-Series™ software 



A low-cost development system that handles most popular 
types ranging from 8-bit controllers to full 32-bit architectures 



Relocating Macro Assemblers 




AZ8 Z8Asm $225 AZ80 Z80/NSC800 Asm . . 


. . . $225 


A804X 8048/41 A Asm $225 A8051 8051/52/44Asm . . , 


..$225 


A8085 8080/85 Asm $225 A8086 8086-80286 Asm .... 


. . $295 (02 84) 


A6801 6800/01 Asm $225 A6805 6805/14605 Asm . . . 


. . . $225 


A6809 6809 Asm $225 A68K 68000/10 Asm 


. . . $295 


A6502 6502 Asm $225 AT99 TMS9900/95 Asm . 


. . . $225 


AT7000 TMS7000 Asm $225 A1802 1802-1806 Asm 


. . . $225 


A16032 INS16032 Asm $295 (Q3 84) 




Utilities 




XLINK Universal linker needed by all //-Series assemblers/compilers 


. . . $225 


XLIB Universal librarian usable with all/<-Series assemblers/compilers 


. .. $175 


Documentation only 




IPM-00012A(MS-DOS) Generic assembler, linker & librarian 


. . . $35 


CPU-ADD(XX) CPU-dependent addendum (specify CPU) 


$5 


Packages 




XLINK + any 3 assemblers including documentation 


. . . $575 


XLINK + XLIB + any 5 assemblers including documentation 


. . . $775 




SYSTEMS 



IAR SYSTEMS AB 

Box 23051, S-750 23 UPPSALA, Sweden 
Telephone: +46 18 14 43 14 
Telex: 76147 UPTRADE S 



Product Summary 



Assemblers: • Machine instruction syntax is compatible with the chip- 
manufacturers assemblers • Execute as single programs • Generate 
absolute or relocatable code • 132 significant characters in symbols 

• Nested "include" files • Self-explanatory error-messages • Unlimited 
number of relocatable segments • 32-bit arithmetic • Single precision 
IEEE floating point constants • Optional local symbols in the object code 

• Powerful recursive macro facility • Multiple object modules from a 
single source file • Cross-reference option and numerous list-control 
directives • Conditional assembly • Unified operation and 
documentation. 

XLINK: • Relocates 8, 16 and 32-bit operands • Full support for 8086- 
type segmentation • Output in "standard" formats: Intel-hex, 
Motorola-S, Tl, Millenium/Tektronix, RCA and a special format with 
symbols • Automatic library search for compilers • Single-line link 
command, or a multiple-line command mode with interactive control of all 
loading parameters • Command file option • Prompts for missing 
parameters • Optional load-maps and cross-references • Type-check on 
public/external declarations • Range-check on relocatable objects 

• Help-command, directory-list and informative error-messages. 

XLIB: • Supports creation and/or maintenance of object code libraries 

• Lists/Deletes/Moves/Updates/Renames or appends object modules 

• Lists or renames segments, externals or entries • Command structure 
and error-messages analogous with XLINK. 

Documentation: • Generic 100-page manual in a ring binder • Lots of 
examples on how to use the "standard" as well as the unique features 

• 4 — 30 pages of CPU-dependent information delivered with each 
assembler. 

Requirements: • Any PC-DOS/MS-DOS - based machine • 170Kormore 
user memory • Serial port for down-load to target system. PROM-programmer 
or emulator. 



US DISTRIBUTOR: 
WESTICO 

25 Van Zant Street • Norwalk, CT 06855 
(203) 853-6880 • Telex: 643-788 



76 BYTE • AUGUST 1 984 



Circle 151 on inquiry card 



COMP 



Member: BBB 

S.D. Chamber of Commerce 
NOMDA 



is your place to buy for SELECTION, SERVICE and SAVINGS. 

We know that your needs are not the same as everyone's, so we don't treat you "just like every one else." 

Your needs are special. That's why COMPUTERS and more. . . is your place to buy for. . . 





morrow's Technology at Prices You Can Afford Today" 



B £OMPUTER£ 






256KPCw/2 1750 

PCw/10Meg&l-320 2495 
PCw/2~320K&10Meg3195 
Extended Warranty 
Available on All Models 
APPLE 

Hot New IIC 1150 

MAC - All Models CALL 
LISA - AH Models CALL 

Apple HE 750 

FRANKLIN 
New CX-2 Portable . 1295 
New CX-2C Portable 1595 

Ace 1000 699 

OMS System 

w/Monitor 1395 

Ace Pro Plus 995 

TELEVIDEO 

Model 1605H 3795 

Model 1605E 298 

Model TPC II 2399 

Model 803H 3379 

Model 804 3399 

Extended Warranty 
Available on All Models 
COLUMBIA 

16001 2295 

1600-4 3299 

VP Portable 2349 



ORONA 

DeskTop w/2 Drives 2099 
Portable w/2 Drives 2099 
Models w Hard Disk CALL 

New Models CALL 

CONVERGENT TECH 

WorkSlate*.; 995 

MicroPrinter 229 

Comport 149 

NEC 

8201A (Portable) ... 489 

APC-H01 2095 

APC H02 CALL 

APC-H03 CALL 

APC-H04 2659 

TAVA 

PC w/Monochrome 

Monitor 1899 

PC w/Color Monitor 1959 

ZENITH 

DeskTop 151-21 
DeskTop 151-22 
Portable 161-21 
Portable 161-22 
CALL FOR PRICES ON: 
KAYPRO • SHARP • 
COMPAQ • EAGLE • 
OTRONO • NOVELLE • 
NORTHSTAR • ALTOS • 
DEC • EPSON • 
SANYO • ATARI • 



2159 
2495 -v 
2349 
2639 



ACCESSORIES 



jt rvii 
JUKI 

6100 18 Cps 419 

Tractor 109 

Cut-Sheet Feeder .. 529 
EP30N 

FX-100 CALL 

FX-80-80F/T . CALL 
LQ-1500 .... ON SALE! 
ABATI 

LQ-20 Parallel 389 

LQ-20 Serial 429 

DAISYWRITER 

Daisy 2000 w/48 

KBuf. ......... CALL 

Tractofcfor Daisy 2000 

CALL 

Cut-Sheet Feeder CALL 

QUADRAM 

QuadJet .......... 695 

IBM Kit 19 

Apple Kit 49 

NEC 

New! Pinwriter 2 . CALL 
New! Pinwriter 3 . CALL 

2030-Parallel 679 

2050-Parallel 889 

3510-RS232 1299 

3515RS232 ........ 1299 

3530-Parallel 1279 

3550-Parallel 1599 

Extended Warranties CALL 



I 1 CIYO 

TOSHIBA 

P 1351 Parallel 1589 

P 1351 Serial 1589 

P 1340 Parallel 789 

P 1340 Serial 789 

MANN-TALLY 

Spirit 294 

1601 - 539 

160-L 619 

180-1 769 

180-L 849 

4201-123 2369 

420-L 112 1939 

440-1-111 1995 

440L-112 2199 

Pixy-IP 539 

Pixy-3P 629 

STAR 

STX-80 139 

Gemini I0X 269 

Gemini 15X 379 

Delta-10 389 

Delta-15 569 

Radix-10 579 

Radix-15 639 

Power Tvoe 389 

OKIDATA 
MicroLine 84 P 
MicroLine 92 P 
Pacemark 2350 P . 
Pacemark 2410 P . 



SOFTWARE 

FOR PC & XT APPLE 



CALL 
CALL 
CALL 
CALL 



02 by Fox & Geller 299 
Quick Code 219 

I FrameWork by 

; 'H dBase III 419 

: : Friday 199 

Please by Hayes . CALL 
SmartCom II 87 

I MayDay by Teletech 

I Symphony by Lotus 

I Upgrades for 1-2-3 . 

DESQ CALL 

Inves. Any!, by Dow Jones 
; Market Analyzer ... 249 
Market Manager ... 219 

PFS: Access 65 

PFS: File 89 

PFS: Write 89 

PFS: Report 84 

'{a Bankstreet Writer .. 47 
; ; Easy Writer II by JUS 269 

|; CorrectStar by MicroPro 134 

'% Volks Writer DeLux . 198 
R-Base by MicroRim 319 
WordStar ... ON SALE! 
MBSI Real World CALL 

T.I.M 329 

VersaForm 279 

Ask Micro (each) ... 389 



dBase III by Ash Tate 419 
Friday by Aston- Tate 199 
Bottom Line Strategist 269 : 
C Dex Packages (each) 39 | 
CPA Modules I thru 4 

(each) 174 I 

02 by Fox & Geller 319 

Graphox \97 I 

Sales Edge 174 { 

Format He 104 ? 

Knoware 64 : 

Master Type ... 27 - 

Micro Pro CALL 

Micro Soft CALL } 

8FS: Access He ... . 49 I 

PFS: File II 84 ; 

PFS: File lie 84 | 

The Handlers (all) . . 149 j 

Terrapin Logo 99 ; 

VersaForm 259 i 

BPI GL 267 \ 

P e Writer by Hayden 97 ; 

Persona Pearl 194 

Dow Jones CALL 

Lock Smith 78 

Zork-I, II or III (each) 26 

Deadline 33 '; 

Flight Simulator II .. 37 j 
Jack Report 74 . ; 

MONITORS 



IBM 

Hercules Color Card 199 
StarLink by DRI ... 1295 
Keyfronic 5151 - 5151 Jr. 

209 

BiGraphicsI 459 

Bi-Graphics II 229 

Smart Cable by l.Q. 64 
Jr. Extender by 

Falcon CALL. 

UltraPak byTSENG 489 
UitraRam by TSENG 199 
Multi-Display by P.S. ' 399 
Plantronics Color Plus 389 
Orchid Blossom .... 299 

Orchid PCnet 389 

Orchid Combo . . . CALL 



AST6-Pack 265 ; 

Quad Link 469 

PC Saver 39 

TG Joystick 44 

64K Ram Chips . . CALL 

CALL FOR PRICE LIST" 

APPLE 

DiscWasher Cart . . 
Printer Face by P.P. 
Graphicard by P.P. 

Z-80Card 

Touch Pad by Koala 
Microsoft Acces. . 



FREE 
SHIPPING 



vN^l 



. 199 ! 

64 ; 

79 

69 

84 

CALL ; 

Grappler Plus . . . . . . 109 

Videx 80 Col w/Sft Switch : 

„ 179 ! 

Wesper Full Graphics 78 , 



"MODEMS" 

HAYES RIXON 

259 

229 

399 

219 
539 
199 



SERVE 



System Saver FAN 



*Zg8$& 



67 



II C Compatible w/Sft 
MicroModem He 
SmartModem 1200B (IBM) 
SmartModem 300 RS232 . 
SmartModem 1200-RS2.32 . 
ChronoGraph RS232 

US. ROBOTICS 

IBM PC Modem 
Password 300/1200 

VEN-TEL 

1200 Plus 



R 103J ASYNC .... 
PC 212A IBM Internal 
PC212A-WA 
w/ ASYNC Port . . . 
R212A-IRS232 .... 



229 
429 



499 
429 



Roland DG-121-G .. 139 

Roland DG-121-A .'. 249 

Roland CB- 141 319 

Roland CC 141 .,.. 595 

Taxan 420 449 

Taxan Amber ...... 119 

Taxan 415 499 

RGB-80 col He 139 

RGB Card He 89 

Quadchrome ...... 559 



Quadscreen w/Card 1650 1 

Zenith 131 319? 

Zenith 135 487^ 

Zenith 122 109| 

Amdek310 159J 

Amdek Color IV T . 5971 

NEC JC 1215 2691 

NEC JC 1216 397 J 

Format II 1191 

ODEN 371 



369 
357 




NOVATION 

Access 1-2-3 3991 

J-Cat 99« 

103 Smart Cat ..... 189 

212 Auto Cat ; 3978 

384 Apple-Cat II 229 I 

DISK DRIVES 

FLOPPY DRIVES HARD DISK 



Full High 320K 209 

Slim Line 320K ..... 199 

Apple Compatible .. 159 

FUJI DISKETTES 

SSDD 22 

DSDD 27 



10 Meg Internal .... 995 I 
QuarterMaster ON SALE! 
10 Meg External . . . 1095 I 
15 Meg External . CALL 
Bernoulli by Iomega 2799 ; : 
QUADRAM «TECMAR« 
CONTROLL DATA 



TERMINALS call 

ERVICE 

WE OFFER EXTENDED 
WARRANTIES ON ALL OF 
OUR PRODUCTS. OUR 
EXPERIENCED 
TECHNICIANS 
ARE HERE 

FOR Your 



1 Year Warranty Available 

TO ORDER: Phone orders invited using Visa, MasterCard, or bank wire 
transfers.Vi'sa. MC no service charge Mail orders may send charge 
card number (include expiration date), cashiers check, money order, or 
personal check (allow 10 business days for personal or company checks to 
clear). Please add 3% ($5.00 minimum) tor UPS shipping, handling, and 
insurance. All equipment is in factory cartons with manufacturer warranty. 
Opened products not returnable. Restocking fee for returned merchandise. 
Equipment subject to price change and availability. Retail prices differ from 
mail order prices. Calif, residents add 6% State Tax. Company and school 
P.O.'s accepted on approval. IBM & Apple are registered trademarks. 

* On All Pre-paid Cash Orders In Cont U.S. 



Circle 72 on inquiry card. 



COMPUTERS and more. 

8625 Commercial Dr., La Mesa, CA 




19) 291-1442 



VISA' 



NO SERVICE CHARGE FOR CREDIT CARDS 
NATIONAL LEASING AVAILABLi 



P.O.'S ACCEPTED 
ON APPROVAL 



AUGUST 1 984 • BYTE 77 



BOOK REVIEWS 



able that so powerful a language can be 
described so concisely. It is also in 
marked contrast to the technical de- 
scription of some other languages, 
notably COBOL, PL/I, and Ada. 

Drawbacks 

The book does have some flaws. It 
seems ironic that the creator of such 
beautiful languages as Pascal and 
Modula-2 should use one of the most 
unattractive programming styles I have 
ever seen. Indentation is shallow (often 
less than one character per level) and 
hard to follow in some of the longer ex- 
amples. There is a tendency to cram 
several statements onto the same line. 
The use of proportional spacing in the 
listings is bothersome. Because different 
letters occupy varying widths in the 
listings, corresponding letters in con- 
secutive lines do not always line up. This 
can be particularly annoying when char- 
acter arrays are padded with blanks: 
there is simply no way of knowing how 



many blanks to use. 

The listings in this book do, however, 
have one advantage over the Pascal list- 
ings presented in Professor Wirth's 
previous books. The presentation 
listings that appear in typeset text and 
regular listings as produced by common 
printers are the same. One typeface is 
used for all program tokens instead of 
reserved words in bold, identifiers and 
operators in italics, and surrounding text 
in Roman. This makes it easier to write 
about the language and programs writ- 
ten in it. 

Another slightly annoying property of 
the book is the level of presentation. It 
tries to be all things to all programmers. 
By presenting many very basic concepts 
of programming in general, it is prob- 
ably too terse for the beginner to learn 
how to program without additional in- 
struction. All the detail for beginners 
just slows down the experienced pro- 
grammer. Such a person can skip large 
sections of the text, thereby possibly 



missing important details. I think Pro- 
fessor Wirth should have directed his 
presentation to the more experienced 
audience because at this stage in the life 
of Modula-2, very few persons will learn 
it as their first programming language. 
Instruction for the beginnner can be 
provided by tutorial books that will ap- 
pear as the popularity of the language 
increases, just as they did for BASIC and 
Pascal. 

Possibly the most disconcerting thing 
about this book is its index. Although 
it appears complete, it is hard to use. 
Printed in a two-column format, scan- 
ning it in alphabetical order means look- 
ing at an entry in the first column, 
checking the same line in the second 
column, moving down one line, check- 
ing the first column, and so on. It's not 
easy to break the habit of looking 
straight down the list when searching 
hurriedly. Such an index is a handicap 
in a book intended as a reference. 

[continued) 



BYTE CONNECTION, INC. 

presents BOTTOM LINE Prices: 

call (71 4) 778-6496 



PERSONAL COMPUTERS 

IBM PC 256k, color card, monitor, 2 slimline drives 
CORONA 1 28k, color card, monitor, 2 slimline drives 
TAVA PC 128k, color card, monitor. 2 slimline drives 
IBM XT, 1 28k, color card & Accounting pkg. AP. AR, PR 
MEMOTECH 64k, parallel and game ports, Tv/Moflitor adapter 
ALTOS-586 512k, 20mb HD, 1mb FD, 6 Ser. ports. Altos II terminal 
ALTOS-586 51 2k, 40mb HD. 1 mb FD, 6 Ser. ports, Altos II terminal 



TERMINAL/MONITORS 



PRINTERS 

EPSON RX 80FT 
EPSON RX 80 
EPSON FX 80 
EPSON FX 100 
JUKI 6100 Letter qual. 

MODEMS 

U.S. ROBOTICS 300 
U.S. ROBOTICS 1200 



$ 350.00 0KIDATA MICROLINE 84P 

$ 270.00 0KIDATA MICROLINE 84S 

$ 499.00 0KI0ATA MICROLINE 82 

$ 699.00 OKIDATA MICROLINE 92 

$ 489.00 OKIDATA MICROLINE 93 



$ 169.00 U.S. ROBOTICS PASSWORD 1200 $ 340.00 
$ 440.00 SMARTMODEM 1200 $ 470.00 



$ 2389.00 


TELEVIDEO 914 


$ 


575.00 


AMDEK 300G green 


$ 1995.00 


TELEVIDEO 924 


$ 


675.00 


AMDEK 300A amber 


$ 1895.00 


TELEVIDEO 950 


$ 


880.00 


TAXAN amber 


$ 5255.00 


TELEVIDEO 970 


$ 


1045.00 


TAXAN RGB III 


$ 595.00 


AMDEK 31 OA amber 


$ 


179.00 


PGS HX1 2 Hi-res color 


$ 7695.00 










$ 8695.00 


SOFTWARE 










WORDSTAR 


$ 


299.00 


FRIDAY 


S 979.00 
S 1079.00 
$ 315.00 
S 445.00 


EASYWRITER II 
PERSONAL PEARL 
LOTUS 1-2-3 
MULTIPLAN 


$ 
$ 
$ 
$ 


269.00 
269.00 
395.00 
225.00 


FINAL WORD 
QUICK CODE 
SIDEWAYS 
DBASE II 


S 689.00 











DISK DRIVES & SUCH 

TANDON TM1 00-2 IBM comp. $ 225.00 5V4 OS, DO 10 diskettes/bo 

TANDON 10mb. w/control $ 1 395.00 6 PACK-6 function to 384k 

TANDON 25mb. w/control $ 1 995.00 S TB Graphic plus 



Store Hours: Monday-Saturday 9:00 am - 5:00 pm 

Prices reflect 3% to 5% cash discount. Product shipped in factory cartons with manufacturer's warranty. 

Please add $8.00 per order for UPS shipping. Prices & availability subject to change without notice. 

All returned merchandise subject to a 20% restocking fee. Prices good in U.S. only. 

Prices reflected in this section are lower than franchise stores 

Send cashier's check or money order. . . Personal checks acceptable. 



78 B YTE • AUGUST 1984 



Circle 44 on inquiry card. 








Introducing a pocketfii of mir; 




It's the new BASF Qualimetric™ 3 5" Micro 
FlexyDisk® Its name is a lot bigger than its size, 
and a lot smaller than its capacity- one astound- 
ing megabyte. Our new Micro fits into more than 
shirt pockets. It fits into several of the hottest new 
small portable personal computers -like Apple™ 
Computer's new Macintosh™ and Lisa™ 2 and 
Hewlett-Packard's HP-150 Touchscreen PC. 

The Qualimetric part is what makes our Micro 
FlexyDisk different from the others that will inevi- 
tably follow. It indicates a new standard in design, 
production, inspection, and testing. This standard 
enables us to warranty the Micro for a lifetime* 
No more, no less. In addition, we certify 
that each bit of every byte on or between 
j^ery track on each Micro FlexyDisk is 

intact BASF for a copy of our warranty. 



cle 32 on inquiry card. 



100% error-free. That's because we know, #hile 
each Micro FlexyDisk may only cost a couple 
of bucks, the hours and brain cells you put into 
it are priceless. 

For those occasions when you need more than 
a pocketful of miracles, we provide a handy and 
virtually earthquake-proof 5-pack. It's sized to slip 
easily into your briefcase, handbag, or backpack. 

For a plethora of technical details about our 
new Micro FlexyDisk and even more important 
information on where to buy it, call toll-free. 
1-800-343-4600. 



a BASF 

Celebrating SO years of magnetic recording 





BOOK REVIEWS 



Praise 

On a more positive note, this book 
covers almost all of the facilities of the 
language quite well. Professor Wirth in- 
fuses his exposition with the impor- 
tance of stepwise refinement, the choice 
of appropriate data structures, and the 
separation of related tasks into isolated 
modules. In many cases, the program- 
ming examples given are quite interest- 
ing. The book seems to have been pre- 
pared carefully: I didn't notice one typo- 
graphical error. To top it off, the book 
is reasonably priced, something quite 
rare in computer science books. And 
finally, this is an important book. It con- 
tains the report on Modula-2 and thus 
defines the standard language. As the 
language becomes more popular, it will 
serve as the arbiter of what constitutes 
a correct implementation. Simply, this 
book can help you resolve questions 
regarding the legality of syntax and 
recognition of nonstandard, nonpor- 
table use concerning Modula-2. 



The Elements of 
Friendly Software 
Design 

The ABC's of 
Developing Software 
Reviewed by Chris H. Pappas 

A tension exists between two op- 
posing software-design theories. 
One school of thought maintains that 
an efficient program must be structured, 
modular, and easily maintained. The 
other approach focuses on and caters 
to the needs of the user. 

I have just finished reading two texts 
on software development. The first 
book is The Elements of Friendly Software 
Design by Paul Heckel and the second 
is The ABC's of Developing Software by 
Sheldon D. Softky. Both are written for 
beginning to experienced programmers. 
I see, as do the authors, that these two 
approaches are not mutually exclusive, 
even though both texts represent op- 
posite ends of the spectrum. The 



amount of space Heckel devotes to 
program-design structure in his book is 
similar in length to the space Softky 
devotes to user friendliness. 

T^e Friendly Way 

The information in The Elements of Friendly 
Software Design is both entertaining and 
instructional. The major thrust of the 
text indicates that software design, if ap- 
proached from the user's point of view, 
is the most recent addition in the field 
of communications crafts. Precursors in- 
clude literature, theater, music, film, and 
other art forms. 

Significant examples are included that 
support user friendliness: quotes from 
famous movie directors, authors, inven- 
tors, painters, and other people whose 
livelihood revolves around communica- 
tions. Heckel suggests that software 
engineers go beyond proper program 
syntax and structure and concern them- 
selves with addressing user needs. 

[continued) 



DI SK COPYING SERVI CE 

Fast • Reliable • Low Cost 

If you produce software, ALF's disk copying service is the quick, 
convenient answer to your duplication needs. Fifty copies or thousands, 
standard or copy-protected formats, just disks or a whole package- 
call ALF. Consider: 

• FAST. Most orders are shipped in a week or less. Prompt service 
on custom printing, too. 



•LOW COST. Set-up charges start at $10, copy protection set-up 
at $25. Copying charges are 30C to 40C per side (see blank disk prices at 
right). No extra charge per copy for protected formats. 

• CONVENIENT. We offer label application, shrink packaging, heat 
sealing, and other services. Need custom printed labels and sleeves? We 
can handle it and much more. We have vinyl folders, binders with slip cases, 
3-hole vinyl disk pages, and disk mailers in stock— and can custom print 
them for packaging in a hurry. ^ ^ 

• TOP QUALITY. We start with the finest disks available. Your choice 
of 3M, Memorex, Verbatim, or other major brands— or you can supply your 
own blank disks. Every disk we copy is verified bit by bit and guaranteed 
100% flawless. 



• RELIABLE. ALF designs and manufactures copying equipment that 
other copying services and software publishers rely on every day. Our com- 
plete understanding of duplication technology assures you of the finest 
reproduction available— and has since 1980. 

We 're eager to meet your duplication and packaging needs. Give us a call today! 



BLANK DISKS 



ALF buys large quantities of top quality, bulk 
packaged disks for our disk copying service. 
We avoid the expense of fancy printing and 
labeling— and can pass these savings on to 
you! The disks listed below are 5%", soft sector, 
double density, unlabeled, with hub reinforce- 
ment ring. Call for information on other disks, 
too. 



3M 



call for details 



MEMOREX 



$146 per 100 

SINGLE SIDED 
$180 per 100 

DOUBLE SIDED 



VERBATIM 



$150 per 100 
SINGLE SIDED 
$192 per 100 

DOUBLE SIDED 



Without sleeves: 

add $2.50 shipping per 100. 
With tyvek sleeves: 

add $7 plus $2.50 shipping per 100. 
Packed in boxes of 10 with tyvek sleeves: 

add $15 plus $3.00 shipping per 100. 



ALF 



To order, call 1-800-321-4668. Inside Colorado & customer service: 1-303-234-0871. 

ALF Products Inc. 1315F Nelson St. Denver, CO 80215 



80 BYTE • AUGUST 1 984 



BASF QUALIMETRIC™FLEXYDISKS @ 

BUILT FOR ETERNITY-WARRANTED FOR A LIFETIME. 



BASF Qualimetric FlexyDisks® offer 
you more. ..an extraordinary new 
lifetime warranty* The BASF Quali- 
metric standard is a dramatic new 
international standard of quality in 
magnetic media. ..insurance that 
your most vital information will be 
secure for tomorrow when you enter 
it on BASF FlexyDisks today. 

We can offer this warranty with 
complete confidence because the 
Qualimetric standard reflects a con- 
tinuing BASF commitment to perfec- 
tion..^ process which begins with 
materials selection and inspection, 
and continues through coating, pol- 
ishing, lubricating, testing, and 
100% error-free certification. Built 
into our FlexyDisk jacket is a unique 
two-piece liner. This BASF feature 
traps damaging debris away from 
the media surface, and creates extra 
space in the head access area, insur- 
ing optimum media-to-head align- 
ment. The result is a lifetime of 
outstanding performance. 

When your information must 
be secure for the future, look for 
the distinctive BASF package with 
the Qualimetric seal. Call 800-343- 
4600 for the name of your nearest 
supplier. 





Circle 33 on inquiry card. 




Enter tomorrow on basf today 



SuperS ft 

Language Library 

For PC DOS: MS DOS, 
CP/M-86: and others 




A programmer's most important 
software tool is the language compiler 
or interpreter he uses. He has to 
depend on it to work and work well. 

At SuperSoft, we believe it. That's 
why we offer three fine compilers: 
SuperSoft FORTRAN, SuperSoft 
BASIC, and SuperSoft C, that answer 
the programmer's need for rock solid, 
dependable performance on 16 bit 
systems. 




BASIC 

COMPILER 



Compatible 
with Microsoft BASIC 

The SuperSoft BASIC compiler, available 
under CP/M-86 and MS DOS, iscompatiblewith 
Microsoft* BASIC and follows the ANSI standard. 

Greater accuracy with BCD 
math routines 

If you have used other languages without 
BCD math, you know how disconcerting decimal 
round off errors can be. For example: 



With IBM PC* 


With SuperSoft 


BASIC 


BASIC with 




BCD math 


10A=99 


10A=.99 


20 PRINT A 


20 PRINT A 


30 END 


30 END 


Output: .9899999 


Output: .99 



As you can see, SuperSoft BASIC with BCD 
provides greater assurance in applications 
where accuracy is critical. 

SuperSoft's BASIC is a true native code 
compiler, not an intermediate code interpreter. 
It is a superset of standard BASIC, supporting 
numerous extensions to the language. Important 
features include: 

■ Four variable types: Integer, String, and Single 
and Double Precision Floating Point (13 digit) 

■ Full PRINT USING for formatted output 

■ Long variable names 

■ Error trapping 

■ Matrices with up to 32 dimensions 

■ Boolean operators OR, AND, NOT, XOR, 
EQV, IMP 

■ Supports random and sequential disk files with 
a complete set of file manipulation statements 

■ No run time license fee 

Requires: 128K memory 

BASIC compiler: $300.00 



For CP/M-86: MS DOS, and 
PC DOS 

*SuperSoft BASIC is compatible with 
Microsoft BASIC interpreter and IBM PC BASIC. 
Due to version differences and inherent 
differences in compilers and interpreters some 
minor variations may be found. Machine 
dependent commands may not be supported. 
The vast majority of programs will run with 
no changes. 



82 BYTE • AUGUST 1984 



FORTRAN 



SuperSoft FORTRAN is the answer to the 
growing need for a high quality FORTRAN 
compiler running under CP/M-86 and IBM PC 
DOS. It has major advantages over other 
FORTRAN compilers for the 8086. For example, 
consider the benchmark program used to test 
the IBM FORTRAN in InfoWorld, p. 44, Oct. 25, 
1982. (While the differential listed will not be 
the same for all benchmark programs, we feel it 
is a good indication of the quality of our compiler.) 
Results are as follows: 



IBM FORTRAN: 
SuperSoft FORTRAN 



38.0 Seconds 
2.8 Seconds 



In its first release SuperSoft FORTRAN 
offers the following outstanding features: 

1. Full ANSI 66 standard FORTRAN with 
important extensions 

2. Standard data types, double precision, varying 
string length, complex numbers 

3. Free format input and free format string output 

4. Compact object code and run time support 

5. Special functions include string functions, 
dynamic allocation, time/date, and video access 

6. Debug support: subscript checking, good 
runtime messages 

7. Full IEEE floating point 

8. Full 8087 support available as option ($50.00). 

9. Ratfor preprocessor available as option 
($100.00). 



Program developers: 



SuperSoft's family of FORTRAN 
compilers means you can write your 
programs once and they will run under 
CP/M-80, CP/M-86, and MS DOS. This 
lets you get your applications running 
fast no matter what the environment. 



SuperSoft FORTRAN: 

available NOW and 

working great! 



Requires: 

FORTRAN: 
8087 Support: 
Ratfor: 



128K with CP/M-86 or MS DOS, 

32K with CP/M-80 

$425.00 (in each environment) 

$ 50.00 

$100.00 

For CP/M-86; MS DOS, IBM 
PC DOS; and CP/M-80* 

In conjunction with SuperSoft, SuperSoft FORTRAN 

was developed by Small Systems Services. Urbana. IL, a 

leader in FORTRAN development. 

Japanese Distributor: 

ASR Corporation International. TBL Building. 7th Floor. 
1-19-9 Toranomon. Minato-Ku. Tokyo 105. Japan 
Tel I03J-5025550. Telex 222-5650 ASRTYO J 
European Distributor: 
SuperSoft International Ltd . 51 The Pantiies. 
Tunbridge Wells. Kent. England TN2 5TE 
Tel 0892-45433 Telex 95441 Micro-G 

Microsoft is a trademark of Microsoft Corporation 

IBM PC is a trademark of International Business Machines Corporation 

Circle 293 on inquiry card. 



C Compiler 



In 1982 SuperSoft helped C programmers 
around the world move their applications from 
8 to 16 bit operating systems with the first C 
compiler under CP/M-86; R PC DOS, and MS DOS. 

Today there are several C compilers on the 
market, and you can look at them all. But if you 
want a C that's fully portable, syntactically 
compatible with UNIX version 7 C, rigorously 
tested, fast in both compilation and execution, 
packed with more library functions than any 
other, and produces a very highly optimized 
assembly code . . .then you'll find only one. The 
SuperSoft C compiler. 

Professional Quality 

SuperSoft started working on C over three 
years ago, and the work has never stopped. While 
others were struggling to put in features, 
SuperSoft was refining and polishing... adding 
the quality professionals depend on. 

Thoroughly Tested 

SuperSoft C has been tested with hundreds 
of commercial application programs. And all this 
testing has paid off. . .with a compiler that's 
highly reliable in every phase of operation. 

Portable 

SuperSoft C is now available in most 
operating systems environments. Since we don't 
sell operating systems, we can support them all. 
And as new operating systems become popular, 
SuperSoft C will be there. 

Packed with Library 
Functions 

SuperSoft now has the most complete set of 
library functions available. All provided with 
source code. 

Thorough User Manual 

The new user manual is extensive— jammed 
with thorough explanations to help you every 
step of the way. And our technical hotline can 
help answer any additional questions. 

For CP/M-80 CP/M-86 MS DOS & PC DOS 
SuperSoft C: $350.00 

SupetS ft 



® 



FIRST IN SOFTWARE TECHNOLOGY 

P.O.Box 1628 Champaign, IL61820 
(217) 359-2112 Telex 270365 

CP/M and CP/M-86 are registered trademarks of Digital Research 
UNIX is a trademark of Bell Laboratories 

AUGUST 1984 -BYTE 83 



GREAT PRICES! 
GREAT SERVICE! 



If you're looking for a great 
deal on business software, 
800-Sof tware is hard to beat. We 
became one of America's largest 
software marketers by offering 
great prices— and a lot more. 

Here are some of the reasons 
to buy from 800-SOFTWARE: 

■ LOW DISCOUNT PRICES. Gen 
erally 40-50% off suggested list 
price. 

■ FAST DELIVERY. Our giant in 
ventory makes this possible. (We 
can provide overnight delivery!) 



■ FREE TECHNICAL SUPPORT. 

Call our helpful and patient 
experts. 

■ RELIABILITY AND REPUTATION. 

Some of our best customers 
are America's biggest corpora- 
tions, including IBM, Hewlett- 
Packard, G.E. and Honeywell. 
Also, we fully guarantee every 
product we sell against defects. 

■ EASY TERMS. We accept pur- 
chase orders from qualified 
organizations. 



CHECK OUT THESE INCREDIBLE 




SOFTWARE PRICES: 




AMDEK™ MONITORS 


CALL 


MICROSOFT® WORD 




AST 6-PACK PLUS™ 


CALL 


W/MOUSE 


$359 


CROSSTALK™ 


$105 


MULTIMATE™ 


$299 


dBASE ll/lll™ 


CALL 


MULTIPLAN™ 


$149 


EASYWRITER II 




NORTON UTILITIES™ 


$ 59 


SYSTEM™ 


$195 


PFS: FILE/GRAPH/ 




4-POINT GRAPHICS™ 


$129 


WRITE/REPORT™ 


$ 85 


FRAMEWORK™ 


CALL 


QUICKCODE™ 


CALL 


HAYES 




RBASE 4000™ 


$329 


SMARTMODEMS™ 


CALL 


SUPERCALC® 2 


$159 


HERCULES GRAPHIC 




SUPERCALC® 3 


$219 


CARD™ 


CALL 


WORDSTAR® 


CALL 


INFOSTAR™ 


CALL 


WORDSTAR® 




IUS ACCOUNTING 




PRO. PAK 


CALL 


MODULES™ 


$299 


VOLKSWRITER 




LOTUS 1-2-3/ 




DELUXE™ 


$179 


SYMPHONY™ 


CALL 


PLUS MUCH, MUCH MORE! 


MAXELL™ OR MEMOREX 1 


M 






DISKETTES 


CALL 







800-SOFTWARE IS READY TO SERVE YOU. 
TO ORDER CALL TOLL-FREE: 800-227-4587 OR 415-644-36 1 1 



□ Dealer inquiries welcome. 

□ Quantity discounts available 
through our National Accounts 
Program. 

□ Purchase orders accepted. Please 
call in advance. 

□ Call for shipping charges. Over- 
night delivery available. 



□ We do not add surcharge for credit 
card purchases. 

□ Prices may change. Above prices 
are for IBM-PC and compatibles. 

□ International orders welcome: 
TELEX #751743 800-SOFTWARE UD 

D CompuServe Key Word "GO-EH". 

CA residents add sales tax. 
©Copyright 800-SOFTWARE 1984 



m MOO-SOFTWARE) 

940 Dwight Way, Berkeley, CA 94710 



BOOK REVIEWS 



In the second chapter, "Our Counter- 
productive Instincts." the author points 
out that software engineers are primar- 
ily concerned with the logic in a pro- 
gram. Not enough time is devoted to 
the visual aspects of the program: How 
does it look to the user? Throughout the 
book the words create visual images 
that link thoughts with experience; 
Heckel believes that this use of familiari- 
ty is critical for successful software 
design. 

If computers are to be accepted by 
the general population, Heckel declares, 
it is the job of software engineers to 
make the first experience a positive one. 
For instance, to design a word processor 
for a secretary try to emulate a type- 
writer. Make the new user feel at ease 
and not intimidated by the product. 
With a positive, familiar approach, it is 
maintained, you can then lead the user 
on gradually to the more advanced fea- 
tures of the package. 

"How to Design Software that People 
Will Want to Use" is a section that con- 
tains many aspects to ponder in friendly 
software design. For instance, "Most 
software is run by confused users acting 
on incorrect and incomplete informa- 
tion, doing things the designer never ex- 
pected." How true! Judgmental com- 
mands, such as "Illegal Command," 
simply increase a user's defensiveness. 
Use empathy, not superiority. Give the 
user control. Involve the user. Orient the 
user to the world. In a word processor, 
the designer can not only show users 
the page they're typing on but can also 
tell them which document, page, line, 
and position is in use. Avoid frustrating 
the user. Don't bore them or go over 
their heads. Allow for help menus but 
don't make them automatically invoked. 
Put yourself in the user's place. To be 
a competent software engineer, you 
must know the medium's capabilities 
well. Be willing to rewrite. Don't expect 
to get it right at the first effort. 

A Logical Approach 

If you're on a software-development 
team that isn't doing as well as it might, 
then Sof tky's The ABC's of Developing Soft- 
ware presents a totally different view of 
program design. The text describes how 
to design and implement a major soft- 
ware project. 
The example used throughout this 

[continued) 



84 BYTE • AUGUST 1984 



Circle 4 on inquiry card. 



THE FORTH SOURCE 



TM 



MVP-FORTH 

Stable - Transportable - Public Domain - Tools 
You need two primary features in a software development package ... a 
stable operating system and the ability to move programs easily and 
quickly to a variety of computers. MVP-FORTH gives you both these 
features and many extras. This public domain product includes an editor, 
FORTH assembler, tools, utilities and the vocabulary for the best selling 
book "Starting FORTH". The Programmer's Kit provides a complete 
FORTH for a number of computers. Other MVP-FORTH products will 
simplify the development of your applications. 

MVP Books - A Series 

□ Volume 1, All about FORTH by Haydon. MVP-FORTH 
glossary with cross references to fig-FORTH, Starting FORTH 
and FORTH-79 Standard. 2 nd Ed. $25 

□ Volume 2, MVP-FORTH Assembly Source Code. Includes 
CP/M® , IBM-PC® , and APPLE® listing for kernel $20 

□ Volume 3, Floating Point Glossary by Springer $10 

□ Volume 4, Expert System with source code by Park $25 

□ Volume 5, File Management System with interrupt security by 
Moreton $25 

MVP-FORTH Software - A Transportable FORTH 

□ MVP-FORTH Programmer's Kit including disk, documen- 
tation, Volumes 1 & 2 of MVP-FORTH Series (All About 
FORTH, 2 nd Ed. & Assembly Source Code), and Starting 
FORTH. Specify □ CP/M, D CP/M 86, □ CP/M + . □ APPLE, 

□ IBM PC, □ MS-DOS, □ Osborne, □ Kaypro. □ H89/Z89, 

□ Z100, □ TI-PC, □ Micro Decisions, □ Northstar, 

^ □ Compupro, □ Cromenco, □ DEC Rainbow, □ NEC 8201 , 
^ DTRS-80/100 $150 

□ MVP-FORTH Cross Compiler for CP/M Programmer's Kit. 
Generates headerless code for ROM or target CPU $300 

□ MVP-FORTH Meta Compiler for CP/M Programmer's kit. Use 
for applicatons on CP/M based computer. Includes public 
domain source $150 

□ MVP-FORTH Fast Floating Point Includes 951 1 math chip on 
board with disks, documentation and enhanced virtual MVP- 
FORTH for Apple II, II + , and lie. $450 

□ MVP-FORTH Programming Aids for CP/M, IBM or APPLE 
Programmer's Kit. Extremely useful tool for decompiling, 
callfinding, and translating. $200 

□ MVP-FORTH PADS (Professional Application Development 
System) for IBM PC, XT or PCjr or Apple II, II + or He. An 
integrated system for customizing your FORTH programs and 
applications. The editor includes a bi-directional string search 
and is a word processor specially designed for fast 
development. PADS has almost triple the compile speed of 
most FORTH's and provides fast debugging techniques. 
Minimum size target systems are easy with or without heads. 
Virtual overlays can be compiled in object code. PADS is a 
true professional development system. Specify 

Computer. $500 

<£$ □ MVP-FORTH Floating Point & Matrix Math for IBM or 

Apple $85 

^ □ MVP-FORTH Graphics Extension for IBM or Apple $65 

^ □ MVP-FORTH MS-DOS file interface for IBM PC PADS $80 

£** □ MVP-FORTH Expert System for development of knowledge- 



based programs for Apple, IBM, or CP/M. 



$100 



FORTH CROSS COMPILERS Allow extending, modifying and compiling 
for speed and memory savings, can also produce ROMable code. 
Specify CP/M, 8086, 68000, IBM, Z80, or Apple II, II + $300 

FORTH COMPUTER 



D Jupiter Ace 



$150 



Ordering Information: Check, Money Order (payable to MOUNTAIN VIEW PRESS, 
INC.). VISA, MasterCard. American Express. COD's $5 extra. Minimum order $15. 
No billing or unpaid PO's. California residents add sales tax. Shipping costs in US 
included in price. Foreign orders, pay in US funds on US bank, include for handling 
and shipping by Air: $5 for each item under $25. $10 for each item between $25 and 
$99 and $20 for each item over $1 00. All prices and products subject to change or 
withdrawal without notice. Single system and/or single user license agreement 
required on some products. 



FORTH DISKS 

FORTH with editor, assembler, and manual. 

^ □ APPLE by MM, 83 $100 n Z80 by LM 83 V^ $ 10 

□ APPLE by Kuntze $90 n 8086/88 by LM. 83 ^ $100 

□ ATARI® valFORTH $60 n 68000 by LM, 83 ^ $250 
^ □ CP/M® by MM, 83 $100 n V |C FORTH by HES, VIC20 

□ HP-85 by Lange $90 cartridge $50 

□ HP-75 by Cassady $1 50 □ C64 by HES Commodore 64 
^ □ IBM-PC* by LM, 83 $100 cartridge $60 

□ NOVA by CCI 8" DS/DD$175 □ Timex by HW $25 

Enhanced FORTH with: F-Floating Point, G-Graphics, T-Tutorial, 
S-Stand Alone, M-Math Chip Support, MT-Multi-Tasking, X-Other 
Extras. 79-FORTH-79. 83-FORTH-83. 
«* □ APPLE by MM, ° C64 b V ParSec - MVP - F > 79 ■ 

* F.G.&83 $180 ^G&X $96 

□ ATARI by PNS. F.G, & X $90 D FD0S for Atari FORTH's $40 

^ □ CP/M by MM. F & 83 $1 40 D 1 ^ e " s '° ns f ? n ^ S P ecif y 
** IBM. Z80. or 8086 

□ Apple, GraFORTH by I $75 q Software Floating 

□ Multi-Tasking FORTH by SL, Point $100 
CP/M, X & 79 $395 □ 808? Support 

(IBM-PC or 8086) $1 00 

□ 951 1 Support 
(Z80or8086) $100 

□ Tlmex by FD, tape G,X, □ Color Graphics 

&79 $45 (IBM-PC) $100 

□ Data Base 

□ Victor 9000 by DE.G.X $1 50 Management $200 

D fig-FORTH Programming Aids for decompiling, callfinding, 

and translating. CP/M. IBM-PC, Z80. or Apple $200 

FORTH MANUALS, GUIDES & DOCUMENTS 

□ ALL ABOUT FORTH by □ 1980 FORML Proc. $25 
Haydon. See above. $25 n 1981 FORML Proc 2 Vol $40 

□ FORTH Encyclopedia by D 1982 FO rml Proc. $25 
Derick & Baker $25 ,_, HftOH „ rnnTU 

Jn TL n ,. «-^„,. 1IU D 1981 Rochester FORTH 
up □ The Complete FORTH by p roc j 2 5 

Winfield $16 D 1982 Rochester FORTH 

□ Understanding FORTH by Proc. $25 
Reymann $3 H 1983 Rochester FORTH 



□ TRS-80/I or III by MMS 

F, X. &79 $130 



& 



□ FORTH Fundamentals, 
Vol. I by McCabe 
^ □ FORTH Fundamentals, 



Proc. 



$25 



j 16 DA Bibliography of FORTH 

References, 1st. Ed. $15 



Vol. II by McCabe $1 3 The Journal of F0RTH 

%\ n r^n-ru -r . w , .. u Application & Research 

^C** D FORTH Tools, Vol.1 by KK 

Anderson & Tracy $20 □ VoL 1 « No - 1 $20 



□ Beginning FORTH by 

Chirlian 



^ 



$17 



n Vol. 1, No. 2 



□ FORTH Encyclopedia 
Pocket Guide $7 

□ And So FORTH by Huang. A 
college level text. $25 

□ FORTH Programming by 
Scanlon $1 7 

□ FORTH on the ATARI by E. 

Floegel $8 

□ Starting FORTH by Brodie. 
Best instructional manual 
available, (soft cover) $18 

□ Starting FORTH (hard 



$20 
$25 



□ A FORTH Primer 

□ Threaded Interpretive 
Languages $23 

D Systems Guide to fig- 
FORTH $25 

□ Invitation to FORTH $20 

□ PDP-11 User Man. $20 

□ FORTH-83 Standard $15 

□ FORTH-79 Standard $15 

□ FORTH-79 Standard 
Conversion $10 



cover) $23 □ Tiny Pascal fig-FORTH $1 
□ 68000 fig-Forth with □ NOVA fig-FORTH by CCI 

assembler $20 Source Listing $25 

D Jupiter ACE Manual by n NO va by CCI User's 

Vickers $15 Manua | $25 

□ Installation Manual for fig-FORTH, $1 5 

Source Listings of fig-FORTH, for specific CPU's and computers. The 
Installation Manual is required for implementation. Each $1 5 

□ 1 802 □ 6502 □ 6800 □ AlphaMicro 

□ 8080 □ 8086/88 D 9900 □ APPLE II 

□ PACE □ 6809 □ NOVA □ PDP-1 1 /LSI- 11 . 

□ 68000 □ Eclipse □ VAX □ Z80 □ IBM ^ 



MOUNTAIN VIEW PRESS, INC. 



PO BOX 4656 



MOUNTAIN VIEW, CA 94040 



(415)961-4103 



Circle 225 on inquiry card. 



AUGUST 1984 -BYTE 85 



Circle 1 1 1 on inquiry card. 



PROTECT 
YOUR. . . 




The APPLE-CENTER model 
12 protects your Apple from 
theft and unauthorized use. 
All metal construction, the 
APPLE-CENTER is available 
with or without fan and surge 
protection. Works with 
Apple's DUODISK. 




The EMBLEM, for the IBM 
PC, protects both the key- 
board and the computer. 
Foam lined keyboard tray 
flips up for complete security. 
Also available with surge 
protection. 




^Patent Pending 



The SECURITY CORNERS 
will protect most printers, 
hard disks, stereos, test 
equipment, and other 
computers. 

Available from your dealer or order direct. 




DOSS 
INDUSTRIES 



1224 Mariposa, San Francisco, CA 94107 
415-861-2223 



BOOK REVIEWS 



The two authors 
occasionally agree. 

book concerns the development of a 
software package that will simulate 
power-regeneration capabilities of 
energy sources placed strategically 
throughout California. The energy input 
is to come from solar cells, turbines, 
windmills, waste-burning systems, and 
tidal-wave energy generation occurring 
over varying seasonal conditions for a 
period lasting two years. 

Due to the immensity of the project, 
the author calls for tremendous initial 
development to ensure that the project 
is successful, affordable, and delivered 
on time. 

The process begins with a solid pro- 
posal, explaining in full detail what the 
project is all about, even suggesting 
people who should be hired. Because 
the software will be used and repaired 
by the people on hand, it is important 
to keep them in mind when the design 
is started. Here's where Softky states, 
agreeing with Heckel's point of user 
friendliness, "the simulation will be 
operable by staff who are not profes- 
sionally trained programmers or soft- 
ware engineers." 

Several interesting and upsetting 
statistics are woven throughout. One is 
that during the development life of any 
software project, the developer can ex- 
pect a 30 percent turnover in staff. 
Softky stresses that a good initial prob- 
lem design includes time to bring new 
engineers on board and train them to 
the point where they can be productive. 
If this happens late in the development 
phase, this training period can take six 
months. 

The author points out that software 
developers must use the same system 
the customer owns. This could require 
some retraining of the developers. Also, 
because the software engineers cost so 
much, it makes sense to have terminals 
and printers for them all. Softky il- 
lustrates how to organize and structure 
the entire project and includes an ex- 
cellent problem description using Pro- 
gram Definition Language (PDL). 

Unlike Heckel, Softky sees the pro- 
gram controlled by data,, control, input, 
output, and control logic, or sequential 
files. Excellent discussions center on 



data-management systems (DMS). 
Some programs are designed to free 
the software engineer from worrying 
about any links between the program 
and the system's peripheral devices. 

The ABC's of Developing Software contains 
informative guidance for the software- 
development phase. This includes the 
realization that as time slips, so does 
the quality of the entire project because 
important steps, such as keeping the 
documentation up to date, are by- 
passed. Quality monitoring is an on- 
going process. 

Softky states, "User's needs are so 
pervasive that they ought to affect the 
list of requirements. It is important to 
always remember that most software 
isn't operated by people who built it, 
and as a result, some of it must exist to 
'hold the user's hand.' It also happens 
that the design effort can turn up hard 
spots, those places where the user 
could easily make a wrong decision. 
Conscientious designers then include 
virtual requirements, which lead to im- 
provements in design solely for the 
user's benefit." Here again, we find 
direct agreement between the two 
authors. 

Softky stresses closely organized 
structured design, ranging from the 
high-level, broad design down to the 
detailed subprograms. He mentions the 
needs for good design-test plans and 
the usefulness of well-written software- 
maintenance and user's manuals. 

The last step Softky mentions is in- 
tegrating and testing the software. This 
is where the efforts of many subgroups 
come together under the master control 
program. Debugging occurs during the 
walk-through where the engineers, 
senior programmers, and the systems 
analysts have all done their parts; what 
hopefully emerges is a useful, well- 
documented, efficient, reliable, and on- 
time software package. 

What I gained from Heckel's book will 
affect the way I program from now on. 
What I gained from Softky's text is an 
appreciation and respect for upper 
management. After you've read both 
books, you'll have a handy combination. 
You'll have the knowledge to correctly 
define, structure, code, and implement 
a software design, combined with the 
craftiness of a car salesman and the em- 
pathy of a psychiatrist. 

[continued) 



86 BYTE- AUGUST 1984 



WE ALL AGREE 




Auto Cut 
Sheet Feed 
(option 



Tractor Feed 
(option) 




We can't think of anyone who isn't better off 
with A DX-15 DAISY WHEEL PRINTER. 



Dynax' s DX- 1 5. And if you want the kind of printer that lives 

in the fast lane, the DX-15 is your printer. It does it all, 

certainly all that far more expensive models can do. The DX- 

15 offers you some important options like Keyboard, 

Tractor Feed and Auto Cut Sheet Feed. Not only that, the 

DX-15 is a very durable unit, be it for business, home or 

word processing applications. And who says a great printer 

has to be expensive? Not us! What we say is you'll be 

dumbfounded when your dealer tells you just how 

inexpensive the DX-15 

happens to be. Qive 

him a call or drop by. 

Dynax's DX-15 says it ~ 6070 Rickenbacker Road, 

A l . _ City of Commerce, CA 90040, 



Dynax; Inc. 



Circle 115 on inquiry card. 



213-727-1227 




Offices: (NJ) 201-471-0100 /(TX) 214-257-1700 / (IL) 312-981-5633 / (MA) 617-933-8162 / (N.CA) 408-730-1712. 



Only one company can show you so many 
And it isn't IBM. 




Monochrome text. Color graphics. 

Even a new super display adapter that provides 

the Best of Both, on one board. 



Connect your PC to peripherals like a 

modem or printer, with the added 

efficiency of print spooling. 



IBM today sets the standard in 
personal computers. 

But what happens when you want 
to expand your PC's capability to 
something beyond standard? 

That's when you have to look 
beyond IBM. To the one company 
that offers the widest range of prod- 
ucts to make your PC work more 
powerfully, more efficiently. 

Persyst. 

Display adapters. Persyst 
introduces a significant 
technical advance. 

Now Persyst redefines the basic 
utility of display adapters for IBM 
personal computers. 

Our BoB™ super display adapter 
provides the sharpest text resolution 
ever as well as brilliant color graph- 



ics—the Best of Both— on one 
board. Plus a unique option that lets 
you design and download custom 
programmable character sets. 

Meanwhile, for great basic 
performance, we also offer 
PC/Monochrome™ and PC/Color 
Graphics™ display adapters en- 
gineered to deliver the same quality 
as IBM's own standard adapters. 

Only Persyst offers you so much 
choice. 

Memory and multifunction boards. 
Persyst has the most flexible 
ways to expand your PC. 

Here again, Persyst offers a 
unique array of products to expand 
your PC beyond the IBM standard. 



Want the most capable one-slot 
multifunction packages available? 

Choose either Time Spectrum™ 
with up to 512K, or Time Spectrum™ 
SB384 with up to 384K RAM. Other 
functions include a bidirectional par- 
allel port and async serial ports to 
link your PC with printers, modems 
and instrumentation. Calendar 
clock. Game port. Plus, Wait-Less 
Printing™ print spooling and 
Insta-Drive™ RAM disk software. 

Want to expand function without 
adding memory? 

Our Timeport™ gives you a calen- 
dar clock, bidirectional parallel port 
and two async serial ports, as well 
as capability for ROM and static 



PC/MONOCHROME 
DISPLAY ADAPTER 



PC/ COLOR GRAPHICS 
DISPLAY ADAPTER 



BoB SUPER 
DISPLAY ADAPTER 



TIME SPECTRUM 
WITH RAMPAK ,M 



TIME SPECTRUM SB384 




88 B YTE • AUGUST 1984 



ways to expand the power of your IBM PC. 



17664 
568 

133 

4 
273 



3-88-83 
2-82-84 
1-81-88 
2-16-84 
2-16-84 
2-16-84 
2-22-84 
2-24-84 
2-24-84 
3-81-84 
3-82-84 



Memory expansion to let your PC utilize 
the most sophisticated software. 



172 

615 

563 

1818 



Productivity features like a calendar 

clock to date and time stamp your files 

automatically. 



12:BBp 
7:22* 

12:88* 
l:34p 
3:49* 
3:56* 

11 :24a 
5:46p 
5:58p 
2:25p 
9:86a 




RAM. Uniport™ offers a calendar 
clock and bidirectional parallel port. 
And our Async Card™ provides two 
async serial ports. 

You can even add synchronous 
communications to your PC with our 
Multiple Protocol Communications™ 
(MPC) controller. 



ASYNC CARD 



Quality and documentation. 
Persyst support is built into 
every product. 

All Persyst expansion products 
include one important extra bene- 
fit— Persyst quality. 

Each board is fully burned in. 
Completely system tested. And 
backed by a limited one-year 
warranty* 

What's more, award-winning 
Persyst documentation makes using 
any Persyst product simple. 

Expand all the way from an IBM 
desktop PC to an IBM intelligent 
workstation. You can only do it 
with Persyst. 

Persyst is the only resource that 
offers display adapters. Multi- 

TIME SPECTRUM 
FOR THE Tl PC 



function and memory boards. And 
micro to mainframe communications. 

The most complete selection of 
innovative, technically advanced 
expansion products to meet your 
needs today. And tomorrow. 

Persyst dealers are ready to serve 
you. For the one nearest you, call 
(714) 660-1010. 

Persyst Products, Personal 
Systems Technology, 17862 Fitch, 
Irvine, CA 92714. 
Telephone: (714)660-1010. 
Telex: 467864. 



"You can only do it with Persyst!' 

IBM is a registered trademark of International Business 
Machines Corporation. Rainbow and DEC are registered 
trademarks of Digital Equipment Corporation. Tl is a 
registered trademark of Texas Instruments Corporation. 
♦Limited warranty details available with each product 
or on request. 



WAIT-LESS PRINTING, 

INSTA-DRIVE, 
PC/EDIT '" SOFTWARE 



DEC RAINBOW 
MEMORY MODULE 




Circle 351 for Dealer inquires. Circle 352 for End-User inquiries. 



AUGUST 1984 -BYTE 89 



Circle 199 on inquiry card. 




Multi-function 

RS-232 

Transfer Switches 

MFJ-1240 

*79 95 

Choice of 
8 models 

Multi-function RS-232 transfer switches let you 

switch your computer among printers, modems, 
terminals, any RS-232 peripherals; monitor data/ 
line failure, protect data lines from surges, and 
use as null modem for less cost than a switch alone. 
Switches 10 lines (2,3,4,5,6,8,11,15,17,20). 
LED data/line indicators monitor lines 2,3,4,5,6, 
8,20. Metal oxide varistors protect data lines 2, 3 
from voltage spikes and surges. Push button 
reverses transmit-receive lines (2,3). PC board 
eliminates wiring, crosstalk, line interference. 
Connects any one input to any one output. 



Model Price 

MFJ-1240 $79.95 
MFJ-1241 $99.95 
MFJ-1242 $119.95 
MFJ-1243 $119.95 



In Out 

1 2 

2 2 
2 3 
1 4 



Model Price In Out 

MFJ-1244 $139.95 3 3 
MFJ-1245 $169.95 3 5 
MFJ-1246 $199.95 5 5 
IMFJ-1247 $99.95 i 2l 

[switches 20 lines 



AC Power Centers 

MFJ-1108 MFJ-1108, $99.95. Add conven- 
$ QQ 95 fence, prevent data loss, head 
f bounce, equipment damage. Relay 
latches power off during power tran- 
sients. Multi-filters isolate equipment, 
eliminate interaction, noise, hash. 
MOVs suppress spikes, surges. 3 
isolated, switched socketpairs. One un- 
switched for clock, etc. Lighted power, 
reset switch. Pop-out fuse. 3 wire, 6 ft. 
cord. 15A, 125V, 1875 watts. Aluminum 
case. Black. 18x2 3 / 4 x2 in. MFJ-1107, 
$79.95. Like 1108 less relay. 8 sockets, 
2unswitched. MFJ-1109, $129.95. Like 
1107 but intelligent. Switch on device 
plugged into control socket and every- 
thing else turns on. Others available. 

Acoustic/ Direct 
Coupled Modem 




t/se with any $ ""J™ 
phone anywhere I £^3 

MFJ-1233 Acoustic/Direct Coupled 300 baud 
modem. Versatile. Use with virtually any phone, 
anywhere. Use battery or 110 VAC. Direct con- 
nect mode: Plug between handset and base. Use 
with single or multi-line phones. Acoustic 
coupled mode: Use with phones without modular 
plugs. Quality muffs give good acoustic coupling, 
isolates external noise for reliable data transfer. 
Originate/answer. Self test. Carrier detect, ON 
LEDs. RS-232, TTL compatible. Reliable single 
chip modem. Crystal controlled. Aluminum cabi- 
net. 9x1 1 /2x4 in. Other models available. 

Order from MFJ and try it. If not delighted, 
return within 30 days for refund (less shipping). 
One year unconditional guarantee. 
Order yours today. Call toll free 800-647-1800. 

Charge VISA, MC. Or mail check, money order. 
Add $4.00 each for shipping and handling. 



CALL TOLL FREE ... 800-647-1800 



Call 601-323-5869 in MS, outside continental USA. 

ENTERPRISES 
INCORPORATED 

921 Louisville Road, Starkvllle, MS 39759 



BOOK REVIEWS 



The Programmer's 

CiyM Handbook 

Reviewed by Wayne W. Shearer Jr. 

If you write assembly-language pro- 
grams for CP/M systems, this book is 
for you. I could end this review right 
here and not receive any complaints 
from anyone who reads The Programmer's 
CP/M Handbook. The author, Andy 
lohnson-Laird, has provided the long- 
awaited definitive book on CP/M pro- 
gramming. Explanations of each func- 
tion are explicit, filled with examples, 
and are the most complete I've seen 
about CP/M in print. 

To the Point 

The first sentence of chapter I explains 
the author's direction and purpose: 
"This book is a sequel to the Osborne 
CP/M User Guide by Thorn Hogan" 
(Osborne/McGraw-Hill. 1982). The first 
chapter outlines the contents of the 
book, the notation used in its examples, 
the mnemonics and languages in the 
program listings, and the type of reader 
for whom the book is written. And make 
no mistake, this is not a beginner's book. 
In chapter 4, a couple of paragraphs are 
devoted to each built-in command in 
the console command processor (CCP), 
and that's it. The book is for serious pro- 
grammers who write applications, utili- 
ties, and systems for CP/M. 

Ample Comment 

Without a doubt, The Programmer's CP/M 
Handbook provides the best explanation 
of the CP/M file structure and disk in- 
terfacing that I have found. A full 
chapter explains the file structure in 
CP/M. The file control block (FCB) is 
described byte by byte— in English, not 
computerese. And I believe that I now 
actually understand the disk-definition 
tables and disk-parameter blocks used 
in the CP/M basic input/output system 
(BIOS). I won't say the book is easy 
reading, but the explanations are about 
as clear as you can muster in assem- 
bly-language programming, and all ex- 
planations are accompanied by heavily 
commented program listings. 

One chapter is devoted to the basic 
disk operating system (BDOS) and 
another to the BIOS. Each call to the 
BDOS is discussed, including a short 
section on each, titled "Notes," that 
warns of common mistakes, misunder- 



standings, and pitfalls that await the 
CP/M programmer. The same is done 
for the BIOS calls. Character input/out- 
put (I/O) is given the full treatment, un- 
tangling the difference between logical 
and physical devices and providing in- 
depth explanations of such mundane 
subjects as serial and parallel interfac- 
ing. The chapter ends with a sample 
BIOS listing. No, this isn't the same 
stripped-down BIOS that's been appear- 
ing in the back of the CP/M Alteration 
Guide for years; it's a well-documented, 
full-blown BIOS that the author has de- 
veloped and tested himself. This could 
be the first assembly-language program 
that I've seen with more lines of com- 
ment than code. 

But lohnson-Laird isn't satisfied with 
expanding the CP/M manuals. He de- 
scribes enhancements that can be 
added to the BIOS to correct deficien- 
cies in CP/M and to expand the features 
and facilities available. Programmers 
can learn to customize a CP/M BIOS 
configuration and implement an en- 
hanced BIOS. These enhancements fall 
into two groups— expanded I/O facilities 
and improved error handling. Each 
group is given its own chapter. Adding 
I/O redirection, interrupt-driven input, 
serial protocols, terminal function keys, 
date and time, and device-configuration 
blocks are covered in one chapter. This 
may sound like a lot, but the chapter 
ends with a listing of an enhanced BIOS 
with over 4500 lines of source code. By 
an admittedly rough estimate, I figure 
the comment lines outnumber the 
source code lines by about 3 to I . If you 
can't understand this listing, you weren't 
paying attention. All programmers 
should be so kind. 

Debugging 

The next chapter describes CP/M's error 
handling. Obviously, this didn't take 
long. The author describes methods of 
detecting and correcting hardware 
errors. The goal is to build a CP/M that 
reduces the possibility of losing data. 
The result of this effort is a CP/M where 
the message "BDOS ERROR" seldom 
appears. 

The chapter titled "Debugging a New 
CP/M System" should be lifted in its en- 
tirety and included in Digital Research's 
documentation for CP/M— with appro- 
priate compensation to its author, of 

{continued) 



90 B YTE • AUGUST 1984 



Powerful CI^NT Software. 

For Apple, Osborne, Kaypro, Rainbow, NEC, Epson, Heath, Xerox and others. 

$29 95 



*■$& 



MO* 



Now only ^m\J each! 

EXTRA MANUALS NOW AVAILABLE, ONLY $14.95 EACH! 



NEVADA 

COBOL 



NEVADA 

PASCAL 



When we introduced Nevada COBOL in 1979, it was loaded with 
innovations. Today's, Edition 2.1 is even better! 

□ Extremely Compact. You can compile and execute up to 2500 
statements in 32K RAM, 4000 statements in 48K, etc. 

□ It's based upon the ANSI-74 standards with level 2 features such 
as compound conditionals and full CALL CANCEL. 

□ You get a diskette, 165-page manual with lots of examples and 16 
complete COBOL source code programs. 

Also available: COBOL Application Packages, Book 1 $9.95 



NEVADA 



FORTRAN 



This newest addition to the 8-bit Nevada product line has many 
advanced features: 

□ 14-digit precision, BCD Math, no round-off errors with decimal 
arithmetic for business and floating point +63 -64 for scientific. 

□ Avery nice TRACE style debugging. 

□ Arrays up to 8 dimensions and 64K strings. 

□ External procedures and functions with dynamic auto-loading. 

□ One-step compile, no assembly or link required. 

D No limits on size of procedure, nesting levels, recursion. 

D Requires 60K RAM and one disk drive with at least 90K storage. 

□ You get a 184-page manual and diskette rev. 4.1. 



NEVADA 



BASIC 



TM 



□ FORTRAN IV based upon ANSI-66 standards with some 1977 
level features. 

□ IF . . THEN . . ELSE constructs. 

D Avery nice TRACE style debugging. 

□ 150 English language error messages. 

□ You get a diskette, including an 8080 assembler and Nevada 
FORTRAN rev 3.2, 214-page manual and five sample programs. 
Requires 48K RAM. 



NEVADA EDI1 



□ A full-screen video display texteditor rev. 3.1 designed specifi- 
cally to create COBOL, PASCAL and FORTRAN programs. 

□ See the review in May 1983 Microcomputing. 



□ This interpreter has a built-in full-screen editor. 
I i Single- and Multi-line functions. 

BCD Math— no round-off errors. 

□ Full Matrix operations. 

□ Requires 48K RAM. 

□ You get 220-page manual and diskette rev. 2.5. 



NEVADA PILOT 

□ See review in January 1983 MICROCOMPUTING. 

□ You get a diskette rev. 6.1 , 131-page manual and ten useful 
sample programs. 



This is a limited time offer, so order yours today! 

W ELLIS COMPUTING, INC 
3917 Noriega Street 
SINCE1977 San Francisco, CA 94122 Phone (415) 753-0186 



The CP/M Operating System, an 8080, 8085 or Z-80 microprocessor, and 32K 
RAM are required, unless stated otherwise above. 

Diskette format: 

□ 8" SSSD (Standard CP/M IBM 3740) 
5V4" Diskette for: 
D Apple CP/M 

□ DECVT180 
D DEC Rainbow 
D Epson QX-10 
D Heath Hard Sector (Z-89) 

□ Heath Soft Sector (Z-90, Z-100) 
D IBM-PC (Requires Z-80, CP/M-80 card) 
D Kaypro Double Density (NCR) 

□ Micropolis Mod II 

□ NEC PC 8001 



D North Star Double Density 

□ North Star Single Density 
LT] Osborne Single Density 
D Sanyo 1000, 1050 

□ Superbrain DD DOS 
3.X (512 byte sec) 

□ Televideo 

□ TRS-80 Model I Base 
mapper 

□ Xerox 820 Single Density 



Satisfaction is guaranteed— or your money back. If for any 
reason you're not completely satisfied, just return the package 
— in good condition— within 15 days and we'll refund your 
money. 



Please send me: Software Packages 

□ COBOL □ FORTRAN □ EDIT □ PASCAL □ BASIC □ PILOT 

Send my order for packages @ $29.95 each Total 

COBOL Applications Package @ $9.95 each Total . 

Please send extra manuals: 



□ COBOL 



□ FORTRAN □ EDIT □ PASCAL □ BASIC □ PILOT 
EXTRA manuals @ $14.95 each Total 



California deliveries add 6% or 6.5% sales tax 

Shipping and Handling Fees: Add $4.00 for the first package or manual 
and $2.00 each additional. Overseas: Add $15.00 for first package or 

manual and $5.00 each additional. 

Checks must be in U.S. Dollars and drawn on a U.S. Bank. 

□ Check enclosed D COD if COD add $4.00 

D MasterCard □ VISA TOTAI 



Card # . 



.Exp. 



Signature 

Ship to: Name . 
Street 



City/St/Zip 

CP/M is a registered trademark ol Digilal Research. Inc. Microsoft is a registered trademark of Microsofl 
Corp. TRS-80 is a registered trademark of Tandy Corp. Apple II is a trademark ol Apple Computer, Inc. 
Osborne is a regislered trademark ol Osborne Computer Corp. Xerox 820 is a trademark ol Xerox Corp. 
Kaypro is a trademark of Non-linear Sys. Heath/Zenilh is a trademark of Heath Corp. IBM is a regislered 
trademark of International Business Machines. Corp. Nevada BASIC. Nevada COBOL. Nevada FOR- 
TRAN. Nevada PILOT, Nevada EDIT. Nevada PASCAL, and Ellis Computing are trademarks of Ellis Com- 
puting. Inc. © 1984 Ellis Computing. Inc. 



OFFER EXPIRES 9-30-84 



AUGUST 1984 'BYTE 91 



SAVE MORE THAN EVER ON... 

3M Scotch DISKETTES < 



AND OTHER COMPUTER NEEDS! 



LIFETIME WARRANTY! 



3M BULK DISKETTES' 
AT TREMENDOUS SAVINGS! 

These are genuine 3M diskettes with a lifetime warranty. But they are bulk packed in cartons of 50 
with separate white Tyvec envelopes. No identification labels, write protect tabs or cartons are 
provided! A great buy for volume users. 



$155 

■ Qty. 50 



Si97 

5%-DSDD_^~ j | — 



5V4"SSDD-96TPI $2.15 5W DSDD-96TPI $2.70 

All have reinforced hub. 
SOFT SECTOR ONLY! i 

(for IBM, APPLE, KAYPRO, DEC and about 99% of all computers.) 
Must be ordered in multiples of 50! 

BOXED 3M DISKETTES 
WITH ALL THE TRIMMINGS! 

Factory-fresh 3M packaging with envelopes, 3M logo labels, ID labels and write-protect tabs. 

$-169- - $023 

! | Qty. 20 5WDSDD — ^ ^RH Qty. 20 

5 1 /4" SSDD-96TPI $2.60 8" SSSD $2.05 

5W DSDD-96TPI $3.25 8" SSDD $2.50 

8"DSDD $3.10 

Minimum order of 20 diskettes. Additional diskettes in multiples of 10. 



3M HEADCLEANING KITS 

Stop swearing and start cleaning. This non-abrasive 
cleaning kit has everything you need for thirty applica- 
tions. 

$23.00 » $1 50 Shpng 

SAVE MONEY WITH A CLEAN COMPUTER! 

INTRODUCING MINI-VAC 



fy^f* 



Most computer malfunctions are caused by dust. MINI- 
VAC is ideal for cleaning keyboards, screens, drives and 
printers. (Great for photo equipment, too!) Equipped 
with an easy-empty bag, two directional wands and two 
fine-brush nozzles. Don't compute without it. (Requires 
9-volt battery which is not included.) 

$21.95 * $3 00Shpng 

AT LAST: A DISK DRIVE DIAGNOSTICS 
SYSTEM THAT WORKS! 

The Dymek Recording Interchange Diagnostic (RID) is a 
professional, but easy to use, drive diagnostic disk. It 
tests drive speed, radial position, hysteresis, write func- 
tion, erase crosstalk, signal-to-noise and clamping. In 
short, it's a professional's system that will help you keep 
your machine in prime condition... and avoid the evils of 
data loss. 

$29.95 • $1.50Shpng. 






MEDIA-MATE 50: 
A REVOLUTION IN DISKETTE STORAGE 

Every once in a while, someone takes the simple... and 
makes it elegant. This unit holds 50 5Va" diskettes, has 
grooves for easy stacking, nipples to keep diskettes from 
slipping in the case and several other features. We like it. 
$10.95 * $2 00 Shpng 



*> 



DISKETTE 70 STORAGE: 
STILL A GREAT BUY 

Dust-free storage for 70 5 1 A" 

diskettes. Six dividers included. 

An excellent value. 

$14.95 * $3.00Shpng 



PRINTER RIBBONS 
AT BARGAIN PRICES. 



EPSON MX-70/80 
EPSON MX-100 
Okidata Micro 84 
Diablo 630 Mylar . 
Diablo 630 Nylon 
Okidata Micro 83 



$3.58 . 
$6.99 4 
$3.66 ♦ 
$2.60 ■ 
$2.93 
$1.48 



.25 Shpng. 
.25 Shpng. 
25 Shpng. 
25 Shpng 
25 Shpng 
25 Shpng. 




DISK CADDIES 



bW 



$-|65 ea 

1 + .20 Shpng 



...the original flip-up disk 
holder for 10 diskettes. 
Beige or grey only. 



Shipping: 5W DISKETTES— Add $3.00 per 100 or fewer diskettes 
8" DISKETTES— Add $4.00 per 100 or fewer diskettes. OTHER 
ITEMS: Add shipping charges as shown in addition to diskette 
shipping charges Payment: VISA and Mastercard accepted. COD 
orders only, add $3 00 handling charges Taxes: Illinois residents, 
please add 8% sales tax 

WE WILL BEAT ANY NATIONALLY ADVERTISED PRICE 

ON THE SAME PRODUCTS AND QUANTITIES! 

Nationwide: 1-800-621-6827 

Illinois: 1-312-944-2788 

Hours: 9AM - 5PM Central Time 

Minimum Order: $35.00 



DISK WORLD!, Inc. 

SUITE 4806 

30 EAST HURON STREET 

CHICAGO, ILLINOIS 60611 



Authorized Distributor 
Information Processing Products 



BOOK REVIEWS 



course. This section covers trouble- 
shooting the CP/M BIOS from basic 
debugging techniques (called "the Or- 
ville Wright approach") to the use of ex- 
tensive built-in debugging code (listings 
included, naturally). Page after page is 
filled with checklists of potential prob- 
lems and possible remedies. Detailed 
techniques for testing I/O, disk, and in- 
terrupt routines are provided, as those 
areas are especially hard to debug 
because they are very hardware depen- 
dent. The use of pass counters, error 
trapping, and a discussion of bringing 
up the bootstrap loader are all covered. 

The final chapter provides expanded 
utilities for the system. A major change 
is made here: the author switches from 
assembly language to BDS C. While I 
have not yet used C the program 
listings and examples are clear enough 
to follow the logic of the utilities and 
debugging aids described. In fact, these 
utilities looked so good that I am now 
in the market for a C compiler. I just 
can't resist changing data rates, hiding 
files from the directory, reassigning I/O 
devices at will, and changing serial pro- 
tocols as needed. With the understand- 
ing of CP/M that I gained after reading ' 
this book, I can already think of a few 
new utilities that I just might develop. 

This book has been needed by the 
CP/M community for some time now. 
The fact that it was written by someone 
as talented and knowledgeable as 
Johnson-Laird is a pleasant surprise. I 
recommend this handbook to anyone 
who desires an intimate and serious 
understanding of CP/M. I assure you 
that it will become a valuable but tat- 
tered addition to your technical 
literature, as you open it repeatedly to 
gleen yet another fact from its pages. ■ 



David D. Clark (246 South Fraser St. #2. 
State College, PA 16801) is a postdoctoral 
research scholar in the chemistry department of 
Pennsylvania State University. 

Chris H. Pappas is a professor of computer 
science at Broome Community College, B\ng- 
hamton. New York, and is currently writing a 
book on APL. 

Wayne W. Shearer \r. (H43 South University 
Blvd., Denver, CO 802 10) is general manager 
of Shearer Associates, a consulting firm based 
in Denver. 



92 BYTE • AUGUST 1984 



Circle 105 on inquiry card. 



NEW 128K COMMODORE - 80 COLUMN 



COMPUTER SYSTEM SALE! 

HOME • BUSINESS • WORD PROCESSING 




4023 Printer 



LOOK AT ALL YOU GET FOR ONLY $1195 

LIST PRICE 

B128 COMMODORE 128K 80 COLUMN COMPUTER 995.00 

8050 DUAL DISK DRIVE (oyer 1 million bytes) 1795.00 

4023 - 100 CPS - 80 COLUMN BIDIRECTIONAL PRINTER 499.00 

12" HI RESOLUTION 80 COLUMN GREEN OR AMBER MONITOR 249.00 

SUPER SCRIPT 80 COLUMN PROFESSIONAL WORDPROCESSOR 149.50 

SUPER BASE PROFESSIONAL DATA BASE 

BOX OF 10 LORAN LIFETIME GUARANTEED DISKS 

1100 SHEETS FANFOLD PAPER 

ALL CABLES NEEDED FOR INTERFACING 

TOTAL LIST PRICE 



149.50 
49.95 
19.95 

102.05 



4008.95 



Printer replacement options (replace the 4023 with the following at these sale prices) 



SALE PRICE 
$1195.00 



* Olympia Executive Letter Quality Serial Printer/Typewriter 
+ Comstar Hi-Speed 160 CPS 15 l /2" Serial-Business Printer 



LIST 

849.00 
779.00 



SALE 
499.00 
449.00 



Plus You Can Order These Business Programs At Sale Prices 



ACCOUNTS RECEIVABLE 
ACCOUNTS PAYABLE 
PAYROLL 



LIST 

149.95 
149.95 
149.95 



SALE 
99.00 
99.00 
99.00 



INVENTORY 
GENERAL LEDGER 



LIST 

149 95 
149.95 



SALE 
99.00 
99.00 



A5 DAY FREE TRIAL We give you 15 days to try out this SUPER SYSTEM PACKAGE!! If it doesn't meet your expec- 
tations, just send it back to use prepaid and we will refund your purchase price. 1 ! 

90 DAY IMMEDIATE REPLACEMENT WARRANTY If any of the SUPER SYSTEM PACKAGEequipmentor programs 
fail due to faulty workmanship or material we will replace it IMMEDIATELY at no charge!! 



| Add $50.00 for shipping and handling!! j 

| $100.00 for Canada, Puerto Rico, Hawaii orders. ■ 

| WE DO NOT EXPORT TO OTHER COUNTRIES. J 

■ Enclose Cashiers Check, Money Order or Personal Check. ■ 

■ Allow 14 days for delivery, 2 to 7 days for phone orders, 1 day I 
I express mail! Canada orders must be in U.S. dollars. We | 
| accept Visa and MasterCard. We ship C.O.D. to U.S. addresses I 
lonly. ,««« — « — — — J 



ENTERPRISE?? (wE love ouR customers » 

BOX 550, BARRINGTON, ILLINOIS 60010 
Phone 312/382-5244 to order 



Circle 256 on inquiry card. 



AUGUST 1984 -BYTE 93 



EVENT QUEUE 



August 1984 

• C UNIX COURSES 
Courses in C Language and 
UNIX, Concord, MA, Somers 
Point, N), and College Park, MD. 
Three five-day courses are 
offered: "C Programming Work- 
shop," 'Advanced C Topics 
Seminar," and "UNIX Work- 
shop." Contact Joan Hall, Plum 
Hall Inc.. 1 Spruce Ave. Cardiff, 
Nl 08232, (609) 927-3770. 
August 

• DATABASE SEMINARS 
SoftwareBanc Seminars, various 
sites in the U.S. and Canada. 
Such seminars as "Problem 
Solving with 1-2-3." "dBASE 11," 
and "Exploring UNIX" are 
planned. Contact SoftwareBanc 
Inc., 661 Massachusetts Ave., Ar- 
lington, MA 02174, (800) 451- 
2502; in Massachusetts, (617) 
641-1241. August 

• DBM SEMINARS 

Digital Consulting Associates 
Classes and Seminars, various 
sites in the U.S. Seminars and 
classes on information centers, 
database administration, and 
other microcomputer topics. 
Contact Digital Consulting Asso- 
ciates Inc., 339 Salem St., Wake- 
field, MA 01880, (617) 246-4850. 
August 

• ENGINEERING SUMMER 
CONFERENCES, Chrysler 
Center, North Campus, Univer- 
sity of Michigan, Ann Arbor. 
Topics include aerospace, 
chemical, electrical, nuclear, 
marine, metallurgical, mechan- 
ical/automotive, industrial, and 
computer, information, and con- 
trol engineering. Fees range 
from $4 50 to $1000, depending 
on course length. Contact 
Engineering Summer Con- 
ferences. 200 Chrysler Center- 
North Campus, University of 
Michigan. Ann Arbor, Ml 48109, 
(313) 764-8490. August 

• WORKSHOPS FOR 
EDUCATORS, Compuworkshops 
Computer Seminars for Educa- 
tors, various locations in Califor- 
nia. Among the seminars of- 
fered are "Computer Literacy 



for Educators" and "How to Set 
Up a Computer-Based Educa- 
tion Program in Your School or 
District." Each course is $50. 
Contact Compukids of Seal 
Beach, Rossmoor Shopping 
Center, 12385 Seal Beach Blvd.. 
Seal Beach. CA 90740. (213) 
430-7226; in West Los Angeles, 
(213) 473-8002; in larzana, (213) 
343-4008; and in Rancho Ber- 
nardo/San Diego, (619) 451-1742. 
August 

• DEC SEMINARS 
'Technical and Management 
Seminars for Professionals, vari- 
ous sites in the U.S. Subject 
areas: system-performance man- 
agement, networking, personal 
computing, applications design 
and programming, real-time ap- 
plications design, and manage- 
ment development. On-site 
seminars can be arranged. Con- 
tact Educational Services. Semi- 
nar Programs BUO/E58. Digital 
Equipment Corp., 12 Crosby Dr., 
Bedford, MA 01730, (617) 276- 
4949. August-September 

• EFFICIENT COMPUTING 
TECHNIQUES, Microcomputers: 
Techniques for Improving Your 
Computer Efficiency. Valley Inn 
and lavern, Waterville Valley, 
NH. Four intensive two-day 
seminars: "Microcomputers: Pro- 
gramming in BASIC" "Introduc- 
tion to VisiCalc," "Micro 
Database Applications," and 
"Engineering and Management 
Applications." luition is $495, or 
$679 with meals and lodging. 
Contact New Hampshire Col- 
lege. Resource Center, 2500 
North River Rd., Manchester, 
NH 03104, (603) 668-2211, ext. 
17 5, August-September 

• MANAGERIAL SEMINARS 
Computer Competence Semi- 
nars, Boston University Metro- 
politan College, Boston, MA. A 
series of hands-on presentations 
tailored for managers who know 



little or nothing about com- 
puters and for those who wish 
to sharpen their computing 
skills. On the docket are "PCs 
for Improving Financial Analysis 
and Decision Support." "dBASE 
11," and many others. Fees range 
from $22 5 to $595. In-house 
programs can be organized. 
Contact loan Merrick, University 
Seminar Center, Suite 415, 850 
Boylston St., Chestnut Hill. MA 
02167. (617) 738-5020. 
August-September 

• RAINBOW SEMINARS 
All-Hands-On. Boston, MA, 
Chicago, 1L, New York City, and 
San Francisco. CA. A series of 
applications seminars featuring 
the DEC Rainbow 100. Contact 
Carol Ericson. BUO/E50, Educa- 
tional Services, Digital Equip- 
ment Corp., 12 Crosby Dr., Bed- 
ford, MA 01730, (617) 276-4572. 
August-September 

• PROFESSIONAL EDUCATION 
Seminars from the Institute for 
Professional Education, various 
sites in the U.S. Programs in 
statistics, management, simula- 
tion and modeling, personal 
computers, and computer 
science. Contact the Institute for 
Professional Education, POB 
756. Arlington, VA 22216, (703) 
527-8700. August-December 

• COMPUTERS IN ENGINEER- 
ING. The 1984 ASME Interna- 
tional Computers in Engineering 
Conference and Exhibit, Hilton 
Hotel, Las Vegas. NV. More than 
60 panel discussions and paper 
sessions. Product exhibits. Con- 
tact American Society of Me- 
chanical Engineers, 34 5 East 
47th St., New York. NY 10017. 
(212) 705-7100. August 12-16 

• MICROS & VOC EDUCATION 
Microcomputers and High tech- 
nology in Vocational Education 
Conference, Vocational Studies 
Center, University of Wisconsin, 



IF YOU WANT your organizations public activities listed in BYTE's Event Queue, 
we need to know about them at least four months in advance. Send information about 
computer conferences, seminars, workshops, and courses to BYTE. Event Queue. POB 
372, Hancock. NH 03449. 



Madison. Concurrent sessions, 
formal classes, presentations, 
speeches, and videotaped pro- 
grams. Preregistration fee is 
$55, or $65 at the door. Con- 
tact Dr. Judith Rodenstein. 964 
Educational Sciences Building. 
University of Wisconsin, 102 5 
West Johnson St.. Madison, Wl 
53706. (608) 263-4367. 
August 13-16 

• COMPUTERS AND BIOLOGY 
The Fourth Annual Notre Dame 
Short Course Series: Computers 
in Biology, University of Notre 
Dame, Notre Dame, IN. Three 
concurrent short courses: "Com- 
puters in Bioeducation." "Micro- 
computers in Classroom and 
Laboratory," and "Computerized 
Data Analysis in Biological Re- 
search." "technical expertise is 
not required. Tliition is $450. 
Contact Theodore J. Crovello, 
Biocomputing Short Course 
Coordinator, Department of 
Biology, University of Notre 
Dame, Notre Dame. IN 46556. 
(219) 239-7496. August 13-17 

• COMPUTING IN SCHOOLS 
The Third Annual Harvard In- 
stitute on Computing in 
Schools, Harvard Graduate 
School of Education, Cam- 
bridge. MA. Designed for 
educators and administrators. 
Software demonstrations and 
group discussions will be 
featured. Prior computer ex- 
perience not required. Contact 
Institute on Computing in 
Schools, Programs in Profes- 
sional Education, Harvard 
Graduate School of Education, 
339 Gutman Library, Cambridge, 
MA 02138, (617) 495-3572. 
August 13-17 

• PROGRAM COMPUTER 
GAMES, Programming Games 
on Computers, Salzburg Inn, 
Stowe, VT. Presented by Monty 
Newborn and David Levy, 
computer-game experts, this 
course is designed to show you 
how to program a computer to 
play chess, bridge, othello. 
checkers, and blackjack. Ability 

[continued) 



94 BYTE* AUGUST 1984 



WE DRESSED OUR 

UNIX* SOFTWARE FOR 

YOUR IBM PC/XT 




Try it Risk FREE — the first AT&T-licensed UNIX 
implementation for the IBM PC/XT. Shipping since 
August 1983, Venix/86 is the popular choice among 
knowledgeable UNIX users and developers. Here's why! 
Multi-User Capability. . . 

Share the same PC, disk, and printer with up to 

three users! Simply plug in a CRT and run. 

Multi-Tasking. . . 

Edit a file, print a report, run a spelling check, 

format a diskette. . .all at the same time. 

Berkeley Enhancements. . . 

Including vi, termcap, more and the c shell. 

Real-Time Extensions 

With semaphores, raw and asynchronous I/O, 

priority, shared data, I/O page addressing. 

Quad-Screen Windowing. . . 

Featuring four unique and powerful windows. 

MS-DOS Partitioning... 

Keep your DOS files and programs! 




* UNIX is a trademark of AT&T Ifechnologies, Inc. 
Venix/86 implementation by VenturCom, Inc. 

Circle 313 on inquiry card. 






192K RAM, 3.5 Mbytes on disk. Proven reliability. 
Applications... 
Networking, word processors, database managers, 
spreadsheets, menu interfaces. 
One Source with Unisource. . . 
Unisource is the leading publisher and devel- 
oper of UNIX software for the IBM PC/XT 
and compatibles, DEC Professional 350, 
Rainbow, Micro-11, PDP-11, VAX series, 
and NCR computers. All our packages are 
fully documented and supported by our 
800 user hotline. Call for a complete 
information kit or to arrange your 30-day 
Risk FREE Trial of Venix/86. Unisource 
Software Corp. Department 4109 
71 Bent St., Cambridge, MA 02141. 
Telex 92-1401/COMPUMART CAM 

CALL 617-49M264 



UNIB? 




Getting UNIX Software 
Down to Business 



l.MCs 

32 -Hit Virtual 

Memory MegaMicro 

IsThe-State-Of-The-Art 

UNIX Microcomputer 



LMC's 32-bit MegaMicro provides mainframe 
or super- minicomputer performance at prices com- 
petitive with today's far less powerful 8- and 16-bit 
microcomputers. This is made possible by use of 
the next generation of logic chips— the National 
Semiconductor 16000-series. LMCMegaMicros 
incorporate: the NS16032 central processing unit 
which has true 32 -bit internal logic and internal data 
path configured on the IEEE 796 multibus; 
demand-paged virtual memory implemented in 
hardware; and hardware 64-bit double-precision 
floating-point arithmetic. 

The LMC MegaMicro is supplied with HCR's 
UNITY* which is a full implementation of UNIX** 
and includes the Berkeley 4.1 enhancements to 
take advantage of demand-paged virtual memory. 
Also included are C and FORTRAN. Topical multi- 
user systems with 33 megs, of fast (30 ms. average 
access time) Winchester disk storage, a half meg. 
of RAM, virtual memory, hardware floating-point 
arithmetic, UNIX, C, and FORTRAN 77 are avail- 
able for $20,000 (and even less with quantity or 
OEM discounts). 

* UNITY is a Trademark of Human Computing Resources. 
"UNIX is a Trademark of Bell Laboratories. 

LMC MegaMicros The Logical Alternative™ 

INC 

The Logical Microcomputer Company 

4200 W. Diversey, Chicago, IL60639 (312) 282.9667 

A member of The Marmon Group of companies 



EVENT QUEUE 



to program in BASIC. FORTRAN, 
or Pascal is advised. The fee is 
$5 50. Contact Dr. Monty 
Newborn, 4874 Westmount Ave, 
Westmount. Quebec H3Y 1Y1. 
Canada, or call (514) 481-1766. 
August 13-17 

• COMPUTERS. GRAPHICS. 
AND BUILDING. Computers/ 
Graphics in the Building 
Process— BP '84. Embarcadero 
Center. Hyatt Regency San Fran- 
cisco, CA. Exhibit of equipment 
and services, tutorials, and 
technical sessions exploring the 
theme "The Building Process in 
TYansition." Contact Conference 
Director. BP '84, Suite 333, 
2033 M St. NW, Washington. DC 
20036. (202) 775-9556. 

August 19-23 

• ADA COURSE ~ 
Hands-On Programming in Ada, 
Washington, DC. Upon comple- 
tion students will be able to 
design, code, and test Ada pro- 
grams in an interactive environ- 
ment. Enrollment is limited to 
individuals with programming 
experience in at least one high- 
level language. The fee is $875. 
Contact Continuing Engineering 
Education, George Washington 
University. Washington, DC 
20052. (800) 424-9773; in the 
District of Columbia, (202) 
676-6106. August 20-24 

• PROGRAM COMPUTER 
GAMES, Programming Games 
on Computers. Salzburg Inn. 
Stowe. VT. See August 13-17. 
August 20-24 

• HAMFEST/COMPUTERFEST 
The Central Pennsylvania 
Repeater Association Eleventh 
Annual Hamfest/Computerfest, 
Hershey, PA. indoor dealer and 
flea-market areas. Registration is 
$3. Children and spouses free. 
Contact Timothy R. Fanus, 
WB3DNA. 6140 Chambers Hill 
Rd„ Harrisburg. PA 17111, (717) 
564-0897 (noon to 8 p.m.). 
August 26 



• INFO CENTER CONFERENCE 
Information Center Conference 
and Exposition. Sheraton 
Boston and Hynes Auditorium, 
Boston, MA. More than 60 
educational sessions on hard- 
ware, software, and organiza- 
tional topics of interest to 
information-center managers will 
be featured. Contact Warren/ 
Weingarten Publications. 38 



Chauncy St.. Boston. MA 02111. 
(617) 542-0146. August 26-30 

• PCB TECHNICAL SEMINAR 
The 1984 Printed Circuit Fabri- 
cation lechnical Seminar, Bos- 
ton, MA. Contact Donna 
Esposito, PMS Industries. 62 5 
Sims Industrial Blvd.. Alpharetta. 
GA 30201. (404) 475-1818. 
August 27-29 

• ADA WORKSHOP 
Workshop in Ada. Atlanta. GA. 
This course combines lectures 
with laboratory sessions and 
emphasizes the design and im- 
plementation of Ada programs. 
Programming experience with 
FORTRAN. PL/1. Jovial. Pascal. C. 
or another high-level language 
required. Fee: $900. Contact 
Elaine Hadden Nicholas. Depart- 
ment of Continuing Education, 
Georgia Institute of Technology, 
Atlanta. GA 30332-0385. (404) 
894-2 547. August 2 7-30 

• EUROM1CRO 

The lenth Annual Euromicro 
Symposium— Euromicro 84. 
Copenhagen. Denmark. One of 
the largest European computer 
events. Euromicro features 
speeches, tutorials, and 
technical sessions. Also featured 
will be the annual Euromouse 
contest in which robotic mice 
zip through a maze, racing 
against time and foreign com- 
petitors. Contact Euromicro. p/a 
TH TVyente, Department INF. 
Room A306. POB 217. 7500 AE 
Enschede. The Netherlands; tel: 
(31) (53) 338799; lelex: 44200 
THES. August 27-30 



September 1984 

• COURSES FROM ICS 
Courses from Integrated Com- 
puter Systems, various sites 
throughout the U.S. Among the 
courses offered are "Computer 
Network Design and Protocols" 
and "Data Communications." 
Fees are generally $895. Con- 
tact Integrated Computer 
Systems. 6305 Arizona Place. 
POB 45405, Los Angeles. CA 
90045. (800) 421-8166; in 
California. (800) 352-82 51 or 
(213) 417-8888. September-October 

• ERGONOMICS CONFERENCE 
World Conference on Ergo- 
nomics in Computer Systems, 
various sites throughout the U.S. 

[continued] 



96 BYTE • AUGUST 1984 



Circle 180 on inquiry card. 



With Microf azer, you 
could be doing this... 



• 




T T 1 






aS ' ; 




Your personal computer works 
fast. Except when you're 
printing. Then it doesn't work 
at all. And when your 
computer's not working you're 
stuck waiting. But with 
Microfazer there's no more 
waiting. Microfazer is the print 
buffer that frees your computer. 
So you can compute and print at 
the same time. 

Compute while you print 

Microfazer stores data from you 
computer, then sends it to ■■ 
the printer at an appropriate II 
speed. Because Microfazer J I 
remembers exactly what v^ 
your printer kJ 



orks needs, you and the computer (Par£ 

can get back to business fast. PAU< 

ork This makes Microfazer perfect Plus 

for any buffer task: word inter 

ju're processing, complicated both 

graphics, you name it. requ 

\ But Microfazer remembers The] 

Dnnt more... Mien 

purer. Microfazer remembers to give and 

mt at y 0U the h arc j ware features perfi 

you're looking for in a print syst« 

buffer. Features that include And 
n your memory expansion to 512K. 

MICROFAZEFl 
BY QUADRAM 



(Parallel-to-Parallel version). RESET 
PAUSE, and COPY functions. 
Plus a choice of serial or parallel 
interfaces (or combinations of 
both) for your data transmission 
requirements. 

The perfect system buffer 

Microfazer goes with printers 
and plotters to make it the 
perfect buffer for all your 
system needs. 

And Microfazer's price makes 
tm it perfect, too. 

RSo stop waiting on your 
printer. Get Microfazer 
— ™ and compute while you 
\im print. Microfazer. The 
ft buffer that remembers 
it all. 



QUADRAM 



ORPORATION 











©Copyright 1984 Quadram Corporation. All rights reserved. 
Circle 260 on inquiry card. 



4355 International Blvd./Norcross, Ga. 30093 
(404) 923-6666/TWX 810-766-4915 (QUADRAM NCRS) 
International Offices 

Chevco Computing • 6581 Kitimat Road # 14 
Mississauga. Onlano. Canada L5N-2X5 • 416-821-7600 



STRICTLY BUSINESS • TOP -VALUES 



floppy disk drives 



TANDONTM 100-2 55^ 

CAUFORQUAMTTTYPVOCIIC 



'209 



y 2 HT. DISK DRIVES top names 

SOUTHS LARGEST SUPPLY*DEALER INQUIRIES INVITED . 



M79 



networking / protocol conversion 



PC Turbo by ORCHID 

80186 Co-procassor Board • Speeds Up PC 5 Times 

IRM A REPLACES 3278 s WITH PC's /IRM ALINE 
DP+sirminol LO-COST Terminal W/Built-in LAN & Processors 
I Ulermillal • Serial and Parallel Ports • Four Extra Open Slots 

BLUE LYNX 5251/3276 EMULATOR 

FflRTF n ATA 327813279 Emulator w/SIIIG, 



I Graphics Capability 



printers 



etc 



AMDEK AMPLOT ll^ ™. 1 : 2 : 3 . *799 
Houst. Inst. Plotters & Digitizer CALL! 



DOT MATRIX 

EPSON FX80 & 1 0O.ieocps, .... Best Price! 

EPSON RX80& 100 Best Price! 

EPSON LQ 1 500! E aI, L sr ,y . . . Best Price! 
ProWriter C-IT0H *339 

P' m Pnlnr IBM's Choice for LESS, 132 Col S1AQR 

I lISlTl UOiUl (200 cps) Color Graphics I HilU 

0KIDATA 92&93 ffiS^. . . . Best Price! 

0KIDATA ML84 2 ooc P s Best Price! 

0KIDATA 241 Opace^o^cpsi .... Best Price! 
TOSHIBA P-1 351 & 1340... Best Price! 

GEMINI Full Line o f StarMicronic Printers IllPtHf II ZOO 

T.I. 0024 WIRE PIN HEAD, NOW IN STOCK! .... DBSt PNC6! 

NEC P2 & P3i80c PS Best Price! 

DIABLO P38.400 cps, MB95 

LEnER QUALITY 

NEC SPIN WRITERS2050 3550 & 7730 Best Price! 
DIABL062o,630 630Ecs Best Price! 



Starwriter (40 cps) 
Printmaster (55 cps) . 



CITOH 

fll IMC SPRINT 11140 PLUS 
UUIVlL SPRINT 11/55 PLUS 

I r\ Crinrinro ^ reat ^ ut Sheet Feeders for 
LU. rBBUClS NEC 3550 & CITOH Starwriter 



M055/M455 

. . . Best Price! 
SAVE! 



micro modems 



HAYES SMARTMODEM 



300, 1200 & 1200B 



M n\/ A T I PI LM MICR0 M0DEMS ' W/Access 12 3; 



I Internal wiCrosstalk XVI 



...CALL! 

Siirlluil 99 

. . . . CALL! 
'259 



RIXUN 12004800 BAUD* IBM PC Compatible 

Signalman Mark XII 300 1200 dm &»«« 

AdverrsBd cash prices subject to change without notice. 



Atlanta, Charlotte, Washington D.C., 
Tampa, Ft. Lauderdale, Orlando, Louisville 



SNA & BISYNC • 3780, 5251, 3274 



hard disks 



Peachtree 
Peripherals 



P-10 



Industry's Best Buy* 10 Meg/F. 

Auto Boot«Runs W/Out Ext. Power 

Internal or External Installation 



QVQPCM 10&2 ° MEG/F W/Streamer Tape, also 
O T O U L IM IMAGE Streamer Backup for Your IBM XT 
I IM C A Y Bernou '' Box * Double Drives 



1 MEG Removable Cartridges 



DAV0NG 10 MEG/F SK; 3 . 5 *,. 
"Macintosh" Hard Disk„yTecma,. . 



CALL! 
CALL! 
CALL! 
CALL! 



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



CALL! 



multi-cards 



iil q QAV 64-3B4K«Clock Ser & Par Pts 
ft I "OOHiA Ram Disk* Spooler* Opt Game Pt . 

#1 MultiCarrT* 8Func,64512Kl 



W/ Opt. Game Pt 

Ser. Clk. Spooler Ram Disk 



tt\ l/U L 3rQ (Opt 2nd Ser, Par & Gamel 
UU A D D A R D New Version 64 -3B4K 
LAl I AII\l64 3B4KbyTecmar 



SEATTLE RAM + 3 Flash Disk«Clk»Spooler 
J-RAM 1 1 51 2K Multifunction 

PROFIT Systems » s ». .... 

DADV DIME II 64 256K«Z808«Par»2 Sef»Ck 
DHDT DLUC II RAMdBk«Spooter»E«tra Software • 
DP Q|____ rr ,0RCHI0's 6Pak Clone with 
lU DlOSSOm Optional PCnel Piggy Back 

MAYNAKU Floppy S Hart Disk Controkr Cards . . . 



Best Price! 

Best Price! 

Best Price! 

Best Price! 
'289 
M99 

Best Price! 

'299/'680 

Best Price! 

tiinimi 275 

Best Price! 



Grapplerfl Parallel Interface CALL! 

QuadrameRAM80#8o coi 64K ram card CALL! 

Microtek #SM&* CALL! 

Premium Softcard lie A CALL! 



graphic cards 



UCDPIII [P Monochrome Graphics PAI I I 

nCnUULLO Supports LOTUS 1-2-3 UMLL! 

PLANTRONICS Color + 5&XT!.CALU 
Graphics Master KKSMTl'-. . Low Price! 
QUADC0L0R I & II CALL! 

Ill TD A D A V Gra P nics • Serial Port < sJ • Par Port P A I I I 

UL I II Hi MIX Expand. RAM (384K) • Opt. Color & Floppy Cont.U M LL! 
QTQ Grsphix Plus Color & Mono Graphic • Par. Port PAIN 

O I D RAM Disk • Spooler • Lite Pen Port • Opt. ClklCal UMLL! 

Miil+'inrtnk l32 Co1 m Mono W/Graphics 720h x 350v SOTR 

lYlUlliyrdpil Color Graphics to 640hx400v Opt. Par. Port ... 01 U 

Apple and the Apple logo are registered trademarks of Apple Computer, Inc. 
IBM and the IBM logo are registered trademarks of International Business Machines Corporation. 
Micro Mart is a registered trademark of Micro Mart Inc. 



THE SERVICE LEADER • CORPORATE BUYERS WELCOME 



software 



MICROSOFT PROJECT 



ICC0UMTII8 



IUb IBM A.R.. A.P., G.L, Inventory, Order Entry, Payroll Starting at £99 

Peachtree Accounting Ki'ft^. CALL! 

MISCELLANEOUS 

n n I n fii>T] Entire Line Now W/Full Ace t., Comm. & PAI I I 
UOW JOneS l»U SalesPlan.ComplementingFineStk.Mkt.PkgUHLL! 
flnon A ppqoo Spreadsheet, 3-D Graphics, Word Processor, SOQQ 
Upen HCCBSS Time Manager &Comm. in One Pkg £99 

Decision Manager 'BMtteWlee.CALL! 

Wicifln Applications manager PAI I I 

VI5IUII Calc -Word • Graph • Query IBM UMLL! 

QUICKCODE/dGRAPH/dUtil S3 CALL! 

Lattice CCompiler -dm K^S . . . s 299 

MICROSOFT COMPILERS^ CALL! 

DIGITAL RESEARCH COMPILERS. . CALL! 



$ 59 
'95 
«35 
«49 
'45 

PC Paint Brush ■** 5SSL'5S , .! , T^ . . $ 129 
Chart-Master/Sign-Master »m CALL! 

"PAn Cwe+nmo" .„ Best Selection Available of PAI I I 
OHU Oyolcllld IBM Computer Aided Design Graphics.UMLL! 

ENERGRAPHICS IB M Hot New Graphics Package . . . Z69 



Norton UtilitiesA must u» ewv ibmpc 

ProKey 3.0R O sesoft ibm 

Copy II PC 

A I I I rSinifig IBM Critics Choice Software Tutorials 
OBlTA rLUo ,IBIV1 Epson FX Series Control Pkg. . . 



New for the Macintosh 

lidDdUBX V for your Macintosh U ALL! 

Microsoft * Chart*File*Basic . CALL! 



etc. 



chips 



IN I bL High Speed Math Coprocessor I/O 

64KRAMCHIPS '55/'159 



(64K-9 Chip/Upgrade Kit) (192K-27 Chip/Upgrade Kit) 
CALL FOR QUOTE ON QUANTITY CHIP PURCHASES 



NOR 



Essne 



M..I+.'Mrt + » ,hm 3 - 22 "WANG" Style Word Processor with SOQQ 

MUltlaVlate IBM Spelling Checkers All New Tutorial * £.09 

SAMNA II & 1 1 1 IBM Deluxe Word Processing at Best Pricing CALL! 

IVIlCrOSOtt WOrQ WordProcessor«UseUpto 8 Windows LALL! 

VOLKSWRITER DELUXE ™ s 189 

CALL! 
WordPerfect by SSI SI * K"r 

baSy WritBr II IBM Systems Include Speller & Mailer. . . 
PeaCh TeXt 5000 IBM Personal Productivity Series 



'299 

CALL! 
'179 



DATA BASE 

HARVARD PROJECT MANAGER ""CALL! 

Day FIO 1BM Super new data base CALL! 



R:base 4000 or 6000K:: i,er . &c i,sa. $ 329 
Power-base dm ff^BMS^^^r'.'CALL! 
Knowledge Man jbm H? fl r ra y Ac 6 ciai^d A Da!a b Base ar . ,l !' s . '295 
dBasell & III (51 ^VZ^T'^ CALL! 

IntOSCOpe IBM Critically acclaimed data base LALL! 

SPREADSHEET 

MUltlPlan Microsoft* New Low Pricing 'liL LALL! 

OUperLalC IBM Superior Graphics to LOTUS LALL! 

C0MMUHICMI0IS 

CROSSTALK XVI 51 
SMARTC0M IhBM 



Hayes . 



CALL! 
'99 



miscellaneous 



Keytronics 5151 « 



IWIfll IQF 0ptical Type L0TUS & Visi0n Com P a " ble 



CALL! 

By Mouse Systems aCUw 

pi inTIQ Monitor Pedestal PAI I I 

UUn I 10 Keyboard Extension Cable, Monitor Extension Cable . . . UMLL! 

Ml LR U I AZER I8K 128K) Slack SpookM Starting At 1 db 

BACK UP Power Supply^oiw^watts. CALL! 

IQflPAP Surge Protectors * Wlth Great Filtering Via Isolated $R C 

lOUDHn Outlet Pairing • 4 & 8 Plug Starting at UU 

Circle 206 on inquiry card. 



monitors & crt'sM ORDERS ONLY 

11-800-241-8149 



PGS-MAX UXZc'Jft&fZ*.. . . . Best Price! 

DPC CD 1 O 690x480 • Non-interlaced Mode Dnct Drinnl 

rUO Oil- I L RGB W/HiRes Text. W/Oual Scan Cd . . D6SI rllCc! 

PGS-HX 1 2 «»m HiReseooDotRGB Best Price! 

QUADCHROMEHiResRGB Best Price! 

AMDEK COLOR II + '399 

AMDEK COLOR IV™ 720Dot '549 

AMDEK 300 A/300G m «- . . . '149/M39 

AMDEK 310AA A ,t!.«l 2 «;!K e eenSoreen ™ ... $ 185 

Wyse Terminals SllK". Best Price! 



Monday f riday 9 00 AM 7 00 PM Saturday 9 00 AM 5 00 PM 



TECHNOLOGY CORPORATE CAMPUS 
3159 Campus Drive • Norcross, GA 30071 



For Information 1-404-449-8089 

Technical Support 1-484-446-3836 
TelBM 888497 



What a performance! 
Seven new data acquisition 
and control boards for 
your IBM PC™ 

Encore! 
Encore! 

Data Translation 1 
has done it again. Our 
first two analog and 
digital I/O boards for 
IBM personal com- 
puters received rave 
reviews. 

So we extended 
our product line to seven 
. . . starting at $295 for quan 
tity purchasers. 

While most of the 
personal computer world 
focused on home and office applications, 
we lifted the curtain on two other key 
areas. Laboratory data acquisition and 
industrial control. 

Now, no matter what you need for 
your IBM PC, we have it. Each board 
is a complete data acquisition and 
control system. With A/D, D/A, 
digital I/O, and a programmable 
clock. You simply choose the 
board offering the speed and 
resolution you need most. Just 
plug it into your PC's backplane 
and it's showtime. 

With on-board intelligence, 
all seven are software compati- 
ble and supported by Data 






}uapisa j^ 'ueuijoi/\[ pay 

Translation's PCLAB software package. 

Data Translation is playing the lead- 
ing role in personal computer data acqui- 
sition and control. Find out how we can 
help your performance today. 
VISA and MasterCard accepted. 
Call (617) 
481-3700 



A/D 



D/A 



// 


/ $ 


> 


Im 

i 




?/S/J?J 


295 (OEM) 


Low Cost 


DT2808 


10 


16SE 


3.3 8 2 10 


16 yes 


495 








16SE 






1195 
1345 


General 
Purpose 
Highspeed 


DT2801 
DT2801-A 


12 

1 


or 
8DI 

i 


13.7 12 16 
27.5 33 




2170 


High 
Resolution 


DT2801/5716 


16 


8DI 


2.5 16 




1295 


Low Level 


DT2805 


12 






13.7 




2270 


Low Level, 

High 

Resolution 


DT2805/5716 


16 






2.5 

> * 




1695 


Simultaneous 
S/H 


DT2818 


12 


4 


27.5 33 


>< v 



NOTES: I . PCLAB software supports all models. 

2. Programmable gain is standard for all DT2801 and DT2805 models. 

3.Screwterminal and signal conditioning panels available for connection of all I/O signals. 

DATATRANSLATION 



World Headquarters: Data Translation. Inc.. 100 Locke Dr.. Marlboro, MA 01752 (6171 481*3700 Tlx 951 646. 
European Headquarters: Data Translation, Ltd., 430 Bath Rd., Slough, Berkshire SL1 6BB England (06286) 3412 
Tlx 849862. 
InCanada: (416)625-1907. IBM PC is a registered trademark of IBM. 



EVENT QUEUE 



and Europe. Ergonomic experts 
and computer professionals and 
users will exchange information 
and observations. Contact Com- 
puter Psychology Inc.. 54 East 
Main St.. POB 16. Mendham. Nl 
07945. (201) 543-9009. In 
Europe, Telefonaktiebolaget LM 
Ericsson, LM Ericssons vag 4-8, 
S-12625 Stockholm, Sweden; tel: 
(8) 7190000. September-October 

• HIGHTECH TUTORIALS 
Tutorial Short Courses from 
Hellman Associates, London, 
England, and various sites in 
the U.S. Among the courses of- 
fered are "VLSI Design," "Digital 
Control," and "Error Correction." 
Fees are generally $895. Con- 
tact Hellman Associates Inc.. 
Suite 300. 299 California Ave, 
Palo Alto, CA 94306, (415) 
328-4091. September-October 

• MEDICAL COMPUTER 
SEMINAR. Medical Computer 
Weekends, various sites 
throughout the U.S. For car- 
diologists, internists, and 
primary-care physicians. Focuses 
on the role of the multipurpose 
medical office computer. 
Seminars qualify for 13 hours 
CME Category I credit. Contact 
International Medical Education 
Corp., 64 Inverness Dr. E, 
Englewood, CO 80112, (800) 
525-8651: in Colorado, (303) 
790-8445. September-October 

• SEMINARS FOR PROFES- 
SIONALS, Professional Develop- 
ment Seminars, various sites 
throughout the U.S. Topic areas: 
data communications, database 
management, EDP operations, 
microcomputers, software 
engineering, CAD/CAM, personal 
computers. IBM mainframes, of- 
fice automation, management, 
and administration. Fees range 
from $195 to $1095. Contact In- 
stitute for Advanced Technology. 
6003 Executive Blvd.. Rockville, 
MD 20852, (800) 638-6590: in 
Maryland, (301) 468-8576. 
September-October 

• CONTINUING ENGINEERING 
EDUCATION. George Washing- 
ton University, Continuing 
Engineering Education. Wash- 
ington, DC. For a schedule, con- 
tact George Harrison, Continu- 
ing Engineering Education. 
George Washington University, 
Washington, DC 20052, (800) 
424-9773; in the District of Col- 
umbia, (202) 676-6106. 
September-November 



• SHOWS IN GERMANY 
Chip Microcomputer Weeks, 
various sites throughout West 
Germany. Microcomputer prod- 
ucts, trends, and applications 
will be demonstrated. Spon- 
sored by Chip, a leading Ger- 
man computer magazine. Con- 
tact Network GmbH, An der 
Friedenseiche 10, D-3050 
Wunstorf 2, Bundesrepublik 
Deutschland (West Germany); 
tel: (0 50 33) 10 56; Telex: 92 

4 5 4 5. In England. Network 
Events Ltd., Printers Mews, 
Market Hill, Buckingham MKI8 
11X, England: tel: (02 80) 81 52 
26: Telex: 83111. 
September-November 

• INTEL WORKSHOPS 
Microcomputer Workshops, 
various sites throughout the U.S. 
and Canada. Intel, the semicon- 
ductor memory manufacturer, is 
offering more than 20 
workshops on microprocessor 
applications. A brochure is 
available. Contact Customer 
Training. Intel Corp.. 27 In- 
dustrial Ave. Chelmsford, MA 
01824-3688. (617) 256-1374. 
September-December 

• IBM SYSTEMS SHOW 
The IBM System User Show, 
Olympia 2, London, England. 
Covers the full spectrum of IBM 
mainframes, minicomputers, and 
microcomputers. A focus on 
business. Contact EMAP Interna- 
tional Exhibitions Ltd., 8 Herbal 
Hill, London ECIR 5JB. England: 
tel: 01 837 3699. September 3-5 

• Al IN EUROPE 

The Sixth European Conference 
on Artificial Intelligence, Pisa, 
Italy. Covers programming 
languages, expert systems, 
natural-language processing, 
robotics, and computer vision. 
'Tutorials. Contact the Pro- 
gramme Chairman. Institute of 
Educational Technology, Open 
University, Walton Hall, Milton 
Keynes MK7 6AA, England. In 
Italy, Stefano A. Cerri. Dipart- 
mento di Informatica, Universita 
di Pisa, Corso Italia, 40, Pisa 
56100, Italy; tel: Pisa 40862/3/4; 
Telex: CNUCE 500371. 
September 5-7 

• SOFTWARE ONLY 

The Second Annual National 
Software Show, Convention 
Center, Anaheim, CA. An ex- 
position and conference 
devoted solely to microcom- 

{continued) 



100 B YTE • AUGUST 1984 



Circle 97 on Inquiry card. 



yjU2lhU3L3L3\J3L2 L3LD L3 L3. Ll I 





The Ideal 
Computer 



uomp 
isNoLo 



onger 

nnninnnnnnqcricin [*9 ffl/I l/f fl 




Zeus VI PC 



Ideal Solutions. Finally. . . a truly 
complete family of computers and 
peripherals extensive enough to 
please even the toughest custom- 
ers.TheZeus Multiuser Multiprocessor 
Computers, Personal Computers, 
and peripherals, from OSM!" 

Value and Compatibility Above 

AIL As diverse as they are, every Zeus 
computer boasts the same family 
traits. Impressive power and speed, 
combined with high reliability. For- 
ward-looking, easy-to-use features. 
And expandability you can afford. 
All for a surprisingly low initial cost. 

Zeus MultiUsers Let You Share 

The Power. With a Zeus Multiuser 

Circle 240 on inquiry card. 



system, you buy only one 
computer for all your com- 
puter users. As many as 32 
employees can work on the 
system at the same time, from 
their own desks— even when 
they're using separate soft- 
ware, or calling up different 
files and data .When you're 
ready to expand, just plug 
in additional terminals, 

modems or printers where you 
need them. 
The cost? One of the lowest 
costs per-workstation of any 
computing system. Zeus Multi- 
User systems are specifically 
designed to suit a wide range of 
needs.You can select the number 
of workstations you want, the amount 
ofhard-diskstorageyouneed(up 
to 70,000 pages worth), and many 
other customizing features. 

Zeus Personal Computers. 
Simplicity and Sophistication. 

The Zeus V.I. PC, one of the three 
IBM*- compatibles in the Zeus family, 
is the only single-user computer 
that can offer you the security of a 
built-in back-up storage system. 
It protects you from inadvertently 
losing your valuable data by copy- 
ing it onto a high-capacity, high- 
speed cartridge tape. And every 
Zeus Personal Computer gives you 
the major advantage of twice 
as much memory as the IBM PC, 




Zeus MultiUsers support 2 to 32 workstations simultaneously. 



for less cost. 

Call OSM Marketing Services 
today for the name of your local 
Zeus representative: (800) 538-5120 
outside California, or (415) 
961-8680. 

Zeus. The Ideal Solution to 
Your Real Needs. 



TM 

1 Computer 
Corporation 

Zeus Computers and Peripherals 

OSM Computer Corporation 

665 Clyde Avenue 

Mountain View, California 94043 

(800)538-5120 outside California 

(415)961-8680 

TWX 910-379-5003 

© OSM Computer Corporation 

OSM and Zeus are trademarks of OSM Computer Corporation. 
IBM is a registered trademarkof International Business Machines 
Corporation. Specifications subject to change without notice. 



AUGUST 1984 -BYTE 



101 



Circle 54 on inquiry card. 




DUMP/RESTORE-XT 
Can Help You Avoid Disaster! 

PC-XT PR/X T ) 

When's the last time you backed up your hard disk? Are you flirting with 
disaster? The School of Hard Knocks proves that when you're least expect- 
ing it, head crashes, electrical outages, and system failures occur when 
sufficient backups have not been made. 

Up until now, you've had to buy add-on hardware to accomplish this 
necessary task, outlaying hundreds of dollars. But now, there's DUMP/ 
RESTORE-XTI Using your own floppy disk drive and our backup program, 
you can backup your hard disk in about 30 minutes*. 

DUMP/RESTORE-XT spans diskettes, too! So, if your diskette runs out of 
room, don't panic. . Just insert another diskette and press ESC to continue. 
Full positive and negative wildcard selections are supported. 

DUMP/RESTORE-XT is modeled after FAST DUMP/RESTORE, which 
was designed for CP/M systems. We have over 1,500 copies of this 
program in use world-wide. Our track record speaks for itself. Our hun- 
dreds of satisfied users speak for us. 
*Depending on volume of data. 

Suggested retail: S90. MasterCard and Visa accepted. Dealer inquiries 
welcome. 



24000 Telegraph Road 

Southfield, Michigan 48034 USA 

(313)352-2345 



,| ONE STOP SHOP 

wjt for SERVICE, 

ft SAVINGS, and SATISFACTION 
Call for August Specials !! 



. -,-j* 



PRINTERS 

Brother HR-15 ....419 

Epson FX-100 679 

FX-80 459 

RX-80 FT 389 

GeminitOX 259 

15X 379 

NEC 3550 1795 

2030 Call 

Okidata92P 439 

93P 747 

Prowriter 349 

HP Ink Jet 469 

Quadjet Color Ink 629 

MONITORS 

Amdek310A 159 

300 135 

Princeton HX 12 479 

Sakata SC1 00 Color 259 

Taxan Amber 1 19 

Vision 3 449 

Zenith 123 12" Green 95 

122 12" Amber.... 95 
135 1 3" Color.. ..459 

MODEMS 

Hayes1200 469 

1200B 389 

MM //e 229 

300 baud 199 

Novation Apple Cat 2. . .. 259 
SmartCat + ...379 

Promodem 1200 349 

Signalman Mark I 81 

Mark X 210 

XM 269 

VolksModem300baud ...59 



PC64K 
2-Drives, Controller 
Color & Monochrome, 
Parallel Port 
$2195 
IBM XT $3795 

Call for Special Deals! 



MONTH'S SPECIALS 

Brother HR-15 ....$375 

GeminMOX $259 

Gemini 1 5X $379 

Word w/Mouse ...$269 
Slim Line Drive 

Apple/IBM $189 

Videx Ultraterm...$179 



6 

apple 

NEW ARRIVAL!! 

MACINTOSH.. .$2995 

lie and //c 

64K CPU, 2 Drives, 

Controller, 80-Col 

S SAVE $ 



IBM PRODUCTS 




Tandon TM 100-2 


.219 


Panasonic 320K 


.179 


Teac 55 B 320K 


.179 


STB Graphix Plus II 


.329 


RIO+ 


.259 


Super RIO 


.279 


Microsoft Multiplan 


.179 


Lotus 1-2-3 


.289 


AST 6 Pak 


.269 


Mega+ 


.269 


Quadboard EX 0K 


.219 


Hercules Graphics Card 


.369 


Dbase II 


.289 


Ascll Express Pro 


.129 


APPLE PRODUCTS 




Micro Sci A2 Drives. ... 


.189 


Rana Elite I 


.219 




.210 
.179 


Chin on Drive 


Videx 80 col w/softswitch.189 


Ultraterm 


.179 


Grappler+ 


.119 


Grappler Work-alike 


..59 


Buffered 16K.. 


..99 


16K Ram 


..50 


System Saver Fan 


.69 


Microsoft Prem //e 


.279 


Softcard CPM 


.229 


Multiplan 


.179 


MAC Multiplan 


.139 


Basic 


.109 


Apricorn Serial Card .. 


..69 


Chalkboard Power Pad 


..63 


Z-80Card 


..59 


Ascll Express Professional. 89 


Maxell S/S 


..24 


D/S 


..35 



WE SUPPORT THESE FINE SYSTEMS: 
Altos, Apple, Columbia, Compaq 
Corona, DEC, Epson, IBM, Kay Pro, 
Sanyo, TeleVideo, Zenith, and many 
more. 

NO CLUB FEE 

PRICES SUBJECT TO CHANGE WTTN0UT NOnCE. 

CASH PRICE! 

8/84 



Computer Price 

Club 
714 841-6160 

1 6783 Beach Blvd. 
Huntington Beach, CR 92647 



EVENT QUEUE 



puter software. Contact Raging 
Bear Productions Inc., Suite 17 5. 
21 Tamal Vista Dr.. Corte 
Madera. CA 9492 5. (800) 
732-2300; in California. (415) 
924-1194. September 5-7 

• COMPUTER INTERFACING 
FOR SCIENCE. Personal Com- 
puter and STD Computer Inter- 
facing for Scientific Instrument 
Automation, Washington, DC. A 
hands-on workshop costing 
$395. Contact Dr. Linda Leffel, 
C.E.C., Virginia Polytechnic In- 
stitute and State University, 
Blacksburg. VA 24061, (703) 
961-4848. September 6-8 

• COMPUTERS IN COMMON- 
WEALTH. Halifax Computer and 
Office Automation Show. Metro 
Centre, Halifax, Nova Scotia, 
Canada. Contact Industrial TYade 
Shows, 20 Butterick Rd., 
Toronto Ontario M8W 3Z8. 
Canada. (416) 252-7791. 
September 6-8 

• BYTE SHOW 

The BYTE Computer Show. 
Brooks Hall, San Francisco. CA. 
Seminars, conferences, and 
displays of interest to BYTE and 
Popular Computing subscribers. 
Contact The Interface Group. 
300 First Ave., Needham. MA 
02194, (800) 325-3330; in 
Massachusetts. (617) 449-6600. 
September 6-9 

• FUTURE DBMS 

Fourth Generation Data Man- 
agement Software. Washington, 
DC. Topics include user-friendly 
DBMS, applications generators, 
data dictionaries/directories, 
database designers, and 
decision-support systems. 
Registration fee; $650. Contact 
Software Institute of America 
Inc.. 8 Windsor St.. Andover. 
MA 01810. (617) 470-3880. 
September 10-11 

• MOTION CONTROL 
SEMINAR, Electronic Motion 
Control Seminar. Boston. MA. 
Sponsored by the Electronic 
Motion Control Association. 
Contact EMCA Headquarters, 
Suite 1200, 230 North Michigan 
Ave.. Chicago, 1L 60601. (312) 
372-9800. September 10-11 

• ELECTRONICS SHOWS 
Midcon/84 and Mini/Micro 
Southwest-84. Dallas. TX. Con- 
current conferences exploring 
practical applications and the 
state of the art of electronics. 



including computers, graphics, 
and networks. Contact Elec- 
tronic Conventions Manage- 
ment, 8110 Airport Blvd.. Los 
Angeles. CA 90045. (213) 
772-2965. September 11-13 

• UNIX EXPOSITION 

UNIX Systems Expo/84. Conven- 
tion Center. Los Angeles. CA. 
More than 200 exhibits of 
UNIX-related products and ser- 
vices, as well as presentations 
and panel discussions. Contact 
Computer Faire Inc., 181 Wells 
Ave.. Newton. MA 02159. (617) 
965-8350. September 11-14 

• EUROPEAN COMPUTER 
GRAPHICS, Eurographics 
'84— The Fifth Annual European 
Computer Graphics Congress. 
Copenhagen. Denmark. A con- 
gress with an international 
lineup of speakers and product 
exhibits. Contact Kenness Inter- 
national. 1 Park Ave.. New York, 
NY 10016, (800) 235-6400; in 
New York, (212) 684-2010. 
September 12-14 

• INTRO TO DATA COMMUNI- 
CATIONS. Introduction to Data 
Communications. Atlanta, GA. 
An overview of data-commun- 
ications terminology, tech- 
nology, hardware, and software. 
Participants will learn to design 
a batch data-collection system 
and estimate the response time 
of a multipoint circuit. Fee: 

$72 5. Contact Elaine Hadden 
Nicholas, Department of Con- 
tinuing Education. Georgia In- 
stitute of Technology, Atlanta, 
GA 30332-0385, (404) 894-2547. 
September 12-14 

• SOFTWARE EXPO 

The Fifth Annual Software/Expo, 
Hyatt Regency. Chicago. 1L. A 
conference and exposition. Con- 
tact Software/Expo, Suite 205. 
2400 East Devon Ave.. Des 
Plaines, IL 60018. (312) 
299-3131. September 12-14 

• TECHNOLOGY FOR 
DISABLED, Computer Tech- 
nology for the Handicapped. 
Raddison South Hotel. 
Minneapolis. MN. A national 
conference and exhibit for 
special education, rehabilitation, 
and medical professionals. 
Presentations and workshops. 
Registration is $ 1 50 before 
September 1: $175 after. Admis- 
sion to the exhibit floor only is 
$3. Contact Closing the Gap, 

[continued) 



102 BYTE • AUGUST 1984 



Circle 70 on inquiry card. 



The A CONCEPT AVT+ 
In a word: capability. 




THE CONCEPT AVT+ DISPLAY TERMINAL 

ANSI standard conformance, DEC software compatibility, eight pages of 
memory, 80/132 columns, windowing, multiple computer connections.. .and a 
full range of practical ergonomic features. Capabilities which enable all 
terminal users to maximize their productivity and explore their creativity. 
Only from Human Designed Systems. 



Introducing the new concept AVT+ display 
terminal from Human Designed Systems. Simply 
the smartest interactive display terminal 
available today. And at a very competitive 
price. 

It starts with ANSI standard (X3 64-1979) 
conformance and DEC software 
compatibility, and incorporates 
superior human design features, 
advanced functionality and highest 
quality construction, A commitment 
to quality that is reflected in each of 
the individual components. 

The concept AVT+ keyboard is economically 
designed for optimum operator comfort, 
incorporating a VTlOO-style numeric pad for 
DEC software compatibility. And it builds on 
those human design features with a range of 
capabilities that make the concept AVT+ an 
ideal choice for smart terminal users. 

The concept AVT+ offers up to eight pages of 
display memory that eliminates unnecessary 

'Quantity one 1EC an«i VT are trademarks of Digital Equipment Corporation 




hardcopy printouts and provides a powerful 
tool for applications requiring multiple formats 
and storage of large volumes of text; non- 
volatile memory that enables usere to 
permanently configure a terminal for their 
needs or applications; windowing that allows 
users to create individual displays 
within display memory; program- 
mable function keys which transmit 
data and/or execute terminal 
commands; up to three additional 
communications ports for connection 
to other peripherals and computers; 
flexible user networking and functionality for 
use in a wide range of different applications, 
including multiple computer connections; and 
much more. 

The new concept AVT+ More to offer at its price 
for terminal users than any other terminal 
available today. 

human designed systems, inc. 

3440 Market Street, Philadelphia, PA 19104 



215-382-5000 



Circle 148 on inquiry card. 



Human Designed Systems. We're redefining terminal performance. 

Allanta — (404) 391-9763; Boston — (617) 449-6446; Chicago - (312) 825-2960; Dallas — (2 14) 437-1888; Delaware - Infocon: (302) 239-2942; Denver - (303) 469-1953; 
Hawai — Gray Associates: (808) 26 1-375 1 ; Houston — (713) 952- 1 403; Los Angeles — (2 13) 4 10-9454; Northern New Jersey — Inlocon (20 1 ) 624-1372; New York City Area 
— Inlocon: (2 1 2) 689-8833; New York State — Naco Electronic : Rochester (716) 223-4490; Syracuse: (315) 699-265 1 ; San Francisco — (4 15) 692-4184; Washington, DC — 
International Systems Marketing: (301) 279-5775; Argentina - Itron SA (01) 774-9369; Austral a — Computer Clarit Pty. Ltd.: (02) 241 3385; Belg urn — BELCOMP; 
091-31.52.22; Canada — CADL Systems: Toronto: (416) 362-1063; Denmark — ADCOM Data Aps: 1-194466;F nland— Evumatlc: 594 141; France - Walton: ( 1 ) 226.06.90; 
Japan — Ampere: 03 (365) 0825; Singapore — DTS Singapore: (65) 33-88-566; Switzerland — Mitek ag*0 1/461 22 52; Un ted Kingdom — Shandell Systems Ltd: 
02407-2027; Venezuela - H. Blohm SA 2 541.21.22; West Germany - COMKO Computersystemges, mbH: 0221-48 30 51. DISTRIBUTORSHIP INQUIRIES INVITED. 





THE INCOMPLETE WORKS 
OF INFOCOM, INC. 



Incomplete, yes. But it's not just 
because we're always bringing out 
new stories in the Infocom interactive 
fiction collection. Nor is it simply due 
to the fact that with all the writing and 
re-writing, honing and perfecting that 
we put into every one of our stories, 
our work is seemingly never done. 

The real reason is: an Infocom 
work of fiction can never be complete 
until you become a part of it. 

You see, as hard as we work at 
perfecting our stories, we always 
leave out one essential element— the 
main character. And that's where you 
enter in. 

Once you've got Infocom's inter- 
active fiction in your computer, you 
experience something akin to waking 
up inside a novel. You find yourself at 
the center of an exciting plot that 
continually challenges you with sur- 
prising twists, unique characters 
(many of whom possess extraordi- 
narily developed personalities), and 
original, logical, often hilarious puz- 
zles. Communication is carried on in 
the same way as it is in a novel— in 
prose. And interaction is easy— you 
type in full English sentences. 



But there is this key difference 
between our tales and conventional 
novels: Infocom's interactive fiction is 
active, not passive. The course of 
events is shaped by the actions you 
choose to take. And you enjoy enor- 
mous freedom in your choice of 
actions— you have hundreds, even 
thousands of alternatives at every 
step. In fact, an Infocom interactive 
story is roughly the length of a short 
novel in content, but because you're 
actively engaged in the plot, your 
adventure can last for weeks and 
months. 

In other words, only you can 
complete the works of Infocom, Inc. 
Because they're stories that grow 
out of your imagination. 

Find out what it's like to get inside a 
story. Get one from Infocom. Because 
with Infocom's interactive fiction, 
there's room for you on every disk. 

inFOCOIR 

Infocom, Inc., 55 Wheeler Street, Cambridge, MA 02138 

For your: Apple II. Atari, Commodore 64, CP/M8", DECmate. 
DEC Rainbow, DEC RT-L1, IBM PC* and PCjr, KAYPRO II, 
MS-DOS 2.0? NEC AFC, NEC PC-8000. Osborne. Tandy 2000, 
Tl Professional. Tl 99/4A. TRS-80 Models I and III. 
"Usethe IliM PC version for your Compaq, and the MS-DOS 2.0 
version for your Wanjj or Mindset. 



Circle 155 on inquiry card. 



Main/Frames 




$275 

8" Disc Enclosure 



MORE BANG 
FOR THE BUCK 



Phase/80 8" Floppy Main/Frame^?v=* 



$370 ■— — ^ 
Slimline 8" Floppy Main/Frame 

Write or call for our 
brochure which includes our 

application note: 

"Making micros, better than 

any or box computer" 

INTEGB4ND 

8620 Roosevelt Ave. • Visalia, CA 93291 

209/661-1203 

We accept BankAmericard/Visa 

and MasterCharge 



32 Page 

Free Fakt 

Pakt Catalog 




EVENT QUEUE 



POB 68, Henderson. MN 56044. 
(612) 665-6573 or (612) 
341-8299. September 13-16 

• GULF COAST COMPUTING 
The Heart of Texas Computer 
Show, Bayfront Plaza, Corpus 
Christi. Seminars and displays. 
Contact Heart of Texas Com- 
puter Show, POB 12094, San 
Antonio. TX 78212. (512) 
681-2248. September 14-16 

• PEOPLE AND COMPUTERS 
The 1984 SME World Congress 
on Human Aspects of Automa- 
tion, Hotel du Pare. Montreal. 
Quebec. Canada. Contact Soci- 
ety of Manufacturing Engineers, 
One SME Dr., POB 930, Dear- 
born. Ml 48121, (313) 271-1500. 
ext. 369. September 16-19 

• COMPUTERS AND MODERN 
WORLD, COMPCON Fall '84, 
Hyatt Regency Crystal City, Ar- 
lington, VA. Tutorials, panels, 
demonstrations, sessions, and 
papers will explore the theme 
"'Small Computer (R)Evolution." 
Contact COMPCON Fall '84, 
IEEE Computer Society, POB 
639. Silver Spring. MD 20901. 
(301) 589-8142. September 16-20 

• MEDICINE. BIOLOGY. 
ENGINEERING. The Thirty- 
Seventh Annual Conference on 
Engineering in Medicine and 
Biology. Los Angeles Hilton, Los 
Angeles. CA. Papers, short 
courses, and scientific and com- 
mercial exhibits will be featured. 
Contact The Alliance for 
Engineering in Medicine and 
Biology. Suite 402. 4405 East- 
West Highway, Bethesda, MD 
20814. (301) 657-4142. 

September 17-19 

• NETWORK COMPONENTS 
COURSE, Data Communications 
Network Components, Atlanta, 
GA. Covers the use, operation, 
application, and acquisition pro- 
cedures for 25 major communi- 
cations components. Fee: $750, 
Contact Elaine Hadden Nicho- 
las, Department of Continuing 
Education. Georgia Institute of 
Technology. Atlanta. GA 
30332-0385. (404) 894-2547. 
September 17-19 

• ADA WORKSHOP 
Future Ada Environment 
Workshop. Miramar Hotel By- 
the-Sea, Santa Barbara, CA. 
Workshops, addresses, presenta- 
tions, working groups, and 
discussions. Registration: $400 



to $700 depending on room 
choice. Contact ACM AdaTEC 
Future Ada Environment 
Workshop, TRW R2/1134. One 
Space Park, Redondo Beach. CA 
90278. or register directly with 
Carolyn Gannon, GRC, POB 
6770, Santa Barbara. CA 93160. 
September 17-20 

• KENTUCKIANA EXHIBITION 
CompuFest '84, Commonwealth 
Convention Center, l.jouisville, 
KY. Computer consultant serv- 
ices and approximately 100 
hardware, software, peripheral, 
and word-processing system 
vendors will man exhibits. 
Technical sessions will be 
offered. A full day's worth of 
seminars costs $15. Registration 
fee is $2. Contact the Kentucky 
Society of CPAs, 3 10 West Liber- 
ty St.. Louisville, KY 40202. 
(502) 589-9239. September 18-20 

• OFFICE PRODUCTS 

IN OK CITY, The First Annual 
Southwest Office Products Show. 
Oklahoma City. OK. Contact 
SWOPS, POB 950. Norman. OK 
73070, (405) 329-3660 or (918) 
587-95 50. September 18-20 

• ADA WORKSHOP 
Workshop in Ada. Atlanta. GA. 
See August 27-30. 
September 18-21 

• PARISIAN COMPUTING 
The Thirty-Fifth SICOB-lnter- 
national Exhibition of Data Pro- 
cessing, Teleprocessing. Com- 
munication. Office Procedures, 
and Office Systems, CNIT, Paris- 
La Defense, Paris, France. Micro- 
processing and videotex will be 
major highlights of the exhibi- 
tion. International visitors pre- 
senting their passports will have 
a special reception room. Some 
of the congresses and confer- 
ences will feature simultaneous 
interpretation in English and 
French. Contact International 
TVade Exhibitions in France, 8 
West 40th St.. New York. NY 
10018, (212) 869-1720. 
September 19-28 

• EDUCATIONAL CONFERENCE 
The First North Carolina Educa- 
tional Microcomputer Con- 
ference. Benton Convention 
Center and Hyatt Hotel, 
Winston-Salem. Educational ses- 
sions, hands-on workshops, and 
product displays. A network of 
various computers will be set 
up. Contact jeanette Gann, NC 

[continued) 



106 BYTE • AUGUST 1984 



Circle 158 on inquiry card. 



Self-dFENSE 
forEDP 



The micro invasion 
has begun. And, chances 
are, you've now got a lot of 
different people in a lot 
of different departments 
using a lot of different 
micros. 

Now there's a way for 
you to control and maxi- 
mize the benefits of all the 
different micros in your 
domain. 




■® 



Fight back with dBASE II? 

dBASE II is the relational database 
management system from AshtonTate 
that enables you to manage your micro- 
based corporate data resources with the 
high leveLof consistency and sophistica- 
tion you've enjoyed with mainframe and 
minicomputer systems. 

Armed with dBASE II and the 
dBASE II RunTime™ program develop- 
ment module, you can write programs 
which will enable micro users in each 
department to "do their own thing' 7 while 
creating complete database consistency 
throughout the company. 

dBASE II is a powerful, flexible way 
for you to effectively manage the micro 
proliferation. 

Circle 29 on inquiry card. 



Help is here. 

If you'd like to know more about 
how dBASE II and RunTime can help you 
win the micro management battle, contact 
Ashton-Tate today. 10150 West Jefferson 
Boulevard, Culver City CA 90230. 
(800) 437-4329, ext. 212. In Colorado 
(303) 799-4900. In the U.K. (0908) 568866. 



ASHTON -TATE 



dBASE II is a registered trademark and RunTime is a trademark of Ashton-Tate. 

Suggested retail price for dBASE 1 1 is 5700. 
© Ashton-Tate 1984 




AUGUST 1984 • BYTE 



107 



Circle 13 on inquiry card. 



Peripheral Networking Now 




Buy ASCI Intelligent Port Expanders 

• Eliminate Manual Switching by Remote 
Control 

• Improve Productivity and Reliability 

• Share Printers, Modems or Plotters 

• Expand Computers or Terminals 

• Use Matrix Switching for Multiple Trans- 
mission or Security 

• Supports Polling and Queing 

INSTANT COMPATIBILITY with new computer devices 
and MAJOR OEM PRODUCTS: 

Altos — Burroughs — Data General — DEC 

HP. — IBM — NCR — Northstar — Victor 

and other key manufacturers. 

Call 2 13-793-8979 to EXPAND YOUR SYSTEMS 






TODAY. 

Advanced Systems Concepts Inc. 

435 N. Lake Ave., Dept. B8 
Pasadena, CA 9 l 1 o l 

800-824-7080 Telex: 70 1 215 



llTUB= 










_\ 


=PUR< 

COMPUTERS 


51 


1ASIN< 

COMPUTERS 


3 


AGEN 

PRINTERS 


T" 


Alpha Micro 1000 WF 


6.193 


Zenith ZF-1 10-22 


2.685 


Diablo 630 API 


1,615 


Altos 586-20 w/oterm. 


5.725 


ZW- 11 0-32 


4.176 


Fujitsu 830, 80 cps 


CALL 


586-40w/oterm. 


7.063 


IBM PC Compatibles 




IDS Prism 132. w/coior 


1.465 


986-40w/oterm. 


8.403 


ZF-151-22 


2,565 


Juki6100 


487 


68000-12 


10.068 


ZFA-161-22 


2,553 


NEC 2010 


718 


Compupro Godbout* 

Sy S .8l6ARAM17- 
Sys. 816ARAM2V 




ZW-151-2 


3.912 


3550 


1.584 


4.378 
4.489 


HARD DISKS 




7710 

Okidata 


1.799 
CALL 


Sys.816AH* 


6,283 


Corvus 12 meg. w/int. 


2.299 


Printronix P300 


5.900 


Sys.816C* 


6.462 


Davong5 meg. Univ. 


1,525 


Oantex 7065 


1.575 


Sys.816CH* 


8,324 


32 meg. Univ. 


3,040 


Oume 11/40 w/interface 


1.395 


Sys.816D" 


9.402 


Iomega lOmeg. 


2,091 


Taily 160L, w/lractor 


569 


Sys. 816F(CPU286)" 


12,737 


Mountain Computer 




180L w/lractor 


784 


•Completely Assembled 


10 meg. internal 


1,701 


Texas Instr. TI810 basic 


1,323 


M-Drive-H 


1,100 


35 meg. external 


3,484 


TI855 


842 


Pragmatic 20 meg.. 8' 


2,990 


Tallgrass 12 meg. w/tape 
20meg. w/tape 


2.670 


Toshiba P-1340 


799 


Pragmatic 40 meg., 8' 
Columbia Sys.. 2-320K 


4.686 


3,097 


P-1350 


1,499 


2,244 


35 meg, w/tape 


4.337 


P-1351 


1.599 


Sys,, 12 meg. 
Sys., portable 


3.393 
2.100 


IBM & PERIPHERALS 


Transtar 120 PorS 


408 


Molecular SM 8. 10 meg. 
Molecular 16X, 30 meg. 
NEC APCH03 


4.900 
12.593 
2.999 


IBM PC64Kmono.2-360K 2.950 
Keytronics 5150 keyboard 189 


PLOTTERS/DIGITIZERS 

Hitachi HDG-2222 3,170 


APCH12Graphics 


618 


5151 keyboard 


239 


Houston Instr., DMP 29 


1.778 


Special Softpacks 


747 


MODEMS 




DMP40 


771 


APC-H26. 10 meg. 


2.172 






DMP41 


2.321 


8201 portable 


619 


Hayes 1200 


499 


DMP42 


2.321 


8801A. System 


CALL 


US Robotics Password 


349 


DMP 52 


3.484 


Northstar Advantage 

w/Dual Floppies 


1.976 


MONITORS 




Hi-Pad 
Strobe M 100 


763 
461 


w/5meg. 
w/15meg. 


3.299 
3,886 


AmdekColorlVA 
Color IV T 


1,007 
767 


TERMINALS 




Onyx 8001 MU 20. 256K 


10.454 


NEC1410RGB 


780 


DECVT100 


1,529 


8002MU20.512K 


14,338 


Princeton RGB w/cable 


485 


Freedom 200 


580 


5001 MU 21 meg. 


6,813 


PRINTERS 




Hazeltine Esprit II 


520 


Sanyo 555. W/2-160K 


1,100 






QumeQVT102A 


542 


Sanyo 555-2. W/2-320K 


1,375 


Anadex 9625B, parallel 


1,190 


QVT103A 


861 


Tava 


CALL 


Brother, DX-15P 


439 


Televideo 924 


713 


Televideo TS-1605 PC 


2.356 


C.ltohF 10-55 


1,250 


925 


715 


TPC-1.port. 


1,643 


Dataproducts B 300-4 


5,921 


950 


905 


TPC-2. port. 


2,356 


Datasouth DS-220 


1,568 


Wyse WY-50 


539 . 


CALL FOR YOUR PRICE ON ANY OF OUR 7,000 OTHER PRODUCTS. 


E Since 1980 E=== 




THE 








IP 




PURCHASING AGENT, INC. 


^^^* ^^^^ 




2444 Old Middlefield Way, Suite J 


m — — — /M 


■ = ^=1 




Mountain View, CA 94043 








(415) 964-8222 


B-84-8 A 



EVENT QUEUE 



Regional Education Center, POB 
21 889, Greensboro. NC 27420, 
(919) 379-5764. September 20-21 

• PROJECT MANAGEMENT 
SEMINAR. Software for Project 
Management and Estimating, 
Los Angeles, CA. Fee: $42 5. 
Contact CIP Information Ser- 
vices Inc., 1105-F Spring St., 
Silver Spring, MD 20910, (301} 
589-7933. September 20-21 

• DOCUMENTATION METHODS 
How to Document a Computer 
System, Holiday Inn— Thomas 
Circle, Washington, DC and 
Hyatt Cherry Hill. Cherry Hill, 
Nl, A series of documentation 
procedures will be presented. 
The fee is $15 5. Contact 
Technical Communications 
Associates, Suite 210, 12 50 
Oakmead Parkway, Sunnyvale, 
CA 94086. (800) 227-3800. ext. 
977; in California, (408) 
737-2665. September 21 and 
September 24. respectively 

• PACIFIC COAST FAIR 

The Fifth Annual Pacific Coast 
Computer Fair. Robson Square 
Media Centre. Vancouver. British 
Columbia, Canada. This event 
features exhibits, user-group 
displays, and more than two 
dozen speakers. Workshops, 
presentations, and panels will 
discuss the Apple Macintosh, 
MS-DOS. software and hardware 
marketing, publishing, Modula-2, 
and graphics. Admission is $4 
per day. Contact Pacific Coast 
Computer Fair Association, POB 
80866. South Burnaby, British 
Columbia V5H 3YI. Canada, 
(604) 581-6877. September 22-23 

• GRAPHICS STANDARD 
COURSE. Introduction to GKS. 
Hyatt Regency Hotel. Austin. 
TX. A course on the Graphics 
Kernel System (GKS) standard. 
The fee is $495. Contact Nova 
Graphics International Corp., 
1015 Bee Cave Woods. Austin. 
TX 78746. (512) 327-9300. 
September 24-2 5 

• ASIAN COMPUTER SHOW 
The Fifth South East Asia 
Regional Computer Conference 
and Exhibition and Hong Kong 
Computer 84. Hong Kong Ex- 
hibition Centre, China Resources 
Building, Wanchai, Hong Kong. 
Contact Cahners Exposition 
Group, 7315 Wisconsin Ave., 
POB 70007, Washington. DC 
20088, (301) 657-3090. 
September 2 A -27 



• OFFICE AUTOMATION IN 
OITAWA. The Seventh Annual 
Ottawa Computer and Office 
Automation Show. Lansdowne 
Park, Ottawa. Ontario, Canada. 
Contact Industrial TVade Shows, 
20 Butterick Rd.. Toronto, On- 
tario M8W 3Z8. Canada. (416) 
2 52-7791. September 26-27 

• COMPUTERS. COMMUNICA- 
TIONS, AND CONTROL 
Eurocon 84— The Sixth Euro- 
pean Conference on Elec- 
trotechnics, Brighton, England. 
A conference that seeks to 
identify the impact of computer- 
based technology on com- 
munications and control. Con- 
tact Manager, Conference Ser- 
vices, Institution of Electrical 
Engineers, Savoy Place, London 
WC2R 0BL. England: tel: 01-240 
1871, ext. 222; lelex: 261176. 
September 26-28 

• MID-ATLANTIC SHOW 
The Fifth Annual Mid-Atlantic 
Computer Show and Office 
Equipment Exposition, Conven- 
tion Center, Washington, DC. 
Contact CompuShows Inc., POB 
3315. Annapolis. MD 21403. 
(800) 368-2066; Annapolis. (301) 
263-8044; Baltimore. 269-7694; 
District of Columbia. 261-1047. 
September 27-30 



October 1984 

• TECHNOLOGY FOR 
DISABLED. Discovery '84: 
Technology for Disabled Per- 
sons. Chicago, IL. Presentations, 
demonstrations, and exhibits on 
computers, technological prod- 
ucts, and services for disabled 
persons. Before September 1, 
registration is $12 5; after, it's 
$175. Contact Office of Continu- 
ing Education. University of 
Wisconsin-Stout. Menomonie, 
WI 54751. (800) 457-8688; in 
Wisconsin. (800) 227-8688. 
October 1-3 

• INFO/MANAGEMENT CON- 
FERENCE. Information Manage- 
ment Exposition and Con- 
ference: Info 84. Coliseum and 
Sheraton Centre Hotel, New 
York City. Contact Banner & 
Greif Ltd.. 110 East 42nd St.. 
New York. NY 10017. (212) 
687-7730. October 1-4 

• NORTHWEST ELECTRONICS 
SHOW. Northcon/84 and Mini/ 

[continued) 



108 BYTE • AUGUST 1984 



Circle 2 57 on inquiry card. 



Introducing the Most Powerful 
Business Software Ever! 

TRS-80™ (Model I, II, III, or 16) • APPLE™ • IBM™ • OSBORNE™ • CP/M™ • XEROX™ 



J&2> 



GENER/iL LED6ER2 




The VersaBusiness" Series 

Each VERSABUSINESS module can be purchased and used independently, 
or can be linked in any combination to form a complete, coordinated business system. 



VERSARECEIVABLES™ $99.95 

VersaReCEIVABLES t " is a complete menu-driven accounts receivable, ipvoicing, and 
monthly statement-generating system. It keeps track of all information related to who 
owes you or your company money, and can provide automatic billing for past due ac- 
counts. VERSARECEIVABLES™ prints all necessary statements, invoices, and summary 
reports and can be linked with VERSALEDGER II™ and VERSA INVENTORY™. 

VeRSAPaYABLES™ $99.95 

VERSA PAYABLES" is designed to keep track of current and aged payables, keeping you 
in touch with all information regarding how much money your company owes, and to 
whom. VERSAPAYABLES" maintains a complete record on each vendor, prints checks, 
check registers, vouchers, transaction reports, aged payables reports, vendor reports, 
and more. With VersaPayablES 1 ", you can even let your computer automatically select 
which vouchers are to be paid. 

VERSAPAYROLL™ $99.95 

VERSaPayroll™ is a powerful and sophisticated, but easy to use payroll system that 
keeps track of all government-required payroll information. Complete employee records 
are maintained, and all necessary payroll calculations are performed automatically, with 
totals displayed on screen for operator approval. A payroll can be run totally, automati- 
cally, or the operator can intervene to prevent a check from being printed, or to alter 
information on it. If desired, totals may be posted to the VERSALEDGER IF" system. 

VERSAlNVENTORY™ $99.95 

VERSAlNVENTORY™ is a complete inventory control system that gives you instant access 
to data on any item. VERSA INVENTORY'" keeps track of all information related to what 
items are in stock, out of stock, on backorder, etc., stores sales and pricing data, alerts 
you when an item falls below a preset reorder point, and allows you to enter and print 
invoices directly or to link with the VERSA RECEIVABLES'" system. VersaInveNTORY™ prints 
all needed inventory listings, reports of items below reorder point, inventory value re- 
ports, period and year-to-date sales reports, price lists, inventory checklists, etc. 

■CQKIPJTRQNXCS; 

50 N. PASCACK ROAD, SPRING VALLEY, N.Y. 10977 



VersaLedger ir $149.95 

VERSA Ledger II™ is a complete accounting system that grows as your business 
grows. VERSALEDGER II™ can be used as a simple personal checkbook register, 
expanded to a small business bookkeeping system or developed into a large 
corporate general ledger system without any additional software, 

• VERSALEDGER II™ gives you almost unlimited storage capacity 

(300 to 10,000 entries per month, depending on the system), 

• stores all check and general ledger information forever, 

• prints tractor-feed checks, 

• handles multiple checkbooks and general ledgers, 

• prints 17 customized accounting reports including check registers, 
balance sheets, income statements, transaction reports, account 
listings, etc. 

VERSALEDGER II™ comes with a professionally-written 160 page manual de- 
signed for first-time users. The VersaI_£DGER II™ manual will help you become 
quickly familiar with VersaLedgeR II™, using complete sample data files 
supplied on diskette and more than 50 pages of sample printouts. 



SATISFACTION GUARANTEED! 



Every VERSA BUSINESS'" module is guaranteed to outperform all other competitive systems, 
and at a fraction of their cost. If you are not satisfied with any VERSA BUSINESS'" module, you 
may return it within 30 days for a refund. Manuals for any VERSA BUSINESS*" module may be 
purchased for $25 each, credited toward a later purchase of that module. 



To Order: 

Write or call Toll-free (800) 43 1-2818 

(N.Y.S. residents call 9 14-425- 1535) 

* add $3 for shipping in UPS areas * add $5 to CANADA or MEXICO 

* add $4 for C.O.D. or non-UPS areas ^^ * add proper postage elsewhere 

DEALER INQUIRIES WELCOME fg3»« 

All prices and specifications subject to change / Delivery subject to availability. 




* TRS-80 is a trademark of the Radio Shack Division of Tandy Corp. - *APPLE is a trademark of Apple Corp. - *!BM is a trademark of IBM Corp. 

*CP/M is a trademark of Digital Research - *XEROX is a trademark of Xerox Corp. 



*OSBORNE is a trademark of Osbome Corp. 



HOW 
TO RUN 

THE 
WORLD. 




; ;.; t T\Tv\ 




Without software you're nowhere. 

That's why the Corona PC runs virtually everything. Word Star. 1 dBASE II? 
Lotus 1-2-3 3 ? Thousands of packages in all. But we didn't stop there. 

We give you 60% better graphics than IBM® (640x325 pixels). So your pie 
charts look tastier. We doubled the memory: 128K memory expandable to 512K 
on the main board. For power that won't quit. And we bundle software. For instant 
productivity right out of the box. All at a price about 20% less than IBM's. 

The Corona PC. Once you can run the world, running your business looks easy. In North 
America, call 1-800-621-6746 for the Authorized Corona Dealer near you. 
In Holland, call 020-03240-18111. There are over 1600 dealers worldwide. 
And their job is to help. Service by Xerox. 

THE CORONA PC 



corona 

data systems, inc. 



Circle 83 on inquiry card. 



©Corona Data Systems 1984. 1. TM MiauproG>ip,2. TM AshtonTate. 3. TM Lotus Development G>ip. *HTS driver needed for graphics only. 

AUGUST 1984 'BYTE 111 



High performance to cost ratio... 

Programming Chips? 



Projects develop profitably with development hardware /software from GTEK. 




MODEL 7956 

(with RS232 option) .... $1099. 
MODEL 7956 (stand alone) $ 879. 

GTEK's outstanding Gang Pro- 
grammer with intelligent 
algorithm can copy 8 E PROMS at 
a time! This unit is used in a pro- 
duction environment when pro- 
gramming a large number of chips 
is required. It will program all 
popular chips on the market 
through the 27512 EPROMS. It 
also supports the Intel 2764A & 
27128A chips. It will also program 
single chip processors. 




MODEL 7228 - $549 
This model has all the features 
of Model 7128, plus Intelligent 
Programming Algoritkims. It 
supports the newest devices 
available through 512Kbits; pro- 
grams 6x as fast as standard 
algorithims. Programs the 2764 in 
one minute! Supports Intel 2764A 
& 27128A chips. Supports 
Tektronics, Intel, Motorola and 
other formats. 



EPROM & PAL 

PROGRAMMERS 

— Tbeee features are standard from GTEK— 
Qu^BtiUe with all RS232 serial intafeffi porta • Auto select beud rate • With or without hand- 
shaking • Bidirectional XorVXoff • CI^DTR supjirted • Read pin couipatahk? ROMS • Noper- 
aonahty modules • Intel, Motorola, MCS86 Hex formats • SpHt fedhty for 16 bitdata paths • 
Road, program, formatted list ajmrnands - Interrupt driven — program and vwify real time while 
sendingdata* Program single byte, block, or whole EPROM • Intelligent diagnostic* diac^n bad 
and/ or erasable EPROM • Verify erasure and ampere cnmmanda • Busy hght • Complete with 
Tfcxtool zoo insertion force socket and integral 120 VAC power (240 VAC/50Hz available) • 




MODEL 7324 - $1199 

This unit has a built-in compiler. 
The Model 7324 programs all 
MMI. National and TI 20 and 24 
pin PALs. Has non-volatile 
memory. It operates stand alone 
or via RS232. 




MODEL 7128 - $ 129 
This model has the highest 
performance-to-price-ratio of any 
unit. This is GTEK's most popular 
unit! It supports the newest 
devices available through 
256Kbits. 



MODEL 7316 Pal Programmer $ 599 

Programs Series 20 PALs. Built-in PALASM compiler. 

DEVICES SUPPORTED 



NMOS 



by GTEK's EPROM Programmers 
NMOS 



CMOS 


EEPROM 


MPirs 


27C16 


5213 I2816A 


8748 8741H 


27C16H 


5213H I2817A 


8748H 8744 


27C32H 


52B13 


8749H 8751 


27C64 


X2816 


8741 68705 


27C256 


48016 


8742H 



2758 2764A 2508 68764 

2716 27128 2516 8755 

2732 27128A 2532 5133 

2732A 27256 2564 5143 

2764 27512 68766 

UTILITY PACKAGES 

GTEK's PGX Utility Packages will allow you to specify a range of addresses to 
send to the programmer, verify erasure and/or set the EPROM type. The PGX Utili- 
ty Package includes GHEX, a utility used to generate an Intel HEX file. 

PALX Utility Package — for use with GTEK's Pal Programmers — allows 
transfer of PALASM® source file or ASCII HEX object code file. 

Both utility packages are available for CPM,® MSDOS,® PCDOS,® ISIS® and 
TRSDOS® operating systems. Call for pricing. 

AVOCET CROSS ASSEMBLERS 

These assemblers are available to handle the 8748, 8751 , Z8, 6502, 68X and other 
microprocessors. They are available for CPM and MSDOS computers. When order- 
ing, please specify processor and computer types. 

ACCESSORIES 



Model 7128-L1, L2, L2A 

(OEM Quantity} $259. 

Model 7128-24 $329. 

Cross Assemblers $200. 

SIM48 Simulator Call for pricing 

PGX Utilities Call for pricing 

PALX Call for pricing 

Qtek 



XASM (for MSDOS) $250. 

U/V Eraser DE-4 $ 80. 

RS232 Cables $ 30. 

8751 Adapter $174. 

8755 Adapter $135. 

48 Family Adapter $ 98. 

68705 Adapter Call for pricing 



Development Hardware/Software 
P.O. Box 289, Waveland, MS 39576 
601/467-8048 
,INC. 



GTEK, PALASM, CPM, MSDOS. PCDOS, ISIS, and TRSDOS 
are all registered trademarks. 



EVENT QUEUE 



Micro Northwest-84, Seattle. 
WA. Among the topics are 
automation. CAD/CAM. local 
area networks, and personal 
computing. Contact Electronic 
Conventions Management Inc.. 
8110 Airport Blvd., Los Angeles, 
CA 90045, (213) 772-2965. 
October 2-4 

• GIjOBAL INFO/MANAGE- 
MENT CONGRESS. The Six- 
teenth Annual International In- 
formation Management Con- 
gress. Hyatt Regency Hotel, 
Singapore, Republic of Singa- 
pore. Seminars, displays, and 
more than 30 conference ses- 
sions. Contact IMC Infomatics 
'84, POB 34404, Bethesda, MD 
20817. (301) 983-0604. 
October 2-4 

• ADA WORKSHOP 
Workshop in Ada, Atlanta, GA. 
See August 27-30. October 2-5 

• PC EXPO 

PC-World Exposition, Market 
Hall, Dallas, TX. Contact Mitch 
Hall Associates, POB 860, 
Westwood. MA 02090, (617) 
329-8090. October 3-5 

• MOTION CONTROL 
SEMINAR. Electronic Motion 
Control Seminar. Philadelphia, 
PA. Contact Electronic Motion 
Control Association, Suite 1200. 
230 North Michigan Ave, 
Chicago. IL 60601, (312) 
372-9800. October 8-9 

• VIRGINIA IS FOR COM- 
PUTERS, The Tidewater Ninth 
Annual Computer Fair, Radio 
Amateur Hamfest/Electronic 
Flea Market, Virginia Beach 
Pavilion, Virginia Beach, VA. 
Dealers, a giant flea market, 
displays, and forums. Advanced 
tickets are $4; at the door, $5. 
Contact Jim Harrison, 1234 Little 
Bay Ave.. Norfolk. VA 23503. 
(804) 587-1695. October 8-9 

• ANNUAL CONFERENCE OF 
ACM, ACM 1984 Annual Con- 
ference, Hilton Hotel, San Fran- 
cisco, CA. Papers, sessions, and 
panel discussions will address 
the theme "The Fifth Generation 
Challenge." Contact Association 
for Computing Machinery, 1 1 
West 42nd St., New York. NY 
10036. (212) 869-7440. 

October 8-10 

• NETWORK CONFERENCE 
The Ninth Conference on Local 
Computer Networks, Minne- 



apolis, MN. Papers, conference 
sessions, and tutorials. The 
theme is "Local Computer Net- 
works—The Exploding Market- 
place." Contact Ninth Con- 
ference on Local Networks, c/o 
Harvey Freeman, Architectural 
Technology Corp., POB 24344. 
Minneapolis, MN 5 5424. 
October 8-10 

• INFO SYSTEMS CONFER- 
ENCE and EXPO, INTECH-The 
Integrated Information Tech- 
nology Conference and Exposi- 
tion, Convention Center, Dallas. 
TX. Seminars, sessions, and 
panels addressing total informa- 
tion systems integration. Contact 
National Trade Productions Inc., 
9418 Annapolis Rd., Lanham. 
MD 20706, (800) 638-8510; in 
Maryland, (301) 459-8383. 
October 9-1 1 

• SOUTHWEST COMPUTING 
The Third Annual Southwest 
Computer Conference, Conven- 
tion Center, Tulsa, OK. A 
business and industry event 
featuring more than 50 
seminars as well as 2 50 ex- 
hibits. Contact SWCC POB 950, 
Norman, OK 73070. (405) 
329-3660 or (918) 587-9550. 
October 9-11 

• MIDWEST ELECTRONICS 
The Mid-America Electronics 
Convention-MAECON/84, St. 
Louis, MO. Exhibits, seminars, 
tutorials, and symposia. Contact 
Electronic Representatives 
Association, 20 East Huron St., 
Chicago. IL 60611. (312) 
649-1333. October 10-11 

• NETWORKS EXPIjORED 
LocalNet '84. Sheraton Harbor 
Island Hotel, San Diego, CA. 
Speakers, papers, and exhibi- 
tions will look at local network 
technology and the effects of 
office automation. Contact 
Online Conferences Inc., Suite 
1190, 2 Penn Plaza. New York, 
NY 10121, (212) 279-8890. 
October 10-12 

• PROJECT MANAGEMENT 
SEMINAR. Software for Project 
Management and Estimating. 
Washington. DC. See September 
20-21. October 11-12 

• COMPUTERS IN SUNSHINE 
Great Southern Computer Show, 
Centroplex Expo Centre, Or- 
lando, FL. Seminars and exhibits 
of hardware, software, peripher- 

{continued) 



BYTE • AUGUST 1984 



Circle 137 on inquiry card. 



Why choose? 




when you can 
have them all. 









Introducing Concurrent CP/M with PC Mode 
for DISCOVERY Multiprocessor Networks 



Selecting the right blend of 
hardware and software for your 
computing needs can be a 
monumental challenge. Action 
Computer Enterprise, pioneer in the 
field of microcomputer 
multiprocessing, makes choosing easy. 
Scoring another innovative first, we 
have brought Concurrent CP/M with 
PC Mode to our full range of 
DISCOVERY Superm/cros. This new 
multitasking enhancement to our 
already powerful multiprocessing 
operating system provides the 
capability to network multiple IBM PC 



compatible workstations without 
sacrificing the ability to run your 
business in a true multi-user 
environment. And of course, the 
DISCOVERY can utilize the full 
complement of CP/M-80 and CP/M-86 
based software including many fine 
multi-user applications. 

If total flexibility is what your 
business needs, pick the system that 
offers all the choices . . . DISCOVERY. 

Take Action Today! 
Call Toll Free: 1-800-821-6596. 

(In California, it's 1-818-351-5451.) 




DISCOVERY. . .The Ultimate Solution. 



DISCOVERY is a trademark of Action Computer Enterprises, Inc. 
CP/M, CP/M Plus, CP/M-86 and Concurrent CP/M are trademarks or 
registered trademarks of Digital Research, Inc. 
IBM PC and PC-DOS are trademarks of IBM Corporation. 



OOC Action Computer Enterprise 

The Multiprocessing Company 

Corporate Headquarters: 430 N. Halstead St., Pasadena, CA 91107 USA TWX 910-588-1201 ACTION PSD 

In Europe: ACE (Europe), B.V., Paradijslaan 42, 5611 KP Eindhoven, The Netherlands Tel. (004) 045-2658 TLX: 51767 ACE E NL 
In Asia: ACE (Asia), G/F, Lee Wah Mansion, 171-177 Hollywood Road, Hong Kong Tel. 5-441692 or 5-442310 TLX: 75332 PACIC HX 

Serviced nationwide by Bell & Howell Company . i D m pc compatible mode. 

Circle 9 for Dealer inquiries. Circle 10 for End-User inquiries. 



Circle 284 on inquiry card. 



c Ttip Softw£re c ]bolw6rks presents: 

The Computer Chef'Series 




Kg 


•\ 


4€ 






A Software Implementation 
within Your Product Hardware 

If you manufacture a computer system or a computer based product, 
allow it to EMULATE/COMMUNICATE by installing one or more of 
Systems Strategies "C" Language based communication packages, 

• 3270 SNA/SDLC Emulation 

• 3270 BSC Emulation 

• 2780/3780/HASP Emulation 

• X.25 Levels 1, 2, 3 Communication 

You can purchase these "C" Language packages with source code 
and license to distribute in your hardware product. Each package is 
available either "Port it Yourself" with instruction manual and training or 
ported to your hardware by Systems Strategies' communications staff. 

Systems Strategies/ Advanced Technology Division 
Specialists in Data Communications Software 

Systems Strategies Inc. 
/ /V\ 225 West 34th Street 

New York, New York 10001 
(212) 279-8400 



EVENT QUEUE 



als. and accessories. Contact 
Great Southern Computer 
Shows. POB 655. Jacksonville. 
FL 32201. (904) 3 56-1044. 
October 11-13 

• GOLDEN STATE EXPO 
Computer Expo and PC Faire. 
Cal Expo. Sacramento. CA. Con- 
tact Computer Expo & PC Show. 
Suite 395. 2020 Hurley Way. 
Sacramento. CA 9582 5. (916) 
924-9351. October 11-14 

• EDUCATIONAL COMPUTER 
FAIR. Fourth Annual Educational 
Computer Fair. Cleveland. OH. 
Contact Educational Computer 
Consortium of Ohio. 4777 Farn- 
hurst Rd.. Cleveland, OH 44124, 
(216) 291-5225. October 12-13 

• LONE STAR COMPUTING 
The Second Annual Heart of 
lexas Computer Show. Conven- 
tion Center. San Antonio. TX. 
Exhibits of computers, games, 
robots, and other high-tech 
products. Contact Heart of Texas 
Computer Show, POB 12094. 
San Antonio. TX 78212. (512) 
681-2248. October 12-14 

• COMPUTERS IN LABORA- 
TORY. Laboratory Computer In- 
terfacing. McGill University. 
Montreal. Quebec. Canada. 'Itoo 
short courses. "Computers in 
the Laboratory" and "Lab- 
oratory Computer Interfacing." 
are offered. Contact Dr. Eric 
Salin. Department of Chemistry. 
McGill University. Montreal. 
Quebec H3A 2K6. (514) 
392-5784. October 13-14 

• FUTURE OF VIDEODISC 
The Second International Con- 
ference on the Future of Optical 
Memories. Videodiscs, and 
Compact Disks to the Year 
2000. Loew's Summit Hotel, 
New York City. Speakers and 
demonstrations. The fee is 
$795. Contact lechnology Op- 
portunity Conference. POB 
14817. San Francisco. CA 
94114-0817. (415) 626-1133. 
October 15-17 

• UNIX INSiDE AND OUT 
UNIX Operating System Exposi- 
tion and Conference. Sheraton 
Centre Hotel and Marina Expo- 
sition Complex. New York City. 
Seminars, social functions, and 
350 exhibition booths. Contact 
National Expositions Co. Inc.. 14 
West 40th St., New York. NY 
10018, (212) 391-9111. 

October 16-18 



• OFFICE COMPUTERS 

The Sixth Annual Calgary Com- 
puter and Office Automation 
Show, Roundup Centre. Calgary, 
Alberta. Canada. Contact Indus- 
trial TVade Shows. 20 Butterick 
Rd.. Toronto, Ontario M8W 3Z8. 
Canada. (416) 252-7791. 
October 17-18 

• COMPUTERS. COMMAND, 
CONTROL. The Second Annual 
Symposium and Exhibition of 
AFCEA, Inn at Executive Park. 
Kansas City, MO. The theme for 
this year's symposium is "The 
Role of Knowledge-Based 
Systems in Command and Con- 
trol." Panel discussions, paper 
presentations, and exhibits. Con- 
tact Armed Forces Communica- 
tions and Electronics Associa- 
tion. POB 4 56. Leavenworth. KS 
66048, (913) 651-7800. 

October 17-19 

• ASIS MEETING 

The Forty-Seventh Annual 
Meeting of American Society 
for Information Science, Franklin 
Plaza, Philadelphia, PA. This 
year's theme is "1984— Chal- 
lenges to an Information Soci- 
ety." Contact 1984 ASIS Conven- 
tion, The Automated Office, 
3401 Market St.. Philadelphia, 
PA 19104. October 21-26 

• HOOSIER COMPUTERFEST 
Indy/Con '84. Indiana Conven- 
tion Center and Hoosier Dome. 
Indianapolis. The largest micro- 
computer/electronics exhibition 
and conference in the state. 
Contact Indy/Con, 5160 East 
65th St., Indianapolis. IN 46220. 
(317) 842-3024. October 23-24 

• COMPUTERS IN CONSTRUC- 
TION. Computers in Construc- 
tion. Atlanta, GA. Fee: $42 5. 
For further details, contact C1P 
Information Services Inc.. 1 105-F 
Spring St.. Silver Spring. MD 
20910. (301) 589-7933. 

October 2 5-26 

• COMPUTERS IN ARTS 
Symposium on Small Computers 
in the Arts. University Hilton 
Hotel. Philadelphia, PA. Intro- 
ductory and advanced courses 
in computer animation, music, 
graphics, interfaces, and legal 
issues complemented by talks, 
exhibits, research presentations, 
a computer art gallery, and film 
shows. Contact Symposium. 
POB 1954, Philadelphia, PA 
19105. October 2 5-28 ■ 



114 BYTE • AUGUST 1984 



Circle 297 on inquiry card. 



w 



roimtiLa-l is your cleve 
better-half. 







Portable Computer 
ALL-IN-ONE 

otmu 










V*** 



Triple Actor 



i& 



w 





SSP.W. . 





Development & Maintenance Tool 

Built-in-EP-ROM Programmer on 
CP/M basis for software development 
& maintenance. 

Terminal 

Access to the host computer. 

Portable Business Computer 

WordStar (MailMerge & SpellStar 
included), CalcStar, Inf oStar SYSTEM 
(DataStar, ReportStar & FormSort 
included) are bundled to Formula- 1. 

You must be able to design more 
effective Information Management 
System by reasonable cost and small 
space. Formula- 1 with bundled soft- 
ware packages will be a good assistant 
to solve many of your problems. 




This portable computer is a 
high-performance and com- 
posed of 2 disk drives of 
5.25" two-sided double 
density, 5.5" CRT, Folding- 
Keyboard, Thermal Printer, 
EP-ROM Programmer, 
Serial & Parallel I/O Inter- 
face and expansion Floppy 
Disk Interface all packed in 
one case. 



You can write-in CP/M's 
HEX and COM files directly 
to EP-ROM and also can 
writein EP-ROM's data 
directly to HEX file. 
EP-ROM-2716, 2732, 2764 
and 27128 are available. 



You can build communica- 
tion network system by 
connecting acoustic coupl- 
er and Formula-1 can be a 
terminal of office compu- 
ters. 






Computer System Engineering 

liliCROVOiCE CCHPCHAuOll 



Shinei Bldg., 8-5 Nishishinjuku 3-chome, Shinjuku-ku, Tokyo, 160 JAPAN Telephone: (03)377-1661 Telex: 2325279 MVOICE J 



Circle 217 on inquiry card. 



AUGUST 1984 -BYTE 115 



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 inter- 
active 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 




116 BYTE • AUGUST 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. 



it skSm mil u. 



£| i 8 C 8 8 8 C t 1 8 



n k . 

'JflroiL wnhii . 

a wsiwfrtiua.. ; 


: Hrf" 


• ! . . . i t] ! 


: ; ^__^ 


-^M 


«ft: : > 

1 IBSB m tm. : 


':' 1 '; ;' 





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 perfor- 
mance goals will become a habit. 

Project Scheduler 5000 keeps you 
constantly informed through its par- 
tial 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 accu- 
racy you need to build realistic 
resource profiles by person, labor 
grade, or other types. 

Jntegration Of Multiple Projects 

Keeping track of how a 
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 informa- 
tion 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 addi- 
tional 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 



AUGUST 1984 -BYTE 117 



BITE 



Framework 

by Rik jadrnicek. lofin Markoff, and 

Ezra Shapiro 121 

The 65816 Microprocessor, 
Part 1: Software 

by Steven P. Hendrix. 125 

Circuit Cellar Feedback 

by Steve Garcia 129 

Benchmarking UNIX Systems 

by David F. Wnnani 132 

Forth-83: Evolution Continues 

by C Kevin McCabe 137 



Features 



THE 6502 MICROPROCESSOR has a history as brilliant as that of the Beatles or the Boston 
Celtics. Not just the heart and soul of a still-evolving line of Apple computers (see the May 
BYTE, page 276. for John Markoff's product description of the new Apple lie), the 6502 
has given life to personal computers made by Commodore, Ohio Scientific Instruments, 
and Atari, plus single-board computers by Rockwell and Synertek, two early second-source 
makers of the chip. After its invention in 1974 by a team of eight ex-Motorola employees 
working at a calculator-chip company called MOS Technology, the 6502 quickly became 
an engineering success owing to its compact instruction set. high clock speed, extended 
addressing modes, and memory-mapped I/O. 

But what has become of the 6502 in the 16-bit microprocessor age? Is a CMOS 65C02 
the end of the evolutionary ladder for this popular chip? This month, Steven P. Hendrix 
provides details on a recently announced 16-bit version of the venerable 6502, a micro- 
processor called the 65816 made by Western Design Inc. of Mesa, Arizona. Capable of 
addressing 16 megabytes of memory and running at clock speeds up to 10 MHz, the 65816 
offers complete software compatibility with its 8-bit predecessors. It is rumored to be at 
the heart of a new Apple computer called the Apple llx. Hendrix's examination of this 
enhanced microprocessor's software is part 1 of a two-part story that concludes next month 
with a detailed look at the hardware. 

In the wake of our preview of Symphony comes a look at Ashton-Iate's Framework in 
a feature put together by our West Coast staff. Using an outline processor for its underly- 
ing structure, this integrated program uses frames instead of windows (will the next generation 
product use window frames?) and can peer through a frame into a dBASE II database pre- 
senting the data laid out in a table, so you don't have to create an arcane report form to 
view data. Our product description shows Framework to be a significant offering. 

Since readers and editors alike have a minimum monthly requirement for benchmarks, 
this month we put UNIX through its paces on several mini- and microcomputers to time 
functions like performing disk reads and writes, making function calls, and finding prime 
numbers (using the infamous Sieve benchmark). David F. Hinnant's report may give you 
some insights into how UNIX works as well as information on how different versions perform. 

The FORTH language community has more fodder for its debates on the merits of FORTH's 
different "official" versions now that FORTH-83 has been adopted by the FORTH Standards 
Committee. As author and committee member C. Kevin McCabe describes, FORTH-83 dif- 
fers significantly from FORTH-79, even going so far as to redefine some FORTH keywords. 
Nevertheless, you can expect this newest version of FORTH to win substantial support from 
many threaded-code proponents. 

The hazy days of summer prompt Steve Ciarcia to take a project-building break this month. 
He takes advantage of the respite to answer letters from readers about projects covered 
in past issues. Steve's answers can help to clarify those occasionally tricky problems that 
crop up when late-night soldering sessions make your eyes blur while reading a crucial 
part of a schematic. A new Circuit Cellar project returns to these pages next month. 

Next month also brings articles on the 65816, disk coatings, and a fascinating analysis 
technique called cluster analysis, along with reports from the microcomputer frontier. 



— G. Michael Vose, Senior Technical Editor, Features 



AUGUST 1984 • BYTE 119 



I 








PREVIEW 



FRAMEWORK 



BY RlK JADRNICEK, 

John Markoff, and Ezra Shapiro 



Integrated software 

that combines familiar features 

within a novel structure 



Framework, a new program for the IBM Personal Com- 
puter (PC) and work-alikes, was developed by 
Forefront Corporation and is now being distributed 
by Ashton : tete. This package has something for 
everyone. All the usual elements of integrated software pack- 
ages—word processing, database management, financial 
modeling, business graphics, communications, and a macro 
language— are combined in a window environment built 
around an outline-processing system. 

The result falls somewhere between the two most popular 
approaches to integration; Framework is neither a shell that 
enables independent applications to exchange data (as are 
Visi On and DESQ), nor is it a "seamless" integrated program 
(like Ovation). Nevertheless, the logical structure of 
Framework provides an easy transition between text and data 
operations and the generation of coherent, seemingly con- 
tinuous final reports. 

Framework is designed to be self-contained, including as 
it does all the major business applications. However, it is also 
an operating environment; you can open a window to DOS 
(disk operating system) and run a program. When you're 
finished, you'll find yourself back in Framework. As 

[continued] 

Rik \adrnicek. a BYTE contributing editor, is president of Micro Flow 
(POB 1 147, Mill Valley. C A 94942), a microcomputing consulting firm. 

Ezra Shapiro is BYTE's West Coast bureau chief. He can be reached 
at McGraw-Hill, 42 5 Battery St.. San Francisco. CA 94111. 

John Markoff is a senior technical editor at BYTE's West Coast bureau. 
He can be contacted at McGraw-Hill, 1000 Elwell Court. Palo Alto. 
CA 94303. 



AUGUST 1984 'BYTE 121 



AT A GLANCE 



Name 

Framework 

Type 

Windowing integrated software package with macro command 
language 

Applications Supported 

Word processing, spreadsheet, database manager, business 
graphics, communications, and outline processing 

Manufacturer 

Ashton-Iate 

10150 W. Jefferson Blvd. 
Culver City, CA 90230 
(213) 204-5570 

Developer 

Forefront Corp. 
Mountain View. CA 

Price 

$695 

Language 

C 

Computers 

IBM PC and compatibles with two 360K-byte floppy-disk drives and 
a minimum of 2 56K bytes of RAM 

Audience 

Business professionals 




Photo I : The Framework desktop in its initial state. Menus along 
the top edge can be accessed by holding down the control key and 
the first letter of the menu title. 

Framework cannot control all the screen-handling routines 
employed by an external program, it may not be possible 
to run it within a partial-screen Framework window— the pro- 
gram itself might grab the whole screen. The basic DOS com- 
mands (CHKDSK, DIR, etc.), though, can be run in a small 
corner of the Framework display. 

Understanding Frames and Outlines 

The underlying principle of Framework is really quite sim- 
ple. You create "frames" (roughly equivalent to subfiles ap- 
pearing in separate windows on the screen) containing text 
graphics, database, or spreadsheet data. Each frame can hold 
a maximum of 32,000 characters, but that is not a limitation 
on file size; the trick to using this product is to start seeing 
your data as smaller blocks that can be linked together when 
it comes time for output. 

Framework's opening display consists of a blank central 
workspace (dubbed the "desktop"), a line of one-word menu 
titles across the top of the screen, and a status area at the 
bottom for various messages. You can pull down menus for 
operations that remain consistent throughout Framework 
(such as frame creation and on-screen formatting) by point- 
ing to the appropriate title with the cursor. This menu line 
is always displayed, and you're never more than a couple of 
keystrokes away from accessing its commands. Most of your 
actual work is done in windows on the desktop; formulas and 
macro commands are usually entered and displayed in the 
status area. On-line help is available with the touch of a func- 
tion key. This arrangement should be familiar to the users 
of spreadsheets or some of the newer word-processing 
packages. 

Using the menus, you begin by first deciding whether you 
want to work on text, a database, a spreadsheet, or an outline 
(more on that later) and then opening a window on the 
screen. Suddenly a box appears that's appropriate to its func- 
tion (e.g., a spreadsheet frame set up with letters across the 
top to indicate columns and numbers down the left side to 
indicate rows). This window is the basic operational unit, the 
frame. Using the function keys, you can size it for your needs 
and drag it around the screen to a convenient position. It's 
initially untitled, but you can enter a name for it along its 
top border. With the plus-sign and minus-sign keys on the 
right edge of the cursor/numeric keypad, you can "zoom" 



122 BYTE • AUGUST 1984 




Photo 2: There are two ways to begin working with Framework: either start a brand new frame by selecting its type from the Create 
menu [2a) or call in an existing file from one of your disk drives by using the Disk menu (26). The Disk menu also includes options for 
closing files and cleaning up the desktop. 



in from the desktop to the frame title, in to the frame, and 
back out again. The bottommost zoom position blows up the 
frame to occupy the entire desktop. You can have a large 
collection of frames open on the desktop at any one time; 
you aren't required to close up and put away any of them 
until you're done. Though Framework is memory-bound— that 
is. it works entirely in available RAM (random-access read/ 
write memory)— the program uses data-compression 
algorithms to temporarily squeeze open frames that haven't 
been used for a long time. While it's conceivable that you'll 
hit the upper limit of your system— by trying to recalculate 
an enormous spreadsheet, for example— it's unlikely that 
you'll have to close frames in order to continue to work. Warn- 
ing messages signal if you push your luck. 

Framework departs from other windowing environments 
in how it keeps track of frames: it ties them together in an 
outline that is essentially hierarchical. Frames are ordered 
as you would rank them in an indented outline. Though 
frames may be given the same weight and treated as indepen- 
dent files, all frames are not necessarily created equal; a 
frame can have one or many subframes. and those, in turn, 
can also have "descendants." In fact, you can open a new 
frame at any point within an existing frame or build a new 
frame around an old one. Even a frame title or a spreadsheet 
data cell can become an entire frame that you can zoom in 
to. Framework keeps an account of this structure by building 
an index of frame titles that looks like a standard outline. 

You have two ways to deal with this system, and you can 
toggle between them with a few keystrokes. First, you can 
simply create frames one at a time and build the hierarchy 
as you go along. In this case, opening a view of Framework's 
outline processor is merely a method of providing yourself 
with a map of how you've organized your data. Using the 
second method, you can open an "outline frame," which is 
set up displaying a simple indented form, empty at the outset, 
into which you can enter short points that can then be used 
as frame titles. You don't have to open frames for every point 
if you don't want to, and it isn't necessary to put anything 
at all into an open frame on the desktop. Framework's power 
and flexibility become evident as you learn how to move back 
and forth between these two outline-processing modes. 

Furthermore, you can use an outline frame to create just 

[continued on page 370) 




Photo 3: The stack of "trays" [bracketed titles) to the lower right 
shows all frames available on the desktop in the order in which they 
were created or opened. 




Photo 4: 'Two simple spreadsheet examples and a graph generated 
from one of them. Were the graph to be zoomed to full-screen 
dimensions, it would appear in color. 



AUGUST 1984 -BYTE 



123 






jr. 



i&ra*%&< 



^<$m*» 



M> 



»<< 



■S&P- 




^ 



>- 



Oi 



We have the lowest 
prices for ©Sanyo 550's 



* 



*Our prices this month are at least $10 less than any other bona-f ide advertised price in this magazine for Sanyo 550/555's, the 360k -2's, and our new 720k I 
■4's. Of course, low prices aren't the only reason we've sold more Sanyo 550's than any dealer in the United States. To find out why these "under $1 000" 
kMS-DOS machines are the "hot" computers of 1984 call or write for our new 12-page brochure. 



SANYO 




5pecial sale on "4-digit" Sanyo computers. 
All include dual drives, Dosic. Wordstor. 
Cokstor. Mailmerge. Spellstorond Infostor. 
Plus prices include o Sonyo 5000 letter 
quality printer (may be deducted for 
&200 credit). The 1150s hove duol 
320K drives, the 1250's and 4050's 
feature 1.2 megabytes of formotred 
storage. 

All Sonya systems have o full one year 
warranty on the main board, 90 days on 
everything else, and con be serviced or 
over 50 service centers nationwide 
(quonrlties limited). 

1150w/CP/M $1499 

1250w/CP/M $1849 

^4050 w/CP/M-86 ........ $1999^ 

TERMINALS 



ALTOS 




From the lowest-piiced dual-floppy multi- 
usersystemsto true 1 6-bif 1 Mhz.mulri 
user systems. Local service available via 
TRW. We will configure, test and Install 
your systems for an additional charge 
(call for prices). 

586-20 $3629 

580-40 $5099 

586-20 $5925 

586-40 $7395 

8000 Series Call 



NEC PC-8201A 




, 



*%™'^ 
%»>■■* 



Columbia 

Compatible 

with IBM-PCs 

and your checkbook! 



What ore you looking forino compatible system? If maximum compatibility, minimum prices, 
50000 worth of software, reliability ond nationwide service ore on your checklist you should 
consider buying o Columbia from Scoftsdole Systems. Eoch system comes with MS-DOS, CP/M 
Cole, Fast Graphs, Home Acc't Plus, Space Commanders, o tutorial and nationwide Dell ond 
Howell service. (Priices for 1 600 series include video cord and keyboord). 



V.P. (Portable) $1899 

Xtra 128K Installed $269 



$449 



1600-1V $1899 

1600-4V(l0mb) $3239 



PRINTERS 




Wyse 50 $499 

Also great prices on ADDS, other Wyse 
models, Televideo, Altos. Zenith and 
Qume terminals. 

PLOTTERS 

HI DMP-29 $1795 

HI DMP-40 $745 

HI DMP-41 $2340 

MODEMS 
Password 

300/1200 $309 

Hayes 1200 $509 

Hayes 300 $209 

Mark XII $249 



IScottsdale Systems^! 

' 61 7 N. Scottsdale Road, Suite B, Scoffsdale, Arizona 85257 

"(602)941-5856 

Call 8-5 Mon.-Fri. 
A 

" -Mf^L. ^ e P Qrf i ci P Qte ,n arbitration for business and customers through the Defter 
Dusiness Dureau of Maricopa County, 



SERVICE/ORDERING 

f TELEMARKETING ONLY: If you plan ro visit please call first for an appointment. Prices! 
1 listed are for cash and include a 3% discount. We sell on a Net 30 basis to Fortune \ 200J 
I companies and universities. No C.O.D.'s or A.P.O.'s. P.O.'s add 2%, Visa, Mastercard add! 
I 3%. Az, residents add 6%. Prices subject to change, product subject to availobilify.f 
I Personal/company checks take 3 weeks to clear. All items listed are new with! 
I manufacturers warranty, 0-20% restocking fee for returned merchandise. ShippingI 
I extra-products are F.O.D. point of shipment. Software is not warrantied for suitability X 
I Registered trademarks: Televideo-Televideo Systems, Inc.; Unix-AT&T Technologies,! 



COLOR MONITORS 




Okidata92 $180 Off List 

Okidara 93 $350 Off 

Plug n' Play .... Free if you ask 
Okidara 84 .... New Low Price 

IDS/Dara Prod Call 

Tally Spirit $298 

Tally 160/L $599 

Tally 180/L $777 

Gemini 15X $140 Off 

Toshiba 1351 $1339 

Radix Call 

Epson Call 

LETTER QUALITY 

Juki 6100 $418 

Silver Reed 500 $409 

Silver Reed 550 $498 

SilverReed770 $849 

Diablo 630 $1669 

NEC 3530 $1279 

NEC 7710 $1735 

DTC380Z $995 



GEMINI 1QX 



Princeton HX- 12 $489 

Zenith ZVM-133 .. $449 

Amdek Color 1 $274 

Roland CB-141 $319 




The best price on the best-selling Gemini 10X Di- 
directionol • 120 c.p.s. printing - 80 or or 132 
columns i n condensed mode. True descenders, bit 
graphics, and a 6 month warranty. Great prices on 
all other Star Products. 



Gemini 10X 



$258 







THE- 



65816 

MICROPROCESSOR 
PART 1: 

SOFTWARE 



Aw 8~l\6~bit successor to the 6502 



WITH SEMICONDUCTOR memory 
prices falling, microcomputer systems 
are boldly going where no micros have 
gone before. Systems with 64K-byte 
main memories are common, and those 
with a megabyte or more are just 
around the corner. Since such old 8-bit 
standbys as the 6502, 6800, and Z80 
can directly address only 64K bytes, 
their days as the backbone of general- 
purpose systems may be numbered. In- 
deed, the increasing number of per- 
sonal computers, like Apple and Atari, 
using bank switching and disk simula- 
tion to expand their semiconductor 
memory access shows the growing 
severity of the address-space pinch. 

Designed to relieve the constraints of 
limited memory, a new branch of the 



6502 family directly addresses up to 16 
megabytes while bringing the simplici- 
ty and execution speed of this time- 
tested microprocessor to 16-bit systems. 
The main representative of this new 
group is the W65SC816. which I refer 
to hereafter as the 65816. In emulation 
mode, it is pin- and software-compatible 
with the 6502, and toggling a single flag 
bit converts it to a complete 1 6-bit pro- 
cessor. In part I of this article I cover 

{continued) 

Steven P. Hendrix, an instructor pilot for the 
U.S. Air Force, has a B.S. in computer science 
and mathematics from the USAF Academy. He 
can be reached at Route 8, Box 81 E, New 
Braunfels, TX 7 8 1 3 . H is hobbies include com- 
puters and astronomy. 



by Steven P. Hendrix 



AUGUST 1984 • BYTE 



125 





065SC816 PROCESSOR PROGRAMMING MODEL 






I - 
L 


8 BITS 


8 BITS 


8 BITS 
















DATA BANK REGISTER 
{DBR) 


X REGISTER HI ,L 
(XH) [ V 


X REGISTER LOW 
(XL) 






DATA BANK REGI 
|_ (DBR) 










STER 


Y REGISTER HI ' 
(YH) { ] } 


Y REGISTER LOW 
(YL) 














I - 

1 

l_ 


00 


STACK REGISTER HI ' 
(SH) [ f 


STACK REGISTER LOW 
(SL) 
















ACCUMULATOR ' 
(B) { \ } 


ACCUMULATOR 
(A) 
















PROGRAM BANK REGISTER 
(PBR) 


PROGRAM 1 
(PCH) ^, U ' 


COUNTER 
(PCD 














r 

1 00 

l_ 


DIRECT REGISTER HI ' 
(DH) ^I- 


DIRECT REGISTER LOW 
(DL) 




:~ 






STATUS REGISTER CODING 




1 = TRUE 

1 = RESULT ZERO 

1 = DISABLE 

1 = TRUE 

1 = 8 BIT. 0= 16 BIT 

1= 8 BIT. 0= 16 BIT 

1 = TRUE 

1 = NEGATIVE 




STATUS REGISTEF 
(P) 








\ E 




N V M X D 1 Z C 




















L 


-( 


:arry 

IERO 

RQ DISABLE 
DECIMAL MODE 

NDEX REGISTER SELECT 
MEMORY SELECT 
DVERFLOW 
NEGATIVE 


































;. 






PIN CON 


FIGURATION 










VP[ 


W65SC816 
1 40 


]RES V SS [ 


W65SC802 
1 40 


]RES 


RDY[ 


2 39 


]VDA RDY[ 


2 


39 


]02(OUT) 


ABORT [ 


3 38 


]M/X <M(OUT)[ 


3 


38 


]S0 


Trq[ 


4 37 


]<*>2(IN) IRQ[ 


4 


37 


]*0 (IN) 


ML[ 


5 36 


]BE NC[ 


5 


36 


]N/C 


NMJ[ 


S 35 


]E nm![ 


6 


35 


]N/C 


VPA[ 


7 34 


]r/w SYNC[ 


7 


34 


]R/W 


v dd[ 


8 33 


]D0/BA0 V DD [ 


8 


33 


]D0 


A0[ 


9 32 


]D1/BA1 A0[ 


9 


32 


]D1 


Al[ 


10 31 


]D2/BA2 Al[ 


10 


31 


]D2 


A2[ 


11 30 


]D3/BA3 A2[ 


11 


30 


]D3 


A3[ 


12 29 


]D4/BA4 A3[ 


12 


29 


]D4 


A4[ 


13 28 


]D5/BA5 A4[ 


13 


28 


]D5 


A5[ 


14 27 


]D6/BA6 A5[ 


14 


27 


]D6 


A6[ 


15 26 


]D7/BA7 A6[ 


15 


26 


]D7 


A7[ 


16 25 


]A15 A7[ 


16 


25 


]A15 


A8[ 


17 24 


]A14 A8[ 


17 


24 


]A14 


A9[ 


18 23 


]A13 A9[ 


18 


23 


]A13 


A10[ 


19 22 


]A12 A10[ 


19 


22 


]A12 


All[ 


20 21 


]V S S All [ 


20 


21 


]v S s 



























some of the software considerations for 
this processor. Next month, part 2 will 
address some hardware considerations. 
Throughout, the term "page" refers to 
a 256-byte memory area wherein indi- 
vidual location addresses differ in only 
the low-order 8 bits, just as for the 6502. 
"Bank" refers to a 64K-byte memory 
area with address locations that differ 
in the low-order 16 bits, with the upper 
8 bits identical. 

Overview 

Figure I shows the programming model 
for the 65816. Close examination re- 
veals the 6502 registers with extensions, 
plus one additional 16-bit register 
formerly not present (the direct register) 
and two 8-bit bank registers. The 8-bit 
registers of the 6502 have been ex- 
tended to 16 bits, the 6502's 16-bit pro- 
gram counter has been effectively ex- 
tended to 24 bits, and the previously 
unused bits in the status register have 
been filled (with an extra bit added). The 
accumulator and index registers still can 
be treated optionally as 8-bit registers 
by setting the appropriate status regis- 
ter bits. Except for the accumulator, the 
full 16-bit registers retain the original 
8-bit names. Each half of each register 
uses the same original name, and they 
are distinguished from one another by 
an "H" or "L" suffix for the high- and 
low-order bytes, respectively. The 16-bit 
accumulator is newly designated as "C." 
The high- and low-order bytes of the ac- 
cumulator are referred to as "B" and 
"A." 

The six status register flags matching 

those of the 6502 retain the same 

meanings. The seventh 6502 flag, "B." 

[continued on page 385) 



E = 1 (6502 Emulation) 


00FFFE.F-IRQ/BRK 


Hardware/Software 


OOFFFC.D-RESET 


Hardware 


00FFFA.B-NMI 


Hardware 


00FFF8.9-ABORT 


Hardware 


OOFFF6.7 


_. 


OOFFF4.5-COP 


Software 


E = (16-Bit Operation) 


OOFFFE.F-IRQ 


Hardware 


OOFFFC.D-RESET 


Hardware 


OOFFFA.B-NMI 


Hardware 


00FFF8.9-ABORT 


Hardware 


OOFFF6.7-BRK 


Software 


OOFFF4,5-COP 


Software 



Figure I: The programming model for the 65816 shows that the 6502's 8-bit registers 
have been expanded, the program counter extended, unused bits filled, and a new register 
(the direct register) added. 



Figure 2: When the 65816 is not 
emulating a 6502, it has a separate vector 
that defines the software interrupt's location 
and relieves the routine from having to 
determine which type of interrupt invoked it. 



126 BYTE • AUGUST 1984 



YOUR PC CAN BE YOUR 
NEXT SMART TERMINAL. 

SmarTerm software can make 
your personal computer a lot 
more intelligent than it really is. 

Our 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. 

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. 

There's a SmarTerm emulator 
that matches your needs: 
SmarTerm 100 for emulation 
of DEC VT100, VT102 and 
VT52. This program now 
features 132-column display 
mode support, using either 
horizontal scrolling or special 
132-column video display 
boards. SmarTerm 125 
includes all the features of 



®*W 



M&WP 



mx& 



M A WORLD 
OF CHANGE, 
THE SMART 
GET SMARTERM 



SmarTerm 100, plus 
VT125 ReGIS graphic 
support. SmarTerm 400 
for emulation of Data 
General Dasher D1 00, 
D200 and D400. 

More than 10,000 cus- 
tomers have discovered 
just how smart their PCs 
can be with SmarTerm. 
We think you'll agree. Try 
it for 30 days with full re- 
fund privilege. 



Call today for more information. 

Available through your local 
software dealer, or 
Persoft, Inc., 
2740 Ski Lane, 
Madison, Wl 53713. 
Phone (608) 273-6000. 
TELEX 759491. 



SMARTERM is a trademark ol PorsoH. Inc • DEC & VT are trademarks 
ol Digital Equipmem Corp • Dasher is a ir;idem;irk o' Data General 
Corf) • IBM is a registered trademark o( Inlcmational Business 
Machines, Inc 



Circle 24 7 on inquiry card. 




persafr 



Introducing the first computer 
gomes thot poy you to l 

own them. I 




AULUOKARE 



We've helped Blue Chip 
make a million, 



Plato courseware educate, 



iiiiiifiiffi 




. 



Plato is a registered trademark of Control Data Publishing 



Thougfytware. 

Expanding The 1 "mfer< Of Learning 



and Thoughtware® expand 
the universe of learning. 



Thoughtware is a registered trademark of the Institute for Management Improvement 



If you don't know us, you probably should. 

The world's leading producers of quality software trust their 
software duplication to us. We're Allenbach Industries. We 
created the diskette duplication industry. So it is no surprise 
that the most respected names in software turn to us for their 
duplicating needs. We understand that your reputation lives or 
dies with every package sold. So does ours. That's why every 
step of the duplication process — from copy protection to labeling 
to package design and assembly — is supported by a complete 
staff of professionals. When your product leaves our facility, 
whether it be a duplicated diskette or the entire market-ready 
package, it's ready for your name. 

Give us a call at (800) 854-1515* and discover how we can help 
you make a million. 



*/n California, calf collect (619) 438-2258. 



ALLENB/ 

INDUSTRIES, INC. 
Circle 1 5 on inquiry card. 



2101 Las Palmas Drive • Carlsbad, California 92008 • 619-438-2258 • 800-854-1515 

We Set the Standard in Software Duplication 

© 1984 Allenbach Industries, Inc. 




CIARCIA'S 
CIRCUIT CELLAR 

Circuit Cellar 
Feedback 



Steve 



answers 



some letters 

about past 

projects 



by Steve Ciarcia 



«ne result of writing a design column 
I like the Circuit Cellar is that it pro- 
duces a lot of mail. While this might 
be a curse for some authors. I find that receiv- 
ing many pounds of mail suggests that I'm do- 
ing something right. 

Generally speaking, reader feedback comes 
in three forms. The first group includes general 
computer questions and interfacing problems. 
A selection of these questions is presented 
each month in 'Ask BYTE." 

The other two groups deal specifically with 
my articles or make project suggestions. There 
never has been a good vehicle for sharing this 
correspondence with you. I sometimes insert 
a few project-related questions in 'Ask BYTE" 
when I think the answer has some broad 
educational value. 

Unfortunately, because most of these 
project-specific letters are never published, I 
receive many of the same questions and have 
to answer them individually. For example, 
unless you wrote me directly or found it 
somewhere in BYTE, you probably wouldn't 
know that there is now an MPX-1 6 user's group 
(see page 398), that there is a PAL (phase 
alternating line) equivalent for the Texas In- 
struments NTSC (National Television System 
Committee) graphics chip used in EZ-Color, 



or that an alternative 300-bps modem chip is 
available so that the ECM-103 can operate in 
Europe. 

This month, rather than presenting a new 
project, I'll share some of these project- 
specific letters with some answers I've been 
mailing to other readers. The ones I've chosen 
are just a few of the hundreds I receive each 
month. 

The letters I appreciate most are project 
ideas and general comments. Many readers 
take the time to describe their experiences 
building Circuit Cellar projects and enhance- 
ments they have made. While there has been 
no lack of article ideas on my part, it is hard 
to ignore a hundred letters asking for a 
1200-bps modem or a voice-recognition inter- 
face. 

Finally, with 450,000 technically educated 
readers, BYTE is one of the best sources of 
expertise in the U.S. Many of its readers chart 
the course of history rather than passively 
observe it. 

I appreciate reader feedback and try not to 
take anything for granted. Many of today's in- 
ventions sound absurd at first disclosure, but, 
if you've developed a perpetual-motion 
machine, I'd like to know about it. 

—Steve Ciarcia, Consulting Editor 



Radio Speech Synthesis 

Dear Steve, 

I liked your article in the lune 1983 BYTE 
("Use ADPCM for Highly Intelligible Speech 
Synthesis," page 3 5). Could you please send 
me a new figure 7 (page 42) showing a 12-bit 
A/D converter in it? 

I know the circuit sends out TTL-level parallel 
data; could you recommend a circuit addition 
that will let me send out this audio data in a 
serial bit stream? 1 may send this data over 
a short radio link (citizens band radio) to be 
received by a friend having a serial-to-parallel 
converter and then plug the converter into the 
circuit in figure 10 (page 49). It is a one-way 
data link. I might want to modulate this serial 
data stream and elevate the entire stream by 



16, 32, or 40 kHz in an upper-carrier fashion 
and demodulate at the receiving end. Does 
this sound like FM carrier modulation? 

Steve Abraitis 
Cleveland, OH 

The 12 -bit version of the circuit can be found 
in the applications notes on the ADPCM chip. 
Contact your local Oki sales representative. 

I do not recommend using a serial radio link 

[continued) 

Steve Ciarcia (pronounced "see-ARE-see-ah") is an elec- 
tronics engineer and computer consultant with experience 
in process control, digital design, nuclear instrumenta- 
tion, and product development. He is the author of 
several books about electronics. You can write to him 
at POB 582, Glastonbury, CT 06033. 



Copyright © 1984 Steven A. Ciarcia. Ail rights reserved. 



AUGUST 1984 -BYTE 129 



in the manner you describe. This is due 
to the sheer magnitude of the speed re- 
quirements involved. For example, for 
an 8-bit D/A converter with an 8-kHz 
sample speed, the data rate is 4K bytes/ 
sec x // bps(async) =44 kbps min. For 
a 12-bit D/A converter with an 8-kHz 
sample speed, the data rate is 6K bytes/ 
sec x // bps(async) =66 kbps. 

You would need a carrier of twice the 
bit rate, a minimum of approximately 
120 kHz, to send this data over the air. 
This, coupled with the signaling speed 
requirement, puts the system out of the 
reach of conventional citizens band 
transmission. —Steve 

Needs Disk Controller 

Dear Steve, 

I used your book to build a Z80 com- 
puter. I am now starting on your Term- 
Mite ST smart terminal (January, page 
37). Now I think I may have reached a 
dead end. 

Do you know of a disk-controller cir- 
cuit and monitor program that would 
work with this computer? I haven't seen 
any. If you can be of any help. I would 
really appreciate it. 

H. G. Woodward 
San Antonio, TX 

My ZAP computer was designed to be 
software and peripheral compatible 
with the Digital Group computer system. 
Any peripheral that can run with the DC 
system can be used with the ZAP, once 
the bus signals are lined up. A disk con- 
troller and DOS (disk operating system) 
are available for the DC machine. The 
DC system is being supported by Aeon 
Electronics. Suite MSB, 1855 South 
Pearl, Denver, CO 80210, (303) 
777-2366. 

Because the ZAP uses a Z80, the 
TRS-80 disk controller could also be 
used as well as the Thrbell. Morrow, and 
God bout boards. Use of the last three 
boards would mean setting up the ZAP 
bus to the S-lOO standard, which would 
make many other S-100 boards available 
for your use— Steve 

Where's the Transformer? 



Dear Steve, 

I recently bought your fine book Build 
Your Own Z80 Computer. I want to con- 
struct.the computer and have started to 
gather parts. So far. I cannot find the 
10-V, 6-A transformer. Also, what proto- 
typing board was used? 

I enjoy your articles in BYTE. 1 would 



like to see construction and other ar- 
ticles on the T1-99/4A. It is a good 
computer. 

Pat Robertson 
Virginia Beach. VA 

You can use a transformer with a 
higher current rating or with a slightly 
higher voltage output (11.6 or so). Keep 
in mind that this will strain the regula- 
tors a bit more, and they may have to 
be heat-si nked and cooled. A 10-V. 6-A 
transformer is a moderately rare item, 
but you can order the Stancor Model 
P-8655 from Sterling Electronics. POB 
7790. Richmond. VA 23231. The cost is 
$18.45 (shipping additional). This unit 
provides the desired specifications in a 
center-tapped configuration. 

For the prototype board, you can use 
an S-100 card produced by Vector Elec- 
tronic Company. These are carried by 
lameco. Priority One Electronics, and 
many other companies that advertise in 
BYTE. 

1 have played around with the 
TI-99/4A and was frankly amazed at the 
power and completeness of its BASIC. 
The full-size keyboard was nicer to type 
on than the keyboards found on many 
inexpensive units today. 1 did not like 
the way Tl used function keys to logical- 
ly shift the keyboard characters, how- 
ever. Although the 99/ 4 A has been dis- 
continued. I'll keep an eye on the mail 
to see if projects for this machine are 
war ran ted. —Steve 

Simplify the ZAP 

Dear Steve, 

I am studying your book Build Your 
Own Z80 Computer, and I have several 
questions. 

Has the state of the art changed sig- 
nificantly since you wrote the book that 
would simplify your computer? Is there 
reading material that would give me 
more information? I've noticed a 
TMM2016, 2048 by 8-bit RAM (random- 
access read/write memory) that looks 
like an attractive replacement for the 
2 1 1 4. 1024 by 4-bit RAM. Can these be 
exchanged without m odifica tions to the 
circuitry? Can you tie MCSO and MCSI 
together to access this replaced RAM? 

I als o have a question about the lead 
10RQ that feeds two NAND gates that 
determine whether a read or a write 
operation is to be performed (figure 
4.24 on page 109). Should n't this lead 
be 10RQ rather than 10RQ, since a high 
when active control signal is desired to 
AND the respective NAND gate to 
generate a low out on IORD or IOWR? 



Any help you can give me will be 
appreciated. 

Dave Schafer 
Omaha, NE 

Several new chips are available that 
would simplify the ZAP computer. How- 
ever, one of the underlying concepts 
behind the computer and the book was 
to make the circuits understandable to 
novice builders. The use of LSI (large- 
scale integration) multifunction com- 
ponents would have made the building 
simpler but the understanding harder. 
This is why discrete SSI (small-scale in- 
tegration) and MSI (medium-scale in- 
tegration) components were used. 

BYTE Books and Hayden Press offer 
many fine books on computer periph- 
eral design. Many examples of circuits 
that employ LSI devices are found in 
these books. 

The TMM2016 memory part could 
easily be used in place of two 2114 
parts. No circuit modific ations are 
neces sary, except for the MCSO and 
MCSI lines. Tying these together would 
damage the decoder 1C Line MCSO 
addresses the 2708 EPROM (erasable 
programmable read-only me mory). 
whic h has a n 8-bit data bus. Lines MCSI 
and MCS2 each drive two 2114s. The 
2114s have a 4-bit data bus. which is 
why two are driven together. The 2016 
part, with its 8-bit bus. replaces two of 
th e 2114s and is driven by either MCSI 
or MCS2. 

Your comment on the lORO line is 
correct. The positive true signal is the 
one that should have been shown on 
the schematic. This same problem oc- 
curs on figure 4.26 —Steve 

Questions about Line 
Conditioning 



Dear Steve, 

Thank you for the article on line con- 
ditioning ("Keep Power-Line Pollution 
Out of Your Computer") in the Decem- 
ber 1983 BYTE (page 36). I've built an 
eight-outlet conditioned power bar with 
surge and EMI (electromagnetic inter- 
ference) protection; I have three ques- 
tions on this project. 

Why are three MOVs required instead 
of two? Won't the function of the third 
be assumed by two acting together? 

Radio Shack's EMI filter (part number 
273-100) is rated only to 5A; to achieve 
a I0-A rating for the total system, I wired 
two of these units in parallel. Will this 
have any consequences on the EMI at- 
tenuation specs for the system? 

[continued on page 392) 



130 B YTE • AUGUST 1984 






LURKING 

BEHIND EVERY 

COMPUTER 

ISTHE POWER 



lmnttk&Yi 



That power cord may look 
innocent. But it could suddenly turn 
against your PC 

It could, for example, hurl a 
power spike from static or lightning into its delicate 
circuitry. Wiping out its memory. Or destroying a defense- 
less component. 

Don't risk it. Get a 
6-outlet Wire Tree Plus™ surge i 
protector from NETWORX™ It 
guards against spikes. Filters 
out RF interference. And it's 
the only device with two 
phone jacks to protect 
modems against surges. 

Other unique features in- 
clude separate switches for 
the CPU and peripherals 
and a bracket that 
mounts under the front of the workstation. 
The illuminated switches are easy to reach, and yet 
recessed, so you can't accidentally shut down power 
and lose data. 

If you don't need 6 outlets, pick up our 4-outlet 
Wire Tree™ Or our single-outlet Wire Cube™ 
that's ideal for portable computers. 

That'll take care of power surges. But what if 
your foot gets tangled in a power cord? Prevent 
this potential disaster with the Wire Away7 M It 
stores up to four 18-gauge wires and ends the 
hazardous mess of dangling cords. 



rAlll^ll.+Jwi+^rafeV.irara 



NETWORX computer station accessories. And 
don't go home without them. 






MSELE 




Computer Station Accessories 



Circle 232 on inquiry card. 




UNIX is a trademark of Bell Laboratories. 



A |12B 



\(\Cft 



I 




M ^'!!2Mrf 



•*£ v 




UNIX performance 
on microcomputers and minicomputers 



by David F. Hinnant 



WITH THE ADVENT of inexpensive but 
powerful 16- and 32-bit microproces- 
sors, the multiuser, multitasking UNIX 
operating system is available on many 
new microcomputers. Because UNIX is 
becoming a standard multiuser operat- 
ing system, this article presents bench- 
marks for several microcomputer UNIX 
implementations and shows how they 
perform when compared to minicom- 
puter versions of UNIX. 
Almost every week, new versions of 



132 BYTE • AUGUST 1984 



UNIX for popular microcomputers or 
new UNIX-based microcomputers are 
being announced. They come from 
everyone from AT&T (UNIX was devel- 
oped at Bell Laboratories) and IBM 
down to previously unknown compa- 
nies who license UNIX from AT&T and 
then implement, or port, it for new hard- 
ware configurations. For some UNIX im- 
plementations on microcomputers, you 
need additional hardware (at least a 
hard-disk system for the megabytes of 



• 



,\\\\\^ 



\^^ V S^ 



w 



cu\ 








utilities and programs that come with 
UNIX), while some implementations run 
by just inserting a disk and booting up 
the run-time operating system. 

Quite a few releases of UNIX software 
are also available, including Version 6, 
Version 7, System III, and System V 
(AT&T's new standard) from Bell Labs; 
the 4.1 BSD and 4.2 BSD UNIX exten- 
sions from the University of California, 
Berkeley; XENIX, an enhanced UNIX 
Version 7 from Microsoft; VENIX, a fine- 
ly tuned UNIX with real-time capabili- 
ties; Uniplus-f-, an enhanced UNIX 
System II! from Unisoft; also, many sys- 
tems claim to be "UNIX-like." Do all 
these UNIX implementations look and 
work alike? What do you look for in 
determining which is the better UNIX- 
based machine? Some will be faster 
than others because of hardware con- 
straints, but how can you tell if you're 
getting the best system for your oper- 
ating conditions? That's usually the bot- 
tom line. Enter the UNIX benchmarks. 

lust what is a benchmark? For our pur- 
poses, a benchmark is a set of instruc- 
tions that measures how well the hard- 
ware and software of a computer sys- 
tem perform together. Benchmarks can 
either exercise singular, specific func- 
tions of a compiler or operating system 
(e.g.. function-call overhead or system- 
call overhead) or they can test the 
general performance of the machine by 
exercising a number of operations (e.g., 
looping, searching, etc.). In both cases, 
these timings are compared to results 
on other machines. 

Benchmarking an operating system is 
much more complex than benchmark- 
ing a compiler. However, since UNIX 
and its language compilers are written 



in the high-level language C, compiler 
implementation is just as important, as 
we will see. What should an operat- 
ing-system benchmark do? 

The purist approach tests only well- 
defined individual functions of the oper- 
ating system (e.g., pipe implementation, 
disk throughput, system-call overhead, 
and context switching). This is difficult 
to do, as any program that exercises 
one particular operating-system func- 
tion inadvertently includes statements 
that are not related to the function 
under scrutiny. We must reconcile our- 
selves to a benchmark that includes as 
little superfluous code as possible. 
Since this unwanted overhead varies 
from program to program, in most 
cases, the execution-time results cannot 
be manipulated in an arithmetic fashion 
to produce true timings of a particular 
operating-system function. They can, 
however, be compared to timings on 
other machines. 

The practical approach tests overall 
system performance by performing 
many typical functions (e.g., sorts; com- 
pilations; and creating, listing, and 
deleting files) but in a controlled 
fashion. Again, these timings are com- 
pared with timings on other UNIX ma- 
chines. 

Both approaches have merit, and ex- 
amples of both will be presented here. 

Some Benchmark Guidelines 

Let's develop some guidelines for 
benchmarking operating systems in 
general and apply them specifically to 
UNIX. In order to benchmark any oper- 
ating system, as many environmental 
variables as possible should be elimi- 
nated; 






■ 



• The benchmarks should be run in 
a multiuser environment so that any 
normal operating-system overhead 
(e.g.. context switching between pro- 
cesses and other operating-system 
housekeeping) is taken into account. 
(Most UNIX implementations offer a 
single-user mode as well as a multi- 
user mode.) 

• The benchmarks should be taken 
more than once and averaged to 
compensate for any system-level 
background processes that repeat- 
edly sleep awhile and work awhile. 
(A good UNIX example is the routine 
update that wakes up every 30 sec- 
onds and, among other things, 
flushes buffers and in-core tables to 
disk.) 

• The benchmarks should be per- 
formed while the system is otherwise 
idle so that the timings are as true 
as possible. On microcomputers, 
even one additional user can distort 
benchmark results significantly; 
depending, of course, on what is be- 
ing done. 

• All available optimizations should 
be used. Implementations that take 
advantage of the hardware con- 

[continued) 

David Hinnant (2017 Hunter field lane. 
Raleigh, NC 27609) holds a B.S. degree in 
physics and is a U NIX systems programmer with 
ITT Telecom in Raleigh. He is coauthor of a book 
on UNIX microcomputers soon to be published 
by Robert J. Brady Co. His UNIX UUCP ad- 
dress is ...ucbvax\decvaxlittvaxlittral\hinnant. 
Machine-readable copies of the benchmark suite 
are available upon request to the UUCP address. 
Benchmark results from UNIX systems not men- 
tioned in this article are welcome. 



PHOTOGRAPHED BY PAUL AVIS 



AUGUST 1984 -BYTE 



133 



Listing I: The UNIX pipe benchmark. 



UNIX Operating System Implementation Test #1 

This program evaluates pipe efficiency and implementation. 
Since pipes are commonly used in UNIX, pipe performance is often a 
decisive factor in overall system performance, and says a lot about 
the UNIX implementation. Here we test pipe implementation by 
cramming 0.5 MB through a pipe as fast as possible. 



Instructions: 
Compile by: 



cc -O -s -o pipes pipes.c 



The -O option says to use the optimizer. 

The -s option says to strip the namelist from the 

object file after linking. 
The -o option says to place the object file in the file 

specified by the next argument. 

/bin/time pipes 



Time by; 



Results: 

Since pipes usually use the disk as a buffer, real time is 
important, but can be misleading if the disk is very slow. 
Of greater importance here is the 'system' time, as it is 
a direct measurement of kernel efficiency. The user' time 
is of little importance. 



#define BLOCKS 1024 

/* the buffer */ 
char buffer|512|; 

/* file descriptor for pipe */ 
int fid|2]: 



maind 

{ 



/* want to test pipe implementation: not arithmetic */ 
register int i; 

/* initialize the pipe */ 
pipe(fid); 

/* fork the child process */ 
if I fork!) I { 

/* parent process writes to pipe in 512 byte chunks */ 
for (i = 0: i < BLOCKS; i + + ) 

if |write(fid|l|. buffer. 512) < 0) 

/* if there is a problem, say so */ 
printfl 'Error in writing; i = %d\n", i): 
/* close the pipe when we're done */ 
if lclose(fid[ll) != 0) 

printfl "Error in parent closing\n "); 



} 
else { 



/* close, since we aren't writing */ 
if (close(fidlll) != 0) 

printff'Error in child closing\n "): 

/*' child process reads the pipe until EOF */ 
for (;;] 

if (read(fid|0|, buffer, 512) == 0) { 
break; 

} 



figuration are generally better to 
begin with. If a compiler option for 
object-code optimization is available, 
it should be used. If the hardware 
can support fast (register in the case 
of C) variables, they should be used. 
In the benchmarks discussed here, 
all variables that can be of the 
register type will be declared as 



such. In reality, the number of 
registers available for use by register 
variables varies widely because of 
hardware differences between micro- 
processors. Remember, our goal 
here is not to develop benchmarks 
that determine which UNIX machine 
is the best under a given set of re- 
quirements but to develop a general 



set of benchmarks to aid the con- 
sumer in determining which hard- 
ware/software implementation gives 
the most performance for the 
money. 

• The benchmarks should be exactly 
the same on all machines tested and 
portable enough to run on all the 
machines. Seme may argue that if a 
particular software option is avail- 
able, it should be used as an op- 
timization is used (a binary-tree 
search function, for example). Keep 
in mind that extensions are not op- 
timizations. Although the distinction 
can become cloudy an extension is 
probably not used as routinely as an 
optimization. 

• Some of the benchmarks devel- 
oped should be able to exercise 
specific, known functions of operat- 
ing-system and compiler implemen- 
tation. 

• The benchmarks developed 
should also contain tests of overall 
performance by simulating typical 
user activities. This should include 
executing background processes 
concurrently with foreground pro- 
cesses (if possible) to see how the 
system responds under a multitask- 
ing load. 

• The benchmark timings should be 
made using a consistent and accu- 
rate method. A stopwatch just won't 
do. Fortunately, UNIX has a standard 
timing mechanism that reports 
elapsed (real) and processor times 
used by a process. The processor 
time is further divided into user and 
system times. 



User time is the amount of time the 
process spent executing nonprivileged 
instructions (e.g., arithmetic calculations, 
sorting, searching, calling user-level 
functions, etc.). 

System time is the time the process 
spent executing privileged (kernel) com- 
mands (i.e., system calls) plus some sys- 
tem-level overhead (e.g. context switch- 
ing between processes). 

The elapsed time is just that. And it 
is often not the sum of the user and sys- 
tem times. The majority of the missing 
time is spent waiting for I/O (input/out- 
put) operations to complete, waiting for 
a signal from another process, sleeping, 
or swapped out on disk while another 
program is running. It is unfortunate 
that in some implementations of UNIX 
the elapsed time reported by this tim- 
ing mechanism is given only to the sec- 
ond. Thus, the sum of the system and 
user times can on occasion be greater 



134 BYTE • AUGUST 1984 



Table 1: The results of UNIX benchmarks for some common microcomputers and minicomputers. The table is sorted on the fastest execu- 
tion (real) time for the shell benchmark in listing 6a. 



System 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

I I 

12 

13 

14 

15 



VAX- 1 1/780 
Masscomp 
Sun-2/120 
VAX-I 1/750 
PDP-ll/70 
Altos 986 
IBM PC XT 
PDP-I 1/2 3 
IBM PC XT % 
SCI- 1 000 " 
Omnibyte 
TRS-80 I6B 
PDP-I 1/23 
DEC Pro/3 50 
Apple Lisa 



4.1 BSD 
Sys 111 + 

4.2 BSD 
4.1 BSD 
2.8 BSD 
XENIX 
PC/IX 
VENIX 
VENIX/86 
Sys 111 + 
Idris ♦S.- 
XENIX 
V7 

VENIX 
Sys 111 + 



Time in Seconds 











1 . Pipe 




2. 


System Call 


3. Function Call 






No. 


Machine 


Version 


real 


user 


sys 


real 


user 


sys 


real 






1 


VAX-I 1/780 


4.1 BSD 


3.2 


0.1 


1.2 


4.8 


1.4 


4.0 


1.0 






2 


Masscomp 


Sys 111 + 


5.7 


0.0 


2.8 


6.3 


0.4 


5.8 


0.9 






3 


Sun-2/120 


4.2 BSD 


7.6 


0.1 


3.7 


6.8 


I.I 


5.6 


0.8 






4 


VAX-I 1/750 


4.1 BSD 


4.6 


0.2 


2.1 


7.0 


0.9 


6.2 


1.7 






5 


PDP-I 1/70 


2.8 BSD 


8.1 


0.0 


3.4 


8.0 


0.2 


7.5 


1.0 






6 


Altos 986 


XENIX 


6.0 


0.1 


2.8 


1 1.0 


0.8 


10.3 


0.4 






7 


IBM PC XT 


PC/IX 


16.6 


0.1 


7.6 


39.8 


2.9 


35.6 


4.7 






8 


PDP-I 1/23 


VENIX 


30.0 


0.1 


9.5 


24.0 


3.2 


20.4 


3.3 






9 


IBM PC XT % 


VENIX/86 


18.0 


0.1 


7.3 


20.5 


2.3 


17.8 


2.8 






10 


SCI- 1000 " 


Sys 111 + 


9.3 


0.0 


3.1 


26.2 


0.7 


24.2 


1.2 






1 1 


Omnibyte 


Idris *8: 


32.0 


0.1 


30.4 


21.3 


2.5 


18.4 


1.7 






12 


TRS-80 16B 


XENIX 


8.0 


0.1 


3.4 


15.0 


1.5 


12.7 


1.4 






13 


PDP-I 1/23 


V7 


23.0 


0.1 


10.7 


36.5 


0.9 


33.7 


3.6 






14 


DEC Pro/3 50 


VENIX 


26.0 


0.5 


13.8 


33.3 


5.8 


26.5 


3.5 






15 


Apple Lisa 


Sys 111 + 


8.1 


0.0 


3.0 


10.5 


0.2 


9.1 


1.3 






System 




Time in 


Seconds 
























4. Sieve 




5a. Disk Write 


5b. Disk Read 


6a. Shell 




7. Loop 


No. 


Machine 


Version 


real 


user 


sys 


real 




real 


real user sys 


real 


user sys 



1.7 
2.8 
5.1 
2.4 
2.3 
3.3 
8.2 
5.5 
9.0 
4.4 
7.0 
6.0 
5.8 
6.3 
6.1 



1.5 
2.5 
2.8 
2.7 
1.6 
3.0 
7.8 
5.1 
8.2 
3.6 
5.4 
4.8 
5.3 
5.1 
5.3 



0.1 
0.1 
0.4 
0.1 
0.1 
0.0 
0.3 
0.1 
0.3 
0.1 
0.4 
0.3 
0.1 
0.1 
0.1 



2.0 
1 .7 
I .8 
3.0 
4.0 
3.5 

I I .6 
8.0 
7.0 
4.3 

I 2.3 
8.0 

22.0 
7.7 

20.8 



8.0 

4.9 

8.0 

9.5 

7.3 

20.7 

33.7 

25.6 

9.1 

S 

22.0 

32.7 

28.0 

44.5 



3.3 

3.5 

3.5 

3.8 

4.0 

7.0 

8.5 

12.0 

13.0 

13.6 

17.6 

18.0 

20.4 

27.0 

37.6 



0.3 
0.4 
0.3 
0.4 
0.2 
0.4 
I.I 
0.7 
0.8 
0.5 
0.3 
0.4 
0.8 
0.8 
0.4 



1.3 
1.4 
2.0 
1.5 
1.7 
1.6 
3.2 
4.8 
4.2 
1.9 
16 1 
2.6 
8.5 
4.7 
3.2 



2.6 

6.6 

7.4 

5.1 

7.9 

13.3 

32.2 

26.0 

32.7 

14.5 

17.0 

14.0 

27.4 

26.7 

14.0 



2.5 

6.3 

7.0 

4.9 

7.1 

13.0 

31.5 

25.2 

31.4 

13.6 

16.1 

12.5 

25.9 

25.3 

12.0 



Indicates UNIX System HI plus some Berkeley enhancements. 

The benchmark in listing I had to be modified slightly to run under Idris 2.1, perhaps explaining the large times that resulted. 

Idris 2.1 is a Version 6-based UNIX system, and hence did not have the rand() system call. Thus, the benchmark could not be run. 

Unfortunately, this time was not available at the time of publication. 

The SCI- 1 000 benchmarked was a preproduction 80186 system with debugging code in the kernel and compiler. 

For some reason, the C compiler optimizer caused the operating system to crash, so these results are with nonoptimized benchmarks. 



System Configuration: 

1 — 4-megabyte RAM, two 256-megabyte disk drives 

2 — 2-megabyte RAM. one 50-megabyte disk drive 

3 — 2-megabyte RAM, one 4 2-megabyte disk drive 

4 — 2-megabyte RAM, one 121-megabyte disk drive 

5 — 1.5-megabyte RAM, 400 megabytes of disk drives 

6 — l-megabyte RAM. one 40-megabyte disk drive 

7 — 5l2K-byte RAM, one 10-megabyte disk drive 

8 — 256K-byte RAM, two 5-megabyte disk drives 



9 — 5l2K-byte RAM, one 40-megabyte disk drive 

10 — 640K-byte RAM, one 10-megabyte disk drive 

11 — 384K-byte RAM, one 20-megabyte disk drive 

12 — 384K-byte RAM, one 1 5-megabyte disk drive 

13 — 256K-byte RAM, two 10-megabyte disk drives 

14 — 256K-byte RAM, one 5-megabyte disk drive 

15 — l-megabyte RAM, one 5-megabyte disk drive 



0.1 
0.1 
0.1 
0.1 
0.2 
0.1 
0.3 
0.1 
0.3 
0.2 
0.4 
0.5 
0.3 
0.1 
0.2 



than the elapsed time. 

This mechanism is the time com- 
mand, which is invoked explicitly by 

/bin/time filename 

where filename is the program to be 
timed. Under UNIX, filename can be 
either an object file or a text file of shell 
commands. Of course, some overhead 



is in the time command itself, since it 
has to start filename executing, but it is 
small and can be neglected because all 
our benchmarks will be timed this way. 
The results are compared to other UNIX 
machines timed in the same manner. 

The UNIX Benchmark Suite 

How can we apply these guidelines to 



the UNIX operating system and its most 
important language, the C compiler? 
What should we test? That question can 
be answered by answering the question, 
"What does UNIX do most often?" 

UNIX has a number of unique and 

powerful features that are used quite 

heavily. If implemented efficiently, these 

[continued on page 400) 



AUGUST 1984 'BYTE 135 



Apricot voted 
best in the world. 

But you be 
the judge. 



Of course, you'll have to \nsil your 
local Apricot dealer to confirm the experts 
judgement, first hand. But here's sonic 
preliminary evidence: 

• A keyboard that includes special func- 
tion keys, a numeric keypad, a built-in, 
software-accessible calculator, and 
dynamic, touch-sensitive keys that adapt 
to each program. 

• Convenient, lit>in-your-pockct,3^-inch 
disks that arc 100 times more reliable 
than the older 5M -inch style. 

• A special, high-resolution (800x400 
pixel) non-glare monitor. 

• Full 16-bit internal architecture for 
faster program execution. (The Apricot, 
runs most software written for the 
IBM PC.) 

• Standard 256 K RAM internal memory 
(upgradeable to 768K). 

• RS-232 (V-24) serial port plus a 
synchronous and asynchronous parallel 
port. 

The Apricot is available with a single 
disk drive, as you see it here with twin 
disk drives, with double-sided twin disks, 
or with a 5 Mbyte or 10 Mbyte Winchester 
disk drive. Prices range from $2295 to 
$4895. For more in formation, return the 
coupon or call 800/447-4700. 

"Microcomputer of the Yea rand Business 
Microcomputer awards,, Hritish Microcotn))Ufiu(j 
Awards Pivseuhdion. 



□ 111 be the 

N;imo 


udge. Solid me the evidence. 


AHHmss 


Piry 


SUlte 


Zip 



Primary use; □ business □ home 



MAIL TO: 

ACT (North America) Inc. 
3375 Scott Blvd., Suite 342 
Santa Clara, CA 95051 



136 BYTE • AUGUST 1984 







11 le iat iff lie MicroScreen™serees r/.s a calendar! 
clock; a Ixtill-in calculator, and a labelling derive 
for special touch-sensitive heps. 



You can caret/ the Apricot like a briefcase. 



15 L984 ACT North America, Inc. 
Circle 8 on inquiry card. 



by C. Kevin McCabe 

A new standard 

corrects some problems, 

but FORTH is still 

a language in flux 



FORTH-83: 

EVOLUTION 
CONTINUES 



All FORTH words in this article, and in the 
tables, are in boldface type. Italics is used to 
designate numeric values that are treated in a 
specific way. Italicized terms in angle brackets 
(< >) are unspecified word names. 

The evolution of FORTH from a 
radio-telescope control language to an 
acclaimed software tool can hardly be 
termed usual— or entirely peaceful. 
Perhaps because the language is attrac- 
tive to software hackers, new versions 
of FORTH appear with a frequency 
quite unlike more established lan- 
guages. Proponents of various dialects 
tend to splinter into groups, with heated 
debates over mono-addressing, 
threaded versus direct code, and other 
esoteric matters. 

The latest standardization attempt 
may only add to a continuing contro- 
versy over which version is the "real" 
FORTH. FORTH-83, accepted almost un- 



animously by the FORTH Standards 
Team, includes numerous differences 
from the earlier FORTH-79 standard. 
FORTH-79, in turn, differs greatly from 
FIG-FORTH, the public-domain version 
developed by the FORTH Interest 
Group (FIG). FORTH Inc.'s commercial 
versions of FORTH, and several earlier 
proposed standards. Major changes in 
virtually all areas almost insure that 
FORTH-79 programs will not be com- 
patible with the new standard. 



The Changes 

Eleven FORTH-79 "words" 



(named ex- 
[continued) 



C. Kevin McCabe {lord, Bissell & Brook. 1 1 5 
South LaSalle St., Chicago, I L 60603) is a trial 
attorney concentrating in aviation-disaster litiga- 
tion. When not using his Exidy Sorcerer, Kaypro 
4, or other homebrew systems, he enjoys flying, 
skydiving, writing, and hacking. 



T^ble 1: 


FORTH-79 words not included in the FORTH-83 required word set. 


FORTH-79 Word 


Remarks 


79-STANDARD 


new word FORTH-83 fulfills same function 


? 




use equivalent sequence @ . instead 


CONTEXT 




moved to new system-extension word set 


CURRENT 




moved to new system-extension word set 


EMPTY-BUFFERS 


moved to controlled-reference word set 


LIST 




moved to controlled-reference word set 


MOVE 




moved to uncontrolled-reference word set 


QUERY 




moved to controlled-reference word set 


SCR 




moved to controlled-reference word set 


U* 




use UM* instead 


U/MOD 




use UM/MOD , but note floored division 



AUGUST 1984 -BYTE 137 



ecution procedures) have been re- 
named or removed entirely from the 
standard's required word set (see table 
1). Twenty new words have been added 
to the required word set. Major changes 
in FORTH-83 definitions affect integer 
arithmetic, control structures, relational 
operations, use of mass storage, stack 
manipulations, I/O (input/output), com- 
pilation of new definitions, and 
vocabulary usage. Required words that 
have undergone significant changes in 
definition are listed in table 3. Both the 
assembly-language and the double- 
number extension word sets have been 
revised, and a new system-extension 
word set has been added as an option; 
the additions and changes in meaning 
are shown in tables 4, 5, and 6. 
FORTH-83 division operations use 



"floored" integer arithmetic, with the 
quotient z rounded to the greatest in- 
teger less than or equal to z, i.e., toward 
negative infinity. This provides sym- 
metry with respect to on the number 
line but is incompatible with 
FORTH-79's simpler rounding toward 0. 
FORTH-83 division operations also are 
defined to force error conditions if a 
divisor is or a quotient lies outside the 
permissible operand range. 

The DO . . . LOOP and DO . . . 
+ LOOP control structures have been 
revised considerably. For positive in- 
crements, termination of a FORTH-79 
loop occurs when the new index value 
equals or exceeds the limit; for negative 
increments, +LOOP terminates only 
when the new index is less than (but not 
equal to) the limit. FORTH-79 loop pa- 



rameters are also restricted to signed 
single-precision numbers. 

Both characteristics have changed in 
FORTH-83. The new versions permit 
loop parameters to be any signed or un- 
signed single-precision value (values 
between -32,768 and 65,535; see table 
7). FORTH-83 loops terminate when the 
index is incremented across the boun- 
dary between limit- 1 and limit; code to 
detect the transition is easily imple- 
mented for any processor with an over- 
flow bit. Use of the transition detection 
rather than FORTH-79's direct com- 
parison means that a limit equal to the 
initial index will no longer terminate the 
loop after one pass; instead, the index 
is handled on a continuous "number cir- 
cle" using 2's complement arithmetic, 
[continued on page 412) 



Table 2: Modifications to 


and clarifications of, stack parameter manipulations under the proposed FORTH-83 standard. Stack 


diagrams show value[s) on 


the parameter stack before and 


after the execution or 


compilation of the indicated FORTH word. For an 


explanation 


of the abbreviations used for stack values, see 


table 7. 








Word 

I 


Word Set 
required 


Stack Diagram(s) 
( 16b addr - ) 




D + 

D- 


required and 
double 
double 


( wdl wd2 — wd3 ) 
( wdl wd2 — wd3 ) 


tt> 


required 


( 32b - addr + n ) 




DEPTH 


required 


(- +n) 


* 


required 


(wl w2 — w3 ) 




DROP 


required 


(16b-) 


+ 


required 


( wl w2 — w3 ) 




DUP 


required 


( 16b - 16b 16b ) 


+1 


required 
required 


( wl addr - ) 
(16b-) 




ELSE 


required 


(-) 

(sysl — sys2 ) (compiling) 


- 


required 


( wl w2 — w3 ) 




FILL 


required 


( addr u8b — ) 


-TRAILING 


required 


( addr +nl — addr + n2 ) 




1 


required 


(-w) 


1 + 


required 


(wl-w2) 




IF 


required 


(flag-) 


1- 


required 


(wl -w2) 








( — sys) (compiling) 


2! 


double 


( 32b addr - ) 




I 


required 


(-w) 


2 + 


required 


( wl - w2 ) 




LOAD 


required 


(u-) 


2- 


required 


(wl ~w2) 




OR 


required 


( I6bl I6b2 - I6b3 ) 


2® 


double 


( addr - 32b ) 




OVER 


required 


( 16bl 16b2 - 16bl 16b2 16bl ) 


2DROP 


double 


(32b- ) 




R> 


required 


(-16b) 


2DUP 


double 


( 32b - 32b 32b ) 




R@ 


required 


(-16b) 


20VER 


double 


( 32bl 32b2 - 32bl 32b2 32bl ) 


REPEAT 


required 


(-) 














(sys — ) (compiling) 


2ROT 


double 


( 32bl 32b2 32b3 - 32b2 32b3 
















ROT 


required 


( 16bl 16b2 16b3 - 16b2 16b3 I6bl ) 


2SWAP 


double 
required 


( 32bl 32b2 - 32b2 32bl ) 
(-) 




SPACES 


required 


( +n-) 






(sys — ) (compiling) 




SWAP 


required 


( 16bl I6b2 - I6b2 I6bl ) 


>R 


required 


( 16b ) 




THEN 


required 


(-) 

(sys — ) (compiling) 


© 


required 


( addr - 16b ) 




TYPE 


required 


( addr +n — ) 


ABS 


required 


(n-u) 




UNTIL 


required 


(flag-) 


ALLOT 


required 


(w-) 








(sys — ) (compiling) 


AND 


required 


( 16bi 16b2 - 16b3 ) 




WHILE 


required 


(flag-) 


BEGIN 


required 


(-) 








( sysl — sys2 ) " (compiling) 






(—sys) (compiling) 




XOR 


required 


( 16bl I6b2 - 16b3 ) 


C! 


required 


( 16b addr - ) 




1 


required 


(-) 


C@ 


required 


( addr - 8b ) 








( — ) (compiling) 


CMOVE 


required 


( addrl addr 2 u — ) 




[COMPILE| 


required 


(-) 

( — ) (compiling) 


CONVERT 


required 


( -hdl addrl - +d2addr2) 




1 


required 


(-) 


COUNT 


required 


( addrl — addr2 +n ) 











138 BYTE • AUCUST 1984 



Announcing the WY-75. 




Our new WY-75, VT-100*software-compatible 
terminal is specially fitted for use with your 
DEC*computer. 

It offers a combination of features you can't 
find in any other VT-100 software-compatible 
terminal. Like a compact, ergonomic design. 
A finely sculpted, low-profile keyboard. And 
a swivel and tilt non-glare 14" screen, tailored 
with an 80/132 column format. 

At a price of $795, the WY-75 won't cost the 
shirt of f your back. 

Contact Wyse Technology for more 
information. And put your DEC on the best 
dressed list. 

$795 

VT-100 software 

compatible and 

dressed for success. 




WYSE 



Make the Wyse Decision. 



Wyse Technology, 3040 N. First Street, San Jose, CA, 95134, 408/946-3075, 
TLX 910-338-2251, Outside CA call toll free, 800/421-1058, in So. CA 213/340-2013. 

•VT-100 and DEC are trademarks of Digital Equipment Corporation. 



Circle 333 on inquiry card. 



AUGUST 1984 -BYTE 139 



SINESS • DESIGN • MARK ETING • SALES • EDUCATION • ART • SCIENCE • ENGINEEI 

Turn your Apple 



Drofessional color g 




\ 



ur system lets you take an idea, 
draw it on the screen, manipu- 
late the image electronically — 
even draw interactively with a colleague 
thousands of miles away — then save 
your concept on disk or dot matrix 
printer. 

The Digital Paintbrush System is 
an exciting new way to use your Apple 
computer to increase your professional 
productivity. It's the first low-cost sys- 
tem to integrate sophisticated graphics, 
telecommunications, presentation and 
printout capabilities. 

Draw automatically. 
Electronically. 

Our drawing device is as natural to 
use as a pencil. And our software helps 
anyone to be a talented artist. Lines 
snap taut, circles go perfectly round — 
even complex multi-point curves smooth 
themselves out. Erase electronically. 
Enlarge. Reduce. Trace. Relocate. 
Reshape. Condense. Expand. Stretch. 
Flip. Reverse. Copy. Recall. Color. 
Recolor. Reposition. Repeat. All from 
a friendly, forgiving menu-driven 
program. 



Draw interactively. 
Coast-to-coast. 




Communicate with your colleagues 
via the first real-time interactive draw- 
ing program ever. We've included a 
spare diskette you can send your asso- 
ciates. This will let you create drawings 
in real time over phone lines with a 
modem. Both of you can work on the 
same drawing, then save it on disk or 
dump to 
printer. 




JG • MEDICINE • INDUSTRY • COMMUNICATIONS • BUSINESS • DESIGN • MARKETI 



computer into a 
aphics workstation 



Create libraries of special 
purpose drawings or symbols. 

Draw your own symbols or pic- 
tures you can later borrow or "grab" 
by computer. Re-use these images over 
and over. 

You can customize your own draw- 
ings or symbol sets or you can order 
pre-drawn pictures and symbols. 

Enhance your drawing ability by 



Move whole drawings or 
single elements at will. 

The technical name is "image 
capture" but you'll call it incredible. 
Pick up any portion of your drawing 
and move it or create multiples. Expand 
or contract. And you are working with 
thousands of user-mixable color pat- 
terns including negative colors. Paint 
with 37 different brushes. And user- 



Complete for only $299. 

The Digital Paintbrush System 
mimics the sophistication of graphics 
and CAD systems costing hundreds — 
even thousands more. Now you can put 
this powerful tool to work to produce 
illustrations, diagrams, flow charts, 
layouts, maps, business graphics, pre- 
sentations, title slides, symbols, logos, 
training material and applications we 




-T— \L 




All images were created on The Digital Paintbrush System™ with an Ap] 



mixing and matching images endlessly. 




adjustable grids of any size make scaling 
exact. Trace and measure areas auto- 
matically. Use "micro" mode for the 
tiniest details. 

Label with popular typesetting 
fonts from headline to text. 




AaBbCcDd 



Use our built-in typesetting fonts 
or load in dozens of other fonts. (We're 
compatible with the Fontrix™ family). 
Mix in text or label your drawings at 
the touch of a button. 

Convert screen graphics 
to printer hardcopy. 

Our program lets you printout on 
37 of the most popular dot matrix 
printers (upgradable to the coming color 
inkjet technology). Use 5 powers of 
magnification for both text or graphics. 

Make personalized 
presentations. 

Create and project your own 
"slides" change and adapt them quickly 
and easily for each client. 

A strikingly effective sales tool. 



haven't even thought of. 

Available in finer computer stores 
everywhere. Or order toll free 1 800 
874-1888or in California 415 331-3022. 




The 

DigitalPaintbrush 
System™ 

THE COMPUTER 

COLORWORKS 



The Digital Paintbrush System is a registered trade- 
mark of The Computer Colorworks, a division of 
Jandel Corporation, 3030 Bridgeway, Sausalito, 
California 94965. Circle 338 on inquiry card. 



Apple is a registered trademark of Apple Corporation. Fontrix is a registered trademark of Data Transforms Inc. 





^ 







GITE 



History and Goals of Modula-2 

by Niklaus Wirth 145 

Tutorial on Modula-2 

by }urg Gutknecht 157 

Lilith and Modula-2 

by Richard Ofiran 181 

An Introduction to Modula-2 

by Robert J. Paul 195 

Pascal, Ada. and Modula-2 

by David Coar 215 



Modula-2 



A PIECE OF FOLK WISDOM on computer programs says. "Write two and throw the first 
one away." We all know that completing a program gives us insight into how we should 
have done it in the first place, as does subsequent real-world experience using it. The same 
is true of programming languages. Dr. Niklaus Wirth of the Institut fur Informatik research 
institute of ETH (Switzerland's equivalent to MIT) invented Pascal in 1968— largely as a hypo- 
thetical language to teach programming— and had a working implementation by 1970. Wirth 
started on the design of Modula-2 in 1977. but only after he had written another language. 
Modula. and learned from it as well. (Modula was an experimental language concerned 
with multiprogramming; it contributed its name, syntax, and the concepts of multiprogram- 
ming and modules to Modula-2.) 

After using Pascal for several years in academic and commercial situations. Wirth and 
many users of the language found shortcomings and defects in it. most notably its awkward- 
ness when used for large programs, the many nonstandard extensions, and problems that 
occurred when a programmer wanted to use Pascal to manipulate the computer's memory 
and peripherals directly. Wirth was sensitive to the last criterion. In the preface to his book. 
Programming in Modula-2 (Berlin: Springer-Verlag. 1982). Wirth says: 

In 1977. a research project with the goal to design a computer system (hardware and 
software) in an integrated approach, was launched at the Institut fur Informatik of ETH 
Zurich. This system (later to be called Lilith) was to be programmed in a single high-level 
language [italics mine|. which therefore had to satisfy requirements of high-level system 
design as well as those of low-level programming of parts that closely interact with 
the given hardware. 
Note that this means that all the software in the Lilith machine— operating system, window- 
ing facilities, text editor, system utilities, and everything else— is written in Modula-2. 

Other key features of Modula-2 include the concepts of the module (which separates 
the definition and implementation of related code and makes the language more suited 
to large projects that require a team of programmers) and the process (used to implement 
multiprogramming), an improved syntax (allowing programmers to learn the language faster 
and make fewer syntax errors), and the ability to use procedure and array names as 
subroutine arguments (both of which make programs potentially more versatile). 

This issue contains a variety of Modula-related articles. There are introductory articles 
by Wirth and one of his colleagues. Dr. lurg Gutknecht, a description of the Lilith machine 
by one of its designers, an introduction to Modula-2 for Pascal programmers, and a com- 
parison of Modula-2 with Pascal and Ada. 

Even before we announced this issue, we found a lot of people already excited about 
the language. Several implementations of Modula-2 are already available, and a lower-cost 
version of the Lilith machine may be available within a year. We hope that this issue will 
contribute to the ground swell of interest in Modula-2. 



— Gregg Williams, Senior Technical Editor 



AUGUST 1984 -BYTE 143 



Your IBM PC Or XT Graphics Are Only 
As Good As What's Under The Hood. 





[TM 



Get Smooth Clean Performance With Graphix Plus II 
Single Board Support Of Both Color And Monochrome Display. 



When it comes to color/graphics adapter boards, your 
IBM Personal Computer — and you — deserve only the 
best. That's why Graphix Plus II gives you 
outstanding graphics . . . and a whole lot 
more. With Graphix Plus II, you'll get 
50% faster, flicker-free scrolling over 
IBM's color/graphics board. And, the 
Graphix Plus II is the only product on 
the market which provides dual monitor 
support for both RGB color and 
monochrome graphics on a single board. 
It gives you fullscreen (640 x 352) 
monochrome graphics and high 
resolution color graphics with the appropriate 
software. When two monitors are used, Graphix 
Plus II automatically shifts to the appropriate screen. 

Luxury Items Are Standard Equipment 

With the Graphix Plus II, you'll be glad to know extra 
conveniences come standard. For example, you get a 
parallel printer port which allows you to hook up any IBM 
compatible printer or SASI compatible hard disk controller. 
Our PC Accelerator'™ software is included which gives you 





STB Systems, Inc. Circ,e 288 on in ^ uir y card - 

IBM PC, XT are registered trademarks of International Business Machines Corporation. 
Lotus 1-2-3 is a registered trademark of Ix>tus Development Corporation. 



the use of two RAM disks and a print buffer. Plus, you 
can access the screen RAM with absolutely no "snow" or 
flashing. Graphix Plus II also provides 
true gray scale display on composite 
video monitors, a light pen interface, 
32K display RAM (text and graphics 
modes), compatibility with Lotus 
1-2-3™ and other popular software 
packages. And much more. A battery 
operated clock calendar is available as 
an option. 

Puts You In The Driver's Seat 

Graphix Plus II fits easily in any 
expansion slot inside your PC. And when you power up, 
you'll see the same high-powered quality you've come to 
expect from your machine. Incredibly smooth, versatile 
performance. From start to finish. 

Graphix Plus II. So good, so reasonably priced, you might 
say . . .we've outclassed the competition. See your local 
dealer for all the details. Or call or write STB Systems, 
Inc., 601 North Glenville, Richardson, Texas 75081 
(214) 234-8750. 



Expanding Microcomputing 

PC Accelerator is a registered trademark of ResiCorp. 



MODULA-2 



HISTORY 

AND GOALS 

OF MODULA-2 



BY N I KLAUS WlRTH 



The module comes of age 



BY ] 977 THE concept of high-level lan- 
guage, and with it Pascal, had gained 
popularity. To a major degree this was 
due to the recognition that mastering 
the art of programming is based on the 
understanding of its underlying con- 
cepts, and that therefore it is essential 
to use a notation that displays the con- 
cepts in a lucid manner and emphasizes 
the need for orderly structures. Equally 
widespread, however, was the belief 
that the price for this gain in structure 
and lucidity was unduly high, and that 
it was well worth paying it in the class- 
room but not in the competitive world 
of industry. This amounted to nothing 
less than the relegation of modern pro- 
gramming tools to the world of ivory 
towers and toys. 

Naturally, this claim was more than a 
belief; it could be proven. Even worse: 
it didn't have to be proven, it was evi- 
dent. The same algorithm expressed in 
FORTRAN would run twice as fast as 
when expressed in Pascal or PL/I. And 
it was widely known that a clever pro- 
grammer using an assembler could 
even enlarge this factor. In the same 
vein, the code generated by a high-level 
language compiler was considerably 
larger than the one constructed by the 



clever coder at a lower level. 

The numbers, although measured, 
proven, and therefore true, were based 
on a misunderstanding caused by many 
people's inability to distinguish between 
a programming language and its imple- 
mentation. A programming language is 
a formalism suitable for expressing algo- 
rithms and data structures, based on a 
concise and formal definition of its con- 
structs and their meaning. (From this it 
follows that the term language is actually 
most unfortunate and misleading.) An 
implementation is a mechanism for the in- 
terpretation of programs expressed in 
the formalism. 1 am afraid that even 
today many professionals, including 
teachers and writers, fail to make this 
fundamental distinction. 

I was then fully aware that the claimed 
loss in effectiveness was not inherent in 

Dr. Niklaus Wxrth is head of the Department 
of Computer Science at ETH [the Swiss Federal 
Institute of Technology) \nstitut fur \nformatik 
(8092 Zurich, Switzerland). He developed 
several programming languages, including Pascal 
and Modula-2, and the Lilith personal computer, 
and has received the IEEE Emanuel R. Piore 
Award for outstanding achievement in the field 
of information processing. 



the concept of the high-level, structured 
language, but in the inadequacy of the 
present implementations. Conse- 
quently, in our efforts to develop a com- 
piler for Pascal we paid much attention 
to achieving an efficient compiler, i.e.. 
a compiler that compiled fast and also 
generated dense and effective code. 
Eventually, our second Pascal compiler 
for the CDC Cyber computer, com- 
pleted in 1974, generated code whose 
efficiency was genuinely comparable 
with that of a good FORTRAN compiler. 
Ironically, however, the breakthrough 
of Pascal did not come from our valiant 
efforts to measure up to FORTRAN pro- 
duction compilers. It rather came from 
our so-called portable Pascal p-com- 
piler, where efficiency was a very minor 
concern. In San Diego, Ken Bowles had 
the insight and courage to write p-code 
interpreters for various microprocessors 
that had just appeared on the market 
with loud fanfare. He introduced Pascal 
to the world of computer users and 
fans, where the efficiency of the pro- 
gramming process was often much 
more relevant than that of the resulting 
programs. Even more important, these 
users were seldom compelled to remain 

[continued] 



AUGUST 1984 -BYTE 145 



HISTORY AND GOALS 



Modula-2 grew out of 
Pascal and incorporates 
a few major and some 
minor improvements. 



compatible with their past; they were 
less likely to adhere to the widespread 
misconception that their software 
libraries were so valuable merely 
because their development had cost so 
much. 

The success of Pascal implementa- 
tions for microcomputers, however, has 
not eliminated the value of good com- 
pilers. To the contrary, it has increased 
the motivation to produce high-quality 
implementations. 

THE Project Lilith 

An implementation does not consist of 
the compiler alone but includes the in- 
terpreting computer. Our efforts in con- 
structing a good Pascal implementation 
were bounded by the suitability of the 
target computer. In fact, we spent a 
large amount of energy to conceal and 
make up for the inadequacy of the 
underlying computer. We had learned 
a lot about compiler design, but I also 
recognized that a truly satisfactory 
design would have to encompass pro- 
gramming language, compiler, and com- 
puter, all properly matched. 

My visit to the Xerox Palo Alto Re- 
search Center (PARC) in 1 976/1977, and 
my confrontation with its powerful per- 
sonal workstation, the Alto, provided 
the incentive to undertake a new re- 
search project encompassing all these 
aspects. I was intrigued by the Alto's 
singularly simple design concept and 
the resulting flexibility for the program- 
mer. Thus, I embarked on learning 
about hardware design and, upon re- 
turning to Switzerland, started the proj- 
ect that resulted in the computer Lilith, 
a personal workstation based on a 
powerful processor (Am 2901), a bit- 
mapped display, a mouse as input 
device, and an architecture tailored to 
the needs of a compiler. With a staff of 
six part-time assistants this seemed to 
be an overly ambitious goal, a project 
almost certainly doomed to failure. 
Nevertheless, after two years, two pro- 
totypes of Lilith were operational, 



together with a compiler, an operating 
system, an advanced full-screen mouse- 
driven text editor, an interactive line- 
drawing editor, and elementary utility 
programs. 

Apart from the motivation and com- 
petence of the team members, the feasi- 
bility of the ambitious task rested on 
three fixed constraints that I had 
postulated at the start: ( I ) we would im- 
plement a single language, and all software 
would be written in that language, with- 
out exception whatsoever; (2) the oper- 
ating system would be designed for a 
single user, thus avoiding difficult prob- 
lems of scheduling, protection, resource 
management, and accounting; (3) the 
computer would have a single processor, 
powerful enough to execute programs 
and to perform the raster operations on 
the displayed bit map. 

Indeed, considering that Lilith was to 
be a personal workstation, there were 
no advantages to be gained by deviat- 
ing from these constraints, in spite of 
widespread popular trends to develop 
multiprocessor, multilanguage, multi- 
user systems. 

The first constraint required a lan- 
guage equally suitable for expressing 
algorithms on a high level of abstraction 
and for expressing operations directly 
accessing machine facilities, equally 
suitable for formulating a database sys- 
tem as for programming a disk driver. 
Evidently, Pascal was not capable 
enough, and I did not favor the com- 
mon escape of embellishing it with a 
few "desirable extensions." Modula, a 
small language that I had designed in 
the preceding years to experiment with 
the concepts of multiprogramming, 
clearly did not suffice either. But it 
featured a facility to partition programs 
into modules with explicitly specified in- 
terfaces. This was precisely the facility 
needed to allow the introduction of so- 
called low-level facilities in the high-level 
language, because it allowed you to en- 
capsulate them and to constrain their 
dangerousness to clearly delineated 
parts of a program. Hence, the choice 
for the new language was Pascal, aug- 
mented by the module and a few other 
facilities, and regularized by a more sys- 
tematic syntax. Thus was born Modula-2. 

Modula-2 

The language was defined in 1978 (10 
years after Pascal) and implemented by 



L. Geissmann, S.E. Knudsen, and C. 
lacobi on the PDP-11. Its small store of 
available memory (28,000 16-bit words 
or 56K bytes) caused many obstacles 
and was the reason for the first com- 
piler's five-pass structure. In the summer 
of 1979, the compiler was completed, 
and at the same time, the first Lilith pro- 
totype became operational. The oper- 
ating system Medos-2 had been con- 
structed by S.E. Knudsen concurrently, 
and together with the compiler it was 
transported from the PDP-11 to Lilith 
within three weeks. This was in itself an 
encouraging feat in software engineer- 
ing and proof of Modula-2 's usefulness 
as a system-implementation language. 
After a year's in-house use, I published 
the report on Modula-2 and we re- 
leased the Modula-2 compiler to inter- 
ested parties (March 1980). The defin- 
ing report is included in the tutorial 
book Programming in Modula-2 (N. Wirth, 
New York: Springer-Verlag, 1982) which 
I prepared up to the camera-ready stage 
with the aid of Lilith and a document- 
formatting system that I programmed, 
of course, in Modula-2. 

As mentioned already, Modula-2 grew 
out of Pascal and incorporates a few 
major and a fair number of minor im- 
provements. The single most outstand- 
ing added facility is the module struc- 
ture. Basically, this facility allows you to 
partition programs into units with rela- 
tively well-defined interfaces. More spe- 
cifically, it allows you to control the vis- 
ibility of declared objects and to hide 
them from places where they better re- 
main unknown. Since it plays such an 
important role, we shall now look briefly 
into the history of Modula-2 's develop- 
ment. 

Although the principle of information 
hiding was much discussed in the early 
1970s, it is perhaps Modula's merit to 
place it consistently into the framework 
of a clearly defined language. To the 
best of my knowledge, it was David 
Parnas who first coined the expression 
information hiding. Both Tony Hoare and 
Per Brinch Hansen gave it form by con- 
necting it to the class facility of the pro- 
gramming language Simula. This is es- 
sentially, in terms of Pascal, a record 
type; the set of instantiations of this 
type forms what Simula terminology 
calls a class. In contrast to Pascal records, 
the Simula class allows you to associate 

[continued] 



146 BYTE • AUGUST 1984 



Blazing 

BASIC 



Who said BASIC had to be 
slow? 

Microsoft® BASIC Compiler 
lets you create MS-DOS programs 
that are so fast users will never 
know they were written in BASIC. 

The compiler produces fast, 
efficient native code. The result? 
Three to ten times faster opera- 
tion than the same interpreted pro- 
gram. Even faster for programs that 
make maximum use of integers. 

But its not only fast in execu- 
tion, it's fast for development. Its 
MICROSOFT, the one BASIC 

The High Performance Software Compiler de- 
signed to work best with our 
BASIC interpreter— the de facto 
industry standard. Together, they 
let you develop and debug your 
programs interactively using the 
interpreter, then compile for 
speed. 

And like all Microsoft lan- 
guages, the standard linking 



*Price exclusive of handling and Washington State sales tax, 
Microsoft is a registered trademark and MS is a trademark of Microsoft Corporation. 



interface makes it easy to combine 
assembly language subroutines. 
Microsoft BASIC Compiler is 
just one reason Microsoft is your 
best source for high performance 
languages for 8088/86 based 
micros. 

Call 800-426-9400 to order 

the blazing BASIC compiler* 

$395* 

In Washington State, call 206- 
828-8088. Ask for operator A6, 
who will rush you your order, 
send you more information, or 
give you the name of your nearest 
dealer to see Microsoft BASIC 
in action. 




HISTORY AND GOALS 



procedures with the data represented 
by the field identifiers. Hoare and Brinch 
Hansen then postulated that while the 
names of the procedures would nor- 
mally be visible, those of the data would 
remain hidden except within the asso- 
ciated procedures. This feature was im- 
plemented in Brinch Hansen's Concur- 
rent Pascal and embodied the principle 
of information hiding, which in the 
meantime (1975) had been promoted to 
that of data abstraction. The example in 
listing 1 serves to exemplify the issue: 
we use a liberal Pascal notation ("N" is 
a constant): 

In a program using this class (type), 
one might declare variables 

qO.ql: queue 

and thereafter access them by state- 
ments like 

q0.put(13.7) ql.get(v) 

but statements like "qO.n := 237" or 
"ql.in := qO.out," which evidently inter- 
fere with the presented implementation 
of the abstraction of a queue would be 
disallowed. More importantly, they 
would be prevented by the compiler, 
which does not "see" the field iden- 
tifiers "a" "in." and "out" that are hid- 
den inside the class (record) declaration. 
Unfortunately, these proposals inter- 
twined several independent concepts 
like visibility, instantiation, indirection of 
access, concurrency, and mutual exclu- 
sion. Both authors had actually postu- 
lated these kinds of classes to embody 
areas of mutual exclusion in multipro- 
cessing systems, and the facility became 
more widely known as a monitor (in 
which the HALT statements are re- 



placed by synchronization operations). 
In the development of the experi- 
mental multiprogramming language 
Modula-1, 1 strived for clarity of concept 
and was convinced that a substantial 
disentangling of the various intertwined 
concepts was mandatory. Together with 
H. Sandmayr we found a possible solu- 
tion in the structure then called module 
that would concern the aspect of visi- 
bility only. This. I believe, was the major 
breakthrough, because in all other lan- 
guages the visibility issue had always re- 
mained intimately connected with that 
of existence. In particular, it was now 
possible to declare sets of static, global 
objects that were visible from selected 
parts of the program only. This is 
typically desirable to encapsulate cer- 
tain permanent parts of a system (like 
device drivers, storage allocators, 
window handlers, etc.). I enhanced this 
module facility with so-called import and 
export lists that allow the explicit control 
of visibility across the "module wall" of 
each individual object. Furthermore, 
true to Algol and Pascal tradition, 
modules can be nested. An export now 
signifies the extension of visibility to the 
outside, and import signifies its exten- 
sion to the inside (see figure 1). 

Separation of Specification 
and Implementation 

During my aforementioned stay at PARC 
in 1976, I became acquainted with the 
language Mesa, a Pascal offspring spe- 
cifically designed to meet the needs of 
large system development. Mesa also 
incorporated an information-hiding fea- 
ture. It also allowed you to encapsulate 
program parts into modules but lacked 



Listing I: Sample queue routine in Pascal. 



TYPE queue = 

RECORD n, in. out: INTEGER: 

(*n = no. of filled slots: initially 0*) 

buffer: ARRAY [0 . . N- l| OF REAL: 

PROCEDURE Put(x:REAL): 

BEGIN IF n = N THEN HALT ('full'); 

buffer|in|: = x: in:=(in+ l)MOD N:n: = n+ I 
END; 

PROCEDURE get(VAR x: REAL): 
BEGIN if N = THEN HALT ('empty*) 

x: = buffer|out|; out: = (out+ I) MOD N:n:= n-1 
END 
END 



the ability to control the visibility of in- 
dividual objects, and it entangled the 
facility once again with another feature, 
namely that of separate compilation, a facili- 
ty of implementation. Its noteworthy 
contribution was the separation of the 
declarations of the exported objects 
from that of the ones to remain hidden. 
The former is called the definition part, the 
latter is the implementation part, which con- 
tains all those details that are relevant 
to the realization of the exported 
mechanisms, but not to their functional 
definition. 

The combination of Mesa's module 
facility with split definition and imple- 
mentation parts, and the (nestable) 
Modula-1 modules with controllable im- 
port and export resulted in Modula-2. 

The facility of separate compilation 
posed some nontrivial problems. The 
key idea is that the compilation of a 
definition part results in a (compiled) 
symbol table (represented as a file). The 
file contains all information relevant to 
importers (clients) of that module. If, at 
a later time, another module imports 
objects from, say, modules Ml and M2, 
then the compiler accesses the pre- 
viously generated symbol files of MI 
and M2. Thus, the rules of type con- 
sistency are observed across module 
boundaries as well. This makes separate 
compilation genuinely helpful and safe, 
in contrast to independent compilation as 
known from assemblers and FORTRAN 
compilers, which is a misleading pitfall 
when used with high-level, data-typed 
languages. 

It is noteworthy that Ada incorporates 
this form of module in almost identical 
form, although under the name package. 
We can attest that this is one of the 
more essential features of any system 
language because we have made exten- 
sive use of it for the last five years. 
Regrettably, Ada designers have failed 
to restrict separate compilability to 
global modules. 

Using Modules Effectively 

During the last five years, we have seen 
that postulating and providing a new 
facility is one thing, and learning to 
make good use of it is another. The 
more intricate and sophisticated a facil- 
ity is, the smaller is the chance that it . 
will be used wisely. In fact, finding the 
appropriate structure for the data and 

(continued) 



148 BYTE • AUGUST 1984 



Ferocious 
FORTRAN. 



Microsoft® FORTRAN crunches 
numbers with a vengeance! 

It combines fast and efficient 
native code compilation with 
built-in 8087 coprocessor support. 
The result? Mini and mainframe 
performance from your MS-DOS 
micro. 

Based on the 77 standard, 
Microsoft FORTRAN supports 
extensive statements and data 
types— including complex num- 
bers and IEEE single and double- 
precision floating point accuracy. 

Support for large arrays (greater 
than 64K bytes), separate module 
MICROSOFT, compilation, 

The High Performance Software and OVeriayS, 

allow you to create very large 
programs— up to one megabyte, 
with access to more than 65 
thousand records in a file as large 
as four gigabytes. 

How do programmers feel 
about Microsoft FORTRAN? 

"The first FORTRAN compiler 



that takes advantage of the full 

addressing capability of the 8088 

and the power of the 8087!' 
—Jack Wilschke, Softalk 

"We decided to use the 
Microsoft FORTRAN Compiler 
for its INTEGER 4 capability 
and the flexibility of its 8087 
implementation!' 

—Charlie Huizena &. 
Chip Barnaky, PC World 

Call 800426-9400 to order 

the ferocious FORTRAN. 

$350* 

In Washington State, call 206- 
828-8088. Ask for operator A4, 
who will rush you your order, 
send you more information, or 
give you the name of your nearest 
dealer to see Microsoft FORTRAN 
in action. 




*Price exclusive of handling and Washington State sales tax. 
Microsoft is a registered trademark and MS is a trademark of Microsoft Corporation. 




HISTORY AND GOALS 



program is the key to successful pro- 
gramming. With the module we have 
added another level of granularity in 
program structuring. The difficulties of 
finding a good partitioning— I carefully 
avoid the word "optimal— are cumu- 
lated at this level, because often the 
modules are the units that are con- 
structed by different programmers. 
Their contracts, in fact, are the defini- 
tion parts of their modules. The defini- 
tion parts establish the interfaces, which 
constitute the first task in a system's 
design process. Lucky are those who hit 
a good solution at the outset, for any 
change affects all participants. If a 
definition module A has been changed 
in any way, then all modules that import 
A must be adapted (and at least be re- 
compiled). This is not the case, however, 
if only the implementation part of A had 
been modified. Hence, a fair degree of 
decoupling is established. Extreme ex- 
amples are the primary utility modules 
of an operating system, because they 
are used by virtually every program. 
The system may well be modified with- 
out hampering the users. However, the 



slightest change in a definition module 
will require the recompilation of all 
clients. 

The first rule to be observed when 
you deal with modules is that the inter- 
faces must be considered before imple- 
mentations are attempted. The terser 
they are, the smaller the chance for 
mistakes and the need for changes. In- 
terfaces should, by their very definition, 
be "thin." 

A second observation is that a 
module usually hides a set of data and 
provides a set of operators to manipu- 
late this data. By forcing the client to ac- 
cess this data via the offered pro- 
cedures, the module's designer may 
guarantee that certain consistency con- 
ditions are always observed, i.e, always 
remain invariant. In the queue model 
shown in listing I , it is guaranteed that 
the counter n truly reflects the number 
of elements contained in the buffer and 
that their order of coming out of the 
queue is the same as that of going in. 

As a consequence, a module is typi- 
cally chosen as the collection of rou- 
tines that operate on a set of data, 



IMPORTS 
EXPORTS 




Figure I : Crucial to the structure of Modula-2 is the concept of the module, which may be 
nested inside other modules. Within each module, the visibility of objects to other modules 
may be controlled via the IMPORT and EXPORT functions. 



which can be seen by the client as an 
abstraction defined by the accessible 
set of procedures. 

Often, a module is also chosen as the 
collection of procedures that constitute 
a level of abstraction of data that is 
residing elsewhere. For example, a 
module containing a set of input and 
output routines such as 

Readlnteger(f,x) and WriteReal(f,x) 

will allow you to think in terms of the 
abstract concept of a sequence of in- 
tegers and real numbers, and to ignore 
the details of its implementation in 
terms of bits, bytes, buffers, files, disk 
sectors, etc. 

Consequently such a module is 
chosen in order to establish a new level 
of abstraction. The success of such an 
abstraction crucially depends on its 
rigorous definition and your willingness 
to genuinely ignore its implementation. 
Please don't misunderstand! I do not 
say to remain ignorant of its implemen- 
tations, but rather only use an imple- 
mentation's properties that are defined 
in terms of the abstraction. To cite a 
well-known example: if you think in 
terms of integers, it does not make 
sense to ask for the value of an integer's 
last bit, even if you know that it is 
represented as a sequence of bits. In- 
stead you should ask whether the in- 
teger is odd. 

Computers, Languages, 
and Commercialism 

It is precisely the ability to think in terms 
of proper abstractions that is the hall- 
mark of a competent programmer. Even 
more, he or she is expected to be able 
to jump from one level to another with- 
out mixing them up. A structured lan- 
guage is enormously helpful in this 
endeavor, but it does not do it for you. 
It is like with a horse: you may guide it 
to the water, but it has to do the drink- 
ing itself. I am afraid that this simple 
truth is in stark contrast to the numer- 
ous lulling advertisements being pub- 
lished in such abundance. They clever- 
ly reinforce themselves with slogans like 
Switching to Pascal solves all your (program- 
ming) problems and Our Computer speaks 
Pascal, and, in fact, represent nothing 
more than an extremely aggressive 
sales campaign. 
Sooner or later, people will, through 

(continued) 



150 BYTE • AUGUST 1984 



Potent Pascal 



Microsoft® Pascal may be the 
most powerful software develop- 
ment environment available for 
the MS™DOS system. It com- 
bines the programming advan- 
tages of a structured high-level 
language with the fast execution 
speed of native code compilation. 

And it exceeds the proposed 
ISO and ANSI standards with 
logical extensions that make the 
language more powerful and ver- 
satile. For example, programming 
capabilities even allow you to 
manipulate data at the system and 
machine level. 

It gives you single and double 

MICROSOFT. g rec f ision lE f 

The High Performance Software tlOatmg pOUlt 

arithmetic. Numeric operations 
take advantage of the 8087. Or 
automatic software emulation is 



provided if the coprocessor is not 
installed. 

Support for long heap alloca- 
tion and separate module compi- 
lation gives you the flexibility 
to create large programs up to 
one megabyte. 

And the standard linking inter- 
face makes it easy to combine 
Microsoft FORTRAN or assem- 
bly language subroutines. 

Call 800426-9400 to order 
the potent Pascal $300* 

In Washington State, call 206- 
828-8088. Ask for operator A5, 
who will rush you your order, 
send you more information, or 
give you the name of your nearest 
dealer to see Microsoft Pascal in 
action. 



*Price exclusive of handling and Washington State sales tax. 
Microsoft is a registered trademark and MS is a trademark of Microsoft Corporation. 




DATA EXCHANGE/64K 
SPOOLER 



■ "•-'■ iv --- siiwiiS&iifl 



power ; RESET 



-J ■ 



BUF 

:; PULL ; . BEADY- CQRY ..:. 




ADS 

XCH ANOE 



The ADS-8212 DATA EXCHANGE/64K is a computer independent 
interface converter and print spooler. It can be installed between 
virtually any computer and any peripheral. 

Data can be input in either serial or parallel, stored in its 64K 
bytes of RAM, and output serial or parallel. Serial ports support baud 
rates from 50 to 1 9 200 and both hardware and software hand- 
shaking. The input and output ports are completely independent; 
input data with one protocol and baud rate and output it with a 
different protocol and baud rate. Selections are dip switch 
selectable. 

A unique feature is its ability to make unlimited numbers of 
copies. Hitting the copy button will send another copy to the 
printer. When done making copies, hit the reset button to clear the 
memory. 

Included with the DATA EXCHANGE/64K are two 4 foot 
output cables, one parallel cable with standard 
Centronics type connector and one serial 
cable with standard DB 25 connector. rs-232 handshaking- 

Standard plugs are supplied for rdy/bsy (DTR) 

input ports. Xon/Xoff 

ETX/ACK 

Suggested list price: $339.00 
Dealer inquiries welcome. 

INPUT DATA EXCHANGE/64K OUTPUT 









RS-232 


64K BUFFER 


RS-232 


50 TO 19.2K BAUD 


50 TO 19.2K BAUD 


PARALLEL 


PARALLEL 



Available at your local dealer or contact: 

TTT3 ANTEX DATA SYSTEMS 

■ i 1 'VI A Division of International Antex Inc. 
Imtdmmmd 2630 California Street 
Mountain View, California 94040 m Phone: (415) 941-7914 
Telex: 704 969 INTERAX UD 



HISTORY AND GOALS 



harsh experiences, realize that they 
have become victims of slogans and 
fads, and that owning the best of tools 
is worthless unless that tool is 
thoroughly understood. I am afraid that 
the modern trend of overselling can 
become counterproductive. I have seen 
progressive teachers proudly offering 
their students the chance to learn struc- 
tured Pascal, and I quickly realized that 
the students had no inkling of what 
structure meant. And I have seen pro- 
fessional programmers proudly present 
Pascal programs abounding with neat- 
ly indented structures, comments (for 
documentation, of course), and lots of 
procedures and sophisticated data 
types. Upon closer inspection, however, 
the baroque nomenclatures and struc- 
tures revealed themselves as dead- 
weight. Sometimes, redesigning these 
programs led to drastic, even tenfold, 
reduction in their size and complexity. 
I sadly realized that a high-level pro- 
gramming language could not only be 
used to design beautiful programs with 
much less effort, but also to hide in- 
competence underneath an impressive 
coating of glamour and frills. The 
analogy to literature became all too evi- 
dent. We must do our best to avoid the 
misuse of modern programming lan- 
guages for the selling of lousy contents 
through enticing packaging. Style may 
be essential to achieve a good design, 
but ultimately it is the design, and not 
the style, that counts. 

Let me emphasize the point: neither 
owning a computer nor programming in 
a modern language will itself solve any 
problems, not even yours. But it may be 
instrumental. Predominantly, I have 
noticed, more effort is spent on obtain- 
ing those instrumental tools than on 
mastering them. And this is a grave 
mistake. Perhaps the most effective 
precaution against it is this rule: Know 
what the tool is to achieve and what you 
are going to use it for before you ac- 
quire it. This holds for language as well 
as computers— the more sophisticated 
it is. the more effort you will need for 
its mastery, the bigger will be the 
chance for its misuse, but, presumably, 
the higher the ultimate reward. I hope 
that this reward is not only measured 
in terms of problems solved and dollars 
earned, but also in the learners' satisfac- 
tion of having gained understanding, 
ability, and genuine insight. ■ 



152 BYTE • AUGUST 1984 



Circle 21 on inquiry card. 



A few smart reasons 
to buy our smart modem : 



Features 



Ven-Tel 
1200 PLUS 



Hayes 



1200 and 300 baud, auto-dial, auto-answer 

Compatible with "AT" command set 

Can be used with CROSSTALK-XVI or Smartcom II software 

Regulated DC power pack for cool, reliable operation 

Eight indicator lights to display modem status 

Speaker to monitor call progress 

Attractive, compact aluminum case 

Two built-in phone connectors 

Compatible with The Source and Dow Jones News Retrieval 

Unattended remote test capability 

Phone cable included 

Availability 

Price 



Yes 


Yes 


Yes 


Yes 


Yes 


Yes 


Yes 


No 


Yes 


Yes 


Yes 


Yes 


Yes 


Yes 


Yes 


No 


Yes 


Yes 


Yes 


No 


Yes 


Yes 


Now 




$499 


$6 



The Ven-Tel 1200 PLUS offers high speed, 
reliable telecommunications for your per- 
sonal computer or terminal. Whether you 
use information services or transfer data 
from computer to computer, the Ven-Tel 1200 
PLUS is the best product around. Available 
at leading computer dealers and distribu- 
tors nationwide. 

Also from Ven-Tel: internal modems for the 
IBM and HP-150 Personal Computers with 
all of the features of the 1200 PLUS. 

You choose. The Ven-Tel 1200 PLUS- 
the smartest choice in modems. 




Ven-Tel Inc. 

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



Crosstalk is a trademark of Microstuf; Hayes and Smartcom II are trademarks of Hayes Microcomputer Products. 
Circle 316 on inquiry card. 



AUGUST 1984 • BYTE 



153 



Computer dreams. 




f» i meiiiiiii, 

£HSI S %" • m A Ammm m m A 
' f 'j™ M •* a ** * **■«»■* » «i 



7^Z/ COMPAT/8L&- 
TtfZ POPULAR ZOFTt/ftte 

Ml'MoDBMplAY 



2oo-tfArr foiJUBR SuPPlY 
Am 9X &PA/&/0/J <kDK 

W £ TO &<+0K /2AM ON 

System B0A2D 
20% P£oc£&>fZ 






Fixed pm? Backup 



s Pi$K <5toza£>5- pnomcrioti 



'pc-rypa te/%DAf22) 



Introducing the new COMPAQ DESKPRO'." 
COMPAQ combined the best features of the best 
desktop computers. And then added exclusives you wont 
find on others. Today they're together in one personal 
computer. The COMPAQ DESKPRO. 

The COMPAQ DESKPRO is the most expandable 
desktop you can buy It can grow as you grow, with up 
to six available expansion slots and four storage devices, 
including a unique fixed disk drive backup— all inside the 
computer instead of out, saving your desk from clutter. 



It's the most rugged desktop, too, because it's the only 
desktop with a shock-mounted mass storage compartment 
to help keep disk drives in alignment and help protect you 
from losing data, downtime, and dollars. 

It's also the most compatible desktop, giving you true 
hardware and software compatibility with the industry's 
most popular personal computers. The COMPAQ 
DESKPRO runs thousands of programs written for the 
IBM 8 PC and XT right off the shelf. Which brings us to the 
next point. 



c 1984. COMPAQ* is a Registered Trademark and COMPAQ DESKPRO" is a Trademark of COMPAQ Computer Corporation. IBM* is a Registered Trademark of International Business Machines Corporation. 



154 BYTE • AUGUST 1984 



Dream computer. 



The industry leader in compatibility. 



Text and graphics on one screen, not two. 



Power and space for almost unlimited 
expansion. 



Add up to 640 K of memory on 
system board and save expan- 
sion slots. 




Runs softwaie 2X to 3X fasten • 



10MB fixed disk drive 
10MB fixed disk backup 
Two diskette drives 



Exclusive tape backup helps 
protect data. 



Unique shock mounting helps 
protect your data and hardware 
investment 



Familiar layout enhanced 
with LED's on caps and num- 
lock keys. 




] I- II ^ 




. 







The COMPAQ DESKPRO is the fastest truly compatible 
desktop you can buy It's two to three times faster than the 
industry standard. That saves time now. And in the future, 
as software becomes more sophisticated and integrated, it 
will save you even more time as well as protect your per- 
sonal computer investment. 

But there's more. We gave the COMPAQ DESKPRO one 
other feature not found on any other machine. You can 
choose between an amber or green dual-mode monitor 
that displays high-resolution text and graphics with equal 



brilliance, saving you the cost and clutter of a second monitor. 

See the Dream Computer: Then pinch yourself. It's for real. 

For the location of the nearest Authorized COMPAQ 
Computer Dealer, or for a free brochure, call 1-800- 
231-0900. Operator 5 or Telex #795437 COMPAQCOMP HOU. 



w 

^r^ 



\^ 



\ 



camPAa 



It simply works better. 



AUGUST 1984 'BYTE 155 







*>S 18 SHOWN 




\ 1 f 



ISOO 




Hard Disk Controller 



tf&> 



UPGRADES FOR YOUR IBM PC /PC COMPATIBLES 



10 Mega-byte Winchester 
Modular hard disk controller 

$1095.00 
10 Mega-byte Winchester 
Floppy/Hard disk controller $1295.00 

Half-high tape drive 

XT-Power Supply $ 995.00 

Half-high tape drive 

Half-high floppy drive 

XT-Power Supply $1265.00 

Half -high tape drive 

Half-high 10 Mega-byte Winchester 

Hard disk controller 

XT-Power Supply $2095.00 

20 Mega-byte Winchester 

Hard disk controller $1595.00 

Half-high tape drive 

Half-high 20 Mega-byte Winchester 

Hard disk controller 

XT-Power Supply $2495.00 

40 Mega-byte Winchester 

Hard disk controller 

XT-Power supply $2895.00 



Circle 202 on inquiry card. 



of bftaiH^vx^ Bt^ifiA Mcifihlnoi Corporation 



Half-high tape drive 
Half-high floppy drive 
40 Mega-byte Winchest 
Hard disk controller 
XT-Power Supply 

XT-Power Supply $ 290, 



TAPE FOR YOUR IBM XT 

XT01 • Half-high tape drive 

• Half-high floppy drive $ 995.00 



Micro Design international Inc. has been 
serving the computer industry for over 7V2 
years, call us today for our complete 
catalog or to place your order. 

TO ORDER CALL COLLECT 
(305) 677-8333 

Master Card/ Visa/Check/or Money Order 

MICRO DESIGN 
INTERNATIONAL INC. 

"Your internal solution" 

6586 University Blvd. Suite 7 

Winter Park, Florida 32792 



MODULA-2 



TUTORIAL ON 
MODULA-2 



BY JURG GUTKNECHT 



A structured programming language 
based upon the concept of autonomous modules 



MODULA-2 INTRODUCES the module 
into the world of systems engineering. 
It is a basic constituent of Modula-2 pro- 
grams, appears in a variety of formats, 
and is comparable to that of procedures 
brought in by ALGOL and Pascal for 
structuring programs. 

One module may combine a set of 
logically connected procedures; a sec- 
ond module may hide a complex data 
structure and provide operations to in- 
fluence this structure; a third module 
may define the fundamental data types 
in a large program. Modules are either 
autonomous or embedded, as sub- 
modules, into larger modules. The 
autonomous are said to be embedded 
into the universe. 

The module is essentially a separate 
program part, with an infrastructure that 
is similar to the infrastructure of a Pascal 
program, types, constants, variables, 
and procedures declared within the 
module are generally not visible outside 
the module, and objects defined out- 
side the module are not accessible from 
within. 

The module technique has turned out 
to be surprisingly difficult to master. We 
have been involved with Modula-2 at 
the Institut fur Informatik and our ex- 
perience shows that it is easier to 
misuse the module than to use it pro- 
fitably. Nevertheless, we find it to be in- 
dispensable. This tutorial may help you 



in developing a good eye for appro- 
priate program modularization. 

Let us define some integral concepts. 
The nature of permanency is common 
to all types of modules. The lifetime of 
the module and its objects equals that 
of the whole program. This is in contrast 
to the temporary character of pro- 
cedures. In fact, the notion of a module 
is more closely related to the notion of 
record than to that of procedure. 

We define a module as active at a 
given moment if statements of the 
module are executed. The first time a 
module becomes active is when it has 
been loaded. The module body (also 
called initialization part) is then ex- 
ecuted as a subroutine of the program 
loader. The last module loaded is the 
main module and its initialization part 
is the main program. A module is reac- 
tivated whenever one of its exported 
procedures has been called. 

An Example 

To get firm ground under our feet, we 
will develop a Modula-2 sample pro- 
gram—a text formatter. For this exam- 
ple, assume that the text must be 
printed on sheets of paper in adjusted 

Dr. ]urg Gutknecfit [Institut fur \nformatik, 
ETH-Zentrum {Clausiusstrasse), CH-8092, 
Zurich, Switzerland) is actively involved in the 
use of Modula-2. 



and multicolumn form. Assume further 
that this text is available in an ordinary 
text file that consists of lines of text (see 
figure la). Let us define a paragraph as 
a sequence of lines that is terminated 
by an empty line. Thus, from our text 
formatter's point of view, line ter- 
minators (hereafter referred to as EOL 
characters) are equivalent to space 
characters, except when they terminate 
an empty line, which concludes a non- 
empty sequence of lines. 

The crucial thing for our formatter to 
do is to convert the text from "straight 
text" representation into "columnar 
text" representation. We shall organize 
our program so that it creates a new 
text file, which contains the text in its 
new format. A standard utility program 
may later produce the desired printout. 

The overall dynamic structure of our 
program now suggests itself: read text 
lines from the input file in sequence, 
and build up the text pagewise in its 
new format. Completed pages should 
be written immediately into the output 
file to make way for the next page in the 
memory. Clearly the events of reading 
lines and writing pages are asyn- 
chronous. 

An appropriate program structure 
should certainly reflect the described 
situation. We could regard the input 
handler as the main, and therefore con- 

[continued) 



AUGUST 1984 -BYTE 157 



TUTORIAL 



trolling, part of the program. Alternately, 
we might structure the output format- 
ter as the translation controller that 
periodically demands a new text por- 
tion from the input routine. From our ex- 
perience, the former point of view is 
superior to the latter, particularly if the 



input stream includes control infor- 
mation. 

Further, we propose to encapsulate 
the formatter into a submodule. Let us 
now develop the interface to this sub- 
module that we shall call layout. Essen- 
tially, communications will consist of a 



single operation: formatting an appro- 
priate piece of text. We shall therefore 
call this procedure Format. Format ac- 
cepts and formats a paragraph. The 
paragraph is handed over in the form 
of a pointer Urn (end of text) into a 

[continued] 



Lara is a document processing program consisting of an interactive editor (lara) 

and a printer companion Claraprint) producing hardcopies of Lara documents on 

the laser printer. 

Lara introduces several new concepts. 

We shall roughly outline the most important of them in this memo. 

The memo also includes basic rules and guidelines for working with Lara. 

We shall expect the reader to be familiar with the program editor and the 

text editor Andra. 

Concepts of Lara: 

Self -Consistency: 

Each Lara document completely describes itself, i.e. it does not refer to any 

other information such as styles and user profiles. 

Thus, the values of all formatting attributes occuring within the document 

are included in the (header of the) document file. 

Hierarchical document structure: 

A Lara document is structured as a sequence of so called chapters. 

Each chapter starts on a new page and is made up of a sequence of paragraphs. 

Each paragraph starts on a new line and consists of a sequence of characters. A 

chapter, resp- paragraph, is created by typing a form-feed (CTRL L) , resp. 

line-feed (CTRL J) . 

In the case of adjusted paragraphs, RETURN is equivalent to line-feed. 

Document, Chapter, Paragraph, Character 

are the structural units of which a Lara document consists. 

Each structural unit is connected with a set of formatting attributes 

(applicable to instances of that structure, see table below). 

A structural unit of higher level is selected by a multiple click of the 

select button pointing at the same location. 

Each clicking increases the selection menu by one. 

For a selection to be successful, the beginning and end of the respective 

structural unit must be displayed. 

An unsuccessful level may be skipped by simply clicking again. 



lb 



Lara is a document processing 
program consisting of an 
interactive editor (lara) and 
a printer companion 
(laraprint) producing 

hardcopies of Lara documents 
on the laser printer. Lara 
introduces several new 
concepts. We shall roughly 
outline the most important of 
them in this memo. The memo 
also includes basic rules and 
guidelines for working with 
Lara. We shall expect the 
reader to be familiar with the 
program editor and the text 
editor Andra. 

Concepts of Lara: 
Self-Consistency: Each Lara 
document completely describes 
itself, i.e. it does not refer 
to any other information such 



as styles and user profiles. 
Thus„ the values of all 
formatting attributes occuring 



within the 
included in 
the) document file 
Hierarchical 
structure: A 



document are 
the (header of 



document 
Lara document is 
structured as a sequence of so 
called chapters. Each chapter 
starts on a new page and is 
a sequence of 
Each paragraph 
new line and 
a sequence of 
A chapter, resp. 
is created by 



made up of 
paragraphs, 
starts on a 
consists of 
characters, 
paragraph , 



typing a form-feed (CTRL L) , 
resp. line-feed (CTRL J). In 
the case of adjusted 
paragraphs, RETURN is 
equivalent to line-feed. 



Document, Chapter, Paragraph, 
Character are the structural 
units of which a Lara document 
consists. Each structural 
unit is connected with a set 
of formatting attributes 
(applicable to instances of 
that structure, see table 
below). A structural unit of 
higher level is selected by a 
multiple click of the select 
button pointing at the same 
location- Each clicking 
increases the selection menu 
by one. For a selection to be 
successful, the beginning and 
end of the respective 
structural unit must be 
displayed. An unsuccessful 
level may be skipped by simply 
clicking again. 



Figure I: The test file (\a) prior to being converted into 3 -column format (16). 



158 BYTE- AUGUST 1984 



Why buy aVSUAL 102 

instead of a DEC VT102? 



14" 
non-glare 
screen * 



Buffered 

printer 

port 




Status line - 

16 
programmable, 
functions 



Tilt/swivel 
" display 

10x12 

character 
matrix 



V6UU 



Jhonioi R. Fo/ 



See for 



yourself ® 



ey 






48assf-ptei 



■^"Tokc^ 



^ffiS^**** 



"rr t"> r rirrr 



compatible. 



-Amy 



TTT 



The new VISUAL 102 gives full DEC VT102" performance and more features at a much 
lower price. Plus, when you need it, a Graphics Option card turns the VISUAL 102 into 
a 768 x 293 resolution graphics terminal emulating the Tektronix "401 0/401 4. Just insert 
the card and immediately you have high resolution graphics compatible with a variety 
of available software packages. 

VISUAL 102. The low cost, DEC VT102 compatible JyiT^| I M I 
terminal that lets you graph now or graph later. 

The UL listed VISUAL 102 exceeds FCC Class A 
requirements and U.S. Government standards for X-ray 
emissions. 



See for yourself ( 



Visual Technology Incorporated 

540 Main Street, Tewksbury, MA 01 876 

Telephone (617) 851-5000. Telex 951-539 



Circle 323 on Inquiry card. 



TUTORIAL 



character buffer buf (see listing I). 

A few explanations on this program 
fragment are in order. Although similar 
to Pascal, some conspicuous dif- 
ferences can be detected: 

Import lists: these refer to separate 
standard modules, namely FileSystem and 
\nOut, members of the basic module 
library. We shall discuss the library con- 
cept later. The entries in the import lists 
designate objects declared in and ex- 
ported from the library modules. Apart 
from File, which is a type, all listed objects 
are procedures. Note that File is a record 
type, as can be seen from the statement 

WHILE NOT IN. EOF DO Fields of 

imported records (such as eof) are im- 
plicitly imported together. In Modula-2's 
syntax. WHILE and IF statements are 
never initiated with a BEGIN but are 
always terminated by a keyword (UNTIL 
or END). This rule lets nested state- 
ments appear more elegant than their 
counterparts in Pascal. Also, the am- 
biguities that arise in Pascal with nested 



IF. . THEN. . .ELSE statements have 
been eliminated. 

lype Cardinal: this is a new standard 
type describing natural numbers. 
Repetition of names: the module name 
has to be repeated at the end of the 
module. (This repetition convention also 
applies to procedures.) Character con- 
stants: nC designates the character with 
octal ordinal number n. Abbreviations: 
# is equivalent to < > and & is an ab- 
breviation for AND. 

In our program fragment, we could 
have used the standard Modula-2 pro- 
cedure INC for incrementing lim (i.e., 
INQlirn) is equivalent to lim:= lim + 1). 

Let us now examine the imported pro- 
cedures ReadString and WriteString. 
They accept as their parameter an ar- 
ray of characters of arbitrary length. The 
corresponding formal parameter is a so- 
called dynamic or open array: 

PROCEDURE ReadString(VAR s: 
ARRAY OF CHAR): 



Listing 
columns. 



A program fragment written in Modula-2 designed to format text into 



MODULE Formatter; 
FROM FileSystem IMPORT File, Lookup, Close. ReadChar. WriteChar; 
FROM InOut IMPORT ReadString, WriteString. Write; 
CONST EOL = 36C: 
VAR in, out: File: 
name: ARRAY J0..31] OF CHAR: 
ch: CHAR; 

buf: ARRAY |0..1000] OF CHAR; 
lim: CARDINAL; 
BEGIN 
WriteString("in> "): ReadString(name): Write(EOL); 
Lookup(in. name, FALSE): 

WriteString("out> '*); ReadString(name): Write(EOL); 
Lookup(out, name, TRUE); 
lim := 0; ReadChar(in, ch); 
WHILE NOT in.eof DO 
WHILE ch # EOL DO 

lim := lim + 1; bufllim] 
END; 

lim := lim + I; buf[lim) := 

IF ch = EOL THEN Format; lim := 0: ReadChar(in, ch) END 
END; 

Close(in); Close(out) 
END Formatter. 



:= ch; ReadChar(in. ch) 
" "; ReadChar(in. ch): 



Listing 2 : A procedure used to return the length of a given string within an array 


of characters. 


PROCEDURE Len(VAR s: ARRAY OF CHAR): CARDINAL: 


VAR 1: CARDINAL: 


BEGIN 1 := 0; 


WHILE (1 < = HIGH(s)) & (s[l| # 0C) DO 1 := 1 + 1 END; 


RETURN 1 


END Len; 



Dynamic arrays are of major importance 
in Modula-2. The index type of dynamic 
arrays is always CARDINAL, and the low 
boundary is 0. The boundary of the ac- 
tual array parameter can be obtained by 
HIGHfs) using the standard function 
HIGH. Dynamic arrays can only be used 
as formal parameters. 

Next, let us look at strings (i.e., se- 
quences of characters). Assume that a 
function procedure had to be devel- 
oped that returns the actual length of 
a string. A string within an array of 
characters is terminated by 0C or by the 
upper array boundary, whichever comes 
first. Consider the procedure declara- 
tion in listing 2. 

In Modula-2, functions differ from or- 
dinary procedures solely by the supple- 
ment of a result type. The result is 
returned by the RETURN statement. We 
point out the amazing simplicity of this 
algorithm. It has its roots in the condi- 
tional evaluation of the test in the 
WHILE statement. If I < = HIGHfs) is 
false, then the second part of the ex- 
pression is ignored rather than eval- 
uated. Thus, an index out-of-range error 
cannot occur. 

Laying Out Layout 

Let our attention now turn to the sub- 
module layout. We know that layout ex- 
ports the procedure Format, which for- 
mats a paragraph that is stored in the 
global buffer buf. Therefore, the wall 
around layout has to be transparent for 
this variable: buf must be imported. But 
how should Format record its results? 
An obvious solution is to introduce the 
two-dimensional array form that rep- 
resents a text page. By successively call- 
ing the formatting procedure, a map of 
the current text page will be built up. 
The variables row and col indicate the 
current status of the formatting process. 
Of course, these variables have to sur- 
vive the procedure Format. On the 
other hand, the significance of the 
variables form, row, and col is strictly 
related to the specific implementation 
of Format. They have no meaning out- 
side the submodule. They are, in fact, 
invisible outside the module as they are 
not exported. We shall say that these 
variables constitute the private data 
structure of the (sub)module. 

We have seen that the procedure For- 
mat operates on the status variables row 

{continued) 



160 BYTE • AUGUST 1984 



Idris. 
The micro UNIX 



running as 




under 



PC/MS 




Hi 






S. 



(•XT 

/ 









> a s. 



I#1£#| 










( 



2$ 



^ 

r^ Price: $695 




J Whitesmiths, Ltd. <j 

97 Lowell Road, Concord, Massachusetts 01742 
(617) 369-8499 TLX: 750246 SOFTWARE CNCM 

Circle 329 on inquiry card. I * A 

X is a trademarkof Bell Laboratories: MS-DOS is a trademark of Microsoft Corp. 
PC-DOS is a trademark of International Business Machines Corporation 
Idris isa trademarkof Whitesmiths, Ltd 







TUTORIAL 



and col. How are these variables ini- 
tialized? Remember the initialization 
part mentioned above. The Modula-2 
linking loader guarantees that the state- 
ment sequence in the module body has 



been executed whenever an exported 
procedure is called from the outside. So 
introducing the initialization statements 
in the module body solves our problem. 
So far we have disregarded the out- 



Listing 3 : The submodule Layout, the output formatter, must appear within the 
main module. 

MODULE Layout; 
IMPORT buf. lim. out. WriteChar. EOL: 
EXPORT Format. OutPage; 
CONST len = 30: wid = 33; maxRow = 70: 
maxCol = 3»len; bndCol = maxCol-len; 
FF = 14C; (.form feed.) 
VAR form: ARRAY |0..maxRow-l|, |0..maxCol-l] OF CHAR: 
row. col: CARDINAL; (.current coordinates.) 

PROCEDURE OutPage; 

VAR c. r. p: CARDINAL: 
BEGIN r := 0: 
WHILE r # maxRow DO c := 0: 
WHILE c # col DO p := 0; 
WHILE p # len DO WriteChar(out. form|r. c + pi); p := p + I END; 
WHILE p # wid DO WriteCharlout, " "); p := p + I END: 
c := c + ien 
END: 
IF r < row THEN p := 0; 

WHILE p # len DO WriteCharlout. form|r. c + pi); p := p + I END 
END: 

WriteCharlout. EOL); 
r := r + I 
END; 

WriteChar(out, FF) 
END OutPage; 

PROCEDURE Format: 

VAR beg, cur. end, pos. wds, spc, rem: CARDINAL: 
BEGIN 

beg := 0: cur := 0: 

REPEAT cur := cur + I UNTIL buflcurl = " 
REPEAT wds := 0: beg := beg + 1: 
LOOP 
wds := wds + 1; end := cur; 
IF end = lim THEN spc := 0: rem := 0: EXIT END: 
REPEAT cur := cur + I UNTIL buffcurl = " "; 
IF cur - beg > len THEN 
IF wds > I THEN 
spc := (len + beg - end) DIV (wds - I): 
rem := (len + beg - end) MOD (wds - I) 
END; 
EXIT 
END 
END: 
pos := 0; 

WHILE pos # len DO formlrow, col + pos| := " "; pos := pos + 1 END: 
pos := 0: 

WHILE beg # end DO 
formlrow, col + pos| := buf[beg|; 
IF buf|begl = " " THEN pos := pos + spc; 

IF rem > THEN pos := pos + 1: rem := rem - I END 
END; 

pos := pos + I; beg := beg + I 
END; 

row := row + 1: 
IF row = maxRow THEN 
IF col = bndCol THEN OutPage: col := ELSE col := col + len END: 
row := 
END: 
UNTIL end = lim 
END Format; 

BEGIN col := 0: row := 
END Layout: 



put. Clearly, a page should be written 
line by line into the output text file each 
time the page is completed. Format 
calls procedure OutPage when row and 
col have reached their maximum. Is this 
the only situation in which a page has 
to be written? It is likely that the last 
page of the text is only partially filled, 
so that the variables row and col won't 
reach their maximum values. So Out- 
Page should also be called from the 
main program as termination procedure 
immediately before closing the files. We 
therefore generalize OutPage to include 
the handling of a partially filled form and 
include it in the export list. 

Our submodule, layout, appears in 
listing 3. Its text has to be included in 
the declaration part of the main 
module. 

Notice the presence of a new 
repetitive LOOP statement. The loop 
statement is used whenever a repetition 
with more than one exit, or no exit at 
all, has to be programmed. The LOOP 
is left whenever an EXIT statement has 
been encountered within the loop 
brackets LOOP and END. It is note- 
worthy that the loop statement makes 
a jump statement (like GOTO) unneces- 
sary. In our example, the loop is left 
when either the paragraph is terminated 
('emergency exit") or when the current 
word has no room on the current line 
("regular exit"). 

Constant expressions are another 
innovation of Modula-2 over Pascal. 
They are particularly useful for the 
specification of array bounds such as in 
[0 . . . maxRowA] and can also be used 
for the declaration of dependent con- 
stants (e.g., bndRow = maxRow - len). 

Until now, we have underexploited the 
possibilities of our submodule layout. In 
fact, we have fixed the number of col- 
umns and the column widths as con- 
stants, although the module works cor- 
rectly for arbitrary (appropriate) values 
of these quantities. Let us extend the 
format of input files with an optional 
header line that is initiated by a 
CTLF(6C). CTLF has to be followed by 
a digit from I to 4 indicating the desired 
number of text columns. 

A second modification concerns the 
overall program flow. It is not a good 
idea to terminate the program after hav- 
ing processed a single text file. Instead, 
the program should be ready to process 

[continued) 



162 BYTE • AUGUST 1984 



THE 8087 IS IN STOCK! 



Micro Ware is the world's leading 
retailer of 8087s. We also have the 
most accurate statistics on chip relia- 
bility. They are: .01% infant mortality, 
.00% adult mortality and .02% 8088 
incompatibility. As for ease of install- 
ation, 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 1 80-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 MATRIX- 
PAK. For real time or multi-user appli- 
cations we offer RTOS™ - our imple- 
mentation of InteFs iRMX executive. 
Our new products include a profes- 
sional 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 read- 
able assembly language files. If you 
have a question about which com- 
puter, language, compiler, operating 
system or application package is 
best suited to your problem, we can 
answer it Just call: 
Information and Orders— 

61 7-746-7341 
University, Corporate and 
Government Buyers— 

61 7-746-7364 



8087 S 



010 



rt 



87 FORTRAN/ 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 $1 350 

87PASCAL/RTOS ™ is Intel's ISO- 
Standard Pascal with 8087-8088 exceptions. 
These make it possibleto use all the8087 data 
types directly, while generating modules in 
oneofthethreelntel Memory Models. Includes 
RTOS and support for one year $1 350 

RTOS DEVELOPMENT PACKAGE 

includes 87FORTRAN, 87PASCAL, PL/M-86, 
Utilities, TX Screen Editor and 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 

M WS-286™ Configured to your specifica- 
tions, 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 
lAlare 



P.O. Box 79 
Kingston, MA 
02364 
(617) 746-7341 



PC TECH JOURNAL REVIEW: 

"The Micro Ware package is prefer- 
able ... it executes the basic opera- 
tions 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 trigono- 
metries, transcendentals, addition, subtraction, 
multiplication, and division $1 50 

87 BASIC/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 

87 MACRO™ - our complete 8087 software 
development package. It contains a "Pre- 
processor," source code for a set of 8087 
macros, and an object library of numeric 
functions including transcendentals, 
trigonometries, hyperbolics, encoding, 
decoding and conversions $1 50 

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 $1 50 

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 $1 50 



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 equa- 
tions. Callable from MS Fortran 3.2, 87MACRO, 
87BASIC, and RTOS each $150 

MICROSOFT FORTRAN 3.2 $239 
M IC ROSOFT 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 . T r. mc :T". 595 

Unisource VEN IX/86 irr^r.'T 800 

FLOAT87 for MS C 1 25 

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 1 25 

ENERGRAPHICS 295 

Professional BASIC 295 

Kidger Optical Design Program 3000 

COSMOS REVELATION 850 

SuperCalc 1 1 1 with 8087 Support CALL 

MAYNARD WS1 HARD DISK 995 

MAYNARD WS2 HARD DISK 1 1 70 

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, 87PASCAL/RTOS, 87BASIC, 
87MACRO, MATRIXPAK, 87/88GUIDE, 87BASIC+ and 
MicroWay are trademarks of Micro Ware, Inc. 



Circle 218 on inquiry card. 



AUGUST 1984 'BYTE 163 



TUTORIAL 



Structuring elements allow 
and invite software 
designers to group 
declarations and procedures 
into distinct modules. 

another file. Hence, we embed our 
previous main program into a WHILE 
statement. We shall specify that enter- 
ing ESC(33C) instead of a filename will 
bring the process to an end. Module \n~ 
Out exports a variable terrnCH contain- 
ing the termination character of the 
string read by ReadString. Of course, this 
variable is exported for inspection only. 
See listing 4 for our extended main 
program. 

In listing 4 we find yet another new 
Modula-2 statement. The IF statement 
from Pascal has been extended by the 
ELS1F clause. The meaning and possible 
application of this clause should be ob- 
vious from our example. 

In contrast to our earlier solution, the 
submodule layout may need to be in- 
itialized several times (i.e.. each time 
new text is to be processed). The way 
to master this problem is to introduce 



an explicit initialization procedure; in 
our case, this procedure is called Init- 
Form, which replaces (and extends) the 
previous submodule body. The body of 
the new submodule is empty. 

With that, however, the responsibili- 
ty for the correct sequence of module 
initialization has passed over from the 
Modula-2 loader to the programmer. 

Divide and Conquer 

Since the late 1960s serious program- 
mers have based their software 
development on structured program- 
ming. This means that they have struc- 
tured the dynamic flow of their pro- 
grams such that a procedure call cor- 
responds to each action in the formula- 
tion of the respective algorithm. 
Thereby, the question of where to pro- 
gram all these procedures has not been 
raised or answered "in the declaration 
section of the program." This is the 
point where Modula-2 intervenes. As we 
have already seen in the previous sec- 
tion, Modula-2's structuring elements 
allow and even invite the software 
designer to divide and logically group 
the set of declarations and procedures 
into distinct units called modules. 

The consequences of this division 
reach further than expected. Separate 



Listing 4: The main program that has been extended to a) use variables for the 
number of columns and column widths, and b) request a new text file to process after 
completing file output. 

BEGIN 

WriteString("in> "); ReadString(name): Write(EOL); 
WHILE terrnCH # ESC DO 
Lookup(in, name, FALSE); 

WriteString("out> "); ReadString(name); Write(EOL); 
Lookup(out, name, TRUE); 
lim := 0; ReadChar(in, ch); 
IF ch = CTLF THEN ReadChar(in, ch); 
IF ch = "1" THEN lnitForm(96. 96, 70. 0) 
ELSIF ch = "2" THEN lnitForm(46, 49. 70. I) 
ELSIF ch = "3" THEN InitFormpO. 33, 70. 2) 
ELSIF ch = "4" THEN lnitForm(22, 24, 70, 3) 
ELSE lnitForm(96, 96, 70, 0) 
END; 

REPEAT ReadChar(in, ch) UNTIL ch = EOL; 
ReadChar(in. chj 
ELSE lnitForm(96, 96, 70. 0) 
END; 

WHILE NOT in.eof DO 
WHILE ch EOL DO lim := lim + 1; buf[lim| := ch: ReadChar(in, ch) END; 
lim := lim + 1; buf|lim] := " ": ReadChar(in, ch); 
IF ch = EOL THEN Format; lim := 0; ReadChar(in. ch) END 
END; 
OutPage; 

Close(in): Close(out); 

WriteStringCm > "); ReadString(name); Write(EOL) 
END 
END Formatter. 



compilation is one new aspect. It is a 
small step from encapsulating a pro- 
gram part within a main module to com- 
pletely removing this part from its en- 
vironment and defining it as auto- 
nomous. In fact, the Modula-2 compiler 
accepts autonomous modules as com- 
pilation units and performs full com- 
patibility checking across module 
boundaries. 

But Modula-2 goes one step further: 
separate modules can be split up into 
a definition and an implementation 
part. The definition part defines the 
module from a functional point of view, 
while its implementation companion 
lays down the methods used to realize 
these functions or to represent data. 
The definition part can be regarded as 
a separately stated (and compiled), ex- 
tended export list. 

This concept clearly opens a new 
door for software engineers. They may 
define centrally the components of 
large software systems in a concise and 
unified way and leave the implementa- 
tion to a team of programmers. 

It is crucial to separate compilation 
that imports must always refer to defini- 
tion (parts of) modules. An important 
consequence of this is that recompila- 
tion of an implementation (part of a) 
module does not influence the module's 
clients. However, the recompilation of 
a (modified) definition part can trigger 
a chain reaction of which the extent is 
determined by the number of importa- 
tions in dependent definition modules. 
It is therefore a good idea to minimize 
imports in definition modules. 

Let us illustrate all that by two ex- 
amples: a compiler and an editor. Think 
of the compiler as being designed ac- 
cording to the method of recursive de- 
scent. The different parts in recursive- 
descent compilers are known to be 
closely interwoven. On the other hand, 
we have seen that modularization 
essentially amounts to a textual splitting 
of the program. Hence, modularizing a 
compiler has to be a difficult undertak- 
ing. Nevertheless, some functional units 
can be extracted: lexical analysis (scan- 
ner), syntactical analysis (parser), 
generating of the symbol table, and 
type checking and code generation. We 
shall assign each of these functional 
units to a separate module. 

These modules are obviously tightly 

[continued) 



164 BYTE- AUGUST 1984 



Mylstar can cut 

your IBM-PC 

debugging time 

in half. 




Introducing MSD! Mylstar Symbolic Debugging 
Program for IBM Personal Computers, 

PC-DOS V 1.1, 2.0 and 2.1. 

MSD greatly enhances your IBM DEBUG Program. Using the 
same command structure as DEBUG, it lets you substitute 
symbol names and mathematical expressions for hex values. 
Batch files, on-line help, multi-command macros and other 
time saving entries are also included. 

Symbols 

Every symbol declared public in a source module becomes 
part of the symbol table. And new symbols can be created or 
old ones changed as quickly and easily as you can type 
them. And they can be stored for future use. 

More than just a Symbolic Debugger 

In addition to the examples shown below, MSD contains com- 



mands for break points, repeat loops and input/output redi- 
rection. It lets you define macros which can be saved and 
used again. MSD also offers a Command to trace around 
calls, DOS interrupt calls, and repeat string instructions. 
And, because MSD supports the full set of DOS function calls 
you can debug more programs than with any other currently 
available debuggers. 

MSD adds on what IBM left out 

Call, write or check reader 
circle number for addi- 
tional information. You can 
start debugging faster for 
only $125. Phone orders 
accepted with Mastercard 
or Visa numbers. 




MYLSTAR 

ELECTRONICS 

INC. 



165 West Lake Street 
Northlake, Illinois 60164 
Tel (312) 562-7400 
Telex 72-8463 

A Columbia Pictures Industries Company 

Circle 229 on inquiry card. 



Arguments like 
source listing 



Labels inserted 



Symbolic 

parameter 

accepted 




Indirection 
implemented 
(value currently 
stored at 
BUFLEN used) 



Create Macros 

Execute Macros 

Even use symbols 
with assemble 
command 



IIA6ETLINE L. IC 
2Q9A»QI00 E0ODOO 
2Q9AJ0103 E03AOO 
209A-.0106 720 1 
209A.-Q10B C3 
209A;0109 BA0003 
209Ai010C E84100 
209A:010F C3 
209As0H0 8B0E1C01 
2090:0114 BF2001 
209A:0tl7 BOZO 
209A:0I19 F3 
209A:011A AA 
209At011B C3 




JC 

RET 

MOV 

CALL 

RET 

MOV 

MOV 

MOV 

REF'Z 

STOSB 

RET 



CLRBUF 

SETCHAR 

ERROR 



to \BUFFER L l\BUFLENJ 

209A-.»I20 40 59 4C S3 54 41 52 20-53 59 40 42 4F 4C 49 43 MYLSTAR SYMBOLIC 

209A:0130 20 44 45 42 55 47 47 45-52 20 20 Si, 20 32 2E 30 DEBUGGER V 2.0 



t.DBUF 

D \BUFFER L C\BUFLEN1 
2O9A;O120 40 59 4C 53 54 41 52 20-53 59 40 42 4F 4C 49 43 MYLSTAR SYMBOLIC 
209A:0130 20 44 45 42 55 47 47 45-52 20 20 56 20 32 2E 30 DEBUGGER V 2.0 



2650:0106 
2650: 01 OA 
ZASftcOlOC 

tUt 00 L A 
265D:0100 B8001O 

2650:0103 010010 
2650:0106 2B870010 



TABLE 
AX, C VIABLE J 
AX.VTABLECBXJ 
<. TABLE, MABLE 



MOV 
MOV 
SUB 



AX, Offset TABLE 
AX ft TABLE 3 

. TBX+Of fast TABLE} 



TUTORIAL 



coupled. They all rely on a central and 
dynamic data structure: the symbol 
table. How can this common data struc- 
ture (i.e., the respective data types) be 
presented to the different modules? The 
solution is to place the description of 
the data structure itself into a module, 
a so-called data-type module. This data 
module constitutes a common base that 
must be imported by any module that 
participates in the handling of the sym- 
bol table. Notice the contrast to our first 
example: there, a public procedure 
operated on a private and hidden data 
structure. Here, private and public pro- 
cedures operate on a common and 
public data structure. 

What can be hidden at all in our com- 
piler modules? Methods is the answer. 
Consider, for example, the symbol-table 



generator. Listing 5 is an excerpt from 
its definition module. 

ObjPtr, ObjClass, StrPtr, and StrForm are 
data types which are imported from the 
data module, NewScope and CloseScope 
open and close scopes, and NewObj and 
NewStrare procedures to create new en- 
tries in the symbol table. Find and Find- 
Field search for objects with a given 
name, MtTableHandler initializes explicitly 
the table handler, and EndTableHandler is 
the termination procedure for this 
module. We emphasize that no informa- 
tion is given about methods. It is left 
open, for example, which strategy is ap- 
plied and whether a certain object is 
searched with a linear or a binary 
search. 

Only the implementation module in 
listing 6 lifts the veil of secrecy. 



Listing 5: TableHandler, the definition module from a symbol-table generator. 

DEFINITION MODULE TableHandler; 
FROM Datatypes IMPORT ObjPtr, ObjClass. StrPtr, StrForm; 
EXPORT QUALIFIED Scope. 

NewScope CloseScope, NewObj, NewStr, Find, FindField, 

InitTableHandler, EndTableHandler: 

VAR Scope: ObjPtr; {.header of scope located by Find.) 

PROCEDURE NewScope{kind: ObjClass): ObjPtr; 
PROCEDURE CloseScope: 

PROCEDURE NewObj(id: CARDINAL; class: ObjClass): ObjPtr; 
PROCEDURE NewStr(form: StrForm): StrPtr: 
PROCEDURE Find(id: CARDINAL): ObjPtr: 
PROCEDURE FindField{id: CARDINAL; rec: StrPtr): ObjPtr: 
PROCEDURE InitTableHandler: 
PROCEDURE EndTableHandler: 
END lableHandler. 



Listing 6: TableHandler, the implementation module that contains the logic (see 
also listing 5). 



IMPLEMENTATION MODULE TableHandler; 
FROM Data IMPORT ObjPtr, Object, ObjClass, StrPtr, Structure, StrForm: 



PROCEDURE FindUd: CARDINAL): ObjPtr: 

VAR objx: ObjPtr; 
BEGIN Scope := topScope; 

LOOP objx := FindlnScope(id, Scope); 
IF objx # NIL THEN EXIT 
ELSIF ScopeT.kind = Module THEN 
objx := Findlmport(id. Scope); 

IF objx = NIL THEN objx := FindlnScope(id, universe) END ; 
EXIT 
ELSE Scope := ScopeT.base 
END 
END: 

RETURN objx 
END Find: 

END TableHandler. 



Figure 2 shows the modular structure 
of our compiler in graphical represen- 
tation. An arrow from module "M" to 
module "N" indicates that "N" imports 
"M" (i.e., "N" depends on the definition 
module of "M"). 

It is noteworthy that most multipass 
compilers show, from the point of view 
of time, a similar structure— first pass, 
lexical and syntactical analysis: second 
pass, table generating: third pass, type 
checking; and fourth pass, code gen- 
erating. However, the spatial and tem- 
poral structures must not be mixed up 
(see figure 3). 

Our second example of separate com- 
pilation is a text editor. In contrast to 
compilers, editors are interactive pro- 
grams. Their dynamic flow is typically 
action oriented. Actions influence the 
text document's contents and, there- 
fore, its representation on the display. 
This knowledge may result in the at- 
tempt of a modularization seen in figure 
4. 

But the display handler has to rely on 
the document handler. In fact, the docu- 
ment handler can be regarded as an 
abstract file system delivering a stream 
of characters and formatting informa- 
tion to the display. So we have mutual 
imports between the document and 
display handler. 

Although this situation does not lead 
to a conflict as long as mutual import 
doesn't occur between definition 
modules, it indicates that the coupling 
of the two modules is too tight. A fun- 
damental rule states that the "thinner" 
the interface between modules, the bet- 
ter the modularization. 

In our example, we shall remedy the 
situation by eliminating the arrow from 
the display to the document handler 
and replacing it with an arrow from the 
display to the command interpreter (see 
figure 5). 

This modification has some desirable 
consequences. First, the command in- 
terpreter can directly pass over display- 
oriented commands— such as scrolling 
the text— to the display handler without 
primarily involving the document 
handler. The second consequence is of 
even greater importance: the document 
handler is now freed from its depen- 
dence on the display. Therefore, it can 
also be imported by modules that pro- 
cess the text in a different way, say, by 

{continued) 



166 BYTE* AUGUST 1984 












> 



'":.'•'■' 



r 



/ 



Add Diskette Storage When You Need It 
With The DiskBank System. 




No matter how large or small your 
diskettefiling and storage requirements 
may be, the DiskBank System by 
Amaray is the most revolutionary, 
versatile and cost-effective approach 
available today 

Its unique modular interlocking 
design allows you to add new modules 
as your storage needs expand . Each 
impact-resistant module conveniently 

Circle 18 on inquiry card. 



organizes up to 10 diskettes in a safe, 
dust-free environment. When you need 
a diskette, simply open the DiskBank 
drawer and slide it out. Diskettes 
automatically come forward allowing 
you to select the one you need. 

In addition, the System is portable 
DiskBank modules are designed to go 
with you anywhere. Simply slide out 
the modulesyou need, putthem in 
your briefcase.andgo. 

Available in three media for- 
mat sizes, System 
3for3J4"-3 1 / 2 " 
diskettes, System 
5 for 5 ^"diskettes, 
and System 8 
for 8" diskettes, 
DiskBank System 
may be purchased 
individually or 
in money-saving 
volume packs. 



Why settle for less? Give your 
valuable diskettes the protection they 
deserve. Buy a Bank. Buy a DiskBank. 
The DiskBank System 

DiskBank 

AMARAY 

AMARAY CORPORATION 

2251 Grant Road, Los Altos, CA 94022 
[415)968-2840 Telex 171 627 Amaray-Ltos 




TUTORIAL 























Parser 








a a 


a a 
























TypeChecking 
CodeGenerator 






TableHandler 






i 


•t 






f 


i 






















Scanner \ 








DataTypes 



























Figure 2 : A representation of the modular structure of the compiler example. The arrows 
from one module to another indicate that the latter imports the former. 



3a 











CodeGenerator 






TypeChecking 




TableHandler 




Parser 






Scanner 


(Frequent sw 


Modular one-pass compiler 

itching of activity between modules) 


► t 















Scanner/Parser 


Table Generation 


Type Checking 


Code Generation 


Compiler Base 




Four-pass compiler 




* t 



Figure 3: A one-pass compiler (3a) as contrasted to a four-pass compiler (36) over t time. 



a printing program or by an off-line 
statistics program. 

From Program Components 
to Library Modules 

We have seen that a specific module 
can be used by different programs. This 
thought naturally leads to the notion of 
a module library The fact that the word 
library stands for a collection of books 
tempts me to create the word modularu 
for a collection of modules. Actually in 
a Modula-2 environment even the 
operating system is simply a collection 
of basic and usable modules. The sharp 
boundary that separates system and ap- 
plication software thus becomes even 
less distinct. 

Most of the features that do not 
belong directly to the programming lan- 
guage but are indispensable for real 
programming, such as I/O (input/output) 
string handling and process scheduling, 
are transferred to modules in Modula-2. 
On one hand this relieves, and also 
generalizes, the language and, on the 
other hand, increases its flexibility. 
Figure 6 shows an example of a hier- 
archy of Modula-2 library modules. 

When designing a library module, the 
question of which facilities should be 
made available is paramount. If the set 
of offered procedures is too com- 
plicated, then most users will create 
their own modules; if the procedures 
are too simplistic, they are again dis- 
satisfied. Our goal is to find the 'golden 
mean." 

We can summarize our experience 
relating to this quest in the following 
guidelines. We recommend that the 
library-module designer obey these 
rules. 

Guideline i 

Do not export complex procedures 
from your library module (i.e., pro- 
cedures with a large number of explicit 
or— even worse— implicit parameters 
and assumptions). Instead, export the 
atoms of complex operations as in- 
dividua. This gives the user of your 
module the chance to "tailor" the 
operation as a whole to his requests. 
For example, assume that a mouse- 
handling module offers a procedure 
TrackMouse to track the mouse until a 
mouse button has been pressed or a 
character typed. This procedure would 

(continued) 



168 BYTE • AUGUST 1984 



TEK 



221 3 A/221 5 A/2235 

DUAL TRACE OSCILLOSCOPES 



THE ANSWER 

BY ANY MEASURE 



Now! Tek quality and expert advice 
are just a free phone call away! 



100 MHz dual 
time base scope. 

Easy-to-read CRT; 
bright, full-sized 
8x10 cm; 14 kv 
accelerating 
potential complete 
with BEAM FIND, 
separate A/B 
dual intensity 
controls, FOCUS 
and TRACE 
ROTATION 



Wide range verti- 
cal sensitivity. 

Choose from 
2mV/div(1x 
probe)to50V/div 
(10x probe); 
color-keyed for 1x 
and 10x probes; 
variable control 
increases scale 
factor by 2.5 to 1. 



Two 100 MHz, 
high sensitivity 
channels. 3 5 ns 
risetime; dc to ^ 
100 MHz band- 
width from 5 V/div 
to 5 mV/div; 
extended sen- 
sitivity of 2 mV/div 
at ^ 90 MHz. 



A/B sweep selec- 
tion. Calibrated 
A sweeps from 
50 ns/div to 
0.5 s/div; B sweeps 
from 50 ns/div 
to 50 ms/div; vari- 
able control for up 
to 2.5 to 1 reduc- 
tion and 10x 
magnification for 
sweeps to 
5 ns/div. 



Dual time base 
measurements. 

Select either A or 
B sweeps, or both 
alternately with A 
intensified by B. 



B trigger slope 
and level. Use B 

trigger level to 
select B-triggered 
or run-after-delay 
modes; use B 
TRIGGER SLOPE 
to select transitions. 




Our direct order line gets 
you the industry's leading 
price/performance portables . . . 
and fast answers from experts! 

The 60 MHz single time base delay 
2213A, the 60 MHz dual time base 
2215A and the 100 MHz dual time 
base 2235 offer unprecedented 
reliability and affordability, plus the 
industry's first 3-year warranty* 
on labor and parts, CRT included. 

The cost: just $1200 for the 
2213 A, $1450 for the 2215 A, 
$1650 for the 2235.t Even at 
these low prices, there's no 
scrimping on performance. You 



have the bandwidth for digital | 
and analog circuits. The sensitivity 
for low signal measurements. The 
sweep speeds for fast logic fami- 
lies. And delayed sweep for fast, 
accurate timing measurements. 
All scopes are UL Listed and CSA 
approved. 

You can order, or obtain 
literature, through the Tek 
National Marketing Center. Tech- 
nical personnel, expert in scope 
applications, will answer your 
questions and expedite delivery 
Direct orders include comprehen- 
sive 3-year warranty*, operator's 



manual, two 10X probes, 15-day 
return policy and worldwide ser- 
vice backup. 

Order toll free: 
1-800-426-2200, 
Ask for Rick. 

In Oregon, call collect: 
(503) 627-9000. 
Or write Tektronix, Inc. 
P.O. Box 1700 
Beaverton, OR 97075 



Tektronix 

COMMITTED TO EXCELLENCE 



Copyright © 1984. Tektronix. Inc. All rights reserved. #TTA-439. |Pnce F.O.B Beaverton, OR "3-year warranty includes CRT. 



TUTORIAL 



satisfy all users N who agree to use this 
termination condition and to give away 
program control during the tracking 
loop. 

But what about user A who wants the 
loop to stop when the left mouse 
button has been pressed, or user B who 
wishes to keep the cursor on a grid, or 
user C who wants to make the shape of 
the cursor depend on its location on the 
display? (See listing 7 for the general 
and specific cases of "mouse tracking.") 

They would prefer two exported pro- 
cedures, GetMouse and DrawCursor. 

Guideline 2 

If complex objects are to be handled by 
your module, divide it up into several 
physical modules or groups of modules, 
each of them operating on the objects 
at a different level of abstraction 
("distributed processing"). This enables 
your module's client not only to import 
a suitably restricted set of operations, 
but also to select the entry level to the 
module set. i.e.. the level of abstraction 
on which he wants to have the objects 
handled. 







Command 
Interpreter 






A 




Document 
Handler 




A 


1 


' 




Display 
Handler 









Moreover, later modifications in the 
definition can be restricted to individual 
modules in the set. thus reducing the 
number of user modules that have to 
be recompiled. 

For example, the window handler 
base Windows (see figure 6) handles win- 
dows as a whole. It merely operates on 
the graph of their global overlapping 
hierarchy and completely disregards 
contents. By contrast, module TertWm- 
dows exports procedures to write text in- 
to the windows. 

Guideline 3 

Assume again that your library module 
handles complex objects. If the max- 
imum number of objects to be simulta- 
neously handled is sufficiently small, 
identify each object by a number; for 
instance, define a subrange as object 
type. Thus, each user may store that in- 
formation about the objects that is rele- 
vant for his sphere of activity in a 
private table that is indexed by the data 
type (distributed data). 

Alternatively, a pointer type could 
have been chosen as object type. In 
such a case, each object points to its 
descriptor record. As the object descrip- 
tors are public, they cannot be effective- 
ly protected. This somehow contradicts 
the module concept. In fact, Modula-2 
offers the possibility of hiding a type. 
A hidden (or abstract) type is defined 
in the definition module without struc- 
ture indication and declared in the cor- 
responding implementation module 



(normally as a pointer). But hidden ob- 
ject types restrict the handling of the 
objects strictly to the module. 

In the case under discussion, the 
subrange is preferable to a pointer type 
(be it hidden or not) as the latter 
demands fixing the descriptor record 
once and for all (see listing 8). 

Guideline 4 

If you design a library module that 
handles objects of a certain category, 
you may decide to include a merely 
restricted set of (universal) operations. 
If so, make use of the Modula-2 pro- 
cedure-type parameter mechanism to 
enable the user to install his own pro- 
cedures. Thereby, the range of poten- 
tial users of your module can radically 
be enlarged without its size and com- 
plexity being increased. Procedure-type 
parameters make it possible to keep 
away details from a module. Keeping 
away details is somehow dual to hiding 
details in the module. 

If a default procedure is provided for 
a certain operation, this procedure 
should be exported to enable the user 
to reassign the default whenever re- 
quired. For example, the procedure 
OpenWindow in module Windows ex- 
pects as parameter a procedure which, 
upon calling, restores the contents of 
the window. The window handler calls 
this procedure whenever restoration of 
this window becomes necessary (see 
listing 9). 

(continued) 



Figure 4: Our first effort to modularize the 
text editor leads to mutual imports between 
the document and display handler modules. 













Command 
Interpreter 






i 


1 




i 


i 


■ 




Document 
Handler 




Display 
Handler 















Figure 5: Our second effort to modularize the text editor frees the document handler 
from dependence on the display handler. 



170 B YTE • AUGUST 1984 



LOMAS DATA PRODUCTS PRESENTS: 



T 




i 
i 



I 




THUNDER 186 offers the 
following standard features: 

■ 8 Mhz 80186 processor 

■ Floppy disk controller (controls 
both 5V 4 " and 8 "drives 
simultaneously) 

■ Two RS232 ports with hand 
shaking 

■ Centronics compatible parallel 
port 

■ 256K bytes of RAM 

■ Full IEEE-696 COMPLIANCE 

■ One year warranty 



THUNDER 186 provides the earth shanking performance you have 
come to expect from LOMAS DATA PRODUCTS. THUNDER 186 is a 
complete SIXTEEN BIT SINGLE BOARD COMPUTER on a standard 
size S100 bus board. THUNDER'S low price includes Concurrent 
CP/M-86* version 3.1. This allows the user to run PC-DOS**** pro- 
grams, as well as, CP/M-86* programs on the same system. And, for 
those users that prefer, MS-DOS*** is also available. 

TEST: THUNDER 186 BENCHMARK. 

In our April '84 advertisement, we compared the benchmarks of our 
other advanced CPU products, against the COMPUPRO CPU86/87 
10 Mhz. The test consisted of assembling the example BIOS (BIOS. 
A86) distributed with standard CP/M-86. The operating system used 
was CP/M-86. Now, we put THUNDER 186 to the same test . . . 







LIGHTNING ONE 1 " 
10 MHZ 


COMPUPRO CPU86/87 
10 MHZ 


LIGHTNING 286 " 
6 MHZ 


THUNDER 186 
8 MHZ 


ASSEMBLY-TIME (SEC.) 


47 


55 


41 


48 


RATIO TO 10 MHZ 
LIGHTNING ONE 


LOO 


1.17 


.88 


1.02 


BOARD SET COST 
LIST PRICE AS TESTED 


$2545.00 


$3040.00 


$3290.00 


$1595.00 


COST PERFORMANCE 


$2545.00 


$3556.80 


$2895.20 


$1629.00 


RATIO 


1.00 


1.40 


1.14 


.64 





RESULT: THUNDER 186 THE LEADER. 

The benchmark comparisons clearly make THUNDER 186 the 
leader in the 16 bit price/performance race. Other THUNDER 186 
advantages are too numerous to mention here. CALL US, and we'll be 
glad to discuss the other advantages with you. 



S100 bus board products & support for the system integrator . 



■ LIGHTNING ONE *** 8086/8088 CPU 

8086 or 8088, with 8087 and 8089 coprocessors. Up to 10 
MHZ operation PRICES start at $425.00 

■ HAZITALL SYSTEM SUPPORT BOARD 

2 serial, 2 parallel ports, battery protected clock calendar, 
Hard disk controller host interface PRICE $325.00 

■ LDP 128/256K DYNAMIC RAM 

Advanced dynamic RAM with LSI controller for failsafe op- 
eration, parity PRICE 128K— $495.00, 256K-$795.00 

■ RAM67 HIGH PERFORMANCE STATIC RAM 

High speed (100ns) low power CMOS static RAM. 128K 
bytes, extended addressing PRICE $995.00 

■ LDP72 FLOPPY DISK CONTROLLER 

Single/double density, single/double sided disks, both 8" 
and 5 1/4" inch drives simultaneously .... PRICE $275.00 



*CP/M-86, MP/M-B6and CONCURRENTCP/M-B6 are trademarks of Digital Research. 

**MS-DOS is a trademark of Microsoft 

***Lightmng One is a trademark of Lornas Data Products, Inc. 

****PC-DOS is a tradmark of IBM 



■ LIGHTNING 286-80286 CPU BOARD 

Offers 4 times the performance of a 5MHZ 8086 CPU while 
maintaining software compatibility. PRICE $1395.00 

■ OCTAPORT 8 PORT SERIAL BOARD 

8 serial ports to 19200 baud operation real time clock in- 
terrupt. Ideal for multi-user systems such as MP/M-86.* . . . 

PRICE $395.00 



All of LDP boards are fully tested to exacting standards 
and carry a one year warranty. We specialize in 1 6-bit 
products & support the four major operating systems for 
16-bit processors: CP/M-86* MP/M-86, CONCURRENT 
CP/M-86*, and 
MS-DOS (PC-DOS). 

Dealer inquiries 
invited. 

LOMAS DATA PRODUCTS, INC. D 66 Hopkinton Road, 
Westboro, MA 01581 □ (617) 366-6434 □ Telex: 4996272 




Circle 182 on inquiry card. 



AUGUST 1984 -BYTE 171 



TUTORIAL 



Concurrency 

Concurrent processes have a particular 
attraction for software engineers. The 
aspect of parallelism opens up the pure- 
ly sequential world of ordinary pro- 
gramming. We shall distinguish between 
genuine and logical concurrency. "Genuine 
concurrency" implies that several pro- 
cessors are available to execute a pro- 
gram; this is not usually the case these 
days. "Logical concurrency" is of much 
greater importance. In Modula-2, an 
autonomously running process is called 
a coroutine. 

You can create coroutines in your 
Modula-2 program using the standard 
procedure NewProcess. Each coroutine 
is controlled by a procedure. In a way. 
a coroutine is an "instantiation" of its 

[continued) 



Listing 7: Four types of users and their respective use of the procedures GetMouse 
and DrawCursor. 

User N: REPEAT GetMouse(buttons, x. y); 
DrawCursor(x, y): BusyRead(ch) 
UNTIL (buttons # {}) OR (ch # OC); 

User A: REPEAT GetMouse(buttons, x, y); 
DrawCursor(x, y); BusyRead(ch) 
UNTIL (left IN buttons) OR (ch # OC); 

User B: REPEAT GetMouse(buttons. x, y): 

DrawCursor(x DIV unit.unit, y DIV unit. unit); BusyRead(ch) 
UNTIL (buttons # {}) OR (ch # OC); 

User CREPEAT GetMouse(buttons. x, y): 

IF x < wid THEN SetPattern(private) ELSE ResetPattern END: 
DrawCursor(x, y); BusyRead(ch) 
UNTIL (buttons # {}) OR (ch # OC); 



Listing 8: An example of a hidden (or abstract) type. 

TYPE Window = |0..7|; (.subrange type.) 
TYPE Window; {.hidden type.) 





P 
Mo( 


iule 


Main programs 


Q 

Module 








a a 


i 


i 




a 


a a 


i i 


i 


































































GraphicWindows 
Def Module 






TextWindows 
Def Module 


— 




PrivatWindows 
Def Module 






Menu 
Def Module 








|Impl n 


Module 






|lmpl f Module 






|lmplf Module 






|Impl Module 








a 




1- 


i 




i 


a i 


i 


i 


i 
















































Windows 
Def Module 






ScreenFonts 
Def Module 


— 




CursorMouse 
Def Module 










|Impl Module 






[Impl Module 






|lmpl Module 






~r 










A 


' 


















DisplayDriver 
Def Module 








|Impl Module 




I 


library 







































Figure 6: The structure of Modula-2 programs that use the display software library modules. 



172 BYTE • AUGUST 1984 



/MicroAge* 

"THEY PROVIDED THE LINK BETWEEN US 
AND MILWAUKEE'S MAJOR CORPORATIONS/' 

"Both of us had experience in the corporate world and we wanted to open a 
Business reflecting that orientation. We chose MicroAge because they shared our 
Business philosophy." 

"Back in 1981 , some of the major vendors still hadn't entered the microcomputer 
market. We anticipated that when they did f they would channel their products 
through a national organization. With MicroAge behind us, we're able to offer 
Milwaukee businesspeople and professionals such respected products as IBM, 
Compaq, Hewlett-Packard and most recently AT&T. And we have the technical 
expertise to provide service after the sale." 

"MicroAge has supported us from day one. Without this help, we wouldn't be 
opening our second storel" 



jff^l 



Ernie Venta 
Franchise Owner 



Elayne Kalman 
Franchise Owner 



To build your own professional computer sales organ- 
ization with MicroAge requires an initial investment of 



assets. Write to: 

McroAge> 

coAiPUTer srores 

"The Solution Store"® 

1457 West Alameda • Tempe, Arizona 85282 

(602) 968-3168 




MicroAge franchisees Ernie Venta and Elayne Kalman shown with an IBM Personal Computer. 



Circle 200 on inquiry card. 



TUTORIAL 



procedure. The essence of the co- 
routine concept is that control can be 
transferred between the different co- 
routines. When your program calls the 
standard procedure TRANSFER with 
parameters p and q (both of type PRO- 
CESS), control is passed from p to q. 
Thereby, the current state of the co- 
routine p is saved and coroutine q is 
reactivated in the state of its previous 
interruption. 



Whenever a coroutine of a program 
terminates, i.e., its procedure terminates, 
then the program itself terminates. 
Therefore, procedures of auxiliary co- 
routines are typically embedded into an 
(infinite) LOOP. . .END loop, such that 
program termination is controlled by 
the main process, i.e., the coroutine 
created by the program loader. 

Let us elucidate the coroutine with a 
program that creates reservation lists. 



Listing 9: The default procedure OpenWindow will restore the contents of the win- 
dow when needed. 

TYPE RestoreProc = PROCEDURE(Window); 

PROCEDURE OpenWindow(VAR wdw: Window; x.y,w,h: CARDINAL; Repaint: RestoreProc); 



Listing 10: Procedure GenList, which creates reservation lists, demonstrates the use 
of coroutines in Modula-2. 

PROCEDURE GenList; 
CONST lim = 20; 
VAR i, j, k, entry: CARDINAL; 

list: ARRAY |0..50| OF RECORD name, next: CARDINAL END; 
BEGIN 
list|0].name = 0; list[0|.next := I; (.sentinel.) 
Iist|l|.name := I; list[l|.next := 0; (.sentinel.) 
entry := 2; (.create alphabetic list.) 
LOOP 
IF entry = lim THEN EXIT END; 
> GetRegistration; 

IF name = THEN EXIT END; 
list|entry|.name := name; 
k := 0: (.insert item.) 
LOOP 
i := list[list|k|.next|.name; j := name; 
WHILE (buf[i| = buflj]) & ((buf|il # 0C) OR (buflj] # 0C)) DO 

i := i i + I; j := j + I 
END; 

IF buf|il> buflil THEN EXIT END; 
k := listlkl.next 
END; 

listlentryl.next := listlkl.next: Iist|k|.next := entry; 
entry := entry + I 
END; 

IF entry = lim THEN (.create chronological list. I 
LOOP 
> GetRegistration; 
IF name = THEN EXIT END; 
list |entry].name := name; 
entry := entry + I 
END 
END; 
(.print list.) 
k := list[0|.next: 

WHILE listlkl.next # DO i := Iist|k|.name; 
WHILE buflil # 0C DO WriteChar(out. buf|i|); i := i + I END; 
WriteChar(out, EOL); 
k := listlkl.next 
END; 

WriteChar(out, EOL): 
k := lim; 

WHILE k < entry DO i := list(k|.name; 
WHILE buflil # 0C DO WriteChar(out. buf|i|); i := i + I END; 
WriteChar(out, EOL); 
k := k + I 
END; 

WriteChar(out. FF) 
END GenList: 



Assume that different courses in infor- 
matics with restricted attendance were 
announced. Students are accepted ac- 
cording to the sequence of their 
registration. 

We shall design the program so that 
it accepts chronologically ordered reser- 
vations stored on a text file in. A reser- 
vation is a pair of the desired course 
(0-9) and the student's name. As long 
as the number of applicants for a course 
has not yet reached the limit, the name 
of each new student is alphabetically in- 
serted into the main list of that course. 
Additionally, our program maintains a 
standby list for each course containing 
the names of surplus applicants. Ob- 
viously, the standby lists have to be 
chronologically ordered. 

Of course, the process of generating 
(and printing) the two lists is exactly the 
same for each course. We shall for- 
mulate it as a procedure GenList. Notice 
that name is in fact an index into a name 
buffer buf and that name = signals ter- 
mination. See listing 10. 

Let us emphasize again that this pro- 
cedure describes the whole process of 
generating and printing the two lists of 
an individual course in a very coherent 
way. Hence, we should try to find a for- 
mulation that does not force us to split 
up the procedure— for technical rea- 
sons—into smaller portions. 

In fact, assigning a coroutine to each 
course— with GenList as controlling 
procedure— is an elegant way of for- 
mulating our program. The main pro- 
cess shall activate the respective co- 
routine whenever it has read a new 
reservation item from the input file. The 
coroutine will transfer control back to 
the main process when it is ready to ac- 
cept a new registration. 

You can obtain the final form of Gen- 
List by simply embedding the pro- 
cedure body into a LOOP. . .EA/Dloop 
and replacing GetRegistration (marked 
with a >) by TRANSFER {handler\cur\, 
main). 

The crucial thing for the main process 
to do is reading reservations from the 
input file, one after the other, and pass- 
ing control to the appropriate course 
handler (see listing 1 1). 

Notice that all process-oriented types 
and procedures stem from a standard 
module SYSTEM. This module can be 
regarded as the interface between 

[continued) 



174 BYTE • AUGUST 1984 



^s\ 








■\ 



i 




\ 







How long is an idea? 



©1984 Cosmos Inc. 



With Revelation® by Cosmos, it 
won't matter. Our variable length 
structure lets you think long or short 
without worrying about needing disk 
space you don't have, or squandering 
space you can't afford. Think of it. 
Relational Data Base Management 
Software that saves up to 40% of your 
PC's disk space. 

As a powerful, enhanced version 
of the PICK™ Operating System, 
Revelation uses plain English to 
create files, menus, entry screens, 
process information and gener- 
ate reports. Plus, you can build, 



Cosmos Inc. 19530 Pacific Highway S. 



customize and update your data base 
application without being an experi- 
enced programmer. 

When you introduce your IBM® 
PC or compatible to Revelation, 
you'll see it change into a friendly 
brute that can communicate with 
other computers. Also featured is a 
hybrid full-structured programming 
language with an interactive debug- 
ging tool for serious development 
work. 

Besides bringing the power, speed 
and flexibility of a minicomputer to 
your PC, Revelation works with 

COSMOS 

Circle 85 on inquiry card. 



MS/DOS™ so you can use all the 
popular microcomputer software 
packages with the applications you 
develop. 

Indeed, Revelation is easy to get 
along with. A veritable gentle giant. 
But, you need to know more before 
you decide to buy what may become 
your most valuable business tool. 
So call us at (206) 824-9942 and let 
us arrange for you to see what we've 
got here. 



MS/DOS™ of Microsoft Corp. IBM PC Registered 
TM of International Business Machines Corp. 
PICK Operating System" of PICK SYSTEMS. 



Seattle, WA 98188, (206) 824-9942 



TUTORIAL 



Modula-2 and the system. SYSTEM also 
exports a type ADDRESS. An object of 
type ADDRESS is a pointer to a 
memory-word. (The type WORD is also 



exported from SYSTEM.) 

Each coroutine is connected with a 
memory section where its variables are 
allocated. Beginning and size of this sec- 



Listing 1 1 : Module Lists reads a reservation item from the input file and then 
invokes the respective coroutine handler. 

MODULE Lists: 
FROM SYSTEM IMPORT ADDRESS. PROCESS. NEWPROCESS. TRANSFER; 
FROM Program IMPORT AllocateHeap: 

FROM FileSystem IMPORT File. Lookup. Close. ReadChar WriteChar; 
FROM InOut IMPORT ReadString. Write. WriteString; 

CONST EOL = 36C; FF = 14C; (.form-feed.) 
VAR buf: ARRAY [0.. 100001 OF CHAR: 

name. i. cur: CARDINAL: ch: CHAR; A: ADDRESS; 

main: PROCESS; handler: ARRAY [0..9I OF PROCESS; 

in. out: File; fname: ARRAY |0..31| OF CHAR; 
BEGIN 
buf[0| := 0C; buf[l| := 255C; buf|2] := 0C; i := 3; 
FORcur := TO 9 DO 

A := AllocateHeap(400); NEWPROCESS(GenList. A. 400. handler[cur|) 
END; 

WriteString("in> "); ReadString(fname); Write(EOL); 
Lookup(in. fname. FALSE): 

WriteString("out> "); ReadString(fname); Write(EOL); 
Lookup(out. fname. TRUE); 
ReadCharfin, ch); 
WHILE (ch >= "0") & (ch <= ' , 9") DO 

cur := ORD(ch) - ORD("0"); name := i; 

ReadChar(in ( ch); ReadChar(in, ch): 

WHILE (CAP(ch) >= "A") & (CAP(ch) <= "Z") DO 
buflil := ch; i := i + I; ReadChar(in. ch) 

END; 

buf[il := 0C; i := i + 1; 

TRANSFER(main, handlerlcurl); 

ReadChar(in. ch) 
END; 

name := 0; 

FOR cur := TO 9 DO TRANSFER(main ( handlerlcurl) END; 
Close(in); Close(out) 
END Lists. 



tion have to be specified as parameters 
of NEWPROCESS at the time of creating 
the coroutine. In our example, we have 
called procedure AllocateHeap of an- 
other low-level module Program to 
reserve the desired amount of storage 
(400 bytes). 

Notice finally that the standard func- 
tion CAP returns the uppercase variant 
of its character argument. 

Summary 

Modula-2 is a modern programming 
language invented for the development 
of large software systems. The module 
is a new structuring tool, comparable in 
its relevance with the procedure and 
locality introduced by AbGOL and 
Pascal. Although conceptually simple, 
the module has proven to be surprising- 
ly difficult to master. On the other hand, 
the modular way of thinking has far- 
reaching and unexpected conse- 
quences, even for the design of oper- 
ating systems and for computer archi- 
tecture. 

The coroutine concept of Modula-2 
allows processes to be coherently for- 
mulated as procedures. Coroutines are 
a kind of dynamic counterpart to 
modules. In contrast to modules, pro- 
cedures can be instantiated. Thus, 
thanks to a mechanism to transfer con- 
trol between coroutines, different in- 
stances of the same procedure may 
simultaneously be alive. ■ 



Triple Your Programming Speed! 

GUARANTEED! 



J!£{!!ta3 




& 


2. ==^^= 




mm 


wT? 


= 


\L~m 






| B 






JE_ [ 




Adds mainframe editing power to your 
Apple's language! Uses NO program 
memory space. WDrks with ANY size program \ Hundreds of programming features 
never before combined in one package! AIWHY5 AVAILABLE and NEVER IN 
THE WAY) The features of this system are far too extensive to describe here, so 
call or write for more information, and get a FREE quick reference card. 
OEM'S PLEASE NOTE: Now you can market your turnkey systems in ROM! 
Eliminate worries about copy protection. Your program auto-boots from ROM 
which can even eliminate the need for a disk drive. Call or write for details. 

Optional Additions Include: 

NEWII APU-2: supeRENUMBER. muIUHIDE, multiMERGE, VARIABLE CROSS $35 00 

REFERENCE, AIJTONUMBER. NEW programs by Pauljohnson. Far more powerful and mistake 
proor than other versions . . . and always at hand . 

NEW !! COPY ZAP by Glen Bredon, author of BIG MAC. SMART DISK COPIER, and $39 95 
ZAP utilities written for our system. Also copies 40 track disks ! 

NEWII ROM DEVELOPMENT SYSTEM: Program your own firmware! Includes $99 00 

software, documentation and emulation RAM. 



12 Bit 16 Channel A/D Converter 




AD16B 
$299 95 



•VERY HIGH SPEED 
•7 VOLTAGE RANGES 
•COMPLETE SOFTWARE 



SIGNAL CONDITIONING & DIFFERENTIAL INPUTS AVAILABLE 



Professional Prototyping Board 

THE BIGGEST— THE BEST • IDEAL I AYOUT FOR 

WIRE WRAPPING 
PRO-1 *GOLD PLATED 
$29 95 EDGE CONNECTOR 

•VERY LARGE -UP TO 

52 (16 PIN) SOCKETS 




48 line Parallel I/O 




PD48 
$249 95 



•48 LINES IN/OUT 

(SOFTWARE SELECTABLE) 
•6 TIMERS PLUS INTERRUPT 
•FULL DOCUMENTATION 



APPLE IS A REGISTERED TRADEMARK OF APPLE COMPUTERS INC. 



Hollywood Hardware 6842 VALJEAN AVENUE, VAN NUYS, CA 91406 (818) 989-1204 



176 BYTE • AUGUST 1984 



Circle 14 7 on inquiry card. 



A faulty disk drive can scuttle a 
lot of software. 

And just as crucial, it can wash out 
data interchange between compati- 
ble drives so they can't talk to one 
another. These potential problems 
can be easily and quickly detected 
with Dymek's R.I.D.™ (Recording 
Interchange Diagnostic). 




The seven most important test 
parameters in less than a minute. 

Simply insert the R.I.D. diskette in 
your drive and receive the "pass/ 
fail" results on your screen for drive 
speed, noise tolerance, write/read, 
alignment, backlash/hysteresis, 
clamping, and erase crosstalk. No 
disassembly or special test equip- 
ment needed. If there's an error you 
can immediately pinpoint where 
maintenance is required. 

You protect your software library 
Investment for only $34.95. 

With daily use of the R.I.D. diskette, 
you're ready to read and write with 
complete confidence in your 
system. Confidence backed by 
Dymek,™ the leading supplier of 
alignment diskettes to head, drive, 
and system manufacturers 
worldwide. 



Available now for IBM PC and XT, 
Apple and Radio Shack systems. 

All it takes is a toll free call to 
MEDIA PRODUCTS for more infor- 
mation or to place an order. (800) 
858-7700 outside California or 
(800) 345-4700 inside California. 
Do it today so you'll have a safe 
drive tomorrow. 




1851 Zanker Road, San Jose, CA 95112 
DEALER INQUIRIES INVITED 

Circle 114 on inquiry card. 



This drive diagnostic 




can save you 



from data disaster 



CO 




To help you communicate more clearly 
To make tough subjects easy To make work 
go faster. To visualize, really visualize what 
you have in mind. 

Picturesof your ideas. Produced by Mindset" 
A new breed of hardware that gives you the 
next generation of mouse-driven graphic 

Intel's true 16-bit 80186 microprocessor. Two custom VLSI 
processors for high speed, high resolution bit-mapped graph- 
ics from 320 x 200 pixels in 16 colors. Runs Lumena™ and 
other professional graphic design programs, IBM PC soft- 
ware, and the next generation of icon-based, mouse-driven, 
windowed software. 

IBM is a registered trademark of International Business Machines Corporation. Lumena 
is a trademark of Time Arts. 




178 BYTE • AUGUST 1984 






power today. More impressive graphics than 
any we could show you on this page. 

You can draw ideas. You can plot and 
rotate dimensional designs. Even change 
their perspective. 

You can create charts, diagrams and 
layouts with brilliant clarity from Mindset's 
palette of 512 colors. 

Mindset works, thinks and plays as fast as 
your mind. It runs IBM® PC software at blaz- 
ing speed. Never puts your mind on hold. 



Always goes with the idea flow. 

Mindset's price? About one-third less than 
an IBM PC. 

Bring us the programs you're using today. 
Try them on Mindset. Watch your ideas pop 
on the screen the way they come to your 
mind. Quickly. Completely. Your ideas never 
looked so good. So fast. 

Call 1-800-447-4700 for your nearest 
Mindset dealer. 

Mindset: The possibilities are endless. 




RODUCING MINDSET 



Circle 221 on inquiry card. 



Mindset Corporation, 617 North Mary Sunnyvale, California 94086 
AUGUST 1984 -BYTE 179 



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 UNIX- 
compatible, UNIX software will run on the PC under 
COHERENT. 

The software system includes a C-compiler and over 100 utili- 
ties, 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 



COHERENTis a trademark of Mark Williams Company. 

*UNIX is as trademark of Bell Laboratories. Circle 330 on inquiry card. 



MODULA-2 



LILITH AND 
MODULA-2 



by Richard Ohran 



A case study of high-level-language processor design 



THE LILITH IS a specialized computer 
(called an engine) designed specifical- 
ly to execute Modula-2 programs. Its 
specialization makes it fast and efficient 
with Modula-2. It would not be par- 
ticularly effective as an engine for pro- 
gramming in other high-level languages, 
such as FORTRAN or BASIC. 

TheLilith achieves its exceptional per- 
formance through a combination of an 
efficient architecture specifically tailored 
to Modula-2 and a hardware implemen- 
tation of that architecture that further 
enhances performance of the system. 

The History of 

the Lilith Computer 

The driving force behind Modula-2 and 
the Lilith computer was Niklaus Wirth. 
the designer of Pascal. Wirth's own ac- 
count of the development of Modula-2 
and the Lilith appears in this issue (see 
"History and Goals of Modula-2," page 
145). 

After the Modula-2 language had 
been defined, the team's hardware 
engineers began work on the comput- 
ing engine that was to support Modula- 
2: the Lilith computer. Two overriding 
goals shaped the design of the Lilith: 

• to provide efficient support for the 
programming language Modula-2 

• to provide a flexible and advanced 
user interface so that the computer 



would be an effective single-user 
workstation 

As it turned out. these two goals were 
compatible. 

The efforts to design a machine that 
was particularly suited for Modula-2 
were based upon earlier, similar proj- 
ects. Early in Pascal's history, efforts at 
the ETH (the Swiss Federal Institute of 
Technology) in Zurich to transport 
Pascal from Control Data systems to 
other computers led to the develop- 
ment of the P-machine architecture. (Ken 
Bowles, then at the University of Califor- 
nia at San Diego, took a version of the 
P-machine compiler and added an oper- 
ating system to it to make the UCSD 
p-System.) 

The P-machine was a specialized ar- 
chitecture particularly well suited for 
Pascal. This architecture has been wide- 
ly used as a mechanism for producing 
portable code, which is then interpreted 
by the host processor. The P-machine 
perhaps should have been given a more 
glamorous name; as it stood, it was 
never widely accepted as the elegant 

Richard Ohran (950 North University Ave., 
Provo. UT 84604) is director of the Modula 
Research Institute and assistant professor of com- 
puter science at Brigham Young University. \n 
addition to Lilith, he devotes his spare time to 
table tennis, motorcycles, and amateur radio. 



machine architecture that it was. 

The architecture designed for Modula- 
2 (called the M-machine) is similar to 
this idealized Pascal architecture, except 
that the M-machine is specifically de- 
signed for high-performance execution 
of Modula-2 programs. Only those in- 
structions that would be useful to the 
Modula-2 compiler have been included 
in its instruction set. Instructions that 
would benefit only the assembly-lan- 
guage programmer have been left out- 
no excess baggage. 

Another important part of the Lilith's 
performance is its user interface, on 
which the greatest influence was Wirth's 
experience with the Xerox Alto during 
a sabbatical spent at Xerox's Palo Alto 
Research Center. The Alto computer 
had a bit-mapped display and used a 
mouse for rapid cursor positioning. 
These strong features of the Alto, with 
some improvements that support the 
display without sacrificing performance, 
help make the Lilith an effective and 
flexible workstation. 

M-Code: Lilith's 
Instruction Set 

One of the advantages the Lilith has 
over other computer systems that sup- 
port Modula-2 is the carefully designed 
instruction set of the M-machine. The ef- 
fectiveness of any computer processor 

[continued) 



AUGUST 1984 • BYTE 181 



L1LITH 



depends in large measure upon its in- 
struction set. If the instructions are in- 
adequate for the job. performance is 
poor. Conversely, if there are many in- 
structions that are not used by the com- 
piler, performance is likely to be poor 
because extra instructions mean extra 
bits, which must be moved and tested. 
The Lilith engine has only 2 56 careful- 
ly chosen instructions: the language 
constructs of Modula-2 map neatly to 
the Lilith's instruction set. without extra 
instructions to add fat to the processor. 

The size of an object-code program 
is a good measure of its execution 
speed. (For this reason, whenever a 
benchmark test is done, the size of the 
program object code is usually listed 
along with the execution times.) Note 
that the size of the code is a relative 
measure of the number of instructions 
required to execute a certain program. 

M-code, the Lilith's instruction set, is 
dense; few instructions are required for 
each Modula-2 language statement. 
PDP-I I code for a Modula-2 program is 
typically three times the size of M-code 
for the same Modula-2 program. With 
other aspects equal (i.e., clock speed, 
memory cycle). Lilith would be faster 
than the PDP-1 1 because fewer instruc- 
tion executions would be required to ac- 
complish the same task. The Lilith's high 



code density is achieved through use of 
an expression evaluation stack, several 
addressing schemes, and short instruc- 
tions for performing sophisticated high- 
level operations. 

Stack Architecture 

One reason for the Lilith's high code 
density is that the M-machine is a stack 
machine. The elegance and simplicity of 
stack architectures for higher-level-lan- 
guage programs is well known (see ref- 
erence 1). Effectively implemented stack 
machines are faster than register-based 
machines because stack machines need 
fewer instructions. 

The Lilith engine has an expression 
stack used for calculations and also 
organizes its main memory as a stack. 
Using an expression stack eliminates 
the need for user-accessible registers 
because stack operations simply pop 
operands off the stack and push the re- 
sult back on the stack. Of course, no ad- 
dress is associated with the expression- 
stack operations for the same reason. 
This means that operations on the ex- 
pression stack use only single-byte in- 
structions and are, therefore, fast. The 
stack organization of main memory ef- 
ficiently supports procedures and block 
structure. The result of the Lilith engine's 
stack organization is a reduction in the 



number of instructions needed to sup- 
port the constructs of the Modula-2 lan- 
guage. 

M-machine Addressing 
Schemes 

To keep data addresses as short as pos- 
sible, the M-machine uses several ad- 
dressing modes, depending upon the 
type of data being referenced. In gen- 
eral, data is referenced by very short ad- 
dresses (4 or 8 bits). The arithmetic and 
logical instructions require no address 
because they reference the expression 
evaluation stack. Only in the case of in- 
direct reference and external data (from 
another module) does the M-machine 
use a 1 6-bit address. The result of using 
several addressing modes depending 
upon the needs of the instruction is that 
the most commonly used instructions 
are the shortest and the less common- 
ly used instructions are longer. 

Because of the frequent use of short 
addresses (see the text box. "The 4-bit 
Constant"), the average length of the M- 
instructions in a typical program, in- 
cluding op code and data address, is 
only 10 bits. The overwhelming majori- 
ty of M-codes in a typical program are 
only I byte long. It takes only a small 
number of bits to instruct the Lilith 

{continued) 



The 4-bit Constant 



One of the unique features of the 
Lilith's instruction set is its use 
of 4-bit constants embedded in 
a byte along with a 4-bit op code. It may 
seem that a constant of only 4 bits is so 
small that it would be useless. In fact 
because a single byte with an embedded 
4-bit constant can often be made to serve 
instead of a 2-byte instruction, the use of 
4-bit constants reduces code size. The 
ability of the Lilith engine to effectively 
use 4-bit constants is partly responsible 
for the Lilith engine's compact code. 

Four-bit embedded constants are used 
in at least four ways: 1) for loading a con- 
stant value onto the stack; 2) for loading 
and storing a procedure's local variables; 
3) for calling procedures within a given 
module; and 4) for referencing fields 
within a record. In each case, using a 4-bit 
constant embedded in the same byte 
with the instruction allows something that 



would normally require at least 2 instruc- 
tion bytes to be accomplished with only 
I instruction byte. 

Of course. 4-bit constants are limited 
to values within the range to 15. How- 
ever, consider how useful it is to be able 
to load a small value onto the stack with 
a single-byte instruction. Such small con- 
stant values are often used for increment- 
ing and comparisons. 

When employed as the address of a 
local variable, a 4-bit value can be used 
to access the first 12 local variables in a 
procedure (the number is 1 2 rather than 
16 because the four-word procedure ac- 
tivation record described in the text oc- 
cupies words to 3). Procedures often 
have 12 or fewer items of local data. For 
such procedures, the Lilith engine can 
load and store all local data within that 
procedure with single-byte instructions! 

In a similar way. a 4-bit value can be 



used to select one of the first 16 pro- 
cedures in a module. Oftea modules „ 
have fewer than 16 procedures. As with 
manipulating local data, embedded 4-bit 
constants make most procedure calls on 
the Lilith unusually concise. 

When a structured variable is used in 
Modula-2, it is frequently referenced 
through the use of a pointer address 
loaded onto the expression evaluation 
stack. For subfields of a record so ad- 
dressed. Lilith offers a selection of short 
instructions with embedded 4-bit offsets 
to provide quick and efficient access. 
Many other situations in Modula-2 pro- 
gramming also use this technique. 

The Lilith's use of the 4-bit constant is 
partly responsible for the fact that over 
70 percent of the instructions in a typical 
Lilith program are only 1 byte long. This 
means that the code for a Modula-2 pro- 
gram on the Lilith is short and also fast. 



182 BYTE • AUGUST 1984 



YOU THE WORKS. 



MIAN N SSMAN t* 



1'AI.ur 



fR^-- 



Jt ^%i[i!ii(mi 



) -■ 






iilii l,! " 



PIXY3 



d a 




For about half the 
price of anything 
like it, now there's 
a complete plotting 
system with all you 
need for creative 
and professional 
graphics. 

Everything's 
included: The Pixy 
microplotter, its dedicated 
Pixygraph software, paper, mylar film 
for overheads, two 8-color pen sets and a 
concise, easy-to-follow manual. 

Even if you've never used a plotter before, 
it's never been easier to turn numerical data into 
pie charts, bar comparisons and area graphs. Or 
use your imagination to create unique designs. 



? 



Just connect Pixy to 
your IBM S -PC, Apple® 
or IBM compatible 
computer and 
you'll be turning 
out colorful 
graphics in no 
time. 

Everything 
shown is 
specially offered at 
the one low suggested retail price 
for a limited time only. So if you've ever 
wanted to make your point with graphics, the 
right time is right now. 

See your Mannesmann Tally dealer today or 
call toll-free for more in- MANNESMANN 
formation: 800-447-4700. TALLY 

In Illinois, 800-322-4400 



Apple is a registered trademark of Apple Computer, Inc. IRM is a registered trademark of International Business Machines, Inc. 



Circle 189 on inquiry card. 



AUGUST 1984 •BYTE 183 



LILITH 



engine (see reference 3). 

One of the ways the Lilith engine 
achieves such short addresses is that 
the M-machine does not use absolute 
addressing (see table 1). Both local and 
global data are addressed by offsets to 
base registers. Indirect addressing is 
done by adding an offset to the top of 
stack, and external addressing (for data 
in other modules) is done by adding an 
offset to a pointer to the appropriate 
module's data space. Using offsets in- 
stead of absolute addresses means that 
instructions usually need only 8 address 
bits (rather than 16). While many com- 
puters make use of base registers and 
offsets to calculate actual addresses, the 
Lilith engine automatically updates the 
base registers whenever the context is 
changed. This means that the address- 
ing schemes are both short and effi- 
cient. 

Short Addresses Speed 
Processing 

The advantage of the Lilith engine's 
multiple addressing modes is that there 
is no need to supply insignificant ad- 
dress bits as part of an instruction as 
would be the case if there were only 
one long address used at all times. Be- 
cause the most common instructions 
use either no address (because they ad- 
dress the stack) or only a 4-bit address. 
M-code is unusually concise. This 
means that the processor spends more 
time doing useful work because it does 
not have to fetch as many bits for its in- 
structions as most computing engines. 

High-Level Instructions 

The Lilith engine provides a number of 
sophisticated, high-level instructions, 
which speed the execution of some of 
the syntactic constructs of Modula-2. 
These instructions include context 



switching (transferring to a coprocess). 
FOR and CASE statements, and pro- 
cedure calls. 

As an example, let's consider the pro- 
cedure call. Procedure calls in Modula-2 
are more complicated than procedure 
calls in FORTRAN, for instance. Rather 
than simply saving the address to return 
to when the procedure terminates. 
Modula-2 requires the creation of an ac- 
tivation record whenever a procedure 
is called. This record includes not only 
the return address, but also information 
about where the procedure call came 
from, a link to global data accessible 
from inside the called procedure (this 
is determined by Modula-2's scope 
rules), and the priority of the module 
containing the procedure (this is impor- 
tant when handling interrupts). 

In order to effectively support 
Modula-2, any processing engine must 
provide this relatively complex activa- 
tion record for each procedure call. If 
the M-machine needed many instruc- 
tions to perform all the operations as- 
sociated with building a procedure ac- 
tivation record, procedure calls would 
be slow. However, the Lilith engine 
builds the activation record with a 
single 1-byte instruction. The processor 
takes care of all the associated memory 
references and data manipulations with- 
out the need for detailed instructions. 
By comparison, the 8088 processor 
used in the IBM PC would require per- 
haps a dozen bytes of instructions to 
perform the same task. 

Perhaps the crowning example in the 
Lilith of a concise instruction for per- 
forming a sophisticated task is the co- 
routine transfer. Coroutine transfers are 
the basis for multiprogramming. In a co- 
routine transfer, one process (program) 
is suspended at some point and an^ 
other process is started. Such a trans- 



Ikble I : M-machine instruction formats. The Lilith takes advantage of proven 
principles of stack architecture and addressing from base registers. The Lilith engine 
uses six different instruction formats to ensure that instructions are never longer than 
necessary (see reference 4). 

Class Size Format Location of Data 



Implicit 


1 byte 


lop 1 




Expression Stack 


Immediate 


1 byte 


I op ! n| 




n is data or offset to data 


Local 


2 bytes 


lop 1 


n 


Data at L-register + n 


Global 


2 bytes 


lop 1 


" 1 


Data at G-register + n 


Indirect 


3 bytes 


|op I 


n 


I Data at Top Of Stack + n 


External 


3 bytes 


|op 1 


m n 


At Frame table m offset n 



fer involves a complete change of con- 
text. The Lilith engine accomplishes a 
coroutine transfer with a 2 -byte instruc- 
tion. 

Hardware Performance 
Enhancement 

The Lilith computer is more than an im- 
plementation of a well-conceived ar- 
chitecture. It is effective hardware that 
makes the most of its architecture. I pre- 
sent here five crucial elements of the 
Lilith implementation of the M-machine. 
which improve the overall performance 
of the system significantly: the imple- 
mentation of the expression stack, 
masking the data portion from a 1-byte 
immediate-type instruction, an unusual 
memory configuration, a special instruc- 
tion fetch unit, and a special barrel 
shifter. 

Bipolar Expression Stack 

In the past, stack machines often used 
a reserved part of main memory for 
evaluating expressions. This type of im- 
plementation has been considered 
slower than using registers (even though 
stack machines use fewer instructions) 
because it requires many references to 
main memory, and main memory is 
much slower than registers. In order to 
get around this speed problem, the 
Lilith (like the Burroughs and Hewlett- 
Packard stack machines) uses a small ar- 
ray of fast bipolar registers to imple- 
ment its expression stack. 

Because the Lilith implements the M- 
machine's expression stack with very 
fast registers that are connected to the 
290 1 bit-slice processors so that the top 
two operands on the stack are always 
accessible, all basic stack operations are 
performed in a single microcycle (150 
nanoseconds). Basic stack operations 
include PUSH. POP. AND. OR. addition, 
and subtraction. The M-machine uses 
an expression stack to reduce the 
number of instructions needed to sup- 
port the Modula-2 language; the hard- 
ware implementation of the M-machine 
stack makes the most of the architecture 
by making stack operations very fast 
indeed. 

While the Lilith is much like the Bur- 
roughs and Hewlett-Packard stack ma- 
chines, the Lilith has an additional ad- 
vantage. The Burroughs and HP stack 
machines constantly test to ensure that 

(continued) 



184 BYTE • AUGUST 1984 



Announcing the Only 97 Function Key 

Detached Keyboard for Your 

Apple II /Apple II Plus 



tolllli),. 




Enhance and Upgrade Your 
Apple II /Apple II Plus 

The new detached keyboard 
from DATA SPEC™ offers you a 
convenient, cost-effective 
upgrade for your Apple ll/Apple 
II Plus. Experience more ver- 
satility than ever before with 97 
effortless pre-programmed func- 
tions. Functions include basic 
keywords, operating system com- 
mands, CP/M commands and 
much more. O 20 of the most 
used functions are conveniently 
located on a separate keypad 
for handy access. And all 
four mathematical functions 
© sit next to a 10-key numeric 
pad © for added ease-of-use. 
Eliminate the need to enter 
commands manually. Find your 
programming time cut by 50% 
or more. 

State-oMhe-Art Design 
Keeps You in the Forefront 

The new, sleek low-profile 
design on the DATA SPEC 
detached keyboard includes a 
convenient 3-position tilt adjust- 
ment O to correspond to your 
ergonomic needs. Familiar 
"posi-touch", quality typewriter 
style keys give you "room to 



Circle 94 for Dealer inquiries. Circle 95 for End-User inquiries. 



work". Separate LED power-on 
© and "cap" lock indicators 
add to your visual comfort. In 
addition, a handy 10 foot coiled 
cable © lets you move your 
keyboard without the burden 




of relocating your computer. 
And, durability is never compro- 
mised in this scientifically 
formatted design. 



You Can Depend On 
DATA SPEC 

The APL-KB-825 detached ex- 
tension keyboard is brought to 
you by DATA SPEC, from 
Alliance Research Corporation 
where quality, service and 
reliability have been our 
primary concerns. See the 97 
Function Keyboard at a DATA 
SPEC dealer in your area, or 
contact us today for a retailer 
near you. 

■ Suggested List Price: $299.95 

■ Warranty-One Year, 
Parts/Labor 

■ Watch for our Apple He and 
IBM PC Detached Keyboards 
Available Soon. 

■ Dealer and Distributor 
Inquiries Welcome. 



Apple is a trademark o I Apple Computer. Inc. 
CP/M is a trademark of Digital Research 
IBM is a trademark of 
International Business Machines Corporation 



LODGI(SH3a 



The Family of High Integrity Computer Support Products 

18215 Parthenia Street • Northridge, CA 91325 
(818) 993-1202 

AUGUST 1984 'BYTE 185 



LIL1TH 



Why Stack Architecture? 



The Lilith engine is a stack machine 
because stack structures effective- 
ly support high-level, block-struc- 
tured programs. The important fact about 
a stack is that it is inherently dynamic. 
As operations that place new operands 
on the stack occur, the stack grows ac- 
cordingly; as operands are removed from 
the stack, the stack shrinks accordingly 
Moreover, stack operations use no ad- 
dress; operations always address the top 
of the stack. This means that stack opera- 
tions are both elegant and efficient. 

Consider the following Modula-2 ex- 
pression: 

((4 + 3} • 5) DIV 16 

The evaluation of this expression on a 
stack proceeds as follows: 



PUSH 4 
PUSH 3 

ADD 



(removes top two operands, adds them, 
and places the result on the stack). 



PUSH 5 
MULT 
PUSH 16 
DIV 



35 



35 



Notice that at the end of the sequence, 
the final value is all that remains on the 
stack. In addition, notice how the stack 
grows and shrinks as needed, If the same 
expression were calculated using 
registers, more bits of instructions would 
almost certainly be needed (Lilith re- 
quires only 8 bytes for each of the above 
operations). Typically a register machine 
would leave at least one useless in- 
termediate result in one register and the 
value of the expression in another. When 
the expression is calculated on a stack, 
there is no possibility of ambiguity (now 
which register holds the right value?). You 
are left with only the result— the in- 
termediate values are gone. (An impor- 
tant benefit of this is that there is no need 



to have separate load and store instruc- 
tions for each register. Code for stack 
operations is concise.) 

The same technique works effectively 
on a larger scale. Whenever a procedure 
is called, space must be allocated for its 
local data. Because local data is defined 
only within a procedure, once the pro- 
cedure terminates, the space allocated to 
the local data should be recovered. Using 
a stack to organize procedure calls and 
their local data performs the necessary 
allocation and deallocation without ex- 
tra bother (i.e., with fewer instructions and 
with greater speed). 




Figure 1 : The schematic representation of a 
simple program. 



Consider the schematic representation 
of a simple program in figure 1 . The pro- 
gram consists of the main routine, which 
calls two procedures A and B. A has two 
local procedures Al and A2. A 2 is a 
recursive procedure. A typical execution 
of this program might proceed as shown 
in table 2. 

At each call, the local data of the called 
procedure is pushed onto the stack. In 
the return operation, the terminating pro- 
cedure's local data is popped off the 
stack. In particular, notice how elegantly 
recursion occurs. At each invocation of 
the recursive procedure, another instance 
of its local data is pushed onto the stack 
As the program "backs out" of the recur- 
sive calls, the data from each instance of 
the procedure is removed from the stack. 

Of course, a register-based machine ar- 
chitecture could allocate storage to pro- 
cedures and recover that storage upon 
termination of the procedure. The key 
point is that a stack-based machine 
naturally communicates via the stack. 
Parameters and local values are pushed 
onto the stack and popped off when the 
procedure terminates. 

Because this necessary allocation and 
deallocation occurs as a natural conse- 
quence of stack architecture, stack ma- 
chines are efficient. While any high-level- 
language processor has to perform the 
same kinds of tasks, a stack machine can 
perform them with fewer instructions 
because the stack structure is inherently 
dynamic and requires only short 
addresses. 



Table 2: A typical execution of the 


program from figure 2. 


Program Calls 


Stack Activity 


Main called by host system 


Push As data onto stack 


Main calls A 


Push Al's data onto stack 


A calls A 1 


Push A2's data onto stack 


Al calls A2 


Push A2's data onto stack 


A2 calls A2 


Push A2's data onto stack 


A2 calls A2 


Pop A2's data off stack 


A2 returns 


Pop A2 's data off stack 


A2 returns 


Pop A2's data off stack 


Al returns 


Pop A's data off stack 


A returns 




Main calls B 


Push B's data onto stack 


B returns 


Pop B's data off stack 


Main terminates 





the stack does not overflow or under- 
flow. In these two machines, when an 
operation causes an overflow/underflow, 
part of the stack is automatically writ- 



ten into main memory. In the Lilith 
engine, use of the expression stack is 
limited by the compiler to operations 
in which the compiler can control the 



number of levels of the stack employed. 
Operations like function calls are not 
allowed to use the expression stack 

{continued) 



186 BYTE • AUGUST 1984 



Get XT performance 
ataJr: price. 



*299S 




Now you can get the instantaneous response, massive storage, 
and easy operation of a hard disk in a truly affordable desktop computer 
system-the Morrow MD-11! At $2995, it's less than many floppy disk 
computers! 

The Morrow MD-11 comes complete with monitor, keyboard, 
and computer with 11-megabyte hard disk and 384k backup floppy disk drive. 
Plus, the MD-11 price includes over $1200 worth of name-brand software: 
super fast CP/M* 3.0 operating system, NewWord™ word processor, Correct-It' M 
spelling checker, SuperCalc™ spreadsheet, Personal PEARL" data base 
manager, Quest* business bookkeeping system, and 2 programming languages. 

And now, affordable 16-megabyte ($3495) and 34-megabyte 
($4995) Morrow systems are also available! 

You've never been able to buy this eXTra measure of performance 
at such a JR. price. Come try the MD-11 for yourself at your nearest 
Morrow dealer. 

Call us today for the name of a dealer near you. 
(800) 521-3493, or (415) 430-1970 in California. 



MORROW I 

600 McCormick Street 
San Leandro, California 94577 



CP/M is a registered trademark of Digital Research Inc. NewWord is a trademark of New Star. Correct-It is a trademark of Morrow Designs, Inc. 
SuperCalc is a trademark of Sorcim Corporation. Personal PEARL is a trademark of Relational Systems, Inc. *$37.50 licensing fee required. 



Circle 224 on inquiry card. 



AUGUST 1984 • BYTE 187 



L1L1TH 



directly because there is no way to 
know at the time of the call whether a 
function (particularly a recursive one) 
will cause a stack error. 

What this means is that the Lilith 
engine's stack cannot overflow or under- 
flow. The hardware does not even sup- 
port testing for overflow and underflow 
in the usual way. (The Lilith engine tests 
the stack only to see if it is empty when 
unloading the values on the expression 
stack into main memory— as might hap- 
pen in a coroutine transfer.) In effect the 
Lilith tests for over/underflow when a 
program is being compiled rather than 
when it is running. 

If assembly-level programming were 
to be done on the Lilith, the protection 
of run-time testing would have to be 
built into all stack operations. But be- 
cause expression stack use is controlled 
by the compiler, errors that could arise 
in assembly-language programming 
cannot occur. For example, it is not 
possible for a program to attempt to 
pop an operand off the stack when 
there is nothing in the stack (causing an 
underflow). Because the Lilith is special- 
ized as a Modula-2 engine, control of 
expression stack size can be conve- 



niently entrusted to the compiler. This 
makes the stack operations run faster 
than they would otherwise, because it 
eliminates the overhead of run-time 
testing. 

Masking Constants from 
Op Codes 

It was mentioned above that the Lilith 
engine saves on instruction size by em- 
bedding 4-bit constants in the same 
byte with a 4-bit op code. While this 
means that the Lilith does not have to 
move 2 bytes when I will do (see the 
text box if you haven't already), it also 
means that the same byte contains both 
the op code and an operand. Separat- 
ing the byte into two parts and sending 
the parts to the appropriate places 
poses a problem. An innovative solu- 
tion actually makes these instructions 
even more efficient. 

The instruction fetch unit (the portion 
of the Lilith engine responsible for sup- 
plying the processor with instructions) 
sends instructions that have embedded 
operands to two parts of the processor 
at the same time. Both the microcontrol 
unit (MCU) and the arithmetic-logic unit 
(ALU) receive the single byte that con- 



NUMBER OF M- CODES 
EXECUTED DURING 
SIMULATOR PROGRAM 

o o o o o o 
o o o o o o 
o o o o o o 














h _n 




23456789 10 1112 13 14 15 16 17 18 19 > = 20 
NUMBER OF MICROINSTRUCTIONS PER M-CODE 



Figure 2: This microinstruction profile of M<odes shows that the overwhelming 
majority of op codes in the test program (which attempted to accurately reflect the 
Lilith's basic performance) require three microcycles or less (4 50 nanoseconds or less). 
The conspicuous peak at > 20 microinstructions is mainly due to the fact that 
floating-point operations require many microinstructions. 



tains both the op code and the 
operand. While the microcontrol unit 
decodes the machine instruction, the 
ALU masks the op code out of the byte 
and prepares the operand for the com- 
ing operation. 

The use of the dual path for instruc- 
tions with embedded operands is part- 
ly responsible for the fact that more 
than 60 percent of the instructions in a 
typical program are executed in three 
microcycles or less (450 nanoseconds 
or less). (See figure 2.) Common instruc- 
tions execute at an average rate of 1.2 
million instructions per second, in- 
cluding memory wait time. 

Unusual Memory 
Configuration 

As mentioned earlier, the Lilith's large 
high-resolution bit-mapped display is 
handled by its main processor with lit- 
tle loss of performance. In contrast, the 
Xerox Alto (which heavily influenced the 
Lilith's design) was unable to control the 
screen without sacrificing overall perfor- 
mance. The Alto used about 50 percent 
of its power just to drive its screen (see 
reference 2). 

The key factor in the loss of comput- 
ing power experienced by the Alto was 
the excessive number of memory cycles 
required to service the display. To 
reduce this loss, I chose to expand the 
memory width and make memory ac- 
cessible to the main processor via a 
64-bit bus. This means that screen re- 
fresh requires approximately one mem- 
ory reference per five microseconds. 
Only 1 1 percent of the Lilith's memory 
time is used to refresh the display, and 
the memory itself is idle 60 percent of 
actual operating time. I verified these 
figures with a measured benchmark: 
using the Lilith's main processor to con- 
trol the display causes less than 3 per- 
cent overall system degradation. The 
Lilith engine controls its high-resolution 
raster display without significantly re- 
ducing the general effectiveness of the 
main processor. 

For 16-bit memory read operations, 
special logic selects the group of 16 bits 
needed from the full 64-bit memory 
word. However, it is not practical to 
write to memory in 64-bit chunks. This 
would make writing a 16-bit value cum- 
bersome and slow. Therefore. Lilith 
writes its memory in single word units. 

[continued) 



188 BYTE • AUGUST 1984 




Finally, Sharp's PC-5000 puts desktop computing where it's never 
been before. In the field Now you can do word processing on the train, 
information management on site and spread sheet analysis in your hotel 
room. \bu can now communicate with mainframes and databases. Plus, 
it's designed so it can easily be integrated into your systems. 

Specifications: J 

• Weighs under 10 \b$*/3W1i x 12"D x 13"W M 

• 16-bit, 8088 CPU/128K expandable to 256K RAM /A 
~ Two 5 l A floppy drives/320K each** / ' 

Integrated 37 CPS whisper-quiet correspondence- 
quality printer** / 
j MS-DOS® operating system/IBM® compatibility / 
> Fold-down display for briefcase transporting/ / 
8 lines x 80 columns / 
6-hour rechargeable battery / 
Software offering— number processing, / 
word processing, communications and { 
information management 
1 Direct connect modem** 
Nationwide service program 
Immediately available 
So before you decide to buy a 
computer that's not going anywhere, * 
look into Sharp's PC-5000. It 
goes everywhere! 

For more information ^ 
just call toll-free 
1-800-BE SHARP 
or send in the 
coupon. 



^Options. 






Sharp Electronics Corp., 1909 E. Cornell, Peoria, IL 61614 



ID Please send me more information about Sharp's PC-5000. 
D Please set up a demonstration. ^^^ 



Name_ 



'Without optional printer and modem. 

MS-DOS* is a registered trademark of Microsoft Corporatio... 

IBM 1 " is a registered trademark of International Business Machines Corporation. 

Sharp Electronics Corp., Paramus, N J 07652 

Circle 278 on inquiry card. 



Company _ 

Street- . 

City 



SHARP 



Phoned- 



FROM SHARP MINDS 
COME SHARP PRODUCTS 



L1LITH 



Lilith spends 
much more time 
executing instructions 
than it does 
getting them. 



16 bits at a time. The rather unusual 
combination of a memory that has a 
broad read bandwidth and a more 
typical write bandwidth allows the Lilith 
to operate its screen effectively without 
making memory write operations slow. 

Getting Instructions 
Faster 

Because the Lilith engine can read four 
words of instructions at a time, but most 
often may need only a single instruction 
byte at the time, an extra device, the in- 
struction fetch unit (IFU). is included in 



the Lilith engine to support the pro- 
cessor. The IFU performs a prefetch of 
64 bits of instructions and presents 
bytes of instructions to the processor as 
needed. As soon as the IFU sends the 
last byte of instruction to the processor, 
the IFU prefetches the next 64 instruc- 
tion bits. Usually, the IFU is ready with 
an instruction whenever the processor 
is ready to accept one. But even at 
worst, the processor waits only one 
memory cycle for the IFU to read an- 
other 64 bits and deliver the next in- 
struction byte. The IFU then has 7 more 
bytes waiting to be delivered to the pro- 
cessor without any delay. 

What this means for performance is 
that the Lilith processor spends much 
more time executing instructions than 
it does getting them. Most processors 
have to wait one memory cycle for each 
instruction. They actually spend more 
time fetching instructions than they do 
manipulating data. In contrast, the Lilith 
can prefetch as many as eight instruc- 



tions in one memory cycle. One instruc- 
tion goes directly to the processor, and 
during the next seven memory cycles, 
the processor does only useful work. If 
the IFU were considered a cache 
memory device, it would have the re- 
spectable hit ratio of 84 percent (in- 
structions waiting to be executed ver- 
sus needing to get an instruction before 
proceeding). The IFU makes the main 
processor wait while it gets the next 
batch of instructions during only 16 per- 
cent of the processor's cycles. 

In practice, executing typical Modula- 
2 programs, the Lilith processor spends 
only 22 percent of its operating time 
fetching instructions and the remaining 
78 percent doing useful work. (Other 
processors typically use at least 50 per- 
cent of their operating time fetching in- 
structions.) This impressive performance 
is partly due to the ability of the Lilith 
engine to read its main memory in 
64-bit chunks. It is also partly due to the 

(continued) 



••••SOFTWARE AND MORE THE EASY WAY: BUYMAIL•^^^ 

BUYMAIL offers the best in software and computer peripherals at the lowest prices available. 



Call 



1-800-821-7757 



to place your order for: 





SUGGESTED 
RETAIL 


BUYMAIL 




SUGGESTED 
RETAIL 


BUYMAIL 


Wordstar 

Lotus 1-2-3 

Wordstar Professional (Wordstar, 
Correctstar, Star burst, Mailmerge) 


495.00 
495.00 
695.00 


217.95 
307.95 
357.95 


Riteman 80 Column Printer 

(MX-80 compatible) 

Silver Reed 400 

(letter quality printer) 

Taxan Amber Monitor 


399.00 
399.00 
189.95 


297.00 

297.00 

87.00 


Professional Options Pack 

(Correctstar, Starburst, Mailmerge) 


395.00 


197.95 


Novation Access 123 w/Crosstalk 

(IBM internal 1200 baud) 


595.00 


367.00 


M ultimate 


495.00 


297.00 


Hayes 1200 


699.00 


479.00 


Supercalc 3 
Multiplan 


395.00 
195.00 


217.00 
1 1 7.00 


Maxell Disks SSDD 
DSDD 

Flip 'N File 


49.95 
64.95 

29.95 


17.70 

29.90 

14.95 



Don't f orgetto ask about other BUYMAIL products and our free catalog. 
We ship your order within one working day or we pay the 
shipping charges. 

BUYMAIL thanks you in advance for your order. 

Prices and availability subject to change without notice! 
Payment: MasterCard, VISA, check (please allow 10 days to clear). 
COD orders gladly accepted, you may pay by cash or Cashier's check 



when your order arrives. D&B listed businesses may pay by company 
check, just give us your Duns number when you call. Payment by wire 
transfer is easily done, just call us for our bank information. Qualified firms 
may receive open terms. 

Shipping Charges: UPS ground. 3% of your order, subject to a 
minimum of $4.00 UPS 2nd day air 6% of order, minimum $8.00. Prepaid 
orders with Cashier's check get free shipping' 



adtf : 201 



^H MICRO PRODUCTS HH 



190 BYTE • AUGUST 1984 



Circle 3 on inquiry card. 



DaisyWheel 



Dot Matrix 



Thermal 



FUJITSU 
PRINTERS 

You carit buy, 

f^T\ (* is FUJITSU. 

more Performance, 
tor the Price. 

^and hip-h snppds. And Finit.su nrintprs arp sprvicpd h 




Finally, there is a full line of 
quality printers available to 
meet a variety of needs. And all 
from a single manufacturer. . . 
^/ FUJITSU. From dependable dot 
matrix printing to ad- 
vanced thermal print- 
ing, you can't buy more 
performance for the price. 
Quality That's Built In: Fujitsu qual- 
ity is built into every printer manufac- 
tured. That quality translates into 
high reliability (MTBF), versatile print 
capability low maintenance, low noise, 
and high speeds. And Fujitsu printers are serviced by TRW, a nationwide service organization. 
A Complete Printer Line: Fujitsu's dot matrix printer, with its 24 
wire head, offers letter quality printing at 80 CPS. With its 4~ 

ability to also produce draft quality, correspondence quality and | 
high resolution graphics, the Fujitsu DPL24 leads dot matrix " 

technology. 

In daisy technology, 
Fujitsu's SP830 is the fast- 
est letter quality printer 
in the industry at 80 CPS. 
Fujitsu's SP.320 daisy- 
wheel printer also pro- 
vides cost effective letter 
quality printing at medium speeds. 
Fujitsu offers thermal printing with its TTP16 
printer. The low-cost printer accepts a wide variety 
of papers and operates quietly at less than 50 dBA. 

Call Us Today: Contact Fujitsu America, 
Inc., at 408-946-8777 for the printer 
distributor nearest you. 

DISTRIBUTORS: Alyoram Computer Products (415) 969-4533, 

(714)535-3630, (206)453-1136, (916) 481-3466; Alien Edwards 

Associates, Inc. (213) 328-9770, (714) 552-7850, (619) 273-4771, 

(805) 498-5413; Four Corners Technology (602) 998-4440, (505) 

821-5185; Gentry Associates, Inc. (305)859-7450, (305) 791- 

8405, (813) 886-0720, (404) 998-2828, (504)367-3975, (205) 

534-9771, (919) 227-3636, (803) 772-6786, (901) 683-8072, 

(615) 584-0281 ; Hopkins Associates, Inc. (215)828-7191, (201) 

273-2774; Inland Associates, Inc. (913) 764-7977, (612)343- 

3123, (314)391-6901; Logon, Inc. (201)646-9222; Lowry 

Computer Products, Inc. "(313) 229-7200, (216) 398-9200, (614) 451-7494, (513) 435-7684, (616) 363-9839, (412) 922-5110, (502) 561-5629; 

MESA Technology Corp. (301)948-4350; NACO Electronics Corp. (315) 699-2651, (518) 899-6246, (716) 233-4490; Peak Distributors, Inc., 

(An affiliate of DyteclCentral) (312) 394-3380, (414) 784-9686, (317) 247-1316, (319) 363-9377; IV- Distributing, Inc. (801) 298-2631, 

(303) 455-5360; S&S Electronics, (617) 458-4100, (802) 658-0000, (203) 878-6800, (800) 243-2776; USD ATA (214) 680-9700, (512) 454-3579, 

(713) 681-0200, (918) 622-8740. 



Peripheral Products Division 








Quality Lives 




Circle 132 on inquiry card. 



LILITH 



The high performance 
of Lilith 

and the flexibility 
of its user 
interface combine 
to make it 
an effective 
workstation. 



fact that the average Lilith instruction is 
only 10 bits long— that means that the 
IFU fetches an average of 6.4 instruc- 
tions each time it is activated. 

The Barrel Shifter 

Although the full power of the Lilith's 
processor is available for screen 
manipulation, moving a portion of the 
screen image is particularly difficult. 
Imagine the image of a tiny plane "fly- 
ing" across the screen. Internally, the 
movement of the plane's image is ac- 
tually accomplished by moving the bits 
that represent the plane. Obviously, 
these bits must be moved as a unit one 
bit at a time if the plane's movement is 
to be smooth (that is, it should appear 
to move one pixel with each refresh of 
the screen). 

Moving an irregularly organized 
group of bits (that is. not full words or 
even bytes) by irregular units (bits rather 
than words or bytes) is not straightfor- 
ward. Assume that our plane's image is 
32 bits long and it starts out fitting nice- 



ly into a column of words. The first 
move puts I bit into the next word and 
shifts the original two words over by 1 
bit and leaves I bit of the first word 
empty. Anyone who has attempted to 
program animation in assembly lan- 
guage knows how much shifting and 
masking this involves. 

The Lilith employs a special shifting 
device called a barrel shifter to ac- 
complish the shifting and masking 
needed for image movement on the 
screen. A barrel shifter rotates the bits 
in a given word by one to 1 5 positions 
in a single cycle. This allows very fast 
shifting and masking and. consequent- 
ly, movement of graphic data in mem- 
ory. The Lilith can easily move large por- 
tions of its screen in real time— ignoring 
byte and word boundaries. 

The use of the barrel shifter allows the 
Lilith's processor to accomplish com- 
plex shifting and masking in a single 
cycle. This permits the impressive 
graphic performance the Lilith is noted 
for and. incidentally, makes operations 
on Modula-2's type BITSET very fast. 
The use of the barrel shifter is another 
example of the hardware implementa- 
tion of the Lilith engine enhancing the 
performance of the M-machine archi- 
tecture. 

Lilith as a Workstation 

The high performance of the Lilith com- 
puter and the flexibility of its user in- 
terface make it an effective workstation. 
When developing programs on the 
Lilith. the user may take advantage of 
program-development and diagnostic 
programs that are specifically designed 
to make the most of the Lilith's process- 



ing power and user interface. The Lilith 
environment also includes software 
tools that may be incorporated into user 
programs (such as multifont character 
displays; bit-map operations; and win- 
dow, mouse, and cursor manipulation). 
The Lilith processor is also micropro 
grammable. meaning that special in- 
structions can be added to the instruc- 
tion set of Lilith to speed up sophisti- 
cated tasks. Lilith has been successful- 
ly microprogrammed to draw vectors on 
the display, increase the precision of 
floating-point operations, and control a 
laser printer. Such micro-level flexibili- 
ty in a processing engine can be in- 
valuable. 

Conclusion 

The Lilith is a specialized engine de- 
signed specifically to execute Modula-2 
programs. It achieves exceptional per- 
formance through a combination of ef- 
ficient architecture tailored to Modula-2 
and an efficient hardware implementa- 
tion. Although Lilith is a specialized pro- 
cessing engine, compared to other ma- 
chines in its price class, it is a highly flex- 
ible engine for Modula-2 program- 
ming. ■ 

REFERENCES 

1. Bulman. D. M. "Stack Computers: An Intro- 
duction." Computer. IEEE Computer Society, May 
1977, page 18. 

2. Thacker. C. P., etal. Alto: A Personal Computer. 
Palo Alto. CA: Xerox Corporation, 1979, page 
14. 

3. Jacobi, Christian. Code Generation and the Lilith 
Architecture. Diss ETH No. 7195. Zurich: Swiss 
Federal Institute of Technology. 1982. 

4. Wirth, Niklaus. The Personal Computer Lilith. 
Report 40. Zurich: Swiss Federal Institute of 
Technology, 1981. 



DATA TRANSFER PROBLEMS? 

REFORMATTER® Diskette Conversion Software 




Avoids serial communication protocols. 
Needs only one system to transfer data. 
Converts source code and data files. 
Allows 2-way transfer. 
Quick, reliable, and inexpensive. 




VERSIONS 



Runs On 

CP/M 

CP/M 

CP/M-86 

CROMIX 

DEC RT-11 

MS-DOS 

TRSDOS II*- 

TRSDOS 



Reads/Writes 



-►IBM 3740 
-►DEC RT-11 
-►IBM 3740 
-►DEC RT-11 
-►CP/M 
-►IBM 3740 

►CP/M 

-DEC RT-11 



PRICE: 



S350 *S249 



Requires 8" floppy drive. 
(415)324-9114 TWX: 910-370-7457 
467 Hamilton Avenue, Suite 2, Palo Alto, Calif. 94301 



192 B YTE • AUGUST 1984 



Circle 215 on inquiry card. 



Riscal-2 



PROVING GROUNDS 



Pascal-2 Performs in Parametric Testing for VLSI Technology 
Group at Jet Propuision Laboratory. 




the nature of the instrumen- 
tation we use and the speed at 
which we need to acquire data 
created the need for a compiler that 
would let us push our PDP-11 to 
thelimit.M 

Glenn Jennings 

Senior Engineer, Programming 
Jet Propulsion Laboratory 
Pasadena, California 




Circle 238 on inquiry card 



Glenn Jennings' parametric testing 
software is used in a quality assurance 
program for the VLSI circuits in deep space 
exploration spacecraft. Pascal-2 permits 
ease and speed of programming in acquiring 
data from the tested VLSI circuits. 

Why is Pascal-2 the group's choice in 
software? "This highly optimizing compiler 
produces code which is very efficient, 
using our RSX operating system to the 
maximum. Pascal-2 allows us to easily use 
memory overlays for writing our very large 
programs. It has a very clean interface to 
assembly level language modules. " 

To see how Pascal-2 meets your applica- 
tion needs, call 

1-800-874-8501. 



Oregon 
Software 

2340 S. W. Canyon Road 
Portland, Oregon 97201 
(503) 226-7760 

The Pascal-2 system is available on Digital's POP, VAX and 
Professional Computer systems running on the RSTS, RT-11, RSX 
and Unix Operating Systems. 

Digital, PDP, VAX. RSTS. RT-11-and RSX are trademarks of Digital Equipment Corporation. Unix is a 
trademark oh Bell Laboratories. Pascal-2 is a trademark of Oregon Software. 




mPn 



Now you can buy flexible 
disks with a five year 
warranty from Control Data. 

A lot of companies make 
diskettes. But Control Data 
also makes disk drives. In fact, 
we're the leading indepen- 
dent supplier of disk drives 
to computer manufacturers. 

Now weVe put our exper- 
tise into a truly superior line: 
StorageMaster diskettes from 
Control Data. 

You can choose from a com- 



plete line of premium 8" and 
5.25" diskettes in single or 
double densities, single or 
double-sided. And each dis- 
kette is 100% certified and 
backed by a 5 year warranty. 
So you can depend on them 
to perform for years to come. 

Look for StorageMaster 
diskettes at your local com- 
puter store or ask for them 
from your computer supplies 
distributor. 



Or give us a call toll-free at 
1-800/328-6207 (in Minnesota 
call 612/853-8065) and 
we'll tell you where to find 
StorageMaster diskettes. 




CONTROL 
DATA 



194 BYTE • AUGUST 1984 



Circle 81 on inquiry card. 



MODULA-2 



AN 
INTRODUCTION 
TO MODULA-2 



by Robert J. Paul 

This new language is 
a superset of Pascal 



IN THIS ARTICLE we'll take a look at the 
differences in control structure, expres- 
sions, and general syntax between 
Pascal and Modula-2. First, however. I 
should mention three fundamental 
philosophical differences between the 
two languages. 

First, the introduction of the module 
concept in Modula-2 extends the 
"separate compilation" features that 
various Pascal implementations have 
often added. You can build a library of 
modules that provide standard routines 
to perform common operations. You 
can also use the modules to create hid- 
den data structures and to isolate a pro- 
gram from the specific data structures 
used. 

Second, Modula-2 replaces the Pascal 
I/O (input/output) routines read and 
write with the standard module TTIO, 
a logical change considering the 
module concept. This module provides 
the primitive routines Read and Write, 
which function one character at a time. 
Another module. InOut, provides more 
sophisticated routines, including Read- 
Int, to read an integer in character form; 
Write Int and WriteCard, to write in- 
tegers and cardinals (unsigned integers) 
in decimal notation; WriteOct and 



WriteHex, to write integers or cardinals 
in octal and hexadecimal notation, re- 
spectively; and WriteString. to write 
character strings. 

The third major change from Pascal 
is the addition of concurrency primitives 
to Modula-2, which lets you write con- 
current (multitasking) programs in a 
standard and portable way. Concurren- 
cy can make certain programming tasks 
easier, and some applications require it. 
Concurrent variations of many lan- 
guages (including Pascal) have been 
developed, but Modula-2 is a standard 
language in which to write concurrent 
programs. 

Comparison to Pascal 

You can use several criteria to distin- 
guish one programming language from 
another; program structure, control 
structure, expressions, and data typing 
facilities. One language is clearly 
superior to another, for example, if it 
ranks higher in all four areas; mixed 
results, on the other hand, highlight the 

Robert 1. Paul is a senior software engineer with 
Turning Point Software (1 1A Main St., Water- 
town, MA 02 1 72). He has a B.S. in computer 
science from Rensselaer Polytechnic Institute. 



relative strengths and weaknesses of 
each one. 

Of course, these criteria refer to the 
language definition alone. Its implemen- 
tation on a specific machine determines 
the time required to compile and ex- 
ecute a program. In general, competent 
implementations of either Pascal or 
Modula-2 should result in almost iden- 
tical compile and run times. 

Program Structure 
and Procedures 

The main routine in a Modula-2 pro- 
gram is called the "main module." It con- 
tains all the sections of a Pascal pro- 
gram as well as features that provide for 
external subroutines (in other modules). 
Listing 1 shows a schematic of the main 
module. 

The bulk of any Pascal or Modula-2 
program is a collection of procedures 
or subprograms that perform specific 
functions. Pascal distinguishes between 
a function, which returns a value, and 
a procedure, which does not. Modula-2 
offers the same facilities, although the 
distinction between procedures and 
functions blurs because the keyword 
PROCEDURE introduces both of them. 

[continued] 

AUGUST 1984 -BYTE 195 



INTRODUCTION 



Listing I: A schematic representation of the main 


module. The programmer provides 


the names in lowercase: the words in uppercase are 


Modula-2 keywords. 


MODULE modulename; 




FROM librarymodule IMPORT libraryroutinel. libraryroutine2: 


FROM librarymodule2 IMPORT libraryroutine3; 




CONST 


(• constant declarations go here *) 


charcount = 80 * 24; 


(* sample constant *) 


TYPE 


(* type declarations go here *) 


typel = (apple, pear, orange): 


(• enumeration type *) 


type2 = | 1960 . . 1990 I; 


(* subrange type *) 


returntype = CARDINAL; 


(* unsigned integer *) 


VAR 


(* variable declarations go here •) 


foo: returntype; 


(* declare 1 variable *) 


PROCEDURE procedure! (parml. parm2: typel; VAR parm3: type2); 


VAR 


(* local variables declared here *) 


BEGIN 


(• body of procedure goes here *) 


END procedurel: 




PROCEDURE function! (parml: typel) : returntype: 




VAR 


(• local variables declared here *) 


BEGIN 


(* body of function goes here •) 


C to exit with value use the return statement.,. ') 


RETURN integerexpression: 




END function 1; 




BEGIN 


(• beginning of main procedure *) 




(* body of main program goes here *) 


procedure 1 (apple.orange, 1 967); 




foo := function! (pear): 




END modulename. 





Listing 2: Variable-size array as a procedure parameter of the function Count- 


Them. This example also illustrates the output routines 


required to 


write text strings 


and cardinals and to terminate an output line. 






MODULE sampler. 






FROM WriteStrings IMPORT WriteString. WriteLn; 






FROM TTIO IMPORT WriteCardinal: 






CONST 






smallsize = 20: 


r 


small sized array *) 


largesize = 35; 


( 


* large sized array *) 


VAR 






i: CARDINAL; 






smallarray: ARRAY |0 . . smallsize] OF CARDINAL; 






largearray: ARRAY |0 . . largesizel OF CARDINAL; 






l 
Procedure; CountThem 






Parameters: one variable size array of CARDINALS (unsigned integers) 




Returns: CARDINAL, sum of the elements in the array 






) 
PROCEDURE CountThem( vector: ARRAY OF CARDINAL ) : 


CARDINAL; 




VAR 






i, sum: CARDINAL; 






BEGIN 






sum := 0; 




(* initialize sum *) 


FOR i := TO HlGH(vector) DO 




* for all elements *) 


sum := sum + vector | i I; 




(* add to sum *) 


END; 




C end of FOR *) 


RETURN sum; 


(< 


and return value *) 


END CountThem; 






I 
Main Program starts here 






Initialize two arrays and call the function CountThem 






once with each of the two arrays. 






) 
BEGIN C main program *) 






FOR i := TO smallsize DO 


(* initialize small array *) 


smallarray |i| := i; 

1 




[continued) 



The syntax of a procedure definition is 

PROCEDURE 

name (<fp>[;<fp>|) 

|: return-type|; 
[CONST (* optional constant 

declarations *)| 
[TYPE (* optional type 

declarations *)| 
|VAR (* optional variable 

declarations *)| 
BEGIN 

statement-sequence 
END name; 

Above. <fp> is shorthand notation for 
a formal parameter section (an identifier 
list followed by a colon and a type 
name). 

The two methods of passing param- 
eters in Pascal are the same in 
Modula-2 . "Call by value" means that a 
copy of the parameter value is sent to 
the subprogram. This makes it impos- 
sible for the subprogram to modify the 
calling program's copy of the parameter. 
In the alternative method, "call by 
reference." the subprogram receives the 
parameter's address, meaning that 
changes made to its value by the sub- 
program also affect its value in the call- 
ing program. You can request "call by 
reference" in Modula-2 by placing the 
keyword VAR (the same as in Pascal) 
before the formal parameter section. 
The default is "call by value." 

Modula-2 can also pass variable-size 
arrays to procedures; Pascal cannot. If 
you substitute ARRAY OF typename for 
the type name in the formal parameter 
section, you can pass an array of the 
specified type to the procedure. The 
special function HIGH(arrayname) 
returns the upper bound of the array 
passed (see listing 2). 

Statements and Control 
Structures 

The heart of any language is how you 
control the program-execution flow. 
Modula-2 provides all the familiar 
Pascal control structures and a few 
more to make special programming cir- 
cumstances easier to handle. 

One important change from Pascal is 
that every control structure in Modula-2 
has an explicit termination, usually an 
END statement. This prevents the am- 
biguity possible in the following Pascal 
program sequence: 

[continued) 



196 BYTE • AUGUST 1984 






^<v 



"•c 



"?£•<& 



t 



^ 



WHY PAY MORE 
COMPARE THESE PRICES 

MC-P APPLICATIONS 

Brings Software & Hardware 
At Unbeatable Prices 






SOFTWARE 



LIST OUR 
APPLIED SOFTWARE TECHNOLOGY 

VersaForm $389 $269 

ASHTON TATE 

dBASE \\ 700 295 

Friday 295 175 

BPI ACCOUNTING SYSTEMS 

GL/AP/AR (Each) 395 285 

CONTINENTAL 

Property Management 495 327 

FOX & GELLER Quick Code.. 295 165 

Quick Code DutilPack — 185 

FUNK SOFTWARE Sideways 60 45 

HOWARD SOFT 

Real Estate Analyzer II Apple 199 135 

HUMAN SOFT DB Plus 89 

LATTICE C Compiler 500 325 

LIFETREE Volkswriter Deluxe 175 

LIVING VIDEOTEXT 

Think Tank 195 125 

METASOFT Benchmark 499 295 

MICROSTUFF Crosstalk 195 129 

MICROPRO Spell Star 250 105 

WordStar w/Applicard 495 349 

Mail Merge 250 155 

Super Sort 250 135 

CalcStar 145 8'6 

Info Star , 495 320 

Word Star Pro 695 369 

MICRORIM 

R Base 4000 495 325 

MICROSOFT 

Flight Simulator (IBM) 50 35 

Flight Simulator (Apple) Sublogic 29 

MultiPlan 250 129 

Multitool Word W/Mouse 475 325 

Pascal Compiler 350 245 

C Compiler 500 345 

PBL CORPORATION 

Personal Investor 145 98 

PETER NORTON 

Peter Norton Utility „ 80 55 

PEACHTREE 

Peach Pack (AR, AP, GL) 595 249 

ROSESOFT Prokey 95 

SOFTWARE DIMENSIONS 
Accounting Plus 

GL, AR, AP, PR, INV - Each 495 295 

SOFTWARE PRODUCTS INTERNATIONAL 

Open Access 575 369 

SATELLITE SOFTWARE 

Word Perfect 495 285 

SOFTWARE PUBLISHING 
Pfs: File 

Apple 125 79 

IBM 140 79 

Pfs: Report 125 79 

SOFTWORD SYSTEM 

Multimate 495 275 

SORCIM SuperCalc ll 295 185 

SuperCalc III 395 275 

STATE OF THE ART (FM Series) 

GL/AP/AR/INV/PR-Each 595 375 

SYNPSE File Manager 150 97 

WOLF Move-It 199 125 

VISICORP 

Visicalc IV 250 175 

Visifile (Apple) 250 187 

Visifile (IBM) 300 195 

VisiSchedule 300 195 

VisiWord w/free VisiSpell 375 285 

Visitrend/Plot 300 195 



Monthly Specials 

Tandon TM 100-2 

$205 00 
AST SIX PAK (64K) . 

$265oo 

AMDEK 31 0A 
$15goo 

MULTIMATE 
» $275°° 

IRMA 3270 

*1045 00 

OPEN ACCESS 

*369 00 

LOTUS 1-2-3 
$29900 



Value Paks 

PLANTRONIC + 

PRINCETON GRAPHIC 

$869 00 

R:BASE 4000 + 

MULTITOOL WORD 

W/MOUSE 

$585 00 

LOTUS 1-2-3 + 

HERCULES CARD 

$669°° 



ORDER STATUS & 

TECHNICAL 

SUPPORT — CALL 

(408) 293-3360 



Call for Hardware & 

Software Prices Not 

Listed This Ad 



Used PC's & Apples 
Bought & Sold 



MC-P APPLICATIONS, Inc. 

1630 Oakland Road, Suite A114 
San Jose, CA 95131, USA Phone (408) 293-3360 
Telex: 821396 MCPA UD 
HOURS: 8:30 a.m. to 5:30 p.m. — Mon. - Sat. 

Call for Prices in Australia at 02-929-8468 



HARDWARE 



LIST OUR 
HAYES MICROCOMPUTER PRODUCTS 

Hayes 300 Baud $289 $209 

Smart Modem 1200B __ 599 445 

Smart Modem 1200 699 495 

ADVANCED LOGIC SYSTEM (Apple II) 

Z-Card.. 169 115 

Printer Mate (Parallel) 99 55 

CP/M Card (W/ CP/M 3.0) 399 315 

MPC PERIPHERALS (Apple) 

Parallel Interface Card 

(w/Cable) ...„ 90 68 

MOUSE SYSTEMS 

PC Mouse w/Software 295 219 

NOVATION 

Apple - Cat II.. 389 275 

212 Auto Cat 695 595 

Smart-Cat 103/121.. 595 445 

Smart-Cat 103 249 187 

PEGASUS 

Hard Disk 10 mgb (internal) 1195 

PERSONAL COMPUTER PRODUCTS 

Applicard 6 Mhz 375 280 

KRAFT & TG Joystick 

IBM 70 35 

Apple 65 35 

STB Color Graphix Card 375 

TALL GRASS Hard Disk 10 mgb ... 3495 2995 

TEAC Half Height 175 

VERBATIM DISC 

S/S D/D 10 Pk.... - 49 24 

D/S D/D 10 Pk 71 34 

AMDEK MAI BOARD 599 435 

ELECTRONICS PROTECTION DEVICES 

Orange 140 94 

Peach , 98 64 

QUADRAM 

Quadboard II 64K 395 285 

Quadcolor I _ 295 219 

Quadlink 680 525 

MEMORY CHIPSET 

(64K/9 chips)... 95 45 

PRINTERS 

NEC 3550 2299 1799 

Qume 1140 Plus 1685 1349 

MONITORS 

Amdek12"310A 230 169 

Princeton RGB Hi Res 795 485 

ORCHID TECHNOLOGY 

Blossom 64K 395 Pfifl 



International 

Dealer Inquiries 

Welcomed 



Circle 1 94 on inquiry card. 



TERMS: All prices subject to change. Cashiers check/MO/ 
Bank Transfer. Allow time for company or personal checks to 
clear. Prices reflect cash prepaid discount. VISA/MASTER 
CARD/COD/PO's =3%. California residents add sales tax. 
SHIPPING: $4 per item for UPS surface ($8 for Blue Label); 
Monitors $20, Printers $25, within continental USA. 



INTRODUCTION 



END; 


(* end of FOR •) 


FOR i := TO largesize DO 


(* initialize large array *) 


largearraylil := i; 




END; 


(• end of FOR •) 


WriteStringCThe sum of the numbers to '); 




WriteCardinaK smallsize, 5 ); 




WriteStringC is '); 




WriteCardinaK CountThem(smallarray). 5 ); 




WriteLn; 




WriteStringCThe sum of the numbers to '): 




WriteCardinaK largesize, 5 ); 




WriteStringC is '); 




WriteCardinaK CountThem(largearray), 5 ); 




WriteLn; 




END samplel. 





IF (oregano IN recipe|I|) 
THEN 
IF (thyme IN recipe|l|) 
THEN writelnfUse oregano 
and thyme') 
ELSE 
writelnfNo oregano'); 

Although the indentation implies that 
the first message should print if the 
recipe specifies both oregano and 
thyme and the second message if it 
does not specify oregano. this is not 
how the program executes. In fact, the 
program matches the ELSE clause with 
the most recent IF statement, so the 
second message prints if the recipe 
does have oregano but does not have 
thyme. 

Modula-2 smooths out this Pascal 
problem and a few other rough edges. 
The basic control structure needed to 
provide conditional execution, the IF- 
THEN-ELSE statement, is the best ex- 
ample of this improvement. 

IF expression 
THEN statement sequence 
|ELSIF expression 
THEN statement sequence] 
| ELSE statement sequencel 
END 

You can repeat the ELSIF clause as 
many times as you wish, providing for 
a number of mutually exclusive cases. 
When the program encounters the ex- 
pression, it can execute only one of the 
statement sequences; if none of the ex- 
pressions is true, then the program ex- 
ecutes the ELSE clause. You can write 
the Pascal oregano example in 
Modula-2 as 

IF (oregano IN recipe|l|) 
THEN 



IF (thyme IN recipe|l|) 
THEN 
WriteStringfUse oregano 
and thyme') 
END 
ELSE WriteStringfNo oregano'); 
END 

The placement of the END statements 
tells the compiler which IF statement 
goes with the ELSE clause. 

The CASE statement provides a way 
to select between mutually exclusive 
conditions. 

CASE expression OF 
label I [Jabel2, . . ,| 

: statement sequence 
| label3 |,label4, . . .| 

: statement sequence 
[ELSE statement sequencel 
END 

The expression is evaluated and com- 
pared to the labels; if the program finds 
a match, it executes the corresponding 
statement sequence. If it does not find 
a match, the program executes the 
ELSE clause. You can place as many 
labels as you wish before each state- 
ment sequence, and you can specify as 
many statement sequences as you 
need. The type of the case expression 
must be INTEGER, CARDINAL, CHAR. 
BOOLEAN, or an enumeration or sub- 
range type, and you cannot repeat 
labels. For example, the following pro- 
gram fragment determines what type of 
character the variable ch contains. 

CASE ch OF 
'0' . . V 
; WriteStringf'Digit") 
| 'a' . . z' 

: WriteStringC'Lowercase 
letter") 



I A . . T 

: WriteString("Uppercase 
letter") 
I V. '-' '**. 7' 

: WriteString("Operator") 
ELSE WriteString("Other 

punctuation or symbols") 
END 

The next basic type of control flow is 
the loop. Modula-2 provides three loop- 
control statements like Pascal's and one 
new statement that provides a more 
general form of loop control. 

The FOR statement sets a control vari- 
able to some initial value and then ex- 
ecutes a statement sequence, varying 
the control variable through the pro- 
gression of values specified in the FOR 
statement. 

FOR var := exprl TO expr2 
| BY expr3 | 
DO statement sequence 
END 

This initializes the simple variable var 
to the value of the expression exprl . If 
the variable is not greater than the sec- 
ond expression. expr2. the program ex- 
ecutes the statement sequence and in- 
crements the variable by the value of 
the third expression, expr3. This pro- 
cess repeats itself until var exceeds the 
limit in expr2. If you omit expr3. the 
default increment is one. If the incre- 
ment is negative, the repetition con- 
tinues until var is less than expr2. Thus, 
Modula-2 offers greater flexibility 
through the use of expr3 while Pascal 
requires the increment to be either 1 or 
-I. 

In Modula-2 as in Pascal, the WHILE 
and REPEAT statements provide in- 
definite looping. These statements have 
the following forms: 

WHILE expression 

DO statement sequence 
END 

and 

REPEAT 

statement sequence 
UNTIL expression 

The WHILE statement evaluates ex- 
pression, and, if it is logically true, ex- 
ecutes the statement sequence. The 
program repeats this process until ex- 
pression is logically false. The REPEAT 

[continued) 



198 BYTE* AUGUST 1984 



Only from Topaz, . . 

Powermaker 



lcro 



Uninterruptible, computer-grade power 
— at half the cost 



TM*Z 





It's in a class by itself. 

For about half the cost of other Unin- 
terruptible Power Systems, you can 
now get the same degree of protection 
with our Powermaker Micro UPS. This 
remarkable new system eliminates com- 
puter problems caused by blackouts, 
brownouts, voltage sags and power-line 
noise. 

Providing up to 75 minutes of con- 
tinuous computer-grade power, our 
Powermaker Micro UPS is compatible 
with microcomputers and PC's. It's 
fully automatic, maintenance- free, 
portable and compact. It fits neatly 
alongside or under your desk or work- 
station. And because you can't always 
tell when you've lost primary power, 
our little UPS even features an audible 
line-loss alarm. 

But best of all is the price. The Power- 
maker Micro UPS is priced right and is 
ready for immediate shipment. Find out 
more about our Powermaker Micro UPS. 
Call us at (619) 279-0831, or contact 
your local Square D distributor. 



TOPAZ 

Excellence in Computer Power 



SPURRED COMPANY 



Circle 308 on inquiry card. 




AUGUST 1984 • BYTE 199 



INTRODUCTION 



Listing 3: Examples of the LOOP construct The first example shows proper use of 
the LOOP statement: the second, poor use; and the third, the appropriate corrections 
to the second. 

r 

The following procedure processes keystrokes until it reads the character X'. If it reads the com- 
mand A, B', or 'C, the procedure calls the function function 1 , function!, or function^, respectively. These 
functions return a positive integer return code. This routine also demonstrates the proper use of 
the LOOP and CASE constructs. Note that this logic is virtually impossible to duplicate in Pascal 
without the use of a GOTO statement. 

•) 
PROCEDURE ProcessCommand( VAR cmd: CHAR ) : CARDINAL; 
VAR 

re: CARDINAL; 
BEGIN 
LOOP 
Read(cmd); (• read one character •) 

CASE cmd OF 

X : EXIT; (* get out of LOOP stmt *) 

A : re := function 10; 
'B' : re ;= function2(); 
"C : re := function3(): 
ELSE re : = 0: 
END; 

IF (re # 0) THEN RETURN re; 
END; 
END: 



|* end of CASE 



C 



(• end Of IF •) 
end of LOOP *) 



(* 

If you are here, you must have executed the EXIT statement above 
*) 

WriteStringCNormal termination'); 

RETURN 0; 
END ProcessCommand; 

r 

The following procedure illustrates a questionable use of the LOOP construct. It is improper because 
the WHILE statement is a more informative way of expressing the logic This procedure reads an 
input file and looks for a match with an already initialized global array. MasterArray. The search 
continues until either a match or an end-of-data character, '©', is found. If it finds a match, the 
procedure returns the position in the array. If no match is found, it returns a zero. 
•) 
PROCEDURE SearchList ( VAR token: CHAR ) : CARDINAL; 
VAR 

index: CARDINAL: 
BEGIN 
LOOP 
Read (token); 
index := 1: 
IF (token = Master Array I index |) 

THEN RETURN index; 
END; (• end of IF •) 

index := index + I; 
IF (index > Maxlndex) 
THEN 
Read(token); 
index := 1; 
IF (token = '©') 

THEN RETURN 0; 
END; (• end of nested IF •) 

END; r end Of outer IF *) 

END; r end of LOOP •) 

END SearchList; 

r 

The better procedure to handle this is . . . 



PROCEDURE SearchList! VAR token: CHAR ) 
VAR 

index: CARDINAL: 
BEGIN 

index := 1; 

Read(token); 

WHILE (token # '©') DO 



CARDINAL; 



[continued) 



A new looping 
statement, appropriately 
called LOOP, provides 
an infinite iteration. 



statement on the other hand, executes 
the statement sequence first and then 
evaluates expression. If expression is 
logically false, the process repeats until 
it is true. The major difference between 
the two loops is that a WHILE statement 
executes its statement sequence zero or 
rnore times, while the REPEAT state- 
ment executes its statement sequence 
at least once. Note that the REPEAT 
statement does not end with the END 
clause but rather with the UNTIL clause. 
The new looping statement is called, 
strangely enough, LOOP. The syntax is 
simply 

LOOP statement sequence END 

and provides for an infinite loop. There 
are two statements that can terminate 
this endless loop, EXIT and RETURN. 
The EXIT statement can appear only 
within the statement sequence of a 
LOOP statement; program execution 
continues at the first statement after the 
LOOP statement. The RETURN state- 
ment, on the other hand, terminates the 
current procedure and returns control 
to the calling procedure. If you use this 
statement in a function, an expression 
follows the RETURN statement, in- 
dicating the value to return. If RETURN 
appears in a main procedure, it ter- 
minates the program. For both good 
and bad examples of the LOOP state- 
ment, see listing 3. 

Data TVpes 

The data types available in Modula-2 
are almost identical to those of Pascal. 
The basic data types BOOLEAN. IN- 
TEGER. REAL, and CHAR from Pascal 
are all available, along with the data 
type CARDINAL, which represents an 
unsigned (positive) integer. Enumera- 
tion types, which permit the program- 
mer to name the acceptable values for 
the type, and subrange types are also 
available. Array types, which create a 
collection of identical data items, and 
record types, which create a collection 

[continued] 



200 BYTE' AUGUST 1984 



For Dealer locations, see pg. 286. 



HERE TODAY 
HERE TOMORROW 



When buying a computer, you can't limit yourself 
to just satisfying today's needs. The best value in 
a system comes from its productivity ■ . . both for 
today and tomorrow. CompuPro's System 816™ 
computer has that value. With all the power and 
capacity to handle your needs now and down 
the road. 

System 816's longevity stems from top quality 
components . . . high storage capacity . . . the flex- 
ibility to handle a large variety of applications . . . 
and the speed to get the job done fast. Upgrading 
is easy, and when it's time to expand from single to 
multi-user operation, it's as simple as plugging in 
boards and adding terminals. Your system grows as 
you grow. 

CompuPro also provides a library of the most 
popular software programs with your system and 
because it's CP/M ! based, you have more than 
3,000 other programs to choose from. 

Even our warranty is for today and tomorrow. It 
spans 365 days — and includes the additional se- 
curity of Xerox Americare™ on-site service nation- 
wide for designated systems.* 



What's more, CompuPro is one company you 
can count on to be around tomorrow. For more than 
ten years we've been setting industry standards, 
increasing productivity and solving problems. 

For a free copy of our business computer 
buyer's primer, and the location of the Full Service 
CompuPro System Center nearest you, call (415) 
7860909 ext. 206. 

CompuPro's System 816. The computer that's 
just as essential tomorrow as it is today. 



ompuPro 



A GODBOUT COMPANY 

3506 Breakwater Court, Hayward, CA 94545 

'Available from Full Service CompuPro System Centers and participating 

retailers only. 

System 816 and The Essential Computer are trademarks of CompuPro. 

CP/M is a registered trademark of Digital Research Inc. Americare is a 

trademark of Xerox Corporation. 

System 816 front panel design shown is available from Full Service 

CompuPro System Centers only. ©1984 CompuPro 



The Essential Computer 



~SYSTEM aMZl 


m. 





\ 








- 


t ; 


■■■■mi 




-p»- ■■■■mill 


i 


■ 


II 


HI 




mi 


■ 








a 







WHILE BALANCING THE BOOKS. 



llMi* llloM '.OPlll*. 



voikl t h'tMt Sv'.tcnt'. At i o 



im.' m»IIi\ .uc- su id h in IimIuu 



imiu'v.u ith impiot '(vlcnltvl f.i'. 
»ii;ill poptil.n inu ro< oinputi'o. 



liftnV lielit rtltulC 



No otllt'l .Uu 

i lit ut i'i'U .t'Ut'i 



>lh\ .no lino r. *.o t ompU'to \\ ill t 
Ai i omit*. Koi nvable An onnt-. 



.■il A-.-.i-l-. 



ivtut sheets vvtu'u processors and ^raprucs sonvvare. 
.miiuv, \ou the tuvni \ ot a perfect software tit. 
I lu 1 i.k t is ( >pen S\ Menis meeN tin 1 needs ot today s 
tall hii'.un"^ so completely it's become one ot the Ivst 
llinc, lines ot .k'conntuu; sottwaio on tin 1 market. More 
.in 300 000 aeeonntnu', piwlikts ai'C providing compro- 
'ibi\ e .kcoitntnu; solutions tor businesses throughout 
e world \o\\ tluts eomtortimv i all Open Systems 
•Jit now AikU;et voui nuiul ott the books. 

For the dealei nearest von call t-S00-328-227h 



inventory 






Accounts Receivable 






U«a 



feZ*-**-* 



Mi 



tf£3t 



flCCSt 



X- 



OPEN SYSTEMS - 430 OAK GROVE, MINNEAPC 



35403 • A UGCEL Company 



<■■££$***• 






Circle 340 on inquiry card. 



INTRODUCTION 



IF (token = MasterArrayl index )) 




THEN RETURN index; 




END; 


(* end of IF •) 


index := index + 1; 




IF (index > Maxlndex) 




THEN 




Read(token); 




index := 1; 




END; 


(* end of IF •] 


END; 


(* end of WHILE *) 


RETURN 0; 




END SearchList; 





Listing 4: Examples of type and variable declarations and their uses. The three 
sections give several type definitions, variable declarations using the type definitions, 
and some program fragments that manipulate the variables. 



(* sample module header *) 



MODULE sample2; 

TYPE 
C 

Declare an enumeration type Color with 5 possible values. 
*) 

Color = (yellow, red, green, blue, purple); 

r 

Declare a subrange type Index that can take on values between I and 80. inclusively. 



Index 



I ..80 |: 



C 

Declare an array type Cardlmage to be an array of 80 characters, identified by indexes of 1 to 80. 
•) 
Cardlmage = ARRAY Index OF CHAR; 

r 

Declare a record type Name to be a last name, a first name, and a middle initial. 
*) 
NameType = RECORD 
last: ARRAY |1 . . 20] OF CHAR: 
first: ARRAY [I . . 10] OF CHAR; 
middle: CHAR; 
END: 

c 

Declare a record type Person to be a collection of a name, city, state, zipcode, and age. Note that 
you must store the zip code as characters, not as integers or cardinals, because a 16-bit computer 
only allows integers up to 32767 and cardinals to 65535. 
*) 
Person = RECORD 

name: NameType; 

city: ARRAY |1 . . 30] OF CHAR: 

state: ARRAY [I . . 2| OF CHAR; 

zipcode: ARRAY [1 . . 51 OF CHAR; 

age: CARDINAL: 
END; 
(* * 

Now, declare some variables using the above types 
*) 
VAR 

yes. no: BOOLEAN; 

foo, bar: INTEGER; 

temperature, height: REAL; 

ch. nextchar: CHAR; 

distance, age: CARDINAL; 

myrose, herdaisy; Color; 

i, j, k: Index: 

cardl, card2: Cardlmage; 

me, you: NameType; 

somebodyelse: Person; 
C 

This declaration creates an array with room for 50 people 
•) 



(* logical true/false ♦ 

(* signed integers * 

(* floating-point numbers * 

(* single characters * 

(* unsigned integers * 

(* can be any of 5 colors * 

(* indexes into a Cardlmage * 

(* arrays of I . . 80 chars * 

(* records for names * 

(* record for name and addr * 



[continued) 



BIG NAME, 
NO NAME 



THE BEST BUY 
YOU CAN FIND! 



$119 

| Qty. 50 

$189 

I Qty. 50 



LIFETIME WARRANTY! 



5V«"SS-DD ^ I J2) 

Qty. 50 5V4-DS-DD | Qty- 50 



ea. 
5y4"SS-DD-96TPI 



5V»"DS-DD-96TPI 



$9 14*' 

iTPI £, Qty. so 



(These are bulk packed diskettes with 
reinforced hubs and separate white Tyvec sleeves.) 

(Add $3.00 shipping per 100 diskettes. For CO. D. 
orders, add another $3.00 handling charge.) 



SPECIAL! 



^ 




Act now and you can get a special bonus: an 
Amaray Media-Mate 50 disk storage unit. Ex- 
tremely well designed with grooves for stacking. 
Normally $14.95. When ordered with 50 BIG 
NAME, NO NAME diskettes, you can get one for 
$9.99 (Shipping Included). 



J 



WELL, OUR SEARCH OF MORE THAN 
A YEAR HAS PAID OFF. 

We found a diskette that you've used a hundred 
times . . .but have never heard of. It's the one used by a 
lot of major software houses for their copy-protected 
originals... the kind of diskettes that receive a lot of 
heavy use. 

These BIG NAME, NO NAME diskettes exceed all 
ANSI and IBM standards. They are individually tested 
track by track, sector by sector and certified 100% 
error-free. 

Moreover, the company that makes them has their 
own proprietary coating formulation which results in a 
super-smooth, anti-static surface. 

In short, these are good diskettes. 

If they weren't, we wouldn't be selling them. 
LIFETIME WARRANTY! 

As with every diskette we sell, BIG NAME, NO 
NAME diskettes are covered by a LIFETIME WAR- 
RANTY by us and the manufacturer. 

If you have any problems with them at any time 
because of materials or workmanship, just call us to 
arrange a return. 

DON'T SAY NO! 

Sure; you've never heard of BIG NAME, NO 
NAME diskettes. 

But a lot of software manufacturers who use hun- 
dreds of thousands of diskettes for their copy- 
protected originals have. ..and a lot of them use BIG 
NAME, NO NAME diskettes. 

DISKETTE HEAVEN GUARANTEED! 

Order your supply of BIG NAME, NO NAME disk- 
ettes today. 

If you're not totally happy with them at the end of 
30 days, we'll give you a refund, credit or exchange. 

That's confidence. 

That's DISK WORLD!... the nice people who sell 
almost a million good diskettes a month. 
TO ORDER: 

Call DISK WORLD between 9AM-5PM, Central 
Time, Monday through Friday at: 

1-800-621-6827 



or in Illinois, at: 

1-312-944-2788 

Or write us: 

DISK WORLD!, Inc. 

Suite 4806 • 30 East Huron Street* Chicago, Illinois 60611 



DISK WORLD! 



BIG NAME, 
Homeof NO NAME 
DISKETTES 



* — Circle 237 on inquiry card. 



AUGUST 1 984 • BYTE 203 



Circle 339 on inquiry card. 



magnum 
p.c. 



800-544-4354 



GA Residents 

(404)441-3112 



4056 WETHERBURN WAY. SUITE 205. ATLANTA. GA 30092 



PRNTERS 



RITEMAN 3" TALL LIKE EPSON BUT fasterBEST PRICE 

C.ITDH LETTER QUALITY CALL 

OKIDATA ALL MODELS CALL 

NEC SPINWRITERS, P2 & P3 CALL 

EPSON MX, FX, RX CALL 

TI855 NOW IN STOCK 

TOSHIBA P1 351 &P1 340 CALL 

SILVER-REED SAVE 



DISK DRIVES 



IANUUN I Ml 00-2 CALL 

10 MEG HARD 1395 

QUADDISK 6 MEG REMOVABLE CALL 

TECMAR 5 MEG REMOVABLE CALL 

IDEA 5 MEG REMOVABLE CALL 

MICRO SCI (FOR APPLE) CALL 

QUENTIN (FOR APPLE & IBM). ..SAVE 

TALLGRASS HARD DISK WITH BACKUP CALL 

IOMEGA BERNOULLI BOX (20 MEG) CALL 

SHUGART HARD DISKS & CONTROLLERS. ..SAVE 



COMPUTERS 



EAGLE PC'S SAVE 

IBM PC YOU CONFIGURE CALL 

SANYO MBC NEW LOW PRICES 

TAVAPC MORE PC FOR LESS 



BOARDS 



QUADRAM ALL PRODUCTS CALL 

AST SIX PAC PLUS 275 

IRMA 3278 EMULATOR BEST PRICE 

HERCULES GRAPHICS CARD CALL 

TECMAR ALL PRODUCTS CALL 

IDEASSOCIATES ALL PRODUCTS CALL 

MA SYSTEMS PC PEACOCK CALL 

PERSYST 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 

QUADRAM QUADCHROME CALL 



MODEMS 



NOVATION - ACCESS 1 -2-3 w/crosstalk xvi. . CALL 

SMART CAT 300/1200 CALL 

J-CAT300 117 

APPLE-CAT 300/1200 CALL 

HAYES SMART MODEM 300/1200 212/499 

1200B CALL 

ANCHOR SIGNALMAN MARK VII/XII CALL 



SOFTWARE 



D-BASE 355 SUPERCALC 3.... 249 

WORDSTAR CALL EASYWRITER...CALL 

FRIOAY 194 MULTIPLAN CALL 

LOTUS 1-2-3 SAVE MULTIMATE....CALL 

KNOWLEDGEMAN...CALL 10 BASE CALL 



ACCESSORIES 



STANDBY POWER SYSTEMS BEST PRICE 

SWITCH BOXES PARALLELS, SERIAL SAVE 

CHIPS 64K 55 

MICROFAZER PRINT SPOOLER FROM 127 

COMPUSERVE STARTER KIT 32 



INTRODUCTION 



DISKETTES 


VERBATIM SS/DD 
DS/DD 

MAXELL SS/DD 
DS/DD 


CASE 100 


BOX 10 


180 
300 
220 
330 


24 
36 
27 
39 


AVAILIBLITY AND PRICES SUBJECT TO CHANGE 
APPROVED CORPORATE ACCOUNTS WELCOMED 



friends: ARRAY |0 . . 49| OF Person; 






BEGIN 


(* begin main program of module sample2 *) 


yes := TRUE; 




(• set yes to logical TRUE •) 


no := (NOT yes); 




(* set no to the opposite of yes *) 


foo := -32768; 


r 


signed integers have range -32768 *) 


bar := 32767; 




(•to 32767 on a 1 6-bit machine *) 


temperature := 96.8; 




(* floating point numbers have *) 


height := 6.125; 


r 


several decimal places of precision *) 


Read(ch); 




(* read a single character *) 


IF (ch = Y) 




(* do a comparison •) 


THEN nextchar := N'; 




(* and some assignments *) 


ELSE nextchar := Y'; 






END; 






distance := 65535; 




(* unsigned integers have range O •) 


age := 0; 




(*to 65535 on a 1 6-bit machine *) 


myrose := red; 




(* the color names are constants *) 


herdaisy := purple; 






IF (myrose = herdaisy) 






THEN WriteStringCWe Match!'); 






END; 






FORi := I TO 80 DO 
j := 8l-i; 
card II i | := card2| j |; 




(* can't exceed this range *) 






END; 






me.last := Paul'; 




(* note that string assignments •) 


me.first := 'Robert'; 




(* pad with nulls if necessary *) 


me.middle := T; 






somebodyelse.name := me; 




(* record assignments allowable *) 


somebodyelse.city := Watertown'; 






somebodyelse.state := 'MA'; 






somebodyelse.zipcode := 02 1 72': 






somebodyelse.age := 23; 






Because Modula-2 allows record assignments 


you can copy the entire structure above into another 


structure using one statement. In this case. 


t would appear that I am my own best friend. 


) 

friends! | ;= somebodyelse; 






END sample2. 


(* don't 


forget to end the module definition *) 



of nonidentical data items, also follow 
the Pascal precedent (see listing 4). 

Modula-2 inherits another data type, 
sets, from Pascal in a restricted form. 
The set type reflects the mathematical 
concept of a set: a collection of items 
that is not ordered— either an element 
is a set member or it's not. Pascal per- 
mits sets with many elements (the ex- 
act number depends on the implemen- 
tation); Modula-2 restricts the set size 
to the number of bits in a word, the 
basic unit of storage. On most micro- 
computers and minicomputers, the 
word size is 16 bits, so sets can have 
only 16 elements on these systems. 
Listing 5 shows the declaration and use 
of a set type. 

Modula-2 pointers provide a means of 
dynamically allocating storage. They are 
identical to the pointers available in 
Pascal. The compiler translates the stan- 
dard Modula-2 procedures NEW and 
DISPOSE into calls to routines called 
ALLOCATE and DEALLOCATE-an in- 
teresting feature. You must either import 



these procedures from the standard 
library module Storage providing the 
standard functionality, or provide your 
own version. Thus, you can tailor stor- 
age allocation and deallocation routines 
to your particular application, if that is 
appropriate. Listing 6 illustrates the 
declaration and use of pointers in 
Modula-2. 

One new data type added to Modula- 
2. the procedure type, is used to declare 
a formal parameter as a procedure. This 
allows you to pass the name of a func- 
tion or procedure as a parameter to an- 
other procedure. (Note that you cannot 
declare the passed procedure local to 
any other procedures and that it can- 
not be a standard procedure.) Listing 7 
illustrates the declaration and use of this 
facility. 

Expressions 

Expressions in Modula-2 are virtually 
identical to those in Pascal. Operands, 
the items you manipulate, can be sim- 

[continued] 



204 BYTE • AUGUST 1984 






'§:§p 






Advancing the technology of data security 

Introducing Data Sentry.™ 

Computer security so 

advanced, even Mata Hari 

couldn't hack it. 



Your most confidential 
files may be easy prey for the 
advances of an artful hacker. 

That's why Lockheed 
used its years of experience 
with high-technology systems 
to create Data Sentry. 

Protection for sensitive data 

Its own internal com- 
puter gives you the telecom- 
munications features of an 
intelligent modem. But unlike 
other modems, Data Sentry 
is smart enough to keep your 
secrets from the most persis- 
tent computer intruders. 

Data Sentry puts an 
electronic wall around both 
large and small computers. 
And because its protection is 
external to your CPU, it can 
eliminate the expense of 
internal security software. It 
blocks the inquiries of would- 
be Mata Haris with a sophis- 
ticated security sequence. 

Security for every situation 

First, Data Sentry 
requests the phone number 
of a caller desiring access to 
your computer. Then it hangs 
up the phone and searches its 
list of authorized phone num- 
bers. If the caller's number is 
authorized, Data Sentry dials 
the caller back and requests 
entry of a password. If the 
correct password isn't sup- 
plied within three tries, Data 



Sentry disconnects and will 
not return further calls from 
that phone number. 

Data Sentry also lets 
users select other lower levels 
of security if desired, includ- 
ing callback to any number 
with entry of password. And 
an option, Remote-ONf lets 
you turn your computer's 
power on and off from a 
remote terminal after secu- 
rity has been cleared. 

Versatile and confidential 

Data Sentry logs all 
attempted contacts for audit 
trails and analysis of users. 
Its security set-up is locally 
controlled by a master pass- 
word that is accessible only 
to authorized personnel. And 
its design includes high-relia- 
bility components, the latest 
LSI circuitry, plus Autodial 
300/1200 baud full-duplex 
communications, with auto 
ranging for incoming data. 

Data Sentry will deal 
with your toughest security 
problems. 

And it'll never fall for 
just a pretty face. 
For a list of your nearest 
Data Sentry distributors, 
call toll-free 1-800-443-0100, 
Ext. 471. Or write: 
Lockheed GETEX, 
Suite 945, 1100 Circle 75 
Parkway, Atlanta, 
Georgia 30339. 




^Lockheed-GETEX 



Leadership in Technology 

Circle 177 on inquiry card. 



Circle 328 on inquiry card 



Your Key To 
Microcomputer Software! 




More 

software 

for more 

computers 

...and more. 

Whatever your software needs, all 
you need to know is Westico. We 
have hundreds of business and 
professional software programs 
in formats to fit more than 120 
microcomputers, including IBM 
PC, MS DOSand CP/M-compatible 
systems. Our large inventory means 
you get the software you want, 
when you want it. Plus, our after 
sales service is designed to keep 
you smiling. Westico helps you get 
the most from your microcomputer. 

Find out more with our new 
directory Detailed descriptions of 
all our programs help you select 
the correct software to fit your needs. 
Start getting more with Westico. 

p — Order Your Copy Today— «' 

D Rush me the brand new Westico 
software directory. 



Name 

Firm 

Address . 
City. 



State. 



-Zip. 



Mail to: 



WESTICO 

The Software Express Service™ 

25 Van Zant Street • Norwalk, CT 06855 
(203) 853-6880 • Telex 64-3788 



- © Copyright 1984 Westico, Inc. WES-37. 
206 BYTE • AUGUST 1984 



INTRODUCTION 



Listing 5: This example of set type and variable declarations uses sets to represent a 
collection of spices in recipes. It's a reasonable use of sets, because you don't care 
about the order of the spices, and you wouldn't list the same spice twice for one 
recipe. 

MODULE sample3; 

TYPE 
C 

Declare an enumeration type that represents the spices that can go into a recipe 
•) 

Spices = (basii, ginger, oregano, paprika, parsley, thyme); 
C 
Declare a data type to indicate that none, some, or all of the individual spices have been selected 



SetOfSpices = SET OF Spices; 
VAR 

recipes: ARRAY [I . . 20] OF SetOfSpices; 
BEGIN 



(* Declare an array of recipes *) 
(* main program *) 



C 

Mark the first recipe as using oregano and thyme, but no other spices 

•) 

recipes|l| := { oregano, thyme }; 
C 

Mark the second recipe as using no spices; the third recipe as using ginger, parsley, and thyme; 
and the fourth recipe as using those spices used in recipes 1, 2, and 3 (that is, ginger, oregano, 
parsley, and thyme). Note that you can't list thyme twice, as the set merely records whether the 
item appears in the list or not. 
*} 

recipes|2] := {}; 

recipes|3] ;= { ginger, parsley, thyme }; 

recipesl4| := recipes|I| + recipes|2] + recipes|3|; 
END sample3. 



Listing 6: Am example of pointer types and usage. Pointers are one of the most 
difficult features of Modula-2 [and Pascal, for that matter) to use properly. This 
example reads characters from the input file until a control character (value less than 
ASCII space) is found. 1/ a space is read, the list assembled so far is printed: 
otherwise, the character is added to the list. The list is singly linked, with each entry 
pointing to the next one using the "next" field of the record. The list is stored in 
ascending alphabetical order, so you must search the list to look for an appropriate 
place to insert. 

MODULE sampled 

C 

Note: the usage of the standard procedures NE Wand DISPOSE requires, in turn, the definition 
of procedures ALLOCATE and DEALLOCATE, Usually, these are the standard routines. 
•) 
FROM Storage IMPORT ALLOCATE, DEALLOCATE; 
FROM TTIO IMPORT Read, Write, WriteLn; 
TYPE 
link = POINTER TO element; 
element = RECORD 
symbol: CHAR; 
next: link; 
END; 
VAR 
list: link; 



(* declaration of pointer type *) 

(* type that we're pointing to *] 

(* data in element ♦) 

(* pointer to next element *) 



(' the list is merely a pointer *) 



I* 



Procedure: Insert 

Parameters: sym, CHAR, element to insert 

Purpose: inserts the element sym into the linked list 

Local variables: 

p = pointer to new element created for sym 

ptr = pointer into list, points to element just AFTER the element to be inserted 

last = pointer into list, points to element just BEFORE the element to be inserted 



•) 



[continued) 



-*ts& -> 





WHAT A CLOCKMAKER IN 18TH CENTURY 
ENGLAND TAUGHT US ABOUT MAKING 



QUALITY PERSONAL PRINTERS. 



Each gear finely honed. Each pendu- 
lum carefully balanced. Each timepiece 
a combination of precision and function. 
He was a craftsman, building a quality 
product to stand the test of time. 

Today, Okidata makes the most tech- 
nologically advanced dot matrix print- 
ers the same way. With quality, perfor- 
mance, and a healthy respect for value. 

Function with affordability. All print- 
ers print, but an Okidata does it with 
more performance and versatility than 
any other. There are seven models to 
choose from, priced at $349 to $2,595. 

Affordability with flexibility. Oki- 
data offers three print modes, too. The 
data processing mode lets you print up 
to 350 characters per second. That's 
five pages a minute. Another mode lets 
you print emphasized or enhanced text 
for more effective presentations, while 
the correspondence mode prints letter 

Circle 235 on inquiry card. 



quality at up to 85 characters per sec- 
ond, with clarity that rivals daisywheel. 
And an Okidata can print graphics and 
charts, which a daisywheel can't. This 
allows you to fully use the latest inte- 
grated software packages like Lotus 
1-2-3™ and Symphony™. 

Flexibility with compatibility. Each 
Okidata printer is fully compatible with 
all popular software packages and per- 
sonal computers. Special interfaces 
are available for IBM and Apple, in- 
cluding the Apple Macintosh. 

Compatibility with reliability. 
Here's where Okidata quality really 
shows. With a warranty claim rate of 
less than 1/2 of 1%. With printheads 
that last well beyond 200,000,000 char- 
acters and come with a full year guaran- 
tee. With service available nationwide 
through Xerox Service Centers. 

Precision and performance. Quality 



and value. That old English clockmaker 
would have been very proud of us. 

Call 1-800-OKIDATA (609-235-2600 
in New Jersey) for the name of the Au- 
thorized Okidata Dealer nearest you. 



mU 



OKIDATA 

^^ an OKI AMERICA company 

Technological Craftsmanship. 



Lotus 1-2-3 and Symphony are trademarks of Lotus 
Development Corp. 



AUGUST 1984 'BYTE 207 



Circle 1 on inquiry card. 



SHIPPING 

WEST OF MISSISSIPPI 
EAST - 1 / 2 UPS CHARGES 



CALL FREE 
1-800-841-2748 


COMPUTERS 


ALTOS 580-20 

ALTOS 586-20 

ALTOS 986-40 

APPLE LOOK-A-LIKE 

SANYO 550-555 


. .$3625 
. .$5545 
. $CALL 
. $CALL 
. $CALL 

. .$2019 
. $CALL 

. .$3799 


TELEVIDEO 

803 $1769 1603 . . . 

PORTABLE 


NORTHSTAR 

ADV $2135 15MEG . . 


PRINTERS 


ABATI 


. .$389 


BROTHER HR15P 

DAISYWRITER 48K 

DATASOUTH DS220 

GEMINI 10X 

JUKI 6100 


. .$479 
. .$975 
. .51575 
. . .$260 
. . $439 


OKIDATA (LOW PRICES) . . , 
QUME 1140+ 


. $CALL 
. .$1275 


QUME 1155+ .... .... 


. .$1475 


CITOH 

8510 $339 1550 .. . 

F10-40CPS .$970 F1055 . . 
DIABLO 

620 $799 630 ... . 

NEC 
3550 . . . .$1535 3510 . . . 
7710 . . . .$1655 2030 . . . 


. . $539 
. .$1299 

. .$1669 

. .$1235 
. . .$659 


TERMINALS - MONITORS 


ALTOS II 


. . .$875 


QUME 102G 


. . .$529 


WYSE 50 


. . .$485 


TELEVIDEO 924 

TELEVIDEO 950 

TELEVIDEO 970 


. . .$689 
. . .$905 
. . .$965 


AMDEK 300G 


. . .$129 


AMDEK 300A 

AMDEK COLOR l+ 

AMDEK COLOR II+ 

TAXAN COLOR 

B.M.C. COLOR 

PRINSTON HX12 


. . .$145 
. . $275 
. . .$429 

$299 

. . $235 
. . .$489 


DISK DRIVES - MODEMS 


INDUS APPLE 

MICRO SCI A2 

ATARI 1050 


- - .$259 

• . $199 

• • $365 


INDUS ATARI 

RAIMA 1000 


. . $345 
. .$299 


PROMODFM 


. - $359 


HAYS SMART MODEM 


. . .$199 


SMARTMODEM 1200 

SMARTMODEM 1200B 


. . $475 
. . $415 


MICROMODEM HE 

RIXON 212A 

U.S. ROBOTICS PASSWORD. 


. . .$235 

. . .$449 

. .$325 



1st PLACE 

COMPUTER SYSTEMS 
13422 N. CAVECREEK RD. 

PHOENIX, AZ. 85022 

OTHER INFORMATION: 602-867-9897 



INTRODUCTION 



PROCEDURE Insert(sym: 


CHAR); 




VAR 






p. ptr. last: link; 




(• local pointers *) 


BEGIN 






NEW(p): 




(• create a new element •) 


p". symbol := sym: 




(* and initialize it *) 


ptr := list; 




(• make copy of pointer to list •) 


last := NIL; 


C 


pointer to element pointing to ptr •) 


WHILE (ptr # NIL) AND (ptr*. symbol < sym) DO 




last := ptr; 




(* track parent of ptr *) 


ptr := ptr. next; 




C and get next element •) 


END; 




(♦ endofWHILE *) 


IF (last = NIL) 






THEN 




(* insert at top of list *) 


p'Vnext := ptr; 




(• point to rest of list •) 


list : = p; 




(* make new first element *) 


ELSE 




(* insert in middle of list •) 


last". next := p: 




(* point to p instead of ptr *) 


p .next := ptr; 




[* new element points to rest •) 


END; 




(* end of IF •) 


END Insert; 






Procedure: PrintList 






Parameters: t, link, list to print 




Purpose: write the characters in the list to the termina 




i 
PROCEDURE PrintList(t: 


link); 




BEGIN 






WHILE (t # NIL) DO 




(* for entire list •) 


Write(r.sym); 




(* print characters •) 


t := t .next; 




(* go to next entry *) 


END: 




(* end of WHILE •) 


WriteLn: 




(* go to next line *) 


END PrintList: 






BEGIN 




(• main program •) 


list := NIL: 




(• initialize to empty list •) 


LOOP 






Read(ch); 




(* get character command •) 


IF (ch > ' ') 






THEN Insert(ch); 




(• insert the character *) 


ELSIF (ch = ' ') 






THEN PrintList(list) 




{* print the list *) 


ELSE 






Exm 




(* exit the program *) 


END; 




(• end of IF •) 


END: 




(* end of LOOP '] 


END sample4. 







Listing 7: Example of the PROCEDURE data type. This facility lets you construct 
general-purpose routines that require an {otherwise unspecified) auxiliary function to 
perform some calculation. For example, many FORTRAN libraries provide plotting, 
graphing, or statistical functions that require a user-specified function to work. 

MODULE sample5: 
(* 
This module sets u p a statistical function, Average, which computes the average value o f a function fx. 

•) 
TYPE 

fen = PROCEDURE ( REAL ) : REAL; 
VAR 

avgl, avg2: REAL; 
PROCEDURE Average( fx: fen; low. high, step: REAL) : REAL; 
VAR 

sum: REAL; 
BEGIN 

sum := 0: 

(continued) 



208 BYTE • AUGUST 1984 






ice^ce 



tV\e 











t \ose 



daw 



noP ( 



^U«"L^u**« 






****%* 



xv^' 



^edo^ va3 e. 



,W 



,rt\\dM 



co\^' 



Off 



iHeux&i 

Helix Laboratories, Inc., 8123 Remrnet Ave., 
Canoga Park, CA 91304 

(818) 710-0300— outside California, 800-468-0004 
Dealer Inquiries Welcome 



Circle 1 43 for Dealer inquiries. Circle 144 for End-User inquiries. 



© 1984, Helix Laboratories, Inc. 
AUGUST 1984 • BYTE 209 



INTRODUCTION 



WHILE ( low < high ) DO 


(* until entire range done •) 


sum := sum + fx(low); 


(* find value and sum *) 


low := low + step; 


(• bump index •) 


END; 




RETURN (sum / (high-low)); 


(• return average value *) 


END Average: 




(* Sample function : f(x) = x 


*) 


PROCEDURE Linear(x: REAL) : REAL: 




BEGIN 




RETURN x; 




END Linear: 




(• Sample function : f(x) = x*x 


•) 


PROCEDURE Quadratic^: REAL) : REAL; 




BEGIN 




RETURN x*x; 




END Quadratic: 




(* Begin main procedure 


•I 


BEGIN 




avgl := Average(Linear, -1.0. 1.0.0.01); 




avg2 := Average(Quadratic. -1.0. 1.0. 0.01): 




END sample5. 





pie variables (foo. count), array 
references (recipe|4| refers to the fourth 
element of array recipe; priceindex 
lapril, 1967] refers to the 1967th ele- 
ment of the aprilth array of priceindex). 
record field references (bob.name.mid- 
dle refers to the middle field of record 
name, in the name field of record bob), 
and pointer dereferences (ptr" refers to 
the item referenced by pointer ptr). 

The standard operators from Pascal 
are also available in Modula-2. Arith- 
metic operators that work on both 
signed integers (INTEGER) and un- 
signed integers (CARDINAL) are addi- 
tion (+), subtraction (-), multiplication 
(*). integer division (DIV), and modulus 
(MOD). Integer division (x DIV y) pro- 
duces the integer part of the result of 
real division (x / y)\ the modulus func- 
tion produces the remainder after an in- 



teger division. Real arithmetic includes 
addition (+). subtraction (-). multiplica- 
tion (*), and real division (/). 

Set operators include set union ( + ), 
yielding all elements that appear in 
either set; set difference (-). yielding all 
elements in the first set and not in the 
second set; set intersection (*), yielding 
those elements appearing in both sets; 
and symmetric set difference (/), yielding 
all elements in one set and not in the 
other (that is, a/b is equivalent to 
(a-b) + (b-a) if a and b are sets). 

Relational operators produce 
Boolean (TRUE or FALSE) results, and 
you can use them to compare the basic 
types-INTEGER. CARDINAL, REAL, 
and CHAR— as well as enumeration and 
subrange types. These operators in- 
clude equal to (=), not equal to (#), less 
than (<), less than or equal to (<), 



greater than (>), and greater than or 
equal to (>). You can use the relational 
operators set membership (IN) and im- 
proper set inclusion (< and >) to 
operate on sets. However, you can com- 
pare only pointer variables with the 
equality and inequality operators. 

Conclusion 

Modula-2 clearly surpasses Pascal in 
terms of its program-structuring 
facilities. It contains all the procedures 
and functions of Pascal and adds a stan- 
dard way to separately compile por- 
tions of a program. 

The control structures of the two lan- 
guages are very close. Modula-2 has the 
edge over Pascal with the new LOOP 
statement and the consistent use of the 
END clause to terminate control state- 
ments. 

Data typing in the two languages is 
also very close, but this time Pascal has 
a slight edge— Modula-2's restriction of 
sets to 16 elements (on a 16-bit com- 
puter) is unnecessary and too often 
inconvenient. 

Both Modula-2 and Pascal provide 
powerful and flexible expressions, and 
neither language has an advantage over 
the other in this respect. 

In many ways, Modula-2 is really a 
superset of Pascal. It takes the good 
points of the language and strengthens 
them with some logical and important 
extensions. When high-quality com- 
pilers become available on many 
machines. Modula-2 may replace Pascal 
as a language of choice. You can use 
Modula-2 everywhere you can use 
Pascal, and in many places where you 
can't. ■ 




Your IBM Model 50, 60, 65, 75, 85 or 95 Electronic Typewriter can 
be an RS232 PRINTER or TERMINAL using our Model 5060 
Interface. Our Model 300 Interface can even connect your IBM 
Electronic typewriter directly into a phone connector to send 
or receive ELECTRONIC MAIL!. 

Both Versions can be easily installed and require NO 
modifications to the typewriter. 



CALIFORNIA MICRO COMPUTER 

9323 Warbler Ave., Fountain Valley, CA 92708 (714) 848-3947 




210 BYTE • AUGUST 1984 



Before you pick a printer, make sure it's fully 
compatible with your computer. Make sure it's right 
for your software programs. Make sure it's flexible 
enough for the functions it must perform. ■■■ 

And if the return on investment that you m fi & 
expect is durable construction, 
trouble-free performance and .^ 

letter-quality printing, make ^rf ^ 



sure it's Olympia. 

Consider the Olympia 
printer portfolio: Electronic 'a 

Compact RO. If you need an entry 
level printer, this is the one to consider. Cpm- 
patible with every personal computer and low in 
price, it provides all the features needed for effi- 
cient day-to-day performance. Electronic Compact 2. 



Combines excellent print quality with the versatil- 
ity of a built-in typewriter keyboard. Perfect for 
business and personal use. ESW102. Excellent value 
in a medium-speed office printer; with 
^ broad flexibility for forms and 

,g^ letter formats. ESW3000. Your 

best investment in a fully 

P featured, high-speed printer 
for a demanding work load. 
Electronic Compact NR Our 
dot-matrix printer offers 
speeds of up to 165 CPS, as well as a cor- 
respondence mode, for a surprisingly low 
investment. 
With Olympia, you can invest in the printer 
that's exactly right for you. 



Before you invest in printers, 
make sure you consider Olympia. 






Send for our booklet: 
"Olympiatakesthe mystery 
out of selecting a printer?' Also 
request product information on any 
or all of these excellent printers. 

Electronic Compact RO 
Electronic Compact 2 
] ESW102 
\ | ESW3000 

I Electronic Compact NP 





Name 



Title 



Company 



Address 



City 



State 



Zip 



I) OLYMPIA 8 

Setting the standard for 80 years. 



Olympia USA Inc., Dept. 1-Y, Box 22, 
Somerville, New Jersey 08876 



) 1984 Olympia USA Inc. 



Circle 236 on inquiry card. 



Super assemblers 

plus the world's 

largest selection of 

cross assemblers! 



Z-80 

Macroassembler $49.50 

Power for larger programs! This 
2500AD macroassembler includes: 

• Zilog Z-80 Macroassembler (with 
the same powerful features as all 
our assemblers) 

• powerful linker that will link up to 
128 files. Com files may start at 
any address 

• Intel 8080 to Zilog Z-80 Source 
Code Converter (to convert all 
your Intel source to Zilog Syntax 
in one simple step) 

• COM to Hex Converter (to convert 
your object files to Hex for PROM 
creation, etc.) 

• 52 page User Manual 

8086/88 Assembler 
with Translator $99.50 

Available for MSDOS, PCDOS, or 
CPM/86! This fully relocatable macro- 
assemblerwillasembleandlinkcode 
for MSDOS (PCDOS) AND CPM/86 
on either a CPM/86 or MSDOS 
machine. This package also includes: 

• An 8080 to 8086 source code 
translator (no limit on program 
size to translate) 

• AZ-80 to 8086 translator 

• 64page user manual 

• 4 linkers included: 

-MSDOS produces .EXE file 
-CPM/86 produces .CMD file 
- Pure object code generation 
-Object code and address 
information only 
Linkerfeatures: 

• Links up to 128 files 

• Submit mode invocation 

• Code, DataStack and extra 
segments 

• Handles complex overlays 

• Written in assembly language for 
fastassemblies. 

• MICROSOFT. RELformat option 



Z-8000 Cross Development 
Package $199.50 

Instant Z-8000 Software! This 
package allows development and 
conversion of software for the 
Z8001 , 8002, 8003 and 8004 based 
machines on aZ-80,Z-8000or8086 
machine. This powerful package 
includes: 

• a Z-80/8080 to Z-8000 Assembly 
Language Source Code Translator 

• Z-8000 Macro Cross Assembler 
and Linker 

The Translators provide Z-8000 
source code from Intel 8080 or Zilog 
Z-80 source code. The Z-8000 
source code used by these 
packages are the unique 2500AD 
syntax using Zilog mnemonics, 
designed to makethetransition 
from Z-80 code writing to Z-8000 
easy. 

All 2500 AD Assemblers and 
Cross Assemblers support the 
following features: 

Relocatable Code — the 

packages include a versatile Linker 
thatwill link up to 128 files together, 
or just be used for external 
reference resolution. Supports 
separate Code and Data space. 
The Linker allows Submit Mode or 
Command Invocation. 
Large File Handling Capacity 
— the Assembler will process files 
as large as the disk storage device. 
All buffers including the symbol table 
buffer overflowto disk. 
Powerful Macro Section — 
handles string comparisons during 
parameter substitutions. Recursion 
and nesting limited only by the 
amount of disk storage avai lable. 
Conditional Assembly — allows 
up to 248 levels of nesting. 



Assembly Time Calculator — 

will perform calculations with up to 
16 pending operands, using 1 6 
or 32 Bit arithmetic (32 Bitonly for 
16 Bit products). The algebraic 
hierarchy may be changed through 
the use of parentheses. 

Include files supported — 
Listing Control — allows listing 
of sections on the program with 
convenient assembly error detec- 
tion overrides, along with assembly 
run time commands that may be 
used to dynamically change the 
listing mode during assembly. 
Hex File Converter, included 
— forthose who have special 
requirements, and need to generate 
object code in this format. 

Cross reference table 
generated — 

Plain English Error 
Messages — 

System requirements for all pro- 
grams: Z-80 CP/M 2.2 System with 
54k TPA and at least a 96 column 
printer is recommended. Or 
8086/88 256k CP/M-86 or MSDOS 
(PCDOS). 

Cross Assembler Special Features 

Z-8 — Userdefined registers 
names, standard Zilog and Z-80 
style support. Tec Hex output option. 
8748— standard Intel and Z-80 
style syntax supported. 
8051 — 512 Userdefined register 
or addressable bit names. 
6800 Family — absolute or 
relocatablemodes, all addressing 
modes supported. Motorola syntax 
compatible. Intel Hex or S-Record 
format output. 

6502— Standard syntax or Z-80 
type syntax supported, all 
addressing modes supported. 



8086 and Z-8000 XASM includes Source Code Translators- 



Z-80 
CP/M« 



ZILOG 

SYSTEM 8000 

UNIX 



IBM P.C. 
8086/88 
MSDOS 



IBM P.C. 
8086/88 
CP/M86 



Subtotal 



$. 



$. 



OLIVETTI 
M-20 
PCOS 



8086/88 ASM 






$ 99.50 


$ 99.50 




8086/88 XASM 


$199.50 


$750.00 






$199.50 


801 86 XASM new 


199.50 


750.00 


199.50 


199.50 


199.50 


16000(all)XASM new 


199.50 


750.00 


199.50 


199.50 


199.50 


68000 XASM new 


199.50 


750.00 


199.50 


199.50 


199.50 


Z80000 XASM coming soon 


199.50 


750.00 


199.50 


199.50 


199.50 


Z-8000® ASM 




750.00 






299.50 


Z-8000 XASM 


199.50 




199.50 


199.50 




Z-800 XASM coming soon 


199.50 


750.00 


199.50 


199.50 


199.50 


Z-80 ASM 


49.50 










Z-80 XASM 




500.00 


99.50 


99.50 


99.50 


Z-8XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


6301 (CMOS) new 


99.50 


500.00 


99.50 


99.50 


99.50 


6500/11 XASM new 


99.50 


500.00 


99.50 


99.50 


99.50 


6502 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


65C02(CMOS)XASMnew 


99.50 


500.00 


99.50 


99.50 


99.50 


6800,2,8 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


6801,03 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


6804 XASM new 


99.50 


500.00 


99.50 


99.50 


99.50 


6805 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


6809 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


8748 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


8051 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


8080 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


8085 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


8096 XASM new 


99.50 


500.00 


99.50 


99.50 


99.50 


1802 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


F8/3870 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


COPS400 XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


NEC7500XASM 


99.50 


500.00 


99.50 


99.50 


99.50 


NSC800 


99.50 


500.00 


99.50 


99.50 


99.50 



$. 



Name 

Company. 
Address _ 

City 

Phone 



State 



-Zip 

Ext. 



TO ORDER. Simply circle the product or 
productsyou want in the price columns above, 
enter the subtotal at the bottom of that column 
andadd upyourtotal order. Don'tforget 
shipping/handling. 



Make and model of computer 
system . 



□ C . O . D . (2500 AD pays C.O.D. charges) 

□ VISA or MasterCard #, Exp. Date (mo./yr.) 



Signature . 



Check one: 

□ 8"Single Density 

□ 5Va" Osborne 

□ IBM P.C. 

□ Cartridge Tape 

□ Apple (Softcard) 

□ KayproDSDD 
other formats available, please call 



Total $ 

shipping/handling 
($6.50 per unit, 
$20.00 perunitfor 
Int'l. airmail) $ 



Total Order$ 

CPM isa registered trademark of Digital Research. Inc. 



250WD93FTH4REINC 



■ 17200 E. Ohio Drive, Aurora, CO 80017, 303-752-4382 TELEX 752659/ AD . 




Lo-^ 



-N«^> 



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-pro- 
cessor 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 hun- 
dreds of other organizationsthatusethem . 
Every time you see a new microprocessor- 
based product, there's a good chance it 
was developed with Avocet cross- 
assemblers. 

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. 

5 1 /*" 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 edi- 
tor by CompuView. Makes source code 
entry a snap. Full-screen text editing, plus 
TECO-like macro facility for repetitive 
tasks . Pre-conf igured for over 40 terminals 
and personal computers as well as in user- 
configurable 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 per- 
sonality modules. Self-contained power 
supply . . . accepts ASCII commands and 
data from any computer through RS 232 
serial interface. Cross-assembler hex ob- 
ject 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. 

214 BYTE • AUGUST 1984 



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! XMAC 


68K 68000 


$595.00 



(Upgrade kits will be available for new 
PROM types as they are introduced.) 

Programmer $429 

Options include: 
Software Driver Package - 
enhanced features, no installation 
required. 

CP/M-80 Version $75 

IBM PC Version $ 95 

RS 232 Cable $30 

8748 family socket adaptor ... $ 98 
8751 family socket adaptor . . . $174 
8755 family socket adaptor ... $135 

G7228 Programmer by GTek - baud 
to 2400 ... superfast, adaptive program- 
ming algorithms ... programs 2764 in one 
minute. 

Programmer $549 

Ask us about Gang and PAL programmers. 

HEXTRAN Universal HEX File Con- 
verter - 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 sys- 
tems, 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) 



ISA 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 ^ 
SYSTEMS INC. 

DEPT. 884-B 

804 SOUTH STATE STREET 
DOVER, DELAWARE 19901 
302-734-01 51 TELEX 467210 



Circle 30 on inquiry card. 



MODULA-2 



PASCAL, ADA, 
AND MODULA-2 



by David Coar 



A system programmer's comparison 



WHEN FACED WITH a reasonably large 
software project, many factors can in- 
fluence the choice of an implementa- 
tion language. Some are technical and 
some are not. In comparing Pascal Ada, 
and Modula-2, I will deal with the major 
technical factors by using basic prop- 
erties that these languages possess as 
measuring tools. In each case. I will 
describe the relevant programming 
issues briefly and then discuss the three 
languages within that context, pointing 
out differences, commenting on the 
relative merits of certain features, and 
offering opinions concerning possible 
improvements. Since I'm focusing on 
the capabilities provided by the lan- 
guage features rather than the specific 
syntax used to invoke them, this article 
complements detailed descriptions 
published elsewhere (see references). 
Why did I choose these particular lan- 
guages? Over the years. Pascal has 
achieved popularity as an implementa- 
tion language. Nevertheless, its creator, 
Niklaus Wirth, apparently never thought 
of Pascal as a true systems-implemen- 
tation language. Modula-2, on the other 
hand, represents a conscious effort on 
his part to define such a language. 
Modula-2 has facilities for hardware in- 
terfacing and allows many programmers 
to work together on the same project. 
Of course, these are the same goals that 
were established by the Department of 



Defense for the new programming lan- 
guage. Ada. Thus, Pascal and Modula-2 
are different attempts by the same per- 
son to design a programming language, 
while Ada and Modula-2 have different 
origins but the same stated goals. 

Strong Typing 

In most modern programming lan- 
guages you must declare each data ele- 
ment and routine before using it. First, 
you choose an alphanumeric identifier 
to serve as its name. Then, specify its 
type. You know certain primitive types, 
such as integer, real. Boolean, and char- 
acter in advance (see table 1). You must 
declare the others explicitly before 
using them. You may create new types 
either by making certain minor modifi- 
cations to previous types or by combin- 
ing one or more previous types into 
composite structures such as arrays and 
records. In any case, the type of an ele- 
ment completely determines its storage 
requirements and the uses to which it 
may be put. This is what is meant by 
strong typing, lyping plays a major role 
in all three languages by restricting the 

David Coar (POB 23489, Portland, OR 
97223) is a member of the technical product 
staff of Floating Point Systems Inc. He received 
his bachelor's and master's degrees in mathematics 
from the University of California at Berkeley. 
His hobbies include skiing and classical guitar. 



way you can allocate and use data 
elements. 

Storage Allocation 

In order to generate code for your pro- 
gram, the compiler must know the size 
and location of each data element you 
declare. The data element's type com- 
pletely determines its size. Its location 
normally is offset from the beginning of 
a multiple-element memory area. The 
compiler assigns an offset of zero to the 
first element in the area, the second 
gets offset more than the first, and so 
on. The details of this algorithm com- 
pletely determine the resulting memory 
area's size. Each memory area location 
and the way it gets allocated depend on 
the kind of memory area it is. There are 
three possibilities: stack, heap, and main. 
Stack areas are contained within a 
large memory area called an execution 
stack. A special top-of-stack pointer keeps 
track of the execution stack's current 
end. When you call a function or pro- 
cedure, you change the top-of-stack 
pointer and the program uses the area 
between the old and new top-of-stack 
for your newly called routine's data ele- 
ments. When the call completes, the 
program restores the top-of-stack 
pointer to its previous value and returns 
control to the calling procedure or 
function. 

[continued) 



AUGUST 1984 -BYTE 215 



THREE LANGUAGES 



Heap-memory areas contain a single 
data element, usually an array or a 
record. To use this data element, you 
must have a pointer to the heap-mem- 
ory area containing it. A pointer is a 
special kind of data element that always 
contains the address of a data element 
in the heap. Your program must explicit- 
ly allocate each heap area that it needs, 
using special syntax provided for this 
purpose. The address of each new area 
is stored in a pointer. Pascal and 
Modula-2 also have syntax for explicit 
release of heap areas, but not Ada. 

Main memory is allocated once when 
you load your program. A Pascal pro- 
gram has only one main-memory area, 
which contains all the data elements 
declared in the main part of your pro- 
gram and all the executable code. In 
Modula-2, each library module your pro- 
gram uses has a separate main-memory 
area that contains its data elements and 
the executable code for all its pro- 
cedures and functions. Similarly, each 
library unit of an Ada program has its 
own main-memory area for data 
elements and executable code. 

Ada is the only one of these three lan- 
guages that gives you explicit control 
over the size and relative location of 
data elements. In Pascal and Modula-2, 
an element's size, as well as location 
within each enclosing memory area, is 
controlled completely by the compiler. 
For most applications this is not a prob- 



lem. However, if you must generate or 
use data that has a predefined, exter- 
nal format, then you must have control 
over a data element's size and relative 
location within a record. 

Both Ada and Modula-2 let you 
specify an absolute address for a data 
element or routine. This facility, which 
does not exist in Pascal, is essential for 
implementing interrupt handlers and 
memory-mapped I/O (input/output). It 
would be nice if there were a related 
facility in any of the three languages 
that would allow you to specify a data 
element or routine's symbolic address 
for linking it with an external system. 

It's a little surprising that Modula-2 
has no mechanism for creating variable- 
length arrays. Instead, when you declare 
an array you must specify its type fully, 
including the range of acceptable index 
values. Because the upper and lower 
bounds for such a range must be con- 
stant, the number of elements in the ar- 
ray will also be constant. Modula-2 in- 
herited this unfortunate feature from 
Pascal with only one minor improve- 
ment. When you specify the type of an 
array parameter to a procedure or func- 
tion in Modula-2, you need not include 
its size. This allows you to use a 
parameter to pass different size arrays 
to a procedure or function. However, 
Modula-2 doesn't let you create an ar- 
ray whose size is determined at run 
time, which makes the language unnec- 



Table I: The data types available in each of the three languages are shown in the 
table. Enumerated types, records, and arrays are not primitive types: the others are. 
Strictly speaking, characters are a special enumerated type and strings are a par- 
ticular class of character arrays. 



Language 


Integer Types 


Real Types 


Structured Types 


Special Types 




enumerated 


real 


record 


pointer 


Pascal 


character 




array 


Boolean 




integer 




string 


set (bit mask) 




enumerated 


real 


record 


word 




character 




array 


address 


Modula-2 


integer 






Boolean 

set {bit mask) 

procedure 




enumerated 


real 


record 


pointer 




character 


short real 


array 


Boolean 


Ada 


integer 

short 

long integer 


long real 


string 


exception 
task 



essarily restrictive. It should at least give 
you pointers to such arrays. 

TYpe Conflicts 

Each expression in your program 
belongs to two potentially different data 
types. One type comes from the way it's 
used, because that tells you the type of 
data value it must produce. The second 
comes from the expression's structure. 
Given inputs of a specific type, each 
operator in the expression produces 
outputs of a specific type. So the ex- 
pression's data elements and the oper- 
ators that are used to combine them tell 
you what type of data value it will 
produce. 

If these two types are different, the 
compiler must decide how to resolve 
the conflict. In a strongly typed lan- 
guage, conflicts are generally treated as 
programming errors. This has one unfor- 
tunate consequence: an element's data 
type is not determined by its intrinsic 
properties but by your need to com- 
bine it with other data elements. In 
Modula-2, for instance. I learned to 
avoid cardinal (unsigned integer) data 
elements quickly because they could 
not be mixed with integers in expres- 
sions. 

Pascal provides almost no relief from 
the regimen of strict typing. There are 
few implicit type conversions, and func- 
tions for explicit type conversion are 
limited to ORD, CHR, TRUNC. and 
ROUND. With the function ORD you can 
convert an enumerated value into an 
unsigned integer. With the function CHR 
you can convert an unsigned integer in- 
to a character. The functions TRUNC 
and ROU N D convert values of type real 
into values of type integer. The program 
has to handle other type conversions by 
using case statements, explicitly ini- 
tialized arrays, or untagged variant 
records. In particular, there is no safe 
and easy way to recover an enumerated 
value from an unsigned integer. All too 
often conversions that are perfectly 
natural from a conceptual standpoint, 
and which should be programmatical- 
ly simple, lead to the use of untagged 
variant records— probably the least safe 
construct in the language. 

Modula-2 provides a little more relief 
from strict typing. In certain situations, 
it provides implicit type conversion 
when a value is assigned to a different- 

(continued) 



216 BYTE • AUGUST 1984 



Circle 92 on inquiry card. — ► 



MEMORIES SHOULD -ALL 
■— BE-MADELIKE-THIS— ■ 



All memories are good 
memories when they come 
from Cumana. Available for 
the Apple, Dragon, British 
Broadcasting Corporation 
and IBM personal computers, 
Cumana slimline disk drives 
are designed and 
manufactured to the highest 
standards to give outstanding 
performance and quiet 
operation. 



Supplied with an extended 12 
months warranty and fully 
assembled and tested before 
packaging, Cumana slimline 
drives are available in single 
and dual versions. All power 
and interface cables are 
supplied with the drives to 
enable you to plug in, switch 
on and go! 




i 




CUMANA 



The best name in memory 

Cumana, Inc., Orangewood Business Center, 
1701 East Edinger, Suite E12, Santa Ana, 
CA 92705. Call: (714) 953-7622. 
Cumana Ltd., Pines Trading Estate, 
Broad Street, Guildford, Surrey, England. 
Tel: (0483) 503121. Telex: 859380. 
Apple is a registered trademark of Apple Computer, Inc. 
The British Broadcasting Corporation Microcomputer is 
manufactured under licence by Acorn Computers Limited. 
Acorn is a registered trademark of Acorn Computers 
International PLC. 

Dragon is a registered trademark of Dragon Data Ltd. 
IBM is a registered trademark of International Business 
Machines Corporation. 



THREE LANGUAGES 



Listing I : This listing shows how subtypes and derived types are declared in Ada. 
Ada, everything between the -- symbol and the end of line is ignored by the com- 
piler. Text included in this manner may be used to explain the details of a program. 

Subtypes and Derived types in Ada 
TYPE day IS (mon, tue, wed, thu, fri, sat, sun); - an enumerated type. 
SUBTYPE weekday IS day RANGE mon. .fri; - a subtype of the type day. 

- Values of type day may be stored into data elements of type weekday 

- and conversely. 

TYPE midweek IS NEW day RANGE tue.. thu; - a new type derived from the 

- type day. Values of type midweek may not be stored into data elements 

- of type day or weekday. Similarly, values of type day and weekday may 

- not be stored into data elements of type midweek. 

SUBTYPE nibble IS integer RANGE 0..255: - a subtype of the type integer. 

- Values of type nibble may be stored into data elements of type integer 

- and conversely. 

TYPE byte IS NEW nibble; - a new type derived from the type nibble. 

- Values of type byte may not be stored into data elements of type 

- nibble or integer. Similarly, values of type nibble and integer may 

- not be stored into data elements of type byte. 



ly typed data element. For example, you 
may store a cardinal value in an integer 
data element and a positive integer in 
a cardinal element. However, neither an 
integer nor a cardinal may be stored in 
a real element. There is a slightly richer 
set of functions for making explicit type 
conversions. In particular, the function 
VAL allows you to recover enumerated 
values from unsigned integers. Addi- 
tionally, certain types have a built-in 
function that shares the type name and 
converts input values of that type. The 
drawback of this feature is that it ap- 
pears to be system dependent because 
no computation can be performed in 
making the conversion. Consequently, 
use it with care if you intend to move 
your software from one system to 
another. 

Ada is similar to Modula-2 in its en- 
forcement of strict typing. For certain 
well-defined types, there is a built-in 
function that shares the type name and 
converts input values into the particular 
values of that type. This means that 
many type conversions are reasonably 
easy. Moreover, the collection of type 
names that can be used for sharing and 
converting is well defined, and the 
results are independent of any imple- 
mentation. All of this is a definite im- 
provement over Modula-2. 

Ada's implicit type conversion is 
based on the notion of a subtype. When 
a type is created by placing restrictions 
on another one, it is called a subtype 
(see listing 1). Its values may be mixed 
with expressions of the original type, 
and values of either type may be stored 



in data elements on the other, as long 
as the constraints of the subtype are not 
violated. While subtypes (called sub- 
ranges) exist in both Pascal and 
Modula-2, Ada tries to make their mean- 
ing more precise. 

Derived Types and 
Overloading 

Ada further refines strong typing by in- 
troducing the notion of a derived type: an 
exact copy of another logically distinct 
type (see listing I). Derived types allow 
you to have look-alike data types whose 
corresponding data elements cannot be 
confused with one another. In order to 
make the derived type an exact copy of 
the original, Ada gives it logically 
distinct copies of each original opera- 
tion. While this feature seems reason- 
able at first, it has some undesirable 
side effects. To understand them, how- 
ever, we must first discuss another 
distinctive Ada feature, overloading. 

T\vo elements of your program are 
overloaded if both are visible and have the 
same name. In a strongly typed lan- 
guage, overloaded elements normally 
cannot be confused with one another 
as long as they have different types. In 
spite of this, both Pascal and Modula-2 
prohibit overloading. Ada allows it, but 
only for procedures and functions. An 
Ada procedure or function call may 
refer to any one of several routines with 
the same name. The compiler then 
chooses the correct one according to 
the number of its parameters, the type 
of each parameter, and the type, if any, 
of its return value. 



Overloading is closely associated with 
another distinctive Ada feature, the 
ability to redefine basic operators such 
as addition, subtraction, and multiplica- 
tion. To do this, you simply declare a 
function that has the right number of 
parameters and use the appropriate 
symbol for its name. If you have defined 
a collection of operators, you can use 
them in an expression with values of the 
correct type exactly as you would use 
any ordinary operator. One desirable 
consequence of all this is that it lets you 
create versions of the basic operators 
that mix types in a more or less ar- 
bitrary way. 

Another less desirable consequence 
of overloading comes from the rules 
governing types in general and derived 
types in particular. There is a set of 
operations for each type in your Ada 
program. Each set of operations is a 
procedure or function with at least one 
type-oriented parameter or return value. 
The operations belong to the type 
either because they were inherited by 
the type or because both the type and 
the operations set were declared in the 
visible part of the same package. 

Now consider the following situation. 
'Types x\ and x2 are declared in pack- 
age x along with a procedure q whose 
parameters are of type x\ and x2. In 
package y, type y\ is derived from x\, 
and type y 2 is derived from x2. As men- 
tioned earlier, a derived type inherits a 
copy of each operation belonging to the 
original type. Inside y there are now two 
procedures named q: one with param- 
eters of type y 1 and x2 belonging toy\. 
and one with parameters of type x\ and 
y2 belonging to y2 (see figure I). Of 
course, you probably wanted a pro- 
cedure with parameters of type y\ and 
y2, but to get it you'd have to explicitly 
declare it. And that would not be the 
end of your problems. The literal values 
for types xl and y\ are indistinguish- 
able, as are those for x2 and y2. So a 
call on q that substitutes a literal value 
for one of its parameters will be ambig- 
uous inside y, unless the literal value is 
appropriately qualified. What makes 
this ambiguity especially frustrating is 
that there is really only one procedure 
q. The copies are merely pseudonyms. 
Ambiguity regarding a literal value's 
type is probably unavoidable. Neverthe- 
less, the automatic proliferation of over- 
loaded procedures and functions that 



218 BYTE • AUGUST 1984 



THREE LANGUAGES 



occurs in the Ada language seems un- 
reasonable. 

Initialization 

The problem of initialization is related 
to strong typing and storage allocation. 
When you declare a data element you 
often might want to give it an initial 
value. Occasionally, you might even 
want to specify an initial value for all 
data elements of a given type. This 
would let you document important 
properties of such data elements. For 
stack and heap elements, convenience, 
documentation, and control centraliza- 
tion are the major advantages provided 
by initial values. For main-memory data 
elements, however, the initial value's 
primary virtue is efficiency since the 
loader generates them from a map at 
run time. If you don't generate them at 
that time, you wind up with two copies 
of each initial value in main memory. 
The list of hardware instructions that 
must be executed to initialize the data 
element will contain one copy, while the 
data element itself will hold the other 
once the hardware instructions are ex- 
ecuted. In addition, there will be hard- 
ware instructions to write the value in- 
to the correct memory location. For a 
large table of error messages, this could 
lead to a significant increase in memory 
requirements. 

Beyond some reasonably simple syn- 
tax extensions for declarations, a 
strongly typed language must have 
facilities for creating structured con- 
stants if you want to implement initial 
values. Otherwise you can't describe the 
initial values for compound data struc- 
tures such as records and arrays. Ada 
is the only one of the three languages 
that supports either declarations or 
structured constants. The decision not 
to include these features in Pascal and 
Modula-2 presumably was motivated by 
a desire to keep the language as sim- 
ple as possible. Most Pascal implemen- 
tations have extensions in this area, but 
they differ substantially and will cause 
problems if you want software that is 
easy to move from one system to 
another. 

Structured Control 

The data elements in your program con- 
trol its behavior. Depending on their 
contents, you may decide to examine an 
input value, compute a new value for 



one of them, or produce an output 
value. Statement lists in the body of the 
program specify these actions in detail. 
Program execution is basically sequen- 
tial in nature. At any given instant only 
one statement controls your program. 
Certain kinds of statements let you 
transfer control to either a different 
statement list or to another statement 
within the same list. In the absence of 
such explicit transfers, however, the pro- 
gram executes the statement list in 
order, starting with the first one. All 
three languages provide essentially the 
same facilities for dealing with this type 
of deliberate, sequential control. Ada 
provides two additional control mech- 
anisms, the rendezvous and the excep- 
tion, but both have serious flaws, and 
the rendezvous is not an appropriate 
construct for a low-level systems imple- 
mentation language. 

Sequential Control 

All languages let you explicitly transfer 
control from one part of your program 
to another. The GOTO statement is the 
most primitive example of such a fea- 
ture. It lets you jump to a more or less 



arbitrary location within the same list of 
statements. Often, a particular relation- 
ship between two or more data ele- 
ments, such as x + y = z, is consciously 
preserved for a number of consecutive 
statements. Because you run the risk of 
destroying such relations whenever you 
jump into the middle of a list of state- 
ments, you should use GOIO state- 
ments sparingly. Good programming 
languages discourage explicit transfers 
by providing more structured methods 
for altering the flow of control, e.g., pro- 
cedures, functions, conditional state- 
ments, and looping constructs. Ada and 
Modula-2 transfer control similarly and 
both are a substantial improvement 
over Pascal. 

In both Ada and Modula-2, a pro- 
cedure's or function's return statement 
lets you cut off its execution and 
transfer control to the place where it 
was called. However, when you invoke 
the return statement to get you out of 
a function, you must always supply an 
appropriate return value. Unlike Pascal, 
neither Ada nor Modula-2 have a spe- 
cial data element that contains the 

{continued) 



OVERLOADING 





PACKAGE x 








TYPE 


xl 


■ 






PROCEDURE q 
(USES Jrl AND xl) 








TYPE xl 













PACKAGE/ 






TYPE y\ 






PROCEDURE q 
(USES yl AND x2) 














PROCEDURE q 
(USES/2 AND x\) 


TYPE 


n 









Figure 1: Procedure q in package x has parameters of type xl and x2. Hype yl in 
package y is derived from type xl. lljpe y2 is derived from type x2. As a result, 
package y contains two procedures named q. One has parameters of type yl and 
x2. The other has parameters of type y2 and xl. 1/ you want a procedure that does 
the same thing for yl and y2 that the original q does for xl and x2, you will have 
to declare it yourself If you call it q, it will be overloaded with these two other 
procedures named q that you got for free. 



AUGUST 1984 -BYTE 219 



Part No. "Pins Pries 



"Number ol Ptns of each I.C 
lor easy Socket purchase 



SN7400N 14 

SN7401N 14 

SN7402N 14 

SN7403N 14 

SN7404N 14 

SN7405N 14 

SN74Q6N 14 

SN7407N 14 

SN7408N 14 

SN7409M 14 

SN7410N 14 

SN7411N 14 

SN7412N 14 

SN7413N 14 

SN7414N 14 

SN7416N 14 

SN7417N 14 

SN742QN 14 

SN74Z1N 14 

SN7422N 14 

SN7423N 16 

SW7425N 14 

SN7426M 14 

SN7427N 14 

SN7426N 14 

SN7430N 14 

SN7432H 14 

SN7437N 14 

SN7438N 14 

SN7439N 14 

SN7J40N 14 

SN7441N 16 

SN7442N 16 

SN7443N 16 

SN7444N 16 

$*««# IS 

SN7446N 16 

SN7447N 16 

SN7448N 16 

SN745QN 14 

SN7451N 14 

SN7453N 14 

SN7454N 14 

SM7459N 14 

SN7460N 14 

SN7470N 14 



Part No. "pins Price 

SN7472N 14 29 

SN7473N 14 35 

SN7474N 14 35 

SN7475N 16 ,45 

SN7476N 16 35 

SN7479N 14 4.95 

SN7480N 14 .89 

SN7482N 14 1.49 

SN7483N 16 59 

SN7485N 16 .59 

SN7486N 14 35 

SN7489N 16 2.25 

SN7490N 14 39 

SN7491N 14 .79 

SN7492N 14 39 

SN7493N 14 .39 

SN7494N 14 89 

SN7495N 14 .49 

SN7496N 16 49 

SN7497N 16 3.25 

SN74100N 24 195 

SN74104N 14 1.19 

SN74105N 14 1.19 

SN74107N 14 .29 

SN74109N 16 .39 

SN74116N 24 149 

SN74121N 14 39 

SN74122N 14 69 

SN74123N 16 49 

SN74125N 14 .45 

SN74126N 14 .45 

SN74I32N 14 49 

SN74136N 14 69 

SN74141N 16 89 

SN74142N 

SN74T43N 

SN74144N 

SN74145N 

SN74147N 

SN74148N 

SN74150N 

SN74151N 

SN74152N 

SN74153N 

SN74154N 

SN741S5N 



16 395 
24 3 95 
24 3 95 



Part No. 



SN74156N 

SN74157N 

SN74160N 

SN74I61N 

SM74162N 

SN74163N 

SN74164N 

SN74165N 

SN74166N 

SN74167N 

SN74170N 

SN74172N 

SN74173N 

SN74174N 

SN74175N 

SN74176N 

SN74177N 

SN74179N 

SN74180N 

SN74181N 

SM74I82N 

SN74184N 

SN74185H 

SN74190N 

SN74191N 

SN74192N 

SN74193N 

SN74194N 

SN74195N 

SN74196N 

SN74197N 

SN74198N : 

SN74199N 

SN74221N 

SN74251N 

SN74276N ! 

SN74279N 

SN74283N 

SN74284N 

SN74285N 

SN74365N 

SN74366N ' 

SN74367N 

SN74368N ' 

SN74390N ' 

SN74393N ' 



74LS00 
741S01 
74LS02 
MLSOa 

74LS04 
74LS05 
74LS08 
74LS09 
74LS10 
74LS11 
74LS12 
74LS13 
74LS14 
74LS15 
74LS20 
74LS21 
74LS22 
74LS26 
74LS27 
741S28 
74LS30 
74LS32 
74LS33 
74LS37 
74LS38 
74LS40 
74LS42 
74LS47 
74LS48 
74LS49 
74LS51 
74LS54 
74LS55 
74LS73 
74LS74 
7JLS75 
74LS76 
74LS78 
74LS83 
74LS85 
74LS86 
74LS90 



74LS192 
74LS193 
74LS194 
74LS195 
74LSI97 
74LS221 
74LS240 
74LS241 
74LS242 
74LS243 
74LS244 
74LS245 
74LS247 
74LS248 
74LS249 
74LS251 
74LS253 
74LS257 
74LS258 
74LS260 
74LS266 
74LS273 
74LS279 
74LS283 
74LS290 
74LS293 
74LS298 
74LS352 
74LS353 
74LS365 
74LS366 
74LS367 
74LS368 
74LS373 
74LS374 
74LS375 
74LS386 
74LS393 
74LS399 
74LS670 
81LS95 
81LS97 



mni,.:,\<i\M 



74S114 
74S133 
74S134 
74S135 
74S136 
74 SI 38 
74S139 
74S140 
74S151 
74S153 
74S157 
74S158 
74S160 
74S174 
74S175 
74S188' 
74S194 
74S195 
74S196 
74S240 
74S241 



74S24? 14 2 49 

■*hiim™ 



CD4000 
C04001 
CD4D02 
C04006 
C04007 
C04009 
CD4010 
CD4011 
C04012 
C04013 
CD4014 
CD4015 
CD4016 
CD4017 
CD4018 
C04019 
C04020 
CD4021 
C04022 
CD4923 
C04024 
C04025 
C04026 
C04027 
C04028 
C04029 
C04030 
C04034 
CD4035 
V^ (Mart id 



CA3081N 
CA3082N 
CA3083N 
CA3086N 
CA3089N 
CA3096N 



C04040 
C04041 
CD4042 
C04043 
CD4044 
C04046 
C04047 
C04048 
C04049 
CD4050 
C04051 
C04052 
CD4053 
CD4056 
C04059 
C04060 
C04066 
CD4068 
C04069 
CD4070 
CD4071 
C04072 
CD4073 
C04075 
CD4076 
C04078 
CO4081 
C04082 
C0403.1 



CA313GE 
CA3140E 
CA31BOH 

CA316IE 
CA3162E 
CA3189E 
CA3401N 



14 



CD4098 

CO450B 

C04507 

CD4508 

C04510 

CD4511 

C04512 

CD4514 

CD4515 

C01516 

C04518 

C04519 

CD4520 

C04526 

CD4528 

C04529 

C04543 

C04562 

CD4566 

CD4583 

CD4584 

CD4723 

C 04 724 

MC14409 16 

MC14410 16 



MC144 



24 



MICROPROCESSOR COMPONENTS W\ 



Part No. 



-MICROPROCESSOR CHIPS. 

"Pins Function 



C0P1802 40 CPU 

2650 40 MPU (2MHz) 

TMS5501 40 SyxlironousDala Interface ISIRC1 

MCS6502 40 MPUw/ClOCk 

MCS6502B 40 MPUw/Clockat3MHz 

6809 40 CPU-Be* (Internal Clock) 1MHz . 

6809E 40 CPU— 8-bil (External Clock) 1MHz . 

INS8035N 40 MPU-8-bi! 

INS8039N 40 CPU Snl chipB bii(t28bts.Ram) . . . 

INSB040N-6 40 CPU (256 bytes RAM) 

INS8070N 40 CPU (64 byles RAM) ... 

INS8073N 40 CPU w/Basic Micro Interpreter 

P8085A 40 CPU . 

8086 40 CPU 16-ttit 5MHz 

8088 40 CPU8/16-bil . 

8)55 40 HMOS RAM I/O Port-Timer . . . 

8748 40 HMOS EPROM MPU 

Z80, Z80A, Z80B, Z8000 SERIES - 

Z80 40 CPU (MK3880N)( 780C)2MHz 

Z80-CTC 28 Counter Timer Cir cut 

Z80-0ART 40 Oual Asynchronous Rec./Trans 

Z80-0MA 40 Direcl Memory Actess Circuit 

Z80-P10 40 Parallel I/O Interlace Controller 

Z80-S10/0 40 Serial I /0(TxC8 and R*CB Bonded) 

Z80-SI0/1 40 Serial I/O (Lacks DTBB) 

Z8OS10/2 40 Seriall/0 (LacksSVNCB) 

Z80S10/9 40 SenaJi/O 

Z80A 40 CPU(MK3880N-4)(.78OC-1)4MHz 

Z80ACTC 28 CounterTmer Crcuit 

Z80A-DART 40 Dual A synchronous Rec. /Trans 

Z80A-OMA 40 Direct Memory AccessCircuit 

Z80A-P10 40 Parallel I/O Inter faceController 

Z80A-S10/0 40 Serial I/O (TxCB and RxCB bonded) 

Z80A-S10/1 40 Serial I/O (tacks OTFB) . .. 

Z80AS10/2 40 Serial I/O (tacks SVNC8) 

Z80A-S10/9 40 Serai I/O 

Z80B 40 CPU(MK3880N-6)6MHz 

Z80B-CTC 28 Counter Timer Circuil 

Z80B-DART 40 Oual A synch. Receivef/Traiismme/ 

Z80B-P10 40 Parallel 1/0 interlace Controller 

28001 48 CPU Segmented 

Z8O02 40 CPU Norv Segmented 

Z8030 40 Senal Comrn. Controller 

Z8036 40 Counter/Timer SParallell/OUnit 

6500/6800/68000 SERIES — 

MC6S02A 40 MPU wilh clock andRAM (2MHz) 

MC6520 40 Peripheral Inter Adapter .. . 

MC68D0 40 MPU 

MCG802CP 40 MPU wilh clock and RAM 

MC68D9E 40 CPU (1 MHz) External (Locking) 

MC6821 40 Peripheral Inter Adapl (MC6820J 

MC6828 24 Prionly Inierrupl Controller . 

MC683QL8 24 1024x8-bit ROM (MC68A30-8) 

MC6850 24 AsyncruonousComm. Adapter 

MC6852 24 Synchronous Serial Data Adapter 

MC686Q 24 0600bps Digital MODEM 

MC68000L8 64 MPU 16-Bit (8MHz) 

MC684B8P 40 General Purpose Int Adapter 

MCGB652P2 40 Multi. Proiocol Comrn Controller 

MC6866IPB 28 Enhanced Prog Comrn Int 

MCM687G4 24 64K EPROM (450ns) 

SY6522 40 Peripheral Inter Adapter 

aooo series : 



19 95 
12.95 

44.95 
34.95 



INS8080A 

INS8154 

8156 

INS82C06 

DP8212 

OP8214 

DPB216 

OP8224 

DP8226 

DP8228 

DP8238 

INS8243 

INS8245 

INS8246 

1US8247 

INS8248 

INS8250N 

OP8251 

OP8253 

OP8255 

DP8257 

OP8259 

DP8275 

OP8279 

8284 

OP8303 

DP8304 

OP8307 



INS1771-1 

F01791 

F01793 

F01795 

FD1797 



40 CPU 

40 128 Byte RAM 16-Bitl/O 

40 RAM with l/OPort and Timer . 

20 Octal Flip Flop Tr i-Slale ( 74C374) 

24 8-bit lrput/0u1pu1(74S4 12) 

24 Priority interrupt Control 

16 BiDireclioiial Bus Driver 

16 Clock Gereratw/Oriver 

16 Bus Driver . 

28 System Cont. /Bus Dnver(74S428) 

28 Syslem Controller (74S438) 

24 l/DExpanderlor48 Series 

18 16-Key Keyboard Encoder (74C92?) 

20 20-Key Keyboard Encoder (74C923) 

2a Display Controller 1) 

2a Display Controller (74C912) 

40 Asyn. Cornm Element 

28 Prog. Cornm. I/O (USART) 

24 Prog interval Timer ... 

40 Prog Peripheral I /O(PPl) 

40 Prog OMAConlrol 

28 Prog Interrupt Control 

40 Prog. CRT Controller .. .. 

40 Prog. Keyboard/Dtsplay Interlace 

16 Clock Geneelor/Onvei 

20 8-BilTn-State Br-Directional Trans 

20 8-bil B -Directional Receiver ... 

20 8-bil Bi-Oirectionai Receiver 

20 8-bil Bi-Direclionnl Rxeiver . 

20 Qclal Latched Per ipheral Oriver 

40 8-bilUniv Penpherallntertace . 

40 16KEPP0M with I/O 

— DISK CONTROLLERS 

40 Single Density 

40 Single/Dual Density (Inv) 

40 Single/Double Oensily (True) 

40 Dual Densriy/Side Select (Inv ) 

40 Dual Density/Side Select True 

— SPECIAL FUNCTION 



OS0025CN 

OS0026CN 

INS2651 

MC3470P 

MM58167AN 

MM58174AN 

COP402N 

COP402MN 

COP470H 

MM5369AA/N 

MM5369EST 



8 Dual MOS Clock Oriver (5MZ) . 

8 Dual MOS Clock Dnver (5MZ) 

28 CommunicalionChrp 

18 Floppy Disk Read Amp System 

24 Microprocessor Real TimeCiock . . . 

16 Micro Compatible Time Clock 

40 Microconlrollerw/64-digitRAM . . . 

and Direct LED Drive 

40 Microprocessor w/64-digil RAM 

& Direcl LEO Or ive w/N 8uss Int 

20 32-segVAC Fluor Ovr (20-pmpkg ) 

8 Prog Oscilla lor/Oivrder (60Hz). . . . 

8 Prog OsclltatoF/Dwider (100Hz) 



DrNflmlC RAMS 



4027 

4116N-2 

4116N-3 

4116N4 

4164N-150 

4164N-200 

MM5261 

MMS262 

MM5270 

MM5280 

4)256 

MM5290-2 

MM5290-3 

MM5290-4 

MM5298-3 



1101 
2101 
2102 
2U02 



18 
16 

16 16.384x1 (150ns) 

16 16.384x1 (200ns) 

16 16.384x1 (250ns) 

16 65.536x1 (150ns) 

16 65,536x1 (200ns) 

18 1024x1 (300ns) 

22 2D48x1 ■"" 

18 4096x1 

22 4096x1 

16 256x1 , 

16 16.384x1 (150ns) 

16 16.384x1 (200ns) 

16 16.384x1 (250ns) 

16 8192x1 (200ns) 
■STATIC RAMS 



1.89 8/14 95 
1 69 8/12 95 
1 49 8/10 95 

6 95-8/49 95 

5 95-8/44 95 

49-8/195 

(365ns) 10 

(250ns) MK4096 4 95 

(200ns) 2107 3 95 

ItSOnsL 75.00 



t 8 



4 95 



16 256x1 

22 256x4 

16 1024x1 

16 1024xt 

18 256x4 

16 256x4 



2114L 

2114-2 

2114L-2 

2147 

2148 

TMS4045 

TMS40L47-45 

5101 

MM5257 

HM6116P-3 

HM6116P-4 

HM6116LP-4 

HM6264P-15 

HMG264LP-15 

27LS00 

7489 

74C920 

74C921 

74C929 

74C930 

74S189 

74S200 

74S206 

74S289 

82S10 

82S25 



(650ns) 

(450ns) 
(350ns) 
(450ns) LP 
(450ns) 81 11 
(450ns) MOS 
ill 1024x4 (450ns) 
18 1024x4 (450ns) LP 
18 1024x4 ( 200ns ) 
16 1024x4 (200ns) LP 
18 4096x1 (70ns) 
18 1024x4 (70ns). 
18 1024x4 (450ns) 
20 1024x4 (450ns) 
22 256x4 (450ns) CM OS 
18 4096x1 (450ns) 4044 
24 2048x8 (150ns) CMOS 
24 2048x8 (200ns) CMOS 
24 2048x8 (200ns) LP CMOS 
28 8192x8 (150ns1 CMOS 
"" 8192x8 (150ns) L.R CMCS . . 
(80ns) LP 
(50ns) 3101 
(250ns) 
(250ns) CMOS 
(250ns) CMOS (6501) 
(250ns) CMOS (6518) 
(35ns) 93405 
(80ns) 93410 
(60ns) 93411 
(35ns) 3101 . . 
(50ns) DC (93415) 



2,95 

. . 1 95 
1.49-8/9.95 
1 95 - 8/13 95 

1 75-8/1195 

2 25-8/14 95 
495 
4.95 
3 95 
2 95 
2.95 



16 256x 

16 16x4 

22 256x4 

16 256x4 

16 1024x 



16 256x1 

16 256x1 

16 16x4 

16 1024x1 

16 16x4 



1702A 
2708 
2708-5 
TMS2516 

TMS2564 

TMS2716 

2716 

2716-1 

27160-5 

2732 

2732A-3 

2732A-4 

27320-4 

27580A 

2764-4 

2764-3 

MM 52040 

MCM68764 

27128 

74 St 88 

74S287 

74S288 

74S387 

74S471 

74S472 

74S473 

74S474 

74S475 

74S476 

74S478 

74S570 

74S571 

74S572 

74S573 

82S23 

82S115 

82S123 

82S126 

82SI29 

82S130 

82S185 

82S190 

82S191 

DM87S180N 

DM87S181N 

DM87S184N 

OM87S185N 

OM87S190N 

DM87S191N 



PROMS /EPROr. 
256x8 (I us) 
1024x8 (450ns) 



24 1024x8 (550ns) SM00246 2.95 



2048x8 (450ns) 2716 
24 4096x8 (450ns) NMC2532 
2fi 8192x8 (450ns) 
24 2048x8 (450ns) 3vollage 
24 2048x8 (450ns) 
24 2048x8 ( 350ns) 
24 2048x8 (550ns) 
24 4096x8 (450ns) 

24 4096x8 (300ns) 

24 4096x8 (450ns) 21V 
24 4096x8 (550ns| 
24 1024x8 |450ns) 
28 8192x8 (450ns) 
28 8192x8 (300ns) 
24 512x8 (Ids) 
24 8192x8 (450ns) 
28 16.384x8 (450ns) 128KEPRDM 
16 32x8 PROMOC (6330-1) 
PROMT S (6301-1) 
PROMT S (6331-1) 
PROM DC. (6300-1) 
PROMTS (6309-1) 
PROMTS. (63491) . 
PROMOC (6348) 
PROM T,S, (OM87S296N) 
PROM C (6340) 
PROM T S 
24 1024x8 PROM T S 
16 512x4 PROMOC (6305) 
16 512x4 PFOMT S (6306) 
18 1024x4 PROMOC (6352) 
18 1024x4 PROMTS (82S137) 
16 32x8 PROMOC.{27S18) 
24 512x8 PROM T S (27S15) . 
16 32x8 PROMT S (27S19) 
16 256x4 PROM C (27S20) 
16 256x4 PROM T S (27S21) . 
16 512x4 PROMOC I27S12) . 
18 2048x4 PROMTS (TBP24S81) 
24 2048x8 (80ns) 

24 2048x8 (80ns) 

24 1024x8 PROMOC (82S180) 
24 1024x8 PROM TS (82S181) 
18 2048x4 PROMO C (82S184) 
18 2048x4 PROM T S (82S185) 
24 2048x4 PROMO C (82S190) 

Mustek DC/ DC Com 



16 256x4 

16 32x8 

16 256x4 

20 256x8 

20 512x8 

20 512x8 

24 512x8 

24 512x8 

18 1024x4 



9 95 
9.95 
1495 



■9V 



J 95 



LOW PROFILE 
(TIN) SOCKETS 

1.9 10 99 



OCtO 

MC3470P 18 Floppy Disk Read AMP Syslem 

MC1408L7 16 7-bit D/A Converter (DAC0807LCN) 

MC1408L8 16 8-Dit D/A Converter (DAC0808LCM 

ADC0803LCN 20 8-bit A/0 Converter ( ± 1 /2LSB) 

A0C0804 208-bit A/0 Converter ( )LSB| 

0AC0806 16 8-t)itD/A Converter (0 78% Lin.) 

ADC0809 28 8-bitA/O Converter (B-Ch Mull) ) 4 49 

ADC0817 40 8-bit A/0 Converter ( 16-Ch Mulu ) 9 35 

0AC1000 24 10-011 0/ A Corw Micro Comp (0 05%! 7 05 

0AC1008 20 10-uil D/A Conv Micro Comp [0 20%) 8.95 

0AC1020 16 10-bil O/A Conv (0 Qb% Lin ) 7 95 

0AC1022 16 10-bil D/A Conv (0 20% Lin ) 5 95 

OACI222 18 12-bilD/ACoiw (0 20% Lin ) 
LM334Z Constant Currenl Source 

LM335Z Temperalure Transducer 

IM399H Temp Comp Prec Rel t Sppm/C ) 

( AT ; MO^^^Oj^aiiaJJarUTR1602^^^^^ 



3 49 



6 ?'.. 



18 pin LI 
20 pin LI 



SOLDERTAIL<GOLD) 
STANDARD 

1-3 10-99 100up 



1 03 



WW 



SOLDERTAIL 
STANDARD (TIN) 



14 pin ST 


29 


.27 .25 


16 pin ST 


34 


.32 .30 


IB pin ST 


3B 


.36 .34 


20 pin ST 


.45 


,43 .41 


24 pin ST 


.49 


.46 .43 


28 pin ST 


fc>9 


67 .63 


40 pin ST 


.99 


.95 .89 


WIRE 




(GOLD) LEVEL #3 




1-9 


10-99 tOO-up 



$10.00 Minimum Order — U.S. Funds Only 
California Residents Add 6Vi% Sales Tax 
Shipping — Add 5% plus $1.50 Insurance 
Send S.A.S.E. for Monthly Sales Flyer! 



[MasterCard) 




Spec Sheets — 30c each 
Send $1.00 Postage for your 
FREE 1984 JAMECO CATALOG 
Prices Subject to Change 

I ' . ' ffi WB M 



VISA" 



Digitalker 



DT1050 — Applications: Teaching aids, 
appliances, clocks, automotive, telecommunica- 
tions, language translations, etc. 

The DT1050 is a standard DIGITALKER kit encoded with 137 separate 
and useful words, 2 tones, and 5 different silence durations. The 
words and tones have been assigned discrete addresses, making it 
possible to output single words or words concatenated into phrases 
or even sentences. The "voice" output of the DT1050 is a highly in. 
telligible male voice. Female and children's voices can be synthesiz- 
ed. The vocabulary is chosen so that it is applicable to many pro- 
ducts and markets. 

The DT1050 consists of a Speech Processor Chip. MM54104 (40-pin) 
and two (2) Speech ROMs MM52164SSR 1 and MM52164SSR2 (24-pin) 
along with a Master Word list and a recommended schematic 
diagram on the application sheet. 

DT1050 Digitalker™ S34.95ea. 

MM54104 Processor Chip $14.95 ea . 

DT1 057 - Expands the DT1 050 vocabulary from 137 to over 260 

words. Includes 2 ROMs and specs. 

Part No. DT1057 $24.95 ea. 

* Evaluation I |[^|||H ^[^^]|[[I | ^IMlf l l 

Part No. "Pins Function Price 



7045IPI 

7045EV/KU- 

7106CPL 

FE02030 

7106EV/Kif 

7107CPL 

7107EV/Kif 

7116CPL 

7201IUS 

7205IPG 

7205EV/KH- 

7206CJPE 

720GCEV/KH' 

7207AIP0 

7207AEV/KH" 

7215IPG 

7215EV/KH- 

7216AUI 

72160IPI 

7217IJI 

7217AIPI 

72241 PL 

7226AEV/Kif 



CMOSPrecision Timer 

SlopwalchChip, XTL 

3'/? OtgilA/0 (LCD Drive) 

3v> Oigil LCOOisptay lor 7106 & 711 

IC. Circuit Board, Display 
3ftDigilA/0lLED0nve) 
tC. Circuit Board. Oisplay 
3%0igitA/0LC0Ds HLD 
Low flattery Volt Indicator 
CMOSLEOSIopwalcli/Timer 
Stopwalch Chip. XTL 
Tone Generator 
Tone Generator Chip. XTL 
Oscillalor Controller 
Frcq Counter Chip, XTL. 
4Func CMOSStcpwatchCKT 
4 Func Slopwalcti Chip. XTL 
SOigitUmv Counter C A 
8 Oigit Freq Counter C C 
4 Oigit LEOU p/Down Counter C A 

4 Oigit LEOUp/OownCounter C C 
LC04V> OigiiUpCounlerOftl 

5 Funclion Counter Chip. XTL 



1495 
19 95 
.9 95 
19 95 
3495 
1195 
2995 



14 95 
2995 
1995 
10 95 



1 30009 1983 INTERSIL Data Book (i356o.) $9.95 1 



74HC High Speed CMOS 



1355 SHOREWAY ROAD, BELMONT, CA 94002 
8/84 PHONE Q_RDERS WELCOME — (415) 592 8097 Telex: 176043 



74HC0O 


14 


59 


71HC139 


lb 


99 


74HC253 


74HC02 


14 


59 


74HC147 


lb 


119 


74HC257 


74HC03 


14 


75 


74HC151 


lb 


89 


74HC259 




14 


59 


74HC153 


lb 


99 


74IC266 


74HCU04 


14 


65 


74HC154 


74 


249 


74HC273 


74HC08 


14 


,59 


74HCI57 


lb 


89 


74HC280 


74HC10 


14 


59 


74HC158 


lb 


89 


74HC299 


74HC11 


14 


59 


74HC160 


lb 


1.29 


741C366 


74HC14 


14 


85 


74HC161 


lb 


129 


74HC367 


74HC20 


14 


.59 


74HC162 


lb 


129 


74HC373 


74HC27 


14 


59 


74HC163 


lb 


129 


74HC374 


74HC30 


14 


69 


74HC164 


14 


129 


74HC390 


74HC32 




75 


74HC165 


lb 


279 


74HC393 


74HC42 


16 


99 


74HC166 


16 


295 


74HC533 


74HC51 


14 


75 


74HC173 


lb 


169 


74HC534 


74HC58 


14 




74HC174 


lb 


99 


74HC595 




14 


.79 


74HCI75 


lb 


99 


74HC688 






79 


74HCI92 


lb 


139 


74HC4002 


' 


16 


89 


74HC193 


lb 


139 


74HC4017 


74HC76 


lb 




74HC194 


lb 


109 


74HC4020 


74HC85 


lb 


1.59 


74HC195 


lb 


109 


74HC4024 


74HC86 


14 


.69 


74HC237 


lb 


295 


74HC4040 


74HC107 




.59 


74HC240 


?f) 


195 


74HC4060 


74HC109 


lb 


,79 


74HC241 


?n 


195 


74HC4075 


74HC1I2 


lb 


79 


74HC242 


14 


195 


74HC4078 


74I1C113 


14 


79 


74MC243 


14 


195 


74HC4511 


74IICI25 


14 


99 


74HC244 


?fl 


195 


74HC4514 


74HC132 


14 


99 


74HC245 


70 


2 49 


74HC4538 


74HC137 


lb 


1.95 


74HC251 


lb 


89 


74HC4543 


741 (CI 38 


lb 


1.09 


74KCU04 Is unbullereO All other 



74 COO 
74C02 
74C04 
74C08 
74C10 
74C14 
74C20 
74C30 
74C32 
74C42 
74C48 
74C73 
74C74 
74C85 
74C86 
74C89 
74C90 
74C93 



tilti 



IffliilU* 



74C95 
74C107 
74C151 
74C154 
74C157 
74C160 
74C161 
74C162 
74C163 
74C164 
74C173 
74C174 
74C175 
74C192 
74C193 
74C195 



74C221 
74C24Q 
74C244 
74C373 
74C374 
74C901 
74C903 
74C906 
74C911 
74C912 
74C915 
74C917 
74C922 
74C923 
74C925 
74C926 
80C95 
80C97 



TL071 CP 

TL072CP 

TL074CN 

TL081CP 

TL082CP 

TL084CN 

LM301CN 

LM302H 

LM304H 

LM305H 

LM307CN 

LM308CN 

LM309K 

LM310CN 

LM311CN 

LM312H 

LM317T 

LM317K 

LM318CN 

LM319N 

LM320K-5 

LM320K-12 

LM320K-15 

LM320K-24 

LM320T-5 

LM320M2 

LM320M5 

LM320T-24 

LM322N 

LM323K 

LM324N 

LM3290Z 

LM331N 

LM334Z 

LM335Z 

LM336Z 

LM337MP 

LM337T 

LM338K 

LM339N 

LM340K-5 

LM340K-12 

LM340K-15 

LM340K-24 

LM340T5 

LM340M2 

LM340Tt5 

LM340T-24 

LM341P-5 

LM341P-12 

LM34IP-15 



LM342P-5 

LM342P-12 

LM342PI5 

LF347N 

LM348N I 

U/350K 

LF351N 

LF353N 

LF355N 

LF356N 

LM358N 

LM359N 

LM370N 

LM373N 

LM377N 

LM380CN 

LM3B0N 

LM381N 

LM382N 

LM384N 

LM386N-3 

LM387N 

LM389N 

LM391N-80 

LM392N 

LM398N 

LM399H 

TL494CN 

TL496CP 

NE531V 

NE544N 

NE5S0A 

NE555V 

XR-L555 

LM556N 

NE564N 

LM565N 

LM566CN 

LM567V 

NE570N 

NE571N 

LM703CN 

LM709N 

LM710N 

LM711N 

LM723N 

LM733N 

LM739N 



LM741CH 8 

LM747N 14 

LM74SN 8 

LMt3t0tt t4 

MC1330AI 8 

MC1349 8 

MC1350 8 

MC1358 14 

LM 1456V 8 

LM1458CN 8 

LM 1488(1 14 

LM1489N 14 

LM1496N 14 
LH1605CK 

LM1800N 16 ; 

LM1871N 18 

LM1872M 18 : 

LM1877N-9 14 ! 

LM18B9N 18 , 

LM1896JJ 14 i 
LM2002T 

ULN2003A 16 

X«2206 16 

XR2207 14 

XR2208 16 

XR2211 14 
LM2877P 

LM2878P ; 

LM2901N 14 

LM2902N 14 

LM2907N 14 ; 

UA39O0N 14 

LM3905CN B 

LM3909N 8 

LM3914N 18 ! 

LM3915N 18 I 

LM3916N 18 2 

RC4136N 14 1 

RC4151NB 8 I 
RC4194TK ' 

RC4195TK 

LM4250CN 8 1 

LM4500A 16 I 

NE5532 B i 

NE5534 B 
79M05 

ICLM3I8 14 I 

LM13080N 8 

LM13600M 16 

76477 28 
MORE AVAILABLE 



30003 1982 Nat. Linear Data Book 0952 pgs i $11.95 . 



220 BYTE* AUGUST 1984 



Circle 168 on inquiry card. 



Commodore 



RS232 ADAPTER FOR 
VIC-20 AND COMMODORE 64 




The JE232CM allows connection of standard serial RS232 
printers, modems, etc. to your VIC-20 and C-64. A 4-pole 
switch allows the inversion of the 4 control lines. Com- 
plete installation and operation instructions included. 
• Plugs into User Port ■ Provides Standard RS232 signal 
levels • Uses 6 signals (Transmit, Receive, Clear to Send, 
Request to Send, Data Terminal Ready, Data Set Ready). 

JE232CM $39.95 



VOICE SYNTHESIZER 
FOR APPLE AND COMMODORE 




JE520AP 



JE520CM 

• Over 250 word vocabulary- affixes allow the formation of more 
than 500 words • Buift-in amplifier, speaker, volume control, and 
audio jack • Recreates a clear, natural male voice • Plug-in user 
ready with documentation and sample software • Case size: 
7V«"L x 3'/4"W x 1-3/8"H 

APPLICATIONS: • Security Warning • Telecommunication 

• Teaching • Handicap Aid 

• Instrumentation • Games 
TheJE520 VOICE SYNTHESIZER will plug right intoyour 
computer and allow you to enhance almost any applica- 
tion. Utilizing National Semiconductor's DIGITALKER™ 
Speech Processor IC (with four custom memory chips), 
the JE520 compresses natural speech into digital mem- 
ory, including the original inflections and emphases. The 
result is an extremely clear, natural vocalization. 

Part No. Description Price 

JE520CM For Commodore 64 & VIC-20 $114.95 

JE520AP For Apple II, 11+ , and lie $149.95 



JE664 EPROM PROGRAMMER 

8K to 64K EPROMS - 24 & 28 Pin Packages 

Completely Self-Contained - Requires No Additional Systems far Operation 

■ Programs and validates EPROMs • Checks lor properly erased EPROMs 
• Emulates PROMs or EPROMs • RS232C Computer Interlace lor editing and 
program loading • Loads data into RAM by keyboard -Changesdata in RAM 
by keyboard ■ Loads RAM trom an EPROM ■ Compares EPROMs lor content 
differences * Copies EPROMs • Power Input: 1 15VAC, 60Hz, less than tOW 
power consumption • Enclosure: Color-coordinaled, fight tan panels with 
molded end pieces in mocha brown ■ Size: 15VL x 8 a i"D x 3'V'H • Weight: 
SVl lbs. 

Tlie JE664 EPROM Programmer emulates and programs various 3-B.i Word EPROMs from BK to 
64K-Bit memorycapacity Oata can be entered mio iheJE664s internal 6Kx 88rtMM in Ihree 
ways: (I) liom aROMor EPR0M;(2)iroinan external computervia1heop!ionalJE665RS232C 
BUS: (3) Horn us panel keyboard. The JE664's II AMs may be accessed Km emulation purposes 
horn ilie panel's test socket to an enteral microprocessor In programming and emulation, the 
JE664 allows im examination, change and validation ot program content. TtieJE664s HAMs 
can oe programmed Oui Wy to ,111 "1 "s lor any value), allowing unused addresses in the EPROM 
to be programmed later without necessity of "UV" erasing The JE664 displays OATA and 
ADDRESS in •onvmicnl hexadecimal (alphanumeric) lormat. A "DISPLAY EPROM OATA" 
button chano.es the OATA readout from RAM word to EPROM word and is displayed in both 
hexadecimal and binary code The front panel (eatures a convenient operating guide The JE664 
Programmer includes oneJMI6AJumper Module (as listed below). 

JE664-A EPflOM Programmer. $995.00 

Assembled & Tested (Includes JM 1 6A Module) 

JE665 - HSZ32C INTEHFACE OPTION - the RS232C interlace Option implements 
computer ac ess 10 ihe J£66<i's RAM This allows me compuier to manipulate, store and 
iranslerEPROMdatatoandtrom theJE664 Asampleprogramlisungis suppiiedin MOASiC lor 
CP/M computers Oocumemaiion is provided toadaptthe software toother computers wiihan 
RS232 port. 9600 Baud, 6-bilword, odd panty and2 stopbits 

FOR A LIMITED TIME A SAMPLE OF SOFTWARE WRITTEN IN BASIC FOR 
THE TRS-80- MODEL I. LEVEL II COMPUTER WILL ALSO BE PROVIDED 

JE664-ARS EPROM Prog, W/JE665 Option $1195.00 

Assembled & Tested (Includes JM16A Module) 



EPROM JUMPER MODULES - The JE664sJUMPER MODULE (Personality Module) is a 
plug-in Module thai pre-sets ihe JE664 lor ihe oroper programming pulses to the EPROM and 
configures Ihe EPROM sockel connections tor that particular EPROM 


JEBttMV 
tmtatui. ■< 


EPwa 


WJV 


ma* Kuitfjummrj 


MCE 


JM08A 


2708 


2iV 


AMU M;wc*a. Nat, Intel. II 


m.» 


JM16A 


J7I0. IMS2516ITH 


25V 


Intel. l/SlOiWi Hat .NtX. II. 
iv:i M ;.s-: Hi. Mustek 


stags 


....„•;, 


TMS2;i<!n-Vs» 


■SV-5V.<13V 


Mowon li. 


SM95 


-PUPA 


IMS2532 


2SV 


M oioioio 11 Hi.icm.0m 


SI 4 55 


JH028 


2732 


2SV 


NEC H,txri. mid. 
«;Butts-1i. Kuonal 


SU95 


*132C 


2732A 


2ty 


Fu»Bu. hilcl 


51495 


mm 


MCM6B7M. 
UCWK.7W 


2W 


***** 


IW9S 


^ JUMB 


VIA 


21V 


inlrl. FirtHM. OKI 


HUH 



ProModem 1200 



It: 

PROMETHEUS 



Intelligent 300/1200 Baud 

Telephone Modem with 
Real Time Clock/Calendar 

The ProModem™ is a Bell 21 2A (300/1 200 baud) intelli- 
gent stand-alone modem • Full featured expandable 
modem -Standard features include Auto Answer and 
Auto Dial, Help Commands, Programmable Intelligent 
Dialing. Touch Tone™ and Pulse Dialing & More • Hayes 
command set compatible plus an additional extended 
command set • Additional options & models available 

PM1200 $375.00 



KEYBOARDS 




"HP 



13VLx4'A"WxVH 



New! 



1 6-9/1 6"Lx6 3 s'Wx1VH 



Nationally Known 
Manufacturer! 




New! 



14 , j."Lx5'2"Wx1l!"H 




Mitsumi 54-Key Unencoded 
Matrix All-Purpose Keyboard 

• SPST keyswilches • 20 pin ribbon cable connec- 
tion • Low profile keys ■ Features: cursor controls, 
control, caps (lock), function, enter and shift keys 
•Color (keycaps): grey ■ Wt.: 1 lb. • Pinout included 

KB54 $14.95 



76-Key Serial ASCII Keyboard 

• Simple serial interface • SPST mechanical switch- 
ing • Operates in upper and tower case ■ Five user 
function keys: F1 -F5 ■ Six finger edge card connec- 
tion • Color (keys): tan • Weight: 2 lbs. • Data inct. 

KB76 $29.95 



106-KEY 8-BIT SERIAL ASCII 
KEYBOARD 

• The terminals were designed to be daisy chained 
around a central host computer and used as indi- 
vidual work stations • Hall ellect switching • numeric 
and cursor keypad • 10 user definable keys • 50" 
interface cable with 9-pin sub-miniature connector 

■ 7 LED function displays • Security lock • N-key roll- 
over ■ Automatic key repeat function ■ Color: (case): 
white w/black panel— (key caps): grey and blue 

■ Weight: 6% lbs. • Data included, 

KB139 $59.95 



68-Key Keyboard with Numeric 
Keypad for Apple II and II+ 

• Plugs directly into Apple II or II+ motherboard with 
16-pin ribbon cable connector ■ 26 special func- 
tions • Cotor (keys): white/grey ■ Weight: 2 lbs. 

KB-A68 $99.95 



^JMMC TMS25M 




POWER SUPPLIES 



TRANSACTION TECHNOLOGY, INC. 
5VDC @ 1 AMP Regulated Power Supply 

• Output: +5VDC @ 1 . amp (also +30VDC regulated) • Input: 1 1 5VAC. 60 Hz 

• Two-tone (black/beige) self-enclosed case • 6 foot, 3-conductor black 
power cord • Size: 6V2" L x 7" W x 2V H • Weight: 3 lbs. 

PS51194 $14.95 







Power/Mate Corp. REGULATED POWER SUPPLY 

• Input: 105-1 25/210-250 VAC at 47-63 Hz • Line regulation: ' 0.05% ■ Three 
mounting surfaces -Overvoltage protection • UL recognized • CSA certified 
Pari No. Output Site Weight Price 



EMA5/6B 
EMA5/6C 



5V@3A/6V@2.5A 4'V'L x 4'W x 2',i"H 
5V@6A/6V@5A 5Va"L x 4%"W x 2? V'H 



2 lbs. 
4 lbs. 



S29.95 
$39.95 



POWER SUPPLY +5VDC fl 7.6 AMP. 1 2VDC @ 1 .5 AMP SWITCHING 

• input: 1 15VAC. 50-60Hz @ 3 amp/230VAC 50Hz @ 1.6 amp. -Fan voil./power supply 
select switches 11 15/230VAC) ■ Ouloul: 5VDC@ 7 6 amp. 12VDC@1 5 amp • 8 loot black 
power cord • Size: 1 1 '-j"L x 13VW x 3VH • Weight: 6 lbs. 

PS94VOS $39.95 



KEPCO/TDK 4-OUTPUT SWITCHING POWER SUPPLY 

* Ideal for disk drive needs of CRT terminals, microcomputers and 
video games • Input: 1 1 5/230VAC. 50/60Hz • Output: + 5 V@ 5Amp. + 12 V@ 
1.8 Amp, +12V@ 2 Amp, -12V @ 0.5 Amp ■ UL recognized -CSA certified 

• Size: 7VL x 6-3/16' W xlV'H • Weight: 2 lbs. 

MRM 1 74KF $59.95 



POWER PAC INC. REGULATED POWER SUPPLY 

• Perfect forcomputersystems • Output: +5VDC® 11 Amps, -5VDC® 1 Amp, 
+ 12VDC @ 2 Amps. -12VDC @ 0.5 Amp and +24VDC @ 3 Amps • Over- 
voltage protection • Size: 1 2WL x 6VW x 4*»"H • Weight: 1 7 lbs. • Spec incl. 

PS2922 $69.95 



4-CHANNEL SWITCHING POWER SUPPLY 

• Microprocessor, mini-computer, terminal, meaicai equipment and process 
control applications ■ Input: 90-130VAC, 47-440Hz ■ Output: +5VDC @ 5A. 
-5VDC® 1 A; + 1 2VDC@ 1 A, - 1 2VDC@ 1 A ■ Lineregulations: ±0.2% • Ripple: 
30mV p-p • Load regulation: s1% • Overcurrent protection • Adj: 5V main 
output -10%- Size: 6 3 VlxHVWx 4-15/1 6"H -Weight: Vh lbs. 

FCS-604A $69.95 each 



Switching Power Supply for APPLE II, II+ & lie 7 " 

■ Can drive four floppy disk drives and up to eight expansion cards 

• Short circuit and overloadprotection ■ Fits inside Apple computer 

• Fully regulated +5V @ 5A, + 1 2V @ 1 5A, -5V @ .5A. - 1 2V @ .5 A 

• Direct plug-in power cord included ■ Size: 9VL x 3'6"W x 2'V'H 

■ Weight: 2 lbs. 

KHP4007 $79.95 



$10.00 Minimum Order — U.S. Funds Only 
California Residents Add 6Vi% Sales Tax 
Shipping — Add 5% plus S1.50 Insurance 
Send S.A.S.E. for Monthly Sales Flyer! 



Spec Sheets — 30c each 
Send S1.00 Postage for your 
FREE 1984 JAMECO CATALOG 
Prices Subject to Change 




1355 SHOREWAY ROAD, BELMONT, CA 94002 
3/84 PHONE ORDERS WELCOME — (415) 592-8097 Telex: 176043 





Fiberoptics 



{ The EDU-LINK Learning Kit 

The EDU-LINK fiber optic system 
is a low-cost, TTL compatible data 
transmission system designed 
specifically as an educational tool 
for students and engineers work- 
ing in many different industries. 
Includes: transmitter PCB, a re- 
ceiver PCB, one meter of plastic 
optic fiber, and all the necessary 
electrical hardware ■ Complete step-by-step instructions, 
theory of operation, and tutorial information are included. 

ELK- 1,....ONLY$ 19.95 



APPLE ACCESSORIES 



5V4" APPLE™ 

Direct Plug-In 

Compatible Disk Drive 

and Controller Card 

The ADD-514 Disk Drive uses 
ShugartSA390 mechanics-143K 
formatted storage • 35 tracks 
■ Compatible with Apple Control- 
ler & ACC-1 Controller ■ The drive 
comes complete with connector and cable - just plug 
intoyour disk controller card • Size: 6"L x 3M?"Wx 8-9/l6"D 

• Weight: 4V* lbs. 

ADD-514 (Disk Drive) $195.95 

ACC-1 (Controller Card) $ 69.95 

Also Available... 

JE864 (80 Col. + 64K RAM for lie) $124.95 

JE614 (Numeric/Aux. Keypad lor We) $89.95 

ED ^d^stries Protect Yourself... 
-V DATASHIELD 

itjlJl Surge Protector 

l ^^ESktiA ' Eliminates vollaqe spikes and EMI-RFI noise 
iflmV before it can damage yourequipment or cause 
S^ data loss- 6 month warranty -Power dissipa- 

tion { 1 00 micr oseconds}: 1 .000.000 watts • 6 
sockets • 6 foot power cord • Normal line volt- 
age indicator light • Brown out/black out reset 
switch • Weight: 2 tbs. 

Model 100 $69.95 

Protect DATASHIELD 

Yourself... Back-Up 

Power Source 

■ Provides up to 30 minutes of conlinuous 120 

J VAC 60Hz power to your computer system 

g U (load dependent) when you have a black out 

or voltage sag • Output raling: 200 watts • Six 

month warranty • Weight; 24 lbs. 

Model 200 (PC200) $349.95 

For more demanding systems (e.g. with hard disks) 

• Output rating: 300 watts 

XT300 $489.95 



IBM MEMORY EXPANSION KIT 
COMPAQ COMPATIBILITY 



SAVE HUNDREDS OF $$$ BY UPGRADING 
MEMORY BOARDS YOURSELF! 

Most of the popular memory boards allow you to add an additional 
64K, 128K. 192K, or 256K. The IBM64K Kll will populate these boards 
In 64K byte Increments. The kit is simple to install — Just Insert the 
nine 64K RAM chips in Ihe provided sockets and set the two groups 
ol switches. Directions are included. 

IBM64K (Nine 200ns 64K RAMs) $49.95 



TRS-80 MEMORY EXPANSION KIT 



TRS-80 to 16K, 32K, or 48K 

•■Model 1 = From 4K to 16K Requires (1) One Kit 
Model 3 = From 4K to 4BK Requires (3) Three Kits 
Color = From 4K to 16K Requires (1) One Kit 

"Model 1 equipped with Expansion Board up to 48K Two Kits Required 
— One Kit Required lor each 16K ol Expansion - 

TRS-16K3 *200ns for Color & Model III S12.95 

TRS-16K4*250ns for Model I. S10.95 



TRS-80 Color 32K or 64K Conversion Kit 



Easy to install kits comes complete with 8 ea. 4 1 64-2 (200ns) 64K 
dynamic RAMsandconversiondocumentation. ConvertsTRS-80 
color computers with D. E, ET, F and NC circuit boards to 32K. 
Also converts TRS-80 color computer II to 64K. Flex DOS or 0S-9 
required to utilize full 64K RAM on all computers. 
TRS-64K2 S44.95 



UV-EPROM Eraser 

[ 8 Chips — 51 Minutes ] % "*- 



| 1 Chip — 37 Minutes 



Erases 2708. 2716. 2732, 2764, 2516, 2532. 2564. Erases up lo B chips 
within 51 minutes (1 chip In 37 minutes). Maintains constant exposure 
distance of one inoh. Special conductive foam liner eliminates static 
buildup. Built-in safety lock to prevent UV exposure. Compact — only 
9.00" x 3.70" x 2.60". Complete with holding tray for B chips. 



DE-4 UV-EPROM Eraser . . 
UVS-11EL Replacement Bulb 



$ 79.95 7 

■ ■$16.95^/ 



Circle 168 on inquiry card. 



AUGUST 1 984 • BYTE 221 



Why are over 




of our customers 

since 1978 repeaters? 

It's very simple . . . 

they call and 

save money! 

1-800-841-0860 



" 



For example: 



SANYO MBC SERIES 

We have the LOWEST prices. 
Call us before you buy. 



STAR MICRONICS 

GEMINI 10X 

$ 245 



COMPUTERS 



PRINTERS 



Radio /hack 



EPSON OKKWA 
C.ltoh 



EQUIPMENT 



(flHayes- 



d*isywriter cnnai XWvtCEK 



MANNESMAN Djab | 



^TXX/AM 



Frank!::: 

Computer Transfer TOSHIBA pss>> 

VISA and MasterCard accepted; also Wire Transfer of rands 
directly from your bank to ours. 



Name 

brands at 
wholesale 
prices 



micro 

management 

systems, mc. 

2803 Thomasville Road East 

Cairo, Georgia 31728 

For info, call 912-377-7120 



Ask for 

a free copy 

of our 

latest catalog 



THREE LANGUAGES 



222 BYTE • AUGUST 1984 



Circle 341 on inquiry card 



result of the function. Consequently, the 
function cannot return an uninitialized 
data value. If you reach the end of a 
function before executing a return state- 
ment, the program generates a run-time 
error. This makes it much easier to 
guarantee that the generated value is 
appropriate. 

In both Ada and Modula-2, an exit 
statement within a program loop allows 
you to cut off its execution and transfer 
control to the next statement beyond it. 
In Ada you can label a loop, and you 
can exit from any one of several nested 
loops by supplying the correct label. In 
Modula-2, however, you cannot label 
loops, and there is no easy way to cur- 
tail an outer loop. The exit statement 
always terminates the innermost loop, 
as it does in Ada when the program 
doesn't supply a label. 

Of the three languages, only Modula-2 
has no GOTO statement. The availabili- 
ty of exit and return statements makes 
them unnecessary. However, Ada has 
retained them. The Modula-2 exit state- 
ment, on the other hand, is too restric- 
tive, and the Ada construct seems more 
appropriate. In fact, it might be better 
if an exit statement always required a 
label. This would prevent problems 
from arising when one loop is inserted 
within another after it's written. 

A final difference between the three 
languages has to do with the handling 
of statement lists. When you write a 
loop in Ada or Modula-2, the body of 
the loop is assumed to contain a list of 
statements. The same is true for each 
branch of a conditional or case state- 
ment. In Pascal, on the other hand, most 
of these constructs require a single 
statement, which can. if necessary, be 
a list of statements enclosed within a 
begin-end pair. The absence of explicit 
begin-end bracketing in Ada and 
Modula-2 creates the need for a way to 
terminate the corresponding statement 
list. Ada has introduced three new 
tokens, end if, end case, and end loop, 
while Modula-2 has simply reused the 
reserved word end for all three. The 
Ada solution is often helpful in pin- 
pointing the cause of syntax errors. 

Exception Handling 

Exceptions are conditions you wish to 
exclude from normal processing con- 
siderations. They are normally the result 

[continued) 

Circle 251 on inquiry card. — ► 




MAKE THE CONNECTION... IN THE SLOT 



Now you can plug the ease of use 
and leadership features of a 
POPCOM " personal communications 
modem directly into one of the 
expansion slots of your IBM PC, XT, 
Portable, or IBM slot compatible 
computer. 

With the new POPCOM modem 
from Prentice Corporation... 

• Your personal computer becomes 
essentially a voice and data work- 
station, and the need for costly 
extra telephone lines is eliminated. 

• Activity on the phone line is detected 
(most modems don't do this) and 
the costly extra load placed on your 
company's internal phone system 
is reduced. 

• You communicate at the fast, eco- 
nomical 1200 bps rate as well as 
the standard 300 bps rate. 

• Telephone numbers you have 
selected are automatically dialed 
and redialed if busy, and incoming 
calls are automatically answered. 

• You have compatibility with the 
popular communications software 
packages of today, and advanced 
features that will let you take 
advantage of the next generation 
of communications software as well. 

• Only one s\ol m your PC, XT, or 
Portable is required. 

With a suggested retail price 
of $445, the C100 means real 
price/performance. All of these 
leadership performance features 
are also available in the external 
POPCOM X100 modem so now you 
have a choice... inside or outside. 

See your local dealer for more 

information, or contact 

PRENTICE Corporation 

266 Caspian Drive 

P.O. Box 3544 

Sunnyvale, CA 94088-3544 

(408) 734-9855 



«#** 




IPRENTICE 



Corporation 



MODEMS 



C100 



POPCOM is a trademark of PRENTICE Corporation 

IBM is a registered trademark of International Business Machines Corporation 
1984 Prentice Corporation 



THREE LANGUAGES 



of an unlikely set of circumstances that 
may or may not represent an error. 
Many times a particular exception can 
arise at almost any point during the ex- 
ecution of your program, and you 
would like to be able to deal with it 
without continually testing for it. A hard- 
ware interrupt, especially one caused by 
an arithmetic error such as dividing by 
zero, is a perfect example of this type 
of exception. Since the hardware must 
check for it, additional software tests 
may be wasteful. A mechanism for 
handling exceptions should probably be 
rated by its ability to deal with this kind 
of hardware interrupt. 

Of the three languages, only Ada has 
attempted to solve the problem of ex- 
ception handling. At the end of each 
function or procedure, and at certain 
other points in your program, you can 
define an exception handler. It is essen- 
tially a case statement containing one 
branch for each exception you are will- 
ing to handle. Exceptions must be 



declared and you may activate one at 
any point in your program by executing 
a raise statement that references it. 
When an exception is raised during the 
execution of a procedure or function, 
by the routine itself, by another routine 
that it called, or by the hardware, the 
appropriate branch of its exception 
handler is invoked. 

Once a routine has dealt with an ex- 
ception, it must return control to the list 
of statements that called it. You can pre- 
vent the exception from propagating, 
but you can't fix things up and return 
to the place where the exception oc- 
curred. For this reason, Ada exceptions 
have only marginal value. They will be 
adequate for many situations, but they 
aren't useful enough to justify an expen- 
sive implementation. 

Task Management 

As mentioned earlier, most program ex- 
ecution is sequential. If you wish to 
simultaneously execute more than one 



statement sequence you need to create 
a separate task or process. You also 
need to control it once you create it. At 
any given moment, there is a potential- 
ly different statement in control of each 
task in your program. If your program 
contains more than one active task, a 
collection of statements (rather than just 
one) determine its behavior. A task may 
or may not be active, and an active task 
may or may not be executing on a pro- 
cessor. Active tasks must share the avail- 
able processors. If there are several pro- 
cessors, then several tasks may be ex- 
ecuting ato nee. Otherwise there will be 
only one. \ 

Pascal has no task-management facil- 
ities. Modula-2 allows you to create 
them by calling the procedure NEW- 
PROCESS and to control them by call- 
ing the procedure TRANSFER, which 
suspends the execution of one task and 
resumes the execution of another at the 
point where you last left it. Both of 

[continued) 



1SANYO SUPER SYSTEMS] 



&M 






9 



wO 



# 



% 



& 



SYSTEM #1 
SANYO 
MBC-550-2 



$1399 



• SANYO GREEN MONITOR 
GEMINI 10X« SOFTWARE 

Sonyo MBC-550-2 Single 360K Drive Computer, Sanyo 
Crt-36 Monitor, Star Gemini 10X, Cabling, Wordstar, 
Cakstar, MS-DOS, Sanyo Basic 
Sanyo MBC-550 System ClIOO 

W/160K Drives ^> I I W 



SYSTEM #2 
SANYO MBC-555-2 $1799 

• SANYO GREEN MONITOR 

• GEMINI 10X • SOFTWARE 

Sonya MBC-555-2 Dual 360K Drive Computer, Sonyo 

Crt-36 Monitor, Star Gemini 10X, Cabling, Wordstar, 

Cokstar, Infostar, Spellsrar, Mailmerge, MS-DOS, 

Sanyo Basic. 

Sanyo MBC-555 System 

w/160K Drives ........ 



^\ 



$1499 



PRINTERS 



C-ITOH 
A10-20 $465 
8 510 SP $445 
510 SCP. $515 
% 8 510 BPI $395 

.0 8510Prawrifer $325 



NEC 

2010,2015,2030 $650 



O \J^ F-10 Parallel or Serial $920 



2050 
3510,3515,3530 

3550 

7710,7715,7730. 

OKIDATA 

All Printer Models . 



55CPS Parallel o r Serial $ 1 205 

COMPUTER INTERNATIONAL PANASONIC 

Doisywriter 2000 $990 

COMREX 

CR- 11 Parallel or Serial $445 

CR-II Keyboard $155 

DATASOUTH 

DS-180 $1165 

DS-220 . . $1475 

DIABLO 

620 $745 

630API $1709 

630 ECS $ave 

630 ECS/IBM $1995 

Series 36 $ave 

EPSON 

All Printer Models $ave 

INFORUNNER 

Ritemon $255 

IDS 

Prism 132 Color $1500 

JUKI 

6100 $435 



$795 
$1225 
$1539 
$1649 

Save 

All Printer Models . Save 

SILVER REED 

All Printer Models Save 

STAR MICRONICS 

All Printer Models Save 

TALLY 

MT 160L w/Troctors Save 

MT 180L w/Troctors Save 

Spirit 80 Save 

TOSHIBA 

P1340 Parallel or Serial $730 

P1351 Parallel or Serial $1265 

TRANSTAR 

120 Parallel or Serial $400 

130 Parallel or Serial $555 

T315 $395 

DISK DRIVES 

RANA 

Elite I . $220 

Elite II $350 

Elite III $415 



TERMINALS 

ADDS 

A- 2 $480 

A- 3 $480 

Viewpoint 60 , . $495 
Viewpoint 90 $865 

ALTOS 

Smart II $855 

HAZELTINE 

All Terminal Models Save 

QUME 

OVT102, 103, 108 Save 

TELEVIDEO 

All Terminal Models Save 

WYSE 

All Terminal Models Save 

MONITORS 

AMDEK 

300 Green ... 

300 Amber $150 

310 Amber $160 

Color 1+ $275 



DISKETTES 

MAXELL 

MD-l . . $180 

MD-2 ....'. $280 

SCOTCH 

5' 4 SS/DD(Oty 100) $205 

5V% DS/DD (Oty 100) $250 

ELEPHANT 

5 Va SS/SD(Oty 100) $160 

5K, DS/DD (Oty 100) $220 

COMPUTERS 

ALTOS 

AllComputer Models . Save 

EAGLE 

All Computer Models Save 

NEC 

8201 Computer Save 

SANYO 

See Special Above , Save 

ZENITH ^ 

All Model 2-150 & 2-160 Save ^^\ 



I 



ZENITH 

All Monitor Models . 



Save 



MODEMS 

HAYES 

Smortmodem 300 Baud . .$205 
Smartmodem 1200Baud $490 
Smartmodem 1200B . . .$435 

US ROBOTICS 

Password 1200 Baud $315 

212AAutodiol $430 



P 



& e .^& 



& 



$135 

Prices reflect 3% to 5% cash discount. 

Product shipped in factory cartons 

with manufacturer's warranty. _. 

Free shipping is on UPS ground C*^ VI <5J? 

only. Prices & availability £2^ C# tV^ Q 

subject to change with- »^ X V^^ oP 

out notice. Send cosh- ^"VS* J^Y ^C/ C> 

ier's check or money #^^ *3v^ w QS 



order... all other 
checks will 
delay ship- 
ping two 
weeks. 









•r 



$ 



224 BYTE • AUGUST 1984 



Two more great reasons 
to buy the Canon 
AS-100 Microcomputer. 

1. Incredibly low price. 

2. Free software. 




I Kff t V I W.mi. IJU.fi fflSULffc 



iiT 




Immmt—mmmmmm* \j 



gasgFHggB T^B 



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 micro- 
computers 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 5V4-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 H**, Inf oStar* and Friday!** for 
data base management. There's also a 
choice of Canon's exclusive software— 
Canowriter* and Canobrain lit 

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. 



*inf oStar,, 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. r Canowriter and Canobrain U are trademarks of Canon, Inc. 

Available through Canon authorized dealers. 
Offer good through October 31, 1984. 
© 1984 Canon U.S.A., inc. 



Canon Systems Division 



Circle 47 on inquiry card. 



THREE LANGUAGES 



these routines, as well as the type PRO- 
CESS, are contained in the special 
module called SYSTEM, and little is said 
about their implementation. Ada. on the 
other hand, has defined an elaborate 
set of tasking facilities. 

An Ada task is activated along with 
the part of your program that contains 
its declaration, and it must be ter- 
minated before that part of your pro- 
gram can be deactivated. If it's declared 
within a procedure or function, a copy 
of the task will be activated each time 
the routine is called, and this copy must 
terminate before the call can complete. 
If you don't want the task to run to com- 
pletion, you can terminate it explicitly 
with an ABORT statement. 

To communicate with an Ada task you 
must declare one or more entries for it. 
When you declare an entry you specify 
only its name and parameter structure. 
An accept statement within the body of 
your task associates a list of statements 
with the entry and thus defines its 



meaning. If there is an outstanding call 
on the entry, it will be executed and the 
caller will be activated. Otherwise the 
task suspends execution until the entry 
is called. If an entry is called before the 
accept statement is executed, the call 
is queued along with any others that are 
pending for that entry and the caller is 
suspended. The pairing of a call and an 
accept statement is called a rendez- 
vous. Special syntax allows you to ac- 
cept one of several possible entries and 
to make conditional calls on an entry. 
The Ada tasking model is complex 
and cumbersome. It has lots of features 
and not much flexibility. As a result, it 
will be costly to implement and not very 
useful. And to top it off, the problems 
associated with updating shared data 
elements are dealt with only as an after- 
thought. The moral of this story is that 
elaborate tasking models have no place 
in a systems-implementation language. 
A few simple mechanisms are needed, 
not a complicated structure. 



Modularity 

You can partition almost any large soft- 
ware system into reasonably small, self- 
contained units, or modules— each with 
a number of related data elements and 
the procedures and functions needed 
to manipulate them. If you have careful- 
ly defined and suitably restricted the 
module interfaces, you will be able to 
code and debug them independently. 
As a general rule, focusing on individual 
modules reduces the number of vari- 
ables you have to contend with at any 
given moment and makes the system as 
a whole easier to design, debug, and 
maintain. Moreover, to the extent that 
you can overlap work on several parts 
of the system, less time will be required 
to implement it. 

Pascal discourages modular design by 
preventing you from breaking up your 
implementation. In the first place, you 
must group your declarations as follows: 
label declarations, followed by type 

[continued] 



The Library of 

Computer Supplies and 

Accessories 



«<nputef Supplies & Accessories 



Organize while you computerize. It's 
easy with our 1984 MISCO catalog. 
We've packed it with over 
1000 brand name 
products, from flexible 
disks to media storage, 
\ to cables. Use our 
easy, direct-dial, 
TOLL-FREE ordering 
1 system to guarantee 
fast delivery of 
quality supplies and 
i accessories at 

i greatprices! 



FREE 

CATALOG 

1-800-631-2227 

ext. 541 



Name 

Company 
Address _ 
City. 



. State . 



Zip. 



P.O. Box 399 B20 
Holmdel, N.J. 07733 
201-946-3500 



C2KS3 



Call toll-tree or mail in the convenient 
coupon to order your FREE MISCO catalog. 




\ferbatim 

we're making 
them your 
best buy. 



Verbatim Datalife® Minidisks are super quality, 
super durable. You get better data transfer, longer 
data life, less head wear. 

Now from ABComputers get our best price 
ever on factory-fresh, 100% error-free certified 
Verbatim Minis. 

PRICE PER 574" MINIDISK* 
(Sold in Boxes of 10) 

QTY. 10 QTY. 50 QTY. 100 

SS/DD $1.95 $1.90 $1.85 

DS/DD $2.60 $2.55 $2.50 

'Larger quantity prices available. Add $1.50 per order for 
continental U.S. UPS surface shipping. 

Don't miss out. Mail or phone your order today! 

m ■» ml 815-888-7787^ 

ABComputers 

THE VALUE LEADER ■ SINCE 1976 

252 BETHLEHEM PIKE, COLMAR, PA 18915 



226 BYTE • AUGUST 1984 



Circle 350 on inquiry card. 



Circle 349 on inquiry card. 



Now you don't have 
to sacrifice print 
quality for speed. 

The Canon Impact 
Matrix Series Printers. 







-< '": ■' ~ ,/ ' V 



":h I 




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 48 on inquiry card 



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 

12 Sec. 

8192 bytes 




To Order Specify: 
Machine . 



OS □ MS-DOS □ CP/M-86 

Disk □ 8" □ 5 1 A SS □ 5 1 A DS 



c 



WARE 



CORPORATION 



P.O. BOX 710097 

San Jose, CA 95171-0097 

(408) 736-6905 

California residents add sales tax. Shipping: U.S. no 
charge, Canada add $5, elsewhere add $15. Checks 
must be on a US Bank and in US Dollars. 



THREE LANGUAGES 



declarations, then variable declarations, 
and finally, procedure and function 
declarations. This makes it virtually im- 
possible to group functionally related 
elements. In the second place, there are 
no mechanisms for splitting your pro- 
gram into smaller pieces for separate 
encoding. Everything you do is part of 
a single program, and data files are the 
only mechanism for communicating be- 
tween separate programs. 

As its name implies, modularity is a 
strong point of Modula-2. A Modula-2 
module contains data elements, pro- 
cedures, and functions, all of which are 
declared within its scope. You must ex- 
plicitly export any elements you need 
somewhere else, and you must explicitly 
import any external elements you need 
inside. A module that is not contained 
within another is called a library 



module. You may declare a library 
module all at once, in which case it is 
called a program module. Alternative- 
ly, you may declare it in two stages. The 
first stage is called a definition module. 
In it you declare only those portions of 
the module that are visible from the 
outside. Procedures and functions may 
be introduced but not fully declared. 
The second stage is called an imple- 
mentation module. You use it to com- 
plete your declaration of the elements 
you introduced in the corresponding 
definition module. Additionally you 
declare any other elements that may be 
required. A definition module and its 
implementation module need not im- 
port the same external elements (see 
listing 2). This lets library modules serve 
each other without creating circular de- 

[continued] 



Listing 2: This listing shows a pair of library modules that depend 


on each other. 


The implementation of module a makes use of procedure 


q in module b, while the 


implementation of module b makes use of procedure p in 


module a. 


Ik Pascal and 


Modula-2 everything between the symbols l, (*" and "*) 


is ignored by the compiler. 


DEFINITION MODULE a: 






EXPORT QUALIFIED p: 






PROCEDURE p(x: INTEGER); 






END a. 






DEFINITION MODULE b; 






EXPORT QUALIFIED q: 






PROCEDURE qlx.y: INTEGER); 






ENDb. 






IMPLEMENTATION MODULE a; 






FROM b IMPORT q; 






PROCEDURE p{x: INTEGER); 






BEGIN 






(* statements defining the behavior of p *) 






END p; 






PROCEDURE r(x: INTEGER); 






BEGIN 






(• statements defining the behavior of r *) 






q(x,4); (• a call on the procefure q from module b *) 






(* more statements defining the rest of r *) 






ENDr: 






BEGIN 






(* statements for initializing a •) 






END a. 






IMPLEMENTATION MODULE b; 






FROM a IMPORT p; 






PROCEDURE q(x.y: INTEGER); 






BEGIN 






(* statements defining the behavior of p *) 






END q; 






PROCEDURE r(x: INTEGER); 






BEGIN 






(• statements defining the behavior of r *) 






p(2): (* a call on the procedure p from module a *) 






(* more statements defining the rest of r *) 






END r; 






BEGIN 






(* statements for initializing a *) 






ENDb. 







228 BYTE • AUGUST 1984 



What's more incredible 
about Canon's 
color ink-jet printer? 

The quality... 
or the price? 





"\ 



* . 



1 1 







QQO 




Take a look at the beautiful clarity of 
the Canon® PJ-1080As color ink-jet 
printing. Then discover that Canon's 
color printer actually costs well 
under a thousand dollars. You'll be 
hard-pressed to decide which is 
more amazing. 

What makes the quality so 
incredible? Features like: 

■ The advanced drop-on-demand 
printing system. Canon's patented 
ink-jet technology gives a sharp 
640 dot-per-line scan mode, for 
dazzling high-resolution color and 
exceptionally clean, crisp 
printouts. 

■ Whisper-quiet operation of less 
than 50dB and an impressive 
speed of 37 c.p.s. 

■ A choice of seven bold colors for 
bright, imaginative graphics. 

■ A special dual-ink cartridge 
system that gives cleaner 



i 1984 Canon USA, Inc. 



resolution on blacks and saves 
you money because when black 
is used up only the black cartridge 
need be replaced. 

■ The ability to print high-fidelity 
characters and images on 
transparencies for overhead 
projection. 

■ Compatibility with most 
computers you can buy. 

And how much does all this cost? 

Far less than a thousand dollars. 

So what's more incredible about 
the PJ-1080A color ink-jet printer? 
There's only one way you'll really be 
able to find out. 

And that's to buy one and decide 
for yourself. 

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 49 on inquiry card. 



THREE LANGUAGES 



pendencies in their definition modules. 
All of the Modula-2 compilers I know 
implement the following mechanism to 
allow one library module to use the ex- 
ported element of another. When a 
definition module is compiled, a file is 
created that contains a summary of its 
declarations and a timestamp that was 
generated by the compiler. This sum- 
mary file is used to establish correct typ- 
ing information for any elements that 
are imported by other library modules 



(see listing 3). It is also used when the 
implementation module is compiled. In 
both cases, the timestamp contained in 
it is copied to the resulting code file, 
and run-time checks guarantee that all 
code referring to the definition module 
was compiled using the same summary 
file. Since the functionality provided by 
this mechanism is a requirement of the 
language, Modula-2 is excellent for mod- 
ular decomposition of large systems. 
An Ada package equates to a Modula-2 



Listing 3: When a definition module is compiled, a summary file is produced that 
contains a timestamp. When a module imports anything from another module, the 
compiler uses information from the appropriate summary file to insure correct usage. 
When an implemenation module is compiled, the timestamp from its definition module 
is included in the resulting code file, along with timestamps for any imported modules. 
At load time, all copies of the timestamp for a particular module must agree. 

DEFINITION MODULE a; 

EXPORT QUALIFIED p; 

PROCEDURE p(x,y: INTEGER); 
END a. 

J fie summary file resulting from this definition module contains a timestamp whose value, for instance, is vl. 

MODULE b; 

FROM a IMPORT p; 

(* declarations for b *) 
BEGIN 

(* statements initializing b *) 

p(32,2); (* calls the procedure p from module a *) 

(* other statements defining the behavior of b *) 
END b. 

The code file for module b contains a copy of the timestamp value vl. The compiler obtained this value from the 
summary file for module a because of the import statement at the beginning of b. 

IMPLEMENTATION MODULE a; 

PROCEDURE p(x,y: INTEGER); 

BEGIN 
(* statements defining the behavior of p *) 

END p; 
BEGIN 

(* statements initializing the module a *) 
END a. 

The code file for this implementation module contains the timestamp value vl. The compiler obtained this value 
from the summary file for module a. The implementation module may be changed and recompiled. As long as it 
agrees with the description contained in the summary file, there will be no need to recompile module b. 

DEFINITION MODULE a; 

EXPORT QUALIFIED p; 

PROCEDURE p(x: INTEGER); 
END a. 

The summary file resulting from this definition module contains a timestamp whose value v2 is not equal to vl, 

IMPLEMENTATION MODULE a; 

PROCEDURE p(x: INTEGER); 

BEGIN 
(* statements defining the behavior of p *) 

END p; 
BEGIN 

(* statements initializing the module a *) 
END a. 

The code file for this implementation module contains the timestamp value vl.The compiler obtained this value 
from the summary file for the second definition module. The module b must now be changed and recompiled 
before it can be used with this new version of module a. 



module, except for the way you make 
elements visible externally. All elements 
declared in a package specification (the 
Ada equivalent of a definition module) 
are assumed to be visible outside the 
package unless they are declared in its 
private part. In Ada you must explicitly 
hide an element, while in Modula-2 you 
must explicitly make it public. 

In Modula-2 a compilation unit must 
be a library module. In Ada it may be 
a procedure, a function, or a package, 
and it may or may not be declared with- 
in another compilation unit. Ada's 
generality adds little to the overall capa- 
bilities of the language but does in- 
crease the compiler's cost by making it 
more difficult to implement. The facilities 
provided by Modula-2 seem adequate 
for most applications, and anything less 
would certainly be unacceptable. 

One final point on modularity. In Ada 
you may demand in-line expansion for 
selected procedures and functions. You 
can thus implement new arithmetic 
operators and have the compiler gen- 
erate the code for them in line, exactly 
as it would for normal arithmetic oper- 
ators. Since this code can make use 
of any resource within the package that 
declared the operator, it can create ex- 
ternal dependencies on routines and 
data elements of the package that are 
supposed to be hidden. If you change 
the implementation of such a package 
in any way, you must recompile every 
compilation unit that uses one of its in- 
line routines. It would be better if Ada 
required you to supply a complete 
definition for any such routine in the 
public part of its package. However, this 
is not only not required, it's not allowed. 

Abstract TVping 

When combined with modules or pack- 
ages, strong typing provides a fine tool 
for creating data structures that have 
specific, well-defined properties. How- 
ever, strong typing is representa- 
tion-oriented by its very nature. It is in- 
evitably tied to the production of types 
and data structures rather than to their 
consumption. Another form of typing, 
which I shall call abstract typing, has to 
do with consumption rather than pro- 
duction. It comes into play when you 
wish to write a program dealing with 
data structures having certain proper- 
ties but whose exact representation is 

[continued) 



230 BYTE * AUGUST 1984 












il 'M 'iBp 1 v» 


V i^ 


Q 


UlMl 




® 


\JH M 1 'm'^ 


1 




If you could get your 
investment information where 
Hall Street gets its investment information, 
»_ you'd get it from us. 



Now CompuServe's Executive 
Information Service puts the 
most accurate, comprehensive 
investment information available 
at your fingertips. 



Far the first time ever, individual investors can 
join the rani* of the most prestigious Wall Street 
firms who depend on CompuServe to provide 
them with a broad spectrum of comprehensive 
financial information for research, portfolio man- 
agement and merger/acquisition strategies. 
Instant retrieval of continuously updated 
quotes on over 9,000 issues and 10 years of daily 
historical pricing on over 50,000 securities... 
Standard and Poor's descriptive information 
on more than 3,000 companies... 
Value line Data Base-Il extensive fundamental 
data to analyze the performance of more than 
1,700 major corporations... 
Circle 337 on inquiry card. 



Disclosure D descriptive and financial infor- 
mation derived from SEC filings for over 8,500 
companies... 
Institutional Brokers ' Estimate System 

(IBES) earnings projections on over 2,800 widely 
followed companies... 

Evans Economics daily updated economic fore- 
casts, historical statistics and analysis of more 
than 20 major economic indicators plus con- 
tinuous public opinion polls on economic and 
financial issues... 

Reports on technical market trends, personal 
portfolio evaluation and the most comprehensive 
analysis capabilities currently available. 

You get all this plus demographic information 
on every zip code in the U.S., access to consul- 
tants through the Geneva Series, state of the art 
electronic communications, the full scope of the 
prestigious AP Wire Services, travel information 
and reservations and more of the high quality 
financial information that has made CompuServe 



the premier supplier of investment information to 
the greatest names on Wall Street. 

For a free 
illustrated guide 
to CompuServe's 
Executive biformatian 
Service, urileorcall: 




Address - 



Ciy . 



- Zip- 



CompuServe 

Executive Information Service 
P.O. Box 20212 
5000 Arlington Centre Blvd. 
Columbus, Ohio 43220 

800-848-8199 

In Ohio, call 614-457-0802 81! 



An H&R Block Company 



THREE LANGUAGES 



unimportant to the algorithm. 

The traditional way of doing this is to 
require that each external data structure 
be represented internally by a tag or ad- 
dress, and that all necessary operations 
on them be passed as explicit param- 
eters to the algorithm. You can do this 
in Pascal and Modula-2 but not in Ada. 
The first two languages allow you to 
pass procedures and functions as pa- 
rameters, while the latter does not. In 
Pascal, you would probably use integers 
for the data structure tags. In Modula-2, 
you could use pointers passed in as 
parameters of type "word." Of course, 
this solution forces you to bypass all 
type checking by the compiler. It would 
be nice if you could declare a routine 
with some parameters that are pointers 
to a data structure of type x and others 
that are routines to manipulate such 
pointers where x is left unspecified. 
Then the compiler could verify that all 
appropriate types matched. 

At first glance, this is what an Ada 



generic declaration appears to do. You 
specify a collection of parameters, some 
of which may be types, and then you 
declare a routine or package using 
these parameters wherever necessary. 
However, what you get is not a simple 
routine or package. Instead, you get a 
routine or package that will generate a 
second one when supplied with the cor- 
rect parameters. You may use it to 
declare any number of nongeneric in- 
stances, and each time you execute a 
part of your program that contains such 
a nongeneric routine, a new version of 
the underlying routine or package will 
be generated. By using generics you 
end up with more routines and pack- 
ages, not fewer. While the algorithm is 
shared, the code and data are not, and 
each copy of the generic routine or 
package will require its own memory. 
However, since Ada doesn't allow you 
to pass procedures and functions as 
parameters, generics are all you've got. 
With procedure types, Modula-2 has 



Listing 4: Modula-2 procedure variables can be used to provide handlers for a data 
structure within the data structure itself. 

DEFINITION MODULE structure; 
EXPORT QUALIFIED reference, node, handler, create: 
TYPE reference = POINTER TO node; 
TYPE handler = PROCEDURE(REAUNTEGER.reference); 
TYPE node = 
RECORD 
link: reference; 
x,y: INTEGER; 
h: handler: 
END; 
PROCEDURE createfh: handler): reference: 
END structure. 

IMPLEMENTATION MODULE structure: 
FROM Storage IMPORT ALLOCATE; 
PROCEDURE create(h: handler): reference; 

VAR r: reference; 
BEGIN 
NEW(r); (* calls ALLOCATE ') 
rt.h := h; 
RETURN(r): 
END create; 
BEGIN 

(* statements initializing the module structure *) 
END structure. 
MODULE manager; 
FROM structure IMPORT reference, node, handler, create; 
PROCEDURE transition(x: REAL; y: INTEGER: r: reference); 
BEGIN 

(* statements defining the behavior of transition *) 
END transition; 
VAR ref: reference: 
BEGIN 

ref := create(transition); 
END manager. 



provided a consistent way of dealing 
with functions and procedures as data 
values in an arbitrary data structure, and 
not just as parameters to a routine. With 
this feature, which has no counterpart 
in either Pascal or Ada, you can declare 
a type that defines the parameter struc- 
ture for a procedure or function. A data 
element of that type behaves like a pro- 
cedure or function, but it may be . 
located anywhere in memory, including 
the heap (see listing 4). Any routine that 
belongs to a library module and has the 
right parameter structure may be as- 
signed to it. Procedure types may be 
used in high-level structures, such as 
files, that include both data and control, 
and in low-level structures such as inter- 
rupt handlers. They allow you to simplify 
the structure of your application without 
obscuring its intent. 

Conclusions 

As a systems-implementation language, 
Modula-2 is a major improvement over 
Pascal. In fact, it is substantially better 
than most currently available languages. 
From what I have said so far, you might 
be tempted to call it the "poor man's 
Ada," but this is certainly wrong. While 
there are many extra features in Ada, 
most of them are marginal improve- 
ments. The only one that seems really 
necessary is the feature that allows you 
to control the size and relative location 
of data elements within a data structure. 
With all its shortcomings, Modula-2 is 
a good implementation language and 
a technical success. It has no surprises 
and no overlapping functionality. Ada, 
on the other hand, is a questionable ex- 
periment at best. It contains several 
costly features that are of little value, 
and the implications of certain other 
features, such as derived types, seem 
to lack forethought. Of course it's easier 
to criticize than to create, but it seems 
that without the support of the Depart- 
ment of Defense the many "gotchas" 
and funny features of Ada would have 
caused its demise. ■ 

REFERENCES 

The Ada Programming language. ANSI/MIL-STD- 

1815A: American National Standards Institute, 

1983. 

Jensen, K.. and N. Wirth. Pascal User Manual and 

Report. New York, Heidelberg, Berlin: Springer- 

Verlag. 1975. 

Wirth, N. Programming in Modula-2. New York. 

Heidelberg, Berlin: Springer-Verlag. 1982. 



232 BYTE • AUGUST 1984 



YOU DON'T 

HAVE TO 

REMODEL 

TO ADD ON 




\W-: 



With some computers, the more you do, the more you have to add on. 

A little memory expansion here. A graphics adapter there. Next thing you know, you need 
an expansion chassis. And a loan from the bank. 

Corona builds memory expansion (up to 512K) and high-resolution graphics right into the 
main board. That saves you money. And expansion slots. Plus, our 128K standard memory and 
IBM ® compatibility let you run thousands of software packages right out of the box. The net result 
is a PC that grows on you. Painlessly 

The Corona PCs. 

It's a matter of simple addition. 

In North America, call 1-800-621-6746 for the Authorized Corona Dealer 
near you. In Holland, call 020-03240-18111. There are over 1,600 dealers 
worldwide. And their job is to help. Service by Xerox. 



corona 

data systems, inc. 



THE CORONA PC 



Circle 84 on inquiry card. 



©Corona Data Systems 1984 



AUGUST 1984 -BYTE 233 



TheleleVideo 
The best hardware 




TeleVideo versus IBM. Make a few 
simple comparisons and you'll find 
there is no comparison. 

RUNS IBM SOFTWARE. 

With theTele Video® IBM Compatible 
line— PQXTand portable computers— 
youll get the most out of all the most 
popular software written for the IBM® 
PC— more than 3,000 programs. 

Because every TeleVideo Personal 
Computer offers the highest level of 
IBM compatibility on the market and 

234 BYTE • AUGUST 1984 



THE BEST HARDWARE FOR THE BEST PRICE, 




Features 


Tele-PC 


IBM PC 


Tele-XT 


IBM XT 


Monitor 


YES 


OPTIONAL 


YES 


OPTIONAL 


Screen Size 


14" 


12" 


14" 


12" 


Tilt Screen 


YES 


NO 


YES 


NO 


Quiet Operation 


YES (NO FAN) 


NO 


YES 


NO 


Memory 


128K 


128K OPTION 


256K 


256K OPTION 


Graphics Display 


YES 


OPTIONAL 


YES 


OPTIONAL 


(640x200 resolution) 










Printer Port 


YES 


OPTIONAL 


YES 


OPTIONAL 


Communications Port 


YES 


OPTIONAL 


YES 


YES 


MS™-DOS/BASIC® 


YES 


OPTIONAL 


YES 


OPTIONAL 


System Expansion Slot 


YES 


YES 


YES 


YES 


RGB and Video Port 


YES 


OPTIONAL 


YES 


OPTIONAL 



PC compatibles, 
for the best software 



has the standard— not optional- 
features you need to take full advan- 
tage of every job your software 
can do. 

Study the chart below. It proves that 
TeleVideo— not IBM — offers the best 
hardware for the best price. 

NotethatTeleVideo's ergonomic 
superiority over IBM extends from fully 
sculpted keys and a comfortable 
palm resttoa14-inch, no glare screen 
that tilts at a touch. 

THE BEST MICROCHIPS. 

What is perhaps most impressive 
about theTele Video IBM PC Compati- 
ble can be found deep within its cir- 
cuitry. We use the same 8088 central 
processing unit that runs an IBM PC. 
But we also employ new VLSI (Very 
Large Scale Integration) microchips 
that are designed and built exclusively 
forTeleVideo. These interface more 
efficiently with the power- 
ful 8088 and yield numer- 
ous benefits. 




THE BEST PORTABLE FOR THE BEST PRICE. 




Features 


TPC IIS 


IBM PC 


High Capacity Storage 


YES 


YES 


Quiet Operation 


YES (NO FAN) 


NO 


Display 


YELLOW 


AMBER 


Memory 


256K 


256K 


Graphics 


YES 


YES 


Communications Port 


YES 


OPTIONAL 


Printer Port 


YES 


OPTIONAL 


MS-DOS 2.11 


YES 


OPTIONAL 



For example, our tiny 
custom chips do the 
work of many of the 
larger, more expensive circuit 
boards in an IBM PC. So we can 
offer a computer system that comes 
in one attractive, integrated case, is 
ready to run and occupies less desk 
space. A computer that edges out 
IBM's added-cost component system 
for reliability, ease of service and 
purchase simplicity. 

Fewer circuit boards to cool also 
allowed us to eliminate the noisy, 
irritating fan IBM and most other 
PCs force you to put up with . A nd 
TeleVideo compatibles accept 



any IBM hardware options without 
modification. 

THE BEST LINE. 

ButtheTele-PC is only one element of 
the TeleVideo IBM PC Compatible line. 

The TeleVideo XT is the best hardware 
for users of popular IBM XT software 
who would appreciate an extra 10 
megabytes of storage capacity along 
with the advantages listed on the 
chart at the left. 

As the chart above demonstrates, our 
portable IBM compatible computer, 
the TPC II, is far and away better 
hardware than IBM. Better hardware- 
standard— at a better price. 




THE BEST MANUFACTURER. 

The TeleVideo IBM PC Compatible 
line is made by the world leader in 
multi-user computer systems and 
the number one independent manu- 
facturer of terminals. 

Call 800-538-8725 for the dealer 
nearest you. In California, call 
800-345-8008. 

Before you invest, make a few 
simple comparisons. Youll find that 
TeleVideo— not IBM— has the best 
hardware for the best software. At the 
best price. 

IBM is a registered trademark of International Business 
Machines. MS is a trademark of MicroSof t Corporation. 
CW Basic is a registered trademark of Microsoft Corporation. 



TeleVidea 

Personal Computers 

^TeleVideo Systems, Inc. 



Circle 303 on inquiry card. 




■ 






V. 



i 







j 


■Jt'-ll 


"""„.,...:;;" 


1 ,1* ,„ „!.™" ""•"■— ;""""-;; j. 






///'//''Ml — \ 



.! ; 




BYTE 



Reviews 



The Macintosh 

by Bruce F. Webster 238 

The IBM PCjr 

by Rowland Archer Jr. 254 

The Sanyo MBC-550 

by Bill Sudbrink 270 

Four Locos for the IBM PC 

by Mark Bridger 287 

The Juki 6100 Printer 

by G. Michael Vose 305 

Review Feedback 308 



Reviewer's Notebook 

WordStar— the old, reliable word-processing program from MicroPro— is being besieged 
on all sides. First there were the competing word processors. Then came NewWord, a low- 
cost WordStar work-alike program written by some of the same people who wrote the original. 
And now there's a WordStar work-alike written in BASIC. 

At the BYTE/Popular Computing show in Chicago. Bruce Tonkin approached me. claiming 
that he had a compiled-BASIC program called My Word!. He said that it runs faster than 
WordStar, that it runs on everything except Apple computers, and that it costs only $25. 

Fortunately he had a version for the IBM Personal Computer (PC) with him and there 
was a new Zenith Z-150 just across from the BYTE booth. (I'll talk more about the Zenith 
later.) Anyway, this $25 program actually worked. Of course, it doesn't do everything that 
WordStar does (such as on-screen justification), but it does almost everything. And it does 
some things that WordStar can't do. For example, you can set up a long table and then 
sort the table according to information in any of its columns. 

Bruce Tonkin's company is called TNT Software (34069 Hainesville Rd.. Round Lake, IL 
60073). 

About six months ago we did a review of the Zenith Z-100, the Heath company's first 
MS-DOS machine. The Z-100 has the best version of MS-DOS I've seen on any machine. 
The only problem with the Z-100 is that it cannot take advantage of the large variety of 
IBM PC software that is available. 

Now we're trying to get the Z-150. Heath's true IBM PC-compatible machine. If they ap- 
plied the same care and intelligence that they did on the Z-100, then the new Z-l 50 must 
be some machine. 1 must admit, however, that the portable version— the Z-l 60— looks a 
bit strange. 

A few months ago, I mentioned the Leading Edge Word Processor, a slick package with 
unique, rather unwieldy file-handling procedures. Now. because of competition from IBM's 
own word-processing programs called DisplayWrite, the basic price of the LEWP has been 
reduced to about $200. Also, the Leading Edge PC has finally arrived here. The Leading 
Edge PC is one of the newest IBM PC clones. An identical twin of the Sperry PC, it is pro- 
duced by Mitsubishi in Japan, and its most distinguishing characteristic is its dual-speed 
processor. 

The 8088 microprocessor in the LEPC can run at either 4.77 MHz (just like the IBM PC) 
or 7.6 MHz (a significant improvement). Running your favorite programs at this higher clock 
speed is a bit of a thrill. 

The Leading Edge PC— like every PC clone I've seen— is not 100 percent compatible, In 
fact. I give it a "98." All of the major non-graphics programs run on it (we haven't received 
the graphics board yet). 

Heading our reviews this month is a look at the Macintosh, the machine that has prob- 
ably received more attention than any other. Contributing Editor Bruce F. Webster examines 
whether the "Mac" can do serious work. 

Next, our veteran analyst Rowland Archer Jr. examines the IBM PCjr, another machine 
that has been in the news a lot, Rowland carefully examines what this machine can and 
cannot do. 

Then we shift to a popular MS-DOS-based system— the Sanyo MBC-550. Bill Sudbrink deter- 
mines whether this low-cost machine— which looks like part of your stereo system— is a real 
alternative to the high-priced office systems. 

For programmers, we have a review of four Logos for the IBM PC that offer turtle graphics 
of varying quality. 

And finally, we have a review of a new low-cost daisy-wheel printer— the Juki 6100— written 
by our features editor, Mike Vose. 

— Rich Malloy, Product-Review Editor 



AUGUST 1984 • BYTE 237 




SYSTEM REVIEW 



The Macintosh 



The many 



slightly 



by Bruce F. Webster 



Few computers— indeed, few consumer 
items of any kind— have generated 
*w,^w*^ ^ * w. suc h a w ^ e ran € e of opinions as the 

Macintosh. Criticized as an expensive gimmick 
and hailed as the liberator of the masses, the 
~. i Mac is a potentially great system. Whether it 

llaWeCi gem lives up to that potential remains to be seen. 

Personally. I think the Macintosh is a won- 
derful machine. I use one daily at work, and 
then at night I play with the one I have at 
home. Or. at least, I try to play with it. You see. 
my wife— who for years resisted all my at- 
tempts to introduce her to computers— has 
fallen in love with the Mac (her words, not 
mine). She uses it to type up medical reports, 
notes on her clients, and personal letters. In 
fact, she's suggested that we get a second 
Macintosh so that we won't have to fight over 
the one we have. 

The Macintosh is not without its problems. 
Resources are tight— it needs more memory 
and disk space— and software has been slow 
in coming to market. Many have criticized its 
price ($2495). In fact, there are indications that 
Apple considered a lower price ($1995) and 
then rejected it. It doesn't seem to have hurt 
the Mac's market— people are still buying 
them faster than Apple can make them— but 
there's the potential for backlash if the 
machine doesn't deliver on all its promises. 

Whatever its problems and limitations, the 
Mac represents a breakthrough in adapting 
computers to work with people instead of vice 
versa. Time and again, I've seen individuals 
with little or no computer experience sit down 
in front of a Mac and accomplish useful tasks 
with it in a matter of minutes. Invariably, they 
use the same words to describe it: "amazing" 
and "fun." The question is whether "power- 
ful" can be added to that list. 

In an industry rapidly filling up with IBM PC 
clones, the Macintosh represents a radical 
departure from the norm. It is a small, light- 
weight computer with a high-resolution 
screen, a detached keyboard, and a mouse 
(see photo I). It comes with 128K bytes of 
RAM (random-access read/write memory), 
64K bytes of ROM (read-only memory), and 
a 400K-byte 3 '/2-inch disk drive. If you throw 
in an Imagewriter printer (see photo 2 and 



figure I) the system costs $2990. The pro- 
cessor is a Motorola 68000. running a name- 
less operating system (see the text box, "A 
Second Opinion" on page 248 for a full 
description). It has absolutely no IBM PC/MS- 
DOS compatibility, and it would appear Ap- 
ple plans none. 

The Display 

The display is small (9-inch diagonal), but it 
has very high resolution (512 by 342 pixels). 
Every pixel is crisp. Several things make the 
display unusual. First, the Macintosh has no 
"text mode." Instead, the display is always bit- 
mapped graphics. Second, the display is black- 
on-white rather than amber- green-, or color- 
on-black, giving it an ink-on-paper effect. 
Third, the pixels are equally dense both hori- 
zontally and vertically, eliminating the "aspect- 
ratio" problem that plagues other graphics 
systems. (In other words, a box 20 pixels wide 
and 20 pixels high will be a square.) 

The effect is excellent. The display is clear, 
crisp, easy to read, and easy on the eyes. 
Because all text is graphically generated, true 
"what you see is what you get" word process- 
ing is available (with multiple fonts, sizes, and 
styles). Embedded drawings and proportional 
spacing are also possible. Some criticism has 
been made about the lack of a color-graphics 
capability. Frankly, I am unconvinced of its 
necessity. Most applications I have seen use 
color graphics as a substitute for detail, and 
the Mac can give you lots of detail. (An inter- 
esting footnote: the QuickDraw graphics rou- 
tines in the Mac's ROM do provide for color, 
although Apple has not announced any inten- 
tions for supporting such.) 

The Mac's display does create a problem. 
Computer graphics are memory-intensive: 
once you start drawing pictures, you start 
using up lots of memory. The video display 
itself consumes about 22 K bytes (or about 
one-sixth) of the total RAM. Any off-screen 
manipulation (windows) or information (text 
fonts) chews up additional memory quickly. 

The Keyboard 

Like the rest of the machine, the keyboard is 
significantly different from those found on 



238 BYTE • AUGUST 1984 



other systems (see photo 3). It's smaller than 
most and has only 58 keys. It is detached but 
the 3-foot coiled cord has lots of give to it so 
you don't have to wrestle the computer for 
the keyboard. The full printable ASCII 
(American National Standard Code for Infor- 
mation Interchange) set is available, and the 
layout of alphanumeric and punctuation keys 
is pretty standard. There are no function keys, 
no cursor keys, and no control key. Instead, 
you will find two Option keys and a Command 
key. The Option keys, located directly under 
either Shift key, are used to generate special 
text characters (Greek letters, math symbols, 
and the like). The Command key. whose sym- 
bol looks like a freeway cloverleaf. is an alter- 
native to the mouse. For example, if I'm typ- 
ing along and wish to underline some text, I 
can type Command-U instead of stopping and 
using the mouse to select Underline in the 
Style pull-down menu. 

All in all, I like the keyboard. I'm a fast touch- 
typist and occasionally I overrun the two-key 
"rollover" (the number of keys you can press 
down simultaneously), but I never lose 
characters because of buffer overflow. The 
keyboard's layout is compact, so I can easily 
reach any key— well, almost any key. The Com- 
mand key, located between the left Option key 
and the space bar, is in an awkward position. 
I often hit the Shift key or Option key instead. 

I don't like function or cursor keys and the 
mouse renders them fairly useless, so their 
absence doesn't bother me at all. A separate 
numeric keypad is available for $99 (it plugs 
in between the keyboard and the Mac). This 
keypad has cursor keys on it, but I wonder 
how many applications will recognize them. 

THE Mouse 

The Macintosh has a standard, one-button, 
mechanical-tracking, optical-shaft-encoding 

Bruce F. Webster (7909 Ostrow St.. Suite F. San 
Diego, CA 92 1 1 1 ) is vice-president of FTL Games and 
Oasis Systems. He received his B.S. in computer science 
\rom Brigham Young University and did graduate work 
at the University of Houston. His hobbies include 
reading and war-gaming, especially science-fiction and 
fantasy war games. 



mouse (again a departure from industry 
norms). The mouse has a 3 /2-foot cord, its 
own port in the back, and full support from 
the ROM routines and the operating system. 
In other words, almost every application on 
the Macintosh will use the mouse. (I say 
"almost" because someone is bound to come 
out with a program that ignores it altogether.) 
Before buying my Macintosh, I used a 
mouse on an IBM PC and was not impressed. 
The Macintosh mouse impresses me. In some 
applications, such as MacPaint, I seldom touch 
the keyboard, except to hold the Shift. Option, 

[continued) 




Photo I: The Apple Macintosh computer. 



AUGUST 1984 • BYTE 239 



REVIEW: MACINTOSH 




Photo 2: The Macintosh dot-matrix printer. 



This is 9-point text. 6eneva. 

This is 12-point text. 
This is 1 4-point text. 

This is 18-point text. 

This is 9-point text, Geneva, bold. 

This is 12-point text, bold. 
This is 1 4-point text, bold. 

This is 18-point text, bold. 

This is 9-point text, New York, aad this is bold. 

This is 12-point text, New York, bold. 
This is 1 4-point text, New York, bold. 

This is 18-point text, bold. 



Figure I : A sample printout from the Macintosh using its printer and the MacWrite word- 
processing program. The printout was obtained using MacVJrite's high-quality output mode, 
as opposed to the draft and ordinary quality modes. The output here is shown at 100 per- 
cent of actual size. 



or Command key down with my left 
hand while moving the mouse with my 
right. I find using the mouse faster, 
easier, and less disruptive than using 
function and cursor keys. Function and 
cursor keys do not fall within the stan- 
dard touch-typing layout because they 
vary in size, number, position, and func- 
tion. To use them, I have to stop and 
think about what key I need, look down 
at the keyboard, find it, hit it, and look 



up again. Often this process has to be 
repeated several times. With the mouse, 
I never take my eyes off the screen. I just 
reach to my right, grab the mouse, and 
do what I need to do. 

Of course, the mouse isn't always a 
perfect solution. Some commands can 
be tedious to perform via the mouse 
and pull-down menu. For example, 
deleting text to the right of the cursor 
in MacWrite can only be done with the 



mouse. This is a nuisance if you have 
only one or two characters to delete. I'd 
also like the mouse's cord to be a little 
longer and sometimes I have trouble 
finding enough surface area to work the 
mouse, but these are minor complaints. 
The mouse is an excellent feature of the 
Macintosh. 

User Interface 

Macintosh's user interface is far different 
from those of other personal com- 
puters. Strictly speaking, it is not all that 
new. The original concepts were pio- 
neered at Xerox's Palo Alto Research 
Center (PARC) several years ago. Apple 
used them heavily in the original Lisa 
machine, released a year before the 
Mac. However, that Lisa sold for 
$10,000, and the Xerox machines for 
much more. The people who most 
needed the interface were those who 
could least afford it: small business- 
people, students, etc. The Macintosh is 
still a bit expensive, but it's within the 
reach of far more people than any of 
its predecessors. 

In creating the Macintosh's unique 
user interface. Apple has attempted to 
make the abstract seem concrete. Few 
things are as abstract as the data and 
programs stored and used on a com- 
puter. The Mac takes that abstraction 
and presents it as something familiar: 
a desktop cluttered with pencils, papers, 
manila folders, and even a wastebasket. 
Do you want to put a document in a 
folder? Pick it up with the mouse and 
put it in the folder. Do you want to 
throw something away? Pick it up and 
put it in the wastebasket. Abstractions 
take on real forms that we can under- 
stand and use without obscure com- 
mands or bizarre syntax. 

Another important aspect of this user 
interface is the way in which the Macin- 
tosh makes commands available to the 
user. As I write this review with Mac- 
Write, the top of my screen has an 
Apple symbol and six words (File. Edit. 
Search. Format. Font, and Style) written 
across the top. If I point at any of the 
items with the mouse and press the but- 
ton, a menu of options appears on the 
screen. When I release the button, the 
menu disappears. All available com- 
mands appear in the menus. I haven't 
had to memorize or learn much; in fact. 
I opened my MacWrite manual only 

{continued) 



240 B YTE • AUGUST 1984 






AT A GLANCE 



Name 

Macintosh 

Manufacturer 

Apple Computer Inc. 
20525 Mariani Ave 
Cupertino, CA 95014 
(408) 996-1010 

Components 

Size: 13.5 by 9.7 by 10.9 
inches (main unit) 
2.6 by 13.2 by 5.8 inches 
(keyboard) 

Weight: 19.5 pounds 
Processor: Motorola 68000 
(7.8336 MHz) 
Memory: 128K bytes of 
RAM: 64K bytes of ROM 
Display: 9-inch built-in 
monitor; high-resolution 
bit-mapped display (512 by 
342 pixels); adjustable 
Keyboard: 58 keys, 
detached, standard layout, 
no function keys, 
software-mapped 
Mouse: single button, 
mechanical tracking, 
optical shaft encoding 
Mass storage: built-in 
single-sided 3 '/2-inch Sony 
drive (400K bytes) 
Sound generator: four- 
voice sound 
Interfaces: two RS-422A 
serial ports (230.4K bps 
transfer rate); external-disk 
interface for second 
(optional) disk drive; 
mouse interface; 
synchronous serial 
keyboard bus 

Operating System 

Proprietary unnamed 

Optional Hardware 

Imagewriter dot-matrix 



printer: 


$595 


Numeric keypad: 


$99 


Carrying case: 


$99 


Modem (300 bps): 


$225 


(300/1200 bps): 


$495 


Security Accessory 




Kit: 


$49 


Second floppy-disk 




drive: 


$495 


Optional Software 




See text box 




Documentation 




160-page user's manual 


Price 




$2495 ($2990 with 




Imagewriter) 





■ kit'. ! M lill'Mlifii^l 

\mmmaawaaama0 




MEMORY SIZE 
200 



DISK STORAGE 
' 500 













]] 64 


K/128K 








BUNDLED SOFTWARE 
2 4 



PRICE 

$0 $2000 $4000 $6000 $8000 $10,000 



T] 










2 















$3185 










1 




$2099 







MAC 



IBM PC 



APPLE HE 



The Memory Size graph shows the standard and 
optional memory available for the computers under 
comparison. The Disk Storage graph shows the 
highest capacity of a single floppy-disk drive for 
each system. The Bundled Software graph shows 
the number of software packages included with 
each system. The Price graph shows the list price 



of a system with two high-capacity floppy-disk 
drives, a monochrome monitor, graphics and color- 
display capability, a printer port and a serial port, 
2 56K bytes of memory (64K bytes for 8-bit systems), 
the standard operating system for each system, and 
the standard BASIC interpreter for each system. The 
Mac's price includes 1 28 K bytes of memory only. 



AUGUST 1984 -BYTE 241 




The rear of the Mac. Note the icon labels. The bottom row of 
connectors is for (from left) the mouse, second floppy disk, 
printer, modem, and speaker. 



The top of the Mac with the cover removed. The disk drive and 
digital circuitry are below the cathode-ray tube; the analog 
circuitry is to its left. 



DISK ACCESS IN BASIC 
250 



, 150 



100 





21; 




175 


56 

-rm 










46 


?3 m 



BASIC PERFORMANCE 

250 



WRITE 
SYSTEM UTILITIES 
50t 




40 



30 



>20 



10 



25 



25 



.9.6 



* * 



SIEVE 

SPREADSHEET (MULTIPLAN) 
25 



CALCULATIONS 



10 



FORMAT/ DISK COPY 



FILE COPY 
MACINTOSH 




IBM PC 





21.9 
















18 


























11.4 






10,5 






8.1 


a 































LOAD 
APPLE HE 



RECALCULATE 



The graph for Disk Access in BASIC shows how long it takes to write 
a 64K>byte sequential text file to a blank floppy disk and how long 
it takes to read this file. (For the program listings, see 'The Chameleon 
Plus." by Rich Krajewski, June 1984. page 327.) The BASIC Perfor- 
mance graph shows how long it takes to run one iteration of the Sieve 
of Eratosthenes prime-number benchmark. In the same graph, the 
Calculations results show how long it takes to do 10,000 multiplica- 
tion and division operations using single-precision numbers. The 
System Utilities graph shows how long it takes to transfer a 40K-byte 



file using the system utilities. The Spreadsheet graph shows how long 
the computers take to load and recalculate a 25- by 2 5-cell spread- 
sheet where each cell equals 1 .001 times the cell to its left. The spread- 
sheet program used was Microsoft Multiplan. The time for the for- 
mat/disk copy test on the Macintosh reflects using the disk-copy utility 
on a single-drive system. Four disk-swaps are required for the com- 
plete disk copy, the time for which is included in the benchmark. 
*The Sieve benchmark couldn't be run on the Mac (see text for details). 
**The new Disk Copy program was not available at press time. 



242 B YTE • AUGUST 1984 



Minis and 

• £ the bes 

mainframes 
have used 
WordMARC 
for four 

^ ■ pears exact 

years. Now 

there's 
WordMARC 

word 

Erocessing 
>r your 

% m for yo 




Originally created for minis and main- 
frames, WordMARC is now available for 
use on your micro*. And quite simply, it's 
the best office-quality word processing soft- 
ware package a micro user could 
buy. After all, it was the best word 
processor mainframe and mini users like 
universities, national laboratories, and For- 
tune 500 companies could find over the last 
four years. But, if | 
you need more 
proof, read on. 
DiVo Problems, No Nonsense, No 
Competition. For starters, every- 
thing you see on your screen ap- 
pears exactly as it will be printed 
on paper. Scientific 
notation. Foreign lan- 
guage characters. Underlining. Subscripts. Every- 
thing. □ A Partial List of Features. That's Right, 
Partial. Menu driven w/function keys. Easy self- 
paced tutorials. Spelling 
checker. Mail merge. Sci- 
entific notation. Foreign lan- 
guage 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 -21+00. 

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 
■^^■^^■^^"^ any other word processing software. OK. Now that 
1 1 ll^^l ^J# 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. 



00 



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 Inter- 
national, Inc. © 1984 MSI, Inc. IBM PC and XT, Eagle, 
Columbia, Compaq, Corona, NCR PC, DEC Rainbow, and 
TI Professional computers are trademarks, respectively 
of International Business Machines Corporation, Eagle 
Computer, Inc., Columbia Data Products, Compaq Com- 
puter Corporation, Corona Data Systems, Inc., NCR 
Corporation, Digital Equipment Corporation, and 
Texas Instruments. 



Circle 191 on inquiry card. 



AUGUST 1984 • BYTE 243 



REVIEW: MACINTOSH 



once or twice, briefly. The same is true 
at the "desktop" level. Any actions can 
be performed via the pull-down menus 
or by direct "physical" manipulation of 
the objects shown. The best feature of 
the Mac documentation is that I almost 
never have to refer to it. 

My one complaint about the user in- 
terface is that it's slow. Sometimes run- 
ning a program or opening a file seems 
to take longer than it should. File copy- 
ing on a one-drive system is also 
tedious. 

A special disk-copy utility is now avail- 
able that lets you copy an entire disk 
in just four swaps— not too shabby when 
you realize that this utility uses nearly 
80 percent of the total RAM just to hold 
the data. Unfortunately this utility won't 
solve the problem of copying several 
files onto a disk that's already formatted 
and in use. There is a simple solution: 
more RAM. 

Memory Limitations 

The 68000 is a powerful microprocessor 
but it has a limited environment in the 
Macintosh. The Mac comes with 128K 
bytes of RAM: less than 1 /100th of the 
16-megabyte RAM the 68000 could use. 
and there's no way to expand it. True. 
Apple is planning to upgrade the Mac 
to 512K bytes sometime in the future, 
but that still leaves 97 percent of the 



Apple is planning to upgrade the Mac to 512K 
bytes sometime in the future, but that still leaves 
97 percent of the potential memory space 
unused and unusable. 



potential memory space unused and 
unusable. The Mac has no provisions for 
expanding memory beyond replacing 
the 64K-bit chips it currently uses with 
2 56K-bit chips as they become avail- 
able. It has no expansion slots and no 
external bus. And remember, this is a 
graphics-intensive environment where 
memory often gets eaten up rather 
quickly. 

So the question arises: why did the 
Macintosh design team so limit their 
machine? The most common reason 
I've come across is that the Macintosh 
team wanted to provide a standard en- 
vironment for software developers and 
users (although the latter is less often 
cited). In other words, software devel- 
opers know that a Mac will always have 
1 28K bytes of RAM and users will never 
have to worry about software requiring 
more RAM than they have. The idea is 
sound, but it causes two problems. First. 
128K bytes is not enough RAM for a 
standard, especially in the Macintosh 
environment, where graphics chew 




Photo 3 : The Macintosh keyboard. Note the absence of a control key, but the presence in- 
stead of a "cloverleaf" key just to the left of the space bar. This key performs several of the 
functions usually performed by a control key. 



away at your free space. Second, there 
will be no standard for software devel- 
opers when the 512K-byte upgrade be- 
comes available. Many software devel- 
opers are ignoring (or unable to use) the 
128K-byte machine and will release their 
packages for 512K-byte machines only. 
Unless Apple plans a free update to all 
Mac owners, the standard environment 
will no longer be standard. 

Another argument I've heard to sup- 
port the concept of such limited mem- 
ory is that the expansion slots were 
dropped to avoid power and cooling 
problems and to keep the user out of 
the machine. Again, this is a good idea 
if you provide sufficient resources in the 
unexpandable model. 1 have no com- 
plaints with Apple's choice of two 
RS-422A ports, an external disk port, 
the mouse port, and audio output. Ex- 
ternal video would be nice, but it isn't 
critical. But there's just not enough 
memory. 

Others argue that 1 28K bytes of RAM 
is enough because so much of the work 
is done for you in the 64K-byte ROM. 
The ROM toolbox (the optimized 68000 
machine-language routines that handle 
all aspects of the user interface) is truly 
a marvelous thing, but it doesn't change 
the fact that large, complex programs 
need lots of memory, especially if the 
displays are all graphical. A supporting 
argument points to MacPaint and Mac- ' 
Write, saying, "See, these work fine!" Yes, 
they do, but both have easily reached 
limits. Furthermore, these programs 
were developed over a long period of 
time, concurrently with the Macintosh. 
The authors of these programs knew a 
lot about optimizing code for the Mac. 
Software developers with less time and 
more ambitious designs will find the 
lack of RAM a serious roadblock. 

1 also have heard that the upgrade to 
512K bytes will eliminate all such prob- 
lems because there will be more than 
enough RAM for any application. Again, 
I disagree. You can never have enough 
RAM. 1 think it no accident that the 

[continued] 



244 BYTE • AUGUST 1984 



Inside Outside 



Thinking of 

buying a modem? 

You owe it 

to yourself to check out the Qubie r 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 exten- 
sion of this progress. Because up 
until now, a 2 12 A 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 compe- 
tition 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 communi- 
cations 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 soft- 
ware packages including Crosstalk™ 
and Smartcom™ We picked the best 
software package we could find based 
on it's ease of use and features, PC- 
TALK 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, the212E/1200 
can be used with any computer or 
terminal with a RS-232C serial port. 
You can use any Hayes compatible 
communications software on any- 
thing from an Apple to a Zenith. 
Many owners of IBM PC's are using 
it because they lack available expan- 
sion 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, auto- 
answer 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 con- 
trol 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 



I PC212A/1200 Includes: Modem 
" Card, PC-TALK III software, card 
I edge guide, modular phone cable, 
" quick reference card, and instruc- 
I tion manual. S299 
I Optional external serial port con- 
I nector S20. 



J 212E/1200 Includes: Standalone I 
modem with cable (specify male or« 
female), modular phone cable, and, 
instruction manual. S329. ■ 



I 



QUBIE' 



212A/1200E 



HS AA CD OH RD SO TR MR 



microprocessors measure the tones 
digitally. This allows them to over- 
come 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, u 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 satisfac- 
tion 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. 



IBMis a trademark of International Business Machines Corporation, 

Crosstalk is & registered trademark of Microstuf Inc. 

PC-Talk III is a registered trademark of The Headlands Press Inc. 



'I 



Order Today, Shipped Tomorrow! 

All prices include UPS surface freight 
and insurance. Add $5 for two day air 
service. For fastest delivery send certi- 
fied check or credit card. Personal 
checks take 18 days to clear. Calif, 
residents add 6% sales tax. Corpora- 
tions and Institutions call for purchase 
order details. 

(800) 821-4479 

Toll Free Outside California 

(805) 987-9741 

Inside California aMi 

QUBIE' m 

4809 Calle Alto 
Camarillo, Ca. 93010 

Tempo House, 15 Falcon Road, 
London SW11 2PH, United Kingdom 



€ Copyright QubJe' 1984 




Circle 262 on inquiry card 



• 



REVIEW: MACINTOSH 



Apple says the 68000 
is much better than the 
8086/8088 chips used 
in the IBM PC and its 
compatibles, yet they 
can use more RAM 
than the Mac. 



Commodore 64, with 64K bytes, has 
dominated the low-end market over ma- 
chines that have (or had) 8K, 16K, or 
24K bytes. Apple gave the He, which 
uses an 8-bit 6502 chip, 128K bytes of 
RAM. Why the company limited the 
68000, a 32-bit chip, to the same initial 
amount of memory is beyond me. Even 
the fourfold upgrade is too limiting. 
Apple delights in stating how much bet- 
ter the 68000 is than the 8086/8088 



chips used in the IBM PC and compat- 
ibles, yet most of those systems can use 
more RAM than the Mac. Where's the 
advantage? 

Obviously, I think that 128K bytes is 
not enough RAM to make the Macin- 
tosh a truly powerful machine. My at- 
tempt to run the Sieve of Eratosthenes 
benchmark on the Mac provides one in- 
dication of its RAM limitations. Once 
BASIC was loaded into the Mac, there 
was too little space left in memory for 
the Sieve program. To fit the program 
into memory, I had to declare all vari- 
ables integer. This will, of course, speed 
the execution time considerably. Thus, 
the speed of the Mac Sieve is not com- 
mensurable to the other two systems. 
(If you are curious, the modified bench- 
mark took 96.4 seconds on the Mac.) 
The upgrade to 512K bytes will help 
considerably, but it's still an inexcusable 
limit. I am convinced that this limited 
RAM has held up the release of Mac 
software. As I write this, it has been 



three months since the Macintosh was 
released, and all the Apple dealers in 
town have only three software packages 
for the Mac besides MacPaint and Mac- 
Write, which are still bundled. Mac 
should have had at least double the ini- 
tial and upgrade RAM, i.e., 2 56K bytes 
and 1 megabyte, respectively. It may be 
that Apple will release yet another up- 
grade when 1-megabit chips become 
available in mass quantities, or they may 
just release a new machine. 

Although the RAM is a limitation on 
the Macintosh, the ROM is a tremen- 
dous strength. In what is undoubtedly 
one of the marvels of modern program- 
ming, the Macintosh design team 
crammed an unbelievable amount of 
power into the 64K bytes of ROM in the 
form of tightly written, highly optimized 
machine code. In doing so, the team 
provided standard user interfaces so 
that most application programs on the 
Mac will be used in similar forms. I tried 

[continued) 



SUPER APPLE® COMPATIBLE 

SUPERIOR TO APPLE. COMPARE FEATURES 

AMERICAN SUPER COMPUTERS Elite 4 

1. Dual CPU's 6502 & Z80, 64K RAM 

2. Runs APPLE & CPM, detached keyboard 

3. Numeric keypad, 90 key keyboard 

4. No copyright problems, completely legal 

5. SAVES YOU LOTS OF MONEY! ONLY $499 
Disk Drive $199 - Controller $49 - Monitor $109 

Complete System: 
Computer + Controller + Drive + Monitor ONLY $839 



APPLE is T.M. of APPLE Computi 



WE HAVE ALL APPLE CARDS - CALL! SAVE! 

Phone American Super Computers (919) 883-1105 



COMPLTFRS 




TfsRVWALS 
Televideo910 


S 419 


PRINTER. LETTER QUALITY 




Advanced Digital Z80B 6Mhz 


Super Quality • Super Price! 




Super Six/128 W/PS NET/I 


S 565 


Televideo 924 


614 


Smith-Corona TP-1 


$ 246 


Super Slave-6M28 


499 


Televideo925 


674 


TECA10 


550 


Compupro 816C Demo (1 onlyl 


5139 


Televideo970 


935 


NEC2010 


785 


Morrow 0120 


2578 


Addj 3A+ 


442 


Televideo TP-720P 


419 


Hearjstart VPU-128 


1669 


Viewpoint Color 


998 


Silver Reed 500P 


442 




2298 


Zeniih Z-29 


655 






8VI PC Copy of IBM PC 


1895 


Visual 50 


565 






AHot 566 20 5-Umr 




















Epion RX-80FT 








8MC8M.12AUW 


109 








7BA 


BMC Amber 


118 


Okidata 80 Par 








BMC Color 


245 


Okidata 92 Par 






2072 


Amdek Coloi-I 11 Demol 


164 


TaliySplrit 


331 


ESflle PCSpirit It 


CALL 






Anadex 95008 


946 


NECPC8201A 


635 











nternationsl Bustn 



s Machinei/CompuPro is a Codbout Company 



We Sell Entire Line Of Most Compaines 

Call For Latest Prices, Shipping & Availabilty 

Factory Warranties - WE BEAT PRICES! 

WHICH COMPUTER IS BEST?- FREE BROCHURE 



AMERICAN 



COMPUTERS 



4167 Kivett Dr., Jamestown, North Carolina 27282 
Phone: (919) 883-1 105 or (919) 889-4577 

Prices & Specifications subject to change 




When switching or lightning 
cause voltage surges- 
is your 

computer 
safe? 

Permo Power® 

Surge Suppressors 

provide the 

transient protection ' p 

computers need ,-^f^4 

• Protects components; ? ,0 
prevents doto errors / 

• Eliminates both line-to-line 
and line-to-ground surges 

• Automatic failure shutdown 
prevents unprotected operation | ~ : ^ l 

• Extended Life models have 

RF and EMI filters and a ; ._ > 

three-year warranty / ^-n * 





Now at your 
computer store. 



PGRMA POWGPw 
electronics inc. 



246 BYTE • AUGUST 1984 



Circle 20 on inquiry card. 



5615 West Howard Avenue • Chicogo. Illinois 60648 • (312)647-9414 

Circle 246 on inquiry card 



IBM Compatible 









TL 





WS%1af^%WJiiTiWS\Ws\7 



MfSn iMVT^If * iTiif-T»iPI73 P 



computer resources with its HiNet™ Local Area Network 
in 1980. Now, 3000 HiNet LAN systems later; comes the 
DMS-816, the cost-effective solution to the need for 
multiple IBM-compatible PCs. 
Up to 63 DMS-816 work stations can be interconnected 
to share common data and expensive peripherals. Cost 
- v of stand-alone P~ 
ilreadyownlBM 
connect them to I 
with low cost HiNet/r* 
Adapter cards. Conserve 
your investment while Y 
expanding the utility of I" ""'"" 
your system. 

I With the DMS-816 yo' 4 
1 take advantage of the 
wealth of PC- nr * QTM 

ingCP/M-8C 

RAM memoi 



without the expense of purchasing added memory. 
Your network is controlled by an extremely fast and reliable 
master station. And your communication pathways are 
unlimited—HINet gateways let you talk to mainframes and 
*a networks, 



[■H1SHISPEI 






mm 






N ; 


illllllilllHIIIIIIltl! QQJ 
J IMIIIIJIflltllll 




_ . ) 



in international communu 
n p LC— Digital Microsyst 

^lier for everything 
, j need on your HiNet 
LAN: large hard disk 
servers, rietvvork soft- 
ware, cabling and con- 
lectors, intelligent work 
tations. optional local 
torage.Thistran 01 ' 
nto easy installa! 



m 



j^ — .V 



\ 



lllI*F«liI*K»ffl*)*l* 



/ 



\ 




Circle 101 on inquiry card. 

HiNet is a trademark of Digital Microsystems, inc. IBM PC is a trademark of International Business Machines. PC-DOS is a trademark of International Business Machines. 

CP/M-80 and CP/M-86 are trademarks of Digital Research, Inc. Corporate Offices: U.S. 1840 Embarcadero, Oakland, CA 94606. Tel. (415) 261-1034, TWX 910-366-7310. 

U.K.: Tel. (0734) 793131, Telex 851849925. Hong Kong: Tel. 3-7237962. Telex 78041153. Germany: Tel. 610234036/7/8. U.S. Sales Offices: California: (415) 261-1034. 

New York: (516) 829-4772. Texas: (214) 234-4940. Washington D.C.: (301) 576-2922. 

International Distributors: Australia, Daro Systems, (02) 699-3877 • Benelux, Digital Systems, (2) 384-80-62 • Denmark, Data APS (1) 780141 • India, American Components, (91) 

/ 222999 • Ireland, Digicom, (0001)604544 • Israel, Osnat Computers, (3) 492122 • Italy, Condor Informatics, (2) 4987549 • Norway, Nor Sales, (2) 680555 • Portugal, Monteiro, 
(1) 322500 • Saudi Arabia, EECC, (2) 6690221 • South Africa, Digital Computer (11) 706 7182 • Spain, MOS, (3) 239 3604 • Sweden, Macrotek, (8) 870190 • Switzerland, 
CompuServe (42) 366155 7 

/ / / I \ \ \ 



REVIEW: MACINTOSH 



A Second Opinion 



The Macintosh is advertised as a 
128K-byte machine. In reality, the 
Finder (Macintosh's operating sys- 
tem) and other systems software take 
about 40K bytes. Subtract from this 
another 40K to 70K bytes for any applica- 
tions programs that may be in memory 
and the 128K-byte Macintosh becomes 
an 18K- to 38K-byte machine. For ex- 
ample, when Mac's Microsoft BASIC 
package is loaded on top of the resident 
software, there is only 1 3 K bytes of space 
for programs and data left. Similarly, Mac- 
Write, Macintosh's word-processing pro- 
gram, only allows documents with a max- 
imum size of about 24K bytes. This prob- 
lem seems to be an inherent limitation 
in the current design of the Macintosh 
because there is no way to expand the 
memory capacity of the machine. When 
2 56K-bit memory chips become available 
the Macintosh will be upgraded to a 
512K-byte machine, enough space for the 
most ambitious application programs. 
However, at the time of this writing these 
chips are only in the development stage. 
This means that they will not be commer- 
cially available before 1985. 

Disk Swapping 

Closely related to the memory limitations 
is the problem of "disk swapping." 
Because the basic Macintosh system has 
only one disk drive, transferring data 
from one disk to another requires that the 
Macintosh read from the input disk, eject 
the input disk, and prompt the user to 
insert the output disk. After sending the 
data to that disk, it is ejected and the user 
is told to reinsert the input disk. This cycle 
is repeated until the data transfer is 
complete. Initially, this shuffling of disks 
seemed to be tolerable. At least I thought 
it was until 1 attempted to back up a disk 
with 270K bytes of data on it. It took 
more than 50 disk swaps and 20 minutes 
to perform this simple operation. This 
works out to an effective transfer rate of 
about 5K bytes per swap. The process 
becomes even more hectic when the Mac 
has to consult systems software during 
the transfer. The user must then swap 
three disks in and out of the internal 



by J. Edward Chor 



drive. Unfortunately, this is precisely the 
kind of design flaw that will prevent the 
Macintosh from gaining widespread 
acceptance in a business environment. 
Disk backups are absolutely essential to 
business applications. Therefore, the 
need for a second drive is a hidden and 
unadvertised cost of owning the machine. 
All things considered, the Desk 
Accessories (accessory programs that 
can be run at the same time as another 
program) are an excellent complement to 
the Finder. These accessories are avail- 
able to the user at all times, regardless 
of the application program that may be 
resident in memory. This means, of 
course, that users will be able to cut and 
paste between diverse application 
programs. Although not as sophisticated 
as Lisa's information-passing capability, 
the Macintosh currently is the only 
machine in its price range that provides 
this feature as a system-resident function. 
However, sometimes the Finder does its 
job too well. If there are two or three disk 
icons present on the desktop, each with 
a copy of the System Folder, calling up 
a Desk Accessory such as the Alarm 
Clock will cause the Finder to request that 
the disk under which the system was ini- 
tialized be inserted. The Finder then gets 
the data pertaining to the Desk Accessory 
from that disk's System Folder instead of 
using the System Folder of the disk that 
was in the internal drive. After the Finder 
gets that information, the user must then 
reinsert the disk he or she was originally 
working with to display the accessory. Al- 
though not a major inconvenience, this 
procedure does become somewhat ag- 
gravating when one wants to do a simple 
thing like set the Alarm Clock. 

Programmer's Perspective 

Nothing much has been said about 
Macintosh from the programmer's point 
of view. Unfortunately, the reason for this 
is that there is very little to say. The 
Macintosh is the only machine in recent 
history to be offered without a program- 
ming language However. Apple has pro- 
mised assembly language, BASIC, and 
Pascal for the Mac. As of April 1984 none 



of these packages was being marketed. 
The only language currently available. 
Microsoft BASIC, is extremely disappoint- 
ing. Programs written with it will essen- 
tially look like MBASIC programs written 
for the IBM PC Even when Apple's lan- 
guage packages for the Macintosh are 
released, users should not expect to be 
able to produce application programs 
that utilize Macintosh features like the 
menu bar, dialogue boxes, and windows. 
Because any language that is run on a 
Macintosh will be treated like an applica- 
tion program, these routines will be in- 
accessible to programs created at a lower 
level than the application program that 
uses those features. The Macintosh ap- 
plications that use those features are be- 
ing done currently in one of two ways. 
They are either created on a Lisa and 
downloaded to the Mac. or two Macs are 
used in tandem (one for writing the pro- 
gram and the other for running it). De- 
veloping software in this fashion can 
be an expensive proposition. 

Although Apple has indicated that pro- 
grammers will be given assistance in de- 
veloping application programs for Macin- 
tosh, in fact this assistance will be avail- 
able only to a certain chosen few. i.e., 
established software houses or in- 
dividuals who have a proven track record 
of commercial success. Of course, one 
can always purchase the technical manual 
for Macintosh, which presumably con- 
tains all of the information regarding the 
highly touted Macintosh toolbox, and at- 
tempt to develop Mac applications from 
scratch. It can be obtained from Apple 
for $1 50. Regrettably, it is unlikely that a 
"cottage industry" will grow up around 
the Mac in the same way that one grew 
around the Apple II. But in spite of its 
shortcomings, the Macintosh is a signifi- 
cant advance in user-friendly computing. 



I. Edward Chor (1307 West Addison St.. 
Chicago. IL 60613) is an attorney. He received 
his B.A. in psychology from Eastern Illinois 
University and his J.D. from Southern Illinois 
University. His hobbies include reading, sports, 
and fiddling with machines. 



248 BYTE • AUGUST 1984 




r (Li m 


7W 


K.9LJ1 HHll 9 ■ 




— v -S^ll Jti i^ # n 


LV ^k *£% 




HT^^r 1 


B^kJ^ 


m ' ** ^HF ^H ^k "*"UI 


gg^S^r^ 


i3///fM?//!f 


ti'JHH 



COmpuPrO has now dra 

matically increased your micro- 
computing power and speed. 

With our System 816/F™ super- 
micro with CPU 286/287™ board. 
The computer that gives you 
results. Fast. 

Built to provide sophisticated 
computer users with the fastest 
16-bit system available, the 
System 816/F is a multi-user com- 
puter so powerful it virtually has 
no supermicro peer. 

The reason for such a strong 
statement? We configure the sys- 
tem around the 80286— among 
the most powerful 16-bit proces- 
sors available anywhere and one 
that's built for speed. The 286/287 
board lets you run anything from 
the 8086/8088 family and includes 
the 80287 math processor and as 
much as 16 Kb of EPROM on-board. 

But this board is only part of 
the story. CompuPro has included 
a long list of features that 
enhance this exclusive system 
even more. Like 1.5 Mb of our 



MDRIVE®/H— a solid-state disk 
with the capacity to dramatically 
increase the speed N of the 286 pro- 
cessor even more ... 512 Kb of 
16-bit main memory expandable 
to 16 Mb . . . 1.2 Mb floppy disk 
and up to 80 Mb of hard disk 
storage ... 12 serial ports . . . and 
much more. 

And even though our System 
816/F has set some industry stan- 
dards, we still designed it to con- 
form to the IEEE 696/S-100 bus 
standard. And virtually no one 
else can say that. 

The time you save with 
CompuPro will save you money, 
too. Our System 816/F speeds up 
software development. So the 
quality and capacity of your pro- 
grams is enhanced, and the value, 
maximized. 

The CompuPro System 816/F. It's 
the essential system for OEMs and 
system integrators who want all 
the power and speed they can 
get. And best of all, we've shipped 
hundreds of them already. 



iimimiimiiiii i 




The Essential Computer" 

CompuPro. 

A GODBOUT COMPANY 

3506 Breakwater Court, Hayward, CA 94545 

(415) 786-0909 

MDRIVE is a registered trademark and System 816/F, 
CPU 286/287 and The Essential Computer are trade- 
marks of CompuPro. Front panel shown is available 
from Full Service CompuPro System Centers only. 
©1984 CompuPro. 



For Dealer locations, see pg. 286. 



AUGUST 1 984 • BYTE 249 



REVIEW: MACINTOSH 



Software for the Mac 



When I bought my Macintosh in 
mid-February, three software 
packages were available for it: 
MacWrite/MacPaint. which Apple devel- 
oped and gave away with the system, and 
Microsoft Multiplan and Microsoft BASIC 
(Microsoft has been working with the 
Mac for two years.) By the end of April, 
the number of available packages had 
climbed to four: MacFORTH, from 
Creative Solutions Inc. (CSI) had hit the 
shelves. (CSI already had a commercial- 
ly available 68000-based FORTH.) 

By the time you read this, the trickle 
of Mac software should have grown 
modestly. The torrent probably won't hit 
until early 1985 when the 512K-byte, two- 
disk Macintosh emerges as the new stan- 
dard and software firms have a year of 
development under their belts. The 512K- 
byte Mac will increase the flow of soft- 
ware in another way. With the extra RAM, 
individuals will be able to develop Mac 
software without having to buy a Lisa. 
Programs will be able to do fancier things 
because graphics capability increases as 
memory does. And the programs them- 
selves will not have to be as tightly coded 
to fit into available memory; therefore, 
they will be developed more quickly. 1 
think the result will be a flood of pro- 
grams, both public-domain and entre- 
preneurial. 

MacWrite and MacPaint 

Both MacWrite and MacPaint are great. 
Get them, use them, and have fun with 
them. 

MacWrite gives you nine different fonts, 
six different point sizes, five different 
styles (mix and match), and superscript- 



■ 


:.■ 




1 ■ . 







An example of MacPaint on the Macintosh. 

ing and subscripting. The program has 
three types of spacing, four types of justi- 
fication, adjustable margins, and two 
kinds of tabs. It also has headers, footers, 
rulers, and page breaks. And it has a 
screen that shows you what you're going 
to get and a printer that gives you what 
you saw. The result: the fanciest letter and 
report writer you ever saw. I don't think 
I'd use it to write a book, though. The 
amount of text you can edit is too limited 
and some things (such as pulling in or ap- 
pending files) are awkward or impossible. 
Still, it's great fun. 

MacPaint is also destined to be a 
classic. Admit it: you've always wanted to 
draw nice pictures but you haven't had 
the time to learn the necessary skills. 
Enter MacPaint (see the photo on this 
page). In seconds, you can create images 
that would take you hours by hand (if you 
could do them at all). Children and adults 
can learn to use it in an amazingly short 
time (a tribute to Bill Atkinson). My boss 
and I laid out a 16-page manual for a new 
software product in two days, complete 
with borders, boxes for illustrations, and 



varying type sizes (MacPaint will generate 
text). We also designed the disk labels 
and drew up specs for some booth props 
we had built. However, you can only draw 
in a 3- by 5-inch window, which in turn 
moves around on an 8- by 10-inch area. 
The small drawing window makes large 
pictures tedious, especially if you're try- 
ing to put in text that is wider than the 
window. But this is a minor problem. 
MacPaint is a perfect example of what's 
amazing and fun about the Macintosh. 
MacWrite/MacPaint is available from 
Apple Computer Inc. (20525 Mariani Ave 
Cupertino. CA 95014) for $195. 

Multiplan 

Microsoft Multiplan is a Macintosh ver- 
sion of a standard spreadsheet. Not so 
standard are the crisp display, pull-down 
menus, and ease of cell manipulation via 
the mouse. The worksheet is limited to 
63 columns and 255 rows, but these 
figures should increase once the 512K- 
byte machine becomes widely available. 
I found Multiplan easy to use— easier, 
in fact, than any other spreadsheet I've 
used. But I do have a few complaints. The 
documentation assumes a fair amount of 
knowledge on the part of the user, a poor 
assumption considering the Macintosh's 
market. For example, this is the documen- 
tation for conditional expressions: 

\F[logical-expressionmlue4f'true,value-if'false) 

The IF function evaluates the logical 
expression, then returns the value-if- 
true if the expression is TRUE; or it 
returns the value-if -false if the expres- 
sion is FALSE. 

There are no examples and no explana- 



some prerelease programs with no 
documentation and I was able to use 
them almost immediately. Try that 
under CP/M or MS-DOS. The ROM 
toolbox is a vital facet of the overall 
amazing nature of the Macintosh. 

The Macintosh also lacks adequate 
mass storage. At first, it doesn't look 
bad: it consists of one single-sided 
3 /2-inch built-in disk drive (made by 
Sony) holding 400K bytes. Having only 
one disk drive can be a nuisance, but 
it's acceptable if the drive holds enough 



data and if you can copy it easily. How- 
ever, the system files on a Macintosh 
disk take up over 200K bytes, or half the 
disk. Even with trimming, you only have 
about 220K bytes of usable space on 
a bootable disk. If any other company 
marketed a CP/M or MS-DOS system 
with a single disk drive with only 220K 
bytes of free space, no one would buy 
it. It takes a lot of time and disk swap- 
ping to copy files or to back up a disk. 
The Mac's only saving grace on this 
point is that it automatically ejects the 



disk and prompts you for a new one. 

The 128K-byte Macintosh with one 
single-sided drive is not a powerful 
machine. You can do useful work with 
it, and the user interface beats all others 
cold. But for the same price or less, I 
could go out and buy, for example, a 
Compaq with 256K bytes of RAM and 
two 360K-byte disk drives. And I could 
get lots of software for it— programs that 
can handle larger, more difficult tasks 
than the Mac currently can. 

The upshot is this: a $3000 Macintosh, 



250 BYTE • AUGUST 1984 



REVIEW: MACINTOSH 



tion of what a "logical expression" is or 
how it resolves to true or false. The in- 
dex refers us to the definitions of NOr 
or OR; the latter gives us a little more in- 
formation and one complex example 
(demonstrating IE OR, AND, and NOT). 
This will be confusing to novice users. 
But consider getting Multiplan anyway. 
Not only does it work well, it can share 
its information with other Microsoft pro- 
grams, such as BASIC. Word, Chart, and 
File. The program is available from Micro- 
soft Corporation (10700 Northup Way. 
Bellevue. WA 98004) for $195. 

Microsoft BASIC 

Microsoft BASIC is fairly standard. It does 
have lots of Mac-specific graphics calls. 
However, most of the them are poorly 
documented: instead, the documentation 
refers you to the QuickDraw Programmer's 
Guide, which doesn't come with the 
system. 

The BASIC itself runs in^an environment 
with three windows: Command. Output, 
and List. All commands, typing, and 
editing take place in the Command win- 
dow; program output and echoed com- 
mands show up in the Output window: 
and program text is seen in the List win- 
dow. It all works nicely, although I find 
a few things annoying. The Command/ 
Output window dichotomy can cause 
problems, especially when the Output 
window insists on writing text behind the 
Command window (and nowhere else). 
Also, the List window has a tendency to 
propagate itself, so that you end up with 
several List windows stacked behind each 
other. 

Even with its shortcomings, Microsoft 



BASIC is useful. Several public-domain 
programs for it have already shown up 
on computer bulletin boards, including 
a terminal-emulation program and a 
68000 disassembler. The program is 
available for $195 from Microsoft Cor- 
poration (10700 Northup Way Bellevue, 
WA 98004). 

MacFORTH 

MacFORTH (Level 1) lets you do amaz- 
ing things on the Macintosh. You can 
create windows complete with close and 
size boxes and "attach" programs that 
will execute automatically when a given 
window is activated. You can build your 
own pull-down menus with check marks, 
inactive items, and command-key options. 
In fact, you could code your own applica- 
tion and have it "take over" the Mac, put- 
ting up its own menu bar and controll- 
ing all the windows. 

The only catch to all of this is that you 
have to learn FORTH, a programming lan- 
guage unlike any other. FORTH isn't dif- 
ficult to learn, but it can be a bit confus- 
ing to use because of its stack orienta- 
tion and "reverse Polish notation" syntax. 
CSI's Going FORTH module helps a bit. 
Going FORTH is a clever program that 
sets up two side-by-side windows. One 
window steps you through an introduc- 
tion to FORTH. The other is an active 
FORTH window, where you can try out 
the things you're learning. Also, each 
chapter in the printed documentation is 
a tutorial on a given subject (menus, win- 
dows, etc.) with lots of examples to key 
in and try out. 

I think CSI has developed a solid 
FORTH implementation. (I programmed 



in FORTH professionally for a year, but 
1 am by no means an expert.) The win- 
dow, menu, and graphics functions. are 
well done and easy to use. For example, 
if you create a window called Easel, and 
a program to run within Easel called 
Sketch, the FORTH command EASEL 
ON.ACTIVATE SKETCH links Sketch to 
Easel. If you select the Easel window with 
the mouse, the Sketch program will auto- 
matically start executing. 

All in all. CSI has done an excellent job. 
It has made FORTH relatively easy to 
learn. The documentation is easy to read 
and use. although the glossary can be 
cryptic to a FORTH neophyte. Best of all. 
CSI has unlocked a lot of the Mac's 
power. FORTH produces very compact 
code, which means that the Mac's limited 
RAM isn't so limited anymore. 

CSI has three levels of MacFORTH. I 
reviewed Level I ($149). which is de- 
signed as an introductory package. It 
does all the things I mentioned, but it 
doesn't support real (floating-point) 
numbers or all of the ROM toolbox rou- 
tines. Level II ($249). aimed at in-house 
developers, has real numbers and ad- 
vanced graphics as well as provisions for 
inserting 68000 assembly routines. Level 
III ($2500) is for software developers in- 
terested in marketing programs devel- 
oped in MacFORTH. It includes technical 
support, a run-time package, and licenses 
for 2 50 copies. Additional licenses cost 
$5 per copy. 

If you want to make your Mac do things, 
get a copy of MacFORTH and have fun. 
MacFORTH is available from Creative 
Solutions Inc. (4801 Randolph Road, 
Rockville. MD 20852). 



with 128K bytes of RAM. a 400K-byte 
disk drive, and an Imagewriter printer, 
is an amazing machine but not really a 
powerful one. A 512K-byte Mac with two 
400K-byte disk drives is both amazing 
and powerful, but it is also expensive 
($3 500, including printer and not coun- 
ting any cost for the RAM upgrade). In 
the two-and-a-half months that I've own- 
ed my Mac, I've often wondered if I 
should have bought one so quickly. 
However, the arrival of MacFORTH (see 
the text box "Software for the Mac" on 



this page) has done much to quell my 
reservations. I can now create my own 
windows, graphics, and pull-down 
menus, and the "fun quotient" of my 
Mac has made a quantum leap. Besides. 
I suspect that by the time this sees print, 
prices will have dropped and the soft- 
ware base will have expanded 
considerably. 

Conclusion 

You won't find another machine that's 
as easy to use or as much fun as the 



Macintosh. In the right configuration, it 
can do as much as any microcomputer 
on the market. However, you should go 
for a 5I2K-byte system with two disk 
drives and a printer. Anything less and 
you'll find yourself frustrated by the 
machine's limits. 

I have no doubt that I would have 
bought a Macintosh sooner or later, and 
I have no intention of getting rid of the 
one I own. The Mac's a gem— rough, 
slightly flawed, but a gem none- 
theless. ■ 



AUGUST 1984 -BYTE 251 



OUR AD 

#B7 



ALL MAIL: Conroy-LaPointe, Inc. 12060 SW Garden Place, Portland, OR 97223 
SHOWROOMS AT: PORTLAND, OR and SEATTLE. WA - BOTH OPEN M-SAT 10-6 



HARDWARE for 
your APPLE 

APPLE lie. STARTER SYSTEM BY APPLE CALL 



r*7^ *t^\ 




i 




l\ ' 








, 1 j 




L l» TJ] 


k^- J y i 


hrrrrmT^. 







APPLE MACINTOSH CALL 

UMIHD WARRANTY is 100% Parts & Labor fw 90 days by us. 



DISK DRIVES 



: Amdisk 1, 3 "Micro-Floppy, 143K 5 299 $249 
* CENTRAL PT., Filer, Utility & Apple DDS $ 20 $ 15 



• M 143K Disk Drive 
A2 Controller Card 

• A40, 160K, Drive 

• A 70, 286K, Drive 
A40/A 70 Controller 



$345 $219 

$100 $ 79 

$449 $299 

$599 $299 

$100 $ 79 



1/2 HIGH ALPS, A40, Belt Drive, 163K $299 $199 

nDlVPC TEACT40, Direct Drive, 163K $349 $219 

un« w co TEACi Tg0l Doub|e Sde(j 3^ $ 44g $329 

Controller Card by ComX $110 $ 49 



Rana Elite 1, 163K, 40 Track 

, Elite Z326K. 80 Track 

MM Elite 3, 652K, 160Track 

MW Elite Controller 



$379 $239 

$649 $399 

$849 $499 

$145 $ 89 



RAM EXPANS ON 



* ComX.80col. +64KRAM,for He, 1 Yr.Wty $ 199 $ 99 

* RAM Card, 1 Yr. Wty. (11+) 16K $179 $ 39 

* Microsoft, RAM Card (11+) 

* Titan/Saturn RAM Card (11+) 

RAM Card (11+) 
RAM Card (11+) 
Software 



16K $100 $ 69 
32K $249 $159 
64K $425 $249 
$599 $359 
Call 



128K 




VIDEO CARDS 



• ComX, 80 col. +64K RAM(lle) 1 yr. wty. $ 199 $ 99 



* Videx, VideoTerm 80 col. (+ or e) 


$279 


$189 


* UltraTerm(+ore) 


$379 


$279 


Soft Video Switch (11+) 


$ 35 


$ 25 


Enhancer II (11+) 


$149 


$ 99 


Function Strip (11+) 


$ 39 


$ 29 


We Have Full Videx Line. Call. 


Up to 35% off. 


1 MISCELLANEOUS 


* ALSJhe CP/M Card V3.0(+ or e)SPECIAL $ 399 


$199 


* Z-Card II (+ or e) CP/M 2.2 SPECIAL $ 169 


$ 99 


ASTAR. RF Modulator, to use TV 


$ 35 


$ 25 


* CCS, Serial Interlace 7710 (Set BAUD) 


$150 


$ 99 


Chalkboard, Power Pad 


$100 


$ 75 


Digital Res., CP/M Gold Card (W/64K) 


$495 


$359 


• Expand 64K Gold Cd. to 192K $ 325 


$239 


* Eastside. Wild Card (copier, 11+ only)SPL $ 110 


$ 59 


Wild Card 2 (copier, + or e) 


$140 


$ 99 


KENSINGTON, System Saver 


$ 90 


$ 65 


Modem (Mac) 


$140 


$109 


Surge Suppresor (Mac; 


$ 50 


$ 39 


Starter Pak (Mac) 


$ 90 


$ 64 


Key Tronic, KB200keyboard (11+) 


$298 


$219 


Koala, Touch Tablet w/Micro Illustrator 


$125 


$ 85 


Kraft, Joystick (Ap 11/11+) 


$ 65 


$ 49 


Paddle (Ap 11/11+) 


$ 50 


$ 39 


M&R,SupRfan(+ore) 


$ 50 


$ 30 


• Microsoft. Z80 Sottcard (+ or e) 


$345 


$345 


* Z80SoftcardP1us(+ore) 


$465 
$695 


$465 


* Z80Softcard Premium(ll+) 


$479 


* Z80 Softcard Premium(lle) 


$495 


$339 


* Orange Micro, Grappler Plus (eor + 


I $149 


$119 


16K Buffer Board lor Grappler Plus 


$175 


$119 


Buffered Grappler Plus, 16K 


$239 


$179 


Paymar. Lower Case Chip, Rev. 7 (11+ 
* PCPI. Applicard. 14 features 6Mh 


$ 50 


$ 39 


z $3/5 


$275 


RH Electronics, Super Fan II 


$ 75 


$ 59 


* Titan/Saturn, Accelerator II 


$599 


$399 


Transend/SSM, AI0II, Serial /Para l/F $ 225 


$169 


TG Products, Game Paddles (11+) 


5 40 


$ 29 


Joystick (11+) 


S 60 


$ 45 


Videx.PSIO l/F Card 


$229 


$169 


WICO, Mouse, Complete 


$179 


$119 



S OFTWARE for v ow APPLE 

■IIMLIiiillAIMir 1 



Arktronics, Jane (He o r I Ic only) N E W $ 1 79 
Jane (11+) NEW $ 295 

* Applied Soft Tech.. VersaForm $389 
Artsci, Magic Window II $ 150 

* AshtonTate, dBase II (Req CP/M 80) $ 495 

Friday (Requires CP/M 80) $ 295 

BPI Systems, GLAR.AP.PRor INV.each $ 395 

* Bnxierbund.Bank St Writer or Speller.ea $ 70 
Business Solutions, Jack 2 (lie) NEW $395 $265 

Incredible Jack NEW $129 $ 89 
Continental, GLAR.APor PR, each $250 

* Home Accountant $ 75 
Tax Advantage $ 70 

CDEX.ou Viacafc, Muftiplan or Apple lle.ea $ 60 

Dow Jones, Market Analyzer $ 350 

MarketManager $ 300 $ 195 

Market Microscope $700 $450 

Fox & Gefler, Quickcode or dGraph, ea. $ 295 $ 195 
d Utility (lor dBase II) $ 99 * 

Hayden, Pie Writer (Specify 80 col. bd) $ 150 

* Howard Soft, Tax Preparer, 1984 $ 250 
Knoware, Knoware NEW $ 95 
UK, Letter Perfect w/Mail Merge $ 150 
Micro Pro, (all require Z80-CP/M Card) 

* WordStar w/Applicard &CP/M SPECIAL $ 695 

* InfoStar w/Applicard &CP/M SPECIAL $695 

* WordStar'" + Training Manual SPECIAL $495 

* SpeilStar'-or MailMerge™, ea. SPECIAL $ 250 

* WordStar Professional, 4 Pak SPECIAL $ 695 $ 355 

* Options Pak, SS/MM/SI SPECIAL $ 345 $155 
MicTDsofLMulbflan, Apple DOS or CP/M $195 $129 

* Otbome/CotnX. (Disk and Book) (Stat, Bus. & Math) 



$119 
$195 
$259 
$ 99 
Call 
$199 
$269 
$ 45 



$165 
$ 49 
$ 47 
$ 40 
$225 



$ 65 
$ 99 
$185 
$ 64 
$ 99 

$295 
$295 
$239 
$129 



Some Common Basic Programs(75 ea.) $ 100 $ 

Practical Basic Programs(40ea.) $100 $ 49 

Peachtree, Requires CP/M & MBasic, 64K 

Series 40 GL & AR & AP. all 3 $395 $239 

Perfect,PertedWriter/Spell-2pak(CP/'M) $399 $199 

* Quark. Word Juggler & Lexicheck (lie) $ 189 $ 139 
Sensible, Sen, Speller or Bookends, ea. $125 $ 85 
Sierra/On-Une, Screenwriter Pro, 2 Pak $200 $135 

Screenwriter II $130 $ 89 

The Dictionary NEW! $ 100 $ 69 

Gen. Manager II NEW! $230 $155 

Homeword $ 50 $ 34 

• Silicon Valley, Word Handler $ 60 $ 39 

• List Handler $ 50 $ 33 

* Handler Pak (Word, List & Spell) $130 $ 85 
SoftwareArts,TK!Solver(forlleorllc) $299 $199 
Software Publishing, PFS: File $125 $ 84 
(specify + ore) PFS: Report $125 $ 84 

PFS: Graph $125 $ 84 

PFS: Write (He) $125 $ 84 

Stoneware. DB Master Version 4.0 $350 $229 

DB Utility lord $129 $ 87 

VWex. UttraPlan $189 $119 

VSsiCorp, Visicalc 3.3 (11+) $250 $169 



VisiCorp, Visicalc Enhanced (lie) 
Visifile or VtsiDex, each 



$250 
$250 



$179 
$179 



UTILITY & SYSTEM 



Beagle, GPLE or Alpha Plot, each $ 35 

Ap. Mechanic, Disquick or Pronto DOS.ea. $ 30 

Double Take or Utility City, each $ 30 

Flex Test or Frame Up, each $ 30 

Typefaces, Tip Disk HI or DOS Boss, each $ 20 

Central Point Fler, DOS a3&Util. $ 20 

r Copy II Plus (bit copier) $ 40 

Einstein, Compiler —Applesoft BASIC $ 129 

Epson, Graphics Dump $ 15 

Hayes, Terminal Prog.(lor Smartmodem) $ 100 

• Irwoft, GraFORTH II by Paul Lutus $ 90 

-, A.LD.S. $ 125 

Fortran 80 $ 195 



COMPLETE MICROSOFT UNE IN STOCK 



• Omega, Locksmith (bit copier) 
Penguin, Complete Graphics System II 

Graphics Magician 
Phoenix, Zoom Grafix 
Quality, Bag of Tricks 
Terrapin, Logo 

United SWI. ASCII Express-The Pro 
Utilico, Essential Data Duplicator III 



$100 
$ 80 
$ 60 
$ 40 
$ 40 
$ 99 
$130 
$ 80 



$135 



HOME & EDUCATIONAL 



Atari, Centipede. PacMan or Donkey K.,ea. $ 



Barrons, Study Program for SAT $ 

Beagle Bros., Beagte Bag $ 

Bluechip, Millionaire $ 

erndwtxind, Chopbftw or Lode Runner.ea. $ 

Arcade Machine $ 

Apple Panic $ 

CBS, C. Goren Learning Bridge $ 

♦ Continental, Home Accountant $ 75 
Datasoft, Aztec or Zaxxon, each $ 40 
Davidson, Speed Reader II $ 70 

Word Attack' or Math Blaster! ea $ 50 

Edu-Ware, (Large Inventory) 35%off list 

Harcourt, Computer Prep lor SAT $ 80 $ 54 

Hayden, Sargon III (Chess) $ 50 $ 34 

Infocom, Zork 1,11,111, or Starcross, each $ 40 $ 27 

• lr»soft3Games,Zarg/Spider Raid/Grapple $ 82 $ 25 
Knoware, Knoware NEW $ 95 $ 64 
Koala, Full line in stock, CALL 35%off list 
Learning Co., (Large Inventory) 35%off list 
Microsoft, Typing Tutor II $ 25 $ 17 
Monogram, Dollars and $ense $100 $ 69 
Origin, Ultima III $ 60 $ 40 
Scarborough/Lightning, Mastettype $ 40 $27 
Sierra/On-Une, Ultima II $ 60 $ 40 
Sir-Tech, Wizardry $ 50 $ 35 
Spinnaker, Full line in stock, CALL 35%off list 
Sub Logic, Flight Simulator II $ 50 $ 37 
Terrapin, Logo $ 99 $ 65 



OVERSTOCK SPECIALS 

• OKIDATAMICROUNE80 

ONETIME. 
QUANTITY LIMITED 




80 cps. Pin/friction feed, 80col, 132 col. compressed 
96ASCII, Graphics, Parallel $ 299 $ 179 



MISCELLANEOUS 





LIST 
PRICE 


PRICE 


Electronic Protection, Lemon 


$ 60 


$ 40 


Unw 


$ 90 


$ 60 


Peach 


$ 98 


$ 66 


Orange 


$ 140 


$ 95 


Kensington, PC Saver*"Une Cord w/lilter 


$ 50 


$ 39 


NetworX, Wiretree, 4 outlet welter-surge 


$ 70 


% 48 



• MEANS A BEST BUY 



DISKETTES 



LIST 
PRICE 



M 



CONROY LAPOINTE DISKETTES 

3 Year Limited Warranty. Top Quality product and we guaran- 
teed with our name. Bulk packaged. 

lOea, SS/SO, 35 Track (Apple, etc.) $ 21 

1 00 ea, SS/SD, 35 Track (Apple, etc.) 149 

lOOOea, SS/SD, 35 Track (Apple, etc.) 1245 

lOea, DS/DD, 40Track (IBM. H/P) 29 

100 ea. DS/DD, 40 Track (IBM, H/P) 239 

1 000 ea, DS/DD, 40 Track (IBM, H/P) 1995 



AMD€IC 3" Delates. Pac- 10 $ 60 

CDC, lOOea SS/DO, 40T (Apple, IBM) $ 550 

10eaSS/DO,40T (Apple, IBM) $ 55 

lOOea DS/DD, 40T ABM, H/P) $750 

lOea DS/DD, 40T (IBM, H/P) $ 75 

DYSAHlOea SS/DO (Appte.etc) $ 41 

lOea DS/DD 48T0BM.H/P,etc) $ 69 

MAXELL 10 each, MD1, SS/DD $ 55 

1 each, MD2. DS/DD $ 75 

VERBATIM, 10 each MD52501, SS/DD $ 49 

lOeach MD34, DS/DD $ 84 



$ 49 
$195 
$ 21 
$295 



GENERIK™ DISKETTES -ASLOWAS $1 

W/Jackets, no labels, top quality. 90 day limited warranty 
lOOea, SS/SD, 35 Track (Apple, Atari) $415 $130 
lOOOea, SS/SD, 35 Track (Apple.Atari) $4150 $995 
lOOea, DS/DD, 48TPI (IBM. H/P) $ 626 $ 170 

lOOOea, DS/DD, 48TPI (IBM, H/P) $6260 $1400 



fVl 



41CX. Calculator NEW! $ 325 $ 275 
41C. Calculator $ 195 $ 149 

41CV. Calculator w/22K $ 275 $ 219 



A 



for the ATARI 

RANA 1000 Drive, 320K $ 449 $ 369 
KOALA Pad w/Micro Hlus. $ 100 $ 75 



MODEMS * ND 



ACCESSORIES 



LIST 
PRICE 



OUR 
PRICE 



ANCHOR, Signalman Mark XII 
HAVES. IBM-PC Smartmodem 1200B 
IBM-PC Smartcom II Software 
Micromodem He w /Smartcom 
MicromodemlOO(S-lOObus) 
Slack Chronograph (RS-232) 
Stack Smartmodem 30OIRS-232) $289 $225 
Smartmodem 1200 (RS-232) $699 $535 
IBM-PC to Modem Cable 
KENSINGTON, Modem 1200 
NOVATION, 103/212Smart Cat 
ACCESS 1-2-3 (1200B+Crosstalk XVI) 
Apple Cat II 300 BAUD 
212AppleCat 1200BAUD 
Cat 
J-Cat 

212AutoCat 
QUADRAM, 

Quadmodem, Internal IBM (July) 
Quadmodem, Stand alone (July) 



$399 $269 

$599 $419 

$149 $109 

$329 $239 

$399 $275 

$249 $189 



$ 39 $ 29 

NEW $595 $385 

$595 $415 

$595 $399 

$389 $249 

$725 $559 

$189 $139 

$149 $104 

$695 $579 



$595 
$695 



SOfT*ARE-SEE APPLE OR IBM UTILITY SOFTWARE SECTIONS 



MONITORS S&kmb 

* AMDEK. 12"Green, #3003 $ 200 $ 125 

* 12" Amber, #300A $210 $149 

* 12" Amber, #310A lor IBM-PC $230 $149 

• 13"Co|or l+, Composite $379 $289 

* 13" Color ll,RGB,Hi Res,(IBM/Apple) $529 $439 
13", Color IV, RGB, 720Hx400V,(!BM) $ 795 $ 685 
DVM III, Color II or III to Apple II l/F $ 199 $ 175 

• PRINCETON RGB Hi Res, HX- 12 $795 $499 

• RGB Hi Res, SR- 12 $799 Call 

• Amber, MAX-12 (for Mono Board) $249 $199 

* QUADRAM.Quadchrome 12" RGBColor $695 $495 

• Quadscreen 17" 968x512 $1995 $1595 
ZENITH. 12"Green, ZVM 123 $200 $ 99 

12"Amber,ZVM124 $200 $149 



PLOTTERS 

AMDEK, Amplot II, 6pen, 10xl48ed 



$1099 $ 899 



PRINTERS ACCESSORIES 

DOT MATRIX: 

EPSON, RX80FT. 100 cps 
RX80,100cps 
FX80, 160 cps 
FX100, 160 cps 
MX100F/T, 80cps, w/Craftrax+ 



UST 
PRICE 
$ 499 
$ 399 
$ 699 
$ 895 
$ 995 



OUR 
PRICE 

$ 339 
$ 299 
$ 495 
$ 689 
$ 495 
$ 9 
$ 299 



$ 349 $ 319 



$ 749 
$1395 
$ 599 
$ 999 

$2695 
$2995 



$ 349 
$ 349 
$ 



Apple II Graphics Dump Program $ 15 

• MANNESMANN Spirit. 80 col 80cps $ 399 
TALLY. 160, 8O00I. 160cps $ 798 $ 568 

180L132col. 160cps $1098 $ 778 
OKIDATA.8Q80col.80cps,para SPL $ 299 LOW1 

B2A.80col,120cps,para. 

83A, 132col., 120cps,para. 

84. 136co», 200cps.para. 

92, 80 col., 160 cps. para. 

9a 136 col., 160 cps, para. 

2350P,PacemarK350cps,para 

2410P,Pacemark, 350cps,para. 

Aossiies, Rug 'N Play.Tfactors.Otograph 
ORANGE MICRO.Grappler+for Apple $ 165 
PRACTICAL, Mkrobuff In-Line 64K.Para. 
Mbobuff Inline 64K.Ser. 
QUAD RAM, Quadjet, Jet Color Printer 

• STAR MIC. Gemini 1CTX. 120cps 

Gemini 15 n X. 120cps 

LETTER QUALITY: 

AMDEK. 5040 40cps, Para. &Ser. 

• TTX 1014. l3cps 1 Para.&Ser„Pin8f nc,3p. 
JUKI.610Q18CPS, Para., 3 pitch 

PRINTER INTERFACES and BUFFERS: 

IBM-PC Parallel Printer Cable $ 60 $ 35 

Apple 11 l/F & Cable for Epson or Gemini $ 95 $ 59 
QUADRAM. 

Microfazer,w/Copy,PP,8K,#MP8w/PS $ 189 $ 139 
Microfazer. w/Copy, PP, 64K. #MP64w/PS $ 319 $ 239 
Microfazer, w/Copy, PP, 128K. w/PS $465 $345 

Microfazer, Snap-on, 8K. PP, Epson w/PS $ 179 $ 145 
Microfazer, Snap-on, 64K. PP. Epson w/PS $ 319 $ 235 
All Microtaers are expandable {/./copy to 512K) (Snapon to 64KJ 
SUPPLIES: Tractor Feed Paper. Ribbons, Daisy Wheels. 



$ 599 

$1095 
$469 
$ 749 
$2095 
$2395 
Call 
$ 119 
$ 259 
$ 259 
$795 
$ 499 $ 289 
$ 549 $ 439 

$1675 $1450 
$ 6A9 % 439 
$ 599 $ 459 



allow 20days to dear No C O O Prices reflect a 3% cash discount so ADD 3%k> above prices for VISA. MasterCard or American Express. For U S. Mainland, add 3%($5mmimum) tor shipping, insurance and handling (SI&H) by UPS 
UPS pound is standaid so add 3% ($10 minimum) more lo< UPS Blue lor SI&H Add 12% total ($15 minimum) lor SI&H for US Postat. APO or FPO. For Hawaii. Alaska and Canada, UPS is in some areas only, all others are Postal so 
caB. write, or specify Postal Foreign orders except Canada lor SI&H add 18% ($25 minimum) lor SI&H except lor monrtors add 30% I J50minimum) for SI&H All pnces. availability and specifications subject to errors or change 
without notice so call to verify. All goods are new. include warranty and sire guaranteed to work. Due to our low prices and our assurance that you will get new unused products, ALL SALES ARE FINAL. Call before returning goods loi 
repair or replacement Orders received with msulfioent SI&H charges will be relunded. ORDER DESK HOURS 6 A M. to 6 P.M. PST. Monday through Friday and lOto 4 Saturday. 6 A.M here is 9 AM. in New York 

OUR REFERENCES.' We have been in computers and electronics since 195R a computer dealer since ]978and in computer mail order since 1980. Banks: 1st Interstate Bank, {503) 643-4678. We belong to the Chamber 

of Commerce (503) 22&9411, and Direct Marketing Association, or call Dunn and Bradstreet if you are a subscriber 

Econo RAM '* Fastrak '", and Genenk "are trademar ks of ComX Cor poration . PC MasterCard '* an d Sol RA M" are trad emarks ol Magnum Com puter 



CASH & CARRY OUTLETS: 

Over-the-counter sates only. Open Monday through Friday. 10:00 
until 6:00, Saturday, 1 0:00 until 6,00 
PORTLAND. OREGON-NEW LOCATION! At Park 217. Tigard at 
intersection of 217 and 99rV. Coming from Portland on 99W, take 
immediate left after 217 overpass and Texaco Station. Call 620-5595. 
SEATTLE. WASH.-3540 128th Ave. SE. Bellevue. WA 98006 Tel: 
641-4736 in Loehmann's Piaia near Factona Square, SE of Hwy 
405 & 90 and at SE 38th & Richards. 



252 BYTE • AUGUST 1984 



^IlllillllilllllilllllliiiBlllllliilia 



Fome. y Computer Exchange 

LOW PRICES TO PROFESSIONALS WHO KNOW WHAT THEY WANT AND KNOW HOW TO USE IT! 




256KIBM-PCorXT 

320/360K Disk Drives by CDC 

L 90 Day Limited Warranty By Us 
Call for Details 




(SM)l984. Service Mark of Conroy-LaPointe, Inc. 



SUPPLY CENTER for IBM-PC or XT 



$ 1984 by Conroy-LaPorite, Inc. 
Ai! Rights Reserved 



DRIVES 



AND 
ACCESSORIES 



for the 

IBM-PC or XT _ 

ALLOV 

PC-Backup, 16MB, Cartridge Tape Sys. $2195 Cat 
FC-ST0R41MB/17MB Dtsk & Backup Sys. $5995 Cad 



jAisAOEK 




AmdiskV, ^height internal, 320/360K $329 $249 
Cable, Amdisk III to IBM-PC interface Call 



ۤ) 

CONTRpL 
DATA 



320K/360K DS/DD DISK DRIVES 

With Detailed Installation Instructions 
30 Day Limited Warranty by Factory Authorized Distributor 

insSb^iew $185 FULL HEIGHT 

CDC HALF $165 HEIGHT 

LIST OUR 
nrk * PRICE PRICE 

L/IA/, K Hi Dual Drive Installation Kit $ 30 $ 16 



10 MEG (XT) DISK KITS 



Convert your PC to 10 meg and to be XT compatible with 
one of the following INTERNAL HARD DISK SYSTEMS. Kits 
are quality engineered to work with DOS 2.0/2.1. Completely 
XT compatible. All you need is your DOS manual. Easy to 
install. Includes 10 Megabyte Hard Disk, Controller Card and 
Instructions. 

ComX Internal 10 meg Hard Disk Kit NEWS 869 

KKcimermcin 
Labs 

Megaflight lfJQ 10 mbyte Hard Disk Kit NEW $869 

MAYNARD 

10 meg Hard Disk Kit WS1 SandsJar Controller 

will accept 3 Sandstar modules $1395 $1150 

QUADRA M, 

Quaddisk Internal Hard Disks w/Controller 

6MB Removable NEW $2295 

6MB Fixed NEW $1995 

12MB fixed NEW $2250 

27MB Fixed NEW $2895 

72MB Fixed NEW $6500 



AMHPk MAI 4-in-l Multiple Board, Color 
HIVIU trv Graphics&Mono, Para Port. $ 499 
ComboPlus, 64K, S/?/CC $ 395 

ComboPlus, 256K, S/P/CC $ 695 
MegaPlus II, 64K, S/P/CC $ 445 

MegaPlus II, 256K, S/P/CC $ 695 
256K MegaPlus II Expander $ 395 
SixPakPlus, 64K, S/P/CC +S/W $ 395 
SixPakPlus, 256K.S/P/CC +S/W $695 
SixPakPlus, 384K.S/P/DC +S/W $ 895 
Game Port for SixPak $ 50 

1/0 Plus II, S/P/CC $ 215 

1/0 Plus II, S/P/CC/G $ 265 

1/0 Plus II, 2S/P/CC/G $315 

MonoGraphPlus"P/CC(forLotus) $495 
PCNet Starter Kit PC002 
PCNet, Circuit Board, PC001 
*rr Q Supervision, 132 col , mono. board $ 799 
UL/U Graphics Adapter for Super vision $ 250 

Chalkboard ^ m pad < Re o uires W * iw 

UldiRiwaru, Chalkboard Starter Kit $ 50 

* COmX EnxioRAM '" 259< RAM Card w/Tastrak'* 

emulator and spooler software $495 

PIIRT1Q UNI-I. Monitor tilt& swivel base $ 50 

V/UnilO 3 to 9 foot keyboard cable $ 40 

Vertical CPU "System Stand" $ 25 

Monochrome Ext Cable Pair $ 50 

UEDPMlCC Colorgraphics w/para. 5 245 

nCnLyULXO. Graphic Card, Mono $499 

KouTrnnir KB5150, Std. keyboard $209 

l\ey IIUIIIL KB5151, Std. keyboard NEW $ 255 

KB5151 jr, keyboard NEW $255 

Kn-il-3 Koala Pad'-w/PC Design $150 

llUdlcl programmer's Guide $ 15 

MAVNARnM«ncfon{Qrjard,MFC $ 89 

T/l.yjJJTL MemoryCard no RAM $ 199 

SANDSTAR MemoryCard 256K $499 

CCDICC HardDisk \/f Module (H0M) $ 495 

OCKItO HardDtsk Cable $ 30 

Para Port Module (PPM) $ 59 

Serial Port Module (SPM) $ 95 

Oo* Cal. Module (CCM) $ 55 

Game Adapter Module (GPM) $ 49 

Memory Module "0TKIMM0) $122 

Memory Module 256K (MM256) $ 422 

* XT10 meg Hard Disk & l/F WS1 $1395 



TAVA-PC IBM COMPATIBLE 



TAVA-PC, 256K, 2 Half Height CDC 360K Drives, Disk Control- 
ler, Color Graphics Card and: 

• with no Monitor 

• with Amdek Amber Monitor 310A 

• with Amdek Green Monitor 300G 

• with Amdek Color 1+ Monrtor 

• with 1 floppy, 10 MB Hard Disk 

IBM-XT Compatible by ComX 
We find the TAVA-PC to be as compatible with the IBM-PC 
as the Compaq, Eagie and Columbia. PC World (April 1984) 
says, "The TAVA-PC strongly resembles the IBM-PC in looks 
and operation." 



$2345 $1995 
$2575 $2139 
$2545 $2139 
$2724 $2279 

$3995 $2795 



$399 
$265 
$495 
$345 
$595 
$295 
$265 
$495 
$595 
$ 39 
$150 
$185 
$215 
$375 
$1095 
$495 
$499 
$150 
$ 73 
$ 34 
RAM disk 
$325 
$ 39 
$ 30 
$ 19 
$ 35 
$169 
$349 
$159 
$189 
$189 
$ 99 
$ 14 
$ 79 
$169 
$399 
$395 
$ 27 
$ 49 
$ 79 
$ 48 
$ 43 
$ 99 
$357 
$1150 



LIST 
PRICE 



MICROSOFT SvstemCard 256K $ 625 
Mouse $ 195 

MOUSE SYSTEMS. PC Mouse wtaftware $ 295 
MAGNUM, PC MasterCard", 1.536K Multifunction 
S/P/G/CCwrth SofRAM'" software which provides printer 
spooler, RAM disk & many other functions $4995 $3950 



OUR 

PRICE 

$ 450 

$ 145 

$ 195 



PLANTRONICS 

Color Board &Cokxmagic, 16cok>r. w/Para $ 559 $ 395 
Color Board & Draftsman, 16 color, w/Para $ 559 $ 395 

PARADISE, MufoCtspJay Card NEW $ 595 $ 435 

QUADRAM 

• Quadfink NEWEST VERSION $ 680 
Quadboard, no RAM, expand to 384K $ 295 
Quadboard 64K. expand to 384K.S/P/CC $ 395 
Quadboard 256K, expand to 384KS/P/CC $ 675 

• Quadboard, 384K, S/P/CC $ 795 
Quadboard II, no RAM, expand to 256K $ 295 
Quadboard II, 64Kexpand to 256K2S/CC $ 395 



Quadboard II, 256K, 2S/CC $ 595 

Quad 512 + 64K plus serial port $ 325 

Quad 512 + 256K plus serial port $ 550 

Quad 512 + 512K plus serial port $ 895 

Quadcolor I, board, 16 colors $ 295 

* Upgrade Quadcolor I to II kit $ 275 
Quadvue, board. Mono /S/P/CC 

Quadchrome, 12" RGB Color Monitor $ 795 $ 




Quadscreen, 17" 968x512 Mono Monitor $1995 $1595 



ST2 Super RIO with 256K $ 689 

OZ1UXZ- RIO Plus with 256K $ 665 

Graphix Plus $ 395 

Tbr«mar Gra P hlcsMas,er $ ^ 

ICUIlal 1st MATE, 64K, S/P/CC $389 

1st MATE, 256K. S/P/CC $ 589 

Captain. 64K.S/P/CC $ 424 

Captain,384KS/P/CC $ 795 

Wave, 256K (short board) $ 499 

T; . __ Bosun, S/P/CC(short brdj $ 195 

I ItcJil Accelerator PC J8086 + 12BK) $ 995 



TG PRODUCTS 

WICO. IBM-PC Mouse 



Joystick 



$ 499 
$ 499 
$ 285 
$ 545 
$ 275 
$ 399 
$ 324 
$ 595 
$ 369 
$ 145 
$ 750 
$ 30 
$ 69 



Prices and availability subject to change. Call. 

Call for Larger 
Quantity Prices 

• 9 Each, 64K, 200 ns, MEMORY CHIP KIT 
90 Day Warranty by us 



$49 



$325 



$295 Two or more. 

* ComX EconoRAM™ 256K BOARD 

Fully Compatible 1 Year Limited Warranty by ComX 

With Fasirak T " RAM Disk Emulator and Spooler Software 

Works on DOS 1.1, 2.0or 2.1 



• MEANS A BEST BUY 



SOFTV 


(JAKE for IBM-PC 


or XT 


1 BUSINESS & TRAINING 1 


1 BUSINESS & TRAINING 




1 UTILITY & SYSTEM I 


APPLIED SOFT. TECH., Versaform $ 389 


$265 


MICROSOFT, Multiplan (MSDOS) $ 195 


$129 


DIGITAL RESEARCH, 


ARKTRONICS, Jane NEW $ 295 


$195 


Word(PCDOS) $ 375 


$259 


Concurrent CP/M-86 T 'w/ windows $350 $225 


ASHTONTATE 




Word wrih Mouse (PCDOS) $ 475 


$325 


CP/M-86" (PC/XT) $ 60 $ 40 


Framework avail. July/Aug NEW $695 


$465 


Financial Statement $ 100 


$ 69 


CBASIC86 r '(CP/M86) $200 $135 


• dBase II, (req. PC-DOS & 128K) $ 495 


Call 


Budget $ 150 


$ 99 


CBASIC Compiler (CP/'M-86or PCDOS.ea) $600 $365 


dBase II User's Guide (Book) $ 30 


$ 20 


MONOGRAM, Dollars & $ense $ 165 


$110 


Pascal/MT+ (CP/M-86) $400 $269 


Everyman's DB Primer (Book) $ 15 


$ 12 


MULTIMATE, Multimate $495 


$295 


Pascal/MT+ (PCDOS) $600 $399 


Friday $295 


$199 


OPEN SYS, GLAR,AP,PR,INVor PO.each $ 695 


$429 


PL/1 (PCDOSor CP/M-86, each) $750 $499 


ASK MICRO, GUAR.AP.IN V or PR, each $ 595 


$295 


* DSBORNE/COMX, (Book & Business, Statistics 




Access Mngr.(PCD0S or CP/M-86,each) $400 $269 


ATlJraining Programs— Wde line in stock $ 75 
* BRODERBUND, Bank Street Writer $ 80 


$ 50 


& Math Programs on DS/DD Disks) 




Display Mngr (PCDOS or CP/M-86,each) $500 $339 


$ 56 


Some Common Basic Programs(70ea.) $ 100 


$ 69 


Speed Prog. Pkg. (CP/M-86) $ 200 $ 135 


BPI, Gen'l Acctg,AR,AP or PR, each $ 595 


$395 


Practical Basic Programs (40each) $ 100 


$ 69 


CIS COBOL (CP/M86) $850 $525 


BUSINESS SOLUTlONS.Iack 2 NEW $495 


$335 


PBL Personal Investor 1.1 $145 


$ 99 


DRL0G0-86(CP/M86) $ 100 $ 69 


CDEX, Training for... (Large inventory) $ 70 
CHANG LABS, Micro Plan $495 


$ 47 


PEACHTREE, Peach Pak (GL.AR&AP) $ 395 


$239 


HAYES. Smartcom II (DataCom.) $ 119 $ 89 


$335 


Peach Text 5000 $ 395 


$239 


• INSOFT, GraFORTHfanimated 30 graph) $125 $ 95 


• CONTINENTAL Tax Advantage $ 70 


$ 45 


• PERFECT, Perfect Writer"* $ 349 


$219 


MICROSTUF, Crosstalk XVI(Data Com.) $ 195 $ 129 


Home Accountant Plus $ 150 


$ 89 


Writer & Speller, 2 Pak $399 


$249 


MICROSOFT, muMath/muSimp $300 $199 


FCM (Filing, Cataloging, Mailing] $ 125 


$ 79 


Perfect Filer"or Perfect Calc, each $ 249 


$149 


Business BASIC Comp. $600 $399 


Property Management $495 
DOW JONES. Market Analyzer $ 350 


$329 


Perfect Writer, Speller, Filer, Calc (4) $ 699 


$499 


Pascal Compiler $300 $199 


$225 


SOFTWARE ARTS, TK! Solver $ 399 


$299 


C Compiler $500 $329 


Market Manager $ 300 


$195 


SOFTWARE PUBUSHING.PFSfile $ 140 


$ 94 


BASIC Compiler $395 $269 


Market Microscope $ 700 


$450 


PFS:Report $ 125 


$ 84 


FORTRAN Compiler $350 $250 


FOX&GELLER. 




PFSWrite $140 


$ 95 


COBOL Compiler $700 $469 


Quickcode, dGraph, Grafox or Oz, each $ 295 
dUtil (MSDOS or CP/M86, each) $ 99 

HAYDEN, IBM Pie Writer $200 
Pie Spelter or Sargon lll.each $ 50 

HOWARDSOFT, 


$195 


PFSSraph $140 


$ 95 


NORTON. Utilities 2.0, 14 programs $ 80 $ 54 


$ 65 
$135 
$ 34 


SORCIM. SuperCalc 2 $ 295 

Super Calc 3 $ 395 

SSI/SATELUTE,WordPerfect $ 495 


$195 
$265 
$275 


ROSESOFT, Prokey $ 130 $ 87 


1 HOME & EDUCATIONAL 1 






Personal WordPerfect $195 


$149 


ATARI, Centipede, PacMan or Donkey.each $ 35 $ 28 


Tax Preparer, 1984-for 1983 year $ 295 


$220 


STC/SOFTEC, The Creator $300 


$195 


EPYX/Auto. Sim, Temple of Apshai $ 40 $ 29 


HUMAN EOGE. Mana?rant or Sate; ea $ 250 


$169 


STONEWARE, Advanced D.B. Master $ 595 


$395 


* ARMONK. Executive Suite $ 40 $ 27 


IUS, EasyWrrter II System $ 350 


$259 
$ 68 


SYNAPSE. File Manager $ 100 


$ 67 


BLUE CHIP, Millionaire or Tycoon.each $ 60 $ 39 


EasySpeller II $ 100 


SYNERGISTIC, Data Reporter $ 250 


$169 


BPI SYSTEMS. Personal Accounting $ 99 $ 66 


Business System; GL+AR+AP $1495 
GLARAP.OEorlNV.each $595 


$995 


T/MAKER, T/Maker III $ 275 


$169 


* BROOERBUNO. Apple Panic (Color) $ 30 $ 19 


$395 


THOUGHTWARE, Mgt Series 33% off list 


Lode Runner or Serpentine, each $ 35 $ 23 


• INSOFT, Data Design (easy to use DBMS) $ 250 
G/aFORTH (animated 3D graphics) $ 125 


$125 


VISICORP, VisiCalc 4 $ 250 


$169 


CBS. ChasGoren Learn Bridge NEW $ 80 $ 54 


$ 95 


VisiFile, VisiSchedule or Desktop Plan 1 $ 300 


$199 


COMPREHEN.,PCTutor(l.lor2.0,ea.) $ 60 $ 40 


KNOW ARE, Knoware (re* graphics) NEW $ 95 


$ 64 


VisiWord with VisiSpell (128K) SPECIAL $ 375 


$265 


CONTINENTAL Home Accountant Plus $ 150 $ 89 


UFETREE.Volkswriterl.2 $195 


$130 


Vision Calc (XT Only) $395 


$265 


DAVIDSON, The Speed Reader II $ 75 $ 49 


Volkswriter Deluxe $ 295 

• LOTUS, 1-2-3 $ 495 

Symphony, (avail.Jury/Aug) NEW $ 695 

1 -2-3to Symphony, (avai Jury /Aug) NEW $ 200 

QUE, Using 1-2-3 (Book) $ 15 

MICROPRO, WordStar* SPECIAL $ 495 


$195 
$309 
$465 
$135 
$ 12 






Word Attack! or Mathblaster. each $ 50 $ 34 
INFOCOM, Deadhneor Suspended, each $ 50 $ 33 

Zork 1 or Zork II or Zork III. each $ 40 $ 27 

• INSOFT, Mystrix,Wordtrix or Quotnx.each $ 35 $ 25 

MICROSOFT, Flight Simulator $ 50 $ 33 


m UTILITY & SYSTEM 




1983 CL SOFTWARE AWARD: 




$239 


"Copy II PC by Central Point Software is still one of the best 


MONOGRAM, Dollars & Sense $165 $110 


MailMerge™ SPECIAL $ 250 


$129 


software buys of available. It will copy more copy protected 


ORIGIN. Ultima III $ 60 $ 40 


CorrectStar" NEW $ 345 


$125 


software and faster than any other backup system. Unlike 


PBL CORP., Personal Investor $145 $ 99 


• WordStar Professional, 4 Pak SPECIAL $ 695 


$355 


other copiers it makes an exact duplicate of you r or 


gmal and 


SCARBOROUGH /LIGHTN ING. 


ProOptions, SS/MM/SI SPECIAL $ 345 


$155 


it does 100% verification of copy. Documentation is excellent" 


MasterType $ 50 $ 34 


Starlndex" SPECIAL $ 195 


$109 


• CENTRAL POINT, Copy II PC. Backup $ 40 


$ 30 


SOFTWORO SYSTEMS Multimate $495 $295 


lnfoStar~ SPECIAL $495 


$259 


• COMX, Fastrak". RAM/Bisk emulator 




SPINNAKER. Snooper Troops (1 or 2) $ 45 $ 35 


* MICRORIM, R.base, Series 4000 $ 495 


$299 


and printer spooler program. Works on any 




Story Machine or Face Maker $ 35 $ 24 


Extended Report Writer NEW $ 150 


$ 99 


PC/DOS version or RAMCard. Menu Driven $ 100 


$ 59 


STRATEGIC, The WarpFactor $40 $30 








SUBLOGIC, Night Mission Pinball $ 40 $ 27 




LES TAX 



oaderdesk TOLL FREE 

(800)547-1289 

Order Desk Hours: 6AM to 6PM PST 



Oregon TOLL FREE 

(800)451-5151 

Portland: 620-9877 



Hot Line For Information 
On Your Order 
(503) 620-9878 



FREE GIFT 

Use of our order forms qualifies you for a free 

gift with your order. Get on our mailing list 

now for order forms, and our new newsletter 

and sales specials announcement Our 

customers are already on our list. 

Zf COUPON 



MAIL TO: 12060 SW Garden Place, Portland, OR 97223 



Circle 78 for IBM Peripherals. Circle 79 for Apple. Circle 80 for all others. 



AUGUST 1984 -BYTE 253 




SYSTEM REVIEW 



Impressive 

but 

disappointing 



by Rowland Archer Jr. 



The IBM PQr 



The IBM PCjr makes a good first im- 
pression. It is slickly packaged, easy 
to set up and use, and gives an over- 
all impression of quality. It is lightweight com- 
pared to the IBM PC. primarily because of its 
plastic case (the PC's case is metal.) Clearly, 
IBM took some time in deciding how to pack 
the system and guide the first-time user. For 
example, the design of the connectors makes 
it virtually impossible to plug the wrong 
peripheral device into a jack. This is a good 
thing because the jacks, located on the back 
panel, are labeled sparsely. (See the photo in 
the "At a Glance" spread on page 258.) 

The IBM PCjr's options are also easy to in- 
stall, requiring at most a flat-blade screwdriver. 
As with the back-panel connectors, you can- 
not plug an option into the wrong mother- 
board connector. I never had to set a DIP 
(dual-inline package) switch or change a 
jumper while installing options, a welcome 
relief from the PC. PCjr's software notices new- 
ly installed options and adjusts automatically. 
On the minus side, the PCjr's plug-in cards 
are wobbly, with no card guides or tie-downs. 
I haven't seen any adverse effects from this, 
but it is unsettling. 

Specifications Overview 

The PCjr is highly compatible with the IBM PC 
It uses the same Intel 8088 microprocessor, 
runs the same PC-DOS version 2.1 disk oper- 
ating system, and can use many of the same 
application programs. It comes in two basic 
models and many extra-cost options are avail- 
able. The least expensive model retails for 
$599; it includes 64K bytes of RAM (random- 
access read/write memory), a color-video con- 
troller for use with your TV set, an RGB (red- 
green-blue) or composite monitor, a three- 
voice sound generator, a cordless keyboard, 
and two slots for plug-in ROM (read-only 
memory) program cartridges (see photo 1). 
No display device is included in the base 
price. You must either use your TV set, in 
which case you will need the TV adapter; an 
RGB monitor, which requires the RGB monitor 
adapter; or a composite monitor, which re- 
quires a cable with an RCA phono plug at one 
end and the appropriate connector for your 



monitor at the other. 

The enhanced version of the PCjr costs $999 
and includes all the features of the base 
model plus 64K bytes more RAM (for a total 
of 128K bytes), 80-column video display capa- 
bility, and a built-in half-height 514-inch floppy- 
disk drive that holds 360K bytes. Each of 
these is also available as a separate option 
to the base-model PCjr. Additional options in- 
clude Cartridge BASIC (a ROM cartridge in- 
corporating an enhanced BASIC that is com- 
patible with the PC's BASICA), a TV connec- 
tor (radio frequency, or RE modulator), cas- 
sette recorder cable (IBM does not sell a 
cassette recorder), an internal modem, a ther- 
mal printer, one or two joysticks, a parallel- 
printer adapter, and a keyboard cord that 
replaces the infrared link. 

IBM also announced several new software 
packages concurrently with the PCjr. These 
packages demonstrate IBM's intention to sell 
the PCjr to families and schools; they include 
easy-to-use home applications, arcade-style 
games, and some game-based math pro- 
grams. 

Keyboard 

Most reviewers have roundly jeered the PCjr's 
keyboard. I wish I could report that it seems 
better after a couple of months of use, but it 
doesn't. As photo 2 shows, the keyboard has 
widely separated keys with no legends on 
them. The definition of each key is printed on 
the grid between the keys. This lets software 
vendors provide keyboard templates that give 
a label for many keys, as Sierra On-Line does 
for the HomeWord word processor, which I'll 
discuss later. 

Unfortunately, it also means that you have 
to lean over the keyboard or tilt it toward you 
to read the legends. The keys themselves have 
a mushy feel, most unpleasant for touch-typ- 
ing. I get the impression that IBM designed 
this keyboard for children, and perhaps that's 
why I don't like it. 

The keyboard's cordless feature is of ques- 
tionable value. Besides being one more thing 
to buy batteries for, it is direction sensitive. 
If you put the keyboard in your lap, its signal 
will not reach the system unit (IBM's lingo for 



254 BYTE • AUGUST 1984 



the main computer box) unless it is pointing 
right at it. If you place the keyboard in your 
lap and sit within the 20-foot acceptable 
distance from the system unit, it is easy to tilt 
the keyboard out of contact with the receiver. 
Contact is also lost if someone or something 
passes between the keyboard and the system 
unit. And if the keyboard sits on a table in 
front of the system unit, being cordless 
doesn't add much. 

The PCjr's keyboard has only 62 keys (the 
IBM PC has 83). However, it can produce all 
the PC's key codes through multiple key- 
strokes (see table I). For example, on the PC, 
function code I is generated by hitting Fl; on 
the PCjr you must first hit the key labeled Fn. 
then the I key, which is also labeled Fl. The 
PCjr Technical Reference manual refers to "the 
62-key keyboard and the 83-key keyboard," so 
perhaps relief is around the corner in the form 
of an unannounced, full-size keyboard. 

The keyboard is the PCjr's major weakness. 
Alternative keyboards are available already, 
but if you add the price of a keyboard from 
an outside vendor, the PCjr's costs creeps 
closer to that of the IBM PC. 

Video 

The PCjr's video circuitry is an extension of 
the IBM PC color-graphics adapter. Its video 
controller is built into the system mother- 
board, rather than on a plug-in card like the 
PCs. l^ble 2 summarizes the modes available 
for text and graphics display. In addition to 
having all the PC color card's modes, the PCjr 
has some extended modes: 1 6 colors in 320- 
by 200-pixel format, and 4 colors in 640- by 
200-pixel format. These give the PCjr an edge 
over the PC in color displays. Note that you 
need the I28K-byte memory option with the 
video-display adapter to enjoy 80-column text 
and the enhanced graphics modes. 

As mentioned before, the PCjr comes with 
outputs for a composite monochrome or col- 
or monitor (RCA jack), an RGB color monitor 

Rowland Archer Jr. (5420 Loyal Place, Durham. NC 
27 7 \3) is a manager of software development a t a For- 
tune 500 corporation. He holds an M.S. in computer 
science from the Massachusetts Institute of Technology. 



such as the IBM color display, and a connec- 
tor for an RF modulator to drive a color TV 
set. There is no support for the IBM PC mono- 
chrome display. 

Most programs that run on the IBM PC 
color-video card will run on the PCjr video 
controller. However, the two differ in memory 
usage; the PCjr's video memory comes out of 
main-system memory rather than separate 
memory like that of the PC's display-adapter 
cards. Up to 1 6K bytes is used in the IBM PC's 
graphics modes, so some PC graphics pro- 
grams that run in 1 28K bytes will not run on 
a I28K-byte PCjr because it has insufficient 
memory. 

For speed, some programs store text direct- 
ly into video memory, the area used by the 
video-controller circuitry to refresh the screen. 
The PCjr's video memory is located at the top 
of user memory, while the PC's color-card 
video memory is at location B8000 hexadec- 
imal. IBM uses a hardware trick to allow pro- 
grams that access this memory directly on the 
PC to function on the PCjr. References to 
B8000 hexadecimal are automatically re- 
directed by the hardware to the PCjr's video- 

(continued) 




Photo I: The IBM PCjr is slickly packaged, easy to set up, and gives an initial 
impression of quality, although it may disappoint more demanding users. 



AUGUST 1984 • BYTE 255 



REVIEW: PCjr 



memory location. No such compatibili- 
ty with the IBM PC monochrome-dis- 
play adapter is provided, so programs 
that access the monochrome display's 
refresh memory directly with no sup- 
port for the PC's color-display card, will 
not work on PCjr. 

There are a few other minor dif- 
ferences between the PC's color video 
controller and the PCjr's. The PC turns 
color on by default; the PCjr turns color 
off. The PCjr includes a keyboard func- 
tion that shifts the visible part of the dis- 
play left or right to center it on the 
screen (this is especially useful on TV 
sets, which frequently have displays that 
are off center). 

Disk Drive 

The PCjr uses a half-height 5^ -inch 
floppy-disk drive that is compatible with 
the IBM PC's. You can freely interchange 
disks between the two machines. The 
drive in my PCjr was manufactured by 
Qume. It is double-sided double-density 
with 360K bytes per disk. 

If you start with the base-model PCjr, 
you can add the disk drive later. Installa- 
tion of the drive is easy: remove the face 
plate covering the disk-drive hole in the 
front panel, plug in the controller board, 
hook up the power and controller 
cables, and snap the drive into place. 

Half-height drives have different tim- 
ing parameters than full-size drives, and 
some software (a very few programs) 
will not function properly on them. In 
particular, copy-protection schemes that 
directly program the disk controller may 



Table 1: IBM creates all 83 IBM PC keyboard codes with the PCjr's 62 keys. 


Some commonly used single-key sequences on the PC. such as Page Up and Page 


Down (PgUp. PgDn), 


require two keystrokes on the PCjr. 


IBM PC Key Code 


PCjr Equivalent 


Fl - FIO 


Fn then Fl - FIO 


Shift Fl - FIO 


Shift Fn then Fl - FiO 


Ctrl Fl - FIO 


Ctrl Fnthen Fl - FIO 


Alt Fl - FIO 


Alt Fn then Fl - FIO 


Ctrl Break 


Fn Break 


Ctrl End 


Ctrl Fn then End 


Ctrl PrtSc 


Fn then Echo 


Ctrl Home 


Ctrl Fn then Home 


Ctrl Num Lock 


Fn then Pause 


Ctrl PgDn 


Ctrl Fn then Pg Dn 


Ctrl PgUp 


Ctrl Fn then Pg Up 


Shirt PrtSc 


Fn then Prt Sc 


Scroll Lock 


Fn then Sc Lock 


Num Lock 


Alt Fn then N 


PgUp 


Fn then Pg Up 


Pg Dn 


Fn then Pg Dn 


Home 


Fn then Home 


End 


Fn then End 


\ 


Alt / 




Alt' 


1 


Alt | 




Alt | 


Numeric keypad numbers Alt Fn then number 


Numeric keypad - 


Fn then - 


Numeric keypad = 


Fn then = 


Numeric keypad . 


Shift Del 


PrtSc * 


Alt. 



cause a program to fail on the PCjr. 

A more bothersome difference be- 
tween the PC and the PCjr is the lack 
of DMA (direct memory access) on the 
PCjr's disk controller. The PC has DMA, 
which means that the disk controller 
can transfer a block of data from the 
disk to memory without intervention 
from the PC's central processor while 



'■ | -;i*P^£Jffl^p-' ;«f^H : «t^m- *rmm fflW, WKKR 3WBB5 3JWH8 3NK 1MNK *Ppr ■'^'■Wf **9fl**Hm ^^pp^ 

u 



I 





Photo 2: The infamous PCjr keyboard features widely spaced keys and legends that are 
hard to read from a normal typing angle. 



each byte of data is transferred. The 
PCjr's designers saved money by keep- 
ing the circuitry simple and letting the 
main microprocessor handle the data. 
The net result is that, while the disks are 
active, other processing stops. The most 
annoying consequence of this is that 
keyboard type-ahead is ignored while 
the disks are active. This probably 
would not bother me if I were not used 
to the fact that I can type ahead on the 
PC. However, there are times when this 
is annoying. For example, if you use the 
Fn key plus Pause to control the display 
of a disk file, the PCjr frequently beeps 
when you press the key while the disk 
is active. 

The restriction this places on simulta- 
neous communications and disk-drive 
activity is perhaps more severe. You 
cannot download data from a commu- 
nications line (modem or RS-232C port) 
directly to a disk file, unless your com- 
munications program can notify the 
remote machine to stop sending data 
temporarily while it saves its full buffer 
to disk. 

The PCjr manual warns about a design 
limitation that I never witnessed. Ac- 

(continued) 



256 BYTE • AUGUST 1984 



AT A GLANCE 



Name 

IBM PCjr 

Manufacturer 

IBM Corporation 

POB 1328 

Boca Raton. FL 33432 

Dimensions 

System unit: 13.9 by 11.4 
by 3.8 inches high 
Weight: 5 pounds 8 
ounces; 8 pounds 4 
ounces with disk drive 
Keyboard: 13.5 by 6.6 by 
1 inches high 
Weight: 1 pound, 6 
ounces with batteries 

Features 

Intel 8088 1678-bit micro- 
processor operating at 
4.77 MHz. 64K bytes of 
RAM. 64K bytes of ROM, 
slots to plug in up to 
I28K bytes more ROM, 
one RS-232C serial port. 
40-column video output 
for RGB (red-green-blue) 
or composite color 
monitor, or television 
with optional RF (radio 
frequency) modulator, 
single-voice beeper, 
three-voice sound 
generator with external 
audio output, cassette 
port (recorder not sup- 
plied), two joystick inputs, 
and cordless 62-key 
keyboard. 

Software 

Cassette BASIC, tutorial 
disk, and sample disk 

Hardware Options 

RF modulator for TV 

connection: $30 

360K-byte disk 

drive: $480 

64K bytes RAM/80- 

column video: $140 
Parallel-printer 

adapter: $99 

Internal 300-bps direct- 

connect modem: $199 

Software Options 

PC-DOS 2.10: $65 

Cartridge BASIC: $75 

Documentation 

Guide to Operations and 
Hands-On BASIC 




MEMORY SIZE DISK STORAGE 

200 400 600 800 1000K 500 1000 1500 2000K 



- 










128K| 640K 


P"T~[ 64 


</128K 








BUNDLED SOFTWARE 

2 4 6 



PRICE 
10 $0 $2000 $4000 $6000 $8000 $10.000 













3 1 


XI 















$1667 | 




$3354 


■P 


i 



| ■ IBM PC JR | | IBM PC 



APPLE HE 



The Memory Size graph shows the standard and 
optional memory available for the computers under 
comparison. The Disk Storage graph shows the 
highest capacity of a single floppy-disk drive for 
each system. The Bundled Software graph shows 
the number of software packages included with 
each system. The Price graph shows the list price 
of a system with two high-capacity floppy-disk 



drives, a monochrome monitor, graphics and color- 
display capability, a proprietary serial printer port. 
2 56K bytes of memory (64K bytes for 8-bit systems), 
the standard operating system for each system, and 
the standard BASIC interpreter for each system. 
Note that the IBM PCjr standard system includes 
the maximum of one floppy-disk drive, an IBM 
color monitor, and 128K bytes of memory. 



AUGUST 1984 -BYTE 257 




Connectors for a wide variety of input/output devices are minimally laking the top off the enhanced IBM PCjr reveals the disk drive and 



labeled on the back of the PCjr. 



DISK ACCESS IN BASIC 



ZbU 












212 














175 




150 
to 

Q 

z 
















o 
u 

UJ 

w 100 










81.8 












1 


50 




56 

1 




■SSI 46 








; i 


















controller card. 64K-byte memory add-on card, and power supply. 

BASIC PERFORMANCE 
250 



WRITE 



READ 




SYSTEM UTILITIES 
50 1 



40 



30 
to 

Q 

z 
o 
o 

UJ 

to 20 



10 



25 



25 



. 9.6 . 




SIEVE 



SPREADSHEET (MULTIPLAN) 
25 



20 



CALCULATIONS 



15 



z 

o 



10 



FORMAT/ DISK COPY 



FILE COPY 
"1 IBM PC JR 





21.7 


21.9 












18 












14.9 














H 




J 10.5 




| 8.1 

































LOAD 
| IBM PC | | APPLE HE 



RECALCULATE 



The graphs for Disk Access i n BASIC show how long it takes to write 
a 64K-byte sequential text file to a blank floppy disk and how long 
it takes to read this file. (For the program listings, see 'The Chameleon 
Plus." by Rich Krajewski, June, page 327.) The BASIC Performance 
graph shows how long it takes to run one iteration of the Sieve of 
Eratosthenes prime-number benchmark and also how long it takes 
to do 10.000 multiplication and division operations using single- 
precision numbers (see the Calculations results). The System Utilities 



graphs show low long it took to format and copy a disk (adjusted 
time for 40K bytes of disk data) and to transfer a 40K-byte file using 
the system utilities. The Spreadsheet graph shows how long the com- 
puters took to load and recalculate a 25- by 2 5-cell spreadsheet where 
each cell equals 1 .001 times the cell to its left. The spreadsheet pro- 
gram used was Microsoft Multiplan. Note that because the PCjr has 
only one disk drive, the Format/Disk Copy graph is not applicable 
and File Copy was done to another part of the same disk. 



258 BYTE • AUGUST 1984 



From Springer-Veriag • • • 



Four reasons 
why many 

consider 
Modula-2 the 

language 



1. 



that wi 
replace 
Pascal"* 

2. 



BYTE, April 1983 



Programming in 
Modula-2 

2nd Edition 
Niklaus Wirth 

"Wirth's text on Modula is the defin- 
itive source ... It is a modestly 
small book filled to the brim with in- 
formation . . . 

"Programming in Modula-2 is 
an essential volume/' 

— Journal of Pascal and Ada 
"Read the book — it is well worth 
your time and effort." 

— Zentralblatt fur Mathematik 
Niklaus Wirth, the designer of Mod- 
ula-2 as well as Pascal, presents a 
step-by-step approach to program- 
ming in general, as he explains the 
nuts and bolts of what many consid- 
er the language of the future. 
7983. Cloth $16.95 #7 2206-0 



Springer-Verlag 

New York 
Berlin 

Heidelberg 
Tokyo 



Modula-2 for Pascal 
Programmers 

Richard Gleaves 

Describing Modula-2 for those famil- 
iar with Pascal, Modula-2 for 
Pascal Programmers introduces 
concepts unique to Modula-2, ex- 
plains differences with Pascal, and 
defines basic programming facilities. 
A glossary and syntax diagram are 
also included. 
7984. Paper $16.95 #96051-1 



3 




Volition Systems 
P-Code Compilers 

Tve had a [Volition Systems] 
Modula-2 compiler for a 

month now, and I'm still in love." 

—BYTE 
"Typically the Modula-2 programs 
executed in 80-90% of the time re- 
quired by the comparable Pascal 
program . . . 

"[The Volition Systems p- 
Code Compiler] is an excellent 



product in virtually every respect." 

— InfoWorld 
"The compiler stops at each syntax 
error in your source code and offers 
you an opportunity to go directly to 
the editor to correct your mistake 

"[T]he manual is written by Richard 
Gleaves, who is one of the masters 
of the manual writing business. It's a 
delight to read." 

— PC Magazine 
Available for IBM PC (MS-DOS), 
Apple ll/lle, Apple III, and Sage 11/ 
IV. Prices start at $295.00. 



4 



Logitech Native 
Code Compilers 

"[The Logitech Native Code 

Compiler] comes with System and 
Terminal modules (including source 
code) that allow it to adapt to 
whatever you're running . . . 
"If you're used to writing Pascal 
programs and you're interested in 
Modula-2, I recommend the Logi- 
tech implementation." 

— 8YTE 
"The execution speed is much faster 
than with an interpreter and file siz- 
es are much smaller than with stan- 
dard compilers such as MS Pascal." 

— Journal of Pascal and Ada 
Available for IBM PC (MS-DOS), 
IBM PC (CP/M 86), IBM 3740 (CP/ 
M 86), and Victor 9000/Sirius (MS- 
DOS). Prices start at $495.00. 



MS-DOS is o trademark of Microsoft Inc ; CP/M-86 is o trademark 
of Digttol Reseorch, Inc.; IBM is o trademark of Internononol Busi- 
ness Mochmes, Inc ; Apple is o trademark of Apple Computer. 
Inc.; Soge is o trodemork of Sage Computer Technology ; Volition 
Systems is a trademark of Volition Systems , Logitech is a trade- 
mark of Logitech. Inc , Victor 9000 is o trodemork of Victor. Inc 



Send For Your 
Information 
Package Today 

Springer-Verlag, New York Inc. 

1 75 Fifth Avenue 
New York, NY 10010 
Attn: David Dwek 

Name 

Address 

City/State/Zip 

I am particularly interested in: 



Circle 286 on inquiry card. 



I own the following personal computer(s): 

BYTE 8/84-S 861 
AUGUST 1984 • BYTE 259 



REVIEW: PCjr 



cording to the documentation, disk 
errors can occur if you place your moni- 
tor or TV set within 6 inches of the disk 
drive. This includes the obvious position 
for a monitor— on top of the PCjr. 
Maybe I was lucky, but I never had a 
problem when 1 left mine on top of the 
system unit. If you heed IBM's admoni- 
tion, you will find that the PCjr has a 
large "footprint"; i.e.. it takes up a lot of 
room on your desk. 

Cassette Tape 

and ROM Cartridges 

The base-model PCjr supports two 
modes of program loading: cassette 
tape and ROM cartridge. Cassette-tape 
format is compatible with the PC. BASIC 
has commands to save and load pro- 
grams and data files on tape. 

The ROM cartridge is unique to the 
PCjr, and it seems to be IBM's preferred 
method of software distribution for non- 
disk software. Each ROM cartridge can 
hold up to 64K bytes of memory. There 
are two cartridge slots. The ROM in the 
cartridges can be programmed to re- 
place the ROMs in the system unit. This 



means that you can replace the PCjr's 
"personality" with a completely dif- 
ferent ROM-based package. 

The Technical Reference manual gives In- 
structions for programming a ROM car- 
tridge to contain new DOS (disk oper- 
ating system) commands, which will be 
added to the DOS's vocabulary when 
the ROM is plugged in. Cartridge BASIC 
uses this technique. When it is installed, 
the terms "BASIC" and "BASICA" invoke 
Cartridge BASIC, rather than causing 
DOS to look for a file on disk to run. 

When ROMs are inserted or removed, 
the PCjr performs a warm restart se- 
quence. This can be annoying. For ex- 
ample, if you boot a disk that requires 
Cartridge BASIC, you must insert the 
BASIC cartridge, causing the boot se- 
quence to start all over again. On the 
other hand, if you leave the BASIC car- 
tridge in one slot, it will remain available 
to the system, and you can use the sec- 
ond slot for other ROM cartridges. 

Sound 

The IBM PCjr's built-in sound capabili- 
ties are superior to the PCs. 



Table 2: Summary o 
contains the IBM PC 
extended modes. 


/ video-display modes available 
compatible modes. The second 


on the PCjr. The first group 
group contains the PCjr's 


PC Color-Card Compatible Modes: 






Text Modes 


Graphics Modes 






40 by 25 - B&W 
40 by 25 - Color 
80 by 25 - B&W (11 
80 by 25 - Color (1) 


320 by 200 - 4 colors 
320 by 200 - B&W 
640 by 200 - B&W 






PCjr Enhanced Color-Video Modes: 






Graphics Modes 








320 by 200 - 16 colors 








(1) 

640 by 200 - 4 colors 1 1 ) 

160 by 200 - 16 colors 






(1 ) These modes require 


a 128K-byte PCjr 







Table 3: A comparison of memory (bits) available for BASIC programs and data in 
the PC and PCjr, given 64K bytes and 128K bytes of RAM. The PCjr's Cartridge 
BASIC is comparable in function to the PC's BASICA. 



IBM PC 



IBM PCjr 





64K byte 


128K byte 


64 K byte 


I28K byte 


Cassette BASIC 


61404 


62940 


45020 


62940 


Disk BASIC 


23563 


60891 


n/a 


n/a 


BASICA 


13335 


60455 


n/a 


n/a 


Cartridge BASIC 


n/a 


n/a 


41744 


59694 



The PCjr's sound 
capabilities are superior 
to the PC's, though the 
built-in speaker does 
not handle low notes 
as well 



There are two ways to produce sound 
on the PCjr. One is like the PCs. which 
uses a timer chip and a small speaker. 
The PCjr's speaker is a tiny piezoelec- 
tric one; it does not handle the low 
notes as well as the PCs speaker (which 
is not exactly a woofer itself). 

The PCjr's second sound-generation 
method uses a Tl (Texas Instruments) 
76496 complex-sound generator chip, 
capable of producing three voices si- 
multaneously. There is also a white- 
noise generator for sound effects. All 
channels can be controlled indepen- 
dently, mixed together, and fed to your 
television speaker, or through an RCA 
jack to any external amplifier (such as 
a spare input on your stereo system). 
Even though there are four sound 
sources in the Tl chip, there is only one 
channel of sound output from PCjr, so 
stereo sound is not available. 

Cartridge BASIC supports both the in- 
ternal, single-voice speaker and the ex- 
ternal, three-voice-plus-noise-channel 
sound output. BASIC'S SOUND and 
PLAY statements can control each of 
the three voices individually, so suc- 
cessive SOUND statements to different 
voices result in chords. The volume of 
each voice can be controlled over a 
range of 15 increments. The BASIC 
NOISE statement controls the sound 
chip's white-noise generator. A creative 
programmer can have lots of fun creat- 
ing some great sound effects and music 
on PCjr. 

BASIC 

The PCjr comes with a version of BASIC 
in ROM just like the BASIC in the PCs 
ROM. This is referred to as Cassette 
BASIC because it uses a cassette tape 
recorder (not supplied) for program and 
data storage. Cassette BASIC has no 
commands to support the disk drive. 
Because the PCjr has limited memory, 

{continued) 



260 BYTE • AUGUST 1984 



"PRIM AGES... DARES 
TO DEFY THE COMMON 
WISDOM BY OFFERING 
A PRINTER BOTH FASTER 
AND LESS EXPENSIVE 
THAN ITS COUNTERPARTS, 
WITHOUT SACRIFICING 
QUALITY." 

DIGITAL REVIEW* May 1984 




In today's market, if you're going to defy 
the common wisdom, you'd better have an 
uncommon product. 

Like the Primage I daisy wheel printer. 
Uncommon in that it prints letter quality 
manuscripts at a brisk 45 cps in multiple 
languages. Interfaces easily with all leading 
micros and PCs and utilizes patented new 
technology to improve reliability. Yet it costs 
less than printers with less capability. 

And it helps to have an uncommon sheet 
feeder to make full use of the printer's speed. 
Like our PAGEMATE I, a jam-free, trouble-free 
sheet feeder. Designed as an integral part 
of the Primage I system, it too is revolutionary 
in design when compared to other sheet 
feeders. Yet it costs about half as much as 
they do. 

Stop in at your local dealer for a demonstra- 
tion of our remarkable system. 

You'll be uncommonly surprised. 



PRIMAGES 
INC. 



620 Johnson Ave, Bohemia, NY 11716 
516 567-8200 



*For your copy of the complete DIGITAL REVIEW report, attach your 
business card to this ad, and mail to Primages. 

Circle 25 2 on inquiry card. 



AUGUST 1 984 • BYTE 261 



REVIEW: PCjr 



IBM decided to provide the functions 
of the PC's advanced BASIC (BAS1CA) 
in the optional Cartridge BASIC, thus 
saving more RAM for user programs 
and data, "fable 3 shows the free mem- 
ory available under the various forms 
of BASIC on the PC and PCjr, given 64K 
or 128K bytes of RAM in each machine. 
The PCjr's Cartridge BASIC, like 
BASICA, provides support for disk I/O 
(input/output), graphics, and communi- 
cations. Cartridge BASIC also includes 
some things that are not found in the 
PC's BASICA, such as support for the 
PCjr's built-in sound generator, and the 



enhanced graphics modes. 

Cartridge BASIC includes one com- 
mand that is really a BASIC program. 
Typing TERM loads the program from 
the cartridge and lets you use your PCjr 
as a simple terminal via the built-in 
serial port or optional modem. Nothing 
fancy here— you can set the data rate, 
data bits, parity, duplex, and screen 
width, and issue commands to the in- 
ternal modem. This simple program 
does not save incoming data to disk or 
send disk files down the communica- 
tions line; it doesn't even have a mode 
for logging received data to the printer. 



Table 4: The commands supported by the IBM PCjr's optional internal modem. 


Each command can 


be typed in full or abbreviated to its first letter. 


ANSWER 


Modem goes into auto-answer mode 


BREAK n 


Send a break character for n x 100 ms 


COUNT n 


Answer after n rings; hang up when dialing after n+3 rings 


DIAL m...m 


Dial a number; may include subcommands to pause for dial tone, 




wait 5 seconds, and switch between pulse and tone dialing 


FORMAT n 


Set parity, data bits, stop bits 


HANGUP 


Hang up the phone 


INITIALIZE 


Return to power-up state 


LONG RESPONSE 


Set message length short or long 


MODEM 


Modem carrier generated on line 


NEW p 


Set command character to p 


ORIGINATE 


Set modem to originate mode 


PICKUP 


Pick up the phone, voice mode 


QUERY 


Get modem status 


RETRY 


Redial if busy 


SPEED o 


Set bps rate to 110 or 300 


TRANSPARENT 


Modem commands are ignored and sent through 


VOICE 


Put modem into voice state 


WAIT 


Modem idle until next command 


XMIT m.m 


Send tone pairs m. m, etc. 


ZTEST o 


Modem test modes 


Note: All commands 


may be abbreviated to their first letter 



Table 5: HomeVJord word-processor commands. 


Print Functions 


Edit Functions File Management 


See final document 


Copy text Get document 


Print document 


Erase text Save document 


Set first page number 


Move text Erase document 




Find text Merge document 




Find and replace Convert to/from 




ASCII file 


Layout Functions 


Preset Values 


Align text right 


Make automatic backup documents 


Align text left 


Change top, bottom margins 


Justify text 


Change left, right margins 


Center text 


Change line spacing 


Start new page 


Change tabs 


Set top, bottom margins 


Save preset values 


Set left, right margins 


Select 40- or 80-column screen 


Set line spacing 


Select printer type 


Normal, bold, under- 




lined text 




Headers and footers 





If you get serious about using the PCjr 
for telecommunications, you will want 
a package with more features than this. 

DOS 2.10 

The disk-drive model of the PCjr runs 
PC-DOS 2.10. This version of PC-DOS 
also runs on the PC and PC XT. Prior to 
the time the PCjr was announced, PC- 
DOS version 2.00 was the latest revision 
available. The differences between DOS 
2.00 and DOS 2.10 are bug fixes (un- 
specified by IBM) and support for the 
PCjr's half-height disk drives. According 
to IBM. the head-settling time param- 
eter for DOS 2.00 is too fast for some 
of the half-height drives being installed 
in PCjrs, leading to disk I/O errors. I tried 
running several programs under DOS 
2.00 and never noticed a problem. Even 
so, given IBM's warning, I wouldn't use 
DOS 2.00 on a PCjr for any important 
data. 

Joysticks 

IBM sells an optional joystick for the 
PCjr that works with most of the game 
programs mentioned on the "At a 
Glance" page. It appears identical to the 
joystick made by Kraft Systems. Pro- 
grammers can also use it from BASIC 
with the STICK and STRIG functions, 
which return the joystick coordinates 
and the status of the joystick push- 
buttons. 

You can connect one or two joysticks 
to PCjr. They are smooth-acting and 
comfortable to use. You can set the X 
and Y joystick axes to spring return to 
center or to free float. There is also a 
bias dial for each axis, which can be 
used to adjust the cursor's response to 
movement of the joystick. 

INTERNAL MODEM 

Novation makes the IBM PCjr's internal 
modem, shown in photo 3. This direct- 
connect, 300-bps, auto-answer, auto-dial 
modem is easily installed. It can dial 
with tones or pulses, and it includes a 
cable to connect the modem to a 
modular telephone jack. If you want to 
have a telephone connected to the 
same jack, you must purchase a Y 
modular adapter. 

When installed, the modem is auto- 
matically designated the COM I device 
to BASIC and DOS; the built-in serial 
port is COM2. If there is no modem in 

{continued) 



262 BYTE • AUGUST 1984 



The truth about information management: 

The Knowledge I 

beats dBASEover zsu ways 

". . .the leading seller is no longer the best. 1 ' 



Time (in minutes) to sort* a two-field 
record on one numeric field. 



KnowledgeMan 



You get more from the Knowledge 
Manager. Relational data manage- 
ment, ad hoc queries (like IBM's 
SQL/DS), spreadsheet, math and 
statistics, printed forms manage- 
ment, screen I/O management, a 
full-scale programming language. 
All for less than the list price 
of dBASE. Plus you can now get a text processor, a forms 
painter, color graphics and a run-time- version. 







K-MAN VI.05, dBASE il V2.3D, 
IBM XT, 256K RAM. heavily 
populated directory. 






AH completely integrated: So you can do just about 
anything you wish. Like financia l mod eling, 
order entry, job costings- 
decision support. 

















,v^ 



mot ,v.^..^ * rf d n , .,i IV 






vW 






*** 






**£ 









«o 



MA 



lW> 



<£&C 



tSuT 






0' 1 



1» - 1*J 



\\-v 



^s »* ^** 



1#b 




a******* 



no 



'.:,S-- 









IOWLEDGE 

m®n 



KnowledgeMan is a trademark of Micro 
Data Base Systems, Inc., dBASE II of 
Ashton-Tate, SQL/DS of IBM. 
Dealer inquiries invited. 



Please send me: 

□ Free feature-by-feature comparison 

□ Forms painter and graphics 
information and pricing* 

D Run-time package information and 

pricing* 
* Forms painter, graphics and run-time 

package are available as optional 

components. 

□ Please accept my order for 

the Knowledge Manager $500.00 

□ Shipping and Handlingt 10.00 
(Indiana residents must add 

5% sales tax— $25.00) 

Machine: 

Operating Systems: 

□ PCDOS □ MSDOS □ CP/ M-86 



Disk Format: 

□ 8" IBM-3740 SS/SD 

□ 5Va" IBM PC SS 

□ 5Va" Victor/Sirius 

□ 5Va" DEC Rainbow 

tAdd $20.00 if outside U.S., Canada 
or Mexico 

I92K RAM required, 500K mass storage 
suggested. 

□ Check or money order enclosed 
(must be drawn from U.S. bank in 
U.S. currency) 

MasterCard No 

VISA No 

American Express No. 

Expiration Date 

Bank No. (if M.C.) 

Signature 



VISA, MasterCard and American Express 
orders may be placed by phone 
(317)463-2581. 

Name 

Title 

Company 

Phone ( ) 

Address 

City 

State 



.Zip. 



Send To: 

Q MDBS/ Consumer Products 

J"V P.O. Box 248 

Q © Lafayette, IN 47902 

H Phone: (317)463-2581 

V Telex: 209147 ISE UR 

SFAF9XX 

Or Contact Your Local Dealer. 

PRICES SUBJECT TO CHANGE WITHOUT NOTICE 
Current release is 1.06 as of 4/1/84. 



Circle 201 on inquiry card. 



AUGUST 1984 • BYTE 263 



REVIEW: PCjr 




Photo 3: The PCjr's 300-bps direct-conned internal modem option is made by Novation 
and features auto-dial and auto-answer. 



This is HoweMord in action. 4 

The swal! feox in the lower right-hand 
corner shows the forwat of the printed 

Facfe^ once this text has been forntatted 
or* 80 colimns.l 

The £ovly> sywfeols to the left of the fcox 
aye ICONS. They stand for PRINT, EDIT? 
FILE, and LAYOUT.* * 

You select an ICON fey hi tting ESC and 
novin^ the ICON selection box J>y 
pressing the arrow keys. ■ 




Press ESC to <ro to wenu 



Photo 4: Home Word, an easy-to-use word processor for the IBM PCjr, features a text-edit 
area: icons for selecting print, edit, file, and layout functions: and a box, containing a graphic 
representation of the current page's format. 



your PCjr, the serial port is COM I . Upon 
installation of the modem, this change 
in designation of the serial port forces 
you to reconfigure programs that access 
the serial port. 

T^ble 4 summarizes the commands 
available with the IBM PCjr's internal 
modem. The PCjr's modem commands 
are not Hayes compatible, which is un- 
fortunate given the amount of available 
telecommunications software using the 
Hayes command format. However, the 
commands are simple to use; you can 
enter any command from the keyboard 
by typing Control-N and then the com- 
mand mnemonic. 



HomeWord 

Among the software released by IBM 
for the PCjr is Sierra On-Line's unique 
word processor. HomeWord (see photo 
4). HomeWord is easy to use but ade- 
quate for most home word-processing 
needs. 

The program includes an overlay tem- 
plate for the PCjr keyboard. If you have 
some experience with word processors, 
you can probably figure out how to use 
HomeWord from the template alone. 
Unfortunately, the template is made of 
heavy paper stock and comes folded in 
half. The crease in the middle keeps it 



from lying flat, and it looks like it could 
easily be torn in half from folding and 
unfolding. 

HomeWord has several interesting fea- 
tures. A menu of icons or symbols ap- 
pears at the bottom of the screen. You 
select word-processing functions by 
moving through this picture menu. For 
speed, you also can select most func- 
tions directly through special key 
sequences. 

On most TV sets, you can only display 
40 characters per line and still have 
readable text. A box in the lower right- 
hand corner of the HomeWord screen 
is a shrunken representation of the cur- 
rent page, using single pixels for each 
letter. This box lets you view the shape 
of text on your document's pages in the 
final format, T^ble 5 summarizes Home- 
Word's commands. 

Other Applications 

IBM has released four arcade games 
(Mouser. Crossfire. Scuba Venture, and 
Mine Shaft) in cartridge form for the 
IBM PCjr. Disk-based games include a 
couple of adventure games, educational 
games, and an introducation to Logo 
called "TUrtle Power." 

I received several other software pack- 
ages to try out on the PCjr. They are 
IBM PC versions, with no apparent 
modifications for the PCjr. Information 
Unlimited Software's Easy Writer 1.15 
has more features than HomeWord. but 
it seems dry after HomeWord's dazzling 
icons and use of color. Software Pub- 
lishing's PFS:File and PFS:Report are a 
pair of file-management programs that 
allow you to store, modify retrieve, and 
report on a database. I also ran 
MicroPro's WordStar version 3.30 on 
PCjr with no problems. This WordStar 
accesses the PC's video memory direct- 
ly, apparently using the hardware trick 
mentioned earlier. 

Accessories 

If pointing the PCjr's keyboard at the in- 
frared receiver is not your cup of tea. 
you can buy a cord to hook the key- 
board to your system unit. The cord is 
a flat cable about 6 feet long. It is not 
coiled, and tends to get in the way on 
the desk. (With cables like this one, 
maybe cordless keyboards are not such 
a bad idea after all.) 

Another option is a Centronics 
parallel-printer port, compatible with 



264 BYTE- AUGUST 1984 



REVIEW: PCjr 



the PC's. Photo 5 shows the way this op- 
tion attaches to the side of the PCjr. The 
panel on the right-hand side of the sys- 
tem unit snaps off to reveal a 60-pin 
connector that brings the bus out. The 
parallel-printer adapter snaps onto the 
side, connecting to the 60-pin bus. 

When the installation is complete, the 
60-pin bus is available for the next op- 
tion. The PCjr Technical Reference manual 
states that up to five option adapters 
can be supported. However, power 
usage will be restricted on a machine 
that has all the internal options con- 
nected; only 400 milliamps of + 5 V DC 
(volts, direct current) are available on 
the external bus. and the + 1 2 V DC and 
-6 V DC sources are completely used 
up. 

The way the parallel-printer adapter 
connects to the PCjr foreshadows other, 
more interesting options to come. The 
60-pin bus includes 20 address lines, a 
bidirectional 8-bit data bus, three inter- 
rupt levels (requests 1,2, and 7), mem- 
ory and I/O read and write signals, and 
miscellaneous clock and timing signals. 
DMA devices (such as disk controllers 
that don't interfere with type-ahead and 
RS-232Cdata input) can be connected. 
This bus is the key to add-on third-party 
hardware, and several vendors have 
already announced PCjr hardware ex- 
pansions that connect to it. 

Inside the PCjr 

The PCjr's lid is easy to snap off (see 
photo on the "At a Glance" page), but 
there is no power interlock to prevent 
dangerous AC (alternating current) line 
voltages from being present when the 
PCjr's insides are exposed. The switch- 
ing power supply is on the far left. The 
power supply is the trickiest card to in- 
stall in PCjr— it requires mating two easi- 
ly bent pins on the motherboard with 
a connector on the card, as well as in- 
serting the card's edge into a connector. 

To right of the power supply is the 
memory/80-column video-expansion 
card, which is individually shielded. 
Next is the Novation 300-bps modem. 
And finally, the disk drive controller is 
next to the disk drive. 

Photo 6 shows the PCjr with all its 
cards out and the floppy disk removed. 
The eight chips in the lower left-hand 
corner contain 64K bytes of RAM. 
There is no parity checking bit, unlike 
the PC which includes a 9th-bit parity 



check for every 8 bits of memory. In the 
upper left-hand corner you will see the 
cassette relay, which is a yellow compo- 
nent. To the left of the relay is the tiny 
piezoelectric speaker used for internal 
sound. The large 40-pin chip just below 
the relay is the INS82 50 UART (univer- 
sal asynchronous receiver/transmitter) 
chip that controls the serial port. Below 
the 82 50 is another 40-pin chip, the 
Motorola 684 5 video controller. The 
40-pin chip below that is a proprietary 
gate array used in the video section. 
On the lower right are the covers for 
the two ROM program cartridges 
Directly above the left-hand slot are the 
two system ROMs. To the right is the 
60-pin system-bus extender (at the edge 
of the PC board). The large chip just to 



its left is the 8088 microprocessor, the 
PCjr's brain. 

Manuals 

The documentation set is impressive. 
IBM made a real effort to make the 
computer understandable to novices. 
Chapters such as the one titled "liking 
Control" in the Hands-On BASIC manual 
(jointly published by IBM and McGraw- 
Hill) deal with computer-fear by stress- 
ing that the computer is only a tool, not 
a diabolical machine with a mind of its 
own. 

Hands-On BASIC uses cartoons and 
full-color diagrams liberally to make the 
pages visually interesting. IBM chose a 
little boy named "PC" for the theme 

{continued) 




Photo 5: Some options, such as the parallel-printer adapter shown here, attach to the bus 
connector on the right-hand side of the PCjr. 




Photo 6: The IBM PCjr's motherboard with all internal add-on adapters, disk drive and 
power supply removed. [See text for a guided tour.) 



AUGUST 1984 • BYTE 265 



REVIEW: PCjr 



character for the PCjr. He appears in 
some, but not all. of the end-user- 
oriented manuals. 

The Guide to Operations tells you how to 
set up your machine, use the keyboard, 
install options, and run diagnostics. The 
writing style is simple and clear. The 
operations manual includes a keyboard 
tutorial linked to a program in the PCjr's 
ROM called Keyboard Adventure (and 
this keyboard is an adventure). This 
tutorial guides you through the PCjr key- 
board with animated color graphics and 
a three-voice rendition of the opening 
to Beethoven's Fifth Symphony. 

An interactive tutorial program called 
Exploring the IBM PCjr is included with 
disk-drive versions of the PCjr. 

Another introductory program called 
the Sampler provides some sample ap- 
plication programs for the PCjr. It comes 
on a single floppy disk and includes 
some simple BASIC programs, seen in 
menu form in photo 7. 

The Microsoft BASIC manual comes 
with Cartridge BASIC. It is almost iden- 
tical to the manual shipped with the PC. 
Modifications include new PCjr com- 
mands, and references to the PC's disk- 
based BASIC and BASICA are changed 



MONTHLV 



to references to Cartridge BASIC. This 
is primarily a programmer's reference, 
but new programmers should start with 
Hands-On BASIC, which comes with 
every machine. 

If you buy PC-DOS, you get two 
manuals: one is simply titled Disk 
Operating System, and the other is a small, 
staple-bound book called Disk Operating 
System User's Guide. The first is the ref- 
erence manual for DOS users; the sec- 
ond is a get-acquainted guide for first- 
time users, complete with cartoon char- 
acters meant to ease computer anxie- 
ty. An extra-cost option is the DOS 
Technical Reference manual, intended for 
DOS programmers. One advantage of 
splitting the DOS manual into two parts 
is that each part fits into its binder, in 
contrast to DOS 2.0 documentation, 
which doesn't. The disadvantage is the 
extra cost for the now-optional technical 
manual. This new manual set is used for 
the PC and PC XT as well. 

The Technical Reference manual follows 
the same style as the PC's manual. It 
gives a detailed look at the PCjr's 
design, including schematics and list- 
ings of the ROM BIOS code. IBM obvi- 
ously knows that much of the PC's 



J! "■ 


-1 


„ 








RECIPES Jji 





D □ x 



EXPENSES 



LOANS 



CHECKBOOK 



GAME 



m}f^^r§:MMSMJS!S333M 




Photo 7: The IBM PCjr Sampler Disk includes a number of BASIC programs 
demonstrating the kinds of applications that are available. Shown here are the selection icons 
for a budget program, recipe file, loan-payment computer, checkbook manager, number game, 
and simple communications program. 



The PCjr's modem 
commands are not 
Hayes compatible, 
which is unfortunate 
given the amount of 
available 

telecommunications 
software using the 
Hayes format. 



phenomenal success is due to third- 
party software and hardware vendors 
that need this detailed information to 
make additional programs and options 
available for the machine. 

Conclusions 

The PCjr is impressive in many ways. It 
is also disappointing in some critical 
areas. 

The PCjr's major advantages include: 
IBM PC compatibility; a large software 
base (at least for the disk version of 
PCjr); good graphics, text, and sound 
capabilities; and an excellent documen- 
tation set The PCjr allows children and 
adults alike to acquire some computer 
literacy while learning to operate the 
machine— and of course, the IBM name 
ensures continued support and ser- 
vice. 

Minuses include the keyboard, a real 
loser; limited expandability from IBM at 
this time (no external disk drive or add- 
on memory beyond 128 K bytes total); 
and the price— it's rather expensive for 
a home computer, but with its current 
keyboard, it's not meant for business 
use. 

As this article goes to press, new key- 
board and memory options are 
rumored to be pending from IBM. For 
now. I must admit that the PCjr is not 
my choice for a personal computer. It 
may appeal to children and educational 
institutions or to hunt-and-peck typists. 
But if you are in the market for a com- 
puter and decide to buy an IBM 
machine, think carefully about buying 
a PC, or at least look at the price of a 
fully expanded PCjr versus a compar- 
ably configured PC. ■ 



266 B YTE • AUGUST 1984 



tomPUTCR WAREHOUSE 



CALL TOLL FREE 



PRINTERS 



Brother 

DX-15 


S369 


HR-25 . . 


S619 


C-ltoh 

A10-20 


S459 


F-10 Parallel or Serial 

55 CPS Serial or Parallel 


S915 

S1199 

S319 


8510SP 


S439 


8510SCP . 


S509 


8510BP1 


S389 


Computer International 

Da»sywrtter2000W/48K 

Comrex 

CR-2 Parallel or Serial 

CR-2 Keyboard 


S985 

S439 
S150 


CR-3 


Call 


Datasouth 

DS180 


S1155 


DS220 


$1469 


Diablo 

620 


S739 


630API 


S1699 


630ECS 


Call 


630 ECS/IBM . 


S1995 


Series36 

Epson 

All Printer Models • 

Inforunner 

Riteman 


Call 

Call 

S249 


IDS 

Prism 132 Color 


S1499 


Juki 

6100 


Call 


NEC 

2010 


S645 


2015 


S645 


2030 


S645 


2050 


S789 


3510 


S1219 


3515 . . 


S1219 


3530 


S1219 


3550 


S1519 


7710 


S1649 


7715 


S1649 


7730 


S1649 


Okidata 


Call 


Panasonic 

1090 


Call 


1091 


Call 


1092 


Call 


Qume 

LetterPro20ParallelorSerial . 

I1/40W/Interface 

1l/55W/lnterface 


S629 
S1369 
S1569 


Silver Reed 

EXP400 


S269 


EXP500 Parallel 

EXP500 Serial 


S385 
S419 


EXP550 Parallel . . 


S479 


EXP550 Serial 


. $494 


770P 


S825 


770S 


S875 


Star Micronics 


Call 


Tally 




MT 180L 


S779 


Spirit 80 


S275 


Toshiba 

P1340 Parallel orSerial 

P1351 Parallel or Serial 

Transtar 

120 Parallel or Serial 

130 Parallel or Serial 

T315 , 


S725 
S1259 

S395 
S549 
S389 


MODEMS 

Hayes 

Smartmodem 300 Baud 


. S199 


Smartmodem 1200 Baud 

Smartmodem 1200B Baud (IBM) . 
Micromodem HE (Apple) 

US Robotics 

212A Autodial 

Password 1200 


S485 
S430 
S235 

S420 
$310 


IBM PC Modem 


S320 



1-800-528-1054 



r 



SANYO * EPSON SYSTEMS 



dual drive systems SANYO COMPUTER * EPSON RX-80 

SANYO CRT-36 HI-RES GREEN MONITOR • WordStar • CalcStar • Mailmerge 

• InfoStar • SpellStar • MS-DOS (2.11) • Sanyo Basic 

555 System with ^ *| A AA 555-2 System with (47AA 

Dual 160K Drives ylT^V Dual 320K Drives W ■ # W 

single drive systems SANYO COMPUTER * EPSON RX-80 

SANYO CRT-36 Hl-RES GREEN MONITOR • WordStar • CalcStar • MS-DOS (2.11) 

• Sanyo Basic 

550-2 System with 644AA 550 System with (JJAA 

Single 320K Drive ^> I05J5J Single 160K Drive y I 199 



VIDEO TERMINALS 



COMMODORE 



COMPUTERS 



ADDS 

A-2 Green 

A-3 

Viewpoint 60 

Viewpoint 90 

Altos 

Smart II 

Qume 

QVT 102 Green 

QVT 102 Amber 

QVT 103 Green 
QVT 103 Amber 

QVT 108 Green 

QVT 108 Amber 

Televideo 

910 

910+ 

914 

924 

925 .-.. 

950 

970 

800A (User Station) 
PersonalTerminal 

Wyse 

50 

75 

100 W/14 Inch Screen 

300 

Zenith 

Z-29 



S475 
S475 
S489 
S859 



S519 
S545 
S819 
S850 
S599 
S639 



S445 
S519 
S515 
S639 
S700 
S909 
S989 
S989 
S385 

S495 
S565 
S679 
S999 

S609 



DISKETTES 

Maxell 

MD-1 (Qty 100) 

MD-2 (Qty 100) 

Scotch 

5V. SS/DD (Qty 100) 
5XDS/DD(Qty100) 

Elephant 

5X SS/DD (Qty 100) 
5 V. DS/DD (Qty 100) 



64 

1541 Disk Drive 

1702 Monitor 

1526 Printer 

1530 Datasette (only w/64) 

MONITORS 

Amdek 

All Monitors 

Princeton Graphic 

HX-12 

Sanyo 

CRT-30 

CRT-36 

CRT-70 

Sony 

19"RGB(KX1901A) 
25' RGB{KX2501A) 

Taxan 

12"Amber 

Zenith 

ZVM-122 Amber 

ZVM-123 Green 

ZVM-124 

ZVM-133 Color/RGB 

ZVM-135 Color/RGB W/Audio . 

DISK DRIVES 

Rana 

Elite I 

Elite II 

Elite III 

Controller (W/Drive Only) 

1000W/DQS for Atari 



S227 
S239 
S239 
S274 
S60 



Call 

S499 

Call 
Call 
Call 



S709 
S1089 



S95 

S95 

S129 

S410 

S459 



S215 
S345 
S410 
S65 
S305 



Altos 

All Computer Models 

Eagle 

PC+2W/Eagle Monitor& Adapter 

Spirit 2 Portable 

Spirit XL Portable 


Call 

Call 

Call 

Call 


NEC 

PC-8201 Computer 

PC-8201A-90 Battery Pack ...... 


S465 
S17 


PC-8206A 32K Ram 


S299 


PC-8271A-01 AC Adapter 


S17 


PC-8271A-02 AC Adapter 

PC-8281 A Recorder 

Northstar 

All Computer Models 

Sanyo 

MBC-550 System 


S17 
S89 

Call 
S1199 


MBC-555 System 


S1499 


MBC-550-2 System 


S1399 


MBC-555-2 System 


S1799 


1150 System W/5000 Printer .... 

Televideo 

802H _ 

803 


S1599 

S4285 
S1765 


803H 

806/20 


S2850 
S4640 


TPC-1 


S1539 


Zenith 

Z-150 Single Drive 


Save 25% 


Z-150 Dual Drive 

Z-150W/10 Megabyte 

Z-160 Single Drive 

Z-160 Dual Drive 


Save 25% 
Save 25% 
Save 25% 
Save 25% 



S175 
S275 



S200 
$245 



S155 
S218 



QUADRAM 



Quadlink S449 

Quadboard 256K (Expands to 384K) S469 

Quadboard II 256K (Expands to 384K) . S469 



s 


ONY. 


S419 
S519 

S1329 


Walkman 

FM/Stereo Cassette (WM-F10). . 


Video Recorders 

. S 1 1 9 Beta Video Recorder (SL2300) 




. S85 Beta Video Recorderw/Remote (SL30). 


Watchman 

AM/FM Stereo TV (FO30A) 


Beta Movie 

.... S239 Beta Movie Camera (BMC-110K). 


B&WTV 


... S179 








Order Line: 1-800-528-1054 
Order Processing & Other Information: 602-954-6109 



GOmPUTCR 
WAREHOUSE 



2222 E. Indian School Rd. 
Phoenix, Arizona 85016 



Store Hours: Mon-Fri 10-5:30 Saturday 9-1 
Order Line Hours: Mon-Fri 8:30-5:30 Saturday 9-1 



Prices reflect 3% to 5% cash discount. Product shipped in factory cartons with manufacturers warranty. Please add 
$8.00 per order for UPS shipping. Prices & availability subject to change without notice. Send cashier's check or 
money order., all other checks will delay shipping two weeks. 



Jlfi 



All he could do was hit. 



And the Babe's fans loved him for it. 
Doing one thing" veiy 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 for the IBM PC and 
most plug compatibles. By making 
sure that Multimate interfaces well 
with other data management 
products. By developing a program 
that will allow users to convert Wang 
files to the Multimate format. By 
looking beyond what word processing 
is. And seeing what it can be. 

Multimate International. We've 
come a long way in a short time by 
being veiy 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. 



Itimcite We're putting our reputation into words. 



IBM PC is a registered trademark of International Business 
Machines Corporation. 

Wang is a registered trademark ol' Wang Laboratories. 

Circle 228 en inquiry card. AUGUST 1984 • BYTE 269 




SYSTEM REVIEW 



The Sanyo MBC-550 



An 



inexpensive 
MS-DOS 



by Bill Sudbrink 



In January, I read a classified ad that went 
something like this: 
FOR SALE: Computers, 
128K memory, double-density 
disk, MS-DOS and IBM 
compatible. $995. 
COmpUtGr I had been regularly reading the classifieds 
for three years and knew this price was a typo. 
The correct price must be $1995 or $2995. I 
decided to call anyway, hoping that $1995 was 
right. The salesman told me that $995 was the 
correct price. "What's wrong with it?" went 
through my mind. 

"What's wrong with it?" seems to be the 
reaction of all my friends and classmates upon 
first hearing the price and the features of the 
Sanyo MBC-550 series. Because attending col- 
lege means paying to work instead of work- 
ing for pay (leaving little money for buying a 
computer), I went to have a look at the 
MBC-550 and the two-disk MBC-555. What I 
found made me an owner the next day. 

lEditor's Note: We've included two text 
boxes that provide additional insight into the 
Sanyo MBC-550 and 555. lames G. Droppo 
Jr.'s "The Double-Drive MBC-5 55" is on page 
278. lohn Unger and Jeffrey Phillips discuss 
"Sanyo MBC-555/IBM PC Compatibility" on 
page 276.| 

The cabinet measures 1 5 inches wide, 4% 
inches high, and 14 J4 inches deep. At first 
glance the cabinet looks a lot like a videodisc 
player. It has a smooth silver surface with air 
vents running across each side and a single 
power switch on the front. The keyboard case 
has the same finish as the cabinet, and the 
keys are two shades of grey with white letter- 
ing. A black coiled cable connects the key- 
board to the cabinet. The cabinet contains a 
fan, which I didn't discover until several days 
after purchasing the system; the fan is virtually 
silent. The floppy-disk drives are also very 
quiet, with only the occasional click as the 
read/write head changes tracks. 

The cabinet has positions for two floppy- 
disk drives. In the basic MBC-550 setup (one 
drive), the second drive position is occupied 
by a handy disk-storage box, which can hold 
12 disks. On the rear of the cabinet is a 
grounded outlet that is on the same switch 



as the main unit. This outlet lets you turn on 
your system and display with one switch. 

Monochrome and/or 
Color Display 

The MBC-550 comes out of the box capable 
of driving both monochrome and RGB (red- 
green-blue) displays. As a matter of fact, it can 
drive one of each at the same time. The for- 
mats of the two displays are the same. The 
basic video signals are generated forthe RGB 
display and auxiliary circuitry converts the col- 
or signals to monochrome signals. Tkble 1 
shows the eight pixel values and their color 
and monochrome attributes. Figure I shows 
the pin-outs of fhe RGB socket. 

The character-display format is 2 5 lines by 
80 columns; for pixels, it's 640 horizontal by 
200 vertical. Both graphics and text may be 
displayed at the same time. Each character is 
an array of 8 horizontal by 8 vertical pixels. 
In ROM (read-only memory), 2 56 characters 
are stored, and the lower 127 are standard 
ASCII (American National Standard Code for 
Information Interchange). The ASCII character 
set is pleasing to the eye, with lowercase 
descenders. I can distinguish no difference 
between the Sanyo ASCII characters and 
IBM's. The COLOR command in BASIC lets 
you display text in any character/background 
color combination. 

Other BASIC graphics commands include 
LINE (draws a line between any two points on 
the screen), CIRCLE (draws circles, ellipses, 
and arcs anywhere on the screen), SYMBOL 
(puts the standard characters on the screen 
in any magnification and four orientations), 
PAINT (fills an enclosed area with a specified 
color), PSET and PRESET (colors and uncolors 
specific pixels), and GET and PUT (stores an 
area of the display into a numeric array and 
places a numeric array in a specified area of 
the display). 

Display memory is set at cold boot to the 
highest 16K bytes available. Altering a value 
at I/O (input/output) address hexadecimal 10 
changes the display memory block. 

Keyboard 

The MBC-5 50 keyboard (see photo 2) is ar- 



270 BYTE • AUGUST 1984 



ranged in the regular QWERTY format with 
one slightly annoying exception. The Shift keys 
at lower left and right are moved farther away 
from the bottom row by the addition of an <> 
(angle bracket) key to the left and an * 
(asterisk) key to the right; a jab for the shift 
key that falls short results in a < or *. Ttoo 
Shift-Lock keys are situated on either side of 
the space bar. The Caps lock is on the left and 
the Graph lock is on the right. Each lock key 
has an embedded red LED (light-emitting 
diode) to indicate activity. 

The keyboard has a very nice feel for touch- 
typing, with the home keys (F and J) more 
deeply dished to mark the position of the 
home row. The keyboard also has two adjust- 
able legs to let you tilt the keyboard to your 
own tastes. 

In addition to the QWERTY keypad, there 
are five function keys arranged vertically along 
the left side of the keyboard and a combina- 
tion numeric/cursor-control keypad on the 
right. The function keys are programmed from 
BASIC with the KEY command. 

The numeric/cursor-control keypad is a stan- 
dard numeric keypad with =,*.-,+,., and 
Return keys. Eight of the ten numeric keys can 
also serve as cursor-control keys. (Numeric key 
functions are shown in table 2.) A BASIC Break 
key (Control-C) is in the upper right corner of 
the numeric pad, out of the way but not inac- 
cessible. A hardware processor reset switch 
is recessed on the left side of the keyboard. 

The keyboard communicates with the com- 
puter in ASCII at 1200 bps (bits per second) 
with even parity, 8 data bits, and 2 stop bits. 
When a character is pressed while the con- 
trol key is down, the character is transmitted 
in parity error. The keyboard has automatic 
repeat on all keys after approximately one-half 
second. 

Processor 

The MBC-550 uses the 16-/8-bit Intel 8088 
microprocessor and an 8288 bus controller. 
The MBC-550 also has a socket for the 8087 

Bill Sudbrink (5100 Barto Ave., Camp Springs. MD 
20746) is majoring in computer science at the Univer- 
sity of Maryland, College Park. 



mathematics coprocessor and is configured 
to take advantage of it. 

The 8088 in the MBC-550 runs at 3.6 MHz, 
more than I MHz slower than the IBM Per- 
sonal Computer (PC), which runs at 4.77 MHz. 
This speed difference shows in the process- 
ing benchmarks on page 274. 

There is no question that Sanyo sacrificed 
speed in order to cut production costs. In my 
experience with computers, however, process- 
ing speed is really of importance only when 
dealing with real-time applications such as 
graphics animation. In these applications, a 
slow system usually results in poor graphics 
animation. The simple BASIC test program in 
listing I shows that the MBC-550 is capable 
of quick, smooth animation. 

Memory 

The Sanyo comes with 128K bytes of 4164 
dynamic RAM (random-access read/write 
memory) soldered to the main board, which 
has sockets for another 128K bytes to bring 
the system total to 2 56K bytes. The last ad- 
dressable 16K bytes of memory, FC000 to 
FFFFF (hexadecimal), contain the system 

(continued) 




Photo 1: The Sanyo MBC-550. 



AUGUST 1984 • BYTE 271 



REVIEW: SANYO 



GREEN SIGNAL> 



VERTICAL SYNC 
(INVERTED) 




RED SIGNAL 



(SJ \ ^BLUE SIGNAL 



HORIZONTAL SYNC 
(INVERTED) 



GROUND 



Figure I : The pin-out of the MBC-5 50 rear-panel RGB receptacle. 



Tcible 1 : The eight pixel values f 


or color and monochrome displays. 


Pixel \folue 


Color Display 


Monochrome Display 





black 


off (black) 


1 


blue 


low intensity 


2 


green 


medium intensity 


3 


light blue 


high intensity 


4 


red 


off (black) 


5 


purple 


low intensity 


6 


yellow 


blink off medium 


7 


white 


blink low/high 



Tkble 2: Normal [unshifted) and shifted functions of the 


numeric keypad. 




Cursor Control 
(unshifted) 


Keypad 
(shifted) 




linefeed 

not used 

page down 

right 

down 

left 

home 


1 

2 
3 
4 
5 
6 
7 




up 

page up 
not used 


8 
9 






ROM. The ROM contains, among other 
things, the floppy-disk bootstrap, the 
keyboard decoding, and the character 
images. The system uses no memory 
parity checking, so each 64K-byte up- 
grade requires only eight 4164 chips. 
The documentation seems to indicate 
that memory expansion is limited to 
2 56K bytes. Although there are no card 
slots in the MBC-5 50. the address and 
data buses and all of the memory and 
I/O signals are available through a 
62-pin header on the processor board 
(see table 3). In the schematics, this 
header is noted only as an "external 
port." Interestingly, pin 30B. labeled CLK 
(clock), receives a signal referred to on 
the schematics as "OSC IBM BUSS." 
Maybe there is an IBM-compatible card 
cage in the future. 

Disk Drives 

Sanyo now supplies only 514-inch, 
single-sided, double-density disk drives 
with the MBC-5 50 series. In the 
February 1 984 edition of Sanyo Newslet- 
ter, a short paragraph mentions that the 
EDH51 1 10-megabyte hard disk is avail- 
able for the MBC-5 50. but at this writ- 
ing my local dealers have not heard any- 
thing about the new disk. Double-sided 
disk drives are also said to be on the 
way. 

The Sanyo-supplied drives use regular 
soft-sectored disks with a formatted 
storage area of I60K bytes under MS- 
DOS 1.25. Regular MS-DOS formatting 
is used, and the disks are transportable 
among various MS-DOS machines, in- 
cluding the IBM PC. The version of MS- 
DOS supplied with the MBC-5 50 sup- 
ports from one to four drives. As 1 men- 
tioned before, the drives are pleasing- 
ly quiet. 

While Sanyo may be slow in produc- 
ing hardware options for its computer, 
other firms are not. Two dealers in the 
Maryland suburbs of Washington, D.C, 
are offering double-sided, double- 
density disk drives and MS-DOS 2.0 for 
the MBC-5 50 Prices are less than $2 50 
for the drive and DOS (disk operating 
system). The double-sided drives are 
also MS-DOS standard, and they dou- 
ble the formatted storage area to 360 K 
bytes under MS-DOS 2.0. [Editor's 
Note: At press time, we learned that 
MS-DOS version 2.11 is now available 

for the MBC-550.1 

[continued] 



111 BYTE ■ AUGUST 1984 



AT A GLANCE 



Name 

Sanyo MBC-550 

Manufacturer 

Sanyo Business Systems 

Corp. 

Computer Division 

51 Joseph St. 

Moonachie. NJ 07074 

(201) 440-9300 

Size 

15 by 14 !4 by 4% inches; 
keyboard 17% by 6% by 
1% inches 

Processor 

8088 16-78-bit at 3.6 MHz 
with 8288 bus controller 

Memory 

128K of 4164 dynamic 
RAM; expandable to 2 56K 

Mass Storage 

One or two 160K 5!4-inch. 
single-sided, double- 
density floppy-disk drives 

Display 

2 5 rows by 80 columns; 
color (RGB) or mono- 
chrome 

Keyboard 

Detached QWERTY with 
five function keys and 
numeric pad 

Software 

MS-DOS 1.2 5. Sanyo 
BASIC. WordStar. CalcStar. 
EasyWriter 

Options 

RS-232C serial port ($100). 
Apple joystick, 8087 math 
coprocessor. 64K RAM 
expansion ($120). 
monochrome monitor 
($199). color monitor 
($749). double-sided disk 
drive ($499) 

Documentation 

Operator's guide. 287 
pages; software guide. 492 
pages 

Price 

MBC-550 (one drive). $995; 
MBC-555 (two drives. Mail- 
Merge. SpellStar. and Info- 
Star). $1495; with monitor 
and serial port, $1795 



■ 




^nttuutw.j t tfti 



IV- I8H fflf 09 1330 BO 091 fSD M M COB SB 



■m\<m mm 



MEMORY SIZE 

200 400 



600 800 1000K 



DISK STORAGE 
500 













I28K | 256K | 






~T~l64 


</128K 








140K/280K 



BUNDLED SOFTWARE 
2 4 



8 

2 



PRICE 
$0 



$4000 $6000 $8000 $10,000 













$1795 | 








$2099 





! J SANYO MBC-550 



IBM PC 



APPLE HE 



The Memory graph shows the standard and op- 
tional memory available for the computers under 
comparison. The Disk Storage graph shows the 
highest capacity of a single floppy-disk drive for 
each system. The Bundled Software graph shows 
the number of packages included with each system. 
The Price graph shows the list price of a system 



with two high-capacity floppy-disk drives, a mono- 
chrome monitor, graphics and color-display capa- 
bility, a printer port and a serial port. 2 56K bytes 
of memory (64K bytes for 8-bit systems), the stan- 
dard operating systems for each system, and the 
standard BASIC interpreter for each system. 



AUGUST 1984 • BYTE 273 




The rear panel of the Sanyo MBC-5 50. Note the parallel printer connector. 



DISK ACCESS IN BASIC 



£.w 






























212 




200 






. 175 




150 
to 
a 

z 
















o 
o 

tu 

« 100 














50 




56 

1 




46 

1 




32*1 


29* 







n 


n 





The inside of the Sanyo MBC-555. Note the two floppy-disk drives at the 
top [front] and the lack of expansion slots. 



BASIC PERFORMANCE 
-267 




SYSTEM UTILITIES 
50- 



SIEVE 



SPREADSHEET (MULTIPLAN) 



CALCULATIONS 





LOAD 



RECALCULATE 



| IBM PC | | APPLE HE 



The Disk Access in BASIC graph shows how long it takes to write 
a 64K-byte sequential text file to a blank floppy disk and how long 
it takes to read this file. (For the program listings, see "The Chameleon 
Plus." by Rich Krajewski, in the June BYTE, page 327.) The Sieve bar 
shows how long it takes, to run one iteration of the Sieve of 
Eratosthenes prime-number benchmark. The Calculations bar shows 
how long it takes to do 10.000 multiplication and division operations 
using single-precision numbers. The System Utilities graph shows how 
long it takes to format and copy a disk (adjusted time for 40K bytes 
of disk data) and to transfer a 40K-byte file using the system utilities. 
The Spreadsheet graph shows how long the computers take to load 



and recalculate a 25- by 25-cell spreadsheet where each cell equals 
1.001 times the cell to its left. The spreadsheet program used was 
Microsoft Multiplan. 



Note that in the tests of BASIC disk access for the Sanyo, the test 
file was written to and read from the default (i.e. nonblank) disk. Sanyo 
BASIC apparently cannot access other disk drives. In the spreadsheet 
test on the Sanyo. CalcStar was used. The standard 2 5 by 2 5 spread- 
sheet could not fit into memory. A 25-column by 17-line spreadsheet 
was used and the times were extrapolated to 25 lines. 



274 BYTE • AUGUST 1984 




NETWORK 



WHOLESALE +8% PRICING 

OUR 400 PAGE CATALOG OF 20,000 COMPUTER PRODUCTS 

12 TO 21 DAY SOFTWARE RENTALS, AT 20%* 

FOR NETWORK MEMBERS ONLY! 



Listed below are just a few of the over 20,000 products available 
at our EVERYDAY LOW PRICES! All softwarebelow is priced in 
IBM-PC format. The NETWORK carries software for IBM, 
Apple, CP/M, Kaypro and over 50 other popular systems. 



GAMES & EDUCATIONAL SOFTWARE 

(Please add $1 shipping and handling (or each title ordered Irom below.) 
Wholesale 



Avant-Garde Air Traffic Controller $16.50* 

Bluebush Chess (Your Toughest Opponent) 34.00* 

Broderbund Lode Runner 19.75* 

CBS Goren-Bridge Made Easy 48.00* 

Epyx Tempte of Apshai 21.97* 

MocomZorkl.il, 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 Masterly pe 27.00* 
Screenplay Asylum (works with mono card too) 15.50* 



Sierra On-Line Frogger 
Sierra On-Line Crossfire 
Sub Logic Night Mission Pinbafl 
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 



BUSINESS SOFTWARE 

(Please add $2.50 shipping and handling (or each title ordered (rom below.) 



ATI How to use MultiMate $42.00* 

ATI How to use Microsoft: Word 42.00* 

ATI How to use Lotus 1-2-3 42.00* 

Ashton-Tate DBASE lit CALL 

Ashton-Tate Framework CALL 

Ashton-Tate Friday! 158.00* 

Central Point Copy II PC 23.00* 

Conceptual Instruments Desk Organizer 150.00* 

Digital Research CP/M-86 30.00* 

Digital Research DR Logo 55.00* 

Digital Research PL/I Compiler 399.00* 

Funk Software Sideways 36.00* 

Harvard Harvard Project Manager 215.00* 

Hayes Smartcom II 68.00* 

Human Edge The Management Edge 145.00* 

Human Edge The Sales Edge 145.00* 

Lotus Development Lotus 1-2-3 CALL 



MicroRim RBase4000 

Microsoft C Compiler 

Microsoft Word with Mouse— Latest Version 

Microsoft Multiplan 

Monogram Dollars & Sense 

Oasis The Word Plus 

Rosesoft Prokey Version 3 

Satellite Software WordPerfect 

Softcraft Fancy Fonts 

Softstyle SET-FX 

Software Publishing PFS: File 

Software Publishing PFS: Report 

Software Publishing PFS: Write 

Software Publishing PFS: Graph 

Sorcim Supercalc 3 

SPI Open Access 

Verbatim Disk Drive Analyzer 



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* 



260.00* 
275.00* 
255.00* 
105.00* 
85.00* 
90.00* 
74.00* 
210.00* 
125.00* 
40.00* 
74.00* 
65.00* 
74.00* 
74.00* 
198.00* 
335.00* 
25.00* 



HARDWARE 

(Please add shipping and handling charges found i n italics next t o price.) 



COMPLETE SYSTEMS 

Apple Macintosh Base System 1,810.00* (39. 10) 

Apple Apple //c 955.00* (20,97) 

Apple Apple //e CALL 

Columbia Desktop & Portable Systems CALL 
Eagle Desktop PC and Spirit Portables CALL 
m IBM PC 2 DSDD Floppy Drives/Color 1,940.00* (48.00) 

Card/Mono Monitor 
IBM Hard Disk 1 Floppy/10Mb Hard 2,675.00* (62.00) 

Disk/128K/Color Card/Mono Monitor 
Sanyo MBC 550 "Lowest Cost MS- 710.00* ( 15.00) 

DOS System'' 
Tava Complete IBM compatable 1,710.00* (36.95; 

(128K/ 'Color Card /Mono Mon/2 drives 
Texas Instruments Professional CALL 

DISK DRIVES & CONTROLLERS 

Cogito 1/2HlLowPower 10MB 820.00* (18.00) 

Winchester W/tBM Controller 
••IBM Floppy Disk Controller 105.00* (2-50; 

Maynard WS-1 10MB IntemalHard 860.00* (18.00) 

Disk with Sandstar Multi Function Card 
Maynard WS-2same as WS-1 but with 960.00* (20. 75) 

Sandstar Floppy Controller (uses 1 slot) 

Maynard Floppy Controller/Seriat Port 185.00* (2.50) 

m Panasonic Halt Height DSDD Drive Pair 275.00* (6.92) 

Qume Halt Height DSDD Drive Pair 350.00* (7.00) 

(Same as used on IBM Portable) 

m-Tandon TM100 2 Full Height DSDD Drive 168.00* (4.00) 

Tatlgrass 20MB External Hard Disk 2,800.00* (46.20) 

with Tape Backup 
Teac FD55-B Halt Height DSDD Drive Pair 300.00* (7.00) 



MULTIFUNCTION CARDS 



85.00* 
123.00* 

205.00* 
205.00* 
105.00* 
197.00* 



(2.50) 
(2.50) 

(2.50) 
(2.50) 
(2.50) 
(2.50) 



200.00* (2.50) 



180.00* (3.89) 

267.00* (6.00) 
415.00* (9.25) 
600.00* ( 14.35) 

CALL 

21.00* (1.00) 
765.00* (76.53; 



MEMORY CHIPS 

All chips guaranteed lor lite. 

64K Memory Upgrade Kits (9 Chips) 43.20* (7.00; 

64K Dynamic Ram Chips (Each) 4.80* (7.00; 

MODEMS 

Anchor Mark Xlt LOWEST PRICE 1200BPS 230.00* (5. 00) 

HAYES COMPATABLE EXTERNAL MODEM! 

Hayes Smartmodem 300 180.00* (3.60) 

Hayes Smartmodem 1200B with 366.90* (2.50; 

Smartcom II 

Hayes Smartmodem 1200B without 299.00* (2.50; 

software 

Rixon R212A Stand Alone 1200BPS 335.00* (8.50) 

U.S. Robotics Password (Compact 290.00* (6.50; 

1200BPS External) 

MONITORS 

■-Amdek Video 300G Composite Green 110.00* (3.00) 

* Amdek Video 300A Composite Amber 120.00* (3.00) 

~ Amdek Video 31 0A IBM Type Amber 130.00* (300) 

m Amdek Color 11+ 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 270 Combo RGB/Composite 245.00* (6.00) 

Taxan 420 Super High Res RGB Monitor 400.00* (9.30) 

ZenHhZVM-123 Green High Res 76.00* (2.50; 
(Consumer Reports Rated Best Buy!) 



Apparat 51 2 K Memory Board with OK 
Apparat Combo II w/ser/ par/game/ 

clock/sfwr 
AST Six-Pack Plus with OK 
AST Mega Plus II with OK 
AST I/O Plus II 
Qua dram Improved Quad board 

384K with OK 
Tecmar Captain Multilunction Card 

with O/K 

PRINTERS 

Comrex/Brother CR-II 13CPS LO Printer 399.00* (8.62) 
Comrex/Brother Typewriter Keyboard 150.00* (3.25; 

tor CR-II 
Comrex/Brother Cut Sheet Feeder 

tor CR-II 
Epson RX-80 
Epson FX-80 
Epson FX-100 
Epson LQ1500 

Epson IBM-to-EPSON Parallel Cable 

*NEC 2050 20CPS Letter Quality Printer 

*NEC 3550 33CPS Letter Quality Printer 1,460.00* (37.54; 

Okidata ML84P 200CPS 132 Col 720.00* ( 7 6.00) 

Okidata ML92P 160CPS 80 Col Printer 395.00* (8.55; 

*■ Okidata ML93P 160CPS WidePlaten 590.00* (75.00; 

- Okidata 2410P Pacemark 350CPS 1 , 850.00* (60.00) 

132 Col 

Okidata IBM-to-Okidata Parallel Cable 20.75* (7.00; 

Qume Sprint 11/45 45CPS Letter Quality 1,155.00* (24.00) 

Qume IBM Cable and Interface (required) 72.00* (7.00; 

Texas Instruments 855 DP/LQ w/Tractor 716.00* (75.50; 

m- Toshiba P-13S1 760/700 CPS Draft/ 1,200.00* (32.00) 

LQ Printer 

VIDEO CARDS 

m- Amdek MAI Card 

m* Hercules Monoch rome Graph ics Card 

Hercules Color Card with Parallel Port 
m» Paradise Multidisplay Card 

Persyst Monochrome Display Card 

Quadram Quadcolor I Color Card 

Quad ram Quadvue Mono Card 
WSer/Par/Clock 

STB Graphix Plus 

STB Clock Option tor Graphix Plus 

ACCESSORIES AND SUPPLIES 

Brand NameDSDD Diskettes 20.00* (7.00; 

Guaranteed tor Lite!! 
Curtis PC Pedestalll 54.00* (3.00) 

Keytronic KB5151 Deluxe IBM Keyboard 186.00* (4.00) 
WP Printer Paper 2600 Sheets 17.00* (70.00; 

Microtine Perts (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; 


300.00* 


(2.50; 


CALL 




332.00* 


(2.50) 


206.00* 


(2.50) 


170.00* 


(2.50) 


210.00* 


(2.50) 


240.00* 


(2.50) 


30.00* 


(1.00) 



For as little as $8 per year you can join the 
thousands of value wise buyers who have 
saved more than $8,000,000 on 25,000 or- 
ders in just the last six months and re- 
ceived these 15 unique benefits: 

• Wholesale + 8% Pricing 

• Our 400 Page Catalog— Over 20000 Products 

• In-stock Delivery On Popular Products 

• Experienced Sales Consultants 

• Add-on Quantity Discounts 

• Free Technical Support 

• 12-21 Day Business Software Rentals (optional) 

• 72-27 Day Game Software Rentals (optional) 

• Special Savings Newsletters "The Printout" 

• Discount Book Library— Over 1000 Titles 

• Membership Referral Bonus 

• Corporate Accounts 

• Software Publishing Assistance 

• Membership Refund Guarantee 

• 10 Day Hardware Return Policy 



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 it 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 highlighted by ^ reflect recent major price reductions 

Circle 24! on inquiry card. 



CALL TOLL FREE 
1 -800-621 -S-A-V-E 

In Illinois call (312) 280-0002 
Your Membership Validation Number: B391 

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 ^^~ 1 
9 AM to 5 PM CST. '^5**' 

PERSONAL COMPUTER NETWORK /V^% 
\ 320 West Ohio \\) 

|P Chicago, Illinois 60610 \y 

Call now... Join the PC NETWORK and start saving todayl 



y 

1 



PC NETWORK • MEMBERSHIP APPLICATION 

YESI Please enroll me as amember inthe PC NETWORK™ and rush my 
catalog featuring thousands of computer products, all at just 8% above 
DEALER WHOLESALE PRICES. I will also periodically receive "THE 
PRINTOUT", a special up-date on merchandise at prices B ELOW even 
those in my wholesale catalog, and all the other exclusive, money -saving 
services available to Members. 391 P 



I am under no obligation to buy anything. My complete satisfaction is 
guaranteed. Please check ( y/) all boxes that apply: 

Basic Membership Special V.I.P. Membership* 

□ One-year membership for $8 □ One-year membership for $15 



□ Two-year membership for 
$15 (SAVE $1) 

□ Business Software Rental 
Library for $25 add'l. per 
year— with 12 day rentals 

□ Games Software Rental 



G Two-year membership for $25 

(SAVE $5) 
Q BOTH Business and Game 

Software Rental Libraries for $30 
add'l. per year— with 21 day rentals 
*VIP members receive advance notice 
Library for $10 add'l per year on limited quantity merchandise specials 
LI Bill my credit card: D VISA D MasterCard □ American Express 

Account 
Number: 

Exp. Date 



mo. year 

□ Check or money order enclosed for $ _ 

Name 

Address 

City . State 

Telephone ( ) 

My computer(s) is: U IBM PC D Apple II □ TRS-80 □ Kaypro 
□ Other 

Signature . 



_ Apt. No. . 

Zip. 



(Signature required to validate membership) 
Copyright ©1984, PC NETWORK INC. 

AUGUST 1 984 • BYTE 275 



REVIEW: SANYO 



Sanyo MBG555/IBM PC 
Compatibility 

By John Unger and Jeffrey Phillips 



As scientists, both of us have done 
extensive programming in the 
work environment on mainframe 
computers and minicomputers using 
FORTRAN and PL/I. However, our home 
computing needs are different and in- 
clude program development, word pro- 
cessing, and remote communications 
with minicomputers at the office. When 
we purchased identical Sanyo MBC-555 
computer systems, we had no great illu- 
sions concerning IBM Personal Computer 
(PC) compatibility. Dealers had informed 
us that the Sanyo would not run IBM soft- 
ware requiring graphics and might not 
run other IBM software. Documentation 
was known to be poor. Nevertheless, the 
attractions of the low cost, bundled word 
processing, database, BASIC software, 
graphics, and IBM compatibility (in terms 
of disk format, microprocessors, and 
operating system) were too good to pass 
up. If public-domain software developed 
for the IBM PC could be adapted for use 
on the Sanyo, then so much the better. 
We first ran the MicroPro (WordStar, 
etc.) and I.U.S. (EasyWriter) packages 
bundled with the MBC-555; we found 
them to be completely installed for the 
Sanyo system, and everything worked 
flawlessly right out of the package. Work- 
ing with WordStar was somewhat discon- 
certing at first, though. Because of the 



way the Sanyo writes to the screen, using 
the scroll feature (Control-QZ) to review 
text is difficult to adjust to: the text does 
not scroll smoothly and appears to jump 
around the screen as the top line is 
erased and a new line is added at the bot- 
tom. This effect is especially bothersome 
with double-spaced text. Also, the Sanyo 
appears to write to the screen much more 
slowly than some 8-bit CP/M machines 
that we've used, but it's about the same 
speed as the IBM PC. Interestingly this 
problem does not seem to be as ap- 
parent with the version of EasyWriter that 
comes with the Sanyo; perhaps l.U.S. uses 
more efficient code for screen-writing 
routines. 

One of the first programs we attempted 
to convert was PC-Talk, a "freeware" com- 
munications program written in IBM 
BASIC. (A compiled version would not 
run on the Sanyo.) The initial problem we 
encountered was an "out of memory" 
message during the load. It seems that 
the Sanyo, supplied with I28K bytes of 
RAM (random-access read/write mem- 
ory), can spare only about 40K bytes for 
BASIC program space. We corrected this 
problem by adding 64K bytes' worth of 
memory chips to the main board. All 
add-on memory is available to programs 
running under Sanyo BASIC. The re- 
mainder of the conversion attempt was 



an education in the differences between 
IBM BASIC and the simpler Sanyo BASIC, 
which is structured much like 8-bit Micro- 
soft BASIC 

The problem that caused us to aban- 
don the attempt was the failure of PC-Talk 
to recognize extended keyboard codes 
such as Home or Shift-Ctrl (which are sup- 
posed to translate to the IBM Alt ex- 
tended code) when typed on the Sanyo. 
This problem made it impossible to get 
past the main menu of PC-Talk without 
destroying the integrity of the BASIC 
code. It is just as well we did not spend 
more effort on converting this program 
because no one in our user group had 
succeeded in setting the data-transmis- 
sion rate on the Sanyo using the instruc- 
tions in the owners manual. Also, the 
situation has now changed because 
Sanyo has come up with its own commu- 
nications software. 

A second exercise involved using POKE 
commands to enter assembly-language 
subroutines into BASIC programs, as 
outlined by Hugh Howson in two BYTE 
articles (references 2 and 3). Going 
through his examples gave us our first 
look at the BIOS (basic input/output 
system) of the Sanyo. We were very en- 
couraged to discover that most of the 
BIOS and DOS (disk operating system) in- 
terrupts found on the IBM PC aiso are 



Serial Communications 

The MBC-5 50 does not come with a 
built-in serial port. The optional serial 
board, which costs $100, can drive 
either a modem or a printer and is com- 
pletely under software control. Trans- 
mission rates can be varied between 
110 and 4800 bps but not by BASIC 
Sanyo includes in the user's guide a 
BASIC routine to alter the data-trans- 
mission rate; however, due to rather 
temperamental timing, the BASIC rou- 
tine does not work. The assembler rou- 
tine in the guide works perfectly. The 



serial board communicates through a 
standard DB25 female connector. The 
connector pin-outs comply with stan- 
dard printer and modem configurations. 
The main component of the serial 
board is the Intel 8251A serial interface 
controller chip, which takes data on its 
parallel bus and converts it into serial 
order. It also receives data on its serial 
RxDATA pin and converts it for the 
parallel bus. The 82 51 A is completely 
software controlled. Parity, word size, 
and stop bits are variable. Parity can be 
even, odd, or none; word size can be 5, 
6, 7, or 8 bits; and the number of stop 



bits can be I, I Vi, or 2. You select these 
characteristics by sending a control word 
to I/O address 2A (42 decimal), 'fable 4 
shows the 82 51A control word coding; 
listing 2 is an assembly-language pro- 
gram to alter the serial setting. 

Parallel Communication 

The standard MBC-550 system includes 
a Centronics-type parallel interface. The 
interface can drive many kinds of 
printers and seems to cooperate with 
WordStar nicely. I have a C. Itoh dot- 
matrix printer that has operated per- 
fectly with the MBC-5 50. 



276 BYTE • AUGUST 1984 



REVIEW: SANYO 



supported on the Sanyo. Specifically, in- 
terrupts 0, I. 3, 10 through IC and 20 
through 27 are supported. All others halt 
the processor. Interrupts 15, 18, 19, IB, 
and IC return to the calling program with- 
out taking any action. There also are 
some minor differences. For example, the 
keyboard interrupt (17) does not have the 
option of returning a status byte, the 
video interrupt (10) does not have graph- 
ics options, and the memory-size inter- 
rupt (12) always returns 16 K bytes less 
memory than you thought you had. ap- 
parently to compensate for the 16K bytes 
of dedicated video RAM. A related con- 
version attempt involved a screen-dump 
program written in IBM BASIC with an 
assembly-language subroutine. This pro- 
gram used the graphics GET statement 
to access the screen, then used the 
VARPTR function to pass the address for 
the screen array through a CALL state- 
ment to the assembly-language 
subroutine. It soon became apparent that 
on the Sanyo the format of the array out- 
put by the GET statement differed radical- 
ly from that produced on the IBM. In ad- 
dition, the offset address returned by the 
VARPTR function was relative to an un- 
known segment address, making it next 
to useless. Furthermore parameters 
passed through the CALL statement were 
not correctly utilized by the assem- 
bly-language subroutine. We were able to 
write a clumsy but functional version of 
the program only by eliminating passed 
parameters and taking advantage of "pro- 
. prietary" information regarding the for- 
mat of the GET array. 

After reading articles on C compilers 
(references 1 and 4), we ordered a copy 
of the DeSmet C compiler for one of the 
new Sanyos. The decision to buy this 



compiler was not made without some 
anxiety; although the product is sup- 
posedly able to run on plain-vanilla MS- 
DOS, some of the more interesting fea- 
tures and utility functions have been 
designed around the IBM PC. However, 
we were pleased to discover that not only 
does the fast and handy editor, SEE. work 
flawlessly, but the entire library of func- 
tions for direct screen I/O (input/output) 
on the IBM PC are completely compati- 
ble with the Sanyo. This feature is a direct 
consequence of the fact that the BIOS in- 
terrupt 10 routines are identical between 
the IBM and Sanyo machines. 

Our version of DeSmet C (2.2) is more 
recent than the one reviewed in BYTE for 
the IBM, and the benchmarks we've run 
on the Sanyo show that the Sanyo pro- 
duces results comparable to those re- 
ported for the IBM in the BYTE article. 
We're pleased with the package and now 
have the freedom to create not only EXE 
files from powerful and versatile source 
code but also machine-language pro- 
grams using the 8088 assembler that 
comes with the C compiler. 

In brief, the biggest problem with the 
MBC-555 is the lack of in-depth technical 
documentation. This lack prevents use of 
the machine's excellent graphics. Now all 
we have to do is figure out how to ac- 
cess the fine high-resolution graphics of 
the Sanyo with C-language functions or. 
at least, through assembly-language 
programs. 

We were frustrated again when we at- 
tempted to run compiled public-domain 
utility software. Two RAM-disk programs 
written for the IBM failed to work on the 
Sanyo, as did an IBM program to play 
"Mary Had a Little Lamb." (The Sanyo ap- 
parently does not support music.) The 



moral seems to be: If you expect to run 
IBM software, don't buy a Sanyo. 

If you plan to write your own software 
using the full power of the 8088 and 
Sanyo graphics capability, expect to 
spend a lot of time with the debugger, 
searching through the DOS. BIOS, and 
BASIC assembly code in order to glean 
some insight into the interrupt and port 
structure. We think that Sanyo should cor- 
rect the problems with the VARPTR and 
CALL statements or at least provide the 
information needed to use them in their 
present form. 

Are we unhappy that we bought 
Sanyos? Not at all. The MBC-555 has pro- 
ven to be a versatile computer with great 
potential at a great price. With a little help 
from Sanyo, especially in the form of 
good documentation on the BIOS and 
details for the rest of the operating 
system, that potential will begin to be 
realized. 



]ohn Unger (POB 95. Hamilton, VA 22068) 
and \effrey Phillips (1629 Apricot Court. Reston, 
VA 2 2090) aregeophysicists for the United States 
government. 

REFERENCES 

1. Houston, }erry, Jim Brodrick, and Les 
Kent. "Comparing C Compilers for 
CP/M-86." BYTE. August 1983. page 82. 

2. Howson. Hugh R. "POKEing Around 
in the IBM PC" Part I, BYTE, November 
1983, page 121. 

3. Howson. Hugh R. "POKEing Around 
in the IBM PC" Part 2, BYTE. December 
1983. page 417. 

4. Phraner, Ralph A. "Nine C Compilers 
for the IBM PC" BYTE, August 1983. page 
134. 



Sound 

The MBC-550 has no complex sound 
generators. Sanyo BASIC recognizes 
SOUND and PLAY as reserved words 
but apparently does nothing with them. 
When SOUND or PLAY is the first word 
on a line, the rest of the line is ignored. 
A simple test shows that 

10 FOR T=0 TO 10000 
20 NEXT T 

takes 15.8 seconds to execute. When 
you insert 15 SOUND or 15 PLAY, the 
loop takes 22.0 seconds to execute. 



Dividing the difference, 6.2 seconds, by 
10,000 demonstrates that not much is 
going on in these two statements. 

The MBC-5 50 does have a bell. When 
accessed through the normal channels. 
BEEP or PRINT CHR$(7). the bell 
sounds rather like a frog being stepped 
on. When accessed in other ways, the 
bell makes other amusing sounds. The 
TxDATA pin of the 82 51 A that receives 
the keyboard data drives the bell. The 
I/O address of the 82 51 A is hexadecimal 
38. Executing the statement OUT 
&H38.&HFF causes a short "pop" to 
come out of the speaker. The loop 



10 FORX=l TO 50 

20 OUT &H38.I 

30 FOR T= I TO 50:NEXT T 

40 NEXT X 

causes a sound like a machine-gun: 
"tock-tock-tock-tock." The following rou- 
tine generates a "crash" or "you've- 
been-shot" sound. 

10 FOR X = TO 255 
20 OUT &H38.X 
30 NEXT X 

The parity, data bits, and stop bits of the 
keyboard 82 51A chip can be controlled 

[continued) 



AUGUST 1984 -BYTE 277 



REVIEW: SANYO 



The Double-Drive MBC-555 



I have used the Sanyo MBC-555 as a 
word processor at home; I use an IBM 
Personal Computer (PC) in the office. 
A major advantage for me is the fact that 
the Sanyo comes with MicroPro software, 
eliminating any business/home software 
licensing questions. 

My overall impression of the MBC-5 55 
i s good. MicroPro's IBM-compatible soft- 
ware works fine on the Sanyo I am able 
to write reports, letters, data files, etc.. in- 
terchangeably between the Sanyo and 
the IBM PC. As I'll describe, simple BASIC 
programs are easily transferred. The 
hardware and software works pretty 
much as advertised. 

An obvious omission in the documen- 
tation, which is otherwise good, is the 
lack of a description of pin-outs for plugs 
on the back of the computer. With all the 
information on signal characteristics con- 
tained in the manual, pin-out information 
would be appropriate and quite useful. 
My color monitor could not be hooked 
up without a definition of pin-outs so I 
could make up an adapter cable. 

I did not find all the software items I 
looked for, either. Sanyo BASIC documen- 
tation is quite good as far as it goes. The 
trouble is that not all commands are 
covered; you are referred to a book on 
Sanyo BASIC that the Sanyo dealer is sup- 
posed to have. I asked my dealer— he did 
not have such a book. I checked another 
Sanyo dealer— no book. I checked local 
bookstores— no book. So the following 
discussion of compatibility of Sanyo 
BASIC and IBM PC BASIC was produced 
without benefit of this additional docu- 
mentation. 

WordStar, SpellStar. MailMerge, Info- 
Star, and CalcStar are documented in the 
second volume. Because I already was 
quite familiar with the MicroPro software, 
I have not yet had to refer to the second 
volume. The detailed manual sections 
and training guides will be useful to new 
users. The menus in this software are of 
considerable help in the learning process. 
Also, the popularity of these packages 
has resulted in a number of good booki. 



By James G. Droppo Jr. 



available in most bookstores, to supple- 
ment a beginning user; documentation 
of these programs is no problem. 

The Good, the Bad 

Sanyo makes it clear in its literature on 
this series that the BASIC supplied is 
Sanyo BASIC. What this translates to is 
a BASIC that is close to IBM PC BASIC, 
but not identical. Files may only be trans- 
ferred in ASCII (American National Stan- 
dard Code for Information Interchange) 
format. The internal coding of BASIC 
statements is not the same. The pro- 
cedure for transferring files is to save a 
version with an "A" option; that is, in 
BASIC with the program loaded, you 
enter 

SAVE "FILENAME.BAS".A 

and then the program may be loaded 
with no special options on the other com- 
puter. This works when going from the 
IBM PC to the Sanyo MBC-5 50, and vice 
versa. 

The BASIC editing mode on the Sanyo 
is different than on the IBM PC: it works 
only on numbered program lines and re- 
quires hitting the Break key to stop the 
editing mode. I find it relatively easy to 
use, but compared to the IBM PC BASIC 
screen editor, it's limited. 

On the positive side of the Sanyo is its 
more standard keyboard. I find I can hit 
Delete or Return without a several-second 
search. The Sanyo also has a handy reset 
button on the side of the keyboard. Both 
computers have an extra key between the 
Shift and Z keys (< > on the Sanyo; \ on 
the IBM). lust recently I stopped making 
those annoying shift errors caused by this 
extra key 

On the Sanyo's negative side is the 
placement of the disk drives, which 
follows the Oriental practice of going 
from right to left. The A drive is on the 
right and the B drive is on the left. If 
you're going back and forth between 
machines, it gets quite frustrating. A lot 
of disks get put into the wrong drives. 
Although I felt I could not complain too 



much, I could do something about it. 

I opened up the computer and reversed 
the disk-selection jumpers on the half- 
height disk drives. This gave me the same 
logical order as on the IBM PC. Near the 
back of the circuit board on the disk 
drive, drive A has the second and fourth 
pins jumpered and drive B has the third 
and fourth pins jumpered. My MBC-555 
had two different models of disk drives- 
one with jumpers readily accessible when 
the case was opened, one with the cir- 
cuit board underneath it. The latter re- 
quired the complete removal of the drive 
to change the jumper. Changing the 
jumpers can mean a very simple opera- 
tion or a relatively major one. depending 
on the type of drives. 

If you have to remove the disk drives 
in order to change the jumpers, you 
might be tempted to merely reverse the 
complete drive mechanisms. This is not 
recommended because, generally, the 
final drive on the end of the disk-drive 
ribbon cable has a special set of termina- 
tion resistors not used in intermediate 
drives. Anyway, the ribbon cable within 
the Sanyo is too short to Jet you physical- 
ly switch the drive position. 

The drives are single-sided, double- 
density units that have half the capacity 
of double-sided, double-density drives 
used in many IBM PCs. You must format 
disks on the IBM with the single-sided op- 
tion for compatibility with the Sanyo. The 
instruction 

A> FORMAT B:/l 

loads the Format program from drive A 
and gets ready to format one side of the 
disk in drive B. No special commands are 
necessary when formatting disks on the 
Sanyo 



lames G. Droppo Jr. (3 521 Sylvester St., Pasco. 
WA 99301) is a senior research scientist in the 
geosciences department at Battelle. Pacific North- 
west laboratories. He holds a doctorate in at- 
mospheric sciences from the State University of 
New York at Albany. 



278 BYTE • AUGUST 1984 



Gilford 
has a lock on 

multiuser CimS-16. 



Ifs 11:00 P.M. Do you 
know where your files are? 

It's great when multiple local and off 
site users can run any 8- or 16-bit CP/M 
or MP/M™ program. It's even better when 
they can share expensive resources like 
printers, hard disks, and tape drives. Best 
of all is when they can share your most 
precious resource— data. Gifford has been 
delivering systems with all these features 
for over two years. 

But sometimes data is sensitive. How 
do you keep people from taking more 
than their fair share? 

Gifford adds a new dimension 
to CP/M security. 

With our new security features, you 
can control what resources and data 
are shared. 

Gif ford's proprietary security 
enhancements include user login with 
encrypted passwords, control over 
access rights of modem users, secure 
electronic mail, and the ability to restrict 
users to specified terminals, programs, 
and directory areas. Plus, an audit log 
utility that keeps a permanent record of 
system activity. And you also get all the 
standard security features of Digital 
Research's MP/M-86.™ 

You select the level of security 
needed to get the best balance between 
file sharing and file safety. 



Unleash productivity with 
Gilford's Virtual Terminals. 

With our Virtual Terminals, each 
terminal on your system can monitor up 
to four different programs running concur- 
rently. And at the touch of a key you can 
switch screens instantly from one 
program to another. 

You could look up an address in 
dBASEII™ jump over to SuperCalc™ to 
make some projections, then switch 
instantly to WordStar® to use this infor- 
mation to update a letter. If you forget 
what's on a screen, just touch a key to 
refresh your memory. You won't need to 
go through the distracting process of 
loading and unloading programs. 

And since your Virtual Terminal can 
run any 8- or 16-bit CP/M or MP/M pro- 
gram, you can choose the best programs 
foryourjob from the biggest software 
library in the world. It's easier than 1, 2, 3! 

The Gifford Security Blanket: 
Total Solutions. 

Gifford delivers solutions. This 
means professional pre-sale consultation, 
expert system integration with 200 hour 
system burn-in, complete training, and full 
after sale support. 

For example, our three user 
CompuPro® based system with a 21- 
megabyte hard disk costs just $9,990, and 
can be easily expanded for $500 per 




user. This includes MP/M 8-16, SuperCalc, 
anddBASEII. 

Other Gifford solutions include 
systems with hard disks that range from 
5 to 300 megabytes, 4 and 9 track tape 
backup, printers, plotters, and modems. 
Single- and multiuser 8086, 68000, and 
Z-80 based systems are available for 
immediate delivery, with 80286 and 16032 
systems on the way. 

Two year warranty protection. 

In the unlikely event that you encoun- 
ter a hardware related problem, we'll 
replace any defective S-100 part within 
24 hours FREE for two full years. But 
chances are, it can be solved on the Gifford 
service hotline or diagnosed via modem. 
All at no cost to you. 

Lock in on Gifford Security 
today. 

If total support, training, on site 
service, obsolescence-proof upgradeable 
S-100 bus architecture, and complete 
system security sound appealing, cut the 
coupon or give us a call. We'll send you 
a free brochure that tells the whole story. 
Once you get it you'll see why Gifford 
has a lock on multiuser CP/M 8-16. 

Gifford Computer Systems is a Full 
Service CompuPro® Systems Center. 



The powerful Gifford System 321 shown 
with optional GCS-80 Virtual Terminals. 





Vi-til>P 



2446 Vema Court, San Leandro, CA 94577 
(415) 895-0798 A division of G&G Engineering 
I'D LIKE THE WHOLE STORY. 
Please send me your brochure. 
Name Title 



Organization. 
Address- 
City_ 
Phone _ 



_M/S_ 



_ State. 



_Zip_ 



□ Please have a representative call me. 



BY-S 



GIFTORD COMPUTER SYSTEMS □ San Leandro, C A ( 415) 895-0798 □ Los Angeles, C A ( 213) 477-3921 □ Houston, TO ( 713) 680- 1944 

Amherst, NY (716) 833-4758 □ Telex: 704521 

Circle 134 on inquiry card. AUGUST 1984 • BYTE 



279 



Circle 67 on inquiry card. 



Mac 
Inker 

Re-ink any fabric ribbon 

AUTOMATICALLY for less 

than 5$, Extremely simple 

operation with built-in 

electric motor. We have a 

MAC INKER for any printer: 

cartridge/spool/harmonica/ 

zip pack. Lubricant ink safe 

for dot matrix printheads. 

Multicolored inks, uninked 

cartridges available. Ask for 

brochure. Thousands of 

satisfied customers. 

$54.95 + 




Mac 
Switch 

Mac Switch lets you share 
your computer with any two 
peripherals (serial or 
parallel). Ideal for word 
processors— never type an 
address twice. Ask us for 
brochure with tips on how to 
share two peripherals (or two 
computers) with MAC 
SWITCH. Total satisfaction or 
full refund. 

$99.00 



^fe« 



'r'T-W 



ft** 



Order toll free 1-800-547-3303 

CElmputer 
Friends 

6415 SW Canyon Court 
Suite #10 

Portland, Oregon 97221 
(503) 297-2321 



REVIEW: SANYO 



in assembly language just like the serial 
port 82 51 A. The control address for the 
keyboard 82 51 A is hexadecimal 3 A. 
Once you alter the attributes of the key- 
board control address, however, data 



from the keyboard is no longer received 
properly. The correct value of the key- 
board control address is hexadecimal 
FF. With some experimentation and im- 

{continued) 



T&ble 3: The pin- 


out of the MBC-550 


expansion header. 


\n the schematic diagrams, 


pin 30 (CLK) has 


a notation that reads 


"OSC IBM BUSS." 


Pin 


Signal 


Pin 


Signal 


AOI 


NMI (inverted) 


BOI 


ground 


A02 


D7 (data) 


B02 


reset 


A03 


D6 


B03 


+ 5V 


A04 


D5 


B04 


unused 


A05 


D4 


B05 


unused 


A06 


D3 


B06 


unused 


A07 


D2 


B07 


-12V 


A08 


Dl 


B08 


RQ/GT (inverted) 


A09 


DO 


B09 


+ 12V 


AIO 


RDY 


BIO 


ground 


All 


AEN 


Bll 


MWR (inverted) 


A12 


A19 (address) 


B12 


MRD (inverted) 


A13 


A18 


BI3 


lOW (inverted) 


A14 


A17 


BI4 


lOR (inverted) 


A15 


A16 


B15 


unused 


A16 


AI5 


BI6 


unused 


A17 


A14 


B17 


unused 


A18 


A13 


BI8 


unused 


A19 


A12 


BI9 


unused 


A20 


All 


B20 


CLK 


A21 


AIO 


B2I 


IR7 


A22 


A09 


B22 


unused 


A23 


A08 


B23 


unused 


A24 


A07 


B24 


unused 


A25 


A06 


B2 5 


unused 


A26 


A05 


B26 


unused 


A27 


A04 


B27 


unused 


A28 


A03 


B28 


ALE 


A29 


A02 


B29 


+ 5V 


A30 


AOI 


B30 


CLK 


A31 


A00 


B31 


ground 



T&ble 4: Control-word codes for the 82 51 A serial interface 
aspects of the transceiver are subject to software control 


controller chip. All 


Bit 




Value 






Function 


7 and 6 




00 
01 
10 

II 






Invalid 

1 stop bit 

1 Vi stop bits 

2 stop bits 


5 






1 






odd parity 
even parity 


4 






1 






parity disable 
parity enable 


3 and 2 
1 and 


00 
01 
10 
II 
should always be 10 for the MBC-550 


5 data bits 

6 data bits 

7 data bits 

8 data bits 



280 BYTE • AUGUST 1984 



EVEN WHEN YOUR MODEM 
SENDS IT BY WAY OF THE 
OKEFENOKEE SWAMP. 



When you send data by telephone 
through nasty environments like this, 
it can run into problems tougher than 
just alligators. Problems like impulse 
noise. Chatter from the switchgear. 
Static from the atmosphere or bad 
weather. Distortion due to crosstalk 
or just plain white noise. 

To get your message through, 
your IBM PC or XT needs the ad- 
vanced performance features of the 
PC:lntelliModem™ It's got the best 
receive sensitivity available today— 
actually down below -50 dBm. So 
now you can achieve a high level of 
data transmission integrity. Even with 
bad connections. 

Get patented modem technology. 

The PC:lntelliModem is elegantly 
simple. Its patented design does it all 
on a single microprocessor chip, with 
just one crystal. Other modems take 



Bizcomp: A history of 
innovation. 



1980 Invented first command-driven 
modem 

1981 Introduced proprietary line- 
status monitoring 

1983 Designed first single-//P212A- 
compatible modem 

1983 Introduced first integrated 

voice/data modem for IBM PC 

1983 Granted patent on command- 
driven modem 




two, four or more ptPs (and even more 
oscillators), and still accomplish less. 

How do we do this? By creating 
architectural 
innovations in 
firmware, and 
by pushing the 
chip to its limit, 
close to 12 MHz. 
Since it uses fewer 
parts, the PC:lntelliModem's 
no-compromise design offers 
higher reliability, a more com- 
pact form factor, and lower costs. 

This design elegance leads natu- 
rally to more elegant performance. Take 
line status detection, for example. The 
PC:lntelliModem's adaptive, decision- 
directed logic monitors line status more 
closely than other modems. Even at weak 
or degraded signal levels. So it can 
make connections with less chance of 
error, by detecting signals for dial tone, 
remote ringback, busy and voice - 
some of which other modems ignore. 

Plan ahead with integrated 
voice and data. 

For opening up a whole new world of 
integrated