Skip to main content

Full text of "PC Tech Journal Volume 02 Number 02"

See other formats


0 24” 14357' 



August 1984 


RANDOM NUMBERS ON THE IBM PC 
RASM-86 AND MASM COMPARED 
IBM COMMUNICATIONS SOFTWARE 
EXPLORING DOS 2.0 MEMORY 


MOUSE POP-UP MENUS 


MICROSOFT MOUSE MENU 
MOUSE SYSTEMS DESIGNER 
POP-UP MENUS 
TRILLIAN VISUALL 


MOUSE POP-UP 
MENUS TESTED 
AND REVIEWED 


IBM’S CLUSTER 




























































For Quality Color Graphics 
From Start Tb Finish. 



Start with Quadcolor Fcolor graphics 
adapter board 

Quadcolor is the only color graphics adapter 
board your IBM PC or XT will ever 
need. To begin, snap Quadcolor I 
into your PC to drive any type 
color monitor. You get 32K of 
memory for up to 16 active video 
pages in the 40-column text 
mode. Or 8 pages in 80-column. 

That’s twice what other popular 
cards offer. Switch to graphics 
mode and create two complete 
screen pages in memory. Plus, you’ll get two 
true colors in high resolution. 

Grow with Quadcolor II™ 

Quadcolor II expands your capabilities with features 
like a full 16 color high resolution mode and an 
amazing 136 color medium resolution mode. 

And it comes complete with BAS1CQ the soft- capabilities. When you’re in the mood for fun 

ware package that enhances IBM’s own BAS1CA and games, Quadcolor II even has a game port. 



Choose Quadjet™for your color 
graphics hard copy 

Quadjet inkjet printer takes all your ideas and 
puts them down on paper—or transparencies. 
So business, scientific and engineering applica¬ 


tions are clearer and more meaningful. And it 
includes an easy-to-use software package which 
allows you to get down to business right away. 

Quadjet uses plain paper or clay coated paper for 
the ultimate in quality color printing. You can 
print black, red, green, yellow, cyan, blue or 
magenta in text as well as graphics. Including 
standard and enlarged characters 
with true descenders. 

A word about 
compatibility. 

A standard 
centronics 
parallel 
interface 
makes 
Quadjet 

compatible with 
your IBM PC, XT or Apple 
computer. And because it works with 
Fingerprint board, printing anything that’s on 
Apple’s screen is as easy as pushing a button. Quadjet doesn’t 
stop there. It’s also compatible with Lotus 1-2-3 plus many 
other business graphics software packages. 

















Picture Quadchrome ™as your high resolution color monitor 

Quadchrome II is Quadram's latest RGB color monitor with a bigger, better 14" diagonal screen. 
It delivers up to 640 x 240 resolution with 80 characters by 25 lines. It’s sharp, clear screen is 
perfect for all your business needs. \Aford processing. Accounting. You name it. 



Whatis more, you'll love the colors. You can display up to 16 
different colors at once. It’s just what you 
need to add that extra flair to all your 
graphics work. 

Monitoring your choices 

The original Quadchrome 1 is 
still available. It delivers up to 
690 x 480 in interlaced 
mode, with the same sharp 
image and the same colors. 

Only this time you’ll get it on 
a 12" diagonal, non-glare 
screen. Of course, both 
Quadchrome 1 and II are FCC 
and UL approved. And for 
the best monochrome 
monitor around, there’s 
Quadram’s Amberchrome. 

The new amber monochrome 
monitor for the IBM PC. 


Look for this seal. It’s your 
assurance that you’re 
buying the best in personal 
computer enhancements. 


With Quadram, creating colorful business presentation graphics couldn’t be easier. Our 
Quadcolor color graphics adapter board, Quadjet inkjet printer and Quadchrome color monitor 
all work together to deliver the finest in color and graphics. When you’ve got one, you’ll want 
them all for the best color graphics you can find. 


QUADRAM 

' J An Intelligent Systems Company 



INTERNATIONAL OFFICES 

Interquadram Ltd. 442 Bath Road, Slough, England SL16BB 
Tel: 6286-63865 Tlx: 847155 Auriema G Interquadram 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 


4355 International Blvd./Norcross, Ga. 30093 

(404) 923-6666/TWX 810-766-4915 (QUADRAM NCRS) CIRCLE NO. 191 ON READER SERVICE CARD 


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





















Sales Revenue 


QUADJET 


QUMXHHONEII' 


Quadram Has 
Created The 
Perfect Color 
Scheme... 






























What’s supporting 
your IBM PC ? 



W 1 ',v ■.'# 


The Information Interface 


The First Information Management 
System That Takes Your P.C. 
Seriously. 

Combines, in a single integrated 
system, all of the historically separate 
functions of database manager, report 
generator, query language, forms 
facility, database definition, data 
dictionary, and programming 
language. /^5(l 


The first commercially available 
Information Management System 
which uses the Entity Relationship 
Model of Data. It captures not only 
data, but also the way in which it is 
structured. Generates information 
applications as much as 20 times 
faster than conventional methods. 


CIRCLE NO. 148 ON READER SERVICE CARD 

FOR USE ON IBM PC® & XT®, 


1 785 Woodward Drive 
Ottawa, Ontario K2C 0R1 
(613)727-1397 


ZANTHE 

INFORMATION INC. 


HYPERION®, COLUMBIA®, 
EAGLE®, COMPAQ®, CORONA® 
AND RAINBOW®. 
















In the Hard Disk Jungle 
Tallgrass Clears 
A Path * 


In today's hard disk jungle, Tallgrass clears 
a path by offering high performance, integrated 
mass storage solutions for 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 L4V 1H2/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 


CIRCLE NO. 234 ON READER SERVICE CARD 


Tallgrass 

Technologies 


Corporation 


IBM' is a registered trademark of International Business Machines Corp. PCnet* is a trademark of Orchid Technology EtherShare ■' is a registered trademark of 3Com Corp 








FoiriBM' PERSONAL COMPUTER USERS 

n 


n 


N 



J — _ 

OURNAL 


JJ 


Articles 


Volume 2, Number 2 
August 1984 


CONTROLLING INPUT USING INKEY$ 

NELSON FORD / lust another INKEY routine? No, this is the ultimate INKEY that allows 
programmers to increase the control and flexibility of their programs 3 2 


MANAGING MEMORY 

WILLIAM J. REDMOND / A step-by-step journey through DOS 2.0 reveals how DOS 
accomplishes one of its most important tasks: managing the PCs memory 42 


CLUSTERS OF WRATH 

SUSAN GLINERT-COLE / IBM's contribution to the arena of inexpensive multi-user 
environments turns out to be an unimpressive first crop 


64 



POP(UP) GOES THE MOUSE MENU 

JULIE A. ANDERSON / Three mouse menu software packages, from Mouse Systems, 
Trillian, and Microsoft, pop up on our screens for evaluation 


74 


RANDOM NUMBER GENERATORS 

PAUL F. HULTQUIST / BASIC programs that improve upon the PCs somewhat limited 
ability to produce random number sequences 


86 


PC POWER-UP ERROR CODES 

JACK WRIGHT / A quick explanation of the strange beeps and cryptic error codes that 

occur when the PC fails its power-up diagnostics 115 



RASMATAZZ WITHOUT THE JAZZ 

CHRIS DUNFORD / IBM's MASM gets some speedy competition from DRI's RASM-86, 

but the old, feature-laden Macro Assembler is still the only choice 120 

ACS OR PCM: THE BETTER TO COMMUNICATE WITH 

AUGIE HANSEN / A comparative review of two communications packages from IBM 

finds that their effectiveness all depends on what tasks they must tackle 155 

Departments Tech Notebooks Products 


Directions 5 
Letters 14 
Newsline 28 
Legal Brief 181 
Book Reviews 187 
Tech Releases 193 
Calendar 208 


21: A Fix for DOS 
Users with 
NIX Habits 73 
22: Patchwork 113 


Tech Book 199 
Tech Mart 203 
Product Index 204 
Advertisers Index 206 


August 1984 


3 















































CHAIRMAN 
OF THE BOARDS 

Introducing data acquisition and 
process control for your IBM PC 


Be the computer automation hero 
in your organization. With TAURUS 
BOARD — the newest of the single 
board plug-in systems for factory 
and laboratory automation. 

This input/ output performer 
can easily harness the power of 
your IBM PC or XT into affordable 
data acquisition and sophis¬ 
ticated process control. Sensing 
and controlling voltages, cur¬ 
rents and temperatures to improve 
productivity and efficiency. 

TAURUS BOARD can handle 
16 analog inputs and 2 analog 
outputs with a 12-bit resolution 
plus 16 digital I/O signals and 4 
event counters. What’s more, 
it’s as easy to program as it is to 
install. Our T-SOFT software 
package provides complete sup¬ 
port for BASIC programmers 
including engineering unit conver¬ 
sion and thermocouple linear¬ 
ization. 




TAURUS 

COMPUTER 

PRODUCTS 

INC. 


TAURUS BOARD comes complete 
with a signal termination panel, 
interconnecting ribbon cables and 
installation, technical and pro¬ 
gramming information. And Taurus 
backs all this up with a compre¬ 
hensive customer support and 
warranty program. 

Get the technical details, configu¬ 
ration options and competitive 
prices on TAURUS BOARD and 
the rest of our fine team of indus¬ 
trial process control and labora¬ 
tory research products for IBM 
and other personal computers. 
Give us a call today and let’s 
discuss your specific applica¬ 
tions. Automation and control 
were never this easy, this affordable. 

TAURUS BOARD and T-SOFT are trademarks of 
Taurus Computer Products Inc. 

IBM is a registered trademark of International Busi¬ 
ness Machines Corporation. 


340 Commercial St 1755 Woodward Dr 


Manchester 
NH 03101 
United States 
(603) 623-7505 


Ottawa, Ontario 
Canada K2C 0P9 
(613) 226-5361 
Telex 053-3577 


CIRCLE NO. 225 ON READER SERVICE CARD 



* 

Annin L-:-"" 

•jrfnsiiij :Wi 

: K 

u : j' 

jam* 5-; £. 3 ^:::- ■$ 





::::::-,V-’... .payi» : 

- - •■a is \«5*sf A.'V\k 

*■" 25 2 2 f J :wL::::- T - 3 lP 


i h< 'ZP.-si m 

rnmmmmmm ■ 


Ft*' 


//// tzvrfm 

M* min 




r-.V 


'■<? jo I IdBDC6G 

I:::::::- 


ryo 


C\ 


iJb . 

, . 


V 


* * *'*•** 



TOURNA 


VOL. 2 , NO. 2 

Publisher 

Jeff Weiner 
Editorial 

Editor: Will Fastie 

Managing Editor: MARfORY SPRAYCAR 

Technical Editors: Julie Anderson, 

Susan Glinert-Cole 
Senior Copy Editor: Susan Holly 
Copy Editor: Barbara Tilly 
Contributing Editors: Ray Duncan, Richard 
Foard, Arthur A. Gleckler, Augie Hansen, 
Thomas V. Hoffmann, Sol Libes, William H. 
Murray, Max Stul Oppenheimer 
Editorial Secretary: Diana L. Carey 
Editorial Assistant: Carole Autenzio 

Art & Production 

Art Director: Nancy Lepow 
Assistant Art Director: Jane Frey 
Art Assistant: Sandra Ray 


Advertising Sales 

Advertising Director: Newt Barrett 
Advertising Coordinator: SHERYL PANZER 
District Managers: Rita Burke, Ian Smith- East 
Coast,- Caroline Anderson- Midwest; Ted Bahr, 
Harriet Rogers— West Coast 
Account Sales Manager: Pauline Scherer 
Account Representatives: Steve Cannon— East 
Coast; John Grogan- Midwest; Bill Bush, 

Arlene Steadman- West Coast 

Circulation 

Subscription Director: Chet Klimuszko, Direct 
Mail Manager: Eric A. Bernhard, Renewal 
and Billing Manager: Shane Boel 

Consumer Computers & Electronics 
Magazine Division 

President: Larry Sporn 
Vice President, Marketing: J. Scott Briggs 
Vice President, Circulation: Carole Mandel 
Vice President, General Manager: Eileen G. 
Markowitz 

Vice President, Licensing and Special Projects: Jerry 
Schneider 

Vice President, Creative Services: Herbert Stern 
Creative Director: Peter J. Blank 
Editorial Director: Jonathan D. Lazarus 
Marketing Manager: Ronni Sonnenberg 

Ziff-Davis Publishing 

President, Richard P. Friese,- President, Consumer Magazine 
Division, ALBERT S. TRAINA; Executive Vice President, Market¬ 
ing and Circulation, PAUL H. Chook ; Senior Vice President, 
Phillip T. Heffernan ; Senior Vice President, Sidney Holtz,- 
Senior Vice President, Edward D. Muhlfeld ; Senior Vice Pres¬ 
ident, Philip Sine ; Vice President, Baird Davis,- Vice President, 
GEORGE MORRISSEY; Vice President, RORY PARISI; Vice President, 
William L. Phillips; Treasurer, Selwyn Taubman, Secretary, 
Bertram A. Abrams 

PC Tech Journal (ISSN 0738-0194) is published 12 times a year, 
$29.97 for one year, $52.97 for two years, $69.97 for three years. 
Additional postage $12 for Canada St Foreign by Ziff-Davis 
Publishing Company, One Park Avenue, New York, N.Y. 
10016. Application for Second-Class Postage Rates pending at 
New York, NY 10001. POSTMASTER: Send address changes or 
subscription inquiries to PC Tech Journal, P.O. Box 2968, 
Boulder, CO 80321. 

Business Offices: Advertising, One Park Avenue, New 
York, NY 10016. 212-725-7947. Subscription inquiries to PC 
TECH JOURNAL, P.O. Box 2968, Boulder, CO 80321. 
Subscription service: 212-725-3628. Back issues, send $7.00/copy 
to PC TECH JOURNAL. Box CN 1914, Morristown, NJ 07960. 

Editorial Office: PC TECH JOURNAL, The World Trade 
Center, Suite 211, Baltimore, MD 21202. 301-576-0770. The 
Source ID STY682. CompuServe 74156, 2365. 

PC Tech Journal is an independent journal, not affiliated in any 
way with International Business Machines Corporation. IBM is 
a registered trademark of International Business Machines Corp. 
Entire contents Copyright ® 1984 Ziff-Davis Publishing 
Company. All rights reserved; reproduction in whole or in part 
without permission is prohibited. Contact Jean Lamensdorf, 
Manager, Reprints/Rights & Permissions. BPA membership 
(Selected Market Audit Division) applied for October 1983. 

























DIRECTIONS Will Fastie 

Mice Are Nice 

... but performance is the key 


T o mouse or not to mouse? That 
has become one of the burning 
questions in the continuing saga of 
the man-machine interface. 

Mice have been with us for 
about 20 years. Credit is usually 
given to Doug Englebart at SRI, 
who invented a mechanical mouse 
driven by wheels. Since then, there 
have been a number of innovations, 
including the replacement of the 
wheels with a single ball bearing 
and, more recently, the develop¬ 
ment of optical mice. In the late 
1970s, mice began to creep into the 
collective consciousness of the com¬ 
puter industry, and by the early 
1980s more than one mouse was 
available commercially. 

Two events were probably re¬ 
sponsible for making the mouse so 
highly visible and of such wide¬ 
spread general interest. The first 
was Xerox's announcement of the 
Star, an icon-based system with a 
high-resolution graphics display 
and, of course, a mouse. The ma¬ 
chine was slick and sexy, and it 
drew crowds whenever it was dis¬ 
played. But if the first event was 
like a stick of dynamite, the second 
was an atom bomb: Apple an¬ 
nounced Macintosh, complete with 
a mouse as a standard feature. 

But that's strange. Mice for the 
PC and other computers became 
available and affordable long before 
Mac was announced. What was it 
about Mac that made mice so vis¬ 
ible, attractive, and desirable? 

The answer is simple: Mac¬ 
Paint. A simple answer, yes, but a 
most important one to understand. 


MacPaint 

What this Mac program did was to 
demonstrate for the first time a 
clear, utilitarian reason to use a 
mouse. MacPaint and the mouse are 
just made for each other,- it's a bril¬ 
liant combination. And the market¬ 
ing folks at Apple think so too : 
MacPaint is selling its fair share of 
Macs, all by itself. I won't bore you 
with the details, but if you want a 
good time, call your local Apple 
dealer and get a Mac demo. 

As for the importance of Mac¬ 
Paint on Macintosh, we'll return to 
that issue in a minute. 

Are Mice Good 
for Anything? 

Now that mice are so visible and 
are attracting even the mass-market 
consumer, the controversy over 
their usefulness has become some¬ 
thing just short of violent. 

On the one hand, Apple and 
others are arguing that a mouse 
makes it possible and simple to 
point at things and that this makes 
a computer easy to approach (be¬ 
cause we already know how to 
point) and to use (because we are 
such expert pointers, having had 
years of prior experience). This is a 
strong argument. To be convinced 
of this, just watch as a neophyte 
marches through the 10-minute 
Mac tutorial, gains confidence, then 
operates one of the Mac programs 
with moderate, if hesitant, facility. 

On the other hand, many 
people, especially those in the text¬ 
processing industry or those selling 
computers without mice, argue that I 


many of the tasks for which a com¬ 
puter is used are text- or number- 
oriented. In other words, typing is 
still essential and the mouse is no 
help at all. Furthermore, some ar¬ 
gue that a mouse in such circum¬ 
stances is actually detrimental, be¬ 
cause to activate a mouse-driven 
function the user must remove at 
least one hand from the keyboard 
and place it on the mouse,- such a 
move, they argue, is a distraction. 
These points are well taken. 

Is a mouse good for anything? 
My answer is yes. I think a mouse 
is perfect for two types of activities. 
First, it is terrific for graphics appli¬ 
cations as long as the resolution is 
not very high. The moderate reso¬ 
lutions of the PC and the somewhat 
greater resolution of the Mac are 
manageable,- the MacPaint software 
provides a zoom that allows dot-by¬ 
dot precision. Again, a MacPaint 
demonstration should remove any 
doubts that anyone might harbor 
about this assertion. 

I refer to the second activity as 
marking, and I define it as the act 
of identifying for the computer a 
"thing" upon which you would 
like the program to act. In a graph¬ 
ics application, for example, you 
might want a region tiled with a 
pattern or a section erased. You 
might identify the endpoints of a 
line or the corners of a box to be 
drawn. In a text application, you 
might mark words, sentences, para¬ 
graphs, or arbitrary blocks of text 
for removal, relocation, or special 
formatting such as underlining, 
bold, or italics. In a spreadsheet, 


August 1984 


5 









DIRECTIONS 


you might mark areas that need 
copying or recalculation. 

Nothing can beat the mouse for 
marking. This is almost a certainty 
for graphics applications, although 
other devices (joysticks, digitizers, 
trackballs) have been used for many 
years with much success. It is less 
obvious with text applications, but I 
think mice have equal application 
here as well. 

Menus 

There is one area in which I doubt 
that mice are effective, and it hap¬ 
pens to be the one use for which 
they have been most highly touted: 
pop-up/pull-down menus. 

Menus are highly desirable in a 
complex system that is used by a 
novice. Once the novice is trained, 
however, menus tend to slow 
things down. Many people have 
said that the use of a mouse avoids 
this problem, but here, for the first 
time in the controversy, I strongly 
disagree. And it is here that we can 
begin to see some of the problems 
associated with mice. 

Unlike the keyboard, which is 
a collection of discrete buttons in 
well-defined and regular positions 
(let's talk about the slash key some 
other time, folks), the mouse is al¬ 
most an analog device. It is easy to 
train yourself to home in on a con¬ 
trol key combination and eventu¬ 
ally to be able to do so without 
looking. If you are a touch typist, 
such training is even easier. With a 
mouse, however, you have to grasp 
the mouse, move the cursor to an 
appropriate position, and press a 
button. Simple? Yes, but it requires 
one thing that use of the keyboard 
does not: eye-hand coordination. 

I know what you're thinking. 
"We do that all the time! Piece of 
cake!" Well, I'm sorry, but you 
don't. Sure, if you are moving the 
cursor under the letters in a sen¬ 
tence it helps if you coordinate the 
activity visually. But there are 
many times when you quickly 
assess how many positions you have 


to move and then count them out 
without having to look. Try it 
sometime. Do you really watch to 
see if the cursor moves left three 
columns on the spreadsheet, or do 
you just instantly, almost without 
thinking, smash the left arrow key? 

And consider menus. Most 
well-built menu systems offer ex¬ 
pert options that allow the user to 
invoke the menu with a single key¬ 
stroke, spy the selection desired, 
and then, usually without looking, 
strike the next key to get the de¬ 
sired effect. That's why expert 
WordStar users can make things 
happen so quickly. In fact, even 
though its choices for keys are com¬ 
pletely obscure, WordStar has some 
well-considered human factors. 

How about the mouse? Can you 
count? No. It is imperative that you 
be looking all the time to verify 
that the movement of the cursor 
matches your intentions. Can you 
just pick off a menu selection? 

Nope. Again, you must carefully 
coordinate your hand movement 
with visual feedback to move the 
cursor to the right place on the list 
of choices. In short, the process is 
slow and tiring for the long haul. 

"But wait a minute, Will. If 
it's okay for marking, why not for 
selecting?" The answer is simple. 
Selecting requires precision move¬ 
ments at every step,- marking re¬ 
quires precision only at the begin¬ 
ning and end. No other technology 
I know (at the price, that is) offers 
the combination of precision and 
speed that marking requires. 

Performance 

One other consideration that will 
make or break mice has little or 
nothing to do with the mouse itself. 

For ultimate acceptance, a pro¬ 
gram using mice must make the 
mouse perform well. For one thing, 
the cursor must be rock-steady if 
the mouse is not moving, and mi¬ 
nor oscillations must be dampened 
or filtered out. For another, the cur¬ 
sor must move smoothly and with 


sufficient resolution that any point 
passed (for example, on a curve) can 
register. The cursor must never lag 
behind the mouse, so the driver 
software must be able to get the 
mouse movement to the cursor-up¬ 
date routine instantly. Finally, the 
cursor must move in real time, re¬ 
gardless of the state of the applica¬ 
tion program. 

Performance and responsiveness 
that meet these criteria will make 
mice an accepted peripheral on 
small computers, even when they 
are used in conjunction with text or 
numeric applications. 


You can get in touch with the edi¬ 
torial office of PC Tech Journal (in 
Baltimore) via The Source or Com¬ 
puServe. Absolutely no advertising 
or subscription business is con¬ 
ducted through these services! 

The Source: STY682 
CompuServe .- 74156,2365 
We consider messages received 
through these services as letters for 
publication unless they indicate 
otherwise. Mark mail as PRIVATE 
if you do not wish publication. 

—WE 


6 


PC Tech Journal 














Mainframe Quality FORTRAN-^ 
Symbolic High-Level Debugging 
... Complete Development Packages 

Genesis Microsystems has the complete solution for all your 8086-family development needs: 


FORTRAN 86 


PASCAL 86 


FORTRAN-77 

• Ideal for porting mainframe FORTRAN programs. 

• Arrays larger than 64K fully supported. 

• Use 8087 for 100X floating point improvement. Produces in-line 8087 code. 

• Meets the full ANSI FORTRAN-77 subset specification—no surprises. 

• Link to MS-DOS EXE file or locate for burning PROMS for a target system. 

GeneScope® Debugger 

• Debug with GeneScope, our full-screen, symbolic, high level debugger. It features line 
numbers, public and internal symbols, macros, help, program patching, and viewing your 
source or listing while debugging. GeneScope saves your program’s display so you can debug 
full-screen and graphics applications. 

• GeneScope supports our languages and most other MS-DOS languages. 


Other Products 

• Quality PLM86, PASCAL, C86, and ASM86 from Intel also 
available. All produce in-line 8087 code and debug 
symbols for GeneScope; most support new 80186 in¬ 
structions. In-circuit emulation for 8086, 8088, 80186 
and 80188 coming soon. 


Run on IBM-PC, XT, Compaq, TI Professional, DEC Rain¬ 
bow, or IBM compatibles with 192K memory. 



196 Castro Street, Mountain View, CA 94041 
(415) 964-9001 Telex: 4998093 GENMS UI 


CIRCLE NO. 142 ON READER SERVICE CARD 

INTERNATIONAL DISTRIBUTORS • Instrumatic: Deutschland-Munchen, Tel. 89/85 20 63 • Espana-Madrid, Tel. 1/250 25 77-Malaga, Tel. 5/221 38 98 • Schwelz-Rueschlikon, Tel. 1/724 14 10-Geneve, Tel. 022/36 08 30 
• United Kingdom—High Wycombe, Tel. 494 450 336 • Israel—Savyon: Micro-Bit, Tel. 03-380098 • Japan—Tokyo: Asahi Business Consultant Co., Tel (03) 543-3161; Showa System Laboratory, Tel. (03) 361-7131. 








What do you get when you cross 
1200 baud, free on-line time, 
and extra features at a price Hayes 
can’t match? 


Shopping for a modem 
doesn’t have to be a riddle. A 
tedious sifting through claims 
and counterclaims. A quest 
for the best that raises more 
questions than it answers. 

The new MultiModem, 
from Multi-Tech Systems, 
gives you the right answers 
from the start. The answers to 
all your questions about what 
a first-rate intelligent modem 
should do for you. 

Data Transmission 
Speed? 

The MultiModem gives 
you a choice—either 1200 or 
300 bits per second. 1200 for 
fast, efficient communications 
and lower long-distance 
charges. Like when you’re 
downloading data from the 
corporate computer, or swap¬ 
ping files with a friend across 
the country. 300 bps for your 
less demanding applications, 
like checking out bulletin 
boards, playing games, or 
having on-line keyboard 
conversations. 

Free On-Line Time? 

With the MultiModem you 
get CompuServe’s DemoPak 
—a free two-hour demonstra¬ 
tion of their service, and up to 
seven more free hours of on¬ 
line time if vou subscribe. You 
also get a $50 usage credit 
from NewsNet, a service 
which lets you tap into 150 
different specialized business 
newsletters. 

Intelligence? Extra 
Features? 

Of course, the Multi- 
Modem automatically dials, 
answers, and disconnects. 

But it does a few extra things 
too, things the Hayes Smart- 
modem 1200™ doesn’t. Like 
recognize dial tones and busy 
signals, so the MultiModem 
will automatically redial, or 
automatically try a different 
number. And it remembers 
phone numbers too, up to six 
of them, in its battery-backed 
memory. 

Trademarks— MultiModem. MultiCom PC: Multi-Tech 
Systems. Inc —CompuServe: CompuServe Information 
Services, anH&RBlock company—NewsNet: NewsNet. 
tnc.—Smartmodem: Hayes Microcomputer Products. 

Inc —Crosstalk: Microstul. Inc —Data Capture: Southeast¬ 
ern Software — PC-Talk III: FreewarelThe Headlands Press. 


MultiModem. 


Hayes-compatibility? 

Yes, the MultiModem is 
Hayes-compatible. (Most soft¬ 
ware requires modems that 
are.) That means the Multi- 
Modem will run with popular 
communications programs 
like Crosstalk XVI, Data 
Capture, PC-Talk III, our own 
MultiCom PC, and dozens of 
others. 

What About Price? 

At $549, the MultiModem 
retails for $150 less than the 
Smartmodem™. You get 
Hayes-compatibility and so 
much more—for so much 
less. 


What do you get when 
you cross all these things? 

The MultiModem. From Multi- 
Tech Systems—a company 
that’s been making top-quality 
modems for over thirteen 
years. 

Isn’t this the answer 
you’ve been looking for? 

CIRCLE NO. 204 ON READER SERVICE CARD 



For the name of your 
local distributor, write to 
Multi-Tech Systems, Inc. 

82 Second Avenue S.E. 

New Brighton, Minnesota 55112. 
Or call us at (612) 631-3550. 


Multi lech A 

Systems 

The right answer every time. 




The new HERCULES 
Cote Card 
gives you the 
parallel port 
IBM foigot-for 4 more. 


And it fits into the XT’s short slot. 

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

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

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

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

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

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

IBM’s color card. 

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

Hercules. We’re 
strong on graphics. 
800 255 5550 Ext. 423 



Address: Hercules, 2550 Ninth St, Berkeley, CA 94710 Ph: 415 540-6000 Telex; 754063 Features: 2 year warranty Foreign distributors: 
Compuserve/Canada; Reflex/U.K.; Computer 2000/W. Germany; Edisoft/France; Source Ware/Australia. Trademarks/Owners: Hercules/Hercules 
Computer Technology; IBM/International Business Machines. 

This price comparison is based on the Suggested List Price as of2.22.84 for the IBM Color Graphics Adapter. 


Here are two beautiful ways to get small 
computers on line with the mainframe 
quickly, easily and economically—yours 
from DCA, home of the industry’s first co¬ 
axial cable links between small computers 
and IBM 3270 networks. 

IRMAis the Decision Support Interface™that gets IBM Personal Computers and IBM 
PC XTs into the 3270 mainstream via direct attachment to 3274 or 3276 controllers. 

IRMA, IRMALINE, and Decision Support Interface are trademarks of Digital Communications Associates, Inc. 


IRMA and IRMALINE. 


Ilie DCA family connections that help 
small computers think big. 



MAIN 

FRAME 


3705 r0^-fS- 


IBM 

3274 


< 

IBM 

cr 

PC 


3!?“ 


L- 




< 

IBM 

DC 

PC 
















































IRMALINE does the same for remote IBM PCs, IBM PC XTs, Apple Lisas and DEC 
Rainbows, among others, with just a local phone call to a nearby 3270 controller. 

Both can go to work literally minutes out of the box. Both provide mainframe data 
access, selection and storage, and data communication back to the mainframe. 

Put first things first. Find out more about the DCA first family of 3270 micro/main¬ 
frame connections. For information, write DCA, 303 Technology Park, 

Norcross, Georgia 30092. Phone (404) 448-1400, TLX 26133 3 ■ 

DCA ATL. Or call us toll-free (800) 241-IRMA. 

The new home of IRMA, IRMALINE and the rest of the TAC family. 


Digital Communications Associates. Inc 
CIRCLE NO. 444 ON READER SERVICE CARD 


IBM PC and IBM PC XT are trademarks of International Business Machines Corporation. Apple and Lisa are trademarks of Apple Computer, Inc. Rainbow is a trademark of Digital Equipment Corporation 





get the results you 


of us, you bought 
r IBM PC/XT to 
a few simple 
But with the 
e, the PC can 


demand: 




Mainframe-quality solutions 
for your PC 

With MDBS III and your PC, you 
can build mainframe-quality 
application systems. Integrated 
accounting systems. Order entry. 
MRP. Job costing. Library 
management. Banking. Logistics. 

To name a few. 

MDBS III is the most advanced data 
base management system running 
under PCDOS, MSDOS, CP/M-86 
and MP/M-86. In fact, many have 
said it’s the only authentic DBMS 
available on 8 and 16 bit 
microcomputers. MDBS III provides 
many facilities otherwise available 
only on mainframe DBMSs. 

MDBS III allows application 
developers to define data base 
structures in the most natural and 
logical way, without resorting to 
redundancy to describe data 
relationships. Its truly innovative data 
structuring capabilities surpass but 
also accommodate the older 
relational, hierarchical and 
CODASYL-network architectures. 
That means power for your PC and 
flexibility for you. 

How to get the most from 
your PC 

Get MDBS III and get more of what 


• Post-relational, extended network 
modeling of real-world data 
relationships for truly integrated 
application systems 

• English-like non-procedural query 
language for spur of the moment 
questions 

• Report generator for quickly 
specifying customized reports 

• Automatic guarantees of data and 
relationship integrity 

• Recovery and restart capabilities for 
physical data protection 

• Active and passive locking down to 
the record level, supporting up to 127 
simultaneous users 

• Redundancy and chaining 
eliminated, plus full data compression 
for optimum efficiency 

• Data independence for easy 
maintenance 

• Compatibility with all major 
programming languages for flexibility 
and convenience 

• Encryption and access protection 
down to the field level for 

unparalleled data security 

• Fine-tuning features for optimizing 
performance 

• Compatibility with SCREEN 
MASTER, the PC’s most 

comprehensive screen management 
system 

• Interface to Knowledge Man, the 
first system to integrate third 
generation spreadsheet and relational 
data management 

So if you want to improve your 
productivity and your PC’s 
capabilities, get MDBS III. 


u 

De 

Re 


Call 800-323-3629 today. 

Please send me the following: 

□ Set(s) of documentation, including 
MDBS III manual and Data Base Primer 
and Guide for $90.00 each plus $10.00 
shipping and handling per set.* (Regular 
price is $100.00) 

□ Set(s) of “How to Evaluate and Select 
a DBMS” for $5.00 plus $1.00 shipping 
and handling.* 

□ Professional Training Course Information. 

□ Please have a MDBS/Application 
Development Products Account 
Representative contact me. __ _ 


□ MDBS III information. 

♦Prices subject to change without notice. 
Illinois residents please add 6% sales tax. 

Name_ 

Company_ 

Address_ 

City_ 

State _ Zip_ 


Card No. - 

Expiration Date 
Bank No. if MC 
Signature_ 


© Mi 

V' 


Phone ( )_ 

We accept VISA, MASTERCARD and 
American Express _ 


SFBT7XX 

Micro Data Base Systems, Inc. 
Application Development 
Products 

(312) 981-9200 
85 W. Algonquin Road-Suite 400 
Arlington Heights, IL 60005 

MDBS III. KnowledgeMan and SCREEN MASTER arc trademarks 
of Micro Data Base Systems, Inc.; PCDOS. and PC/XT are 
trademarks of IBM.; MSDOS is a trademark of MICROSOFT.; 
CP/M-86 and MP/M-86 are trademarks of Digital Research. 


I 
I 

I 

-I 


CIRCLE NO. 118 ON READER SERVICE CARD 



























FOR THE IBM® PC, IBM - XT. COMPAQ™ 

CORONA™ CORONA™ PORTABLE. LEADING EDGE,' 5 EAGLE PC.* TAVA.™ 


We’ve turned 
hard disk storage into 
an affordable reality. 





Half-height 
5 Mbyte removable 
hard disk system. 

Allows easy primary 
or backup storage 
through inter¬ 
changeable disks. 


floppy disk system. 

Coming Soon 



Half-height streamer 
tape system. Ideal data 
backup system for 
large-scale 
storage. 


$1095 


Half-height 10 
Mbyte internal hard 
disk system. 


$895 i V- mm. Half-height external 

hard disk system (10, 

20, or 33 Mbyte). Also 
accommodates 
half-height backup 
system. 

$1295-$2295 

Kamerman Labs combines the speed and storage capacity 
of hard disk technology with prices you can’t afford to pass up. 

technology without the excessive 
costs. 

Tested and formatted. 

All Kamerman Labs systems have 
been thoroughly tested and formatted 
before delivery. 

Full warranty and technical 
support. 

Lower prices than ever. Kamerman Labs backs all its prod- 

Because you deal directly with 
Kamerman Labs, we offer you re¬ 
markably low prices. Finally, you can 
realize the full benefits of hard disk 


A dramatic leap in performance for 
your personal computer. 

Even the smallest Kamerman Labs 
hard disk unit gives you 30 times the 
storage capacity of a typical floppy 
disk. Sophisticated business and pro¬ 
fessional data storage requirements 
can now be handled with ease. 

Better yet, you can access data up 
to 10 times faster than with floppies. 
Spend more time working and less 
time waiting. 

And it’s easy to use. Kamerman 
Labs lets you boot directly off the hard 


disk, just like the IBM XT. 

A complete backup solution. 

Backup of hard disk data is a critical 
requirement in many microcomputer 
applications, so Kamerman Labs 
offers several reliable and cost- 
effective backup devices that are fully 
compatible with our hard disk units. 


IBM is a registered trademark of International Business 
Machines Corp. 

Compaq is a trademark of Compaq Computer Corp. 
Corona is a trademark of Corona Data Systems. 


Leading Edge is a registered trademark of Leading Edge 
Products. Inc. 

Eagle is a registered trademark of Eagle Computers. 
TAVA is a trademark of TAVA Corporation. 



Kamerman 


ucts with a full one-year warranty on 
both parts and labor. Plus you get 
prompt technical support through a 
toll-free hotline number. 

To order, call toll-free 
800-522-2237. 

In Oregon, Hawaii and Alaska call 

503-626-6877. 

All Kamerman Labs units come in either internal or external 
configurations. 


Labs 


8054 S.W. Nimbus, Bldg. 6, Beaverton, Or 97005 

Phone 503-626-6877 


CIRCLE NO. 101 ON READER SERVICE CARD 












PORTABLE'S COMPLAINT 

I purchased an IBM PC Portable and 
had to return it because of its limita¬ 
tions. IBM states that the following op¬ 
tions, if used, must reside in slot num¬ 
ber two: 64/256K memory expansion 
option; IBM PC cluster adapter,- expan¬ 
sion unit 001 hard disk. 

Therefore, if you want the hard 
disk you cannot have more than 256K 
of memory, i.e., no PC/IX UNIX or 
any program using more than 256K. 

The IBM Product Center refunded my 
money and I have ordered a PC/XT. 

Peter A. Hanson 
Arlington, TX 

The Best of Timers 

I am writing to thank Bob Smith and 
Tom Puckett for their wonderful arti¬ 
cle, "Life in the Fast Lane" (April 1984, 
page 62). Like me, hundreds of others 
should find useful applications for the 
technique the article explained so well. 
After all, time is one of the fundamen¬ 
tal units of measure. 

The technique the authors de¬ 
scribed served me well in the following 
application. I needed a way to produce 
a repetitive event at a smooth rate of 
once every one-hundreth of a second. 
Using only the BIOS timer it was not 
possible to repeat the event smoothly 
because of the lower resolution of the 
timer. Using the low-order extension 
from the programmable interval timer, 
it was possible to regulate repetitive 
events even at speeds nearing CPU ex¬ 
ecution speeds. 

The alternative method of using 
carefully designed delay loops for tim¬ 
ing purposes has a number of disadvan¬ 
tages. The two main ones are the 
inability to do any other useful work 
while the delay loop is executing, and 
the fact that external interruptions take 
time, too, and cause the delay loop to 
delay longer than expected. 


This timing technique is going to 
remain near the top of my program¬ 
ming toolbox. Thank you for bringing 
it to all of us. 

Robert B. Stam 
Jackson, MS 

The Facts on muLISP 

In "The PC Speaks LISP" (William G. 
Wong, April 1984, page 112), there are 
several factual errors: 

-muLISP runs not only under PC- 
DOS but on any computer running the 
MS-DOS operating system (for example, 
Zenith Z-100, TI Professional, Compaq, 
etc.). However, muLISP does not run 
under CP/M-86 as stated in the article. 

-D-code reduces the size of user- 
defined muLISP functions by 50 to 60 
percent (making them more than twice 
as dense as a linked list) rather than 
"by 20 to 35 percent" as stated in "The 
PC Speaks LISP." 

-muLISP uses two stacks (a vari¬ 
able stack and a control stack) rather 
than three. The control stack uses the 
8086/88 hardware stack to store refer¬ 
ences to d-code and return addresses. 

Albert D. Rich 
Applied logician 
The Soft Warehouse 
Honolulu, HI 

Mr. Rich also pointed out in his letter 
that the correct address for The Soft 
Warehouse is P.O. Box 11174, Honolulu, 
HI 96828; and for Microsoft, 10700 
Northup Way, Bellevue, WA 98009. He 
further observed that the current ver¬ 
sion of muLISP resolves many of the de¬ 
ficiencies described in the article. The 
newer version, muLISP-83, will be con¬ 
sidered for review at a later date. 


Mouse Tale Revised 

The Mouse Systems software reviewed 
in "A Tale of Two Mice" (Jeff Dunte- 
mann, April 1984, page 150), was ver¬ 
sion 2.0A. We released a new version, 
3.0 on February 15, 1984. Some prob¬ 
lems mentioned in the review were 
fixed in the new version. 

The reported difficulties with some 
asynchronous communications adapters 
have been addressed with the new re¬ 
lease of the mouse software. We are 
now able to work with more PC system 
configurations containing nonstandard 
communications ports or modem cards. 
We have been unable to test the new 
software on an Ultraboard, but we be¬ 
lieve that even if the Ultraboard port 
does not work as a mouse port, another 
port in such a system will work as ei¬ 
ther COM1: or COM2:. 

The jumpy cursor problem in the 
Microsoft Mouse emulator, MSMOUSE, 
has been fixed. We have not had a 
problem with high-resolution mode. 

There was some confusion about 
the Microsoft and Lattice C compiler 
interface information for MouseWin- 
dow being available by request from us. 
The interface information is for 
MSMOUSE and is included in the cur¬ 
rent manual. Users with earlier ver¬ 
sions of the product can get the infor¬ 
mation from us at no charge. 

We released a new version of 
MouseWindow, 2.0, in April. One new 
feature of MouseWindow is language 
support for the Microsoft and Lattice C 
compilers. Numerous other features 
have been added, including automatic 
cursor tracking, event queue processing, 
color support, and additional graphics 
adapter support. 

The problem of garbage appearing 
on the screen while moving the mouse 
in WordStar is a WordStar "feature." 
WordStar apparently cannot handle 
large amounts of repeated cursor move- 


14 


PC Tech Journal 












Do it yourself! 



When developing effective applications 
for the PC is a matter you want to take 
into your own hands, first get your 
hands on the APL^PLUS®/PC System 
from STSC. This unique application de¬ 
velopment tool gives you the power to 
deliver totally integrated, highly efficient 
solutions to problems that conventional 
software simply can’t handle. 

The APL^PLUS/PC System is the 
most advanced application development 
system available today And it includes 
enhancements for the professional, 
hobbyist, or novice programmer. 

—Advanced screen management 
facility with windowing and scrolling 
features. 

—Complete on-line HELP facility for 
novice users. 

—Powerful communication capability 
for moving data between computers. 
—Comprehensive color graphics 
capability ; and much more. 

Because of the efficiency of the 
APL^PLUS/PC System, you can devel¬ 
op programs 4 to 10 times faster than 
with conventional languages like BASIC 
or FORTRAN. And the system can be 
integrated with other applications 
you’ve already bought, or used to link 
those that aren’t speaking to each other. 
It doesn’t demand that you abandon 
those skills you’ve learned or the soft¬ 
ware you’ve come to love. But it does 
enhance your programming power, so 
you can do what you do even better! 

Get the advanced capabilities of the 
APL^PLUS/PC System foronly $595.00, 
a valuable investment when you can have 
things done your own special way. To 
order the APL^PLUS/PC System see 
your local dealer or contact STSC, Inc., 
(800) 592-0050, 2115 East Jefferson 
Street, Rockville, Maryland 20852, 

(301) 984-5030 (Call collect). 

CIRCLE NO. 208 ON READER SERVICE CARD 


STSC 

A Contel Company 

The APL^PLUS/PC System runs on the IBM PC with 192 
KB of RAM. as well as on a number of compatible ma¬ 
chines. 


APL-A-PLUS is a service mark and trademark of STSC, Inc., 
registered in the United States Patent and Trademark Office 
and in certain other countries. 







PROGRAMMER’S 
DEVELOPMENT TOOLS 
AND ACCESSORIES 


IBM Personal Computer 
Language and Utility Specialists 


OPERATING SYSTEMS: 


UnX-ll IDS Requires 10 MB hard disk. $895 CALL 
Concurrent DOS DRI New 350 CALL 

X-shell SDC UNIX enhancement for PC-DOS 225 205 

Concurrent CP/M-86 DRI Multitasking 350 249 

(Call for CP/M-86 products) 


LANGUAGES: 


Lattice C. Compiler New LOW Price $500 299 

PASCAL Compiler Microsoft 350 255 

Pascal MT + for PCDOS DRI 600 409 

ADA + Tools Janus 700 499 

C-86 Computer Innovations SALE 395 299 
DeSmet C Compiler with Debugger 159 145 
BASIC Compiler Microsoft 395 275 

Professional BASIC Morgan Computing 345 295 

Level II Cobol DRI 1600 1189 

Fortran Compiler Microsoft 350 249 

Assembler Plus Tools DRI 200 159 


*** STSC APL*Plus/PC *** 

We can support you! 

Complete demonstration package with 
diskette for $5, refundable with purchase. 
Total APL system including character 
generator chip. 

Manufacturer List $595 Our Price $540 


Break Free of BASIC’s 64k Workspace 
Limitations Without CHAINING. 

**** APC MEGABASIC **** 

Extend BASIC addressable workspace 
to 1 Megabyte. 

Extremely fast run-time semi-compiler. 
Manufacturer List $400 Our Price $349 
30 Day Money Back Guarantee! 
Translator for PC BASIC to MEGABASIC 
available. 


UTILITIES: 


CodeSmith-86 Debugger Visual Age $145 129 
Profiler DWB & Associates New 175 149 

Btrieve SoftCraft 245 205 

Windows For C by Creative Solutions 150 119 
Translator APC PC-BASiC-to-MEGA BASIC 195 175 

0PT-TECH Sort High Performance Utility 99 87 

C Functions Lib. by Greenleaf Software 175 159 
AKA ALIAS Soft Shell Technology 60 57 

Float-87 8087 Software Support 125 110 

Panel Screen Design/Editing 350 299 

C-Food Smorgasbord 150 119 

Halo Color Graphic Utilities by Lattice 200 159 

Plink-86 Overlay Linkage Editor 395 315 

MetaWINDOW LISA-Like Windows for PC 150 139 


PROGRAM EDITORS: 


Pmate Phoenix Programmer's must! $ 225 175 

micro/SPF Digital Research 450 359 

VEDIT CompuView 150 119 

CALL FOR~LOW~lPRICES 
ON OTHER PRODUCTS 

Quantity Discounts Available! 

■^ST Mi Visa/MC 
H SiiB NO EXTRA CHARGE 

Account is charged when order is shipped 


For orders call: 


1-800-336-1166 


Programmer’s Connection 

O 281 Martinel Drive 
* - Kent, Ohio 44240 

(216) 678-4301 (In Ohio) 

“Programmers Serving Programmers” 


LETTERS 


ment. The mouse software can generate 
keystrokes faster than the "auto-repeat" 
feature of the standard IBM keyboard 
handler. We are investigating ways to 
provide the option of limiting the 
mouse keyboard input rate in order to 
work better with WordStar and other 
programs that cannot handle high vol¬ 
umes of keyboard type-ahead. 

Eileen S. Milligan 
Customer Service Manager 
Mouse Systems 
Santa Clara, CA 

Thanks for your recent article "A Tale 
of Two Mice," which was of great in¬ 
terest to us at LOGITECH. I would like 
to commend you on several points and 
correct you on one or two others. 

I appreciated your enthusiasm 
about the mouse, which is the easiest 
input device to use and the most effi¬ 
cient way to position the pointer on the 
screen. I also appreciated your observa¬ 
tion that Microsoft should be the stan¬ 
dard for mouse interface software. We 
agree and have developed a driver for 
our mice that makes them completely 
Microsoft-compatible. 

I must take issue with your de¬ 
scription of the Microsoft Mouse, how¬ 
ever. You describe a mouse that uses 
mechanical tracking and optical decod¬ 
ing—a perfect description of the opto¬ 
mechanical LOGIMOUSE. Microsoft's 
mouse is electromechanical, a disadvan¬ 
tage for both wear and tear and resolu¬ 
tion. The optomechanical LOGIMOUSE 
mouse can be guaranteed for more than 
three times the mileage and more than 
twice the resolution of any other mouse 
on the market. 

You describe the Xerox mouse as 
looking "complicated and fragile" in¬ 
side. Please look inside our mouse. We 
are proud of how elegantly simple and 
rugged it is inside and out. 

Thanks again for your article. We 
will look forward to more mouse news 
from you in the future. 

Pierluigi Zappacosta 
President 
LOGITECH, Inc. 

Redwood City, CA 

Disk Drive Dilemma 

As a charter subscriber to PC Tech Jour¬ 
nal and a long-time IBM PC owner, I 
am now faced with the necessity of re¬ 
placing the single-sided disk drives in 
my unit with double-sided ones. In the 
process of deciding how to do this I 
made a surprising discovery. 

Apparently the major manufactur¬ 
ers of floppy disk drives have never ad¬ 


vertised in any of the half-dozen com¬ 
puter magazines I receive, nor have 
their products ever appeared in new 
product announcements. I have spent 
several hours searching for mailing ad¬ 
dresses for Tandon, Teac, and Panasonic 
without finding any. They also do not 
appear in my National Directory of Ad¬ 
dresses and Telephone Numbers or the 
Industrial Research and Development 
Telephone Directory. 

The nearest computer dealer from 
here is a 60-mile round trip or a $2 toll 
call, so I depend on magazines and mail 
order. The mail-order houses' advertise¬ 
ments list a bewildering variety of part 
numbers with no descriptions, and the 
girls at the 800 numbers know nothing 
about what they mean. I haven't seen 
any detailed articles on the selection 
and replacement of PC disk drives. 

It seems that you could provide a 
real service to your readers if you 
would: (1) publish articles devoted to 
the disk drive replacement problems 
that must affect thousands of people 
who purchased the original IBM 
complement of equipment; (2) publish a 
personal computer industry directory 
with names, addresses, and telephone 
numbers of all major suppliers of PC- 
related equipment so people like me 
can write for detailed product descrip¬ 
tions and catalogues. 

I am sure many of your readers 
would find this information useful. 

Michael W. Csontos 
Lima, NY 

The manufacturers of diskette drives 
usually do not advertise their wares di¬ 
rectly. Instead, third-party distributors 
make the products available. You will 
find a number of such companies repre¬ 
sented in the advertisements in this 
issue of PC Tech Journal. 

A number of buying guides have 
been published, including our own PC: 
The Buyers Guide. You can get your 
own for $7.95 (plus $1 shipping and 
handling, $13 outside the U.S.). You 
will find it in many book and computer 
stores, or write PC: The Buyers Guide, 
P.O. Box 555, Morris Plains NJ 07950. 

—WF 

"Missed the Mark, Chaps" 

I read your magazine here in the good 
old U.K. with the greatest of interest, as 
we have nothing to match it for in- 
depth technical content about all things 
related to the IBM PC. It was therefore 
with great amusement that I read your 
comments on the micro market in the 
U.K. ("The Tech Journal Newsline," 


PC Tech Journal 


CIRCLE NO. 226 ON READER SERVICE CARD 

































Can Your Word Processor 



It can if you have 
WordPerfect! 


Try this test. While using 
your favorite word 
processor, put the c 
in the middle of a 
paragraph, turn 
insert on, 
and type. 

Surprisingly, 
very few of the 
leading word 
processors can keep 
up with 70, 60, or even 50 
words per minute. WordPerfect 
keeps up easily at speeds well 
above 100*. 


Delays are very frustrating, and 
frustration can easily lower the 
quality of your writing. 

Try WordPerfect. 


Keep Up With Your 100 
WPM Typist? 


Now, maybe this doesn’t matter 
to you, because you don’t type 
100 or even 50 WPM. But you 
still don’t want to wait forever to 
go to the beginning of your 
document, go to page 5, save 
your document, or add a 
paragraph. 

At SSI anything less than fast is 
unacceptable. And not just 
because time is money, or 
because wasting time is foolish. 



You’ll love it- 
not only for the 
features we’ve b 
but also for the 
delays we left 
out. 


*Based on tests performed 



an IBM PC 


CIRCLE NO. 263 ON READER SERVICE CARD 


SATELLITE SOFTWARE INTERNATIONAL 


288 WEST CENTER STREET, OREM, UTAH 84057 (801) 224-4000 TELEX 820-618 




















Treasure Chest of Software 
jrCaptain and IstMATE 



TEGVMR 


the power behind the PC™ 





with Tecmar’s Captain, 


multifunction boards 




Your PC can finally do all those wonderful things you’ve 
dreamed about — with the Treasure Chest of Software. 
Eliminate the need for many desk top accessories when you 
discover Tecmar’s new easy to use software technology. 
With the press of a key you access many Treasure Chest 
programs without having to exit from a program you are 
now using. This Treasure Chest of Software gives your PC 
more power for: 

Information Management 

•Calculator 
•Sorting Program 
•Electronic Rolodex* 

•Mailing List 
•Electronic Notepad 

• Forms Generator - create 

letters, labels & reports 

Time Management 

• Appointment Alert 
•Calendar Generator 
•Automatic Time and Date 

System Improvements 
•Background Printing - frees 
PC for other work 

•Disk Simulator in RAM •Rolodex is a trademark of The Rolodex Corp. 

You’ll never want to turn your computer off once you ex¬ 
perience the ease of use, efficiency and enjoyment of the 
Treasure Chest of Software. 


Hardware Diagnostics 
•Memory Diagnostics 
•Printer Diagnostics 
•Clock-Calendar Diagnostics 

Information Security 
•Confidential File Coding 

Use at Home 

•Checkbook Balancer 
•Inventory Management 
•Banner Generator - prints 
letters 4.5 inches tall 
•Tic-Tac-Toe 
•and more ! 

INTRODUCTORY OFFER 


For the IBM PC: Captain & IstMATE 



• 0 to 384 KBytes of Memory on • Clock-Calendar with battery 

the Captain Board • Serial Communications Port 

• 0 to 256 KBytes of Memory on • Parallel Printer Port 

the IstMATE Board • Treasure Chest of Software 


for the PQ'r: theJrCaptain 



• 0 to 128 KBytes of Memory • Clock-Calendar with battery 

• Upgrade to 512 KBytes with • Parallel Printer Port 

addition of jrCadet Board • Treasure Chest of Software 


Tecmar, Inc. 6225 Cochran Road Solon (Cleveland), Ohio 44139-3377 
Phone:(216)349-0600 Telex:466692 


CIRCLE NO. 154 ON READER SERVICE CARD 



All The Power & Performance You Can Handle 
In One Exceptional Multi-Function Board. 


W hen it comes to getting more usable features, greater 
performance, and better benefits into—and out of— 
your IBM Personal Computer... Rio Plus II is the very 
best multi-function board you can buy. Why? Because 
the Rio Plus II includes the very best 
features of two power-packed 
multi-function boards (the Rio 
Plus, and Super Rio)—conveniently 
built into one. Without a bet, the 
Rio Plus II offers the most complete 
one slot answer to your need for 
greater memory and additional 
ports. 

"Pack" The Odds In Your Favor 

Now, you can have almost everything you want or need. 

All in one slot. Rio Plus II gives you: One or two serial ports; 
a parallel port; an IBM compatible game port; the ‘PC 
Accelerator' software (offering emulation of two RAM disks 
and a parallel print buffer); a battery operated clock calendar 
(remembers date/time even with PC turned off); and 
additional memory of up to 384K. 

Using the RS-232C serial ports, you can easily connect 


mice, modems, plotters, (serial) printers, or other necessary 
peripherals. With the parallel port, youll be able to operate 
any IBM compatible (parallel) printer, or SASI (Shugart 
Associates Standard Interface) hard disk 
controller. And courtesy of the PC Accelerator™, 
you get printer buffering and RAM disks which 
can even survive a warm boot. (For example, do 
an ordinary reset, and all the data entered on 
both RAM disks will still be there. Every time.) 

The Winning Combination 

Rio Plus II is totally software compatible with 
IBM’s hardware adapter boards. And, the Rio Plus 
II saves you time, money, slots... and hassle. 

Youll have additional memory and functions 
available— exactly when you need them. At a 
price that’s very competitive. And just think what you can do 
with all the other slots. 

Rio Plus II. The only (card) game in town that consistently 
lets you win big. See your local dealer for the inside story. Or 
call or write STB Systems, Inc., 601 North Glenville, 
Richardson, Texas 75081 (214) 234-8750. 

CIRCLE NO. 200 ON READER SERVICE CARD 




STB Systems, Inc. 



Expanding Microcomputing 


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


PC Accelerator is a registered trademark of ResiCorp. 













LETTERS 


Sol Libes, March 1984, page 28). I am 
afraid that, although you get top marks 
for most areas, you missed the mark by 
a long way in this short article. 

Yes, IBM PCs are primarily sold to 
the business user. No, they are not all 
used as terminals to large mainframes 
(some are). Most are used with produc¬ 
tivity software such as Lotus 1 -2-3, Mul¬ 
tiplan, and Multimate, or in small com¬ 
panies for sales ledgers, etc. 

No, the Sirius machine (Victor 
9000) is not the most popular desktop 
system. That place is almost certainly 
occupied by the IBM PC. The reason it 
is reported otherwise is that only sales 
via retail outlets other than IBM retail 
centres are included in published fig¬ 
ures, which exclude all sales via IBM's 
VPA program and via IBM retail cen¬ 
tres—a substantial number of the total 
IBM PC sales in this country. 

Yes, we have active PC User 
Groups, the largest of which has active 
branches all over the country. 

Yes, most of the packaged general 
application software is U.S.-produced 
(most U.K. software tends to be vertical 
market packages). No, it does not take 
typically six months before packages be¬ 
come available,- the mainline software 
tends to hit our shore within a month 
of it being actually available in the U.S. 
(a la Lotus, Microsoft, Ashton-Tate, Mi¬ 
crorim, MicroPro). I stress the actually 
available software as there seems a ten¬ 
dency in the U.S. to pre-advertise soft¬ 
ware heavily. The only notable excep¬ 
tion to this availability is IBM itself. 

Of all the statements in this arti¬ 
cle, the most misleading was that the 
Apple /// is more popular than the Ap¬ 
ple He. You obviously have not talked 
to Apple on this one (or if you have 
they gave you the wrong information). 
The Apple He outsells the Apple /// 
by at least fifty to one. 

I hope that this letter is taken the 
way it is meant. It is just that there ap¬ 
pears to be an epidemic of articles in 
U.S. magazines stating how backward 
in the micro field we are in the U.K. 

C. Budgen 
P&P Micro Distributors 
London, England 
San Jose, CA 

Mathematical Notes 

Upon reading Michael Linley's reply 
(February 1984, page 22) to Amr Raz- 
zak's letter (November/December 1983, 
page 26) complaining about the hexa¬ 
decimal notation used in "The IBM 
Color/Graphics Adapter" (Thomas V. 
Hoffman, July/August 1983, page 26), I 



KEYSWAP, =PROKEY* 
+10 NEW FUNCTIONS 


\ 



KEYSWAP is the most advanced Macro Processor 
available for the IBM PC* * - including ALL of 
PROKEY’s* functions and many more! 

KEYSWAP creates yet another dimension in 

USER FRIENDLINESS. 

In addition to the standard 
macro features, the user can: 

Create custom Help Menus that can 
be recalled from within any program. 

Create “lessons” that can be played back at 
variable speed for tutorial or demo purposes 

Create AND MODIFY macros at ANY time without 
affecting the applications program 

Create a single macro definition as large as 64K 

Redefine ANY keys (i.e. shift) or define ANY macro 
character 

IMAGINE: automatic time and date display; fixed 
and variable definition fields; audible feedback on 
toggle keys; alternate cursor control selection; and 
many more features! 

KEYSWAP - State of the Art keyboard utility software. 

PRICE 

$119.00 (Money back guarantee) 

MA res add 5% sis tx 

FOR ORDERS OR INFO CALL OR WRITE 
(Call for special introductory offer) 

RICKERDATA 

PO BOX 998 MELROSE, MA 02176(617) 662-0856 
MC & VISA ACCEPTED 

•Registered Trademark RoseSoft * ‘Registered Trademark IBM 

CIRCLE NO. 150 ON READER SERVICE CARD 





August 1984 


21 





















SOFTWARE DEVELOPERS 


LESS THAN $400 WILL TURN 
YOUR PC INTO A POWERFUL 
DEVELOPMENT WORKSTATION. 



Until now, software developers who 
wanted the power of high-priced develop¬ 
ment systems had to pay a high price for it. 
There was no choice. 

Now, there’s a solution.. .whether you’re 
developing programs to run on minicom¬ 
puters or micros, and regardless of what 
target operating system you’re using. 

If an IBM® PC, PC XT™, or compatible is 
part of your development environment, the 
uNETix Software Development ToolKit will 
increase your productivity. 

LANTECH SYSTEMS has put an end to 
the “no choice” problem with a collection 
of powerful software products which make 
your PC a versatile, but low cost develop¬ 
ment workstation. 

The uNETix Software Development Tool- 
Kit contains: 

• uNETix SFS —the powerful multi-tasking, 
UNIX™ compatible operating system, 
which is at the heart of the LANTECH 
SYSTEMS product line. The unique “Win¬ 
dow Management” feature provided with 
uNETix allows easy integration of applica¬ 
tions software and permits data to be 
moved between various window processes 
(such as the Emulator or Editor described 
below). 


• VT100® Terminal Emulator (VTTY) — 
permits up-loading and down-loading of 
data between your PC and a larger mini 
or mainframe computer. This function, of 
course, means that larger-scale develop¬ 
ment tasks can be run on more powerful 
machines, while permitting you to pro¬ 
cess other tasks locally. 

• TEXT EDITOR — allows powerful, full¬ 
screen editing at the workstation level or 
you can use your familiar mainframe edi¬ 
tor through the terminal emulator. Several 
popular editors are available. 

The LANTECH SYSTEMS uNETix Soft¬ 
ware Development ToolKit is the solution to 
your software development needs, at an 
affordable price of $399. Quantity discounts 
are available. 

Optional Lattice® C Compilers are avail¬ 
able from LANTECH SYSTEMS to develop 
programs locally to run under uNETix, or 
PC DOS™. Programs developed for uNETix 
can, of course, be easily ported to other 
UNIX environments. Lattice C Cross Com¬ 
pilers are also available for a variety of 
minicomputers. 

To order your ToolKit, or to get more in¬ 
formation contact: 


LANTnMSH SYSTEMS 

INCORPORATED 


9635 WENDELL ROAD, DALLAS, TEXAS 75243 
(214) 340-4932 EX. 200 

uNETix is a trademark of Lantech Systems, Inc. IBM is a registered trademark of International Business Machines. UNIX is a trademark of Bell Laboratories, AT&T Technologies. VT100 is a trademark of Digital 
Equipment Corp. Lattice is a registered trademark of Lattice, Inc. PC DOS is a trademark of International Business Machines. XT is a trademark of International Business Machines. Minimum system configuration is 
IBM PC with 512K RAM, monochrome or color display. RS232 port required for VT100 connection. 


CIRCLE NO. 185 ON READER SERVICE CARD 

























Your IBM PC Or XT Graphics Are Only 
As Good As What's Under The Hood. 



Get Smooth Clean Performance With Graphix Plus II™. 
Single Board Support Of Both Color And Monochrome Display. 


W hen 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 full screen (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 



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. 


m 





m 


STB Systems, Inc. 


IBM PC, XT are registered trademarks of International Business Machines Corporation. 
Lotus 1-2-3 is a registered trademark of Lotus Development Corporation. 


CIRCLE NO. 199 ON READER SERVICE CARD 

Expanding Microcomputing 

PC Accelerator is a registered trademark of ResiCorp. 









& New Release 1.8 — SOLID GOLD 


CodeSmith* m -86 


|B: fabcode COM 1 


■CodeSmith-86 1 


Also runs on some IBM-PC Compatibles 


1138 


AX=8086 
BX=0000 
CX=0000 
OX 


|SS=1983l 
DS=1984| 
ES=1985| 
|CS=200lf 
IP=0001 


0000 

53 

SI I0JNIT: 

PUSH 

0001 

9BDEC2 


FA00P 

0004 

BB3100 


MOV 

0007 

803E5E- 

Efl 

CMP 

OOOC 

7305 


JAE 

000E 

BB0100 


MOV 

0011 

EB02 __ 


JMP 

0013 

F2AD WB1 

TRASH.IT: 

REPNZ 

0015 


LONG LABELS. 

_ ARE.OK 

0015 

8DA063- 


LEA 

0019 

240C 


AND 

001B 

45 


DB 


BX ;TAG A LINE 

ST[2],ST 

BX,Offset VECTOR_TABLE_2 

DOS .VERSION _NUM,’2’ BREAKPOINT SET 

TRASH.IT 

BX,Offset VECT0R.TABLE.1 

Short LONG.LABELS.ARE.OK.AS.YOO.LIKE 

STOSW ;ST0P 777th TIME 


BP.WIERD.CODE + 2LDI] 
AL,00011100B 
69 


;CHANGE RADIX 


D0S.VERSI0N 
1:0050 4' 

1:0060 2( 

1:0070 2( 

1:0080 2( 


MEMORY 

Absolute Address=03C9E S egment:Offset=Q3C4:OQ5E 

2 | 


ASCII SUPPORT 


— CodeSmith-86 
MAKES DEBUGGING 
A BLAST! 


It’s here—THE Multi-Window Interactive Debugger that’s STATE-OF-THE-ART. 




• Scroll Up/Down thru full-screen disassemblies & memory dumps 

• Load and Write Commands much easier, more powerful than DEBUG’s 

• “Snapshot” a complete debugging state onto disk-resume later 

• True passpoints and execution path counters 


SCREENSAVE mode saves and restores user’s graphic display when breakpoint hit 

^assemble selected ranges of memory code to disk—compatible with IBM Assembler 
Stop on data Read/Write or memory range access 


Hot-Line technical support 

The Professional’s Choice— CodeSmith-86 

Multiple copies purchased by: 

Lotus Development Corp., MicroPro, VisiCorp, IBM. 

\ Requires MS-DOS &160K RAM. 

\ OEM and dealer inquiries invited. 


VISUAL AG€ 

642 N. Larchmont Blvd. • Los Angeles, CA 90004 

CIRCLE NO. 140 ON READER SERVICE CARD 

CodeSmith, TM International Arrangements, Inc. 

MS, TM Microsoft Corp. 

IBM, TM International Business Machines Corp. 







BELLESOFT HAS CHANGED THE 
WAY PROGRAMMERS WORK: 



PASCAL, C & ADA 
COMPUTER AIDED PROGRAMMING 


The Bellesoft Entry System for Programs (ESP) has changed 
the way programmers will work in the future by putting computer 
aided programming (CAP) at their fingertips. 

What word-processing programs did for writing text, Bellesoft 
has now done for generating programs: putting the computer to 
work to create a whole new way of writing software. 

Bellesoft’s ESP speeds up software development by up to 
50%, produces better programs and reduces debugging time. ESP 
improves programming in five significant ways: 

1. On-Line Syntax Checking. ESP is more than a very smart 
editor: it automatically checks your program for correct 
syntax as you enter or change it. 

2 . On-Line Formatting. ESP automatically provides a correct 
and consistent format, critical for program maintainability. 

3 . Context-Sensitive Abbreviations. ESP builds program 
structures or skeletons with a single keystroke, provides 
correct keywords and punctuation, and saves up to half your 
typing time. 

4 . Program Editing. ESP manipulates program structures 
correctly with a single keystroke, allows you to delete or move 
statements easily. 

5 . On-Line Programming Help. ESP provides menus of correct 
program components and correct syntax as an aid to faster 
programming. 

ESP is now available to computer manufacturers for inclusion 
in their software packages; to distributors and dealers for resale; to 
universities and schools as an aid to teaching programming; and to 
programmers who want to cut their work in half while writing 
better programs. Call Marlene Samuel, Marketing, at (206) 828-7282. 

IBM PC single user Pascal license $249, C license $349. Quantity and site 
discounts are available. To order, call 

LIFEBOAT, 1-800-847-7078. 


CIRCLE NO. 114 ON READER SERVICE CARD 



THE FIRST NAME IN PROGRAMMING PRODUCTIVITY 
2820 Northup Way, Bellevue, WA 98004, 206/828-7282 










LETTERS 


went back and read the original letter 
and noticed something interesting. Your 
reply to Razzak's letter stated that you 
use the notation of whichever computer 
language is used by the article because 
there is no "standard" notation. 

There is a standard notation for 
nondecimal numbers. In mathematics, 
such a number is written with a sub¬ 
script numeral including the correct 
base. So a binary number would be 
written with a subscript 2, an octal 
number would be written with a sub¬ 
script 8, and a hexadecimal number 
with a subscript 16. And, of course, 
when mixing bases, a decimal number 
can be written with a subscript 10 to 
avoid confusion. Example: 

1111010100 2 = 1724 8 = 980 10 =3D4 16 

Christopher Wesling 
San Francisco, CA 

Yes, subscripts are the mathematical 
way. But our use of that convention 
might seem to confuse because it is not 
a notation that can be programmed. 
That's why we choose to use the lan¬ 
guage notation, cryptic as it might be in 
some cases. 

-WF 

Debugging Time 

Great special section on debugging in 
the May issue. For years I have been a 
professional debugger and enjoyed read¬ 
ing about this often neglected subject. I 
especially liked "Debugging" (Will 
Fastie, May 1984, page 5)—as always, 
entertaining reading. 

As the author of a new debugging 
tool just reaching the micro software 
market, I have had occasion to consider 
many of the points covered in the de¬ 
bugging section. I paid special attention 
to "Time on Your Hands" (Bob Smith 
and Tom Puckett, May 1984, page 146). 
Since this particular problem area seems 
to interest so many people, I included a 
short discussion of it in the Theory of 
Operations section of the manual for 
PC-TEST (my contribution to the art of 
debugging the PC), and I include it 
here for publication. 

The Timer Bug 

A note here on the widely discussed 
"timer bug" from which the original DOS 
debugger suffers. The problem lies in the 
architecture of the 8088 and can best be 
explained by single-stepping an INT in¬ 
struction. The "timer" problem and the ac¬ 
tions of the 8088 when single-stepping an 
INT instruction are one and the same: the 
number and the priority of the interrupt 
requests that the 8088 has pending. 

The INT instruction causes the asser¬ 
tion of an interrupt request (just like the 


timer). If the TRAP FLAG is on during the 
execution of the INT instruction, it also 
causes assertion of an interrupt request for 
Single Step, which is of higher priority 
than the first one. Two sets of registers and 
flags are pushed onto the stack, one point¬ 
ing at the instruction after the INT in¬ 
struction (this entry has the TRAP FLAG 
on) and one pointing at the first instruc¬ 
tion of the interrupt routine for that partic¬ 
ular interrupt type (the instruction pointed 
to by that particular interrupt vector). 

The result of this is that the highest 
priority interrupt routine (Single Step) is in 
control of the machine, and the next high¬ 
est is on the stack ready for execution 
when the current routine executes IRET. 

One fix for this problem, published in a 
popular PC magazine, suggests checking 
the 8259 status register. This works fine on 
a machine which uses standard IBM equip¬ 
ment but can still fail with some vendors' 
implementations of clock cards and inter¬ 
rupt priorities. An alternative and more re¬ 
liable fix (with the luxury of source code 
availability) is to check the stack contents 
for the location of the TRAP FLAG. 

If the problem-causing sequence has 
occurred, the last entry on the stack will 
not have the TRAP FLAG on, and it is 
then up to the debugger to determine if it 
has just single-stepped an INT or IRET in¬ 
struction or if other hardware requested 
the interrupt (if so, it must be serviced be¬ 
fore the single-step via an immediate 
IRET). If the interrupt is from the execu¬ 
tion of an INT instruction, the TRAP 
FLAG deeper on the stack must be turned 
off to prevent extraneous single-step inter¬ 
rupts later, on exit from the single-stepped 
interrupt routine (the original DOS debug¬ 
ger also suffers from this problem). Copy¬ 
right Armand J. Minnie. 1984 

Armand J. Minnie 
San Jose, CA 

The Hidden Path 

The letter to the editor entitled "Where 
Were We?" (February 1984, page 22) 
contained a very interesting routine, 
"PWD." After assembling, linking, and 
creating a .COM file on my G disk (de¬ 
fault), I typed in PWD. Sure enough, 
the message that came back was G/. 

Next I created several directories 
/ALPHA/BETA/DELTA, and made 
DELTA the current directory. Then I 
typed in PWD and waited for some¬ 
thing to happen. To my surprise the 
message this time was BAD COM¬ 
MAND OR FILE NAME. 

It seems that Bruce Kvam (the 
writer of the letter) neglected to tell us 
about the PATH command that we 
must use to get PWD to work. After go¬ 
ing back to the root directory, I edited 
my AUTOEXEC.BAT file to add the 
line PATH G/ and went back to 
DELTA. This time PWD worked like a 


charm, responding with the message 
G/ALPHA-/BETA/DELTA. 

I feel strongly that Mr. Kvam 
should have described the need to use 
the PATH command, for without it 
PWD is really useless. In addition, I 
feel even more strongly about the fail¬ 
ure of your technical editors to check 
out that what you publish works, and 
in this specific case to correct Mr. 
Kvam's omission. 

Everything considered, you publish 
an excellent magazine that I find more 
useful than your heftier competition. 

George Shulha 
Tampa, FL 

Printing APL 
Characters 

Your Letters section of the June 1984 is¬ 
sue of PC Tech Journal calls attention to 
the difficulty of getting a full APL 
character set for non-IBM printers 
("Patch to AP80.COM," page 21). For 
$100, SYMBIOTICS can furnish an ex¬ 
tended character set APL EPROM with 
translation tables for the Epson MX-100 
that will function with both IM and 
STSC (Scientific Time Share Corp.) im¬ 
plementations of APL. Interested per¬ 
sons may call or write SYMBIOTICS for 
details at 431 Mishler Road, Mogadore, 
OH 44260; 216-699-4978. 

W.E. Claxton 
SYMBIOTICS 
Mogadore, OH 

Thank you for your questions and com¬ 
ments. We appreciate all of them—com¬ 
plimentary and critical. Please address 
editorial correspondence to PC Tech 
Journal, Suite 211, World Trade Center, 
Baltimore, MD 21202, or contact us 
through CompuServe, 74156, 2365, or 
The Source, STY682. Be sure to include 
your name and address. 


26 


PC Tech Journal 











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 


il 


Mark 

Williams 

Company 


COHERENT is a trademark of Mark Williams Company. 
♦UNIX is as trademark of Bell Laboratories: 


CIRCLE NO. 186 ON READER SERVICE CARD 



Sol Libes 




Random Rumors 
and Gossip 

It is expected that AT&T 
soon will announce its IBM 
PC-compatible desktop com¬ 
puter, which will 


ities. Rather than try to mar¬ 
ket the machine itself, the 
company is expected to enter 
into an OEM arrangement. 
Compaq Computer 
Corp. has indicated that it 
expects a decrease in earn¬ 
ings for the second quarter of 
1984. Mitsubishi, which 


computers recently intro¬ 
duced by AT&T. The first 
system is expected to use the 
80186 microprocessor and to 
have 256K of memory, a 
10-Mb hard disk drive, and 
support for high-resolution 
graphics. It might run a new 
version of PC/DOS. 


be an upgraded version of 
the Olivetti system, using an 
8-Mhz 8086 and 512K of 
RAM. An XT version should 
contain a 10-Mb Winchester 
and dual slim-line drives, 
and the basic system should 
contain serial and parallel 
ports, calendar/clock, disk 
controller, and seven ex¬ 
pansion slots. In addition, it 
is expected to have better 
graphics than the IBM ma¬ 
chine. AT&T is expected to 
sell the machine through 
Bell System stores and at 
least one chain of computer 
stores. Rumors continue that 
this fall IBM will announce 
a lap-sized, portable, battery- 
operated version of the PC 
that may contain a display 
that has 24 lines by 80 char¬ 
acters. National Semi¬ 
conductor is said to be 
readying an IBM-PC com¬ 
patible in both desktop and 
lap-sized portable versions, 
with special graphics capabil- 


private-labels IBM com¬ 
patibles for Sperry and Lead¬ 
ing Edge Products, has indi¬ 
cated that it plans to begin 
selling PC compatibles in the 
U.S. under its own name. 



IBM "BC" Rumors 

There are rumors that IBM 
will shortly announce three 
new "Business Computer" 
("BC") systems based on the 
new Intel 80186 and 80286 
microprocessors. The systems 
are expected to be sold 
through IBM's Value Added 
Resellers (VARs), and they 
should use either Microsoft's 
multi-user/multi-processing 
XENIX operating system or a 
new operating system that 
will be written by IBM. 

The systems appear to 
be designed to compete with 
the new 3B series of micro- 


The second system is 
expected to use the 80286 
8-Mhz microprocessor and to 
have a cache memory sys¬ 
tem, virtually unlimited 
hard disk capacity, 512K of 
memory, and the ability to 
handle up to 16 users. The 
operating system used on 
this system is expected to be 
an upgraded version of 
XENIX, with windowing ca¬ 
pability and a PC/DOS emu¬ 
lator that will allow the ex¬ 
ecution of most PC software. 
The machine is expected to 
be used as a file server in a 
local area network for PCs, 
using Microsoft's MS-Net 
version of MS/PC-DOS. 

It is anticipated that the 
third system will use a pro¬ 
prietary 32-bit microproces¬ 
sor that was developed by 
IBM in Austin, Texas. Main¬ 
frame software environ¬ 
ments, such as VM (Virtual 
Memory), supposedly will be 
supported. This system is ex¬ 


pected to act as a cluster con¬ 
troller for SNA devices. 

IBM's scientific instru¬ 
ments division may soon un¬ 
veil a new version of the 
Microsoft XENIX operating 
system for its CS9000, 
68000-based office system. 
This new operating system 
should provide enhanced 
graphics with features such 
as icons and windows. 



CEEC Charges IBM 
Stifles Competition 

The Commission of the 
European Economic Commu¬ 
nity is expected shortly to 
charge IBM with abusing its 
dominant market position in 
Europe and trying to stifle 
competition. The CEEC rep¬ 
resents the 10-member Euro¬ 
pean Common Market. 

It is estimated that IBM 
currently controls about 40 
percent of the European 
computer market in general 
and an even greater percent¬ 
age of the market in West 
Germany and Italy. The 
Common Market computer 
companies complain that 
IBM has refused to provide 
them with information nec¬ 
essary to link peripheral 
equipment and software with 
new IBM products. Because 
equipment is introduced and 
orders taken many months 
before delivery, these compa¬ 
nies must wait until they 
can actually get their hands 
on the equipment before 
they can begin their designs. 
As a result, they lose a year 
or more in getting their 
products to market. Then, as 
soon as they get their equip¬ 
ment on the market, IBM in¬ 
troduces new products. 

The CEEC is expected to 
levy sanctions against IBM 
in the form of a fine or a re- 


28 


PC Tech Journal 


ILLUSTRATION • DAVID POVILAITIS 




























ILLUSTRATION • MARC TAFFET 


THE TECH JOURNAL 

NEWSLINE 


News, views, and gossip on the IBM 
and IBM-like marketplace 


quirement that IBM disclose 
necessary information. IBM 
has been attempting for sev¬ 
eral months to negotiate a 
settlement with the CEEC, 
but has had no success. This 
problem is expected to alter 
IBM's selling tactics in 
Europe significantly. 



IBM PC Shortage 
is Ended 

IBM dealers report that the 
supply of IBM PCs and XTs 
has caught up with demand. 
Dealers say that the number 
of machines they can order 
is no longer being regulated 
by IBM, and most dealers 
have machines in stock. The 
result is an upsurge in dis¬ 
counts given on PCs, XTs, 
and their compatibles. Even 
the IBM PC portable, which 


IBM began shipping in 
April, is already being dis¬ 
counted by many dealers. 
The PC/r, whose sales have 
proved a bit disappointing, 
has been heavily discounted 
by dealers since it became 
available in February. 

Another result of the in¬ 
crease in the supply of PCs 
and XTs is that some autho¬ 
rized IBM retailers, VARs, 
and Value Added Dealers 
(VADs) are dumping systems 
to unauthorized dealers and 
discounters. The authorized 
sellers invariably have to pay 
interest on systems that have 
been in their stock for over 
30 days. In addition, they 
have to fulfill purchasing 
quotas with IBM. To avoid 
this situation, at the end 
of the month dealers will 
dump their inventory to 
unauthorized dealers at 
substantial discounts. 


These unauthorized 
dealers are always low-bud¬ 
get retail or mail-order opera¬ 
tions that provide little, if 
any, support and can there¬ 
fore afford to discount the 
systems. IBM, unlike Apple, 
has chosen to ignore this 
''gray" market and thereby 
appears to be encouraging it. 



dBASE III 

After 22 months, Ashton¬ 
Tate has announced dBASE 
III for the 16-bit world. The 
product will be available ini¬ 
tially for the IBM PC or XT 
with at least 256K and two 
floppies or a fixed disk. 
dBASE III removes many of 


the limitations of dBASE II. 
Files can now have up to 
2 billion records, limited 
only by the individual com¬ 
puter systems. Each record 
can have 128 fields, and 10 
files can be opened at once. 

Although dBASE III has 
been redesigned from the 
ground up and written in C, 
many familiar dBASE II 
commands are still present. 
Features include the ability 
to establish relations between 
files, full-screen report gener¬ 
ation, and mailing label capa¬ 
bility,- in addition, new 
memo fields can hold vari¬ 
able-length text of up to 4K 
bytes. Performance has been 
improved with notably faster 
sorting and indexing. A 
dBASE Assistant provides a 
command-assistance mode 
that can be turned off once 
the user is familiar with 
dBASE III operations. dBASE 
III is priced at $695, and the 
price of dBASE II has been 
reduced to $495. 

The dBASE aftermarket 
is still alive and well. Fox 
and Geller announced the 
availability of Quickcode III, 
dUTIL III, and dGRAPH III. 
Other vendors are expected 
to follow with updated ver¬ 
sions of their dBASE II en¬ 
hancement programs. 



3270-PC Popular 

There is an increasing num¬ 
ber of reports that the 3270 
version of the PC is achiev¬ 
ing a success in large corpo¬ 
rations that use IBM main¬ 
frames; the reports also indi¬ 
cate that IBM has stepped up 



29 












































THE TECH JOURNAL 

NEWSUNE 



nounced experimental 72K, 
288K, and 512K RAM chips, 
none of which has gone into 
production. IBM has not said 
whether it actually plans to 
produce the 1-Mb chip. Fur¬ 
ther, it should be noted 
that at the International 
Solid States Circuits Con¬ 
ference held last Febru¬ 
ary, Fiitachi, Fujitsu, NEC, 
and NTT released details 
bn their 1-megabyte experi¬ 
mental RAM chips. 


production significantly to 
meet the demand. Digital 
Research, Inc. has an¬ 
nounced that it will make 
available its entire line of 
languages to run on the sys¬ 
tem, and there are rumors 
that DRI is also working on 
a new operating system for 
the 3270 that will allow 
CP/M, UNIX System V, and 
MS/DOS software to be run 
and that will also furnish lo¬ 
cal area networking and so¬ 
phisticated graphics support. 

The XT/370, however, 
which was introduced at the 
same time, appears to be lag¬ 
ging in popularity. Part of 
the problem seems to be late 
deliveries caused by produc¬ 
tion bottlenecks. Although 
the XT/370 was announced 
in late November 1983, IBM 
did not begin shipping sys¬ 
tems until early May. 



IBM Announces New 
Research Successes 

At the IEEE-Intermag confer¬ 
ence held in April, IBM re¬ 
searchers reported that they 
are working on a new type 
of magnetic recording head 
that will permit magnetic 
disk storage up to six times 
denser than current heads 
will allow. The head inte¬ 
grates thin film coils to write 
data on the disk and high- 
sensitivity, solid-state sensors 
to read the data. This work 
is still considered to be in a 
early research stage, and it 
will be some time before the 
technology will be ready for 
possible use in disk drives. 

Researchers working at 
IBM's Essex Junction, Ver¬ 
mont, facility have an¬ 


nounced development of a 
dynamic RAM chip with a 
capacity of 1 megabit. The 
chip operates on 5 volts and 
uses essentially the same 
technology as is used in the 
64K RAM chip that is cur¬ 
rently in production. 

It is interesting to note 
that during the past two 
years IBM has also an¬ 


Random News Bits 

IBM announced that its net 
income for the first quarter 
of 1984 rose 23 percent to a 
record $1.2 billion. Gross 
business was up 15.7 percent 
to $9.6 billion. PC business 
currently accounts for an 
estimated 13 percent of the 
company's revenues, or 
about $1.25 billion. Lotus 
Development Corpora¬ 
tion reported a first-quarter 
net income of $7.5 million 
on $28.3 million sales— 
how's that for profit? Lotus is 
reported to have shipped al¬ 
most 120,000 copies of Lotus 
1-2-3 in the first quarter. 


Quotation of the 
Month 

John R. Opel, Chairman of 
IBM Corporation: "It [the 
PC/r] has not been as success¬ 
ful as I would like." 


< 

H 

g 

< 

Z 

o 

H 

< 

PC 




30 


PC Tech Journal 


ILLUSTRATION • DAVID POVILAITIS 









































































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 


RSION 2. 


"If you don’t have CP/M [for 
your Apple], Turbo Pascal is 
reason enough to buy it.” 

Cary Hara 
Softdlk Apple, May 1984 


If you have the slightest 

Bruce 



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




f m 


-If 


• **? 


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 

Jlinesopen_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 4- $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 #: 


Money Order 
Master Card _ 


Exp. date: 


My system is: 8 bit _ 16 bit _ 

Operating System: CP/M 80_ 

CP/M 86_ MS DOS_ PC DOS . 

Computer: 


I ») BORlflflD 

>)) INTERNATIONAL 


Disk Format: 


Please be sure model number & format are correct. 

Name: _ 


Address: 


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


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. 





















CONTROLLING 

INPUT 

USING INKEYS 



A useful, adaptable routine for BASIC programs 


Nelson Ford 


A n INKEY routine is one that 
controls keyboard input into a 
program by using the INKEYS func¬ 
tion instead of the INPUT or LINE 
INPUT commands. The sole reason 


for using this approach is that the 
INPUT command will accept and 
print any key that is pressed, which 
can sometimes cause problems. If 
the user accidentally enters "End" 
when he meant to enter "1," the 
cursor on the screen will obediently 
move to the end of the line. 


When INKEYS is used, the re¬ 
sult of the key press is not automati¬ 
cally sent to the screen,- thus, that 
result can be tested before it is 


Nelson Ford is Director of Reporting and 
Forecasting Systems for Daniel Industries , Inc. 
He is the author of Business Graphics for the 
IBM PC and of the disk file catalog DISKCAT. 


32 


PC Tech Journal 

















INKEYS 

printed. INKEYS can be used not 
only to filter out keys that are de¬ 
structive to the screen layout but 
also to check that the key falls 
within an acceptable range of keys, 
to see if a function key or other spe¬ 
cial key has been pressed, and to 
take special action if it is necessary. 
This function can also be used to 
read a key press, translate the key to 
another key defined on a look-up ta¬ 
ble, and send the translated value to 
the screen for display. 

Running the Program 

The program in listing 1 first pre¬ 
sents a menu on the screen with a 
flashing cursor prompting the user 
to enter a number from the menu. 

If no number is entered, nothing 
happens. If "1" is pressed, a data 
entry form with fields labeled 
Name, Address, City, State, and Zip 
is displayed. A highlighted field ap¬ 
pears next to the Name field. If the 
user enters a name in this field, the 
highlighted area moves to the next 
field for the address to be entered. 

Errors in previous fields can be 
corrected by using the cursor direc¬ 
tion keys. If a state or zip code is 
entered that the program does not 
recognize, the highlighted area will 
not move on until the entry has 
been corrected. Letters entered for 
the state display are displayed as 
upper-case, no matter how Caps 
Lock is toggled. Only the characters 
"0" through "9" are accepted as in¬ 
put in the Zip field. 

Program Framework 

Listing 1 is an example of a program 
that would be used to enter data in 
a data base. Lines 10-60 define vari¬ 
ables for use by the program. FG 
and BG are used to control the fore¬ 
ground and background colors. The 
numbers in line 60 are the ASCII 
codes for the second character of the 
two-character code that is returned 
by INKEYS when a special key is 
pressed. A special key is a function 
key, cursor key, shift tab key, or 
any key combination using the Ctrl 


August 1984 


Most Program Editors 
Are Shockingly Primitive. 



Use Pmate™ once, and you’ll 
never go back to an ordinary 
text editor again. Pmate is more 
than a powerful programmer’s 
text processor. It’s an inter¬ 
pretive language especially 
designed for customizing text 
processing and editing. 

Just like other powerful edi¬ 
tors, Pmate* features full-screen 
single-key editing, automatic 
disk buffering, ten auxiliary 
buffers, horizontal and vertical 
scrolling, plus a "garbage 
stack” buffer for retrieval of 
deleted strings. But, that’s just 
for openers. 

What really separates Pmate 
from the rest is macro magic. A 
built-in macro language with 
over 120 commands and single¬ 
keystroke "Instant Commands” 
to handle multiple command 


sequences. So powerful, you 
can “customize” keyboard 
and command structure to 
match your exact needs. 

Get automatic comments on 
code. Delete comments. Check 
syntax. Translate code from 
one language to another. Set 
up menus. Help screens. You 
name it. 

And, Pmate has its own set 
of variables, if-then statements, 
iterative loops, numeric calcu¬ 
lations, a hex to decimal and 
decimal to hex mode, binary 
conversion, and a trace mode. 
You can even build your own 
application program right 
inside your text processor. 

So, why work with primitive 
tools any longer than you have 
to? Pmate by Phoenix. $225. 
Call (800)344-7200, or write. 


Phoenix Computer Products Corporation 

1416 Providence Highway, Suite 220 
Norwood, MA 02062 
In Massachusetts (6171 769-7020 

* Pmate is designed for microcomputers using the Intel 8086 family of 
processors, and running MS-DOS™ A custom version is available for 
the IBM PC, Tl Professional, Wang Professional, DEC Rainbow, 
and Z80 running under CP/M™ 

Pmate is a trademark of Phoenix Software Associates Ltd. 

MS-DOS is a trademark of Microsoft Corporation. CP/M is a trademark of Digital Research, Inc. 


CIRCLE NO. 143 ON READER SERVICE CARD 









INKEY$ 

or Alt key. The codes for these keys 
are given in the BASIC manual at 
the end of Appendix G. The actual 
INKEYS routine is in lines 120-620. 
The remainder of the program, 
starting at line 670, is a sample ap¬ 
plication designed to demonstrate 
the INKEYS routine. 

Walking Through 
the Code 

In lines 700-750, a menu is printed 
on the screen. At line 760, the cur¬ 
sor is located at the point where the 
programmer wants the prompt to 
appear. The variable FL (Field 
Length) is set to 301, ACCEPTS is 
defined as "123" (acceptable input), 
and control is turned over to the IN¬ 
KEY routine. Line 120 initializes 
the variables used in the INKEY 
routine. The variable INS.LENGTH 
keeps track of how many characters 
have been entered. CURSOR.POS 
keeps track of where the cursor is in 


Z NKEYS can be used not 
oniy to filter out keys 
that are destructive to 
the screen layout but also 
to check that the key falls 

within an acceptable range 
o/ keys, to see ij_ a function 

key or other special key has 
been pressed, and to take 
special action ifnecessaiy. 

the string of characters entered. 

This is necessary because the user 
can press the cursor keys to go back 
and edit the entry. 

In the next line, the variable 
CURSOR.START is set up to keep 
track of the location of the start of 
the field on the screen. Because in¬ 
put is limited to the current screen 
line, it is not necessary to keep 
track of the line number. Line 140 
divides FL (which was set to 301) by 
100 and truncates the decimals, 


leaving three (FIX(301/100)=3) and 
assigns this value to the variable 
name CHAR.ACCEPT.CODE, 
which will be used later to test the 
keys pressed. The next line rede¬ 
fines FL as the actual field length 
(301 - 3*100 = 1). 

No prompt was specified, so 
line 170 is skipped. In line 180, the 
foreground and background colors 
are reversed. When the INKEY rou¬ 
tine returns to control, the input is 
contained in the variable INS. Line 
160 initializes INS to a string of 
blank spaces. When the INS is 
printed (line 190) with the colors re¬ 
versed, a highlighted area the 
length of FL appears. Line 210 
causes the program to wait for a key 
to be pressed and assigns the key 
press to the variable NS. If the 
length of NS is greater than one, 
the program knows a special key 
was pressed; lines 240 through 330 
analyze and act upon the key press. 
This section of code is used in this 
program for editing the entry. If the 
programmer does not want this fea¬ 
ture, he can omit this section. 

For right now, we will assume 
that "1" was pressed on the menu, 
so NS = 1. The length of NS is 1, 
so the program is directed to line 
350, which tests to see if the Esc 
key was pressed. If the variable 
CURSOR.POS is greater than the 
maximum number of characters 
specified in FL, the only input that 
can be accepted at this point—after 
the program has tested for cursor 
keys and the Esc key—is the Enter 
key or the Backspace key. In this 
example, the variable CURSOR.POS 
still has the value 1, which was as¬ 
signed to it in line 120, and FL is 
also 1, so we can continue. 

The CHAR.ACCEPT.CODE 
was calculated to be 3 ; therefore, 
line 390 says that NS must be a 
character in the ACCEPTS variable 
that was defined earlier as "123" by 
the main program. NS is such a 
character, so the program now 
branches to line 500, which uses 
the MIDS function to put the key 


that was pressed into INS and 
which directs the program to line 
550. (INSERT is toggled on and off 
in line 270. I'll look at that later.) 

Skipping line 550 for right now, 
we see that NS is printed, CUR- 
SOR.POS and INS.LENGTH are 
incremented, and the program 
branches back to line 190 to pick up 
another key press. This time the 
user presses Enter. The program 
flows to line 420 and gets redirected 
to line 600, which reprints the en¬ 
try with the colors set back to nor¬ 
mal. At this point, if the entry is 
shorter than the maximum field 
length, the trailing blanks are 
chopped off, unless line 610 has 
been removed. 

Now control is passed back to 
the main program, and no further 
input testing is needed. INS must be 
a "1," "2," or "3." Since "1" was en¬ 
tered in this instance, the program 
branches to line 1000. 

One More Time 

Line 1090 positions the cursor, as¬ 
signs a maximum field length of 25 
with no character acceptance code 
(any input is valid), and defines the 
prompt as NAMS(I). When the pro¬ 
gram is first started, the variable 
NAMS(I) (where 1= 1) is a null 
string, so there is no prompt. Let's 
pretend that we loaded an entry 
from a disk file, and NAMS(I) con¬ 
tains a name that is now assigned to 
PROMPTS. Having set up the vari¬ 
ables, the program returns to the 
INKEY routine. 

If the first key pressed is an 
"A," the program flows to line 380 
(CHAR.ACCEPT.CODE = 0) and 
then to 500 and on to 550. When a 
prompt appears, as it does in this ex¬ 
ample, the program must try to de¬ 
termine if the user wants to edit the 
prompted entry or type in a new 
one. Keep in mind that if a cursor 
key had been pressed to move into 
the field in order to make a cor¬ 
rection, the cursor positioning 
would have bypassed line 550. This 
line of code is only reached when a 


34 


PC Tech Journal 




















character is being entered. There¬ 
fore, if the user is still at the begin¬ 
ning of the field and is entering a 
character, he is probably entering a 
new name rather than editing an 
old one. So this line blanks out the 
field in addition to the variable INS. 

Processing a Cursor Key 

If the user entered the characters 
"Jogson" and wanted to go back and 
change the "g" to an "h," he would 
press the left cursor key, which 
causes NS to be a two-character 
code with the second character hav¬ 
ing an ASCII value of 75. At line 
250, if the variable CURSOR.POS is 
greater than 1, it is decremented 
and the program goes back for an¬ 
other key press. The user keeps 
pressing the left cursor until it 
moves back to the "g" ; he then 
presses "h." The program flows to 
line 500 and the MIDS function re¬ 
places the "g" with the "h." 

To insert an "n" at this point, 
the user presses the Ins key, which 
causes line 270 to toggle the IN¬ 
SERT variable to YES. The LO¬ 
CATE,,,4, 7 makes the cursor look 
like it does in BASIC when the user 
is in the insert mode. When the 
"n" key is pressed and the program 
gets to line 500, the MIDS function 
is not used. Line 510 checks to 
make sure that the user is not try¬ 
ing to insert characters when the in¬ 
put is already equal to the maxi¬ 
mum field length. Line 520 cuts 
open INS and inserts the character. 

Other Special Keys 

Line 260 handles the Del key by 
cutting the character being deleted 
from INS and adding a blank space 
at the end. Line 280 reacts to the 
Home key being pressed by chang¬ 
ing CURSOR.POS to 1. Line 290 de¬ 
letes the end of the entry, starting 
at the current CURSOR.POS. Line 
300 increments CURSOR.POS (lim¬ 
ited to the field length) when the 
right cursor key is pressed. Finally, 
line 310 moves the cursor to the 
end of the entry. 


August 1984 


Squeezing 

A Large Program Into 
A Small Memory Space? 



It’s time you got Plink86™ the 
overlay linkage editor that’s 
bringing modular programming 
to Intel 8086-based micros. 

With Plink86,* you can write a 
program as large and complex 
as you want and not worry about 
whether it will fit within available 
memory constraints. You can 
divide your program into any 
number of tree-structured over¬ 
lay areas. 4095 by 32 deep. 
Work on modules individually. 
Then link them into executable 
files. All without making changes 
to your source program 
modules. 

Use the same module in dif¬ 
ferent programs. Experiment 
with changes to the overlay 
structure of an existing program. 
Use one overlay to access code 


and data in other overlays. 

Plink86 is a two-pass linkage 
editor that links modules cre¬ 
ated by the Microsoft assembler 
or any of Microsoft’s 8086 com¬ 
pilers. Plink86 also works with 
other popular languages, like 
Lattice C, C86, or mbp/COBOL. 
And supports symbolic debug¬ 
ging with Phoenix’ Pfix86 Plus™ 

Plink86 includes its own ob¬ 
ject module library manager - 
Plib86™ - that lets you build 
libraries from scratch. Add or 
delete modules from existing 
libraries... Merge libraries... 

Or produce cross-reference 
listings. 

Why squeeze any more than 
you have to? Plink86 by Phoenix. 
$395. Call (1) 800-344-7200. 

Or, write. 


0 ^ 

Phoenix Software Associates Ltd. 

1420 Providence Highway Suite 260 
Norwood, MA 02062 
In Massachusetts (6171 769-7020 


*Plink86 will run under PC DOS, MS-DOS™ or CP/M™-86. 

Plink86, Pfix86 Plus and Plib86 are trademarks of Phoenix Software Associates Ltd. 
MS-DOS is a trademark of Microsoft Corporation. CP/M is a trademark of Digital Research, Inc. 


CIRCLE NO. 144 ON READER SERVICE CARD 














Considering Tape 
For Backup Storage? 



There was a time when tape was the way to store backup 
data from your hard disk. It was fine for archives, but not 
when you wanted your data live and on-line. Today’s busi¬ 
ness pharaoh can have his data on-line and backups, 
too—with 5 or 10 megabyte removable cartridge hard disk 
systems from Micro-Design. 

Single-function tape backup units can’t come close to 
matching the versatility and cost-effectiveness of hard disk 
cartridges; you get backup capabilities PLUS the benefit of 
having another full 5 or 10 megabytes of on-line data 
access. 


Unlimited Expansion. NO more erasing old data to 
increase space on your hard disk. Fact is, there’s no limit 
to the amount of off-line storage you can add. 

Our DATA Series 5 and 10 megabyte cartridge hard disks 
are external drives available in removable only, or paired 
with 10, 20, or 33 megabyte fixed drives. Our SQ Series 
features 5 megabyte cartridge drives, in matching exter¬ 
nal cases or ready for internal installation. All are 100% com¬ 
patible with the IBM-PC, XT, and work-alikes, with no 
software modifications needed. You can even boot from 
the hard disk. 


Use hard disk cartridges the same way you use a floppy 
disk system. Just switch them out as needed—one car¬ 
tridge for wordprocessing, another for accounting, and an¬ 
other for backup storage. Add additional cartridges when¬ 
ever you like. 


Don’t let single-function hard disk and tape units send your 
asp up the Nile. Ask your local computer dealer about 
Micro-Design’s versatile hard disk cartridge units. Or. call 
us for details on our full product line and ordering informa¬ 
tion. Dealer inquiries invited. 


We’ve got a complete line of mass storage 
devices, including floppy drives. Prices start as 
low as $1549 for a 20 megabyte fixed hard disk 
drive. Call for our FREE catalog today! 


One year warranty. Network compatible. Backup utility software included 
with 2 drive systems. 

Micro-Design 

Making The Most of Your Micro. 

CIRCLE NO. 246 ON READER SERVICE CARD 

Call Toll FREE 1-800-531-5002. 
In Texas, call 512-441-7890. 

6301 B Manchaca Rd.. Austin. TX 78745 



Fast. Cartridges run as fast, or faster, than 
fixed hard disk drives. A 5 mega¬ 
byte backup takes only a few 
minutes, using Micro-Design’s 
backup utility software. 
Switching out cartridges 
takes just a few seconds. 

Convenient and 
Secure. It'S easy to 
lock-up sensitive files 
—just remove the car¬ 
tridge and put it somewhere safe. If you share a computer 
with others, everyone can have their own cartridge. Or, have 
a home cartridge and a business cartridge for use with your 
portable computer. 





IBM® International Business Machines. 



INKEY$ 


If the key pressed has not been 
handled by one of these lines, it 
must be analyzed by the main pro¬ 
gram. Therefore, MOVE.IT is set to 


7 


have seen some other 
wise very good pro¬ 
grams that make it pos¬ 
sible for the user to inadver- 
tently destroy the screen 
layout or that make it diffir 
cuh for the user to go back 
and correct entries. 


true (the value of the key pressed 
was assigned to the variable KY in 
line 240), and the routine returns to 
the main program. 

For example, pressing the up 
cursor key will cause MOVE.IT to 
be set to YES, and a return will be 
done. In line 1140, the program 
moves back to the preceding field so 
the user can change the entry. In 
line 1100, the program assumes that 
the user wants the prior entry, since 
there are no prior fields. By testing 
the value of KY, the user could add 
different instructions for each possi¬ 
ble special key, such as PgUp, 

PgDn, FI, Cursor Down, etc. 

Just Another INKEY 
Routine? 

INKEY routines are as common as 
dust, but I feel that this one has 
some good features not commonly 
found in such routines. Still, I can 
almost guarantee that most pro¬ 
grammers will want to modify it for 
their own use. In fact, I frequently 
modify it for different applications. 

As a software reviewer, I have 
seen otherwise good programs that 
permit the user to inadvertently 
destroy the screen layout or that 
make it difficult for him to go back 
and correct entries. This routine 
should give programmers some ideas 
for building both control and flexi¬ 
bility into programs. 

August 1984 


Still Fixing Bugs 
The Hard Wry? 



,<T Jl' 


Ready to take the sting out of 
debugging? You can with 
Pfix86™ and Pfix86 Plus™, the 
most advanced dynamic and 
symbolic debuggers on the 
market today for PC DOS and 
MS-DOS™ programmers. 

What other debugger offers 
you an adjustable multiple- 
window display so you can view 
program code and data, break¬ 
point settings, current machine 
register and stack contents all 
at the same time? And, an in¬ 
line assembler so you can make 
program corrections directly in 
assembly language. Plus, pow¬ 
erful breakpoint features that 
allow you to run a program at 
full speed until a loop has been 
performed 100 times, or have 
the program automatically jump 
to a temporary patch area. 

Or maybe you’re tired of 
searching through endless piles 
of listings for errors? With Pfix86 
Plus you won’t have to. You can 


locate instruction and data by 
the symbolic name and using 
the symbolic address. Handle 
larger, overlayed programs 
with ease. And, Pfix86 Plus is 
designed to work with our 
Plink86™ linkage editor. 

But that’s not all. With a single 
keystroke you can trace an in¬ 
struction and the action will be 
immediately reflected in code, 
data, stack, and register win¬ 
dows. Pressing a different key 
will elicit a special trace mode 
that executes call and loop 
instructions at full speed, as 
though only a single instruction 
were being executed. 

And you get an easily acces¬ 
sible menu that makes the 
power of our debuggers instant¬ 
ly available to the new user, but 
won’t inhibit the practiced user. 

So, why struggle with bugs? 
Pfix86 by Phoenix. Pfix86 $195. 
Pfix86 Plus $395. 

Call (1) 800-344-7200, or write. 


Phoenix Software Associates Ltd. 

1420 Providence Highway Suite 260 
Norwood, MA 02062 
In Massachusetts 16171 769-7020 


Pfix86, Pfix86 Plus and Plink 861are trademarks of Phoenix Software Associates Ltd. 
MS-DOS is a trademark of Microsoft Corporation 


CIRCLE NO. 145 ON READER SERVICE CARD 
















Professional BASIC ™ cuts your 
program debugging time in half. 

Or your money back. 






Personal Com¬ 
puter. (If expan¬ 
sion boards are 
used, that means 
up to 640K.) Now 
you can create and 
run programs almost as big as your 
imagination—and talent. 


The 8087 Connection. Accurate, 
High-Speed Math. 


Professional 
BASIC was de¬ 
signed to use the ultra¬ 
fast 8087 math coprocessor. 

The 8087 allows floating-point 
math operations to be performed 
with lightning speed. Professional 
BASIC enables you to fully utilize 
the 8087—to dramatically acceler¬ 
ate execution of programs involving 
complex floating-point computa¬ 
tions. (8087 coprocessor optional.) 

Read What The Experts Say. 

“This version of BASIC sets new 


256 K 


640 K 


standards for 
usability and ‘user 
friendliness’.” “Morgan’s 
product supports, in an unprec¬ 
edented way, the visualization of 
program execution.’’ 

April 1984 
Byte Magazine 


“The real magic of Profes¬ 
sional BASIC is its wealth 
of‘windows’ into an ex¬ 
ecuting program. ” “I’m 
frankly amazed. My hat 
is off to Dr. Bennett... 

An elegant piece of cod- 
‘ ig indeed.” 

Februaiy 1984 
Personal ComputerAge 


“This version of the 
language sets new stan¬ 
dards ...” “The user interface... 
is unbeatable for program develop¬ 
ment. ’’ “... You owe it to yourself to 
pick up the phone and order a copy 
of Professional Basic.” 

June 1984 
Dr. Dobb's Journal 


n ntroducing Professional 
BASIC™. A powerful new 
BASIC programming language that 
can help you debug, or learn—and 
then master—the language. Profes¬ 
sional BASIC can actually double 
your programming efficiency. Or 
your money back. * 

What You See Is What You Get. 

Because Professional BASIC has a 
sophisticated window-oriented 
system environment—containing 
more than a dozen visualization 
and debugging screens—you see 
clearly and precisely the execution 
of your program. Line by line pro¬ 


gram execution unfolds via a dy¬ 
namic program trace... showing 
changes in variables or array ele¬ 
ments ... or the progress of FOR/ 
NEXT loops or GOSUBS. Using Pro¬ 
fessional BASIC, even beginning 
programmers will be able to pro¬ 
duce code quicker, with far less 
frustration. 


Now, Access All The Memory Of 
Your PC. 

Professional BASIC can use all of 
the mem¬ 
ory avail¬ 
able in 
your IBM 


64 K 


Makes Learning The BASICs 
A Snap. 



Learn more about the BASIC lan¬ 
guage ... in significantly less time. 
With Professional BASIC there are 
over 18 different ways to view your 
program as it operates, step by step. 
On a split screen display you 
see, on one side, a dynamic 
display 
executing 
program’s 
code... on 
the 
other 
side you 
actually see 
changes in variables 
as they occur. 


PROFESSIONAL BASIC 
SPECIFICATIONS 

IBM PC or XT™, Compaq™, or 
100% compatibles. 

DOS 2.x operating system. 

1 Double-sided disk drive. 
256K RAM minimum (384K 
recommended) 

8087 Chip optional 


Ask your local dealer for a 
demonstration, or call or write 
Morgan Computing Co., Inc. at 
10400 N. Central Expressway, 
Suite 210, Dallas, Texas 75231 
(214/739-5895). Suggested re¬ 
tail is $345.00. (Dealer inquiries 
welcome.) Demo disk is $5.00 
(includes demo on TRACE86™ 
and TED™). 


•Sole remedy for failure of product to double your 
debugging speed is return of full purchase price. To 
obtain a refund you must act within thirty (30) 
days of purchase (i.e.. return both product and 
original sales receipt) and have completed and filed 
all warranty registrations with MCC. Further, you 
must reaffirm you have not copied the product 
or violated any copyright of MCC. Contact 
MCC for additional information. Offer expires 
November 1, 1984. 



Morgan Computing Co., Inc. 

Software Designed 
By Professionals. 

For Professionals. 


CIRCLE NO. 135 ON READER SERVICE CARD 
















INKEY$ 


Listing 1 INKEY.BAS 


580 IF CURSOR.POS > INS.LENGTH THEN INS.LENGTH - CURSOR.POS - 1 

590 IF FL > 1 THEN 190 

10 DEFINT A-Z: SCREEN 0,0,0,0: WIUIH ou 

15 FG-7: BF-0: COLOR FG.BG: CLS 


600 COLOR FG.BG: LOCATE, CURSOR.START, 0, 7: PRINT IN*; 

610 IN* - LEFT*(IN*. INS.LENGTH): INSERT - NO 

620 RETURN 

20 OEF SEG: POKE 106,0 

30 YES * NOT NO: NO = NOT YES 

40 ESC * 27: ESC* * CHR*(ESC) 


670 ' 

680 ' main menu: 

690 ' 

45 ENTR* - CHR$(13) 

50 BACKSPACE* = CHR*(8) 

60 LF.CURSOR-75: RT.CURSOR-77 


700 CLS 

710 LOCATE 4,33: PRINT " MAIN MENU " 

720 LOCATE 10,33: PRINT "1 Enter Data" 

65 END.KEY-79: INS.KEY-82: OEL.KEY-83 

66 HOME-71: CTRL.END-117 

70 GOTO 700 


730 LOCATE 11,33: PRINT "2 Print Reports" 

740 LOCATE 12,33: PRINT "3 Save Data" 

750 LOCATE 14,33: PRINT " SELECT " 

90 ' 

91 " " inkey routine'''' 

92 ' 

100 'FL is the field length, passed 


760 LOCATE 14,33: FL = 101: GOSUB 100 

770 IF IN* < "1" OR IN* > "3" THEN 760 

780 ON VAL(IN*) GOTO 1000, 2000, 3000 

990 ' 

105 'to this routine by the main program. 

110 * 

120 INS.LENGTH » 0: CURSOR.POS * 1 


1000 'enter data: 

1010 ' 

1020 CLS: LOCATE 4,35: PRINT "DATA ENTRY": 1-1 

125 SOUND 80, .03: MOVE.IT = NO: KY - 0 

130 CURSOR.START - POS(O) 

140 CHAR.ACCEPT.CODE = FIX( FL / 100 ) 


1030 LOCATE 10,20: PRINT "NAME: " NAM*(I) 

1040 LOCATE 12,20: PRINT "ADDRESS: " ADDR*(I) 

1050 LOCATE 14,20: PRINT "CITY: " CITY*(I) 

150 FL - FL - CHAR.ACCEPT.C0DE*100 

160 IN* « SPACE *(FL) 

170 IF PROMPT*<>"" 


1060 LOCATE 16,20: PRINT "STATE: " STATE*(I) 

1070 LOCATE 16,40: PRINT "ZIP: H ZIP*(I) 

1079 ' 

THEN IN*-LEFT*(PROMPT*+SPACE*(FL),FL) 

175 INS.LENGTH»LEN(PROMPT*): PROMPT*-"" 

180 COLOR BG,FG 


1080 'name: 

1090 LOCATE 10,30: FL = 25: PROMPT* = NAM*(I): GOSUB 100 

1095 IF IN* = ESC* THEN 700 

190 LOCATE, CURSOR.START, 1: PRINT IN*; 

200 LOCATE, CURSOR.START + CURSOR.POS - l 

210 N* - INKEY*: IF N* - "" THEN 210 


1100 IF MOVE.IT THEN IF I > 1 THEN I - I - 1: GOTO 1030 

1110 NAM *(I) - IN* 

1120 'addr: 

220 IF LEN(N*) - 1 THEN 350 

230 ' Lines 240 thru 330 check for special keys. 

235 'You can omit this section if you do not need 


1130 LOCATE 12,30: FL = 20: PROMPT* = ADDR*(I): GOSUB 100 

1140 IF MOVE.IT THEN 1090 

1150 ADDR*(I) = IN* 

236 'this function. 

240 KY - ASC( RIGHT*(N*,1) ) 

245 ' check for edit keys: 


1160 'city: 

1170 LOCATE 14,30: FL - 15: PROMPT* = CITY*(I): GOSUB 100 

1180 IF MOVE.IT THEN 1130 

250 IF KY-LF.CURSOR THEN IF CURSOR.P0S>1 

THEN CURSOR.POS»CURSOR.POS-1:GOTO 200 ELSE 320 

260 IF KY-OEL.KEY 


1190 CITY*(I) = IN* 

1200 'state: 

1210 LOCATE 16,30: FL = 202: PROMPT* = STATE*(I): GOSUB 100 

THEN IN*-LEFT*(IN*. CURSOR.POS-1) + RIGHT*!IN*,FL-CURSOR.POS)+" 

INS.LENGTH - INS.LENGTH - 1: GOTO 190 

270 IF KY-INS.KEY THEN IF INSERT-NO THEN INSERT-YES 


1220 IF MOVE.IT THEN 1170 

1230 STATES*="OK TX AL GA FL AZ SC MI- 
1240 LOCATE 18,30 

275 LOCATE,,,4,7: GOTO 190 ELSE INSERT-NO: LOCATE,,,7: G0T0210 

280 IF KY = HOME THEN CURSOR.POS = 1: GOTO 200 

290 IF KY - CTRL.END THEN IN* = LEFT*(IN*.CURSOR.POS-1) + 


1250 IF INSTR(STATES*, IN*) = 0 THEN PRINT "INVALID STATE": GOTO 1210 

ELSE PRINT SPACE*(13) 

1260 STATE *(I) = IN* 

SPACE*(FL - CURSOR.POS + 1): INS.LENGTH = CURSOR.POS - 1: GOTO 190 
300 IF KY- RT.CURSOR THEN CURSOR.POS « CURSOR.POS - 
(CURSOR.POS < INS.LENGTH): GOTO 200 


1270 'zip 

1280 LOCATE 16,47: FL » 105: PROMPT* - ZIP*(I): GOSUB 100 

1290 IF MOVE.IT THEN 1210 

310 IF KY = END.KEY THEN CURSOR.POS - INS.LENGTH + 1: GOTO 200 

320 MOVE.IT = YES 

330 GOTO 600 'not an edit key, but Is a special key: end input. 


1300 LOtATE 18,46 

1310 IF VAL(IN*)<30000 OR VAL(IN*)>89999! THEN PRINT"INVALID ZIP": 

GOTO 1280: ELSE PRINT SPACE*(11) 

340 ' 

350 IF N* = ESC* THEN KY » ESC: IN*-N*: GOTO 320 

360 IF CURSOR.POS - 1 THEN IF N* - OR N* = "+" THEN IN* - N*: 


1320 ZIP*(I) - IN* 

1330 'loop: 

1340 I - I + 1 

COLOR FG.BG:LOCATE,,0: RETURN 

370 IF CURSOR.POS > FL THEN 420 

380 IF CHAR.ACCEPT.CODE - 0 AND N* >- " " AND N* <- "z" THEN 500 

390 IF CHAR.ACCEPT.CODE = 1 AND N* >- "0" AND N* <- "9" THEN 500 


1350 GOTO 1030 

2000 ' 

2010 GOTO 700 

3000 ' 

400 IF CHAR.ACCEPT.CODE « 2 THEN IF N* >- " " AND N* <- "a" THEN 500 

ELSE IF N* >» "a" AND N* <» "z" THEN N* - CHR*(ASC(N*)-32): 

GOTO 500 


3010 GOTO 700 

410 'IF CHAR.ACCEPT.CODE-3 THEN IF MID*(ACCEPT*,CURSOR.POS,1) * ? THEN .. 
420 IF N* - ENTR* THEN 600 

430 IF N* <> BACKSPACE* OR CURSOR.POS = 1 THEN 210 



440 ' 

450 IN* * LEFT*(IN*, CURSOR.P0S-2) +RIGHT*(IN*, FL -CURSOR.POS+D+" " 

460 INS.LENGTH * INS.LENGTH -1 



470 CURSOR.POS * CURSOR.POS -1 

480 GOTO 190 

490 ' 



500 IF NOT INSERT THEN MIO*(IN*, CURSOR.POS, 1) - N*: GOTO 550 

510 IF INS.LENGTH >= FL THEN 210 

520 IN*- LEFT*(LEFT*(IN*,CURSOR.POS-1)+N*+RIGHT*(IN*.FL-CURSOR.POS+l),FL) 



530 CURSOR.POS - CURSOR.POS + 1: INS.LENGTH = INS.LENGTH + 1 

540 GOTO 190 

550 IF CURSOR.POS = 1 THEN IN* = N* + SPACE*(FL - 1): PRINT IN*;: 



LOCATE, CURSOR.START: INS.LENGTH « 1 

560 PRINT N*; 

570 CURSOR.POS « CURSOR.POS + 1 




August 1984 


39 









PC BRAND HAS UNBEATABLE 


C has rapidly become the language of 
choice for serious software devel¬ 
opers. The language of maximum 
portability across the spectrum of 
today’s personal computers. The 
language which will most rapidly adapt 
to tomorrow’s machines. The companion 
language to Unix™, the operating 
system destined for predominance. 
Major companies such as Microsoft and 
Micropro know this. They have switched 
to C for their applications development. 
How ready are you for the future? 

PC Brand has the complete line of 
today's finest professional C tools. Not 
just the finest compiler, but libraries for 
graphics and screen design, overlay 
linkers, and program editors acclaimed 
as the best of their kind. It is a complete 
workshop of craftsman’s tools which will 
turn you into a C professional in a hurry; 
capital equipment which will pay back 
your investment many times over. 

Take the time to read this advertise¬ 
ment. You are sure to see the competi¬ 
tive edge these products will deliver. 


LATTICE C 

The Preeminent 16-bit C Compiler 

Y 


ou can find a more economic way to 
learn C, but if your interest is 
program development, Lattice C™ is the 
unparalleled choice. Byte said "the 
Lattice C compiler produces remark¬ 
able code .. .outstanding in terms of 
both execution speed and code com¬ 
pactness”. After reviewing nine 
compilers for the PC, the PC Tech Journal 
unequivocally declared Lattice C "best 
for software development... it compiles 
fast and produces fast programs". 

Lattice C is a full implementation of 
Kernighan and Ritchie, not a subset, and 
even offers extra features such as nested 
comments, 39-character variable names 
and extra compile time checks for some 
of C’s subtler errors. The compiler 
comes with a full library of I/O routines 
which implement under MS™-DOS most 
of the Unix-compatible standards 
described by Kernighan and Ritchie. 


HALO 

A Spectacular Graphics Extension to Lattice C 


PMATE 

The Programmer’s 
Word Processor 

P mate was designed for program¬ 
mers. We’ll wager that you cannot 
find a programmer who has discovered 
Pmate and moved on to something else. 

Pmate is a full screen editor with ten 
auxiliary buffers for squirreling away 
pieces of text until needed. It uses single 
key commands to move the cursor, or 
text, or insert or delete, or rescue sev¬ 
eral thousand characters of deleted text. 

It has a format mode for tab setting or 
wraparound and shaping when it’s time 
to write documentation. Pmate lets you 
assign chains of commands or strings of 
text to single keys: one keystroke could set 
up the entire shell of a new C function, 
for example. 

Pmate has variables, if-then state¬ 
ments, loops. It calculates, and converts 
decimal to hex to binary and back. You 
can write compact programs (called 
"macros") to delete comments, for exam¬ 
ple, or check syntax, or process long 
sequences of commands. Macros can al¬ 
phabetize lists, do row and column math, 
perform a series of operations on multi¬ 
ple files, even summon other macros. 

Put another way, Pmate is a text editor 
with its own built-in interpretive lan¬ 
guage. A language you can use to com¬ 
pletely customize this text editor to your 
fancy. Possibly the most artful, ingenious 
program you have ever seen. 

Product Code: S0600 Our Price: 

Suggested Retail: $225.00 *175.00 


H alo™ will astound you. It provides a 
complete library of graphic func¬ 
tions which can be linked with your Lat¬ 
tice programs to create full-color charts, 
graphs, simulations, even animation. 

Over 100 commands-are at your 
disposal, including plot, line, arc, box, 
circle, plus single commands to produce 
bar graphs and pie charts. Pattern-fill 
and dithering commands give your 
graphics impressive texture and color 
mixes, rubber-banding draws shapes for 
interactive users, area moves produce 
animation, fill and flood commands paint 
areas. The newest version allows you to 
define your own world coordinate 
scheme, divide the screen into 
"viewports" (windows), and scale 
graphic figures automatically. 

It’s a long list of capabilities which 
make for an extraordinarily powerful 
product. In fact, Halo is so good that 
manufacturers of graphics boards and 
systems are adopting it as a standard 
graphics language. So it can bridge your 
application to other systems. CAD-CAM 
developers, especially, have embraced 
its device-independent approach for 
maximal portability. 

Halo is a dazzling demonstration of 
why C has become the language of 
choice among programming profes¬ 
sionals: its function library architecture 
means you can tremendously enhance 
your firepower by acquiring libraries of 
software like Halo with dramatic 
economy of time and money. 

Requires IBM monochrome or color 
graphics card or equivalents. 

Product Code: S0300 Our Price: 

Suggested Price: $200.00 *125.00 


Lattice C runs on virtually any com¬ 
puter using an 8086 or 8088 microproces¬ 
sor, and we carry two versions for either 
PC-DOS™ or CP/M-86™. Create your 
source files with any word processor or 
text editor like Edlin or our Pmate™ and 
Lattice C will compile them into Intel 
8086 object module format ready for 
linking with other modules by linkers 
such as DOS’ Link or our Plink86™. 

Lattice C offers a choice of four mem¬ 
ory models which allow the program 
designer to choose the right combination 
of efficiency and size for an application: 
a range between 64K and a full mega¬ 
byte for program and data area size. 

The documentation, which Byte says 
"sets such a high standard of excellence 
that others don’t even come close", 
features sample source programs and 
covers the interface to assembly 
language and machine dependencies. 

C’s structured approach encourages 
development of tight, fail-safe functions 
which can be counted on to return 
reliable results every time. Local 
variables unknown outside of functions 
to safeguard against collision. Extremely 
powerful nested expressions which 
produce elegant, concise code. 

Requires 128K RAM. 

For PC-DOS: Product Code: S0100 

For CP/M-86: Product Code: S0120 Our Price: 

Suggested Price: $500.00 *295.00 


PLINK86 

Overlay Linkage to Expand 

S oftware is becoming ever more 
sophisticated, which means more 
complex programs requiring large 
chunks of memory. But if you use extra 
memory, if you count on users to have 
expanded RAM, you will forego sales to 
those who do not. 

Plink86 is the answer. It takes on the 
job of shoe-horning large programs into 
small memory. First, Plink86 acts as an 
alternative to DOS’ Link. For a language 
like C which encourages design of sep¬ 
arately compiled object modules in the 
Microsoft relocatable format, Plink86 
pulls modules together into single com¬ 
piled programs. But Plink86’s overlay 
power is what has gained it a reputation 
as a miracle worker. It binds into the 
compiled program its overlay manager 
which knows how to swap modules of 
your large linked program between disk 
and memory, so that each can temporar¬ 
ily occupy the same memory space. 

Unlike other linkers, the overlay 
manager acts on its own, needing no 
calls from the source program. Instead, 
Plink86’s straightforward overlay 
description language allows you to 
describe your overlay structure in one 
place in your program — a structure 






FOR V PROFESSIONALS 

Equip Your Workbench with Our 
Precision Quality Craftsman' Tools 


C-FOOD SMORGASBORD 

A Menu of Difficult to Prepare C Fun ctions 


All products operate on the IBM PC or 
PC/XT under PC-DOS and require no 
more than 64K of RAM unless indicated. 

Prices, terms and specifications 
subject to change without notice. 


C is a language of function libraries: 

sturdy routines which your 
application can effortlessly reference to 
get the job done. But someone has to 
write them. It would take months to 
concoct and perfect the complex and 
useful servings which have been 
prepared for you and thoroughly tested 
in C Food Smorgasbord™. 

Decimal Arithmetic: Functions to 
perform operations on binary-coded 
decimal (BCD) numbers of up to sixteen 
significant digits. Includes trigonometric 
and logarithmic functions, powers, 
conversions to strings, and much more. 

Level 0 I/O Functions: Enable you to 
perform direct I/O operations for 
screen, keyboard, printer, and 
asynchronous port with no dependence 
on higher I/O functions to minimize 
memory usage and maximize speed. 

IBM™ PC BIOS Interface Access: 
Allows you to get at the basic I/O 
services in the ROM BIOS not available 
through the normal operating system to 
get and set the video mode, cursor 
position, color and screen attributes, 


Your Art of the Possible 

permitting up to 4,095 overlays stacked 
32 deep. And you don't have to re¬ 
compile to re-arrange the structure. 

Plink86 is a two pass linkage editor. On 
the first reading it determines all mod¬ 
ules which need loading, to insure 
greater flexibility in assigning memory 
segment addresses before the disk file 
is created on the second pass. It can 
even sub-divide its linked output into 
multiple files for programs which must 
span more than one disk. 

But most of all it sets you free to write 
the comprehensive code today’s users 
have come to expect without sacrifices to 
memory constraints. 

Product Code: S0500 Our Price: 

Suggested Price: $395.00 *315.00 


keyboard shift, scrolling, printer channel 
and port status. 

TIP, the terminal independence 
package: Lets you easily move programs 
to computers with different types of 
terminals. 

There is a basket of delicacies beyond 
this brief list; a cornucopia to sample, 
any one of which will save valuable time 
and pay back far more than C-Food 
Smorgasbord’s overall price. 

Product Code: S0200 Our Price: 

Suggested Price: $150.00 $115 on 


Prices do not include shipping and 
handling. 

You may freely use these products to 
create software applications for re-sale 
without additional licenses or royalty pay¬ 
ments, provided your applications are not 
wholly or substantially replications of the 
products themselves. 


Unix: TM Bell Laboratories / Lattice C and C-Food 
Smorgasbord: TM Lattice Inc. / MS: TM Microsoft Inc. 
/ Halo: TM Media Cybernetics / IBM: TM 
International Business Machines / Float87: TM 
Microfloat / Panel: TM Roundhill Computer Systems 
Ltd. / Plink86 and Pmate: TM Phoenix Software / 
CP/M-86: TM Digital Research 


PANEL 

Are You Still Coding Hand-Made Data Entry Screens? 


D esigning custom screens is intricate, 
time-consuming, and costly. It can 
make you the loser in competitive 
bidding. It can add weeks, even months 
to bringing your product to market. 

But not when you use Panel™. Put 
Panel to work and you hire a superpro¬ 
grammer for the minimum wage. Telling 
Panel your screen design is like using a 
word processor. You can add, move, 
copy, delete, and reshape fields with 
single key commands. The result? 
Finished C program code with field 
descriptors, color and highlighting, input 
editing by type of field, help keys, and 
warning messages. 

Panel can also create a terminal 
selection program customized for your 
application, and gives you a utility to 
quickly test your finished screens. It 
even includes a multi-key data file 
maintenance program which interacts 
with the screen you design. All the tools 
you need to generate code for the 
trickier aspects of your application, or 
even to create stand alone data entry 
and retrieval products without any 
programming. 

Panel routines are powerful. Unlike so 
many programs which make error 
correction difficult once a field is 
departed, Panel gives the user full field- 


to-field movement for editing, and 
overtype or insert/delete within fields. 

A truly superior productivity tool 
every developer should have. 

Product Code: S0400 Our Price: 

Suggested Price: $295.00 


*235.00 


FLOAT-87 

Software Support for 
the 8087Math Chip 


F loat-87 1,151 is a library of floating-point 
math routines which are merged into 
a Lattice C interface library. The rou¬ 
tines handle all arithmetic functions and 
the most frequently used transcendental 
or trigonometric functions, and pass all 
numbers to the 8087 to take advantage of 
its 80-bit data format. 

Putting Float-87 to work with an 8087 
can increase the speed of floating-point 
calculations by 40 times or more — and 
with greatly expanded accuracy. If you 
or your customers have an Intel 8087 
math processor chip on board, this 
software will switch on its afterburners. 


Product Code: S0700 
Suggested Retail: $125.00 


Our Price: 

* 100.00 


CIRCLE NO. 170 ON READER SERVICE CARD 

You won’t find an offer like this 
elsewhere: Exceptional prices 
and software fully supported by a 
knowledgeable staff specializing 
in ’C’ and companion tools. 


1-800-PC BRAND 

That's l-(800) 722-7263. In NY State call (212) 410-4001. 

Charge your purchase to MasterCard or Visa. 

Or mail your order and check to 
PC Brand, P.O. Box 474, New York, N.Y. 10028 


© 1984 PC Brand 


PC Brand and Craftsman 
are trademarks of PC Brand 









Tech Journal 

















































William Redmond is a software analyst for the Legislative Service Bureau of Michigan. He 
has worked in data processing for 15 years and with micros for 2 years. 


MANAGING 

MEMORY 

A guided tour of DOS 2.0 memory management 


William J. Redmond 


Fundamentals 

Three categories of memory are in¬ 
side the PC. The first type is ROM 
(or read-only memory), which con¬ 
tains the BIOS (BASIC I/O System) 
routines, system-initialization rou¬ 
tines, and the cassette BASIC inter¬ 
preter. The other two categories of 
memory—planar memory and I/O 
channel memory—are contained in 
RAM (random-access memory) and 
are intended for use by the operat¬ 
ing system of the PC and by the 
user. Planar comes from the Latin 
word planus, which means level or 
flat. The word is used by computer 
technicians to refer to the main sys¬ 
tem board in the IBM PC. (This 
board is also commonly referred to 
as the mother board.) 

The original PC allows for four 
rows, or banks, of RAM. Each bank 
contains 16K bytes with a parity bit. 
With the four banks filled, there¬ 
fore, the original PC has a planar 
memory of 64K bytes. The newer 
board for the IBM PC utilizes the 
same four rows of chips, but the 
256K memory chips are used in 
place of the 16K chips, allowing a 
maximum obtainable memory on 
the planar board of 256K bytes. 

In either case, once the planar 
board is fully populated (that is, the 


O ne of the major advantages of 
the PC's 16-bit 8088 micro¬ 
processor is that it can address a 
megabyte of internal memory. This 
capability has allowed the develop¬ 
ment of word processing, spread¬ 
sheet, graphics, and data base pro¬ 
grams (among others) with features 
that only a few years ago were 
limited to large mainframe com¬ 
puters. As new releases of 
PC- DOS have become 
more and more sophis¬ 
ticated, it has be¬ 
come necessary and 
desirable to increase the 
amount of memory avail¬ 
able to the user. 

For me, this was no prob¬ 
lem. I purchased an IBM PC back in 
the days of DOS 1.0. It contained 
64K of user memory, which was, of 
course, not enough, since I wanted 
to use the Macro Assembler (requir¬ 
ing 96K). I therefore bought a 
multifunction expansion board, al¬ 
lowing me to increase the memory 
on my system from 64K to 320K. 

With that expansion board, 
however, my system took 52 sec¬ 
onds—it seemed like a .lifetime — to 
go through its initialization routines 
from a power-up. I began to re¬ 
search a solution to my problem. 


August 1984 


43 
















































Memory 


maximum memory is installed on 
the board), if more RAM is desired, 
it is necessary to use an input/out¬ 
put expansion slot and install one of 
the many^available memory expan¬ 
sion cards. The memory con¬ 
tained on these expansion boards is 
called I/O channel memory. 

For purposes of clarity, the fol¬ 
lowing discussion of switch settings 
will refer to the old-style planar 
board with 16K RAM chips. On the 
planar board are two switches (SW1 
and SW2) that are used to designate 
the amount of planar and I/O chan¬ 
nel memory present in any particu¬ 
lar PC configuration. The values of 
these switches are used by the ini¬ 
tialization routines in ROM to de¬ 
termine how much user memory 
(RAM) exists in the system. (See the 
Options section of the Guide to Op¬ 
erations to set these switches.) 

Two toggle switches on SW1 in¬ 
dicate how much planar memory 
exists in increments of 16K. These 
two toggles may contain a binary 
value of 0 through 3, indicating 
16K, 32K, 48K, or 64K. 

SW2, on the other hand, uses 
four toggle switches (binary values 
0 through 15) to designate how 
much I/O channel memory exists 
on the PC in increments of 32K. 

Each 16K-byte block of memory 
is written with a data pattern, then 
read back and verified. Five data 
patterns (11111111, 01010101, 
10101010, 0000001,and 00000000) 
are processed for every byte of 
memory. Given the amount of code 
that is executed to perform these 
tests, it takes about 2 seconds to ini¬ 
tialize 16K bytes. A 64K-byte sys¬ 
tem will use about 8 seconds to ini¬ 
tialize and verify all of the memory 
on the planar board. 

While checking for data mis¬ 
match during this process, the 
memory test routines also check to 
see if parity errors have occurred. 
Each byte of memory contains 8 bits 
and a parity bit. The memory-write 
logic of the PC always records an 
odd number of "on" bits for each 


byte that is stored. If the number of 
"on" bits is even, the parity bit is 
set on to make the number of "on" 
bits odd for this byte. When data 
are read from memory, the mem¬ 
ory-read logic checks to make sure 
that there is an odd number of "on" 
bits in each byte. If this is not true, 
a parity error is indicated. 

Port 62H is the port address of 
SW2, which is used to indicate how 
much I/O channel memory exists. 
Bits 7 and 8 of this port are used by 
the planar board and memory ex¬ 
pansion boards to indicate a parity 


O nce the planar 

memory has been 
verified , the initial¬ 
ization routines check to 
see if the phinar board is 

fully populated, so, the 

mput/output channel 

memory is then tested in 

the same fashion as is the 

planar board memory. 

error. Bit 7 is used for the parity 
check indicator for the I/O channel, 
and bit 8 is used for that indicator 
for the planar board. 

Once the planar memory has 
been verified, the initialization rou¬ 
tines check to see if the planar 
board is fully populated. If so, the 
I/O channel memory is then tested 
in the same way the planar board 
memory was tested. 

If a parity error or data mis¬ 
match occurs during the verifi¬ 
cation process, the monitor is reset 
to 40x25 video mode and an error 
message and memory address are 
displayed, along with one long and 
one short system beep. (Note: If the 
first 16K of planar memory fails ini¬ 
tialization, no message is generated, 
and the processor simply halts.) 

It is also useful to know that if 
a parity error occurs after system 
initialization, the monitor will dis¬ 


play "Parity Check 1" for a parity 
error on the planar board and "Par¬ 
ity Check 2" for one on an I/O 
channel memory expansion board. 

Once all this initialization has 
been successful, the amount of user 
memory (planar board, plus I/O 
channel if the planar board is fully 
populated) is stored in a variable lo¬ 
cated in a fixed location at 40:13 in 
memory. This variable is called 
MEMORY.SIZE (see page A-2 in the 
original Technical Reference and 
page A-3 in version 2-2). The total 
amount of I/O memory is then 
stored in the IO_RAM_SIZE vari¬ 
able, located at 40:15 in memory. 
The values stored in the variables 
represent the number of kilobytes 
of memory,- a value of hexadecimal 
140 thus indicates 320 bytes. 

Methods of Memory 
Management 

During DOS initialization, the value 
in the MEMORY_SIZE variable is 
used to inform DOS how much 
total memory is present. This is im¬ 
portant because DOS is responsible 
for memory management. 

Memory management refers to 
the process of allocating mem¬ 
ory areas for use by programs and 
freeing those same memory areas 
when their use is no longer re¬ 
quired. This includes assigning 
space for the COMMAND processor 
and all programs executed by COM¬ 
MAND or any other program. 

DOS 1.0 and 1.1. Versions 1.0 and 
1.1 of DOS used a simplistic mem¬ 
ory management scheme that was 
sufficient for the single-user, single¬ 
task systems that these versions 
were. The value of MEMORY_SIZE 
at 40:13 was captured locally in 
COMMAND'S permanently resi¬ 
dent portion, located just above 
DOS. The offset of this variable in 
DOS Li's COMMAND code seg¬ 
ment is CS:452. Whenever a mem¬ 
ory area was required for DOS 1.1, 
all available user memory was allo¬ 
cated by the user program itself; 
DOS was not directly involved. 


44 


PC Tech Journal 































With PC TURBO...Speed Wins the Race. 


In business, success comes to those who 
win the race against deadlines and competi¬ 
tion.The IBM™ PC is a great tool, but valuable 
time can be wasted waiting for it to recalcu¬ 
late spreadsheets, retrieve data, or execute 
the newer and more complex software pack¬ 
ages. PCturbo,™ new from Orchid, can help 
you win and enjoy the fruits of success. 

PCturbo is the ultimate IBM PC produc¬ 
tivity enhancement. It boosts the execution 
speed of your PC so you can get more done 
in less time. And it's transparent to existing 
programs such as WordStar,™ Lotus 1-2-3,™ 
and dBase II™ So, with PCturbo, your PC 
looks and acts the same as before; it just 
runs faster. 

Who needs PCturbo? Anyone who ever 
waits for their PC to finish executing so they 
can run something else. Programmers wait¬ 


ing for compilers to finish before testing a 
new feature. Businessmen waiting for a data 
base to retrieve account information. Word 
processors waiting for the spelling checker 
to finish before printing. 

PCturbo does more than just speed up the 
PC. It extends the life of slower, older pro- 



ORCHID 


ORCHID TECHNOLOGY 
47790 Westinghouse Drive 
Fremont, CA 94539 
(415) 490-8586 Telex: 709289 


grams. It provides a base for new sophisti¬ 
cated software. And it protects your PC 
investment. You get your work done quicker 
and decisions made sooner. The very reasons 
you got a computer in the first place. Write 
or call for more information. 

TECHNICAL DETAILS: 

Hardware 

■ One slot plug-in board with high-speed 16- 
bit processor (8086 or 80186) 

■ Up to 640K on-board memory for a maxi¬ 
mum of 1.28 Mbytes total PC memory. 

■ Simple “one step” installation. 

Software 

■ Runs IBM PC-DOS 2.0/1 on either the IBM 
PC or XT. 

■ Provides disk caching, RAM disk using avail¬ 
able PC memory up to 640 Kbytes. 

■ Concurrent program execution available 
soon. 

Corporation. WordStar is a trademark of MicroPro. 


PCturbo is a trademark of Orchid Technology. IBM PC and XT are trademarks of International Business Machines 
Lotus 1-2-3 is a trademark of Lotus Development Corporation. dBase II is a trademark of Ashton-Tate. 

CIRCLE NO. 180 ON READER SERVICE CARD 



























'—-\ 

WHY FORTH ? 

• Genuinely Interactive 
(BASIC is much less interactive) 

• Encourages Modular Programs 
(inefficiency and cluttered syntax 
hamper effective modularization in 
compiled languages) 

• Fast Execution 
(not even C is faster) 

• Amazingly Compact Code 

• Fast Program Development 

• Easy Peripherals Interfacing 

H /4orth 

• Fully Optimized & Tested for: 

IBM-PC IBM-XT IBM-JR 

COMPAQ EAGLE-PC-2 

TANDY 2000 LEADING EDGE 
and all MSDOS compatibles 

• Graphics - line, rectangle, block 

• Music - foreground and 
background 

• Scaled decimal floating point 

• Includes Forth-79 and Forth-83 

• Full Support for DOS Files, 
Standard Screens and Random 
access DOS Screen Files 

• Full Use of 8088 Instructions 
(not limited 8080 conversion subset 
of transported versions) 

• Separate Segments for Code, 
Stack, Vocabularies, and Defini¬ 
tion Lists - multiple sets 
possible 

• Segment Management Support 

• Full Megabyte - programs 
or data 

• Coprocessor Support 

• Multi-task, Multi-user 
Compatible 

• Automatic Optimizer 

(no assembler knowledge needed) 

• Full Assembler 
(interactive, easy to use & learn) 

• Compare - BYTE Sieve 
Benchmark jan83 

HS/FORTH 47 sec BASIC 2000 sec 
w/AUTOOPT 9 sec Assembler 5 sec 
other Forths (mostly 64k) 70-140 sec 
PS You don’t have to understand 
this ad to love programming in 
HS/FORTH! 

HS/FORTH with AUTO-OPT & 
MICRO-ASM $220. 

!!S Visa Mastercard 
Add $10. shipping and handling 

HARVARD 

SOFTWORKS 

PO BOX 339 
HARVARD, MA 01451 
(617) 456-3021 

___ J 


Memory 

DOS 2.0. Version 2.0 of DOS drasti¬ 
cally changed the concept of mem¬ 
ory management on the IBM PC. 
Rather than treating user memory 
as one giant entry, DOS 2.0 intro¬ 
duced memory control blocks as a 
means of allocating and de-allocat¬ 
ing memory for programs. This type 
of memory use control is necessary 
if the IBM PC disk operating system 
is to evolve into a multi-tasking 
operating system. (All indications 


are that DOS 3.0 will support multi¬ 
tasking on the PC.) 

The memory control block is 
made up of 16 bytes (one paragraph) 
of data that immediately precede an 
allocated memory area. In DOS 2.0, 
not all 16 bytes are actually used. 
The functions of those that are used 
can be found in table 1. (A bit of 
trivia: in table 1, notice that the let¬ 
ters "M" and "Z" indicate logical 
ends of a chain of memory links. 
Note also that the first two letters of 
an EXE file that has been linked are 
"MZ." It seems more than just a 
little coincidental that the man who 
is most responsible for DOS 2.0 is 
named Mark Zbikowski.) 

Added Functions. Three new 
functions were added to DOS 2.0 to 
deal with these memory control 
blocks and to allocate and de-allo- 
cate memory for programs: 

48 Allocate memory 

49 Free allocated memory 

4A Modify allocated memory 

blocks 


The first function links 
through all memory control blocks 
starting at the memory address 
stored in DB:[10C] (which contains 
the address of the first memory con¬ 
trol block) until it finds an available 
area that is large enough to satisfy 
the allocation request. Once it finds 
such an area, it builds an "in-use" 
memory control block and links it 
into the chain of memory control 
blocks through memory. 


If no area is large enough for 
the allocation request, an error 8 is 
returned in AL to indicate insuffi¬ 
cient memory. If, during the process 
of linking through memory control 
blocks, a block is found that does 
not contain "M" or "Z" as the first 
byte, an error 7 is returned in AL to 
indicate that the memory control 
blocks have been destroyed. 

The purpose of the function 
that frees allocated memory is to 
mark a previously in-use memory 
control block to indicate that the 
memory area that follows is now 
available. This is done by storing 
zeros in the word at offset 1 in the 
memory control block. 

The third new function, which 
modifies allocated memory blocks, 
changes the size of an in-use mem¬ 
ory area (if possible). This may in¬ 
volve "growing" or "shrinking" the 
existing in-use area. (In the initial 
release of DOS 2.0, it appears that 
this DOS function will only 
"shrink" a memory area.) 


Table 1: Functions of Memory Control Block Byi 


1 


p 


Ivt 

p 

1 

T ‘ ilnr* 


Use 







-1 

YP 


0 

iffset 













rj 



n 




A/f" 






ro 


f-T-i/7 Inert r\no it 


V 

yte 


U 

H 



M 



used in all memory c 
mp.mnrv 

:om 

,LU1 UlUl 

✓AO 

uALc/ji/l 






_! 



_i 

l_ 


Z" 

!_-| 


j.c used to indicate that this is the last memory control 












block 









V 

VOIC 

1_ 

1 

-2 



0 



indicates an available area 











I- 


E 

ton- 

zerc 

) 

indicates an in-use a 

rea (points back to the program 

seg - 




... ~- 



| 





ment prefix) 

V 

VOTC 

l 


|4 




— 


indicates size of this 

area (in paragraphs) 

and 

is used 

! foi 










j 


linking through memory areas 







( - 


































CIRCLE NO. 222 ON READER SERVICE CARD 


PC Tech Journal 






















PCnet from OtdiidTechnology 

fm The Most Advanced, Affordable Way to 

Transformer Personal Computers into a Fully 
Integrated,High-Speed Local Area Network. 



DISKLESS 
CAPABILITY 
• With remote 
boot option, 
PC without 
diskette drive 
automatically 
downloads 
DOS from disk 
server at 
power up 


PRINTER SHARING 
• Non-dedicated printer 
server on any PC 


RAM DISK 
• Provides faster 
access than hard disk 
and diskette drive 


EACH DISK/FILE 

SERVER 

• Up to 16 public and 
private volumes 

• More than one 
private/public read 
write volume for 
each PC 


DISK CACHING 
• Improved speed in 
accessing data normally 
on the disk drive 



PCnetTALK 



• Send 



message/ 



Hard Disk 



IBM™ PCs. Take your choice. 

$495 per node when purchased as a 
stand-alone. 

$395 per node when purchased with 
BLOSSOM (384K RAM, Clock, IO) 

Orchid, the creator of PCnet, has made 
high-performance local area networking 
affordable to all PC users. Contact your 
local dealer or Orchid today to unlock the 


power of your IBM PC and find out more 
about our full line of products. 

PCnet— Stand-alone Network Board 
PCnetPlusRam— PCnet + 256KRAM 
PCnetBlossom 1 - PCnet + 384K RAM + 
Serial Port + Parallel Port + Clock Calendar 
Blossom— New Generation Multifunction 
Board 

PC turbo— The Ultimate IBM PC 
productivity enhancement board 


IBM PC is a registered trademark of International Business Machine Corporation. 

PCnet, PCnetPlusRam, PCnetBlossom, Blossom and PCturbo are all trademarks of Orchid Technology. 


CIRCLE NO. 192 ON READER SERVICE CARD 



ORCHID 


ORCHID TECHNOLOGY 
47790 Westinghouse Drive 
Fremont, CA 94539 
(415) 490-8586 Telex: 709289 







Memory 



TALL TREE 
SYSTEMS 


INTRODUCING 

JRAM-2 

THE ONLY 
TWO MEGABYTE 
MULTIFUNCTION 
BOARD 

Break through the 640K-byte memory 
barrier! Put two MEGABYTES of 
RAM plus all the most popular I/O 
functions—serial ports, parallel ports, 
and clock/calendar—in a single PC 
slot! Includes JETDRIVE RAM disk 
and JSPOOL printspooler. 


JRAM-2 OPTIONS 

JRAM-2 OK.$219 

JRAM-2 OK, Clock/Cal.$299 

JRAM-2 OK, Serial, Parallel 

ports, Clock/Cal.$399 

JRAM-2 OK, Two Serial ports .. .$349 

JRAM-2 OK, Two Serial ports, 
Clock/Cal.$399 

JRAM-C (For Columbia PC) 

OK, Clock/Cal.$249 


MEMORY 

64K chips $50/Bank 
256K chips $500/Bank 

DOS 2.0, 2.1 SOFTWARE 


JETDRIVE.$60 

WINDRIVE.$60 

JFORMAT-2.$60 

JSPOOL.$60 


TALL TREE SYSTEMS 

1032 ELWELL COURT, SUITE 124 
PALO ALTO, CA 94303 
(415) 964-1980 


Memory Links 

Linking through the memory con¬ 
trol blocks is relatively easy. Start 
with the address of the first mem¬ 
ory control block, which depends 
on the version of DOS being run, 
whether a fixed disk is installed, 
and whether a PC jr is being used. In 
DOS 2.0, the pointer is located at ad¬ 
dress DB:10C ; for DOS 2.1 it is 
found at DB:178. Add 80H to each 
of these addresses if a hard disk is 
installed, and add 70H if a PC jr is 
being used. The final address points 
to the paragraph in memory that 
contains a memory control block. If 
the word located at byte offset 3 in 
this memory control block is added 
to the address of the memory con¬ 
trol block, and if 1 is then added to 
that (to compensate for the size of 
the memory control block itself), 
the address will be that of the next 
memory control block (see figure 1). 

This adding process continues 
until the byte at offset zero in the 
memory control block equals a "Z." 
In this "ending" memory control 
block, the word at offset 3 in the 
block indicates the number of para¬ 
graphs that remain in user memory. 
When DOS initializes, this "end of 
user memory" reflects the amount 
of memory that is indicated by the 
planar board switches. 

Listing 1, MEMINIT.ASM, uses 
the above information to determine 
the amount of user memory avail¬ 
able, then adjusts the memory con¬ 
trol blocks to reflect the addition of 
this memory. With this program, it 
is possible to set the switches to in¬ 
dicate a small amount of memory 
(so that power-on memory diagnos¬ 
tics run quickly) but still be able to 
use all the user memory installed 
on the PC. Using MEMINIT, my 
system, with 320K user memory, 
powers up in 15 seconds (including 
the execution of MEMINIT). 

The switches on the planar 
board are set up to indicate that 80K 
of user memory exists (even though 
there is actually 320K). This in¬ 
cludes 48K on the planar board and 


32K on the I/O channel. If the sys¬ 
tem has any I/O channel memory 
and parity is not disabled, a parity 
check is generated by the board 
when the system is powered up. 

This causes the memory test rou¬ 
tines to sense a parity error during 
initialization of the planar board, 
and the system will halt with no 
error messages generated. 

If the user specifies that some 
I/O channel memory exists, the ini¬ 
tialization routines perform one 16K 
write operation to the expansion 
memory, but since the planar board 
is not fully populated according to 
the switches, the I/O expansion 
memory is never tested later. This 
one-time write operation effectively 
resets the parity check indicator, al¬ 
lowing initialization of the 48K on 
the planar board to finish normally. 
Now when the system powers up, 
the ROM routines recognize 48K of 
user memory (enough for DOS 2.0 
to be loaded without any problem). 

If it is necessary that more than 
48K be recognized (either because 
some program contains its own boot¬ 
able operating system or because de¬ 
vice drivers are loaded prior to the 
completion of DOS initialization), 
the required minimum amount may 
be specified on the planar board 
switches. Remember that each 16K 
specified adds another 2 seconds to 
the initialization time. 

How MEMINIT Works 

Once DOS is initialized, MEMINIT 
may be executed to configure the 
user memory correctly on the sys¬ 
tem. The first function of 
MEMINIT is to determine the 
physical amount of user memory in¬ 
stalled on the PC. This is accom¬ 
plished by starting at the end of 
memory (as indicated by the planar 
board switches) and writing the seg¬ 
ment number into that memory 
word. That word is then read back. 
If it contains the same data that 
were written, the program assumes 
that the memory exists and it, 
therefore, continues to run. 


48 


PC Tech Journal 






















Something Totally New in Applications Software From Borland, 
Hie Folks Who Make Turbo Pascal.© I 


im m 


If you’ve ever found yourself searching 
for a calculator or a notepad when 
you’ve got a computer right in front of 
you, then you know why we came up 
with Sidekick®. 


WHETHER YOU’RE RUNNING 
1-2-3, WORDSTAR, 
dUBASEH OR WHATEVER . . . 

JUST A KEYSTROKE 
AND A SIDEKICK 
WINDOW OPENS ... 

® A CALCULATOR 

• A NOTEPAD 

• AN APPOINTMENT 
CALENDAR 

• AN AUTO DIALER 

• AN ASCII TABLE 

• AND MUCH MORE 

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

ANOTHER KEYSTROKE, 

AND YOU’RE RIGHT 
WHERE YOU LEFT OFF 
IN YOUR ORIGINAL 
PROGRAM! 

(you never really left!) 



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

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


Available only for the IBM PC, XT, jr. and Compatibles. 


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

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 calcu¬ 
lation, or jot down a note, then you understand why. 
’Only with Hayes Smartmodem and compatibles. 


YOB CAN ORDER YOBR COPY OF SIDEKICK® TODAY! 

For Visa and MasterCard orders call Toll Free 1-800-227-2400 ext 953 in California 1-800-772-2606 ext 953 
(lines open 24 hours, 7 days a week) Dealer and Distributor Inquiries Welcome 408-438-8400 


' SIDEKICK $49.95 

(plus $5.00 shipping and handling 
• Shipped UPS) 

Check □ Money Order □ 

VISA □ MasterCard □ 

C Card * / . _ ■ 

lixf)iratioriJDate '_ 


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

NAME ____ ■ 

ADDRESS _ . _ H 


CITY/STATE/ZIP . 
TELEPHONE _ 


jj>) BORlAflD 

D) INTERNATIONAL 


California residents add 6% sales tax. Outside U.S.A. add $15.00. (If outside of 
U.S.A. payment must be b.y bank draft payable in the U.S. and in U.S. dollars.) Sorry, 
no C.O.D. or Purchase Orders. 


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



















The new IBM DisplayWrite 









here. Spread the word. 

In 1980, IBM introduced the Display writer System. 

Today, its become the best-selling stand-alone text processor 
in the world. One reason for this success is the Display writers 
function-rich software. 

If you’re looking for software like that, but working 
on an IBM personal computer, you don’t have to look any further. 

Because the IBM DisplayWrite Series is here. 

And it will put many of the features and capabilities of a 
dedicated word processor to work for you when you’re writing. 

It runs in the family. 

\bu’ll find two word processing programs in this series: 

There’s DisplayWrite 1, for IBM personal computers — including 
PCjr. And DisplayWrite 2, with added functions for your PC, 

PC/XT or Portable PC. 

You’ll also find DisplayWrite Legal, a dictionary of about 
16,000 words that a lawyer might need to check. 

And you’ll find DisplayComm, which lets your IBM PC 
send and receive text to and from other IBM PCs. If you’re 
writing at the office, this program could also let you send text 
to an IBM Displaywriter down the hall. (From there, it could be 
sent on to an IBM host computer for distribution.) 

Some words on high function. 

The DisplayWrite word processing programs give you the 
time-saving features you’d expect from IBM. Justified margins, 
centered lines and pagination, for example. You’ll even have 
prompts and messages to help guide you along. 

But there are also some features in DisplayWrite 2 you 
might not expect. Like easy column formatting, four-function 
math capability plus a spelling checker based on a dictionary of 
about 100,000 words. 

\et the biggest surprise of all may be the price* 

DisplayWrite 1,** $95. DisplayWrite 2, $299. DisplayWrite 
Legal, $165. DisplayComm, $375. 

Where you can find allfour. 

Get more information about the IBM DisplayWrite Series at 
your authorized IBM Personal Computer dealer or IBM Product 
Center. To find one near you, call 800-447-4700. In Alaska or 
Hawaii, 800-447-0890. 

Stop there first and get the last word. 



Personal Computer Software 


CIRCLE NO. 152 ON READER SERVICE CARD 










Memory 



□ PACK 1: Building Blocks 1 

250 Functions: DOS, 

Printer, Video, Asynch 

Object 

$99 

Source 

$149 

□ PACK 2: Database 

100 Functions: B-Trees, 
Variable Records 

Object 

$149 

Source 

$Call 

□ PACK 3: Communications 

135 Functions: Smart- 
modeirT, Xon/Xoff, 
Modem-7, X-Modem 

Object 

$149 

Source 

$Call 

□ PACK 4: Building Blocks II 

100 Functions: Dates, 

Text Windows, 

Data Compression 

Object 

$129 

Source 

$Call 

□ PACK 5: Mathematics 1 

35 Functions: Log, Trig, 
Square Root 

Object 

$99 

Source 

$Call 

□ PACK 6: Utilities 1 

35 Functions: Archive, DIR 
Manipulation 

Object 

$99 

Source 

$Call 


NOTE: Above Packs for Lattice"- 1 Compiler on 
IBM PC/XT ,M 

To Follow: Graphics, Advanced Math, Other 
Compilers and Hardware 
Prices above for single user, multi user 
license available 

Credit cards accepted ($7.00 handling/Mass. 
add 5%) 


gH ■ SOFTWARE 

“ _ ttORizons 

J ■ inc. 

165 Bedford Street 
Burlington, Mass. 01803 
(617) 273-4711 



This loop keeps checking mem¬ 
ory at each 16K boundary until the 
data read do not equal the data writ¬ 
ten or until the top of user memory 
(640K) is reached. The newfound 
memory is initialized to a value of 
hexadecimal 0. When the memory 
is read back, no false parity errors 
occur since BIOS did not initially 
touch these memory words. At pow¬ 
er-up all memory locations contain 
a binary value of zero with a parity 
bit also equal to zero, which will 
generate a parity error and cause the 
system to halt if a memory location 
is read before it is written. To avoid 
this, MEMINIT writes to all new 
memory but does not verify it as 
BIOS initialization does. This is 
where the speed is gained. 


At this point, the program 
knows exactly how much user 
memory is available to the PC. It 
must then tell DOS that this new 
memory exists. This is done in two 
ways, depending on the DOS ver¬ 
sion. In DOS 1.1, the memory size 
variable is located in COMMAND'S 
code segment, which resides just 
above DOS in low memory. The off¬ 
set of the memory size variable that 
is in COMMAND'S code segment is 
hexadecimal 452. 

Locating COMMAND'S code 
segment (in order to fix up this 
memory size variable) is slightly 
tricky. When MEMINIT is exe¬ 
cuted, the program segment prefix 
indicates a terminate address for the 
program. This address, CS-.IP, points 


CIRCLE NO. 175 ON READER SERVICE CARD 


PC Tech Journal 









































































































































































































Concise structure and fast exe- 
cution make C the ideal language 
for applications and system-level 
programming. 

And compared with other MS™ 
DOS C compilers, Microsoft® C 
consistently produces the fastest 
executable code. 

It supports the full C language 
and includes an extensive library 
of subroutines that implement 
most UNIX™compatible functions. 

Small, medium, compact, and 
large memory models give you 
flexibility in selecting the address- 
ing requirements of your software. 
Programs can be designed to make 

MICROSOFT, effective use of 

The High Performance Software tilG HVHllSDlC 

memory of your computer, up to 
one megabyte. 

Microsoft C Compiler provides 
you with a complete development 
system including the compiler, 
run time library, linker and library 
manager, and full support of 


*Price exclusive of handling and Washington State sales tax. 
Microsoft is a registered trademark and MS is a trademark of Microsoft 
UNIX is a trademark of Bell Laboratories. 

** Reprinted with permission. BYTE Magazine, August ’83. 


MS-DOS 2.0 directory structure 
(pathnames) and I/O redirection. 

How do programmers feel 
about Microsoft C? 

“In the top category for its quick 
compile and execution time, small 
incremental code, best documen¬ 
tation, and consistent reliability!’** 
—Ralph Phraner, BYTE Magazine 

“Best for software development’.’ 
—Bill Hunt, PC Tech Journal 

“Produces good, tight-running 
programs’.’ 

—Peter Norton, Softalk 


Call 800-426-9400 to order 
the raging C* $500? 

In Washington State, call 206- 
828-8088. Ask for operator C5, 
who will rush you your order, 
send you more information, or 
give you the name of your nearest 
dealer to see Microsoft C in action. 



Corporation. 


Programmers: Save time & 

money. Write better programs. 

THE PROGRAMMER'S SHOP helps you find products, 
services and support - at good prices. We provide: 

• Free product literature • Over 300 products 

• Product comparisons • Newsletters 

AND: • Bulletin Board • Special disk formats • Good prices • Rush orders 

• Volume purchasing help • VISA/MC, COD, POs • Programmer's Referral List 

• Special Reports • Find a publisher • Tech help • "Pioneer Program" 

Save effort and frustration - find what you need. 


UNIX for the IBM PC 


Consider UNIX for PRODUCTIVITY - the alternatives: 


COHERENT by Williams $500 

COHERENT by NCI 695 

IDRIS by Whitesmiths 695 

QNX by Quantum 650 

VENIX by Venturecom/Unisource 800 

XENIX by MicroSoft/Santa Cruz 1350 


Developing for MSDOS? Real Time? Call for details, to compare, to learn about 
compatible computers, benchmarks, speedup hardware. (Others 
are coming.) Ask about languages, business software supported. 

For a catalog, comparisons, prices, or for an info packet on AI, or 
Editors, "C", BASIC, PASCAL, FORTRAN, or COBOL — or just for 
straight answers — 

Call 800-421-8006 


THE PROGRAMMERS SHOP 


128-PRockland Street, Hanover, MA02339 
Mass: 800-442-8070 or 617-826-7531 





[piaoiLOO-as"" 

Learn Fast, 
Experiment 

1 or 2 pages of PROLOG would 
require 10 or 15 pages in "C." 

Be familiar in one evening. In a few 
days enhance artificial intelligence 
programs included like: 

• an Expert System 

• Natural Language 

Intro price: $125 for PCDOS, 

CPM-86. 

Full Refund if not satisfied. 

SOLUTION SYSTEMS™ 

45-PAccord Park, Norwell, MA 02061 

617-871-5435 


(g manga? ,m 

UNIX-like Utilities for 

C Programming 

Save time when working with 
your C programs. Full source lets 
you modify, helps you learn. 

Utilities included: compare files 
(DIFF), cross reference variables 
(CCREF), examine flow of 
functions (FCHART), search for 
patterns (GREP). Others check 
syntax, print your way, more. 

$135 for MSDOS, CPM-86 or CPM80. 

SOLUTION SYSTEMS™ 

45-PAccord Park, Norwell, MA02061 

617-871-5435 


Memory 

to the resident portion of COM¬ 
MAND. By storing the CS portion 
of this address the program can lo¬ 
cate and fix up the memory size 
variable that is stored there. 

DOS 2.0, however, does not 
simply store the memory size in one 
of COMMAND'S variables. Instead, 
memory links (like those described 
in this article) are constructed 
through memory. The last memory 
link constructed is an available link 
and defines the number of para¬ 
graphs of user memory existing 
beyond its own memory address. To 
modify this value (so that the addi¬ 
tional user memory will be recog¬ 
nized and used by DOS) the pro¬ 
gram must chain through the mem¬ 
ory links until the last link is 
reached. This is done in the subrou¬ 
tine called UPDATE.MEMORY. 
CONTROL.WORDS. 

This routine starts at the mem¬ 
ory control words immediately pre¬ 
ceding the program segment prefix. 

It links through the memory con¬ 
trol blocks until the ending block is 
found (byte zero of the block equals 
a "Z"). The new memory size is 
then converted to paragraphs, after 
which the distance from the ending 
memory control block to the new 
end of memory is calculated. This 
new value is stored in the ending 
memory control block. 

The only task remaining to do 
is display the results of MEMINIT's 
operation. Three values are re¬ 
ported: the initial memory size en¬ 
countered in 40:13 (which is initial¬ 
ized by the hardware switches); the 
total amount of memory added by 
MEMINIT; and the new total mem¬ 
ory storage used. Notice that if 
CHKDSK is run after MEMINIT is 
executed, the new memory is added 
and is now recognized by DOS. 

Knowing how DOS handles 
memory management will not 
make anyone a DOS expert, but it is 
useful and satisfying to understand 
what is one of the most important 
features of any operating system. 


54 


CIRCLE NO. 239 ON READER SERVICE CARD 


PC Tech Journal 





















tVRK'iouS 

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 9.110. OVClTHyS, 

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 <Sc 
Chip Barnaky, PC World 

Call 800-426-9400 to order 

the ferocious FORTRAN* 
$350? 

In Washington State, call 206- 
828-8088. Ask for operator C4, 
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. 



IBM PC 

For information inter¬ 
change, backup and archi¬ 
val storage, IBEX offers a 
9-track, IBM format-com¬ 
patible V/magnetic tape 
subsystem for the IBM PC, 
featuring: 

■ 42 M-Bytes on a single 
reel. 

■ Automatic loading. 

■ IBM format 1600 cpi. 

■ Software for PC-DOS, 
MS-DOS or CPM-86. 

Write, phone or TWX 

for information |||||||||in jjjjM|j 


IBEX COMPUTER CORP. 

20741 Marilla St. 
Chatsworth, CA 91311 
(213) 709-8100 
TWX: 910-493-2071 


CIRCLE NO. 124 ON READER SERVICE CARD 




IBM PC SYMBOLIC DEBUGGER 

• Watch highlighted changes on dynamic display 

• Alter registers, flags, and memory 

• Display dataas decimal or hex or character 

• Scroll through so u rce I i st i n g 

• Single-step program being debugged 

• Execute procedures at normal speed 

• Go to breakpoint at normal speed 

• Interrupt execution on checkpoint conditions 

• Use symbols and 8086 addressing modes 

Requires: 

IBM PC or PC/XT. PC/DOS 1.1 or 2 0. 64K RAM 
IBM Assembler, Color or Monochrome Adapter 


rffl RDT 

Software 


BUGSCREEN™ 

ONLY $95 
Demo $7 


Memory 


Listing 1 MEMINIT.ASM 

page 60,132 

title 'MEMINIT - Obtain all available user memory* 
subttl ‘Version 1.0 October, 1983* 

stack SEGMENT para stack 'STACK' 
db 16 dup('stack 'i 
stack ENOS 

data SEGMENT at 40H 
org 13H 

memory_size dw 
io_ram_size dw 

data ENDS 
code SEGMENT byte 


assume cs:code,ds:code,ss:stack 


original memory size dw ? 


original io memory dw ? 
additional memory dw ? 
starting memory block dw ? 

all sizes stored in 'K' bytes 

location of program's PSP 

command proc PSP dw ? 

location of command’s PSP 
(PSP=program segment prefix) 


crlf db 10,13,'V 

msgl db 'Original memory used:' 

msgldata db ' K bytes*' 

msg2 db ' Total memory added:' 

msg2data db ' K bytes*' 

msg3 db ’ Total memory:' 

msg3data db ' K bytes*' 

heading db 10,13,'MEMINIT - Version 1.00’,10,13 
db 10,13,'*' 

.RADIX 16 

dosfunction MACRO funct1on_number 
mov ah,function_number 
int 21 

endm 

print MACRO msg, msgdata 
mov bx,offset msgdata 
call convert_to_ascii 
mov dx,offset msg 
dosfunction 9 
mov dx,offset crlf 
dosfunction 9 

endm 


convert to 

ascii PROC 

far 



; convert to ascii converts a binary number 


; in AX 

to ascii display characters 

push 

dx 

; save register values 

push 

si 


mov 

cx ,6 

; initialize destination with spaces 

fill_buff: 



mov 

byte ptr [bx],' ' 

inc 

bx 


loop 

fill buff 


mov 

si.OA 


do divide: 



sub 

dx.dx 


div 

si 

; divide AX by 10 

add 

dx, '0' 

; convert remainder to ASCII digit 

dec 

bx 


mov 

[bx],dl 

; store this char in the string 

Inc 

cs 

; count converted character 

or 

ax,ax 

; all done? 

jnz 

do divide 

; no: get next digit 


; DOS data segment in low memory 

; total memory size (K bytes) 

; memory in 1/0 channel (K bytes) 


Box 96634 • Weathe r f o r d. O K 73O96 • (405) 772- 1 821 


56 


CIRCLE NO. 147 ON READER SERVICE CARD 


PC Tech Journal 



































































NWATKJN 

TALKS BUSINESS 


Introducing the LSI Cat Communication 
System ™with the Hayes compatible 300/1200 
Smart- CatPluS m modem. 





novation 




ATION 


NOVATION 


novation 


No more wondering what goes with 
what. Here’s the best modem and the best 
software for your specific computer—all in 
one package. 

Will your computer take an internal 
modem? Or do you prefer a stand-alone? 
And which operating system do you need— 
CP/M, CP/M-86, PC-DOS, MS-DOS? 

The Cat System includes them all. 

And no compromises. 

The quality starts with our new Smart- 
Cat PLUS modem. There is absolutely 
nothing else to equal it on the market. You 
get faster more accurate dialing. Automatic 
self-testing of the full communications cir¬ 
cuit. State-of-the-art advanced LSI circuitry. 
And more. It is simply the best there is. 

CIRCLE NO. 103 ON READER SERVICE CARD 


The software is MITE™ —menu-driven, 
easy-to-use, remarkably powerful. It gives you 
error-free data communications and instant 
access to Dow Jones, CompuServe and the like. 

With the Cat System everything you get 
is the best of everything—that includes the 
best price. Suggested retail: $499. 

See your dealer. He has them right now. 

Seven models covering the IBM-PCs and 
their bok-ahkes, DEC Rainbow, KAYPRO and 
their operating systems. More models to come. 

Novation, Inc., Box2875 
20409 Prairie Street, Chatsworth, CA 91311 
(800) 423-5419 • In California: (818) 996-5060 


NOVATION 


novation 

carom ns.*:** s\s*nw 






Summertime, and 


SOFTWARE 

ApTec (for color Prism Printers) 

Rainbow Writer Color Text Formatter . . .$119. 


Rainbow Writer Screen Grabber.69. 

Ashton Tate 

dBase II. 289. 

Friday!. 169. 

Best Programs 

PC/Personal Finance Program.65. 

PC/Professional Finance Program II .... 169. 

PC/Fixed Asset System. 297. 

PC/Tax Cut .175. 

Bible Research 

THE WORD (KJV Bible - 7 disks) .145. 

Bruce & James 

WordVision . 39. 

Continental 

Home Accountant Plus.89. 

FCM (was First Class Mail) .79. 

UltraFile (file/report/graph) .109. 

Digital Research 

CP/M-86 . 39. 

Dr. LOGO.69. 

Financier 

Financier II (was Personal Series) .115. 

Financier Tax Series.97. 

Funk Software 

Sideways.45. 

IUS 

EasyWriter I System 


Easy Writer I, Easy Speller I, Easy Mailer I ..159. 
EasyWriter II System 

EasyWriter II, Easy Speller II, Easy Mailer II . .195. 


Accounts Receivable. 295. 

Accounts Payable . 295. 

General Ledger. 295. 

Inventory. 295. 

Order Entry. 295. 

Package Price for any three above . 859. 

Payroll. 359. 

Lifetree 

Volkswriter.115. 

Volkswriter International.135. 

Volkswriter Deluxe (with TextMerge) .175. 

Lotus Development 

J \-2-3 (version 1 A) .call 

Micropro 

WordStar & Propak come with quick lesson 
CAI training disk and tutorial disk 

WordStar 3.3 . 235. 

ProPak (WordStar/MailMerge/ 

CorrectStar/StarIndex) .369. 

Microrim 

R:base 4000 . see special 

Extended Report Writer. see special 

Clout. see special 

Microsoft 

Multiplan (Version 1.1) .139. 

Microsoft Word (ver 1.1) 239. 

Microsoft Word with mouse (ver 1.1) .... 289. 

Microstuf 

Crosstalk XVI.105. 

Transporter (includes Crosstalk) .169. 

PCsoftware 

PCrayon (create in full color) .34. 

Executive Picture Show .139. 

CREATABASE .59. 


PC Connection 
Software Special 

through July 31, 1984 

MICRORIM 

R:Base 4000 (new version 1.1) 

• Fully relational database 

• 1 billion record capability 

• Improved programming capability... 
. $299. 

Extended Report Writer 

• Expands report capabilities of stan¬ 
dard report writer 

• Allows full captions, headlines, and 


page breaks. $85. 

Clout 

• Permits you to query database in 
plain English. $125. 


Peachtree 

PeachPak Series 4 (G/L, A/R, A/P) 

new version, IBM manuals .$195. 

PeachText 5000 (with ATI Training) .195. 

Peter Norton 

Norton Utilities.55. 

Satellite Software 

WordPerfect.call 4 

Software Arts 

TKISolver . 269. 

Financial Management Pack.85. 

Mechanical Engineering Pack.85. 

Software Publishing 

PFS/File. 89. 

PFS/Graph .89. 

PFS/Write.89. 

PFS/Report.79. 

Softword Systems 

Multimate (w/spell checker) .call 

Sorcim 

Supercalc II.149. 

Supercalc III . 199. 

Virtual Combinatics 

Micro Cookbook .29. 

Warner Software 


The Desk Organizer w/1 yr.free updates 197. 


TRAINING 

ATI 

How to use Lotus 1-2-3. 55. 

How to use Wordstar (vol 1 & 2) . 55. 

How to use dBase II (vol 1 & 2) . 55. 

How to use EasyWriter II. 55. 

How to use Multiplan. 55. 

How to use Your IBM-PC. 55. 

How to use MultiMate. 55. 

How to use Microsoft Word. 55. 

How to use PC DOS.— 55. 

How to use TK! Solver. 55. 

Individual Software 

The Instructor. 35. 

Professor DOS. 47. 

Tutorial Set (both items above) . 75. 

Professor Pixel. 47. 

Typing Instructor. 39. 

Lightning Software 

Master Type. 35. 


EDUCATIONAL 

Davidson 

Speed Reader II (high school & co/lege)$4 9. 


Math Blaster (grades 1-6) . 35. 

Word Attack (grades 4-12) . 35. 


Additional Data Disks for other ages are 
available for Speed Reader II and Word Attack 
at $15. each 


FriendlySoft 

FriendlyWare/PC Introductory Set . 35. 

Stone (requires graphics board) 

Great graphics and sound 
My Letters, Numbers, & Words (ages 1 

to 5) . 29. 

Kids Stuff (ages 3 to 8) . 29. 

Across the U.S.A. (ages 5 & up) . 22. 

GAMES 

Atarisoft 

Centipede . 29. 

Pac Man . 29. 

Dig Dug . 29. 

Defender . 29. 

Donkey Kong . 29. 

Blue Giant 

Hoser . 25. 

Broderbund 

Apple Panic . 23. 

Lode Runner . 25. 

EPYX/Automated Simulations 

Crush, Crumble & Chomp . 23. 

Star Warrior . 27. 

Rescue at Rigel . 23. 

Temple of Apshai . 27. 

FriendlySoft 

FriendlyWare/PC Arcade . 35. 

Funtastic 

Snack Attack II (a favorite) . 27. 

Cosmic Crusader (as good as above). 27. 

Big Top (climb to new levels) . 29. 

Master Miner (1 or 2 players) . 29. 

Hayden Software 

Sargon III . 35. 

Microsoft 

Flight Simulator (new ver.) . 35. 

Orion 

J-Bird . 29. 

PC-MAN . 27. 

Paratrooper . 25. 

Pits & Stones . 29. 

Sierra/On-Line 

Frogger . 27. 

Crossfire (keyboard or joystick) . 23. 

Ulysses and the Golden Fleece. 27. 

Sir-Tech 

Wizardry . 42. 

Sublogic 

Night Mission Pinball. 29. 


HARDWARE 

AST Research (For IBM-PC or XT) 

All AST Boards come with SuperDrive. 
SuperSpool, and one year warranty. 
SixPakPlus 64k upgradeable to 384k, with 
clock calendar, serial and parallel ports 
(game port optional) . 269 


DEFECTIVE SOFTWARE REPLACED IMMEDIATELY DEFECTIVE HARDWARE REPLACED OR REPAIRED AT OUR DISCRETION. SOME ITEMS HAVE WARRANTIES UP 'l O FIVE YEARS 
COPYRIGHT MICRO CONNECTION, INC. 1984. ALL ITEMS SUBJECT TO AVAILABILITY. PRICES SUBJECT TO CHANGE WITHOUT NOTICE IBM IS A REGISTERED TRADEMARK OF IBM CORP 
MICRO CONNECTION IS A TRADEMARK OF MICRO CONNECTION. INC. PC CONNECTION IS A REGISTERED TRADEMARK 














































































































computing is easy 


MegaPlus II 64k upgradeable to 256k (or 
more witn MegaPak) with clock calendar 
and serial port (parallel, game, or second 


serial port optional) . $269. 

MegaPak 128k (not upgradeable) . call 

MegaPak 256k . call 

I/O Plus II with clock calendar and serial 
port (parallel, game, or second serial 

port optional) . 129. 

Parallel, Game, or second Serial Port 

for any AST board (specify board) . 39. 

Connectall connector bracket (PC only) . 19. 

AST-5251 . 559. 

AST-3780 . 649. 

MonographPlus with clock calendar, serial & 

parallel ports . 429. 

Amdek 

Video 300G Monitor (green) . 149. 

Video 300A Monitor (amber) . 159. 

Video 31OA Monitor (amber) . 179. 

Color II RGB Monitor . 399. 

MAI Board (color & monochrome) .... 399. 
CompuCable 

Plastic Keyboard & Drive Covers Set... 17. 

IBM Mono Screen Enhancement . 17. 

Printer to IBM Cable (specify printer ) ... 32. 
Smartmodem to IBM Cable . 25. 

Curtis 

Low Profile Tilt & Swivel Pedestal 

(for any monitor) . 44. 

PC Pedestal (for IBM Mono or Color )... 55. 

PGS or Cuadchrome display adapter _ 9. 

System Stand (holds PC vertically) . 21. 

Extension Cables for IBM Mono Display. 40. 
Keyboard Extension Cable (3 to 9 feet). 32. 


AC Plug Adapter (any monitor to your PC) 8. 


Epson 

RX-80 with GRAFTRAX-Plus. call 

RX-80 F fT with GRAFTRAX-Plus. call 

FX-80 with GRAFTRAX-Plus. call 

RX-100 with GRAFTRAX-Plus. call 

FX-100 with GRAFTRAX-Plus. call 

LO 1500 (letter quality dot matrix) . call 

Printer to IBM Cable (specify printer )... 32. 
Hayes 

Smartmodem 300. 209. 

Smartmodem 1200. 489. 

Smartmodem 1200B (w/Smartcom II) . 409. 

Smartcom II. 99. 

Compucable's Smartmodem-to-IBM 

Cable . 25. 

Hercules Computer 

Hercules Graphics Card (parallel port) . 339. 
Hercules Color Card (parallel port ).... 179. 
Graph-X Software. 42 

IDS 

Prism 80 Printer (with all four options) . 1397. 
Prism 132 Printer (with all four options) 1597. 
Prism to IBM Parallel Cable. 32. 

Koala 

Koala Touch Tablet with software 
(connects to game port) . 89. 

Kraft 

Joystick. 39. 

Game Paddles (pair) . 29. 


PC Connection 
Hardware Special 

through July 31, 1984 

TEAC 

Half Height Disk Drive 5 y 4 “ (FD-55B) 

• Double Sided/Double Density 

• Formats 320k w/DOS 1.1 

• Formats 360k w/DOS 2.0 & DOS 2.1 

• Fully IBM-PC (and XT) compatible 

• Preconfigured for Drive A or Drive B 

• Step by step installation instructions 
supplied 

• Covered by 1 year manufacturers 

warranty .$165. 

Free mounting oracket & y power cable with 
each pair purchased. 


LIFE IN THE PC FAST LANE 

Our goal is to have what you want when you 
want it. On those rare occasions when we tell 
you we’re out of stock, it means one of several 
things. The manufacturer is out of stock. A 
new, favorable review has created heavy de¬ 
mand. An announced product is still unavail¬ 
able. Or, an updated version of the product is 
on the way, and we have no intention of selling 
an about-to-be-obsolete product (even if it 
means losing a sale). Whatever the reason, 
rest assured we'll give as firm an availability 
date as possible. 

OUR POLICY 

• We accept VISA and MASTERCARD. 

• No surcharge added for charge cards 
•Your card is not charged until we ship. 

• No sales tax. 

•All shipments insured; no additional charge. 
•Allow 1 wk. for personal & co. checks to clear. 

• COD max. $500. Cash or certified check. 

• 120 day guarantee on all products.* 

•To order, call us anytime Monday thru Friday 
9:00 to 9:00, or Saturday 9:00 to 5:30. 

SHIPPING 

Continental US: For monitors, printers, and 
drives, add 2% to all orders. For all other items, 
add $2 per order for UPS surface, $3 per order 
for UPS 2nd-Day-Air. We particularly 
recommend 2nd-Day-Air if you live west of the 
Mississippi or south of Virginia. In most cases it 
will only add $1 to your cost and will save you 
up to four days on delivery time. UPS Next Day 
Air also available Outside Continental US: 
We add freight charges to credit card pur¬ 
chases. For prepayment, call 603/446-3383 
for information. 

1 - 800 / 243-8088 

PC Connection 275T 

6 Mill St., Marlow, NH 03456 
603/446-3383 

For the IBM-PC Exclusively. 

CIRCLE NO. 182 ON READER SERVICE CARD 



Maynard Electronics 

Floppy Drive Controller.$165. 

Internal Hard Disk (10 Meg), WS-1 Controller 

& ROM for PC mother board. 989. 

Internal Hard Disk (10 Meg), WS-2 Controller 

& ROM for PC mother board. 1169. 

Mouse Systems 

PC Mouse (w/software & desk pad)... 197. 

NEC 

Spinwriter 3550 (IBM-PC compatible) . 1679. 
Spinwriter 2050 (3550’s little brother).. 869. 

Paradise Systems 

MultiDisplay Card (color & monochrome) 379. 


Plantronics/Frederick 

COLORPLUS (now w/Color Magic) _ call 

Princeton Graphics 

HX-12 RGB monitor (690 x 240)) . call 

SR-12 RGB monitor (690 x 480) . call 

MAX-12 Amber monochrome monitor.. call 

Quadram 

We are a full line Quadram Dealer 

New Expanded Quadboard 64k 


expandable to 384k, with clock calendar, 
parallel, serial & game port, I/O bracket, 


and Quadmaster software. 269. 

Microfazer Printer Buffer (parallel) w/copy 

MP 64 (64k) upgradable to 512k . 197. 

Quadcolor I. 197. 

Ouadcoior II upgrade (musthave 

Quadcolor I) 219. 

Quadchrome RGB Monitor. 497. 

Quadlink (allows you to run most Apple II 
programs directly on your IBM-PC or XT) 459. 

Quadisk (various sizes to 72 meg) . call 

Silver Reed (letter quality, 132 column) 
Silver Reed EXP 550 Printer (16 CPS). 549. 
Silver Reed EXP 770 Printer (30 CPS). 889. 
TG 

Joystick. 45. 

USI (monitors for graphics board) 

Pi-2 Monitor (12" green, with cable)... 119. 
Pi-3 Monitor (12" amber, with cable) .. 129. 


DRIVES 

All drives are completely pre-tested. Specify 
Drive A or Drive B for your PC. Comes with 
complete step by step installation instructions. 
Drives are 320K/360K. 

Tandon 

TM 100-2 (5 W) full-height drive (DS,DD) 229. 

TEAC 

FD-55B (5 W) half-height drive (DS,DD) 
Free y cable & bracket with each pair 
. see special 


MEMORY 

64k Memorv Uograde Set for IBM-PC or 

XT system board. 59. 

64k Memorv Uograde Set for any memory 

board specify make of board . 59. 

Install memory upgrades & run diagnostics 
at time of board purchase only . 10. 





































































H«TSOFTPRODUCTSINC 

A subsidiary of the University of Waterloo 

Announces 


a full screen editor and a family 
of language interpreters for the 
IBM Personal Computer 



For further information contact: 


WATSOFT Products Inc. (519) 886-3700 

158 University Ave. Telex No.: 06-955458 

Waterloo, Ontario- 
N2L 3E9 

CIRCLE NO. 228 ON READER SERVICE CARD 


MicroScript $149 

Customizable Text Formatter 

generic markup (GML compatible) 

multiline headers, footers, and footnotes 

automatic widow and orphan suppression 

automatic section numbering 

automatic bullet, number, and definition lists 

floating and inline figures 

left, center, right, or justify text alignment 

left and right indention with delay and duration 

bold, underscore, and generic attributes 

macros and symbols 

multiple input files of unlimited size 

format preview 

table of contents, index 

multiple columns 

conditional processing 

all printers 


MicroEd $99 

Customizable Full Screen Editor 
full cursor control by character, word, or line 
position to top or bottom of window or file 
scroll by line or window 
global or selective find and replace 
delete by character, word, line, or block 
read external files into current file 
copy, move, and write blocks of text 
insert, overlay, wordwrap, split, or join 
all cursor addressable VDTs 
all commands mapped in profile 


Postpaid within U.S. & Canada, outside U.S. add $ 5 , CA residents add 6V2% 

8" SS/SD CP/M-86*, 8" SS/SD CP/M-68K*, 5.25" SS/DD PC-D0S7 

MicroType ™ 

6531 Crown Blvd., Suite 3A, San Jose, CA 95120 
(408) 997-5026 

• CP/M-86, CP/M-68K, are trademarks ot Digital Research, PC-DOS is a trademark of IBM Corporation. 


VISA 


Master 

Card 


CIRCLE NO. 198 ON READER SERVICE CARD 


Memory 


pop 

si ; 

Restore registers 

pop 

dx 


ret 

• 

and exit 

convert to ascii ENDP 

update memory control words PROC far 

assume cs:code,ds:data,ss:stack 

PUMI 

eb 


push 

ds 


mov 

ax,data ; 

Set up DS to reference DOS 

mov 

ds,ax ; 

variables in low memory 

mov 

ax,starting memory block 


dec 

ax 

AX points to memory control block 



starting at that spot, look for 



the end of the memory links 



( byte zero = *Z' ) 

find ending 

link: 


mov 

es,ax ; 

set up address of mem control blk 

cmp 

byte ptr es:[0],5AH ; 

Is this the ending link? 

jz 

found the link 


add 

ax,es:[3] ; 

1 ink to next area 

inc 

ax 


jmp 

find ending link 


found the link: ; 

now update length field of this 



last mem control block to 



include the additional memory 

mov 

bx,memory size 


mov 

cl,6 


shl 

bx.cl ; 

, convert to K bytes 

sub 

bx.ax 


dec 

bx 


mov 

es:[3] ,bx 


pop 

ds ; 

, restore registers 

pop 

es 


cl c 


; indicate normal return (no error) 

ret 



update memory control words ENDP 


memory size 

initialize PROC far 


assume 

ds:code,cs:code,es:data,ss: 

: stack 

mov 

cs:starting memory block,ds 

push 

ds 


sub 

ax,ax 


push 

ax 


mov 

ax,code 


mov 

ds.ax 


mov 

dx ,es:[OC] 

COMMAND'S program segment prefix 

mov 

command proc PSP.dx 

which we will use to fix up 



DOS release 1.1 

mov 

dx,offset heading 

; put out introductory heading 

dosfunction 9 


mov 

bx .data 

get ROM-initialized 

mov 

es.bx 

memory size 

mov 

ax.memory size 

specifications 

mov 

original memory size,ax 


mov 

bx,io ram size 


mov 

original io memory,bx 


mov 

cl ,6 


shl 

ax,cl 

; convert from K bytes 

mov 

bx ,0 


memory loop: 


cmp 

ax ,0a000 

; check if greater than 

je 

initialize memory 

; 640K ..if so then end 


60 


PC Tech Journal 


























Imagine being able to connect your PCs 
simply and inexpensively into a true 
full-function local area network. 

Now you can . . . with 10-NET, a com¬ 
plete package designed so that you can 


easily install, learn and use it immediately. Everything 
you need to connect one PC into the network is included. 

10-NET is uniquely different from other LAN 
products in that it requires no dedicated hardware to 
serve the rest of the network. It is a truly distributed 
system where your resources may be shared, including 
expensive hardware and application programs. 

You can also share as much or as little data as you 
wish, with total data integrity and selective security. 

You get built-in extras, too: like electronic mail; 
calendar; “Chat,” a user-to-user communication facility; 
printer spooling; and “News,” a bulletin board function 
for network users. 


And, you can create a 
multi-user DBMS with 
unbelievable power and 
flexibility when you use 
10-NET with 10-BASE, a 
powerful, easy-to-use 
DBMS designed specifi¬ 
cally to work with 10-NET. 

Invest in 10-NET now. 
You can start simple, and 
expand as your business 
grows. And, at $695* you 
won’t find better perfor¬ 
mance or value, anywhere. 

Ask your software dealer 
10-NET, or call 1-800- 
1010 (1-800-782-1010 in 
Ohio), and start getting 
real work done. 
Dealer inquiries welcome. 
*suggested retail 


10-NET SPECIFICATIONS 
HARDWARE: 

PC plug-in circuit card, tap box, and 

cable to connect them 

Type: Carrier Sense Multiple Access 

with collision avoidance 

Speed: 1.0 million bits per second 

Distance: up to 3,000 ft. between 

repeaters 

SOFTWARE: 

Share any DOS-supported hardware 
device 

No dedicated server required 
Concurrency control—implicit & explicit 
Security—User, File, Node ID 
Ethernet compatibility—addressing & 
message format 

SYSTEM REQUIREMENTS: 

• IBM PC, XT or compatible 

• PC-DOS 2.0 

• 128K RAM 

• One or more disk drives 

• A cursor addressable monitor 

• Media: simple twisted pair wire 
Specifications subject to change without notice. 


FOX RESEARCH 

A subsidiary of ComGen Technology, Inc. 


CIRCLE NO. 138 


ON READER SERVICE CARD 


START NETWORKING NOW —Write for more information, or fill 
in and attach this to your business card or letterhead. 

Send more product I I Have a sales |—| Send a dealer kit 

information L_J representative call I I 

Send 10-NET. I need - units. (NOTE: you need one unit for 


each PC you wish to network.) Here’s my P.O. Number. 


I understand Fox will invoice me for $695 per unit plus shipping, 
handling and tax (where applicable). 

Send to: Fox Research, Inc., Attn: National Sales Manager, 

7005 Corporate Way, Dayton, Ohio 45459. 

PCTJ 8/84 


10-NET takes the 
work out of networking. 

Everything you need is in the box. 













Memory 


mov ds,ax 



call update memory control words ; routine for DOS 2.0 


mov [bx],ax ; 

write segment # into byte 




mov cx,[bx] ; 

read segment # from byte 


jmp display results 


cmp ax,cx ; 

if equal..memory exists 




jne initialize memory ; 

else no more user memory 


modify D0S1: 







add ax,400 ; 

increment segment # by 16K 


push ds 


jmp memory loop ; 

and try some more 


mov dx,command proc PSP ; get ready to store new 





mov ds,dx ; memory size in COMMAND'S 


initialize memory: ; 

write data into memory so that 


mov dx,memory size ; stored variable. 


; 

parity errors do no occur upon 


mov cl, 6 


; 

access of new memory 


shl dx,cl 





mov ds:[452] ,dx ; location of memory size on 


mov bx,memory size 



pop ds ; 00S release 1.1 


mov cl ,6 





shl bx,cT 



display results: 


push ax 

save the value for AX containing 


mov ax,original memory size 


pop dx 

the new top of memory. 


print msgl.msgldata 


mov ax,0 





cld 

set direction=forward 


mov ax,additional memory 





print msg2,msg2data 


store initial value: 








mov ax,memory size 


cmp bx.dx 



print msg3,msg3data 


je end of user memory 

go through newly allocated mem 




mov es.bx 

and write a pattern of X'0000' 


exit: 


mov cx,03fff 

into each word. This will protect 


ret 


mov di,0 

against a fatal parity error later 




rep stosw 

when mem is read without being 


memory size initialize ENDP 


add bx,400 

written.(Done 16K bytes at a time.) 




jmp store initial value 



code ENDS 


end of user memory: 



END memory size initialize 


push dx 

; restore the value for AX 




pop ax 





mov cl ,6 

convert from bytes to 




shr ax,cl 

K bytes 




mov bx.code 

calculate changed memory 




mov ds,bx 

sizes and .. 




mov bx.data 





mov es.bx 





mov memory size,ax 

; store back .. 




sub ax,original memory size 

; into DOS variables 




mov additional memory,ax 





add ax,original io memory 





mov io ram size,ax 





rlnc f iinr f i nn If) 

; check DOS version 




□ 05 T uni L lull Ju 

cmp al,00 





je modify D0S1 

; pre 2.0 DOS...handle special 




___ 





- - Know Thy PC! ^ 


Are you writing programs in BASIC or Pascal? The popular Peeks 
to Pokes has a disk with 58 programs and a 38-page manual that 
helps you get ‘underneath the covers’ of the PC. Learn how to use 
PEEK, POKE, INP, OUT, and DOS/BIOS function calls to do 
what you want, fast! Do you want to perform functions not 
available from BASIC or Pascal? It’s all explained in the manual 
and demonstrated in the sample programs. Source code included! 


Want to know more? The Inside Ttack! is a collection of advanced 
utilities for the PC programmer. It contains a disk with 61 pro¬ 
grams, a 42-page manual, and a fold-out memory map that helps 
you get better performance from the PC. With this package you can 
give your programs assembler-assisted speed from high-level lan¬ 
guages, get control over memory, customize and control the PC, 
and more. Some programs require DOS 2.00. Source code included! 


Peeks to Pokes shows you how to: 

• Access the system’s configuration 

• Unprotect BASIC programs 

• Scroll part or all of the screen 

• Access the file directory 

• Logically swap printers 

• Read and change the keyboard 

• Find more Peeks and Pokes 

• And much more... for only $30.00 




The Inside Track! shows you how to: 

• Read/write files as fast as DOS 

• Display data on the screen faster 

• Reserve memory for your use 

• Copy memory to another location 

• Copy-protect your programs 

• Load large programs faster 

• Control the keyboard settings 

• And much more... for only $45.00 


MasterCard and VISA accepted. Shipping charges: $2.50 per order for UPS; $2.50 per item for First Class Mail to USA and 
Canada; $6.00 per item for Air Mail outside USA and Canada. Dealer inquiries invited. 

Data Base Decisions • 14 Bonnie Lane • Atlanta, GA 30328 • 404/256-3860 

CIRCLE NO. 137 ON READER SERVICE CARD 


62 


















X-NET Local Area Network 
Broadens The Horizons Of All IBM PC's; 





X-NET: The affordable LAN that runs 
MBSI Accounting Software, Database, Electronic Mail 
and over 1,000 multi-user application packages. 


Here are some of the reasons your company needs X-NET 
Local Area Network: 

1. READY ACCESS TO ALL 

INFORMATION • With X-NET, any computer can get 
information from any other computer on the network. This 
means more than one operator can be entering orders, 
invoicing, changing inventory ... all at the same time! But 
where security is needed, you can keep any file private while 
still within the network. 

2. YOU CAN START SMALL ... Even if you 

have as few as two PC’s, you’ll have a system that is easily 
expandable and will grow with your company. 

3. ...OR GET BIGGER. X-NET grows as you grow, 
networks up to 255 PC’s, and best of all, expansion is so 
simple, you can do it yourself. 

4. MBSI ACCOUNTING SOFTWARE. 

X-NET’s software includes Accounts Receivable, General 
Ledger, Accounts Payable, Order Entry, Inventory Control 
and Payroll. You can still use your Spread Sheet and Word 
Processing software, but now much more effectively because 
your computer power is tied together. 

5. MULTI-USER DATABASE PACKAGE. 

Now even non-programmers can create network databases 
(with access security) in minutes. 

6. COBOL PROGRAMS • Over a thousand 
multi-user application programs designed for large computers 
now run on PC’s networked with X-NET. 


7. ELECTRONIC MAIL. X-MAIL gives you instant, 

infallible, confidential mail delivery in-house, and works 
24 hours a day and has total recall! 

8. AFFORDABILITY. X-NET offers more value for 
less money to any company doing computing on any level. 
And the software is priced comparably to what others are 
charging for no-growth single-user software. 

9. NO COSTLY CENTRAL FILE SERVER. 

X-NET eliminates the need of having an expensive computer 
to act as a Central File Server, something other networks 
require. 

10. SHARE YOUR PERIPHERALS. No longer 

does each of your computers need its own set of peripherals. 
Any computer on X-NET is linked to your printers, plotters, 
disk-drives, etc. A huge money-saver! 

*X-NET also operates on IBM PC compatibles. 

CIRCLE NO. 184 ON READER SERVICE CARD 


Call your local dealer or XCOMP today. 


* 


XCOMP 


XCOMP, Inc. 

3554 Ruffin Road South 
San Diego, CA 92123-2502 
619-573-0077 
TELEX:182786 


IBM is a registered trademark ot International Business Machines Corporation. MBSI is a registered trademark and division ot RealWorld 
Corp. X-NET is a trademark ot XCOMP, INC. 


© 1984 XCOMP, INC. 




































Susan Glinert- Cole 


enters the networking 
epstakes with the Cluster. 

3 n the planet Earth, the philo¬ 
sophy of networking began when 
some pundit invented the maxim, 

"Two heads are better than one." On a 
more galactic scale, readers of science 
fiction are familiar with a collective 
intelligence composed of individual 
sentient units that can share their 
mental wealth. The majority of net¬ 
works are designed to emulate the gal¬ 
actic model: all nodes are created 

but by sharing resources, they 
able to blend their individualities 
into a greater whole. 

IBM's first entry into the network 
community is based firmly on the 
more restrictive Earth model: a group 
of heads can exchange information to a 
minor extent, but they decline to par¬ 
ticipate in a cosmic oneness. 

IBM is purposely not calling the 
Cluster a network. The primary intent 
of this product is to permit informa¬ 
tion transfer between PCs, PC/XTs, 

PC Portables, and PC/rs, while allow- 


A.UGUST 1984 


65 






Cluster 


ing them to share a fixed disk in a 
limited manner. Up to 64 machines 
can be linked into a Cluster, but 
only one can be a disk server. File 
and message transfer can be per¬ 
formed whether or not the disk 
server is included in the Cluster. 

I/O requests at the server 
station have a higher priority than 
do remote requests. Although the 
shared station can also be used as a 
workstation, it is suggested by IBM 
that such use be kept to a minimum 
during periods of intensive remote 
input/output. IBM also recom¬ 
mends that the fixed disk serve only 
as a program repository. Individual 
stations should download all of the 
desired software and execute pro¬ 
grams locally in order to to maxi¬ 
mize throughput in the Cluster. 

Each IBM PC, Portable, or 
PC/XT in the Cluster requires one 
disk drive (at least one of the PCs or 
PC/XTs in the Cluster must have a 
double-sided drive), DOS 2.1, 128K, 
and an 80-column display. The 
ROM BIOS module for the IBM PCs 
in the Cluster must be dated 
10/27/82 or later ; the manual pro¬ 
vides a small BASIC program that 
will print this date to the display. 
The BIOS date, however, is not a 
consideration for the PC/XT, Porta¬ 
ble, or PC/r, because all of their 
ROMs postdate this 10/27/82 dead¬ 
line. The disk server can be either a 
PC with an expansion chassis or a 
PC/XT with 256K of memory and 
one double-sided disk drive. 

Each PC/r in the Cluster must 
have at least 128K of memory and 
an 80-column display. The power 
supply on the PC/r is inadequate to 
support the Cluster attachment un¬ 
less the system urdf is stripped of 
the internal modem, the disk drive, 
and the parallel printer attachment. 
Even if these restrictions are re¬ 
moved (IBM has stated that it in¬ 
tends to do this), it should be em¬ 
phasized here that programs that 
cannot be run on a stand-alone PC/r, 
for whatever reason, will not run on 
a clustered machine either. 



Photo 1: Cluster Components 


The Cluster configuration is a 
linear bus with a data transmission 
speed of 375K bits per second. The 
access method is Carrier Sense Mul¬ 
tiple Access with Collision Avoid¬ 
ance (CSMA/CA). Stations are 
linked with 75-ohm coaxial cable. 
The maximum trunk cable length 
is 1,000 meters; the cable drop 
length (length from main cable to 
computer) can be up to 5 meters. 


T he choice of costly 
coaxial cablefor a 
low-cost network is 
especially curious in view 
of lBMs announcement of 
a cable scheme for its pro¬ 
jected local area network, 
which will use inexpensive 
twisted pair wire. 


Drop cables are attached to the 
trunk line with T-connectors, 
which must be terminated at each 
end of the Cluster. BNC connectors 
are used to link the drop cable to 
the adapter card at each station. The 
choice of costly coaxial cable for a 
low-cost network is curious in view 
of IBM's announcement of a cabling 
system for its projected local area 
network, which will use inexpen¬ 
sive twisted pair wire. 

The Cluster can be used with 
four IBM communications pro¬ 
grams: the Asynchronous Commu¬ 
nications Support, version 2.0; Bi¬ 


nary Synchronous 3270 Emulation,- 
SNA 3270 Emulation and RJE Sup¬ 
port; and the IBM 3101 Emulation 
program. A machine must have at 
least 256K of memory to use these 
programs with the Cluster. A patch 
to the SNA 3270 program, provided 
in the documentation, is required. 

The Cluster is not necessarily 
compatible with IBM software,- IBM 
makes no promises about software 
that it has not tested and approved 
for use within the Cluster. A list of 
programs that will run is available 
from IBM dealers,- at the time of 
this writing, however, the list was 
far from extensive. Whether or not 
a particular application will run in 
the Cluster requires a more complex 
answer than just a simple yes or no. 
This is well illustrated by the fact 
that the list contains 45 programs 
and 17 qualifying footnotes. 

Programs compiled with the 
IBM BASIC compiler will not run 
in the Cluster environment. IBM 
blames the problem on the compiler 
and provides a free patch for it. The 
BASIC program needs to be recom¬ 
piled and relinked with a new 
library before it can operate in the 
Cluster. The patch, however, will 
not help customers who have pur¬ 
chased application programs com¬ 
piled elsewhere unless a recompiled 
version has been obtained. Users 
should be sure to check the vendor 
documentation carefully. 

Other programs can be run 
from a local disk drive but cannot 
be run from the shared fixed disk. 
These products include Multiplan 
1.10, EasyWriter 1.10, Dow Jones 
Reporter 1.0, VisiCalc 1.2, pfs:RE- 
PORT 1.05, and pfsTILE 1.05. 

Although the minimum mem¬ 
ory configuration for a Clustered 
machine is 128K, the Cluster soft¬ 
ware occupies between 20K to 40K, 
which considerably reduces the 
amount of memory available for ap¬ 
plication programs. Some programs 
that require a minimum of 128K to 
run (dBASE II, for example) are 
barely functional in a minimally 


66 


PC Tech Journal 


















configured machine. The situation 
is even more severe with the PC/r, 
because the video buffer takes be¬ 
tween 4K (for black-and-white text 
mode) to 32K (for four-color, high- 
resolution graphics mode), leaving 
about 30K to 50K for programs. Us¬ 
ers should remember to take these 
factors into account before trying to 
run programs in the Cluster. 


instructions. Altogether, the litera¬ 
ture fills the standard half-sized 
binder to overflowing. 

If the size of the documentation 
is formidable, the presentation is 
perhaps even more frightening, es¬ 
pecially for beginners. There is no 
handy user's guide or command 
summary reference card. Instead, 
user and Cluster installation infor- 


be disconnected from the disk drive, 
and the printer sidecar must be re¬ 
moved. The instructions for per¬ 
forming these tasks were clear, and 
no problems were encountered dur¬ 
ing hardware installation. 

Each node in the Cluster must 
be assigned a unique address from 0 
to 63. Physical assignment is done 
by setting switches 1 through 6 on 



Table 1 .• Cluster Diskette Contents 


A. Remote Station Diskette 

IT.COM The Information Transfer program 

loader 

VM.COM Public Volume Manager program 

TBL.SYS Internal use file for the Information 

Transfer program containing station 
options and drive access information 
PLLSCR.COM Screen text progam used by IT.COM, 
DC.COM, AND VM.COM 
PDT.COM Information Transfer program 

CONFIG.SYS This is originally the file REMOTE; it 

is renamed to CONFIG.SYS by CCOPY 
MSG.SYS An internal use file for the Information 

Transfer program,- used for messages 
PCMDP.COM Protocol command processor used at a 

remote station 


B. Disk Server Diskette 


DC.COM 

CONFIG.SYS 


DSERVER.TAB 

PCMDISK.COM 

PUBLIC.COM 


Disk Configurator program 
This file is found on the Cluster 
diskette as DISK and must be renamed 
when copied to the fixed disk 
Contains the disk server station index 
Protocol command processor for the 
disk server station 
I/O driver loaded at reset time 


C. Remote System Volume 

FCONFIG.SYS This file is found on the Cluster disk¬ 
ette as RIPL. It is renamed during the 
creation of the Remote System Volume. 

RIPLPGM.COM Resident program that uses the Remote 
System Reset Volume at the disk server 
station 


System Set-up 

The equipment needed to set up a 
Cluster station must be bought 
piecemeal (see photo 1). Each station 
must purchase a software "license" 
for $92 and a Cluster adapter for 
$340 ($400 for the PC/r). A cable 
kit, costing $110, is needed for 
every two machines. Any necessary 
ROM updates are provided free 
with the Cluster. The cost for a PC, 
Portable, or PC/XT station is $487; a 
PC/r station is $547. 

The documentation is organized 
into four "manuals/' Introduction, 
Disk Server Guide, Public Volume 
Manager Guide, and Information 
Transfer Program Guide. The Clus¬ 
ter controller board comes with two 
separate manuals: an installation 
guide and an updated diagnostics 
diskette—with documentation— 
which includes a test for the Clus¬ 
ter Adapter. The ROM BIOS Update 
Kit also contains its own installation 


mation is mixed together, making it 
difficult to find information on a 
particular subject. 

The writing style is not aimed 
at the computer novice either. Some 
sections of the manual are sterling 
examples of obfuscating technical 
language. In fact, the installation in¬ 
structions were so confusing that 
the software set-up was successfully 
completed only after closing the 
book and pursuing a trial and error 
course. This was quite a shock, con¬ 
sidering the technical accuracy and 
detail that is usually provided by 
IBM in its documentation. 

Fiardware installation involves 
changing the ROM if required, set¬ 
ting two sets of DIP switches on the 
adapter cards, plugging the card into 
each computer (or attaching the 
sidecar for a PC/r), and attaching the 
cables. All PC/rs must be stripped of 
the internal modem and diskette 
controller, the power supply must 


the first switch block to reflect the 
binary representation of the address. 
Switch 8 on the SW-1 is set ON if 
the station will boot remotely from 
the fixed disk. It is possible to have 
one PC, PC/XT, or Portable com¬ 
puter tied to four Clusters at once. 
Switch block 2, switches 1 through 
4, assign the adapter card a number 
from one to four. If the adapter is 
the only one present, it must be set 
to adapter number 1. As soon as the 
switches are properly set, the adapt¬ 
er card can be installed in any slot 
in the PC. The PC/r Cluster Attach¬ 
ment, like the printer adapter, is 
connected to the right side of the 
system unit. PC/r participation is 
limited to only one Cluster. 

The integrity of the Cluster, as 
well as of the cabling and adapter 
boards, can be tested with the up¬ 
dated diagnostics diskette, or, in the 
case of the PC/r, the new diagnostics 
included in the adapter ROM. 


August 1984 


67 














Cluster 

Software Installation 

The steps involved in setting up the 
Cluster software are: installing the 
Cluster software on the disk server, 
configuring the fixed disk at the 
disk server, and making a boot 
diskette for each computer in the 
Cluster with a floppy disk drive. 

The batch file CCOPY is used 
to make diskettes for those remote 
stations that will be booting lo¬ 
cally. Table 1 shows the files placed 
onto the station diskette. 

The DSCOPY.BAT file creates a 
similar diskette for the disk server 
station (which is useless, because 
the Cluster files must be on the 
fixed disk drive), optionally creates 
the Remote System Volume on the 
hard disk, and transfers the appro¬ 
priate files there. It does not leave 
any other relevant Cluster files on 
the fixed disk, even though the doc¬ 
umentation implies that it does. In¬ 
stead, it creates a temporary direc¬ 
tory on the fixed disk, copies the 
files from the Cluster disk there, 
transfers these files to the floppy 
back-up, creates a Remote Rest 
back-up diskette if desired, and, fi¬ 
nally, removes the directory. The 
Cluster programs have to be copied 
onto the fixed disk manually using 
the COPY command. 

In addition to PLLSCR.COM, 
IT.COM, MSG.SYS, TBL.SYS, and 
PDT.COM, several additional files 
must be on the Disk Server (see ta¬ 
ble 1). If there are stations that will 
boot remotely from the fixed disk, 
the remote system volume at the 
disk server must contain the files 
shown in the last section of table 1. 

The software installation pro¬ 
cess is complicated by very poor 
documentation. It would appear 
from the manual that the two batch 
files, called CCOPY.BAT and 
DSCOPY.BAT, would do all of the 
work required to produce station 
diskettes and to set up the appro¬ 
priate volumes on the fixed disk. 
There are problems with these files, 
however. For example, in order to 
put files on the fixed disk, the user 


Figure I .• Cluster Disk Server Structure 



must format and carefully label four 
diskettes. This seems reasonable, ex¬ 
cept that the manual and the batch 
files do not use these names consist¬ 
ently in the prompts. The batch 



nother complaint 
concerns an aes - 
thetic issue that is 


important to well-organ¬ 
ized peoplemany ofthe 
Cluster files must reside in 
the root volume o/ the fixed, 
disk, making a mess out o/ 
a neatly structured hier- 
archical file scheme. 


files copy files from the A: drive to 
the C: drive. The user receives in¬ 
structions to place diskettes (the 
names of which do not agree with 
the aforementioned labels) into the 
B: drive; files are then transferred to 
B: and erased on G. 

The reason for all this grinding 
and whirring is that the user is pre¬ 
sumed to have only one disk drive; 
although the documentation never 
says so explicitly, IBM assumes that 
the disk server will be installed 
only on a PC/XT. The installation 
instructions lead one to believe that 


the Cluster does not even support 
the IBM PC and expansion chassis 
configuration, which would prob¬ 
ably have two floppy disk drives. 

Another complaint concerns an 
aesthetic issue that is important to 
well-organized people: many of the 
Cluster files must reside in the root 
volume of the fixed disk, making a 
mess of a neatly structured hierar¬ 
chical file scheme. 

Once the programs have been 
properly apportioned on the fixed 
and floppy diskettes, the fixed disk 
must be divided into volumes with 
the Disk Configurator program, 
DC.COM. Like the other two Clus¬ 
ter programs (the Public Volume 
Manager and the Information 
Transfer program), the Disk Config¬ 
urator program is entirely menu- 
driven and easy to use. 

For the purposes of the Cluster, 
the fixed disk is divided into four 
areas, all of which are created with 
the Disk Configurator (see figure 1). 
The only input required for volume 
creation is volume size in 34K byte 
blocks. If space is available, the vol¬ 
ume is created; otherwise an error 
message is generated. 

The first area, called the public 
volume , contains files that are acces¬ 
sible by all the stations in the Clus¬ 
ter. Only one public volume is per¬ 
mitted in the Cluster. All stations 


68 


PC Tech Journal 













































can read and copy files from the 
public volume, but only the Cluster 
Manager is permitted to write to it. 
Therefore, programs that need to 
open files where their system files 
are located cannot be executed from 
the public volume. 

The public volume must be 
created first and must contain at 
least two 34K byte blocks. The Disk 
Configurator will copy Cluster files 
into the public volume at the time 
of creation if requested to do so. 

Another area of the disk con¬ 
tains the private volumes; each 
station, except the disk server itself, 
is allowed to own one private vol¬ 
ume, which is used as an extra disk 
drive from the remote machine. 

The private volumes are created by 
making an entry in the disk server 
station index that contains the sta¬ 
tion name, station number, and the 
size of the private volume. Each sta¬ 
tion is given access to the public 
and private volumes by specifying 
the appropriate permissions in the 
disk server station index. 

The fixed disk can contain an 
optional area, the remote reset vol¬ 
ume. System files, Cluster program 
software, and other applications can 
be placed here to enable a remote 
station to boot directly from the 
shared fixed disk. This volume can 
contain an application program that 
is automatically executed from an 
AUTOEXEC.BAT file on start-up. 
The size of the remote reset volume 
cannot, however, exceed the capac¬ 
ity of a dual-sided diskette. This is 
because of the way the volume is 
initially created by the batch file 
DSCOPY.BAT. All files that are to 
be put into the remote reset volume 
are placed onto a floppy diskette, 
and when the volume is created, 
these files are copied from the 
floppy to the fixed disk. The remote 
reset volume is not only write-pro¬ 
tected but is also created with no 
extra bytes. Thus, in order to add 
anything to it, it is necessary to shut 
down the Cluster, erase the current 
remote reset volume, recreate it 


with the new files, and then bring 
the Cluster back up. 

The fourth area of the disk is 
unassigned to a volume and can be 
used by the disk server station. 

Once the fixed disk has been 
configured, the Disk Configurator 
program is used for maintenance 
and for altering Cluster parameters: 
the public volume size can be 
changed or the entire volume 
erased, the remote reset volume can 
be erased, the disk server station in¬ 
dex can be edited, a new private vol¬ 
ume can be added, and private vol¬ 
ume access can be changed. These 
functions are all available from the 
Disk Configurator's main menu. 

The Public Volume Manager 
program is used to copy files to and 
erase files from the public volume. 

It is executed from the one station 
designated in the Disk Configurator 
program as the public volume man¬ 
ager, which can be any station ex¬ 
cept the disk server. The program is 
invoked by typing VM at the cor¬ 
rect station. The options that are 
permitted with the Public Volume 
Manager Program are: 

1. display the disk server index 

2. copy a private volume file to 
the public volume 

3. copy a disk server file to the 
public volume 

4. copy a file from the public 
manager station to the public 
volume 

5. erase a file from the public 
volume 

6. make a directory path on the 
public volume 

7. remove a directory path from 
the public volume 

Both the Disk Configurator and 
the Public Volume Manager are 
used to copy files to volumes. Be¬ 
cause they both change the Cluster 
volume environment, all Cluster 
nodes should be rebooted after the 
desired changes have been made. 

The Information Transfer pro¬ 
gram is central to the Cluster oper¬ 
ation. It allows computers to send 
and receive messages, transmit and 


download files between computers, 
display directories of other stations, 
change the station options, and edit 
a station index. Thus, although a 
station can access the public, pri- 


B oth the Disk Confix 
motor and the Public 
Volume Manager are 
used to copy files to vol¬ 
umes. Because they both 
change the cluster volume 
environment, all cluster 
nodes should be rebooted 
after the desired changes 
have been made. 


vate, and remote volumes on the 
shared disk without installing the 
Information Transfer program 
(these volumes being in essence 
"local drives"), the Public Volume 
Manager program, which transfers 
files between stations, can be run 
only when the Information Trans¬ 
fer program has been loaded. The 
Public Volume Manager program is 
entirely menu-driven and self-expla¬ 
natory in operation. 

Clusters without a disk server 
cannot have any volumes, but they 
can still transfer information be¬ 
tween stations with the Information 
Transfer program. Messages and 
files can be sent and received, and 
directories at the remote stations 
can be listed if READ permission 
has been given. 

Messages of up to eight lines, or 
512 bytes, can be sent to other 
stations by selecting the SEND 
MESSAGE option. An editing screen 
appears, and the name of the recip¬ 
ient is entered. The user has two op¬ 
tions: send to a station (or an alter¬ 
nate if the first station does not 
reply) or send to all stations (broad¬ 
cast). The message is then typed 
into the eight-line field. There is no 
word wrapping, unless one counts 
the interesting behavior if the eight- 


AUGUST 1984 


69 




















Cluster 

line maximum is exceeded: the 
message wraps to the rest of the 
fields on the screen. A carriage re¬ 
turn terminates the message, which 
is then sent to the selected recip¬ 
ient. A status message will appear 
on the screen, informing the sender 
that the message has been sent, 
could not be sent, has been sent to 
an alternate station, or has been sent 
to all stations. 

The last message sent can be 
called up, re-edited, and sent again 
if desired. A station must be active 
on the link to receive the message, 
but the Information Transfer Pro¬ 
gram does not have to be running. 
When a message is received at a sta¬ 
tion, the computer will beep. 

A message file can be examined 
by selecting option 2 (DISPLAY OR 
ERASE MESSAGES) on the Infor¬ 
mation Transfer program's main 
menu. From the secondary menu, 
the user is able to display the mes¬ 
sage log; page through messages in¬ 
clusively, by date or station; erase 
messages,- and free erased message 
space for other system uses. 

Sending a file to a station re¬ 
quires that the user have write ac¬ 
cess to that station. The process is 
accomplished by selecting the 
SEND FILE option at the main 
menu. Similarly, receiving a file or 
reading a station's directory requires 
read access to that node. Getting a 
file or directory is done by selecting 
the appropriate options. 

Only one file at a time can be 
sent or received with the Infor¬ 
mation Transfer program. The only 
way to transfer a group of files is to 
bring down all stations on the clus¬ 
ter, execute the Public Volume 
Manager at the correct station, copy 
the set of files from a diskette (or 
the Volume Manager's private vol¬ 
ume) into the public volume, bring 
the Cluster back up, go to the re¬ 
ceiving station, and transfer the files 
from the public volume into that 
station's private volume with the 
DOS COPY command. In a real-life 
networked environment, such a pro- 


Table 2 . Benchmarks, BUFFERS=4 


BENCHMARK TESTS 

IBM Cluster 

PC-DOS 

1 user 

1 user 

1 user 

2 users 

2 users 

buffers=4 

2.0 

Disk 

Portable 

PC/r 

Portable 

PC/r 



Server 




I/O BENCHMARKS 
(in seconds) 

random access 

0:06 

0:06 

1:20 

1:33 

2:21 

2:21 

sequential read/write 

0:29 

0:45 

2:16 

2:48 

3:03 

3:03 

sequential read 

0:14 

0:14 

0:23 

0:40 

0:26 

0:44 

dBASE sort, 1 key 

0:40 

0:44 

1:24 

2:16 

1:37 

2:20 

dBASE Index, 1 key 

0:29 

0:34 

2:35 

2:58 

4:25 

4:27 

dBASE Index, 2 keys 

0:29 

0:34 

2:44 

3:01 

4:23 

4:35 

WORD PROCESSOR 

BENCHMARKS 

Word Perfect: 

load wp from hard disk 

0:04 

0:06 

0:20 

0:18 

0:34 

0:28 

load wp from floppy 

0:14 

0:12 

0:11 

ft 

* 

* 

disk 

exit wp (to hard disk) 

0:01 

0:03 

0:02 

0:06 

0:04 

0:07 

load file from floppy 

0:04 

0:03 

0:04 

* 

* 

ft 

save file to floppy 

0:18 

0:20 

0:19 

* 

* 

ft 

load file from hard disk 

0:02 

0:02 

0:08 

0:27 

0:20 

0:30 

save file to hard disk 

0:15 

0:16 

0:22 

1:39 

0:33 

1:45 

WordStar: 

load wp from hard disk 

0:06 

0:06 

0:11 

0:16 

0:15 

0:18 

load wp from floppy 

0:07 

0:08 

0:08 

* 

* 

ft 

disk 

exit wp (to hard disk) 

0 

0 

0 

0:04 

0 

0:02 

load file from floppy 

0,03 

0:10 

0:04 

ft 

* 

ft 

save file to floppy 

0:32 

0:34 

0:32 

ft 

* 

ft 

load file from hard disk 

0:03 

0:04 

0:07 

0:11 

0:10 

0:13 

save file to hard disk 

0:10 

0:10 

0:25 

1:19 

0:42 

0:45 


cedure is unlikely to be used: carry¬ 
ing a diskette from station to station 
is clearly simpler (except to PC/r). 

Option 6 lets a station change 
the drive access permissions for 
other computers in the Cluster, 
change the drive for the station's in¬ 
ternal use file, or toggle the bell off. 

The station index, which 
equates a name to a station number, 
can be edited and displayed by se¬ 
lecting option 7. A station can be 
added to or deleted from the station 
index, and the name associated with 
a station number can be altered. 

Instead of providing an integral 
facility for sharing a printer within 
the Cluster, IBM has chosen to rely 
on an inconvenient process de¬ 
scribed in an appendix. The printer 
to be "shared" should not be at¬ 
tached to the disk server, as this 
would degrade Cluster performance. 


The station with the printer must 
give public write access to one of its 
drives and install the DOS print 
spooler PRINT.COM. If another sta¬ 
tion wants to print a document, it 
sends the file, with a .PRT exten¬ 
sion, to the shared disk drive. When 
the operator at the printer station is 
in the mood to print the files, a 
simple BASIC program, provided 
with the Cluster software, is used to 
send the .PRT files to the spooler 
and then erase them. 

System developers are provided 
with an assembly language interface 
for the Cluster program. Application 
programs can gain access to the 
Cluster software to copy files from a 
station and to send files and mes¬ 
sages to a station. To call the inter¬ 
face the following sequence is used: 

• A parameter control block 
(PCB) is set up with the ap- 


70 


PC Tech Journal 














Table 3 . Benchmarks , BUFFERS=90 


BENCHMARK TESTS 

IBM Cluster 

PC-DOS 

1 user 

1 user 

1 user 

2 users 

2 users 

buffers=90 

2.0 

Disk 

Server 

Portable 

PC/r 

Portable 

PC/r 

I/O BENCHMARKS 
(in seconds) 

random access 

0=06 

0:07 

0:40 

1,16 

1:06 

1:06 

sequential read/write 

0:29 

0:32 

1,11 

2:27 

1,18 

1,48 

sequential read 

0:14 

0,14 

0:22 

0:41 

0:25 

0:45 

dBASE sort, 1 key 

0:40 

0:43 

1:06 

2,12 

1:09 

1:54 

dBASE Index, 1 key 

0,29 

0:30 

1:33 

2:44 

2:13 

2:23 

dBASE Index, 2 keys 

0:29 

0:30 

1,35 

2:48 

2,11 

2:26 

WORD PROCESSOR 

BENCHMARKS 

Word Perfect: 

load wp from hard disk 

0:04 

0:05 

0:19 

0:17 

0:33 

0:30 

load wp from floppy 

0:14 

0:11 

0:11 

* 

* 

* 

disk 

exit wp (to hard disk) 

0,01 

0:02 

0:02 

0:03 

0:02 

0:03 

load file from floppy 

0:04 

0:03 

0:04 


* 

* 

save file to floppy 

0:18 

0:20 

0:19 

* 

* 

* 

load file from hard disk 

0:02 

0:01 

0:08 

0:25 

0:17 

0:26 

save file to hard disk 

0:15 

0:17 

0:25 

1:38 

0:29 

1:30 

WordStar: 

load wp from hard disk 

0:06 

0:05 

0:11 

0:16 

0:16 

0:27 

load wp from floppy 

0:07 

0:07 

0:08 

# 

* 

* 

disk 

exit wp (to hard disk) 

0 

0 

0 

0:04 

0:01 

0:10 

load file from floppy 

0:03 

0:04 

0:05 

# 

* 

* 

save file to floppy 

0:32 

0:33 

0:35 

* 

* 

* 

load file from hard disk 

0:03 

0:04 

0:08 

0:11 

0:12 

0:15 

save file to hard disk 

0:10 

0:08 

0:27 

0:35 

0:38 

0:43 


propriate structure. 

• The Link is activated by the 
Information Transfer Pro¬ 
gram. 

• The offset:segment address of 

the PCB is placed in BXtES. 
INT 5BH is executed. 

All registers except AX are pre¬ 
served. AL contains a return code: 
zero for a good return and nonzero 
for an error. If the high-order bit of 
a nonzero return code is on, the 
error occurred at a remote station. 

A zero in the high bit indicates an 
error at the local station. 

The Cluster uses the fore¬ 
ground stack, and it is the program¬ 
mer's responsibility to make sure 
that this stack is large enough for 
both the foreground and back¬ 
ground programs. The message- 
receive function runs in the back¬ 
ground while a program is running 


the foreground task. Messages are 
received by the Protocol Command 
Processor and are then placed on 
MSG.SYS at that station. 


W e tested the 

Cluster with six 
small bench¬ 
mark pmgrams designed to 
view network performance 
with a heavy I/O load. 


Performance 

During testing at PC Tech journal 
offices, the Cluster environment 
proved to be somewhat unstable. 
Access to private volumes was often 
erratic, and occasionally the unallo¬ 
cated space on the shared fixed disk 
would become "write protected" 


and inaccessible to application pro¬ 
grams. At one point, the disk server 
index became corrupted, necessitat¬ 
ing a complete reformatting of the 
fixed disk and reinstallation of the 
Cluster software. 

Aside from the access problems, 
the general response of the stations 
in the Cluster was agonizingly slow. 
Copying a diskette of files to the 
public volume took the better part 
of a half hour. PC/r, not noted for 
dazzling speed anyway, became pos¬ 
itively comatose when connected to 
the Cluster. Almost every keystroke 
produced a beep, indicating that the 
PC/r was too busy to process the 
keystroke. (See "Inside jr," Thomas 
V. Hoffman, May 1984, page 52.) 

In the Cluster software, as de¬ 
livered from IBM, the CONFIG.SYS 
files are configured so that BUF¬ 
FERS =3. Increasing the number of 
buffers does improve performance. 
With the disk server configured 
with BUFFERS = 90, for example, 
many of the benchmarks ran twice 
as fast as they had done with 
BUFFERS=4. Each buffer, however, 
takes up 128 bytes,- 90 buffers use 
11,520 bytes of the server's mem¬ 
ory. If the disk server will be run¬ 
ning application programs that re¬ 
quire large amounts of RAM, some 
compromise may need to be made 
between global Cluster performance 
and local execution. 

We tested the Cluster with six 
small benchmark programs designed 
to view network performance with 
a heavy I/O load (see tables 2 and 
3). The random access test wrote 50 
records, within a file of 1,000 rec¬ 
ords, to 50 other records. Each 
record was 50 bytes long. The se¬ 
quential read test read 641 lines, 
each 50 bytes long, within a 40,000- 
byte file. The sequential read/write 
test read and then wrote 641 50-byte 
lines to another file. 

The dBASE II benchmarks used 
200 records, each containing name, 
address, telephone number, and zip 
code fields. These records were 
sorted on one key, indexed on one 


August 1984 


71 

















Cluster 

key, and indexed on two keys. The 
word processor benchmarks were 
performed with WordStar and 
WordPerfect (Personal WordPerfect 
for PC/r), in conjunction with a 
30,000-byte file. 

The programs were run under 
several different conditions with the 
Cluster hardware always in situ, ex¬ 
cept for the control tests in the stan¬ 
dard single-user PC-DOS environ¬ 
ment. User node number one was a 
Portable IBM PC with 256K mem¬ 
ory. The second user node was a 
PC/r set up to boot remotely from 
the disk server. The shared unit was 
an IBM PC with 512K memory, a 
10-megabyte Apparat fixed disk, and 
an Epson FX-80 printer. 

The single-user tests were done 
on each unit, while the other user 
node was off the Cluster. Next, the 
text were performed with the two 
remote stations running the bench¬ 
marks simultaneously from differ¬ 
ent volumes on the shared hard 
drive. The disk server was not used 
as a workstation while these tests 
were being performed. 

Under PC-DOS alone, the ran¬ 
dom access test took 6 seconds, the 
sequential read/write test took 29 
seconds, and the sequential read 
took 14 seconds. Under the Cluster 
software, performance at the disk 
server station was only slightly af¬ 
fected, if at all, regardless of the size 
of the BUFFERS parameter. Remote 
stations, however, suffered an as¬ 
tounding loss of execution speed. 
With BUFFERS=4 (see table 2) the 
Portable, for example, took 1 min¬ 
ute 20 seconds to do the random ac¬ 
cess test and 2 minutes 16 seconds 
for the sequential read/write. 

When two users simultaneously 
performed these tests, the perfor¬ 
mance declined even further: to 2 
minutes 21 seconds for the random 
access,- 3 minutes 3 seconds for the 
sequential read/write ; and 44 sec¬ 
onds for the sequential read. 

The Cluster software had a sim¬ 
ilar effect on the dBASE II tests as it 
did on the random and sequential 


file tests. Performance on the disk 
server and on the Portable computer 
was only slightly affected on all of 
the word processor benchmarks. 
PC/r, however, had a more difficult 
time with saving files. 

With BUFFERS=90 (see table 
3), the performance of the input/ 
output benchmarks was about 
twice as fast as it had been with 
BUFFERS = 4 ; this still represents 
about a three- to sixfold increase 
over the stand-alone PC-DOS times. 


and more flexible twisted-pair wire 
used for inexpensive LANs. 



o be fair, IBM re¬ 
fuses to call the 
Cluster a network 
it is reserving tins term 
for an arrangement that 
would provide sophist i- 
cated communications. 


Conclusions 

In the arena of multi-user environ¬ 
ments, the Cluster makes a me¬ 
diocre showing. To begin with, the 
installation instructions are baffling. 
And, although the Cluster software 
is easy to use once it has been in¬ 
stalled, it is irritatingly overprotec- 
tive. For example, the Cluster does 
not permit a "SuperUser" who can 
write to any system volumes. This 
feature would eliminate the tedious 
chore of using the Public Volume 
Manager and rebooting all Cluster 
stations. Small conveniences have 
been left out: it is not possible, for 
example, to get a directory of the 
public volume from within the 
Public Volume Manager program. 

The lack of facility for sending 
a group of files using the Infor¬ 
mation Transfer program is a partic¬ 
ular inconvenience, and the 512- 
byte limit for messages restricts 
communications to terse dispatches, 
such as "Let me see you in my of¬ 
fice," for which the telephone has 
proven to be effective. 

There are other drawbacks to 
using the Cluster. For example, 
users cannot efficiently share a 
printer in the Cluster,- the desire to 
do so is one of the most common 
reasons for installing a network. 
PC/'rs must be stripped of all periph¬ 
erals, which converts them from 
semi-serious business machines to 
limited-memory terminals with ex¬ 
cruciatingly slow video update. In 
addition, the Cluster requires costly 
coaxial cable instead of the cheaper 


A more serious problem is that 
of software compatibility. IBM does 
not guarantee that its own programs 
will run in the Cluster, let alone 
that third-party software will. A 
company that has spent thousands 
on word processors, spreadsheets, 
and data base managers would more 
sensibly invest a few hundred extra 
dollars to purchase a network that 
can run these programs. Similarly, 
little money is saved by buying the 
Cluster if expensive peripherals can¬ 
not be shared effectively. 

To be fair, IBM refuses to call 
the Cluster a network; the company 
is reserving this term for an arrange¬ 
ment that permits effective periph¬ 
eral device sharing and provides so¬ 
phisticated communications. PC 
Tech Journal, not having a separate 
category for products such as the 
Cluster, views the IBM offering as 
an inexpensive networking environ¬ 
ment. Although the price is moder¬ 
ate, the limitations of the Cluster 
program make it an unattractive al¬ 
ternative to slightly more expensive, 
but exponentially more powerful, 
third-party offerings. Hm". 

IBM Cluster 
IBM 

P.O. Box 1328 

Boca Raton, PL 33432 

305-998-2000 

CIRCLE 459 ON READER SERVICE CARD 


72 


PC Tech Journal 


















A Fix for DOS Users 
with UNIX Habits 

Ease those withdrawal pains with these undocumented 
UNIX-like features of DOS 2.0 



J. Eric Roskos 


In many ways, DOS 2.0 is similar 
to the UNIX operating system. 
Unfortunately, there are some dif¬ 
ferences in the command processor 
that can be frustrating to people 
who regularly use both DOS 2.0 
and UNIX: the symbol used to sep¬ 
arate directory names under 2.0 is a 
backward slash (\) ; whereas under 
UNIX it is a forward slash (/) ; the 
symbol used to denote a command 
switch under DOS is a forward 
slash, whereas under UNIX it is a 
dash; and device names under DOS 
consist of a string of characters fol¬ 
lowed by a colon—for instance, 
CON: or PRN: — rather than the 
form used under UNIX—/dev/con 
and /dev/prn. 

These differences can be elimi¬ 
nated. DOS already recognizes for¬ 
ward as well as backward slashes at 
the DOS function call level; the 
only reason file names can't have 
forward slashes is that the com¬ 
mand processor interprets a forward 
slash as the command switch char¬ 
acter. An undocumented command 
can be used to get the command 
processor to interpret some other 
character as the switch character. 

Chapter 9 of the DOS manual 
contains descriptions of commands 
that can be included in the file 
CONFIG.SYS. Among those com¬ 
mands is one of the form 

SWITCH AR=x 

If this command line reads 

S WITCHAR = - 

the command processor will take a 
dash, instead of a forward slash, as 


the switch character. After this 
change is made, the forward slash 
may be used as a directory name 
separator, and the dash may be used 
as the switch character, exactly as 
in UNIX. Furthermore, the com¬ 
mand processor will keep track of 
which kind of slash was used last, 
and it will use that character when¬ 
ever it has to print a slash as part of 
a directory name. 

Why was this command not 
documented? Probably to make the 
documentation simpler. The switch 
character is used throughout the 
manual in the description of com¬ 
mands,- it would be annoying to 
have to include, everywhere the 
slash is used, a footnote saying "or, 
the current character assigned by 
the SWITCHAR command." Such a 
note would be necessary, however, 
to avoid confusing novice users. 

Further, confusion could result 
if, on a system used by more than 
one person, each user chose his 
own switch character. The omission 
is therefore understandable, at least 
for the introductory parts of the 
DOS manual. (For another reason 
for this omission, see Dan Frank's 
article on the DOS RESTORE com¬ 
mand in this issue.) 

There is one other, less forgiv¬ 
able, omission that affects the oper¬ 
ation of programs written using 
calls from the new Xenix-compati¬ 
ble (hence UNIX-compatible) Ver¬ 
sion 2 system. UNIX writes device 
names as /dev/name. There is a 
good reason for this: the syntax is 
identical to that of a file name, and 
the name can be used in an OPEN 


system call to open a device or a 
file, without special distinctions. 

According to the manual, how¬ 
ever, DOS writes device names as 
NAME:. If such a name is used in 
the UNIX-compatible OPEN func¬ 
tion call (DOS call 3D), the open 
will fail. A careful reading of the 
manual reveals (on page D-15) that 
all the devices are pre-opened; the 
user might conclude that he is ex¬ 
pected to use these pre-opened file 
descriptors instead of doing an 
OPEN call. Anyone who designs 
programs according to the UNIX 
principles will not find this to be 
acceptable: in general, there is no 
reason why a user shouldn't be able 
to open a device just as he does a 
file, as long as sequential character 
I/O is given to the device. Using 
the pre-opened file descriptors com¬ 
plicates this considerably. 

Again, the failing here is only 
in the manual. DOS does allow file 
names of the form /dev/name, and 
these names can be used in an 
OPEN system call, in which the 
documented names would fail. 

These undocumented features 
can make DOS 2.0 more pleasant to 
use for people who are accustomed 
to UNIX. Like all undocumented 
features, however, they must be 
used with discretion,- they could be 
deleted in a future release. For the 
sake of UNIX users, I hope that 
they will be retained, if not im¬ 
proved upon, in future releases. 


/. Eric Roskos is a graduate student in 
computer science at Vanderbilt University. 


AUGUST 1984 



















ILLUSTRATION • KATHY STAICO SCHORR 



Menus to use with mouse packages are popping up all over. Here are three 
from Mouse Systems, Trillian, and Microsoft. 


■MB 


F or the PC operator who would choose to take a 
multiple-choice rather than an essay exam— 
even an open-book essay exam—mouse pop-up 
menus are made to order. Like a multiple choice 
test, a mouse and a pop-up menu will lay out all the 
options. The user need not remember the syntax of 
commands or even which function keys to press. 
Program commands are placed on menus that "pop 
up" on the screen when a mouse button is pressed. 







Customized keyboard overlays and key labels can 
be thrown away, and typos are almost eliminated. 

The mouse p'op-up menu software packages re¬ 
viewed in this article, Designer Pop-Up Menus 
from Mouse Systems, visuALL from Trillian, and 
Mouse Menu from Microsoft, have some features in 
common. In each, the mouse menu driver manages 
the display of menus and the selection of menu 
items. The user has merely to specify what action is 





















Menus 


to occur in response to selection of a 
menu item, pressing of a mouse but¬ 
ton, or movement of the mouse. He 
can choose to have another menu dis¬ 
played, send keystrokes to the pro¬ 
gram, or redefine responses. 

Additionally, each of the three 
packages contains a resident menu 
driver that intercepts any interrupts 
that are caused by movement of the 
mouse or the clicking of mouse but¬ 
tons. The program that is running 
when an interrupt occurs is sus¬ 
pended, and the menu driver takes 
over control of the screen. It puts a 
menu on the screen, replacing part of 
the current display. Then, in re¬ 
sponse to movement of the mouse, a 
highlighted bar is scrolled through 
the menu items. When the user se¬ 
lects a menu item, the menu driver 
either displays another menu or re¬ 
stores the original screen contents, in¬ 
serts keyboard scan codes into the 
keyboard type-ahead buffer, and re¬ 
linquishes control. All this is in¬ 
visible to the application program, 
which receives its input as if it came 
directly from the keyboard. 

Designer Pop-Up Menus, 
visuALL, and Mouse Menu all pro¬ 
vide prewritten menus to be used 
with the most popular programs. 
Mouse Systems' Pop-Up Menus have 
the biggest selection, including 
menus for Lotus 1-2-3, Multiplan, 
VisiCalc, SuperCalc 3, WordStar, 
Volkswriter, IBM Personal Editor, 
PFS: Write, and Multimate. 

VisuALL is delivered with a DOS 
shell, and menus for Lotus 1-2-3, 
WordStar, IBM Personal Editor, and 
Multiplan can be added for $49.95 
each. Microsoft furnishes Mouse 
Menus for WordStar, Lotus 1-2-3, 
Multiplan, and VisiCalc. 

In each system, the menu defini¬ 
tion languages can be used to write 
customized menus for any software 
not supported. In designing menus 
for a program, many factors must be 
considered: which functions should 
be put on a menu, which functions 
should be grouped on the same 
menu, and in what order should the 


functions be placed on a menu. A 
good working knowledge of the pro¬ 
gram is helpful, of course, but the 
best test is using the menus. 

To test each menu-definition 
language, a customized pop-up menu 
program was written for a word pro¬ 
cessor, WordPerfect by Satellite Soft¬ 
ware International (SSI). Although 
WordPerfect is not difficult to use 
from the keyboard, it was chosen be¬ 
cause it operates at the same level of 
complexity as the programs for 
which the vendors have supplied 
prewritten menus. 

The sample menu programs 
written for WordPerfect manage 
only a subset of its functions*, those 
that would best illustrate the features 
of each menu-definition language, 
the variety of menus possible, and 
the actions that can be defined. 

Mouse Systems' Designer 
Pop-Up Menus 

Of the three languages reviewed, 
Mouse Systems Designer Pop-Up 
Menus is the simplest and most ro¬ 
bust. It isn't overloaded with fea¬ 
tures, but what it does, it does well. 

Designer Pop-Up Menus com¬ 
municate with the Mouse Systems 
PC Mouse, which can be connected 
to COMl 1 : , COM2:, or what Mouse 
Systems calls a nonstandard COM2:, 
such as is found on a Davong multi¬ 
function card. The resident mouse 
device driver, called MOUSESYS, 


/ the three 

■ 1 languages 

V>/ reviewed 
here, Mouse Sys¬ 
tems is the simplest. 


either can be installed as a system de¬ 
vice driver (DOS 2.0 only) or can run 
as a "terminate but stay resident" 
program. When it is loaded, MOUSE¬ 


SYS provides mouse support and re¬ 
serves memory for menu definitions. 
When a menu is displayed on the 
screen, MOUSESYS writes the menu 
directly to the display buffer without 
going through the BIOS interface. 

Menu definitions are placed in a 
source file conventionally called 
M _<programname>.MSC. Any 
text editor may be used. The source 
file is converted by the menu com¬ 
piler, MSC, into a .COM file that, 
when executed, transfers the menu 
definition information to the 
MOUSESYS program. 

It is important to note in all of 
these systems that, since the pop-up 
menus are independent of the appli¬ 
cation program, once a menu file is 
loaded it will continue to operate 
even after the corresponding applica¬ 
tion program terminates. The burden 
of assuring that the appropriate menu 
program is running at any given time 
rests with the user. Fortunately, 
MOUSESYS allows the user to 
change to another menu file or to 
stop menu support without rebooting 
the system. The following com¬ 
mands, for example, could be used to 
run pop-up menus first with Word¬ 
Star, then with Multiplan: 

MOUSESYS (Install resident device 
driver) 

M _WS (Install WordStar menu file) 
WS (Invoke WordStar) 

M _ MP80 (Install Multiplan menu 
file) 

MP80 (Invoke Multiplan) 
MOUSESYS/S (Stop menu support) 

This process can be simplified, of 
course, by including the MOUSESYS 
command in the AUTOEXEC.BAT 
file and by invoking WordStar or 
Multiplan with batch files that load 
the appropriate menu, run the pro¬ 
gram, and then stop mouse support. 

Menu Definition for 
Designer Pop-Up Menus 

The Mouse Systems menu-definition 
language allows the user to set global 
parameter values, specify cursor or 
button response, define menus, and 


76 


PC Tech Journal 















>u fro* Microsoft, have soae features in co»«on. 
iu driver *anages the display of Menus and the selection 
The user has Merely to specify what action is 
espouse to selection of a Menu itca, pressing of 
a Mouse button or MoveMen*. of the Mouse. Another Menu can he 
displayed, keystrokes can be sent to the prograM, or responses 
can be redefined. 

In each package, a resident Menu driver is installed which intercepts 
interrupts caused by Moveaent of the Mouse or the clicking of 
Mouse buttons. When an interrupt occurs, the currently running 
prograM is suspended and the Menu driver takes over control 

Doc 1 Pg 1 Ln 26 Pot 8 


Photo 1: Main Edit Menu for Designer Pop-Up Menus 


| Tri 11ian VisuALL 


and House Henu froa nicrosoft, have soae features in cowon 

• Manages the display of Menus and the selection 
ser has Merely to specify what action is 
to selection of a Menu iteM, pressing of 
eaent of the Mouse. Another Menu can be 
can be sent to the prograM, or responses 


File Coaaands 
Foraat Docuaent 
Foraat Text 
Edit Coaaands 
Motion Coaaands 
Help 

Window Directory 


each package, a resident aenu driver is installed which intercept 
interrupts caused by aoveaent of the aouse or the clicking of 
■ouse buttons When an interrupt occurs, the currently running 


prograa is suspended and the • 


Iriver takes over control 

Doc 1 Pg 1 Ln 48 Poi 


Photo 2: Main Menu for visuALL 


describe initial mouse settings. A 
comment statement identifying the 
menu file can also be defined and 
will be displayed when the menu file 
is loaded. Explanatory comments and 
white space are permitted through¬ 
out the source file. All of these fea¬ 
tures render a simple and readable 
language, as illustrated in the sample 
menu definition file for WordPerfect 
that is found in listing 1. 

The MOUSE definition state¬ 
ment at the end of listing 1 identifies 
statements that set the initial values 
of the left, middle, and right buttons 
and the response to mouse move¬ 
ment. For WordPerfect, the left but¬ 
ton invokes the main edit menu (pho¬ 
to 1), the middle button invokes the 
motion menu, and the right button 
invokes the file commands menu. 

Object definition statements take 
the following form: 
label: Object name 
(action-statements ) 
where action statements can be a 
combination of menu statements 
(display a menu), key statements 
(send keystrokes to program), and 
button statements (change the defi¬ 
nition of a button). 

Global parameters control the 
screen location and display attributes 
of the menu and the sensitivity of the 
mouse. The menus can be centered 
about the current location of the 
hardware cursor or displayed in a 
fixed place on the screen. 


The cursor definition statements 
specify what to do when the mouse is 
moved. Normally, the user is in¬ 
clined to make the motion of the 
mouse cause movement of the cursor 
in the corresponding direction. In 
listing 1 the Arrowkeys statement in¬ 
dicates that the corresponding cursor 
arrow keys are to be sent to the pro¬ 
gram when the mouse is moved. It is 
possible, however, to make mouse 
motion cause cursor movement in 
the opposite direction, or in a perpen¬ 
dicular direction, although this is 
considered user-unfriendly. 

In the menu statements each 
menu is given a title. For each item 
on the menu, some identifying text is 
defined, along with the action to be 
taken when the item is selected. The 
Designer Pop-Up Menu software au¬ 
tomatically generates a no-op "exit" 
item that discharges the menu with¬ 
out taking any action. In addition, 
each time a menu is displayed, the 
highlighted bar is positioned over the 
item chosen the last time the menu 
was presented. This makes possible 
what Mouse Systems calls "mousing 
ahead" — two clicks of the mouse 
button repeats the action that was de¬ 
fined by the last selection. 

If keystrokes are to be inserted 
into the type-ahead buffer, they are 
specified using the key statement. 
Text is enclosed in quotes, and 
through a very pleasant design fea¬ 
ture of Designer Pop-Up Menus, 


every key on the keyboard can be 
identified using a logical name—in 
most cases, the same legend printed 
on top of the key. To specify the 
Shift, Alt, or Ctrl forms of a key, the 
key name is prefaced with s-, a-, or c-. 

Keys can also be identified using 
scan codes, but this is unnecessary 
since all of WordPerfect's commands 
can be expressed by giving the logical 
key name, even though WordPerfect 
requires some unusual key combina¬ 
tions, such as Ctrl-Enter (to form a 
new page). Mouse Systems' menu 
file can handle all the key sequences 
in the same file with no trouble. 

Button-definition statements as¬ 
sign actions to the clicking of but¬ 
tons. Normally a menu is displayed. 
Since menus can be nested — that is, 
selecting an item from one menu 
can cause another menu to be dis¬ 
played— the question becomes 
which menu should be displayed the 
next time the button is clicked. If all 
menu items are grouped accord¬ 
ing to a particular mode of operation, 
such as editing or file commands, 
then once the menu is selected, it 
should be displayed each time the 
button is clicked until the user exits 
that operating mode. 

Mouse Systems calls this a sticky 
menu, and it is easily induced by 
changing the definition of the button 
that invokes the menu. Initially, 
when the left button is clicked in the 
sample program, the main menu is 


August 1984 


77 



















Menus 


displayed. If the item Format Docu¬ 
ment is chosen, the FormatDoc menu 
is displayed and the left button is re¬ 
defined so that the FormatDoc menu 
will be displayed the next time the 
left button is clicked. But beware of 
mousetraps! The FormatDoc menu 
must contain an item that redefines 
the left button to its initial state, or 
the user can never escape from the 
FormatDoc menu. This escape item is 
Go to Main Menu in listing 1. 

Designer Pop-Up Menus have 
some limitations. They cannot be 
used with a program that has its own 
keyboard interrupt handler. Also, 
since the keystrokes are pushed into 
the type-ahead buffer, a maximum of 
15 keystrokes can be sent to the pro¬ 
gram at one time. (This doesn't seem 
to be a serious hindrance, however.) 
The menus can be used on either a 
monochrome or color display in text 
mode only. Mouse Systems claims 
that the minimum memory use is 
1 IK; however, the sample menu- 
definition file in listing 1 generated 
3,548 bytes of menu data and used 
just over 9K when booted up. 

The documentation is quite 
good, aimed at people who are some¬ 
what familiar with the PC. It has an 
especially sagacious section on menu 
design considerations. 

Trillian visuALL 

VisuALL is a powerful package that is 
rich in features,- unfortunately, it 
doesn't allow definition of all possi¬ 
ble key sequences. If Trillian can cor¬ 
rect these problems, this will be a 
super pop-up menu system. 

The only package not supplied 
by a mouse manufacturer, visuALL 
supports a variety of other vendors' 
mice, including Microsoft, LogiTech, 
and Mouse Systems, and it can even 
be used without a mouse. I tested 
visuALL with the Microsoft mouse 
and Mouse Systems' PC Mouse and 
did not have any problems. 

With visuALL, the menu defi¬ 
nitions are stored in files called 
profiles , which are passed directly to 
the resident menu driver without 


being separately compiled. The 
menu system is installed by invoking 
visuALL and giving a profile name. If 
visuALL is used with the Microsoft 
mouse, the mouse driver, MOUSE, 
must be loaded first. 

Since the syntax of the menu 
definitions is checked when the pro¬ 
file is loaded, installing visuALL is a 
little slower than installing Mouse 
Systems or Microsoft menu systems. 
The profile in listing 2 takes about 10 
seconds to load from a hard disk — not 
a big deal, but the profile is not a 
complete implementation of Word¬ 
Perfect. The big drain on resources is 
memory use,- the same profile uses 
almost 42K (without the DOS shell). 
VisuALL offers more functionality 
than any of the other mouse menus. 


isuALL is a 
powerful 
package 
that is rich in fea¬ 
tures; however, 
it doesn't allow 
definition of all pos¬ 
sible key sequences. 


Each time a different profile is 
used or the mouse is moved to a dif¬ 
ferent com port, the system has to be 
rebooted and visuALL reinstalled. 
Shells can be combined into one pro¬ 
file, so that, for example, WordStar 
and Lotus 1-2-3 both could be run 
without rebooting; that would re¬ 
quire more memory and a longer 
initial boot-up time. 

Menu Definition for 
visuALL 

VisuALL command menus, also 
called windows, are always displayed 
in the top left corner of the screen 
with a highlighted background. 


Photo 2 shows the main menu gener¬ 
ated by the sample profile. To dismiss 
a menu without making a selection, 
the user must move the cursor out¬ 
side the menu and click the mouse 
button. By default, command menus 
are sticky; when a menu is displayed, 
it becomes the current window. 

As shown in the sample profile 
in listing 2, the profile initialization 
section contains a definition of the 
mouse being used and initial values 
for the mouse buttons, cursor move¬ 
ment, and keyboard use, if any. The 
sample profile is configured for use 
with the Mouse Systems' PC Mouse 
on COM1:. Actions can be assigned to 
as many as four buttons depending 
on which mouse is used. Unfortu¬ 
nately, since it is not possible to as¬ 
sign an action to the simultaneous 
clicking of both Microsoft mouse 
buttons, the use of the Microsoft 
Mouse is limited. In listing 2, click¬ 
ing the first button (select) will dis¬ 
play the current command window, 
whereas clicking the second, third, or 
fourth button will send the Enter 
character to WordPerfect. 

VisuALL allows conditional ex¬ 
ecution of statements depending on 
the screen location of the cursor. The 
cursor command in the sample pro¬ 
file specifies that mouse movement 
should be reflected in cursor move¬ 
ment, unless the cursor moves into 
the last row on the screen. In that 
case, the cursor should "fly"; that is, 
the cursor should move on the screen 
without the program being aware of 
its movement. This is a very handy 
feature for WordPerfect. 

When the visuALL DOS shell is 
loaded, FI can be used in the same 
way as the select button on the 
mouse, and F2 the same as the mark 
button, so that visuALL can be used 
without a mouse. With this configu¬ 
ration, these keys are no longer avail¬ 
able to the application program. Be¬ 
cause WordPerfect uses the FI and F2 
keys, the select and mark values were 
equated to "no- action" in the sample 
file so the keys could be used to in¬ 
voke the WordPerfect functions. 



78 


PC Tech Journal 

















The Shell command defines a set 
of window definitions typically used 
for one program. A profile can con¬ 
tain multiple shells, but cannot ex¬ 
ceed 48 window definitions. 

Because visuALL uses an inter¬ 
mediate buffer to hold keystrokes be¬ 
fore they are put into the type-ahead 
buffer, it allows up to 60 characters to 
be passed to the application program 
instead of the 15-character limitation 
imposed by the other menu systems. 
Like Designer Pop-Up Menus, 
visuALL allows typewriter keys to be 
written in single quotes and other 
keystrokes to be defined using logical 
names. A narrower range of values is 
supported by visuALL, however. It 
would not accept the Alt form of the 
+/= key or the Ctrl-2 combination. 
Although specifying linefeed (for 
Ctrl-Enter) and home backspace ap¬ 
pears to generate the correct codes, 
they did not work with WordPerfect. 

In WordPerfect many key com¬ 
binations do not directly invoke the 
desired function, but cause the word 
processor either to prompt the user 
for more specific information or to 
display a menu from which the de¬ 
sired function can be selected. If only 
the first layer of selection is imple¬ 
mented in a pop-up menu system, 
then some functions will be chosen 
using pop-up menus and other func¬ 
tions will need to be selected using 
keyboard input. The user may be 
confused about when the pop-up 
menus are supposed to be used. Im¬ 
plementing functions as completely 
as possible in the mouse menu sys¬ 
tem gives continuity and cohesion to 
program execution. 

VisuALL offers such a wide 
range of actions in response to menu 
item selection that it is possible to 
add this second layer of implementa¬ 
tion to the menu definitions. All of 
the actions provided in the Designer 
Pop-Up Menu system are also avail¬ 
able here, as well as many more. For 
example, three types of prompts are 
supported. The simplest form 
prompts the user for text input that is 
passed directly to the program. This 


type of prompt is used in the sample 
profile (listing 2) in the format docu¬ 
ment window. To set margins, a 
Shift-F3 is sent to WordPerfect (the 


f only the 
first layer of 
selection is 
implemented in a 
pop-up menu sys¬ 
tem, then some 
functions will be 
chosen using pop¬ 
up menus and 
others will need to 
be selected using 
keyboard input. 


Set function), which invokes a menu 
from which item 3 is chosen (Set 
Margins). VisuALL prompts for the 
left and right margin settings and 
passes them to the program. Thus, 
the complete function is performed 
using the pop-up menu system. 

In the silent prompt, "sprompt," 
the user's response is not passed to 
the program, but can be used to con¬ 
ditionally execute action statements. 
This type of prompt is illustrated in 
the file commands window in the 
save text action statements. If the 
user's response is y to the prompt 
"Save to current file," then a y is 
passed to the program. Otherwise, 
the user is prompted for the file 
name, which is sent to the program 
instead of the current name. 

The last form of prompt, 
fprompt, is used in the file com¬ 
mands window for the retrieve text 
action statements. It displays, in 
menu format, a directory of file 
names on diskette. If all file names do 
not fit on one menu display, they can 


be scrolled into and out of the display 
window, until the desired file name 
is found. VisuALL displays the cur¬ 
rent directory for drives a ; , b:, and c ; . 

As mentioned earlier, it is possi¬ 
ble to "fly" the cursor— that is, move 
the cursor on the screen without 
sending cursor movement commands 
to the program. This feature can be 
used to implement a soft function 
key. In the sample program, again in 
the file commands window, the ac¬ 
tion statements for Print Text use 
this feature. The cursor definitions 
have specified that when the cursor 
moves into the last line on the screen, 
it is to fly. When Print Text is in¬ 
voked, WordPerfect displays a mini¬ 
menu on the last line of the screen, 
with the selections Full Text Print, 
Page Print, and Change Print Attri¬ 
butes. The user simply moves the 
mouse until the cursor is over the ap¬ 
propriate text and then presses the 
mark button. The action statements 
conditionally define the value of the 
mark button based on the cursor's lo¬ 
cation when the button is pressed. 

Documentation for writing ap¬ 
plication shells is included with the 
Design Kit, which is purchased sepa¬ 
rately. Aimed at the novice user, it 
never reaches the precision that is 
necessary to implement a menu defi¬ 
nition with confidence. Menus are 
best written by referring to the exam¬ 
ples in the book and experimenting 
with different statements. 

Microsoft Mouse Menu 

The flexibility that Mouse Menu 
allows in the design and placement 
of menus is this package's strong 
point. Mouse Menu is especially 
good if an application program re¬ 
quires different input depending on 
its current operating mode. 

The Microsoft Mouse Menu def¬ 
initions are stored in a source file 
(.DEF extension) that, like that in 
Designer Pop-Up Menus, is con¬ 
verted into menu code (.MNU exten¬ 
sion) by the utility MAKEMENU. 

To install the menus, the resident 
mouse driver, MOUSE, is loaded I 



August 1984 


79 















Menus 


rind Mouse Menu from Microsoft, have sc*e features in common. 

nu driver manages the display of menus and the selection 
s. The user has merely to specify uhat action is 
response to selection of a menu item, pressing of 
on or movement of the mouse. Another menu can he 
displayed, keystrokes can he sent to the program, or responses 
can he redefined. 

In each package, a resident menu driver is installed uhich intercepts 
interrupts caused by movement of the mouse or the clicking of 
mouse buttons. When an interrupt occurs, the currently running 
program is suspended and the menu driver takes over control 

Doc 1 Pg 1 Ln <8 Pos 8 


Photo 3: Main Menu Created by Mouse Menu Definition File 




(Mouse Menus can only be used with 
the Microsoft Mouse), after which 
the resident menu driver, MENU, is 
invoked and given the name of the 
menu file. Rebooting is not necessary 
to change the operating menu file or 
to disable menu support; the MENU 
command can be issued with a differ¬ 
ent menu file name, or the command 
MENU OFF can be given. 

Mouse Menu has a few restric¬ 
tions. It cannot be used with pro¬ 
grams that have high-resolution 
graphics or directly handle the 
mouse. Also, Mouse Menu definition 
files can have a maximum length of 
6K after compilation. The sample 
menu definition file in listing 3 com¬ 
piled to a file about 3K bytes long, 
and, together with the mouse driver, 
required 13K when loaded. 

The Microsoft mouse comes 
with its own hardware interface 
board that can be installed in any 
available slot. Some Microsoft mice 
were improperly configured for use 
with a fixed disk. The problem was 
in jumper block J4, where the jumper 
should have been on jumper pin pair 
2, not 5. Microsoft is aware of this 
problem, has corrected it, and has 
notified dealers of the fix. 

Menu Definition for 
Mouse Menu 

The first statement in a menu-defini¬ 
tion file, BEGIN, defines the initial 
settings of the mouse by specifying 


mouse sensitivity and supplying the 
labels of statements to be executed in 
response to mouse movement and 
button clicking. An action can be as¬ 
signed to the simultaneous clicking 
of both buttons—an effective way to 
overcome the Microsoft mouse two- 
button limitation. These initial set¬ 
tings can be redefined later using the 
ASSIGN statement. 

Each menu can be placed any¬ 
where on the screen by specifying 
the beginning cursor coordinates and 
can be displayed with the normal, in¬ 
verse, or bold attributes. Two differ¬ 
ent types of menus are supported in 
the Mouse Menu package, the single¬ 
column menu, defined with option- 
action pairs; and a multiple-column 
pop-up menu that can be created us¬ 
ing text and graphics characters. Pho¬ 
to 3 shows the main menu that was 
created by the sample Mouse Menu 
definition file in listing 3. 

The single-column menu will 
display as many as 20 items, but it is 
the user's responsibility to assure that 
the beginning cursor coordinates 
specify a row that allows all the items 
to fit on the screen. As the manual 
states, "Otherwise, one or more 
menu items are displayed off the 
screen." (Quite a feat!) The user must 
also assure that a Cancel item is de¬ 
fined for dismissing the menu with¬ 
out making a selection. This is 
created by specifying option text 
with no corresponding action. Of 


course, an Escape item must be de¬ 
fined for exiting sticky menus. Un¬ 
like in the other two menu systems, 
when a menu is displayed the last 
item selected is not highlighted, so 
mousing ahead is not possible. 

The pop-up menu allows the def¬ 
inition of multi-column, variable- 
width menus or message boxes. It is 
possible, for example, to create a pop¬ 
up menu that extends the entire 
screen width. TEXT statements are 
used to build the custom menu in the 
desired shape. Borders for these 
menus are user-supplied and may be 
created using graphics characters. 
SELECT statements specify the selec¬ 
tion areas on the menu by giving row 
and column coordinates relative to 
the beginning of the pop-up menu. 
"PrintTextPopUp" in listing 3 
(shown in photo 4) combines text and 
graphics characters to create a pop-up 
menu that implements the print 
menu for WordPerfect. 

In menus of both the single-col¬ 
umn and pop-up types, the label of a 
statement to be executed is given for 
each selection item. This may be a 
MENU, POPUP, ASSIGN, MATCH, 
or TYPE statement. Or, a series of 
actions can be specified with an 
EXECUTE statement. 

The TYPE statement defines as 
many as 15 keystrokes to be sent to 
the application program. In contrast 
to the other menu systems, only a 
few of the special function keys (En- 


80 


PC Tech Journal 


















ter, Tab, Backsp, and Esc) have been 
given logical names. All keystrokes 
other than the typewriter keys must 
be identified using scan codes. This 
unfortunate design does not allow 
any more flexibility in expressing 
key combinations than the Designer 
Pop-Up Menus package does, makes 
the menu definition file less read¬ 
able, and causes unnecessary work 
for the user, who must look up each 
scan code (even those, like up-arrow, 
that are used in all menu definition 
files). As in visuALL, the keystrokes 
Crtl-Enter and Home followed by 
Backspace appeared to be sent cor¬ 
rectly to WordPerfect, but the corre¬ 
sponding functions did not work. 

The MATCH statement, on the 
other hand, is quite useful for an ap¬ 
plication program that has operating 
modes. Using this statement, actions 
can be executed conditionally, de¬ 
pending on what text is displayed on 
the screen. ASCII strings up to 255 
characters long can be matched be¬ 
ginning anywhere on the screen. 
Two statements labels are given as 
parameters to the MATCH state¬ 
ment-one is to be executed if a 
match is found, the other is to be 
executed if no match occurs. 

Microsoft uses the MATCH 
statement in its WordStar menu to 
distinguish between the file and no¬ 
file modes. However, some mainte¬ 
nance problems surfaced when the 
screen display was changed in Word¬ 
Star version 3.3. A simple fix can be 
applied to the existing WordStar 
Mouse Menu so it can be used with 
version 3.3 ; in the future, through an 
arrangement between Microsoft and 
MicroPro, the appropriate Mouse 
Menu will be shipped with every 
version of WordStar. 

Mouse Menus are supplied with 
a 60-page pamphlet containing in¬ 
structions on using the prewritten 
menus, as well as on writing custom¬ 
ized menu definitions. A tutorial sec¬ 
tion, combined with a precise refer¬ 
ence section and the sample prewrit¬ 
ten menus, simplifies the process of 
writing menu definitions. Microsoft 


could have helped the user more by 
including an appendix that lists the 
keyboard scan codes rather than re¬ 
ferring the user to Appendix G in the 
BASIC user's manual. 

Rating Mouse Pop-ups 

As is the case with many software 
packages, deciding which mouse 
menu system is best depends on the 
user's needs and technical prowess. 

Mouse Systems' Designer Pop- 
Up Menus are beautifully and sim¬ 
ply designed. The system is easy to 
use and menu programs are easy to 
write. This is the best choice for the 
user who wants to implement an 
uncomplicated interface. A novice 
user is more likely to understand 
Designer Pop-Up Menus than the 
other systems reviewed here. 

Trillian visuALL delivers a lot of 
power without supplying much flex¬ 
ibility in menu design. It uses more 
memory than the others but is rich in 
functionality and can be used with a 
variety of mice or with the keyboard 
alone. Its more complicated language 
structure makes visuALL difficult for 
the novice to understand. 


novice user 
is inore 
likely to 
understand Design¬ 
er Pop-Up Menus 
than the other 
mouse menus 
reviewed here. 


Microsoft Mouse Menus are 
best used when control over physi¬ 
cal menu design and screen place¬ 
ment is required, or with an appli¬ 
cation program that requires diffe¬ 
rent input depending on its current 
operating mode. mn^i 



Designer Pop-Up Menus 3.0 
Mouse Systems Corporation 
2336H Walsh Avenue 
Santa Clara, CA 95051 
408-988-0211 

$295 (with PC Mouse and software) 
$95 (software only) 

Menus included for Lotus 1-2-3, 
WordStar, IBM Personal Editor, 
Multiplan, VisiCalc, SuperCalc 3, 
Volkswriter, PFS:Wiite, Multimate 

CIRCLE 463 ON READER SERVICE CARD 


visuALL 3.09 A 

Trillian Computer Corporation 
P.O. Box 481 
Los Gatos, CA 95030 
408-358-2761 

VisuALL with DOS Shell $99.95 
VisuALL Design Kit $49.95 
VisuALL Shells $49.95 each 
Shells available for Lotus 1-2-3, 
WordStar, IBM Personal Editor, 
Multiplan. 

CIRCLE 462 ON READER SERVICE CARD 


Mouse Menu 200.101 
Microsoft Corporation ■ 

P.O. Box 97200 
10700 Northup Way 
Bellevue, WA 98009 
800-426-9400 
In Washington state call 
206-828-8088 

$195 (includes mouse and software) 
Menus included for Lotus 1-2-3, 
WordStar, Multiplan, VisiCalc 

CIRCLE 461 ON READER SERVICE CARD 


August 1984 


81 














Menus 


Listing 1 Mouse Systems 
Designer Pop-Up Menus 

Comment ("Configured for Word Perfect (version 3.0)") 


Parameters 


Sensitivity 

Hys teresis 

(13, 8) 

( l t 1| 

ReverseVideo 

(Yes) 

FixedMenu 

(Ho) 

EnableBeep 

(No) 


Cursor Definitions 


Arrowkeys: Cursor 

( 

Left ([Left]) 

Right ([Right]) 

Up ([Up]) 

Down ([Down]) 

) 



Button 1 

Definitions 

; Initial Settings for Left, Middle, and Right Buttons 

LBO: 

Button 

(Menu (Main)) 

MB: 

Button 

(Menu (Motion)) 

RB: 

Button 

(Menu (FileCommands)) 

; Redefinitions 

for Left Button 

LBFD: 

Button 

(Menu (FormatDoc)) 

LBFT: 

Button 

(Menu (FormatText)) 

LBEC: 

Button 

(Menu (EditCommands)) 


; Menu Definitions 

Main: Menu 

( 

Title (“Edit") 

Item ("Format Document", Menu (FormatOoc), Button (LBFD)) 
Item ("Format Text", Menu (FormatText), Button (LBFT)) 
Item ("Edit Commands", Menu (EditMenu), Button (LBEC)) 
Item ("Help", Menu (Help)) 

) 


FormatDoc: Menu 


( 

Title ("Format Document") 

Item ("Set Page Format", 

Keys 

([s-F7])) 


Item ("Set Margins", 

Keys 

([s-F6] "3")) 


Item ("Set Spacing", 

Keys 

([s-F6] "4")) 


Item ("Go to Main Menu", 

) 

Menu 

(Main), Button 

(LBO)) 

FormatText: Menu 




V 

Title ("Format Text") 

Item ("Bold Text", 

Keys 

([F6])) 


Item ("Underline", 

Keys 

([F8])) 


Item ("Block Start/End", 

Keys 

([a-0])) 


Item ("Center Text", 

Keys 

([F5])) 


Item ("Flush Right", 

Keys 

([F7])) 


Item ("Indent", 

Keys 

([F4])) 


Item ("Page Break", 

Keys ([c-Enter])) 


Item ("Reveal Function", 

Keys 

([s-F2])) 


Item ("Rewrite Screen", 

Keys 

([s-Fl])) 


Item ("Go to Main Menu", 

) 

Menu 

(Main), Button 

(LBO)) 

EditCommands: Menu 

( 

Title (“Edit Commands") 




Item ("Erase Word", 

Keys ([Home][Backspace])) 


Item ("Erase Rest of Line" 

.Keys ([c-End])) 

Item ("Erase Rest of Page" 

.Keys ([e-PgDn])) 

Item ("Forward Search", 

Keys ([F2])) 

Item ("Reverse Search", 

Keys ([FI])) 

Item ("Find and Replace", 

Keys ([a-F2])) 

Item ("Move Text", 

Keys ([a-9])) 

Item ("Go to Main Menu", 

) 

Menu (Main).Button (LBO)) 

Help: Menu 

( 

Title ("Help") 


Item ("Bold", 

Keys ([s-F3] [F6])) 

Item ("Center", 

Keys ([s-F3] [F5])) 

Item ("Flush Right", 

Keys ([s-F3] [F7])) 

Item ("Forward Search", 

Keys ([s- F 3] [F2] )) 

Item ("Indent", 

Keys ([s-F3] [F4])) 

Item ("Move Text", 

Keys ([s-F3] [a-9])) 

Item (“Print Modes", 

Keys ([s-F3] [a-4])) 

Item ("Block Start/End", 

Keys ([s-F3] [a-0])) 

Item ("Retrieve Text", 

Keys ([s-F3] [a-7])) 

Item ("Reverse Search", 

Keys ([s-F3] [FI])) 

Item ("Save Text", 

Keys ([s-F3] [a-8])) 

Item ("Find and Replace", 

Keys ([s-F3] [a-F2])) 

Item ("Set Margins", 

Keys ([s-F3] [s-F6] "3")) 

Item ("Set Spacing", 

Keys ([s-F3] [s-F6] "4")) 

Item ("Set Tabs", 

Keys ([s-F3] [s-F6] "1")) 

Item ("Set Page Format", 

Keys ([s-F3] [s-F7])) 

Item ("Subscript", 

Keys ([s-F3] [a-2])) 

Item ("Superscript", 

Keys ([s-F3] [c-2])) 

Item ("Underline". 

Keys ([s-F3] [F8])) 

) 

Mr* f ion* Mon il 

( 

Title ("Motion Commands") 


Item ("Top of Document", 

Keys ([Home] [Home] [Up])) 

Item ("End of Document", 

Keys ([Home] [Home] [Down])) 

Item ("Next Page", 

Keys ([PgDn])) 

Item ("Previous Page", 

Keys ([PgUp])) 

Item ("End of Line", 

Keys ([Home] [Right])) 

Item ("Start of Line", 

* 

Keys ([Home] [Left])) 

FileCommands: Menu 

( ____ 

Title ("File Commands") 


Item (“Retrieve Text", 

Keys ([a-7])) 

Item ("Save Text", 

Keys ([a-8])) 

Item ("Print Text", 

Keys ([c-PrtSc] )) 

Item (“System Commands", 

Keys ([ a-3 ])) 

Item ("Exit Word Perfect" 

, Keys ( [a-=] )) 

) 

; Mouse Definition 

( 

Left (LBO) 


Middle (MB) 


Right (RB) 


Cursor (Arrowkeys) 

1 


Listing 2 Trillian visuALL 

SYSTEM 


MOUSE = SPORTSTER 


bdud 1200 


comm = 1 


button 


select = command 


mark = enter 


execute = enter 


user = enter 


Cursin'* 


speed = 5 


82 


PC Tech Journal 















right 

left 


if not (0-79 24 rightarrow) + 
if (0-79 24 fly) 
if not (0-79 24 leftarrow) + 



if (0-79 24 fly) 

up 

= 

if not (0-79 24 uparrow) + 
if (0-79 24 fly) 

down 


if not (0-79 24 downarrow) + 
if (0-79 24 fly) 

Keyboard 

select 

= 

noaction 

mark 

= 

noaction 

up 

= 

uparrow 

down 

= 

downarrow 

left 

3 

leftarrow 

right 


rightarrow 

SHELL (wp.vsh) 



window (WP Commands) 

File Commands = window (File Commands) command 
Format Document = window (Format document) command 


Format Text 

= 

window (Format text) command 

Edit Commands 

= 

window (Edit Commands) command 

Motion Commands 

= 

window (Motion Commands) command 

Help 

= 

window (Help) command 

window (File Commands) 


Retrieve Text 

= 

a-7 fprompt (Filename: ) enter 

Save Text 


a-8 + 

sprompt (Save to current file? ) + 

response (‘y') enter 'y* + 
response not Cv') + 



prompt (Filename: ) enter 

Print Text 

= 

c-Prtsc + 

button (mark = if(0-18 24 *1' + 

if(19-33 24 '2' + 
if(34-54 24 '3' + 
if (55-79 24 enter + 



button (mark=enter)))))) 

System Commands 

= 

a-3 

Exit Word Perfect 

= 

a-= 

Go to Main Menu 

= 

window (WP Commands) command 

window (Format Document) 

bet Page Format 

= 

s-F7 

Set Margins 

= 

s-F6 '3' + 

prompt (left margin: ) enter + 



prompt (right margin: ) enter 

Set Spacing 


s-F6 '4' + 

prompt (set spacing to: ) enter 

Go to Main Menu 

= 

window (WP Commands) command 

window (Format Text) 



Bold text 

= 

F6 button (mark = F6 + 
button (mark = enter)) 

Underline 

= 

F8 button (mark = F8 + 



button (mark = enter)) 

Range Edit 

= 

a-0 button (mark = a-0 + 
button (mark = enter)) 

Center text 

= 

F5 

Flush Right 

= 

F7 

Indent 

= 

F4 

Page Break 

= 

Linefeed 

Reveal Functions 

= 

s-F2 

Rewrite Screen 

= 

s-Fl 

Go to Main Menu 

* 

window (WP commands) command 

window (Edit Commands) 


Erase Word 

= 

Home Backspace 

Erase Rest of Line 

= 

c-End 

Erase Rest of Page 

= 

c-Pgdn + 



prompt (Erase rest of page ? ) + 
enter 

Forward Search 

* 

F2 prompt (Search string: ) 

Reverse Search 

= 

FI prompt (Search string: ) 

Find and Replace 

= 

a-F2 prompt (Search string: ) + 
prompt (Replace with: ) 

Move Text 

= 

a-9 

Go to Main Menu 

i ■ ^ n /I n • ■ / U a i r a-a _ 


window (WP Commands) command 


window (Motion Commands) 


Top of Document 

= Home Home Uparrow 

End of Document 

= Home Home Downarrow 

Next Page 

= Pgdn 

Previous Page 

= Pgup 

End of Line 

= Home Rightarrow 

Start of Line 

= Home Leftarrow 

Go to Main Menu 

= window (WP Commands) command 

window (Help) 


Bold 

= s-F3 F6 

Center 

= S-F3 F5 

Flush Right 

= s-F3 F 7 

Forward Search 

= s-F3 F2 

Indent 

= s-F3 F4 

Move Text 

= s-F3 a-9 

Print Modes 

= s-F3 a-4 

Range on/off 

= s-F3 a-0 

Retrieve Text 

= s-F3 a-7 

Reverse Search 

= s-F3 FI 

Save Text 

= s-F3 a-8 

Search and Replace = s-F3 a-F2 

Set Margins 

= s-F3 s-F6 '3' 

Set Spacing 

= s-F3 s-F6 '4' 

Set Tabs 

= s-F3 s-F6 T 

Set Page Format 

= s-F3 s-F7 

Subscript 

= s-F3 a-2 

Superscript 

= s-F3 c-2 

Underl ine 

= s-F3 F8 

Go to Main Menu 

= window (WP Commands) command 

end 


Listing 3 Microsoft Mouse Menu 

BEGIN EditMenu.MotionMenu,FileMenu,Left.Right,Up.Down,12,24 



cu i l ntrnu ---- 

EditMenu: MENU 

"Edit Menu",2,2,Normal 

OPTION 

"Format Document".GotoFormatDoc 

OPTION 

"Format Text".GotoFormatText 

OPTION 

"Edit Commands",GotoEditCommands 

OPTION 

"Help".HelpMenu 

OPTION 

"Cancel" 

MEND 




rut mau uutument menu- 

FormatDoc: MENU 

"Format Document",2,2,Normal 

OPTION 

"Set Page Format",KeyShftF7 

OPTION 

"Set Margins".SetMargins 

OPTION 

"Set Spacing".SetSpacing 

OPTION 

"Go to Edit Menu".GotoEditMenu 

OPTION 

"Cancel" 

MEND 



;. Format Text Menu ..- 

FormatText: MENU "Format Text",2,2,Normal 
OPTION "Indent", KeyF4 
OPTION "Bold Text",KeyF6 
OPTION "Underline",KeyF8 
OPTION "Block Start/End".KeyAltO 
OPTION "Center Text",KeyF5 
OPTION “Flush Right",KeyF7 
OPTION "Page Break".KeyCtrlEnter 
OPTION "Reveal Functions",KeyShftF2 
OPTION "Rewrite Screen".KeyShftFl 
OPTION "Go to Edit Menu",GotoEditMenu 
OPTION "Cancel" 

MEND 


. Edit Commands Menu - 

EditCommands: MENU "Edit Commands",2,2,Normal 


OPTION 

OPTION 

OPTION 

"Erase Word".KeyHomeBacksp 
"Erase Rest of Line".KeyCtrlEnd 
"Erase Rest of Page".KeyCtrlPgDn 

OPTION 

"Forward Search",KeyF2 

OPTION 

"Reverse Search".KeyFl 

OPTION 

"Find and Replace",KeyAltF2 

OPTION 

"Move text".KeyAlt9 

OPTION 

"Go to Edit Menu".GotoEditMenu 

OPTION 

"Cancel" 


MEND 


August 1984 


83 


















Menus 


;...- Help Menu... 

HelpMenu: MENU "Help is on the Way",1,2,Normal 

OPTION "Cancel" 

OPTION “Bold".HelpBold 

OPTION "Center".HelpCenter 

OPTION "Flush Right",HelpFlushRight 

OPTION "Forward Search",HelpForwardSrch 

OPTION "Indent",Helplndent 

OPTION "Move Text",HelpMoveText 

OPTION "Print Modes".HelpPrintModes 

OPTION "Block Start/End".HelpBlock 

OPTION "Retrieve Text".HelpRetrieveText 

OPTION "Reverse Search",HelpReverseSearch 

OPTION "Save text".HelpSaveText 

OPTION "Find and Replace".HelpFindReplace 

OPTION “Set Margins",HelpSetMargins 

OPTION "Set Spacing",HelpSetSpacing 

OPTION "Set Tabs",HelpSetTabs 

OPTION "Set Page Format".HelpSetPageFormat 

OPTION “Subscript".HelpSubscript 

OPTION "Superscript",HelpSuperscript 

OPTION "Underline".HelpUnderline 

MEND 


MotionMenu: MENU 

OPTION 

OPTION 

OPTION 

OPTION 

OPTION 

OPTION 

OPTION 

MEND 


-- Motion Menu - 

"Motion Commands",2,30,Bold 
“Top of Document".KeyHomeHomeUp 
"End of Document".KeyHomeHomeDown 
"Next Page".KeyPgDn 
"Previous Page".KeyPgUp 
"End of Line".KeyHomeRight 
"Start of Line".KeyHomeLeft 
"Cancel" 


-File Menu-- 

MENU "File Commands",2,59,Inverse 
OPTION "Retrieve Text",KeyAlt7 
OPTION "Save Text",KeyAlt8 
OPTION "Print Text" .GotoPrintTextPopUp 
OPTION “System Commands",KeyAlt3 
OPTION "Exit Word Perfect".KeyAltEqual 
OPTION "Cancel" 

MEND 


;. Print Text Pop-Up 

PrintTextPopUp: POPUP 23,2,Inverse 
TEXT "r , "= Print Menu = 


Full Text Print; Page Print; Print Attrib; Cancel 


SELECT 

SELECT 

SELECT 

SELECT 

PEND 


2,2,16,FullTextPrint 
2,19,11.PagePrint 
2,31,13,SetPrintAttrib 
2,45,6,Cancel Print 


HelpReverseSearch: 
HelpSaveText: 
HelpFindReplace: 
HelpSetMargins: 

HelpSetSpacing: 

HelpSetTabs: 
HelpSetPageFormat: 
HelpSubscript: 
HelpSuperscript: 
HelpUnderline: 


EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 

EXECUTE 


KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3, 
KeyShftF3 
KeyShftF3 


Key FI 
KeyAlt8 
KeyAltF2 
SetMargins 
SetSpacing 
SetTabs 
,KeyShftF7 
, KeyAlt2 
.KeyCtrl2 
,KeyF8 


Fu1ITextPrint: TYPE 

"i" 


PagePrint: TYPE 

"2" 


SetPrintAttrib: TYPE 

"3" 


CancelPrint: TYPE 

“0" 




LACLUIC 


GotoEditMenu: 

EXECUTE 

LBEditMenu,EditMenu 

LBEditMenu: 

ASSIGN 

EditMenu 

GotoFormatDoc: 

EXECUTE 

LBFormatDoc.FormatDoc 

LBFormatDoc: 

ASSIGN 

FormatDoc 

GotoFormatText: 

EXECUTE 

LBFormatText.FormatText 

LBFormatText: 

ASSIGN 

FormatText 

GotoEditCommands: 

EXECUTE 

LBEditCommands,EditCommands 

LBEditCommands: 

ASSIGN 

Ed itCommands 

GotoPrintTextPopUp: 

EXECUTE 

KeyCtrlPrtSc.PrintTextPopUp 

;-- 

- Help Statements.-. 

HelpBold: 

EXECUTE 

KeyShftF3,KeyF6 

HelpCenter: 

EXECUTE 

KeyShftF3,KeyF5 

HelpFlushRight: 

EXECUTE 

KeyShftF3,KeyF7 

HelpForwardSrch: 

EXECUTE 

KeyShftF3,KeyF2 

Helplndent: 

EXECUTE 

KeyShftF3,KeyF4 

HelpMovetext: 

EXECUTE 

KeyShftF3,KeyAlt9 

HelpPrintModes: 

EXECUTE 

KeyShftF3,KeyAlt4 

HelpBlock: 

EXECUTE 

KeyShftF3,KeyAltO 

HelpRetrieveText: 

EXECUTE 

KeyShftF3,KeyAl t7 








Key m** iynmeiii* 

Left: 


TYPE 

0,75 

Right: 


TYPE 

0,77 

Up: 


TYPE 

0,72 

Down: 


TYPE 

0,80 

KeyAltO 


TYPE 

0,129 

KeyAlt2 


TYPE 

0,121 

KeyAlt3 


TYPE 

0,122 

KeyAlt4 


TYPE 

0,123 

KeyAlt7 


TYPE 

0,126 

KeyAlt8 


TYPE 

0,127 

KeyAlt9 


TYPE 

0,128 

KeyAltEqual: 

TYPE 

0,131 

KeyAltF 2: 

TYPE 

0,105 

KeyCtrl2: 

TYPE 

0,3 

KeyCtrlEnd: 

TYPE 

0,117 

KeyCtrlEnter: 

TYPE 

10 

KeyCtrlPgDn: 

TYPE 

0,118 

KeyCtrlPrtSc: 

TYPE 

0,114 

KeyFl: 


TYPE 

0,59 

KeyF2: 


TYPE 

0,60 

KeyF4: 


TYPE 

0,62 

KeyF5: 


TYPE 

0,63 

KeyF6: 


TYPE 

0,64 

KeyF7: 


TYPE 

0,65 

KeyF8: 


TYPE 

0,66 

KeyHomeBacksp: 

TYPE 

0,71,BACKSP 

KeyHomeHomeUp: 

TYPE 

0,71,0,71,0,72 

KeyHomeHomeDown 

: TYPE 

0,71,0,71,0,80 

KeyHomeLeft: 

TYPE 

0,71,0,75 

KeyHomeRight: 

TYPE 

0,71,0,77 

KeyPgDn 


TYPE 

0,81 

KeyPgUp 


TYPE 

0,73 

KeyShftFl: 

TYPE 

0,84 

KeyShftF2: 

TYPE 

0,85 

KeyShftF3: 

TYPE 

0,86 

KeyShftF7: 

TYPE 

0,90 

SetMargins: 

TYPE 

0,89,"3" 

SetSpacing: 

TYPE 

0,89,"4" 

SetTabs: 

TYPE 

0,89,"1" 


84 


PC Tech Journal 









































Is Your PC 
Buried By 
: loppy Disl 
Back-Up? 


«o»11 


wran: i 
mb aoa: 
armin'; \ 
nwm a 

tjrj a 


Knvu 




.. 



With Model 70 PC 
Cartridge Tape System 


DIGI-DATA 

CORPORATION 

®... First In Value 


Digi-Data’s Model 70 PC cartridge tape system lets you back-up your 
PC’s Winchester drive without getting buried in floppies. One cartridge 
holds 16.5 Mbytes of data, more than you can put on 51 floppy disks! 
And you can back-up your 10 Mbyte PC XT® drive in less than 15 min¬ 
utes of unattended operation. That is a small fraction of the time it 
would take with the PC’s floppy, with you standing there changing 
disks. 

Our file-oriented structure makes it possible for you to back-up 
only what has to be changed on your disk. That saves still more time 
and storage capacity. 


8580 Dorsey Run Road 

Jessup, MD 20794 

(301) 498-0200 Telex 87580 

In Europe contact: 

DIGI-DATA LTD 
Unit 4 

Kings Grove 
Maidenhead, Berkshire 
England SL6 4DP 
Tel. 0628-29666-6 
Telex 847720 


70 PC comes ready to run on your IBM PC XT and most compati¬ 
bles like Compaq, Columbia Data Products and Eagle. Complete with 
controller board, driver software and cables. 

Digi-Data’s products also include V 2 inch and V* inch start/stop 
and streaming drives and systems. 


CIRCLE NO. 117 ON READER SERVICE CARD 


® PC XT is a registered trademark 
of IBM Corporation 










Spin the BASIC roulette 
wheel inside your PC 

R andom numbers are the life¬ 
blood of certain kinds of com¬ 
puting. They introduce the vital 
element of chance in game pro¬ 
grams. They are used to test statis¬ 
tical software. Simulation programs 
depend on random numbers to 
establish simulated situations. 
Auditors select files for reviewing 
with them. Pollsters use them to se¬ 
lect participants for surveys. 

Several years ago my household 
was chosen to participate in a mar¬ 
keting survey about some "serious" 
matter, such as the relationship of 
income to the kind of cereal con¬ 
sumed. Households were selected by 
starting with the house on the 
southwest corner of each block and 
polling every fifth house in a clock¬ 
wise trip around the block. If that 
method had been used in my old 
hometown, it would have led to a 
serious bias in the survey results. 

Paul F. Hultquist is a professor of electrical 
engineering and computer science at the 
University of Colorado at Denver. He has a 
Ph.D. in physics and has been teaching in the 
computer field for almost 30 years. 


0 < 

o 


86 








ILLUSTRATION • TONY VILLA NY 

















Random numbers 


29 

38 

27 

96 

45 

74 

83 

72 

41 

90 

19 

28 

17 

86 

35 

64 

73 

62 

31 

80 

9 

18 

7 

76 

25 

54 

63 

52 

21 

70 

99 

8 

97 

66 

15 

44 

53 

42 

11 

60 

89 

98 

87 

56 

5 

34 

43 

32 

1 

50 

79 

88 

77 

46 

95 

24 

33 

22 

91 

40 

69 

78 

67 

36 

85 

14 

23 

12 

81 

30 

59 

68 

57 

26 

75 

4 

13 

2 

71 

20 

49 

58 

47 

16 

65 

94 

3 

92 

61 

10 

39 

48 

37 

6 

55 

84 

93 

82 

51 

0 

29 

38 

27 

96 

45 

74 

83 

72 

41 

90 












Figure 1: Output from Listing 1 



Figure 2: Output from Listing 2 


Each side of the street in that town 
had six houses, so one "inside" and 
two corner houses would have been 
selected on each block. Thus, the 
pollster would have sampled 66 2/ 3 
percent corner houses. Almost all of 
the big, expensive houses were on 
corner lots. Practically any random 
selection method, whether very 
good for all purposes or not, would 
have avoided the bias toward upper- 
income households. 

However, random number gen¬ 
eration can cause, as well as avoid, 
some problems. In order to simulate 
the behavior of a sophisticated com¬ 
munications system in which a sig¬ 
nal is to be extracted from a back¬ 
ground of noise, the programmer 
must not only generate the signal 
on the computer—which is easy— 
but also the background noise — 
which is another matter entirely. If 
the random number generator used 
in simulating the noise has certain 
statistically cyclical properties, the 
simulated system may very well de¬ 
tect the "signal" of the random 
number generator rather than that 
of the simulated signal generator. 

Because of computer users' de¬ 
pendence upon random numbers, it 
is necessary to know how good they 
are, how to generate them quickly 
(especially if they are needed by the 
millions), and how to avoid some of 
the pitfalls presented by random 
number generators included in pro¬ 
prietary software. 


The idea of random numbers 
was born long before computers. 
History reveals several attempts to 
use mechanical devices to generate 
random numbers, including cards, 
dice, and roulette wheels. These 
mechanical methods are not satisfac¬ 
tory in the computer era, however, 
because they tend to suffer from 
"nonrandomness," and they are dif¬ 
ficult to couple to computer hard¬ 
ware in such a way that a random 
number can be obtained, on de¬ 
mand, in binary form. 

Many efforts were made over 
the years to develop computerized 
methods for generating random 
numbers in the same machine that 
is doing the computation. Even so, 
every computer center continued to 
have its punched card deck of num¬ 
bers, often derived from the Rand 
Corporation publication, A Million 



Random Digits with 100,000 Normal 
Deviates (Rand, 1955), a book whose 
title made more interesting reading 
than its contents. 

Random Numbers on 
Nonrandom Machines 

A computer is a deterministic ma¬ 
chine, whereas random numbers are 
products of stochastic (nondetermin- 


istic) processes. How can the use of 
a deterministic computer to gener¬ 
ate a nondeterministic sequence of 
numbers be justified? The answer is 
that it can't be. The issue is side¬ 
stepped, in a sense, by taking the 
pragmatic approach: if the se¬ 
quences are so highly complicated 
that another computer is needed to 
predict the members of those se¬ 
quences, and if the sequences be¬ 
have statistically the way sequences 
of truly random numbers should, 
then the numbers will be accepted 
as random numbers. Note that no 
single number is random; only ran¬ 
dom sequences of numbers are 
meaningful. The statistical behavior 
and lack of predictability are keys to 
accepting such sequences. 

The desire for computer-gener¬ 
ated random sequences led John von 
Neumann to propose the middle 
square method . Von Neumann, a 
universal genius who grew up in 
Hungary, was responsible for estab¬ 
lishing a rigorous mathematical 
foundation for quantum mechanics, 
developing the theory of games, and 
suggesting that the binary number 
system is the natural one for com¬ 
puters. (Considerable evidence indi¬ 
cates, however, that the idea of us¬ 
ing a binary system for computers 
was independently proposed by 
John Atanasoff of Iowa State Uni¬ 
versity at the beginning of World 
War II. His contribution was not 
generally recognized until recently.) 


88 


PC Tech Journal 
















K||H1 

%S^Sr 

^ssfegi. s^sjssS- 

^s@SSS, ^g&? 

'fUm* ^§@. 

^sl^Sst* ”S§ls» 







* 5 

* t - : 



: 

3 ' ^ 


' 



m 




How do you sell power? You 
don’t. Power sells itself. That’s why 
you need to know about CDI/100, 
the powerful information manage¬ 
ment system. 

Suddenly your customer, 
whether novice or sophisticate, 
has the power to control and 


focus the computer, to get it to 
do what it was meant to. And the 
dynamic menu system makes it all 
so easy. 

Our relational data base man¬ 
agement system features variable 
length fields as well as a unique, 
open-ended file structure. The 


result is tailored formatting with 
virtually limitless record keep¬ 
ing and information management 
capability. 

And CDI/100 allows the 
operator to use a host of existing 
application programs, maximizing 
die computer’s efficiency and 









How to turn 
power into profit. 



effectiveness. 

Try CDI/100 for yourself. If 
you haven’t received one of our 
free trade kits, call 1-800-426-8931 
today. Go ahead, put CDI/100 
through your paces. We think 
you’ll be pretty enthusiastic. And 
enthusiasm, like power, sells itself. 

CIRCLE NO. 282 ON READER SERVICE CARD 


Exceptional New Software Concept 

• Everyone’s Filing System 

• English-like Inquiry Language 

• Dynamic Menu System 

• Integrated Help Features 

• Relational Data Management 

• Enhanced Basic Compiler 

• Dictionary Supported Data Base 

• Task Master 



DO 


CDI Information Systems, Inc. 

1309 114th Ave. S.E. 

Bellevue, WA 98004 

(206) 455-5117 

INCREASE YOUR PERSONAL POWER " 




Random numbers 



Figure 3: Output from Listing 3 



Von Neumann's middle square 
process involved using the middle 
digits of successive squares in order 
to produce a random sequence. For 
example, if 9,268 is the nth num¬ 
ber, then its square is 85,895,824, 
and the n+ 1st number is 8,958. 
Unfortunately, this method tends to 
fall into short cycles, the most per¬ 
nicious of which is all zeros. None¬ 
theless, it helped in the early days 
of Los Alamos to solve, by simula¬ 
tion, problems that were intractable 
to classical mathematics. 

Most of today's random number 
generators use some variation of the 
linear congruential method first pro¬ 
posed by Professor Derrick H. 
Lehmer of the University of Califor¬ 
nia at Berkeley. His method can be 
expressed as an equation 

x n+1 = ax n + c mod m 

where x n and x n+I are the succes¬ 
sive members in the sequence, a is 
the multiplier, c is an additive con¬ 
stant, and m is the modulus. For ex¬ 
ample, if m = 101, c = 23, a = 21, 
and x n = 38, then ax n +c = 798, 
which when divided by 101 is 
7 + 91/101. Because mod m means 
the remainder after division by m, 
then x n+J = 91. 

The IBM PC BASIC contains a 
random number generator RND 
that is of this type. According to 
Richard E. Farmer, manager of prod¬ 
uct support for Microsoft Corpora¬ 
tion, the parameters for this genera¬ 


tor are a = 214,013, c = 2,531,011, 
and m =2 24 . PC BASIC also con¬ 
tains an instruction RANDOMIZE. 
If included in a program, it calls for 
an integer between — 32,768 and 
+ 32,767 that may be supplied from 
the keyboard or supplied with the 



instruction. This provides a new 
seed, or starting value, to create a 
different sequence. The ability to 
reseed is important in that it allows 
the user to generate different and 
(presumably) independent se¬ 
quences for statistical replication. 
However, the ability to reproduce 
the same sequence is helpful, dur¬ 
ing debugging for example. (That 
points out another drawback of 
physical devices for random number 
generation—it is usually impossible 
to repeat the same sequence.) 

One difficulty in random num¬ 
ber generation is the production of 
very long sequences without repeti¬ 
tion. No congruential sequence can 
exceed m in length; as soon as all of 
the integers 0 through m— 1 have 
been generated, it must repeat. Why 
should the user want all of the in¬ 
tegers 0 through m— 1? With a large 
value of m, he can generate enough 
numbers in the sequence to have 


many independent subsequences 
and thus can replicate his statistical 
experiments. In other words, the 
user can reseed the random number 
generator and use it many times 
without worry about duplication. 

Another reason to produce all 
of the integers from 0 through 
m— 1 is that if "chunks" of the re¬ 
gion from 0 to m — 1 were missing, 
the random number generator 
might not be uniform. Also, having 
all of the integers enables the user 
to know the length of the sequence 
of numbers before the generator be¬ 
gins to repeat itself. 

It is known [Knuth, 1981] that 
the congruential generator can be 
made to cycle through all of the in¬ 
tegers 0 through m— 1 in some or¬ 
der if these conditions are met: 

c must be relatively prime to m 
(the two cannot have any com¬ 
mon divisors) 

a— 1 (sometimes called b) must be 
a multiple of every prime number 
that divides into m ; if m is prime 
then b must be a multiple of m 

If 4 divides m, then a— 1 must be 
a multiple of 4. 

For example, if m = 100, then 
c can be any prime number under 
100, say, 29. Now m = 2 2 *5 2 , so 
b = a— 1 must contain 5 (second 
condition above) and 4 (second 
and third conditions) as factors. 
Thus, a suitable b is 20, and a = 21. 


92 


PC Tech Journal 










~v 4 t 


Beyond 

Board-Driven 

Networks 


Multi-User PC Networks. Their ability to serial ports. Currently, four of these terminals 
share expensive peripherals, programs, and cost less than one PC. 
files has always made sense. At least, in MultiLink'“ runs under all releases of PC- 
theory. The catch is that, previously, every DOS (except 1.0) and certain implementa- 

workstation required its own PC . . . PLUS a tionsof MS-DOS. Leading programs such as 

kilobuck “Network Interface Board.” In other WordStar, Lotus 1-2-3, PeachText 5000, and 

words, your cost-per-user was over $3,000. dBASE II are supported. In addition, most 

And that doesn’t make sense. Not any more. text-oriented software is fully-compatible. 

The Multi-Tasking, Multi-User Network A Resource-Sharing System. Multiple 
That’s Software-Driven. MultiLink™ repre- users are able to access all of your com- 

sents a major breakthrough in networking puter's resources, locally, or from remote 

systems. Network interface boards are not locations using a terminal with a modem, 

required. In addition, only one IBM PC/XT is Disk, printer, program-sharing, and a corn- 

needed in your network. prehensive print spooler are fully-imple- 

Four Workstations for the Price of One. mented. 

MultiLink'" is a unique software package Make the MultiLink™ Connection 
which transforms ONE IBM PC/XT (or PC- Today. Call The Software Link TODAY, and 

Compatible) into the CPU of a multi-tasking, get the whole story. MultiLink™ is immedi- 

multi-user network. It utilizes inexpensive ter- ately available for $295 and comes with a 

minals as workstations. Up to eight can be money-back guarantee. VISA, MC, and 

connected to a single PC with appropriate AMEX accepted. 

MoaDGStLoDDCs" 


THE SOFTWARE LINK, INC. 



6700 23-B Roswell Rd„ Atlanta, GA 30328 Telex: 4996147 SWLINK 
CALL: 404/255-1254 

Dealer Inquiries Invited 


IBM, PC, XT, & PC-DOS are trademarks of 
IBM Corp. MS-DOS, WordStar. dBASE II. 
Lotus t-2-3, and PoachToxt 5000 are 
trademarks of Microsoft Corp., MicroPro, 
Ashton-Tate, Lotus Development Corp., & 
Peachtree Software. Inc„ respectively. 


MultiLink' - is a trademark of The Software Link, Inc. 
Terminals courtesy of QUME Corporation. 


CIRCLE NO. 393 ON READER SERVICE CARD 


Random numbers 




Figure 5: Output from Listing 5 


Figure 6: Output from Listing 6 


The user now knows that a = 21, 
m = 100, and c = 29 will "go maxi¬ 
mum cycle" or will generate every 
integer 0 through 99. Any integer 
(usually required in software to be 
less than m) will do as a seed, or 
starting value. For example, in this 
generator the sequence that is 
shown in figure 1 can be generated 
by starting with zero as the seed. 

The BASIC program to do this is 
shown in listing 1. 

The sequence as generated 
doesn't look very random when dis¬ 
played in this form (as shown in 
figure 1). If the user were presented 
with these numbers in sequential 
order (as read across the page), he 
would undoubtedly catch on imme¬ 
diately to the pattern of the unit's 
digits; it would probably take more 
time to see the pattern in the 10's 
digits. That is a characteristic of 
random number generators: the 
least significant digits are generally 
the least random. 

Why does the IBM PC BASIC 
function RND give fractions? Most 
generators embedded in commercial 
software have several options for 
presenting results, even though the 
underlying process is one using in¬ 
tegers. The most common way of 
presenting random numbers is in 
the form x n+1 /m. That is, the ran¬ 
dom integer is divided by the mod¬ 
ulus and expressed in floating point 
form as a fraction in the range 0 to 
1, but not including 1. Because the 


common methods generate fractions 
that are uniformly distributed be¬ 
tween zero and 1, the mathematical 
notation U[0,\) is sometimes used to 
indicate that the set of possible 
numbers include 0 but not 1. 



The Urge for Speed 

Programmers who use random num¬ 
bers by the millions are concerned 
about the speed of generation. For 
this reason most generators are writ¬ 
ten in machine language and called 
as functions. Often, a desire to speed 
up the generation process leads to 
the omission of the addition of c. 
This creates a set of new problems, 
such as how to guarantee maximum 
cycle, which in the c <> 0 case 
was dependent on c not being zero. 

If c is chosen as zero, then a 
must have much more severe re¬ 
strictions. Since zero cannot be in¬ 
cluded in the cycle, the seed must 
be restricted to be non-zero and rela¬ 
tively prime to m. Furthermore, 
maximum cycle is always less than 
Hi; the best solution is to make m a 
prime number, in which case the 
cycle length is m— 1 for proper a. 

The urge for speed also suggests 
that the value of m be made the 
"word size" of the computer. Then, 


when ax n+1 + c has been com¬ 
puted, whether c is zero or not, the 
mod m can be found simply by re¬ 
taining the "remainder" (least sig¬ 
nificant) portion in the multiple 
length register used for multiplica¬ 
tion. This is attractive because it 
eliminates the need for a division to 
carry out the modulus operation. 

Those who wish to pursue the 
technicalities of the c = 0 case, plus 
the use of the word size for m, 
should read Seminumerical Algo¬ 
rithms: The Art of Computer Pro¬ 
gramming (Knuth, 1981). The math¬ 
ematics and the arguments are diffi¬ 
cult reading, but most PC users are 
not so pressed for speed that they 
need to use the more esoteric meth¬ 
ods—if so, they should have been 
using the Cray or the Denelcor HEP 
from the beginning. Perhaps the 
c <> 0 version will serve as well 
as the faster versions, considering 
the speed of the PC. 

RND Surprises 

The toy random number generator 
discussed previously is obviously 
not enough for most users; it is far 
from random. Because IBM BASIC 
(and other high-level languages) do 
not support integers beyond the val¬ 
ue 32,767, generating good con- 
gruential sequences using programs 
written in these languages is impos¬ 
sible. No values of m larger than 
181 can be used in the linear con- 
gruential generator written in 


94 


PC Tech Journal 









YOU DON’T 
HAVE TO 
REMODEL 
TO ADD ON 



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. 

THE CORONA PC 

©Corona Data Systems 1984 
CIRCLE NO. 171 ON READER SERVICE CARD 


corona 

dota systems, inc. 























Random numbers 



Figure 7: Output from Listing 8 


BASIC because of integer overflow,* 
therefore, sequences cannot exceed 
181 in length. 

This is totally unsatisfactory for 
most purposes, so the user may be 
forced to write a congruential gener¬ 
ator in assembly language and 
couple it to the high-level language 
as a function. He may also use what 
has been provided in the language 
(which I started to do with RND) 
or one of the "randomizers" 
with RND to give better sequences. 

Figure 2 shows what I was ex¬ 
pecting to get using RND, and fig¬ 
ure 3 shows what I actually got. See 
listings 2 and 3 for the BASIC pro¬ 
grams to run these figures. The 
coordinates on the screen were 

I = 100 + 425*(0.3*W + 0.4*X 
+ 0.3*Y) 

J = 25 + 150* (0.3*X + 0.4*Y 
+ 0.3 *Z) 

where W, X, Y, and Z were found 
by making four calls to RND. The 
pattern is supposed to show how 
correlated random variables behave. 
(Statisticians please note that the 
display coordinates are upside-down,* 
the correlation is really positive.) 

My next attempt to understand 
what was going on led to figures 4 
through 6, which were helpful in 
learning something about RND. In 
these diagrams, the coordinates of 
the points were determined by 
I = 80 + 465*RND 
J = 35 + 130*RND 




The differences among the figures 
appear because, in the case of figure 
5, there is a do-nothing call to RND 
between the calculations of I and /, 
and in figure 6, there are two such 
calls. The very pronounced stripes, 
particularly in figure 4, are charac¬ 
teristic of congruential generators. 
All congruential generators behave 
this way,* the trick is to make the 
modulus very large and the multi¬ 
plier very good. Then the stripes 
can be made so close together that 
they are practically unnoticeable. 
The points on the screen will occur 
in such a complicated order that the 
process appears to be random. (See 
listings 4, 5, and 6.) 



Putting Generators to 
the Test 

The crucial test for good multipliers 
is the spectral test, which is dis¬ 
cussed in Donald Knuth's book, 
mentioned above. He gives a table 
of several multipliers, both good and 
bad, along with the findings from 
the application of the test. Program¬ 
mers wishing to go to the trouble of 
writing an assembly language pro¬ 
gram should take time to investigate 
the multipliers. Unfortunately, 
without big-integer software some 
of the conclusive tests, such as the 


spectral test, cannot be run on the 
PC in a high-level language. 

A more practical method to test 
sequences of random numbers (per¬ 
haps from a generator whose meth¬ 
od is embedded in software) is to 
generate displays such as those 
shown in the accompanying figures. 
This is easy and enlightening. 

Other tests are statistical. One 
that is often applied, but that few 
generators ever fail, is the test for 
uniformity of distribution. This test 
asks if there are as many random 
numbers in the interval from, say, 
0.1 to 0.2 as there are in the interval 
from 0.8 to 0.9. The distribution 
test is usually applied in the follow¬ 
ing way : the user decides how 
many intervals he wants to be 
tested, for example, 101; then inside 
of a DO loop, or FOR—NEXT loop, 
he multiplies each random number 
by 101, truncates, and adds 1 to 
avoid a zero index,* this number is 
used as the index to raise the count 
of occurences in an array of occur¬ 
rence counts,* the limit on the loop 
should be chosen so at least 5 counts 
(10 is better) will occur in each 
"bin." The BASIC program is 
shown in listing 7. 

The calculated quantity CHSQ 
is called chi square. Note that if all 
of the bins had precisely 10 (the ex¬ 
pected number in the statistical 
sense) then chi square would be 
zero. In real life, the counts in the 
bins typically would be 8, 11, 10, 


96 


PC Tech Journal 









13, 7, 12, 9, , so that chi 

square has some nonzero value. If, 
however, the generator is very bad, 
so that counts are such numbers as 
0, 15, 3, 25, 1, 2, 30, ... , then the 
value of chi square will be large. 

The values of chi square, based 
upon a theoretical consideration of 
true randomness, are tabulated and 
are available in many places 
[Abramowitz and Stegun, 1964; 

CRC Tables, various editions]. For 
this particular example the value of 
chi square should lie in the range of 
about 90 to 109 (the so-called 75 
percent and 25 percent points; 75 
percent of the time chi square 
should be greater than 90 and 25 
percent of the time it should exceed 
109). The number of degrees of free¬ 
dom, needed to find the correct en¬ 
try in the table, is 100. (Only 100 of 
the bins can have their contents as¬ 
signed arbitrarily,- the 101st bin 
must take what is left over.) 

A single application of this (or 
any other) statistical test is not 
enough. The random number gener¬ 
ator ought to be reseeded and tested 
over a number of sequences. The 
failure of the generator—indicated 
by chi square values that are too 
low or too high (below the 95 per¬ 
cent value, for example, or above 
the 5 percent value)—in isolated 
cases is generally not of concern. 
Forty repetitions of the test applied 
to RND yielded values of chi square 
that ranged from 87.8 (about 70 per¬ 
cent of the time chi square should 
exceed this value) to 113.6 (about 20 
percent of the time chi square 
should exceed this value), indicating 
that one cannot reject the hypothe¬ 
sis that chi square is distributed uni¬ 
formly with this set of data. 

A somewhat more sensitive test 
for uniformity is the Kolmogorov- 
Smirnov test. It compares the shape 
of the statistical distribution func¬ 
tion for the generator with what ac¬ 
tually occurs and measures the max¬ 
imum excursions from the ideal. 
These values are also tabulated. 

This test is explained in Knuth's 

August 1984 


Seminumehcal Algorithms and in 
many statistics books. 

One of the more critical tests is 
the so-called runs test. A run is a 
monotonic sequence of numbers in 
which each is larger (or smaller) 
than its predecessor. For example, in 
the sequence of digits 8,3,5,9,2,4,7,9 
the set 3,5,9 is a run (up) as is 
2,4,7,9. The first one is of length 3, 


and the latter one of length 4. The 
distribution of the lengths of the 
runs is sometimes an indicator of 
the quality of the generator; particu¬ 
larly, this distribution seems to 
show up too-small multipliers. 

Knuth shows a very compli¬ 
cated method for determining the 
value of a variable he calls V, where 
V is chi-square distributed. The 





Btrieve: 

Network and single-user file management for all 
your programs. All your programming languages. 

Written in 8088 Assembler for the 


Say goodbye to writing file management 
routines. Because now Btrieve™ can han¬ 
dle file management for all your program 
development on the IBM PC. All your 
programming languages. 

Based on the b-tree file indexing 
system, Btrieve provides the most 
sophisticated file handling powers 
available for your PC. And for multiple 
PCs. Btrieve™/N lets you share files 
among PCs in NetWare,™ PCnet,™ 
EtherSeries™ or MultiLink™ networks. 
And both Btrieve and Btrieve/N offer the 
same superior performance characteristics: 

• Interfaces all major IBM PC 
languages—BASIC, Pascal, 
COBOL, C, and IBM Macro 
Assembler 



SoftCrafMnc. 

EO. Box 9802 #590 Austin, Texas 78766 (512)346-838! 


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


IBM, MS, Btrieve and Btrieve/N, PCnet, MultiLink, 
NetWare, and EtherSeries are trademarks of International 
Business Machines, Microsoft Corporation, SoftCraft Inc., 
Orchid Technology, Davong Systems Inc., Novell Data 
Systems, and 3ComCorp., respectively. 

READER SERVICE CARD 


CIRCLE NO. 201 ON 


IBM PC 

• Multikey access to records 

• Automatic file recovery on system 
crash. 

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

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

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


97 

















The best IDEA! 


Were IDEA. The best IDEA since the IBM® PC. 

We have a full line of peripherals that are compatible 
with the IBM PC. But, more importantly, they’re compat¬ 
ible with each other. So you can build a better PC, piece 
by piece. 

Each IDEA peripheral is the best you can buy. More 
features. Better features. Higher quality. And all at a 
lower price. 

IDEA is unique. Very unique. For example, we design 


our own products. So they’re all integrated. Meaning 
that they work together to give you a system that’s 
systematic. Efficient. And compatible. 

Integration also means that we don’t buy someone 
else’s ideas and resell them to you. So, if you call our 
Customer Hotline with a question, you’ll speak with 
technical support people who are directly involved in 
the design and production of our products. 

Designing our own products also assures you of 


IDEAmax 384 

The Multifunction Card with the unique backplane 

• Serial, parallel and game ports cabled directly from the 
back of the board. • Up to 384KB of parity checked memory. 

• Includes disk emulation, printer spooler, printer selector, 
perpetual calendar and diagnostic software. • IDEA multifunc¬ 
tion family includes IDEAmini I/O card, IDEAplus disk host 
adapter card. • Purchase only as many options as you need. 
From $295 


IDEAcomm 1200 

Internal modem for 300/1200 baud communications 
• Slim profile construction uses only one slot in the IBM PC 
or IBM PC/XT. • Easy-to-use, menu driven software for your 
communications applications. • Runs Smartcom® Crosstalk,® 
PC Talk and most other software. • Extra serial port for C0M1 
or COM2 configuration. 

$495 


IDEAcomm 3278 

The performance leader for PC-to-mainframe communications 
• Unique dual-ported memory design enables 20% -40% 
faster file transfers. • Includes file transfer (upload/download) 
software for VM/CMS, TSO. • Software configurable keyboard 
for customizing your application. • 3278 Emulation, Bisync 
and SNA/SDLC support; coax connection to IBM 3274/3276 
controllers. 

$995 includes board and software 


The IDEAmax 384 

.U»t UV wHy RW ft. 





IBM and the IBM logo are registered trademarks of International Business Machines Corporation. Smartcom. Crosstalk and MicroAge are registered trademarks of Hayes Microcomputer 
Products, Microstuf. and MicroAge Computer Stores, respectively. IDEAmax 384, IDEAmini, IDEAplus, IDEAcomm 3278. IDEAcomm 1200, IDEAdisk, IDEAdisk Plus, IDEAshare, IDEAnet 
and IDEAgraph are registered trademarks of IDE Associates, Inc. 












nee the IBM PC. 


dependability. And quality. All our boards are burned in 
for 168 hours. Plus, we perform functional testing on 
each peripheral as a system to assure reliability. As a 
result, every IDEA product, including disk drives, is 
covered by a one-year warranty. 

At IDEA, we also offer you the only trade-up policy 
in the business. If what you buy today, you want to 
update tomorrow, you haven’t wasted your money. 
You’ve invested it. 


But having the best peripherals for the IBM PC isn’t 
enough. They have to be available. And you’ll find our 
products at all Math Box, Computer Depot, AmeriSource, 
and Northeast Computer stores, as well as many Compu- 
terland, Inacomp and MicroAge® locations. Call 800- 
257-5027 for the IDEA store nearest you. 

IDEA. When all is said and done, it’s little wonder 
why the best IDEA since the IBM PC is the best IDEA 
for the IBM PC. 



IDEAdisk 


r 



IDFAss (dales 


rih;1V't !(>K.U In? Ts. 


IDEAdisk 

The high capacity disk system with built-in backup 
• Removable Winchester cartridge: Faster, more reliable, easier 
to use than tape backup. • Wide range of storage capacities: 5, 
10,15, 25 and 45 megabytes. • Internal or external mounting 
versions. • Includes high performance software for disk 
caching, dynamic partitioning, public or private files, self 
booting. • IDEAdisk Plus version lets you add memory, serial 
and clock options without using another expansion slot. 

From $1645 


IDEAnet 



tfiJAssociates 

11 * o ‘injwu'fl 


IDEAnet and IDEAshare 

Cost-effective networking products for the IBM PC 
• IDEAshare software for up to four users. • Fully upgradable 
to IDEAnet hardware and software for up to 20 users. • All 
PCs on the system remain fully operational. • No dedicated 
file server required. • Security features include User ID’s, 
passwords, file and record locking. • Includes software for 
remote printing, print spooling, disk and file sharing. • 
IDEAnet and IDEAshare are totally integrated with IDEAdisk. 
From $275 to $495 per node 



IDEAgraph 

High resolution, high speed color graphics card 

• Transforms the IBM PC into a powerful graphics workstation 
for CAD/CAM, medical imaging, broadcasting, graphic arts. 

• 256 colors displayable at one time; up to 1024x1024 re¬ 
solution. • Analog, digital TTL and composite video outputs. 
From $995 


(X! A 


IDEAssociates 


The best IDEAs for personal computers. 


IDEAssociates, Inc., 7 Oak Park Drive, Bedford, MA 01730 (617) 275-4430 Telex 94-8245. 
IDEAssociates S.A., 5, Route de Chene, CH1207 Geneva, Switzerland (22)86.11.19 Telex 428 388 KBSCH 










Random numbers 


complexity of the method results 
from the fact that successive runs 
are not quite statistically indepen¬ 
dent. I have used this procedure on 
RND and found that the values of 
V seem to be satisfactory. There is a 
simpler test that involves dropping 
the variate (uniformly distributed 
random number) immediately fol¬ 
lowing a run, which relieves the de¬ 


pendency problem. This version 
gave similar results. 

Other statistical tests include 
the poker-hand test (using random 
numbers to generate digits 0 
through 9 in sets of, say, 5 digits 
and determining if there are appro¬ 
priate proportions of two pairs, three 
of a kind, etc., in these sets), the 
coupon collector test (determining 


how long it takes to collect a full set 
of digits from 0 through 9, gener¬ 
ated in sequence), and many others. 
Knuth describes and provides the 
relevant mathematics for most of 
the commonly applied tests. 

In all such tests the user must 
remember that exceptional results 
can occur by chance. If a card- 
player were dealt 13 spades in a 
bridge hand, he would fall over 
dead of surprise, or at least be 
highly suspicious of the dealer. 
Nonetheless, such an event can hap¬ 
pen with precisely the same proba¬ 
bility that we are dealt any nondes¬ 
cript hand. Thus, an occasional bad 
result from a statistical test of a ran¬ 
dom number generator should be 
expected just as an occasional "fall- 
over-dead" hand in bridge should be 
expected. The judgment involved is 
how often to expect either. This is 
why more than one test is neces¬ 
sary. If the test shows up bad in the 
5-percent sense significantly more 
than 5 percent of the time, then 
there is cause to worry. 

Alternatives to RND 

Suppose that a user needs to use ran¬ 
dom numbers and has little else to 
use except RND in BASIC. RND 
does not appear to be the world's 
best random number generator. 
What does he do then? Is there any 
way out except to (a) punt, (b) write 
an assembly language generator 
with better properties, or (c) give up 
and go to a big machine at some ser¬ 
vice bureau and use an unknown 
generator that may be even worse? 

Two schemes allow for the gen¬ 
eration of more-random sequences 
from less-random ones. The first 
uses a vector of, say, 50 variates that 
have to be loaded into the vector at 
the beginning of use. One extra 
variate is kept as a spare. When a 
new random variate is needed by 
the program, the spare is used to 
calculate the "random index" of one 
of the cells of the vector,- the con¬ 
tents of that cell are then used to re¬ 
place the spare and are furnished to 


THE 

MOST 


The Greenleaf Functions 

Library for C Programmers 

Total Access to IBM PC and XT 
Compatible with DOS 2*0, 1.1, Cl C86, 
Lattice, and Microsoft C - Versions 1 and 2, 
Supports All Memory Models 


EXTENSIVE 


A GOOD WAY 
TO LEARN C 


FULL 

SOURCE 

CODE 


PARTIAL CONTENTS 


$17500 

Add $7.00 for 
postage and 
handling. Specify 
Compiler (C86, 

Lattice, or Microsoft) 

MasterCard and VIS/^ 
Accepted 

ALSO AVAILABLE 
Cl C86 Compiler. 
Lattice C.. 

Prices subject to change 


'♦ DOS 2.0- over 25 functions ♦ Complete Video 
Access for Text and Graphics ♦ Over 60 String 
Functions (including “justify” and “center”) 

♦ Rainbow Series Color Text * Time and Date 

♦ Over 40 IBM Graphics Printer functions ♦ Total 

: Access to Function and Special Keys ♦ RS232 Async 

♦ All BIOS Functions ♦ Some functions are “BASIC 
Equivalent” ♦ Software Diagnostics ♦ Disk functions 

♦ Utility functions ♦ and more . . . 

THE greenleaf functions . . . 

Nearly 200 functions, 180 page manual, 3 Libraries, 
Extensive Examples of each function, Full 
Source Code in C and Assembler, 

Demo Programs 

Save Months of 

* I ■ Painstaking 

. $395°° Work 

without notice. 


Dealer Inquiries Welcome 

(214) 446-8641 



LIBRARY 
ANYWHERE 

FOR THE IBM PC AND PC XT 

The Greenleaf Functions is a trademark of Greenleaf Software. C86 is a trademark of Computer 
Innovations Inc. IBM. IBM PC, PC XT, and PCDOS are trademarks of International Business 
Machines Corp. Lattice is a trademark of Lattice Inc. Microsoft C and MSDOS are trademarks 
of Microsoft Inc, 


GREEN^AFSoffwARE <3> 2101 HICKORY DRIVE <> CARROLLTO N. TEXAS 75006 

CIRCLE NO. 105 ON READER SERVICE CARD 


100 


PC Tech Journal 





















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-yuP 212A- 
compatible modem 
1983 Introduced first integrated 

voice/data modem for IBM PC 
1983 Granted patent on command- 
driven modem 


two, four or more piPs (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 wea(< 
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 voice and data applications, 
there’s nothing like the PC:lntelliModem. 
Literally. Its easy-to-use software pack¬ 
age-PC:lntelliCom™- lets you switch 
repeatedly between talking or listening 
and sending or receiving data. All at 


Make sure your modem has all 
these PC:lntelliModem features 

Integrated Voice/Data 

■ Switch between voice and data 
communications 

■ Programmable telephone handset jack 

Status Reporting 

■ Line status detection (dial tone, 
busy, remote ringback, voice answer, 
modem answer, incoming call) 

■ Audio monitor 

■ Programmable status LED 
PC:lntelliCom™ Software Included 

■ 99-name on-line telephone directory 

■ Auto-dial, auto-repeat dial, auto-answer 

■ Link to another number if busy 

■ File transfer 

■ Data capture to diskette 

■ Programmable auto log-on sequences 
Compatible with Crosstalk™ and 

PC-Talk III™ 

Pulse and Tone Dialing 
Receive Sensitivity: -50 dBm 
Speeds: 110,300,1200 baud 

the touch of a single function key. That 
means now both you and your com¬ 
puter can talk on the same line. With¬ 
out having to hang up, re-dial or plug 
and unplug a lot of cables. 

So if you’re designing microcom¬ 
puter datacomm products-or just 
looking for a PC/XT modem for your¬ 
self, check out the PC:lntelliModem at 
your local dealer. You’ll get the mes¬ 
sage. And so will they. Or contact: 
Bizcomp, 532 Mercury Drive, Sunnyvale, 
CA 94086; 408/733-7800. 

CIRCLE NO. 270 ON READER SERVICE CARD 



WeVe got people talking. 






















— 


/ 

1 


u 






- 


All printed circuit boards manufac¬ 
tured by Apparat and sold after June 1, 
1984, including RAM boards, COMBO 
cards and CRAMBO cards for the IBM 
PC, XT, PCjr and portable PC, are cov¬ 
ered by our exclusive lifetime limited 
warranty covering parts and labor. 


4401 South Tamarac Parkway, Denver, CO 80237—Customer Service 303/741-1778 
Apparat retail outlets—DENVER: 4401 S. Tamarac Pkwy. 303/771-2032 • 5224 W. Warren Ave. 303/985-1217 
CHICAGO: 1844 S. Arlington Heights Rd. 312/640-0322 


CIRCLE NO. 106 ON READER SERVICE CARD 



























Imagine your PC with 


Apparat add-ons. Imagine 
where it could take you. 

Special values from the hard disk 
experts. For example, imagine your IBM 
PC or Portable PC with hard disk capability. 
Apparat’s external Hard Disk Subsystem 
is completely compatible, running DOS 
2.0 or 2.1 without modification or device 
drivers. And now you can get more capac¬ 
ity—22 and 33 MB formatted configura¬ 
tions—for less money. 22 MB for $2,295, 
33 MB for $2,995. Apparat also offers 
internal or external 10 MB drives at simi¬ 
larly low prices. 

XT owners—trade in your 10 MB 
drive for a larger Apparat hard disk 
drive. Our 22 MB drive is $1,299, but 
you pay just $899 with a trade-in of your 
existing 10 MB drive. Our 33 MB drive is 
just $1,799, but you pay just $1,399 when 
you trade in your existing 10 MB drive. 
Call the Apparat ordering hotline for 
trade-in details and shipping instructions. 

TEAC or Panasonic floppies. These 
half-height floppies are perfect for your 
PC, PPC, or XT. Call for trade-in prices on 
full-height floppies. 

New 28 pin EPROM programmer. 

Now Apparat has a new Prom Blaster for 
the PC, XT, PPC and PCjr to program most 
28 pin EPROMS (including the 2764,128, 
256), in addition to our original Prom 
Blaster that programs most 24 pin EPROMS 
...each $129. We also make an EPROM 
cartridge for the PCjr to accept your newly 
programmed EPROMS. 

PPC and PCjr. Apparat has developed 
new products for the IBM Portable PC. 
Now available is a 256K RAM card and a 
Combo card (P & S). Both fit the PPC short 
slots. New for the PCjr is a 128K RAM card 
and a Combo jr card (P & elk). Both fit the 
side attachment. 

Other Apparat add-ons. RAM cards 
for the PC and XT—64K $189, expandable 
to 512K. COMBO II card for the PC and XT, 
5 functions on one card— $189. CRAMBO 
card for the PC piggybacks COMBO II on 
64K RAM card— $359. 64K internal PRINT 
SPOOLER with parallel interface— $299- 
Stand-alone at $319. 

Warranty. All Apparat manufactured 
PC. boards sold after June 1,1984 covered 
by our exclusive lifetime limited warranty 
covering parts and labor. 

Apparat, Inc. 

ADD ON AND ON AND ON AND ON AND ON 

ORDERING AND DEALER 
INFORMATION 

800 / 525-7674 

Prices subject to change without notice. 


Random numbers 

the program. Next a call is made to 
RND to replace the contents of the 
cell. This method seems to provide 
sequences of random numbers that 
have good statistical properties in 
spite of the lack of randomness of 
the underlying generator. This pro¬ 
cedure (lines 1100 through 1130, 
listing 2) was used to "clean up" fig¬ 
ure 3 to get figure 2. 

Execution time for producing 
these random sequences is some¬ 
what longer than otherwise. Figure 
7 shows the results of using this 
method to produce a diagram simi¬ 
lar to those in figures 4 through 6. 
Reseeding this generator requires re¬ 
seeding RND and then reloading 
the array. The BASIC code is given 
in listing 8. 

The second method for generat¬ 
ing more-random sequences from 
less-random ones needs another ran¬ 
dom number generator to get it 
started. It is called an additive gen¬ 
erator because its method of genera¬ 
tion relies on addition rather than 
multiplication. The equation for the 
nth random variate is given by 

X n = (*n-24 + X nS5> mod m 

where it is clear that n > 55. The 
choice of 24 and 55 for subscripts is 
not mere whimsy,- these values 
guarantee that the period of the se¬ 
quence will be very long, with a 
minimum period of 2 55 — 1, which 
is in excess of 3.6 x 10 16 . If the mod¬ 
ulus is less than this number the 
generator obviously must repeat 
some of the integers. The sequence 
will not repeat itself in fewer than 
this number of variates. 

In this case, 16,384 can be used 
as the modulus because of the addi¬ 
tive nature of the generator. At the 
beginning of the program, declare 

DIM X (55) 

DEFINT I,J,K,X 
J = 24: K = 55 

(RANDOMIZE) 'If desired 

FOR I = 1 to 55 

X(I) = INT (16384#RND) 

NEXT I 


To call for a number that is uni¬ 
formly distributed on [0, 1), write 

X(K) = (X(K) + X(J)) MOD 16384 
U = X(K)/16384 
J = J — 1:K = K — 1 
IF 7 = 0 THEN J = 55 
IF K=0 THEN K=55 

The statements following 
U = X(K)/16384 convert X into a 
circular buffer so that nothing but 
pointers need be moved as the pro¬ 
gram progresses. Reseeding the addi¬ 
tive generator also requires reseed¬ 
ing RND and reloading the circular 
buffer with 55 new numbers. 

A floating-point variation of 
this method was used to produce 
figure 8. In this version the array X 
is loaded directly from RND and 
thus avoids the integer operations 
entirely. Instead of 

X(K) = (X(K) + X(J)) MOD 16384 
U = X(K)/16384 

write 

X(K) = X(K) + X(J) 

IFX(K) => 1.0 THEN X(K) = 
X(K) - 1.0 
U = X(K) 

This provides a little more speed 
than the integer version. Listing 9 is 
the program for this variation. 

Is RND good enough? It prob¬ 
ably would be satisfactory for taking 
a poll or running a game, but not 
for very sophisticated applications 
such as studies in communications 
theory or simulations in which suc¬ 
cessive calls to RND are expected to 
produce independent variates. For 
those purposes one of the random¬ 
izers described above would be 
better. The user could write his 
own generator in assembly language 
using a set of multiplier and mod¬ 
ulus recommended by Knuth. lm«Pl 

EDITOR'S NOTE 

On a hunch, we compiled all of Pro¬ 
fessor Hultquist’s programs using the 
IBM BASIC Compiler. We were sur¬ 
prised to learn that the BASIC Com¬ 
piler's random number generator 


103 














YOUR CODE MAY BE WASTING ITS TIME! 
THE PROFILER " CAN HELP . . . 


• Statistical Execution Profiler 

• Works with any language 

• Completely configurable 

• Up to 16 partitions in RAM/ROM 


• Time critical code optimization 

• Abnormal code behavior tracking 

• Graphic presentation of results 

• Easy to use menu interface 


THE PROFILER is a software package which gives you, the programmer, a powerful 
tool for locating time consuming functions in your code and allows you to performance 
tune your program. With the THE PROFILER you can determine where to optimize 
your code for maximum benefit, then measure the results of your efforts. 

Using THE PROFILER, you can answer questions like: 

Where is my program spending its time? 

Why is my program so slow? What is it doing? 

Is my progam I/O bound? CPU bound? Are data buffers large enough? 

How much improvement did my changes make? 

THE PROFILER is completely software based and consists of a system resident driver 
and a monitor program. The memory partitions can range from 1 byte to 1 megabyte 
^ ^ in size and can be anywhere in the address space. 

■ >>■ N0 ADDITI0NAL HARDWARE IS REQUIRED! 

^ M Requires an IBM PC or compatible system with a minimum 

— 64k and one drive. 

THE PROFILER is available for $175.00 from DWB 
Associates or ask your software dealer. To order or for 
more information, call or write DWB Associates. VISA/MC 
accepted. Dealers welcome. 


dwb 


Associates 


P.O. Box 5777 
Beaverton, Oregon 97006 

(503) 629-9645 


IBM is a trademark of IBM Corp. MSDOS is a trademark of Microsoft Corp. 
THE PROFILER is a trademark of DWB Associates. 

CIRCLE NO. 216 ON READER SERVICE CARD 



micro flexibility . . . 

Multi-Window/File 

full screen editing, up to 20 files 

Move/Copy/Delete 

one or more marked blocks 

Directory w/Free Space 

also read, write, rename, erase files 

Build New Commands 

ivith key macros 

Power Down Recovery 

and optional auto-backup 

Restore Deleted Text 

plus view lfl scratch buffers 


EDITOR for 

Programmers 

& 

DP Professionals 

Edit Tool 

List $225, demo disk $10 

mainframe power . . . 

Search and Replace 

with repeat and wildcards 

Large Files 

edit over 1 megabyte 

Fixed Length Records 

as long as 00,000 bytes 

Hex EBCDIC Editing 

CIRCLE NO. 166 ON READER SERVICE CARD 


AmeriSoft ™ 

(707) 778-8594 • (707) 762-0640 
345 S. McDowell Blvd., Ste. 410 
Petaluma, CA 94952 


Random numbers 

does not exhibit the erratic symp¬ 
toms found in the interpreted 
BASIC. In particular, programs 3 and 
4 generated random patterns such as 
those in figures 2 and 5. Therefore, 
with or without Hultquist's adjust¬ 
ments to compensate for the inade¬ 
quacies of interpreted BASIC's RND, 
compiled BASIC programs seem to 
generate random sequences. 

Readers working with random 
numbers in BASIC, whether inter¬ 
preted or compiled, are well-advised 
to entrust the generative algorithm 
carefully and build in one or more 
tests of randomness. —JA 

References 

Abramowitz, Milton, and Irene A. 
Stegun, eds., Handbook of 
Mathematical Functions with 
Formulas, Graphs, and Mathe¬ 
matical Tables, National Bureau 
of Standards Applied Mathemat¬ 
ics Series 45, U.S. Government 
Printing Office, 1964. (Also 
available in a reprint from Do¬ 
ver Publishing Company.) 
Hodgman, Charles D., ed., CRC 
Standard Mathematical Tables 
(various editions), Chemical 
Rubber Publishing Company 
(various dates). 

Knuth, Donald E., Seminumerical 
Algorithms: The Art of Com¬ 
puter Programming, volume 2, 
second edition, Reading, Massa¬ 
chusetts: Addison-Wesley Pub¬ 
lishing Company, 1981. 

Rand Corporation, A Million Ran¬ 
dom Digits with 100,000 Normal 
Deviates, Glencoe, Illinois: The 
Free Press, 1955. 


104 


PC Tech Journal 
























NOW AVAILABLE— 

THE MASTER 
DIRECTORY 
OF PRODUCTS 
FOR YOUR 
IBM PC 


Nearly 400 pages of the most current listings 
and information for IBM PC, PC XT, PCjr and compatible hardware, 
software, accessories and services—from the publishers of PC. 


YOUR PRIMARY REFERENCE... 

organizing over 4,000 products and 1,500 vendors, services, 
and support systems in one comprehensive, easy-to-use 
guide. PC: THE BUYERS GUIDE is the quickest and most 
reliable way to locate exactly what you need to expand the 
usefulness of your personal computer. 

Because it’s published quarterly in May, August, No¬ 
vember and February, PC: THE BUYERS GUIDE is the most 
up-to-date guide of its kind, accurately describing each 
product and its function and cost. Find out what level of skill 
is required to get the most from the product and everything is 
logically categorized and indexed with cross-references so 
you won't miss one listing! 


GET MORE FROM YOUR PC 


The documentation you received from IBM is only the be¬ 
ginning. Finding the right hardware and software is what 
really makes the difference in how effectively your IBM or 
compatible PC performs—that’s why you need PC: THE 
BUYERS GUIDE! You’ll also find detailed listings for the 
following important services and accessories: 


Consultants 
On-line Bulletin Board 
Databases 
Furniture 

Retail and Mail Order Outlets 
Literature 


User Groups 
Insurance Services 
Professional Societies 
Retail Clubs 
Computer Groups 
Maintenance services 


AND MUCH MORE! 


Be sure to order your copy of PC: THE BUYERS GUIDE 
today—fill out the coupon and mail it now! 

PHONE TOLL FREE 9 am-5 pm EST: 
1-800-526-0790 
(In New Jersey 201-540-0445) 

ALSO AVAILABLE AT YOUR LOCAL NEWSSTAND 
AND COMPUTER STORE 



CN1914, Morristown, NJ 07960 


Please send me PC: THE BUYERS GUIDE. Enclosed is $9.50 
($7.95* per copy, plus $ 1.55 each for postage and handling.) 
($11.00 outside USA, send US funds only). ^Residents of CA, 
CO, CT, DC, FL, IL, MA, Ml, MO, NJ and NY State add 
applicable sales tax. 

Charge My: 

American Express Q] Visa Q MasterCard 


CARD NO. 


EXP. DATE 

MR./MRS./MS. 

print full name 


ADDRESS 

j CITY/STATE/ZIP 































Random numbers 


Listing 1 Multiplicative 
Congruential Method 

10 1 'Toy random number generator 

20 ' using multiplicative congruential method 

30 ' - P. F. Hultquist, 1983 

40 ' 

50 CIS : KEY OFF : X = 0 'Starting value 
60 FOR I = 1 TO 110 

70 X = (21*X * 29) MOO 100 'Generate 110 numbers so that we 
80 PRINT USING "####"; X; 'can see the cycle begin to 

90 NEXT I 'repeat 

100 LOCATE 10,35 
110 PRINT "Figure 1" 

120 END 


Listing 2 Correlated Variable 
Display with Randomizer 

10 ' Correlated variable display 

20 ' showing problems with RN0 function 

30 ' -by P. F. Hultquist, 1983 

40 ' 

50 DIM ARRAY(50) : SCREEN 2 : CLS : KEY OFF 

60 ' W,X,Y,Z are obtained from successive calls to RND 

70 ' and then used to generate coordinates of display 

80 ' points 

85 G0SUB 1000 

90 FOR K = 1 TO 5000 

100 G0SUB 1100 

101 W = V : G0SUB 1100 

102 X = V : G0SUB 1100 

103 Y = V : G0SUB 1100 

104 Z = V 

110 I = 100 + 425*(.3*W + .4*X + .3*Y) 

120 J = 25 + 150*(.3*X + .4*Y + .3*Z) 


130 PSET(I,J) 

140 NEXT K 

150 ' Print label for display 

160 LINE (25,10)-(600,10) 

170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 

200 LOCATE 23,35 
210 PRINT "Figure 2" 

220 GOTO 2000 

1000 ' Modification of random number generation 

1010 ' to introduce "randomizer" 

1020 FOR K = 1 TO 50 
1030 ARRAY(K) = RND 
1040 NEXT K 

1050 ' This loads the array with random numbers 

1060 ’ to be used in the randomization 

1070 SPARE * RND 
1080 RETURN 

1090 ' Enter here on succeeding calls 

1100 KA = I NT(SPARE*50) + 1 'generate random index 

1110 SPARE = ARRAY(KA) 'replace spare 

1120 V = SPARE : ARRAY(KA) = RNO 'replace used number 

1130 RETURN 

2000 END 


Listing 3 Correlated Variable 
Display without Randomizer 

10 ' Correlated variable display 

20 ' showing problems with RND function 

30 ' -by P. F. Hultquist, 1983 

40 ' 

50 SCREEN 2 : CLS : KEY OFF 

60 ’ W,X,Y,Z are obtained from successive calls to RND 

70 ' and then used to generate coordinates of display 

80 ' points 




spread the word 


Have you heard? 


During the last 12 months, thousands 
of applications programmers dumped 
dBASE II. 


Why? 


Because dBASE II hasn’t improved 
a lick in years. And that makes it a 
whole generation behind Q-PRO 4 ... 
the 4th generation applications 
development language for 
microcomputers. 

With dBASE II, all the original bugs, 
complicated operations and absurd 
restrictions (like only two open files) 
are still there. dBASE II just can’t 
make it for applications in 1984. 










90 FOR K = 1 TO 5000 

100 W=RNO: X=RNO: Y=RNO: Z = RND 

110 I = 100 + 425*(.3*W + .4*X + .3*Y) 

120 J = 25 + 150*{.3*X + .4*Y + .3*Z) 

130 PSET(I,J) 

140 NEXT K 

150 ' Printjabel for display 

160 LINE (25,10)-(600,10) 

170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 

200 LOCATE 23,35 
210 PRINT "Figure 3" 

220 END 


Listing 4 Using Successive Ran¬ 
dom Numbers Generated by RND 

ID ' Random number generator demonstration 

20 ' Coordinates of points in the display are 

30 ' derived from using successive random 

40 ' numbers generated by RND 

50 V -by P. F. Hultquist, 1983 

60 ' 

70 SCREEN 2 : KEY OFF : CLS 
80 FOR K = 1 TO 5000 
90 I = 80 + 465*RND 
100 J = 35 + 130*RND 
110 PSET(I,J) 

120 NEXT K 
130 * 

140 ' Arrange display 

150 ’ 

160 LINE (25,10) - (600,10) 

170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 


200 LOCATE 23,35 
210 PRINT "Figure 4" 
220 END 


Listing 5 Using Successive 
Random Numbers with 
One Number Skipped 


10 ' 

Random 

number generator demonstration 

20 ' 

Coordinates of points in the display are 

30 ’ 

derived 

from using successive random 

40 ' 

numbers 

generated by RND with one number 

41 ’ 

skipped 

between calculation of I and J 

50 * 

-by P. 

F. Hultquist, 1983 

60 ' 



70 SCREEN 2 : 

KEY OFF : 

'CLS 

80 FOR K = 1 

TO 5000 


90 I = 80 + 

465*RND 


95 Z = RND 



100 J = 35 + 

130*RND 


110 PSET(I,J) 



120 NEXT K 



130 1 



140 ' 

Arrange display 


150 ' 

160 LINE (25,10) - (600,10) 
170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 

200 LOCATE 23,35 
210 PRINT "Figure 5“ 

220 END 



Apparently, Ashton Tate (the dBASE II 
merchant) is gambling you don’t 
know any better. It’s pitiful. 

Well, we’ve been blowing the whistle 
on Ashton...and Tate, too. 

And you can spread the word. 

Be one of the growing legions 
that’s moving up to Q-PRO 4... 
the complete 4th generation 
applications development system 
for microcomputers. 

You can use Q-PRO 4’s super 
efficient syntax to finish business 
programs much faster. And the 
extensive error trap and help screen 
capabilities make the finished soft¬ 
ware products far more friendly, too. 

As one convert put it, “ Q-PRO 4 
has it alt... the formatted data entry 
field edits, and report generator are 
absolutely superb. 


“ Any applications programmer still 
struggling with outdated 3rd gener¬ 
ation data base managers or worse, 
a 2nd generation language like 
BASIC is ripping himself off. ” 

So what are you waiting for? Here is 
your chance to dump all the dBASE II 
hassles and move up to Q-PRO 4... 
the sensational 4th generation 
language for faster, easier application 
development. 

You owe it to yourself, your career, 
and your family to move up to 
Q-PRO 4 now. It’s that good. 

Attention Q-PRO 4 Hotshots. 
Current version 3.0 includes Multi¬ 
key ISAM (true mainframe power). 


Runs with PCDOS, MS-DOS, CP/M, 
MP/M, CP/M86, MP/M86, TurboDOS, 
MmmOST, MUSE, and NSTAR. 

Single-user-$595; Multi-user-$795. 
Author's lock up package available. 
Finished applications are freely 
transportable between operating 
systems. Multi-user with true record 
and file lock. 

For Q-PRO 4 demonstration, 
go to the nearest MicroAge store 
or other fine dealer. 

136 Granite Hill Court 
Langhorne, PA 19047 
(215) 968-5966 Telex 291 -765 

CP/M, MP/M, CP/M86, and MP/M86 are trademarks ot Digital Research, TurboDOS, MmmOST, 
MUSE, NSTAR. MS-DOS and PCDOS are trademarks ot Software 2000, TeleVideo Systems, 
O.S.M., Molecular. Microsoft and IBM, respectively. 


nuic n easi products inc. 


CIRCLE NO. 221 ON READER SERVICE CARD 










Expand your I.B.M. PC Memory 


> 


/64K 

(9 chips) 


Why Pay More? 

All you need is an add-on memory or multifunc¬ 
tion board with expansion capabilities. Just snap 
in the extra chips (9 chips per row 64K memory). 
Expand to the maximum your board will allow, or 
just 64K at a time as needed. It takes five minutes 
of your time — anyone can do it. We include sim¬ 
ple directions. 

One Year Replacement Warranty 


IBM Compatible Drives 

All Drives Double Sided Double Density 


< 


Teac Vi height FD-55-B 

Installation kit for P.C. 

Installation kit for XT. 

Free Installation Manual 

CDC Drives 
Tandon Drives 

Free Installation Manual 


$199 



4.95 

14.95 


$289 ea. 
$219 ea. 


90 day Replacement Warranty 


THANKS FOR THE MEMORY 

520 Tamal Plaza 
Corte Madera, CA 94925 

(415)927-0333 


CIRCLE NO. 261 ON READER SERVICE CARD 

Engineering 

Software 

for your PC 

• Power plant and chemical process 
flowsheet analysis 

• Pressure drops in pipes and fittings 

• Thermodynamics of steam, air, fuels, 
combustion products 

• Component simulation 

• Solvers and optimizers 

Call or write for our free catalog 

PSI/Systems 

Research Park, P.O. Box 3100 
Andover, MA 01810 
(617) 475-9030 




Random numbers 


Listing 6 Using Successive 
Random Numbers with 
Two Numbers Skipped 

10 ’ Random number generator demonstration 

20 ' Coordinates of points in the display are 

30 ’ derived from using successive random 

40 ’ numbers generated by RND with two numbers 

41 ' skipped between calculation of I and J 

50 ' -by P. F. Hultquist, 1983 

60 1 

70 SCREEN 2 : KEY OFF : CIS 
80 FOR K = 1 TO 5000 
90 I = 80 + 465*RND 

95 Z = RND : Z = RND 
100 J = 35 + 130*RND 
110 PSET(I.J) 

120 NEXT K 
130 ' 

140 ' Arrange display 

150 ' 

160 LINE (25,10) - (600,10) 

170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 

200 LOCATE 23,35 
210 PRINT "Figure 6" 

220 END 

Listing 7 Program to Compute 
Chi Square Test 

10 ' Program to compute chi square test of uniformity 

20 ' of distribution of RND random number generator 

30 ' - P. F. Hultquist, 1983 

40 DIM COUNT(1(71) 'Allows for 100 degrees of freedom 

50 FOR I = 1 TO 101 

60 COUNT(I) = 0 • 'Zero the count vector 

70 NEXT I 
80 RANDOMIZE 
90 FOR 1=1 T3 1010 

100 K = I NT(101*RND) + 1 ’Compute index of count 
110 COUNT(K) = COUNT(K) + 1 'Count the occurrence 
120 NEXT I 
130 SUM = 0 

140 FOR I = 1 TO 101 'Start computing chi square 

150 SUM = SUM + (10 - COUNT(I))*2 '10 is the expected number in 
160 NEXT I 'each "bin" 

170 CHSQ = SUM/10 'Finish computing chi square 

180 PRINT CHSQ 

190 PRINT : PRINT "Another? (Y/N)"; 

200 A$ = INKEY$ : IF AS = "" THEN 200 
210 IF A$="Y" OR AS="y" THEN 50 
220 END 


Listing 8 Using Successive 
Random Numbers Generated by 
RND but Randomized 

10 ' Random number generator demonstration 

20 ' Coordinates of points in the display are 

30 ' derived from using successive random 

40 ' numbers generated by RN0 but randomized. 

50 ' -by P. F. Hultquist, 1983 

60 ' 

61 0IM ARRAY(50) 

62 G0SUB 1000 

70 SCREEN 2 : KEY OFF : CLS 

80 FOR K = 1 TO 5000 

85 G0SUB 2000 

90 I * 80 + 465*V 

95 G0SUB 2000 

100 J = 35 + 130*V 

110 PSET(I,J) 

120 NEXT K 
130 ' 

140 ' Arrange display 


108 


CIRCLE NO. 167 ON READER SERVICE CARD 


PC Tech Journal 



















3270 COMMUNICATIONS CO-PROCESSOR FOR THE IBM PC 


ABM's PS-3270 Subsystem uses our Intelligent 
Communications co-processor (ICP) board 
featuring a Z80B Processor with 64K memory, 

4 serial ports, a parallel printer port and pow¬ 
erful multi-tasking emulation software. It uniquely 
provides concurrent co-processing, expand¬ 
ability to a cluster of PC's, flexibility to support 
multiple protocols and substantial cost savings. 

CONCURRENT CO-PROCESSING 

With ABM's PS-3270 emulation subsystem 
your PC can maintain host communications 
while performing local processing. This allows 


continuous access to mainframe data bases 
for integrated PC/Mainframe decision support 
applications. You don't have to worry about 
dropping your mainframe link each time you 
use your PC in a local mode. 

You can use a parallel printer connected 
to the ABM board to perform independent host 
generated printing in the background while 
doing other applications on your PC. 

EXPANDABILITY TO CLUSTERS OF UP TO 13 PCS 

ABM's PS-3270 provides low cost emulation of 
3276/3274 cluster controllers with downline 



PC's operating as IBM 3278 terminals. The IBM 
PC functioning as a cluster controller remains 
fully capable of local processing at all times. 
FLEXIBILITY TO PROTECT YOUR INVESTMENT 

ABM's ICP with its own multi-tasking software 
can support multiple emulations such as 
3270 BSC, 3270 SNA/SDLC, 3780 RJE, 5251 
and asynchronous terminal protocols on the 
same hardware. 

COST SAVINGS 

Multifunction IBM PC work stations with ABM's 
intelligent emulation software and hardware 
cost up to 70% less than conventional single¬ 
function 3270 configurations without personal 
computing capability. 

ABM's incremental cost per workstation 
for 3270 emulation in a level 3 configuration is 
over 75% less than the incremental cost of 
coax interfaces that connect PC's to existing IBM 
3274 cluster controllers. 

So call us today and we'll usher you into 
the talkies. 

Dealer and OEM inquiries welcome! 


ABM Computer Systems, 3 Whatney, 

mm Irvine, California 92714 
Am mm mm aw 859-6531 

JfHffl TWX 292427 ABM UR 


CIRCLE NO. 273 ON READER SERVICE CARD 






































Random numbers 


WORK SMARTER... 

.. .With AutoKey 

If you use an IBM PC you truly need AutoKey. 

SAVE HUNDREDS OF HOURS OF TYPING 

With AutoKey you can create single key abbreviations 
for frequently typed text or any other sequences of key¬ 
strokes on your computer. So, 

you never have to type the same things over and 
over again , again. 

AutoKey is the perfect mate for your spread¬ 
sheet, word processor, text editor or other 
software. 

MAKE YOUR SOFTWARE EASIER TO USE 

No need to remember tedious software commands 
any more. 

AutoKey lets you concentrate on the problem 
instead of the mechanics of working with the 
computer. 

PERSONALIZE OFF-THE-SHELF SOFTWARE 

Personalize your software so that the same keys have 
the same functions in all your programs. 

AUTOKEY IS EASY AND FUN TO USE 

* You will learn how to use AutoKey in less than 15 
minutes. After that you’ll wonder how you ever got 
along without it. 

* Create key abbreviations as you work by the 
press of a button. 

* Key abbreviations can be stored in files for future 
recall. 


PERFORMANCE UNEXCELLED 

Autokey provides unsurpassed performance at a very 
low cost. 

$79 Try it for 30 days. If you are not completely 
satisfied, simply return your diskette for a full refund. 

Strategic Automation, Inc 
33 Cherry Hill Drive, Danvers, MA 01923 
617/777-5104 Support: 617/777-5161 
MC/VISA Accepted 

AutoKey and IBM PC are trademarks of SAI and IBM Corp 
CIRCLE NO. 156 ON READER SERVICE CARD 


150 ' 

160 LINE (25,10) - (600,10) 

170 LINE -(600,190) 

180 LINE -(25,190) 

190 LINE -(25,10) 

200 LOCATE 23,35 
210 PRINT "Figure 7" 

220 END 

1000 FOR K = 1 TO 50 'Initialization of the 

1010 ARRAY(K) = RND 'randomizer 

1020 NEXT K 

1030 SPARE = RND 

1040 RETURN 

2000 ' Randomizer 

2010 KA = INT(50*SPARE) + 1 
2020 SPARE = ARRAY(KA) : V = SPARE 
2030 ARRAY(KA) = RND 
2040 RETURN 


Listing 9 Using Successive 
Random Numbers Generated 
by an Additive Generator 

10 ' Random number generator demonstration 

20 ' Coordinates of points in the display are 

30 ' derived from using successive random 

40 ' numbers generated by an additive generator 

50 ’ -by P. F. Hultquist, 1983 

60 ' 

70 DIM ARRAY(55) 

80 G0SUB 1000 

90 SCREEN 2 : KEY OFF : CLS 

100 FOR K = 1 TO 5000 

110 G0SUB 2000 

120 I = 80 + 465*V 

130 G0SUB 2000 

140 J = 35 + 130*V 

150 PSET(I.J) 

160 NEXT K 
170 ' 

180 ’ Arrange display 

190 ' 

200 LINE (25,10)-(600,10) 

210 LINE -(600,190) 

220 LINE -(25,190) 

230 LINE -(25,10) 

240 LOCATE 23,35 
250 PRINT "Figure 8" 

260 END 

1000 FOR K = 1 TO 55 
1010 ARRAY(K) = RND 
1020 NEXT K 

1030 JA = 24 : KA = 55 'Initialize the pointers 
1040 RETURN 'and return 

2000 'Randomizer 

2010 SUM = ARRAY(JA) + ARRAY(KA) 

2020 IF SUM>=1 THEN SUM = SUM - 1 
2030 ARRAY(KA) = SUM 

2040 JA = JA - 1 : KA = KA - 1 'Move the pointers 
2050 IF JA=0 THEN JA = 55 'Manage the circular 

2060 IF KA=0 THEN KA = 55 'buffer 

2070 V = SUM 
2080 RETURN 


110 


PC Tech Journal 











:: When you visit your dealer and 

compare the Princeton IBM-compat¬ 
ible HX-12 side-by-side with the IBM 
color monitor, your eyes will see the 
difference. 

The HX-12 gives you higher resolu¬ 
tion and finer dot pitch (.31 mm) than 
the IBM 5153's medium resolution - 
;(.43mmj for a cleaner, sharper image. 

: Compare our full range of colors 
and our crisp whites without red 
bleed. You'll also see a difference in 
our non-glare screen—a feature your 
eyes will really appreciate in a long 
work session. : - ^ 


The Princeton HX-12 comes with a 
cable that plugs directly into the IBM 
PC, ready to burst forth into 16 
superb colors. All at a suggested retail 
price ($695) that's a pleasure for sore 
eyes and overworked budgets. 

Apple lie users: call us to learn 


ible superiority of the Princeton 
HX-12. 

Ask your local dealer for a demon¬ 
stration and let your eyes decide. Or 
call us at:800-22l -1490 for more infor- 


if you're ready to move up to 
color, graduate to the Princeton 
HX-12. it's right at the head of its class. 

now available at Computeriand, Entre and local 
Independent computer dealers. 

Nationwide service provided by Beil and Howell 
service company and mai sorbus Service Company. 


Princeton 
Graphic Systems 

.--—-L;. an Intelligent Systems Company 

HOI 1 1 state Road’ Princeton New Jersey:08540' 
(609. 683-.1660 TLX:6857009 PCS Prin. 


dealer 


OURS: .-81 mm dot-pitched column text 


THEIRS: .43'mm dot pitched column text. 


THE PRINCETON HX-12 

HIGH RESOLUTION RGB COLOR MONITOR 


for the image 
your eyes deserve 


£E3 


. , s 


PRESS ANY KEY TO RETURN TO MENU 


* 1 , 4 




FXjjfct. f i I * * J| 

CIRCLE NO. 188 ON READER SERVICE CARD 




n 111 


f w } iPPBMfE P 



































































LET’S TALK EXPERT-TO-EXPERT 

PC TECH JOURNAL, the only magazine written for sophisticated 
IBM PC users... talks with you expert to expert! 


Do you require a magazine that provides you with the 
insight and knowledge to act as your silent partner 
when developing new programs? Have you needed to 
consult with authorities in telecommunications to 
resolve a nagging problem? Wouldn't a 
second opinion about connecting your 
PC to a main-frame be helpful? With your 
subscription to PC TECH JOURNAL, 
you're harnessing experts in your field... 
experts who will talk to you in the lan¬ 
guage you understand, about the con¬ 
cerns you have... EXPERT TO EXPERT! 

PC TECH JOURNAL is the techno¬ 
logically sophisticated magazine written 
for experts in the field of personal com¬ 
puting like yourself.. .discussing the con¬ 
cerns experts have.. .developing elegant 
programming methodologies only experts 
can understand.. .covering the whole 
field of IBM PC's with thought-provoking 
articles on communications, distributed 
processing, office automation, network¬ 
ing and programming. 


Subscribe today and save up to 36% off the full 
subscription price, and have PC TECH JOURNAL 
delivered to your home or office every month! From 
One Expert to Another: subscribe today! 


TE® 

OURNA 


PT4S119 


P.O. Box 2966, Boulder, Colorado 80322 


yrr I want to communicate with other experts and professionals about 
* r a J j IBM PC's and compatible machines! Please enter my subscription 
to PC TECH JOURNAL for: 

□ One year (12 issues) □ Two years for □ Three years for 

for $24.97—SAVE 17%! $43.97-SAVE 27%! $57.97-SAVE 36%! 


Mr./Mrs./Ms._ 
Company_ 

Address_ 


please print name in full 


State 


-Zi P - 


City_ 

Savings based on full one-year subscription price of S29.97. 

Check one: □ Payment enclosed. □ Bill me later. 

Charge my: □ American Express CD Visa CD MasterCard 


Card No_ 

Add $12 a year in Canada and all other foreign countries. Please allow 30 to 60 days for delivery of first issue. 


JExp. Date_ 







































Patchwork 

Filling in the holes in DOS support for 
the undocumented SWITCHAR=- command 



Daniel M. Frank 


In the March issue of this maga¬ 
zine, there was a letter regarding 
the undocumented SWITCHAR 
feature of DOS 2.0 (see also Eric 
Roskos's article in this issue). This 
feature makes DOS easier to use, 
both for people accustomed to 
UNIX and for those who dislike 
the placement of the "\" key on 
the PC keyboard. Care should be 
taken when using this feature, 
however, for several reasons. 

First, including this command 
in the CONFIG.SYS file does not 
make all programs automatically ac¬ 
cept the right switch and path char¬ 
acters. Instead, each program must 
use a special undocumented DOS 
function to determine the current 
switch character,* the program must 
then make its own judgment about 
the path character. The call that 
must be used is as follows: 

MOV AX, 3700 ; Function 37, 

subfunction 0 
INT 21H , Call DOS 

This function returns the 
switch character in DL. (The char¬ 
acter can be changed by putting the 
desired character in DL and setting 
AX to 3701 before making the call. 
Do not use any other values of 
AL—they have some obscure, unde¬ 
sirable effects on filename qualifi¬ 
cation.) All DOS utilities seem to 
make this call. However, some ver¬ 
sions of the BASIC compiler will 
silently ignore critical switches. 

The most critical hole in DOS 
support for SWITCHAR is that al¬ 


though the BACKUP command 
will use the appropriate path char¬ 
acter in creating back-up diskettes, 
RESTORE does not do so when 
reading them. Thus, diskettes that 
are created by BACKUP with 
SWITCHAR = - will store path¬ 
names in the headers using the "/" 
character, but RESTORE will look 
for " \ " — and will not find it. All 
back-up diskettes that are created 
with SWITCHAR = - are effectively 
write-only disks. This is true under 
both DOS 2.0 and 2.1. 

The solution to this problem is 
to use DEBUG to patch RESTORE 
so that it performs correctly with 
the alternate path character. Use 
this sequence (the computer's out¬ 
put is in boldface, and the user's re¬ 
sponses are in regular type): 

A> DEBUG RESTORE.COM 

- A69F 

xxxx : 069F JMP 10A3 
xxxx: 06A2 

- A 10A3 

xxxx : 10A3 CALL Cl6 
xxxx : 10A6 MOV BL,[3F2] 
xxxx : 10AA MOV [DC2],BL 
xxxx : 10AE MOV [DDC],BL 
xxxx : 10B2 MOV [DE7],BL 
xxxx : 10B6 JMP 6A2 
xxxx: 10B9 
-RCX 
CX 0FA3 
: FB9 

- W 
-Q 

A> 

The CX register is used by 
DEBUG to determine how large the 
program is. Since this patch adds 
some code to the end, the number 


in CX must be increased before the 
program is written to the disk; 
otherwise the program will be lost. 
The new version of RESTORE 
should work properly with the al¬ 
ternate path character. Note, how¬ 
ever, that diskettes must be saved 
and restored with the same path 
character in effect: to restore a dis¬ 
kette backed up without the SWIT¬ 
CHAR option, the user must re¬ 
move the SWITCHAR statement 
from his CONFIG.SYS file and then 
reboot (or use function code 37/01 
to change the switch character back 
to "/" temporarily). 

The reliability of the BACKUP 
and RESTORE utilities has been 
questioned. Although none of my 
files has ever been mangled on res¬ 
toration, I have had BACKUP fail 
to copy a file to diskette. 

There is no obvious reason for 
these utilities to cause any prob¬ 
lems, but there is something more 
subtle: the utilities do not handle 
file system errors. Once the transfer 
has begun, errors are ignored. If a 
file can't be opened, it is skipped. If 
it can't be read, it is truncated, 
sometimes to zero length. 

File system backup is a crucial 
function for which error checking 
is essential. Perhaps a future DOS 
version will improve its support in 
this area. inni»i 


Daniel M. Frank does program development 
and systems consulting on the PC. His 
current project involves transferring an 
application from DOS to QNX. 


August 1984 


113 




















Put the Power 
ofthelBM PC 
Bus into Your 
OEM System 


I-Bus Systems has 
packaged Intel’s powerful 
new 80188 CPU into a Single 
Board Computer. It has 
64K of RAM and up to 160K 
of ROM on board, plus a serial 
console port to talk to a terminal 
or a PC. Just plug the SBC into an 
I-Bus 6-slot chassis or 9-slot card 
cage and you have the heart 
of a computer system, 
ready to run. 


Then 

just add any of 
the hundreds of PC bus 
cards already on the market, to 
customize your system. 

Best of all, the IBM PC works 
perfectly as a software develop¬ 
ment system. You can assemble 
and test applications 
programs on the PC, 


Modular PC bus packaging matches your 
system needs, from basic cage to complete 
enclosure system. Internal 40W power supply 
with 6-slot enclosure, external supply for the 
9-slot. 


IBM PC is a trademark of IBM Corporation 


SYSTEMS 

9235 Chesapeake Drive 
San Diego, CA 92123 


NEW Single Board 


Bus System 


The power of the IBM PC is 
now available to OEM system 
designers with the new I-Bus 
Single Board Computer 
and Enclosure 
systems. Now you 
can make use of 
that vast array of 
PC-compatible 
expansion cards— 
for communications, 
graphics, data acqui 
sition, peripheral 
control, and every 
other imaginable task. 


For all the details, 
give us a call today 
at (800) 382-4229. 

In California, call 
(619) 569-0646. 


then download them to the I-Bus 
system for dedicated execution. 


You’ll have the best of both 
the PC world and the 
OEM bus- structured 
world with this new 
single board computer 
from I-Bus. 


CIRCLE NO. 277 ON READER SERVICE CARD 







Jack Wright 


POWB?-UP 



An easy reference for use when 
the PC fails its diagnostics 


1 7 

1 very time a PC is turned on, 
di no matter which operating 
system is used or what disk is in the 
drive, the PC first cycles through a 
sequence of diagnostic tests con¬ 
tained in the BIOS ROM. The tests 
(except for the RAM test) are also 
done every time Ctrl-Alt-Del is 
pressed. If any of these tests fails, 
the result is an unusual sequence of 
beeps, a cryptic error code on the 
display, or both. What follows docu¬ 
ments these error beeps and codes. 

A failure of one or more of 
these tests can occur not only if a 
component in the PC fails but also 
if the system is reconfigured with a 
switch set incorrectly or if a defec¬ 
tive expansion board is installed. 


Table 1 presents the tests in the 
order in which they are performed. 
Thus, if you get one of these error 
messages, you will know that all 
the tests that are listed above that 
message in the table have been per¬ 
formed correctly. This can help in 
pinpointing the problem. 

If you have the IBM Expansion 
Chassis, the messages above should 
always be interpreted as if you had 
a 256K system board. This is true 
because IBM supplies all Expansion 
Chassis customers with the 256K- 
system-board ROM. 

You can customize the PC's re¬ 
sponse to the PARITY CHECK er¬ 
rors by writing your own interrupt 
2 routine and having the AUTO¬ 


EXEC.BAT file install it for use at 
boot-up. If the parity error always 
occurs immediately at boot-up, be¬ 
fore the new interrupt 2 routine is 
installed, this of course will not 
work. But if your PC has ever sud¬ 
denly shut down with a PARITY 
CHECK 1 or 2 error in the middle 
of a program, a custom interrupt 2 
routine might allow you to remain 
up and possibly salvage much of 
your work, if the memory problem 
causing the parity error is not in a 
critical memory area used by DOS. 

In emergency cases, parity 
checking can be disabled at any 

Jack Wright works in the hardware and 
software development department of a 
large electronics firm in New Jersey. 


August 1984 


115 












Error codes 


time by sending 0 to I/O port AO. 

It can be turned back on by sending 
80H to the same port. Some mem¬ 
ory cards also have DIP switches 
that can be switched off to disable 
parity checking on that card. This 
can help to isolate the problem if 
you have more than one memory 
card. Generally, though, disabling 
parity checking is unwise. For ex¬ 
ample, think of the problems that 
could be caused if an undetected 
parity error occurred while the 
DISKCOPY command was in use. 

It is interesting to note that 
these power-on diagnostic tests were 
put in the PC not just for the bene¬ 
fit of the end user in testing the PC 
every time it is turned on, but for 
several other important reasons as 
well. These tests give IBM an effi¬ 
cient method of burning in the PC 
on the assembly line, they assist 
technicians in repairing defective 
PCs, and they aid dealers in con¬ 
figuring PCs for the customer. 

When a PC is manufactured, 
IBM sets it up to cycle through 
these tests (plus some other special 
diagnostic routines) repetitively for 
three hours during the assembly 
line burn-in,- this weeds out most of 
the "infant-mortality" failures that 
can occur. Any error that does not 
allow the disk drive to function will 



ower-on diagnostic 
tests were put in the 
PC not just for the 
benefit o/ the end user in 
testing the PC every time it 
is turned on, but for several 
other important reasons. 


make it impossible for a repairman 
to load any diagnostic programs 
from disk. When this occurs, the 
ROM test routines can be run and 
may help find the problem. Finally, 
if a dealer or customer improperly 
configures a machine, the tests will 
many times point out the problem. 


Table 1: PC Diagnostic^ Tests 


SYMPTOM 

1. System does not respond at all 
when turned on 


2. System beeps: 

1 long beep, 1 short beep, then 
stops 

(1 long beep = 3 sec., 1 short 
beep = 1 sec.) 

3. System beeps: 

1 long beep, 1 short beep, but 
continues the power-up sequence 

4. System beeps: 

1 long beep, 2 short beeps, con¬ 
tinues power-up sequence. 

See also 11 below. 

5. System beeps: 

1 long beep, 2 short, 1 long, 2 
short (64K system board only) 

6. T80r appears at top of display 

7. 'XXYY 201' appears at the top of 
the display, where XXYY = four 
hexadecimal digits 


8. 'XX 301' appears at the top of 
the display, where XX = two 
hexadecimal digits 

9. '131' appears on display 

10. '1701' appears on the display 

11. System beeps: 

1 long beep, 2 short beeps, and 
'ROM' appears on the display 

12. '601' appears on display 

13. 'PARITY CHECK 1' appears 


14. 'PARITY CHECK 2' appears on 
the display 


15. 1 short beep 


CAUSE 

The power supply has shut down, OR-. 
The 8088 has HALTed due to: 

— Internal 8088 problem 
— BIOS ROM checksum error 

— 8253 timer problem 

— 8237 DMA controller error 
— Error in 1st 16K of RAM 

NOTE: Try turning off power supply, 
waiting 5 secs., then turning it on. 
The 8088 has HALTed due to: 

— 8259 interrupt controller error 

— 8253 timer counting too fast or 
slow 

Checksum error in a BASIC ROM 
(64K system board only) 

Error in video RAM, or 
error in 6845 video circuitry 


The display card is probably not in¬ 
stalled. 

Error in the Expansion Unit Interface 
RAM error. XX = the high order byte of 
the failing segment; e.g., XX = 20 would 
indicate that the error occurred between 
segment 2000 and segment 2400. 
(Memory is tested in 16K blocks; each 
64K increments the segment by 1000.) 
YY = the failing bit pattern, which can 
isolate the specific RAM. 

Keyboard error. Usually a stuck key, 
where XX - the scan code of the stuck 
key. 

Cassette port error 
IBM Fixed Disk error 
Checksum error in a BASIC ROM 
(256K system board only) 

Disk drive A: or disk adapter error 
A RAM parity error has occurred on the 
system board. The INT 2 routine in the 
BIOS gains control and HALTs the 8088 
when a memory parity error occurs. Par¬ 
ity checking had been DISABLED prior 
to this point in the test sequence, and is 
enabled here just before reading the 
boot record from the disk. 

A RAM parity error has occurred on an 
add-on memory board. This message 
comes from the BIOS ROM's INT 2 rou¬ 
tine, which then HALTs the 8088. 

This is the normal system response just 
before the system boots from the disk. 


116 


PC Tech Journal 



















Tecmar Provides Solutions 

LabPac™ makes data acquisition quick and easy 


ave your valuable time and money 
'ith LABPAC from Tecmar. Instead of 
pending days slaving over complex 
rograms and languages, your data ac- 
uisition system can be up and running 
l hours. Now even novice programmers 
an easily design highly sophisticated 
ata acquisition and process control 
/stems. LABPAC provides a library of 
dvanced assembly language 
jbroutines that can be called by your 
ASIC, FORTRAN or Pascal programs, 
hese subroutines can sample a chan* 
el, convert the signal, and store the 
alue in memory for later use. LABPAC 
Iso contains many specialized com- 
lands for more complex procedures. In 
ddition to all this, LABPAC also can 
perate in the background allowing you 
d sample, store, and analyze your data 
t the same time. LABPAC is compat- 
Dle with the Tecmar Lab Master, Lab 
ender and DADIO boards. 


Lab Master™ 

End the tedium of monitoring your ex¬ 
periments or processes with the Lab 
Master. The Lab Master lets you save 
time and money by having your PC do 
the work for you. This board is powerful 
enough for the most demanding lab or 
industrial applications, yet with the LAB¬ 
PAC software support package it is easy 
to use. With Lab Master you have com¬ 
plete control over A/D conversion, D/A 
conversion, counting, timing, and digital 
I/O. This board is so advanced it can 
sample (with options) up to 256 chan¬ 
nels of data and can convert a single 
channel up to 80,000 times in one sec¬ 
ond. The Lab Master doesn’t sacrifice 
accuracy, since it comes with 12-bit 
precision, and has options for 14 and 16 
bit accuracies. However, the most amaz¬ 
ing feature of the Lab Master is that it 
can do all this and still cost less than 
$ 1 , 000 . 


Lab Tender™ 

The Lab Tender is the economical solu¬ 
tion to your data acquisition needs. 
Whether you are on a tight budget or 
simply don’t need all the precision of 
the Lab Master, the Lab Tender is the 
perfect board for you. The Lab Tender 
offers 32 channels of 8-bit A/D and 16 
channels of 8-bit D/A, at a conversion 
rate of 50,000 samples per second. It 
also has counting, timing and digital I/O 
capabilities. No one else can offer you 
this combination of features for less 
than $500. 

DADIO™ 

The DADIO extends the capabilities of 
the Lab Master or Lab Tender boards by 
providing 4 additional D/A channels and 
3 I/O ports. 

TEGM/fl?""*-- 

the power behind the PC T " 


Tecmar, Inc. 6225 Cochran Road Solon (Cleveland), Ohio 44139-3377 Phone: (216)349-0600 Telex: 466692 


CIRCLE NO. 155 ON READER SERVICE CARD 








CIRCLE NO. 130 ON READER SERVICE CARD 



WITH iWi FORTH 


PC FORTH™ 

IBM PC & XT, 

HP-150, 

Macintosh, 

Apple II, 

CompuPro, 

Sage & CP/M-68K, 

Wang PC, 

All CP/M and 
MSDOS computers. 

Laboratory Microsystems Incorporated 

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


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 
file managers. All fully supported with 
hotline, updates, and newsletters. 


Error codes 


If you own a PC with a large 
memory, you know how time-con¬ 
suming the RAM test can be and 
how rarely it finds a problem. If 
you do any machine language pro¬ 
gramming, you quickly begin to 
wish that the RAM test was not 
done every time the PC is turned 
on. Machine language programs in 
the debugging phase have a nasty 
habit of hanging up and responding 
only to the big red switch. IBM pro¬ 
vides no way to skip the RAM test 
on power-up, nor is there any easy 
software fix, but Security Microsys¬ 
tems (16 Flagg Place, Staten Island, 
NY 10304, 212-667-1019) sells a 
BIOS ROM overlay called QUICK- 
ON ($69.95). This module forces 


Z f you do any machine 
language pmgranr 
ming, you quickly be¬ 
gin to wish that the RAM 
test was not done every 
time the PC is turned on. 


the PC to skip the RAM test, allow¬ 
ing boot-up in only three seconds. 

An external switch can be connect¬ 
ed to QUICKON to allow re-enabl- 
ing of the RAM tests when desired. 

Skipping the RAM test is not 
really risky, since the hardware par¬ 
ity checking present in all PCs pro¬ 
vides a constant check on RAM data 
security. It does this by halting the 
PC with a "PARITY CHECK" mes¬ 
sage whenever a memory parity er¬ 
ror occurs. This happens whenever 
an odd number of data bits change 
in a byte between the time it is 
written and the time it is read. 

Since RAM consists of 64K x 1 
chips, a single failing chip can cause 
only a 1-bit error, thus triggering a 
parity error and forcing a type 2 in¬ 
terrupt (see also the references to 
the type 2 interrupt above). !■»■—] 


118 


CIRCLE NO. 159 ON READER SERVICE CARD 


PC Tech Journal 























No Head is Better 
than One! 



Bubble Storage for the PC and PC XT. 


Bubble memory combines the 
best features of disk and solid state 
memory with extreme reliability. 
Unlike a floppy disk, it's entirely solid 
state with no moving parts. This 
makes it impervious to dust, dirt, 
fumes, and vibration. And, unlike 
normal memory, it doesn't lose data 
when the power goes off. 

Now you can enjoy all the 
advantages of bubble memory 
combined with the famous Pure Data 
quality and reliability for your 
IBM PC or XT. 


• PDIB-128 provides 128 KBytes in one 
slot 

• PDIB-384 provides 384 KBytes in one 
slot 

• Not affected by power failure 

• Faster than a floppy disk 

• Extremely reliable 

• Standard DOS 2.0 disk-type device 

• Compatible with all DOS software 

• No patching of any system files 

• Password option for computer 
and/or bubble 

• Password cannot be bypassed by 
software 


• Comprehensive diagnostics and other 
utilities 

• Fully illustrated installation and 
operation manual 

• Technical support hot-line 

• Guaranteed 48 hour service 

• Bubble uses 2 I/O addresses and no 
memory space 

• Interrupts are supported but not 
required 

• DMA is supported but not required 

• On-board EPROM socket 

• Pure Data quality and reliability 

• No moving parts 


PD1B-128 


PDIB-384 



Pure 
Data Ltd 

860 Denison Street, 

Markham, Ontario. Canada L3R 4H1 

S!(416) 475-2424 Q (416) 498- 


1616 


Highland Computer Corporation. Keysoft International, 
Computerland, Computer Innovations, Compugroup, 
ECOSEA Technologies and others. 


Pure Data products are available through. 


1335 Valwood Parkway, Suite 108, 
Carrollton. Texas 75006 
data systems Telephone (214) 620-8000 
P.O. Box 815155. Dallas. Texas 75381 


OnTrak 


IBM is a registered trademark of International Business Machines Corporation. 


CIRCLE NO. 190 ON READER SERVICE CARD 















































Chris Dunford 

RASMatazz with 


120 


PC Tech Journal 











out the jazz 


DRl's new PC-DOS assembler 

is smaller and faster, 

but it's lacking in amenities 


Chris Dunford is an independent consultant 
specializing in programming and technical services. 
He can be contacted at CompuServe 71076, 1115 or 
The Source STR211. 


I 'm a member of a dying breed—assem¬ 
bly language programmers. I like all 
those new-fangled structured languages, 
but sometimes there's just no substi¬ 
tute for assembly language, that old- 
fashioned Pepperidge Farm of com¬ 
puter languages. No artificial in¬ 
gredients. Back to basics. Pascal, 
C, LISP, Logo, Forth, APL, and 
all the rest simply can't match 
assembly language's speed, 
compactness, and intimacy 
with the hardware. High- 
level programming is a gen¬ 
teel occupation,- assembly 
language programming is 
standing toe-to-toe with 
the machine in a battle for 
supremacy. 

I told my computer dealer 
that I didn't care about the 
other software I had ordered for 
my new PC, as long as it was 
delivered with PC-DOS and IBM's 
Macro Assembler (MASM). And 
I've been struggling with MASM ever 
since that first day. 

It isn't just that MASM is glacially 
slow. Or that the assembler and linker to¬ 
gether take up almost 11 OK of scarce disk 
storage. No, there are bugs, too. Lots of 
them. Arithmetic calculations are so un¬ 
reliable that many programmers compute 


August 1984 


121 






RASM-86 

constants at run time rather than 
during assembly. Macro expansions 
fail inexplicably. MASM goes west 
at the slightest provocation (try as¬ 
sembling the statement DSEG SEG¬ 
MENT 'DATA' without the termi¬ 
nating apostrophe), requiring a ma¬ 
chine reboot. Also, decimal real con¬ 
stants assemble incorrectly. 

When an alternative to MASM 
was introduced I got pretty excited. 
The name was enticing—RASM-86. 
It sounded enough like Intel's ASM- 
86 to conjure up visions of a clone 
of that excellent assembler. And 
RASM-86 had good parentage: Digi¬ 
tal Research, Inc. (DRI), the breeder 
of CP/M in all its incarnations. 

Early word was that RASM was fast, 
small, and virtually bug-free. I 
rushed to obtain this new product. 

RASM-86 is, indeed, smaller 
and close to error-free. And it is 
somewhat faster than MASM, but 
not so much faster that I'd be will¬ 
ing to overlook its shortcomings. 
RASM-86 turns out to be the Volks¬ 
wagen of assemblers. It's simple and 
functional, but lacking in amenities. 
Many of MASM's special features 
are absent in RASM-86. 

Whether a programmer will 
find Digital's new assembler to be 
worthwhile depends on what he 
wants from his assembler. For small 
assembly language programs or com¬ 
piled language subroutines, RASM- 
86 may be just the ticket. For writ¬ 
ing large, complex, segmented pro¬ 
grams, however, IBM's MASM is 
still the only choice. 

What follows is a comparison of 
the two assemblers, with an empha¬ 
sis on how RASM-86 differs from 
MASM. Most IBM assembly lan¬ 
guage programmers are reasonably 
familiar with MASM, which 
was written by Microsoft and re¬ 
leased by IBM as Version 1.0. 
Microsoft, however, has now re¬ 
leased an updated version (1.25) 
under its own logo. The new ver¬ 
sion is somewhat faster and supports 
the 8087 math chip. It also has its 
own brand-new set of bugs. 


Figure 1: RASM-86 Language Samples 


RASM-86 sample listing. This is NOT an executable program! 


0000 

2000 

010002000300 


dseg 

Buffer rb 

Table dw 

2000H 

1,2,3,4,5 

Reserve byte storage: DB 2000H DUP (?) 

Define a little table 

200A 

04000500 

05 


db 

length Table 

# items in Table 

2009 

04 


db 

last Table 

Index of last item in table 

200C 

02 


db 

type Table 

l=byte, 2=word, 4=dword 

200D 

0820 

R 

dw 

offset Table + (last Table * type Table) ; Ptr to last item 

200F 

0102030405 


BigTable db 

1,2,3,4,5 

Define a "big" table 

2014 

060708090A 


db 

6,7,8,9,10 

This screws up the LENGTH operator — 

2019 

05 


db 

length BigTable 

...which only knows about the first 5 items 

** ERROR NO: 20 

ILLEGAL 

EXPRESSION 

ELEMENT 


201A 

00000000 


Longlnt dd 

123456 

; Illegal, DD operand must be an address 

201E 

1C000000 


Pointer dd 

ShortLabel 

; This one is OK 


2022 6821A29A901C 
FE3F 


** ERROR NO: 10 ** NEAR: 
0000 0000 


SomeNumber dw 2168H,9AA2H,1C90H,3FFEH ; Define a 64-bit number for 8087... 

; ...no hex reals or decimal scientific allowed 

Define an ES segment. Note no ENOS statement necessary for DSEG. 

Here, we override RASM's assumptions on name, type, and alignment. 

XtraSeg eseg public byte 

"?" UNDEFINED ELEMENT OF EXPRESSION 

xxvarl dw ? ; Oops, no ? initializer 

; Note error msg tells where error is 

xxvar2 dw 0 


Define a code seg. RASM assume name CODE, type PUBLIC, align BYTE. 
Group CODE and C0DE1. Note lack of ASSUME statements. 

cgroup group code, xxcode 
cseg 




main: 

; No PR0C statements! 

0000 B80000 

R 

mov ax,data 

; Assumed name of data segment 

0003 3E08 


mov ds,ax 


0005 Al1000 


mov ax, .10H 

; Equiv to MOV AX,DS:[10] 

** ERROR NO: 7 

OPERAND(S) MISMATCH INSTRUCTION 


0008 909090909090 


lea ax,main 

; Don't know what's wrong with this 

000E B80000 

E 

mov ax,XtraSeg 

; Point to XTRASEG... 

0011 8ED8 


mov ds,ax 

; ... in DS segreg 

0013 26A10200 

R 

mov ax,xxvar2 

; Note unnecessary ES: override generated 

0017 A10200 

R 

mov ax,ds:xxvar2 

; This is the only way to get rid of it 

001A EB00 

001C 

jmps ShortLabel 

; Replaces JMP SHORT 



ShortJLabel: 

; $ not significant in symbols 

001C 9BDCC8 


fmul stO.stO 

; 8087 supported... 

001F 980C062220 

R 

fadd64 SomeNumber 

; ...with some nonstandard mnemonics 

** ERROR NO: 7 

OPERANO(S) MISMATCH INSTRUCTION 


0024 909090909090 


mov ax,cgroup 

; Group name not a label, bad operand 

** ERROR NO: 22 

LABEL OUT OF RANGE 


002A E803FF 

0000 

call Subrt 

; Unsuccessful, even though GROUPed... 

0020 9AOOOOOOOO 

R 

calif Subrt 

; ...must use unnecessary far call 

0032 EAOOOOOOOO 

R 

jmpf Subrt 

; ...or far jump 

00C8 


DosVer equ 200 

IF DosVer EQ 110 

; IF tests zero/nonzero result of expression 



mov ax,1 

; So this doesn't get assembled... 



ELSE 


0037 B80200 


mov ax,2 

; ...but this does 



END IF 


003A C8 


retf 

; Far RET to DOS (if this was a real program) 



; Define a second code seg to 

be GROUPed with the first. Note that 



; RASM requires FAR jumps and 

calls between GROUPed segments. 



xxcode cseg 

Subrt: 


0000 CB 


retf 

; Have to use RETF to match the CALLF 



end 


END OF ASSEMBLY. 

NUMBER 

OF ERRORS: 5. USE FACTOR: 

0% 


122 


PC Tech Journal 






























HARP DISK + !!1V 


Unleash your IBM-PC/XT with IDT's hard 
disks and SCSI technology. 

Innovative Data Technology is bringing unprecedented 
power and virtually unlimited expansion to IBM-PC/XT 
users. Our new SCSI (Small Computer Systems Interface) 
hard disk subsystems put massive storage capacity at your 
fingertips—from 11 to 126 MB in a single external drive. 

With the capacity of configuring up to 14 drives through the 
SCSI bus, that puts nearly two billion bytes of on-line 
storage at your disposal. 

Single slot expansion 

Unlike most PC add-ons, IDT's SCSI hard disk subsystems 
and other peripherals are connected through a single SCSI 
host adapter on your PC—no additional expansion slots or 
cards are necessary—future disks and other peripherals 
and additional PC hosts are simply daisy-chained into the 
SCSI bus. 

Multi-user capability 

IDT built the SCSI hard disk subsystem with multiple users 
in mind. One, two, or more IBM-PCs can access disk drives 
and other peripherals through the SCSI bus, allowing you 
to build a sophisticated system tailored exactly to your 
requirements. 1/4" STREAMING 

7M BACK-UP 

lne options are yours tape subsystem 

With IDT's SCSI host adapter board, future 
expansion becomes a snap. Additional 
peripherals, including an extensive line of 
1/2-inch IBM-compatible magnetic tape 
transports, are available for immediate 
shipment from IDT. You simply don't 
have to wait or worry about eguipment 
compatibility with IDT components. 

Watch for 1984 announcements of 
streaming cartridge drives, printers, etc. 

Tomorrow's solution today 

IDT's SCSI host adapter and 
SCSI hard disk subsystems 
will answer your data 
storage and system design 
reguirements today. Contact * 

IDT for complete system configuration information and 
details on other products. 

How to oxder: 

Using the chart to your right, you may order IDT hard disk 
subsystems and SCSI host adapters by calling: 

1-800-522-1500 Ext. 717 

FOR IMMEDIATE ORDERS ONLY 

Prices and availability subject to change without notice. No CODs. Send 
cashier's check or money order. All other checks will delay shipping three 
weeks. MasterCard and Visa accepted (include telephone number). Add 
$12.00 for handling and shipping UPS ground within the continental U.S. 

California residents add 6%. Approval needed on all returns. 0-10% 
restocking charge on all returned merchandise. 

For additional product or technical information please 
call or write: 


Successful and easy installation assured 

Supplied with each component are the reguired cables, 
complete software driver package and user language 
instructions. The user manual will have you guickly running 
and appreciating the many features of the subsystems, such 
as guick automatic boot load of the operating system from 
the IDT disk subsystem. 

Satisfaction guaranteed 

If not satisfied, the subsystems may be returned on approval 
from IDT within a 10-day period. All subsystems and 
components carry a six-month return-to-factory warranty on 
parts and labor. 


TO ADDITIONAL HOSTS 
OR PERIPHERALS 



IBM COMPATIBLE 
1/2" MAGNETIC 
TAPE SUBSYSTEM 



DISK 

SUBSYSTEM 


Solutions 
for ^5 


AND 

BEYOND 


COMPONENT PRICING CHART 




Model No. 

Description 

Storage Capacity 

Price 

RD 2011M 

Master Disk Subsystem 

11MB 

$2000.00 

RD 2023M 

Master Disk Subsystem 

23MB 

2550.00 

RD 2035M 

Master Disk Subsystem 

35MB 

2950.00 

RD 2047M 

Master Disk Subsystem 

47MB 

3150.00 

RD 2126M 

Master Disk Subsystem 

126MB 

6840.00 

RD 2011S 

Slave Disk Drive 

11MB 

1560.00 

RD 2023S 

Slave Disk Drive 

23MB 

2130.00 

RD 2035S 

Slave Disk Drive 

35MB 

2530.00 

RD 2047S 

Slave Disk Drive 

47MB 

2730.00 

RD 2126S 

Slave Disk Drive 

126MB 

6290.00 

RD 8111H/A 

IBM-PC/XT Host Adaptor 

510.00 

IDT 1/2" Magnetic Tape Subsystems 

Consult Factory 

IDT 1/4" Streaming Back-up Tape Subsystems 

Consult Factory 


Ordering 

Example: 


= INNOVATIVE 

= DATA ON THE RIGHT TRACK 

TECHNOLOGY 

P.O. Box 178160 • 4060 Morena Blvd. • San Diego, CA 92117 
(619) 270-3990 • TWX: (910) 335-1610 

CIRCLE NO. 215 ON READER SERVICE CARD 


If your need is a 23MB Subsystem, your order 
would consist of the following components: 

1-RD 2023M @ $2550.00 + 1-RD 8111H/A @ 
$510.00 + Shipping & Handling @ $12.00 = 
A Total Order of $3072.00 + tax (if applicable) 

IBM is a trademark of International Business Machines Corp. 



























PELADA 
lEXl EflCIflEE? 

The first full featured word processor for the IBM personal computer capable of 
producing all mathematical, scientific and engineering symbols* including superscripts 
and subscripts for complete equation editing on screen. 

Multi-lingual capabilities include the specific characters, accents and letters found in 
French, Spanish, German, Italian and all other western European languages. 

Advanced Word Processing features include: 

• Command line driven editor 

• Comprehensive, easily accessible on-line help 

• All features, including bold, italics, underlining and special characters appear on 
screen exactly as they are printed. 

SPECIAL INTRODUCTORY PRICE $250 MAIL ORDER ONLY. OFFER EXPIRES JULY 31/84. 



PELADA mFOWlAOCA IK. 

87 Queen St., Kingston, Ontario, 

Canada K7K 1A5 
Tel. (613) 549-1747 

* Requires Epson FX-80, FX-100 or similarly featured printer. 

FREE SAMPLE DISK AVAILABLE UPON REQUEST. 


CIRCLE NO. 141 ON READER SERVICE CARD 

































RASM-86 

Figure 1 contains samples of 
various facets of RASM-86. The 
"program" itself does nothing in 
particular—its only purpose is to il¬ 
lustrate RASM's syntax. 

RASM-86: What and Why 

RASM-86 is a relocating assembler 
that runs under PC-DOS. It is pack¬ 
aged with its own linker, LINK-86 
(along with several other utilities 
that will be discussed later). A rela¬ 
tively simple assembler, RASM-86 
lacks many of the bells and whistles 
of IBM's MASM. As a result, it 
seems to be inadequate for the de¬ 
velopment of large, stand-alone pro¬ 
grams. It could more reasonably be 
used for smaller, self-contained utili¬ 
ties or for the production of assem¬ 
bly language subroutines for high- 
level language programs. 

Yet there are problems here, 
too. RASM-86 object modules may 
be slightly different from Micro¬ 
soft/IBM object modules,- thus, 
RASM theoretically should not be 
used to produce modules for any 
compiler that uses the Microsoft/ 
IBM linker—which knocks out 
most PC-DOS compilers on the mar¬ 
ket today. (Note, however, that 
many RASM object modules ac¬ 
tually will work with the IBM link¬ 
er-more on this later.) 

So the question is this: why 
RASM? Why did DRI, the CP/M 
king, release a rather modest as¬ 
sembler that runs under PC-DOS? 

According to DRI, RASM-86 is 
intended both as a stand-alone as¬ 
sembler and as a tool to produce 
subroutines for its DOS compiled 
languages. DRI has already ported 
its C, PL/I, and CBASIC compilers 
from CP/M to DOS; FORTRAN is 
next. RASM-86 is a virtual clone of 
DRI's (not Intel's) ASM-86, which is 
the CP/M-86 assembler. RASM 
should therefore simplify the task 
of porting subroutines written for 
the CP/M versions of Digital's lan¬ 
guages. Pascal MT + , however, has 
its own assembler and is not com¬ 
patible with RASM. 


RASM-86 is part of DRI's As¬ 
sembler Plus Tools package,- the 
other parts are a linker (LINK-86), a 
cross-referencer (XREF-86), an object 
module librarian (LIB-86), and a 
symbolic debugger (SID-86). (Signifi¬ 
cantly, all five programs are distrib¬ 
uted on a single 160K diskette, with 
25K to spare.) 

The nicely packaged documen¬ 


tation is not intended for beginners,- 
there are many complex statements, 
such as "The PTR operator creates a 
virtual variable or label valid only 
during the execution of the in¬ 
struction." The assembler section is 
terse (the SID-86 debugger section of 
the manual is longer, although SID 
is a much simpler program) and 
could use more examples. 


DEVELOP BETTER SOFTWARE 
FASTER 

mm Anawi Sol&wDiei 


PROGRAM 

DEVELOPMENT TOOL 
(PDT-PC) 


for IBM-PC* and Compatibles 



PDT-PC TRANSFORMS YOUR IBM-PC/XT INTO THE MOST POWERFUL 
DEBUGGING AND ANALYSIS TOOL AVAILABLE FOR THE PC ENVIRONMENT: 

• SYMBOLIC DEBUGGING AND ANALYSIS 
• • LOCAL AND GLOBAL SYMBOLS 

•• HIGH-LEVEL LANGUAGE LINE NUMBERS 

•• FULL SYMBOLIC SUPPORT FOR OVERLAYS AND CODE MODULES 

• SUPPORTS BOTH INTEL AND PC-DOS OBJECT MODULE FORMATS 

• DISPLAY BUFFER TO RECALL UP TO 200 LINES OF INFORMATION 

• INTUITIVE HUMAN INTERFACE 

• REAL-TIME PROGRAM EXECUTION MEASUREMENT 

• REAL-TIME MEMORY UTILIZATION MEASUREMENT 

• STANDARD IN-CIRCUIT EMULATOR FEATURES 


ONLY THE PDT-PC INTEGRATES A FULL-FEATURED DEBUGGER WITH AN 8088 
EMULATOR AND PERFORMANCE ANALYSIS, PROVIDING A SINGLE ANSWER TO 
YOUR MOST DIFFICULT SOFTWARE DEVELOPMENT PROBLEMS!!! 


&MW&1 SotJ Wfflie 20863 S,evens Cr (4 e 0 k 8 ) IV 2 53 B 75?5 CUPer,inO ’ CA 95014 
Corporation 


•IBM-PC is a registered trademark of International Business Machines Corporation 


CIRCLE NO. 206 ON READER SERVICE CARD 


August 1984 


125 















RASM-86 


Unlike IBM's MASM documen¬ 
tation, RASM's contains little infor¬ 
mation on 8086/88 operations. This 
manual describes how to use the as¬ 
sembler, not how to program the 
CPU. The manual is generally accu¬ 
rate, although I found a few oper¬ 
ations that (according to the RASM 
documentation) should have worked 
but did not. It's hard to say whether 


these anomalies were the result of 
minor bugs in the software or 
whether they resulted from errors 
in the documentation. 

RASM-86 occupies about 39K 
on disk, compared to MASM's 68K 
The rest of the programs in the 
package are comparable in size to 
their IBM equivalents (see table 1 
on page 130). 


Invoking the Assemblers 

RASM-86 is strictly command- 
driven. All parameters must be en¬ 
tered via the command line. The 
parameters include the mandatory 
source file name and five options, 
each consisting of a one-character 
specifier followed by a one-character 
argument. Options may be in any 
order on the command line. 

Four of the five options simply 
specify devices: the input device for 
the source file and the output de¬ 
vices for the object, symbol, and list 
files. The user has no choice as to 
RASM-86's output file names,- he 
can select where the files will go, 
but not what they will be called. 
The file names will always be the 
same as the source file name, and 
the extensions will be .OBf for the 
object file, .SYM for the symbol file, 
and .LST for the list file. 

The fifth optional parameter, 
LO, instructs the assembler to in¬ 
clude local symbols in the object 
file (MASM has no equivalent 
option). During linking, the 
LINK-86 program produces a sym¬ 
bol file based on the symbols con¬ 
tained in the object modules linked. 
If the LO parameter is omitted at as¬ 
sembly time, the linker's output 
symbol file will include public sym¬ 
bols (those named in PUBLIC state¬ 
ments in the source). If the LO pa¬ 
rameter is included, all symbols de¬ 
clared in the source files will be 
contained in the linker's symbol 
file. This is useful, because the "S" 
in SID-86, the debugger, stands for 
symbolic. SID-86 can read the link¬ 
er's symbol file, and the symbols 
can be used during debugging. 

In contrast, MASM can be ei¬ 
ther command-driven or interactive. 
If options are not specified on the 
command line, the assembler will 
prompt for them. MASM options 
include the source, object, listing, 
and cross-reference file names. Un¬ 
like with RASM-86, complete file 
names, rather than just devices, can 
be specified. MASM command lines 
tend to be slightly longer than 


^ Pascal and C Programmers 

^.Blaise Computing’s productivity tools allow Pascal and C programmers 
to develop reliable software taking full advantage of the capabilities of 
the IBM PC and XT. Support for Microsoft and IBM Pascal; and Micro¬ 
soft (Lattice) C or CI-C86 is provided. Because all routines are carefully 
constructed in the language for which they were designed, the tools 
provide an excellent model. Pascal procedure support is implemented 
as separately compiled units, and the C functions are delivered as part 
of a function library. Now you can write your applications rapidly in 
the two most powerful languages available for the IBM PC. All pack¬ 
ages come with a comprehensive Reference Manual, extensive exam¬ 
ples and sample programs. 


TOOLS 


All Source Code is included 


Total string capability, complete screen access, keyboard handling a graphics interface, 
access to all BIOS functions, and much more are provided in over 40 routines. All routines 
are carefully crafted and documented to give you the information and flexibility you need. 
A general Macro Assembler BIOS gate allows you to access any BIOS function from Pascal 
or C, and demonstrates how to interface assembly language routines. Everyone using Pas¬ 
cal or C should have TOOLS. User Manual only. $30. 


V 

TOOLS 2 


All Source Code is included 


The power of DOS 2.0 is supported using high level Pascal procedures or C functions. 
Program chaining. DOS internal and external command execution, use of all available 
memory, extended file handling, and other utilities are some of the features provided. A 
general DOS gate allows you to access any DOS function from Pascal or C. User Manual 
only. $30. 


VIEW MANAGER 


Source Code available 


VIEW MANAGER is a screen support system of a mainframe for the IBM Personal Com¬ 
puter. VIEW MANAGER is a menu driven, screen oriented system allowing you to develop 
user oriented screen interfaces. Screens are constructed with a true Screen Painter sup¬ 
porting any attribute or color, and the screens are stored efficiently in a Screen Database. 
Database utilities allow you to copy screens to stand-alone databases and to archive 
screens. VIEW/LIBRARY supports access to screens and true block mode data capture and 
display from application programs. Available soon will be VIEW/LIBRARY for Microsoft 
(Lattice) C. The source to the procedure library is available for an additional $150.00. 
Demonstration diskette and User Manual $35. 

► VIEW MANAGER, TOOLS and TOOLS 2 run on the IBM Personal Com 
puter and XT. TOOLS 2 requires DOS 2.0; TOOLS and VIEW MAN¬ 
AGER can be used with any version of DOS. Specify if you wish Pascal 
(Microsoft and IBM) or Microsoft (Lattice) C versions. Blaise Com¬ 
puting can also provide you with the Microsoft Pascal and C compilers 
with qualified support. Call or write for details. 


TOOLS 125.00 

TOOLS 2 100.00 

VIEW MANAGER 275.00 

VIEW MANAGER (with Library Source) 425.00 
MS-Pascal Compiler 275.00 

Microsoft C Compiler 4 50.00 


<> 


BLAISE COMPUTING INC. 

2034 Blake St. Berkeley. CA 94704 
415/540-5441 


CIRCLE NO. 115 ON READER SERVICE CARD 


126 


PC Tech Journal 

















ALL AT OSCE! 

AND NEVER A “LOCKED OUT” USER! 




%c*°* > asS ’ 




, e c' e »'t< 


in* he ses re uone 
a c 5® te theP h 


, i A jnr 

y & § i j 


. rtP ro^ 0 ' 

6 »*5SV& 

,tnP fe a o‘' ,e 

ft'gd.'f 

tac'f^efS'^nd 

c«°*lcsd ata „fpr c ' 

ad ^ ceS i 

w ° f ed P d° cU ^ 


Apex Industries Customer Data 


Customer Id: Acme 
Customer Name: Acme Industries 

Credit Rating: AA Credit Limit: 25000 
Current Balance: 12500 

30 Day Balance: 4000 

60 Day Balance: 1500 

90 Day Balance: 0 

Billing: 

Address: 2701 South Bayshore Drive 
City: Miami State: FL Zip: 33133 
Shipping: 

Address: 913 Majorca Avenue 

City: Coral Gables State: FL Zip: 33134 

Phone: 305-856-7503 Contact: Gerald Green 



u 

i n i 

sfeSiff-s 



gSas?*--' 

ere' 


on 


L k l k jt R 

I II , a I. ' § 


i k i k i k 

LJLJLJI 


_____j( 




L_ii2 I 


m a , n 

«&{> 

&S5S5* 


Cube’s 
ofA clfle 


DataFlex is the only application development 
database which automatically gives you true 
multi-user capabilities. Other systems can lock 
you out of records or entire files for the full 
time they are being used by someone else. 
DataFlex, however, locks only the data being 
changed, and only during the micro-seconds it 


takes to actually write it to the file! The updated 
record is then immediately available. The 
number of users who can access, and change, 
records at the same time is limited only by 
the number of terminals on your system or 
network. Call or write today for all the details 
on DataFlex.. .the true multi-user database. 



8525 SW129 Terrace, Miami, FL 33156 (305) 238-0012 
Telex 469021 DATA ACCESS Cl 

CIRCLE NO. 146 ON READER SERVICE CARD 

C°mpatibl e with CP/M-80, MSDOS networks, MP/M-86, Novell Sharenet, PC-Net, DMS Hi-net, TurboDOS multi-user, Molecular 
N-Star, Televideo MmmOST, Action DPC/OS, IBM PC w/Corvus, OMNINET, 3Com EtherSeries and Micromation M/NET. 
MSDOS is a trademark ot Microsoft. CP/M and MP/M are trademarks of Digital Research. 



















RASM-86 


RASM-86 command lines. They are 
also position-dependent; I/O file 
names must be specified in the or¬ 
der listed above. MASM output can 
be directed to the serial port or to 
any other device defined to DOS, 
whereas RASM output is limited to 
disk files, console, and printer. 

In general, invoking RASM-86 
is somewhat simpler and more effi¬ 
cient than invoking MASM. The 
penalty for this simplicity is re¬ 
duced flexibility, a statement that 
could constitute RASM's epitaph. 

Identifiers 

RASM identifiers (labels, variables, 
segment names, etc.) may be 80 
characters in length, and all charac¬ 
ters are significant. The length of 
MASM identifiers is not limited, 
but only the first 31 characters are 
significant. Both languages, of 
course, allow all alphanumeric char¬ 
acters in identifiers. Also legal are 
question marks, at signs, dollar 
signs, and the underscore character. 
MASM adds the period, which is 
valid only as the first character of 
an identifier. The dollar-sign charac¬ 
ter is not significant in RASM-86 
identifiers and therefore is used 
only to improve readability: 
"data$error$flag" is identical in 
meaning to "dataerrorflag." 

Both assemblers' identifiers are 
nonstandard, if Intel's ASM-86 is 
considered to be a standard (MASM 
is closer to ASM-86 than RASM is). 
This in itself is not so bad, but the 
fact that they are nonstandard in 
different ways could create prob¬ 
lems in using the IBM/Microsoft 
linker to link RASM modules. (This 
will be covered later.) 

Constants 

Character and numeric constants in 
the two assemblers are similar. 
Character constants consist of one or 
two ASCII characters enclosed by 
delimiters. RASM-86 delimiters are 
single quotes,- MASM delimiters are 
either single or double quotes. Both 
assemblers allow 16-bit numeric 


constants to be declared in binary, 
octal, decimal, or hexadecimal nota¬ 
tion. The radix identifiers (B, O for 
RASM and Q, D, H for MASM) are 
the same. MASM allows the default 
number base to be changed via the 
.RADIX pseudo-op, whereas RASM 
always defaults to decimal. RASM 
also lacks MASM's decimal scien¬ 
tific and hexadecimal reals, but this 
is a small loss, because MASM 
sometimes doesn't assemble decimal 
scientific reals correctly anyway, 
and hex reals can be assembled in 
other ways since they are really just 
sequences of hex digits. 

Variable Definition 
and Initialization 

MASM has a clear advantage over 
RASM-86 in its data definition and 
initialization capabilities. Although 
both assemblers provide the stan¬ 
dard DB, DW, and DD directives to 
define variables with (respectively) 
byte, word, and doubleword attri¬ 
butes, MASM also offers the DQ 
and DT operations, defining quad- 
words and 10-byte variables. These 
are particularly useful for 8087 pro¬ 
gramming (yes, it is possible to do 
8087 programming with MASM; 
macros are available from several 
sources, and the Microsoft 1.25 as¬ 
sembler supports the 8087 directly). 

MASM is also more flexible 
with regard to how the data are ini¬ 
tialized. The DUP statement allows 
blocks of data to be initialized with 
a single value. For example, 

buffer dB 4000 dup (' ' ) 

initializes a 4,000-byte buffer with 
ASCII blanks. As far as I have been 
able to determine, there is no way 
to do this in RASM-86. 

RASM-86 has more subtle re¬ 
strictions as well. For example, the 
DD operand can be used only with 
an address expression,- that is, the 
statement 

long_integer dd 123456 

is not legal. This is a severe re- 
I striction, particularly if RASM is 


used with languages (such as C) that 
support long integer arithmetic. 

RASM also does not support the 
indeterminate initializer, In¬ 
stead, the RS, RB, RW, and RD di¬ 
rectives are substituted: 

buffer rb 4000 

is equivalent to MASM's 

buffer db 4000 dup (?) 

Both assemblers support the PUB- 
LIC/EXTRN directives, which al¬ 
low the user to declare variables and 
labels in one module that can be 
used by other modules. Use and 
syntax are identical. 

Finally, MASM supports struc¬ 
tured variables and packed bit-rec¬ 
ords via the STRUC and RECORD 
directives. These are missing en¬ 
tirely from RASM. 

Labels 

MASM provides three ways to de¬ 
clare labels, and RASM sports only 
one. The label declaration common 
to both is the familiar "label:" con¬ 
struct, such as 

labell: mov ax,100 

which declares a label with a NEAR 
attribute and segment and offset at¬ 
tributes equal to the current seg¬ 
ment and offset. 

MASM, however, goes on to 
provide the PROC directive, which 
is usually used to define the begin¬ 
ning of a block of related code, such 
as a subroutine: 

editor proc far 

The label EDITOR will have seg¬ 
ment/offset attributes as though it 
were declared with a colon, but it 
will have a FAR attribute; the 
PROC directive allows either a 
NEAR or FAR attribute to be speci¬ 
fied for the label. The PROC decla¬ 
ration also tells the assembler 
whether to use a near or far return 
when RET statements are encoun¬ 
tered. RASM requires the nonstan¬ 
dard mnemonic RETF to be used to 
specify a far return. (To call a far la- 


128 


PC Tech Journal 









FROM THE PUBLISHERS OF 




Ysalf „ , 

* tf&C * 

i\«flfe \gfe£ 

;«i£ 


■sgss? 


3S&SF 




W^i*o**, 

W*~ 

' \ IV' 0 " 


«Hp ] 

‘Vs®*— 

assE^s 

VSSs*^ 

Ygs#* 


^S,oiuw'* 7l " r 

;$W* ia 

[OU<.^ tVVU ' 


L44 ! lMWA...The low-cost 
and efficient way 
to build a library 
of software 
programs! 


These are some of the 
programs and applications you will 
have at your fingertips to expand your IBM PC: 


N ow you can build a library of software 
programs with amazing ease and at 
amazing savings! Imagine, adding to your 
home a library of utilities, sub-routines, 
games and data files for as little as $3 per 
program! PC DISK MAGAZINE, a new con¬ 
cept for your IBM PC gives you this and 
much more! 

Every issue you get is a thoroughly 
tested, ready-to-run floppy disk with 
up to 8 programs, accompanied by a 
fully illustrated user manual. 

ALL YOU HAVE TO DO IS INSERT THE 
FLOPPY DISK AND GO! 


Subscribe today and save up to $60 for your 
order of PC DISK MAGAZINE! Send us the 
full payment by check, money order or credit 
card and save an additional 10%. 

ACT NOW...SAVE MONEY 
AND BEGIN YOUR SUBSCRIPTION 
TO PC DISK MAGAZINE TODAY! 


Product Specifications: 

• ^§ rams wil1 run on IBM p C. PC XT, PCjr, and most compatibles under PC- 
525 and MS-DOS versions 1.1, 2.0, and 2.1, requiring a minimum of 64K under 
DOS 1.1 and 128K under DOS 2.0 and 2.1. 

• Most programs will be written to run on monochrome and color display; how¬ 
ever, some games and utilities may be developed forfcolor display only (Monitor 
vs. TV recommended) 

• Most programs will be written in advanced BASIC; however, some machine 
language and compiled code may be used. 

• Al! disks are fully tested and guaranteed to run. Damaged or faulty disks will be 
replaced at no charge. 

• All programs and documentation are copyrighted by Ziff-Davis Publishing 
Company. All rights or reproduction in all forms and media strictly observed. 
We guarantee full satisfaction! 



BUSINESS AND FINANCE 
AIDS: Advanced pie, bar and 
line chart graphics...compute 
loan payment tables...calculate 
the Present Value and Internal 
Rate of Return for invest¬ 
ments...Visicalc® templates 
for Real Estate, Lease/Pur¬ 
chase and Tax Shelter Analysis. 



HOME/PERSONAL PRO¬ 
GRAMS: Income tax return 
helper...maintain mailing 
lists...personal cash flow ana¬ 
lyzer... speed reading train¬ 
ing...SAT test preparation 
aids...games of dexterity, skill 
and MORE! 



UTILITIES AND DIAGNOS¬ 
TICS: Print graphics and screen 
images...simulate a conversa¬ 
tional terminal...sort files... 
transfer files to or from an¬ 
other computer...diagnose and 
correct problems! 


r m 


ALL THIS FOR AS LITTLE AS $3 PER PROGRAM! 


SAVE 



$60 


PC DISK MAGAZINE 

P.O. Box 5930, Cherry Hill, NJ 08034 

Vf C I want to begin to build my library with PC 
DISK MAGAZINE for: 

□ 3 issues for $84. Save over $20! 

□ 6 issues for $149. Save over $60! 

□ 1 issue for $34.95—SPECIAL OFFER! 


Mr./Mrs./Ms. 

Address 


PD8H716 

City 

State 

Zip 


□ Payment Enclosed $ 



Charge My: □ American Express 

□ Visa 

□ MasterCard 

Card No. 


_Exp. Date_ 



Deduct an additional 10% when you pay by money order, 
check or credit card! (Offer valid in U.S. only.) 

□ Bill me later. Does not apply to Special One Disk offer. 

Please allow 30 to 60 days for delivery of first issue. Canadian and foreign 
orders shipped Air Printed Matter; add $5 per issue and include payment 
in U.S. funds with order. 

























RASM-86 


Table 1: Comparison of Program Sizes of IBM/Microsoft and Dig - 
ital Research Assembler Tools 



IBM/Microsoft 
Macro Assembler 

1.0 and DOS 2.0 

Size 

DRI Assembler 

Plus Tools 

Size 

Assembler 

MASM.EXE 

67584 

RASM86.EXE 

38912 

Linker 

LINK.EXE 

39936 

LINK86.EXE 

42496 

Cross- 

reference 

generator 

CREF.EXE 

13824 

XREF86.EXE 

19456 

Debugger 

DEBUG.COM 

11904 

SID86.COM 

17920 

Object code 

librarian 

' 


LIB86.EXE 

14464 


bel, the CALLF instruction, also 
nonstandard, must be used.) 

MASM also provides the LABEL 
pseudo-op, which allows the user to 
create a label at the current seg¬ 
ment/offset location with any attri¬ 
bute he chooses: BYTE, WORD, 
DWORD, QWORD, TBYTE, 

NEAR, or FAR. Among other uses, 
LABEL can create multiple labels, 
with differing attributes, for the 
same location. RASM-86 does not 
have this facility. 

Both assemblers include the "$" 
symbol, which creates a temporary 
near label with segment/offset attri¬ 
butes equal to the current segment 
and offset. MASM plays a little fast 
and loose with the $ label, particu¬ 
larly with regard to the segment at¬ 
tribute. Consider, for example, the 
following program fragment: 
data segment 

data ends 
code segment 


assume cs:code, ds:data 
labell equ $ 

mov ax,$ 
mov ax,labell 

code ends 

Logically, the two MOV state¬ 
ments should assemble identically, 
but they do not. The second one as¬ 


sembles (correctly) with a segment 
override (CS:) ; the first does not. 
Thus, the first statement will move 
to AX the contents of the address 
generated by adding the current 
code offset to the current data seg¬ 
ment register. Clearly, this is not 
what was intended by the program¬ 
mer who wrote this fragment. 




M 


\ 

✓c 

n 



a 


V\! Y 

1 i 



< 

j 


Ufl 


WINDOWS 
FOR C“ 

FOR THE IBM PC 
+ COMPATIBLES 

Lattice C, DeSmet C 
C86. Microsoft C 
All versions 


Windows for C $150 

Demo disk and 
manual $ 30 

(applies toward purchase) 


C Advanced Screen Management 
Made Easy 


ADVANCED FEATURES 

• Complete window system 

• Unlimited windows and text files 

• Nest and overlap windows 

• Overlay, restore, and save 
windows 

• Horizontal and vertical scrolling 

• Word wrap, auto scroll 

• Print windows 

• Highlighting 

• Fast screen changes 

• No snow, no flicker 

WINDOWS ++ 

Much more than a window display 
system. Windows for C is a video 
toolkit that simplifies all screen 
management tasks. 


SIMPLIFY • IMPROVE 

• Menus • Help files 

• Data screens • Editors 

ALL DISPLAYS 

C SOURCE MODULES 
FOR 

pop-up menus, multiple window 
displays, label printer, cursor 
control, text mode bar graphs. 

Plus complete 
building block subroutines 

DESIGNED FOR 
PORTABILITY 

'Minimal dependence on 
IBM BIOS and 8086 ASM 

FULL SOURCE AVAILABLE 
NO ROYALTIES 

802 - 848-7738 

Master Card & Visa Accepted 
Shipping $2.50 
VT residents add 4% tax 


A PROFESSIONAL SOFTWARE TOOL FROM 

CREATIVE SOLUTIONS 

21 Elm Ave, Box T8, Richford, VT 05476 


CIRCLE NO. 121 ON READER SERVICE CARD 







































AND NOW, BESIDE THE TI PROFESSIONAL, TOO. 


Beside The IBM PC 
Or XT, The Best Box 
You Can Sell. 


The Bernoulli Box: The Superior Storage Solution. 


For owners and users of IBM PCs, XTs, 
and TI Professionals, where to put and 
secure the substantial amounts of data 
they are processing can get to be quite a 
problem. 

Well, IOMEGA has quite a solution. 
We call it The Bernoulli Box. 

Hard Disk Performance And 
Reliability. Flexible Disk Economy 
And Convenience. 

The Bernoulli 
Box is a mass stor¬ 
age system that 
uses 10-megabyte 
removable car¬ 
tridges to deliver 
incredible ver¬ 
satility and 
virtually 
unlimited 

storage capacity. Powerful primary stor¬ 
age. Quick and efficient backup. With the 
performance, data integrity, mechanical 
reliability, and low cost per megabyte 
equal to Winchester hard disks. 



A Handful of Cartridges Or A 
Desktop Full Of Hardware. You 
Decide. 

The bottom-line beauty of The 

Bernoulli Box is 
that when your 
customers need 
more mass stor¬ 
age, they buy 
more 

cartridges— 
not more 
iron. So they 
save space, 
time, money, 
and get higher performance and a more 
reliable storage solution to boot. 

Check Out The Bernoulli BoxToday. 

Computer dealers across the country 
are coming to the same conclusions about 
The Bernoulli Box from IOMEGA. Stock 
it. Because it's really a mover. Which 
only makes sense when you put it beside 
the IBM PC, XT, or TI Professional. 

For more information, call IOMEGA at 
(801) 776-7330. 


L'UIzCA 


IOMEGA Corporation 
1821 West 4000 South 
Roy, Utah 84067 
(801) 776-7330 

CIRCLE NO. 102 ON READER SERVICE CARD 
















RASM-86 


Arithmetic, Logical, and 
Relational Operators 

Both assemblers boast a full comple¬ 
ment of arithmetic, logical, and rela¬ 
tional operators. Arithmetic oper¬ 
ators include addition, subtraction, 
multiplication, division, modulo di¬ 
vision, and left/right bit shifts. Re¬ 
lational operators include all neces¬ 
sary tests of equality and inequality. 
Logical operators include AND, 
NOT, OR, and XOR. The syntax 
and notation is the same for both 
MASM and RASM. 

Even though the two assem¬ 
blers' capabilities appear to be iden¬ 
tical, I'd score this round in RASM- 
86's favor, for two reasons. First, 

DRI has carefully documented all of 
these operators (and what types of 
operands are legal for each); IBM, 
on the other hand, mentions most 
of the operators only in passing, in a 
table of operator precedence. 

Second, RASM's operators work 
correctly,- MASM's often do not. In 
fact, MASM's arithmetic is posi¬ 


tively disgraceful. (For an interest¬ 
ing expose of MASM's arithmetic 
and logic, see Ray Duncan's article 
in the February 1984 issue of Dr. 
Dobb's Journal ; I recommend that 
MASM users read this article before 
trying to use any MASM arithmetic 
in their programs.) 

Attribute and Value 
Operators 

The SEG, OFFSET, and PTR oper¬ 
ators are identical in the two as¬ 
semblers. SEG and OFFSET return 
the segment and offset values of 
their respective operands. PTR tem¬ 
porarily changes the type or dis¬ 
tance attribute of its operand 
(BYTE, WORD, or DOUBLE- 
WORD; NEAR or FAR) to a speci¬ 
fied type or distance. 

The TYPE operator returns a 
number reflecting the "type" attri¬ 
bute of its operand, if that operand 
is a variable. RASM's TYPE operator 
can return only 1, 2, or 4, because 
RASM can define only BYTE, 


WORD, and DOUBLEWORD vari¬ 
ables. MASM can return 1, 2, 4, 8, 
10, or (if its operand is a structure) a 
structure size. MASM can also re¬ 
turn the NEAR or FAR attribute of 
an operand that is a label. Digital 
Research's documentation does not 
specify what is returned if the 
TYPE operator is used with a label 
operand, although it does state that 
TYPE can be used with a label. 

The functioning of the 
LENGTH operator in the two as¬ 
semblers is subtly different. 

MASM's LENGTH returns the 
number of elements in a DUP'd ar¬ 
ray; it is not meaningful for other 
variables. RASM's LENGTH returns 
the actual number of bytes asso¬ 
ciated with a variable. So, RASM's 
LENGTH is similar to MASM's 
SIZE. However, SIZE, like MASM's 
LENGTH, is meaningful only for 
variables declared with a DUP ini¬ 
tializer (SIZE = LENGTH * TYPE). 
Note that the actual utility of 
RASM's LENGTH operator is lim- 



MODEMS 


SOFTWARE UTILITIES 


BROTHER (Letter Quality) 

HR-15. 

HR-25 

OKIDATA (Dot Matrix) 

ML 92 . 


AMDEK VIDEO 310-A 

12" Amber Monitor 


HAYES 

SMART MODEM 1200 
Each $40 SMART MODEM 1200B 


TALL TREE 

$470 J FORMAT-2, WINDRIVE 
JETDRIVE 


PGS HX-12. 

Call 12" Hi Res Color (RGB) Monitor 


j fyciot 

64K RAM CHIPS . $52 

(Set of 9) 150 NS 

64K RAM CHIPS . $49 

(Set of 9) 200 NS 

OKIDATA 93 .Call 

Printer (Dot Matrix) 


HERCULES | 

QUADRAM 

PLANTRONICS > 
PARADISE SYSTEMS ^ 
AST MONOGRAPH PLUS 


DISK DRIVES 


For your IBM PC or compatible. 

5V4" FULL HEIGHT DISK DRIVES 

TANDON TM 100-2 ,^/V 

TANDON TM 101-4 J F rOM 

CONTROL DATA 9409 \ $199 


5Vi" HALF HEIGHT DISK DRIVES 

TANDON 50-2 

TANDON 55-4 r^/Vl 

CONTROL DATA 9428 JpROM 
QUME 142-A \ $180 

TEAC 55B l/\ /sj 

TEAC 55F ]/ 

8" THINLINE DISK DRIVES 

TANDON TM 848-1 E C 

TANDON TM 848-2E S3 


i IIAAIITnDC 


HARD DISK SUBSYSTEMS 


f INTERFACE 

10. 15. 21 & 33MB 

MAYNARD 
WS1, 2, & 3 

TANDON 

TM 5112 10MB 


j DISK DRIVE CONTROLLERS 


MAYNARD ^s/V 

All options available. Jfro> 

FDC(5’/4") \ $16( 

FDC/SP l/\ 

(5Vi" with Serial Port) !/ 

FDC/8 (8") 

FDC/8 PP (8" with Parallel Port) 

MAYNARD 

Sandstar Series 
Modular Controller Cards 


COMMUNICATIONS 


AST RESEARCH 

AST-3780 

(3780 RJE bisync emulation) Call 
AST-5251 

(5251 remote emulation) . Call 


EXPANSION BOARDS 


AST RESEARCH 

All options available. Expandable memory. 
SIX PAK PLUS (64K) /i 
MEGA PLUS II (64K) 

1/0 PLUS II \ $130 « 


QUADRAM ^ 

All options available. Expandable memory. 
QUADBOARD /y 

EXPANDED QUADBOARD |>£ n YjrL_ 
QUADBOARD II *940 < 


JFROM 1 - 
$240 < 

IaT 


TERMS: Prepayment, COD, Visa and MasterCard 

accepted. Add 2% shipping and handling on all orders. 
Add 3% surcharge for Visa and MasterCard. 

/ 

Prices subject to change without notice. 20% re¬ 
stocking charge for all returned items. 


FOR XPRESS SERVICE, PHONE 
Toll Free 1-800-632-8515 
California 1-714-632-8512 
Hours: 8 AM - 5 PM Mon.-Fri. 


WARRANTY: Microxpress honors all manufacturer 
warranties. 

RETURNS: Call our Customer Service Department for 
an MRA (Material Return Authorization) Number for all 
in and out of warranty returns. 


For Customer Service Call 1-714-632-8996 


CIRCLE NO. 123 ON READER SERVICE CARD 



































ANNOUNCING CREATIVE COMPUTING’s 1984 

BUYER'S GUIDE 

TO PERSONAL COMPUTERS & PERIPHERALS 


ADVICE YOU CAN TRUST ON SELECTING PERSONAL COMPUTERS, 

PERIPHERALS AND ELECTRONIC GAMES 


Unless you have the mem¬ 
ory of a computer there’s no 
way you can keep track of all 
the games, programs and 
peripherals available for 
your computer. And even if 
you could, you’d still have a 
problem figuring out what’s 
best for your needs and how 
to get the most for your 
money. 

That’s why you need the 
1984 Buyer's Guide to Per¬ 
sonal Computers & Periph¬ 
erals. It’s a comprehensive 
collection of product reviews 
and consumer-oriented 
shopping advice put 
together by the experts at 
Creative Computing 
magazine. 

You’ll get a rundown of 
what’s new on the market. 
Analysis of new product 
performance, reliability, 
operation, applications, 
cost-even what kind of 
repair service you can 



expect. Easy-to-understand 
comp' risons between dif¬ 
ferent models. Tips on bugs 
and design problems. Plus 
"inside” information you 
won’t get from manuals or 
sales people. 

Plug into the 1984 Buyer's 
Guide to Personal Com¬ 
puters & Peripherals and 
find out what’s hot in... 

□ Personal computers 

□ Pocket-sized computers 

□ Telecomputers 

□ Diskdrives 

□ Memory expanders 

□ Word processors 

□ Dot matrix printers 

□ Electronic games 

□ Video game cartridges 

□ Joysticks and paddles 

□ Game port extenders 

□ Color graphics boards 

□ Speech synthesizers 

□ Do-it-yourself kits 

□ And more 


You may even discover that 
you need less equipment 
than you think. The 1984 
Buyer's Guide to Personal 
Computers & Peripherals 
helps you avoid overbuying 
by showing you how to cus¬ 
tomize your current system. 

What else does the 1984 
Buyer's Guide to Personal 
Computers & Peripherals 
give you? Book reviews, 
glossaries of new terms, 
evaluations of batteries for 
electronic games and calcu¬ 
lators, and lots of other use¬ 
ful information. 

Don’t buy until you've con¬ 
sulted the 1984 Buyer's 
Guide to Personal Com¬ 
puters & Peripherals! Order 
your copy today. 


Send to: Creative Computing Buyer’s Guide FA6F 

CN 1914, Morristown, NJ 07960 

Yes! Please rush me Creative Computing's 1984 Buyer's Guide to Per¬ 
sonal Computers & Peripherals. Enclosed is my check or money order for 
$3.95 plus $1 for postage and handling. 

Mr./Mrs./Ms_ 

Address- 

City_ 


(please print) 


State. 


-Zip_ 


Please make check payable to Creative Computing Buyer's Guide. CA, NJ and NY 
State residents please add applicable sales tax. Price outside U.S.A. is $6. 























RASM-86 


ited by the deficiencies of the as¬ 
sembler's data definition capability. 
Because there are no structures or 
initializing DUP statements, the 
definition of a variable (as far as 
LENGTH is concerned) can consist 
of only as much code as can be 
packed into one line of source. 

RASM-86 also provides a LAST 
operator: if LENGTH x is greater 
than 0, LAST x returns LENGTH 
x - 1; if LENGTH x is 0, LAST x 
returns 0. This feature provides a 
convenient means 4 ’ to access, for ex¬ 
ample, the last element of an array. 
The LAST operator is not present in 
IBM's MASM. LAST shares 
LENGTH'S limitation as it was de¬ 
scribed above. 

MASM includes several attri¬ 
bute operators that are not present 
in RASM-86. The SHORT operator, 
for example, specifies that the target 
label of a jump instruction be 
within 127 bytes of the instruction. 
RASM-86 uses the nonstandard 
mnemonic JMPS for the same pur¬ 


pose. MASM's THIS operator de¬ 
fines a memory location and speci¬ 
fies a type attribute. It is also miss¬ 
ing in RASM, but I have yet to find 
a use for THIS that cannot be dupli¬ 
cated by using other means. 

Obviously, all of the operators 
that deal with records and struc¬ 
tures are also missing from RASM- 
86: specifically, MASM's shift 
count, MASK, WIDTH, and dot (.) 
operators are not implemented in 
RASM. RASM does have a dot oper¬ 
ator, but its meaning is entirely dif¬ 
ferent. The dot in MASM specifies 
that one field of a.structure is being 
referred to (e.g., customer.name); in 
RASM it creates a temporary vari¬ 
able in the current data segment. 

For example, the RASM statement 

mov ax, .380H 

is equivalent to MASM's 

mov ax,ds:[380H] 

Finally, MASM's HIGH and LOW 
operators, which return the high 


and low bytes of a 16-bit value, are 
not present in RASM-86. 

Program Segmentation 

The two assemblers part company 
on program segmentation. Program 
segments are defined in MASM 
with the SEGMENT/ENDS pair. 
The SEGMENT directive defines 
the beginning of a logical program 
segment: an area of code, data, stack, 
etc. SEGMENT syntax is 

name SEGMENT [align-type] 
[combine-type] ['classname'] 

The name field tells the assembler 
and the linker what name to use for 
the segment; it can be any unique 
MASM identifier. The align-type 
instructs the assembler where to 
align the beginning of the segment. 
Valid align-types are BYTE, WORD, 
PARA, and PAGE. The combine- 
type specifies how segments with 
the same name are to be combined 
at link time ; it can be PUBLIC, 
COMMON, STACK, MEMORY, or 


MicrcWay ’ 8087 SUPPORT and FORTRAN 


87FORTRAN/RTOS” our adaptation 
of the Intel Fortran-86 Compiler generates in 
line 8087 code using all 8087 data types 
including 80-bit reals and 64-bit intergers. The 
compiler uses the Intel large memory model, 
allowing code/data structures of a full mega¬ 
byte, and supports overlays. Includes RTOS 
and support for one year. $1350 

87PASCAL/RTOS” is Intel’s ISO- 
Standard Pascal with 8087-8088 exceptions. 
These make it possible to use all the 8087 data 
types directly, while generating modules in 
one of thethree intel Memory Models. Includes 
RTOS and support for one year. $1 350 

RTOS DEVELOPMENT PACKAGE 

includes 87FORTRAN, 87PASCAL, PL/M-86, 
Utilities,TXScreenEditorandRTOS.. $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 

87 BASIC/I N LI N E” 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 


Mirm p °- b ° x 79 

Kingston, MA 

MfOlp 02364 
W VCfff (617) 746-7341 


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

87 BASIC" 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. $150 

87MACRO” - our complete 8087 software 
development package. It contains a "Pre-pro¬ 
cessor,” source code for a set of 8087 macros, 
and a library of numeric functions including 
transcendentals, trigonometries, hyperbolics, 
encoding, decoding and conversions. ..$150 

87DEBUG" - a professional debugger with 
8087 support, a sophisticated screen-oriented 
macro command processor, and trace features 
which include the ability to skip tracing through 
branches to calls and software and hardware 
interrupts. Breakpoints can be set in code or 
on guarded addresses in RAM. $150 

FOR-^BAS” - a library of interface routines 
which allow MS Fortran programs to call the 
IBM Basic Compiler library and access 
features such as the RANDOM NUMBER 
GENERATOR, SOUND, PLAY, DRAW and 
SCREEN commands. $150 


You Can 
TalkToUs! 


8087-3 CHIP $175 

including DIAGNOSTICS and 180-day warranty 

64K RAM Upgrade $47.50 

87/88GUIDE - an excellent tutorial on 
writing 8087 code and interfacing it with 
compilers Full of code that runs!. $30 

MATRIXPAK" manages a MEGABYTE! 

Written in assembly language, our runtime 
package accurately manipulates large matrices 
at very fast speeds. Includes matrix inversion 
and the solution of simultaneous linear equa¬ 
tions. Callable from MS Fortran 3.2, 87MACRO, 
87BASIC, and RTOS.each $150 

MICROSOFT FORTRAN 3.2 $239 

MICROSOFT PASCAL 3.2 $209 

These IEEE compatible compilers support 
double precision and the 8087 

MICROSOFT C COMPILER includes 

Lattice C and the MS Librarian. $350 

LATTICE C with 8087 support.$350 


SCO XENIX .’“T?". 0 ? 0 ."!.595 

Unisource VENIX/86. ,M r^7. : £ ..800 

FLOAT87 for MS C.125 

SuperSoft Fortran 66.299 

Computer Innovations C86.345 

STSC APL*-PLUS/PC.500 

TURBO PASCAL.45 

TURBO PASCAL with 8087 Support.85 

HALO GRAPHICS. CALL 

GRAPHMATIC.125 

ENERGRAPHICS.295 

Professional BASIC.295 

COSMOS REVELATION.850 

SuperCalc III with 8087 Support. CALL 

MAYNARD WS1 HARD DISK.995 

MAYNARD WS2 HARD DISK.1170 

256K RAM CHIPS. CALL 

MAYNARD ELECTRONICS Boards. CALL 


NO CREDIT CARD SURCHARGE 


CIRCLE NO. 174 ON READER SERVICE CARD 













































AT. Finally, the classname is a user- 
defined string; the linker will place 
segments with the same classname 
near one another in memory. 

The purpose of all this is to tell 
the assembler and linker what the 
segment is to be used for, how it 
will be combined with other pro¬ 
gram segments, and where it should 
be placed in memory. MASM's 
SEGMENT directive is complete: it 
allows the programmer to do almost 
anything he wants. In fact, it is a 
virtually complete implementation 
of the Intel assembler's SEGMENT 
directive, missing only that assem¬ 
bler's INPAGE align-type. 

As a necessary complement to 
the SEGMENT directive, MASM 
provides the important ASSUME 
statement. Aside from affording pro¬ 
grammers the opportunity to code 
the most sagacious statement I have 
ever seen in any computer language 
("ASSUME NOTHING"), the AS¬ 
SUME directive tells the assembler 
what values it can expect to be in 
the segment registers at run time. 

This is critical information, because 
the assembler must know how to 
address variables and code. Examine 
the following program fragment: 

data segment public 
varl db ? 
data ends 

code segment public 
assume csxode^smothing, 
es:data 
mov ah,varl 

code ends 

The ASSUME statement tells the as¬ 
sembler that to address VAR1 in the 
data segment it must use a segment 
override,- the assembler will actually 
generate the instruction 

mov ah,es:varl 

because it was informed that what 
will be in the DS register at run¬ 
time is unknown. 

Finally, the GROUP directive 
in MASM instructs the assembler/ 
linker to collect a set of logical pro- 

CIRCLE NO. 113 ON READER SERVICE CARD 


GET “C” APPLICA TIONS OFF TO A FL YING START 

WITH 

CTREE ™ ^<&C-SORT T " 


RECORD MANAGEMENT 
SUBSYSTEM 
■ Advanced B + Tree Stru 

• Fast And Efficien 

• Unlimited # Of Keys 

• Keys Mav Be Duplicate, LIFO/ 
5, Modifiable 

• Record Locking Calls 

• Sequential Access 

• Utilities To Add/Delete Keys 
And Fields, Rebuild Files 

• Error Processing Interface 

• Store Data Dictionary In File 




*7 




SORTISELE 


B-Tree or Sequential Files 
• Automatically Uses All 
‘^'Te Memory 
•oh On Any Number/Type 
Of Field 

t Records According To 
Specified Criteria 
tes Tag (Index) Sorting File 
Automatic Interface To B-Tree 


ordering information 
SINGLE UNIT LICENSE 
$99 per program plus shipping. 
Format 5'A Disk MS-DOS 
Compatible Linkable 8086-file 
format modules for Lattice-C 
Compliers, others soon. 
Complete documentation. 

AccuData Software™ 
Dept. T-8 
P.O. Box 6502 
Austin, Texas 78762 


SOURCE CODE OPTION 

$249 per program plus shipping. 

“C” Source Code is also available: 
requires license. A credit is 
allowed for object license 
purchased previously. 

MULTIPLE COPY OPTION 

Multiple copies of object code 
may be made with this license at a 
very jow unit cost. 

Telephone Orders Accepted 
Visa/Mastercard 

(512)476-8356 


CIRCLE NO. 157 ON READER SERVICE CARD 


Say goodbye to the Tower of Babel with.. 



XENO-DISK 

The disk production system 
for your PC! 

Read, write, format and duplicate 
70 disk formats on your IBM-PC or 
compatible under MS-DOS. Developed 
from our popular Xeno-Copy™ utilities. 

Now supports popular 8" and 96 TPI formats^ 

XENO-DISK. $379.50 

Also available: 

• XENOCOPY™.$99.50 

Read and transfer 70 formats to PC/MS-DOS (one way transfer) 

• XENO-COPY PLUS™.$149.50 

Read and write 70 formats (bi-directional file transfer) 

• ADVANCED™ Option .add $50.00 

Supports 8," 96 TPI, parameter input for other formats. Included in XENO-DISK. 

RUN CP/M-80 PROGRAMS ON YOUR PC.... $99.50! 

80MATE™ our CP/M emulator, will run almost any CP/M-80 program under 
MS-DOS. No need for expensive co-processor boards! 

See your dealer or call for information. 

I CIV' Dept. J, 7950 W. Fourth Street 

.1 l “A Los Angeles, CA 90048 

Systems, inc. (213) 938-0857 


August 1984 


135 























RASM-86 


gram segments into one contiguous 
physical segment of 64K or less. All 
segments so collected can be ad¬ 
dressed via a single segment register,- 
that is, offset addresses are relative 
to the base of the group, not to the 
base of each segment. 

With SEGMENT/ENDS, AS¬ 
SUME, and GROUP, the MASM 
programmer has all of the tools nec¬ 
essary to exercise complete control 
over program segmentation, use of 
segment registers, and generation of 
segment overrides for addressing. In 
contrast, RASM-86 has only those 
tools needed to get the job done. 

RASM's segmentation directive 
is a simplified version of the SEG¬ 
MENT statement. The only align- 
types available are BYTE, WORD, 
and PARA, and the only combine- 
types are PUBLIC and COMMON; 
there is no classname field. The ac¬ 
tual syntax is 

[seg-name] seg-type 

[align-type] [combine-type] 


in which seg-type must be CSEG, 
DSEG, ESEG, or SSEG. RASM 
makes all kinds of assumptions 
based on the seg-type. For example, 
if the word "CSEG" is included in a 
file, RASM assumes a seg-name of 
CODE, an align-type of BYTE, and a 
combine-type of PUBLIC (all of 
which, however, can be overridden). 

Further, RASM does not have 
an ASSUME statement. RASM 
makes its own assumptions,- if they 
are not what the programmer 
wants, that's too bad. RASM's as¬ 
sumptions are established by the 
seg-type of the segment in which 
the symbol being referenced is lo¬ 
cated (although this is not men¬ 
tioned in DRI's documentation). 

For example, if variable VAR1 
is declared in an ESEG, any refer¬ 
ences to VAR1 are coded by RASM 
as ES:VAR1. There is no way to tell 
the assembler that DS also points to 
the ESEG. If DS does, in fact, refer 
to the ESEG containing VAR1, all 
references must be explicitly coded 


as DS:VAR1 in order to avoid all 
those unnecessary ES overrides. 

In some cases, the programmer 
can trick RASM into doing what he 
wants. For example, in the creation 
of a COM file, variables can be put 
in a DSEG, and then the code and 
data segments can be GROUPed to¬ 
gether. (If the variables were placed 
in the code segment, as would be 
the case in a MASM-produced COM 
file, RASM would prefix every ref¬ 
erence to every variable with a CS 
override.) However, there are many 
cases in which this sort of grouping 
will not work, and the programmer 
will be forced to code his own over¬ 
rides. The lack of the ASSUME 
statement is a serious deficiency. 

Obviously, RASM does provide 
the GROUP directive, albeit some¬ 
what differently from MASM. First, 
the OFFSET operator always returns 
the offset of a symbol within its 
group, never within its segment,- 
MASM allows either offset to be ac¬ 
cessed. Second, I have not been able 


WE DO WINDOWS. 


MAIN MENU DIRECTORY B: 

D piSP.---1 BACKUS 1 BAT 714 10-27-83 

2 ) ekte Select master file | bastest bas 5120 9 - 1 S -83 

nwmnr? 1) CUST,-EST EXE S120 11-07-83 

4) PRIM nVIW. SELECT ACTION EST 1ST 12032 11-07-83 

5) SYST 3) UEND 1) ADD ME M RECORD EST HAP 4992 11-87-83 

b) chan 4) pipl. 

- 5) SALE 3) DELECT PRODUCT MASTER RECORD 

— 4) PERFOR 

- PRODUCT NUMBER:12345b 

PROCUCT NAME: Inverted Tweaker 

COST- 19.23 QUALITY ON HAND 102b5 

PRICE: b2 SB REORDER POIKT: 2000 

Use the up and down arrow PRODUCT DESCRIPTION: Reverse wetaflange for 
or type the nuwber for th fraailgating bent borogoves. 

Press <ENTER> to select t* 

Press <ESC> to exit frow this Menu. 

Press ? for help with the highlighted wenu itew. | r 


VSi 


Copyright 1984 Amber Systems. Inc. 


AMBER SYSTEMS, INC. 

1171S. Sunnyvale-Saratoga Road 

San Jose CA 95129 
(408)996-1883 

l 

1 

1 

l 

Computer. 

Name 

Company 

Address 

Cilv 


l_ ' 


Don’t just put your applications in windows—put windows in your 
applications with VSI—the window manager. 

VSI is a high-speed screen management tool. You can create up to 255 
simultaneously active overlapping windows-large or small-for any 
application program. Read to or write from any window and display them 
with borders and user declared priorities. VSI is callable from any com¬ 
piled language and supports all color and monochrome video attributes. 

Cut Development Time 

VSI’s powerful primitives simplify your screen management chores 
with a complete library of functions. And you can preview and edit your 
screen layout before you actually program it 
But that’s only the beginning. 

Free Demo Disk 

Our free hands-on demo disk will have you doing windows, too. 

Return the coupon with $4.50 for postage and handling. 

MasterCard or Visa accepted with phone orders only. 

VSI is used with IBM PC, XT and compatibles as well as TI 
Professional, and Wang PC. 

^ I develop software for 8086/8088 based machines and I want to do windows, too. J 
I’m enclosing $4.50 for postage and handling. Please send me your free demo 
disk. My business card is attached. (Offer expires December 31,1984) 


—Zip— 


CIRCLE NO. 126 ON READER SERVICE CARD 


136 


PC Tech Journal 





















BEFORE YOU BUY 
ANOTHER PIECE 
OF SOFTWARE 


CONSULT THIS BUYER’S GUIDE 


n - 

\ \electing programs, 
^_!ysystems and games for 
your personal computer can be 
an ordeal. You want the best 
package that’s compatible with 
your system —at the right price! 

LOOK NO FURTHER. 
THE OLYMPIC EDITION 
OF THE CREATIVE 
COMPUTING 1984 
SOFTWARE BUYER'S 
GUIDE IS HERE! 

The Editors of CREATIVE 
COMPUTING have awarded 
the Olympic Gold. Silver and 
Bronze medals to the leading 
software packages in the fol¬ 
lowing categories: 

Full-feature word 
processors 

Home word processors 
Education: Pre-school, Ele¬ 
mentary and Secondary 
Spreadsheets 
Database packages 
Games 

Full descriptions, product 
reviews and screen photos of 
each award winner make this 
the definitive guide to the lead¬ 
ing software of 1984! 

In addition to the Olympic 
Ratings Guide, you’ll find: 

A complete directory of 
software products with full 
program descriptions, sys¬ 
tem requirements and 
prices, PLUS 
A full listing of software 



manufacturers, with names, 
addresses, types of software 
made and compatible hard¬ 
ware for each product! 

If you own an Apple. Atari, 
Commodore 64. TRS-80 Color 
Computer, or any IBM PC, and 
you’re in the market for new 
business, educational, personal 
productivity, recreational and 
utility programs, take the ordeal 
out of shopping... save money 
and get the best package for 
your system at the best price! 

Order your copy of the 
CREATIVE COMPUTING 
1984 SOFTWARE 
BUYER’S GUIDE today! 

Also available at your local news¬ 
stand and computer store. 


Creative Computing 1984 


Software Buyer’s Guide 

CN 1914. Morristown. NJ 07960 FA3F 

rr.SE 

I’m enclosing $4.95 ($3.95* plus $1 postage 
& handling) for the 1984 SOFTWARE 

BUYER’S GUIDE. (Outside USA $6.) 

Mr./Mrs./Ms 


Address_ 

print lull name 

City/State/Zip 


*Residents of CA, NJ and NY State add applicable sales tax. 






















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¬ 
assembler will asemble and link code 
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) 

• A Z-80 to 8086 translator 

• 64 page user manual 

• 4 linkers included: 

-MSDOS produces .EXEfile 
-CPM/86 produces .CMD file 
-Pure object code generation 
-Object code and address 
information only 
Linker features: 

• Links up to 128 files 

• Submit mode invocation 

• Code, Data Stack and extra 
segments 

• Handles complex overlays 

• Written in assembly language for 
fast assemblies. 

• 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 a Z-80, Z-8000 or 8086 
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 make the transition 
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 
that will 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 overflow to disk. 

Powerful Macro Section— 
handles string comparisons during 
parameter substitutions. Recursion 
and nesting limited only by the 
amount of disk storage available. 
Conditional Assembly —allows 
up to 248 levels of nesting. 


Assembly Time Calculator— 

will perform calculations with up to 
16 pending operands, using 16 
or 32 Bit arithmetic (32 Bit only 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 
—for those 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 —User defined registers 
names, standard Zilog and Z-80 
style support. Tec Hex output option. 
8748 —standard Intel and Z-80 
style syntax supported. 

8051 —512 User defined register 
or addressable bit names. 

6800 Family —absolute or 
relocatable modes, 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. 


CIRCLE NO. 162 ON READER SERVICE CARD 





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/M 86 

OLIVETTI 

M-20 

PCOS 

8086/88 ASM 



$ 99.50 

$ 99.50 


8086/88 XASM 

$199.50 

$750.00 



$199.50 

80186 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-80XASM 


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(CM0S) XASM new 

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 

NEC7500 XASM 

99.50 

500.00 

99.50 

99.50 

99.50 

NSC800 

99.50 

500.00 

99.50 

99.50 

99.50 


Subtotal $_ $_ $_ $_ $ 


Name_ 

Company_ 

Address _ 

City_State_Zip_ 

Phone_Ext_ 

Make and model of computer 

system_ 

□ C.O.D. (2500ADpays C.O.D. charges) 

□ VISA or MasterCard #, Exp. Date (mo./yr.) 


Signature 


TO ORDER. Simply circle the product or 
products you want in the price columns above, 
enter the subtotal at the bottom of that column 
and add up your total order. Don’t forget 
shipping/handling. 

Check one: 

□ 8" Single Density 

□ SW' Osborne 

□ IBM P.C. 

□ Cartridge Tape 

□ Apple (Softcard) 

□ KayproDSDD 

other formats available, please call! #211 


Total $_ 

shipping/handling 
($6.50 per unit, 

$20.00 per unit for 

Int'l. airmail) $_ 

Total Order $_ 

CP M is a registered trademark of Digital Research. Inc. 


25004 D93FM4 RE I f C 


17200 E. Ohio Drive, Aurora, CO 80017,303-752-4382 TELEX 752659/AD 


L: 































dBASEir&lir 

PROGRAMMERS 

*Why use dFLOW? 



‘NOVICE: 


Points out errors in coding technique and 
labels the precise location of their occurrence. 
INSTANT FEEDBACK provides the quickest 
path to improved technique. 


‘PROGRAMMER: 

dFLOW your sophisticated and/or 
lengthy source code and have hard-to- 
discover typos and logic mismatches 
uncovered in seconds. 


‘PROFESSIONAL: 

Free your time for billable and 
interesting projects by having 
dFLOW catch basic coding er¬ 
rors during system develop¬ 
ment. 


1 

* YOU WILL BE AMAZED AT THE SPEED 1 

AND PRECISION OF dFLOW 




PRICE $50: WALLSOFT SYSTEMS INC. 

233 Broadway, Suite 869 New York, NY 10279 


Phone: (212) 406-7026 


® REGISTERED TRADEMARK OF ASHTON • TATE 

CIRCLE NO. 164 ON READER SERVICE CARD 


RASM-86 

to find any use for the group name. 

It is accepted neither as an operand 
nor as a modifier. If the program¬ 
mer needs the segment address of 
the group, he must request the ad¬ 
dress of the first segment in the 
group. Finally, RASM requires the 
use of far jumps and calls between 
segments that have been grouped; 
the assembler does not take advan¬ 
tage of the grouping. MASM per¬ 
mits near jumps and calls between 
grouped segments. 

Macros and Conditionals 

There's no comparison between 
MASM and RASM-86 regarding 
macros and conditionals. RASM-86 
has only a limited conditional as¬ 
sembly capability, and does not sup¬ 
port traditional text macros at all. 

MASM's conditionals test the 
zero/nonzero value of an expres¬ 
sion, whether two symbols (usually 
macro parameters) are identical, 
whether a symbol is present or ab¬ 
sent (again, usually a parameter), 
whether a symbol is defined, and 
whether the assembler is currently 
executing pass 1 or pass 2. RASM-86 
provides only the first test. 

The absence of macros in 
RASM will not concern some 
people, but I use macros extensively 
and would disqualify RASM-86 
from consideration as a serious as¬ 
sembler on this point alone. Macros 
can provide program structuring; 
they can generate local variables on 
the stack so that subroutines can be 
made automatically reentrant; they 
can simplify repetitive sections of 
code ; above all, when they are used 
correctly, they can make programs 
more easily understood and main¬ 
tained. 

Figure 2 shows an example of 
MASM macro use. I would probably 
more easily understand the frag¬ 
ment in this figure six months after 
I wrote it than I would an extended 
series of register moves, interrupts, 
subroutine calls, compares, and con¬ 
ditional branches, no matter how 
well the code was commented. 


RASM-86 does, however, have a 
code-macro facility. Code-macros es¬ 
sentially allow the programmer to 
define 8088 instructions; the as¬ 
sembler uses code-macros internally 


Figure 2: Example of MASM 
Macro Use 


els 

locate 0,0 
.repeat 

read_char 
.if EOL 

print_result 

.else 

write_char 

parse 

.endif 
.until EOF 


to generate opcodes. This facility is 
interesting, but not very useful. As 
an example, the following code-ma¬ 
cro generates a MOV to the CS reg¬ 
ister, which is supposed to be illegal 
on the 8088: 

codemacro MOV dst:S(CS) , 
src:Ew 
segfix src 
db 8EH 

modrm dst,src 
EndM 

Briefly, the above series of di¬ 
rectives instructs the assembler to 
watch for any MOV instruction 
whose destination is the CS segment 
register. When it finds one, it will 
construct a multi-byte opcode, pre¬ 
fixed by a segment override if neces¬ 
sary. The first byte will be 8EH. 

The rest of the opcode is based on 
the nature of the operand: it will 
consist of the standard 8086/88 
ModRM byte, possibly followed by 
addressing bytes. Any of these state¬ 
ments can then be assembled: 

mov cs,ax 
mov cs,seg_ptr 
mov cs,es:6[bx+si] 

In fact, any type of move for 
which the DS register is a legal des- 


140 


?C Tech Journal 















































IBM PC USERS: 



ItiStQp 


TeamMate is breaking installation 
and performance records. 


productivity records for your IBM PC or compatible. Taking only minutes to install, 
we ve got all the competition beat. TeamMate requires no special software or format¬ 
ting diskettes. All you need is DOS 2.0! 

We have a variety of configurations to fill a variety of needs. Like the 
TeamMate 1110 add-in 10MB Winchester, with power consump¬ 
tion so low it can be safely installed in even fully configured PCs. 

Or try the TeamMate 1103 KODAK 3.3MB floppy add-in sub¬ 
system. Also software transparent, it gives you 2.78MB of 
rugged floppy storage- perfect for Winchester backup or 
as a low cost alternative to Winchester disks. Or get 
the advantages of both with our TeamMate 1213 
Winchester/Kodak floppy add-on combination. 

All at record prices. 

Even TeamMates customer support is fast. 

Should your subsystem need any service 
during the first 3 months of the 6-month 
warranty period, your dealer will be 
shipped a swapout unit within 
24 hours! 

Ask for TeamMate IBM and 
Apple subsystems at your local 
computer dealer. Or call us at 

(408) 496-0434. 


Mate 


TeamMate by Data Technology 

2775 Northwestern Parkway 
Santa Clara, CA 95051 
TEL: (408) 496-0434 
TWX: 910-338-2044 


Team* 


Mate 
















RASM-86 


Table 2: Comparative Assembly Times 



RASM-86 

MASM 

MASM/MACROS 

Empty file 

0:03.3 

0:03.7 

— 

4K 

0:16.5 

0:16.0 

0:23.0 

8K 

0:32.3 

0:49.9 

0:57.0 

16K 

0:35.1 

0:45.7 

0:48.0 

48K 

1:41.0 

2:33.7 

0:40.5 


tination can now be duplicated with 
CS. (Note: skeptics may want to try 
this out in DEBUG. Version 2.0 will 
actually assemble and execute 
moves to the CS register if it is 
asked to.) However, I do not recom¬ 
mend using CS moves in programs. 
This method works on current ver¬ 
sions of the 8088, but it is docu¬ 
mented as illegal, and it may not 
work on future versions of the chip. 

In any event, code-macros do 
not substitute for text macros. Code¬ 
macros do not allow the program¬ 
mer to do the same operations that 
he can do with text macros (nor, in 
fairness, are they intended to). The 
lack of a macro processor is a critical 
deficiency in RASM-86. 

Compatibility 

Knowing that significant differences 
exist between RASM-86 and 
MASM, no one should be surprised 
that RASM-86 will not correctly as¬ 
semble a program written for 
MASM. The actual scope of the 


task of converting a MASM file to 
assemble under RASM depends on 
the sophistication of the original 
file. A file containing macros, struc¬ 
tures and records, complex data dec¬ 
larations, and multiple ASSUME 
statements will require a good deal 
of work to convert. 

Aware that there would be er¬ 
rors, I tried to use RASM-86 to as¬ 
semble SDIR, John Chapman's pub¬ 
lic-domain sorted directory program. 
RASM flagged no fewer than 284 
errors in SDIR, a file of about 48K 
(half or more of which is made up 
of comments). On the other hand, a 
simple file (such as one written for 


IBM's "small" assembler, ASM, 
which lacks many of the same fea¬ 
tures missing in RASM) may be 
converted fairly painlessly, by 
changing the segment declarations, 
removing the PROC and ASSUME 
statements, and assembling. 

As a sample of the conversion 
task, I altered IBM's virtual disk de¬ 
vice driver (from the DOS 2.0 refer¬ 
ence manual, beginning on page 14- 
27) to assemble under RASM-86. 
The following steps were needed*. 

1. Convert macros to in-line 
code. 

2. Remove PROC/ENDP 
pairs. Restate the proc 



142 


CIRCLE NO. 119 ON READER SERVICE CARD 


PC Tech Journal 

















Introducing SNA Exchange: the direct, dial-up 
micro-to-mainframe connection. 

Plug the SNA Exchange™ board into any 
expansion slot in an IBM® PC, XT or PC-compat¬ 
ible computer, and you're talking mainframe. 
Your PC can reach out and touch any software 
application running in the SNA environment— 
IMS, CICS, TSO, SPF, VM/CMS. 

With SNA Exchange, a PC can emulate a 
3274 cluster controller (51C), a 3287 printer, and 
a 3278/9 terminal, with dial-up capability for 
synchronous communication with an IBM or 
IBM-compatible mainframe. SNA Exchange also 
lets an IBM PC emulate a 3777-1 Remote fob 
Entry Station, so you can upload and download 
files from an IBM mainframe and print files 
from the host computer. 

SNA Exchange gives you the additional 
power of multi-sessioning: you can connect 
concurrently to four different mainframe appli¬ 
cations and toggle back and forth, without 
logging on and off. 


The SNA Exchange system runs on an 
external modem, up to 4800 baud, using standard 
telephone lines, or a 9600 baud modem using 
a leased line. So you can easily establish the 
micro-to-mainframe connection from any 
telephone, anywhere. 

And the connection can also be immediate. 
SNA Exchange is available for delivery now! For 
more details about our SNA Exchange package 
or any of our other Exchange Series™ products— 
PC Exchange,™ PC Exchange with SNA, Bisync 
Exchange,™ ClusterNet™ 

3270 and our Coax Con¬ 
nect product, write or 
call: Intelligent Technol¬ 
ogies, 151 University 
Avenue, Palo Alto, CA 
94301, (415) 328-2411, 

(800) 523-8396. In the 
East call (212) 370-9244. 


:hange 



a Icgjca company 


© 1984 Intelligent Technologies International Corporation. SNA Exchange, Exchange Series, PC Exchange, Bisync Exchange, ClusterNet and Intelligent Technologies are 
trademarks of Intelligent Technologies International Corporation. IBM is a trademark of International Business Machines Corporation. 

CIRCLE NO. 178 ON READER SERVICE CARD 
















































REASONSTO 
SUBSCRIBE TO H 


Your subscription will bring you 26 big 
issues every year of the most up-to-date facts 
and technological breakthroughs that affect you 
and your IBM or compatible personal com¬ 
puter. 26 big issues of PC delivered to your door 
AT UNBELIEVABLE SAVINGS! 

Every other week you’ll get a library of 
professional insights including latest coverage 
of newly-released hardware and peripherals. 
You’ll find timely information on innovations in 

P rogramming, applications and networking. 

bull communicate with professionals and 
users like yourself and get reviews of new soft- 
packages, some before they even hit the 


SUBSCRIBE TO 


P.O. BOX 2443 • BOULDER, CO 80322 


YES, Please enter my subscription to PC for: 

□ 26 issues (one year) for only $29.97..:LESS THAN $1.16 A COPY! 

□ 52 issues for only $52.97...LESS THAN $1.02 A COPY! 

Full one-year subscription price $34.97. Single copy price $2.50. 

Mr./Mrs./Ms, 

Company_ 


please print name in full 


8H195 


ware packages, some belore they even hit the 
shelves. 

You can subscribe to PC , The Independ¬ 
ent Guide To IBM Personal Computers for as 
little as $1.02 an issue! Use the attached card or 
the coupon at right TO SUBSCRIBE TODAY! 

GET THE MOST UP-TO-DATE IN¬ 
FORMATION FOR YOU AND YOUR PC 
WITH PC, 26 TIMES A YEAR! 


Address. 




.K 

H 

E w 

Tho Independent Guide to ^ __ 

IBM Pcfjonjl Cnmpulcr. 

Mi 

FI 

A J PC Talks, 

A/ E.F. Hutton 

pfs: Meet A ' 

the Team 

Microsoft's i 

New Business Jl 

C 

L* 1 

Bi 

W 

w 

Listens 

F _ Three 

f C Mail List 
Managers 







































RASM-86 

names as regular labels. 
Change the RET statements 
in the FAR procs to RETF. 

3. Fix syntax of segment decla¬ 
ration. Remove ASSUMES. 

4. Fix DUP and "DW ?" 
statements. 

5. Alter the "DD -T' in the 
device header to two DWs. 

6. Change one LABEL state¬ 
ment to the // label: ,, con¬ 
struct. 

7. Change all LEAs to MOV/ 
OFFSET statements. (This 
should not have been neces¬ 
sary, but it was ; the LEA 
statements would not as¬ 
semble without error.) 

8. Change all references to 
labels in the IF statement 
from "label" to "offset 
label." 

9. Alter a few listing control 
statements. 

The virtual disk conversion was, no 
doubt, a fairly simple one. There 
were no records or structures, a few 
small macros, and one segment. 

Incidentally, even when the ob¬ 
vious changes are made in a conver¬ 
sion task, minor differences will 
still remain in syntax. For example, 
the MASM statements 

mov byte ptr es:[bx], 13 
mov [si + 6], al 

must be coded in RASM as 

mov esibyte ptr [bx], 13 
mov 6[si], al 

The issue of object module 
compatibility is more interesting. 
Obviously, code that is assembled/ 
linked with RASM is compatible 
with DOS; what I am speaking of 
here is the compatibility of RASM's 
unlinked OBJ files with the PC-DOS 
linker. The official word from DRI 
would make any New Englander 
proud: "Mebbe 'tis, mebbe 'tain't." 
Digital Research does not claim 
compatibility in that area, does not 
support the DOS linker, and is not 
responsible if RASM object files 
cannot be linked in that manner. 


The fact is that it usually works 
fine. Both linkers use Intel-type ob¬ 
ject module formats, and, in several 
weeks of testing, I created no file 
that the PC-DOS linker rejected (ex¬ 
cept as noted in the next paragraph). 
Furthermore, all of the files I tried 
executed properly. 

Certainly, that is not to say that 
it will always work. One potential 
problem lies in the area of identi¬ 
fiers. RASM identifiers are signifi¬ 
cant to 80 characters, and it is quite 
possible that LINK, expecting only 
31 characters, would choke on long 
identifiers. A few quick tests indi¬ 
cated that, in fact, LINK did not 
mind 40-character public symbols. 
However, it did fail (without com¬ 
ment) if there were two RASM 
identifiers that differed only after 
the first 31 characters. 

If it's possible to use PC-DOS's 
LINK on RASM-produced files, it 
makes sense that it would also be 
possible to use LINK-86 on MASM 
files, and, indeed, that appears to be 
true. Although I ran fewer tests in 
this direction, I had no difficulty 
linking MASM object files with the 
DRI linker. Again, however, there 
are potential problems. It is unclear, 
for example, what LINK-86 would 
do if it were to encounter one of 
MASM's MEMORY segments, since 
MEMORY is not one of RASM's 
segment types. 

The implication of this semi¬ 
compatibility is that it may well be 
possible to use RASM to produce 
small assembly language subrou¬ 
tines for compiled languages that 
produce Microsoft-style object files. 

I successfully linked a RASM-assem- 
bled subroutine with a C program 
written under Computer Innova¬ 
tions' C86 compiler. In view of 
RASM's potential for the production 
of simple programs or subroutines, 
this is good news. 

Perhaps more importantly, it 
should also be feasible to use the 
greater power of MASM in the pro¬ 
duction of assembly language mod¬ 
ules for the DRI languages. This 


My Programs Always 
Compile the FirsTime™ 

Yours can too! 

FirsTime is an intelligent editor that 
knows the rules of the language being 
programmed. It checks your statements 
as you enter them, and if it spots a mis¬ 
take, it identifies it. FirsTime then posi¬ 
tions the cursor over the error so you 
can correct it easily. FirsTime will iden¬ 
tify all syntax errors, undefined varia¬ 
bles, and even statements with mis¬ 
matched variable types. In fact, any 
program developed with the FirsTime 
editor will compile on the first try. 

Unprecedented 

FirsTime has many unique features 
found in no other editor. These powerful 
capabilities include a zoom command 
that allows you to examine the struc¬ 
ture of your program, automatic pro¬ 
gram formatting, and block transforms. 

If you wish, you can work even faster 
by automatically generating program 
structures with a single key-stroke. This 
feature is especially useful to those 
learning a new language, or to those 
who often switch between different 
languages. 

Other Features: Full screen editing, 
horizontal scrolling, function keys 
labeled on screen, help screens, inserts, 
deletes, appends, searches, and global 
replacing. 

Programmers enjoy using FirsTime, 
because its powerful features allow 
them to concentrate on the program 
logic without having to worry about cod¬ 
ing details. Debugging is reduced dram¬ 
atically, and deadlines are more easily 
met. 

The Spruce FirsTime editor is imme¬ 
diately available for PASCAL ($245) 
and C ($295) on the IBM Personal 
Computer and its compatibles. A dem¬ 
onstration disk is available for $25. (N.J. 
residents please add 6% sales tax.) 

For programs that compile the 
FirsTime. 


To order, call or send check to: 

Spruce 

Technology Corporation 

110 Whispering Pines Drive 
Lincroft, N.J. 07738 
(201) 741-8188 or (201) 663-0063 

Dealer enquiries welcome. Custom versions 
for computer manufacturers and language 
developers are available. 

FirstTime is a trademark of Spruce Technology 
Corporation. 


August 1984 


CIRCLE NO. 132 ON READER SERVICE CARD 











RASM-86 


would spare MASM owners the ex¬ 
pense of buying another assembler. 

Performance 

As I mentioned earlier, one of the 
factors contributing to the excite¬ 
ment that greeted the news of 
RASM's release was that it was sup¬ 
posed to be significantly faster than 
MASM. Indeed, RASM is somewhat 
faster, though perhaps not as much 
as had been hoped. 

Table 2 lists assembly times for 
five files ranging in size from a few 
bytes to about 48K. The "empty" 
file is a minimum assembly lan¬ 
guage file, consisting of a single 
END statement; this timing shows 
how long it takes simply to load and 
execute the two assemblers. The 
tests were conducted on a standard 
IBM PC with 512K of RAM and a 
Davong hard disk. The timings in¬ 
clude load time from the Davong. 
Both assemblers were instructed to 
create object files only—no listing, 
symbol, or cross-reference files. 


Obviously, since the assemblers 
are not source-compatible, the files 
used for comparison are not identi¬ 
cal; however, I attempted to make 
as few alterations as possible in con¬ 
verting. There are two MASM tim¬ 
ings for each file. The MACRO col¬ 
umn shows the timings for the files 
in their original condition, includ¬ 
ing all macros, and the MASM col¬ 
umn shows the timings for the files 
after all macros had been converted 
to in-line code. All other MASM 
code, such as structures and struc¬ 
ture references, remained intact. 

The timing information clearly 
shows that RASM's performance 
improves relative to MASM as the 
size of the file being assembled in¬ 
creases. For small files, there was 
very little difference; MASM was 
actually a little faster for a very 
small (3.5K) file. On the other end 
of the scale, RASM was much faster 
than MASM in assembling the 
largest file, the 48K SDIR program. 

I RASM completed the job in 1 min¬ 


ute, 41 seconds, whereas MASM 
took 3 minutes, 40 seconds. 

Bear in mind that the version of 
SDIR being tested makes fairly ex¬ 
tensive use of macros and struc¬ 
tures. As a result, it's readable, un¬ 
derstandable, and maintainable, 
even by someone who didn't write 
it. For example, I have no difficulty 
understanding what the SDIR code 
does. The same code, after conver¬ 
sion, was much less clear. If I were 
going to make any changes to the 
program, I would still use the origi¬ 
nal MASM version. The extra few 
minutes spent assembling are a 
small price to pay for a more signifi¬ 
cant (though unmeasurable) reduc¬ 
tion in coding and maintenance 
time. 

The Rest of the Tools 

As mentioned above, RASM-86 is 
one part of a DRI package called As¬ 
sembler Plus Tools, including the 
linker, an object librarian, a cross- 
referencer, and a debugger. 



NOW YOU CAN WORK 
IN C WITH ONLY 
BASIC KNOWLEDGE 



Enjoy the Best of Both Worlds 
with BASIC-C™! 


© 


Write or Call Collect 


OURCE 


C Source 
12801 Frost Rd. 

Kansas City, MO 64138 

816 - 353-8808 


Until now, IBM BASIC and C were about as far apart as apples 
and oranges — and if you wanted to move from BASIC to C, you 
had to go back to square one. Not anymore! 

There’s no denying that BASIC is a fine language: it has 
probably helped you learn a lot about programming computers. 
But now that you know how to program, isn’t it time to take the 
next step — to a language that was designed to help you quickly 
develop software that is fast, compact, and portable? 

BASIC.C can help you make the transition smoothly: it’s a 
library of C functions providing BASIC’s high level capabilities 
you’ve come to know so well. Functions for string handling, 
sequential "'and random i/o, graphics, and many more — all 
designed to look and work like BASIC. 

You get the source code to BASIC_C: extensively documented, 
it provides many examples to help you leam how to write C 
functions, and if a function doesn’t happen to suit your specific 
needs . . . change it! 

C Source provides a complete development package: the 
BASIC_C Library, a full screen editor, and a choice of three C 
compilers. Buy it all, or just the pieces you need. 


BASIC.C Library - source code.$175 

EC - full screen editor.$ 85 

BASIC.C & EC .$225 

BASIC.C & DeSmet C Compiler.$275 

BASIC.C & Computer Innovations C compiler.$475 

BASIC.C & Lattice C compiler.$550 

BASIC.C, DeSmet C Compiler, & EC. .$325 

BASIC.C, Computer Innovations C compiler, & EC.$525 

BASIC.C, Lattice C compiler, & EC.$600 


CIRCLE NO. 116 ON READER SERVICE CARD 



























Before Johann Sebastian Bach developed 
a new method of tuning, you had to 
change instruments practically every time 
you wanted to change keys.Very difficult. 

Before Avocet introduced its family of 
cross-assemblers, developing micro-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 


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 

Coming soon: XASM68K...68000 



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 organizations that use them. 
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. 

5V4” 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-configured 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. 


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

VISA and Mastercard accepted. All populai 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 JT 
SYSTEMS INC: 

DEPT. 884-PCT 
804 SOUTH STATE STREET 
DOVER, DELAWARE 19901 
302-734-0151 TELEX 467210 


CIRCLE NO. 110 ON READER SERVICE CARD 










































RASM-86 


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

r — Order Your Copy Today-* m 

I □ Rush me the brand new Westico 

I software directory. 

_ Name_ 

■ Firm_ 

| Address_ 

I City_State_Zip_ 

I Mail to: 

i WESTICO 

The Software Express Service™ 

I 25 Van Zant Street • Norwalk, CT 06855 


(203) 853-6880 • Telex 64-3788 

© Copyright 1984 Westico, Inc. WES-37. j 

CIRCLE NO. 169 ON READER SERVICE CARD 


LINK-86 performs the same 
function as does the standard DOS 
linker and has the same characteris¬ 
tics regarding compatibility. In 
some ways, LINK-86 has more flexi¬ 
bility than IBM's LINK; for ex¬ 
ample, the programmer can tell it to 
allocate an arbitrary number of ex¬ 
tra (unused) bytes to any segment. 
LINK-86 can be instructed to get its 
command input from a disk file, 
which reduces repetitive typing and 
permits long command strings that 
could not be entered directly. 

One slightly tricky feature of 
LINK-86 is the NOPREFIX option. 
The linker normally adds some pre¬ 
fix code at the beginning of the 
linked EXE file. According to DRI, 
the prefix code allows the linked 
program to behave as though it 
were running under CP/M-86. The 
prefix code is required for linking 
object modules created by DRLs 
compilers, but it is not needed for 
linking only RASM-86 modules. 

NOPREFIX suppresses the pre¬ 
fix code and produces a standard 
EXE file. The option must be used 
to convert the EXE file to COM 
format; because the prefix code con¬ 
tains segment references. 

As far as I could tell, LINK-86 
cannot create a high-loading code 
file,- RASM has no functions equiva¬ 
lent to the IBM linker's /HIGH and 
/DSALLOCATION switches. 

LIB-86 is an object code librar¬ 
ian. That is, it permits object mod¬ 
ules to be separately assembled and 
placed into a library file for future 
use during the link process. For ex¬ 
ample, a CLS procedure to clear the 
screen might be created, assembled, 
and placed into a library. CLS could 
then be declared as an external label 
in any RASM source file, and the 
linker will extract the module from 
the library when it is needed. 

The advantage to using object 
libraries is that the programmer can 
avoid cluttering up disk storage 
with too many small modules, thus 
simplifying disk maintenance and 
I reducing wasted space. PC-DOS does 


not provide a librarian (although, 
oddly, MS-DOS does). LIB-86 is rea¬ 
sonably easy to use and appears to 
perform well. Unfortunately, no 
source librarian is provided. 

XREF-86 is an assembly lan¬ 
guage cross referencer. It reads a list 
file and its associated symbol file 
(both of which are created by the 
assembler) and creates a duplicate of 
the list file, with each line of source 
code prefixed by a line number. It 
then appends a symbol cross-refer¬ 
ence listing to the end of the file; 
the cross reference lists all symbols 
and indicates where they are de¬ 
fined and/or referenced. XREF-86 is 
similar to IBM's CREF program. 

The final part of the Assembler 
Plus Tools package is the debugger, 
SID-86. In many ways, SID is simi¬ 
lar to PC-DOS's DEBUG, but it has 
one major advantage: SID can read 
the symbol file created by LINK-86 
and use the symbols contained 
therein. Thus, during a SID-86 run, 
the programmer can refer to vari¬ 
ables and labels by name, rather 
than having to use the listings and 
symbol files directly. Symbols also 
appear in the disassembly: 

GET_INPUT: 
xxxx:0100 CALL 01C6 
.GETJKEY 

xxxx:0103 MOV 0017, AX 
.INCHAR 

xxxx:0106 LOOP 0100 
GET INPUT 

Using symbols lessens the pain of 
the debugging process considerably. 
SID and DEBUG are both com¬ 
mand-driven debuggers, but the 
commands are just different enough 
to be confusing. SID seems to have 
all the functions DEBUG does, plus 
a few more (decimal data entry, di¬ 
rect creation of an input command 
tail, fancier breakpoints, tracing 
with calls executed in full, etc.). 

One curious omission is that RASM- 
86 supports 8087 mnemonics, but 
SID does not. Although DRI would 
not officially confirm our infor¬ 
mation, industry sources say that 

PC Tech Journal 





















^re^ e ' . *he . 









It's a headache, of sorts. 


W hether your mailing list, account¬ 
ing package, DBMS, or other end- 
user application is currently under 
development or already on the market, 
you've probably discovered that ex¬ 
ternal sorting can be a difficult, costly, 
and time-consuming headache. Es¬ 
pecially in today's floppy-disk storage 
environment. 

T hat's why we developed 

BEAMSORT™ the revolutionary in- 
place OEM sorting module. The older 
algorithms eat up valuable space on 
your user's often over-crowded disk¬ 
ettes. By installing BEAMSORT™ 
you get today's tech¬ 
nology at a fraction 
of it's true devel¬ 
opment cost, 
and you've got 
one less problem 
to worry about. 


B EAMSORT™runs under CP/M-80*, 
CP/M-86*, MS-DOS,* andPC-DOS, 
supports multiple-volume files, ASCII, 
Microsoft .RAN, and dBASE II* .DBF 
file formats, and interfaces to all major 
languages. Custom interfacing, operat¬ 
ing environments, and file formats 
are available. 

W hat about performance? 

BEAMSORT™ runs SuperSort*'s 
own benchmark faster than SuperSort* 
does! It's amazing, but don't take our 
word for it. Write us on your company 
letterhead for our OEM evaluation kit 
You must see this for yourself! 


For fast relief. 




*CPM, MS-DOS, dBase 11 and SuperSort are trademarks of Digital 
Research, Microsoft, Ashton-Tate, and Micropro, respectively. 


Phlexible Data Systems, Inc. 

3017 Bateman Street, Berkeley, CA 94705 
(415) 540-7181 


CIRCLE NO. 271 ON READER SERVICE CARD 



SYMD 

SYMBOLIC-DEBUGGER 


Faster, 
easier and 
more productive 

SYMD—the unique new 
programming aid for PC- 
DOS™ and MS-DOS™ 

systems—dramatically 
reduces the time and 
effort needed to identify 
and correct programming 
errors. SYMD simplifies 
debugging by utilizing 
source code symbols and 
line numbers wherever 

tmmS-DOS is a trademark of Microsoft Corporation. 


an address or offset is 
required. Symbols are 
easier to remember , more 
efficient to use. SYMD 
also lets you: Examine 
and/or change real 
number data; assign per¬ 
manent or temporary 
breakpoints, including 
pass counts to control 
looping; check instruction 
execution sequences with 
backtrace commands; use 
profiling commands to 
identify the most active 


parts of a program. And 
much more. SYMD can 
be used with compiler 
or assembly language 
programs. System 
requirements: PC-DOS 
or MS-DOS 1.1 or 2.0; 
192K recommended; 
80-column display. 

SYMD is introductory 
priced at only $90. Free 
literature on request. 
VISA or MasterCard 
accepted. 


tmpc-DOS is a trademark of the IBM Corporation. 


D+Vs 


RASM-86 


the company is planning to include 
8087 support in a future release. 

My only real complaint about 
SID-86 is that the trace (single-step) 
display shows the machine state 
prior to the most recently executed 
instruction: in other words, the pro¬ 
grammer cannot see the results of a 
traced instruction until after he has 
traced the next instruction. 

Conclusion 

A few months ago, during a Compu¬ 
Serve on-line conference on IBM's 
MASM, a frustrated newcomer to 
PC assembly language programming 
wailed, "Isn't there any way to just 
ORG and go? Why do I have to AS¬ 
SUME and SEGMENT and PROC 
and all that stuff?" 

ORG and go. Well, if that's 
what you want, maybe DRI's 
RASM-86 will be just your cup of 
tea. But I keep thinking back to the 
response given the CompuServe 
newcomer: the reason that MASM 
is a little more complex than a Z80 
assembler is that the chip it creates 
programs for is a lot more complex. 
MASM's role in life is to let the 
programmer take advantage of the 
flexibility of the PC's brain. 

The price for RASM's relative 
simplicity is loss of control over the 
CPU; the price for RASM's small¬ 
ness is loss of flexibility in manipu¬ 
lating the objects that are created. If 
you don't need those functions, 
RASM may be a good choice for 
you. As for me, I'm sticking with 
IBM's Macro Assembler. i |m ^J 

RASM-86 

Digital Research, Inc. 

160 Central, P.O. Box 579 
Pacific Grove, CA 93950 
408-649-3896 

CIRCLE 458 ON READER SERVICE CARD 


r Systems 

400 Amherst Street Nashua, NH 03063 (603) 881-7140 


150 


CIRCLE NO. 131 ON READER SERVICE CARD 


PC Tech Journal 
































NOW AVAILABLE— 

THE MASTER 
DIRECTORY 
OF PRODUCTS 
FOR YOUR 

- pc 


Nearly 400 pages of the most current listings 
and information for IBM PC, PC XT, PCjr and compatible hardware, 
software, accessories and services—from the publishers of PC. 


YOUR PRIMARY REFERENCE... 

organizing over 4,000 products and 1,500 vendors, services, 
and support systems in one comprehensive, easy-to-use 
guide. PC: THE BUYERS GUIDE is the quickest and most 
reliable way to locate exactly what you need to expand the 
usefulness of your personal computer. 

Because it's published quarterly in May, August, No¬ 
vember and February, PC: THE BUYERS GUIDE is the most 
up-to-date guide of its kind, accurately describing each 
product and its function and cost. Find out what level of skill 
is required to get the most from the product and everything is 
logically categorized and indexed with cross-references so 
you won't miss one listing! 


GET MORE FROM YOUR PC 

The documentation you received from IBM is only the be¬ 
ginning. Finding the right hardware and software is whal 
really makes the difference in how effectively your IBM or 
compatible PC performs—that's why you need PC: THE 
BUYERS GUIDE! You’ll also find detailed listings for the 
following important services and accessories: 

User Groups 
Insurance Services 
Professional Societies 
Retail Clubs 
Computer Groups 
Maintenance services 


Consultants 
On-line Bulletin Board 
Databases 
Furniture 

Retail and Mail Order Outlets 
Literature 


AND MUCH MORE! 


Be sure to order your copy of PC: THE BUYERS GUIDE 
today—fill out the coupon and mail it now! 

PHONE TOLL FREE 9 am-5 pm EST: 

1-800-526-0790 
(In New Jersey 201-540-0445) 

ALSO AVAILABLE AT YOUR LOCAL NEWSSTAND 
AND COMPUTER STORE 



CN1914, Morristown, NJ 07960 


Please send me PC: THE BUYERS GUIDE. Enclosed is $9.50 
($7.95* per copy, plus $1.55 each for postage and handling.) 
($11.00 outside USA, send US funds only). ^Residents of CA, 
CO, CT, DC, FL, IL, MA, Ml, MO, NJ and NY State add 
applicable sales tax. 

Charge My: 


| Q American Express 

| | Visa Q MasterCard 


CARD NO. 


EXP. DATE 

MR./MRS./MS. 

print full name 


ADDRESS 1 

j CITY/STATE/ZIP 


J 



























"I just found the 
ideal solution to 
my telecomputing 
problems. And it’s 
right here inside my 
IBM® PC. Plus I got a 
free bonus to boot!” 


Hayes 

Smartmodem 1200B™ and 
Smartcom II™ software. 

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

IIIIMMMMIMIMML 

Looking forjust 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, convenient plug-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, 
data bases and information services 
throughout North 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 NO. 158 ON READER SERVICE 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, TeleVideo Systems. Inc., Columbia Data 
Products. Inc., and Direct. Inc. 

CompuServe Information Service is a registered 
trademark of CompuServe. Inc., an H&R Block Company. 

Dow Jones News/Retrieval is a registered trademark 
of Dow Jones & 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 Microcomputer Products, Inc. 


Smartcom II stores frequently called 
numbers and parameters for lengthy 
log-on sequences. So calling another 
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 
Direct IPC1000* 

Free introductory subscriptions. 

Free access time. 


And we’ll also send you a compli¬ 
mentary copy of Free Software for 
the IBM PC, a practical resource book 
that tells you how to access and 
download more than 600 varied soft¬ 
ware programs to your PC, with the 
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! 
And plug in to the exciting world of 
telecomputing. With Smartmodem 
1200B and Smartcom II. A smart buy 
for your IBM PC or PC compatible! 



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/Retrievalf and THE SOURCE, SM 
AMERICA'S INFORMATION 
UTILITY. SM A value of up to $200, free! 

Act now through August 31! 

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. 


To 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 ancfmail direct to Hayes with your Product 
Registration Card (inside your Smartmodem 1200B and Smartcom II package). 


Name 

I 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 ffeesubscriptlon 
plus $15 worth of free connect time. 
















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

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

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

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

Quartermaster 23—$995 

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


all this for just $43 per megabyte. 

Complete and ready-to-use 

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

Our line is expansive, not expensive 

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

Available at leading dealers everywhere 


COMPUTER PERIPHERALS, INC. 

We live up to our first name 

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


CIRCLE NO. 122 ON READER SERVICE CARD 
™IBM PC is a trademark of International Business Machines Corporation. 
"Superior (10 through 140), Quartermaster 23, and,Selecta-File are trademarks of 
Great Lakes Computer Peripherals, Inc. 

"CP/M 86 is a trademark of Digital Research, Inc. 












. THE 
, BETTER TO 
. COMMUNICATE 

WITH 

V V 1 1 1 Depending upon the prescribed use, either of these 

IBM communications packages could outperform the other 


Among communications products on the software shelves today are two from IBM-one works well for mainframe 
communications but not so well for general or personal use ; the other fills in the gap for general or personal use 
and is especially well-suited to electronic mail functions. The first product is an updated version of IBM's Asyn¬ 
chronous Communications Support package (ACS). The second is Microcom's Personal Communications Manager 
(PCM) draped in the wraps and banner of IBM. 

Asynchronous Communications Support was one of the first communications packages available for the PC. 
ACS was and is basically a dumb terminal emulator with some capabilities added to permit file transfers with IBM 
host machines.The Personal Communications Manager is a neat package designed to whisk the user and his PC 
into the age of the electronic, or paperless, office. PCM handles several types of mail electronically in unattended 
send/receive operation and even has a terminal emulation mode. 

Both of these programs were tested for the following review on a variety of machines in the PC family, talking 
to each other and to a range of other host machines. 


Augie Hansen is a programmer for a major telecommunications company. His interests include commercial and amateur radio communications 

He is the author of Chrome Ranger, an arcade game for the IBM PC that is published by Omniware. 


August 1984 


155 



























Communications 


Feature Description 

Status 

Comments 

Terminal selection 

Dow Jones/The Source 

new 

Added to top-level menu 
selections 

User-specified 

revised 

Combines user-specified 
full- and half-duplex entries 

Terminal session printing 

new 

<F7> toggles ON/OFF 

Data capture to file 

new 

<F8> toggles ON/OFF 

General purpose file transfer 
protocols 

new 

XON/OFF control flow 


new 

Prompted (CR) 

COM2 support 

new 

Option in set-up file 

Control character filtering 

new 

Up to 4 and sets 

HELP menu in terminal mode 

new 

Invoke with <F10> 

File format conversion 

new 

Binary-ASCII & back 


Table 1: Summary of New and Revised Features of ACS 2.0 


Asynchronous 
Communications 
Support, Version 2.0 

IBM's first attempt at communi¬ 
cations software for the PC did rea¬ 
sonably well in the marketplace, 
largely because of a dearth of com¬ 
petition. The ACS package worked 
well with IBM host systems, but it 
offered little except dumb-terminal 
features for users of bulletin boards 
and other mainframe and minicom¬ 
puter operating systems. 

Its strongest following appears 
to be in the business community, in 
which literally tons of IBM main¬ 
frame equipment hold down little 
squares of raised flooring in flass 
and steel structures around the 
globe. Most communicators of the 
shirtsleeves bulletin-board crowd, 
on the other hand, prefer PC-TALK 
and other such programs that were 
designed for that environment. 

ACS's version 2.0 is an improve¬ 
ment over its predecessor. It is still 
completely menu driven, which dis¬ 
appoints those who ascribe to the 
command-oriented approach, but it's 
a serviceable product. Several defi¬ 
ciencies of the original product have 
been rectified (destructive backspace 
works now) and some new features 
have been added. Table 1 is a sum¬ 
mary of new and revised ACS fea¬ 
tures. Additions include a much- 
needed help feature, support for a 
second serial adapter card in case 
the first is committed to some other 
task, and control character filtering. 
In addition, ACS now has more of a 
general-purpose file transfer capabil¬ 
ity and the ability to capture data to 
a printer and to disk. 

Like its predecessor, the new 
version of ACS is not copy protected 
and may be run on virtually any 
IBM PC or clone having at least 64K 
RAM, a floppy or hard disk drive, 
either an async port card and mo¬ 
dem or an internal modem, and ei¬ 
ther a 40- or an 80-column display. 

IBM has added displays of the 
default values of the communica¬ 
tions parameters to the terminal fea¬ 


ture menu (see figure 1) so the user 
doesn't have to make unnecessary 
menu selections just to find out the 
current settings. The procedure 
would have been even easier, how¬ 
ever, had IBM put the three items 
that don't change from one terminal 
menu to the next, such as 1-3, in 
the same location. Then, the user 
would not have to press 13 to start 
one "type" and 3 to start some other 
"type." The quotes are used because 
the terminal feature files do not re¬ 
ally define terminal types. Rather, 
they simply set the basic communi¬ 
cations parameters for the particular 
host environment in question. 

One of the choices offered for 
terminal descriptions is which con¬ 
trol characters to delete upon re¬ 
ceipt. Figure 2 shows the menu/ 
work screen that is used to select 
the first control character to delete. 
The user can select up to four, with 
any one of the selections being all 
of the unused control characters 
(those that are not used for normal 
screen and printer formatting). 

File Transfers 

Version 1.0 of Asynchronous Com¬ 
munications Support allowed files to 
be transferred between IBM PCs and 
between the PC and IBM main¬ 
frame hosts running MVS/TSO and 


VM/370 operating systems, if the 
needed line-oriented editors were 
available. Version 2.0 adds support 
for sending files to remote systems 
using either XON/XOFF flow con¬ 
trol or prompting with a carriage- 
return character. This function is 
called file sending. Files may be re¬ 
ceived in unattended auto-answer 
mode using the file writing func¬ 
tion. The user can name only one 
file that will receive transferred 
data, whether the data consist of 
one character or a hundred files. 

The individual files must be ex¬ 
tracted at a later time. 

A file conversion program ena¬ 
bles the user to send and receive bi¬ 
nary files as ASCII text files. The 
process makes a file to be sent swell 
to twice its original size and doubles 
the transmission time compared to 
an ASCII file of the same original 
size. Even worse, to send a binary 
file the user must leave ACS to use 
the separate FILECONV program, 
then go back into ACS to use the 
file transfer function. The proce¬ 
dure is reversed for receiving a file. 
That is the price for ACS's use of 
seven data bits instead of eight. Fur¬ 
thermore, if the user is in the file¬ 
writing mode and is sent an uncon¬ 
verted binary file, the editor may be 
unable to sort the file's contents. 


156 


PC Tech Journal 














Terminal Feature Menu 
Choose-* 


1 

2 

3 

4 

5 

6 
7 


Line Bit Bate [388J 
Type of Parity Checking [Mark] 

Number of Stop Bits [One Bit! 

XON/XOFF Support [Present] 

Line Turnaround Char Sent to Host [CR3 
Local or Host Character Echoing [Local] 
First Character to be Deleted [None] 

8 Second Character to be Deleted [None! 

9 Third Character to be Deleted [None] 

18 Fourth Character to be Deleted [None] 

11 Line End Character Sent by Host [CR] 

12 Communications Adapter Address [1] 

13 Start Up Selected Terminal 

14 Save This Terminal Specification 

15 Return to Terminal Selection Menu 


Type number and press Enter 


Figure 1: ACS Terminal Feature Menu 


First Character to be Deleted 
Choose; 1 


** 1 No Character Specified 

2 Carriage Return (HEX 8D) 

3 Linefeed (HEX 8A) 

4 Bell (HEX 87) 

5 XON (HEX 11) 

6 XOFF (HEX 13) 

7 Escape (HEX IB) 

8 Tab (HEX 89) 

9 Backspace (HEX 88) 

18 All Unused Control Characters 
** Indicates current default 


Type number and press Enter 


Figure 2: Selective Deletion of Received 
Characters in ACS 


Data Capture 

ACS version 2.0 allows the user to 
record what he receives either to a 
printer or to a disk. IBM calls these 
functions terminal session printing 
and writing of host output to a file. 
Most communications programs call 
the process of writing to a file (or to 
memory) data capture, but IBM, as 
usual, takes its own course. 

What does the user do if he 
cannot remember—or never 
learned—the command to start data 
capture to disk? Figure 3 shows an 
interactive session in progress and 
illustrates the effect of pressing the 
F10 key to get on-screen help, a fea¬ 
ture that was not available in the 
earlier version of the program. 

The F7 and F8 keys toggle data 
capture to the printer and disk, re¬ 
spectively. The printing and disk 
writing functions may be run si¬ 
multaneously. If the host computer 
recognizes and responds quickly to 
the XON/XOFF control codes, no 
data will be lost. If the response is 
too slow, the data can be captured to 
disk only and printed out later. 

The ACS package interacts well 
with IBM mainframe computers 
and other IBM PCs and work-alikes. 
The mainframe connection appears 
to be the primary reason that ver¬ 
sion 2.0 is selling well. File transfers 


and general system interactions in 
these environments are smooth and 
essentially trouble-free. 

In other environments, how¬ 
ever, ACS provides little or no help 
with any task requiring more than a 
simple dumb-terminal interface. 

The XMODEM protocol, because of 
its wide acceptance in the micro¬ 
computer world, would have been a 
welcome addition to ACS to en¬ 
hance its use in transferring files to 
and from bulletin boards and other 
such systems. The flow control and 
prompted techniques incorporated 
into version 2.0 are a step in the 
right direction but represent only a 
partial solution to the general prob¬ 
lem of file transfers. 

Another much-needed feature 
is a dialing directory. This would 
avoid the manual repetition of tasks 
such as finding a telephone number 
and keying it in each time a call is 
started, which is especially annoy¬ 
ing if the call is to a busy system. 

Regardless of the host environ¬ 
ment involved, perhaps the most 
troublesome aspect of ACS is its 
poor user interface. In a word, it is 
tedious. Menus have a place, espe¬ 
cially for the novice or infrequent 
user of a program, but they really 
slow down and irritate even moder¬ 
ately experienced users. Programs 


should provide a method to bypass 
certain steps if the user knows what 
to do without getting screens full of 
instructions and help messages. 

ACS prevents accidental data 
loss in download situations by offer¬ 
ing the options of exiting the func¬ 
tion (E), appending to the named re¬ 
ceiving file (A), or overwriting it 
(O). The product, however, does not 
have a directory-listing display of 
disks that can be used to find out 
the name of a file to send. The user 
must guess what's on the disks. 

There is a way to get a direc¬ 
tory listing, although it's undocu¬ 
mented: quit the program by typing 
Ctrl-Break (type it twice if neces¬ 
sary) and use the FILES command in 
the BASIC interpreter to get the 
directory listing, then type CONT 
to return to the ACS program. De¬ 
pending on where the user was 
within ACS when he broke out, he 
may have to hit ENTER a couple of 
times to restart the program. 

A few additional complaints: 
the program is slow to load, even 
when the TERMINAL.BAS file is 
in the tokenized storage format; the 
screen displays of incoming data are 
jerky because of the method used to 
display data from the receiving buf¬ 
fer,- and the program will not allow 
the line to be disconnected until the 


August 1984 


157 












Communications 


When operating as a terminal- use function keys as follows: 


FI Attention (Break) sent to host 
F3 Clear (Display next) error message 
F5 Switch to SEND state (Ufl/370 only) 
F7 Turn OH/OFF printer function (OFF! 
F9 Unused F18 This HELP Menu 


You are back as a terminal 


F2 Access Function Selection Menu 
F4 Turn OH/OFF receive errors t OFF I 
F6 Turn OH/OFF hex listing [OFF] 

F8 Turn ON/OFF file writing [0FF3 
[ON or 0FF1 indicates current status. 


Personal Comiunications Manager 


1. Enter Terminal Emulator 

2. Enter Electronic Mail 

3. Edit File 

4. Reconfigure 

5. Exit Program 


F?<PRINT> F8<FILEWRITE) F18<H£LP> 


Htke selection (1-5): IJ 


Figure 3: ACS Help Display During Terminal Session 


Figure 4: PCM Top-level Menu 


other end drops off—the modem 
must be turned off, which is not 
convenient with built-ins. The dis¬ 
connect problem occurs with sys¬ 
tems, such as UNIX, that wait for 
another user to log in on a terminal 
just vacated by someone else. 


Personal 

Communications 

Manager 

PCM consists of several modules, 
some written in assembly language 
and some in compiled BASIC. The 
file PCM.COM calls the main pro¬ 


gram, MCI.EXE (which contains 
the top-level menu and the code for 
terminal emulation, configuration, 
and linkages), to the selected editor 
and to the electronic mail module. 
PCM is not copy protected, so neces¬ 
sary back-ups can be made and in- 


GAME BOOKS 

FROM CREATIVE COMPUTING 

BASIC COMPUTER GAMES, Microcomputer Edition, edited by 
i David H. Ahl. Here’s a great collection of 101 fascinating games, all 

I - written in easy-to-use Microsoft BASIC. Play Craps, Combat, Super 

Star Trek, Lunar LEM Rocket, Gomoko, Checkers, Boxing, Bowling- 
and 93 others! With an introduction, notes on Microsoft BASIC, and 
conversion instructions for other BASICs. S'/*" x 11", softcover illus¬ 
trated, with an index, 183 pp. $7.95 ($1.50). #6C 
MORE BASIC COMPUTER GAMES, edited by David H. Ahl and 
Steve North. In this sequel to Basic Computer Games you’ll find 84 
challenging new games, complete with sample runs, program list¬ 
ings and illustrations. All run in Microsoft BASIC. Race your Ferrari, 
become a millionaire, joust with a knight, crack a safe, and more! 
Conversion table to other BASICs included. SV" x 11", softcover, 
illustrated, 200 pp. $7.95 ($1.50) #6C2 
TRS-80 Microcomputer Edition, $7.95 ($1.50). #6C4 

TRS-80 is a registered trademark of the Radio Shack Division of Tandy Corp. 



CREATIVE COMPUTING PRESS ^^Pkfnsl NJ07950 n ° Ver ^ 

Send me the books listed below: 


ITEM 

NO. 


PRICE 

EACH 


P&H* 

( ) 


CA NJ and NY residents add applicable sales tax 


Outside USA add S3 to regular postage and handling per order. 
CHECK ONE: PAYMENT ENCLOSED $_ 


TOTAL AMOUNT 


□ CHARGE MY: □ American Express Q MasterCard □ Visa 


(Charge and phone orders: $10 minimumj 


Card No_ 

Mr./Mrs./Ms,. 

Address_ 

City. 


_Exp. Date_ 


(please print full name) 


Apt. 


State 


—Zip— 


For faster service CALL TOLL FREE: 800-631-8112. (In NJ call 201-540-0445) 


COKP1ETE 


YOHICI 

LIBRARY 


OF 


TECH 

JOURNAL 



Add to your PC TECH JOURNAL collection today. Make your 
personal library complete and authoritative with any issues 
you may be missing. 

Copies are available for issues published during the last 
twelve months—be sure to specify the issues you want. If a 
particular issue is out of stock, your payment will be refunded 
promptly. 

Back issues of PC TECH JOURNAL are priced at $7.00 
each, postpaid. Outside USA, $8.00 each. 


PC TECH JOURNAL 

CN 1914, Morristown, NJ 07960 

Please send issues of PC TECH JOURNAL listed below: 


MCBI 


J 

Issue 

Qty. 

Unit Price 

Total Price 






: 

' 










Payment Enclosed 

$ 





Mr./Mrs./Ms._ 
Address- 


(print full name) 


L_ 


City/State/Zip_ 

































































Drowning 
a sea of 
sohi 

Help's within 
reach... 


Applications backlog. Technology blur. Mounting user 
essures. Staying abreast of changing prices. A tidal wave of 
oblems! 

Even if some answers are available, you have to go to too 
any sources and sift through so much information, there’s not 
tough time to locate the solutions to your immediate and most 
Lportant problems. 

Well, help IS within easy reach—in the form of an informa- 
•n system that displays all your current software, hardware and 
mmunications options for instant reference. 

That system is DATA SOURCES, and you’re invited to make 
work for you. Simply fill in the coupon and we’ll send you DATA 
)URCES’ 4 quarterly editions at 33% off their regular price. 

What DATA SOURCES does is organize your options. It 
arantees that you've considered all relevant products by guid- 
j you to those with the best possibility of success. 

DATA SOURCES is a conveniently sized, extremely well- 
ganized and skillfully indexed 2-volume reference...maintained 
a data-base, constantly updated and published quarterly 

)U GET... 

UUDWARE —Over 16,000 products from Micros to Mainframes 
:ludingperipherals—terminals, printers, memory devices, etc. 
rganized by systems compatibility 


•FTWARE— The largest available inventory of 18,000 business 
ckages for micros, minis, and mainframes including operating 
items, utilities, and application packages. 



COMMUNICATIONS EQUIPMENT— From modems and multi¬ 
plexors to local networks, carriers and services, plus all diagnos¬ 
tic and test equipment. 

SERVICES, SUPPLIER, SUPPORT —Most complete organized list¬ 
ing of suppliers from installation design to maintenance and data 
center operations—over 8,000 companies. 


NEW FEATURES... 

^ Software Index—by package name. 

^ Quick-reference product comparison charts. 
v 0 Before-you-buy selection criteria and checklist. 
^ Product Hotline—the very latest information on 
products announced between issues of 
Data Sources. 


ORDER NOW AND SAVE $60 

Rush me the latest two-volume edition of DATA SOURCES 
It.o: and enter my subscription at $120.00 for 4 quarterly edi¬ 
tions. I save a full 33% off the regular price of $180. 

Name_ 

Title__ 

Company_ 

Address___ 


City_State_Zip_ 

Telephone_ 

Nature of Company’s Business_ 

Please check appropriate box: □ END USER □ VAR/OEM 
□ DISTRIBUTOR □ DP MFG □ OTHER_ 


An information product of Ziff-Davis Publishing Company Satisfaction 

“ d 1-800-227-1617 

EXT. 251 

(InCa., 1-800-772-3545 Ext. 251) 

T301 

EO. Box 5845, Cherry Hill, N.J. 08034. 

Residents of Ca., Co., Ct.. D.C., FI., II., Ma., Mi., Mo., N.J., N.Y, Vt., please add applicable state taxes. 


SAVE TIME...CALL DIRECT 

Return coupon to: 


CIRCLE NO. 202 ON READER SERVICE CARD 





















The first newspaper designed to give top 
level management the latest IBM Personal 
Computer news and analyses—up to 
2 months faster than any monthly publication. 


Finally, a newspaper that keeps up 
with the rapidly-changing develop¬ 
ments in the IBM Personal Com¬ 
puter marketplace for today’s busy 
executive. PC WEEK is the first 
and only weekly newspaper to 
offer the news of a tabloid and the 
features and analyses of a monthly 
publication. Which means you get 
the news you need to make impor¬ 
tant business decisions ... up to 
2 months faster than any other 
publication. 

PC WEEK delivers the latest 
breaking stories—as they develop. 
Unlike monthly magazines, which 
require almost 2 months lead time 
to publish a story, PC WEEK fol¬ 
lows and reports the news up to 48 
hours before publication. So you 
learn what’s new when it’s new. 

PC WEEK updates the research, 
analyzes the strategies, reviews 
the hardware and software re¬ 
leases, offers insights on future 
industry concerns, relates the 
timely information you need to help 


make you more productive. 

Here are just some of the fea¬ 
tures and departments you’ll get 
each and every week in PC WEEK... 

• News: PC WEEK brings you 
analytical reports on the major 
topics of the day. Trends are 
analyzed, product announce¬ 
ments and company changes 
put into perspective. 

• Strategies: Each week, you get 
an in-depth profile of a leading 
user company and how it han¬ 
dles the Personal Computer. 
Case studies tell why an appli¬ 
cation succeeded or failed. 

• Software Review: What pack¬ 
ages are right for you PC 
WEEK compares and analyzes 
important releases.. .tellsyou 
how to use them effectively. 

• Hardware Survey: A business- 
oriented buyer’s guide and 


rrm 
i i j r 

LMi 


WEEK 


a product directory detail 
the features of product clas¬ 
sification and give you the 
technical and financial con¬ 
siderations involved. 

• DataComm Lines: How to com¬ 
municate with other Personal 
Computers ... without the jar¬ 
gon ... without the confusion. 

• Data Base Report: We’ll exam¬ 
ine outside data bases, such 
as the Dow Jones News Re¬ 
trieval Service, and tell you 
how to access them to in¬ 
crease your efficiency. 

Now, you won't have to wait for 
the news you need. You can get it 
first. . . with PC WEEK. 

All this and more is yours in 
each issue of PC WEEK. Best of 
all, your subscription is compli¬ 
mentary, if you qualify. So take a 
moment to complete and mail the 
qualification form at the right. 


Because you need fast-breaking news as it breaks. 

Ziff-Davis Publishing Company, 381 Elliot Street, Newton, MA 02164 617-965-8850 


































Communications 

stalled on any IBM PC-compatible 
system with at least 128K of RAM 
and one of the following minimum 
disk configurations: 

• two single-sided disk drives 

• one or two double-sided 
disk drives 

• one fixed-disk drive and one 
disk drive. 

Each original of the program 
bears a serial number. Copies of the 
same PCM program diskette are pre¬ 
vented from talking to each other to 
gain some measure of protection 
against software pirates. PCM oper¬ 
ates in the PC-DOS 2.1 environment 
so that it may work on all current 
IBM PCs, including PC/r. The neces¬ 
sary DOS 2.1 files are included with 
the package. Set-up files that take 
care of the picky details are also in¬ 
cluded for each of the supported 
configurations. No problems were 
encountered in setting up PCM for 
three different versions of the PC 
and one work-alike. A communica- 


Electronic mail 

1. Send/Receive mail 

Send/Receive work mail screen 
Send/Receive status display 

2. Review/Address outgoing Mail 

1. Address mail 

1. Address message to 
mailbox 

2. Address message to list 

3. Address message to phone 
number 

4. Address data to mailbox 

5. Address data to list 

6. Address data to phone 
number 

7. Display directory (disk) 

2. Review log 

3. Print log 

4. Print mail 

5. Retry mail not sent 

6. Delete mail already sent 

7. Delete all mail 

3. Review incoming mail 

1. Review log 

2. Print log 

3. Print text 

4. Delete all mail 

4. Address book maintenance 

1. Mailbox maintenance 

2. List maintenance 

3. Display mailboxes 

4. Display lists 

5. Print address book 


Table 2 : PCM Electronic Mail- 
Hierarchy of Menus and 
Work Screens 


MORE 

POWER... 

MORE 
SPEED... 



C86, The Leading C Compiler For PC-DOS, 
MS-DOS Systems Is Better Than Ever. 

The latest release of C86 has the features that serious 

programmers want the most. 

• FAST EXECUTION - 50% faster 

• FULL & STANDARD IMPLEMENTATION OF C - includes all the 
features described by K & R. It works with the standard MS-DOS Linker 
and Assembler; plus programs written under UNIX can often be 
compiled with no changes. 

• POWERFUL OPTIONS - include fast 8087 support; DOS2 and DOS1 
support and interfaces; graphics; librarians; and much more. 

• FULL LIBRARY WITH SOURCE - object libraries with full source code 
for the “large” and “small” models, software and 8087 floating point, 
DOS2 and DOSALL. 

• FULL RANGE OF SUPPORT PRODUCTS including file 
management, graphics, screen management, source code 
management, communications, and more. 

• HIGH RELIABILITY - time proven through thousands of users. 

• DIRECT TECHNICAL SUPPORT 


MORE POWER...MORE SPEED... 
STILL ONLY $395 

CIRCLE NO. 129 ON READER SERVICE CARD 

FOR MORE INFORMATION OR TO ORDER CALL: 

800-922-0169 

Technical Support: (201) 542-5920 



COMPUTER INNOVATIONS 

980 Shrewsbury Avenue, Suite TJ 
Tinton Falls. NJ 07724 


C86 is a trademark of Computer Innovations, Inc. MS-DOS is a trademark of 
Microsoft. PC-DOS is a trademark of International Business Machines. 


August 1984 














Communications 


tions path is needed through a 103- 
or 212A-compatible modem that is 
smart enough to respond to com¬ 
mands to dial, detect incoming calls, 
pass 8-bit data, and hang up. 

Figure 4 shows the PCM top- 
level menu. Selections are made by 
typing a number followed by EN¬ 
TER. In addition to a configuration 
form for customization, PCM has an 
interesting editor function and two 
major modes of operation: unat¬ 
tended electronic mail and attended 
terminal emulation for general com¬ 
munication with information ser¬ 
vices and other host computers. 

Personal Communications Man¬ 
ager has no built-in editor for creat¬ 
ing and modifying mail items. In¬ 
stead, it allows the user to specify 
the editor of his choice by writing 
the editor's name on a configuration 
form. The editor program file(s) 
must be on disk in a place accessible 
to PCM. The EDLIN program pro¬ 
vided with PC-DOS is used if no 
other editor is specified. 


WordStar 3.2, the IBM Personal 
Editor, and VEDIT 1.34 all per¬ 
formed on the PCM program with¬ 
out any difficulties. Emerging Tech¬ 
nology's EDIX 2.0 loaded and ran 
with no trouble, but the hand-off of 
the file name from PCM was not 
entirely smooth. With the EDIX 
program, the editing function must 


P CM operates in the 
PC-DOS 2 ,1 environ¬ 
ment so that it may 
work on all current IBM 
PCs, including PCjr. The 
necessary DOS 2.1 files are 

included with the package. 


be selected from the main menu us¬ 
ing the normal method. Specifying a 
file name, however, is not neces¬ 
sary. After EDIX is loaded, the regu¬ 
lar commands can be used to begin 
editing or creating a file. 


Electronic Mail/ 
Unattended Operation 

In the unattended mode, PCM can 
send and receive message and data 
files. This mode of operation is also 
entered to address mail items, to ex¬ 
amine incoming and outgoing logs 
and mail items, and to maintain ad¬ 
dress books. The code for electronic 
mail is contained in a program file 
called MCEMAIL.EXE and can be 
called from the top-level menu. 
Table 2 is a hierarchical view of the 
menus and work screens. 

Electronic mail is categorized as 
being in one of three classes: mes¬ 
sage, text data, and binary data. 
Message files contain only standard 
printable characters (including for¬ 
matting) and may be printed or dis¬ 
played as is. These are transferred 
using 7-bit data codes. Data files 
(text or binary) may contain special 
characters and usually cannot be 
printed or displayed without un¬ 
dergoing some processing first. Such 
files require the use of 8-bit codes 
during transfers. 

Personal Communications Man¬ 
ager uses the concept of an address 
book consisting of up to 40 mail¬ 
boxes and 10 mailing lists, each of 
which may contain from none to all 
of the mailbox entries in the address 
book. If this does not provide a suf¬ 
ficient number of entries, additional 
address books may be created. Each 
mailbox contains the addressee's 
name (no more than 25 characters), 
telephone number (no more than 33 
characters), and modem speed. Flex¬ 
ible management of mailboxes and 
lists is provided. 

Outgoing mail items are pre¬ 
pared by a multi-step procedure. 
First, the text of the item(s) to be 
sent must be created using the edit¬ 
ing function. Then mail headers are 
prepared by addressing the item(s) 
to mailboxes, lists, or even specific 
telephone numbers that may or 
may not be contained within an ad¬ 
dress book. The process of address¬ 
ing mail items also defines the 
times at which PCM will send each 


New Release 
4.1 



We've continually improved Microstat since it was introduced in 
1978 , and the latest release includes many new features you've 
wanted. 

Interactive and Batch Processing 
Expanded Data Management 
Subsystem with New Data 
Transforms 

Reading data files created by other 
programs 

3 types of Analysis of Variance 
Time Series 

Crosstabs and Chi-Square 
Factorials, Permutations, and 
Combinations 
Hypothesis Tests 

Microstat's algorithms have been designed to prevent numeric overflow errors 
and yield unsurpassed accuracy. Microstat's price is $375.00 including the user's 
manual and is available for the Z80, 8086, 8088 CPU's and CP/M80, CP/M86, 
MS-DOS, and PC-DOS. To order, call or write. 


6413 N. College Ave. • Indianapolis, IN 46220 
(317) 255-6476 

Trademarks: Microstat (Ecosoft), CP/M (Digital Research), MS-DOS (Microsoft), 
PC-DOS (IBM), Z80 (Zilog), 8086, 8088 (Intel). 





Data sets that can exceed memory 
Multiple Regression (including 
Stepwise) 

Scatterplots (including best fit 
regression) 

Correlation Analysis 
12 Nonparametric tests 
8 Probability Distributions 
Descriptive Statistics 
Easy Installation 


162 


CIRCLE NO. 109 ON READER SERVICE CARD 


PC Tech Journal 
































m it *<w mm . 

*m nmm mm *m* 
m mmm 

■ mmmmm 


vm ' *** * *m mmm mm* •** 




\m it WWJm » 

' *** m m tm **» "" *uw/m/////m/mm 

■,m mm vm mm vm * mm tmi mi mm vm z v*m 

22 r«r iTO ' Ui • *«» ““ **»« 

«#» # 

.:; v >f *«» at *>» fit- **H «t Ht t* f** ** • ******** 

5 *$» tnw ' * mm\ m mti *rnm 

ivm ■ *** itm tm* +** 


f7m im 

m **t,M«** 

Mmm^S 

mmW^ 


i immkfflfcm^Smrn/iMmMmm 
I tm mm '' 

I vm ■ 

| vm ' *** mt tmm *** 

. **«* wjfom* 

I !» 

1 u« !«»» 


\m mmmmnxm w* ' ’ ' 
vm 

!w JJJJ • | KM 

iSft IS*' ?mm ^ ******** * m 

im ’ 

vm ' *** iturr *•* 

, **» ***** ** »«it* mtmnm tm t,*tmmm 


P*» » #***• *#** t%w 

§tp» «* «K»* net tm 

mm it *•$ *m tm 

mmmmmmm * ** mwwwM 


PwwWPOJ. 

** » mim#* a4^«#iv*tw 


tw* ** a *#& $*a#t**i ?«t» tr*»ti#rr<*# 
tm it wmm tm m» ♦ *m% * ****** 
im ttm 4 **»* r*«**«* N»f 


PC lech Journal Program Listings on Diskette. 


T hat’s right! You don’t have to 
type in detailed program listings 
from this August issue. You can order 
them on a LISTING DISKETTE™ 


CALL TOLL-FREE 1-800-526-0790 

New Jersey residents: (201-540-0445) 

OR MAIL COUPON BELOW 


from PC lech Journal. And on the 
same diskette you’ll also receive the 
program listings for the upcoming 
September issue. 

Certain listings require use of 
other material (e.g. Pascal compiler). 
Please consult relevant article in 
magazine. 

For your added convenience, we 
also offer two other LISTING 
DISKETTES from previous issues. 
They’re all listed in the coupon. To 
order, simply fill it out. Charge-card 
customers can also use our toll-free 
telephone numbers. (Sorry, no C.O.D. 
or “bill me” orders.) 


|IJir LJ PC TECH JOURNAL 

r/^imK 1 a! Listing Diskette Service 
OUKNAL 39 East Hanover Avenue 
Morris Plains, NJ. 07950 
Please send me the following Listing Diskettes: 


-Aug. & Sept. ’84 issues.$19.95 

"jfv’8 - 


□ No. 5- 

□ No. 4—June & July ’84 issues.$19.95 

□ No. 3—Apr. & May ’84 issues.$19.95 

Total $_ 


□ Check Enclosed 
□ MasterCard 
No_ 


Signature- 

Name_ 

Company. 

Address_ 

City. 


□ Please charge my credit card: 
□ Visa □ American Express 

-Expiration Date_ 


. State _ 


Zip 


^ Please allow approximately four to six weeks for delivery. 




























LOWER 

PROGRAMMING MAINTENANCE 
AND DEVELOPMENT COSTS 


{SET:SCIL~} 

The Source Code Interactive Librarian 
for microcomputers. 

SCIL keeps a historical record of all changes made to the library. 
SCIL maintains any source code regardless of language, including user 
documentation and text material. 

SCIL allows software engineers to work with source code as they do 
now, using any ASCII text editor. 

SCIL saves disk space by storing only the changes made to the program. 
SCIL provides a labeling capability for ease of maintaining multiple 
versions and multiple releases. 

SCIL offers unlimited description in the program library directory. 
High visibility displays with varied intensity for ease of viewing insertions 
and deletions. 

SCIL is available on CP/M, MP/MII, MS-DOS, PC-DOS and 
TurboDOS. 

Demonstration disk available on request. 

Multiple copy discounts available. 


{SET} 


Get {SET} for Success 

{SETrSCELi-} is a product of System Engineering Tools, Inc. 
645 Arroyo Drive, San Diego, CA 92103. 


Registered Trademarks: CP/M, MP/M, Digital Research Inc.; MS-DOS, Microsoft Corp.; PC-DOS, IBM Corp.; TurboDOS, Software 2000, Inc. 


For more information call (619) 692-9464. 


CIRCLE NO. 161 ON READER SERVICE CARD 


CopyWrite 
backs up all 
IBM PC Software. 

There are no exceptions. Copy-protected software is copied 
readily. CopyWrite needs no complicated parameters. 
Requirements: 

IBM Personal Computer or XT. 

64k bytes of memory, 
one diskette drive. 

CopyWrite will run faster with more 
memory or another drive. 

CopyWrite is revised monthly, to keep up with the latest in copy 
protection. You may get a new edition at any time for a $12 trade 
in fee. 

CopyWrite is available at a price of $50 US funds from: 

Quaid Software Limited 

620 Jarvis Street, Suite 2412 
Toronto, Ontario, Canada M4Y 2R8 
Telephone (416) 961 -8243 


CIRCLE NO. 194 ON READER SERVICE CARD 


Communications 

item to its destination. At any time, 
the user can review the status of 
outgoing mail items, print or delete 
them, or create new items. 

Figures 5 through 8 show the 
sequence of menus and work 
screens used in handling outgoing 
mail. Note that the top few lines of 
the screen always give the present 
location in the menu structure. 

When the send/receive mail 
option of electronic mail is selected, 
the program prompts for some 
items—time to start sending, for ex¬ 
ample-then goes into the unat¬ 
tended mode. It waits for incoming 
calls and sends mail items at the 
times the user indicated in outgoing 
mail headers. As many as 100 items 
may be in the outgoing queue. 

The send/receive status screen 
contains a two-line window called 
the monitor block that, during ac¬ 
tive transmissions, shows the most 
recent four characters from the in¬ 
coming and outgoing data streams 
in order to indicate when messages 
are being transferred. 

Incoming mail items are stored 
on the disks selected using the con¬ 
figuration form. As items are re¬ 
ceived, entries are made in the in¬ 
coming mail log and the message 
text is saved on disk for later re¬ 
trieval. The modem speed is auto¬ 
matically adjusted to match that of 
incoming calls. Received items may 
be displayed, printed, or deleted us¬ 
ing appropriate selections of the 
examine-log-entry menu and work 
screen. When an item's log entry is 
deleted, the text may be either 
saved or discarded. 

Error checking and handling is 
excellent in PCM. If an item cannot 
be transferred at the designated 
time, eight additional attempts are 
made to send it at 15-minute inter¬ 
vals until the item is either sent or 
marked not sent. Mail that is 
marked not sent can be retried. 

The Microcom networking pro¬ 
tocol is a very good implementation 
of the ISO Reference Model for 
Open System Interconnection. This 


164 


PC Tech Journal 











■ 


Hi* 


/vw/vi 




CONVERT YOUR PRINTER 
INTO A DIGITAL PLOTTER 


Digitizing 


Scientific Plotting 


Business Graphics 


PLOTCALL is a graphics system that pro¬ 
cesses standard plotter instructions into a 
form that can be printed on over 20 dot 
matrix printers. This is not another print 
screen program; presentation quality graphics 
are created directly on the printer to achieve 
the maximum resolution possible. (120 x 
216 dots per inch for Epson printers) 

PLOTCALL includes 17 symbol sets for 
sign making and plot labeling. Symbol sets 
may be altered, or create your own! Character 
strings may be created from any symbol set, 
rotated to any angle, and scaled to any 
size. 

Plots can be created from any language or 
from digitized data. An interactive plot 
debugging program allows you to preview a 
plot on the screen before sending it to the 
printer. 

All plots in this ad were created with 
PLOTCALL on an Epson printer. No ad¬ 


ditional hardware is required, not even the 
color graphics card! 

Also included are the following easy to use, 
interactive programs that utilize the 
PLOTCALL system: 

SURF creates high resolution three dimen¬ 
sional surface plots with hidden line removal. 

TOPO creates contour maps using the 
same data as SURF. TOPO uses the 
character routines in the PLOTCALL system 
to provide inline contour labels. 

GRAFIT creates charts and graphs of all 
types - XY graphs, bar charts, pie charts, 
and line graphs. 

IBM PC or compatible with a minimum of 
128K of memory and a dot matrix printer 
with graphics option are required. 

ENTIRE PACKAGE ONLY. $199 

DEMO DISK (include printer model). $10 


Program Output 


To order or obtain further information, contact 


Contouring 


VISA AND MASTER 
CARD ACCEPTED 


CIRCLE NO. 120 ON READER SERVICE CARD 


GOLDEN SOFTWARE, P.O. Box 281, Golden, CO 80402 - (303) 279-1021 




















































































Communications 


Electronic flail 

1. Send/Receive flail 

2. Review/Address Outgoing flail 

3. Review Incowing flail 

4. Address Book Maintenance 


Hake selection (1-4): (J 
Press Esc to exit 


Figure 5: PCM Electronic Mail Menu 


Electronic flail 
Review/Address Outgoing flail 

1. Address flail 

2. Review Log 

3. Print Log 

4. Print flail 

5. Retry flail Not Sent 

£>. Delete flail Already Sent 
7. Delete All Mail 
There are 8 entries in the log 

Hake selection (1-7): [J 
Press Esc to exit 


Figure 6: PCM Review/Address 
Outgoing Mail Menu 


Open System Interconnection. This 
level-2 protocol implements the 
lowest three layers of the seven- 
layer model: the session/file trans¬ 
fer layer, the link layer, and the 
physical layer. Messages called ses¬ 
sion protocol data units (spdu) are 


sent between equivalent layers on 
each end of the communication 
path to effect the desired transfers. 

PCM is compatible with other 
systems that support level 2 of the 
Microcom Networking Protocol, in¬ 
cluding MICRO/Courier, version 


2.0. Interaction with standard ASCII 
terminals is also allowed. 

Terminal Emulation/ 
Attended Operation 

In the attended mode of operation, 
the program expects the user to be 


SPF/PC™ 

ACTUALLY, there is no comparison. SPF/PC is 
the best full-screen editor available for the IBM 
Personal Computer. 

It looks and works like IBM’s large system SPF 
editor. 

THE 0DD-C0UPLE™ 

Allows the APPLE and IBM/PC to 
communicate with each other. 

•Connect APPLE to PC, APPLE to APPLE, and PC 
to PC. 

•Transfer any file in either direction. 

•CHAT mode allows direct communications 
through the keyboard. 

•An Equipment Profile allows description of 
your operating environment. 

•Communicate Direct or through a Modem at 
speeds up to 9600 baud (bps). 

•Written entirely in machine language for speed 
and efficiency. 

REQUIREMENTS: 

APPLE — 48K, 1 disk drive, Serial Interface 

IBM — 64K, 1 disk drive, Serial Interface 

•SPF/PC can use up to 786K of memory as workspace. 

•Word processing commands. 

•4-way scrolling. 

•Split screen support. 

•On-line help facility. 

•Can edit up to 240 character records. 

• Monochrome or color supported. 

• Instantaneous screen display. 

• Block Move/Copy/Repeat/Delete/Overlay/Shift/Exclude 
•Automatic line numbering supported. 

•40 user-definable Program Function Keys. 

•Direct interface to DOS'commands for PCDOS 2.0 users. 

• Browse sub-system. 

• Move/Copy sub-system copies any file format. 

• Utilities include: Rename/Delete/Print/Directory list. 

AND MUCH MORE . . . 

UPLOAD/DOWN LOAD sub-system available to SPF/PC users for 
$50.00. 

$-j / Q QC SPF/PC requires 128K, PCDOS, 

| T - \J ■ y 3 and 1 disk drive. 

'79.95 

For orders and dealer information write or call Rogue River Software, 2822 Tahitian Ave., Medford, OR 97504, 

(503) 779-3002. Mastercard/Visa, Check, or P.O. accepted. Add $5.00 for shipping. Canada $10.00. Foreign $15.00. 

IBM is a registered trademark of International Business Machines, Inc. APPLE is a registered trademark ot Apple Computer Inc. 


166 


CIRCLE NO. 207 ON READER SERVICE CARD 


PC Tech Journal 





















WE’VE GOT YOUR PACKAGER 



We offer you the most flexible, cost efficient means of introducing your 
programming staff to the Ada Language. You can choose the level of 
Support you need, when you need it! These Janus/Ada packages are 
customer-tested and available now... 


(C-Pak) Introductory Janus/Ada Compilers 
(D-Pak) Intermediate Janus/Ada Systems 
(S-Pak) Advanced Janus/Ada Systems 
(P-Pak) Janus/Ada Language Translators 


Janus/Ada “Site” Licenses 
Janus/Ada Source Code Licenses 
Janus/Ada Cross Compilers 
Janus/Ada Maintenance Agreements 


Coming Soon: New Computer and Operating Systems Coverage 


Selected Janus/Ada packages are available from the following: 


National Distributors 


International Distributors 


Westico, Inc. 

25 Van Zant St. 
Norwalk, CT 06855 
(203) 853-6880 


Ash II 

7407 Marisol 
Houston, TX 77083 
(713) 933-1828 


A-OK Computers 
P.O. Box 604 
Silver Spring, MD 20901 
(301) 588-8446 


Micronix 
11 Blackmore St. 
Windsor 4030 
QLD. Australia 
(07) 57 9152 


Progesco 

155, rue du Fauburg 
St. Denis 
75010 Paris 
(1) 205-39-47 


Trinity Solutions Compuview Products, Inc. Microprogramming, Inc. 

5340 Thornwood Dr., Suite 102 1955 Pauline Blvd., Suite 200 P.O. Box 3356 

San Jose, CA 95123 Ann Arbor, MI 48103 Chatsworth, CA 91311 

(408) 226-0170 (313) 996-1299 (213) 993-0640 


Lifeboat of Japan 
S- 13-14, Shiba 
Minato-Ku 
Tokyo 108 Japan 
03-456-4101 



CP/M. CP/M-86, CCP/M-86 are trademarks of Digital Research. Inc. 
’ADA is a trademark of the U.S. Department of Defense 
MS-DOS Is a trademark of Microsoft 


©Copyright 1984 RR Software 


Software, inc. 


specialists in state of the art programming 


P.O. Box 1512 Madison, Wisconsin 53701 
(608) 244-6436 TELEX 4998168 


CIRCLE NO. 149 ON READER SERVICE CARD 

























Computer dreams. 



ML -Mode Display 
2oo-vJAtt poUUEP SUPPLY 

And six expansion slots 

J2tK TO GYOK /2AM ON 
System Board 


up to PbuR Half-Height 

Storage devices 


Fixed pise Bacjojp 


Pisr storage protection 


PC-Typa fe/mPP 


TRULY compatible- 
YZDNS all TfiE POPULAR. SDFtMASLE 


me PROCESSOR 


I ntroducing the new COMPAQ DESKPRO'.' 

COMPAQ combined the best features of the best 
desktop computers. And then added exclusives you won't 
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* PC and XT right off the shelf. Which brings us to the 
next point. 


6 1984. COMPAQ* is a Registered Trademark and COMPAQ DESKPRO" is a Trademark of COMPAQ Computer Corporatioa IBM* is a Registered Trademark of International Business Machines Corporatioa 















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 640K of memory on 
system board and save expan -. 
sion slots. 



Runs software 2X to 3X faster. 




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 LEDs on caps and num- 
lock keys. 


uwMwiiin.iii wmw m 


The COMPAQ DESKPRO is the fastest truly compatible 
desktop you can buy Its 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. Its 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. 

comma 


It simply works better 





























Announcing 
DBA 34/36... 
the RPGII Data Base 

5 Reasons Why DBA 34/36 Will Increase the Facility, Speed, Accuracy 
and Flexibility of Your Information Processing and Lower 
Your New Business Applications Costs 


Now there is a true data base management system (DBMS) 
for IBM System 34 and 36 users which organizes computer 
files into a single, coordinated information bank that is 
accessible in a variety of logical groupings—DBA 34/36 
from Fits Systems Inc. Here are five reasons why you 
should be using it with your mini: 

1 DBA 34/36 is the only data base management 
■ system designed for both the IBM System 34 and 
the new System 36—a true data base, not just a scaled- 
down version of mainframe software or retrieval tool. 

2 DBA 34/36 makes it easy to define and produce 
■ recurring reports including simple user-defined 
calculations. All requisite support programs, including 
Data Base Maintenance, a powerful Universal Inquiry 
Program. RPG II Interface and a Report Generator come 
with the package. 

3 Because DBA 34/36 is written in RPG II, your pro- 
■ grammers can adapt any of its calling subroutines 
into your own programs, significantly reducing program¬ 
ming time for new applications. 


4 DBA 34/36 can be up-and-running in less than a 
■ week because it does not change existing files. 
Instead, DBA 34/36 creates an external structure that man¬ 
ages references to your files with remarkable efficiency. 

An experienced programmer can install DBA 34/36 and 
have it running inquiry against your files in just a few days. 

5 No schooling is required—your staff will quickly 
■ become proficient with DBA 34/36 by simply using 
the “user friendly” manual supplied with the package. The 
manual describes installation procedures and includes 
complete instructions for tailoring DBA 34/36’s functions 
to reference the files selected for installation. 

You Can Try DBA 34/36 For 45 Days FREE 

We offer qualified 1 ’.sers a free 45 day trial of DBA 34/36 in 
order to demonstrate what ft can do for you. We’ll send 
you a copy of the software, and complete installation doc¬ 
umentation, for a 45 day free trial to use on your own sys¬ 
tem. We think you’ll wonder how you ever did without 
it—but, if you’re not completely satisfied, simply return 
the package—there’s no further obligation. 


Free Demonstration Disk Available 



FITS 


Casey Stern, Vice President 
FITS Systems, Inc. 

DBA Department 
65 West Red Oak Lane 
Vfiite Plains, N.Y. 10604 
212-269-5340 • 914-694-1554 


□ YES, I’m interested in your 
DBA 34/36 Software Package. 

Please send me: 

□ FREE DEMO DISC which illustrates DBA 34/36 

□ COMPLETE PACKAGE for 45-day free trial 

□ MORE INFORMATION—have a sales rep contact me. 


Name- 


-Title- 


Company- 
Address_ 


City- 

Telephone ( 


State 


Zip 


)- 


-Best Time- 


i 

- i 

i 

Mail This Coupon Or Call (914) 694-1554 l 

-1 


CIRCLE NO. 249 ON READER SERVICE CARD 
























Communications 



Figure 7: PCM Address Mail Menu Figure 8: PCM Work Screen for Examining 

Outgoing Mail 


in charge of the communications 
session. The user can send and re¬ 
ceive files, storing them on disk if 
necessary, and print information 
while it is being received. Menu op¬ 
tions also exist for creating (see fig¬ 
ure 9), modifying, saving, and print¬ 


ing terminal options lists, called ter¬ 
minal set-up files, and for prepara¬ 
tion of user functions. The latter ca¬ 
pability permits the creation of pre¬ 
defined strings of interactive com¬ 
mands and other characters that 
may be sent to a remote computer 


at the press of a function key. As 
many as 10 user functions may be 
defined in a terminal set-up file. 

User functions lend flexibility 
to the interactive terminal mode — 
even without an extensive program¬ 
ming language. Commands and 



Attire your IBM PC in style! ComputerWear is dust protection 
with class. Design features include select, woven fabric and 
embroidered emblem. Order now. Satisfaction guaranteed. 


□ YES, PROTECT MY PC IN STYLE! SEND ME: □ CHECK 

_Keyboard(s) $16 _Monitor(s) $18 □ VISA 

_Drive(s) $18 _Printer(s) $18 □ MC 

-1 pc Mon/Drive$36 Add $2.00 Shipping Total: $_ 

(CA. Res. add tax) 

Print Name: 

Address: _ 

City/State: _ 

Credit Card # 

Signature:__ 

Contemporary ComputerWear ah tj 

1320 36th Ave./San Francisco, CA 94122 • 415/564-0506 
IBM PC is a trademark of International Business Machines Inc. 


CIRCLE NO. 258 ON READER SERVICE CARD 

August 1984 


-Zip. 

Exp.. 


LATTICE* 

C Compilers 


"My personal preferences are Lattice C in the top category for its 
quick compile and execution times, small incremental code, best 
documentation and consistent reliability;..." 

BYTE AUG. 1983 
R. Phraner 

"... programs are compiled faster by the Lattice C compiler, and it 
produces programs that run faster than any other C compiler avail¬ 
able for PC-DOS." 

PC MAGAZINE JULY 1983 
H. Hinsch 

"... Microsoft chose Lattice C both because of the quality of code 
generated and because Lattice C was designed to work with 
Microsoft's LINK program." 

PC MAGAZINE OCT. 1983 
D. Clapp 

"Lattice is both the most comprehensive and the best documented of 
the compilers. In general it performed best in the benchmark tests." 

PERSONAL COMPUTER AGE NOV 1983 
F. Wilson 

"This C compiler produces good tight-running programs and pro¬ 
vides a sound practical alternative to Pascal." 

SOFTALKAUG 1983 
P. Norton 

"... the Lattice compiler is a sophisticated, high-performance pack¬ 
age that appears to be well-suited for development of major applica¬ 
tion programs." 

BYTE AUG 1983 
Houston, Brodrick, Kent 

To order, or for further information 
on the LATTICE family of compilers, call or write: 
LATTICE, INC. 

P.O. Box 3072 
Glen Ellyn, IL 60138 


(312) 858-7950 TWX 910-291-2190 


CIRCLE NO. 128 ON READER SERVICE CARD 


171 
































































Communications 


Terminal Emulator 
Change Communications Settings 


Parity.even 

Duplex mode.full 

Filter control chars...yes 

Transmit CR-LF.yes 

Add LF on receive.no 

Flow control.no 





Options: 
110 300 


Press t or A to change selection 
Press Spacebar to change option 

Press Esc to exit 


Figure 9: PCM Terminal Emulator Work Screen 
for Setting Parameters 


functions are provided for looping, 
awaiting specified times and events, 
matching text strings, and calling 
other user functions. Table 3 is a 
summary of available interactive 
and user function commands for 
I PCM terminal emulation. 


Terminal set-up files are pro¬ 
vided for Dow Jones, CompuServe, 
and THE SOURCE. The manual for 
Personal Communications Manager 
gives advanced examples of user 
functions that are extended to pro¬ 
vide unattended terminal operation. 


The terminal mode uses the lo¬ 
cal processing and storage capabili¬ 
ties of the PC effectively to handle 
the // intelligent ,/ functions just de¬ 
scribed. But is this truly an intelli¬ 
gent terminal emulation? No local 
editing functions are provided, and 
no control sequences are assigned to 
manage the keyboard and display, 
apart from the usual formatting con¬ 
trol codes available on even the 
dumbest terminals. 

Because it does not emulate 
even one widely used terminal type, 
PCM cannot be easily identified to a 
host computer. Therefore, it cannot 
be used effectively with many ap¬ 
plication programs that must con¬ 
trol cursor positioning and other 
editing functions. Perhaps this was 
done deliberately to keep PCM from 
competing with the IBM 3101 emu¬ 
lation package, a separate communi¬ 
cations product sold by IBM. 

The Microcom implementation 
of the RM/OSI networking protocol 
is very well done. It operated reli- 



New 1/2" Tape 
ontroller for the IBM-PC 


OPT-TECH SORT 


SORT/MERGE program for IBM-PC & XT 

Now also sorts dBASE II files! 

Written in assembly language for high performance 
Example: 4,000 records of 128 bytes sorted to give 

key & pointer file in 30 seconds. COMPARE! 

Sort ascending or descending on up to nine fields 
Ten input files may be sorted or merged at one time 
Handles variable and fixed length records 
Supports all common data types 
Filesize limited only by your disk space 
i Dynamically allocates memory and work files 

• Output file can be full records, keys or pointers 

► Can be run from keyboard or as a batch command 

* Can be called as a subroutine to many languages 

► Easy to use, includes on-line help feature 

► Full documentation — sized like your PC manuals 

► $99 —VISA, M/C, Check, Money Order, COD, or PO 
Cuantity discounts and OEM licensing available 

To order or to receive additional information 
write or call: 

OPT-TECH DATA PROCESSING 

P.O. Box 2167 Humble, Texas 77347 
(713) 454-7428 

Requires DOS, 64K and One Disk Drive 

CIRCLE NO. 179 ON READER SERVICE CARD 


TC-PC is a high performance tape 

controller for the IBM-PC with these 

important features: 

• Capable of reading and writing 
industry standard 1/2" tape 

• Comprehensive software tools 
supplied 

• 8 bit parallel recording with parity 
and read-after-write verification of 
data 

• Compatible with most nine track 
formatted tape drives 

• Operates with tape drive speeds up 
to 120 inches per second; allows 
data transfer rates of up to 192,000 
bytes per second 

• Economically priced at $880 

For more information on the TC-PC, 

call or write today. 

Dealer/Distributor inquiries invited. 

OVERLAND DATA, IND. 

5644 Kearny Mesa Rd., Suite A 
San Diego, CA 92111 
Tel. (619) 571-5555 


CIRCLE NO. 176 ON READER SERVICE CARD 



























AT LAST! TEN IBM PC/XT 
FUNCTIONS AVAILABLE 
THRU ONE SLOT! 




WITH 


MODEM 

AND512K 


USERS MANUAL 


*BIEB 


AMERICAN 

HIGHTECH 


MAGNUM HARDWARE AND SOFTWARE FEATURES: 


1 . SuperSmart MODEM - 212A type (300-1200) 
intelligent modem with Auto Answer/Auto Dial 
(touchtone/pulse). Mounts inside PC/XT where it 
belongs. 52 number Auto-Dialer optional. 

2 . PARALLEL PRINTER PORT 

3. SERIAL PRINTER/COMM. PORT. 

4. GAME/MOUSE PORT 

5. QUARTZ CLOCK/CALENDAR 

6. MEMORY -64K to 512K bytes 

7. TurboRAM - Extra RAM used as hard disk. 

8. TurboSpool - Print job buffer/spooler. 

9. TurboComm - SuperSmart MODEM control 
program includes: Single key, built-in emulation of 


such popular terminals as DEC VT-100 (ANSI 
standard), Data General 605X series, ACT-5A 
and ADM-5A. Supports all standard baud rates to 
19,200. Single keystroke connection to host. 
Screen transmission status reporting. Full printer 
and disc drive controls. Full buffering and interrupt 
driven I/O). Error detection and logging. Capabil¬ 
ity to interactively download and upload disk files. 

10. TurboFile - TurboComm’s file transfer utility 
featuring: Automatic unattended file transfer 
initiated any time, day or night. Transfers any file 
supported by PC/DOS. Automatic error 
detection and recovery. Password computer 
access protection. 


CHECK OUR STANDARD FEATURES 



Drder now! Check, 


M O. Visa and Mastercard accepted • Satisfaction guaranteed. 2 years warranty 

MULTI-FUNCTION AT IT’S BEST FROM 

AMERICAN HIGH-TECH INDUSTRIES, Inc. 

ELEVEN-ONE-ELEVEN WILCREST GREEN DRIVE 
SUITE 201, HOUSTON, TEXAS 
(713)952-7332 

CIRCLE NO. 104 ON READER SERVICE CARD 






























mmm 









Remember the magic you 
expected when you first purchased 
a PC? 

It's here. 

dBASE HI™ is the most power¬ 
ful database management system 
ever created for 16-bit 
microcomputers. It pulls 
every ounce of energy 
out of your PC and puts 
it to work. 

On top of that, it's 
fast and it's easy. 

You've never seen 
anything like it. 

dBASE HI can handle over a billion 
records per file, limited only by your com¬ 
puter system. You can have up to ten files 
open, for sophisticated applications pro¬ 
grams. 

When you have two related files, infor¬ 
mation in one can be accessed based upon 
data in the other. 

dBASE HI now handles procedures, 
parameter passing and automatic variables. 
You can include up to 32 procedures in a 
single file. With lightning speed. Because 
once a file is opened, it stays open. And 
procedures are accessed directly. 

Easier than ever. 


you have to know is what you 
want it to do. 

Our new tutorial/manual 
will have you entering and 
viewing data in minutes rather 
than reading for hours. 

And to make matters 
easier, you get a full screen 
report setup for simple infor¬ 
mation access. 

Faster than no time at all. 

dBASE III isn't just fast. It's ultra-fast. 
Operating. And sorting. Even faster, is no 
sorting. Because dBASE III keeps your 
records in order, so you really don't have to 
sort anything. Unless you want to. Then 
watch out! 

What about dBASE II®? 

It's still the world's best database man¬ 
agement system for 8-bit computers. And 
it's still the industry standard for account¬ 
ing, educational, scientific, financial, busi¬ 
ness and personal applications. 

Tap into our power. 

For the name of your nearest authorized 
dBASE in dealer, contact Ashton-Tate, 10150 
West Jefferson Boulevard, Culver City, CA 
90230. (800) 437-4329, ext. 333. In Colorado, 
(303) 799-4900. 



dBASE HI uses powerful yet simple 
commands that are the next best thing to 
speaking English. 

If you're unsure of a command, HELP 
will tell you what to ask for. 

If you don't know what command 
comes next, a command assistant does. All 


CIRCLE NO. 300 ON READER SERVICE CARD 


ASHTON -TATE ■ 


©Ashton-Tate 1984. All rights reserved. dBASE III and Ashton-Tate are 
trademarks and dBASE II is a registered trademark of Ashton-Tate. 





How to teach 
your kids 
about the 
IBM PC. 

Computers for Kids teaches 
children age 8 and older to 
write their own programs in 
less than an hour-without the 
necessity for previous knowl¬ 
edge of algebra, variables, or 
computers. And there's a spe¬ 
cial section that keeps parents 
and teachers on the same 
successful command path. 

Starting off with an easy-to- 
understand explanation of 
how to use the IBM PC, your 
kids will progress quickly to 
flow charts and simple print 
programs.. .to loops, graphics, 
and other programming con¬ 
cepts that show the young 
user how to make the PC do 
exactly what he wants-in 
non-technical language that 
makes life easier for both 
of you. 

So do your children a favor. 

Do yourself 
a favor. 
Order the 
PC edition 
of Com¬ 
puters for 
Kids today! 


Creative Computing Press 

I Dept. NX4C 39 East Hanover Avenue 
j Morris Plains, NJ 07950 

j Send me_ Computers for 

j Kids, PC edition, at $5.95 plus $1.50 post- 
I age and handling each. # 12K 

| □ PAYMENT ENCLOSED $_ 

j Residents of CA, NJ and NY State add 

applicable sales tax. Outside USA add 
| $3.00 per order. 

| □ CHARGE MY: (Charge and phone 
order $10 minimum) 

□ American Express 
| □ MasterCard □ Visa 

J Card No_Exp. Date- 

j Signature___ 

I Mr./Mrs./Ms.--- 

(please print full name) 

J Address-Apt- 

I City_State_Zip- 

I Also available at your local bookstore or computer store. 

j □ Send me a FREE Creative Computing 
Catalog. 


Communications 

ably under a variety of test condi¬ 
tions and worked smoothly with 
other PCM-equipped systems and 
standard dumb terminals. 

Microcom did a fine job of inte¬ 
grating the use of an external editor 
into the program. To run PCM on a 
floppy-only system, the user should 
choose the smallest editor that suits 
his needs in order to minimize the 
time it takes to load it and to re¬ 
serve as much working space as pos¬ 
sible for mail files and related lists. 


Command Description 

Alt-A 

Switches modem to auto¬ 
answer state 

Alt-B 

Sends a 300-millisecond 

BREAK signal on the commu¬ 
nications line 

Alt-C 

Clears screen except for sta¬ 
tus and message areas 

Alt-D 

Dials phone number; last 
dialed number, if any, is de¬ 
fault; hangs up if no connec¬ 
tion is made within 30 seconds 

Alt-E 

Exits interactive mode of ter¬ 
minal emulator feature 

Alt-H 

Disconnects phone (hang¬ 
up)—-requires confirmation 

Alt-M 

Toggles command state of 
modem (only applicable to 
Microcom modem) 

Alt-P 

Toggles printer on or off 

Alt-Q 

Displays help in the form of 
the interactive mode command 


screen 

Alt-R 

Starts receive mode for saving 
incoming text to a file 

AIM 

Waits for a definable time 
period or until a specified time 
of day 

Alt-W 

Wait for any character, for a 
defined text string, or for a 
time-delay period to expire; 
string matches are case- 
sensitive 

Fn 

Function key-controlled user 
functions are sent to the 


remote computer; ten user 
functions (F1-F10) per ter¬ 
minal set-up file 

Table 

3: PCM Terminal Emu- 


lation—Interactive and User 
Function Commands 



This is the only situation in which 
I would deliberately select EDLIN 
over other editors. 

The terminal emulation that is 
provided is essentially dumb, not in¬ 
telligent as the manual says. It is ad¬ 
equate for communications with 
another PCM-equipped system, for 
use with information utilities, and 
for reading and writing disk files. It 
is not too useful with minis and 
mainframes that run programs re¬ 
quiring complex interactions with 
the screen and keyboard of a remote 
terminal. For good terminal emula¬ 
tions (IBM-3101, Televideo 910/920, 
etc.), try Crosstalk XVI, Icom, or 
IBM's own 3101 emulator package. 

Documentation 

The documentation for both ACS 
and PCM is up to IBM's usual high 
standards for appearance and pack¬ 
aging. Both manuals are well organ¬ 
ized, and coverage of most topics is 
good to excellent. IBM decided, 
with good reason, to eliminate from 
the ACS manual the diagram that 
purported to explain ACS 1.0 func¬ 
tions, as well as the chapter on the 
operation and use of the base (ma¬ 
chine-language) program. The now- 
deleted information probably con¬ 
fused more of the product's users 
than it helped. I mourn the loss of 
the base program documentation, 
however, because ACS is a program 
that demands enhancements, and 
information on the base program is 
vital to programmers who want to 
take up the challenge. 

Appendix F of the PCM manual 
contains a high-level description of 
the networking protocol used in the 
electronic mail portion of the pro¬ 
gram. It is worthwhile reading for 
those interested in the magic that 
goes on behind the scenes during 
unattended file transfers. 

The Good and the Bad 

The ACS package is handy for com¬ 
munications with IBM mainframe 
computers. It was originally de¬ 
signed to serve the needs of users in 


PC Tech Journal 






























that environment and this latest 
version continues that strong bias. It 
is a poor choice for general and per¬ 
sonal use because it is handicapped 
by limited file-transfer and terminal 
capabilities. Several low-cost and 
free programs are available that are 
far more suited than ACS to com¬ 
munications with information utili¬ 
ties, bulletin boards, and non-IBM 
hosts. ACS seems to have grown up 
out of a series of unrelated events. 
The result is a package that lacks 
coordination among its main fea¬ 
tures and that makes its user work 
too hard to do simple tasks. 

PCM, on the other hand, is a 
well designed and implemented set 
of programs that offers operating 
conveniences to individuals and cor¬ 
porations alike. It has very strong 
electronic mail features. Although, 
like ACS, it is menu driven, PCM is 
pleasant to use and flows more 
smoothly from one frame to the 
next than ACS. In addition, its work 
screens are easy to use. PCM suffers 
from a very limited terminal emula¬ 
tion, but owing to its secondary im¬ 
portance to the whole package, this 
is not a serious limitation. hm^i 

Asynchronous Communications 
Support (Version 2.0) 

IBM 

P.O. Box 1328 
Boca Raton, FL 33432 
305-998-6048 
$60 

CIRCLE 5 00 ON READER SERVICE CARD 

Personal Communications Manager 
IBM 

P.O. Box 1328 
Boca Raton, FL 33432 
305-998-6048 
$100 

CIRCLE 499 ON READER SERVICE CARD 


T0U DON'T HAVE TO CRAWL 
THROUGH MANUALS ANYMORE 



Now you can put them online with Explain™... the docu¬ 
mentation system from Communication Sciences, Inc. 

CSi’s Explain takes you a step beyond the editing/ 
printing cycle used for the traditional manual. With Explain, 
writers create and update documentation online, as a data 
base. And they don’t have to be programmers to do it. 

Once your documentation is online, it can stay online. 
Readers can get to it with the touch of a key, either directly 
from your applications or through Explain itself. 

User help. Program guides. Procedures. Standards. 
Put it all online with Explain, the paperless documen¬ 
tation system. 

For more information, please 
call us at (612) 332-7559, or write to 
Communication Sciences, Inc., 100 
North Seventh Street, Minneapolis, 

MN 55403. 


CARD 



DIRECTORY 
COMMAND 
SYSTEM 
for the 
IBM PC & XT 



Which would you prefer? 



Designed 
with the 
“New User’’ 
in mind 
A must for 
Hard Disk 
systems 
Compatible 
w/DOS 1.10 
and 2.00 



► Disk Usage 4 
3 Hidden files 
13 User files 
34304 bytes left 
124416 bytes used 
160256 bytes total 


►► Fleaory Usage 44 
95312 bytes left 
35760 bytes used 
131072 bytes total 


►►► Today Is 444 
Wednesday the 20th 
9:32:27a. 


ldir replaces the DOS prompt with an interactive command system that 
eliminates the need to type commands and/or filenames to the command line. 
Files are accessed and programs are executed by positioning Idfr’s scrolling 
FILE and COMMAND CURSORS, and pressing <ENTER> Controlled by the arrow 
keys, the CURSORS are easy to use “pointers.’’ 


P.O. Box 2867, Boise, ID 83701, (208 ) 342-5849 



b y Bourbaki Inc 



August 1984 


CIRCLE NO. 108 ON READER SERVICE CARD 




























































t 



























PC Mouse makes you 
more productive with 
popular business appli¬ 
cations. With Lotus 1-2-3, 
for example, moving 
around the spreadsheet 
and entering numbers 
can be incredibly easy. 
Put PC Mouse in your 
left hand and you re free 
to enter numbers with 
your right. With no more 
switching between 
cursor controls and 
numeric keys. 

For word processing, 

PC Mouse makes it sim¬ 
ple to highlight a block 
of text. And move it, 
copy it, or delete it. Take 
WordStar, for instance. 
Instead of memorizing 25 
control code sequences, 
just move the mouse. 

Its that simple. 

You can even design 
your own menus to fit 
the way you work. We 
provide everything thats 
necessary to move your 
personal menu onto your 
program diskette. 

Whether you're using 
a spreadsheet, word 
processing, data base, 
or graphics, PC Mouse 
helps you do it faster 
and easier. So you can 
get more done in a day. 



mouse 
systems 

Pointing the way. 


j/he kind of mouse you 
select should depend on 
how far you want to go. 


PC Mouse brings you 
today s most advanced way 
to use a computer. Pointing. 

For your IBM PC, PC-XT, PCjr or 
compatible, PC Mouse lets you move 
the cursor across the screen as fast 
as you think. And select commands 
just as fast. 

Take Command of Your 
Software. 

PC Mouse makes itself at home 
with your system immediately. Just 
plug it in and it’s ready to work with 
todays most popular programs. 

PC Mouses exclusive Designer 
Pop-Up™ menus show what the power 
of pointing can do for your existing 
applications. They eliminate the need 
to memorize complex commands or 
hunt for the right sequence of keys. 

At the touch of a button, a pop-up 
menu appears on the screen in a 
window. Simply point at the 
command you want and press one of 
PC Mouse’s three buttons. That’s all 
it takes. The pop-ups disappear until 
the next time you need them. 

PC Mouse is pre-configured for 
Lotus 1-2-3, Multiplan, VisiCalc, 
SuperCalcj* WordStar, PFS:Write, 
Personal Editor, and Multimate. It’s 
also fully compatible with Microsoft 
Word, Visi On and DesQ. And as 
more advanced software is devel¬ 
oped, you can be sure PC Mouse will 
never become extinct. Our Designer 
Pop-ups even let you personalize 


menus to fit individual needs. Or 
create new menus for any program 
that runs on the PC. 

Only the Strong Survive. 

PC Mouse has the most advanced 
optical and electronic technology. 
The result is unsurpassed tracking 
and reliability compared to its 
mechanical ancestors. 

Its gentle-sloping ergonomic 
design maximizes user comfort. PC 
Mouse glides effortlessly and silently 
across its pad. It actually becomes 
an extension of your body. So what 
you’re thinking appears on the screen 
just as effortlessly. 

Taking care of PC Mouse is easy, 
too. With no moving parts, it lives 
a long, long time. So long, in fact, 
that we have the confidence to back 
it with a full 12-month warranty. Our 
technical support team and unique 
update program will 
let you keep pace 
with future changes 
in the personal com¬ 
puter world as well. 

Break away from 
the pack by choos¬ 
ing the leader in its 
field. PC Mouse. 

We’ll take you 
where you want to 
go. And get you 
there fast. For more details, see your 
dealer or contact Mouse Systems 
Corporation at 2336H Walsh Avenue, 
Santa Clara, CA 95051. Telephone 
(408) 988-0211 or Telex 467848." 



Desi g ner Pop-uv 
menus let you move 
through Lotus 1-2-3 
with unprecedented 
speed and accuracy. 


Mouse Systems and Designer Pop-up are trademarks of Mouse Systems Corporation. 1-2-3 and Lotus are trademarks of Lotus Development Corporation. Microsoft and 
Multiplan are trademarks of Microsoft Corporation. SuperCalc 3 is a registered trademark of Sorcim Corporation. VisiCalc is a registered trademark of VisiCorp. Volkswriter 
is a registered trademark of Lifetree Software Inc. WordStar is a registered trademark of MicroPro International Corporation. Multimate is a trademark of Soft Word 
Systems, Inc. PFS is a registered trademark of Software Publishing Corporation. IBM and PC-DOS are trademarks of International Business Machines Corporation. 

Copyright © 1984 by Mouse Systems Corporation. 


CIRCLE NO. 181 ON READER SERVICE CARD 






SOFTPRODUCTSI1 1C 

A subsidiary of the University of Waterloo 

Announces 

Waterloo 

NetWorkStation 

Tools 

for the IBM Personal Computer 

Editor 

• full-screen 

• colour support 

• function keys 

Host Communications 

• VM/370 CMS, RSTS/E, VAX/VMS 

• file transfer micro to/from host 

• access host files from micro programs 

Terminal Emulation 


For further information contact: 

WATSOFT Products Inc. (519) 886-3700 
158 University Ave. W., Telex No.: 06-955458 
Waterloo, Ontario 
N2L 3E9 


G Graphics 
Editor 

A Fast, Powerful, Easy to Use drawing 
program that lets you create, edit, and store 
colorful images 

• Intricate detail 

• Easy to remember, single key commands 
• Variable cursor speed & brush width 
• User defined color combinations 
• Commands for basic geometric shapes 
• Images can be erased, repositioned, copied, 
mirrored, flipped 
• Save to disk / Load from disk 
• Images can be loaded into user's BASIC 
programs 

• "HELP" and "UNDO" commands 
• Text in variable sizes, colors, directions 
• Designed for the IBM PC and compatible 
machines with 128K RAM, single disk 
drive, color graphics capability 

Perfect for Artists, Designers, 

Animators, Programmers, Educators 

G Graphics Editor is available for $95 from 

MICRO MARKETING ASSOCIATES 
3497 East Livingston Avenue 
Suite A 

Columbus, Ohio 43227 



CIRCLE NO. 218 ON READER SERVICE CARD 


Develop your own circuits 
quickly one) cosily. 



Transfer your designs to the 
eZ Cord, uuhich features o fully 
buffered address, data and con¬ 
trol bus uuith suuitch selectable 
address decoder and a generous 
uuire-ujrap area uuhich can easily 
accomodate over60 1C sockets. 
cZ Cord has gold plated contacts 
and all IC's are socketed. Only 
$89.95 plus $5.00 S&H. 


eZ Board for IBM-PC & XT 


eZ Board — the solderless bread¬ 
board uuhich plugs into your PCs 
expansion slot through an integral 
18-inch cable. Clearly marked tie 
points make the entire system bus 
easily and conveniently acces¬ 
sible at the breadboard. Simply 
plug in IC's and connect uuith ordi¬ 
nary hookup uuire. Idea booklet 
included. Only $124.95 plus 
$5.00 S&H. 



SPCCIfll OFF€R 

Order both the cZ Board and eZ Card development system 
nouu and save$45.00! Pay only $174.95 plus$5.00 S&H*. 
California residents add 6%. 


Sabadia Export Corp. 

P.O. Box 1132, Dept PT, Vorba Linda, Cfl 92686 
Phone (714) 630-9335 Telex: Casylink 756582 


*USfl only. Outside USR add $20.00 S&H (Airmail) 


CIRCLE NO. 163 ON READER SERVICE CARD 


Professional Lab and 
Business Graphics Software 
for Your IBM* PC 


SCIENTIFIC PLOTTER-PC- 

Draws professional graphs of 
your data. Line or scatter plots, 
semi-log or log-log plots, bar 
graphs, exploded pie charts, 
stock charts with high, low, 
close. 320 x 200 resolution in 4 
colors. Automatic or manual 
selection of axis length and posi¬ 
tion, tick marks and numeric 
labels. Features 20 plot symbols, 
error bars, multiple labels in 4 
orientations and versatile printer hardcopy. Format and data files mav be 
saved on disk. Includes 11 demos on disk plus manual .$ 95 

CURVE FITTER-PC— Select the 
best curve to fit your data. 

Scale, transform, average or 
smooth, interpolate (3 types), 
least squares fit (8 types), 
evaluate unknowns from fitted 
curves. Features auto-scaling, 
statistical evaluation of fitted 
curves, multiple labels in 4 
orientations, and versatile 
printer hardcopy. Format and 
data files may be saved on disk. 

Includes 5 demos on disk plus manual.$ 95 

SPECIAL: SCIENTIFIC PLOTTER-PC and CURVE FITTER-PC-on 1 

disk.SI 75 

Add $2.50 shipping on all U.S. orders. VISA or MASTERCARD orders 
accepted. 

•Trademark of International Business Machines, Inc. 

TM-m- INTERACTIVE MICROWARE, INC. 

I P.O. Box 139, Dept. 237 
■ Ul ■ state College, PA 16804 

Phone: (814) 238-8294 • Telex: 705250 




CIRCLE NO. 151 ON READER SERVICE CARD 


CIRCLE NO. 189 ON READER SERVICE CARD 









































LEGAL BRIEF 


Go for Broker 

How to protect yourself if you choose to use a broker 


Max Stul Oppenheimer 


B ecoming very, very rich re¬ 
quires only two steps: Write a 
very, very good program for those 
throngs of first-time computer 
buyers (note: the definition of 
"good" is flexible); sell very, very 
many copies of the program. 

It has been eight months since 
I explained the options for protect¬ 
ing the rights to your software. Last 
month I explained how to keep 
those rights while negotiating a 
consulting contract. Are you rich 
yet? If not, don't give up. 

Writing a commercially valu¬ 
able program is difficult. Commer¬ 
cializing such a program is hard, 
too. Getting from step one to step 
two can be downright dangerous. 

In this age of specialization, 
there is no reason that a good pro¬ 
grammer should also be good at 
marketing. It may make sense to 
turn to a specialist. However, if you 
have looked longingly at those ads 
that offer to market your program 
for you, be advised that unless (and 
even if) you take some preliminary 
steps, you may be risking some 
rights by sending in your program. 

You may recall from prior col¬ 
umns that you obtain some protec¬ 
tion for your copyrightable work 
simply by the act of "fixing" it in 


Max Still Oppenheimer is a partner in the 
Baltimore law firm of Venable, Baetjer, and 
Howard. 


some tangible medium. Tradition¬ 
ally, this was done by writing it on 
paper, but the chances are good that 
recording it on a disk or burning it 
into a ROM chip will serve. This 
gives you at least threshold copy¬ 
right protection for your program. 
You do not have copyright protec¬ 
tion for your concept, or for a pro¬ 
gram that incorporates all of your 
good ideas but expresses them dif¬ 
ferently. There is also the possi¬ 
bility that, if your program is the 
unique way to accomplish its pur¬ 
pose, you have no copyright protec¬ 
tion at all. Refer to "The Basic 
Tools of U.S. International Property 
Law" (November/December 1983, 
p. 213) and "Disputing the Rights 
to Custom-Designed Software" (July 
1984, p. 185) for more details. 

In any event, you will probably 
want more than threshold copy¬ 
right protection for your initial en¬ 
counter with commercial software 
marketing. Before you deal with 
the difficult issues relating to pro¬ 
tection of property rights, there are 
several simple bargaining points 
that should be agreed upon. Begin 
by asking questions. 

What will the software broker 
do for you? Some propose to seek 
buyers actively,* others will do no 
more than list the availability of 
your program on their data base. 

What will he charge you and 
when? A fixed fee, a share of sales 
or profits, a fixed commission per 
sale, or some combination of these? 
How do you compute profits? (Do 


you deduct the cost of your com¬ 
puter?) Does he pick up the ex¬ 
penses pending the first sale? How 
much does he plan to spend? 

Does the broker insist on the 
exclusive rights to market your pro¬ 
gram? If so, for how long, and do 
you have any right to terminate the 
relationship? A broker may work 
harder if he has the exclusive 
rights, since he will be assured the 
benefit of every sale. On the other 
hand, shouldn't he produce sales in 
order to keep the exclusive rights? 
Remember that once you have 
granted exclusive rights, you have 
given up most of your bargaining 
power—the broker ought not to be 
able to sit back and wait for light¬ 
ning to strike (after all, you could 
do that yourself). 

These points are between you 
and the broker. The harder nego¬ 
tiating points involve protecting 
yourself from actions the broker 
might take that will affect your 
rights vis-a-vis third parties. 

Normally, a broker will act as 
your agent. The limits of his au¬ 
thority as your agent should be 
agreed upon between you. He 
should report to you occasionally 
on his progress. There should be 
agreement on what he can do on 
your behalf in terms of pricing and 
other sale-related decisions. Perhaps 
he should do no more than find a 
potential market and let you do the 
negotiating over price, credit, re¬ 
turns policy, and so forth, or per¬ 
haps you would prefer that he han- 


AUGUST 1984 


181 














FAST 

LETTER 
QUALITY 
FOR YOUR 

EPSON 

Now you can print letter quality on 
your Epson FX printer at full text¬ 
mode speed, up to 10 times faster 
than with programs using graphics 
mode. Printer Boss™ software 
gives you two-pass dot-matrix let¬ 
ter quality and lets you create a 
printer buffer of up to 32K. Or print 
multi-page spreadsheets as wide 
as you like, sideways on your paper, 
at high speed, in a choice of five dif¬ 
ferent type sizes. 

Printer Boss™ also allows full 
menu-based operation of all control 
functions of all of the Epson MX, FX 
and RX printers. Select and de¬ 
select pica, elite, compressed, italic, 
enlarged, emphasized, doublestrike, 
underline, superscript and subscript 
for scores of different faces. Set line 
spacing, right and left margins and 
skip-over-perforation. Load USA, 
France, Germany, England, Den¬ 
mark, Sweden, Italy, Spain and 
Japan language sets. Control unidi¬ 
rectional, half-speed and proportion- 
ally-spaced printing. Store and re¬ 
trieve 10 complete menu settings 
with a few keystrokes. Emulate the 
IBM-label printer for the IBM-PC 
while retaining full printer versatility. 
Download to FX printers five dif¬ 
ferent IBM character sets, includ¬ 
ing graphics symbols, greek sym¬ 
bols, screen and APL characters. 
Print at full text-mode speed. Ideal 
for IBM graphics software, or 
screen dumps, or printing text from 
Wordstar, Lotus 123 or many other 
fine programs. 

Printer Boss™ for the IBM-PC and 
compatibles $59.95. With Letter 
Boss™ letter quality or Sidekick™ 
sideways print option $99.95. With 
both $139.95. Visa, MC, or send 
check. Free info. Dealers welcome. 

Printer Boss™ 

CONNECTICUT SOFTWARE 
30 WILSON AVENUE 
ROWAYTON CT 06853 
203-838-1844 

SIDEKICK IS NOT TO BE CONFUSED WITH SIDE¬ 
WAYS. A TRADEMARK OF FUNK SOFTWARE. PRINT¬ 
ER BOSS, LETTER BOSS AND SIDEKICK ARE TRADE¬ 
MARKS OF SPEER RESEARCH CORPORATION. 
WORDSTAR AND LOTUS 123 ARE TRADEMARKS OF 
MICROPRO INT'LCORP AND LOTUS DEVELOPMENT 
CORP RESPECTIVELY. 


LEGAL BRIEF 


die those details. In any event, at 
some point you should have the fi¬ 
nal say on whether to accept the 
buyer he has found. (The broker 
might legitimately ask that you be 
reasonable in making that decision, 
or that you pay him something if 
you reject a perfectly good deal on a 
whim.) Agree on who has the final 
say about whether there is a deal. 

Once you and your broker have 
reached an agreement on the limits 
of each other's authority, you must 
take one further step. A legal con¬ 
cept known as "apparent authority" 
protects innocent third parties deal¬ 
ing with an agent. The broker will 
be presenting himself as your agent, 
and he will have a copy of your 
software and a contract. A third 
party who does not know the limits 
of an agent's authority may assume 
that the agent has the authority 
such agents normally have. 

This general statement of the 
law raises fascinating legal issues: 
What type of authority do software 
brokers normally have? Can they 
waive copyrights? Can they autho¬ 
rize reverse-engineering object code? 
Can they make decisions on back¬ 
up policies? Can they give warran¬ 
ties? I don't know. Try to avoid 
finding out. Remember that a third 
party can assume that an agent has 
authority only if he is not on notice 
to the contrary: put him on notice. 

For example, build a title 
screen into your program that says, 
"This program is my property. I 
have the copyright and the trade¬ 
mark. My broker has possession, 
but not ownership, of a copy of the 
program solely to try to find a cus¬ 
tomer for me. He's a nice person, 
but the final decision on whether 
to sell it is mine. My broker has no 
authority to do anything except 
demonstrate the program. He can't 
authorize listing it, copying it, mod¬ 
ifying it, or anything else. I'm not 
sure it works, so he certainly can't 
make any warranties. If he prom¬ 
ises you anything, you'd best check 
with me first. Here's my phone 


number." You and your broker can 
work out the actual language. 

If you have a trademark (and 
remember that in most states you 
can appropriate one simply by us¬ 
ing it in commerce with the intent 
to appropriate it), put it everywhere 
you can—on the documentation, on 
the program title page, salted 
throughout the code, on the dis¬ 
kette jacket, on your broker's 
jacket—and remember to use the 
symbol "TM" unless it has been 
federally registered (in which case 
use the symbol ®). Make the broker 
promise not to obliterate it when he 
presents your program. Similarly, 
use a copyright notice. Unless you 
have taken further steps, protection 
stops at the border—find out if 
your broker plans to show your pro¬ 
gram abroad and if so, take care of 
the necessary filings. 

In discussing the terms of your 
agreement with the broker, remem¬ 
ber that the broker is taking some 
risks, too. The economic risks are 
obvious. (Is he spending his own 
money? Enough to give him the 
right to call some of the shots?) Sup¬ 
pose, in return for helping you es¬ 
tablish your name in the software 
pantheon, the broker asks for the 
right to market any enhancements 
of your program (or your next pro¬ 
gram, or any program you write in 
the future). Once you get over be¬ 
ing very flattered, you should think 
about whether you want to tie up 
your entire career at this point. 

Some of the broker's risks are 
less obvious: do not be offended if 
he asks you to warrant that you are 
the author of the work. His an¬ 
noyance would be justifiable if he 
signed a multi-million dollar con¬ 
tract, and you could not perform 
because you did not write the pro¬ 
gram. It would even be reasonable 
for the broker to ask that you in¬ 
demnify him against any claims of 
copyright infringement. Imagine 
his embarrassment if he should try 
to sell your program to the person 
who actually wrote it. 


CIRCLE NO. 235 ON READER SERVICE CARD 


PC Tech Journal 




















INDEPENDENT STORE IN NYC DEDICATED 
TO IBM* PC SOFTWARE AND PERIPHERALS ONLY 


IN STORE WE DEMONSTRATE MOST PRODUCTS WE SELL—BY APPOINTMENT ONLY 

STORE HOURS: 9:00 A.M.-5:30 P.M. E.S.T. MON.-FRI. 

Saturdays closed for months of July, Aug., Sept. 
Terms, conditions and prices differ in our store. 
PC LINK, CORP. 29 WEST 38TH ST. 2ND FL., NEW YORK, NY 10018 


HELIX BUBBLE MEMORY BOARDS.CALL 

WE ARE CELEBRATING OUR FIRST ANNIVERSARY. 

All Prices Listed here are strictly subject to our current stock Available for Anniversary Sale. 


BUSINESS SOFTWARE 


ALPHA SOFTWARE 

DATA BASE MANAGER II. $205.00 

EXECUTIVE PACKAGE. 109.00 

TYPE FACES. 89.00 

ASHTON-TATE 

dBASE III. CALL 

BOTTOM LINE STRATEGIST. 299.00 

FINANCIAL PLANNER. 399.00 

FRIDAY. 179.00 

CONTINENTAL 

HOME ACCOUNTANT PLUS. 85.00 

ULTRA FILE. 139.00 

TAX ADVANTAGE. 45.00 

PROPERTY MANAGEMENT. 319.00 

ENERTRONICS 

ENERGRAPHICS. CALL 

FOX & GELLER 

D. GRAPH. 189.00 

DIUTIL. 69.00 

GRAFOX. 209.00 

OZ. CALL 

QUICKCODE. 189.00 

FRIENDLYSOFT 

FRIENDLY WRITER . 50.00 

HARVARD SOFTWARE 

HARVARD PROJECT MANAGER. CALL 

HAYES 

SMARTCOM II. 95.00 

INNOVATIVE SOFTWARE 

TIM IV. CALL 

I U S 

ACCOUNTING AR/AP/GL ea. 295.00 

INVENTORY CONTROL. 295.00 

ORDER ENTRY. 295.00 

PAYROLL. 345.00 

EASY WRITER ll/SHELLER/MAIL .... CALL 

EASY FILER. 240.00 

EASY PLANNER. 169.00 

LOTUS DEVELOPMENT CORP. 

LOTUS 1-2-3. (NO MAIL ORDERS).. CALL 
SYMPHONY (NO MAIL ORDERS) ... CALL 

MICRO DATA BASE 

KNOWLEDGE MAN. CALL 

MICRO PRO 

INFOSTAR. CALL 

WORDSTAR. CALL 

WORDSTAR PROFESSIONAL. CALL 

MICROSOFT 

MULTIPLAN. 179.00 

COMPILERS. CALL 


NORTON COMPUTER 

NORTON UTILITIES. 55.00 

PC SOFTWARE 

CREATABASE. 65.00 

PEARL SOFT 

PERSONAL PEARL. CALL 

ROSE SOFT 

PROKEY 3.0. 89.00 

SOFTWARE ARTS 

TK SOLVER. 299.00 

FINANCIAL MANAGEMENT .. 89.00 

MECHANICAL ENGINEERING. 89.00 

SOFTWARE SYSTEMS INC. 

MULTIMATE. 295.00 

SORCIM 

SUPERCALC III. 299.00 

VISICORP 

VISICALC FOUR. 179.00 

DESKTOP PLAN. 190.00 

VISIFILE. 190.00 

VISITREND/VISIPLOT. 190.00 

VISIWORD. 190.00 

DISK DRIVES 

CORVUS. CALL 

PEGASUS. CALL 

QUMET142. CALL 

SYSGEN. CALL 

TANDON TM 100-2 . 200.00 

MULTIFUNCTION BOARDS 

64 RAM CHIPS. 55.00 

AST CARDS. CALL 

QUADBOARD CARD. CALL 

AMDEK MAI CARD. CALL 

PC MOUSE. CALL 

FTG LIGHTPEN . CALL 

PLANTRONICS COLOR PLUS CARD ... CALL 

HERCULES. CALL 

PRINCETON GRAPHICS. CALL 

ENTERTAINMENT & EDUCATION 

ATI TRAINING PACKAGES. ea. 55.00 

ATTACK ON ALTAIR. 29.00 

COMPUTER FACTS IN 5. 22.00 

CONQUEST. 29.00 

DEADLINE. 37.00 

DIGGER. 29.00 

THE EXTERMINATOR. 29.00 

FLIGHT SIMULATOR. 35.00 

FRIENDLY ARCADE. 32.00 

FRIENDLY PC INTRO SET. 32.00 

FROGGER. 25.00 

GORGON. 29.00 

HIDE & SINK. 22.00 

HI RES #4. 27.00 

MOON BUGS. 29.00 

MY LETTERS, NUMBERS & WORDS ... 32.00 

PC CRAYON. 39.00 

PC TUTOR. 49.00 


PLANET FALL. 39.00 

SERPENTINE. 25.00 

SPINNAKER SERIES. CALL 

SPYDER. 29.00 

STYX. 29.00 

SUSPENDED. 39.00 

WITNESS. 39.00 

WIZARDRY. 49.00 

ZORK I. II. Ill. ea. 27.00 

ZURAN DEFENDER. 25.00 

FUNTASTIC 

BIG TQP. 27.00 

COSMIC CRUSADERS. 27.00 

MASTER MINER. 27.00 

SNACK ATTACK. 27.00 

ACCESSORIES 

CURTIS PRODUCTS 

DISPLAY PEDESTAL. $50.00 

MONO CABLE. 38.00 

KEYBOARD CABLE. 30.00 

SYSTEM STAND. 17.00 

KRAFT JOYSTICK. 39.00 

HAYES MACH III JOYSTICKS. 45.00 

MONITORS 

AMDEK 310A. S175.00 

COLOR 11+. CALL 

PRINCETON GRAPHIC HX-12. 489.00 

SR-12. CALL 

ZENITH RGB MONITOR. 499.00 

MODEMS 

HAYES SMART MODEM. $205.00 

HAYES SMART MODEM 1200. 495.00 

HAYES SMART MODEM 1200B. 449.00 

DISKETTES 

DYSAN 

5.5. /D.D. $30.00 

D.S./D.D. 38.00 

MAXELL 

5.5. /S.D. 27.00 

D.S./D.D. 38.00 

VERBATIM (5 year warranty) 

21144 HEAD/CLEAN KIT. 10.50 

5.5. /D.D. 26.00 

D.S./D.D. 36.00 

PRINTERS 

DIABLO P32 D-MATRIX. CALL 

DIABLO 630 .$1699.00 

DIABLO 630 TRACTOR FEED. 249.00 

DYNAX DX-15 OR DX-25. CALL 

PROWRITER F10 . 925.00 

IDS PRISM 132 COMPLETE. 1499.00 

OKIDATA 92P. 465.00 

93 P. 699.00 

TOSHIBA P1351 . 1499.00 

TOSHIBA P1340 . CALL 

EPSON FX SERIES. CALL 

NEC 3550. CALL 

PRINTER CABLE/PARALLEL. 25.00 


NORTH AMERICAN BUSINESS 

MEMORY SHIFT. 69.00 


callTOLL FREE 800-221-0343 


All prices listed in this ad are effective Aug. 1-31, 
1984. All Brands are Registered Trademarks. 
IBM is a Registered Trademark of IBM Corp. 


in new york callI-212-730-8036 


TERMS AND CONDITIONS 


We reserve the right to repair, replace or return to manufacturer for repair, all goods 
acknowledged faulty or damaged on receipt by customer. Customer must call for Return 
Authorization Number before returning any goods. Prompt attention will be given to all 
damaged and faulty returned goods. Any goods returned for credit are subject to 10% 
restocking charge, plus shipping charge. No returns for credit on any software. Customer 
must deal with the manufacturer directly if the customer finds any false claims made by 


the manufacturer. All goods are shipped U.PS. only. Add 2% of price, or minimum of $3.00 
for shipping. We do not ship C.O.D. Please allow one to two weeks for personal or 
corporate checks to clear. To expedite shipping send money order, certified cashier's 
check, or charge to your VISA, MasterCard, WE DO NOT Add a Service Charge For Credit 
Card Usage. Prices subject to change without notice. NOT RESPONSIBLE FOR 
TYPOGRAPHICAL ERRORS. CIRCLE NO. 183 ON READER SERVICE CARD 
















































































































































LEGAL BRIEF 


LISP 


FOR THE 



THE PREMIER LANGUAGE 
OF ARTIFICIAL 
INTELLIGENCE FOR 
YOUR IBM PC. 


■ DATATYPES 

Lists and Symbols 
Unlimited Precision Integers 
Floating Point Numbers 
Character Strings 
Multidimensional Arrays 
Files 

Machine Language Code 

■ MEMORY MANAGEMENT 

Full Memory Space Supported 
Dynamic Allocation 
Compacting Garbage Collector 

■ FUNCTION TYPES 

EXPR/FEXPR/MACRO 
Machine Language Primitives 
Over 190 Primitive Functions 

■ 10 SUPPORT 

Multiple Display Windows 
Cursor Control 
All Function Keys Supported 
Read and Splice Macros 
Disk Files 

■ POWERFUL ERROR RECOVERY 

■ 8087 SUPPORT 

■ COLOR GRAPHICS 

■ LISP LIBRARY 

Structured Programming Macros 
Editor and Formatter 
Package Support 
Debugging Functions 
OBJ File Loader 

■ RUNS UNDER PC-DOS 1.1 or 2.0 


_ IQLISP _ 

5V4" Diskette 

and Manual_$175.00 

Manual Only_$ 30.00 


Jq Integral Quality 

P.O.Box 31970 

Seattle, Washington 98103-0070 
(206)527-2918 

Washington State residents add sales tax. 
VISA and MASTERCARD accepted. 
Shipping included for prepaid orders. 


A little distrust on both sides is 
healthy: it helps define the relation¬ 
ship. Negotiation concerning the 
risks—the author's fear that the 
broker will steal his idea or the bro¬ 
ker's fear that the author will claim 
that the broker stole a program —is 
difficult. The broker may open ne¬ 
gotiations with the following*. 

"Author acknowledges that 
Broker is dealing with many other 
authors, all of whom have wonder¬ 
ful new ideas. Since there are a lim¬ 
ited number of wonderful new 
ideas, chances are that there is some 
duplication. Broker is an honorable 
man, so if he markets something 
similar to Author's program, it is 
because someone else had the same 
idea or because Broker developed it 
independently. In case of a tie, Bro¬ 
ker's decision as to the winner will 
be final. Author hereby waives any 
claims against Broker for infringe¬ 
ment of copyright, trade secrets, or 
patent rights. Author hereby agrees 
never to sue Broker for anything." 

You might counter with: 

"This program is the property 
of and copyrighted by Author. It is 
unpublished and contains valuable 
trade secrets. Only the Author and 
Broker have seen it, so if it shows 
up on the market, we know who's 
responsible. Broker will take all 
steps necessary to keep the program 
confidential and, if he fails to do so, 
will pay Author the royalties he 
should have earned plus attorneys' 
fees. Broker hereby acknowledges 
Author's rights and agrees not to 
contest them in any proceeding." 

Suppose the broker responds, 
"How can I market your program if 
I can't show it to anyone, and how 
can I show it to anyone at the risk 
of being liable for the enormous 
damages if, through no fault of 
mine, someone else markets a simi¬ 
lar program? Besides, that's the 
ninth combination spreadsheet-food 
processor program I've been offered 
today, and I understand that one is 
already on the market in California 
under the name Avocado Spread." 


Time to look for some middle 
ground. One approach would be for 
you, as the author, to make a pre¬ 
liminary, unprotected, disclosure of 
the general nature of the program 
(use your imagination) and to ask 
that the broker identify any areas 
of similarity to other programs on 
the market or under his considera¬ 
tion. Depending on the broker's re¬ 
sponse, a more focused confidential¬ 
ity agreement might be constructed, 
specifying what particular aspects of 
the program are, in fact, unique. 

The demonstration version of the 
program might be supplied in 
incomplete form, and the broker 
might be asked to agree not to de¬ 
compile, modify, or otherwise pry 
into the program himself and not to 
allow any potential customer to do 
so. Perhaps the broker would be 
willing to agree to take "reason¬ 
able" steps to keep the software 
confidential, or to take such steps as 
he would if the software were his. 

Return to the real world for a 
moment. What if you are a pro¬ 
grammer who hasn't sold a thing 
since the lemonade bankruptcy in 
third grade? What can you realisti¬ 
cally hope to accomplish before you 
sign a boilerplate brokerage agree¬ 
ment? You certainly can affix copy¬ 
right and trademark notices. You 
can satisfy yourself that this broker 
is a reasonably honest, reasonably 
competent person. You can try to 
get significant promises reflected in 
a written agreement (and be suit¬ 
ably suspicious if you cannot). Fi¬ 
nally, you can communicate your 
expectations to the broker and try 
very, very hard to leave yourself a 
cheap way out if the broker does 
not produce the results you expect. 

If you cannot get a satisfactory 
agreement, you can always keep the 
program for your own private en¬ 
joyment or, if you are really cau¬ 
tious, degauss the program disk and 
turn off the computer. I |m —J 


CIRCLE NO. 243 ON READER SERVICE CARD 


PC Tech Journal 

























PC 


net and the 


B.O.S.S. 


Business-Oriented Software System for IBM-PC Networks 



Multi-User Data Base Management Software 
Designed for Use by Non-Programmers 


■ Easy to Use 

First-time users often define multiple data bases, enter records, and 
produce reports within three hours. The B.O.S.S.™ is menu driven. It 
presents options and responds to commands in plain English, while 
preventing multi-user conflict without user programming. 

■ Multi-User Simultaneous Updating 

Several users can update the same database without worrying about 
losing data. The B.O.S.S. automatically prevents multi-user conflicts. 
Sophisticated record level locking protection procedures are used. 

■ Handles Large Files 

The B.O.S.S. handles business oriented data files with thousands of 
records as well as it handles small files. Sorting rarely is needed — The 
B.O.S.S. updates all indexes (up to 15) when changes are made. 

■ Generates Reports Fast 

The B.O.S.S.’s full-featured Report Program Generator produces 
sophisticated business reports fast. First time users can select menu 
options to design inquiries that match records in multiple files and 
perform computations. 

■ Versatile, Powerful and Portable 

The B.O.S.S. is fully capable on most 16-bit microcomputers and 
operating systems, including MSDOS™, CP/M-86™, and MP/M-86™. 
Applications designed on one system may be transported easily to 
another. The B.O.S.S.’s full power and versatility are most apparent when 
used to create application systems for 16-bit machines such as the IBM- 
PC™ and to create applications for networking systems such as PCNet™ 
(Allows addressing of 1 full megabyte of RAM). 

■ How It Works... 

Non programmers use Levels I and II. 

Level I consists of: 

• A foundation module used to define individual data files, enter data into 
those files, and to display, edit and print the data. 

• A powerful, fast sort capability. 

Level II consists of: 

• An inquiry function used to design and produce video pages. 

• A report generator that performs sophisticated calculations and 
produces user designed output to the display screen, printer or other 
files. The inquiry and report modules can access up to 8 separate data 
files simultaneously. 

Level III — Database modules for programmer use. 


COMPARISON OF 

POPULAR DATA BASE MANAGEMENT PROGRAMS 



The 

B.O.S.S. 

dBase™ 

II 

TIM™ 

III 

Condor™ 

20 

Data¬ 

Star 7 

Multi-user network 

Yes 

No 

No 

No 

No 

Menu driven 

Yes 

No 

Yes 

Yes 

Yes 

Files open on line 

8 

2 

N/A 

2 

1 

Maximum records/file 100,000,000 

65,600 

32,800 

32,800 

32,800 

Maximum bytes/record 

10,000 

1,000 

2,400 

1,000 

255 

User must be programmer 

No 

Yes 

No 

No 

No 

Maximum number of indexes 

15 

1 

1 

1 

1 


automatically updated. 

(Data are taken from most recent versions of programs available to American 
Planning Corporation, Alexandria, VA) 


■ Advanced Features 

Experienced analysts and programmers use all levels to create 
sophisticated business application programs. 

The B.O.S.S. provides analysts and programmers with a broad and varied 
set of functions patterned after mainframe software development tools. 
Large and complex programs are created easily and in record time. 

■ Savings 

When used to develop programs, The B.O.S.S. reduces costs by at least 
60% and slashes required time by up to 95%. 

■ 30-Day Money Back Guarantee 

The B.O.S.S. package includes a 30-day, no questions-asked money back 
guarantee. Unlimited backup copies are allowed and the complete source 
code is provided so that advanced programmers can further tailor the 
program. Updates will be furnished for a nominal fee. 

B.O.S.S. is a trademark of American Planning Corporation 

PCNet is a trademark of Orchid Technology 

CP/M & MP/M are trademarks of Digital Research, Inc. 

IBM PC is a trademark of IBM Corporation 

TIM III is a trademark of Innovative Software 

dBase II is a trademark of Ashton-Tate 

Condor is a trademark of Condor Computer Corporation 

DataStar is a trademark of MicroPro, Inc. 


( AMERICAN 
PLANNING 
CORPORATION 


4600 Duke Street, Suite 425 
Alexandria, VA 22304 


CIRCLE NO. 139 ON READER SERVICE CARD 

Dealer Inquiries Invited 


1-800-368-2248 
(In Virginia, 1-703-751-2574) 


Visa and Master Charge Accepted 

















































For your IBM/PC 

mbp GOBOL: 

4 times faster; 
and now with 

SOKT& CHAIN 






GIBSON MIX Benchmark Results 

Calculated S-Profile 

(Representative COBOL statement mix) 

Execution time ratio 


mbp 

COBOL 


Microsoft 

COBOL 


Level II* 
COBOL 


R-M** 

COBOL 


mbp COBOL can be summed up 
in one word: fast. 

Because it generates native 
machine language object code, the 
mbp COBOL Compiler executes 
IBM/PC* programs at least 4 times 

faster (see chart). Fast also describes our new SORX which can sort four- 
thousand 128-byte records in less than 30 seconds. A callable subroutine or 

stand-alone, 9 SORT 
control fields can be 
specified. And our new 
CHAIN is both fast and 
secure, conveniently 
transferring control from 

one program to another, passing 255 parameters. Plus, new 
extensions to ACCEPT & DISPLAY verbs give better, faster 
interactive programming. 


128K system with hard disk required. ’IBM/PC is an IBM TM; *’Level II 
is a Micro Focus TM; ***A Ryan-McFarlandTM; **** A Microsoft TM. 


mbp COBOL: 
4 times faster. 


The 

complete 
COBOL. 

An Interactive Symbolic Debug Package 
included standard; Multi-Keyed ISAM Structure; 
listing options allow source & object code, map 
& cross-reference checking; GSA Certification 
to ANSI ’74 Level II; mbp has it all. 

It’s no surprise companies like Bechtel, 
Chase, Citicorp, Connecticut Mutual, and 
Sikorsky choose mbp COBOL; make it your 
choice, too. mbp is available at Vanpak Soft¬ 
ware Centers, or direct; just send the coupon, 
or call for complete information-today 

CIRCLE NO. 165 ON READER SERVICE CARD 


mbp Software & Systems 
Technology, Inc. 


7700 Edgewater Drive, Suite 360, Oakland, CA 94621 
Phone 415/632-1555 

Please send complete mbp COBOL information to: 


NAME. 


COMPANY _ 
ADDRESS _ 


CITY/STATE/ZIP _ 
PHONE_ 






























BOOK REVIEWS 



IBM PC Data File 
Programming 

Jerald R. Brown and LeRoy Finkel 
(John Wiley & Sons, New York, 1983) 
367 pages, paper, $14.95 

I BM PC Data File Programming is a 
well-written instruction manual for 
the creation, modification, and use of 
data files from IBM PC BASIC. Data 
files using both sequential and random 
organization are covered. Although the 
book is intended for novice program¬ 
mers who have had some BASIC 
programming experience, it is also an 
excellent resource for programmers ex¬ 
perienced in other languages, such as 
FORTRAN or COBOL, who must learn 
to program in BASIC. 

The book emphasizes the impor¬ 
tance of programming style and begins 
with a clear description of the tech¬ 
niques programmers should use to be 
sure their programs are well designed, 
easy for others to understand, and as 
compatible with other versions of 
BASIC as possible. These concepts are 
kept in mind throughout the book; the 
sample programs adhere to them and, 
when a choice must be made between 
style and efficiency or portability, the 
authors comment on their choice. 

The second and third chapters are 
a review of BASIC statements and a 
short tutorial on the building of data 
entry and error-checking routines. The 
statements review focuses on those used 
to input and manipulate data (e.g., 

LINE INPUT, MID$). Some funda¬ 
mental programming necessities, such 
as IF .. . THEN statements and subrou¬ 
tines, are also reviewed. 

Once they have covered procedures 
for ensuring that information has been 
properly entered, is of the proper type, 
and falls within the proper range, the 
authors discuss techniques for making 
sure that the data are entered and dis¬ 
played in the desired format. 



BASIC Engineering and 
^Scientific Programs 

“IBM PC 


The fourth chapter of IBM PC 
Data File Programming introduces the 
concept of data files, beginning with se¬ 
quential data files. Through a series of 
example programs and self-testing exer¬ 
cises, the reader is shown how to ini¬ 
tiate a file with the open statement; 
how to tell the computer whether it is 
an input, output, or existing file to 
which data are to be added; and how to 
read information from or write informa¬ 
tion to the file. The authors discuss 
methods of copying information from 
one sequential data file to another, cor¬ 
recting information on a sequential data 
file, and merging the information from 
two sequential data files. 

Last to be covered are the random 
access files. Their treatment is similar 
to that given the sequential files; 
through a series of example programs 
and exercises, the reader can learn to 
develop programs that read, modify, or 
create random access data files. 

The book proceeds at a good pace, 
with exercises and example programs 
that gradually increase in their level of 
complexity. The reader is given pro¬ 
gramming exercises for each phase of 
instruction, and the authors have pro¬ 
vided answers for all the exercises. This 
in itself would make the book worth 
buying, but the authors have done even 
more: the example programs are practi¬ 
cal routines that can either be used as 
they are or expanded to suit the indi¬ 
vidual requirements of the reader. 

Some of the programs provided are: 
a form-letter program that accepts ad¬ 
dresses from an address data file,- a pro¬ 
gram to read, display, and provide the 
option to modify the contents of either 
sequential or random access data files,- 
an inventory control program,- and a 
personal money management program. 
These programs are also available on a 
disk (SI9.95) for those who do not wish 
to enter them manually. 

- Marilyn V. Fleming 


The DIF File: For Users of 
VisiCalc and Other Software 

Donald H. Bell 

Reston Publishing Company,- Reston, 

VA ; 1983 

235 pages, $15.95 paper, $19.95 cloth 

T he data interchange format (DIF) 
was developed by Robert M. Frank- 
ston, president of Software Arts, Inc. 

(the creators of VisiCalc) as a way of 
enabling data communication between 
VisiCalc and other software packages. 
The format can be used to organize data 
on any storage device and, because it is 
a concept rather than a product, it is 
essentially hardware independent. 

The purpose of this book is to ex¬ 
plain the process of exchanging data via 
DIF files. People who are interested in 
understanding DIF files, possible appli¬ 
cations for this concept, and data ex¬ 
change between different software pro¬ 
grams will find this book useful. 

The steps involved to create a data 
file from one program and read it into 
another are presented, with an empha¬ 
sis on the concept that the common 
data format is only a part of the process. 
The procedure of moving data from one 
program to another is presented as a 
multi-step process in which each step 
must be performed carefully. 

Guidelines are offered for those 
who wish to exchange data between 
software products; a chapter is devoted 
to documentation of the exchange pro¬ 
cess. The author presents actual exam¬ 
ples of data exchange between: VisiCalc 
and VisiTrend/Plot; VisiCalc and 
PFS:Graph ; DB Master and The Execu¬ 
tive Secretary,- VisiWord and VisiCalc 
via LoadCalc,- CompuServe and VisiCalc 
using MAINLINE,- DIF files and 1-2-3,- 
and DIF files and TK.'Solver. 

In addition, there is a tutorial on 
the DIF format, a section on the DIF 
Technical Specifications from Software 
Arts, a discussion of references in other 


August 1984 


187 
















BOOK REVIEWS 


books to listings of BASIC and Pascal 
programs that process DIF files, and a 
limited annotated listing of commercial 
software that is capable of using data 
files in the DIF format. 

The author also correctly points 
out many of the DIF format limitations, 
including the fact that the DIF format 
is designed for numeric data and is 
awkward or unusable when transferring 
both numeric and nonnumeric data. 
Also mentioned are the problems with 


unusual data that do not fit, such as Vi- 
siCalc's repeating label. The author also 
discusses the requirement that data 
must be rectangular (that is, it must 
have an equal number of records and 
fields), which means that variable- 
length records need reformatting. 

Another problem mentioned here 
is that only labels and values, not for¬ 
mulas and formats associated with data 
entry, are stored. Finally, the author 
touches on the fact that the DIF format 


is not the universal standard for data in¬ 
terchange. Different programs that 
create DIF files do not always create the 
same DIF file from the same data. 

This book is well written, easy to 
read, and easy to understand. The au¬ 
thor has attempted to explain the DIF 
files process and the steps necessary to 
make it work for the user. Although 
much of the book is devoted to VisiCalc 
file transfers, the material presented 
should also be helpful to people who 
have other forms of spreadsheets, such 
as MultiPlan and SuperCalc, that use 
variations of the DIF format. 

The DIF File is recommended for 
anyone who is concerned with data 
transfer between different software pro¬ 
grams and anyone who is interested in 
the subject of DIF files and their use. 

-James E. Crews 

Basic Engineering and Scien¬ 
tific Programs for the IBM PC 

Wolfe and Koelling 
(Brady; Bowie, MD ; 1983) 

358 pages, paper, $19.95 

T his is one of Brady Publishing 
Company's newest texts aimed at 
the IBM PC and XT market. The book 
contains many useful topics and pro¬ 
grams for the engineering-scientific 
community, as well as an optional dis¬ 
kette containing all of the programs in 
the book (38 major subroutines and pro¬ 
grams). Like most books published by 
Brady, this one is easy to read, accurate, 
and has plenty of appropriate examples. 

The book is divided into 15 major 
sections, covering the IBM Personal 
Computer, data reduction, matrices and 
vectors, curve fitting with linear regres¬ 
sion, solving simultaneous linear equa¬ 
tions, roots of polynomials, numerical 
integration, numerical solutions to dif¬ 
ferential equations, linear programming, 
forecasting with exponential smoothing, 
project planning and scheduling with 
CPM (Critical Path Method), sorting, 
disk data files, data structures, and ran¬ 
dom numbers and simulation. 

One of the features I like about 
this book when compared to other 
books for scientists and engineers is that 
it is not just a collection of programs, 
but an actual textbook that teaches the¬ 
ory, gives practical examples, and then 
provides a program to solve those exam¬ 
ples. This approach helps readers ex¬ 
pand their horizons into applications 
that may never have occurred to them 
before. Another technique the authors 
I use is that of progressive examples, each 
I example building upon the one before I 


Run More Than One Program With: 

^ MULTI-JOB 

FOR THE IBM 

PERSONAL COMPUTER AND XT 

* No special hardware is required (except memory). 

* Multiple programs can run concurrently using PC DOS. 

* Programs can be run simultaneously or one at a time. 

* Up to 9 separate jobs. 

* Free 30-day trial period. 

* Have a true multi-user system with the MULTI- 
TERMINAL-MONITOR (MTM) option. 

* More cost effective than buying a second machine. 

MULTI-JOB $159.00 

Gives you multi tasking using PC DOS. 
MULTI-JOB/MTM PACKAGE $295.00 

Gives you multi tasking and multi users using PC DOS. 
ELECTRONIC DISK $ 49.00 

Creates one or more super fast disk drives from memory. 
SPOOL PROGRAM $ 24.00 

Will redirect printing to memory. 

SET MEMORY UTILITY $ 24.00 

Allows you to set the effective size of memory without 
removing the cover or changing any switches. 

PC CALCULATOR $ 35.00 

Turns your computer into a calculator. 

EXCITING NEW DISCOVERY! Have you ever had the need 
for a letter quality printer? They are nice to have, but cost from 
$600 to $3000. Although many of them allow different type 
styles and fonts, changing fonts requires changing the physical 
head on the machine. The FANCY FONT PROGRAM allows 
different typestyles and font types and is printed by a stan¬ 
dard IBM graphic printer. Available now for $179.00 

B&L COMPUTER CONSULTANTS, 7337 Northview, Suite B, 
Boise, ID 83704, (208) 377-8088. 

Dealers inquiries are welcome. Call or write for a free catalog. 
CIRCLE NO. 153 ON READER SERVICE CARD 


Moit^Ord 

v x y 


188 


PC Tech Journal 



















Our "FILE CONNECTION" programs provide 8" diskette file exchange between 
the IBM PC and most Micro-Mini-Main Frame computer systems. 

Our "WORD CONNECTION" programs provide 8” diskette text document 
exchange between the IBM PC and many word processing systems. 

Our "DISPLAYWRITER CONNECTION" programs transform documents from 
Textpack, Wordstar, Multimate, etc. to the new DisplayWrite 2 format. 

In addition to our hardware and program products, we also provide a conversion 
service for customer supplied diskettes. Please contact us for information about the 
hundreds of 5 l A" and 8" diskette formats and systems which we currently support. 


FLAGSTAFF ENGINEERING / 2820 West Darken / Flagstaff, AZ 86001 
Telephone 602-774-5188 / Telex 705609 FLAG-ENG-UD 


CIRCLE NO. 213 ON READER SERVICE CARD 





BOOK REVIEWS 



Pack 
Complete 


BUY! 


Single Sided 
Double Density 


Soft sector h^k" flexible diskettes 



‘Complete with hub reinforcing rings, 
Tyvek sleeves, color coded user 
labels, and write protect tabs. 


Quality you expect 
at a price you don’t. 

Proven quality at a great price. BECK offers 
you a full satisfaction money-back guaran¬ 
tee - you can’t lose! If you like the quality of 
3M, Dysan, Verbatim, et al, you’ll like BECK. 

• Satisfaction, Money-Back Guarantee 

• 100% Certified, 100% Error-Free 

• Full 7-Year Warranty 

• Tested and Retested 21 Times to 42 Rigid 
Specifications 

• Meets or Exceeds ANSI Standards 

For IBM, Apple, TRS, and 97% of popular 
computers. 

Order Toll Free 1-800-232-5634. 
Available in 25-Pack only plus freight. 
Bulk product inquiries welcome. 


COD’S CASH ONLY 
Corp. Accts Welcome 



Order Now Toll Free 
Door to Door in 48 hrs. 


mmBBOCMIffi 


(In New Hampshire call 924-3821) 


as a chapter progresses. The second 
chapter, on data reduction, will serve to 
illustrate both of these points. 

Initially, chapter 2 appears to be a 
standard treatment of simple statistical 
concepts, such as mean, median, mode, 
range, variance, and standard deviation. 
Indeed, the text does teach these con¬ 
cepts clearly, presenting several exam¬ 
ples. However, before a simple statisti¬ 
cal program can be written, the authors 
suggest the need for plotting the data, 
which immediately requires knowledge 
of concepts such as sorting and scaling. 
The main program is created first, and 
these additional topics are brought into 
that program as subroutines. The plot¬ 
ting routines in the main program use 
the text screen for displaying the re¬ 
sults and therefore will work on both 
the monochrome and color graphics 
screens. The chapter ends with some 
examples to help the reader verify and 
debug his program once it is entered. 

Chapter 3 is a more or less stan¬ 
dard treatment of matrices and vectors, 
with examples of how to transpose, add, 
subtract, multiply, and perform expo¬ 
nentiation. Chapter 4 is an outstanding 
treatment of curve fitting with linear 
regression. Topics such as simple linear 
regression, multiple regression, and 
stepwise regression are presented in ex¬ 
amples and in two programs. The sim¬ 
ple linear regression program teaches 
the fundamentals of regression tech¬ 
niques, while the multiple and stepwise 
regression program will form the foun¬ 
dation of a powerful analysis tool. 

Many different examples are included 
in this chapter to help the reader envi¬ 
sion possible applications in his work. 

Chapters 5 through 8 also deal 
with conventional topics, such as solv¬ 
ing linear equations, finding the roots 
of polynomials, performing numerical 
integration, and finding numerical solu¬ 
tions for differential equations. Of all of 
these chapters—indeed, of the whole 
book—chapter 8 ("Numerical Solutions 
to Differential Equations") is the most 
disappointing. There is such potential 
in this chapter to give excellent engi¬ 
neering and scientific applications, and 
the authors drop the ball. There is not 
one example that is taken directly from 
an engineering or scientific application. 
Rather, all examples remind me of a 
purely mathematical approach to differ¬ 
ential equations: "Example #2 Solve the 
following differential equation using 
the Runge-Kutta formula from equation 
(7) at x = 0.2 and h=0.2." 

Does this sound like engineering? 
Does this sound like fun? The closest 
they come to redemption in this chap¬ 


ter is to include two problems for the 
reader to solve, one dealing with a clas¬ 
sical liquid mixture question and one 
dealing with radioactive decay. 

Chapters 9 and 10 are well written. 
Chapter 9 presents the concepts and 
definitions of linear programming. The 
material suggests how to formulate a 
problem and offers the traditional 
graphical and linear algebra solutions 
before discussing the Simplex method 
of solution. The remainder of the chap¬ 
ter describes how to use the 350-line 
Simplex program and provides many 
practical examples. Chapter 10 returns 
to graphing techniques and suggests sev¬ 
eral methods for exponential smoothing 
of data. This topic is presented with the 
anticipation of being able to project or 
forecast future trends based on pre¬ 
viously collected data. 

Chapter 11 is devoted to CPM 
(Critical Path Method). This technique 
is used for project planning and sched¬ 
uling. While the topic is interesting, it 
probably should have been included in 
a book for managers, not engineers. 

The remaining four chapters cover 
sorting techniques, disk data files, data 
structures, and random numbers (used 
for simulation). The topic of data struc¬ 
tures is probably a new concept for en¬ 
gineers and scientists. The authors cor¬ 
rectly point out that when large 
amounts of data are to be handled, the 
data structure can dramatically affect 
execution time. Concepts for handling 
data such as stacks, queues, linked lists, 
and bidirectional lists are presented, 
along with examples and programs. 
Again, these programs can be used as 
main programs or as subroutines. 

This text will not be disappointing 
for persons seeking engineering and 
scientific methods of handling data. 

The authors present their subject mat¬ 
ter clearly and concisely. 

-William H. Murray 


CIRCLE NO. 193 ON READER SERVICE CARD 


PC Tech Journal 















Breakpoint encountered, CS:IP=..MEMORY_TESTERI100 
OP 

ADDR CODE OPERAND(S) 


064SB JMP $+0082 .MEMORY TESTERI99 

. MEMORY TESTERI99' 

064DD ADD WORD PTR 1F5B21.0040 ;.MEMADDR+0002 

192E2 READ - DS - 00 

192E3 READ - DS - 10 

192E2 WRITE - DS - 40 

192E3 WRITE - DS - 10 

LOCAL VARIABLES OH THE STACK 
BUFFER -- 09D3:0000 BUFFERLEMGTH = 001F 
BUFFER CONTENTS 

09D3 0000 54 45 53 54 4D 45 4D 4F 52 59 20 50 4F 49 4E 54 «TESTMEMORY POINT* 


09D3:0010 
AX 00A5 
BX=03FF 
CX 000b 
DX 0000 


l 00 00 00 00 00 00 00 00 00 00 0 
SS= 09D3 DS=09D3 ES=1000 

SP= F580 SI-F5B8 DI^09D3 

BP=F580 

FL= 00 D0 II T0 S0 Z0 A0 P0 C0 


Assemble BP BYte COMpare CONsole DEIete DMa ECho EMacro EValuate Fill 
So IF INIt INT LOAd LOGic LOOp MAcro MEnu MODule MOVe NEst 


(C)Copyright Atron Corp. 1983, 


Atron s PC Probe Version X1Q3 


MOR 


ATRON Announces 
A State of the Art Advance in 
Software Debugging—PC Probe 


PROGRAMMERS AND 
MANAGERS know that finding bugs 
during new product development and 
over the entire product life cycle adds up 
to a significant portion of total product 
deelopment cost and support time. 
Investing in the right debugging tools will 
greatly improve time to market as well as 
minimize development cost. Atron Corp. 
has the right debugging tools for the PC 
environment. These are: 

1) PC PROBE 

2) SOFTWARE PROBE 

3) PERFORMANCE ANALYZER 

PC PROBE plugs into a PC or compatible. 
It is a total system debugger with features 
like: 

Real Time Trace 

Program flow is saved in trace memory 
while running at full speed. PC PROBE 
can display trace data as high level 
language line numbers, procedure names 
etc. — or as 8088 instructions. In addition, 
DMA cycles, interrupt lines and external 
logic probes can be traced. Real time 
trace answers the question ‘ How did I 
get here"? 

Memory Protection 

What good is a debugger that can be 
wiped out by an undebugged program? 
PROBE software is write protected and 
can’t be changed. 


Hardware Breakpoints 

The PC PROBE has 8 breakpoints and 
can trap conditions such as instruction 
execution, read, write, 10, DMA, interrupt, 
or external logic probes. Breakpoints can 
also be set on ranges of address or 
data — symbolically too! 

Enhanced Human Interface 

The PC PROBE designers know the 
importance of EASE OF USE. The PC 
PROBE interface has a menu window 
which displays the syntax of each 
command — so you never have to 
remember how a command works. It also 
recalls the previous invocation of each 
command to save tedious typing — and 
tedious thinking! 

Symbolic Debugging 

Avoid the tedium of sifting through link 
maps to find out where things are. The 
PC PROBE uses your C, PASCAL, 
assembly language program symbols. 

Macro Commands 

Why be limited by a fixed set of de¬ 
bugging commands? PC PROBE lets you 
create your own powerful macro com¬ 
mands with parameter passing, nesting, 
LOOPING and IF/THEN/ELSE control. 


ANNOUNCING 
SOFTWARE PROBE 

The same great software used on PC 
PROBE is now available separately as 
SOFTWARE PROBE - 

ONLY $295 

Software probe is the only software 
debugger available which provides a 
hardware reset and break box for 
program crash recovery. What good is 
a software debugger if you can’t get 
control of run away programs? 

PERFORMANCE ANALYZER 

How do you find time critical program 
problems or know where to start 
performance tuning your software? Get 
Atron's new Software Performance and 
Timing Analyzer. Then you can display 
histograms of how your programs run — 
by time or by events. You can perform 
many different timing measurements. 

Atron has many happy customers who 
have made critical product schedules 
because of PC PROBE. Why waste time 
on primitive debugging techniques? — 

Call us today and ask for your 12-page 
data sheet. Manuals also available for $25. 


tSuEjh 

- 20665 FOURTH STREET • SARATOGA. CA 95070 • (408) 741-5900 

CIRCLE NO. 107 ON READER SERVICE CARD 













“In the art 
ofprogramming 
the difference between 
greatness and mediocrity 
is often the quality of 
the artist’s tools. ” 


In every top programmer’s tool kit there are usually ; 
few secret weapons. PolyMake and PolyLibrarian hav 
become the newest essential secret weapons for hun 
dreds of professionals who are setting new standards c 
productivity and performance for themselves and th 
industry. 


Praise From Professionals 

“PolyLibrarian is a powerful tool for serious 
hobbyists and professional programmers. It 
is a thing of beauty; a work of art. The docu¬ 
mentation is excellent, the large selection 
of commands are intuitive to learn and easy 
to use, and the program itself provides a 
service of inestimable value. It is refreshing 
to see a tool of this caliber available for seri¬ 
ous programmers. The design of this pro¬ 
gram shows foresight and ingenuity. It sets 
the human engineering standard for pro¬ 
gramming utilities. If all of a programmer’s 
tools were so simple to work with, better 
programs could be developed in less time 
and with fewer headaches. Bravo, Polytron! 
I look forward to your next product.” 

Dan Rollins, 

Programmer and Author writing in PC Age 

“PolyLibrarian is an extensive, friendly utility 
. . . an excellent tool for serious program¬ 
mers. It combines professional quality with 
a flexible user interface.” 

Greg Estes 
Editor, Programmers Journal 

“I am thoroughly pleased [PolyLibrarian] is 
definitely one of the best products of its 
type that I have ever used on any system.” 

An Unsolicited Comment from 
Steve Kauffman 
Consulting Engineer 


To Order or Request Literature Call 

1 - 800 - 547-4000 

Ask For Dept. 310 
VISA & MasterCard Accepted 
Or Send Checks, P.O.’s To: 
Polytron Corporation ds-310-fi 
P.O. Box 787, Hillsboro, OR 97123 

Add $1.25 Shipping Charge For Each 
Product Ordered. 

CIRCLE NO. 268 ON READER SERVICE CARD 



The Object Module Library Manager for MS-DOS ™ 

PolyLibrarian lets you create a single library from related Objects Modules. Th 
IBM PC Linker will then select only the modules necessary to produce an execu 
able file. PolyLibrarian can: □ Create, organize, reconstruct, dissect, and compre: 
libraries of object code modules. □ Add, delete and replace an object module 

□ Extract a module from a library to create an OBJ file. □ Change public an 
external names. □ Optimize a module to shorten overall size of a library 

□ Modules are time-stamped within the library. □ Supports full path name: 

□ Supports Microsofts’ original and latest Linker (Version 2.4). □ Includes insta 
lation program to customize options to your specific needs. □ Features thre 
Modes of Operation (Interactive, Command File, Command Line) that can b 
freely intermixed. □ Surpasses performance of other primitive librarians. □ Fei 
tures a highly functional user interface that uses simple meaningful key word: 

□ Requires 128K RAM, MS-DOS (PC-DOS) 1.1, 1.2 or 2.0. □ Compatible wit 

any compiler or assembler that uses the MS-DOS (PC-DOS) Linker. □ Shippe 
with comprehensive Users Manual including step-by-step tutorial for. jQj 



POLYLIBRARIAN 



Extends PolyLibrarian’s power to lntel m Format Libraries. 

PolyLibrarian II is an enhanced version of PolyLibrarian. In addition to all th 
features and functions listed above for PolyLibrarian, this version adds a ne 1 
dimension of productivity for programmers using Intel Language Product: 

□ Compatible with any Intel Format Library and any Microsoft Format Libran 

□ Compatible with Intel’s Link 86 under MS-DOS. ....... *14! 



POLYMAK 



The Intelligent Program Builder & Maintenance Tool for MS-DOi 

PolyMake frees you from the need to remember which files depend on others an 
which files have been modified. PolyMake will: □ Remember the exact sequence c 
operations necessary to make a new version of a program. This will significantly r< 
duce development time, prevent bugs & manage large software projects □ Aut< 
matically invoke your compiler, assembler, linker, librarian, or do whatever is nece 
sary to bring all dependent files up to date. □ Compare the date and time of all rel< 
vant files and use internal rules to rebuild a program or complete software systen 
□ Rules can be modified and expanded. □ Extensive debug capabilities help cor 
struct efficient make files. □ Includes features superior to UNIX Make. □ Ful 
automatic operation under MS-DOS 2.X. □ Full path name capabilities under M! 
DOS 2.X. □ Requires 128K. Shipped with a comprehensive Users Manual 


TM 

































A S E S 


Hercules Color Card 


Hardware, software, 
and other developments 
for the PC 


HARDWARE 


IBM has announced price 
reductions on many of 
its products. First, less expen¬ 
sive versions of the PC and 
PC/XT have been intro¬ 
duced. These new machines 
come with 256K memory 
and one 360K disk drive. A 
typical configuration consist¬ 
ing of a new 256K version 
PC, one 360K disk drive and 
adapter, and a monochrome 
display and adapter costs 
$2,520, a reduction of 23 per¬ 
cent. A new XT with 256K 
and a monochrome display 
and adapter now costs $4,920, 
a reduction of 18 percent. 

Other reductions were in 
the price of the Portable PC 
($2,595) and the PC/r (entry 
model —$599; 128K model — 
$999). In addition, a new 
version of the Portable PC 
with two factory-installed 
disk drives has been intro¬ 
duced ($3,020). The price for 
other PC system units has 
been lowered as much as 23 
percent, and new, lower 
prices are also in effect for 
many PC options. 

IBM 

Entry Systems Division 
P.O. Box 2989 
Delray Beach, FL 33444 
305-241-7614 


A color graphics card for the 
PC and XT is now available 
from Hercules Com¬ 
puter Technology. The 

company claims that its 
Hercules Color Card 

matches the performance of 
the IBM Graphics Monitor/ 
Adapter card and even offers 
a parallel printer port not 
found on the IBM product— 
all for $1 more than the IBM 
card. The Hercules Color 
Card is one-half the size of 
the IBM card and can fit 
into one of the XT's short 
expansion slots. The size re¬ 
duction was made possible 
by advanced gate array tech¬ 
nology. The Hercules card is 
compatible with all color 
graphics software for the 
IBM card. $245. 

Hercules Computer 
Technology 
2550 Ninth Street 
Berkeley, CA 94710 
415-540-6000 

CIRCLE 484 ON READER SERVICE CARD 


A lightpen that functions on 
both IBM's monochrome and 
color displays has been devel¬ 
oped by The Lite-Pen 
Company, Inc. The prod¬ 
uct, called the Lite-Pen 
System, talks directly to 
the computer through the 


CRT when the pen touches 
the screen. In addition to the 
Lite-Pen itself, the company 
is offering eight software pro¬ 
grams to be sold with the 
pen, and plans to introduce 
some overlay programs that 
will enhance current sys¬ 
tems, including Lotus 1-2-3 
and WordStar. The Lite-Pen 
is made of anti-slip stainless 
steel. It self-compensates for 
screen intensities and main¬ 
tains a one-dot resolution. 
The package comes with a 
small, four-conductor I/O 
cable that connects to the 
computer. $295. 

The Lite-Pen Company 
P.O. Box 45255 
Los Angeles, CA 90045 
213-670-8658 

CIRCLE 498 ON READER SERVICE CARD 


The recently announced 
Cabling System from 
IBM is designed to reduce 
the complexity and cost of 
installing or moving com¬ 
puters within a building. To 
be available in October 1984, 
the system is similar to tele¬ 
phone lines, with connec¬ 
tions made to outlet plates in 
office walls. The outlets are 
connected by cable to a dis¬ 
tribution panel located in a 


wiring closet. A panel can 
accept up to 64 cables. Two 
devices can be connected 
with patch cables at the clos¬ 
ets where the cables con¬ 
verge. If a computer is 
moved from one room to an¬ 
other, it is plugged into the 
wall outlet at its new loca¬ 
tion and the patch cable in 
the wiring closet is recon¬ 
nected. In conjunction with 
the new cabling system, IBM 
also announced a local area 
network, to be implemented 
in two to three years, that 
would enable computers, 
workstations, and other de¬ 
vices to share resources and 
exchange information. 

IBM 

Information Systems 
Group 

900 King Street 

Rye Brook, NY 10573 

914-934-4829 

CIRCLE 486 ON READER SERVICE CARD 



The IBM Cabling System 


CIRCLE 460 ON READER SERVICE CARD 


August 1984 


193 












A new full-page display has 
been designed for the IBM 
PC and compatibles by Mi¬ 
cro Display Systems, 
Inc. Called the Genius 
VHR (for very high resolu¬ 
tion), the monitor is 15 
inches high with a density 
of 720 by 990 pixels. The 
user can select a full page 
either with the traditional 
25-line mode or with 66 
lines. The Genius VHR has 
a tilt-screen and is available 
in amber, green, or white 
phosphor. $1,150. 

Micro Display Systems 
P.O. Box 455 
Hastings, MN 55033 
612-437-2233 

CIRCLE 494 ON READER SERVICE CARD 


MicroTouch Systems, 
Inc. has announced the 
touch-sensitive Point-1 
Color Kit for the IBM PC 
color display monitor. The 
kit allows color monitors to 
be equipped with a screen 
that enables users to select 
from menus, position the 
cursor, and create graphics 
merely by touching the 
monitor with a fingertip. 
The touch screen offers a 
resolution of 1,024 by 1,024 
touch points. Accurate ma¬ 
nipulation is possible down 


to single letters. Besides the 
13-inch-diagonal touch 
screen, the kit includes an 
intelligent controller and 
RS-232-C serial interface. In¬ 
stallation is done by Micro- 
Touch or a qualified techni¬ 
cian. Point-1 Color Kit is 
fully programmable and is 
supported by software devel¬ 
opment tools. OEM price: 
$650; unit price: $1,045. 
MicroTouch Systems, Inc. 
400 W. Cummings Park 
Woburn, MA 01801 
617-935-0080 

CIRCLE 496 ON READER SERVICE CARD 



Point-1 Color Kit 


Two new monitors are now 
available from Princeton 
Graphic Systems. They 
are the MAX-12, a mono¬ 
chrome monitor with amber 
phosphor,- and the SR-12, a 
high-resolution RGB color 
monitor. The MAX-12 de¬ 
livers 900-by-350 resolution 


and features dynamic focus¬ 
ing circuitry, which ensures 
sharpness from the center to 
the edges and corners. The 
SR-12 has 690 horizontal and 
480 vertical resolution that is 
achieved without using in¬ 
terlace technology. The re¬ 
sult is an image without 
flickering, suitable for both 
word processing and graph¬ 
ics. An interface card is re¬ 
quired to support the resolu¬ 
tion generated by the SR-12. 
Princeton Graphic Systems 
markets the Scan-Doubler in¬ 
terface card for an additional 
$249. Prices: MAX-12, $249; 
SR-12, $799. 

Princeton Graphic Systems 
1101-1 State Road 
Princeton, N] 08540 
800-221-1490 
609-683-1660 

CIRCLE 490 ON READER SERVICE CARD 


The HiNet/PC Adapter 
from Digital Micro¬ 
systems allows IBM PCs to 
be a workstation on Digital's 
HiNet LAN. The adapter 
adds 64K RAM, a Z80 pro¬ 
cessor, RS-232-C interface 
port, and HiNet network in¬ 
terface to its host PC. The 
HiNet LAN system allows as 
many as 63 workstations to 


participate. It can simulta¬ 
neously support CP/M, 
CP/M-86, and MS-DOS ap¬ 
plications. $495. 

Digital Microsystems 
1840 Embarcadero 
Oakland, CA 94606 
415-261-1034 

CIRCLE 489 ON READER SERVICE CARD 



HiNet/PC Adapter 


Avatar Technologies, 
Inc. has a new protocol con¬ 
verter that allows PCs to 
emulate IBM 3278/79 termi¬ 
nals. The PA100 offers help 
screens and single-key 
switching between PC and 
terminal operation, with 
screen buffers to retain infor¬ 
mation from the mainframe 
environment when a user 
switches to PC mode. Multi¬ 
level security prevents unau¬ 
thorized access to mainframe 
data base files. Avatar also 
has introduced the PA100E, 


194 


PC Tech Journal 



















Diablo Systems' Series 36 


which allows any PC or 
ASCII terminal to access 
IBM mainframe environ¬ 
ments and ASCII hosts. Like 
the PA 100, the PA100E 
features help screens, the 
ability to switch between 
the minicomputer and IBM 
mainframe environments 
and the PC mode, and multi¬ 
level security. For remote ap¬ 
plications, the PA100E has a 
disconnect feature designed 
to prevent modem tie-ups. 
Prices: PA 100, $895; 

PA100E, $1,095. 

Avatar Technologies, Inc. 
99 South Street 
Hopkinton, MA 01748 
617-435-6872 

CIRCLE 487 ON READER SERVICE CARD 


IDE Associates has intro¬ 
duced a plug-in multifunc¬ 
tion card with from 64K to 
384K memory for the IBM 
PC and XT. IDEAmax 384 
allows cabling of both serial 
and parallel interfaces, en¬ 
abling the computer to inter¬ 
face printers, disks, and com¬ 
munications devices. The 
product uses a four-layer de¬ 
sign that has better noise im¬ 
munity than two-layer de¬ 
signs. Optional features in¬ 


clude serial interface, parallel 
interface, clock/calendar, 
and a game port. Every 
IDEAmax 384 comes with 
software for RAMFloppy 
disk emulation, real-time 
clock, parallel printer selec¬ 
tion, print spooler, and diag¬ 
nostic. Additional memory 
and options can be added 
later. Prices range from $320 
for 64K memory and one op¬ 
tion to $795 for 384K and 
four options. 

IDE Associates 
7 Oak Park Drive 
Bedford, MA 01730 
617-275-4430 

CIRCLE 493 ON READER SERVICE CARD 



Also introducing a multi¬ 
function card is Seattle 
Computer. Its card for the 
IBM PC and PC/XT is the 
RAM+6, which allows up 
to 384K additional RAM. 
Features include a clock/cal¬ 
endar, RS-232-C serial port, 
parallel port and game port. 
Also provided with RAM+ 6 
is FLASH DISK software, 
which speeds up certain disk 
operations, and FLASH 
PRINT software, enabling 


the printer to run at the 
same time the computer is 
being used. Seattle has 64K 
expansion kits. Prices begin 
at $395 for 64K memory. 
Seattle Computer 
1114 Industry Drive 
Seattle, WA 98188 
206-575-1830 


CIRCLE 492 ON READER SERVICE CARD 



Seattle Computer's RAM+6 


Diablo Systems, Inc. 

has a new daisywheel printer 
known as the Series 36. 

The printer runs at 30-40 cps 
and includes Diablo's All 
Purpose Interface with 
RS-232-C, IEEE 488, and Cen¬ 
tronics. A 12-bit parallel in¬ 
terface is available, making 
the printer compatible with 
most computers. Accessories 
for the Series 36 include sin¬ 
gle-bin electronic and me¬ 
chanical sheet feeders and a 
bidirectional tractor for 
graphics. The printwheel 
library has 18 languages and 
19 type styles. $1,595. 

Diablo Systems, Inc. 

24500 Industrial Blvd. 
Hayward, CA 94545 
415-498-7000 

CIRCLE 491 ON READER SERVICE CARD 


An auxiliary cooling system 
is available from Analytic 
Information Process¬ 
ing (AIP) to help lower 
the temperature in a PC or 
XT when expansion cards or 
hard disk drives are used. 
PCool is said to drop a PC's 
temperature an average of 15 
degrees Fahrenheit by pro¬ 
viding an intake air flow di¬ 
rectly across the expansion 
cards. It is supposed to break 
up hot spots by developing 
turbulence. $99.95. 

AIP 

P.O. Box 966 
Danville, CA 94526 
415-837-2803 

CIRCLE 483 ON READER SERVICE CARD 


Hicomp Computer 
Corporation is manufac¬ 
turing a bubble memory 
board for the PC and XT. 
Bubble Drive offers ei¬ 
ther 256K or 512K of non¬ 
volatile, high-speed mass 
storage on a single card that 
plugs into any I/O slot. It 
functions as a floppy disk 
and is compatible with PC 
DOS 1.1 and 2.0. No hard¬ 
ware or software modifica¬ 
tions are necessary. Standard 
features of the Bubble Drive 
are the write-protect and 
boot-enable switches and a 


August 1984 


195 
















self-installing feature that au¬ 
tomatically installs the Bub¬ 
ble Drive software after 
power-up. Available as an op¬ 
tion is an RS-232-C port. 
Prices: 256K version, $995; 
512K version, $1,495. 

Hicomp Computer Corp. 
5016 148th Avenue NE 
Redmond, WA 98052 
206-881-6030 

CIRCLE 485 ON READER SERVICE CARD 


The Chairman, a new 

graphics board from Mylex 
Corporation, offers 
graphics enhancements for 
the PC and XT. Using a sin¬ 
gle expansion slot, The 
Chairman combines color or 
monochrome display options 
in one board. It allows graph¬ 
ics modes on the mono¬ 
chrome display in four 
shades of green, or drives the 
color monitor in 16 colors. 
The Mylex software diskette 
that comes with the package 
provides APL characters and 
supports the enhancements 
of The Chairman. $595. 
Mylex Corporation 
5217 NW 79th Avenue 
Miami, FL 33166 
305-592-9669 

CIRCLE 495 ON READER SERVICE CARD 


SOFTWARE 


Micro Focus has intro¬ 
duced the High Perfor¬ 
mance Level II COBOL 

compiler for the IBM PC. 

The new compiler is in¬ 
tended for large corporate 
and government data process¬ 
ing departments. It is GSA- 
certified to the Federal High 
Level ANSI 74 COBOL stan¬ 
dard and includes fast compi¬ 
lation (typically more than 
1,000 lines per minute) and 
an 8088 Native Code Genera¬ 
tor. Price: $1,995. 

Micro Focus 

2465 E. Bayshore Road 

Palo Alto, CA 94303 

415-856-4161 

CIRCLE 475 ON READER SERVICE CARD 


Ashton-Tate has intro¬ 
duced dBASE III, a new re¬ 
lational data base manage¬ 
ment software program de¬ 
signed for 16-bit and larger 
computers. Initially, the 
product will be available for 
IBM PCs or XTs with at 
least 256K and two disk 
drives or a hard disk. Fea¬ 
tures include storage capabil¬ 
ities of up to 2 billion rec¬ 
ords per file and 128 fields 
per data base. Ten data base 


files can be used simulta¬ 
neously. Also offered are the 
ability to establish relations 
between files, full-screen re¬ 
port generation, and mailing 
label capability. A dBASE 
Assistant provides help with 
the commands for new users,* 
this feature can be turned off 
when not needed. $695. 

Ashton-Tate 

10150 West Jefferson Blvd. 

Culver City, CA 90230 

213-204-5570 

CIRCLE 482 ON READER SERVICE CARD 



dBASE Ill's Report Facility 

Microsoft Corporation 

has announced a new ver¬ 
sion of Flight Simula¬ 
tor, a real-time simulator 
program that puts the user 
in the pilot's seat of a Cessna 
182. More detailed scenery 
and lifelike airplane perform¬ 
ance features have been ad¬ 
ded, and support for RGB 
monitors is now provided. 


The program requires 46K of 
memory, one disk drive, and 
a color/graphics adapter. 

Price is $49.95. 

Microsoft Corporation 
10700 Northup Way 
Bellevue, WA 98009 
206-828-2020 

CIRCLE 481 ON READER SERVICE CARD 


REA Computer Tech¬ 
nology has introduced a 
new design lab for engineers 
and experimenters who 
would like to use Program¬ 
mable Array Logic (PAL) 
technology. The PAL design 
lab consists of a programmer 
called PALBLASTER, that 
comes either in kit form or 
assembled, and a PAL com¬ 
piler called PALCMP. The 
PALBLASTER uses an 
RS-232-C port and can pro¬ 
gram all AMD 20-pin PAL 
devices. PALCMP takes in 
PAL device specs in the form 
of equations and outputs a 
fuse map image. From $275 
to $795, depending on the 
amount of assembly needed. 
REA Computer 
Technology 
P.O. Box 1408 
Almonte, Ontario 
Canada KOA 1A0 

CIRCLE 480 ON READER SERVICE CARD 


196 


PC Tech Journal 

















sage capability, error detec¬ 
tion and loop control within 
batch command files, and 
built-in support for Hayes 
300/1200 and Concord Data 
Systems CDS 224 auto-dial 
modems. $179.95 for two 
complete sets of software and 
documentation. $99.95 for 
additional single-unit kits. 
Gateway Microsystems 
9401 Capital of Texas 
Highway 
Suite 105 
Austin, TX 78759 
512-345-7791 

CIRCLE 478 ON READER SERVICE CARD 


The new DATABUS 
compiler from Sunbelt 
Computer Systems, 
Inc. is designed for use 
with micros based on the In¬ 
tel 8086/88 that use MS-DOS 
2.0 or PC-DOS 2.0. This com¬ 
piler can be used with most 
terminals. It generates as¬ 
sembler source from the 
DATABUS text, and when 
this code is assembled into 
absolute machine code, it re¬ 
sults in significantly faster 
performance. $495. 

Sunbelt Computer Systems 
Suite 120 

5525 East 51st Street 
Tulsa, OK 74135 
918-660-0670 

CIRCLE 476 ON READER SERVICE CARD 


SNA Exchange, a new 

integrated hardware/software 
package from Intelligent 
Technologies, unbundles 
the PC Exchange system's 
extensive range of PC-to- 
mainframe SNA emulation 
software from its asynchro¬ 
nous communications soft¬ 
ware and telephone manage¬ 
ment system. The SNA Ex¬ 
change package provides 
IBM PC users with a wide 
variety of synchronous com¬ 
munications capabilities, in¬ 
cluding emulation of the 
IBM 3278/9 terminal, 3274 
cluster controller, and 3287 
(LU3) printer. $895. 
Intelligent Technologies 
151 University Avenue 
Palo Alto, CA 94301 
415-328-2411 

CIRCLE 479 ON READER SERVICE CARD 


Xi Systems Technol¬ 
ogy has announced its 
DSNM, a data distribution 
and global network commu¬ 
nications utility. DSNM au¬ 
tomatically dials and distrib¬ 
utes data files and applica¬ 
tion programs to remote 
workstations. The software 
supports async, bisync, and 
SDLC protocols. It allows 
workstation users to load and 
execute interactive applica¬ 
tion programs at other work¬ 
stations and permits remote 


BLAST, from Commu¬ 
nications Research 
Group, Inc., is an asyn¬ 
chronous communications 
package that provides truly 
bidirectional full duplex 
operation, allowing a system 
to receive one file while 
sending another. The BLAST 
protocol continuously inter¬ 
leaves unit blocks of data 
with check and acknowledg¬ 
ment blocks, thus minimiz¬ 
ing delays because of echoes 
and noise. BLAST operates 
through RS-232-C ports and 
asynchronous modems, over 
dial-up lines or private net¬ 
works, or from port to port 
over a direct connection at 
speeds up to 19.2 Kbps. $250. 
Communications Research 
Group, Inc. 

8939 Jefferson Highway 
Baton Rouge, LA 708C79 
504-923-0888 

CIRCLE 471 ON READER SERVICE CARD 


Gateway Microsys¬ 
tems has introduced Mi- 
crogate/FT, a file transfer 
package that employs the 
IBM Bisync communications 
protocol in an asyncronous 
PC-to-PC environment. Fea¬ 
tures include interactive, 
batch, and remote command 
modes, conversational mes¬ 


job entry to the host main¬ 
frame computer. $395 for 
IBM PC license. 

Xi Systems Technology 
P.O. Box 46126 
Cincinnati, OH 45246 
513-771-6263 

CIRCLE 477 ON READER SERVICE CARD 


Xi Systems Technology's DSNM 


LABCODE-QC, a statisti¬ 
cal quality control system, 
has been announced by 
Granada Systems De¬ 
sign. The system produces 
a variety of different control 
charts, such as p, c, x-bar, 
range, cusum, and other 
Shewhart-type charts. As 
many as 12 different sets of 
data can be plotted simulta¬ 
neously. Statistical parame¬ 
ters, including the mean, 
standard deviation, and mini¬ 
mum and maximum values, 
are calculated. $380. 

Granada Systems Design 
303 Fifth Avenue 
New York, NY 10016 
212-686-6945 

CIRCLE 468 ON READER SERVICE CARD 


August 1984 


197 























A new programming lan¬ 
guage— Plain English— 
has been announced by 
Command Language 
Systems, Inc. Plain 
English employs a "building 
block" technique to create a 
unique, personalized vocabu¬ 
lary. Most users can become 
proficient in the language in 
only four hours. $595. 
Common Language 
Systems 

100 E. Sybelia Avenue 
Maitland, FL 32751 
305-628-5973 

CIRCLE 474 ON READER SERVICE CARD 


Orchid Technology has 

reduced the price of its 
PCnet local area network 
from $695 to $495. The com¬ 
pany has also introduced a 
new PCnet advanced produc¬ 
tivity software package, Ver¬ 
sion 2.4. PCnet uses a non- 
dedicated server and can 
share IBM XT disk space. 

The network allows up to 
256 users with more than 16 
servers. The new software 
package gives PCnet faster 
and better performance. 
Orchid Technology 
47790 Westinghouse Drive 
Fremont, CA 94539 
415-490-8586 

CIRCLE 473 ON READER SERVICE CARD 



Software Labs has intro¬ 
duced the C Utilities 

Package for the IBM 
PC/XT. This package ena¬ 
bles C programmers to call 
functions for screen control, 
graphics, animation, and 
mathematical capabilities. In 
addition, it provides compre¬ 
hensive omnibus I/O control 
for all of the IBM PC/XT pe¬ 
ripherals. The package re¬ 
quires 128K, two disk drives, 
and a C compiler. $119. 
Software Labs 
1221 Matisse Street 
Sunnyvale, CA 94087 
408-730-8108 

CIRCLE 470 ON READER SERVICE CARD 


m* W: 

I C UTIMTJES 



I 

C Utilities 


A new package from 
Davong Systems, Inc. 

allows the users of Davong's 
MultiLink local area net¬ 
work to read, create, and 
send mail to others on the 
network or to other local 
area networks. LAN: Mail 


Monitor is a fully net¬ 
worked electronic mail pro¬ 
gram that includes mail 
manager capabilities to add, 
delete, or change user and 
distribution lists and to mon¬ 
itor system usage. The LAN 
package includes an editor, 
an archive facility to save re¬ 
ceived letters, the ability to 
send data files with letters, 
and the ability to check on 
letters sent but currently un¬ 
delivered. $695. 

Davong also announced 
that a print spooler will be 
added to the software pack¬ 
age accompanying the Da¬ 
vong MultiLink local area 
network. Current MultiLink 
users can add the print 
spooler to their LAN for a 
nominal upgrade charge. 
Davong Systems, Inc. 

217 Humboldt Court 
Sunnyvale, CA 94089 
408-734-4900 

CIRCLE 472 ON READER SERVICE CARD 


Introl Corporation has 

introduced a cross-software 
version of the Introl-C/6809 
C language compiler system. 
The new cross-compiler, 
called Introl p/n PC 
6809 , permits the IBM PC to 
be used for developing pro¬ 
grams in C for any 6809- 
based target. The package 


produces compact code that 
is re-entrant, relocatable, and 
ROMable. It can generate 
either position-dependent or 
position-independent code 
and data, and it has features 
that permit program seg¬ 
ments to be selectively 
placed under any of 16 
location counters. $200. 

Introl Corporation 
647 W. Virginia Street 
Milwaukee, WI 53204 
414-276-2937 

CIRCLE 467 ON READER SERVICE CARD 


OTHER WARES 


NPC Photo Division 

has come up with a device to 
take photographs of a CRT 
screen. Screenshooter 
uses Polaroid 600 high-speed 
color film, Polachrome 
35mm instant slide film, or 
conventional 35mm color 
and black and white films. 
The outfit includes a Pola¬ 
roid One-Step 600 camera, a 
CRT hood and adapter, 
diopter lens, and 35mm SLR 
camera bracket. $169. 

NPC Photo Division 
1238 Chestnut Street 
Newton, MA 02164 
617-969-4522 

CIRCLE 466 ON READER SERVICE CARD 


198 


PC Tech Journal 


























TECH BOOK 


A Special Section for Product and Service Listings 


Computer/Services 


INT’L DOCUMENTATION 

INTERNATIONAL DOCUMENTATION provides 
reliable service in the preparation of foreign 
documentation & mktg. materials. Service in¬ 
cludes translation, typesetting, & graphic art. 
Clear and accurate documentation in any lan¬ 
guage is a must. Let INTERNATIONAL DOCU¬ 
MENTATION make your foreign documentation 
speak for you. 

INTERNATIONAL DOCUMENTATION 
120 Barranca Ave. Suite A 
Santa Barbara, CA 93109 
(805)965-4761/(213)990-4886 


Hardware/ Add-on 
Boards 


EPROM &MP PROGRAMMER 

PC compatible APROM-2000 card can program 
2716, 32,32A, 64,128, MCM 68764 EPROMS 
and also 8748/49/51 processors. The software 
(CP/M-86, MSDOS) can read, verify and pro¬ 
gram eproms and uses fast programming al¬ 
gorithm. The zero insertion socket is mounted 
on an external box. The external box for BI-PO- 
LAR proms and PAL is also available. 
ADVANCED MICROCOMPUTER 
SYSTEMS, INC. 

6802 N.W. 20th Ave. 

Ft. Lauderdale, FL 33309 
305-975-9515 

DT2801 SERIES ANALOG I/O 

Plug-in data acquisition boards with 8DI/16SE 
analog inputs, high or low level programmable 
gains, 2 analog outputs, 16 lines of digital I/O, 
DMA, on-board clock, and on-board micropro¬ 
cessor. Optional software subroutines and screw 
terminal panels. 

DATA TRANSLATION INC. 

100 Locke Drive 
Marlboro, MA 01752 
(617)481-3700 


256K NO SLOT MEMORY 

IBM PC-1 owners. Let us install up to 256K RAM 
on your EXISTING SYSTEM BOARD using NO 
SLOTS. We improve your IBM PC so it can ad¬ 
dress the 64K RAM chip, 256K-S335 (expand¬ 
able and warranted). DO-IT-YOURSELF KITS— 
PC-KPC-S69.95 ($99.95 assembled). 64K- 
RAMS-S5.85 ea. 

ADD-MEM 
22151 Redwood Rd. 

Castro Valley, CA 94546 
(415)886-5443 

BOOT PC FROM HARDDISK 

FiXT boots from DATAMAC, DAVONG, PEGA¬ 
SUS, PERCOM, GREAT LAKES, others. Adds XT- 
like BIOS interface for your disk to IBM PC2. Ends 
need for installable device drivers. DOS 2.0/2.1 
reqd. Plug-in installation. Specify disk/control¬ 
ler model with order $70 + $3 shipping. (CA or¬ 
ders add 6%). 

GOLDEN BOW SYSTEMS 
P.O. Box 3039 
San Diego, CA 92103 
(619)298-9349 

TOTAL PC/XT COMMUNICATION 

ELECTRONIC SYSTEMS ENGINEERING proudly 
introduces two extremely versatile and powerful 
communications adapters for the PC/XT and 
compatibles. One is RS—232C serial, the other 
has 3 fully programmable 8 line parallel ports. 
Both have full 64K SELECTABLE I/O address 
decoders. Price is $139.50 each. 

ELECTRONIC SYSTEMS ENGINEERING 
P.O. Box 572 D.T.S. 

Portland, Maine 04112 
MC/VISA (207) 773-7778 


Hardware/ 

Peripherals 


PC/STD BUS+ SOFTWARE $119 

STD EMULINK is a paralell interface to any STD 
Bus motherboard for IBM PC with Tecmar base¬ 
board. Comprised of STD Bus card, ribbon Ca¬ 
ble* BASIC drivers. STD EMULINK offers PC user 
economical link to industrial quality STD Bus 1/ 
O boards, [ideal for PROCESS CONTROL & AU¬ 
TOMATION. Send check or money order. 

STD EMULINK 
P.O. Box 673 
Upton, NY 11973 


Mailing Lists 


IBM MAILING LISTS 

Over 100,000 names of IBM personal computer 
owners (counts increase daily) available for rental 
on labels or magnetic tape. Total 550,000 in¬ 
cluding other brands. 

IRV BRECHNER 
TARGETED MARKETING, INC. 

Box 5125 

Ridgewood, NJ 07451 
(201)445-7196 


Publications 


DYNAMIC DUO RETURNS! 

Two new disk magazines for the IBM-PC-PC 
FIRING LINE (for programmers) and PC UN¬ 
DERGROUND (for non-tech folk) are available 
now. Send a self-addressed stamped disk mailer 
and two formatted DS/DD disks for your free 
copy. 

ABCOMPUTING 
P.O. Box 5503 

North Hollywood, CA 91616-5503 
(818)509-9002 


Security 


DATA PADLOCK 

DATA PADLOCK is a software implementation of 
the National Bureau of Standard Data Encryp¬ 
tion Standard. Written in Assembler. DATA PAD¬ 
LOCK offers max speed with no increase in file 
size. An 8 character password provides the key 
for encryption. Protect sensitive data, text or 
program files from unauthorized access. Works 
with all DOS versions $150. VISA/MC. 

GLENCO ENGINEERING 
3920 Ridge Ave. 

Arlington Hts.JL 60004 
(312)392-2492 


Software/Business 


dINVOICER + PLUS 

MENU-DRIVEN BILLING & ACCOUNTS RE¬ 
CEIVABLE MANAGEMENT SYSTEM. Produces 
Invoices, Aged Statements, Invoice Journals, 
Receipts Journals, Aged Customer Account 
Status, Past Due Notices, etc. Available with 
modifiable source code for dBASE II users $129 
or as a stand-alone Run-time package $199. 
DATAMAR SYSTEMS 
819 Gage Dr. 

San Diego, CA 92106 
(619)223-6444 


RATES AND INFORMATION 

Listings are grouped by category and consist of a bold lead line (23 characters 
maximum), 7 lines of ad copy (45 characters per line), plus 4 lines of com¬ 
pany name, address and telephone number. 

Listings are available only on a 3 issue basis at $60. per issue ($180. total). 
Copy will have a set format and remain the same for all 3 months. Enhance 
the appearance of your ad by including your Logo at an additional cost of $25. 
per issue ($75. minimum extra charge). Pre-payment is required by check, 
money order, or American Express, Diners Club, MasterCard, Visa credit 
cards. Closing Date: 1st of 2nd month preceding cover date. 

Send copy and remittance to PC TECH JOURNAL, TECH BOOK, 12th 
FLOOR, 1 PARK AVENUE, NEW YORK, NY 10016. Call (212) 725-4215 for 
additional information or assistance. 


Software/ 

Communications 


TELEX LINK SOFTWARE 

Link your computer to Western Union telex ser¬ 
vice via TWX or Easy Link. Cawthon’s telex soft¬ 
ware is specifically designed for telex 
communications and is easy to use, has on-line 
help, self-test diagnostics, frequently called 
numbers, and an excellent User’s Guide. Caw¬ 
thon’s telex software is available for the IBM-PC 
and many other computers. 



Cawthon 

Scientific 

Group 


CAWTHON SCIENTIFIC GROUP 
24224 Michigan Avenue 
Dearborn, Michigan 48124 
(313) 565-4000 Telex: 810-221-1265 


Software/Compiler 


DESMET C—S109 

Full K&R C compiler, assembler, linker, librarian, 
full-screen editor and example software. Both 
8087 and floating point libraries. OUTSTAND¬ 
ING PRICE/PERFORMANCE. Rated 1 st or 2nd in 
August '83 BYTE benchmarks. No royalties on 
generated code. C Ware newsletter. Unlimited 
updates at $20 each. PC-DOS (Ver 1.1 & 2.0), 
generic MS-DOS and CP/M-86 support. $109 
for complete package, shipping included. Now 
available with source level debugger. Price $159. 



WARE 

CORPORATION 


C WARE CORPORATION-MAIL ORDER DEPT. 

P.O. Box 710097 

San Jose, CA 95171-0097 

WIZARD C COMPILER 

The power of C with the thorough diagnostics of 
PASCAL. Full LINT diagnostic integrated with 
compiler. Full UNIX SYSTEM 3 compatibility. 
Floating point library: fast compact code; 1 reg¬ 
ister variable. In-line assembly code. UNIX em¬ 
ulation library. Uses MICRO-SOFT linker. PC/MS 
DOS 2.0 only. $450.00. 

WIZARD SYSTEMS SOFTWARE 
11 Willow Court 
Arlington, MA 02174 
(617)641-2379 































TECH BOOK 


C SOFTWARE DEVELOPMENT 

•Full C Compiler per K&R 
Inline 8087 or Assembler Floating Point 
Full 1 Mb Addressing for Code or Data 
•MS DOS 1.1 12.0 Library Support 
Program Chaining Using Exec 
Environment Available to Main 
•c-window' u C Source Code Debugger 
COMBINED PACKAGE $199 
c-systems 
PO. Box 3253 
Fullerton, CA 92634 
(714)637-5362 


Software Data 
Mgmt. 


THE FORMS DESIGNER'" 

Attention IBM Pascal, FORTRAN, and Assembly 
users! Save time in designing formatted screen 
I/O. Interactive Forms Editor allows you to draw 
lines and boxes, define fields, and edit text. Ac¬ 
cess forms or read keyboard entry by writing only 
one line of code. Provides sequential data re¬ 
trieval and storage. Requires 128K RAM. Only 
$275 complete. Demo and manual $35. Call or 
write: 

BIT SOFTWARE 
PO Box 619 
Milpitas, CA 95035 
(408)262-1054 


Software/ 
Development Tools 


ACTIVE TRACE 

A debugging & learning tool that lets you see how 
your basic program works. As your program runs, 
active trace shows you your variables & their 
current value & line number. (Dynamic Sym¬ 
bolic Debugger). Output to screen, printer or disk. 
No need to single step. Complete XREF map¬ 
ping. Review in BYTE 4/83, p. 334, & Micro¬ 
computing 12/83, p. 22. $79.95. Call toll free for 
info, (800)358-9120, U.S.; (800)862-4948, CA. 
AWARECO 
P.O. Box 695 
Gualala, CA 95445 
(707)884-4019 


FREE FREE FREE 

BASIC AIDS FACT SHEETS and our guide titled 
“MAKE YOUR PC PROFITABLE" are sent free to 
persons who request them. Learn more about 
developing Structured Programs in BASIC. This 
new release of BASIC AIDS is the most powerful 
program DEVELOPMENT and DOCUMENTA¬ 
TION tool available! 

TULSA COMPUTER CONSORTIUM 
P.O. Box 707,1004 North Dogwood 
Owasso, OK 74055 
(918)747-0151 


BASIC/USER INTERFACE 

Give your interpreted BASIC programs a profes¬ 
sional user interface with full screen menus and 
data-entry forms, by BLOADing our 4K ma¬ 
chine-language module. This module con¬ 
verses with your users via keyboard and video 
while you focus on the user’s needs. Send $30 
for module and programming guide. 
ALPENSTOCK ALGORITHMS 
P.O. Box 65 

Golden, CO 80402-0065 

C-INDEX+ 

C index plus provides complete data manage¬ 
ment for C language applications development. 
Includes variable length data storage, B+ Tree 
ISAM indexing, interactive tutorial. Supported 
compilers. Lattice & CI-C86. No application roy¬ 
alty fee. Object code license: $400. Demonstra¬ 
tion package: $25. 

TRIO SYSTEMS 

2210 Wilshire Blvd. Suite 289 

Santa Monica, CA 90403 

(213) 394-0796 

BASIC/BASIC AX-REFERENCE 

BXREF provides extensive cross reference ser¬ 
vices for the professional software developer. 
BXREF handles both interpreter and compiler 
source. Output is user selectable for VARI¬ 
ABLES/LINE NUMBERS, STATEMENTS, FUNC¬ 
TIONS, LITERALS, %INCLUDE’ed files for any 
combination. BXREF may be started interac¬ 
tively with prompting or by the use of command 
line parameters. $49.95 MC/VISA/CHECK/MO. 
SYSTEMS CONSULTANTS 
P.O. Box 116126 
Carrollton, TX 75011 

(214) 492-1315, tlx 4995 885 syscons. 

SOFTWARE PERFORMANCE 
PROFILER 

THE PROFILER ” will tell you where your pro¬ 
gram is spending it's time and allows you to do 
performance tuning on your code. Works with any 
language, data printed in histogram form. Easy 
to use and interpret. Complete user manual pro¬ 
vided. Requires DOS 2.0 or better and 64K. 
$175.00 VISA/MC OK. 

DWB ASSOCIATES 
PO BOX 5777 

BEAVERTON, OREGON 97006 
(503)629-9645 

PASCAL/FORTRAN/C UTIL 

Written in assembly language, Pascal/Fortran/ 
C Utilities control screen, keyboard, graphics, 
music, lightpen, mouse, joystick, printer, RS— 
232, & I/O ports. Line/circle/ellipse/pie, clip¬ 
ping, windowing & animation. Terminal emula¬ 
tor, random #, BIOS/DOS calls. W/150 pg. 
manual, demos. Specify compiler. $119. Check/ 
VS/MC. 

SOFTWARE LABS 
1221 Matisse Street 
Sunnyvale, CA 94087 
(408)730-8108 

ANOTHER DEBUGGER?? 

This one has FULL SCREEN format and SCREEN 
COEXISTENCE with test program (including 
graphics-even SCROLLS THROUGH LISTING 
FILES without disturbing the test session-all with 
NO COMMANDS and only 10 function keys! It’s 
fast (assembler), small (60K), and only $75 with 
manual. DOS 2.0 or 2.1 IBM PC, XT, COMPAQ 
PC-TEST 

for the software developer 
P.O. Box 54068 
San Jose, CA 95154 


FORTRAN CODE EDITOR 

IFCE is a program that renumbers, aligns & de¬ 
tabs FORTRAN IV to 77 programs. IFCE works 
on a routine by routine basis. IFCE is very out¬ 
standing in situations where statement num¬ 
bers are not ordered as a result of modifications 
& program maintenance. IFCE is a FORTRAN 77 
program. Dealers welcome. $85. 

La Mesa Research & Development 
P.O. Box 31 
Louisville, CO 80027 

C LIBRARY, TOOLS, SHELL 

Library for lattice C compiler: all DOS, Some BIOS 
function calls, enumerated and sorted file-names, 
longjimp, quicksort, random numbers, others. 
Tools: improved DIR, change mode, word count, 
walk directories, others. Source included. $50. 
Improved shell: all DOS internal commands, 
command history, etc. $55. 

LEMMA SYSTEMS. INC. 

1508 Calle del RancheroNE 
Albuquerque, New Mexico 87106 
(505)268-7220 

COBOL GENERATOR 

Generates IBM PC or MS COBOL 

• Screen Design/Data Dictionary 

• Structured Program Generator 

• Query/Report Generator 

From $250—send for information 
—The COBOL Experts— 

• Manframe to PC conversions 
BOMAC SYSTEMS 

P.O. Box 10670 
Pittsburgh, PA 15235 
(412)795-3581 

C LIBRARY UTILITIES 

Don’t reinvent the wheel. Save time & money. 
Do a better job. Extensive library with source. Best 
screen handling available. Sound, graphics, DOS 
2, printer, comm, date, time, and more. 150+ 
functions. DOS/BIOS gate gives complete con¬ 
trol of your PC. C86, Microsoft, Lattice. Intro, of¬ 
fer $79. Demo $30. 

ESSENTIAL SOFTWARE, INC. 

PO BOX 1003 
Maplewood, N.J. 07040 
(914)762-6605 


Software/ 

Engineering 


PELADA TEXT ENGINEER 

Engineering and Scientific Word processing. 
Technical symbols, special characters, super/ 
subscripts, italics, underlining, bolding. With 
graphics hardware you can design any symbols 
you want, up to 384 different characters. All 
characters visible on screen and printable. Easy 
English commands. $250. 

PELADA INFORMATICS INC. 

562 Johnson Street 
Kingston, Canada K7L-2A1 
(613)549-1747 


ELECTRONIC CIRCUIT ANALYSIS 

ECA is a high performance simulator for analog 
electronic circuits. Features include full editing, 
worst case, sensitivity analysis, ability to sweep 
components, 64 nodes. It is easy to use and very 
fast. Price $150. For all MS-DOS, CP/M, CP/M- 
86 computers. 

TATUM LABS 
P.O. Box 698 
Sandy Hook, CT 06482 
(203)426-2184 

PUBLIC DOMAIN FREEWARE 

Rent PC Disk Libraries for 7 days, copy yourself 
and return. Hundreds of business, games and 
utilities free for the taking! 

IBM PC-SIG—lOOVols. $99.50 

IBM PC-Blue 73 Vols. $99.50 

50' “flippy” Disks (blank) $99.50 
Rental is for 7 days after receipt (sent by VPS), 
3 more days grace to return. Credit cards ac¬ 
cepted, no deposit necessary. 

NATIONAL PUBLIC DOMAIN 
SOFTWARE CENTER 
1062 Taylor St., Visat, CA 92083 
(619)727-1015 

24 hr. orders. (619) 941-0925 tech. 


Software/General 


ATTENTION SOFTWARE AUTHORS 

Our established literary agency is seeking to 
represent talented freelance programmers. We 
open doors for our clients at the leading soft¬ 
ware houses and negotiate the best deal possi¬ 
ble. Put our years of experience to work for you. 
For further information on the benefits of repre¬ 
sentation contact: 

THE ROBERT JACOB AGENCY 
1642 Eveningside Drive, Suite 110 
Thousand Oaks, CA 91362 
(805)492-3597 


Software/Graphics 


FORTRAN GRAPHICS PACK 

60 Microsoft FORTRAN/Pascal (1.0 or 3.1) 
SuperSoft FORTRAN callable subroutines. 
Professional graphics power backed by a 90 page 
user manual, filled with examples and designed 
to be helpful to every level of user. Five packages 
in one! General utility, 2-D interactive, 2-D plots, 
3-D plots, and solid models (hidden line re¬ 
moval!) $95. 

MICROCOMPATIBLES 
11443 Oak Leaf Drive 
Silver Spring, MD 20901 
(301)593-0683 

TECHTRONICS 4010 EMULATION 

High resolution screen/printer graphics for the 
IBM PC. Full interactive capabilities with file 
transfer and cross-hair control. Utilizes PLOT 10, 
ISSCOS DISSPLA, TEL-A-GRAF and SAS pro¬ 
tocols. OFF-line review of graphics output. This 
emulation software is easy to use with high 
quality graphics at an affordable price. $80.00. 
Technological Systems Group 
5044 Haley Court 
Lilburn, GA 30247 
(404)923-4980 
























TECH BOOK 


GEOGRAF™ 

GEOGRAF™ helps you prepare high-quality, 
customized graphs for business, engineering and 
science. GE0GRAPH'“ cuts programming time 
by up to 80%. Callable from BASIC, FORTRAN 
or PASCAL. Versions available for most graph¬ 
ics cards and plotters. Fully compatible with 
Colcomp’s FORTRAN standard plotting package. 
GEOCOMP CORPORATION 
342 Sudbury Road 
Concord, MA 01742 
(617)369-8304 

FORTRAN/PASCAL PEN PLOTS 

PLOTMATIC: Complete support for H-P, IBM, 
Apple and HI pen plotters. All primitives avail¬ 
able as subroutine/procedure calls plus total 2D 
plotting support package. INTERFACES with 
GRAFMATIC. Specify compiler (version num¬ 
ber) and plotter. $135 Plotmatic from 
Microcompatibles. 

Microcompatibles Dept. P 
11443 Oak Leaf Drive 
Silver Spring, MD 20901 
(301)593-0683 


Software/ 

Languages 


ADA ON A MICRO 

JANUS/ADA is an exceptional programming 
language for software development. Being a 
subset of the Ada programming language 
JANUS/ADA implements those features of Ada 
which are directly needed by professional pro¬ 
grammers. These features include separate 
compilation, user defined data types and helpful 
program debugging. 

R.R. SOFTWARE 
P.O. Box 1512 
Madison Wl 53701 
(608)244-6436 

RUN IBM’S APLW/O 8087 

The 8087 ELIMINATOR allows you to run IBM’s 
APL (version 1.0) on your IBM PC (DOS 2.0) 
without an expensive 8087 chip. Software pack¬ 
age emulates functions of the 8087 required by 
APL. 30—day money—back guarantee. $49. 
(Visa, MC, Check, or MO). 

FORT'S SOFTWARE 
P.O. Box 396-TJ 
Manhattan, KS 66502 

PROFESSIONAL BASIC 

A new version of BASIC language that can ac¬ 
cess the full memory of the IBM PC supports the 
8087 co-processor. Professional BASIC is a 
window oriented system of more than a dozen 
trace screens for debugging and educational 
purposes. Dynamic syntax checking labeled GO/ 
SUBS cross-ref & set break pts. $345. 

MORGAN COMPUTING CO., INC. 

10400 N. Central Expwy., Suite 210 
Dallas, TX 75231 
(214)739-5895 


APPLICATION DEVELOPMENT 

Build any application in a fraction of the time it 
would take with BASIC or COBOL. TPL com¬ 
bines conventional programming language 
constructs with a database manager, screen 
handler, and report generator in a powerful, yet 
flexible application development system. Full TPL 
system $250. Manual/Demo $50. 

Randak Systems 
346 N. Kanan Road, #204 
Agoura, CA 91301 
(818)706-3737 


Software/ 
Mailing Programs 


PONY EXPRESS XL 

Designed for commercial mailings or extra large 
lists. Super fast machine code multi sort. Carrier 
route sort. Prints labels: 1 -5 across, singale line 
format, or user-defined format. Also CHESHIRE 
FORMAT. Unlimited files. Multi file merge. Rec¬ 
ords can be selected by user-defined codes, 
specific zips or zip ranges. Phone list option. 
Unique correction & deletion routines for updat¬ 
ing. Instant access to all records. Auto repeat for 
ease of record entry. Interfaces w/most word 
processors. $238. 

COMPUTECH 
975 Forest Ave. 

Lakewood, NJ 08701 
(201)364-3005 


Software/Operating 
Systems 


MULTIPLE USERS UNDER PC DOS 

MultiLink turns PC-DOS into an efficient multi¬ 
user multi-tasking operating system. Additional 
users are supported by attaching inexpensive 
CRT terminals or modems to serial ports on the 
PC, and can run normal applications designed 
for PC-DOS. Includes host communications 
software for public dial-in. 

THE SOFTWARE LINK INCORPORATED 
6700 23B Roswell Rd. 

Atlanta, GA 30328 
(404)255-1254 


Software/Sort 


OPT-TECH SORT/MERGE 

Extremely fast Sort/Merge program for the IBM- 
PC. Can sort or merge multiple files containing 
fixed or variable length records. Run as a DOS 
command or call as a subroutine, plus many 
other features. Now also sorts dBASE II files! 
Compare before you buy any other. Write or call 
for more info. $99. 

OPT-TECH DATA PROCESSING 
P.O. Box 2167 
Humble, TX 77347 
(713)454-7428 


INTERNAL SORT FOR BASIC 

NSORT—A FAST and easy to use quicksort 
subroutine written in C and assembler. CALL- 
able from BASIC. Sorts an unlimited number of 
records in memory on up to 8 keys of mixed types, 
ascending/descending. Like having a SORT built 
into the language. Works with compiled and in¬ 
terpreted BASIC, all DOS versions. $49.95! 
NATIONAL SOFTWORKS 
65 East Elizabeth Avenue 
Bethlehem, PA 18018 
(215)867-4800 


Software/Statistics 


AUTOBJ/AUTOBOX/BOX/SIM 

These PC statistical forecasting and modelling 
packages are as powerful as their mainframe 
counterparts. “Smart software" optionally al¬ 
lows the user to automatically build the best 
univariate and multivariate box-Jenkins models 
including Intervention Models. Easily interfaced 
with planning packages. Build B-J models in 
minutes. From $195. Demo $5. 

AUTOMATIC FORECASTING SYSTEMS, INC. 

PO BOX 563 
Hatboro, PA 19040 
(215)675-0652 


Software/Utilities 


IBM-PC COBOL PROGRAMMERS 

Screen coding is fun, fast and accurate with 
Qwik-Screen Builder. “Paint” screen layout and 
create true COBOL source code for screen sec¬ 
tion in minutes. 100 1 pages of documentation. 
Satisfaction guaranteed or money back. Needs 
DOS 1.1/2.0, two DS/DD drives, mono¬ 
chrome display and the COBRUN. EXE runtime 
module. $50/Visa/MC. 

THE COMPUTER WORKS 
P.O. Box 1371 

Coeur d'Alene, Idaho 83814 
(208)667-6152 

DOS PATH Command For Data 

Now your programs can access data files under 
DOS 2.0+ no matter where they are located. 
DPATH, a system—resident program extending 
the functionality of your DOS PATH command to 
include data files, includes a screen—oriented 
maintenance utility and a 60-page user manual. 
Requires PC—DOS 2.0. $25. 

PERSONAL BUSINESS SOLUTIONS, INC. 

P.O. Drawer 757 
Frederick, Maryland 21701 

SNOOP DISKETTE UTILITY 

Produce graphic maps of diskettes and files. 
Comprehensive diskette analysis. Add, delete or 
modify labels. Pageable directory. Change file 
attributes. Display, modify or search sectors or 
files. Much more, all in a single, easy-to-use 
program. Documentation included. Introductory 
price $40. SASE for information. 

OTTER CREEK SOFTWARE 
75 Hunting Lane 
Goode, Virginia 24556 


CONVERTS ANY CPM TO DOS 

CROSSDATA CONVERTS ANY DATA/TEXT FILE 
format from CPMxx to MS/PC-DOS, CPMxx to 
CPMxx & MS/PC-DOS to CPMxx. Cross data 
runs on IBM PC or comparable computer using 
MS/DOS 2.0. Cross data is a self-contained 
program. It comes with over 24 mats and user 
can add own format. To order send $99. check 
or money order to: 

AWARD SOFTWARE, INC. 

236 North Santa Cruz Ave. 

Los Gatos, CA 95030 
(408)395-2773 

COPY PROTECTION 

SLK/F places an assembled or compiled pro¬ 
gram on a diskette with 4 different copy-resis¬ 
tant features in such a way that it runs normally, 
but cannot be copied by backup programs such 
as COPYPC. The rest of the diskette is available 
as normal, and DOS may be added. Price $150. 

OLIVE 

BRANCH 

SOFTWARE 

OLIVE BRANCH SOFTWARE 
1715 Olive Street 
Santa Barbara, CA 93101 
(805)569-1682 

COPY PROTECTION BY MSD 

The ULTIMATE diskette copy protection system 
designed by software developers and publish¬ 
ers. A variety of protection methods are avail¬ 
able to suit your protection requirements. All IBM 
PC and XT environments are supported which 
includes. DOS, BASIC (compiled and interpre¬ 
tive). Pascal, P-System and stand-a-lone sys¬ 
tems. Customized systems also available. 
Requires: 64K, two disk drives. 
MICRO-SOFTWARE DEVELOPERS, INC. 

214V 2 West Main Street 
St. Charles, Illinois 60174 
(312)377-5151 

THE SCREEN GENERATOR V3.0 

If you can’t display a FULL COLOR data entry 
screen with up to 200 values and process it for 
Add, Update, Delete or Inquiry in LESS THAN TEN 
Basic or Assembler statements, then YOU need 
the NEW SCREEN GENERATOR v3.0. Total screen 
management and data entry processing for the 
Novice to the Professional. $125. 

KS SYSTEMS 
P.O. Box 643 
Drexel Hill, PA 19026 
(215)449-2754 



























TECH BOOK 


DOS PATH Command For Data 

Now your programs can access data files under 
DOS 2.0+ no matter where they are located. 
DPATH, a system—resident program extending 
the functionality of your DOS PATH command to 
include data files, includes a screen-oriented 
maintenance utility and a 60-page user manual. 
Requires PC-DOS 2.0. $25. 

PERSONAL BUSINESS SOLUTIONS, INC. 

P.O. Drawer 757 
Frederick, Maryland 21701 

SNOOP DISKETTE UTILITY 

Produce graphic maps of diskettes and files. 
Comprehensive diskette analysis. Add, delete or 
modify labels. Pageable directory. Change file 
attributes. Display, modify or search sectors or 
files. Much more, all in a single, easy-to-use 
program. Documentation included. Introductory 
price $40. SASE for information. 

OTTER CREEK SOFTWARE 
75 Hunting Lane 
Goode, Virginia 24556 


FULL CONTROL FROM BASIC! 

Cut development time, add speed & power to 
your programs with NUB. A library of assembly 
language sub-routines callable from BASIC: ex¬ 
ecute COM & EXE files, save & restore areas of 
the screen, clear & scroll windows, much more! 
Add DOS functions to your menus. Create fast 
help screens. Unlimited uses. Complete manual 
& sample programs. All DOS versions. $49.95. 
Source avail. Call or write 
NATIONAL SOFTWORKS 
65 East Elizabeth Ave. 

Bethlehem, PA 18018 
(215)867-4800 

TOOLS FOR PROGRAMMERS 

• FILE TOOL KIT. COMPARE lists file differences 
COMPRESS shrinks files, ENCRYPT secures 
valuable data, HEXDUMP lists files in hex and 
ASCII 

• PASCAL TOOLKIT. PXREF prints program 
cross-references; PNEAT prettyprints pro¬ 
grams, PCASE highlights variables. Just $29.95 
each, both for $49.95. VISA/MC accepted. 
SEVEN VALLEYS SOFTWARE 

P.O. Box 99 

Glen Rock, PA 17327 

(717)235-5470 


PADLOCK/PADLOCK II DISKS 

PADLOCK furnishes the user with a method for 
providing protection against unauthorized du¬ 
plication from DOS commands $99. PADLOCK 
II disks come preformatted with finger-print and 
serialization. PADLOCK II disks offer superior 
protection. Ask about our fast data encryption 
product. All work with hard disk, EXE/COM files 
and all DOS versions. MC/VISA. 

GLENCO ENGINEERING 
3920 Ridge Ave. 

Arlington Hts.,IL 60004 
(312)392-2492 


Software/Word 

Processing 


PELADA TEXT ENGINEER 

Word processing for scientific and multilingual 
text. All IBM characters. Super/subscripts, ital¬ 
ics, underlining, bolding. With graphics hard¬ 
ware, you can use any symbols and any alphabet, 
up to 384 characters. All symbols visible on 
screen and printable. Easy English commands. 
$250. 

PELADA INFORMATICS INC. 

562 Johnson Street 
Kingston, Canada K7L-2A1 
(613)549-1747 


PROGRAMMER'S GUIDE TO 

|Q / min Edited b y 

H ere’s an important collection of CP/M insights that you’ll never find 
in any CP/M manual. CP/M is the most popular microcomputer 
DOS in use today, and this widespread use has generated many 
innovative techniques and enhancements of CP/M. Programmer’s 
Guide to CP/M tells you what these enhancements are and how to put 
them to use, how to get around apparent limitations of a CP/M system 
and why CP/M is far more versatile than you might have imagined. 
Every article in Programmer’s Guide to CP/M originally 

appeared in MICROSYSTEMS be¬ 
tween January 1980 and February 
1982. Except for this collection, 
these articles are now unavailable! 
Programmer's Guide to CP/M gives 
you an in-depth look at CP/M from 
the viewpoint of the programmer— 
the individual who creates the soft¬ 
ware that interfaces directly with 
CP/M, or who is installing CP/M on 
systems for which configurations 
do not already exist. 

Contents include “An Introduc¬ 
tion to CP/M,” “The CP/M Connec¬ 
tion,” “CP/M Software Reviews,” 
“CP/M Utilities & Enhancement,” 
“CP/M 86” and “CP/M Software 
Directories.” $12.95. 



An in-depth look at the most widely used 
mkro<omputer DOS in the world. 



(please print full name) 


Address. 
City_ 


J\pt.. 


i 


I"" MICROSYSTEMS PRESS 1 

Dept. NM5H • 39 East Hanover Avenue 
Morris Plains, NJ 07950 

Please send me_ Programmer's Guide I 

to CP/M at $12.95* plus $2.00 postage and S 
handling each. Outside USA add $3.00 per I 
order. #14C 

□ PAYMENT ENCLOSED $_ 

* Residents of CA, NJ and NY State add 
applicable sales tax. 

□ CHARGE MY: 

(Charge and phone orders $10 minimum.) 

□ American Express □ MasterCard □ Visa 

Card No- 

Exp. Date_ 

Signature_ 

Mr./Mrs./Ms._ 


State__Zip-- | 

□ Send me a FREE Creative Computing Catalog. 

Also available at your 
local bookstore or computer store. 

For Faster Service, 

PHONE TOLL FREE: 800-631-8112 

(In NJ only: 201-540-0445) 


202 


PC Tech Journal 






























TECH MART 


FORTRAN 

or 

PACPAT 

PROGRAMMER? 

READ 

THIS 

AD 


! 


GRAPHICS 

• Text/graphics generics 

• 2D interactive 

• 2D plots (full support) including 
auto-scaling, auto-axis genera¬ 
tion, auto-labeling, tabular/log/ 
parametric curves, splines, bars, 
pies, you name it, we have it. 

• 3D Plots incl. 2 hidden line remov¬ 
al options—not just old-fashioned 
wire frame. 

PEN PLOTS 

• Standard plotter primitives plus 

• FULL 2D support plus 

• Interface to screen graphics, 

• Limited 3D. 

Clear and complete documentation. 

GRAFMATIC $135. 

PLOTMATIC 135. 

MICROCOMPATIBLES 

11443 Oak Leaf Drive 

Silver Spring, MD 20901 

(301) 593-0683 


SALES I 
POWER 


PC: Tech Journal not only sells 
itself at a nice profit, it helps sell 
the hardware and software in 
your store too. Because it goes 
home with customers and con¬ 
tinues to influence buying deci¬ 
sions long after you’re closed for 
the day. Let’s talk now. 

CALL COLLECT: 

(212) 725-7679 

Or write: 

EG Ziff-Davis Publishing j 
‘ One Park Avenue 
New York. NY 10016 


I Minimum order, 10 copies. We pay all shipping costs- 


« PROMPT DELIVERY!!! 

9S SAME DAY SHIPPING (USUALLY) 


64K DYNAMIC RAM ICs 
200 ns @ $5.37 
150 ns @ $5.37 

256K DYNAMIC RAMS 
150 ns @ $48.99 

Place 512 Kbyte directly into IBM XT 
motherboard sockets with 18 256K ICs 
and proprietary information kit!!!!!!!!!!!!!! 

Add 512 Kbyte into XT @ $847.00 
CONSUME 0 EXPANSION SLOTS! 

Increase your XT motherboard memory to 640 Kbyle! 

We sell other memory ICs. 
27128, 2764, 6264, 5565 etc. 


MasterCard'VISA or UPS CASH COD 

Factory New, Prime Parts JuPoo 

MICROPROCESSORS UNLIMITED 

24,000 South Peoria Ave. /r\-*o\ OC7 A nc h 
BEGGS. OK 74421 

Price* shown above are for May 21, 1964 
Please call lor current & volume prices. Prices subiect to change Please expect higher 
prices on some parts due to world wide shortages Shipping and Insurance extra Cash 
discount prices shown Small orders received by 6 PM CST can usually be delivered to 
you by the next morning, via Federal Express Standard Air (.1 S5.99! 


CtU BUYERS GMDE 


THE MASTER DIRECTORY 
OF PRODUCTS FOR THE 
IBM PC, PC XT, PCjr 
AND MOST COMPATIBLES! 

AVAILABLE AT YOUR 
LOCAL NEWSSTAND AND 
COMPUTER STORE. 



The PD 100 allows rapid development of specialized 
PC interfaces. It features a buffered data bus. 
switch-selectable address decoder, and a large 
prototype area (up to 40 1C sockets). The 116-page 
manual covers basic interfacing concepts and details 
implementing A/D. D/A converters. I/O ports, 
connection of transducers and dozens of useful 
circuits. 


PD100 w/manual -.$99 REAL TIME DEVICES 
plus $3.50 P&H 1930 Park Forest Ave. 

Manual only - $20 Postpaid P 0. Box 906 
PA residents add 6% State College. PA 16804 
Check. MasterCard, or VISA (814) 234-8087 


° IBM PC 0 



64K, 1 /360K Drive 

$1678 

Typical Configurations 

IBM PC 64K 

1 Drive, Monochrome Monitor & Card 

$2049 

or add 

10 meg Internal Hard Disk 

with these features: 

-Half-height hard disk —One year warranty 

—Plug compatible w/IBM —Requires no extra power 

xr 

-Uses IBM DOS 2.1 $2939 

Compaq 256K, 2/360K drives . . . $2395 
Compaq 256K, 1/360K drive, 


10 Meg Internal.$3065 

10 Meg Internal Hard Disk.$895 

64K RAM chips for PC’s.$49 

Tandon TM 100-2, DS/DD.$210 

Control Data 9409, DS/DD.$210 

Taxan Monochrome.$175 

Amdek 310 A Monochrome.$175 

Princeton PGS HX-12 (RGB).$499 

Quadram QuadColor I.$219 

Persyst mono card w/parallel.... $239 

Quadram Quadjet.$695 

TI 855 .$849 

Juki 6100.$469 

Okidata ML92P.$469 

Okidata ML93P.$729 

Epson FX-80.$509 

Epson FX-100.$739 

AST SixPack Plus (64K).$259 

Quadram Quadboard (64K).$289 

MultiMate 3.20.$339 

Multiplan.$149 

ProKey 3.0.$89 

Norton Utilities.$60 

Dbasell.$349 

Open Access..$349 

Lotus 1-2-3.$349 

Wordstar ProPack.$415 


Prices subject to change without notice. 

SHIPPING FREE WITHIN USA; EXTRA FOR NEXT DAY AIR 
ALL EQUIPMENT CARRIES FACTORY WARRANTY 
IBM is a trademark of IBM Corp. 

Credit Cards add 3%. Quantity Pricing Available. 

PC'S LIMITED 

(512)452-0323 

CALL FOR LATEST PRICES 

7801 N. Lamar, #F-1 
^_ Austin, Texas 78752 & 


CIRCLE NO. 172 ON READER SERVICE CARD 















































PC TECH JOURNAL PRODUCT INDEX 


RS# PRODUCT ADVERTISER PAGE # 

OPERATING SYSTEMS 

393 Multilink Software Link .93 

160 Xenixt The Santa Cruz Operation, 

Inc.149 

COMPUTERS AND COMPATIBLE UNITS 

Compaq Portables Compaq Computer Co.167-168 

171 Corona PC Corona Data .95 

152 Display Write IBM .50-51 

277 Single Board PC 1-Bus-Systems .114 

ACCESSORY CARDS/ 

MULTIFUNCTION BOARDS 

° Colorcard Hercules Computer 

Technology .9 

168 Mr Chips Orange Micro .C-4 

190 Pure Data Boards Pure Data Ltd .119 

201 Quadboard Softcraft .97 

225 Taurus Boards Taurus Computer Products, 

Inc. 4 

NETWORKING PRODUCTS 

138 10 Net Fox Research, Inc.61 

° Idea Net Ide Associates .98-99 

192 PC Net Orchid Technology .47 

OTHER ACCESSORY CARDS 

273 ABM Superboard ABM Computer Systems .109 

107 PC Probe Atron .191 

COMMUNICATION 

218 Network Station Watsoft Products Inc .180 

MASS STORAGE HARDWARE 

134 Micro Design .36 

176 9 Track Tape Backup Overland Data, Inc .172 

124 9-Track Mag IBEX Computer Corp .56 

106 Apparat Harddisk Apparat, Inc .102-103 

102 Bernoulli Box Iomega .131 

101 Mega Flight 100 Kammerman Labs .13 

117 PC Cont. Re Tape Sys Digi Data Corporation .85 

122 Pegasus Hard Disk Pegasus .154 

215 SCSI Interface Innovative Data Technology .123 

234 Tallgrass Harddisk Tall Grass Technologies .2 

111 Teammate Data Technology Corp.141 

COMMUNICATIONS HARDWARE 

155 Elan Tecmar Inc .117 

213 File Connection Flagstaff Engineering .189 

210 Irma Digital Commun. Assoc.10-11 

191 Modem Quadram Corporation .C-2 

270 Modems Bizcomp .101 

204 MT212PC Board Modem Multi Tech Systems .8 

143 Multilink Davong Systems .C-3 

178 PC Exchange Intelligent Technologies .143 

103 Smart-Cat Modem Novation Inc.57 

158 Smartcon 11 Hayes Microcomputer 

Products .152-153 

184 X-Net X-Comp.63 

187 XCOM Modem Delta Communications .89 

INPUT HARDWARE 

181 PC Mouse Mouse Systems .178-179 

GRAPHICS SOFTWARE 

120 Graphics Software Golden Software .165 

SOFTWARE FOR PROFESSIONALS 

162 Assemblers 2500 A.D. Software, 

Inc.138-139 

128 C-Compilers Lattice, Inc.171 

Coherent C-Compiler Mark Williams Co, The .27 

167 Engineering Software Physical Sciences Inc .108 

142 Fortran-77 Genesis Microsystems .7 

235 Printer Basher Connecticut Software .182 

° Sidekick Borland International .105 

170 Software PC Brand .40-41 

169 Westico S/W Direct. Westico .176 

WORD PROCESSING SOFTWARE 

236 Word Perfect Satellite Software Int’l. SSL .17 

LANGUAGES 

165 mbp Cobol mbp Cobol .186 

129 C-86 Compiler Computer Innovations .161 


RS# PRODUCT ADVERTISER PAGE # 

Ferocious Micro.Fort Microsoft Inc .53 

222 HS/Forth Harvard Softworks .46 

149 Janus ADA R&R Software Inc.167 

243 LISP Integral Quality .184 

159 PC/Forth Laboratory Microsystems .118 

0 Raging C Microsoft Inc .55 

° Turbo Pascal Borland International .31 

PROGRAMMER'S TOOLS 

166 Amerisoft Edit Tool Amerisoft .104 

208 APL/Plus PC STSC .49 

157 B-Tree Accudata Software .135 

116 Basic C C-Source .146 

271 Beamsort Phlexible Data Systems .150 

140 Codesmith-86 Visual Age .24 

110 Cross Assembler Avocet Systems Inc.147 

131 Debugger D & V Systems Inc.150 

173 Explain Document. Communication Sciences, 

Inc.177 

132 Firstime Spruce Technology .145 

228 Fullscreen Editor Watsoft Products Inc .60 

G Graphics Editor Micro Marketing Associates .180 

198 Micro Ed/Script Micro Type .60 

179 Opt Tech Sort Optimum Data Processing .172 

115 Pascal and C Tools Blaise Computing .126 

206 PDT-PC Answer Software .125 

137 Peeks’n Pokes Data Base Decisions .62 

143 PMate;PLink 86 Phoenix Software Associates .33 

144 PMate;PLink 86 Phoenix Software Associates .35 

145 PMate;PLink 86 Phoenix Software Associates .37 

268 Poly make Polytron .192 

127 Remote Control Kensington Microware .180 

161 Set: Skill Systems Engineering .164 

207 SPF/PC/The Add Coupl Rouge River Software .166 

147 Symbolic Debugger RDT Software .56 

141 Text Engineer Pelada Informatica .124 

105 The Greenleaf Funct. Greenleaf Software .100 

216 The Profiler DWB Associates .104 

135 Trace 86 Debugger Morgan Computing .38 

121 Windows for C Creative Solution .130 

299 X-Shell Standard Datacom, Inc.207 

126 vsi Amber Systems .136 

DATA BASE MANAGEMENT SOFTWARE 

139 B.O.S.S. American Planning Corp.185 

282 CDI 100 CDI .90-91 

221 Data Base Mgmt Sware Quick-N-Easy Software.106-107 

146 Dataflex Data Access Corp .127 

300 DBase 11 AshtonTate .174-175 

Knowledge Man Micro Data Base Systems Inc.12 

148 XIM Xanthe .1 

ADDITIONAL SUPPLIES 

258 Contemporary Computer 

Wear .171 

130 Datasaver Cuesta Systems Inc .118 

193 Diskettes Beck Manufacturing .190 

202 HW/SW Directory Data Sources .159 

SOFTWARE UTILITIES 

156 Autokey Straticic Automation Inc.110 

194 Copy write Quaid Software .164 

164 DFlow Wal Soft Systems Inc.140 

° Jet Tall Tree Systems . 48 

150 Key Swap Rickerdata .21 

153 Multijob B & L Computer 

Consultants .188 

108 Visual Shell Bourbaki, Inc.177 

113 Xeno-Copy Vertex .135 

MAIL ORDER 

123 Mail Order Microexpress .158 

226 Mail Order Programmers Connections, 

Inc.16 

239 Mailorder Programmer Shop .54 

175 Mailorder Software Horizons . 52 

182 Mailorder PC Connection .62-63 

174 Mailorder Microware .134 

172 Mailorder P.C.’s Limited .203 

183 MO PC Link .183 

GRAPHIC MONITORS 

188 Princeton HX-12 Princeton Grahics . Ill 





























































































































For home or classroom 



COMPUTERS IN 
SCIENCE AND 
SOCIAL.STUDIES 

A SOURCEBOOK OF IDEAS 

Edited By David H. Ahl 



STEPHEN 

pNCEltf 115 

STUDENT POHION 

,Compv tingPr0 


Creative' 



computers 


in Mathematic* 

A Sourceooo* of 


^.iveConjpDjj^ 


Use these three books for state-of-the-art learning material! 


COMPUTERS IN 
SCIENCE AND 
SOCIAL STUDIES 

Edited by David H. Ahl 

Are you involved with one of the physi¬ 
cal or social sciences? This new book 
brings together 40 science-oriented 
computer articles from the pages of 
Creative Computing . 

Fields covered include Social Stud¬ 
ies, Psychology, Chemistry, Biology, 
Physics, Health, Ecology, Astronomy, 
History, Economics, Geography, Medi¬ 
cine-even Interstellar Trade! You’ll find 
games, brief tutorials and programs 
that bring together the many exciting 
uses of the computer in social studies 
and science! 

8 V 2 " x 11 ", softcover. 

$14.95 ($2.00) #9X 


PROBLEMS FOR 
COMPUTER SOLUTION 

By Stephen Rogowski 

Here are 90 intriguing math and science 
problems—most consisting of several 
parts—that will provide hours of fasci¬ 
nation and challenge. Each problem is 
clearly presented and thoroughly dis¬ 
cussed, with references made to stand¬ 
ard math texts. Problems cover eight 
areas: arithmetic... geometry... trigo¬ 
nometry ... number theory... probabil¬ 
ity... statistics... calculus... science. 

The Student Edition includes only the 
problems, while the Teacher’s Edition 
contains problems, solutions, a com¬ 
plete listing and run in BASIC for each, 
and in-depth analyses explaining the 
algorithms and theory for each problem. 
8 V 2 "x 11 ", softcover. 

Student Edition $4.95 ($1.00) #9Z; 
Teacher Edition $9.95 ($2.00) #9Y 


COMPUTERS IN 
MATHEMATICS: 

ASOURCEBOOK 
OF IDEAS 

Edited by David H. Ahl 

Scores of ready-to-use, classroom- 
tested ideas in dozens of areas such as 
solving differential equations... trig¬ 
onometric functions and Tchebychev 
approximations... computer simula¬ 
tions and problem-solving in probabil¬ 
ity... binary counting... regression 
analysis. Practice programs, art and 
graphing problems, program listings 
and sample runs are included, plus over 
250 problems, puzzles and program¬ 
ming ideas. 

8 V 2 " x 11 ", softcover, illustrated. 

$15.95 ($2.00) #12D 


For faster service, PHONE TOLL FREE:600-631-8112 (m nj om y : 201 - 540 - 0445 ) 

Also available at your local bookstore or computer store. 


CREATIVE COMPUTING PRESS • Dept. FA4F • 39 East Hanover Avenue • Morris Plains, N J 07950 

Please send books listed below: 


Book No. 

Qty. 

Title 

Price Each 

(P&H)Each 

Total Price 




















CA, N J and NY State residents add applicable sales tax 


Postage and handling charges appear in 
parentheses ( ) next to price of book. 

TOTAL AMOUNT 



□ CHARGE MY: (Charge and phone orders $10 minimum.) 
□ American Express □ MasterCard □ Visa 


Card No._ 


_Exp. Date. 


□ PAYMENT ENCLOSED $_ 
$3.00 per order. 


. Outside USA add 


Mr./Mrs./Ms. 



Address 

(please print full name) 

Apt 

City 



State/Zip 




□ Send me a FREE Creative Computing Catalog. 










































































INDEX TO ADVERTISERS 


Reader Service 

Number Advertiser Page 


162 2500 Software .138-139 

273 ABM .109 

157 Accudata Software .135 

126 Amber Systems .136 

104 American High Tech .173 

139 American Planning Corp . 185 

166 Amerisoft .104 

206 Answer Software .125 

106 Apparat .102-103 

300 Ashton Tate .174-175 

107 Atron .191 

110 Avocet .147 

153 B&tL Computer .188 

193 Beck Manufacturing .190 

114 Bellesoft .25 

270 Bizcomp .101 

115 Blaise Computing .126 

* Borland International .31 

* Borland International .49 

108 Bourbaki, Inc.177 

282 CDI .90-91 

116 C-Source .146 


173 Communication Sciences . 177 
* Compaq Computer Co. 

167-168 


129 Computer Innovations .161 

235 Connecticut Software .182 

258 Contemporary Computer . 171 

171 Corona Data .95 

121 Creative Solution .130 

130 Cuesta Systems .118 

131 D St V Systems .150 

210 DCA .10,11 

216 DWB Associates .104 

146 Data Access Corp .127 

137 Data Base Decisions .62 

202 Data Sources .159 

111 Data Technology Corp ....141 

143 Davong Systems .C-3 

187 Delta Communications .89 

117 Digi-Data Corp .85 

109 Ecosoft .162 

119 Faircom .142 

213 Flagstaff Engineering .189 

138 Fox Research .61 


Reader Service 

Number advertiser Page 


142 Genesis Microsystems .7 

120 Golden Software .165 

105 Greenleaf Software .100 

222 Harvard Softworks .46 

158 Hayes Microcomputer 

152-153 

* Hercules . 9 

124 IBEX Computer Corp .56 

277 I-Bus Systems .114 

* IBM .50-51 

* IDE Associates .98-99 

215 Innovative Data .123 

243 Integral Quality .184 

178 Intelligent Technologies .. 143 

102 Iomega .131 

101 Kammerman Labs .13 

127 Kensington Microware .... 180 

159 Laboratory Microsystems . 118 

128 Lattice, Inc.171 

185 Lintek, Inc .151 

186 Mark Williams Co., The ... 27 

165 mbp Cobal .186 

118 Micro Data Base Systems .. 12 

134 Micro Design Int'l .36 

163 Micro Marketing Associates 

180 

198 Micro Type .60 

* Microsoft .53 

* Microsoft .55 

174 Microware .134 

123 Microxpress .132 

135 Morgan Computing Co .38 

181 Mouse Systems .178-179 

204 Multi Tech Systems .8 

103 Novation .57 

179 Opt Tech ......172 

168 Orange Micro .C-4 

180 Orchid Technology .45 

192 Orchid Technology .47 

176 Overland Data .172 

170 PC Brand .40-41 

182 PC Connection .62-63 

183 PC Link .183 

172 PC's Limited .203 

122 Pegasus .154 


Reader Service 

Number advertiser Page 


141 Pelada Informatica .124 

271 Phlexible Data Systems ... 150 

143 Phoenix Software .33 

144 Phoenix Software .35 

145 Phoenix Software .37 

167 Physical Sciences Inc.108 

268 Polytron .192 

188 Princeton Graphics .Ill 

226 Programmer's Connection . 16 

239 Programmer's Shop .54 

190 Pure Data LTD.119 

191 Quadram Corp.C-2 

194 Quaid Software .164 

221 Quic-N-Easi Products 106-107 

147 RDT Software .56 

149 R&R Software, Inc .167 

150 Rickerdata .21 

207 Rogue River Software .166 

199 STB Systems .20 

200 STB Systems .23 

208 STSC .15 

151 Sabadia Export Corp .180 

160 Santa Cruz Operation .149 

236 Satellite Software .17 

201 Softcraft .97 

175 Software Horizons .52 

393 Software Link .93 

132 Spruce Technology .145 

299 Standard Datacom .207 

156 Strategic Automation .110 

161 System Engineering .164 

234 Tall Grass Technology .2 

* Tall Tree Systems .48 

225 Taurus Computer .4 

154 Tecmar .18,19 

155 Tecmar .117 

261 Thanks for The Memory 108 

113 Vertex .135 

140 Visual Age .24 

164 Wallsoft Systems, Inc .140 

218 Watsoft .180 

228 Watsoft .60 

169 Westico .148 

184 X-comp .63 

148 Zanthe .1 


206 


PC Tech Journal 



























































































































Now, 

X-shell™ brings 
Unix™ capability to your PC 


for an amazingly low 

$ 225 ___ 


rsisg?" 


-- 


Computers. You know at least two 
things about them: One, they should 
be a tool for solving your problems. 
Not creating them. Two, you want 
to spend as little time as possible 
on one. 

X-shell 

Software Tools Package 

That’s why Standard DataCom, Inc. 
developed X-shell, a command 
interpreter software tools package for 
IBM PCs and MS-DOS/PC-DOS 
operating systems. 

X-shell helps your computer solve 
your problems faster. Makes the 
time you spend on the computer 
more efficient. Squeezes more out of 
your computer investment. 

Proven 
Unix Features 

X-shell gives you Unix capability by 
providing these proven Unix features: 

1. Support for pipelines and 
filters 

2. Input & output redirection 

3. Variable substitutions 

4. Command substitutions 

5. Filename expansion 

6. Nested command files 

7. Structured flow control: 

if then/else, while/do/done, 
until/do/done, case/esac, 
for/do/done 


Unix is a trademark of Bell Laboratories 
X-shell is a trademark of Standard DataCom. Inc. 


Hardware Requirements 
(where you can save hard cash) 
IBM PC or XT (or compatible) 
256K bytes of RAM 
2 Disk Drives—Hard or Floppy 
Since X-shell can be run using floppy 
disk drives, you can save a bundle of 
money on your hardware. Hard disks 
are expensive. Floppies aren’t. It’s 
that simple. 

Software Requirements 

PC-DOS version 1.1 or 2.0 

Software Disk Emulator 
Since X-shell runs on PC-DOS, it 
supports existing PC-DOS software. 

Over 40 
Commands 

X-shell’s commands 
include: 


basename 

i -strip extension from 

num 

-number lines 


file name 

pr 

-format files for printing 

cat 

-concatenate files 

print 

-pr directed to printer 

cd 

-change directory 

pwd 

-print working directory 

clear 

-clear monitor screen 

rm 

-remove files (delete) 

cmp 

-compare files 

sh 

-shell (command 

comm 

-output lines common 


interpreter) 


to two files 

size 

-size of object code 

cp 

-copy files 

sort 

-sort numerically or 

cpio 

-file backup/archival 


alphabetically 

date 

-get or set date and time 

sum 

-checksum file 

echo 

-echo arguments to stdout 

tail 

-output last lines of file 

expand 

-expand tabs into spaces 

tee 

-pipe fitting 

expr 

-string and arithmetic 

test 

-test file's or string's 


evaluation 


characteristics 

false 

-do nothing. 

time 

-determine time to execute 


unsuccessfully 


a command 

find 

-produce list of selected 

tr 

-translate or delete 


files 


characters 

grep 

-search files for specified 

true 

-do nothing, 


pattern 


successfully 

hd 

-hex file dumper 

unexpand 

-replace spaces with tabs 

head 

-output 1st lines of file 

uniq 

-remove duplicate lines 

Is 

-sorted directory list 

wc 

-count chars, words 

more 

-copy files to display 


and lines 

mv 

-move files (rename) 

words 

-output file 1 word per line 


Dealer Inquiries Invited 


What You Get For $225 

1. Complete Documentation, 
including: Installation, Tutorial and 
Reference Manuals. 

2. Complete X-shell Software Tools 
Package on two diskettes. 

3. A more efficient use of your 
computer time. 

4. More effective use of your PC. 

How To Order X-shell 
Get the software package that gives 
you Unix capability for an amazingly 
low $225. 

Call Standard DataCom, Inc. 
415-775-8882 with your Visa or 
MasterCard order, or for more 
information. 

Or ask your dealer. 


Standard 
DataCom! 
Inc. 


9 



Ask us about X.25 


Standard DataCom, Inc., 

1550 California Street #6195, 
San Francisco, CA 94109 


CIRCLE NO. 299 ON READER SERVICE CARD 







CONSCIOUS? 


Now you can organize your copies of 

PC TECH 
JOURNAL 


Now your magazines can be a hand¬ 
some addition to your decor, well or¬ 
ganized, and easy to find, thanks to 
these durable library-quality cases or 
binders. They're made of luxury-look 
leatherette over high-quality binder 
board. And both styles are custom-de¬ 
signed for this or any other magazine 
you save, with size, color and imprint 
selected by the publisher. FREE 
transfer foil included for marking dates 
and volumes. 



Magazine 

binders 

holds your issues on 
individual snap-in rods, 
combining them into 
one volume. $7.95 each; 
3 for $22.50; 6 for $42.95. 
Mixed titles OK for 
quantity prices. 


Open- 
back cases 

store your issues for 
individual reference. 

$6.95 each; 3 for $19.75; 

6 for $37.50. Mixed titles OK 
for quantity prices. 



For faster service, 

CALL TOLL-FREE 

800-526-0790 

(In NJ only 201-540-0445) 


r PC Tech Journal 

P.O. Box 5120. Philadelphia. PA 19141 

Please send: □ Cases □ Binders 

title quantity 

PC Tech Journal _ 

Other - - 


□ PAYMENT ENCLOSED $_ 


____ _ _* Add 

$1.00 per order for postage and handling. Out¬ 
side USA add $2.50 per unit ordered; send US 
funds only. 

□ CHARGE (Minimum $10): 

□ American Express □ MasterCard 

□ Visa 


Card No._ 


_Exp. Date- 


Signature- 


Print Name- 


Address- 
City- 


State/Zip_ 


L. 


‘Residents of PA add 6% sales tax. 




CALENDAR 


AUGUST 

August 2-5 

Tampa Bay Computer Show 
Tampa, FL 

Contact: CompuShows, 800-368-2066 
August 6-10 

National Conference on 
Artificial Intelligence 
Austin, TX 

Sponsor: ACM and the 
American Association for 
Artificial Intelligence 
Contact: J. M. Tenebaum, Conference 
Chairman, Artificial Intelligence 
Laboratory, Fairchild Camera and 
Instrument, 4001 Miranda, Palo Alto, 
CA 94304, 415-926-5001 

August 21-24 

1984 International Conference 
on Parallel Processing 
Bellaire, MI 

Sponsors: Ohio State University 
and IEEE 

Contact: Conference on Parallel 
Processing, IEEE Computer Society, P.O. 
Box 639, Silver Spring, MD 20901 

August 22-24 

1984 ACM Sigmetrics 

Conference on Measurement 

and Modeling of Computer 

Systems 

Cambridge, MA 

Contact: Association for Computing 

Machinery, 11 West 42nd Street, 

New York, NY 10036 


SEPTEMBER _ 

September 3-5 

IBM System User Show 
London 

Sponsor: IBM System User Magazine 
Contact: EMAP International 
Exhibitions Ltd., 8 Herbal Hill, London, 
EC1R 5JB, England 

September 6-9 

CompuLearn: International 
Exposition and Conference on 
Computers in Education 
Atlanta, GA 

Sponsors: Expoconsul International, Inc. 
and A Better Way in cooper¬ 
ation with The United Negro 
College Fund 

Contact: Expoconsul International Inc., 
55 Princeton-Hightstown Rd., Princeton 
Junction, NJ 08550 


September 11-14 

UNIX Systems EXPO/84 

Los Angeles, CA 

Sponsor: Computer Faire, Inc. 

Contact: David Sudkin, 617-965-8350,- 
Alan Kucheck, 415-364-4294 

September 12-14 
Eurographics '84 
Copenhagen 

Sponsor: SIGGRAPH 

Contact: DIS Congress Service, Linde 

Alle 48, DK-2720 Vanlose, Copenhagen, 

Denmark 

September 16-20 

COMPCON Fall 
Arlington, VA 

Sponsor: IEEE 

Contact: IEEE, P.O. Box 639, Silver 
Spring, MD 20901 

September 20-23 
New York/Userfest 
New York, NY 

Sponsor: Northeast Expositions, 
617-739-2000 

September 24-25 

World Conference on 

Ergonomics in Computer 

Systems 

Los Angeles, CA 

Contact: Crispin Littlehales or 

Rosemarie Burnett, Thomas L. 

Richmond, Inc., 1350 Avenue of the 

Americas, New York, NY 10019 

September 24-26 

PCExpo 
Anaheim, CA 

Contact.- PCExpo Shows, 333 Sylvan 
Avenue, Englewood Cliffs, NJ 07632, 
201-569-8542 

September 27-30 

5th Annual Mid-Atlantic 
Computer Show and Office 
Equipment Exposition 
Washington, D.C. 

Sponsor: CompuShows, Inc. 

Contact: CompuShows, Inc., P.O. Box 
3315, Annapolis, MD 21403 


OCTOBER 

October 8-10 

ACM 1984 Annual Conference 
San Francisco, CA 

Contact: Karen A. Duncan, Health 
Information Systems, 15 Parsons Way, 
Los Altos, CA 94022, 415-948-3941 


PC Tech Journal 





































Davong makes it easy. 

Utilities provide for initial checkout, copying 
from hard disk to tape, and restoring files 
from tape to hard disk. They also compare file 
dates so that the most current f i le with the same 
title is restored. 


Protection plus. If you use a Davong hard disk 
system under the Davong Multi-OS™ control 
system, backup can be accomplished by volume 
or individual file. A 15 megabyte disk can be 
copied in about four minutes. Four error checking 
methods ensure data integrity. 


If you have 


You can have peace of mind for onlyjpl'iSlj* And 
it's available from more than 800 Ddvong deaf 
Don't you deserve Davong backup. 


an IBM® XT 
or have 

added a hard disk 
to your IBM PC, Davong 
can give you a happier 
future. Just plug in Davong tape 
backup. 


Your IBM PC & XT deserve Davong. 




Davong tape backup can prevent 
that sinking feeling that comes from losing data. 
One disk malfunction or programming error 
could wipe out a week's work, but not if you have 
Davong backup. 


The Davong streaming tape drive backs up any 
Winchester disk drive used with IBM PC or XT 
microcomputers. Each tape cartridge gives you up 
to 18 megabytes (formatted) of safe, secure 
storage. 


217 Humboldt Court 
Sunnyvale, California 94089 
(408) 734-4900 

CIRCLE NO. 278 ON READER SERVICE CARD 

® IBM is a registered trademark of IBM 
Corporation 

"* Multi-OS is a trademark of Davong Systems, Inc. 
•Suggested retail price for standalone backup 
tape drive with all cabling and adapters, 
software utilities, comprehensive 
documentation, and 180 -day parts and labor 
warranty. Also ^gilableJgf.Davong hard disk 
systems fore 




TAPE BACKUP SYSTEM 




























Mr. Chips Plays Your PC 
Like a One Man Band 



Mr. Chips, the new multi-function 
card from Orange Micro, adds a full 
ensemble of features to your IBM® 
PC. Memory, printer ports, and a 
clock are standard, and you’d 
expect them on a top quality board. 

But computing is changing. 

Soon computers will take care of 
everyday things; like watering the 
lawn, or turning on your lights when 
it gets dark. And only Mr. Chips can 
do this now. These capabilities are 
standard, so your growing needs 
won’t require additional equipment. 

There’s also a dual game port, so 
you can duel to the end, by yourself 
or with a friend. 

Every Mr. Chips comes with Chip- 
disk™ software, for RAM disk and 
print spooling. With RAM disk you 
set up your PC’s memory to act like 
a disk drive. This means much 
faster execution and searching of 
programs. Print spooling sets your 
PC’s RAM to serve as a printer 
buffer, so you can compute even 
while your printer is printing. 


You can orchestrate 



remarkably low price. 
Visit your dealer and see for your¬ 
self: Mr. Chips is the multi-function 
card for today... and tomorrow. 


The First Multi-function Card with 9 Standard Features 


• Parallel Port*: Great for getting fast printouts on 
efficient dot matrix printers. 

• Serial Port: The most popular way to access high 

4 grade letter quality printers or phone modem 

communications. 

• 64K-256K RAM: Upgrade your PC’s memory to 
handle powerful integrated software and other larger 
programs. 

• Clock/Calendar: Accurately keep track of time and 
date, even when your computer is turned off. 

• Dual Game Port*: Accommodate two complete joy¬ 
sticks at once, so you can play alone or duel with a 
friend. Also for use with CAD/CAM software. 

• Real World Interface: This innovative port can moni¬ 
tor and control equipment like thermostats, moisture 
detectors, photocells and other independent devices. 

■ BSR is a registered trademark of the BSR Corporation 

■ IBM is a registered trademark of International Business Machines Corporation 


• BSR™AC Line Controller*: Control your lights, appli¬ 
ances, security systems, or anything that plugs into 
an AC wall socket. 

• Chipdisk RAM Disk: Set your PC memory to act like 
a disk drive. Your programs will run much faster than 
with conventional disk drives. 

• Chipdisk Print Spooler: Your PC memory will serve 
as a printer buffer, so you won’t have to wait for your 
printer anymore. 

‘Cables available separately 


1400 N. LAKEVIEW AVE., ANAHEIM, CA 92807 USA 
(714) 779-2772 TELEX: 183511CSMA 

© Orange Micro, Inc., 1984 


Orange micro 

^ Inc. 



CIRCLE NO. 168 ON READER SERVICE CARD