Micro_Cornucopia_#29_Apr86 Micro Cornucopia #29 Apr86

Micro_Cornucopia_#29_Apr86 Micro_Cornucopia_%2329_Apr86

User Manual: Micro_Cornucopia_#29_Apr86

Open the PDF directly: View PDF PDF.
Page Count: 108

DownloadMicro_Cornucopia_#29_Apr86 Micro Cornucopia #29 Apr86
Open PDF In BrowserView PDF
$3.00

April-May 1986

Faster & Cheaper
Upgrading Your XT To A Turbo For (almost) Nothing .... 28
If your PC or clone feels slow, here's a cheap solution.

Importing Systems From Taiwan ........................ 38
What are the problems you face doing your own importing? What are the
benefits? Here are the answers.

Porting A 68000 Assembler To The Atari ST ............ 72
Good inside look at the 68000 and the ST.

PC RP/M2, A Designer's View Of a CP/M Emulator ...... 94
What are the problems faced by emulator writers and users?

C Extravaganza
C Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Prototyping is the most exciting part of the new C standard.

The C Environment .................................... 12
Do the C interpreters really help?

-.:t
0

,..,
00
00
f'I')

Benchmarking The Speedy PCs In C .................... 32
Benchmarking the 6.67MHz clones, 280s, V20s & the ST with simple C routines.

0~

a

The C Competition .................................... 18

-.:t
-.:t

Following on the heels of the very popular Pascal Runoff.

I'I'-

Turbo Pascal® and the Turbo Pascal
family give you a perfectly integrated
program:rning environment and
unbeatable speed, power and price
Turbo Pascal is faster than
any other Pascal compiler,
and at only $69.95, a distinctly
better deal. But it offers much
more than speed, power, _
and price.
There's also the complete
Pascal family of products that's
grown from 1'to 9 products in
just 3 years.
Turbo Pascal 18 backed by a
complete range of "toolboxes" that
give you most of the progI'a.mmJng
tools you'll ever need.
The Turbo Pascal farn1ly 18
never statlc, but 18 continuously
expanding, with new prcx:lucts
llke Turbo Editor Toolbox™ and
Turbo Gameworks.™
The secret of software success 18
not merely low price, but top quallW,
allied with complete documentatlon,
llke our 400-page reference manual.
All of which are some of the
reasons why Turbo Pascal 18 clearly
the leader, and the recipient of
awards llke ro Week's "Product of
the Year" and ro Magazine's
"Award for Technica.l Excellence."
And some of the reasons why Turbo
Pascal has now become a de fBCtiJ
worldwide standard with more than
half a II1.IH1on users.

• 'furbo Pascal 3.0
• 'furbo Pascal with the
0087 SUPJXlrt
• 'furbo Pascal with
BinaIy Coded Declmal,
(BCD)
• 'furbo Pascal with 0087
and BCD
• 'furbo Database
TooItx))c™
• 'furbo Graph1x Toolbox'I'M
• 'furbo '!Utor@)
• 'furbo Editor Toolbox
• 'furbo GameWorks

I want

the best.

o 'furbo 'futor teaches you

Coded Decimals to

ellm1nate roundlng-off
errors for business
applicatlons.
o 'furbo Database 'lbolbox 18
a perfect complement to Turbo
Pascal. It includes a complete
library of Pascal procedures that
allows you to search and sort data,
and build JXlwerful database
applicatlons.
o 'furbo Grapblx'lbolbox
includes a library of graphics
routines for 'furbo Pascal programs.
Lets even beg1nn1ng progra.m:mers
create high resolutlon graphics on
the IBM@) ro and true compatlbles.
Does complex buslness graphics,
88Sj wlndoW1ng, and stores screen
lInages to memory.

I···········,
.YESI
=
.

step by step how to use 'furbo
Pascal, with commented source ccxie
for all program examples on diskette.

Save $109.70 when you
choose the Turbo Jumbo
Pack 6 different Turbo
Pascal products for on..{y
$245.001
For only $245.00, you get 'furbo
Pascal 3.0 and Turbo Editor Toolbox
and Turbo Tutor and Turbo Graph1x
Toolbox and Turbo GameWorks and
Turbo Database Toolboxl
All 6 for only $245.00, which saves
you $109.70. Th1s l1m1ted offer 18
good. through September 1, 1986, so
act now.

Turbo Pascal has grown
from a single product :3
years ago to a fa.mi.1y
of9 toda.y.
Success breeds success, so the
'furbo Pascal farn1ly hllB flour1ahed.
Your choices now include:

o 'I\Irbo Pascal 3.0 combines
the fastest Pascal compiler with
an integrated development
environment.
o 'I\Irbo Pascal with 8087 math
ccrprocessor SUPJXlrt for heavy duW
number-crunching, and/or Binary

•
.

~~~~ ~'!f;J~ZJ;cIi!ft;J1J
~~~

Borland products Include Turlxl P!lBcal; Turlxl Ilata.OO.ae Toolbox; Turlxl Llghtn1ng; Turlxl OraphJx Toolbox; Turbo TutDr; Turlxl
OameWorkB; Turlxl EdItDr Toolbox; Rellex, The Ana\vSt; SldeKlck; S1deklck, The MBclntooll Olllce ManBger; Travellng SideKIck;
8Il.d SuperKey- all of whlch are tredelDlll'ks of Borland internatIOnal, inc. or Borland/Ana!ytJca, Inc_
'l\Jrlxl PaecaI and Turlxl TutDr are reg1BterOO tredelDlll'ks, and Turlxl OameWorks, Turlxl EdItDr Tooltxix, Turbo Datahaae
Toollxlx, Turlxl OraphJx Toollxlx, Turbo Llghtnlng, and MlcroStar are tredelDlll'kB of Borland internatJonal mM IB a
~rOO tradelDlll'k of internatIOnal Bua1nooa MachInes Corp, Copyrlght 1900 Borland internatIOnal BI-lOO6

•

•

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

•

call (800) 255-8008;

•

•

in CA call (800)742-1133

•

•

Copies
_
_

Turbo Pascal 3.0
Turbo Pascal wlBOB7

•

_

Turbo Pascal wlBeD

$109.90 $ _ _

•

•

_

Turbo Pascal wlBOBl. BCD

$124.95 $ _ _

•

•

_

•

_

,. _
•
: •

Product

•
•

•

'. _
_
•
_

Price

Tota/s.

$69.95 $ _ _
$109.90 $ _ _

•

Turbo Dalabase Toolbox

$54.95 $ _ _

•

Turbo Graphix Toolbox
Turbo Tutor

$54.95 $ _ _
$34.95 $ _ _

•
•

Turbo Editor Toolbox

$69.95 $ _ _

Turbo GameWorks

$69.95 $ _ _

•

'$245.00 $ _ _

•

g~ts: 1fJ: r:~d ::: ~~;s c~::

$_ _

•

MJount enclosed

$__

Turbo Jumbo Pack

•

•

Prices include shipping to all US cities.

•

•

carefully describe your computer system:
Mine i~' _ B-bit _ 16-bit

•

•

fuse: _ PC-DDS _ MS-DOS

•

•

JPIM-BO _ CPIM-B6

•

•

My computer's name and model is:

Thedisksilelusei~'03W

•

Payment:

•

Credit card expiration date --.l--.l_

•

VISA

MC

•

05W DB'

•

ICard#

Bank Drafl

•
Check

IIIIIII
I I I I I I I

NOT COPY-PROTECTED
**60-DAY MONEY·BACK GUARANTEE

;.
,•

' . Name:
•
Shipping Mdress:

•
•

'.

_ _ _mw•. 'x"'*""""'............''''''''''""""""W"'"B;'_ _............_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _...

•

City:
State:

•

•

•
•

.
•

•

I

Zip:

•
•

Telephone:

•

•

~~::~~;t';t~fayment by bank draft, payable in US dollars

I•

;:~;in~~h;~C~d~Z! ~i~u~~~g,~i;t~~r:u,u~~:r:e~~~Nice

I
I•

COOs and purchase orders WILL NO Tbe accepted by Borland.

'Limited Time Oller

!_. ~. ~_'"W

.

•

~----------c~PLlJG

INTO S A V I N G S ! - - - - - - - - - -.......

FOR YOUR I.B.M.
DataMac Dual Async card with 256K.
no memory. requires 8250 plus your
cable for second port.

DataMac Dual Async Card (card only)
comes with one active port. you add the
second 8250 and connector.
with documentation

DataMac 5.25" hard disk controller card.

$3995~
S~\..~

RODIME 20 MEG 5.25"
HARD DISK

CONTROLLER
CARDS

3 1/2' FLOPPY DRIVES
SHUGART
.
SA300

D.T.e. 1403·D (shown with optional software and adaptor)
control two 8" 851 DSDD and two 8" 1000 type

• BRAND NEW
-SOOK
-80TRACK
-135 T.P.I.
- THESE DRIVES GIVE YOU THE SUPER RELIABILITY OF A HARD DISK. THEY
ARE COMPATIBLE WITH ANY COMPUTER WHICH USES A 1770. 1771. 1791
OR 1793 CONTROLLER CHIP
- THEY WILL FORMAT SINGLE. DOUBLE OR QUAD DENSITY. DEPENDING
ON YOUR SOFTWARE.
_ XEROX 820 (LITTLE AND BIG BOARD). KAPRO. AMPRO AND LOOK
ALIKES AND H.P. SINGLE SIDED ARE JUST A FEW OF THE COMPUTERS
THIS DRIVE CAN BE COMPATIBLE WITH

These drives are brand new in factory
cartons. full size with documentation

(similar to photo)

THE SENSIBLE
5 1/J' DISK DRIVE
CABINET KIT

$24995
D.T.e. 520·1 control four 5.25" DSDD
and two ST·506 type hard disks

~

Closeout
95
$69 Only 10 len

HOST ADAPTER FOR ABOVE CONTROLLERS
(for most popular Z·80 computers)
The Winif Adapter and software

121 FUSED POWER SUPPLY
5A (il 5V 4.8A «I 12V

121 E.M.1. FILTER. 6 AMP
121 SURGE PROTECTION
121 POWER SWITCH
121 POWER SUPPLY SHIELD
121 CONNECTOR AND FAN CUTOUTS

BUILDING A ROBOT?

CONSTRUCTED OF HEAVY GAUGE ALUMINUM. THIS UTILITY DISK
DRIVE CASE WILL ACCOMMODATE: 5 '1." HARD DISKS. FLOPPY
DRIVES. HALF HEIGHTS. FULL HEIGHTS. 213 HEIGHTS. CONTROLLER
CARD AND SINGLE BOARD COMPUTER.
OVERALL DIMENSIONS 10'l."x 10"x7"
ONLY
COLOR IS TAN

SWITCHING ·POWER
SUPPLY

WECANH~LP!

12VDC

$11995 STEPPER MOTORS

LESS POWER SUPPLY

$7995

1------------------------1

BUSINESS
TELEPHONES
STOP PAYING MONTHLY PHONE CHARGES
These phones are not a cheap import. These arli!
the same reliable I.T.T. phones that
have served us both for many years.
Standard 10 button business
telephones serviced
by Bay T~lephone Co.

ONLy~995

STANDARD 6 LEAD 4 PHASE
STEP ANGLE: 7.5'
RESISTANCE PER PHASE: 36 OHM
SHAFT: ';." X II."
O.D. lW'x 2';." (3'1e" FLANGE)
REG PRICE $32.00

Real Power From a Famous Manufacturer delivers:
10 amps at SV. 8 amps at 12V. measures only 8.5" by 4.5" and is only 2.25" thick
with pinouts

$ft95
~

$695

EA.

UNIVERSAL
STEPPER MOTOR
DRIVER
KITS ..
JJJ~J}lL

GO ON LINE WITH
UNITED PRODUCTS
Take advantage of the many items that space does not allow us to advertise. Use
your computer to down load our weekly specials and hard to find items.
On line 24 hours a day. 7 days a week.
300 or 1200 baud. even parity. 8 bits with one stop bit.
The phone number is: (206) 682·5593
New items are added weekly. Don't miss out. call each week.

Ball Brothers TV.120 (shown above) '.
16mhz. Xerox 820 compatible. P-04 phosphor BIW. 12"

UNIVERSAL STEPPER MOTOR
DRIVER KIT

Ij)tHf .... '.lICATlO,...

$59 95

(limited supply on hand)

MONITORS

(/

PUtffCf fOil IIOIIOIIC'''I'IDM"""

ONLY
(LIMITED QUANTITY)

3995

EA. WITH PURCHASE OF ANY STEPPER DRIVER KIT

limited to color selection
on hand

BRAND NEW 6 BUTTON SUSINESS TELEPHONES
ALL THE STANDARD FEATURES INCLUDING BUZZERS AND RINGERS.
LOOKS THE SAME AS ABOVE PICTURE. COLOR. CHOC. BROWN.

$

$29 95

~

0 \l '~"tiglare for photography

sO\":

AudioTronics 964-02
Xerox 820 compatible. TTUX- Y input. 9" green screen

FOR DIRECT CONTROL FROM YOUR COMPUTER
• Control almost any stepper motor. forward!
REVERSE and step sequence.
• For stepper motors rated 1.7 VDC12.0VDC
- Uses a power supply with an output of
between 3.0 VDC and 12.0 VDC
• Modifications included for motors rated above
12.0VDC
• Inputs!outputs are on a standard 22 pin edge
card connector (.156 spacing) 4';' x 6'12 card.
G-IOepox.
TECHNA-KIT
cat# U.S.M.D.-C

Ball Brothers TX-7
Xerox 820 compatible. 7". flat ~O

1123 Valley
Seattle. WA 98109
TECHNA-KIT

SAME SPECS. AS U.S.M.D.-C
cat.# U.S.M.D.
except a stand-alone driver
- On board clock (user optional)
• No edge connector

$1995

Hours: 9-6
Sat. 9·5

PHONE (206) 682-5025

Terms: All orders are shipped EO.B. Seattle. Wash.
e.O.D:s are OK with cash or certified check
MasterCard and Visa accepted
On orders over $50.00 in the continental U.S. we pay the freight.
All advertised items are subject to prior sale

MICRO CORNUCOPIA, #29, April-May 1986

1

MICRO
CORNUCOPIA

EDITORIAL

'
By David Thompson

The Micro Technical
Journal

Round
The Bend?

Editor & Publisher
David J. Thompson
Operations & Advertising
David Pogue
Associate Editors
Rebecca Ozrelic Gary Entsminger

An Irish Suggestion
Pat O'Leary of Dublin, Ireland, suggested "Round The
Bend" as a replacement for "Editorial.' , It's the best
suggestion so far because it: 1) Has at least two
meanings, 2) Has a certain rhythm to it (like "over the
hill," or "through the woods."), 3) Doesn't sound too
serious, and 4) Is the only suggestion I've received.
If you've got an idea, or if you like Pat's suggestion, let
me know.

Accounting
Sandra Thompson
Office Manager
Tracey Anthony
Technical Department
Larry Fogg

User's Guide?
User's Guide, "The Magazine For CP/M Computer
Users" has disappeared, apparently permanently. In the
last issue (Oct 85) the editors (Cheryl Rhodes and Tony
Bove) wrote:
"First the good news: User's Guide is returning to an
all CP/M magazine, and we are starting a magazine called
PC User to handle PC-compatible users. We hope this
winning combination, together with our new magazine,
Desktop Publishing, will generate enough new business
to allow us to continue to publish the best articles and
most useful tutorials we can find."
That was the first paragraph of the editorial. The last
paragraph ends thus:
"With these steps (the three magazines) we grow from
a very small magazine publishing company to a "publishing empire". Step aside, CBS, McGraw-Hill, Gulf + Western!"
PC User has been shut down (before mailing the first
issue). User's Guide is on hold, and on March I, Desktop
Publishing becomes the property of PC World. (Tony and
Cheryl will be continuing as editors of Desktop Publishing.)

Staff Assistants
Dorcas Dsenis
Cary Gatton
Laura Logan
Renee Katter

MICRO CORNUCOPIA (ISSN 0747-587X) is
published bi-monthly for $16 per year by
Micro Cornucopia Inc. 155 NW Hawthorne
Bend, OR 97701. Second-class postage paid
at Bend, OR and additional mailing offices.
POSTMASTER: Send address changes to
MICRO CORNUCOPIA, PO Box 223, Bend
OR 97709.
SUBSCRIPTION RATES:
1 yr.(6 issues) ...................... $16.00
2 yr.(12 issues) ..................... $30.00
3 yr.(18 issues) ..................... $42.00
1 yr. (Canada & Mexico) ............. $22.00
1 yr. (Other foreign) ................. $30.00
Make all orders payable in U.S. funds on a
U.S. bank, please.
CHANGE OF ADDRESS: Please send your
old label and new address.

MICRO CORNUCOPIA
P.O. Box 223
Bend, Oregon 97709
CUSTOMER SERVICE: For orders & subscription problems call 503-382-5060, 9 am to
5 pm, Pacific time, M - F.
For technical help call 503-382-8048, 9 am to
noon, Pacific time, M - F.
RBBS - 24 hrs. 300-1200-2400 baud
503-382-7643
Copyright 1986 by Micro Cornucopia Inc.
All rights reserved
ISSN 0747-587X

2

C Competition
Here we are announcing a C competition, and I haven't
come up with an appropriately punishing name for it.
(I'm obviously suffering from an advanced case of pun rot.)
Despite this major obstacle, we are pushing forward, preparing for the greatest
C competition in computer (and pre-computer) history.
See the C entry form in this issue ,for more details, and then start writing.
Where To From Here?
Things get pretty interesting around here at 5 o'clock. Some days, of course,
that hour sees only heels as folks
(continued on page 76)

MICRO CORNUCOPIA, #29, April-May 1986

CONTENTS

April-May 1986
Issue No. 29

72

C'soning

6

12
32

An introduction to 68000 assembly
language and the ST.

Prototyping in C
The new C standard includes prototyping.

90

The C Environment
How do you select C interpreters? And,
do you really need them?

94

Benchmarking The Speedy PCs
(and CP/M Emulators) In C

The C Competition Grab your

Columns

Speed-up and more

24
28

C'ing Clearly Moving C to MS-DOS.

38

On Your Own
Special feature on doing your own importing.

43

Pascal Procedures Futuristic software.

48

Kaypro
Kaypro adds four more nails to CP/M's coffin.

56

In The Public Domain
Dynamite new public domain offerings.

a

60

5-100 Bus Turbo DOS discussion.

a
a
a

66

Xerox I/O and system speed.

69

86 World CCP/M Turkish style.

81

Culture Corner Brain teaser.

92

Technical Tips

Simple circuit monitors the phone line.

Relief From The 300-baud Blahs
A light review of a fast bird.

Upgrading Your
XT To A Turbo
For (almost)
Nothing

.,.,.o0"--,,
OSCII.1.ATOR CHIP

I'IILL OUT PIN 12

";~r

~ nA~~A
,,~.~ 8Q

Virtual Memory
There's nothing simple about substituting hard disk
memory for RAM.

47

16

Monitoring A Modem With A Bridge

Warm up the
soldering iron.

35

PC RP/M2, A Designer's View
Of A CP/M Emulator
The problems designers face when
writing a CP/M emulator for an MS-DOS
System running the V20 processor.

compiler and have at it.

20

Real Time Clock Routine For
The Kaypro 4
Turbo Pascal makes time almost easy.

What do you gain when you speed-up
a PC? How much faster is the 8 MHz
Atari ST?

18

Porting A 68000 Assembler
To The Atari ST

a
a
a
a
a
a

Drive Select Reversing Switch
Swap drives at the flick of a switch.

50

Adding Directory Hashing
To CP/M 2.2 As directories
get larger, linear searches take longer.

62

Future Tense
98

Tidbits
Gary looks closely at CP/M emulators and much more.

104

The Last Page PC upgrades, Taiwanese BIOS
and The Way of Life.

Computing In The Netherlands
A Dutch University instructor looks
at happenings in Europe.

By Gary Entsminger

MICRO CORNUCOPIA, #29, April-May 1986

3

Popcom Modems
I purchased a Popcorn X100 modem
about a year ago and soon discovered
that something in my network of
phone lines, power lines, EIA cables,
.CPU, printer, and mgdem was acting
as a perfect antenna for a local radio
station.
I filtered the power line, filtered the
phone line (Micro C Technical Tips,
Issue 23), shielded everything that was
shieldable, and still had the problem. I
then called the modem manufacturer,
Prentice Corp. They had a fix; I was
elated. The modem was shipped, repaired, returned - and I still had the
'problem.
I called Prentice again, and they
agreed to call my home that evening.
During the call, we went through
various tests of the modem. They
isolated the problem to the phone line
and designed a new filter for the
modem. A week later I received the
modem with the new fix, and I have
not had a single occurrence of the
problem since.
This kind of service is outstanding. I
. highly recommend the Popcorn X100
for its advanced functionality and the
service department that supports it.
Dave May
264 Maple Lane
Roseville MN 55113

Satisfying Software Customers
When I heard about a software package called "The Landlord" by Systems
Plus, Inc., it seemed just what I
needed to tame an unruly property
management business. SPI referred me
by name to a local software store
which didn't stock the package, but
readily agreed to special order it.
Three weeks later they received it.
$500 lighter, I took it home.
I was extremely disappointed. When
I checked the front of the training
manual for a tech help number, I
discovered that their information rate
is $60/hour (payable by charge card).
"Letters to the company went unanswered. When I called, the sales manager told me that my local software
store could train me. However, my
local software store had never seen the
product before, and had no agreement

4

with SPI. As of today, still no satisfaction.
My second fiasco was with a p:wduct
called Palantir. This is a word processor which was supposed to have been
optimized for Turbo DOS. I bought a
copy, loaded it, and watched my computer crash. The local distributor was
helpful - he told me I was doing
something wrong. So I shipped the
whole thing back, but he refused to
return my calls, or to give me a
refund.
A not-so-bad story: Poor Person
Software (Micro C advertiser) told me
up front that their software might not
run on my Turbo DOS system. They
were right. I shipped it back, erased it
from my system, and was promptly
refunded the entire price, including
shipping.
I believe a software merchant either
needs to let you examine a product
before purchase, or have a guaranteed
refund.
Sidney J. Balcom
P.O~ Box 4034
Alexandria VA 22303

K & R IIC" Clone
I made a discovery. Mix C ($39.95)
and Alcor C ($139) are the same. At
least the manuals are the same right
down to the typos.
Mix C is a virtually complete K & R
"C" compiler except that you can't
initialize external floats, doubles, and
&array_elements. Extensions to K &
R include the ability to prevent type
conversion in char and float values
passed to a function, and most of the
Unix V extensions (not enumerated
data types, however).
The object code produced needs the
runtime library unless you use a linker
option to produce stand-alone programs. You don't want to do that if
you don't have to: the overhead is
tremendous!
Compile and link speed is acceptable. Execution speed? A couple of
benchmarks out of the August '83 Byte
show startlingly variegated results.
Fib.c calculates the 24th value in the
Fibonacci series 10,000 times by means
of a recursive function call. The worst
speed Christopher Kern noted was

MICRO CORNUCOPIA, #29, April-May 1986

Aztec's: 237 seconds, or just under
four minutes. When Mix C had passed
12 minutes with no sign it meant to
finish this year, I hit the reset button.
For string.c, which calculates the
length of "Now is the time for all
good men to come to the aid of the
parity" 25,000 times, Kern got times
ranging from C/80's 357 seconds (six
minutes, more or less) to Whitesmith's
138 seconds. Mix did it in 54. (The test
for C/80 was slow because Kern was
using version 2.0, whose string-handling was, to be polite, primitive.) (I
couldn't get the Mix register version to
compile.)
Mix C is a very good and economical
full-C compiler affording you totally
portable source code. Write: Mix Software, Inc., 2116 E Arapaho, Suite 363,
Richardson TX 75081.
R.W. Odlin'
2127 Hoogdal Rd.
Sedro-Wooley WA 98284

Reader's Wish List
What new products would I like to
see? I mention them every chance I
get, but no one has taken me up on
them, yet. They are:
1. Some little boxes the size of halfheight, and full-height drives (with or
without a door). For someone who has
encouraged so many to mutilate their
Kaypros and leave them with gaping
holes, I'd say you have no choice but
to help them undo the damage.
2. Ever tried to find a small toggle
switch (sp3t) to give your Kaypro the
choice' of thinking in 2.5, 4, or 5MHz?
They're rare as hen's teeth. Why not
make a little money for staff doughnuts by selling them?
3. While you're poring through industrial supply catalogs looking for the
sp3t switch, why not look for a tiny,
four-direction toggle switch. Taking off
on the joystick article of a few issues
ago, you could make a small keyboard
joystick to zoom around on the screen
and avoid using those illogically arranged cursor keys.
Mike W. Perry"
6035 40th NE
Seattle WA 98115
(continued on page 86)

Idea ProcessingPure and Simple.
Announcing the all NEW

aUT-THINK,"
outline processor.
See your ideas like you've never seen them before!
Capture your fleeting ideas. And keep 'em
organized with OUT-THINK, the incredible,
new outline processor from KAMASOFT.
OUT-THINK unleashes the power in your
workhorse CP/M computer and turns it into
an Idea Processor.

r

Get extraordinary:

+ ease of use
Most functions are less than 3 keystrokes
away!

+ ease of learning
Completely interactive; no programming!

+ performance
Write more and faster than you ever
dreamed possible!

+ idea leverage
OUT·THINK your competition!

Once you've entered your ideas, you can get
them out with a full complement of formatting, printing and file conversion options
(including Wordstar compatibility). From a
two-page report to the Great American
Novel, OUT-THINK will rotate your headers
and footers with page numbers and give you
a Table of Contents to boot.
OUT-THINK is brought
to you by KAMASOFT.
We pion.eered outline
processing and
brought this amazing
"
new technology to
CP/M computers. For
over 2 years, our
KAMAS programmable outline processor has
been widely acclaimed:

~

----------------------Rush me my choices now:

special
introductory

OUT-THINK
the simple and
easy to use
outline processor:

$4995 *

KAMAS

$9995 *

the programmable
powerhouse:

KAMAS COMBO PACK
the power and the
glory:

O

$12995*

"Includes SlH U.S. &Canada. Overseas add: $10
for OUT-THINK; $30 for KAMAS or COMBO PACK.
KAMAS owners: Send us your master disk and $25
for OUT·THINK.

o i5 0

II 0

Payment Enclosed

Card No.

OUT-THINK supports
your thinking process
and keeps you in
touch with your ideas.
Thafs because
OUT-THINK works the
way your mind worksnaturally.
Begin by brainstorming. OUT-THINK lets
you jot down ideas quickly, as you think of
them. If you want to elaborate, you can add
text with full screen editing.

~

Then develop your
ideas using a familiar
. outline format.
~ Change the structure
~ as easily as you
~ change your mind.
~ Move an idea and all
attached text moves with it.

You can keep track of your main line of
thought by collapsing the details from view.
Then, exp~nd portions of the outline to
develop the specifics when you need to. By
collapsing and expanding, you can maintain
an overview and literally see how your ideas
fit together.
And OUT-THINK is
fast. Your ideas remain
at your finge·rtips.
OUT-THINK can
locate and retrieve by
keyword-even a
misspelled onein less than a second per outline file.

"Outline processing might be the
next wave in software, and KAMAS
is a good place to start."
- Ezra Shapiro, BYTE "

Exp. Date

Signature
Name

liThe outline processor ;ss/mple,
easy to use,and will appeal to aI/
users."
'
- Mark Renne, INFOWORLD

City

"If you're a· writer using a CP/M

Telephone

Address

based system, get KAMAS. You'lJ
love it./t's that simp/e."
'- Marybeth Highton"FOGHORN

State

Zip

Our software is available for most
CP/M computers. Tell us about yours:

uConsiderinf/ the quality of the ,
program itself, the documentation,
,and newsletter, it has to berated an
outstanding value.".
'
- Thomas Tucker, PROFILES

Computer Make/Model
Disk Size:
05%" SSDD
o 5W'DSDD D8"SSSD
Requirements: CP/M 2.2 or above (48K TPA).
Minimum 200K of disk storage. 80 column x 24 line
screen. (Note: KAMAS requires 56K TPA and Z80
processor.)

Our new OUT-THINK is simpler and easier
to use than KAMAS. Yet, it offers more printing and formatting options, better handling
and control, and faster operations. And at
$49.95 your ideas have never had it so
good. OUT-THINK is simply spectacular.
Try it for 60 days. If you're not completely
satisfied, return it for a full refund.

Terms: All orders prepaid. PO's accepted when
accompanied by payment. Foreign checks must be
drawn on US banks in US funds.

MAIL ORDERS TO:

KAMAlaFT.
2525 SW 224th Ave., Dept. 111
P.O. Box 5549

Aloha, OR 97007

If you create and organize text in the
course of your work, you owe it to
yourself to get OUT-THINK.·

CALL IN YOUR ORDER:
503-649-3765

"But for some people, enough is never enough. Some like the
challenge; others need the power. For you, we have the
KAMAS Combo Pack. You get OUT·THINK's ease of use
coupled with the extra horsepower of the KAMAS programming
environment. And both use the same outline files.

----------------------Wordstar is a registered trademark of MicroPro, Inc. Z80 is a
registered trademark of Zilog, Inc. CP/M is a registered trademark
of Digital Research, Inc. KAMAS, KAMASOFT, and OUT-THINK
are trademarks of KAMASOFT, Inc.
© 1985 KAMASOFT. Inc.

MICRO CORNUCOPIA, #29, April-May 1986

5

Prototyping In· C
By Jack Purdum, Ph.D.
Ecosoft, Inc.
6413 N College Ave
Indianapolis IN 46220

Type-checking gains a foothold
in this freewheeling language.
C was developed as a do-everything
language - for everything from writing operating systems to creating applications. Now there's another, Modula II, which combines C's versatility
with Pascal's strict data checking a
definite improvement.
Now there is an ANSI standard for
C and that standard includes prototyping, a process which makes it
possible for C programmers to use C
compilers to do data type checking. C
is.still alive and well and kicking.

ompared with most popular
languages (say, FORTRAN), C
is still a relatively young
language. Brian Kernighan and Dennis
Ritchie defined the C language "formaliy" in 1978 in "The C Programming Language," referred to throughout this article as "K&R".

C

A Little C Background
K&R has remained the standard,
although a maturing C has brought
inevitable changes. For example, structure passing and assignment were implemented on several compilers about
the same time K&R was published,
but weren't permitted in K&R. Other
modifications have also become common (for example, enum and void).

K&R, as it is commonly used today,
no longer has a one-to-one correspondence with C. That's not good,
since deviations in a language can
make porting programs difficult.
To prevent things from getting out
of hand, the American National Standards Institute (ANSI) established the
X3Jll committee to define a standard
for the C language. The committee has
cleared up the gray areas in K&R,
standardized elements of the language, and has added several .new
features to the language to reduce
some of C's shortcomings.
One major enhancement to C is
prototyping.
Prototyping - Problem Solver
Because C is so flexible you can call
a function using the wrong data type.
For example, IseekO is a function used
to locate a certain area within a file.
See Figure 1.
How many times have you done
something like calling IseekO using an
integer instead of a long data type for
offset? Making such a mistake is possible because C doesn't provide type
checking. That is, C doesn't check to
see that the data type used for offset
matches what the function expects for
offset.
Another common mistake is calling a
function with the arguments in the

Figure 1 - Iseek

What Is Proto typing?
Prototyping is the X3Jll committee's
method for catching reversed or missing function arguments in C. In addition, prototyping spots mismatches of
data types in function arguments. An
example will help illustrate what prototyping is and how it works.
Giveri the function definition of
IseekO in Figure 1, the prototype for
IseekO is:
long lseek(int, long, int);
This statement tells the compiler: 1)
the function returns a long data type,
2) the first argument must be an int, 3)
the second argument must be a long,
and 4) the last argument must be an
into Technically, the first type specifier

Figure 3 - Code Fragment

long Iseek(fd, offset, position)
int fd, position;
long offset;

'include (stdio.h)
long lseek(int fd, long offset, int position);

{

main( )

/* The details of the function */

{

}

int fd, offset, pOSition;
lseek(fd, offset, position);
/* Line xxx */

Figure 2 - Type Mismatch

lseek(fd, position, offset);
}

6

wrong order. For example, given the
correct definition for IseekO in Figure
1, you can also mess up the function
call to IseekO . See Figure 2.
Of course IseekO expects to see
offset before position.
In other situations a programmer
may even forget a function argument
when using the function. In some
cases, such mistakes cause obvious
problems (e.g., the file can't be written
to), while reversing or omitting function arguments may produce bugs that
are harder to spot.

MICRO CORNUCOPIA, #29, April-May 1986

Byte Magazine called it,
isn't part of a prototype; only the
information "between the parentheses" pertains to prototyping. Therefore,
items 2 through 4 are prototyping
information.
A compiler which supports prototyping would catch the mistake shown in
Figure 2. Why? Because offset and
position are of different data types,
and a prototyping compiler would
know this; a "straight" K&R C compiler would not.
Another variation of prototyping allows identifiers to be part of the
prototype. For example, you may also
say:
long lseek(int fd, long offset,
int position);

In this example, the prototype includes identifiers to help the programmer recall what the variables are. Note
that the identifiers are for documentation purposes only. The prototype
doesn't define the variables fd, offset,
or position. (And you can't use them
until they are defined.)
Now suppose you have the code
fragment shown in Figure 3 in your
program.
First, notice that we define fd, offset,
and position within mainO even
though they're present in the prototype. We do this because those variables aren't defined by the prototype;
they exist only for documentation purposes. Since they don't actually exist,
no storage has been allocated for
them. (A way around this is discussed
below.)
Now look at the rest of the program.
The call to IseekO in Line xxx is
incorrect because offset is declared to
be an int, but the prototype expects a
long. With prototyping you get tighter
type checking than with pure K&R C.
No Argument
A prototype for a function that has
no function arguments would be double drand(void);
which states that drandO should never
be called with an argument. If you
later (incorrectly) used drandO as:
x = drand(y);
the compiler will generate an error

because the prototype states that
drandO cannot have an argument.
Consider the following prototype examples:

"CIARCIA'S
SUPER
SYSTEM"

void func1(void, int);
/* Wronglll */
void func1(int1, int2);
/*
OK
*/

The first is an incorrect prototype
because the function says: "func10 is
a function that returns nothing useful
from the function and that it has no
arguments followed by an int." It
makes no sense to mix "void" with
any other data types in the list of
arguments. The second (legal) prototype expects two integer arguments
and returns nothing of value.
Prototyping With Pointers To Function
What if you need a pointer to a
function that returns an into For example, consider the prototype for a bubble sort function void bsort(unsigned, int (*)(),
int (*)() );

which states that bsortO requires
three arguments: 1) an unsigned, and
2) two pointers to functions that return
an int. In this example, identifiers
would help make the prototype more
readable. Therefore, we might use -

The S8180
Computer/Controller
Featured on the cover of Byte, Sept. 1985,
the SB180 lets CP/M users upgrade to a
fast, 4" x lW'sing/e board system.

• 6MHz 64180 CPU
(Z80 instruction superset), 256K RAM,
8K Monitor ROM with device test, disk
format, read/write.
• MinilMicro Floppy Controller
(1-4 drives, Single/Double Density,
1-2 sided, 40/77/80 track 3Y.'; 5%"
and 8" drives).
• Measures 4" x 7W: with mounting holes
• One Centronics Printer Port
• Two RS232C Serial Ports
(75-19,200 baud with console port
auto-baud rate select).
• Power Supply Requirements
+5V +1-5% @500 rnA
+12V +1- 20% @40mA
• ZCPR3 (CP/M 2.2/3 compatible)
• Multiple disk formats supported
• Menu·based system customization
S8180-1
S8180 computer board w/256K
bytes RAM and ROM monitor
....................................... $369.00

void bsort(unsigned nelem,
int (*compare)(),
int (*swap) () );

This makes it a little easier to understand what bsortO is all about. Again,
keep in mind that nelem, compareO
and swapO are not defined in the
program and cannot be used as variables or function calls. They have to be
defined elsewhere in the program.
Prototyping With Variable Arguments
Some functions have a variable number of arguments, the data type and
number of which cannot always be
known at compile time. The printfO
function is a common example. How
can we prototype such functions?
The standards committee created a
new symbol for C called an ellipsis to
designate functions in which we have
(continued on page 9)

S8180-1-20
same as above w/ZCPR3, ZRDOS
and 810S source ............. $499.00
.Quantity discounts available-

~COMM 1BO-M-S
optional peripheral board adds
1200 bps modem and SCSI
hard disk interface.
TO ORDER
CALL TOLL FREE

TELEX

1-800-635-3355

643331

•.
~
For technical assistance or
to request a data sheet, call:

1-203-871-6170

~~
~-

Micromint, Inc.
25 Terrace Drive
Vernon, CT 06066

MICRO CORNUCOPIA, #29, April-May 1986

7

THE CHALLENGER XT - 186
NOT JUST ANOTHER CLONE
FULLY IBM COMPATIBLE BUT FOUR TIMES FASTER

CHALLENGER
XT-186

SINGLE BOARD
COMPUTER

Standard Features:

Add-On Cards:

elntel 80186 CPU, 8MHz

Color Graphic Board: RGB and composite. 320X200
Color/B&W, 640X200 B&W only,
light pen input ......................

eOn-board 640K, parity checked RAM memory
e8 slots for I/O Interface Board
e4 channel 8237 DMA
. e8 channel 8259 Interrupt
e3 channel 8253 Timer
elBM PC-AT-like Bus with true 16 bit data pbth

Optional Features:

$1 20.00

Multifuntion Card: Real Time Calendar Clock with Battery
Backup, 2 RS-232 ports built-in,
1 parallel port .......................

$1 20.00

Floppy Diskette Controller Card: Double-sided, double
density, can support 4 floppy
diskette drives ...................•....

$70.00

e10 MHz operation
e8087 Numerical Processor support
The Challenger XT-186 offers full IBM PC-XT compatability. It
supports industry standard operating systems: MS/DOS, PCDOS, 1.0 through 3.1, UNIX and CP/M and runs all existing
software with higher performance. The XT-186 mother board
can directly replace any existing PC or PC-XT mother board, as
it has the same physical dimensions and mounting holes. The
Intel 80186 and 640K on-board 16 bit path RAM makes the
XT-186 the fastest PC currently aVdilable.

Monochrome Display Card: Supports 256 character codes
on 4K ROM, 4K display buffer on static RAM with tn
monochrome video output ............

$1 1 0.00

Monochrome Graphic/Printer Card: Two graphic pages
with a resolution of 720X348, software supplied
to allow the use of the basic graphic command, cenfronic
parallel printer interface .............

$1 40.00

MOTHER BOARD, 8MHz, 640K, RAM, 8 I/O slots

Visa and Mastercard Accepted

$795.00

Please Add 53.00 Shipping

HOLLISTON COMPUTER
P.O. Box 615, Chepachet, R.I. 02814

401-568-0522
IBM PC-XT-AT PC-DOS are trademarks of International Business Machines Corp. MS DOS is a registered trademark of Micro-Soft Corp. CP M is a registered trademark of Digital Research. Inc.

8

MICRO CORNUCOPIA, #29, April-May 1986

PROTOTYPING IN C
(continued from page 7)

no prior information about the number
or type of arguments that might be
used with the function. The ellipsis is
simply three periods (... ). Using the
ellipsis, the prototype for printfO becomes:
int printf(char *, ... );
or
int printf(char *control, ... );
which says that printfO returns an int,
and that its argument(s) will always
include (at least) a pointer to char (the
control string), but may have other
unspecified arguments with unknown
data types.

Creating Your Own Prototypes
Use a prototype form when you
write your own functions. (If your
compiler doesn't support prototypes,
it probably will in the near future.)
This will give you the benefits of type
checking that prototyping offers. If
you used to define a function as in
Figure 4, the new (prototype) form
would be as shown in Figure 5.
Note that the prototype form does
not use argument declarations; they
are part of the prototype. Also notice
that Line 1 of the prototype could be
"block-moved" into a header file for
future use as a prototype if the function definition were not in the file.
(Don't forget the required semicolon at
the end of the prototype if it's in a
header.)
Notice in Figure 5 that a prototype

Figure 4 - Function Without Protoyping

char *func1(c, fp, num)
char *c;
/* Argument declarations */
int num;
FILE *fp;
{

that's part of a function definition
does allocate storage for the variables
in the prototype, and those variables
can be used in the function. This isn't
true for prototypes that declare the
function rather than defining it. (Think
of a declaration" as simply the function name and its prototype, while a
definition" contains the complete
code, including the function body.)
1/

II

Prototyping The Standard Library
Given all of the above, it would
seem like a lot of trouble to go
through your compiler's documentation and create prototypes for all the
functions in its library. Fortunately,
the firm that manufactured your compiler has probably done this for you.
Although deviations should be expected, you'll probably find something like
Figure 6.
'
, If a System V header file exists for a
function, functions associated with
that header file will most likely have
their prototypes in that header file.
Some examples are given in Figure 6.
Note that the last header file in
Figure 6 (Le., stdlib.h) is not etched in
stone. However, several compiler
manufacturers are following the pattern and file names suggested in Figure 6. Consult your compiler documentation for specifics.

}

Figure 5 - Function With Proto typing

char *func1(char *c, FILE *fp, int num)

/* Line 1 */

{

}

Cast Off
Like anything that's new, it takes a
little time to get comfortable using
prototypes. However, once you get
used to the idea of prototyping, you'll
find it reduces certain types of bugs
that used to be particularly difficult to
uncover. if your compiler supports
prototyping, use it. It will payoff
handsomely in the long run.

Figure 6 - System V Header File Examples

Header File

Likely Functions to be Included

stdio.h
math.h
malloc.h
ctype.h
stdlib.h

fclose(), printf(), scanf(), etc.
sqrt(), ceil(), tan(), etc.
malloc(), calloc(), free(), etc.
isdigit(), isxdigit(), etc.
(Most System V functions that do
hot have a header)

•••

-------------------------------------------------

MICRO CORNUCOPIA, #29, April-May 1986

9

ICs
N

~N
tltC"!
.. 0

i

0"
I£1ffi

.-;§ in
,c

~

~a::

cd
cij~

t-.o

-eo

~t:

o~

a:

«0"
oeo
cnQ.
E
a:
WO
U

I

0"':
;::E~
U

Q)Q..

~~

~~
0
"¢

co

PROMPT DELIVERY!!!
SAME DAY SHIPPING (USUALLY)

r- Digital dynamics

• .. •
• ••

$16.00
8087 -2 Math Coprocessors
DYNAMIC RAM
64Kx4 150 ns
256K
256K
256Kx1 120 ns
256K . 256Kx1 150 ns
128Kx1 150 ns
128K
16Kx4 150 ns
64K
64K
64Kx1 150 ns
EPROM
27C256 32Kx8 250 ns
16Kx8 250 ns
27128
8Kx8 250 ns
27C64
2764
8Kx8 250 ns
STATIC RAM
6264LP-15 8Kx8 150 ns

Z
s:lI')

$4.75
3.37
2.79
4.75
2.50
1.35

o~

Ill')

U)ffi

U)@J
W;::E

S:2«
a: a:

0..'
0

WT"""
ZX

o~

>-co
t-~
ZC

$7.35
3.15
3.75
2.95

i=cn

«0
::::>0

aT"""

..

OPEN 6% DAYS: WE CAN SHIP VIA FED-EXON SAT.
NO EXTRA COST
FORFE[)'EX
SATDEUVERY
ON ORDERS
RECEIVED BY
Th: Std Air $6/4 Ibs
Fr: P-One $13/21bs

MasterCardNISA or UPS CASH COD

Factory New, Prime Parts .JJ

P

00
MICROPROCESSORS UNLIMITED, INC.

24,000 S. Peoria Ave.,
BEGGS, OK. 74421

(918) 26"'", -4961

• NEW - SEETIME has alarms!
You can set up to 4 alarms, each
containing date, time & message.
• NEW - Screen saver feature turns
off the screen after a set time with
no keyboard activity.
• NEW - ConfiguratIon program to
set SEETIME parameters:
- time/date location on screen
- military or civilian display format
- cursor blinking or steady
- screen saver timeout

• SEETIME can input the time or
date into any program, print the
screen and display alarms.
• SEETIME is part of TIMEPRO:
- APPT personal schedule manager
- TD file time/date stamping & backup
- LOG computer usage logging
TIMEPRO runs on '84 & later Kaypros with
Kaypro, Kenmore or Advent clocks ...............$74.95
SEETIME upgrade for TIMEPRO owners ....$14.95

Prices shown above are for Feb. 24, 1986

Please call for current prices. Prices subject to change. Please expect higher or lower prices on
some parts due to supply & demand and our changing costs. Shipping & insurance extra. Cash
discount prices shown. Orders received by 6 PM CST can usually be delivered to you by the next
morning, via Federal Express Standard Air @ $6.00, or PrIority One @ $13.001

Shipping and Handling - $2.50

(206) 772-0291 Visa, MasterCharge
12448 83rd Ave S., Seattle WA 98178

ZENET NETWORK through twist pair

MSC-LAT
~
~

KA YPRO™

users can share the advantage to
LATI. Just take off your main KAYPRO board and put
LATI-K into your cabinet.
A" advantage of LATI is yours now/

• 6Mhz H064B 180 (Z80 upward compatible) 512K
byte on board (256K installed, 384K RAM DISK)
• LAN:ZENETport 800K baud CSMA CO twist pair bus
type upw 500 meters HOLC
• Floppy: 3.5, 5 and 8 inch, dis density. dis sided and
dis track automatic desitylformat checking
• Hard disk: SCSI interface on board
• Video: 80 X 24 characters (color) and 640 X 200
pixels color graphic 12BK byte video RAM
character set is downloaded from disk
• Timer: battery back up calendar

• Serial: RS232C X 2 and TTL X 1
• Parallel: Centronics type, 16 bit TTL, 7.8
bit keyboard port (32 characters FIFO)
• as: Turbo Dos, MPIM (multiuser)
banked CPIM plus (single user)
• Size: lOX 6 inch 4 layered
• Assembled and tested
• BIOS source code available
• Completely faster than other Z80SBC

MSC'PCX
8088 expansion card for LAn soon available

WORLD SMALLEST COMPUTER
• Full personal CPIM system in palm 4mhz Z80 256K
RAM (128K RAM DISK)
.
Serial. RS232C X 2 automatic baud rate checking
• Parallel: Centronics type printer port
• Floppy: 3.5 inch micro floppy disk drive 800K byte
(option 5, 3.5 inch drive dis sided dis track. automatic
density checking)

MSC- M~C •

Full featured

CP~

• Z80 4mhz 128K Byte RAM
Floppy: 3.5, 5 and
8 inch dis density. dis sided and dis track upto 4 disk
drives Automatic densityl format check
• Serial: RS232C X 2
• Parallel: Centronics type, 16 bits W, 7.8 bit
keyboard port
• Timer: battery back up calendar
CPIM plus IS a regIstered trademark of DIgItal Research Inc
• Video: 80 X 24 high speed CRT controller
Z80 IS a regIstered trademark of ZlioJ Inc
.05' CPIM plus bank version included
Turbo Dos IS a regIstered trademark of Software 12000 Inc
S: .. lOX 6' h 41
d
Mountam SIde Computer and ZENEr are trademark of Southern Pacif,c LImIted • Ize:
mc
ayere
.J
USA

MSC-ICO

ED

Distributors
England-Quanta systems 01-253-8423
Denmark-Danbit
03-662020
Finland-BB. Soft
90-692-6297
India-Betamatix PVT Ltd.
0812-71989
Australia-LAMRON PTY. Ltd. 02-808-3666

10

• as: CPIM plus bank version
• BIOS source code available
• Completely faster than other Z80SBC

MSC·MTClP
Full assembled pcb of MTC
Under $189 in OEM quantity

~
•• •
•

plus system
• BIOS source code available
• ORI CPIM plus manual $50
• New word processor program for
MSC-ICO ADD $50
• Completely faster than other~Z80SBC

MSC.HCS. •

.
••
ExpanSion card tor ICO
RAM disk (upto 2M byte) and S~SI hard disk
Interface card for ICO With installation program

distributor _ _ _ _ _ _ _ __

Manufacturer and International distributor

SOUTHERN PACIFIC

Sanwa Bldg., 2-16-20 Minamisaiwai, Nishi, Yokohama. JAPAN 220
Phone: 045-314-9514 Telex: 3822320 SPACIF J

21 Altarinda Rd. Orinda, CA 94563
Phone:415-253-1270

Advanced single board computer technology company

Dealer and distributor Inquiries welcome

SOUTHERN PACIFIC LIMITED

MICRO CORNUCOPIA, #29, April-May 1986

COMPUTER PRODCTS U.S.A., INC.

.----EPIC SALES, INC.----.
-

10MEG
20 MEG
30 MEG
FIXED DISK DRIVE SYSTEMS
TI PC (Zobex)
$699
$ 749
$ 899
999
1199
TI PC (Western Auto.)
1049
TI PC (SASI)
599
649
799
TI Bus. Pro.
749
799
949
549
IBM PC and Compatible*
749
599
N/A
799
Sanyo 550/555
949
N/A
N/A
Zenith Z-100
899
For External Units Add $200
Above include drive, controller, cables, one year warranty and 30 day return privilege. Call for pricing on
larger size drives.
*Compatibles: AT&T, Compaq, Tandy, Columbia, Corona, Zenith, Others.

- TAPE BACKUP SYSTEMS
Irwin Internal 10 Meg ..................................................... $ 595
Irwin Internal 20 Meg (for AT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
695
1049
Wangtek Internal 60 Meg ..................................................
For External Units Add $100

-

-

AT&T PERSONAL COMPUTER
6300, Mono, 640K, 2. Floppy, DOS, Basic .... $1995
6300, Mono, 640K, 1 Floppy, 20 Meg, DOS, Basic.
2395
6300 Plus, Mono, 640K, 2 Floppy, DOS, Basic.
4295
For High Resolution Color Add ............ .
459

II'
-

-

Mono, 256K, 2 Floppy, P-Port, DOS ....... .
Mono, 640K, 2 Floppy, 20 Meg, P-Port, DOS

FIXED DISK DRIVES FOR IBM AT AND
TI BUSINESS PRO
$ 439
739
589
959
929
1149
1949
4595
$ 259
439
609

$1195
1795

Hayes 1200B Internal (IBM or TI) .........................
Prentice Pop Com External (IBM or TI) . . . . . . . . . . . . . . . . . . . . .

119
159
185

399
339

- PC REPLACEMENT POWER SUPPLY
150 Watt Side Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109

-INTEL MATH COPROCESSOR IC
8087-3 (5 MZ) ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
8087-2 (8 MZ) ................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

$ 150
175

-RAM CHIPS
4164 (150ns) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41256 (150ns) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.30
4.00

- NEC REPLACEMENT PROCESSOR
V-20 (5 MZ 8088 REPLACEMENT) ...............................
V-30 (8 MZ 8086 REPLACEMENT) ...............................

-

FLOPPY DISK DRIVES
Epson SD-521 DSDD 5.25 in. Floppy Drive ................ .
Shugart SA-465 DSaD 5.25 in. Floppy Drive ............... .
Siemans FD 200 8 in. DSDD Floppy Drive ................. .

-

$1895
2295
459

-MODEMS

OKIDATA PRINTERS
Model 182-IBM, 120 CPS, 9 in. Carriage .................. .
Model 192-IBM, 160 CPS, 9 in. Carriage ................. .
Model 193-IBM, 160 CPS, 15 in. Carriage ................. .

-

Mono, 640K, 2 Floppy, DOS, Basic ........ .
Mono, 640K, 1 Floppy, 20 Meg, DOS, Basic ..
For High Resolution Color Add ............ .

IDS PERSONAL COMPUTER

20 Meg Seagate ST-225 (65 ms) .......... .
20 Meg Seagate ST-4026 (40 ms) ......... .
30 Meg Seagate ST-238 (65 ms) .......... .
30 Meg Seagate ST-4038 (40 ms) ......... .
33 Meg Rodime RO-203E (55 ms) ......... .
51 Meg Seagate ST-4051 (40 ms) (Bus. Pro. only)
72 Meg CDC Wren (35 ms) .............. .
119 Meg Maxtor 1140 (30 ms) ............ .

-

OLIVETTI PERSONAL COMPUTER
(Same as AT&T 6300)

$

20
35

TAXAN COLOR MONITORS
Taxan Model 630 High Resolution Monitor. . . . . . . . . . . . . . . . . . . . . . . . . .
Taxan Model 640 High Resolution Monitor. . . . . . . . . . . . . . . . . . . . . . . . . .

539
639

EXPANSION CARDS
STB Super RIO Plus II Multifunction Card (64K) ....... .
STB Graphics II Plus Card ........................ .
STB Chauffeur Mono Graphics Card ................ .
STB Super 1/0 Plus Card ......................... .
STB Serial Card ................................ .
STB Parallel Card ............................... .
Zobex ZX2T Controller CARD for TIPC .............. .
Western Digital WX2S Controller Card for IBM PC
Taxan Model 555 Color Graphics Card ............... .
Central Point Copy II PC Option Board .............. .
Microsync dClock Real Time Clock ................. .
Western Automation S1 Multifunction Card (OK) ....... .
Western Automation S3 Multifunction Card (OK) ....... .
Western Automation Clock Option .................. .
512 K Ram Expansion Card for TI PC ............... .
128K Ram Expansion Card for TI Bus. Pro. . ......... .
Epic 1 Meg Ram Expansion Card for TI Bus. Pro. . .... .
Epic 2 Meg Ram Expansion Card for TI Bus. Pro. . .... .
Epic 3 Meg Ram Expansion Card for TI Bus. Pro. . .... .

$ 259
305
259
195
95
79
335
169
229
89
59
355
545
125
259
169
995
1595
2195

- OTHER PRODUCTS
World Media 5.25 in. DSDD Floppy Diskette ........................
Disk File 120, 5.25 in. Disk Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A-B Switch Box ............... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keytronic KB5151 Keyboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cabinet and Power Supply for (2) 5.25 in. Drives ....................

$

10
9
55
199
72

EPIC SALES INC.
132 WALNUT PLANO CENTER
GARLAND, TX 75042
TOLL FREE ORDER LINE: 1-S00-223-EPIC
TECHNICAL INFO AND INQUIRIES: 1-214-272-5724
TERMS: CASH. CHECK. COD. MASTERCARD AND VISA ADD 3%.
AMERICAN EXPRESS ADD 5%. TEXAS RESIDENTS ADD 6.125% SALES TAX.

MICRO CORNUCOPIA, #29, April-May 1986

11

The C Environment
By Gary Entsminger
Micro C Staff

Interpreting and compiling under MS-DOS.

If you're gearing up for the Micro
C C Contest and need a learning tool,

or if you just want a stimulating C
environment, one of the following
systems might help you to C.

I

've experimented with several C
packages (a mixed bag of compilers, interpreters, and a syntax
editor) trying to uncover the best
learning environment, and I'm pleased
to report that good inexpensive (and
expensive) packages are around.
FIRSTIME FOR C (a syntax editor),
INSTANT C, INTRODUCING C, and
LIVING C (editor/interpreters), ECO-C
(an inexpensive compiler and editor
which uses the MS-DOS linker), and
AZTEC C (a professional compiler/
assembler/linker/editor) have been the
guinea pigs. Table 1 gives some facts
and figures about each.

Testing, Testing
I went looking for a system that was
easy to use, reliable, and provided -

dependable error checking
online or tutorial help
good documentation
adequate speed for small programs

Primarily, I wanted an interpreter (or
compiler) that was easy to use. Learning C is hard enough without difficultto-learn commands and procedures or
undocumented bugs in compilers, interpreters, and editors.
So I learned the commands for each
system (most of the editors use the
cursor pad for basic movements) and
tested each product with a variety of
programs borrowed from introductory
C books ("The C Programmer's
Guide" by Jack Purdum and "The C
Puzzle Book" by Alan Feuer) and
benchmarks commonly used (at Micro
C) for testing C compilers 1. Dhampstone Bench (an all-around

12

test based on probable use written by
Jack Purdum, source available in
"Computer Language," Feb. 1986).
2. Thompson Benchmarks (very simple routines by David Thompson to
test arithmetic, looping, and screen II
o speed (see "Benchmarking The
Speedy PCs" in this issue for C
source).
3. Five problems based on the K&R
standard from "The C Puzzle Book"
by Alan Feuer (see Figure 1 - Pointer
Stew for an example problem).
Table 2 shows the results.
Firstime For C
I tried to create C source code, check
syntax, interpret or compile, and execute object code in each environment,
using the editor supplied with each
package. (Firs time For C doesn't have
a built-in interpreter or compiler, so I
ran its okayed syntax with the Aztec
compiler.)
In general, all the editors I used
were adequate. Firstime (the syntax
editor) was the flashiest, giving you
templates for WHILEs, IF-THENs, #in-

MICRO CORNUCOPIA, #29, April-May 1986

eludes, #defines, comments, and lots
more to be set up from a tasty menu
of function keys.
You enter statements, definitions,
etc. into the template, and Firstime
checks your syntax a line at a time,
flagging errors. You don't have to
correct the errors, but Firstime will
continue to flag them until they're
corrected. It will even write a file
containing the errors (if you insist).
Firstime has its own ideas about
syntax (doesn't everybody?) and will
occasionally reformat your freeform
code, thinking it's helping you C.
Usually this reformatting is no problem, but sometimes it obscures the
meaning of the statement.
Twice, Firstime reformatted and
okayed complex expressions which
we're incorrect. For example, Firstime
transformed the incorrect statement -

c= + + + +k;
in Figure 2 (Syntax) to -

c= + + + + k;

Table 1 - Facts and Figures

SYSTEM (vers.testd)

COST

:r~$~AN'I·G. . (J~41f)

$1f99
125.
59 •.
99.

INTRODUCIN~C(1.13)
ECO-C
(3.0)

LIVING C (1.0)
FIRSTlME
(1.2)
AZTEC C (3.2d)

?99.
499.

* ECO-C

references errors to
Purdum. Cost $19.95.

ON-LINE HELP
NO
NO
YES
X1;:$,

NO

ERROR MES
YES
YES
YES
YES
YES
YES

MEM REQ

TUTORIAL

320K
192K
256K
192K
256K
256K

NO
YES
YES*
NO
YES
YES

liThe C Programming Language It by Dr.

Table 2 - Benchmarks

SYSTEM

STRING

LOGIC

. AZTEC
SYMBOLS

PRINT

CAST

BENCH1

DHAMP

SYNTAX

FLOW

1

1

1

1

= Program
= Program
* = ECO-Cls
1

o

No interpreter or compiler I tested
would accept either of these statements (with good reason). Pointers
gave Firstime (and others) the most
trouble.
Yet Firstime is useful for both beginning and advanced programmers, and
could improve your C programming
style as well as save you a lot of
typing (keywords are entered via control and function keys). But if you go
this route, you'll need to buy at least
one more tool (an interpreter or a
compiler) and an introductory C programming guide.
Firstime comes with an online tutorial which makes learning the editor's
commands a breeze.
Interpreting Impressions
Living C, hltroducing C, and Instant
C are interpreters. You enter code
using their editor, and when you're
finished it's evaluated a chunk (a

STEW

executed correctly
would not execute or executed incorrectly.
prototyping feature prevented program execution.
function or a program) at a time. If
you've made an error the interpreter
returns you to the editor and puts the
cursor at the first error, Turbo Pascal
style.
Instant C works on functions, but
unlike Firstime, won't let you write a
function containing syntax errors to a
file, where it might get incorporated
into (and corrupt) a library. If you
want to exit the editor (and save your
incorrect source code), you can comment out the bad code - this is a
minor inconvenience.
Instant C
Instant C is definitely the most sophisticated of this group of interpreters and is aimed primarily at advanced
programmers.
It's much faster at running your
programs than Living C or Introducing
C and supports most of K&R, but has
little online help, and the manual is

vague about some important matters
(for example, Instant C's limitations). I
know it won't handle variable array
size initialization (from Pointer Stew
test, Figure 1) and bit fields in structures, but it successfully ran most of
the test programs.
With its high price tag ($499) and
vague documentation, Instant C
doesn't really beckon to the beginner,
but would be a useful addition to a
professional's C toolbox.
Living C
Living C is a delight to use, is full
K&R, and provides the best on-screen
debugging environment (a bouncing
parser and excellent help menus). But
it can be painfully 'slow when it's
executing programs.
Sometimes, too, it behaves unpredictably. For example, it also accepted
(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

13

THE C ENVIRONMENT
(continued from page 73)

the incorrect code in Figure 2 (producing a meaningless solution) and ran
BENCH1 (a print dots to the screen
program) incorrectly.
Some longer programs (100 lines or
more) which compiled fine under Aztec sent Living C totally to lunch.
(Error messages included: "Fatal error
at FF80, contact your distributor.")
Introducing C
Introducing C is the most limited of
any of the tested environments, falling
far short of K&R. For example, there
can be no explicit declarations of storage class (globals are always static;
locals are always dynamic). Only two
subscripts are allowed for arrays. Typedef, Goto, Constant expressions,
and #include are not supported. #defines can define constants but not
tokens.
But Introducing C is easy to use,
includes an excellent tutorial manual,
and works well with its many example
programs. This might be a good place
to start if you're a beginning programmer. Just don't expect to write complex programs. Introducing C couldn't
run most of the test programs (see
Table 2).
Compiling (Old-Fashioned & Reliable)
The classic way to C is with a
standard compiler. This is the age-old
edit, compile, copy down the error
messages. Edit, compile, copy down
the error messages... The process is
relatively slow, but the finished product runs fast since it's a .EXE or .COM
file.
Aztec C and ECO-C are compilers.
ECO-C is definitely a bargain. At $60,
it includes both the compiler and an
excellent Turbo-style editor.
Error messages are referenced to
"The C Programmer's Guide," so the
combination of compiler/editor/guide
at $80 makes an excellent learning
environment. Gratification doesn't occur as quickly as it does with interpreters (compilers just take a little longer
to deal with code), but the results are
generally dependable.
ECO-C includes prototype checking
(part of the new ANSI·· standard) and
is full K&R except for bit fields. Although ECO-C supports only the small

14

memory model, it's still a useful compiler for advanced applications, and
will serve far beyond the beginning
phase.
Aztec C
But if you don't want to start anywhere but the top, look into Aztec C,
the ringer, so to speak, of this group.
It's full K&R and undoubtedly a professional package (at $499 it ought to
be), but provides a good beginning as
well as excellent professional environment.
The documentation is lengthy and
good (although minus an index), but
won't really get you started in C. If
you go this route, you'll need to
purchase an introductory book as well.
Like ECO-C, Aztec provides good,
sensible error messages - an editor an assembler - a linker + a debugger
- a make utility - and a librarian
(with glasses).
If you're committed to C for the long
term, then it makes sense to go for
Aztec. (Another package spoken highly of on the grapevine is Microsoft C,
which we'll be testing for a future
issue.)
Aztec was the only product in this
group that correctly ran every test
program. (In fact, we wound up testing our programs with Aztec before
we tried them on the other packages
- a backwards approach. We should
have found it easier to verify and
debug the source with an interpreter/
editor combination before compiling it.
But sometimes we weren't sure
whether an interpreter's error message
(or strange result) was caused by a
problem with the source file or a
problem with the interpreter.)
Program Results
Let's look first at Figure 1. ECO-C
didn't report any errors, and didn't
run the program correctly. Instant C
couldn't handle variable array size
initialization. Introducing C ran the
first part of the program correctly and
then issued an error message - subscript out of range, and left me at the
error to correct. Firstime changed the
syntax by adding blanks after + + and
- and eliminated the spaces after the
commas. (But Aztec was able to run
the revised program correctly). Living
C didn't like the syntax *-* + +, but

MICRO CORNUCOPIA, #29, April-May 1986

allowed me to exit gracefully. Aztec
ran the program correctly.
Logic
From attempting LOGIC.C I learned
that - Introducing C limits its #defines to constants, excluding tokens.
Living C handled the complex #define
and ran the program correctly. Firstime produced Aztec-able code. ECOC wouldn't allow the int in PRINTF (a
prototyping check). Instant C ran the
program correctly. Aztec ran smoothly.
BENCHI
Aztec, ECO-C, and Instant C ran it
correctly. Introducing C and Living C
printed one dot and went into never
never land. Firstime produced Aztecable code.
Print
Aztec, Instant C, and Living C ran it
correctly.. ECO-C wouldn't allow int
in printf (a prototyping check). Introducing C couldn't handle the complex
defines. Firstime produced Aztec-able
code.
String
Aztec, ECO-C, and Living C ran the
program correctly. Introducing C
didn't like the complex define. Instant
C ran the program incorrectly. Firstime
didn't accept "integer."
Dhampstone
Aztec, ECO-C, and Instant C ran the
program correctly. Living C began
running the program, but had not
printed any results by the time I went
to bed. Introducing C wouldn't compile it. Firstime produced Aztec-able
syntax.
Syntax (Figure 2)
Aztec, ECO-C, and Instant C ran the
program correctly. Living C, Introducing C, and Firstime allowed incorrect
syntax; Living C and Introducing C
ran the program incorrectly.
Wrap Up
And that's about it for this group.
My tests aren't intended to be definitive, but are intended to give you a
good idea about the reliability of these
products. If you've had experience
with these or other C tools (compilers,

Eco-CRelease
Compiler
3.4
interpreters, libraries, syntax editors ... )
let us know.

We think ReI. 3.4 of the Eco-C Compiler is the
fastest full C available for the Z80 environment. Consider the evidence:

For more infoManx Software Systems (Aztec)
P.O. Box 55
Shrewsbury NJ 07701
(201) 530-7997

Benchmarks*
(Seconds)

Computer Innovations (Introducing C)
980 Shrewsbury Ave
Tinton Falls NJ 07724
(201) 542-5920

• Times courtesy of Dr. David Clark
CNC - Could Not Compile
NIA - Does not support floating point

Living Software (Living C)
250 N. Orange Ave, Ste. 820
Orlando FL 32801
(800) 826-2612

We've expanded the library to 120 functions,
improved the manual and added new compiletime switches. The price is $149.95 and
. includes the SLR Systems Assembler-Linker.
A savings of $145.00 over the old price!

ECOSOFT (ECO-C)
6413 N. College Ave
Indianapolis IN 46220
(800) 952-0472

Call today
1-800-952-0472 (orders only)
1-317 -255-6476 (information)

. •

E~
rl.COBO;;;:I;f

Spruce Technology (Firstime)
P.O. Box 7948
Shrewsbury NJ 07701
(201) 741-8188
Rational Systems (Instant C)
P.O. Box 480
Natick MA 01760
(617) 653-6194

ss,.
I'

VISA

I

liE

(317) 255-6476
6413 N. College Ave. • Indianapohs, Indiana 46220

.

C

SOVRC~

,

CODE :

XLT MACRO PROCESSOR w/source ......... 95.00
XLT can be used as a preprocessor, text translator, or simple cross-assembler,
depending on your macro definitions. Comes with manual, C source and macro
files.

Q/C 4.0 CP/M C COMPILER w/source . ONLY 95.00
Save $70.00. Fast, full featured compiler from the Code Works includes longs,
single-precision floats, excellent manual.

QC88 C COMPILER FOR PC's w/source ONLY 125.00
Save $70.00. As above but no floats or longs. Runs on PC clones.
APROTEK 1000
ONLY

$265.°0
COMPLETE WITH
PERSONALITY
MODULE
117 VOLT AC POWER-RS232
-6 BAUD RATES - HANDSHAKE TO HOST
ALLOWS READ. WRITE. VERIFY. COpy
Comes complete with a CPM. IBM-PC or Apple
Driver Program on Disc.
Programs the following 5 Volt 24 or 28 pin
devices: 2716 series through 27256. 25xx series.
68764 plus others. Please Specify Personality
Module desired with order. Additional Personality
Modules only $15.00 ea. Full 1 yur warranty.
TO ORDER CAll 1 800 962 5800 OR WRITE
APROTEK
1071 A AVENIDA ACASO
Add
CAMARillO. CA 93010 $400 SllIpplnH USA
Info 18051987 2454
VISA or MC Add 3"1"

QCX C CROSS-COMPILER w/source ........ 495.00
Runs on PC, generates code fit to run on 280 CP/M or ROM base controller
system.
Tony Ozrelic's L.A. Software is now KYSO Technology •

•

TO ORDER: Add $5.00 to total for shipping and handling. Personal
check or M.O. are OK. Sorry, no COD's, PO's, or plastic money. 3D-day
money-back guarantee. Most order shipped 1st class within 5 working
days.
KNOCK YOUR SOCKS OFF

T E C H N 0 LOG Y
•

P.O. &x 5246 •

Bend, Oregon 97708 •

(503) 389-3452 •

MICRO CORNUCOPIA, #29, April-May 1986

15

Moving Your C And
Assembly Language To MS-DOS
Moving from CP/M to MS-DOS
can be easy or not so easy. Ron found
the Pascal· shift easy: moving over his
C and .CJssembly language programs
was not. Herein lies the tale.

I

t was a sad day when I received
Micro C issue #27 and noticed it
was abandoning its special fixation
upon the single board computer and
CP/M. It was a bit like hearing Teddy
Kennedy voice doubts about the future
of the welfare system. The announcement seemed all that much more melancholy because I find myself in the
very same passage. For good or ill,
PC-DOS/MS-DOS is now where most
of the useful applications are and
where most of the fun hacking can be
had.
Perhaps some day the 68000 or even
the 32000 world will take over, but for
the foreseeable future the IBM and its
compatibles have a stranglehold on
those benefits which many of us first
CFlme to love in the Kaypro and its kin:
~n op~li machine architecture, real
price competition among software and
hardware producers, lots of wild and
willing sqftware in the public domain,
and tho~sands of ftHlow obsessives out
there to ~wap jargon with.
My InltiatiQn
After buying 11)Y Zepith 158, my first
step, of course, was to buy Turbo
Pascal 9.0 and a new C compiler and
settle down to getting q.tilities and
applications programs ~cross to my
new toy .. Tqrbo perfqrIl1ed a~ all of us
Turbo f~ns kilew it would - magnificently.
For example, l hac;i written q stock
market emulation game for high
school students using CPIM Turbo 1.0.
About 3500 lines of complex databasing and calculation in six chainedtogether command files. It took me
about an hour to get the old code up

16

and running on the Zenith. All I had
to do was change the pointers from
16-bit to 32-bit entities using the " seg"
and "ofs" functions, erase the chain
commands, get rid of duplicate declarations that had crept in in spite of my
header files, and "include" it all together. And it ran - all of it, the
whole darned thing, in one fat COM
file. I was so happy I almost wept.
Somehow, though, my Protestant
conscience kept whispering to me that
DOS immigration ought to be more
painful than this. It's hard for a C
freak to love a language with readymade commands called "ShowTurtle"
and "HideTurtle." But I can't help it,
I do. It's as if I, a motorcycle addict,
had a secret affection for Buicks. And I
can get my Buick for not much more
than thirty bucks from those strange
mail order peddlers around 47th
Street.
Cheap Compilers
Since Software Toolworks' C/80 has
given me hours and hours of bug-free
fun, I decided to try their MS-DOS
"Toolworks C." For 50 bucks, plus 30
for the floating point routines, I
couldn't lose much. As someone who
learned to program on JRT Pascal, I'lll
partial to cheap compilers, since they
(a) don't cost much money, and (b)
encourage the programmer to create
hi~ own libraries, and so know what
the devil is going on inside his programs. Thoreau suggests that no man
really owns his house who hasn't built
it up from the bare boards. Perhaps
the same is true for one's working
compiler.
Though I considered the DeSmet
compiler, Toolworks' is even cheaper
and offered me all the source code. In
fact, I learned to program the 8088 by
sitting down at the console and reading through Toolworks' listing. After
slogging through 10K worth of assembly language modules, you get the
general idea - "PROC," "SEG,"

MICRO CORNUCOPIA, #29, April-May 1986

By Ron Miller
1157 Ellison Dr.
Pensacola FL 32503

"NEAR, " "FAR, " "ASSUME, " and
all the rest. My newfound skills, of
course, enticed me into getting a Microsoft Assembler to make things run
faster.
After I'd converted all the string
routines into assembly language and
had figured out how to manipulate the
memory and, more importantly, the
screen directly, I began to feel at
home. I quickly discovered that only
wimps use interrupt 10 routines. Real
men write to the CRT memory directly.
More Gains Than Losses
All the higher level library functions
from C/80 which I'd concocted over
the years (bit routines and hex conversions and the like) went over without
a glitch. Lots of my stuff wasn't
applicable, however, because like any
ambitious C hacker I'd spent a fair
fraction of my Kaypro time abusing
the operating system, and none of that
code related to the Microsoft world.
Some loss but, oh~ the gains, the
gains: folks who haven't tried MSDOS can't irnagine the wonderful new
mysteries the interrupt system and
resident-progr(lm programmihg hold
for rainy weekends.
Those of you who aren't aging hotrodders and system tinkerers can certainly go a long time without dabbling
in assembly language. Unfortunately,
there doesn't seem to be any linkable
assembler for the 8086 that can be
snatched off bulletin boards, so it's
cash on the barrelhead. Where's Micro
C when I really need them? Did I need
another set of disk utilities? No. Did I
need a standin for MASM? Ye$$.
Anyway, when you finally indulge,
you'll find that 8086 code is not too
different from Z80 code, with more
string routines and loop controls, and
fewer jump statements. I miss juggling
the Z80 alternative registers, but find
the large number of accumulator registers handy for squirreling things

'" Bit Lab Aeeuraey
Industrial Durability

The Servo Process Control Board is a general purpose multi-channei
analog and digital input/output controller which can communicate with
and control most medium-scale Industrial processes. Designed to work
with the Servo Industrial Microcomputer, (or other computers which
support the SASI interface), it offers great accuracy at prices starting
as low as $495.
American made
I MILSPEC components
D 1 year warranty

a

Maximum configuration includes: I 192 anaiog inputs
164 analog
outputs
I 128 digitai inputs
1512 digital outputs
I Based on the INTERSIL 14 Bit A to D converter ICommunicates with
any micro or mainframe computer
Easily programmed in high level
languages (Turbo Pascal, Microsoft Basic, Forth) I PID, FFT, Thermocoupie linearization and laboratory DAS software supplied. I Custom
software and hardware engineering assistance available.

a

(J##1#1111. m-~
SERVO COMPUTER CORPORATION

360-B N. Ellensburg SI.
Box 566
Gold Beach, OR. 97444
(503) 247-2021

away. Folks with 32-bit machines must
get bored with all those cubby holes
for storage. Where's the challenge? It
must be like playing tennis without
the net.
Data And Code Limitations
Cheap compilers do have one disadvantage, and that's the limitation of
the data and the code sections to 64K
each. Although that's more room than
we are used to with CP1M, you are
still using only a small portion of that
640K blank wall that's just waiting for
you to scribble all over it. (At present
RAM chip prices, anyone who doesn't
put 640K into his machine is short a
few chips himself.)
Moreover, with this so-called
"small" model, the 16-bit pointers
cannot be directed toward the operating system. Most compilers have
"peek" and "poke" for changing runs
of memory outside the 64Kboundaries, but it's not the same. Heck,
BASIC (shudder) can do that. It didn't
take me long to dream up a binary
tree that really could use a S,OOK heap.
Since Turbo Pascal lets lne pile up
an unlimited heap, and I think I can

• REFERENCE MANUAL with examples, three Indexes,
module maps, impatient user's guide (5.5 x 8.5,410 pp).
More than 310 functions in five libraries for Software
Toolworks· C/80 In Microsoft M80 format (also SLR
Systems). Twenty-seven utilities. Requires Digital Research CP 1M 2.2 and 8080/Z80 CPU.
• Develop portable applications using Bell Labs Unix V7
conventions. Designed from Kernighan & Ritchie, Harbison & Steele, Banahan & Rutter, Sidebottom & Wortman
and Donald Knuth's three-volume set.
• Settable dynamic buffers. Full stream 1/0. Transcendentals. Strings. Math. Searching & sorting. Timing.
Compact code (K&R HELLO. COM is 254 bytes). Up to
255 files. Direct-disk. Directory. Memory management.
High-speed seek. Fastest block reads. System access.
Speed and code size optimization. Automated compile,
assemble and link. Ideal incremental development.
• Useful C Utilities: Xref, Beauty, Calls, BoldUst, Archive,
Portable Source Generator, Jump-on-error Monitor.
• Sample Programs: Learn or teach C style using source
code from textbooks, scholarly periodicals and popular
magazines.
• No royalties. No copy protection. No limitations on
educational use. No extra charges.
• Reference Manual with library object code on disk ...•.
$29.95
• Source code archives and utility sources on disk •••.•..
$19.95
• Phone orders shipped immediately. Write or Call today
for free brochure.
Viking C Systems
2243 South Belaire Drive
._
Salt Lake City, UT 84109
\ J.
~
1-801-466-6820/Grant

Jj

vlKltK ..7CJt\t.l4kl

jury-rig my own extended pointer system using long integers and "MOVS"
commands, I just haven't found it in
my soul to spring for Lattice C at $300.
At the cost of fatter code and slower
programs, Lattice or one its high-toned
brothers would let me treat the full
meg of memory as my playpen. Someday, perhaps - but by then I may
own a Definicon and may be sailing
boldly on a myriad-bitted pointer, out
there,. alone, among the terabytes.
Augmenting Your Cheap Compiler
What I don't miss with my cheap
compiler is the huge number of specialized functions that the higher
priced compilers offer you. Any programmer worth his salt can use the
linker and library utility that came
with the operating system to add
UNIX-sounding goodies by the basketload.
My trick - I think it's ethical - is to
read the manuals of compilers that
friends have bought. When I run
across the description of a neat function, I pop a beer and try to figure out
how to do it my-y-y way. Even the
entanglements these little projects in-

evitably get me into have been invaluable to my understanding of how
things work. As long as I have the
" code to the run-time package and the
~ assembly language modules, my
souped-up K-Mart C can do anything
that the Intel instruction set can dream
of.
I'll also admit that playing with
segment registers can add a whole
new dimension to the game of findthe-error. When you screw up the CS
register, you really have fun on your
hands. The alternate-control-delete
keystroke motion has by now been
etched into my brain. It usually works
unless you've liquidated the keyboard
interrupt. I often do. Then you'd give
about S76K of virgin memory for that
wonderful red restart button on the
back of the Kaypro. I'm clever enough
to know how to pluck files back off an
old RAM disk, even if I had to Alt-CtlDel it; but turning the machine off
completely doesn't do much good at
all to the information stored in the
memory.

(continued on page 19)

MICRO CORNUCOPIA, #29, April-May 1986

17

MICRO. CORNUCOPIA'S C CONTEST
!?

If you've been going so hard you just
can't C straight, then drop everything,
dig out the old compiler, brush off the
cobwebs, and C what you can C.
Any kind of C. From Small-C to large,
from a hundred lines up, this is your
chance to C'cure fame and glory (plus
valuable prizes).

SCORING - The programs will be
judged by the Micro C staff on the
following:
GRAND PRIZE:
• DSI-32, I meg, 10 Mhz 32032 computer board with
assembler/linker from Definicon Systems
21042 Vintage St., Chatsworth, CA 91311

0-15
0-25
0-40
0-20

for
for
for
for

ALGORITHM
CODE ORGANIZATION & READABILITY
PROGRAM FUNCTION
USER DOCUMENTATION

1st & 2nd Place

• Optimizing C Compiler (large model)
from Manx Software, Box 55, Shrewsbury, NJ 07701

• Optimizing C Compiler (large model)
• Essential Software's C Library (graphics, 110, everything)
• 2 year subscription to Micro C

• Essential Software's C Library
(graphics, 110, everything)
from Essential Software, Inc.
Box 1003, Maplewood, NJ 07040

3rd - 5th Place
• Aztez C Prime Package
(interpreter & compiler)
from Manx Software
• I year subscription to Micro C

• 3 year subscription to Micro C

--------- CONTEST DEADLINE November 1, 1986 ---------

ENTRY FORM
Program Title _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Purpose __________________________________
Which C compiler? _ _ _ _ _ _ _ _ Target system(s) _ _ _ _ __
Please include source and object files on disk.

NOTE:

I hereby release this program to the public domain
and give Micro Cornucopia the right to print the listing_
Name _ _ _ _ _

Signature ___________________

_ _ _ _ _ _ _ _ _ _ _ _ _ _ ___

MICRO CORNUCOPIA

Address _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

P.o. Box 223
Bend, Oregon 97709

~~~

City ____________ State _ _ _ _ _ Zip _ _ _ __

18

MICRO CORNUCOPIA, #29, April-May 1986

C'iNG CLEARL Y
(continued from page 17)

Editor's note: A non-destructive hardware reset circuit for 808818086 systems
sounds like a good hardware project for
Micro C. Any suggestions before we tackle
it here? Many clones have a hardware
reset circuit, so all you have to add is the
momentary-contact push switch.
Changing The Code
Transferring actual working C code
was not as effortless as I'd hoped it
would be, in spite of the much-touted
portability of C. Had I written that
stock market game mentioned above
in C, I would have had a full day's
headache on my hands. Complications
arise (a) because MS-DOS handles files
differently than CP/M does, and (b)
because the C standard (as well as
function names) is evolving.
All my" setmem" calls had to be
changed to "memset," for example.
"Read" and "write" have become
"fread" and "fwrite," with a different
order of arguments. Or else "open"
rather than "fopen" must be used to
get things started, and that adds a
twist because the MS-DOS "open"
returns a different error message. File
handle "minus one" is remarkably
hard to work with. File pointers rather
than integer handles are needed for
stream input and output. Nothing ma-

jor, and changes will vary from compiler to compiler, but the first evening
and a half of debugging can get VERY
frustrating.
Well, if you wanted the machine to
do it all for you, you'd own a Macintosh, right? Now that I know the
subtleties that get lost in translation,
code pops back and forth by wire from
Kaypro to Zenith and Zenith to Kaypro, with compiler success coming
ordinarily with a curse and a second
try.
Wrapping Up
The efforts are worth it. You can DO
so much more in MS-DOS, and most
applications programs, if not that clunky operating system itself, are faster.
My first suggestion is that you get
Peter Norton's "Programmer's Guide
to the IBM PC" so you'll know the
interrupt system's commands, which
will open up the hardware to your
amorous advances. Be patient; do it in
small doses; stick to the standard
library the first night; and wait a
month before you start altering the
segment registers. If you're very, very
good, some day soon I'll tell you how
to write resident programs using .EXE
files from C, which I learned how to
do by not following my own advice.

•••
20 pin
to host
adapter

Shugart 1610
controller

to drive
34 pin

50 pin
SASI to 5T506/412

5114" HARD DISK CONTROLLERS
These new factory sealed Shugart controllers come with all documentation.
They will control up to two 5%" hard disk drives with up to 8 heads each. These
unique controllers will mount directly on the drive. By the change of an
EPROM they change their instruction set to emulate other popular controllers.

*
*
*
*

*Shugart 1610-3 emulates Xebec S1410
1610-1 emulates DTC 510
1610-4 SCSI version similar
to ADAPTEC 4000
Using standard host adapters they work with:
Apple II, 11+, liE
* Wavemate Bullet
MAC (see Sept. Dr. Dobbs)
* All AMPRO boards (little board, etc.)
TRS 80 model III, IV
* And other systems with SASI Ports
1515160 & ACS 1000 (PC clones)
or host adapters

1 for $99. ea.

2 for $90. ea. 100 for $75. ea.
Quantity priCing available.
• Computer Surplus Store (408) 248-0134 •

Other controllers also available for 8" and 14" drives including Shugart SA1000, 4000 SERIES and
Quantum 2000 SERIES OTC 1404, 14040, 1403, 14030, 14081, 1420-1 .

$99

C-8UNDLE

VIEW: CRT Based Disk Diagnostic
EZZAP: ROM Burning Utility
includes schematic

C-PACK: Utilities in C
C-Games: User Modifiable Maze Game
All are written in C, include Source Code,
and available separately.

lex TOOLKIT

lex: ISIS to CP/M or MS-DOS exchanger
for MOS and iPDS
ISE: ISIS Emulator for CP/M

I

each

$89
$89

CP'MllolC\q,IoIlR_rch

~ Weslern~::

303·327-4898
BOI C. Norwood, CO 81423

CPM-80 LIVES
ON YOUR PC
CP/Mulator puts a 4mhz 8 bit
CPM-80 emulator in your IBM-PC
for only $99.
• Execute 8 bit CP/M programs at
4 mhz. Stop waiting around for
those slow software emulators
at twice the price of this speed
demon!
• CP/Mulator makes a fantastic
CP/M development environment
and allows you to use all your
CPM-80 tools, and the IBM-PC
tools too!
• Why write off that expensive
package that you boug ht for
CPM-80 just because you upgrade to a IBM-PC? Apply the
$99 solution and keep it working.
No retraining or conversion
blues!
• CP/Mulator includes the NEC
u PD701 08 processor which increases the speed of your
IBM-PC by at least 10%. 100%
compatible with existing IBM-PC
software and 8087 compatible.
PURCHASE THE SOFTWARE
ALONE FOR ONLY $69!!
Source Information
P.O. Box 2974
Warminster, PA 18974
Phone (215) 628-4719

MICRO CORNUCOPIA, #29, April-May 1986

19

Monitoring A Modem
With A Bridge

By Philip W. Elrod
3254 Spring Dr. NW
Doraville GA 30360

Don't intrude on your own calls.

If you've ever wondered what's
going on over the phone line, but
your modem won't say a mumblin'
word, you're in the right place. This
simple project using simple parts from
a simple Radio Shack should keep you
informed.

» ···<,i:'

i

i

:t

"".,

.·.·. i.

:'i

........

i

i

B

i

........

/ ..'.'

P

i

., ...:....

.> I)

>:

20

<

VI

..•..,•..

{

A More Recent Application
Once while trying to communicate
with my company's Email system, I
needed to know what was happening
on the telephone line (connected to
my Kaypro). Listening in on an extension. caused noise problems and added
more load to the line. In addition,
when I used pulse dialing, I couldn't
monitor the line with an extension
until I was sure the dialing was complete.

~v

:u

If

~

ack in the old days of radio
broadcasting, when. we wanted
to see what was happening on
the transmitter or remote' audio (telephone) line we used a technique called
bridging. Some sort of high impedance
monitor was bridged across the line,
enabling you to monitor the signal
without disturbing it. I still have a pair
of 9K ohm headphones used for the
purpose.
If the audio was coming from a line
with a DC control signal present, such
as the switched telephone network,
the bridge was capacitor isolated. The
usual components of a bridge were
two 2mFd 600V capacitors, two 10K
ohm resistors, and a 1: 1 Western Electric repeat coil transformer.
The connections to the line were
through the capacitors to the resistors
and then to the transformer. The resistors were omitted if audio was to be
sent as well as monitored. The reason
for having two of everything was to
maintain the balance to ground of the
line so as not to degrade common
mode noise rejection.

,:"i

..

.., '

,'''1

:.

."

f~ 'I

'1:

;.~

'j:

:i <).

"."

"":

{

.......

.... <



. :... ?

\ i

t(

iii
r D

a

'E.lil

rl

::.',

;=,:l: IB ir
'i

I

For a few dollars, I assembled a line
monitor that works very well and can
be assembled on a Saturday afternoon.
The monitor is a Radio Shack battery
powered amplifier and speaker. The
bridging transformer is another Radio
Shack component, a 600 ohm to 600
ohm transformer. The DC block is two
.1 50 volt ceramics in parallel for a
total of .2 mFd. I didn't try to maintain strict balance since the transformer winding isn't balanced or shielded.
It didn't seem to make a difference.
The level out of the secondary was
way too much for this hot little amplifier, so I installed an attenuator consisting of a 10K ohm resistor in series
with the transformer secondary and a
100 ohm resistor across the jack to the
amplifier cable. What I did is shown in
Figure 1.
The red and green wires from a
modular telephone cord supply' the
input signal. You can plug the cord
into a standard modular phone outlet
once the wiring is finished.
I put the transformer and attenuator
in a 2" length of 1/2" (trade size) PVC
water pipe. I epoxyed a fender washer
to one end to hold the output jack I
also made a rubber plug from a bumper foot to retain the knotted telephone
cord in the other end. If I did this
again, I'd forget the jack and just use

MICRO CORNUCOPIA, #29, April-May 1986

,

"':.'

if

/

.;;;

.2

.:

LT.

'}

a cord at each end.
There is nothing especially critical
about any of the parts.
This modification works very well.
You hear the dial tones, the ring or
busy, and then the modem carriers as
they do their thing.
A word of warning: While there are
some other uses for this thing, some
of them can get you in a lot of trouble
with the law.

• ••
FREE SOFTWARE
FROM THE PUBLIC DOMAIN
User Group Software isn't copyrighted. so no fees
to pay! 1000's of CP/M and IBM software
programs in .COMand source code to copy yourself! Games, business, utilities! All FREE!
Rent
Buy

IBMPC·SIG 1·454 OIsklldes .......... .
IBMPC·BLUE 1·175 OIsksldes ........ .
SIG/M UG 1·246 Olsksldes .......... .
CP/M UG 1·92 Disksides ............ .
PICO NET 1·34 OIsksldes ., .......... .
KAY PRO UG 1·54 Disksides ....•.•..•.
EPSON UG 1·59 Disksldss .•..•..•....
COMMODORE CBM 1·28 Disksides .•....

475.

950.

185.

435.

25.
65.

100.
200.

HiO.
45.

70.

25.

675.
250.

210.

65.

Public Domain User Group Catalog Disk $5 pp.
Send your check & specify computer format.
Rental is for 7 days after receipt, 3 days grace to
return. Use credit card, no disk deposit.
Shipping, handling & insurance $9.50 per library.
(619) 941-0925 Orders & Technical (9 to 5)
(619) 727-1015 24 Hr. 3 Min. Info Recording
Have your credit card ready!

National Public Domain Software
•

BBB

. i
I

I.=.I

1533 Avohill Dr.
CA 92084
1-800-621-5640 wait
for tone dial 782542 ~

Vista,

VEDIT® Plus Text Editor
~~-A.r---{. The Navy charts new
._. _. _' "-'-- concepts with it. .. GM
engineers the future withc~;~i~;:::t.3~L .: .
it... !.!~
National
Can
preserves
)I'i..
.
facts t~ with itooGE has brigh~(-i",{_
ideas with it. .. Heres why_you )'l[rt
shouldn't be without it
. ~
._ . _ _

( _ ........ ~

Every day, VEDIT PLUS helps thousands of
programmers, writers and engineers get
down to business.
So why do people who could have ANY
text editor prefer ours? For a lot of reasons,
including:
• CAPACllY-With VEDIT PLUS, file size is
never a problem. And virtual disk buffering
simplifies editing of even the largest files.
• FLEXIBILITY-VEDIT PLUS lets you edit up
to 37 files simultaneously. So you can cut
and paste. Edit programs. Edit text. Even
perform numerous search/replace functions
in several files without user intervention. *
• CUSTOMIZATION-With VEDIT PLUS, you
can create your own on-line editing functions with keystroke macros. Develop your
own on-line help screens. Determine and
revise your own keyboard layout easily.

~ _ _ .. 'C'

.

--"

\..

f_ ... t~)

_./ --.·c

• SPEED-VEDIT PLUS not only works hard,
it works fast. Faster, in fact, than any other
text editor on the market.
• EXPERIENCE-Six years ago, CompuView
revolutionized the concept of microcomputer text editing. And we've been improving our products and services ever since.

Special Offer: Order a VEDIT PLUS
text editor for S225 and we'll include
our V-PRINT™ document formattera S120 value-absolutely free.
Call CompuView today at
313/996-1299. You'll be in good
company

CompuView®
(ompuView(R) Products Inc., 1955 Pauline Boulevard-Suite 300, Ann Arbor, Michigan 48103, TELEX 701821
Available for PC DOS, MS-DOS, CPIM. CP/M-8b.
*Free sort. compare, print and main menu macros included; optional8080-808b translator or mailmerge, S50 each.

MICRO CORNUCOPIA, #29, April-May 1986

21

MICRO
SUPPLY

ORGANIZATION INC.

advanced
tec·hnology.

Complete MS-DOS/CPM
Super Turbo
In keeping with industry trends MSO is
bringing our customers high
performance P.C. compatibles and
accessories. MSO takes the P.C.
compatible to maximum performance
with its SUPER TURBO. The SUPER
TURBO features the V20-8 chip which
runs at three times the speed of the
IBM-PC XT* and also runs CPM 8080
software.
The SUPER TURBO comes complete
with the MS-DOS operating system,
Read and Run CPM, full Instructional
Documentation, Utility software, plus

for our first 100 customers MSO is
offering the Micropro Wordstar
Professional Software package.
This package includes: Wordstar,
Mailmerge, Correctstar, Starindex,
Datastar and a G.L. Accounting
System. The SUPER TURBO is a
complete turnkey system with
everything necessary to plug in and
operate.

USER SUPPORT
HOT LINE

805/393-2247
All systems carry full 90 day warranty.

CASH PRICE ONLY
Check in advance. Add 3% for VISA/MC. Shipping
& handling charges will be added to each order.

For our catalog with complete details and
prices, send $1.00 to:
Micro Supply Organization, Inc.
4909 Stockdale Hwy. #180
Bakersfield, CA 93309
MON. - FRI. 7am - 5pm PST-SAT. 9am - 5pm PST
"IBM is a registered trademark of the IBM Corporation.

22

MICRO CORNUCOPIA, #29, April-May 1986

Super Turbo
Super Price:

$1299

The Super Turbo P.C. runs IBM
software and CPM 8080 programs
• CPU - V20-8 8mHz Super Chip runs *IBM
compatible software at 3 times the speed
of the IBM-XT and CP/M 8080 software.
• 8087 Math Processor optional
• 256K RAM on mother board expandable to
640K
• ROM8K Bios
• 6 empty slots for expansion
• 2 serial port one optional with expansion
kit
• 1 parallel port
• 1 game port
• Clock calendar with software
• Hi-Res monographics video board
• Floppy controller
• Dual Floppy Drives 360K ea.
• 135 watt XT Power Supply
• 5150 style compatible keyboard
• Hi-Res TTL Green or Amber 12" monitor
• MS-DOS operating system and manual.
• Instructional Documentation and Utility
Software
• Assembled and tested in U.S.A.

• Optional internal 20 meg sub
system for Super Turbo add $549

Special printer
pricing with
purchase of
above computer.

MICRothe
§k-1~~~~

advantage.

~

*SANVO
MBC 550 Series
MS-DOS COl11puter

Portable

Philips Computer

Complete with over $1000 of FREE Software!
• MS-DOS 2.11 • MS-DOS .1.25
• Wordstar • Spellstar • Mailmerge • Calcstar
• Infostar • Easywriter I • BASIC
800K System
with SANYO
monitor
only

$899
MS-DOS & CP/M
COMPUTER

ONLY $599 (Driveless) (without monitor)

MS·DOS 2.11 & CP/M 80 Computer
Two Fast Z80 A's & one 8088 • Processor

The OWL

$799

FREE Software Included

SANYO internal 10MB Drive
Complete with all manuals. software. and cables.

Accounting Software

Wordstar (Word processor) • Calcstar (Spreadsheet)
Data Plot + (Graphics Program)

.

GIL. AIR. AlP. for small businesses with under 20 employees. Designed
for the MBC 550 in color.
Entire package only $149

$699

MS-DOS 2.11 CPIM 80 operating systems
BASIC - Microsoft BASIC
Dual 640K drives CPIM - 800K Drives MS-DOS 2.11
256K RAM expandable to 512K for MS-DOS
8087 Math Processor (optional)
64K RAM under CPIM Plus 32K RAM for video
Graphics - 512x252 pixels Alpha - 24x80 plus attributes
SASI interface built in (works with 10 meg OWL)
.
2-Serial ports bi directional ASYNC & BSXNC 60K bltlsec
9" Green screen or optional external mOnitor

Accessories
MODEM
• Volks Modem 1200/300
baud modem with cable -$159
•
•
•
•
•

PR-5000 15 cps LOP - $279
DM-3112 12" Sanyo Monitor - $89
DMC-6113 13" Hi-Res RGB Color Sanyo monitor $299
16K Printer Buffer - $84.95
Best prices on cables anywhere

At these prices you can enjoy the convenience of owning
more than one computer!

CHOOSE THE SYSTEM THAT'S RIGHT FOR YOU!

805/393-2247 •

-mr'

MON. - FRio 7am - 5pm PST.SAT. gam - 5pm PST
All systems carry full 90 day warranty. Check in advance. Add 3 0 0 for VISA/MC.
Shipping & handling charges will be added to each order.

CASH PRICE ONLY For our catalog with complete
details and prices, send $1.00 to: Micro Supply Organization.

Inc.

4909 Stockdale Hwy. #180
Bakersfield. CA 93309

MICRO CORNUCOPIA, #29, April-May 1986

23

Relief From

The 300-b,aud Blahs
Micro C

review~

a

qua~k

This flight of fancy won't do a lot
to feather Dick's nest, bzlt he would
have definitely ducked his responsibilities if he hadn't sent this in.
The clone wars from foreign shores
have expanded far beyond the PC
compatibles. Here is another bargain
that speaks volumes (cheap, quack,
cheap, quack ... )

O

ne of the virtues of high technology is that as its products
mature they. get cheaper (the
government hasn't heard about this
process). Remember when you paid a
cool hundred (or two) for a hand-held
calculator?
How about your first ball-point? I
remember paying $15 for a first run
Tucker "Wonder" pen. It was a
"wonder" all right, skipping like crazy
and making a blue-stained mess of my
hands. Today's 69-cent BIC will put
any of those first ball-points to shame.
More Wonders
The fuss today is over 2400-baud
modems, and a number of bulletin
boards are already using them. But the
real news is that the price of 1200baud modems is coming way, way
down - to the point where 300 baud
just doesn't make sense any longer.
While the Hayes Smartmodem(tm)
1200 still lists for $595, that price has
eroded significantly (I've seen them
advertized as low as $349), but a few
Hayes clones have now broken the
$200 barrier.
Modem Clone
I recently purchased a clone, advertized as a fully Hayes compatible
"1200 Baud Smart Duck" (the name
"Duck" came from the distributor's
catalog promo: "If it walks like a
duck, sounds like a duck, and looks
like a duck. .. " What can I say?). It's
manufactured in Hong Kong for a
company called ADC and distributed

24

By Dick Bollinger
Via the Micro C Bulletin Board
17882 Wellington Ave
T)1stin CA 92680

modem

by DAK Industries. The price is definitely right - $169.
Does It WQrk At 300 And 1200 Baud?
Yau bet it does; so far it's been
flawless. It comes with a 30-day money-back guarantee of satisfaction and a
l-year limited warranty. More on that
later.
Is It Really Compatible?
Comparing commands listed in their
manuals and testing the Duck's response to the Hayes command set, I
found only one difference: The Duck
doesn't recognize ATH2, an obscure
"special off-hook" command that
could be important for ham RTTY use.
Otherwise, they're identical, as are all
of the S-register functions and their
default values.
The Duck also has three commands
of its own: AT*H puts a summary of
the AT command list on the screen as
a help to the operator. The other two
are AT*T, which displays a static date
and time from the Duck's on-board
clock, and AT*T = MM/DD/hh/mm,
which sets the clock.
If this clock is accessible (for example, for the stamping of incoming files
or inclusion in text), the manual gives
no clue. Turning power off and then
back on resets the modem's dock to
01/01, midnight.
I Like My Duck
There are several features about the
Duck I prefer over the Hayes modem.
For example, rather than remove a
snap-off front panel to get at the
modem's configuration DIP switches,
you simply turn it over on its back.
Cfhis gives you a chance to scratch its
tummy as well. Try that with your
Hayes.)
- The Duck also has a label adjacent to
the switches, which shows and defines
the standard (factory) settings. It's no
big deal, just that the Duck is a bit
handier to configure.

MICRO CORNUCOPIA, #29, April-May 1986

Redial, Redial, Redial...
Here's the one I really like. Flip the
redial switch and the Duck will redial
any busy number every 30 seconds
until it connects. You cancel redialing
by turning off the power momentarily
(but there goes your clock setting! Oh
well). This auto redial is handy for
'working busy bulletin boards and
RCPMs, where it's everyone for himself.
Another feather for the Duck: It has
two modular-plug receptacles, so you
can plug your phone into the modem
and the modem into the wall. Now,
why didn't Hayes think of that?
Even when the modem is powered
down (but still actively connected to
the line), you can use the phone to
make and answer calls normally.
The Duck has a quacker (speaker),
volume control, on-off switch, and
female RS-232 receptacle (it's a girl
duck), exactly like the Hayes. Its power supply, though, is internal, and it
must be connected to a grounded, 3wire AC outlet.
The AC cord set on mine is heavy
enough for a fair-sized waffle iron, but
the modem stays quite cool. I suspect

this is a case of component engineering by availability. Anyway, I don't
think the corq. will ever be a problem.
But enough about the virtues of this
$169 Smartmodem(tm) clone.
The modular wall-to-modem phone
cable is supplied. You'll need an 8-line
(pins 1-8) or 9-line (pins 1-8,20) malemale RS-232 cable to connect your
Duck to most any computer (and
Xerox 820s).
Most systems should work all right
in the modem's factory (default) configuration. If that doesn't work, try
setting switch 8, 10, or both, to positio~s opposite those shown on the
label. You can't hurt anything though
you might ruffle a few feathers.
The Duck comes dressed in a lowboy, putty gray molded enclosure and,
except for the other guy's distinctive
"extruded rail" appearance, looks
very much like the Hayes. (Don't
worry, it doesn't say "Duck" on it
anywhere, unlike some "Gorilla Banana" printers that don't look very
appealing. )
The 30-day return privilege is offered
by the distributor, DAK Industries,
Inc., 8200 Remmet Ave., Canoga Park,
CA 91304. The I-year warranty is from
the manufacturer (ADC, no address
given). There is a service center address in Van Nuys, CA, listed in the
back of the manual, but no customer
service phone number.
Duck Doc
Speaking of manuals, the one supplied will get you going, but that's
about all. If you plan to really work
the "smarts" of your modem, borrow
a Hayes manual from a friend. It
contains command applications and
program examples that the Hong Kong
tech writer simply forgot to mention.
Otherwise you'll just have to wing it.
The only things in the Hayes manual
that don't apply to the Duck are the
configuration DIP switch information,
the block diagram, and the user support information.
DAK For Duck
How to order? That's the easy part.
DAK has a toll-free, 24-hour, 7-day-aweek 800 number for credit card orders. It's 1-800-325-0800. In addition to
the usual stuff, you'll be asked for

DAK's catalog order number, which
is: No. 4334, "1200 Baud Smart Duck"
Incidentally, DAK also offers an OnLine Directory of over 1,100 data bases, with descriptions and access details, for $14.95 (plus $2 P&H). It's
Order No. 4358. I didn't get it, but
plan to, soon.
The price for the modem is $169,
plus $6 for postage and handling. If
you're a California resident, they'll
add $10.14 for the governor's' cam-

paign fund. You can expect delivery in
a week or less. Mine came in four
days by UPS.
The package also contained a 64page, full-color Winter '86 catalog of
sundry electronic gear.
(tm) Smartmodem is a trademark of
Hayes Microcomputer Products, Inc.,
Norcross, Georgia.

• ••

Advanced Concepts "Mini-Winn,e u

HARDForDISK
SYSTEMS
your z-ao Computer!
Our EXTERNAL systems install in
seconds! Includes an attractive
vertical cabinet with integral PIS
and fan, 3 foot cables. Everything
necessary to plug in and go!

Our INTERNAL systems do not displace a floppy drive, do not require
a power supply upgrade, use the
highest technology winchesters
available. No compromises.

COMPLETE SUBSYSTEMS
Plug in and run! Includes software, documents, cables, brackets as req'd.

$665.

$790.

$790.

$845.

10mb
External

20mb
External

10mb
Internal

20mb
Internal

Add $20.

Add $20.

*
*

*
*

..;

..;
..;
..;

Add $10.

Add $10

..;
..;

..;
..;
..;
..;

..;
..;

Kaypro (1,2.4,10)
Big Board 1,1\
Xerox 820-1,1\
Micro Mint SB-180
Gemini Zorba
Osborne I
Sanyo MBC-1150j1160
AVL Eagle
Alspa 1\

..;
..;
..;

..;

..;

..;

..;

..;

C Under Development)
SPECIALS ... while stock lasts ...
5mb External $465. TM602 or equiv. (less PIS enclosure $395.)
10mb External $495. CM5616 or equiv. (less PIS enclosure $425.)
15mb External $535. CM5619 or equiv. (less PIS enclosure $465.)
(call for current specials)

Drives

Accessories

$495.
20mb 3.5"
10mb 3.5"
$439.
20mb 5.25" HH
$439.
$279.
10mb 5.25" HH
10mb FH SPECIAL (call) under $200.
5mb FH SPECIAL (call) under $120.

Drive cable sets 1.5' -10.95
3' (std.) - 11.95 6' - 14.95
16.67
Kaypro interface cables (externals)
Host extension cable, 1 foot
18.95
"Y" power cable
9.50
Document package (incl. with system)
8.00
Enclosure 5.25" FH, with PIS - 69.00
without PIS - 49.00

The key to the Mini-Winnie system is the INSTAll program, which links your drive and your computer,
the way YOU want it. Extensive menu options allow selection of any ST-506 compatible drive, as 1 to 4
logical drives within CPIM at any drive letter. Diagnostic and format capability provided to match
the installation. Distributed in SOURCE form.
We have club, user group, OEM/Dealer programs. Call for quantity schedule. If for any reason you are
not satisfied, return for full refund. Special drives warranteed for 30 days. Info and manual $8.00
credited with system purchase. Specials subject to availability.

ORDER INFO: Call (305) 482·7302. Terms: UPS cash COD. check or M.O. Please allow 4
weeks for delivery. Fla. add 5% tax. Shipping extra. Please specify desired floppy format.

ac

Advanced Concepts Engineering & Consulting
8926 SW. 17 St., Boca Raton, Fl 33433

MICRO CORNUCOPIA, #29, April-May 1986

25

AFFORDABLE HARD DISKS FOR YOUR zao
HARD DISK SYSTEMS by Emerald Microware

Is single density making your Xerox 820-1 feel crowded?

Now is the time to take advantage of the low prices on hard disk drives.
We have everything you need from the host board to a complete turn-key
system for your computer, order only as much as you need. Runs on Xerox
8~0-1 or -2, Kaypro, or most ANY ZSO based system.

DOUBLE DENSITY FOR THE XEROX 820-1 OR BIG BOARD I

HDS Host board
• Plugs into Z80 socket, no wiring required (special 50 pin host is available for Kaypro 84 series computers)
• Interfaces directly with 40 pin Western Digital 1002 series controller
boards
• Comes fully assembled and tested
• Switch selectable 110 addressing
HDS Software package by MICROCode Consulting
• Drivers locate above your existing operating system and BIOS, so it will
not interfere with your other programs that install down below.
• Custom installs for your system without having to assemble any software
• Reserves system tracks and swaps so you can Warm Boot from hard
drive
• A"ows installation of up to two hard drives and two 5 V4" floppies on one
WD1002-05 controller board
• Runs diagnostic on system each time hard drive is installed
• Can be configured for 5 to 40 Meg hard drives, from menu or custom
install
• Includes manual, FORMAT, TEST, PARK, INSTALL, and SWAP utilities
Western DiQita11002-0S Hard Disk Controller Board
• 5 V4 " profile with standard 5 V4 " power connection (only 5 VDC required)
• Has WD2797 floppy controller and interface on board
• Can control up to three hard drives and four 5 V4 " floppies.
• 40 pin host interface
• ST506 compatible hard drive interface
HDS TURN-KEY HARD DISK SUBSYSTEM by Emerald Microware
• External hard disk subsystem complete with a" cables, controllers, hard
drive, and cabinets with power supply, fully tested and burned in. Host
adaptor and full installation kit supplied with software on disk format of
your choice.
• Internal hard disk subsystem for '84 series Kaypro computers, complete
with host, controller, cables, 3 1/2" hard drive, mounting hardware, and
fan.
• Available as 10,20, or 40 Meg, single or multi-drive systems
• External units available with both hard disk and 5 V4 " quad density
floppy drives installed
10 Meg Single drive Subsystem ...................... $ 795.00
20 Meg Single drive Subsystem ..................... $ 995.00
Host board with software package .................... $ 89.00
WD1002-05 Hard disk controller board ................ $ 185.00
WD1002-05 controller with Host and software ........... $ 250.00
20 Meg with dual 5 V4" floppy subsystem .............. $1295.00
XEROX BOARDS AND ACCESSORIES
We stock a limited quantity of Xerox parts and accessories for the 820
computers.
Xerox 820-2 Main Computer Board .................... $ 95.00
Xerox 820-2 Floppy controller board ................... $ 75.00
Xerox 820-2 Main board with floppy controller board ....... $150.00
Xerox 5 V4 " disk drive cable ......................... $ 12.00
Xerox internal video harness with brightness control ....... $ 9.00
Para"el ASCII keyboard (no numeric pad) with docs ....... $ 25.00
PC mount power connector for 820 board ............... $ 2.50
Dual half height, 5 V4 " disk drives (new), DSDD - 48 TPI,
in cabinet with Xerox standard cable ............... $265.00
Dual half height, 5 V4 " disk drives (new), DSQD - 96 TPI,
in cabinet with Xerox standard cable ............... $295.00
We guarantee satisfaction on a" of our products or your money back.
Include $4.00 shipping and handling, $7.00 for COD, call for Blue Label
charges. Phone hours: 8:30am to 5:00pm weekdays; modem hours:
10:00pm to 8:00 am seven days a week.
WE SUPPORT OUR CUSTOMERS

26

MICRO CORNUCOPIA, #29, April-May 1986

Clearly the most versatile double density package available for the 820-1.
Lets you run up to four disk drives at once, and mix5 V4" &8". Runs almost
a" Kaypro and Xerox 820 software. Supports a" standard printers and most
add-ons such as the Ferguson ram board. Our ROM sets operate in
banked mode to allow more space in the TPA for your programs. You get
Mini-monitor functions, autoboot capability, automatic disk identification
(up to 19 formats built in), 10BYTE enabled for device selections, and you
can read and write 48 TPI disks on 96 TPI disk drives.
X120 Board - assembled and tested - with ROM set ........ $160.00
X120 Board - full kit - with ROM set ..................... $140.00
X120 Bare board with ROM set ........................ $ 72.00
X120 Bare board only ............................... $ 26.00
ROM set only ..................................... $ 50.00
Hard to find parts set (trimmers, caps, resistors) ........... $ 12.00
WD2793 controller chip ....... ",..................... $ 22.00
Other packages available.

Can't find CP/M for your Xerox? Now you don't need it.
QP/M by MICROCode Consulting
At last, an inexpensive replacement for CP/M, and you don't need CP/M
to get started! Get full CP/M compatibility with many new options. Stamp
your file with the time and date -transparent to your operation, automatically re-Iog your disks (no more control C), change your default drive
search from the keyboard, use up to 31 USER areas, select your disk
drives or user areas with semicolon or colon, maintains ARCHIVING bit
for efficient backups (great for hard drives), and much, much more. Runs
in native Z80 code, in the same space as CP/M 2.2. Has menu oriented
install for use on ANY Z80 based system. Available as a bootable disk (with
BIOS) for the Xerox 820-1,820-2, 820-XPRO, 820-PLUS2, or Kaypro.
QP/M, bootable for the Xerox 820-1, 820-2, or Kaypro ....... $ 80.00
QP/M, bootable for the Xerox 820-1 using XPRO or PLUS2 ... $ 65.00
QP/M, without BIOS (not bootable) ..................... $ 60.00

Tired of carrying your computer back and forth?
Why not just the diskette?
UNIFORM and UNIDOS by Micro Solutions
The solution to the diskette incompatibility problem. This program allows
files to be transferred back and forth between close to a hundred computer formats including between CP/M and MSDOS. Lists computers by
name - no special technical knowledge required. Versions available from
stock for the Kaypro (XPRO) , Xerox 820-2, Morrow MD2&3, and IBM 100%
compatibles. Other versions available on request. Unidos allows you to
run CP/M 80 programs on your IBM compatible. Requires NEC V20 chip
on P.C.
Uniform or Unidos .................................. $ 64.95
IBM Uniform with Unidos and V20 ..................... $145.00
PANASONIC HALF HEIGHT DISK DRIVES
These are some of the finest new 5 V4 " disk drives. They are fast, reliable,
and have about the lowest power consumption around.
National JA551 (Shugart 455) - DSDD, 48 TPI ............. $114.00
National JA561 (Shugart 465) - DSQD, 96 TPI ............. $129.00

(EMERRLD ~~
(MICRDWRREj
P.O. BOX 6118

ALOHA, OR 97007

(503) 642-1860

Z

SEISYOU

FREE!

Free to create computer environments right for you ... free to automate repetitive tasks ... free to
increase your productivity. Z.System, the high-performance a-bit operating system that flies!
Optimized assembly language code - full software development system with linkable libraries of often
needed subroutines -relocating (ROM and RAM) macro assembler, linker, librarian, cross-reference
table generator, debuggers, translators, disassembler - ready to free you!

New generation communications package provides levels of-flexibility, functionality, performance notavailable until now. Replaces BYEand XMODEM ...
master/server local area network capability ... public or private bulletin board
and electronic message handling are integral features ... auto-dial/answer, menu install .. .
XMODEM (CRC/Checksum), MODEM7 Batch, Kermit, CIS, and XON/XOFF protocols .. .
100-page manual ........................................................ $99.00

TERM III

Rolls Royce of message handling systems ... mates with TERM III or BYE for
most advanced overall electronic mail/file transfer capabilities ... menu
installed ... extreme configurability ... many levels of access and security ...
word, phrase editor, field search . . . complete message manipulation and database
maintenance ....... '.................................................... $99.95

Z·MSG

Elegant, menu and command-line driven file and disk catalog manager.
Generates and controls multiple master catalogs, working catalog used for
update quickness. Nine flexible modules easily altered by user for custom
requirements. Works with Z shells (VMENU, VFILER, MENU), aliases, and multiple commands
per line ................................................................ $39.99

DISCAT

ZCPR3: The Manual Bound, 350 pages; typeset book describes features of ZCPR3
command processor, how it works, how to install, and detailed command usage. Bible to
understand Z-System .................................................... $19.95
ZCPR3 and IIOPS Loose-leaf book, 50 pages, 8-1/2" by 11 ", describes ins-and-outs of
input/output processing using Z-System. Shows how to modify your BIOS to include I/O
redirection ... complements The Manual .................................... $9.95
More missing links found - Z Application Progams! Fly with eagles! Our programs promote high
performance through flexibility! Productivity results from dynamically changeable work environments,
matching operator to tasks and machines.
Above programs require 4BK-byte memory, ZCPR3, Z-Com, or Z-System, and ZBO/NSCBOO/HD641BObased computer. Shipping from stock. State desired disk format, plus two acceptable alternatives. As
payment, we accept Visa, Mastercard, personal checks, money orders, and purchase orders from
established companies. We also ship UPS COD.
Call or write to place order or to obtain literature.

Echelon, Inc.

101 First Street. Suite427 • Los Altos, CA 94022 • 415/948-3820
MICRO CORNUCOPIA, #29, April-May 1986

27

Upgrading Your XT
To A Turbo For
(Almost) Nothing
We interrupt the diagnosing your
computer series to bring you this
special message. You don't need to.
spend $300 or more replacing your
PC or XT's processor board. If your
RAM is fast enough, you can turn
your tortoise into super system for
under $40. Sound familiar to you
oldtimers?

S

tories of easy speed-ups on .ATS
and AT clones have been
around a long time. Only after
IBM started using a special ROM that
wouldn't let the system run 8MHz (for
some unexplained reason) did the
. $2.00 AT speed-ups begin to taper off.
I haven't seen any stories about
speeding up the PC or the XT. That's
curious, particularly since there isn't
much involved and its ROM doesn't
care.
Oh, going the whole route can be a
little more involved than simply replacing a crystal (that's all you do on
the AT), but you can get your speed in
increments. The first increment is very
easy.
If you do go the whole route (including changing the system clock frequency) you may not be able to run
software that's been protected by
some of the older anti-copy schemes.
But those· schemes die at the sight of
an AT or any other turbo board, so
you'll be in good company. (And you
can add a switch to go back to 4.77 if
you insist on running this kind of
slugware.)
Music programs that use processor
loops to generate sound become more
soprano as you increase the system
clock speed.
Overview Of The Mod
The first, and simplest, thing to do
is replace your 8088 processor with a
V20 from NEC. Unplugging the 8088
and plugging in the V20 gives you a

28

By David Thompson

significant improvement in speed. (See
the benchmarks in this issue.)
Changing the system clock speed is
the next step and can be .a bit more
involved .. You'll need to make sure
your RAM is fast enough, you'll need
to replace the processor clock crystal,
and, if you're using a color graphics
board (to drive either a color monitor
or a composite B&W monitor), you'll
need to add another oscillator to supply 14.31818MHz to the color board.
Background
You may be wondering why IBM
chose 4.77MHz in the first place. After
all, the parts they're using will run
5MHz, often 6MHz, just fine.
It turns out that the 6845 graphics
controller needs a 14.31818 clock (+ /almost nothing) so it can generate
horizontal sync, vertical sync, and color dot signals. IBM designers knew
this when they designed the PC, and
they figured that most people wanted
color graphics.
So they used a 14.31818 crystal for
their master clock (that way they
didn't have to put another crystal on
the color board). Then they added a
small capacitor in series with the main
crystal that they called color adjust."
1/

Divide By Three
The 8088 needs a clock that spends
2/3 of its time high and 1/3 of its time
low (it's asymmetrical), and the Intel
8284A clock generator IC generates
this signal by dividing the main crystal
frequency by 3. 14.31818 divided by 3
is 4.77 (or thereabouts).
The 8284A supplies both the
4.77MHz to the processor, and the
14.31818MHz to pin B30 on the slots.
This is the signal the color board uses.
The problem everyone faces when
they change the system's crystal is
that they screw up the color display.
It's that simple. If you don't have a
color board then you don't have to
worry about supplying 14.31818.

MICRO CORNUCOPIA, #29, April-May 1986

Replacing The 8088 With The V20
Remove the cover from the system,
ground yourself by touching bare metal on the power supply, and then just
pop out the original processor (see
Figure 1). Pry up the 40-pin IC with a
very small screwdriver. Pry at alternating ends until the chip is loose.
(Note: The V20 is a CMOS chip. It is
extremely sensitive to static. Don't
remove it from its protective container
before you're ready to pop it into the
system. Make sure you ground yourself before doing anything. Don't wear
synthetics. And, especially, don't kiss
your favorite friend (causes particularly hot sparks).)
To insert the V20, set one set of legs
into their holes (don't push them in
yet). Then, with your thumbs, press
the chip toward the set of legs that are
resting in their holes. This will flex
those already positioned legs so that
the second set of legs will line up with
their holes.
Now apply gentle pressure straight
down, rocking slightly. Take your
time. Watch carefully for pins that
aren't going into their holes. When
you know that everything is going in
properly, press down firmly to seat
the chip.
You have now speeded up your
system about 20%. Replace the lid, fire
up your system, and watch everything
run faster.
If you're a neophyte hardware hacker, untested in the surgical suite, then
I'd stop right here. You've gained
some speed, upgraded your system,
and you're not in over your head.
Find an experienced guide before
going on. You'll be a lot more comfortable, and your guide will appreciate
being asked to supervise - especially
if you happen to be serving his favorite beer and pizza. (Your goal is to
finish the following mod before he
finishes the beer.)

OSCILLATOR CHIP
PULL OUT PIN 12
IF YOU HAVE A

SLOTS (UP TO 8)

o
o

o

COLOR~

ADJUST

GROUND

<2>
v

v

+5V
8088

i

8087
MATH
SOCKET

a::

o

I-

U

l&J

a::Z

LlJZ

;:0
0<">

a.

+5V
STANDARD
TTL IC
SELF-CONTAINED
OSCILLATOR IC (shown upside down)
14.:31818 MHz (INSTALL IF YOU HAVE A COLOR BOARD)
Figure 1 - XT Speed-up Component Layout

Speeding Up The System Clock
Now that you have your courage up
(or your friend's well into the food)
roll up your sleeves and get ready.
This is the fun part.
Parts You'll Need:
1. 120ns or 150ns RAM chips (if
yours aren't that fast).
2. 18MHz and 20MHz crystals.
3. A 14.31818MHz oscillator IC - it's
a crystal and oscillator combined (if
you have a color graphics board). .
4. DPDT toggle switch (probably not
necessary, but important if you have
copy-protected software that's sensitive to system clock speed).

Tools And Materials:
1. Small soldering iron (15 watt max)
with 3-wire plug.
2. Fine-gauge electronic solder.
3. Solder sucker (the spring-loaded
type with an anti-static tip). This tool
is a must for any· kind of PC board
work.
4. Standard wire-wrap wire (30
gauge, teflon coated).
5. Small wire cutters.
6. Needle nose pliers.
7. Small screwdriver(s).

RAM
Remove all of the plug-in boards and
take a close look at the RAM on the
main board (and on any RAM expansion boards).
Wrap the plug-in boards in something anti-static before you set them
aside. (Aluminum foil works very
well.)
On most main boards there are four
banks of 9 RAM chips each (some
main boards have only 2 banks). The
RAM chips are marked with either a

(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

29

UPGRADING YOUR XT TO A TURBO
(continued from page 29)

number ending with 64 (64K RAMs) or
a number ending with 256 (256K
RAMs). After the 64 or 256 there will
be a "_" and another number.
If that second marking is a -12"
then the chips' access time is 120ns
(and they will work in a system running up to 8MHz). If it's "-15" then
the time is 150ns (and the RAM will
run in a 7MHz, or slower, system). If
this second number is "-2" or "-20"
the time is 200ns and the chips will
run in a 5MHz (or slower) system.
If the chips are marked "-3" or "30" then they are 300ns and aren't
even rated for 4.77MHz systems.
Since you are changing the clock
speed to 6MHz or 6.67MHz you'll
need RAM chips marked with "-12"
or "-15." If yours aren't, then order
some new ones before continuing.
64K RAM chips should cost between
$1.00 and $1.50 each. 256K parts
should cost between $2.00 and $4.00
each. Get 150ns or 120ns parts. Order
10 parts per bank so you'll have a
spare in case you mangle one during
installation, or in case one is bad.
(Japanese parts are the best.)
You remove and install RAM chips
just like you removed and installed the
processor. RAMs are a bit easier because there are fewer pins, but take
your time. Plan on spending at least 5
minutes per bank.
Now reassemble the system enough
to fire it up and verify that the new
RAM is working. If there's a problem
you'll have a good idea where to look
for it.
II

The Crystal
Now that your RAM is fast enough
and you have the V20, it's time to
change the crystal.
The 18MHz crystal will give you a
6.00MHz system. The 20MHz crystal
will give you a 6.67MHz system.
You'll probably want to try the 20
first. Replace the lid and run the
system on some unimportant stuff for
a day or two to see if everything
seems solid. If it doesn't boot right
away, gives you parity errors, or locks
up after a few hours, you're pushing it
too hard. Try the 18MHz crystal and
see if that doesn't clear up the problems.

30

Replacement
The crystal resides in a small rectangular metal can very close to the main
board's power connector. It has two
leads and will probably have 14.31818
stamped on its top.
First remove the main board so you
can get at its underside (you might
have to remove the drives to reach the
screw on the front corner of the
board).
Remember to touch the power supply before starting, and don't shuffle
your feet while working. Also note the
colo! coding on .the wires from the
power supply. Usually the power connector comes in two parts. The black
wires (grounds) are in the center of
the whole assemblage.
After you remove the main board,
wrap it in anti-static material (blue
foam, blue bubble material, or alumi- .
num foil).
If you are comfortable soldering and
unsoldering on circuit boards and have
the tools, then go for it. Otherwise,
make sure you have old pizza breath
peering over your shoulder (or doing
it himself). This is a very simple task
for the experienced, but a static spark
or a solder bridge will disable your
system, guaranteed.
The crystal is probably glued to the
board, so take a small screwdriver and
pry the top upwards away from the
board so the crystal stands up on its
own two legs.
Now, underneath the board, use the
iron to heat one of the solder pads and
then suck the solder out of the hole.
(Hold the freshly tinned, hot tip
against one joint. Wait three seconds
after the surface becomes liquid and
then jam the solder sucker down over
the hot tip, yank the tip back, and hit
the button.)
Remove the solder from both holes
and then wiggle the crystal until it
pops out. If one leg won't come, heat
it with the iron and then pull.
Stick in the new crystal (make sure
the printing will be up), solder it
underneath the board, and then clip
off the extra wire.
A Switch
If you need to revert back to
4.77MHz on occasion then you'll want
to install a switch. See Figure 2 for
wiring instructions. Solder the original

MICRO CORNUCOPIA, #29, April-May 1986

crystal and one of your new faster
crystals to the switch. Then run two
(very short) wires to the board and
solder them into the original holes.
You may need to drill a hole in the
back of the cabinet if there isn't one
there already. Do this before you
replace the main board and clean up
the bits of metal very carefully.
You'll probably have to do a hardware reset (turn the system off and
then on) each time you change the
system speed, but you probably won't
be changing it very often.
Color Board
If you have a color board (or anything else that insists that 14.31818 be
available at the slots) then you're
going to have to supply it.
First, remove the the original oscillator chip (the 8284), bend out pin 12
slightly, and then replace the chip,
making sure that pin 12 doesn't go
into the socket and doesn't touch
anything (see Figure 1). This disconnects the master oscillator from pin
B30 on the sockets.
Now you need a crystal oscillator
and power to run it. The oscillator has
four pins and is made to plug into a
standard 14 pin Ie socket. Pin 1 is not
Figure 2 - 2-speed Clock

DOUBLE POLE
DOUBLE THROW
TOGGLE SWITCH

c
C

POWER
CONNECTOR

D
0
D

(74.31818 MHz may be
necessary for disk formatting)

used (there is a dot on the case above
pin 1). Pin 7 is ground. Pin 8 is
14.31818MHz output. Pin 14 is +5V.
I simply soldered wire-wrap wire to
the oscillator's legs and then ran the
wires from pin 14 to + 5V, from pin 7
to ground, and from pin 8 to B30 on
the end slot (see Figure 1). I rested the
oscillator upside down on top of one
of the soldered-in TTL ICs and stuck it
in place with hot glue.
The standard ICs (the 14, 16, 18, and
20 pin garden variety) have ground
and + 5V on their corner pins (see
Figure 1). Use an OHM meter (and 5V
and ground on the power connector)
to verify which pins supply the 5V
and ground.
Parts are available from:
V20, 18.31818MHz oscillator IC,
18MHz & 20MHz crystals, DPDT
switch. (Total for all, $37.50.) From:

[ tl~
r

,
t'

MicroSphere
PO Box 1221
Bend OR 97709
(503) 388-1194

J ::~f':fE~rb~
SOFTW'ARE

FREE CATALOG
CP/M
~==================~"~M=S=D~O~S__~~~~=-~=~~~~~

"

• LOCI PRO Root Locus - $69.95
• ACTFIL Active Filter Design/Analysis - $69.95
• STAP Static Thermal Analysis - $69.95
• MATRIX MAGIC Matrix Manipulation - $69.95
• RIGHTWRITER Proofreader & Writing Style Analyzer o ACNAP2 AC Circuit Analysis - $69.95
• DCNAP DC Circuit Analysis - $69.95
• SPP Signal/System Analysis - $69.95
• PLOTPRO Scientific Graph Printing - $69.95
• PCPLOT2 High Resolution Graphics - $69.95

mn
~o~~!~~:!!~g
~

2200 BUSiness Way, SUite

___

TRSDOS
P_C_D_O,S
~

$74.95

/

~07 • RiverSide, CA 92501

L I [iiJ'
VISA

• (714) 781-0252

..I

RAM, (order 64K X 1 or 256K X 1,
150ns) Check for latest prices.
Microprocessors Unlimited
24,000 S Peoria Ave
Beggs OK 74421
(918) 267-4961

11111.

Excellence
In your job, it depends on having the best tools available at your
disposal, With such tools, your productivity increases and your work
becomes easier.
Wisely, you keep a sharp eye open for products using the latest
technology... Those -truly representing the state of the art.
You have now located the source of advanced' debugging
technology for PC·DOS and CP/M·80. More powerful debugging software
is not available anywhere... at any price. Yet the cost is affordable to even
the smallest budget.
DSD-80.. .AbsoluJe~v the most pou'€l'jul

and easiest 10 use debugger for
CPIJf-80. Full screen S)mbo/ic design
nou' includes a back tracing capabi/it)'.
OrI~V 12S.00
DSD-86 .. .Neu' and innolwu¥! design
combines the most sophisticaJed user

inlerface u'ith the most flexible dispay
of
debugging ledmolog. 'for the IBH PC
On~v 699S

10 create a netJ.' generation

SoftAdvances

P.O. Box 49473· Austin, Texas 78765· (512) 478·4763
Visa & Mastercard Accepted. Please include 4.00 for shipping and handling.

MICRO CORNUCOPIA, #29, April-May 1986

31

Benchmarking
The Speedy PCs
(And CP/M .Emulators) In C
Gary and I (d.t.) were sitting
around the office one afternoon trying
to guess whether a 4MHz CP/M
system was really much slower than a
4.77MHz clone, and whether 8080
code running on,a V20 using CP/M
emulation would be faster or slower
than the same code running on a Z80
.
CP/M system.
What about writing to the screen?
What about looping? What about integer math? None of the fancy benchmarks 1'd seen addressed these questions. So I sat down and banged out
three very simple programs.
We also wanted to get results from
the Amiga, but we don't have the
numbers yet. If they come in before
we go to press they'll show up in the
table. (Hey, come back here, you can't
print this yet - I haven't even
finished the intro ... )
ith all the talk about speed
around the office these days,
I knew it would come to a
benchmarkirig exhibition; so here it is.
Ladies and gentlemen, ha~g' on to
your seats.

W

The Participants
i.. Kaypro 10 - a reliable, boxy
4MHz Z80 from the world of CP/M
2. Basic Personal Clone - 4;77MHz
8088 version
3. V20 PC - 4. 7711Hz version (#2
with a V20 replaCing the 8088)
4. Faster Personal Clone - 6.77MHz
V20 version.
5. Blue Lightnln' - a 9.25MHz Z80
board piugged into a clone
6; X16 - 8MHi 80186 version
7. Kaypro 286i - (runnirig an 80286
at 6MHz)
,8. Atari ST - (running a 68000 at
8MHz)
And three CP/M emulators 9. RUNCPM
10. RPM2
11. CP/Mulator'

32

By Gary Entsminger
Micro C Staff

Table 7 - Benchmarks For The Speedy pes

BENCH1

BENCH2

BENCH3

(8088 code)
PC (4.77MHz 8088)
PC (4.77MHz V?O)
PC (6.67MHz V20)
X16 (8MHz 80186)
Kaypro 286i (6MHz 80286)
Holliston XT186 (8MHz 80186)
Slicer (8MHz 80186)

54.7
32.8
25.7
11.3
11.2
14.4
23.1

28.7
17.9
13.9
7.2
7.4
7.5
13.7

73.6
65.2
60.3
23.0
34.2
35.6
23.9

(8080 code)
Blue Lightnin' (9.2MHz Z80)
RUNCPM (6.67MHz V20)
RPM2 (6.67MHz V20)
CP/Mulator (6.67MHz V20)
Kaypro 10 (4MHz Z80)

203.6
329.0
326.8
331.1
478.2

104.6
169.2
169.0
170.4
244.6

38.0
34.3
45.0
63.4
39.0

28.0

18.0

35.5

SYSTEM

Atari ST (8MHz 68000)

All programs were run from hard disk (load time 1 sec.
or less) except on the Atari ST (load time 5 sec. for
each program). Times were taken by hand stop watch.
See the speed-up article for informationon speeding
up your MS-DOS system from 4.77 to 6.67MHz.
All the emulators are running 8080
CP/M code on the 6.67MHz persorial
clone. And now, gentle folk, rev up
your engines.
The Thompson Benchmarks
,
Each computer will run three benchmarks written in C and compiled with
the AZTEC compiler (version 3.20d for
the MS-DOS programs, and version
1.06 for the ~P/M emulator's).
Each benchmark is processor intensive. Bench 1 does two integer additions and a division - 400,000 times.
Bench 2 is identical to Bench 1 except
that the math has been removed so

MICRO CORNUCOPIA, #29, April-May 1986

orily the loops, tests, and screen writes
remain. (That way, the difference is
the processor's and coinpiler'S speed
at handling integer math.) Bench 3
writes 20K characters (dots) to the
screen. (Clones are notorious for their
slow video, and I was curious whether
a .change in processor speed would
affect display update time.)
The benchmarks are very simpie, hut
testy; see Figures 1, 2, and 3 for the C
source.
And The Winners Are
Table 1 contains the results. Surprised? We are, particularly with the

Figure 3 - Bench3.C

maine )
{

int i,l;
for(i = 0; i

< 20000;++i)

{

putchar('.');
}

printf("\n%d i",i);

Figure 7 - Bench 7. C

Figure 2 - Bench2.C

maine )

maine)

{

{

int j, k, 1, i;

int i,l;

j=1;
k=2;

for(l = 0; 1

For more information Decmation
2065 Martin Ave. Ste. 110
Santa Clara CA 95050
(408) 980-1678
(for Blue Lightnin')

< 20; ++1)

{

for(l = 0; 1
{

< 20; ++1)

fore i = 0; i

for(i = 0; i

< 20000;++i)

{

if«i % 1000)==0)

< 20000 ;'Hi)

{

if(l < 19) putchar('.');
else putchar('x');

{

k =« j+1»/ j+i;
if«i % 1000)==0)

}

{

if(l < 19) putchar('.')j
else putchar('x');

}

printf("\n%d i",i);

}

PC Tech
P.O. Box 128
904 North 6th St.
Lake City MN 55041
(612) 345-4555
(for the X16)

}

printf("\n%d j

%d k %d i",j,k,i);

hot results from the V20 sped-up PC,
a last minute entry. The sped-up PC
executed almost twice as fast as the
basic PC and many, many times faster
than the Kaypro 10.
The X16 (from PC Tech) and the 286i
(from Kaypro) are the clear winners,
but are just a little more than twice as
fast as the sped-up PC (the $821 entry
and a hot alternative to spending a lot
of money).
The emulators are good competition
for the Kaypro 10 (although not with
the PCs), so you CP/Mers can still
have a piece of both worlds. Blue
Lightnin', in particular, is a hot op-

tion. Although spendy, it runs 8080
programs faster than the Kaypro 10
and the V20 emulators. (And unlike
the emulators, Blue Lightnin' runs Z80
code so you can use the Turbo compiler and Turbo generated .COM files.)
Calling All Benchmarkers
If anyone has run benchmarks on
other machines, please send us the
results, including benchmark source.
We'd especially like to see these simple programs run on the 68000 systems, the Mac, and the Commodore
Amiga. (Times include loading the
program from disk.)

Micro Interfaces Corporation
6824 NW 169th St.
Hialeah FL 33015
(800) 637-7226
(for RUNCPM)
Source Information
P.O. Box 2974
Warminster PA 18974
(215) 628-4719
(for CP/Mulator)
Micro Methods
118 SW 1st, Box G
Warrenton OR 97146
(503) 861-1765
(for RPM2)

•••

MICRO CORNUCOPIA, #29, April-May 1986

33

"MAKE YOUR IBM~PC
KAYPRO COMPATIBLE"
Intersecting Concepts Announces 3 Solutions To Solve Your C011J.puter Incompatibility!
"But will it work on my computer?"
Yes! Finally, there are three easy ways to exchange information, transfer files, and run CP/M
software on MS-DOS machines.
MEDIA
MASTER
Disk-to-Oisk

Format ConverWn Sottwore

a· . a

LL¥L COOCi
n:R>i sizeof(root)+100) and (not (eof(tin») do
begin
new(next);
current .... nxt := next;
next .... nxt := nil;
readln( tin, str) ;
process(str);
current .... st := str;
current := next;
end;
end;

new tail var }
link it to existing list
mark as tail of list }
get the data }
massage a bit }
put data into list }
update our position }

procedure put;
begin
current : = root;
{ start at head of list }
while current .... nxt <> nil do ( while list items available
begin
Stl' := current .... st;
recover and output the data
writeln(tout,str);
write( '+');
current := current .... nxt;
point to next list item}
end;
release(root);
recover memory for subsequent call to get}
end;
begin
assign(tin,'textseek.pas');
reset( tin) ; ,
as~ign(tout,'junj.jnk');

rewrite(tout);
while not(eof(tin»
begin
get;
put;
end;
(llose (tout);
, end.

do

MICRO CORNUCOPIA, #29, April-May 1986

45

PUT A CP/M COMPUTER IN YOUR PC!

ADD CP/M DISK COMPATIBILITY TO YOUR PC!

~
'p..'{·~iS> .

'f-

. "x,,\,,:.

•. ,lx,,~..

.~

~Yl\j..~'{. \l\o~.
x" 'x,,""€'

~

~

Turbocharge your CP/M
Applications!

'~Y'

..

.Now your IBM PC or compatible can directly
read, write, and format aver 100 of the
mast papular CP/M disks.

How does it work?
READ/CPM virtually transforms your PC's floppy disk drives into anyone of
more than 100 CP/M drives. Simply run the READ/CPM program, and choose
the CP/M formats you want your PC's floppy disk drives to emulate. Now
you can access data from your CP/M disks using standard DOS commands
like COPY, DIR, TYPE etc. No need for modems or additional hardware, and
READ/CPM supports more formats than any other similar product.
READ/CPM is the ideal solution to the incompatibility problem.

RUN INTEL SOFTWARE ON YOUR PC!

=""",,,====
~g.g!\

~i~~~t~~~e~~I~~ ~~~ f~~~~~~!y with 8087

• Direct access to PC 1/0 ports
• Direct access to PC BIOS cails
Plus over 20 CP/M80 programs!

0

~\,,~

f/iJJ1\~ ~O~I>~G-(.I>-

'00\

\~C\:

Plus over 20 CP/M80 programs!

PC Speed Up 10 MHZ!

Attention Programmers and Developers!
Our MICRUN 80, and MICRUN 86 Universal Development Interfaces will allow you to run your 8 bit or 16 bit Intel development languages on your IBM PC or MS-DOS compatible! Your
PC will become a high performance MDS, and save you time
and money. Call for more information.

Now Your IBM PC, XT, Or Compatible Can Run
MS·DOS, And CP/M Programs Virtually
As Fast As An AT!

CALL

CALL

FOR
PRICE!

FOR
PRICE!

• Compatible with virtually all sofware:
- Applications programs
- Spread sheets
- Word processors
- CAD/CAM
- Data base managers
- Engineering
- High level languages
- Scientific Applications

To order
send check or money
order (U.S. funds)
add $5.00 shipping/handling.

46

~Q~ ·OCO~ .~ ~,,\ ;

":"0

For programmers, developers,
and advanced enthusiasts.

• Utilization of 1 full mega byte address space!
•

~'(:.

Performance?
Depending on the application, many of your CP/M programs will run up to 30%
faster on your PC. Other
features include; ability to
run CP/M programs in color,
logical and physical drive
assignments, run CP/M or
MS-DOS programs from the
same prompt. RUN/CPM Is
the solution to running CP/M
software on PC's.

transform your PC's floppy
drives into CP/M drives able
to direclly read, write, and
format over 100 CP/M disks!
Terminal emulation supporting dozens of the most
popular terminals completes
the transformation of your
PC into a CP/M system,

~~ iJ1J'-,A,
":J~

'L

x" • -{x,,\.-~'

~x,,' ". •
And run 1,ODD's of CP/M programs
up to 30% faster, directly from your CP/M disks!
How does It work?
RUN/CPM virtually transforms your PC into any of
the most popular CP/M
systems. A simple replacement of your PC's 8088/86
microprocessor with our
N,E,C, V-20/30 microprocessor gives your computer the ability to run both 8
bit CP/M and 16 bit MS-DOS
programs, RUN/CPM will

OCO.~x,,~. ~cl":!'!!!!!!"•,.' o~\,,~~
~f/iJJ"'.

~~~l~~~~\o~Q

0 .... '.

•

.cP'~'g96

.'
'.J·~~S>n,x"b
.~ -1

TO DRIVE
CONNECTOR

+5V--P'"'"'!-""
IN914

: What's Happening
Drive A: is selected when line 10 (on
'the 34 pin floppy cable) goes low.
, Drive B: is selected when line 12 goes
:'low.

• ••
MICRO CORNUCOPIA, #29, April-May 1986

47

By David Thompson

Kaypro Bids Farewell To CP/M (Almost)

There are beginnings and endings.
Lately the news from the CP1M world
has mostly been endings. Here is
another.

I

t was around mid January when
Don Thompson (from MicroSphere) called. "Kaypro's done it,
almost." There are a lot of things that
Kaypro's almost done, so I didn't
hazard a guess. "What?"
"On February 1 they'll no longer be
shipping any CP/M systems except the
2X. No 10, no 1, no Robie, no 4, just
the 2X. All that, despite the fact that
they were back-ordered on the 10, and
the 1 wasn't doing badly either!"
Sales of the Kaypro PC have been so
brisk that they can't turn them out fast
enough. No doubt they're putting all
but one of their assembly lines to work
building the $1595 clones, and so it
appears that success, not failure, has
spelled doom for the last bastion of
CP/M. Now we're just waiting for the
2X to fall. (Remember when Osborne
astounded the world with a $1795 CP/
M system that came with WordS tar?
The only thing smaller than the price
tag was the screen.)
Kaypro PCs And RAM
Kaypro is using some really marginal
RAM chips on its PCs, and close to
half the systems are haVing RAM
related failures within hours of arriving at dealers. (They've been using
cheap American made 64K dynamics.)
$595 Vrs. $1595
The Kaypro PC is supposed to be
available as a basic system for $595 or
as a complete system for $1595. The
temptation is to purchase the $595
system and then just plug in your own
cards. However, it doesn't work that
way.
The PC's motherboard is just that, a
motherboard - no memory, no pro-

48

cessor. So you need Kaypro's processor board for starters. Then you need
Kaypro's memory board because
there's no memory on the processor
board. Once you've bought these two
little gems you'll have spent about
$1595 anyway.
The disadvantage of having the processor on its own board is that you're
locked into Kaypro for processor,
motherboard, and main memory, and
two of the slots are filled even before
you add the video. The advantage of
this type of system is that you could
go to an 80286 just by changing the
processor board. The latest motherboards have pads for AT-style board
sockets.

New Screen For The 2000
Kaypro 2000s are known for their
small size, portability, and for their
compatibility with the PC. Their 80
column, 25 line LCD screen even
displays the same graphics as the PC
color board (without· the color, of
course).
However, in most lighting conditions the screen is hard to read. Its
contrast ratio (between the characters
and the background) is only about 2 to
1; on a standard monitor the ratio is
about 15 to 1.
Kaypro tech support mentioned
there's a company in Salt Lake City
that's upgrading Kaypro screens. I
called them and talked to Dave Cox,

FOR THE SERIOUS
KA YPRO® USER
THE NEW PRO/FILE
SERIES OF WINCHESTER
DISK DRIVES FROM SPC

Whether you have a KAYPRO 2, 4, 10, or even a K·16, the new low PRO/FILE
hard disk drives from SPC are cost·effective and easy to install. A screwdriver
is all you need. With up to 34 Megabytes available in a small 2 inch-high
cabinet, you can say goodbye to floppy problems forever.
SPC provides next day delivery on MODEL
PRICE
5 Meg. Removable
$1095
all products, a one year warranty, and
a friendly approach that says we ap- 10 Meg. Removable
$1495
$1095
preciate your business. Customer 10 Meg. Fixed
references are provided upon re- 22 Meg. Fixed
$1595
$1995
quest. Larger system capacities up 3,4 Meg. Fixed
to 120Mb. are also available, including combination fixed/removable cartridge
systems.
Some of the prices above are limited to current stock on hand and are subject to change, so call SPC now and let's discuss your application. Ask about
our trade-up policy and controller exchange program. Call now ... ask for
Shelly or Bob.

MICRO CORNUCOPIA, #29, April-May 1986

SYSTEMS PERIPHERALS CONSULTANTS
9747 Business Park Avenue
San Diego, CA 92131
(619) 693-8611

vice president of marketing for Axonix
Corp. Despite his title, he was intimately knowledgeable about the product (back in the early '70s he helped
design the original LCD displays for
watches).
The Lowdown
The upgrade costs $300 and involves
sending the system to Axonix. They
remove the display, strip the reflective
material off the back of the glass, and
then mount an electro luminescent
panel behind the display.
The entire package consists of the
panel and a small DC to DC power
supply. The panel receives 110 VAC at
300 Hz from the supply. The supply
draws 350 mills (at 6V DC) when the
system is running at high intensity,
and 275 mills for low intensity. Because the reflective layer has been
removed from the LCD display the
panel must be lit for characters to be
visible on the screen.
The light's power consumption reduces battery life from about four

hours to about three hours. (Since I
try to leave an hour to spare, that
would reduce my machine's effective
working time from three hours to
two.)
Dave told me that the panel puts out
a white light at approximately 8 ft
Lamberts on high power and 6 ft
Lamberts on low. He also mentioned
that the LCD adds a slight bluish cast
to the light. He said that the contrast
ratio rises to about 10 to 1.
They've done the installation on
several hundred 2000s, Data Generals,
HPs, and Radio Shack 100s, and Dave
says none of the units has been returned because customers were unhappy with them.
My Feelings
At Comdex, I used a Kaypro 2000
whose screen glowed a sickly greenish
cast. When I first heard of this mod
(with its blue cast) I assumed that this
was different. However, I've been told
that Axonix did the mod on the Comdex Kaypro. The sickly screen was

easier to read than the original, especially in marginal light, but I didn't
enjoy reading it. (And the contrast
didn't seem all that great.)
Also, when I'm taking notes in a
seminar or writing my editorial out on
some high mountain meadow I really
appreciate the four hours of operating
time (for me that's three hours plus an
hour margin). Losing an hour would
really crimp my style.
Kaypro is supposed to be working
on its own screen that's lower power
and brighter, so it seems they're also
not satisfied with the Axonix mod.
Finally, it depends on how you use
your Kaypro. If you're in the dark a
lot, and can't wait for Kaypro to come
up with something better, then this
might be your mod. But a great beauty, it's not.
Axonix Corp
417 Wakara Way
Salt Lake City UT 84108

MULTICOPY
Save hours of time on your Kaypro with this powerful utility!
•

Format, copy and verify 96 tpi disks in under 4 minutes (exact speed depends
on type of drives and year of Kaypro)
• Format, copy and verify Kaypro double and single-sided disks in approximately
1 minute and 2 minutes respectively
.
• Format, copy and verify any soft-sector, single or double-sided 5%" disk
format on your Kaypro at comparable speeds (e.g. Osborne SSDD in under a
minute). Large library of formats supplied
.. Use any combination of Drives A, B, C or D as source or destination drives

(Not currently available for the Kaypro 10)
Please send MULTICOPY to:
Name
Address _____________________________________

For further information on MULTICOPY
and other Kaypro and CP 1M software, please
write or call:

Enclosed is $39 plus $3 shipping

(California residents add 6% sales tax)
Check or money order D
VISA 0
MasterCard D
Number ___________________________ Exp. ______
Signature __________________________________

(Plu*Perfect System~

($5 shipping charge for orders outside N. America)

BOX 1494 • IDYLLWILD, CA 92349 • (714) 659-4432

CP/M is a registered trademark of Digital Research, Inc.

MICRO CORNUCOPIA, #29, April-May 1986

49

Adding Directory
Hashing To CP/M 2.2

You almost never see hash any
more. Even your local greasy spoon
has dropped it in favor of linear
searches and fries. But hash is fast,
and once you're familiar with hash
slinging techniques you'll wonder
how you got through a project without it (and if you douse it with
catsup ... ).

T

he CP/M 2.2 operating system
.is constructed around a simple,
,
yet flexible, file structure. The
disk area is divided into a number of
small blocks, each with a fixed size.
The operating system maintains a list
of the blocks used for each file. Each
of these blocks may reside anywhere
on the disk (although not necessarily
in order).
When space is required for another
file, the system tries to find unused
blocks that are as close together as
possible. To keep track of file space,
CP/M reserves a portion of the disk to
be used as a directory, which is a
series. of blocks (in order) containing
file names and associated block numbers.
CP/M locates files by starting at the
beginning of the directory and searching sequentially. When the disk directory is small, this process works fairly
well, but for very large directories it
takes much longer than is necessary.
Can you imagine looking up a name in
the phone book by starting on the first
page?

c. C. Software
1907 Alvarado Ave
Walnut Creek CA 94596

will modify the normal CP/M directory
search procedure and substitute a file
name dependent technique. This
process, called "hashing," forces the
search to begin in the directory at a
point calculated from the characters in
the file name. This is similar to the
way a phone book is alphabetized.
If the file's directory entry is written

at a location determined by this hashing technique, then future searches for
this file will begin at (or very close to)
the file's directory entry.
The system will still have to do some
sequential searching because a directory position might already be taken.
Then the system searches sequentially
for the first empty directory location.

Figure 1 - Directory Hash Index Routines

Making Hash
Some operating systems go to great
lengths using complicated algorithms
to search a directory in the " fastest"
possible way. The techniques described in this article are simple in
comparison, yet result in fast access
for most files. They can be installed
into CP/M with little difficulty, and
complete compatibility is maintained.
The small routines listed in Figure 1

50

By ClarkA. Calkins

MICRO CORNUCOPIA, #29, April-May 1986

Hash index computation routine. Enter ths routine with the
directory entry number in (FILPOS), the number of entries in
(DIRSIZE), and the file name in (SAVEFCB). The file entry
number will vary from zero to (DIRSIZE) and it will be
altered by adding the appropriate hash index based on the
file name. The resulting position to search is returned in
registers (HL).
.
;;

The hash index is the sum of the bytes of the file name (not
including the extension) and truncated to fit in the
directory space.
Technique developed by C.A. Calkins, circa 1982.
i
hash:

hashO:
hash1:

hash2:

lhld
mov
cpi
jnz
lhld
mvi
lxi
inx
mov
ani
cpi
stc
jz
add
mov
mvi
adc
mov
dcr
jnz
mov
ani
mov
Ihld
rc
dad
xchg
Ihld
inx

savefcb
a,m
Oe5h
hashO
empty
b,8
d,O

iPoint to file name.
;Looking for an empty spot?
iYes, use desired name to compute index.
iHash index is sum of first 8 bytes of
iname. Put 16-bit sum in (DE).

h

a,m
7fh

'1'
hash2
e
e,a
a,O
d
d,a
b
hash1
a.e
Ofch
e,a
filpos
d
dirsize
h

iAdd in next byte.
iStrip bit 7 always.
iAmbiguous file name?
••• yes, can't access this way then.
iCompute (DE)=(DE) + (A).

iDone entire name?
i ••• nope, continue.
iOK, force index to a sector boundary.
iThis forces it to be a multiple of 4
iThis is where CP/M wanted to search.
i(just use it on ambiguous names).
iAdd in our hash index.
we went past the end, wrap around
ito the beginning. Size is 1 less than·max.

ilf

Then, of course, when retrieving the
file, the system will make the same
calculation and then do the same
sequential search. Thus, the speed
advantage drops as the directory fills.
Process Description
Two procedures are required to implement this hashing technique. The
first generates the hash index to position a file name when it's first created.
The second generates the same index
when retrieving the file.
I treat the file name as a series of
numbers and generate their sum. This
sum is reduced (if necessary) to be
within the available directory space
and is used as an initial starting point.

hash3:

mov
sub
mov
mov
sbb
mov
jnc
dad
ret

a,e
1
e,a
a,d
h
d,a
hash3
d

I don't use the file's extension because CP/M creates temporary files
with $$$ extensions and then changes
the names when the files are made
permanent (see reference 4).
Also, ambiguous file names (names
containing wild card characters) cannot
be hashed. (So we do sequential reads
from the beginning.)
The second stumbling block has to
do with the way CP/M treats the index
pointer. It must point to the starting
file position within CP/M's directory
buffer area. Since four name entries
are contained in a single 128 byte
buffer, the pointer must be a multiple
of four. This is only a slight nuisance,
however.

iCompute (DE)=(DE) - (HL).

iRestore remainder and we are done.

Entry to save the name for the desired empty location.
i
setmt:
empty:

lhld
shld
ret
dw

parms
empty

iMove address of name for new file into
iour own safe area.

0

iEmpty address storage space.

;---------------------------------------------------------------------Define CP/M internal addresses. Note that these addresses
and mnemonics were taken from the disassembly file
generated by SCG22. They are entered relative to the
beginning of CP/M.
mem:
equ
cpmb:
equ
params: equ
dirsize:equ
savefcb:equ
filepos: equ

46
jMemory size (in k's).
(mem I 4-2B)1256jBase address of CP/M.
cpmb+Ob43hjOriginal (DE) for DBOS calls.
cpmb+15cBhjNumber of directory entries -1.
cpmb+15d9HjAddress of file being searched for.
cpmb+15eahjRelative position index.

j--------------------------------------------------------------------This portion actually changes the original CP/M
directory search procedures to utilize the above hashing
algorithms.
org
call

cpmb+Obc3h
hash
Generate hash index for next search.

org
lxi

cpmb+OdB3h
h,dirsizejAlways search entire directory space.

org
call

cpmb+1127h
setmt
jSave name of file to be created.

-

Implementation
To implement the hashing technique, CP/M must be altered to use
our special index pointer when searching for a file. Do this by "patching"
the look-up subroutine _ to use the
programs in Figure 1.
These routines are written for the
CP/M assembler ASM or MAC. The
locations within CP/M to be changed
are positioned with origin (ORG) statements. For these to function correctly,
these routines must overlay standard
CP/M.
Next, these new routines must be
placed in memory at some location
that will not be used by CP/M or any
of the application programs. Generally
the area above the BDOS portion of
CP/M has to be used (see reference 2).
I chose to include these extra routines
as part of my BIOS. This makes it
easy, but it's not mandatory, as any
protected area will do.
To implement the changes, I go
through the standard system generation procedure (see reference 2). Had
these routines been a separate program instead of part of the BIOS, DDT
(see reference 4) would be used to
load them into memory on top of
standard CP/M during the system generation process.
Once the new system has been
created, the disks need to be modified
to take full advantage of directory
hashing. This is best done by creating
a new system disk using SYSGEN (see
reference 2 and 4) and writing PIP to
this disk. Then boot up with this disk
and copy all desired files over to it
using PIP. For hard disk users, copy
all files over to a spare partition (or
user) and then copy them back. Now
enjoy a speedier CP/M system!
Renaming Procedure
When you want to change the name
of a file, accessing will be more efficient if the file is transferred over with
the new name (using PIP) rather than
being renamed (with REN). Remember, if a file name is changed, its
hashing index will change. Thus its
position within the directory should
also change. A revised rename procedure could be written that would
actually move the directory entries and

end
(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

51

ADDING DIRECTORY HASHING TO CP/M 2.2

(continued from page 57)

not just change the file name. This
would be an interesting project for
someone.
Discussion
As mentioned previously, this is a
simple implementation of a hash
search procedure. More complex methods could be used to more precisely
locate the file name.
For example, the user number and
file extent bytes could be included in
the hashing algorithm. For users with
very large disk systems (which have
very large directories), it would be
worthwhile to investigate other techniques.
As with most ideas there are compromises to be made with this implementation.
When a new file is created, the hash
index is used as a starting point. Then
CP/M searches for the first unused
location in the directory. When the
directory is almost full, the first empty
spot may be located a long way from
the desired location (as specified by
the hash index).
There's no telling where the file
name is actually stored. Thus, to determine that a file is not present, it's
necessary to look through the entire
directory.
Previously, when CP/M logged in a
disk, it saved the last used directory
location so it knew when to quit
looking for files. Thus it may take
longer to determine that a file doesn't
exist. Getting around this requires a
more sophisticated procedure (another
interesting project!).
One side effect of hashing is that a
disk written with these procedures
may be slower running when used
with a standard CP/M system. This is
because the file name entries may be
scattered throughout the directory
space.

more extensive procedure than the one
suggested here.
For each active drive, a table was
maintained that contained four bytes
of hashing information and directory
entry number for each file extent in
the directory. This is a complete table
with entries for all files, passwords,
and empty locations. Looking up a file
or password is a snap. Just look
through this one table and you have
it.
But the cost was high in terms of
memory use. A typical hard disk system with four drives on the hard disk
(1024 directory entries each) and two
floppy disk drives (512 directory entries each) might have 20K bytes of
tables, plus the search routines.
For CP/M + the cost is worthwhile
(perhaps even necessary) since it does
a lot more directory work· (looking for
file names, passwords, time and date
stamps, etc.) during each file access.
However, on a standard 64K system,
the space requirements are too high.

References
1. "SCG22, A Source Code Generator for CP/M v2.2." This will generate
source code complete with labels and
comments for the CP/M 2.2 operating
system. Available from C.C. Software,
1907 Alvarado Ave., Walnut Creek,
CA 94596 for $45 plus $1.50 shipping
($2.50 foreign) and 6.5% sales tax for
Californians.
2. "CP/M System Alteration
Guide," Digital Research, January
1978.
3. "CP/M Interface Guide," Digital
Research, 1978.
4. "An Introduction to CP/M Features and Facilities," Digital Research,
January 1978.
5. "CP/M Plus (CP/M version 3)
Operating System, System Guide,"
Digital Research, 1982.

• ••

GRAF 10
CP/M-80

the complete

BUSINESS and SCIENTIFIC

MS-DOS / PC-DOS

SALES by DIVISION

printer graphics program

~,-----------------------------------~

'-display floating point data direoly
from spreadsheets. data bases.
word processors. and
programming languages (or the
keyboard) in a wide variety of
bar. pie. line, and scatter plots
• plot and group up to 6 different
variables on a single graph,
distinguished by up to 14
different fill-in patterns and 6
different point-plotting symbols
• menu driven operation supports
automatic graph scaling, labeling,
and legend creation
• add up to 5 different-density grid
lines, and choose from a wide
variety of numerical labeling
options

"
I

L

30

L

I

a
N

20

S

10

1982

~

Division A

1983

LJ

Division B

1984

~

Division C

GRAF 2.0 Upcble Policy: Returning your original GRAF 2.0 disk to MSC entitles you to S20.00 off the
above prices.

nRMS: We ,hip via first class mail. The above prices include dom .."ic ,hipping and handling. Ord .. rs outsid ..

Comparison With CP/M +
When Digital Research wrote CP/
M+ (or CP/M version 3) they added
directory hash tables (see reference 5).
These were optional and supported
only under banked memory conditions. And they used a similar but

~.;~,:~i~~t~iit~~;ral",s:k~ a~d ~;d~'~'W~ ~'u~e;,~~~s~g~~t~~~~~13slta:':r~hn"~gr~:I~~:r y~~ ~~~t~~:ew;thu~t

least 192k RAM. and CP/M-80 vt'rsion 2.2 or later on Z80 computt'rs lother than modified Apples, ,up porting a .
TPA of at least 54k I"'quire, 64k of RAMI. Mo,t soft-,ector di,k forma" are avail.bl ... IIf you can r .. ad , .. v .... I
formats. plea, .. ,end u, a "" I GRAF 30 work, with .ny pnnt ... fully compatibl .. with on .. of th .. follOWing Ep,on
FX. RX. LX. MX IWlth GRAFTRAXI. or LQ-1500. C Itoh Prowntpr. NEe 8023A. St.r Mlfronlcs G.. mlnl 10X. 15~ ..

~~~~~~~15ilfl~~ ~~~h~~ ~~~d~:~ ~r~~~~~~ ~~~~:~~a~a:~:r 1~i~h;a PI:~d~~ ~~'~f,7p~ ;,';hr~~~Jj;;~~

MSC
27 Forest Avenue

52

MICRO CORNUCOPIA, #29, April-May 1986

Porr

Microcomputer
Systems
Consultants

I..fft'rson Station

N .. w York 1177£>.1820

Plug n

makes a nice computer -«(~I~
~ too bad it doesn't do graphics"

(~ "Kaypro

j1\.

Other features
include block
moves, four
built-in fonts,
and powerful
~~;Ti~:::::.. . .
..
print options
:::'::::. .. :.':::,::::'
like enlargement, indentation,
mirror image and rotation. And
with SCS-Draw's windowing feature,
you can work on images much
larger than your Kaypro's screen.

Make that didn't do graphics.
SeS-Draw is here, bringing
Macintosh-style graphics to the t·
Kaypro computer.
~~.
With SCS-Draw,
'
you can use
your Kaypro to ~~~~
draw a picture.
Of anything.

The first true drawing program for
the Kaypro, SCS-Draw turns your
computer screen into a sketchpad
on which you can draw detailed
images like those shown here.
These images can be saved on disk
or printed on your dot-matrix or
letter-quali ty printer.
There are many applications of
SCS-Draw. For example, you
could use SCS-Draw to design and
print party invitations, banners,
or technical diagrams. You could.
also use SCS-Draw to promote
your business or design your
company logo.

)z
m~~
~1g
~;~:

..

How good is SCS-Draw? Every
day, we get unsolicited letters and
phone calls from SCS-Draw users
around the country - here's what
they have to say:

--.-.;~~~

~i Simon.;:~Sjmo.n
~~~ Photography

e

III "Very easy to use. "

"': ".~:.
/h~

Hi!i!

!lfm
tW
[]~~

,;~,,:
-0..

WR

•
And the best thing about SCS-Draw llllli
-.is that it's fun to IIII1I1
use - when was
I
, the last time you =--=
: ,had some fun
with your
Kaypro?

Ohio~111111

-"Keep
G.H.,itWPAFB,
up ... the
program is great fun. ",
- J.S., Roseburg, OR
"A pleasure to use ...
user-friendly, fun, well
put together. "
- D.A., Kalamazoo, MI
"Everything is bug-free!"
.: :
- D.C., Los Angeles, CA:·":,·:··:
"Worth much more than its cost. "
- B.H., Birmingham, AL

(eCrcc:

.. =. .. ===.=. 'r='"

~jour

~:::

~~:.=

'4'

Banners
':"":"':"17~...-...-... -... -. ... \....
--....-.. - .,~;~

SCS-Dnlw gives you a variety of
useful drawing tools to choose
from. You can draw a detailed
image dot-by-dot, or do a rough
sketch with straight lines. Need
a compass? SCS-Draw can draw
circles of any size, wherever:·
you need them For subtle
shading effects, use one of
23 pre-defined patterns,
or create your own.

;' ,

i:)~~;

;

---

... with SCS-Draw! Available now
III for all '84, '85 and '86 Kaypro
i: CP/M computers. Send $59.95
(check or money order) to Second
City Software, Box 267960,
Chicago, Illinois 60626.
Call 312-577-7680
for COD orders or
more information.

. SECOND CITY SOfTWARE ·

0

,-./

NEW for PrintMaster Owners: Now you :):::i
can use your favorite PrintMaster images af.m
in your SCS-Draw drawings. The Image:}~:
Extractor converts PrintMaster images to ;~':~
SCS·Draw image libraries. Price: $24.95 ~:;~:.
SAVE when you buy SCS-Draw and the :~~
Image Extractor together: Only $79.95 ~~

~J\~
~~
~~

~

SCS-Draw can be used A>··T...:.···. . ·,~·-=~>:·:·;·with most popular.:: '~ .
dot-matrix a n d ' : ' .
':.,
letter· quality
printers, including
._..._.. -_..._...-..
./_...-...those fr~m Epson, Sta~, Okidata, C. Itoh, \~
w - - ; ••<:;~:~
PanasonIc, IBM, HP, Diablo and Kaypro.
i..= I ~ ., "~;"=::;::";·~Ir
'~!II

SCS-Draw, KAVPRO, Macintosh, CP/M and PrintMaster are trademarks of Second City Software, . ii;? I~
Kaypro Corporation, Apple Computer, Digital

~~

!h.~·'

ResearCh~a
. .:. .'Dn.:.,~ Unison World, respectively.

.A...

...

~

...../·~~~~~~l~! :§y;;~

-

II

to:.

I·~.!.-··

./

TM

I/O lte

derection
1

Function J{.eys O1iug
t 11a "O:

+

~gnl1l-ell

O~ . Virtual Disk

Perfected U

'l.s
ser Areas

If you've tried some of the earlier CP/M-80 add-ons such as Microshell™ and ZCPR™. !hen
you know it's Rossible to add new features to CP/M. Now you can have much more without
all the trade-offs when you use ConlX - the latest and greatest upgrade for CP/M!
"(ConIX) goes a great deal' farther in flexibility than any other CP/M shells ...
this system has all of its competitors beat." Computer Language. 6/85.
ConlX Operating System: List

$9~5 Syec\a\

A complete upgrade for 48K+ CP/M 2.2/3.0 and
equivalent systems. Provides professional capabilities
with blinding speed. as often found on more expensive
MS-DOSTM and UNIXTM machines. Installs easily in 1
minute to add over 100 new commands and features.
Eliminates all points of user frustration with CP/M.
Uses only 1/2K TPA. 0- 27K disk minimum.

ConlX is the greatest. most powerful 8-bit upgrade.
with speed and capabilities that are so incredible it's
bringing users back to CP/M!
ConlX Pull-Down Menu: List

$3~5 s-pec\a\

A user-friendly interface to ConlX that is fully menudriven. with helpful prompts and easily understood
explanations of all menu functions. Loads with a single
keystroke at the prompt level. Source code included!

ConlX Programming System: List $9~5 S~\J~
A full programming language for ConlX extends CP/M
SUBMIT capability. Features conditionals. loops.
subroutines. labels. nesting. interrupt processing. error
traps. and debugging facilities. Design intricate menu
systems. Includes a special "compiler" that provides.
string and numeric variables. an integer math package.
a relocatable assembly code generator. and much more.
A must for CP/M power-users and developers!

ConlX Library I - XCC Utilities: List $4~5 S~\J~
Over 25 utilities written in the ConlX shell language.
including hierarchical directories with overlay - adds
pathname capability to existing software. interactive
debugger. move/copy/link multiple files. print files with
pagination. review disk files for deletion. unerase disk
with stats. full-screen TYPE. and more. Source code
included! Does not require Programming System.

NEW YEAR SPECIALS - SAVE 30% TO 100% OFF!
• ConlX O.S. or Programming System: $49.95 each
• ConlX Menu System: FREE with Con/X!
• ConlX 0.5. and Programming System: $79.95 for both
• ConlX Library I: $34.95 with any ConlX product
• SUPER SAVINGS WHEN YOU BUY 'EM All: ConlX 0.5.. Programming System. Menu System. Library I - Only $99.95!!
Now that we've knocked the bottom out of our prices. you should have no reason to suffer along with plain-old
CP/M or incompatible half-baked add-ons any more! Get started with ConlX for $49.95. or steal us blind and
get everything for only $99.95. Either way. you get the Menu System absolutely FREE! Get on the bandwagon
with a company that's committed to you with the ongoing development of products for CP/M and ConiX.
Prices include manual. 8" disk. and end-user support. 5114" disk conversions: 48TPI $6. other $10. Shipping: $4.50 UPS.
$10 Canada. $15 overseas. NY residents add sales tax. Discount incentives for Dealers. OEMs. User Groups - CAll!
Computer H~I~er Industries Inc •• P.O. Box 680 • Parkchester Station. NY 10462
800-628-2828 X513 24h r. order hotline - COD only. 212-652-1786 M-F:I0-6 sales/technical staff

r'1Ih
\.l:iJ'

"We're helpi[Jg your computer work better for you!"
Trademarks· CP/M: Dicital Research. ConlX: COIT4)uter Helper Ind .. Microshell: New Generation Systems. ICPR: Richard Conn/Echelon. MS·DOS: Microsoft. UNIX: AT&T Bell Labs

c,,/.~ ""E51
One of a Series

:

I
I

:
•

I

:

I

~----~

The NEXT GENERATION

I Megabyte DrheC 2

I
512K
512K
Upgrade
~ DriveC 2
I Ram-disk
Ram-disk
I
I
Print
Print
Buffer ~ Buffer

I

WestWInd

The $100
WW Interface

21 Meg
Tape S~stem

5 Meg· Removable
Hard Disk

•

------~

Ram-disk. Print Huffer
Cache Buffer

•

CP/Af® I.IIIE51
THE~INTERFACE

WW Interface
WW Interface for CP/M
WW Interface for MS-DOS

If you're a CP/M user who's grappling with whether to keep
your computer, invest in upgrades, or switch to MS-DOS, the
WestWind Interface frees you to do what YOU want-right

Ram-disk(s), Multiple-copy Print Buffer
(requires WW Interface)

now!
The WW Interface for CP/M includes everything you need
for attaching WestWind's Next Generation products to a
CP/M computer, so it's easy to use our Hard Disks with your
Osborne, or your KayPro, or your Morrow. . . or just about
any Z80 system, by adding a WW Interface to your computer.
Best of all, our Dual Operating System feature lets you
share our Thmtor and Thrbo (DriveC 2 Cache Buffered) Hard
Disks between CP/M AND MS-DOS computers. Get a WW
Interface for CP/M and a WW Interface for MS-DOS to
connect our Hard Disk to either kind of computer and
automatically access the right files.
And, when you're ready, use our Hard Disks completely
for MS-DOS operation.
You see, we want you to get the utmost performance from
your CP/M computer, to have the resources you need to make
the transition to MS-DOS, and to know that an investment
in a powerful enhancement for your CP/M computer NOW
... will be just as valuable an investment for an MS-DOS
computer LATER!
The WW Interface for CP/M includes-SuperSize
SuperCalc2 (huge spreadsheet capacity when a DriveC 2 is
added); SuperFile, the easy-to-use free-form text filing and
retrieval system; our NEW Universal software that manages
up to 3 Megabytes of DriveC 2, 3 Hard Disk subsystems, and
Removable Hard Disk; MenuPac, Arkive, DiskMgr and
Daisy-chaining capability to let your system grow with your
needs; all necessary hardware and cables, and complete, illustrated documentation.
The WW Interface for MS-DOS inludes 16-bit SuperFile,
Arkive, WW Loader software, Interface Card for any IBMlike card slot, cabling and documentation.

Westwind
c

o

M

p

u

T

E

R

1690 65th Street, Emeryville, CA 94608, (415) 652-3222
Telex: 756329 (DRIVE CUD), WU EASYLINK 62533500

WestWind IBM-compatible Systems
$ 100
100

DriveC 2

512K DriveC
I MEG DriveC 2
I MEG Expansion Unit (to 3 MEG)
Upgrade 512K to I MEG
BackPac for Osborne

349
499
499
150
149

Trantor and Turbo Hard Disks

(requires WW Interface)
21 MEG Trantor Hard Disk
45 MEG Trantor Hard Disk
llO MEG Trantor Hard Disk
Add 2nd 21 MEG Hard Disk

995
1895
2895
695

Turbo with Cache Buffer
Add I MEG DriveC 2 to Hard Disk
Add 2 MEG DriveC 2 to Hard Disk
Add 3 MEG DriveC 2 to Hard Disk

499
998
1497

Removable Disks

(requires WW Interface)
Add 5 MEG Removable to Hard Disk
5 MEG Standalone Removable system
5 MEG Cartridge

1295
1595
125

Tape
Add 21 MEG Tape to Hard Disk
21 MEG Standalone Tape
21 MEG Tape Cassette
Tape Cassette 3-pack

995
1095
35
99

Web Network

(requires WW Interface for each computer)
Web Network
10' Web cable
25' Web cable
50' Web cable

1295
49
59
79

Send for our FREE Catalog and get
your own CP/M LIVES! T-Shirt,
just $9.95 (FREE with any $100
purchase!)
For Information or To Order:
CALL TOLL-FREE
US 800-526-6500, CA 800-831-3144

Complete, Hercules-compatible, Monitor,
DOS 3.1, NewWord 2, SuperCalc2, SuperFile
WW XT/640K12 Floppies/Hi-Res Mono $1395
WW XT/640K/I Floppy/ 21 MEG/Mono 2095
WW XT/640K/I Floppy/ 45 MEG/Mono 2895
WW XT/640K/I Floppy/11O MEG/Mono 3895
WW AT/512K/I Floppy/ 21 MEG/Mono 3895
WW AT/512K/l Floppy/ 45 MEG/Mono 4495
WW AT/512K/I Floppy/11O MEG/Mono 5495
Color/RGB system (replaces Mono)
400
16-bit Enhancements
Acceler-8/16 (with WW XT)
Acceler-8/l6 CP/M Emulator (V20)
XPlus 5151 Keyboard (with WW XT)
XPlus 5151 Keyboard
8087 for WW XT
80287 for WW AT
WW 300/1200 Internal Modem
Multi-X 1/0-2 Multifunction (XT)
Multi-A 1/0-2 Multifunction (AT)
WW HI-Res Mono Card/Parallel
WW Monochrome Monitor
WW Color Card/Parallel
WW Color RGB Monitor

75
99
59
169
149
199
299
199
199
199
199
169
429

Software
Teach Yourself PC-DOS
Super File
UniForm and UniForm-PC
Media Master

39
145
69
39

r-:--------I
II
I
I
I
I
I

Yes!

0

Yes!

0

Send me the new, FREE WestWind Catalog.
My computer is a,_ _ _ _ _ _ __

I want my very own CP/M LIVES! T-Shirt!
Size
S
M
L
XL . (Circle one)
Name _____________________________

Address
City _ _ _ _ _ _ State_ _ Zip _ _ __
Enclose $9.95 phis $2.00 Shipping and Handling for
each T-shirt. CA residents add 6.5070 Sales Tax.
Payment: 0 Check
0 Visa
0 MasterCard
Card No.

I __

Exp. Date_ _
WestWind Computer
1690 65th St., Emeryville, CA 94608

MICRO CORNUCOPIA, #29, April-May 1986

55

By Stephen M. Leon
- 200 Winston Drive
Cliffside Park NJ 07010

Hot New CP/M & MS-DOS Releases
Steve covers new software submissions from around the world both for
CP/M and MSDOS - really interesting new gifts to the computing community.

E

very time I am positive CP/M is
dead, something turns up to
convince me not only that it
never died, but that it is far from
having even one foot in the grave.
Claude Kagan was the featured
speaker at a recent club meeting and
demonstrated an MSX computer he
bought in Japan. He also had some
European magazines and components
for MSX. Unfortunately, MSX is not
yet available in this country. It will be
here, but whether or not it will meet
with the acceptance it has in the rest
of the world is open to question. For a
hobbyist, this is an inexpensive, powerful machine well worth its modest
price.

Editor's note: Yamaha MSX computers
are currently available in many music
stores. They have midi interfaces and
software for driving Yamaha synthesizers.
These Yamahas remind me more of TRS80
model 1s (cassette data storage) than real
CP/M systems.
For those of you who don't recognize Claude, his SAM76 (SIG/M Vol
53) is still popular with exotic language
enthusiasts. and, in fact, was a recent
"language of the month" in Computer
Language magazine.
Commodore 128 SIG/M Sampler
I managed to get my hands on a
Commodore 128 for a few hours. The
MSX machine ran rings around the
128, and unless all of the. analysts are
wrong, 128 sales will never reach the
level of overseas MSX sales. However,
the 128 is here, and we used it to
prepare a sample disk of SIG/M programs that will run on the 128. We
also made arrangements with Charlie
Strum, the CompuServe CP/M SIG

56

SYSOP, to download the Commodore
material (including modem programs).
These will be on a second sample disk.
The Commodore disks are· being
distributed in Kaypro 4 format, which
means that you have some 300K on
each disk. If you have a 128 and
would like a copy of UNERA, SD, SQ,
USQ, MODEM, etc. send $14 for the
set of two sample di~ks to Dutsch
Computer Service, 405 East 6th Avenue, Roselle, NJ 07203.
Editor's note: A local 128 user came in

and purchased a couple of our Kaypro
users disks. The next day he was back to
get more. All the standard CP/M programs worked - only the modem, system
diagnostics, bulletin board, and other machine specific programs didn't.
Gifts From Japan
I also received a package from Yoshio Monma, secretary and disk editor of
the CP/M SIG of the Japan User
Group aUG). JUG has been added as
a second distribution point in Japan,
and they donated the twelve volumes
in their CP/M library for inclusion in
ours. We won't be able to release all of
them, but the first of the twelve is
already out.
SiG/M Volume 255 is JUG Volume
4. It has a scan program for bad
sectors, a disk patcher, a printer utility, a screen editor, etc. Code is In both
CP1M 80 and 86. If you thInk the·
Japanese build fine computers but
don't know how to write code, take a
look at the JUG releases. More of
these volumes will be released in
coming months, and you'll see things
you never saw before in CP/M.
If you're interested in joining JUG,
contact Yoshio Monma at Manyou
Bldg. 4F, 3-53-3 Minami-Otsuka, Toshima-Ku, Tokyo 153, Japan. Perhaps
he can arrange for you to get an MSX
computer.
CP/M In The U~S.
I would hesitafe to say that CP/M is

MICRO CORNUCOPIA, #29, April-May 1986

thriving in this country, but it is far
from dead. Admittedly, there is very
little in the way of new commercial
CP/M software, but almost everything
people need is already available. In the
non-commercial area, we receive more
donations at SIG/M than we can possibly release. Right now we have at least
20 volumes of unreleased material including a new SYSLIB from Rich Conn
(to be covered next issue).
However, if CP/M is not dead, MSDOS is thriving. One can buy an IBM
XT clone with a 20 meg hard disk and
all the trimmings for $1,200. I paid
more than that for a 256K memory
board for my CompuPro. dBASEII is a
fine program, and we use it every day,
but dBASEIII and the new Plus version run rings around it. We now
write our databases in dBASEIII, compile them with Clipper, and run faster
than the programs we run on the
mainframe.
New SIG/M Releases
Rick Surwilo of Stamford, CT has
come up with a full screen Z80 debugger that everyone has acclaimed (SIGI
M Volume 239). It features a full
screen animated display of the program under test, acomplete inline Z80
assembler, interactive disassembly, full
trace, 16 breakpoints, etc. Every hacker type working with a Z80 has to
have a copy of this program. It's that
gObd!

A full implementation of the CCITT
X.25 packet standard in all three levels
is on SIG/M Volume 236. Ed Elizondo
wrote it using a Digital Research Computers Big Board (BBI), but it can
easily be configured for other equipment. On the disk is a full user
manual for the program.
Volume 240 came to SIG/M via the
United Kingdom CPMUG. It contains
a 6502 cross assembler, a Z80 hard
disk backup program, a line editor,
and a BBS system in BASIC.
Volume 236 has a CP/M 3 BIOS for

PROGRAMME
the Disk Jockey controller and an
update to Lisp in PascallZ. Pilot in
PascallZ is on 237. Volume 235 is one
of those disks we thought twice about
releasing and then decided to go
ahead anyway. It helps if you understand Dutch, since very little of the
disk documentation is in English. It's a
system called BASICODE, a form of
software transmission by radio, that is
being tested in Holland.
The Orlando Concurrent RCP/M system donated a volume of Concurrent
CP/M patches and utilities (SIG/M
Volume 247), and an old favorite,
Dan's Information Management System, was updated on Vohime 248.
A two volume update of RBBS is on
Volume 249 and 250. Volume 251
contains the ROS Turbo Pascal BBS
System. For those of you who would
like to see the game of Life played out
over a five day period (you can stop
and resume), take a look at Toru on
Volume 246. For anyone interested in
random number generation, Mark
Weiss will show you tricks you never
thought of (SIG/M Volume 243).
The Joy Of Giving
A while back SIG/M got a letter
from Friar Maurey Smith at the St.
Francis of Assisi Friary in Franklin,
Indiana. They had bought a bundled
Kaypro and were trying to do a dBASEll program. for their reference books.
Maurey asked a lot of questions and
yours truly decided the easiest way to
answer them was to write a program.
BOOKS on Volume 230 was the result.
In addition, the wife of a friend was
doing her thesis and she needed a
database manager to handle her reference materials. I rewrote BOOKS to
her specifications and produced REFERENC, also on Volume 230.
Since then I've had letters and calls
from libraries and scholars both in this
country and overseas. One of the
rewards of writing public domain software is the letters thanking you for the
program which they are using.
Contributions
If you want the enjoyment that
comes from helping someone, how
about contributing to SIG/M. We expect it to work. We expect it to have
. (continued next page)

A LOW COST ALTERNATIVE
TO EPROM PROGRAMMING
Reads and programs 2716, 2732, 2764, and 27128 EPROMS.
Reads 2·16K ROMS.
Direct connect to any RS232C terminal or computer.
Plug selectable as either a data set or data terminal.
All voltages made on board, (no power supplies needed).
(User supplies power Xformer, 25.2 to 30 VAC C.T.1 Amp.).
Power electronically switched, (can't damage EPROMS).
Zero insertion force socket for EPROM.
Programs, verifies, and dumps in both ASCII and hex.
Edit buffer (like DDT).
Saves hex and/or image files to and from disk.
Saves or loads all or partial buffer.
Completely menu driven for ease of operation.
Commands of Test, Read, Display, Save, Load, Program and more.
Check sum calculation.
All software on disk including well commented source code.
Detailed owners manual including schematic
All chips socketed.
Not a kit! Completely built and tested.
48 hour dynamic burn-in and test before shipmerit.
90 day limited warranty on parts and workmanship.
24 hour return policy on repairs.
Delivery from stock.
PROGRAMMER 4+ WITH OWNERS MANUAL AND DISK. $199.95
MS-DOS DISK ONLY $15.00
Order from

cPperlpfico

"'i
·~D 1659 Scott Blvd., Suite 1
~I
Santa Clara, CA 95050
U

(408) 354-5084

VISA and MASTERCARD telephone orders welcome.
Please specify Disk format
CP/M 8" IBM format, KAYPRO II, XEROX 820, OSBORNE I, others.
Please specify method of shipment, UPS or Postal Service.
California residents add 6'\, Sales Tax. [)ealer Inquiries invited.

MICRO CORNUCOPIA, #29, April-May 1986

57

IN THE PUBLIC DOMAIN
(continued from page 57)

source code. We hope it will have full
documentation, or at least enough
documentation to enable someone to
use the program. It can be machine
specific. It can fit into a very limited
envelope. It can be a new language, or
an implementation of an old one.
(If anyone out there has written a
version of Ada which he or she would
like to donate to the public domain,
we would love it. Rich Conn has
available some 50 volumes of Ada
applications, but as far as we know,
there is not a decent compiler available
commercially or non-commercially for
a micro computer. Rich has already
sent in the first two of the volumes,
but we're holding off on them until
we can get a compiler to test them
out.)
PCIBlue Library Growing Rapidly
The PC/Blue library is fast catching
up with the SIG/M library. We now
have some 62 megs in SIG/M. The far
newer PC/Blue is up to 55 megs. Our

average monthly release totals 1.2
megs; PC/Blue is averaging more than
3 megs. Of course, the commercial
software market has changed in recent
years. Just about everyone is writing
in MS-DOS or for one of the new
machines (Mac, Amiga, etc.). We used
to see part-time developers trying to
peddle their own products through
small ads in the magazines. It seems
to us that now most part-time developers are putting out their software as
freeware, and most of what goes out
on PC/Blue asks for money. None of
the SIG/M software is freeware, so
CP/M still has the bulk of true believers in public domain.
New PCIBlue Releases
Last issue we promised to take a
closer look at some of the newer PC/
Blue releases. As we said, most of it is
freeware. However, don't even consider sending a donation unless you
don't need the money.
PC/Blue 162 is a good example of
how much quality software is available
for nothing. On it you have a typing

tutor and an online DOS help program. Also on the disk is YARP (Yet
Another Resident Program) which
looks like a handy real time monitor.
Quaid Software's OmniEdit is also on
the disk as freeware. It allows you to
do some elementary file editing.
OmniEdit struck me as being of limited value. You may like it, and since it
costs you only a few dollars to get all
the programs on the disk, including
YARP - why not try it.
PC/Blue 163 is Tom Rettig's dGenerate, an excellent dBASEIII screen generator. (My big discovery of 1985
came on a computer radio show where
the trivia question was to identify Tom
Rettig. Who played the boy who
owned Lassie in the TV series?)
PC/Blue 164 has a general ledger and
accounts receivable program. Volume
169 has a mailing list program as well
as something called LEARN. LEARN
creates computer assisted instruction
(CAl) courses. We tried it and were
pleased with the results.
PC/Blue 172 has a dBASEII screen
generator and a handy utility program

~"CPM
CALENDAR/CLOCK

$69

KIT

D~~~SW;ATMHPING!
FILE
CACHE22 is a front-end system program that buries all of CP/M 2.2 in
banked memory. It helps 8080/Z80
computers to survive by providing up
to 63.25K of TPA, plus the ability to
speed disk operations. eliminate
system tracks. and run Sidekick-style
software withou,t loss of transient
program space. Complete source and
installation manual. $50.00.
CP/M is a trademark of Digital Research Inc.
Sidekick is a trademark of Borland International

• Works with any Z-80 based computer.
• Currently being used in Ampro, Kaypro
2, 4& 10, Morrow, Northstar, Osborne,
Xerox Zorba and many other computers.
• Piggybacks in Z80 socket.
• Uses National MMS8167 clock chip, as
featured in May' 82 Byte.
• Battery backup keeps time with CPU
power off!
• Optional software is available for file
date stamping, screen time displays,
etc.
• Specify computer type when ordering.
• Packages available:
Fully assembled and tested
$99.
Complete kit
$69.
Bare board and software
$29.
UPS ground shipping
$ 3.
I

MASTERCARD, VISA, PERSONAL CHECKS,
MONEY ORDERS & C.O.D.'S ACCEPTED.
N.Y. STATE RESIDENTS ADD 8% SALES TAX
KENMORE
COMPUTER
TECHNOLOGIES
P.o. 80)( 835, Kenmore, New \'ork 14217 (716) H77·0617

58

MICRO CORNUCOPIA, #29, April-May 1986

to transfer copy between the most
popular commercial PC word processors. Also on the disk is a fast format
program if you have to format a lot of
5" disks. Once again, the practical
utility of the program is kind of obscure.
I had a lot of fun with PC/Blue
Volume 174 which contains ESIE
(E)xpert (S)ystem (I)nference (E)ngine.
I ran the demo program which identified animals, and really enjoyed it.
When I get some time I'll try to create
a system with it.
The last of the new releases worth
mentioning is volume 175. It has an
update of QMODEM, a good modem
program, a virtual memory system for
Symphony 1.1 which uses your hard
disk to expand the utility of Symphony (without requiring an ABOVE
BOARD) and PRO INDEX, a good indexing system for text files that seems
to do everything you expected from
Star Index.
How To Order
SIG/M volumes are available on 8"
SSSD disks for $6 each ($9 foreign)
directly from SIG/M, Box 97, Iselin, NJ
08830. Printed catalogs are $3 each ($4
foreign). Disks in a variety of formats
may be obtained through the worldwide SIG/M distribution network. The
distributor list is included with the
printed catalog. A disk version of the
catalog (Volume 00) is available for $6.
PC/Blue volumes are $7 each ($10
foreign). The printed catalog is $5.
Both are available from the New York
Amateur Computer Club, Box 100,
Church Street Station, New York, NY
10008.

•••

OKIDATA PRINTER MICROLlNE 80
7 X 9 IMPACT DOT MA'IRIX,~ RIBBON
80 CPS
10 CPI 6 OR 8 LINES PER INCH
3 'lO 12 INCH FORM FEED TRAC'lOR & FRICTION
BUILT IN SELF TEST REM)VED FROM SERVICE
PARALLEL INTERFACE (CENTRONICS COMP)
$ 99.00

WINCHESTER 20 MID HARD DRIVE FULL HEIGHT
RODINE 204ST-506 INTERTFACE

$350.00

PLEASE CALL FOR OTHER HARD DRIVES IN S'lDCK
KEYBOARD (MICROSWITCH) 113 KEYS 8 BIT ASCII
PARALLEL OUTPUT WITH CASE
AND COMPLETE DOCUMENTATION
$40.00
SA800-2 DISK DRIVE
CLEAN - USED
$59.00
SA850 DISK DRIVE
CLEAN - USED
$99.00
STANDARD MOUNTING - GUARANTEED 60 DAYS
CABINETI' FOR ABOVE HOLDS 'lW) DRIVES
POWER WIRING COMPLErED (AC AND OC)
FAN AND INPUT AC WIRING OONE
20 X 9 1/2 X 17 DEEP

$60.00

POWER SUPPLY FOR 'lW) DRIVES (SWITCHING)
WILL POWER DRIVES AND SBC 6 X 8 X 2 1/2
5VDC @ 8 AMPS, +12VDC, -12VDC, -5VDC @
.5 AMPS FA AND 24VDC @ 2 AMPS
$50.00
CABINETI' AND POWER SUPPLY TOGETHER
$100.00
IBM XT CLONE SYSTEMS
---r.M) FLOPPY DISK DRIVES

640 K RAM INSTALLED
150 WA'IT piS KEYBOARD
COLOR CARD
SERIAL AND PARALLEL PORT CLOCK
$700.00
20 MID HARD DRIVE AND ONE FLOPPY

$1150.00

CLONE PARTS
MOTHERBOARD UP 'lO 640 K ON BOARD
COLOR GRAPHICS CARD
FLOPPY DISK CON'lROLLER UP 'lO 4 DRIVES
HARD DISK CON'lROLLER
DISK I/O CARD - FLOPPY DISK CON'lROLLER
RS-232 CLOCK PARALLEL GAME ADAPrER
CASE FLIP 'lOP STYLE
POWER SUPPLY 150 WATT
KEYBOARD AT STYLE

$125.00
$ 85.00
$ 45.00
$125.00
$110.00
$ 45. 00
$ 85.00
$ 70.00

QUME 142 HALF-HEIGHT FLOPPY DRIVE
IBM CAMPATIBLE

(LIMITED

CASCADE ELEx:::TRONICS
ROUTE 1 BOX 8
RANDOLPH MN 55065
507-645-7997

SUPPLY)

$ 69.00

FREE
SHIPPING
ON PREPAID ORDERS

COD ADD $3
CREDIT CARD ADD 5%
MN ADD 6%
LIMITED 'lO S'lDCK ON HAND
EVENING CALL OK
MICRO CORNUCOPIA, #29, April-May 1986

59

. By Dave Hardy

Turbo DOS, A Super Operating System

Curious about Turbo DOS? Haven't heard about this flexible multiuser, multiprocessor operating system?
Read on. Dave gives us a peek at this
package, designed specifically for the
5-100.

his column begins a series of
mini-reviews of Turbo DOScapable 5-100 hardware. Along
with the usual 5-100 tips, circuits, and
reader feedback in "The 5-100 Bus,"
I'll briefly look at the offerings of each
manufacturer of S-100-based Turbo
DOS products. Before these mini-reviews begin, I feel obligated, once
more (and finally), to justify discussing
an operating system in a hardware
column. Please bear with me while I
exorcise my guilt one last time ...

T

Why Turbo DOS?
Turbo DOS is a software product (an
operating system), not a piece of 5-100
hardware. But Turbo DOS supports C'
special kind of 5-100 configuration as
well as special kinds of 5-100 hardware that can outperform other small
systems (including the ubiquitous
IBM-PC). These qualities are so important that most new 5-100 systems use
T4rbo DOS as their primary operating
system.
Turbo DOS is the only operating
system that uses all the 5-100 bus'
abilities, including (and especially) the
ability of the 5-100 bus to fully support
up to 16 separate processors in a
single box. In addition, several LAN
(Local Area Network) options are
available for 5-100 machines that use
Turbo DOS that can allow not only
multiple processors within an 5-100
frame, but also links between multiple
5-100 frames (and between 5-100 and
non 5-100 systems).
The ability of Turbo DOS to support
multiple processors in an 5-100 box is
further enhanced by its capacity to run

60

different TYPES of processors at the
same time. Even more amazing is that
a Turbo DOS host can simultaneously
support different operating systems in
its slave cards, including CP/M80, CPI
M86, Concurrent DOS, MP/M, MP/M86, generic MS-DOS, and even PCDOS.
Combine all this with Turbo DOS'
true multiuser operation (including full
record and .file locking), and it's light
years ahead of other networks for
small computer systems.
Incredibly, many other multiuser
and file-server products available for
the 5-100 bus do NOT offer record or
even file locking! I've had the misfortune of using one such system that,
because of these limitations, allowed
only one user at a time to operate on
each logical drive. Perhaps this is the
reason I'm so fond of Turbo DOS.
The Turbo DOS operating system
works so well with the 5-100 bus that I
consider it almost a natural extension
to it, and therefore, an integral part of
the 5-100 environment.
5-100 Turbo DOS Configurations
Although the configuration of a Turbo DOS-based system can be rather
complex, most TD systems have the
following features in common:
1. Host Processor. The host processor is the computer that coordinates
communications between each user
processor in the system and the system resources, such as mass storage,
printers, modems, and other peripheral devices. In the IEEE-696 5-100
world, the host processor is usually
also the bus master. That is, it provides all permanent control signals to
the 5-100 bus and controls all bus
cycles except when it gives control to a
slave processor. In addition, the host
processor also arbitrates simultaneous
or conflicting requests from slave processors and grants control to them in
some orderly manner.

MICRO CORNUCOPIA, #29, April-May 1986

736 Notre Dame
Grosse Pointe MI 48203

2. One Slot Per User. Each user in
the system is usually a single board
computer, with at least CPU, RAM,
and console I/O onboard. These single-board computers are called SLAVE
boards because they operate as slaves
to the host processor, and also because
they usually operate within the IEEE696 specification as a bus slave. Although it's possible to run several
users from a single slave (a la MP 1M,
for example), this is not usually done.
3. Shared System Resources. As
mentioned above, shared system resources are the peripheral devices
available on the 5-100 bus. These
resources are accessible only through
the host processor (and to the others
via Turbo DOS system calls. This
prevents two slaves from trying to use
the same printer.
By passing all requests for a printer
through the host processor, Turbo
DOS can see that the printer is "assigned" to just one user at a time.
Shared system resources also include
all disk I/O, so that Turbo DOS can
lock records and files. Shared system
resources can also include interfaces to
other networks like ARCnet or NetDos.
4. Private System Resources. Unlike
shared resources, which are available
to all slave processors via the 5-100
bus, private system resources are connected directly to an individual slave
processor. This way no other processor can access them either directly, or
through the host processor.
Private system resources often include devices like modems that require
high-speed, un-interruptible I/O paths
to the slave processor.
For example, a Turbo DOS slave
user who wanted to transfer information via a modem to a remote computer system would probably want to use
a private modem (that is, a modem
connected directly to it, not to the host
processor). By doing this, he avoids

Z
going through the host processor and
thus avoids missing characters when
the host is busy. Many slave boards
available have a private parallel printer
port and a private serial port just for
this reason.
Schematic Mail
I was surprised to receive almost 200
requests for the computer-generated
FIFO board schematic that I mentioned
in the January "5-100 Bus." It took a
while to get all those schematics
mailed out, but everyone who asked
for them should have received them
by now. If not, please drop me a nasty
note at one of the following addresses:
CIS 70150,102, SOURCE TCH054,
GEnie DJHARDY, or voice at (313)
846-1055, and I'll drop them in the
mail. (Don't forget to include a return
address!) The original schematic has
been enhanced to include two serial
FIFOs, a printer port, an interrupt
handler, and a printer interface. It's an
E-sized plot on several 11"x14"
sheets, so you'll need some tape if you
want to make it into a single large
drawing.
Mini-Reviews To Come
The next "5-100 Bus" will include
the first mini-review, starting with the
Intercontinental Micro Systems products. Also in the review queue are
Earth Computers, Peak Electronics,
and Advanced Digital Corporation. If
you'd like to see any others, please let
me know. As always, I encourage
reader feedback, and welcome questions, suggestions, comments, and
ideas for future 5-100 Bus columns.

B ...

SETSYOU

FREEl

Z Operating System, an 8-blt os that fIIesl Optimized HD64180/Z80 assembly language
code - full software development system with proven linkable libraries of productive
subroutines - relocating fROM and RAMI macro assembler, linker, librarian, crossreference table generator, debuggers, translators and disassemblers - ready to free
youl
High performance and flexibilityl Productivity results from dynamically customized OS environments. matching operator. tasks and machine.
Real-time control kernel option allows quick software development for industrial control
applications. other tools and utilities for office desk-top personal computing functions. local area
networks to Ethernet. AppleTalk. Omninet. ArcNet. PC-Net (Sytek) - from micro to mainframe
command. control and communications. Distributed processing application programs are easily
developed.
• Extreme organizational flexibility. each directory another environment
• Multiple Commands per line
• Aliases (complex series of commands known by Simple names) with variable passing
• Named Directories with absolute password security
• Full-screen command line editing with previous command recall and execution
• Shells and Menu Generators. with shell variables
• Command-file search Paths. dynamically alterable
• Screen-oriented file manipulation and automatic archiVing and backup
• 512 megabyte file

sizes. 8 gigabyte disks handled

• Auto disk reset when changing floppies
• TCAP database handles characteristics of over 50 computers and terminals.
more easily added
• Tree-structured online help and documentation SUbsystem
• 76 syntax-compatible support utilities

Your missing link has been found - ZI Now fly with eaglesl Fast response, efficient
resource utilization, link to rest of computing world - shop floor to executive suite,
micro to corporate mainframe. Call 415/948-3820 for literature.

~

l.E:.!J Echelon, Inc.

101 First Street • Suite 427 • Los Altos, CA 94022 • 415/948-3820

THE COMPUTER JOURNAL
Practical Programming & Hardware Projects
The Computer Journal is published bimonthly for those interested
in programming their computers, interfacing to peripherals,
and hardware construction.
Now expanded with in-depth articles covering Turbo Pascal,
"C", Assembly Language, Kaypro, Ampro, Interfacing, plus
CP/M and other operating systems.
6 Issues (1 year) .14 In US - VISA & MasterCard accepted
190 Sullivan Crd., Columbia Falls, MT 59912 (406) 257·9119

MICRO CORNUCOPIA, #29, April-May 1986

61

Computing In
The Netherlands

By Andy Bakkers
de Gervelink 12
7591 DT Dendkamp
The Netherlands

CP/M and communications are hot in Europe

Europe dances to its own drummer.
CP/M is hot, and they've been ahead
of the US in communications. Andy
also covers a public domain version of
CP/M and a catalog of Taiwanese
exporters.

T

he latest craze in Holland is the
FIDO net - supposed to be the
mail box of all mail box
systems. The software was written by
Tom Jennings of San Francisco, and
it's in the public domain.
There's one national node in Holland, and during the night the FIDO
nodes start calling each other to exchange mail. The mail that arrives here
in Holland is then distributed nationally over the 13 local nodes.
International connections are possible at the moment between the USA,
UK, Sweden, and Holland, all at
prices below the postage rate. Dedicate
your home built PC clone as soon as
possible to this new gadget.
The FIDO net control number in
Portland is - HOST 105 500 1200
PD)CYC Net P09.15032818322 PortlanLOR. I don't know what all the
numbers mean, but its speed is 1200
baud. You can reach me via FIDO
Host 3101, node 100.

Figure 7 - Part of the Source Listing for P2DOS

P2DOS -- Z80 Replacement disk operating system version 1.1
;

,••

;.
;*

Copyright (C) 1985 by:
All rights reserved

,••
,••
,••
,••

P2DOS was written by Herman Ten Brugge, who assumes no
responsibility or liability for its use.
P2DOS is released to the public domain for
non-commercial use only.

,••
,••
,••
,.*

PC Clone Information
If you want information from the
horse's mouth (so to speak) about PC
clones, subscribe to the Asian Sources
Computer Products, $98 air mail. Order from Trade Media Ltd., c/o Wordright Enterprises, Inc., P.O. Box 358,
Winnetka IL 60093-0359, phone (312)
256-7105. They publish eight different
magazines on subjects ranging from
timepieces and toys to sporting goods.
CP/M's BDOS
Here's a public domain replacement
for CP/M's BDOS. As you know,
ZCPR2 and 3 can replace the CCP.
Now there's also a much better BDOS

62

MICRO CORNUCOPIA, #29, April-May 1986

H.A.J. Ten Brugge
Molenstraat 33
NL-7491 BD Delden
The Netherlands
Tel: •• 31-5407-1980

New features of P2DOS are:
- Test console status after 256 characters output.
This makes it possible to exit a program, after you
hit accidentally a key, by typing ~S·followed by ~C.
- Error routines give more information.
P2DOS error on D: BAD SECTOR
SELECT
FILE RIO
RIO

FUNCTION =XXX (FILE =FILENAME.TYP)
As you can see the error is displayed with the P2DOS function call.
The option 'FILE =FILENAME.TYP' is only displayed if the P2DOS
function uses a filename. After all errors a warm boot is done.
- Public files are supported. You can access ~ public file from any
user number. This makes it possible to put, for example, all .COM
in a special user number and make all those files public. You can
access all the files from any user number on the same disk.
A public file is a file with bit F2 (Bit 7 from filename letter 2)
set to one. Public files can only be referenced by their exact
name and not by wild card characters.
- Search path is implemented just as in ZCPR2 to find files on other
drives and in other user areas. The files must be system files and
must be referenced by their exact name as in public file names above.
- Automatic date and time stamp is implemented. The creation date
and time is set when the function make is executed. The update
date and time is set as the file is closed. To let. this feature
work you need to have a real time clock and the correct P2BIOS
driver routine. You also have to initialize your directory
for time stamps.
- File RIO error message occurs if one of the following file
types is active:
PUBLIC FILE (F2)
(T1 )
FILE RIO
SYSTEM FILE (T2)
This means that a system file or public file cannot be erased
accidentally.

- New function get time (200) is implemented to get the correct
date and time. Entry DE is address to put time. The date and
time record has the following layout:
DATE:

DEFS

HOUR:
DEFS
MINUTE: DEFS
SECOND: DEFS

replacement called P2DOS. Figure 1
shows part of the source listing.
1 GByte Disks
I've recently read about 1 GByte
disks for CP/M. You can now put
WordStar in A15: and declare it public
and have no more problems.
I've put ZCPR2 and P2DOS together
on a disk and written a small ZEX file.
Since this is ZCPR's submit file, you
can get a system by typing ZEX DOS
60 (if you want a 60K system).
I've implemented P2DOS and
ZCPR2 for the Big Board II (of course)
including time and date stamping.

BBII Lives
I hope from my European update,
you get the impression that the Big
Board II is not dead yet. At least here
in Holland the group is very active.
We're coming out with a Big Board
Bulletin entirely devoted to technical
modifications and improvements to
the Big Board. And we have our
Holland SOG planned for June 14,
1986. We'll be sure and tell you all
about what happened when we attend
SOG V in Bend.

111111

2

(SU 01-JAN-1978)
DATE = 1
DATE = 65535 (SU 05-JUN-2151
HOUR IN BCD
MINUTE IN BCD
SECOND IN BCD

Function works only if correct P2BIOS function call is installed.
- New function set time (201) is implemented to set the correct
date and time. Entry DE is address new time. The date and time
layout is as above. Function works only if correct P2BIOS function
call in installed.
- Disk size can be as large as 65536*16K=1 048 516 K BYTE=1 G BYTE
- File size can be as large as 32*64*16K=32 768K BYTE=32 M BYTE
You can enable/disable the functions mentioned above with the
following data and addresses:
- Enable path name by putting address of path in P2DOS+11H. If this
value is OOOOH no path is used. This address is normally set to 0040H.
- Enable P2DOS time and date stamping by putting the correct P2BIOS
address at P2DOS+13H. This address is normally set to the P2BIOS
console status function.
- You can enable the 256 character delay function by setting bit
of address P2DOS+15H. This bit is normally set to 1.
- You can enable public files by setting bit
to 1. This bit is normally set to 1.

a

of address P2DOS+15H

Entry addresses P2BIOS
FUNC

a
1
2
3

4
5

6
7
8
9

10
11
12
13
14
15
16

XX

NAME
BOOT
WBOOT
CONST

INPUT PARAMETERS
NONE
NONE
NONE

RETURNED VALUES
NONE
NONE
A=OFFH IF READY
A=OOOH I~ NOT READY
CONIN
A=CONSOLE CHARACTER
NONE
CONOUT C=CONSOLE CHARACTER
NONE
LIST
NONE
C=LIST CHARACTER
PUNCH
C=PUNCH CHARACTER
NONE
READER NONE
A=READER CHARACTER
HOME
NONE
NONE
SELDSK C=DRIVE NUMBER (0 •• 15) HL=DISK PARAMETER HEADER ADDRESS
E=INIT SELECT FLAG
HL=OOOOH IF INVALID DRIVE
SETTRK BC=TRACK NUMBER
NONE
SECSEC BC=SECTOR NUMBER
NONE
SETDMA BD=DMA ADDRESS
NONE
READ
NONE
A=OOH IF NO ERROR
A=01H IF ERROR
WRITE
C=O WRITE DATA
A=OOH IF NO ERROR
C=1 WRITE DIRECTORY
A=01H IF ERROR
C=2 WRITE NEW DATA
LISTST NONE
A=OOOH IF READY
A=OFFH IF NOT READY
SECTRN BC=LOGICAL SECTOR
HL=PHYSICAL SECTOR NUMBER
NUMBER
DE=TRANSLATION TABLE
ADDRESS
TIME
C=OOOH GET TIME
HL=POINTER TO TIME TABLE
C=OFFH UPDATE CLOCK
HL+O:DATE LSB SINCE 1,1,1978
HL+1 :DATE MSB
HL=POINTER TO TIME
HL+2:HOURS
(BCD)
TABLE
HL+3:MINUTES (BCD)
HL+4:SECONDS (BCD)
(End of Listing)

MICRO CORNUCOPIA, #29, April-May 1986

63

TOTAL CONTROL
with LMI FORTHTM

For Programming Professionals:
an expanding family of
compatible, high-performance,
Forth-83 Standard compilers
for microcomputers
For Development:
Interactive Forth-S3 InterpreterICompilers
•
•
•
•
•

Full implementation of "C" with standard floating
point, library, and I/O subrou'tines. UNIX VER 7
compatible. Produces relocatable 80BO (optional OZaD)
assembler code. Relocating assembler and linker
supplied with package or use Microsoft MBO and LBO,
SID/ZSID debugger interface. FAST COMPILATION
AN D EXECUTION.

AZTEC CII FOR CP/M

VISA

$199

(Special price for Micro C subscribers $149)

MJ~NX
so ftware

systems

Box 55, Shrewsbury, N.J. 07701
(201) 780-4004

Also available for Apple DOS, HDOS, CP/M-86, PC-DOS

16-bit and 32-bit implementations
Full screen editor and assembler
Uses standard operating system files
400 page manual written in plain English
Options include software floating point, arithmetic
coprocessor support, symbolic debugger, native code
compilers, and graphics support

For Applications: Forth-S3 Metacompiler
•
•
•
•

Unique table-driven multi-pass Forth compiler
Compiles compact ROMabie or disk-based applications
Excellent error handling
Produces headerless code, compiles from intermediate
states, and performs conditional compilation
• Cross-compiles to 8080, Z-80, 8086, 68000, and 6502
o No license fee or royalty for compiled applications

~~IJIlHJ~

UWElkf tl'1INJ)//J)(lJCirS
Sampler ($35)

Support Services for registered users:
• Technical Assistance Hotline
o Periodic newsletters and low-cost updates
• Bulletin Board System

Call or write for detailed product Information
and prices. Consulting and Educational Services
available by special arrangement.
•

~. Laboratory Mlcrosystems Incorporated
Post Office Box 10430, Marina del Rey, CA 90295
Phone credit card orders to: (213) 306-7412

Overseas Distributors.
Germany: Forth-Systeme Angelika Flesch, 0-7820 Titisee-Neustadt
UK: System Science Ltd., London EC1A 9JX
France: Micro-Sigma SAR.L., 75008 Paris
Japan: Southern Pacific Ltd., Yokohama 220
Australia: Wave-onic Associates, 61.07 Wilson, WA

64

MICRO CORNUCOPIA, #29, April-May 1986

and/or

Professional Systems (from $175) for ...

Apple ProDos
Amig6
Hicro VAX
Hl1cinlosh
IBHPC/AT
DECFlJlcon
UNIFORTH Is a fuil-featured, floating-point, FORTH-83
Standard language available for most micro and mini computers.
Call or write for our free catalog or use our
Bullet In Board (614-459-7736, 30011200 Baud)
for more detailed Information.
UNIFIED SOFTWARE SYSTEMS
P.O. Box 21294, Columbus, OH 43221-0294
(614) 459-7735

ONE MEGABYTE RAM EXPANSION BOARD FOR THE 820-1
AND THE BIGBOARD-1
This R AM expansion board allows you to expand the memory capacity of your 820-1
or your BIGBOARD-I to one megabyte. When used with the RAM disk software supplied
with the kit I this sy stem will provide you with the FASTEST R AM disk that you can
buy. This R AM board is easy to insta111 and involves no etch cuts or cables. This board
plugs in to five device locations below the RAM array on the 820-1 or the B IGBO ARD-I
This board uses none of your precious 1/0 -or- the CPU socket. The memory is organized
as 64 pages of 16K. ANY of the 16K segments can occupy ANY 16K block that the CPU
can address. ANY 16K segment can be moved into or out of the address space by writing
a single byte to memory location OFFFF hex. This product comes with machine-drawn
schematics I and a full theory of oper ation. Assembly I installation and test procedures
are thoroughly documented. PAL code is included and extra PALs are av ailab le. A PAL
is shipped with each board. R AM disk software is included with source on disk. Please
specify 5 or 8 inch disk. Interconnect hardware is shipped with each board. Compatible
_wJt.!' ~~~ !~d _E!:1~R_A!-~ !C~~,! ~R.!= j~uE l~ ~:.n~i!y_ ~o_d~: _~~e _4.:5~' :!-_6.:5~':. ______ _
1 MEG UNK IT (PC board I interconnect hardware I doc I PAL and software) ............. $ 75.00
1 MEG KIT wI 0 RAM ( all TTL I sockets I resistors I capacitors I plus the UNK IT) ... 125.00
256K Dynamic RAM (board will accommodate 32 RAMs max) .......................... ea 3.25
MONITOR ROM with mapper initialization (specify 820 -or- BIGBOARD) ............... 10.00
EXTRA PAL.......................................................................................................... 7.50

tt

BIGBOARD I

The mo'st popul er computer ki tin hi story
The BIGBOARD-I has finally come home. We are now offering the
computer that started all this at a new low price. This is the same
design that was licensed to XEROX Corp. in 1981 1 which was introduced as the 820. This is also the same computer that was copied
and now resides in several tens of thousands of portable
computers around the world. Now that DRC's license has expired ,
we will be offering the computer in 'sever a 1 forms:
BARE BOARD and DOC ........................... ~ ..... ;......... $75.00
UNKIT (PC Board , DOC , ROMs and terminal block) ... 85.00
Hard-to-get parts................................................ .. call
Special configurations ................................ :........... call

NIYERSAL CO
.;.... 25.00
This device was designed to interface any computer with TTLcompatib le separ ate-sy nc video to a composite monitor. This
board works with the 820-1 1 820-2 1 BIGBOARD I and many

820-2 COMPUTER BOARDS ...................................... $25.00
This board is the 4 MHz version of the popular 820-1. Only
the ROMs I the disk controller I and the CPU are not included.
The hex equivalents of ALL (including keyboard translator)
~o~th~e~r_c_o~m~_e_r_s_._R_C_A~_n_o~a_c_k~o_u~tp_u_t~.~~~~~~~~ ROMs are shipped with each board on disk. Schematics are
820-2 etch 21 11" x 17" schematics I set of 8 ............ 15.00 included with each order.
820-1 etch 1 111" x17" schematics I set of6 .............. 15.00 ~~~~~~~~~~~~~~~~~~~~~~
820-1 CB lOS and ROM source I 5" or 8" disk ................. 35.00 820-2 FLOPPY DISK CONTROLLER ............................ $35.00
. t 0 820) .......................... 4 . 00 This board is functionally identical to the 820-2 floppy PW A.
pugs m
820 power connec t or (1
(ld
820 power connec t or so ers on t 0 820) ...................... , 4 . 00 This package consists of the PC board I the data separator
· k con t ro 11 er sc hema t·1C......................... 1000
ROM / a parts list and a set of schematics for the revision 5
.
820 - 2 fl oppy d1S
CP 1M PRIMER (XEROX CP 1M HANDBOOK)...................... 7.50 floppy daugh.te.r.bo.a.rd~. •III!IIIIJIII!"

-J.B. F~I-yu~UII, "I nc.
...

.'

P.O. Box 300085
'Arltn'gton, Texas 76010
(~ 17) 64,0-0207

II:.I'(I-I":UQ~''-:I \,QI UI ... "'H~ moneyol"'der certified check, UPS cash COD. Alloy 2 ye~ts
for personal or companycheclcs to clear . Add
$5 for shi ppi ng/handli ng. Texas add 5.125~
state sal es tax.

MICRO CORNUCOPIA, #29, April-May 1986

65

By Mitchell Mlinar

Processor Speed Isn't The Only Speed

1225 Fonthill Ave.
Torrance CA 90503

Is speed all it's cracked up to be? If
your system is spending most of its
time trying to find disk data or trying
to store results then processor speed
might not make much difference.
Something else might, however...

I

t looks like Xerox is dumping the
last of the 820-IIs and 16/88. During a February employee sale, an
820-II with keyboard, disk drives
(5.25" or 8"), and the CP/M distribution disk (which includes M80, L80,
MBASIC, etc.) went for $599. If you
didn't want the disk drives, the cost
dropped to $245 (you still got the
disk). For that price, EVERYONE can
afford a computer, or a second one
"just in case" (e.g. parts).
Souped Up Storage
One problem in working with computers is speed. Computers are amazing speed demons, until you learn
how to type! Then they suddenly
screech to a halt. Examples:
1. Editing that 80K file with WordStar and trying to move from one end
to the other. 2. Compiling and linking
a relatively large program. 3. Working
with that dBASE application that has
14-zillion records.
You get the picture.
Have you ever considered upgrading
your storage? Every time I go to
upgrade a machine, the first· thing I
hear about is speed (2.5 to 4MHz, 4 to
5MHz, etc.). However, speed is less
than a third of the issue!!! Unless
you're currently operating in a RAMdrive or hard disk environment, processor speed should be #2 on the list.
Number 1 should be storage. If I
haven't convinced you yet, check out
the statistics in Table 1.
Notice the large ratio, even between
single density and double density formats and between 5.25" and 8" disk

66

formats. RAM drive is the fastest, but
unfortunately is\ not permanent storage
like the hard disk.
Acid Test Time
I performed the same operation on a
2.5MHz system (this one doesn't have
a hard drive). The results are shown in
Table 2.
Surprised? Although 4MHz is almost
twice as fast as 2.5MHz, both are
greatly affected by the speed of the
floppy disks. Only a few percent is
gained by going to the higher clock
rate. So sure, pop in those 5MHz
dilithium crystals, but don't expect
Warp 9 until the REAL horsepower is
there. (Of course when you're doing
something that requires lots of calculations or lots of writing to the screen,
then processor speed becomes very
significan t.)
Keeping A Low Profile
I've been getting a lot of questions
regarding the high-profile versus the
low-profile keyboard. From my own

MICRO CORNUCOPIA, #29, April-May 1986

experience (which is limited), the lowprofile keyboard is MUCH better than
the high-profile. A good indication of
keyboard quality is hand fatigue and
typing speed: both have improved in
the short time I've used the lowprofile.
If you currently have an 820-II or 16/
8, moving up to the low-profile (that
makes sense, doesn't it?) means simply installing the keyboard PROM into
U36. (The low-profile keyboard uses
the same cable and keyboard port.)
Installing a high-profile onto the 820I may only be a matter of software,
and takes about 1.5K of code. Whereas
the high-profile keyboard transmitted
the ASCII code of the character upon
any keypress, the low-profile transmits
two characters which must be decoded. Software can get real fancy, as the
keyboard not only transmits upon keypress, but also on key release. (Software auto-repeat anyone?)
You'll need to purchase the 820-11
technical manual to get a list of the
keycodes and to see how Xerox decod-

Xerox 820-1 & /I
ed the keyboard. And, if you have the
money, that additional jack on back
can be plugged into any two-button
optical mouse. Of course, that is another software problem.
There's little software support for
the low-profile keyboard on the 820-1.
Plus2X ROMs from Emerald Microware allow owners of their double

density card who are willing to perform surgery to use the low-profile on
the 820-1 (the ROMs are 2732s); they
are the only canned software for the
820-1 1 know of at present.

more.
supply.

•••

~INGLE BOARD

XEROX "820-1

HIGH PI;RFORMANCE

COMPUTERS
, .

FOR 820, BIG BOARD OR
OTHER SINGLE BOARD COMPUTER

ENTIRE 820-1 SYSTEM IN ENCLOSURE
WITH KEYTRONICS KEYBOARD

High Res 12" Motorola Monitor
Big 200 Watt Power Supply
All Wired Up & Ready To Slide in Your SBC

$169.00

A BEST BUY

with 2 8" Drives .............•......... ; ... $699.00
with 2 5'1." Drives ......................... $599.00
with Diablo 630 Prinler add ................ $899.00
(Diablo sold only with complete system)

Beautiful' Keytronics full parallel ASCII (hooks right up to
820 or BB) Keyboard with numeric keypad/function keys.
A Best Buy
$ 39.00
Extra for Keyboard Enclosure
$ 15.00
MONITOR ONLY ........................... , .. $ 59.00

BIG POWER SUPPLY ONLy ................... $ 35.00
MATRIX KEYBOARDS ......... " ......... , .... $ 15.00
8" Disk Drive Shugart 81 0 Half Height ........ ,$ 99.00
2 8" Disk Drives in Enclosure with power ...... $299.00
2 5W' Disk Drives in Enclosure ............... , $149.00

DIGITAL RESEARCH CP/M WITH BIOS FOR 820-1 OR
820·11 INCLUDING LICENSE AND ALL MANUALS
100 AVAILABLE ................................. $49.00
ENCHANCED MICRO-CODE OPM BOOTABLE DISC
SPECIAL WITH COMPUTER ONly .............. $45.00
CENTRONICS PARAllEL PRINTER CABLE
820·1 or 820·11 ................................ $35.00
PARAllEL DRIVER(COM FilE) .................. $15.00

SPECIAL ON CP/M
SOFTWARE
CLOSEOUT
NEW LICENSED DISK

WOR DST AR 3.3 or 3.0 1. ............ " .......... $99.00
SUPERSORT ................................... $50.00 •
SPELLSTAR .................................... $45.00
MAILMERGE ................................... $50.00

C RA IG ' S
.

* New AUTOLETTER for Dbase 11*
Write form letters or normal letters automatically
to your clilmts, customers or anyone in your database
without typing names and addresses!
Also does single or multiple envelopes or labels.
Add your own forms or letters ................... $99.00

COMPUTERS
Allprices:~~:~~~~:~~

,....Programl 2718, 32, 32A, 64, 84A, 128,258, and
,....Connectl to parallel port & u... l)'Item'l power

-.

ENCLOSURE

EPROM PROGRAMMER
only $8995

(213) 379-1342

-

,....Read, copy, verify. display, edit, checksum & save .
or load promfllel from dllk.
,....Completely built and tested.
,....lncludealOftware on 5V." or 8",
manual, 40
pin ribbon cable (lady to plug Into the parallel port
of your Iystem.

user',

SUPERIOR INTERNATIONAL
11663 Denton Dr. ~ 104
Dallas, Texas 75229
(214 )484-5072

NEW ••• nOPPY DISK
CONTROLLER BOARD
FOR THE

XEROX 820-11
Direct replacement for
the standard 820-11 Floppy
Daughter Board. Uses the
FDC1793/9229B for reliable
. operation. Perfect for
surplus 820-11 boards.

Assembled/tested ................ $109.95
Complete KiL .......................... $79.95
Bare Board w/9229B ............ SS9.95
Bare Board w/DOC ................ $39.95
Include $3.00 Shipping
VlSA/MC
COD Add $1.50

REPAIR SERVICE
XEROX 820 1/11

BIG BOARD I

THE DATA MILL
12 Crescent Court
Montgomery, IL 60538

312-892-6573
MICRO CORNUCOPIA, #29, April-May 1986

67

820-1
CP/M (8")
820-1 w/CP/M

820-2
CP/M (8")
820-2 w/CP/M

$50.00
35.00
70.00

Xerox is a trademark of Xerox Corporation.

~··5··

2708·
2758
2516
2716
2732
2764

HOBBYIST
Pots
7400
Dips
Caps
74lS
Chips
Some ECl
and more ...

·1·'4;i·· [is o"D···········1

80 Track 96 TPI 1
Philips@Drives
~
l
$100.00 1
: ..............................................:

!

1~.~.g:.~1

-

~

SOPTWARS AVAILABLS POR CP/M-8~, CP/M-86 AND MS-DOS SYSTEMS
STAND ALONG BOARD - BLSCTROI',dC SWITCHING OP SPROM TYP8S
US8S 24 VOLT XPMR paR POW8R - ALL SUPPLI8S/TIMING ON BOARD
NO PSRSONALITY MODULSS TO BUY - LARGS COMPRBH8NSIVS MANUAL.

* * PARALLEL PRINTER INTERFACE * *
CONN8CTS TO ANY PARAL.L8L PRINT8R INT8RPACS - USSS 8 OUTPUT
DATA BITS AND ONS INPUT DATA BIT (BUSY LING) BUSY LINS IS A
HIGH SPBSD S8RIAL INPUT. PULL SPROM RBADING AND PROGRAMMING.
UNIT MAY ALSO B8 CONN8CTBD TO ONS 8 BIT INPUT/OUTPUT PORT.

FULCRUM·
COMPUTER PRODUCTS

6MHz $4.50

* * CONTROL P.ROGRAM COMMANDS * *
-

3P+N POWER SUPPLY
Single board power supply kit with
2 positive fixed voltages. + 1 and -1
variable.

PROGRAM SPROM(S) PROM DISK
- SAVS EPROM(S) TO DISK
RBAD DISK PILE 1N'f0 RAM
- PROGRAM BP~OM(S) PROM RAM
READ 8PROM(S) INTO RAM
- COMPARE EPROM WITH RAM
VSRIPY BPROM IS BRASSD
- COpy EPROM
DISPLAY /MODIPY RAM - (MONITOR MODS) WITH 11 SUB COMMANDS
PILL-DUMP-XPER-8XAMINS-MODIPY -BIAS-PROGRAM-VERIPY, ETC.)

---------------------------------------------------------

~8~5~~~41~~t~ s~~tj'l~M g~6r~rs~TS

KIT $54.95

--------------------------------------------------------TO ORDBR SBND CHECK, MONGY ORDBR, WRlT8 OR CALL
ANDRATECH
P.O. BOX 222
MILFORD, OHIO 45150
(513) 752-7218

2273 American Ave. -#8 - Hayward, CA 94545

(415) 786-9203
All orders are F.O.B. Hayward California - Prepayment or C.O.D. - California residents

a1d sales tax - Prices subjecr to change without notice··

>

- - - $199
PARTS KIT WITH SOPTWARS AND OOC-}$179 PCB,SOPTWARS.i DOC->$69
SOPTWARS ON 8 .i 5 1/4 DISK POR KAYPRO, OSBORNE, IBM ~ OTHBR PMTS

E21 COMPUTER PRODUCTS
TERMS:

2732A
2764A
27128
27128A
27256
27CXX

Authorized dealer for:

l

Z80-B

PROGRAMMING SYSTEM

$70.00
35.00
90.00

CP/M IS a trademark of Oigitaa ResearCh.

OEM
Sips
Inductors
Sockets Regulators
Linears Resistors

CP/M, MS-DOS EPROM

Assembled
& Tested

XEROX®820-1 & 2

..Juan,aries limiteoj 10

stock on hanoj.

CALL OR WRITS POR MORS INFORMATION -- ADD $4.00 POR SHIPPING
OHIO RES. ADD 5.5% TAX -- VISA/M.C. ACC8PTBD -- $3.00 POR COD

ED/ASM-86
The first truly integrated Editor, Assembler, Debugger, and
Linker is now available from Oliver Computing Company.

* The Editor supports block move, block copy} partial save and partial load insertion. All text is tokenized for
both efficiency or storage and very fast assemoly time. FAST screen I/O and separate editor/debug windows.
* The Assembler can be immediately invoked after any editthlg command. OutJlut can be directed into memory,
to a .COM file, .EXE, or to ED/ASM-86's own efficient .LNK file format. 8087/186/286 instructions supported.
Macros and most standard pseudo-ops are supported.
UNIQUE to ED/ASM is its structured assembly lallguage capability. No more wasted labels and time!
Multiple segmented programs can be be sent to .COM fifes •.

* The

built in debugger supports symbolic disassembly, integration with the assemble~ as well as disassembly
of 8087/186/286 insfructions. Display 8087 registers in scienfific decimal format. SPLIT SCREEN debugging
with a dynamic register window IS easily invoked. Disassemble programs to disk file for easier analysis.
"Single-step" data editting sU'pported for bytes, words double words, and 8087 floating constants in memory.
You can "patch" assemble a hne at a time with symbois from previous assembly (even ilefine symbols as you go!)

* The linker supports ED/ASM-86 link files, which can be created from virtually any valid ED/ASM-86 source
file, even lines With multiple external symbols in expressions. (Note: not compatible with usual link format)

* And

many more features too extensive to be listed here.

All of these features exist in one integrated program. A typical development cycle with ED/ASM-86 consists of
entering a program with the editor or edittlng an existing Jlrogram, typmg "A:,.:JM" to assemble into memory,
goi!!g into the debugger to immedlately test the ~rogram. Then you go back to the editor for the next cycle.
ED/ASM was developed for Oliver Computing s own use, and has been used for over a year to enhance itself!
ED/ASM-86 is only $95. Send check or M.O. to:
Oliver Computing Company, P.O. Box 90140, Indianapolis, IN 46290
for immediate aelivery via UPS.

68

MICRO CORNUCOPIA, #29, April-May 1986

{ (317) 849-4450 }

j

By Laine Stump
Development Foundation of Turkey
Tunali Hilmi Cad. 22
Ankara Turkey

The Continuing Saga Of CCP 1M

Laine brings us a smorgasbord of 86
events this time with some late news
on PC Tech's X16, developments on
the Ampro systems, and more CCP1M
on the Slicer (with a few cutting
comments about Turkish customs).
Our man in Turkey seems to be
surviving, but we're watching closely
to see if too many baths (Turkish, of
course) cause wrinkles in the cerebral
processor.

,
I

've gotten some interesting mail
" lately: "Dear sirs: (our company)
has been traded with your
esteemed company for a period. As all
of us sincerely hope to furnish you
with more better supply, we would
very like to learn your comments
about products, delivery, service, etc."
So, how 'bout it. Send me some
MAIL, huh??? I don't pound on my
keys just for the exercise, you know.
Yet Another Evening ...
First, I've got a bit of news from our
friends at PC Tech (Dean & Earl, you
know, the Homer & Jethro of the
computer set ... ) as well as from Rick
and Dave at Ampro.
X Marks The Spot
PC Tech's X16 has been constantly
improving (if that's possible) since it
was introduced at the SaG last summer. The 8087 board is now working,
and the SASI port is now full SCSI
(seems like Dean had a talk with Rick
Lehrbaum from Ampro. Is this all
some kind of evil conspiracy or something??). Dean has been trying several
different peripherals (tape controllers,
graphics boards, hard disks, etc.) with
the X16, and all seem to work with no
problems.
Earl's ROM BIOS has been improving, also. It now has support for a
winchester on the SCSI port. He reports that he's running a WD1002

controller with 1:3 interleave, and
WD1003 with 1:1 (!!) interleave. (For
comparison, my Slicer is currently
using 1:7, although I plan to upgrade
it to 1:3 or 4 soon.) Because of as
overhead and stepping time, the
speedup obviously will not be 7 times,
but I'm sure it'll still be significant,
especially for sequential 110.

wonder why I'm shaking in my slippers ... ), so the small extra expense is
definitely worth paying, especially
when you consider the extra shipping
and customs charges from Taiwan.
Several U.S. companies are now discovering just this fact, and have been
talking to PC Tech about supplying
their motherboard needs in the future.

Editor's note: An interleave of 7 means
that sector 2 is 7 sectors after sector 1,
sector 3 comes 7 sectors after 2, .and so on.
They wrap around to get all the sectors on
the track. Spacing sectors this way gives
the system time to get ready to read the
next sector. But an interleave of 7 means
that it takes 7 revolutions of the disk to
read a complete track. A system has to be
very fast to read a disk with no interleave
(an interleave of 1).

Little Board News
I've also heard from Ampro that
they have Turbo DOS running on
their Little Board Plus and Little Board
186. For those who don't know, Turbo
DOS is a mildly CP/M compatible
operating system supporting multiple
CPUs. Usually each user has his own
CPU, and one CPU handles disks and
printers, etc. (although the disks and
printers could be distributed over the
whole system). An intriguing idea; I
just wish, I could convince somebody
that I need 5 LB186s, 4 terminals, a
huge winchester drive, and Turbo
DOS. I would truly LOVE to play
around with some multiprocessor
stuff.
They also now have a 512K expansion board with two extra serial ports,
a battery backed up clock, and an 8087
co-processor that fits on top of the LB
186 (which fits on top of a winchester
controller, which fits on top of a
winchester drive, which ... )
Ampro also plans to have Concurrent DOS (CCP/M) for the LB186/
expansion board pair. They had it
running with two users on a single LB
when I heard from them, and probably have it running with the expansion
board by now.

The X16 ROM BIOS now automatically determines the controller type,
number of drives, etc. and feeds it all
to PC-DOS at boot time, so no extra
device drivers are needed.
On the software compatibility side,
Earl says that only one or two BASICA
programs and a couple of copy protected programs still won't run on the
X16. The 'problem with BASICA is, of
course, that it uses an extra ROM
that's copyrighted by IBM. The problem with the copy protected programs
is more elusive, but he says it probably has something to do with software'
timing loops and different clock
speeds. Nearly all PC software runs,
though.
I heard in December that PC Tech
would have a new "low cost" version
of their board out after the first of the
year (that means it should be ready to
ship NOW), selling for under $500 in
quantities of 20 or so. This puts it right
in line with boards of similar specs
coming from Taiwan. Actually it's just
slightly more expensive, but I've heard
rumors of 30 percent DOA (dead on
arrival) rates from Taiwan (and you

Slicer CCP/M
I've been mostly happy (actually
ecstatic) with CCP/M on the Slicer, but
there are a few things which bother
me. First, the parallel port on the
expansion board is not supported.
(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

69

86 WORLD
(continued from page 69)

Second, it doesn't automatically set
the system time and date from the
clock at boot time. The worst problem,
however, is that anytime someone
fires up a disk drive, everything slows
down by about 130% (disk operation is
all polled because of a bug in the
DMA of early 186s).
If this were any other system, I'd be
very disappointed, but this is the
Slicer, and that means they includedthe source code to EVERYTHING on
the distribution disk. When something
on the Slicer doesn't quite measure up
to my desires I don't think of it as a
deficiency of the Slicer; I think of it as
an exercise left for the user. After all,
what fun would it be if everything
worked perfectly straight out of the
box? It's much more satisfying to hit
the power switch and see the system
come up with a message that you, yes
YOU, had a small hand in making it
work the way it does. (Why do you
think I rewrote the entire Monitor
ROM and BIOS for my Big Board,
anyway?)
Since I could live with slightly slow
screen paints during disk accesses and
incorrect time stamps, I decided to add
support for the parallel port first. This
was fairly simple, owing mainly to the
wonderful table-driven structure of the
XIOS character 110 device drivers
(once again, thanks Earl). After that, I
kind of got busy with EXPRESS and
resigned myself to just suffer with the
rest for awhile.
As soon as I get this column written,
I'm going to begin a fullscale upgrade
of the Slicer XIOS. I hope this won't
take more than a month or so of spare
time. I will then send the results of my
. labors to Slicer for distribution.
Gifts(?) From Afar
Last week I got a notice that I had a
package to pick up at the customs post
office. Exactly 8 days later and four
trips to customs, one official letter
stating my purpose, in Turkey and
guaranteeing that I wouldn't sell the
contents inside Turkey, several hours
of paperwork by a colleague at DFT,
two trips by camel train to Lhasa,
.Tibet, the tooth from a sabre toothed
tiger, and a blessing from the Dah'lai

Lhama, I had a box full of disks from a
friend in the U. S.
By the way, if anyone else sends me
any disks, please please PLEASE send
no more than 3 to a package and send
each package on a separate day. The
guys at customs here know as much
about computers as I know about
making goat cheese (and what I know
about it would probably curdle your
blood). When they see a dozen diskettes in a box, they're sure that .each
one is worth about $20 and that I'm
going to sell them all and the Turkish
government won't get its. cut. So parcel them out, please?
Project Of The Month
Last issue I showed the basics needed to make an extended command
processor for CCP/M (called SHELL). I
promised to show this. month how to
add 110 redirection (like UNIX and
MS-DOS) to the whole mess. Unfortunately, I've run out of room (actually, part of the last column was cut due
to my running off at the mouth). Also,

A Non-IBM Sidekick

By the way, this same method could
be used for special "filters" under
standard CP/M and MS-DOS, as well

HARDWARE SPOOLER and INTERFACE CONVERTER
• 128 K PRINT BUFFER
• CENTRONICS OR SERIAL
INPUT/ OUTPUT
• MULTIPLE PROTOCOLS
• 53/4 X 7112 INCH BOARD
• + 5 Volts at . 75 Amp
± 12 Volts at .1 Amp
The L-BAN D SYSTEMS hardware spooler is a Z80 based unit that
provides a 128 K byte buffer and interface conversion between Centronics and serial. Input and output may be either parallel or serial at
various baud rates and with several protocols. Multiple copy and single
sheet feed are supported.
BARE BOARD with EPROM (2732) and program listings ..... $ 39.95
DISK with program source, 8-inch SSSD . . . . . . . . . . . . . . . . . .. 10.95
MINI KIT board, EPROM, headers, crystals (less disk) ....... 59.95
*PARTIAL KIT all parts EXCEPT RAMS. . . . . . . . . . . . . . . . . . .. 109.95
*ASSEMBLED and TESTED BOARD (128 K) ............... 259.95
WALL MOUNT POWER SUPPLY ......................... 39.95
California Orders Add 6.5% Sales Tax
Shipped via UPS - Check or Money Orders to:

L-BAND SYSTEMS
'Not available for export.

70

I have to admit that I don't have all
the bugs chased away yet, so I guess
it'll have to wait until next time.
In the meantime I'll tell those of you
who are anxious that the way to do it
is to modify the INT 224 vector (at
location 0000:(224*4» to point to your
own BDOS intercept' routine that
checks for console input and output
and processes it accordingly. The intercept routine should make the actual
calls to BDOSthrough INT 225 (which
is set equal to INT 224 at boot time).
You must remember that the INT 224
& 225 vectors are considered part of a
process's environment and are therefore saved and restored on each task
switch. Also remember that a new
process inherits the INT 224 & 225
vectors of its parent (the process
which created it - in our case,
SHELL).

MICRO CORNUCOPIA, #29, April-May 1986

1037 E. Lemon Ave:
Monrovia, CA 91016
(818) 357-0566

as CCP/M. In these cases however,
you'll have to save the old vector (INT
224 for CP/M and INT 21h for MSDOS) since there's no duplicate in the
interrupt tables in low memory (of
course, you could PUT one there if
you wanted ... ). Some really nice
Sidekick-like programs that wouldn't
be IBM dependent could be created
this way, although for something like
Sidekick you'd need to do a "terminate but keep" system call so the
intercept code would stay in memory
while allowing you to go back to the
command interpreter.
This is done in CP/M by executing
system call 0 (Terminate Process) with
register DL set to a 1.'
In MS-DOS, use system call 31h
(Terminate but Keep) with register DX
set to the number of paragraphs (1
paragraph "'" 16 bytes) you· want to
keep.
If you want to put an intercept
routine in memory and return to the
command processor in Concurrent CP/
M, after initializing the intercept vector

just release the console (function 93h),
set the process's priority (function 91h)
to OFFh (as low as it goes), and then
do a "console attach" function (92h)
which will effectively cause the
process to be indefinitely (a fancy way
of saying "forever") suspended.

5. Log all accesses to a "sensitive"
document (as well as making everyone
log on to the computer) so you can tell
who's been peeking.
·The list goes on and on, so go out
there and DO SOMETHING!

Some Ideas
Intercept routines could be used for
much more than silly calculators (the
TI on my desk works just fine) and
ASCII tables (in the Z80 opcodes booklet, thanks). Some ideas of what to do
with them:
1. Create new (B)DOS calls for
things like extra 110 devices and fancy
line input system calls.
2. Enhance existing system calls, for
instance encrypting all output to a file
according to a password.
3. Check an appointment calendar
every time a system call is made to see
if you're forgetting something.
4. Allow suspending the current
program to run another upon input of
a certain "wake up" key.

The End (Finis)
No more now. Next time we'll get
back to SHELL. I finally have Microsoft's MASM and DRI's RASM. I
might have a few words comparing
them; too.
I'll also have some stories to tell
about Taiwanese computers and manufacturers. We just got our first computer from Taiwan out of customs
today, and I'm sure by the time I sit
down to draw up the next column I'll
have lots of great (horror) storie~ to
tell.
Until then: Gule Gule, Au Revoir,
catch you on the rebound, later on,
peace baby, good bye.

THE PROVEN
MICRO FAMILY

UAlmost a Sidekick for CP1M"
Ted Silveira-Computer Currents, Aug. 27, 1985

uWHM is-ingenious and works as intended"

for all the

Jerry Pournelle, BYTE Magazine, Sept. 1985 (c) McGraw-Hili

INDUSTRY
APPLICATIONS

Now available for CP/M 2.2, CP/M 3.0 and ZRDOS!
The convenience of Sidekick on your CP/M machine! Trigger
Write-Hand-Man with a single keystroke and a window pops open
to run desk accessories. Exit Write-Hand-Man and both the screen
and program are restored. Use with any CP/M program and most
any CP/M machine. Takes only SK of memory.

•

FEATURES

•

BONUS

Notepad for quick notes
Appointment calendar
HEX calculator

File and Directory viewer
Quick access phone book
14 digit decimal calculator

Add applications written by you or others! No other "Sidekick"
lets you add applications. Dump screens, setup printers.
communicate with other computers, display the date and time.
let your imagination run wild!

$49.95

(California residents add tax), shipping included. COD
add $2. Sorry, no credit cards or purchase orders. 30 day guarantee.
Formats: 8 inch IBM, Northstar and most 5 inch (please specify).
Write-Hand-Man only works with CP/M 2.2, ZRDOS and CP/M 3.0
(please specify). Simple terminal configuration required. Not available for TurboDOS. Compatible with keyboard extenders, hard
disks, and other accessories.

Poor Person Software
3721 Starr King Circle
Palo Alto. CA 94306
415-493-3735
Trademarks: Write-Hand-Man Sidekick-Borland International

Poor Person Software, CP/M-Digital Research.

OKAY???

•
•
•
•
•
•
•
•
•

•

111111

SLICER®

SLICER S.B.C. W 80186 CPU, 256K Ram, 32K Eprom, 2·RS232 Ports, SASI
& Floppy Ports.
A&T . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . • . $695.00
128K Ram . . . . . . . . . . • . . . . . . . • . . . • . . . . . • . 595.00
No Ram " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • 495.00
1 MEG Memory/Port Exp. Board, up to 1 MEG additional Ram, 4 additional
Serial Ports, Real Time Clock with Batt. Backup. A&T • . . . . . . $495.00
PC Exp. Board, Monochrome Video & Keyboard Port, Spec. Graphics &
Card Slots available, 8 pages of Video Memory. A&T . . . . . . . . $495.00
8087 Math Co'Processor Board (without 8087 & C·Step CPU). A&T • 300.00
10MB Hard Disk Y..H 5W' . . . . . . . . . . . • . . . . . • . . • . . . • • 550.00
WD 1002SHD Controller Board . . . . . . . . . . . . . • . . . . . . . . 200.00
SLICER Enclosure, 135W Power Supply, Floppy & Hard Disk Drives &
Misc. Support Hdwe . . . . • . . . . • . . . . . . . • . • . . . • . . . . . . . Call
CP/M·86 (Digital Research Inc.) . . . . . . . . . . . . • . . . . . . . . $ 85.00
CCP/M (Digital Research Inc.) . . • . • . . • . . . . • . . . . . . . . . • 250.00
MS DOS (Micro·Soft Corp.! . . . . • . . . • . . . . . . . . . . • . . . . 175.00
NEWII M.A.C. & P.I.C. 80186 Boards ..• Used as Stand Alone or with SLICER
for Motion & Programmable I/O Control. M.A.C. is Multi·Axis Control Board
which controls up to 4 Analog Outputs and 4 Incremental Encoder
Inputs . . . . . . . . . . . . . . . . • . . . . . . • . . . . . . . • . . . . . • . Call
P.I.C. Programmable Interface Control Board, 32 Inputs and 24 Outputs,
32KB Eprom, 4K Static Ram . . . . . . . . . . . . . . . . . . . . . . . . . Call

SLICER COMPUTERS INC.
2543 Marshall Street N.E.
Minneapolis, MN 55418

(612) 788-9481
BBS (612) 788-5909

MICRO CORNUCOPIA, #29, April-May 1986

71

Porting A 68000 Assembler
To The Atari ST

By Robert G. Brown
53 Cliff Lane
Levittown NY 11756
(516) 935-2240

An introduction to 68000 assembly language.

This is as good a look at 68000
addressing modes as I've seen. Bob
looks at this from the inside as he
defines how he's handling addressing
with his assembler.
If you're thinking of moving from
the 280 or 8088 to the 68000 environment, definitely check this out.

A

bout a year ago, I decided to
learn more about the 68000. I
knew the Z80 inside out, and
the 8086 family didn't seem to be
much of an improvement on the Z80.
Unfortunately, at that time the Macintosh was the only inexpensive 68000
system around, and is very much a
closed boxed. HSC made a co-processor board that I could stick into my
Kaypro, but I already had the copower board, and co-processor boards
don't allow much interaction with system hardware (since the system hardware is really the old Z80 hardware).
My First 68000 System
I decided to build a small 68000
single board computer (similar to the
one in the Jan. 1984 BYTE) and wait
for the under-$1000 system that Atari
was just beginning to announce in the
trade journals.
I needed an assembler for my little
68000 board. But assemblers are expensive, so I decided to write my own
in C. Besides the cost savings, what
better way to learn the· instruction set
of a microprocessor than to write an
assembler for it? Also, by writing it in
C I could port it to the Atari system if
and when it became available.
68000 Registers
The 68000 is very much a programmer's processor compared to the Intel
and Zilog CPUs. It contains 8 general
purpose data registers (DO to D7)
which are functionally interchangeable. (There is no distinction between
any of the data registers.)

72

There are 7 standard address registers (AO to A6) plus A7 which holds
the stack pointer. All registers are 32
bits, and data may be moved between
registers in 32-bit (long word), 16-bit
(word), and 8-bit (byte) chunks.
Addressing Modes
In addition to its large number of
general purpose registers the 68000
has a wide variety of addressing
modes (for specifying the source and
destination of an instruction). Deciding
how to best use these was my first
problem.
The basic addressing modes are pretty simple and are similar to most
CPUs. The most basic mode is register
direct - the source or destination
operand is a register. For example:
move.1 dO,dl
moves a long word (signified by the .1)
from register dO to register dl. Note
that the operand order is source, destination the opposite of 8080, Z80, and
8086 assembler. In the case of register
direct addressing the operands may be
either data or address registers.
The immediate data mode is also
common to most CPUs. In this mode
the source operand is part of the
instruction. For example:
move.b #10,dO
moves a byte (signified by the .b)
value of 10 into the lower 8 bits of
register dO. (The # indicates an immediate operand.)
Absolute Addressing
The 68000 has two versions of the
absolute addressing mode.
In the absolute long addressing
mode a 32-bit address is specified as
part of the instruction. For addressing
data in the upper or lower 32K of
address space the absolute short addressing mode may be used. In that

MICRO CORNUCOPIA, #29, April-May 1986

case a 2' s compliment 16-bit integer is
specified as part of the instruction,
which is sign extended to 32 bits and
used as the address of the operand.
For example:
move.11000.w,100.1
moves the long word at address 1000
to address 100. The .W and .1 in the
operand fields indicate the short and
long addressing mode respectively.
Another standard type of addressing
mode is address register indirect in
which the operand is at the memory
location pointed to by an address
register. For example:
move.w (aO),(al)
moves a word (signified by the .w)
from the location pointed to by aO to
the location pointed to by a1.
Addressing Variations
There are several· variations of address register indirect addressing on
the 68000. Address register indirect
with postincrement is one variation. In
this case the operand is at the location
pointed to by an address register.
After the operand is fetched or stored,
the address register is incremented by
the length of the operand. (This is
similar to the action the Z80 stack
pointer takes on a POP instruction.)
For example:
move.b (aO) + ,(al) +
moves a byte (signified by the .b) from
the location pointed to by aO to the
location pointed to by al. Then the
values contained in aO and al are
incremented by 1.
The address register with predecre.ment is the exact opposite of the
preceding mode. In this case the register decremented by the length of the
operands and the operand are fetched
or stored from the new location point-

ed to by the address register. (This is
similar to the action the Z80 stack
pointer takes on a PUSH.) For example:
move.l -(aO),-(al)
decrements aO and al by the length of
a long word (yes, that's right - .1
means long word), 4, and then moves
the long word pointed to by aO to the
location pointed to by al.
Yet another mode is address register
indirect with displacement. In this
mode the operand is found at the
address created by summing the value
in an address register with a sign
extended 2' s compliment 16-bit integer
displacement. (This is similar to the IX
and IY registers of the Z80.) For
example:
move.w 10(aO),-10(a1)
moves a word from the memory location 10 greater than the value in aO to
the location -10 bytes away from the

• •.
•.
• ..
•••••
..••••••••••••••
.... : ...:

•
•
•.......:
••

••
:• •:

location pointed to by a1.
The final address register mode is
the address register indirect with index. In this mode the location of the
operand is the sum of an address
register, a signed extended 8-bit 2's
compliment integer displacement and
an index register. The index register
may be either an address or data
register and can be specified as the full
32-bit register or the lower 16 bits (sign
extended to 32 bits). For example:

address could be a straight numeric
value or a label. For address register
with displacement and address register
with index, the displacement value
could be specified by a symbol or by a
direct numeric value.
The last two 68000 addressing modes
are program counter relative, and it
took a while to figure out how they
should be implemented. I wanted my
implementation to make sense and to
be compatible with other 68000 assemblers.

move.w 10(aO,dO.w),100(a1,a6.l)
calculates the source address from the
value in aO, plus the sign extended
value of the lower 16 bits in dO, plus
10. Then it calculates the destination
address from the value in aI, plus the
value in a6 (full 32 bits), plus 100.
Then a word is moved from the source
to the destination address.
Assembler implementation of the addressing modes described so far is
pretty straightforward. With the absolute addressing modes, the absolute

• •••••

The Program Counter
The program counter with index
addressing mode is very similar to the
address register with index addressing
mode except the program counter is
,used instead of an address register.
The address of the operand is determined by adding the value in the
program counter with a sign extended
2' s compliment 16-bit index.
Forcing the programmer to specify
(continued next page)

iter

:•

.....
•

..... :•.....

For only $59 extra

a

a

a

this high
quality buffer
gives you so much MORE
• Upgrade dot matrix .printers·. to letter quality
• Over·1 00 typestyles
• Double underUning, highlighting, inverse printing and right justification
• Foreign alphabets, scientific and mathematical characters

2

(C::lb:

.••• : :

••......•..

·F~rfl1oreinformCition.~ClII • 1}tlP()-222-9073d704}S25~4423.

\, .. o,r;.Write:.f318Jy.v()\ci.&d4:jP,(t~Chpr.lotte/J~C:78~lO ....•. :.:::,.;
~, .~.: I: "~~>,~ t~,

~"

.,"

~~ ~

'<

,

,~

MICRO CORNUCOPIA, #29, April-May 1986

73

ATARIST
(continued from page 73)

an index to an address register makes
sense because of the way address
registers are used, but to implement
the index the same way in a program
counter relative mode doesn't make
sense.
The usefulness of counter relative
mode is its ability to access data that is
within 32K of the current address
more quickly than the absolute long
addressing mode (only a 1 word index
must be read compared to a 2 word
address) and to access that data in a
manner that is totally code position
independent. So I implemented this
mode like so:
move.w LABEL(pc),dO
In operation the word located at
address LABEL is moved to register
dO. The assembler calculates the index.
This works the same as:
move.w LABEL.l,dO
with the differences being that the
LABEL(pc) mode is slightly faster, the
code produced using the LABEL(pc)
mode may be loaded at any address,
and in the LABEL(pc) case, LABEL
must be within plus or minus 32K of
the current address.
Program Counter With Index
The program counter with index
addressing mode was implemented in
the, same manner. In this mode the
operand address is the sum of the
value of the program counter, signed
extended 8-bit 2' s compliment integer
displacement and an index register.
The index register may be either an
address or data register and can be
specified as the full 32-bit register or
the lower 16 bits (sign extended to 32
bits). For example:

Whew! .
After finishing the 68000' s addressing modes and deciding what pseudo
operations were most useful (I implemented define space, define constant,
define constant block, ORG and EQU
directives) the assembler started to
come together. I wrote the boot code
for my single board, ROMed it, and
played with some simple routines.
Changing The Assembler For The ST
When my ST and development
package arrived I knew I'd have to
make several changes before my assembler would run on the ST.
The first change was one I had
anticipated. The order of bytes in
word and long word data on the 68000
is opposite of the Z80 and 8086. The
68000 stores data with the most significant byte (MSB) first (the Z80 stores
the LSB first). In the Z80 version of
the assembler all words and long
words had to be flipped before being
written to the object file. This code
had to be rewritten for the 68000.
The rest of the changes had to do
with the executable file format the ST
uses. The ST operating system is
GEMDOS which has many similarities
to CP/M 68K and MS-DOS, with the
addition of graphics support.
In CP/M 80 an executable (.com) file
is an object file that always loads and
runs from address 100 Hex. In GEMDOS the file must be able to load and
run at any address. This allows the
operating system to reside in lower
memory but not be restricted to a
certain size. It also makes multitasking
possible (eventually).

move.l LABEL(pc,dO.l),dl
moves a long word to register d1. The
source address is the sum of the
address LABEL and register dO. The
assembler calculates the index from
the difference between the current
address and LABEL. LABEL must be
be within + 129 bytes and -126 bytes
of the start address of the instruction.

74

MICRO CORNUCOPIA, #29, April-May 1986

Each executable file begins with a
header, see Figure 1 for format.
As indicated by the header information, a GEMDOS executable file may
. contain up to 4 segments. The first is
. the text segment; it contains all the
code. The second is the data segment;
it contains the initialized data. Both
the text and data segments occupy
disk space, and in the case of the
68000 there is no need to distinguish
between these two segments.
I believe that the separate definitions
of these segments is due to the 8086
segmented addressing. In the case of
the 8086 the data segment register
would have to be set to point to the
start of initialized data. For my 68000
assembler I elected to have only the
text segment, since initialized data can
also be stored there.
The third segment is the bss (block
storage segment), which reserves storage for initialized data. Unlike most
Z80 assemblers where DS directives
take up disk space, the DS directives
within the bss take up no disk space;
they only reserve memory space. This
directive is implemented on my assembler as a one-time option - once the
bss directive is turned on, it stays on
to the end of the file.
The forth segment is a symbol table.
It's only necessary if the assembler
produces linkable files. This assembler
does not so there is no symbol table.
Following the header come the text
and data segments (and symbol table
if it exists). At the end of the file is the
file relocation information.
When an executable GEMDOS file is
loaded into memory, the relocation

information is used to adjust the file
for execution at its load address. The
relocation information indicates the
relative address of long words in the
text segment. These must be adjusted
for the load address of the file. A
simple example should make this need
somewhat clearer. The useless program:
start

nop
jmp
end

start

• do nothing
*jump to start

is your basic endless loop. A nop is
executed followed by a jump to the
nop.
,if this were assembled to run at
address 000000 the label start would
have a value of O. If this program were
loaded at address 1000 all references to
start would have to be adjusted to
have a value of 1000. In this case the
long word in the jump instruction
would have to be adjusted to 1000.
The relocation information has to
indicate that byte 4 in the program

<\1\l~f?

component supply. inC

VVVV

(the nop is at bytes a and 1, and the
opcode for the jump is bytes 2 and 3)
is a long word that must be adjusted
for the load address.
Writer's Rules
This presents a problem for the
assembler writer - what should be
relocatable? After much thought I devised a set of rules that I think
properly covers most circumstances .
1. Any expression that contains the
current address operand (*) is not
relocatable. My reasoning is that the *
operand is only useful in expressions
where a difference is taken between a
label and the current address, producing a relative address, that should not
be adjusted on loading.
2. All expressions that refer to a
program label (even indirectly, for example: symbol equ label + 2) are relocated.
3. All other expressions are not
relocatable. This allows a programmer
to access an absolute address (via
symbol).

1771 Junction Ave. • San Jose, CA 95112· (4081295-7171

Addressing Mode Restrictions
The relocation of files at load time
places some restrictions on the use of
some of the 68000 addressing modes.
1. The absolute short mode may not
be used to reference a label. The
assembler defaults to the absolute long
mode unless explicitly specified.
2. The program counter relative addressing modes may not be used to
reference absolute addresses.
Finally
Now that I have the assembler working I may turn my attention to modifying Small C to run on the ST. I would
like to hear from any Micro C readers
who are doing anything with Small C
for the 68000 or are working with the
ST.

Hours: 10:00 am - 5:00 pm / MON-FRI

Shipping charged on all orders. Minimum order: $15.00. Please call on all orders as items are limited to quantities on hand.
Prices subject to change without notice. C.O.D., Prepaid or Master Card or Visa orders only.
NO OPEN ACCOUNTS / NO FOREIGN ORDERS, PLEASE!

POWER SUPPLIES:
ACOC OEM 5N17-1, 5V@17A,
10"x5"x5",14Ibs.
$45.00
Trygon LBS6-24-0V, 4.8-6.8V@24A,
6"xl7"x8",36Ibs.
$60.00
Lambda LXS-0-5-0V, 5V@27.5A
7Yz"x7Yzx9Yo.",22lbs.
$60.00
Sorenson SS09-50, 9V@50A switcher,
7W'x5 Yz"x12W', 131bs.
$175.00
. Standard Power 200 B 12, 12V@5A
unregulated 4Yz "x8Yo. "x5Yz", 121bs.
$20.00
ACOC 15N5-1, 15V@5A, 10"x4"x5",6Ibs. $75.00
Standard Power 200 B 16, 16V@12.5A
unregulated4Yz"x8Yo."x5Yz",12Ibs.
$15.00
Sorenson SLC20-5, 20V@5A,
5Yo."x3Yz"x8Yz",4Ibs.
$40.00
Sorenson SS024-8.5, 24V@8.5A
5W'x3 Yz"xl0", 5lbs.
$90.00
Astec AAl1261, 5V@6A 28V@lA,
unregulated switcher, 7 Yz"x4 Yz "x2"
$50.00
130W power supply, IBM PC compatible $140.00
HB5-3, 5V@3A Linear, 4"x5"x2"
$15.00
CP411,5V@8A, -5V@3A, + 12V@1.2A,
-12V@lA, +24V@2.5A, 5A(surge)
16Yz"x5"x3" Linear, (Good for 8" Hard
Disks, and 5 ~ " Floppies)
$35.00
CP417, 5V@4A, 12V@2.5A(Avg.)
7.5A(Surge) Linear, 8 Yz "x5"x3"
(Good for 5 ~ " Hard Disks)
$50.00
ACOC, 551-111, 5V@8A, ± 12V@1.7A
Linear, 11"x5"x3" (Goodfor5~"
Floppies, or Low Current Hard Disks)
$35.00
Osborne Power Supply + 5V@2.5A,
+ 12V@2.02A, -12V@.lA Switcher,
$18.00
6 Yo. " x4" x2" (Good for 5 ~ " Flopies)

DISK DRIVE BONANZA:

DISK DRIVES:

DISK DRIVES:

NEW

SURPLUS Tandon TM501-full ht.,5 megabyte formatted.
One platter, two heads, access: 85 msec.,
612 tracks, 306 cylinders, + 12V@ 1.5 A
typical, 5 max., 5 V@ .8A
$119.00
SURPLUS Tandon TM502-full ht.,10 megabyte formatted.
Two platters, four heads, access: 85 msec.,
1,224 tracks, 306 cylinders
$225.00
SURPLUS TM 503-full ht., 15 megabyte formatted.
Three platters, six heads, access: 85 msec.
$340.00
1,836 tracks, 306 cylinders

NEW

Tulin TL226-half ht. 20 megabyte

$96.00
$200.00

$500.00
$800.00

NEW

Tulin TL240-half ht., 32 megabyte

NEW

Microscience H H725- hlf. ht., 20 megabyte $512.00

NEW

Microscience HH612-hlf. ht., 10 megabyte $380.00

NEW

TEAC SD510, half ht., 10 megabyte,
requires 130WpowersypplyforP.C.

$380.00

NEW

Shugart SA455/Panasonic JA55112N5 y..", half height, 48TPI, 40 track,
6 msec. double sided

$ 99.00

NEW

TEAC FDS5BV-48 TPI, 40 track,
6 msec., half height, double sided

$109.00

NEW

TEAC FD55FV-Sy.. .. , half height, 96TPI,
$149.00
80 track, 3 msec., double sided

NEW

TEAC FD55 GFV-AT -5 y. .. , 1.2 megabyte
floppy for IBM PC-AT
$175.00

NEW

TEAC FD35F-3 W', 80 track, 135 TPI,
double sided

CASES WITH POWER SUPPLIES:
For one full ht., or two half ht. 5 y.." floppies.
For one full ht. or two low pwr. half ht. hard disks.

HARD DISK CONTROLLER CARDS:
NEW

$180.00

DTC 5150 BX, for IBM PCWithout Data Cables
With Data Cables

$185.00
~195.00

NEW

DTC 5250-will run two 5 y.. .. floppies and two
5 y.." hard disks. For example two TEAC FD55B,
one Microscience HH725 20 megabyte fixed
hard disk, and one Syquest SQ306R
5 megabyte removable hard disk.
$360.00

NEW

DTC 5290-For IBM PC,,A,T, will run
5 y.. .. floppies and hard disks

NEW

Western Digital WD1002-WX2-for IBM PC
Without Data Cables
$170.00
With Data Cables
$180.00

NEW

WD Wl002-WA2-for IBM PC-AT
Will run 5 y.. .. floppies and hard disks

SURPLUS TM 602S-full ht.,5'" \)'1' )yte formatted.
Twe platter SO\.O 0 _, dccess: 99 msec.
612 tracks, 1 _ "yllnders
$ 95.00
SURPLUS Tandon TM 603SE-full ht., 11 megabyte formatted.
Three platter, six head, access: 137 msec.
1,380 tracks, 230 cylinders
$225.00

(continued)

TEAC FD35E-3 'h", 80 track, 135 TPI,
single sided,
$168.00
SURPLUS Shugart SA450-5 y.. ", full height, 48 TPI,
40 track, 25 msec. track to track,
double sided
$ 75.00

$325.00

$299.00

* All drives with asterisk are compatible with the IBM

peTM as
360K or 380K drives. Half height drives may required mounting
brackets or filler plates not supplied with the drive.
When ordering controller cards please indicate the model of
drive you will be using, and the number of heads, cylinders and
formatted capacity of the drive.
All drives carry a gO-day guarantee.

GAVILAN PARTS:
32K RAM Capsules
64K RAM Capsules (no plastic)
Thermal Paper
Boot Rom Board with 56K Ram Orive
Printer Battery Packs

20.00
40.00
3/100.00
3.50
65.00
13.00

MICRO CORNUCOPIA, #29, April-May 1986

75

Uttle Board™•••• $149

The World's Least Expensive CP/M Engine

CP/M 2.2

~I

INCLUDED

(continued from page 2)

/

~"

W/
SCSI

OPllON

• 4 MHz Z80A CPU, 64K RAM, Z80A
ac, 4-32K EPROM
• Mini/Micro Floppy Controller
(1-4 Drives, Single/Double Density,
1-2 sided 40/80 track)
• 2 RS232C Serial Ports (75-9600 baud
& 75-38, 400 baud), 1 Centronics
Printer Port
• Power Requirement: +5VDC at .75A;
+ 12VDC at .05A / On board -12V
converter
• Only 5.75 x 7.75 inches, mounts
directly to a 5-1/4* disk drive
• Comprehensive Software Included:
• Enhanced CP/M 2.2 operating

system with ZCPR3
• Read/write/format dozens of
floppy formats (IBM PC-DOS,
KAYPRO, OSBORNE, MORROW ... )
• Menu-based system customization
• Operator-friendly MENU shell
• OPTIONS:
• Source Code
• TurboDOS
• ZRDOS
• Hard disk expanSion to 60
megabytes
• SCSI/PLUST. mUlti-master I/O
expansion bus
• Local Area Network
• STD Bus Adapter

BOOKSHELFTM ~'CitZ~ 700
Fast, Compact, High Quality, Easy-toouse CP/M System

Priced from
$895.00
10MB System
Only $1645.00

• Ready-to-use professional CP/M
computer system
• Works with any RS232C ASCII
terminal (not included)
• Network available
• Compact 7.3 x 6.5 x 10.5 inches,
12.5 pounds, all-metal construction
• Powerful and Versatile:
• Based on Uttle Board
single-board computer
• One or two 400 or 800 KB floppy
drives
• 10-MB internal hard disk drive
option

• Comprehensive Software Included:
• Enhanced CP/M operating system
with ZCPR3
• Word processing, spreadsheet,
relational database, spelling
checker, and data encrypt/
decrypt (T/MAKER lilT.)
• Operator-friendly shells; Menu,
FriendlyT.
• Read/write and format dozens of
floppy formats (IBM PC-DOS,
KAYPRO, OSBORNE, MORROW ... )
• Menu-based system customization

DISTRIBUTORS
ARGENTINA: FACTORlAL, SA, (1) 41-0018,
n.x 22408 BELGIUM: CENTRE
ELECTRONIQUE LEMPEREUR, (041) 23-4541,
n.x 42621 CANADA: DYNACOMP
COMPUTER SYSTEMS lID., (604) 872-7737
ENGLAND: QUANT SYSTEMS,
(01) 253-8423, TlX 946240 REF:19003131
FRANa: EGAL+, (1) 502-1800, n.x 620893
SPAIN: XENIOS INFORMATICA, 593-0822,
n.x 50364 AUSTRALIA: ASP

MICROCOMPUTERS, (613) 500-0628
BRAZIL: CNC-DATA LEADER LJDA,
(41) 262-2262, n.x 041-6364 DENMARK:
DANBIT, (03) 6&20-20, n.x 43558
FINLAND: SYMMETRIC OY, (0) 585-322,
TlX 121394 ISRAEL: AlPHA TERMINALS,
lID., (3) 49-16-95, TlX 341667 SWEDEN:
AS AKTA, (08) 54-20-20, TlX 13702 USA:
CONTACT AMPRO COMPUTERS INC.,
TEL: (415) 962-0230 TELEX: 4940302
IBM®, IBM Corp.; Z80A®, Zilog, Inc.; CP/M®,
Digital Research; ZCPR3'· & ZRDOS'·,
Echelon, Inc.; Turbo DOS®, Software 2000,
Inc.; T/MAKER III'·, T/MakerCo.

COMPUTERS. INCORPORATED

67 East Evelyn Ave .• Mountain View. CA 94041 • (415) 962-023 O. TELEX 4940302

76

EDITORIAL

MICRO CORNUCOPIA, #29, April-May 1986

head for the slopes (or dinner), but on other days, 5 pm
will see a discussion so hot that it won't let up until
hungry mates start calling in missing-writer reports.
Latest topics have included: Private Domain, choice of
articles (a lightly camouflaged way of discussing where'
we are going), how to increase circulation, what happened to all the drives, how to let people know that a
particular company is particularly supportive or particularly otherwise.
Real answers don't show up very often, but the
discussions are as good as those I remember in philosophy class. Philosophy was a great class.
Articles
Lately, the hottest topic has been article selection
(magazine direction). A year ago, a hardware mod to a
Big Board was in, automatically. Now, it has to be very,
very good.
Then, an inside look at CP/M 80 was a sure fire hit;
now we check to see if there's a way to generalize it so
owners of other systems can use the information. We're
moving, feeling our way, and trying to keep up with the
new, while maintaining reasonable support for the old.
Of course, when you get involved in a new system it
takes some real effort up front. If the system turns into a
slackwater pond, far from the mainstream, then it may
well be a loser for us and for our readers who've
purchased the system.
But it's not all cut and dried (an old fishing cliche).
When you're sitting right up front, it's often difficult to
know what's going to become a full blown river and
what's going to dry up. For instance, should you develop
software for the Commodore Amiga or the Atari ST?
Both? Neither?
In The Beginning
I started Micro C to support a single board computer
kit called the Big Board. When you bought the Big Board
you got a board and a bag full of parts. It was definitely a
do-it-yourself system, but it wasn't a backwater system.
Once all those parts were together (properly) they ran
CP/M.
Now there are many board-level computers; some
make sense, some don't.
Choices
An engineer takes a calculated risk when he designs a
computer around a new operating system_ If the operating system becomes popular and he has one of the first
systems, then he could be immensely successful. If he
chooses wrong, then he (and his early customers) could
lose a lot of time and money.
The Slicer designers assumed that CP/M 86 would be a

Little Board™/186 ••••

$495

High Performance, Low Cost PC-DOS Engine
Boots IBM PC-DOS

(not Included)

popular operating system, and for a short while it looked
like they were right. After all, if straight CP/M 86 weren't
going, there would soon be the concurrent version which
would run MS-DOS software and support multiple tasks.
However, the hottest, fanciest packages were written
by people who thought hardware was part of the
operating system (see the C column in this issue). So
even a system that supports generic MS-DOS has been
left out. What can the generics run? A few compilers,
assemblers, and an odd applications program or two.
The X-16 was the Slicer designers' response to the
problems with the Slicer (which is still a nice machine if
you don't need to run clone software). The Slicer
graphics board, their first attempt at compatibility, hasn't
really been PC compatible.
New Processors, New Problems
Now, of course, we're including all kinds of new
processors and operating systems. That means we've
greatly expanded what we can talk about.
But what happens when someone comes up with an
article about an assembled and tested single-board 68000
computer that runs OS-9? What's available for OS-9? A
few compilers, assemblers, and an odd applications
program. 05-9 has been around for a while and it has a
lot to offer, but it's definitely a backwater operating
system.
Do we just run articles about the PC, the Amiga, or the
Atari ST? Nope. But until the 68000, for instance, gets a
viable standard operating system (perhaps mimicking the
Atari), it doesn't make sense for us to spend much time
with expensive assembled and tested 68000 boards that
run very little.
So what are we interested in? A build-it-yourself 68000/
32032/80386 (or whatever) system. Even if you don't
actually build it, the information about design and
construction with one of the newest processors should be
very enlightening.
And if you do build it, the experience alone will be
worth the price of admission. If it also supported a
standard operating system, graphics, sound - ran
bunches of software - that'd be a real bonus.
But that's not all. Some folks are taking standard
systems and going one step farther, e.g. the Definicon
Board. Others are finding really inexpensive ways to
build compatible systems without paying homage to Big
Blue. There's really a lot to learn and much to do (about
something) .
Concurrent CP/M
Every operating system has its supporters, and it seems
(continued on page 79)

• Three times the COMPUTING POWER of
aPC
• Data and File Compatible with IBM PC,
runs "MS-DOS generic" programs
• 8 MHz 80186 CPU, DIM,
Counter/Timers, 128/512K RAM zero
wait states, 16-128K EPROM
• MinI/Micro Floppy Controller
(1-4 Drives, Single/Double DenSity,
1-2 sided, 40/80 track)
• 2 RS232C Serial Ports (50 -38,400
baud), 1 Centronics Printer Port
• Only 5.75 x 7.75 inches, mounts
directly to a 5-1/4" disk drive
• Power Requirement: + 5VDC at 1.25A;
+12VDC at .05A; On board -12V
converter

• SCSI/PLUS'· multi-master I/O
expansion bus
• Software Included:
• PC-DOS compatible ROM-BIOS boots
DOS 2.xand 3.x
• Hard Disk support
• OPTIONS:
• Expansion board with:
• 128 or 512K additional RAM
• 2 Sync/Async RS232/422
serial ports
• Battery backed Real Time Clock
• 8087 Math Co-Processor
• Buffered I/O Bus
• STD Bus Adapter
• Utilities source code
• TurboDOS I NetwOrking

BOOKSHiLFTM ~'llfZ~ 200
Fast, compad, high quality, versatile PC·DOS system
Three times the COMPUTING POWER ot a PC

Priced from
$1295.00
10MB System
Only $1945.00
• Data and File compatible with IBM
PC-DOS 2.x and 3.x
• Runs "MS-DOS generic" programs
(Dbase II, Multiplan, Wordstar,
Supercalc 2, Turbo Pascal, Fortran 77,
Microsoft C, Lattice C, IBM Macro
Assembler, Intel compilers & tools,
GW BaSiC, etc...... )
• Works with any RS232C ASCII terminal
(not included)
• Compact 7.3 x 6.5 x 10.5 inches,
12.5 pounds, all metal construction
• Based on Little Board/186
• 512K RAM,no wait states
• Two RS232 serial ports
• One Centronics printer port
• One or two 360 Kb floppy drives
• 1OMS internal hard disk drive option

Software Included:
• PC-DOS Compatible ROM-BIOS boots
DOS 2.xand 3.x
• Hard Disk Support
• T/Maker 111- Word processing,
spreadsheet, relational database,
spelling checker, and data
encrypt! decrypt
Expandable:
• Floppy expanSion to four drives
• Hard disk and tape expansion
• SCSI/PLUS'Y multi-master I/O
expansion bus

DISTRIBUTORS
ARGENTINA: FACTORIAL, SA, (1) 41-0018,
TLX 22408 BELGIUM: CENTRE
ELECTRONIQUE LEMPEREUR, (041) 23-4541,
TLX 42621 CANADA: DYNACOMP
COMPUTER SYSTEMS lID., (604) 872-7737
ENGLAND: QUANT SYSTEMS,
(01) 253-B423, TLX 946240 REF:19003131
FRANCE: EGAL+, (1) 502-1800, TLX 620B93
SPAIN: XENIOS INFORMATICA, 593-0B22,
TLX 50364 AUSTR.WA: ASP

~P=u:l

COMPUTERS. INCORPORATED

MICROCOMPUTERS, (613) 500-0628
BRAZIL: CNC-DATA LEADER LTDA,
(41) 262-2262, TLX 041-6364 DENMARK:
DANBIT, (03) 66-20-20, TLX 43558
FINLAND: SYMMETRIC OY, (0) 58So322,
TLX 121394 ISRAEL: AlPHA TERMINALS,
lID., (3) 49-16-95, TLX 341667 SWEDEN:
ABAKTA, (08) 54-20-20, TLX 13702 USA:
CONTACT AMPRO COMPUTERS INC.,
TEL: (415) 962-Q230TELEX: 4940302
IBM®, IBM corp.; 80186®, Intel, Corp,;
TurboDOS®, Sottwere 2000, Inc., Dbase II®,
Ashton-Tete; Wordstllr®, Micropro, Inc.;
Supercalc 2®, Sorcim,lnc.; Turbo Pascal®,
Borland, Inti., Inc; Microsoft C®, GW BlIsic®,
Multiplen®, Microsoft, Inc.; l.!Ittice C",
l.!Ittice, Inc.

67 East EveIynAve •• MountainVi~CA94041 • (415)962-0230. TELEX 4940302

MICRO CORNUCOPIA, #29, April-May 1986

77

ERACCO.
KAYPRO EQUIPMENT
9" Amber CRT .............. $39.00
9" Green Monitor ............. 35.00
12" Green Monitor ............ 45.00
81 Series ROM's ............... 7.00
Keyboard (Kaypro) ............ 75.00
Keyboard Siemens w/case ...... 65.00
Wiring Harness ................ 7.50

KAYPRO MAINBOARDS
K2 With Sockets ............. $39.00
K2 Populated - Tested ......... 129.00
K2 with PR08-3 Mod .......... 239.00
This one runs at 2,4 & 5 MHz, up to 4
drives 55, OS, or Quad drives. New ROM
has screen dump and step speed select.
With manual & software, tested and
guaranteed 30 days.

K2 PR08-2 Mod. EXCHANGE ... 149.00
We will update your K2 or K4 as above.
Mail working Main board.

We can install double or quad drives
and check complete package ..... CALL
K10 Populated - Tested ........ 250.00
WD1002-5 Hard Disk Controller
WD1002-5 Hard Disk Controller .200.00
Host Interface Board ............ 5.00

CABINETS
K10 ....................... $45.00
Bottom portion with front and back only.

CRT Bezel ................... 12.00
SUBSTITUTE CABINET
This cabinet has a 12" green monitor on top
that swivels left to right with a 3'position
vertical movement. The base is 16"x18"x5"
and contains a switching power supply. It
has room for the main board, two drives, a
modem and whatever else you want to stuff
in it. It comes with a Siemens keyboard with
case and is programmed like the Kaypro
keyboard with many extra Wordstar and
CP/M commands. The whole cabinet is
color·coordinated and sharp looking. Nobody
will ever suspect this is a Kaypro. Now you
can build the classiest Kaypro computer
ever for less than $550.00. The
complete cabinet is a steal at .... $179.00

MISC. CABLES
9" 50 Pin - 50 Pin Header ...... $2.50
14" 40 Pin - 40 Pin Header ...... 2.25
9" Hard Disk - 20 Pin Header ....,.2.00
14" Duallnline 16 Pin Male (2) ... 2.00
Coiled Keyboard Cable ........... 1.50

Pioneer LD700 Laser Video Disk
Player ................ $299.00
Wireless Remote Control .. 55.00

En",\" \"0.

LOW PROFILE IC SOCKETS

******************
******************'

Bahco Wire Cutter "Swedish" ... 6.95

CPU/SUPPORT

MC68000-8 CPU ............. $12.50
C80186-3 ................... 27.00
C80186-6 .................... 9.00
Z80 CPU ..................... 1.00
Z80A CPU .................... 2.50
Z80A P~G' ..................... 2.50Z80A SiD' .................. '... 5.00
Z80A DMA ................... 10.00
8088 ....................... 10.00
8089-3 ...................... 29.00
08742 CPU/EPROM 12 MHz ..... 20.00
D8284A ...................... 3.00
08288 ....................... 9.00
4164-15. . . . . . . . . . . . . . . . . . . . .. .90
41256-15 ..................... 2.50
41256-12 ..................... 2.75

MODEM
TMS 99532 (Modem) ......... $12.00

FLOPPY CONTROLLER
WD
WD
WD
WD

1791
1793
1797
2797

92111

(619) 569-1864

HOURS: Mon.· Fri. 9·6 - Sat. 10·4
TERMS: VISA, MasterCard, Certified
Checks, Money Order, NO COD. Visa
and MasterCard add 3%. Personal
checks must clear BEFORE we ship.
Include shipping cHarges. California
residents add 6% Sales Tax. For more
info please call - DON'T WRITE! We
don't have time to answer your letters.

78

.................... $9.00
..................... 5.00
..................... 7.00
..................... 9.50

BAUD GENERATOR
WD 8116 ......... .' .......... $4.50

MISCELLANEOUS
UC3524 Sw. Reg .............. $ .85
WD1010 ..................... 20.00
WD1014 ..................... 28.00
WD1 015 ..................... 28.00
MM58167A Clock Chip .......... 5.50
CA301 Op Amp. . . . . . . . . . . . . . .. .35
CA083 Op Amp . . . . . . . . . . . . . . .. .45
2N3055 ....................... 70
2N6852 ...................... 1.00
Voltage Regulators
LM323K + 5V - 3A .......... 4.50
LM78H12 +12V-5A ........ 5.00
6116 2Kx8 Static Ram ........... 1.50

VIDEO CONTROLLER
6545 ....................... $7.00
6545A-1 ..................... 8.00
6845 ........................ 6.00

EPROMS
2716 ....................... $3.50
2732 ........................ 3.75
2764 ........................ 2.25
2764-25 ...................... 3.50

74LS SERIES

8280 CLAIREMONT MESA BLVD .. SUITE 117
SAN DIEGO. CA

8280 Clairemont Mesa Blvd., Suite 117
San Diego, California 92111
(619) 569-1864 Call for our Test Equipment Mailer!

HCOO ....................... $ .35
HCU04 ....................... .40
LS 125. . . . . . . . . . . . . . . . . . . . . .. .40
LS 373 ........................ 60
LS 375 ........................ 60
4073 ......................... 35
7406 ........................ .40

SOLAR CELLS
21/2" x 5/16", .5V .5A ........ $2.25

MICRO CORNUCOPIA, #29, April-May 1986

8 Pin
14 Pin
16 Pin
18 Pin
20 Pin
24 Pin
28 Pin
40 Pin

50 per Tube
25 per Tube
25 per Tube
25 per Tube
20 per Tube
20 per Tube
10 per Tube
10 per Tube

........... $2.50
............ 1.50
............ 2.25
............ 2.50
............ 2.00
............ 2.50
............ 2.00
...... '.' .... 1.60

PRINTERS
Centronics 703 ............. $395.00
CcmtmIJics588 ............ ".225.00
Centronics P1 ............... 105.00
Teretype 43KSR .............. 300.00
NEC 2000 with Single Bin
Cut Sheet Feeder .......... 1200.00
Transtar 315 Color ........... 375.00

S100
CCS 2200 12 slot MF ........ $375.00
CCS 2810A CPU ............. 210.00
2065 64K RAM .............. 250.00
2422 FDC 51/4" & 8" ......... 325.00
2718 I/O 2 Ser., 2 Par ......... 225.00

POWER SUPPLIES
- WALL PLUG-IN TYPE 6VAC - .95A ............ '.' ... $1.35
- LINEAR Condor Model CP731 DC Power Supply
+ 14V-4A. + 5V-7A, ±15V-.5A . $16.00
Power Supply with
Nicad Pack 12V .5AH ......... 6.50
14KV DC/DC TV Power Supply .... 4.50
+ 5V/1A, - 5V/.2A, + 12V/1A,
-12V/.2A, - 24V/.05A ....... 15.00

SWITCHERS
5V-9.5A, 12V-3.8A, 112V-.8A .. $39.00
5V-3A, 12V-2A, 112V-.4A ....... 29.00
5V - 10A .................... 25.00

FLOPPY DISK DRIVES
- 1/3 HEIGHT OkidataDSDD .............. $109.00
Supplied w/sub·panel to make V2 ht.

- 112 HEIGHT - '
Mitsubishi M4853 OS Quad ... $139.00
Qume Trak 1425114" DSDD ..... 99.00
Tandon TM 848-1 8" SSDD .... 149.00
- STANDARD HEIGHT Shugart SA460 OS Quad - As is . $36.00
Shugart SA850 8" DSDD ...... 199.00
Remex RFD4000 ............. 199.00
Persci 277 2x8" ............. 399.00
All Instruction Manuals ......... 10.00

TERMINALS
InterTube II Smart (B&W) ..... $225.00
InteColor 3602 Smart (Color) ... 329.00

MISCELLANEOUS
Headset/Boom Microphone ...... $3.95
Lead Acid 0 Ce!l 2V - 2.5A ....... 1.50
Nicad Pack 12V .5AH ........... 6.50
5 Blade Muffin Fans ............ 7.50
Joystick 4 Switches 1" Knob ..... 5.50
Elgar 400W Unint. Power Sup ... 425.00
16-Pin Component Carrier, Gold . .. .25

WE BRING
ENGINEERS, SCIENTISTS
AND THE IBM-PC
TOGETHER

EDITORIAL
(continued from page 77)

that ·the more out of favor an operating system is, the
stauncher its supporters.
CP/M 86 and Concurrent CP/M (CCPM) have their
strengths, especially CCPM. After all, what else can
handle concurrent processes, be compatible with MSDOS, and costs only $300? (Or has it been dropped to
$60?)
In a way, it's unfortunate that Digital Research hasn't
gotten its due in this lemming world, but then, maybe
it's getting it. After all, who was tanning on the beach
while hundreds of thousands of CP/M 80 users (including
me) were struggling to pony up $150 for a very simple
operating system? For that $150 we received manuals and
support that established new lows for an already unmanualed and unsupported industry.
When I first saw Gary Kildall speak at the West Coast
Computer Faire, Digital Research was riding a wave that
looked unending. Millions of bucks were just rolling in as
regular as the tide. But when IBM went looking for an
operating system for their new PC they found the DR
staff out basking on the sand and MicroSoft folks hard at
work. Also, DR supposedly demanded $400 per copy for
their operating system; MicroSoft was willing to live with
$60. Guess who IBM picked?
Eventually CP 1M 86 died. CP 1M + didn't do much
(especially after DR announced it wasn't supporting it
and wouldn't sell it to individuals). So DR was left with
two orphan operating systems, and CP/M 80. Somehow
it only seems right. After all, what's a wave going to do?
It just cruises along until it runs head first into a beach.
Hello World
Anyone who's had any contact with C can trace his
roots back to "Hello world." The first program in The C
Programming Language by Kernighan & Ritchie displays
this message.
.
Since this book has been the C book since 1978 (really,
the only C book for a good share of that time), just about
every C' er has said hello to the world at least once.
Lately, a lot more people have said their first hellos. C
has replaced Pascal as the language for gurus. When I
was using UNIX systems a few years ago, a lot of my
coworkers were predicting that C would ride to fame and
glory on UNIX's coattails.
But C has made it on its own (compare the number of
C books in the store with the number of tomes aimed at
UNIX). UNIX, if it makes it, will no doubt owe some of
its success to C. There has always been a close relationship between C and UNIX. Dennis Ritchie (the co-author
of the C manual) wrote UNIX for Bell Labs.
In the book, Ritchie comments: "The operating system,

•
•
•
•

12·bit resolution
24·KHz throughput rate
16 channel SE, a 01
LABSTAR Software

•
•
•
•

a·bit resolution
30 KHz throughput rate
16 channel SE, a 01
LABSTAR Software

$490.00

$690.00

IEEE·488 GPIB Multifunction Board
•
•
•
•

Full GPIB controller capability
Three 16·bit interval timers
24 digital 1/0 lines
Software included $495.00

Waveform Synthesizer Board

• Generates user·definable signal
• Up to 2000 points per envelop
• 200 ns maximum output rate per point

$795.00

(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

79

E

X

YOUR
C\?/~

P A N D
Productivity

~Sb

Os

New: The NEe V,20 improved 8088 Microprocessor
-

10A5% increase in speed-just plug it in ., $30.00

Increase Memory ••.
1. Kaypro 16 2S6K~512K Memory Expansion ............ $69.95
2. Kaypro PC 2S6K~640K Memory Expansion ............ $69.95
Both are simple plug~in installations; includes public domain RAM
Disk software and other utility programs

Increase Visibility •••
1. Composite Video Generator adds standard composite monitor
to a Kaypro II or IV ............................. ~ $44.95
2. Composite Video Generator adds an unmodified composite
monitor for Kaypro 1, 2~84, 2X, 4~84, 10 ....... ~ $84.95
3. External Monitor Adapter adds a TTL monitor to a Kaypro 1,
2~84, 2X, 4~84, 10 .............................. ~ $44.95

Increase Programming Tools •••
1. Color Graphics Board gives 16 colors, 32 sprites w/bit~mapped
graphics; requires external monitor or TV; for any CP/M Kaypro
.............................................. ~$130.00
2. Deluxe TLC Logo "turtle" graphics language; for use with color
graphics board .......................................... $129.95
3. Color Board and Deluxe Logo package ... ~ $1 79.95
4. Instant Grapher 2.1 gives labeled bar and line graphs; prints
separate pattern for each color; use with color board only
............................................... ~$29.95
5. Standard TLC Logo "turtle" graphics language uses internal
graphics of Kaypro 1,2-84, 2X, 4-84,10 ......... ~$79.00

Increase Speed •••
1. Electronic RAM Disk and Printer Buffer Combination - the
ultimate add-on for Kaypro I, II, IV, 2X, 2-84, 4-84 & 10 computers.
No longer will you need to wait for your Kaypro to slowly finish
mundane tasks such as running a printer or waiting for floppy drives to
turn when you have better things to do.
Tested RAM Disk without RAM chips ................... $295.00
2S6K RAM Disk ....................................... $345.00
SI2K RAM Disk ....................................... $395.00
768K RAM Disk ....................................... $445.00
1MB RAM Disk ........................................ $495.00
Prices include all iristallation materials except for PIO Adapter
Board required for Kaypro law/out an external modem and optional
on 1, 2~84, 2X, and 4-84.
2. Kaypro II to IV Upgrade includes 2.5 Mhz to S Mhz speed up,
two 390K disk drives (DSDD) to replace the single sided drives; price
does not include shipping................................ $395.00

*

Increase Challenge and Excitement •.•
Infocom's Interactive Adventure Games give hours of fun and
education at a variety of skill levels. Old favorites and new releases.
$5.00
Off Suggested
Retail
CATALOG and COMPLETE DESCRIPTIONS AVAILABLE
lOO's OF SOFTWARE LISTINGS FOR CP1M NOW AVAILABLE

MicroSphere, inc.
P.o. Box 1221
Bend, Oregon 97709
503-388-1194

80

MICRO CORNUCOPIA, #29, April-May 1986

EDITORIAL
(continued from page 79)

the C compiler, and essentially all UNIX applications
programs ... are written in C."
Hang on while I see if any of my eggs have laid
chickens. We're obviously dealing with another case of
immaterial conception (or was that immaculate deception?).
Despite its dubious beginnings, C has become the
langaage of fanatics. e experience just about guarantees
you a following (and a meal ticket) - and a C'er with
artificial intelligence (inherited or otherwise) isn't safe on
the streets, what with head hunters and all.
C Vrs. FORTH
In some ways, C carries some. of the same fascination
as FORTH. FORTH is a language for insiders, because to
the uninitiated it looks like pig Latin. e can be just as
opaque.
FORTH forces you to understand what's going on
inside the machine .. e encourages the same.
Fortunately, however, e doesn't have to be obtuse.
And, in fact, its conciseness can make the code even
easier to read once you're familiar with its syntax (there
are limits, however).
So, here we are with a e issue. Check out the C runoff,
and start writing. You should be out to e if you're going
anywhere at all .
Which C?
That's a good question. See the Letters column and the
C column for descriptions of two inexpensive es. For the
expensive versions, ($500 or so) the battle appears to be
between Manx (Aztec C) and MicroSoft.
The main difference between the cheap versions and
the expensive versions of e used to be floating point
support. Now it's large model vrs. small model. In the
small model you usually get 64K of code and 64K of data.
In the large model you can choose to have code or data
(or both) larger than 64K. The cheap compilers run the
small model only. The expensive ones run both.
MicroSoft used to distribute Lattice, but now they have
their own, and it's rumored to be better than Lattice.
Aztec has been getting stronger and stronger (and cleaner
and cleaner) as time and revisions roll by.
I like Manx because they're small, their error messages
are very clear, their compiler is very fast, and I'm familiar
with it, but when I listen to what others are saying (some
of them have only MicroSoft C) it sounds like a horse
race.
Disappearing Drives
It has definitely been an interesting couple of months.
Just after the first of January, Gary called a couple of
cheap drive places - you know, the ones advertising $79
apiece Mitsubishi double doubles. They were out. No
drives.
So he called some of the more expensive places. They

~------THECULTITIrn

C

o

Puzzles With Class
too were out of stock. Even the buzzy little TEACs had
vanished. Finally, after about two dozen calls, he located
one Mitsu and four TEACs.
Where had all the drives gone? The general consensus
around the office was that demand had caught up with
supply. After all, memory prices have stabilized (or have
started to back up) and suppliers are no longer pleading
for orders.
However, I was suspicious. There were a lot of outfits
in the back of Computer Shopper whose prices were still
dropping. That meant they hadn't received much notice.
Also, a lot of people we called assumed they had drives
in stock, and it was only when we insisted they look that
they realized they were out (possibly a touch of scam
there, but I wouldn't expect such sly trickery from all of
them).
Allyn Franklin called a day later with some information
about TEACs, so I took advantage of his nickel and asked
if he knew what had happened to all the drives. The only
thing he knew was that the quality of the drives he was
getting on the surplus market had gone from marginal to
absurd. (Kaypro has been forced to change brands on
their new PCs, and the drives have been 100% dead on
arrival.)
I mentioned I suspected that IBM might be gearing up
for a big build of the PC-2s and might have hijacked
three or four warehouses full of the little beasties.
Well, Allyn got on the horn to some old friends (like
one of the founders of Tandon) and came back with the
following: Tandon sued a group of Japanese drive
manufacturers for violating Tandon patents. One of the
primary defendants in that case was Mitsubishi, and
because of the suit, Mitsubishi (and the others) stopped
shipping drives into the U.S. Tandon finally lost the suit
about a month ago, so the Japanese are again free to ship
to the U.s. But for a while, at least, drives will be a bit
short (quarter-height, say?).
Clonal Issue
It appears that big business has found out about the
clones (what? they've forgotten IB ... ?). In fact, they are
not only finding that the clones are cheaper, but also that
they're generally more dependable.
More dependable? When IBM stands for i'It's Better
Made?" But IBM messed up when it discovered it could
make more money by cutting costs to the bone. In the
process they boned a lot of small manufacturers (drives,
PC boards ... ), and those who wound up with the
contracts have been pinching costs down to nothing.
While IBM was maximizing profits, the government of
Taiwan was funding development of a BIOS ROM. It
turned out to be a pretty good BIOS ROM.
The rest of the story is now unfolding. We'll· no doubt
see a PC-2 once the 80386 is available. I've heard that
when the PC-2 shows up, IBM will drop prices on what's

R
N

E

E

veryone was a bit nervous that night. We'd taken a
mid-term the previous evening and most of us
expected great swaths of red across our papers. (In
C class, both the compiler and the instructor can bite.)
Sure enough, Peter lived up to his reputation as one of
the sneakiest C instructors ever turned loose on unsuspecting students (and this is an introductory C class). In
fact, some of his teasers had been downright unfair.
For instance, consider the following C statements:

R

+ +*+ +k;
+ + + +k;
m = j = 1 II k = 2;
Assuming m, j and k have already been defined as
integers, and that we are following K&R C, what does
each line do? Which lines (if any) are illegal? Does
anyone even care?
Anyway, after rubbing our noses in our obvious
shortcomings (he who holds the answer book holds
power) Peter mentioned that he had run into a problem
that he couldn't solve. (We were all ears.)
Insolvable Product
It turned out that the previous weekend, he and four
other instructors had driven to Seattle to attend a
programming conference. As they left Bend, one of them
posed the following question:
"Two boys were having their purchases totalled at a
cash register when the first boy noticed that the checker
was hitting the times button rather than the plus. When
he commented to the second boy, his friend told him not
to worry, the total would come out the same either
way."
"They purchased four items. They paid $7.11. What
was the price of each item? Is there only one solution?"
Well, four pads emerged from the luggage and five
brains started scratching. But despite 20 hours locked
together in a compact car, those brains came up with
nothing, not even an elegant algorithm. (Aha! If it isn't
in the answer book, instructors become almost mortal.)
A Solution?
Now it's your turn. If you can come up with something
really elegant, get it in. We don't have a solution for this
one, yet. After all, intelligence doesn't have to be
academic, does it?
And, if you come up with some more computer
soluable (or insoluable) teasers, get them in. Of course it
wouldn't hurt if they are the product (and sum) of at
least four good minds.

(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

81

RPIM2™ creates
CP/M©2.2 compatible

EDITORIAL
(continued from page 81)

IBM PC
1. Remove the 8088
2. Install the NEC f.1PD70108
3. Boot PC RP/M2
The NEC f.1PD70108 CPU chip is a fast 8088 that also executes 8080 machine code. PC RP/M2 is an operating system. Either standalone or with MSDOS present, PC RP/M2
provides the solid base of a genuine operating system reliably distinct from the facade created by an MSDOS interface. All 2.2 features are supported, plus file date and time
stamping, fast virtual disk, iobyte redirection, terminal cursor positioning, color console display.· PCPIP accesses
MSDOS files; MODEMPC transfers files via serial port; SETDISK redefines a drive to anyof over 60 formats, allowing PC
RP/M2 to directly process your existing CP/M files in their
native form.System disk with manual and NEC f.1PD70108
(V20) $129. Shipping $5 ($10 nonUS) I~ [II

!.

Micro
lYle'l"hods, Inc.

118 SW First St. • Box G
Warrenton, OR 97146

I

~

THE NEW 65/9028 VT

ANSI*,{~~<3NI~~E~~~~~s~sO*ARD!

§
~

(503)861-1765

~

A second generation, low cost, high performance, mini sized,
single board for making your own RS232 Video Terminal. Use
as a computer console or with a MODEM for hook up to anyof
the telephone-line computer services.

o
~

*

~

:>

W

ff

>

!z
«

~

«

=:

ffiI-

~
:J
>

C5
o
en

~

o

~
!/)

~

w

FEATURES:
Uses the new SMC 9028 Video
Controller Chip coupled with a
6502A CPU.
* RS-232 at 16 Baud Rates from 50
to 19,200
* On board printer port!
* 24 X 80 format (50/60 Hz).
* For 15,750 Hz (Horiz.) monitors.
* 3 Terminal Modes: H-19, ADM3A,
and ANSI X 3.64-1979
* Wide and thin-line graphics.
* White characters on black background or reversed.
* Character Attributes: De-Inten.,
Inverse or .Underline.
* Low Power: 5VDC @ .7A, ± 12VDC
@20MA.
* Mini size: 6.5 X 5 inches.
* Composite or split video.
* 5 X 8 Dot Matrix characters
(UIL case).
* Answer back capability.
Battery backed up status memory.
* For ASCII parallel keyboard.

MICRO SIZEI

$99 95(Full Kit)
SOURCE DISKETTE:
PC/XT FORMAT
5114 IN. $15

*

~
ADD $40 FOR A& T
:I:
I-I----------~------------~------------------~

e
tJ
W

Digital Research Computers

(OF TEXAS)
P.O. BOX 381450 • DUNCANVILLE TX 75138 • (214) 225-2309

~I--------------------------------------------~

~

~

Call or write for a free catalog on Z-80 or 6809 Single Board
Computers, SS-50 Boards, and other S-100 products.

~~------------------------------------------~
!/)
TERMS: Add 53.00 postage. We pay balance. Orders under 515 add 75c handling. No
...J
~

82

C.O.D. We accept Visa and MasterCard. Texas Res. add 5-1/8'10 Tax. Foreign orders
(except Canada) add 20'10 P & H. Orders over S50 add 85c for insurance.

MICRO CORNUCOPIA, #29, April-May 1986

left of the PC, XT, and AT stock by about 40 percent.
Meanwhile, 8MHz 8088 and 8086 turbo boards are
showing up from Taiwan. Taiwanese may skip the 80186
and go heavily for the 80286 as soon as they've
developed a new BIOS. Stay tuned.
NEe's V20

If you think the V20 is a big deal, you're not the only
one. This 40-pin piece of magic not only runs 8088 code
faster (even at 4.77 MHz) than the 8088, but it also runs
8080 code with the aplomb of a native. (The V30 is a
magic 8086 that also runs 8080 code.)
Well, Intel is upset. In fact, Intel has its whole legal
department working on a V repellent. And unless Intel
comes up with a legal solution pretty soon, it could have
real problems. After all, hardware manufacturers might
discover the V20 (more performance at no additional
cost), and that'll be it for the venerable (profitable) 8088.
The V20 is a simple plug-in replacement for the 8088,
and yes, with no other changes to the system MS-DOS
software does run faster. Plus, 8080 software also zings
right along (now if it would run at 8MHz ... ).
See the PC speedup article in this issue for information
on on parts sources. Note that all V20s currently available
are -5 parts (guaranteed to run 5MHz). NEC has had
problems producing the -8 parts (8MHz). However, the -5
parts have been running up to 7 MHz just fine.
Atari Vrs. Amiga
As I write this I'm awaiting information from software
firms that are using both the Commodore Amiga and the
Atari ST. I've spent the last few weeks trying to get the
C benchmarks to run on these machines so we'll have
some idea (just an inkling, perhaps) of their performance
relative to each other and relative to CP/M machines and
PCs.
I called one of my favorite computer stores. They sell
both the ST and the Amiga and are pretty knowledgeable
folks. Surely if anyone had C packages and computers
they did.
No luck. But I did find out that they've sold about 25
of each system. (I would have expected sales of well over
a hundred of each.)
"Buyers are waiting for software, and they're waiting
to see who's the winner."
A year ago it was much clearer who was going to win.
But then Commodore was talking about $800-$1000 (for a
complete package), and they were talking availability in
June (or was it July, late August...).
A year later, the system is $1998 (with color monitor
and 512K), the operating system revision number has just
been rolled (again), and there is very, very little software.
My contact noted that the Amiga is a pain to get

serviced under warrantee, and the turnaround is long.
Atari service, on the other hand, requires one phone call
for a return authorization number, and the turnaround
time is excellent. He noted that they've had just one
minor problem with the STs. Two of the Amigas were
dead on arrival.
"Right now, it's price vrs. bells and whistles. The
complete ST is $1000 and it has sound, graphics, and
midi interface. The complete Amiga is $2000. Its bells and
whistles (sound, graphics, and multitasking) are better,
but you'll have to decide for yourself if they're worth the
extra $1000."
They've had Amiga developers packages on order for
months now, and though Commodore says it's shipping
them, the store has yet to see one. The new Kickstart 1.1
(the Amiga operating system) has not crashed. But they
found that many of the system's early problems could be
traced to memory limitations. When people added the
256K memory expansion module (512K total) most of the
problems disappeared.
People purchasing Amiga software should specify their
Kickstart version. Some packages will run only under 1.0
(the early version), while others will run only under 1.1.
Many industry people expect the race to be close until
the Amiga gets the promised PC emulation software. But
if that's all people are waiting for, they might read issue
#27. For $1800 they could have both the ST and their
very own, very PC compatible, clone.
Finally, time is of the essence to Commodore. The
company has a bad reputation in the financial market, so
its chances of raising cash are pretty slim. Plus, its cash
position is weak, and it's been losing money - lots of
money - for the past year. Amiga sales are critical to
Commodore, even if the company is only trying to find a
buyer.
Dealer Watch
D & D Discount Computers of Hawthorne CA has a
full page ad in Computer Shopper and some pretty good
prices. However, if our experience trying to get a couple
of monitors is any indication, it might not be worth the
effort.
We ordered two video monitors on 12/27/85. We
insisted that they make sure the monitors were in stock
before we placed the order. They said they were in stock
and would be shipped the next day. A week later we
received one monitor. In fact, by early February we still
had only one monitor. (And we'd already received the
VISA bill for both plus $30 shipping.)
We've called them five times. Each time, the story has
been different. "We shipped two monitors on January
(continued next page)

Enclosure &
power supplies
for
FLOPPY,
WINCHESTER~ .
TAPE DRIVES,
SINGLE B·OARD
COMPUTERS
Be S-1 00 SYSTEMS

8 inch
5 inch
3 inch
CUSTOMIZING
AVAILABLE

Call or write
for free
catalogs &
application
assistance

RESEARCH CORPORATION

8620 Roosevelt Ave. • Visalia, CA 93291
'209/651 ~1203
TELEX 5106012830 (INTEGRANO UO)
EZLlNK 62926572

We accept BankAmeri~ard/Visa
and MasterCharge
MICRO CORNUCOPIA, #29,. April-May 1986

83

EDITORIAL
(continued from page 83)

2nd." "You only received one? We'll ship one tomorrow." (Two weeks pass ... ) "We show an order for two
monitors, and they were shipped." (Another week. .. )
-"We'll get the second monitor out red label tomorrow."
(Another week. .. ) "We can't fii1d your 'order, and we
can't send a monitor to just anyone who calls." (At this
point the phone lines got a bit warm.)
Later that day, they called back. "We found the order.
It's for two monitors, and we're shipping the second
monitor out red label today."
And, curiously enough, they did.
SOGV
George is coming! George is coming! George Morrow
called to say that he's already got the SaG on his
calendar. He mentioned that of all the places where he
spoke last year, the SaG was the best, most exciting
group. So he wanted to make sure he got a speaking
spot again this year. He'll. be staying .long enough this
time to participate in those famous all-night semi-official
discussions (SODs).
Also, Michael Frieling, Ph.D from MIT in artificial
intelligence, will be speaking on developing tools for
expert systems. (This is going to be fun, fun, fun.)
Trevor Marshall and the Definicon crew, Jack Dennon,
Allyn Franklin, and numerous other stars from SaG IV
have already thrown their speakers' hats into the ring for
this year. Plus, Dave Rand will be back (by cutting short
his vacation in Australia).
Oops, you're drooling allover this page and I haven't
even given you the date, told you that SaG means SemiOfficial Get-together, or mentioned that you should bring
the whole family and make a vacation out of SaG (on
your way to EXPO in Vancouver BC).
Anyway, it's July 24-27, Thursday through Sunday,
and except for food, lodging, and rafting, it's free. It's
our thanks to you for all your support for the past year.
Of course, this year's SaG starts off again with a
splash. We'll kick it off with 2 1/2 hour (or all day) white
water rafting on Thursday. Technical sessions (including
computer co-pilot training) will follow on Friday, Saturday, and Sunday.
,.
Lodging
SOG V will be held at the college again, and the entire
dorm is ours. If you want to be in the center of all the
action, order your dorm room early. The dorm's lounge
and rec room entertained those 24-hour-a-day SODs.
College administrator Ray. Hoyt and his wife, Sue, were
dorm parents last year (they were great). They were so
impressed with the SaG IV group ("It was the most
interesting, most intense group we had all summer,")
that they're arranging to be dorm parents again this year.

84

MICRO CORNUCOPIA, #29, April-May 1986

(But since there's a new Hoyt arriving this spring, SOG
V will be the only group they'll parent.)
But don't feel that you're locked out if you're not a
dormie. Campers, trailers, pickups with shells, and
people sacking in their. cars had the entire parking area
(surrounded by woods) to themselves.
There's also a very nice state campground just a few
miles· from the college that has everything - a river you
can swim in, tent and trailer sites, and solar heated
showers.
Plus, Bend is a resort community so we have more
motel rooms than people. Motel rates run anywhere from
$25 per night to $100. Write or call for the free SaG V
information pamphlet.
SOG Music
Friday night we made our own music. It was great,
especially Joe Seibert on bagpipes. (People coming out of
the mountains for weeks afterwards told of hearing
strange wailings echoing about in the most remote areas.)
Bring your woodwinds and horns and bagpipes and
anything else, and we'll see what we can blow up.
Synthesizers and midi controllers should take special
note of this.
SOG Philosophy
The semi-official get-together began simply as a day for
Micro C readers to come together and share ideas. At
SaG I, we didn't have any scheduled talks or recreation;
it was just a day of food (potluck) and commiseration at
our house.
SOG V will be four days of (semi) organized recreation
and technical information held on a college campus. Last
year we had 400 + attendees. This year (if you come)
we'll no doubt beat that. The most important thing you
. bring is your ideas, and it's those ideas that have made
SOG unique among computer conferences (and it's those
ideas that are bringing George Morrow back for a second
round).
Finally
Enjoy yourself. If you don't already, then come to SaG
and learn how. (We're only doing this for your own
.good, you know.)

David Thompson
Editor & Publisher & SOG Attendee

See yourself In Bend
this summer for
three days of
technical forums
among the pines
and junipers
on the campus
of Central Oregon
Community College

Thursday, July 24th
SOG KICK-OFF

Friday" Sunday July 25th- 27th
FREE TECHNICAL CONFERENCE

Once again we're kickingoff the SOG with white
water rafting followed by the kick-off cookout. If
you're interested in safe thrills then sign up for
one of these professionally guided trips.

You'll meet the people who are writing the compilers (C, Modula, Pascal)
and the interpreters (PROLOG), who are designing the boards (32032,
68020 ... ), and who are writing the articles.
• George Morrow (Morrow Computer~) will be talking
about computer directions .

• All day - includes transportation from the college, box lunch, 4 112 hours on the lower Deschutes River, and the Kick-off Cookout.
• 2 112 hour - includes transportation from the
college, I 112 hours on the river, and the cookout.
Raft trip prices will be in the SOG registration
packet.

• Trevor Marshall (Definicon Systems) will be talking in depth
about the 68020.
• Michael Frieling (AI researcher) will discuss designing expert
systems tools.
• Allyn Franklin (Drive Masters) will rim a workshop
on drive aligning.
• And much morel The schedule expands daily.

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

TO REGISTER
Call or write for the SOG registration packet.

DORM

The one dorm has 50 rooms which
hold 2 people each. A room for Wednesday night
through Sunday noon is only $80 (that's
$40/person). If you have your heart set on a dorm
room (the center for late-night discussions) call
and tell us right away.

MICRO CORNUCOPIA
P.o. Box 223
Bend, Oregon 97709
(503) 382-5060, 9-5, M-F
MICRO CORNUCOPIA, #29, April-May 1986

85

(contii7Ued from page 4)

Improving Theory OfOp
I have miXed feelings about your
Kaypro 4-84 Theory of Operation. For
instance, the CLOCK.AZM listing' on
pages 12 and 13 doesn't workIn is
extremely aggravating to type two
pages of assembly listing only to' discover that there's a bug - somewhere.
It certainIyprints the word "Tilne:",
but it does nothing else~
Another example is the section on
page 3 concerned with INTERRUPT
DECODE: five lines of text are not
enough, ,except to pique your interest!
I'd like to make some suggestions.
First, a standard typographical solution to the boolean expression NOT is
a hyphen-prefix (Le., "VIDCS NOT"
becomes ",;VIDCS" as opposed to
"VIDCS *" . This is standard iIi.
FORTH.
Second, I have taken some technical
writing courses and can honestly say
, that your Theory of Op's overly terse
style forces the. reader to concentrate,
'read, and reread far too often. Your
"fog index" is unduly high!
Also, why not include information
on system "enhancements." Not the
whole procedure, mind you, but info
that can save you and the reader some
time. For example, it should be apparent that only people interested in the
guts of their machine will purchase
this package, so why not explain how
the Micro C (or MicroSphere, or Advent, etc.) ROM upgrades work and
their benefits? Sure,it sounds like
propaganda, but you know that the
questions are bound to pop into the
reader's mind; accommodate the reader and show that Micro C is indeed
the helpful firm that supports its customers/readers.
Why not tell them how to add quaddensity drives, a hard disk, ,a RAMdisk, or a color board. Granteq, the
costs and' technology are ever-changing, but the questions and info remain
the same, basically.
"
I apologize for ranting a bit, but alas,
hindsight is almost invariably 20/20.
Peter Vassoff
19603 Bethel Church Rd.
Manchester MI 48158

ter than my answers, but here goes. We've
had trouble typesetting listings. When we
set the 84 Theory of Op, the typesetter we
were using ate some characters and translated others. Despite proofing, the problem
slipped through. See Figure 1 for the nontypeset version.
One of the advantages/disadvantages of
publishing a magazine is that nothing
stays the same. We've published information on the 2 to 4 upgrade in four
magazines and in the Pro-8 manual. If it's
frustrating for you, it's doubly frustrating
(but exciting, too) for us.
I admit we could do a lot better job
explaining our products, other people's
products, modifications, etc. I have to

Advice For Invalid Computer
Regarding "Home Care For The Invalid Computer (Part 1)" in Issue 27,
page 49, I offer the following algorithm:
1. Check disk drive alignment (unless problem obviously is not disks).
2. Check power supply voltages.
3. Check all connections (David did

Figure 1 - Clock.AZM Routine

Editor's note: :
Your questions and observations are bet-

86

plead poverty of time. Gary, Larry, and I
live computers (and Micro C), but there
still aren't enough hours. If you, or
anyone, would like to volunteer some time
working on projects like this, we'd love to
hear from you.

MICR9 CORNUCOPIA, #29, April-May 1986

..
..
..••
..••
..

i·····················································
.................. .•
,••
,
••,,
,••
,••
,••
,

CLOCK.AZM - a self installing interrupt service routine
for the real time clock on the Kaypro 4-84 •

The interrupt routine resides in hi ram starting
at OFF68h. This just misses the top of scratch
RAM in the PR08u ROM •

,
,

,

Assemble with ZSOMR (disk K25)
A>z80mr clock
A>load clock

;'
;'
••
;.

This routine will work only until the next disk access (and
during subsequent disk activity) unless you add an EI
instruction at the label CONST in your BIOS.
Laine Stump 08/31/84

,

;

,

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

....................................................................... .

ESC
HIRAM
BITPORT
CON OUT

EQU
EQU
EQU
EQU

1Bh
OFF68h
14h
45h

ORO

100h

LD
LD

HL,IMOADD
DE,HIRAM
BC,IMOLEN

LD

ithis is where interrupt routine will be
isystem port for selecting ROM
iconsole output jump vector in ROM

iload interrupt routine into hi memory

LDIR
CALL
DEFB
CALL
RET

PRINTLOW
'Initializing Real Time Clock •• ',ODh,OAh,O
INTCLK
iinitialize clock; PIO, etc.
;return to CCP

;
j(")

Real Time Clock Support Routines lrs 8/29/S4
Equates relating to RTC chip

;

CLKADD EQU
CLKCTL EQU
CLKDAT EQU

20h
22h
24h

;RTC 'register select' (actually PIO A data)
iRTC mode control (actually PIO A control)
;RTC data (after proper register selected w/CLKADD)

MONTHS
DAYS
HOURS
MINUTES
SECONDS

7
6
4
3
2

jRTC registers containing these values (in BCD)

EQU
EQU
EQU
EQU
EQU

go into this somewhat).
4. CLEAN, CLEAN, CLEAN.
5. Check power supply lines with an
oscilloscope. Flat lines are nice. Bumps
7.7 milliseconds apart are nice if they
account for more than a percent or so
of the total voltage.
All of these things should be done
BEFORE any board swapping is done,
or you may find yourself frying yet
another board. I know of a case where
a service technician was dispatched
500 miles to fix a terminal in an office
which had five of them. By the time
he was done swapping boards, every
terminal in the place was dead. The
problem was a defective power supply

which was killing PC boards whenever
they were swapped in. The diagnostic
chart in the book said that for symptom X, you swap board Y. So that's
what he did!
Another time, we swapped over a
dozen chips, all of which had been
soldered in originally. The problem
was an open capacitor in the power
supply, which meant that the system
was "glitching" in the valleys between
60 Hz peaks.
John Beckett
Director of Computer Services
Southern College
Collegedale TN 37315

j---- INTCLK - initialize clock chip & PIa for interrupts and enable them -j

INTCLK: DI
CALL
DEFB
DEFB
DEFB
DEFB

jthis first, just in case
PRINTLOW
jenable the status line
ESC,'B1'
jand print the initial 'Time:' message there
ESC,'B6',ESC,'C4',ESC,':',24+' ',' ',ESC,'BO',ESC,'Bl'
, Time: '
ESC, 'CO' ,ESC, 'C 1 ' ,ESC, 'C6 ' , ESC, 'B4 ' ,0

LD
LD
LD
OTIR

C,CLKCTL
HL,CLKTBL
B,CLKLEN

jnow set up to send all the PIa mode control
jaddress of table of bytes to send
jlength of table
jsend i t

LD

A,llh
(CLKADD) ,A
A,4
(CLKDAT),A

jselect RTC 'interrupt control' register

OUT
LD
OUT
LD
OUT
IN

A,lOh
(CLKADD),A
A, (CLKDAT)

jreset interrupt channel on clock
jby addressing and inputting from
jint. status register

LD
LD

A,CLKVEC.SIIR.8
I,A

HI

2

jnow
jput
jset
jand

jtell it we want to interrupt every second

set up the cptr for running under interrupts
page no. of interrupt vector 'table' in I
mode 2 interrupts
enable them •••••

EI
RET
control bytes to send to PIa to init. for interrupts
j
CLKTBL: DEFB
jbit control mode, mask follows
11001111b
DEFB
jbit 6 input, others are output
01000000b
DEFB
CLKVEC.AND.OFFh jinterrupt vector at this add. + I reg.
DEFB
jenable ints, OR, active hi. mask follows
10110111b
DEFB
jinterrupt bit mask, interrupt on bit 6 only
10111111b
CLKLEN EQU
$-CLKTBL
j---- console output routines during init -----------------------------OUTLaW:

LD

c,6

CALL
RET

5

Readers' Skills Network
Do you have some kind of list or
network to help people with certain
skills get together with people who
have ideas that need those skills? If so,
I would like to add my name to the
list. Presently I am bored with what I
am doing, and am looking for a creative outlet for my talents.
My past experiences are: watch making/clock repair; teaching auto mechanics, machine shop and public
speaking; 10 years in machine work

PRINTLOW:

EX

(SP) ,ilL
A, (ilL)
ilL

pop return address, points to text to print
get a byte of text, stop on zero byte

EX

(SP),IIL

OR
RET
LD
CALL
JR

A

save new return address
is it a zero byte?

LD
INC

Z

E,A
OUTLOW
PRINTLOW

Editor's note:
Thanks, John. You're absolutely right.
In fact, I've been chasing a drive problem
(the system wouldn't come up as long as
the winchester was installed). The error
message indicated that the floppy drive was
defective.
Then I found that the problem went
away when I swapped power supplies, so I
started digging into power supplies. But,
even with the best supply the problem
came back. Replacing the color graphics
board finally cured it.
Anyway, I've been learning a lot about
supplies lately. For instance, on all three of
the clone supplies I've dissected so far, the
+ 12V line draws off the same pool of
power that supplies the + 5V. Plus, the
designers assumed that regulating the
+ 5V line was sufficient, so no need to
regulate + 12V separately.
On some supplies, the + 5V regulator
wasn't fast enough to keep changes in load
on the 12V line from showing up as
glitches on the + 5 volts.
The power output from the supply looked
fine (average voltages about 0.1 V high and
only about 300 mV ripple), but as a last
resort I changed supplies. With the new
supply the whole system came up and ran
perfectly.
I tried the marginal supply on other pes
and had perfectly solid systems reduced to
displaying memory parity errors or complaining of disk access problems. The
problems all disappeared when I reinstalled
the original supplies.
We are definitely on the lookout for
really good quality supplies both for clones
and for Kaypros so we can pass their
names on. Any suggestions?

no, so print it

(continued next page)

(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

87

up to aviation production and tool &
die; 3 years as foreman of a NC/CNCI
DNC machine shop; running my own
engraving business in commercial signage; industrial panel work; wholesale
manufacturing; and international mail
order.
My computer experience goes back
to about 1963 when I tinkered with
IBM equipment. I really enjoy playing
with hardware and programming. I'm
just getting started in computer graphics.
Paul Meistrell
2341 Pontiac St.
Denver CO 80207

Editor's note:
Here it is, Paul. Your name's on a lot of
lists now. You sound like a natural resource for folks starting any number of
new computer related businesses. Anyone
interested should contact Paul right away.
In fact, anyone else like Paul who has
experience and skills to offer to a group
effort should drop us a note and we'll let
everyone know. That's what Micro C is all
about.

disk with HM jumpered, but it will
with the jumper on MM, where PC's
told me to put it. PC's did make one
mistake, though. They insisted that
the terminator shouid go into the A:
drive, while everything published in
Micro C says it should go in the last
drive on the cable. PC's advice is
correct for an IBM (A: is the last drive
on the PC), but not for my Kaypro.
I'm delighted that the jumpers
didn't work quite as you predicted,
because it's given me an opportunity
to give something back.
Robert Long
P.O.Box,600
Housatonic MA 01236

marked MM,HM,HS,HL, and IV .. PC's
said both MM and IV should be
jumpered. I never did find IV, but
because Alan Barlow's Kaypro column
(issue 27) had said to jumper HM, I
suspected PC's was wrong. You confirmed that HM was the right pair to
jumper.
So I jumpered HM and didn't jumper MX, as per your instructions. Nothing. The computer couldn't even find
the A: drive. I discovered that the,
jumper on MX must be across pins 1
and 2 to function properly in a multidrive setup. With no jumper at all, it
loses its identity.
As for HM, the drive won't read the
Clock.AZM Routine (continued from page 87)

;
;

;

;

..................................................................... .
the following routine resides in Hi RAM. this way it will not
be overwritten by programs and will be 'visible' to the CPU
no matter which memory bank is switched in

..................................................................... .

IMGADD EQU
OFFSET EQU

$
HIRAM-IMGADD

;label to find routine before it is moved
;method of simulating M80's .PHASE

;

;---- CLKVEC - interrupt vector and interrupt service routine for RTC -----;

CLKVEC

Getting Jumpers Straight
I recently ordered a pair of halfheight Panasonics from PC's Limited
in Austin, Texas. The drives I got were
marked "National," which is apparently what Panasonics are known as in
most of the world. From the printing
on the wrapper, I assumed they were
manufactured for the domestic Japanese market.
There was no documentation of any
sort, so I called PC's technical support
number to find out about jumpers.
The person who took my call had a
"who ,cares" attitude and couldn't
conceive of anyone mounting more
than two drives in a computer. His
answers did little to inspire my confidence. In the end, I was simply told
they had no more information.
There are clusters of jumpers on the
Nationals. The first set is marked
1,2,3,4, and MX. MX, as you told me
on the phone, is for single-drive installations. PC's told me it should be
jumpered. You said it shouldn't be.
The second set of clusters has a
single pin marked MS, then pairs

88

MICRO CORNUCOPIA, #29, April-May 1986

EQU
DEFW

$+OFFSET
CLKVEC+2

;this will be label address in Hi memory
;this is into vector, CPU jumps to address it
; contains
Clock interrupt service routine. First save cursor position and go to
status line. Print time, and then return
PUSH
PUSH
PUSH
PUSH
IN
PUSH
SET
OUT

AF
BC
DE
HL
A,CBIrpORT)
AF

;save

7,A

;now switch in ROM so we can call
;CONOUT routine there

CALL
DEFB

PRINT
jsave cursor, go to stat line, set dim inverse video
ESC, 'B6' ,ESC? 'C4' ,ESC, '=' ,24+' ',7+' ',ESC, 'BO' "ESC, 'Bl ',0

LD
CALL
CALL
DEFB

A,HOURS
PRTNUM
PRINT

LD
CALL
CALL
DEFB

A, MINUTES
PRTNUM
PRINT

(BITPORT),A

a~pllcation's

environment

;also save whether we were in ROM or RAM

;first output the current hour

':' ,0

;now the minute

'. ',0

LD
A, SECONDS
jand finally the second
CALL
PRTNUM
CALL
PRINT
;now restore to where we were
DEFB' ',ESC, ,,CO' ,ESC, 'Cl' ,ESC, ',C6' ,ESC, 'B4',0
LD
OUT
IN

A,lOh
(CLKADD) ,A
A, (CLKDAT)

now acknowledge interrupt to clock
by addressing and inputting from
into status register

Why Learn Z80?
I've had a Kaypro 4-84 for about a
year. I use it most of the time at work
and have written quite a bit of dBASE
II code for various jobs and to control
my Epson printer.
Since I've been considering another
system to keep at home (IBM or clone)
do you honestly think it would be
worth my while to learn the Z80? Do
you foresee your publication being as
informative to users of MS-DOS and
the allied chips as it is for CP/M and
the Z80?
Next question: I recently installed a
satellite system (TYRO). There must
be a way to hook up my computer to
LD
OUT
LD
OUT

A,10110111b
(CLKCTL),A
A,10111111b
(CLKCTL),A

POP
OUT
POP
POP
POP
POP
EI
RET!

AF
(BITPORT),A
HL
DE
BC
AF

it (maybe using an SSB receiver?) and
tapping into the wealth of data available. How would one utilize a computer to decode a microwave signal? If
anyone has any experience with the
necessary interfaces to access satellite
signals, I would love to hear from
them.
John A Fabbri
P.O. Box 901
Dayton NV 89403

Editor's Note:
I assume you're talking about learning
280 assembly language, since you're no
doubt comfortable using CP/M. It depends

jnow reset PIO interrupts

jreenable the interrupts
jand reset interr~pt flip flops

j---- PRTNUM - print number in clock chip reg. pointed to by A --------j
output will be as ASCII Decimal
PRTNUM EQU
$+OFFSET
OUT
(CLKADD),A
jselect appropriate clock register
IN
A, (CLKDAT)
jget the number there

INTEGRATED BIOS for
BIG BOARD II
This BIOS adds special features to your
Bigboard II floppydisk and/orWinchester
system.
Read and write any 5" and/or 8" disk
formats. 40 formats included (KayPro,
Osborne, IBM-PC etc.)
Use any type of 5" and/or 8" drive (SS,
OS, 40 or 80 tracks). New SYSGEN
works between 5" and 8".

PUSH
AND
SRL
SRL
SRL
SRL
OR
LD
CALL

AF
OFOh
A
A
A
A
30h
C,A
CONOUT

jsave it while we convert & output hi nibble
jstrip low nibble
jshift hi nibble to low

POP
AND
OR
LD
CALL
RET

AF
OFh
30h
C,A
CONOUT

jdone with hi, now output low
jstrip off hi nibble
jmake into ASCII decimal

pcb less memory chips, includes
test software.

joutput to screen

Price: S99.95 (Avail. 4/86)

EQU
EX
LD
INC
EX
OR
RET
LD
CALL
JR

$+OFFSET
(SP),HL
A, (HL)
HL
(SP),HL
A

EQU
END

n-

INCLUDES:
jmake it ASCII decimal
jput in C for CONOUT
joutput to video

;

j
HIGLEN

•••

jrestore proper memory bank
jrestore application's environment

j

PRINT

on what you want to do. If I were
planning to write 8088 assembly language
1'd probably start writing for the 280 first.
It's so much simpler that you have half a
chance of doing something useful before
getting bogged down in the 8088's register
mazes.
Will we be as informative in the PC
arena as the CP/M world? Only time will
tell. I'd like to do even better. Just look at
PC Tech Journal (three piece suits and
reviews of business applications) and you'll
see why someone needs to do a Micro C for
the clone world.
However, we'll not be content with
clones. After all, the 32032, 32332, 68000,
and 68020 processors (to name a few) are
also very, very interesting. (And most of
those CP/M machines haven't realized
they're dead. Yet!)

Bootable 5" disk utility programs, Big
Board II manual, and 300 page ZCPR2
manual.

Price: S99.95 (5" 40 tr disks)
BIG BOARD II 256K RAM

SASI Interface

pop return address, points to text to print
get a byte of text, stop on zero byte
save new return address
is it a zero byte?

for BB I and Xerox 820-1. Inlcudes pcb
with components. BIOS. Formatter. and
Sysgen. Requires Xebec controller
version E or F.

Price: S99.95 (8" SS-SD only)

Z

C,A
no, so print it
CONOUT
PRINT-OFFSET
$-IMGADD

jend of interrupt service routine.

Andy Bakkers
de Gervelink 12 .7591 DT Denekamp
The Netherlands. Tel: 31-5413-2488
Please pay with US$ Money Order.
MC or VISA welcome.

MICRO CORNUCOPIA, #29, April-May 1986

89

Real Time Clock Routine
For The Kaypro 4

By Larry Fogg
Micro C Staff

Turbo Pascal routine reads the built-in clock.

CONST
Year
Month
Hour
Select
Mode
Data
Input
Output

= 9;
= 7;
= 4;
=
=
=
=
=

32;
34;
36;

79;

{ Clock registers }
Day
= 6-,
Minute = 3;
{ Register select port }
{ Mode control port }

{ Data port }
{ PIO modes }

15;

TYPE
Str1 = String[1]; { Str won't accept Char}
Str2 = String[2];
VAR
Date: String[8];

Time: String[5];

FUNCTION ReadClock (Register: Byte): Str2;
{ Get data from RTC. Data is stored two
digits per register in BCD format }
VAR
BCDValue, TensValue, OnesValue: Byte;
TensAscii, OnesAscii: Str1;
BEGIN
Port[Select] := Register;
BCDValue := Port[Data];
TensValue := BCDValue SHR 4;
Str (TensValue, TensAscii);
OnesValue := BCDValue AND 15;
Str (OnesValue, OnesAscii);
ReadClock := TensAscii + OnesAscii;
END; {ReadClock}

aypro's clock and Kaypro's
graphics have a lot in commoni
they're nice to have but there's
no software support. Richard Brewster
recently sent us an SBASIC routine
which prints time and date to the
Kaypro's screen. After a bit of massaging I carne up with a Turbo Pascal (i.e.
usable) translation of Richard's program.
The clock's registers hold data in
binary coded decimal (BCD) format.
This means that the high order four
bits must be decoded for the tens
digit, and the low order four bits for
the ones digit. If you would like to
have a SetClock procedure as well,
just write a BCD encoding routine and
send the results to the year, month,
day, hour, minute, and seconds registers.
Richard noted that he originally saw
errors from CLOCK after each cold
boot. It turned out that the 280 PIO
was left in input mode and received
garbage when the system was powered-down. The final line of the program corrects this by setting the PIO
in output mode.

K

PROGRAM Time (Output);
{ Reads Kaypro clock chip ( U35 MM58167A )
and displays time and date to console. }

•••
{
{
{
{
{
{
{

Let the RTC know what data we want }
Get the data }
Shift the high order nibble down }
Convert it to Ascii }
Mask the high order nibble }
Convert low order nibble to Ascii }
Concatenate Tens and Ones }

BEGIN {MAIN}
Port[Mode] := Output;
{ Set PIO to output mode }
Date := ReadClock (Month) + 'I' + ReadClock (Day) + 'I' + ReadClock (Year);
Time:= ReadClock (Hour) + ':' + ReadClock (Minute);
Writeln ('Today"s date is : " Date);
Writeln ('And the time is : " Time);
Port [Mode] := Input;
{ Set PIO to input mode}
END.
90

MICRO CORNUCOPIA, #29, April-May 1986

MAKE YOUR KA YPRO SPECIAL!
The Kaypro
Disk Library

ROMS
Pro-8 Version 3 for Kaypro 4·83

41 Disks of Selected
Public Domain Software
KAYPRO DISK K1
Modem software

KAYPRO DISK K23
Fast Terminal software

KAYPRO DISK K2
Utilities

& New Bye

KAYPRO DISK K3
Games

KAYPRO DISK K24
MBA SIC Games &
Keyboard Translator

KAYPRO DISK K4
Adventure

KAYPRO DISK K25
Z80 Macro Assembler

KAYPRO DISK K5
MX-80 Graphics

KAYPRO DISK K26
EPROM Programmer
& Character Editor

KAYPRO DISK K6
Word Processing
Utilities

KAYPRO DISK K27
Typing Tutor
KAYPRO DISK K28
Modem 730

KAYPRO DISK K7
Small C Vers 2
Compiler

KAYPRO DISK K29
Turbo Pascal Games I
With Source

KAYPRO DISK K8
Small C Vers 2
Source
KAYPRO DISK K9
ZCPR

KAYPRO DISK K30
Turbo Pascal Games II
With Source

KAYPRO DISK K10
Assemblers

KAYPRO DISK K31
Turbo Bulletin Board

KAYPRO DISK Kll
Library & Checkbook
Programs

KAYPRO DISK K32
FORTH-83, much
fancier Forth

KAYPRO DISK K12
FORTH

KAYPRO DISK K33
A super utilities disk

KAYPRO DISK K13
Source of fig-FORTH

KAYPRO DISK K34
5 games plus sources
(mostly Turbo)

KAYPRO DISK K14
Smartmodem Program

KAYPRO DISK K35
Small C Compiler &
Souce - Vers 2.1

KAYPRO DISK K15
Hard Disk Utilities
KAYPRO DISK K16
Pascal Compiler

KAYPRO DISK K36
Small C Library
of 100 functions

KAYPRO DISK K17
Z80Toois

KAYPRO DISK K37
Utilities Primer

KAYPRO DISK K18
System Diagnostics

KAY PRO DISK K38
Pascal Runoff Winners
1st - 3rd

KAYPRO DISK K19
Prowriter Graphics
KAYPRO DISK K20
Color GraphicsRoutines

KAYPRO DISK K39
Pascal Runoff Winners
4th - 5th

KAYPRO DISK K21
SBASIC Routines &
Screen Dump

KAYPRO DISK K40
Pascal Runoff Winners
6th

KAYPRO DISK K22
ZCPR (Again)

KAYPRO DISK K41
Express 1.0 TextEditor

~ ,-,O\N

~~

-o\~~

1l¢C~\
Kaypro CP/M
5 114" Disks

$8.00 each ppd.

Features include:
1. Screen dump with selectable dump
character.
2. Select slow or fast step rate for each
drive.
3. Automatically figures out what type of
drive you are using.
Plus: User selectable cursor (blinking or
not), ignores nulls, and your choice of 1-4
drives of the 191K, 390K, and 784K
variety. (Use of 3 or 4 drives requires
decoder.)
Installation requires no cuts or jumpers. The ROM simply plugs into a Kaypro
4-83 (or 11-83 with a Kaypro 4 processor
board). If you have a Kaypro II with the
original II processor board then you must
do the II to 4 upgrade. See issue #21 for
details. Your Kaypro II has the original
II board if the monitor ROM (a 20-pin
chip with paper stuck to its top) is
marked 81-149. The 4 ROM is marked 81232.

Kaypro Add·Ons
Eight Inch Adaptor Board
OK, you asked for it: the 8 inch adapter
board for the Kaypro. Now you can have:
1. 4 drives 2. Up to 1.3 meg of storage per
disk. 3. Access to SIGM and CPMug
software. 4. Super fast data access. The
circuit board, ROM, and disk in this
package will let your Kaypro run up to
four drives. A and B have to be 5" drives,
C and D can be either 8" or 5". The eight
inch drives can read and write single
density, double density, or double-sided
double density. Plus, if you have an 84 2
or 4 you get all the Pro-884 MAX
features.
The 8" adapter board plugs right in (no
cuts, jumpers, or soldering - unless you
have a Kaypro II, then you have to do a
II to 4 upgrade.) You supply the drives,
cabinet, and power.
S" Adapter Board ............... $190.00

Schematic Packages

~
~'\

.. for 84 KayPros

Pro-884
This ROM lets you run any mix of quad
density (784K) drives and double-sided
double density drives as A: and B: on you
84 Kaypro. Plus, if you plug-in the
decoder board, you· can run up to four
drives.

Pr0-884MAX
The MAX. gives you all the advantages of
the Pro-884, plus faster screen scrolling,
ZCPR in ROM (you 'warm boot' on any
disk, whether it has system tracks or
not), screen dump, ctrl-p type printer
output, and VT52H/19 terminal emulation in addition to the original ADM3, to
name a few. (We worked on this hummer
for nearly a year.) If you need more
information on the Pro-884s or our '83
compatible ROMS, call, write, or yell for
our KayPro .Users Catalog

Pro-Monitor ROMS
Pro-8 Ver 3 ................ $49.95
Pro-884 ................... $59.95
Pro-884 MAX ............. $79.95
Decoder Board ............. $39.95

Effective April 15, 1986

Order Number 9-5 PST (503) 382-5060 • Technical Information 9-Noon PST Only (503) 382-8048

Finally, a schematic of your processor
board, logically laid out on a single 24'~
by 36" sheet, plus a very complete,
illustrated, Theory of Operation that's
keyed to the schematic. You'll get information that's available nowhere else.

KayPro Schematic Packages
Kaypro II & 4 (pre-84) .............. $20
Kaypro 10 (pre-84) ................ $20
Kaypro 84 series (II, 4 & 10) ........ $20

SPECIAL PRO·884 NOTE:
(And for 8" Adaptor Board)
The Pro-884s are sensitive to the version of
CP/M you are running.
1. Neither the Pro-884 nor the Pro-884 Max
will run on CP/M 2.2U. However, if you can
locate a CP/M 2.2F or 2.2G system disk (your
dealer should have a copy) you should be able to
run our 884 monitors. (Don't try to boot For G
before you change monitors.)
2. There are two distinct versions of CP/M
2.2G. Only the Pro-884 Max is sensitive to the
version of 2.2G you have - it's the ZCPR in
ROM that's the problem. (If you have CP/M
2.2F then you have a Normal CP/M.) So, b~fore
ordering the Max, boot up your original system
disk and read the sign-on. If it's CP/M 2.2G
then we need to know whether it is the high
(normal) version or the low (minus) version.
To determine your G version (you'll become a
G Whiz/):

A>DDT
L5 
(ddt's response)
The first line of the response will be a JMP
D600 or a JMP D800. The JMP D600 means
that you have a low (minus) version, and the
JMP D800 means that it's a normal version.
When you order your Pro-884 Max, be sure to
specify whether you want the normal Max or
the minus Max. Otherwise, we'll just guess that
you need the normal Max.

MICRO CORNUCOPIA, #29, April-May 1986

91

Pascal Problems Repaired
The article by John Donovan on
"Faster Screen Output With Turbo" in
Micro C #26, p. 31, provided a good
insight into a great many advanced
applications - perhaps it should have
been subtitled "Or the First Step to
Animation, Windows, Etc." However,
Mr. Donovan leads us astray in two
places.
First, the "ord" function cannot be
used with an array of type "char" as
he had declared. ASCII values must be
used.
Second, and even more important:
direct assignment between arrays of
the SAME type is definitely supported
in Pascal; thus, there is no need to
place an array inside a record just to
assign values to its elements, nor is
there any need to assign values from
one array to another by using a loop.
It can be done in one clean step:
ThisArray : == ThatArray;, where the
arrays are of the same type. Also, an
array can be used directly as a disk file
"record" without having to use the
special Pascal construction.
These seem to be common misconceptions,. since I have read several
articles discussing this.
Also, at least in Turbo, the "fillchar"
procedure allows us to fill any or all of
anything (especially good for initializing arrays) with a certain value. If
smaller arrays were absolute addressed
at different parts of the screen array,
then the double "for" loop filling the
"scratch" record with L's and R's
could have been done using " fillchar"
in two steps. I use "fillchar" to initialize an array and prevent garbage problems (unless it has already been initialized using a structured typed
constant.) See the Plantz figure.
Alan C. Plantz
7817 Hunter's Path
Indianapolis IN 46224
Fixing Z80 Sans Heat Sink
A letter in Issue #26 prompted me to
write. Some clever soul put a heat sink
on a Z80B so it would run at 5MHz,
but as much as I admire his logic, that
is not the best procedure.
The trouble is the clock at 5MHz.
The Z80 is fussy about nothing except
the shape of the clock input. It must
be "this and that technical jargon

92

Plantz Figure
program ArrayTest;
type
GlobalArrayType

•

array (1 •• 4] of integer;

const
ThatArray
GlobalArrayType - (10,20,30,40);
(* typed constant to initialize ThatArray *)
var
This Array
GlobalArrayType;
: integer;
i
begin
ClrScr;
fillchar(ThisArray, si~eof(GlobalArrayType), 0);
(* initialize ThisArray so every element is 0 *)
writeln('Now the contents of ThisArray ••• ');
writeln;
for i :- 1 to 4 do write(ThisArray(i]:5);
writeln;
ThisArray :- ThatArray;
(* Note the single statement here, NO for loop is
needed to assign each element individually *)
writeln('And after assignment, the contents of ThisArray ••• ');
writeln;
for i :- 1 to 4 do write(ThisArray[i]:5);
writeln;
end.

(30ns rise time max, Vcc -0.6, + 0.3V,
etc.)" or the operation of the processor
becomes random, more or less. Also,
this clock touchiness gets worse with
temperature increases. That's why the
heat sink works.
Unfortunately, the Kaypro computers suffer from a design error that,
coupled with the Z80's fussy clock
input, works OK at 2.5 and not so OK
at 5MHz. The error is U67, the
74HCU04. Change it to a 74HC04 and
the trouble will disappear. Probably.
The Kaypro's mother, the Big board,
had a 74LS04 in this spot. That part
did not get close enough to + 5V for
the Z80's clock, so a "pull up" transistor was added. Worked fine. The 83
Kaypro had room and holes for the
same transistor circuit. You can see it
on your board. One quick way to cure
heat troubles with 5MHz is to add this
transistor circuit, according to Micro
C's plans on page 20 of Issue 14.
(Editor's note: Read on for the best
way to cure the problem.)
But somebody at Kaypro had a better idea - use high speed CMOS logic
(74HCXX) for the clock inverters.
Good idea. Unlike the 74LS TTL parts
before it, the HC parts pull all the way
up to the power supply "rail." Great.
The Z80 clock is satisfied, and no
transfer is needed.
The mistake was in the 74HC part

MICRO CORNUCOPIA, #29, April-May 1986

they chose. 74HCU04 stands for the
unbuffered version of the 74HC04, and
the U version is the part Kaypro used.
At first glance, the unbuffered chip
would seem faster, and the specs
show that it is - under CMOS conditions. The unbuffered part has one
less gate delay than the buffered part
and therefore saves a few nanoseconds. The trouble is that this speed
advantage only holds when the load
(the next gate down the line) is also
CMOS. It is not true when the load is
NMOS or TTL - like the Z80. The Z80
needs more drive current and that
extra current slows down CMOS outputs. The buffered gate (74HC04, no
U) has a higher current drive that
more than makes up for the slight
delay through the gate.
If you have heat trouble with the
Kaypro 5MHz upgrades, change U67
to 74HC04. I know. I've done a lot of
these upgrades in my business, and it
is necessary.
One other thing. Watch out for long
pieces of wire on the clock switch
lines. They make a good antenna
(which can pick up glitches from common RF) if you don't shield them. But
if you do shield them, you might
change the clock frequency and rise
time because of the capacitance of the
cable. Better yet, solder a 74LSOO gate
on top of the PCB and switch the clock

through its gates with a 5V and
ground signal.
Bend out all of the pins of a 74LSOO
Quad, Two Input NAND gate except
4, 7, and 14. Solder those three to
their mates on the 74LS293 in U86.
(From here on, 00 stands for the
74LSOO.)
Jumper the following pairs: ~O's pin
2 to 293' spin 5; 00' spin 3 to ~O's pin
12; ~O's pin 6 to ~O's pin 13; and then
jumper the ~O's pins 14, 10, and 9
together. Take two 2.2K 1/4 watt resistors, connect one between pin 14 and
pin 1, the other between pin 14 and
pin 5 (on the 74LSOO).
The three wires to the switch are
then taken from pin 7 of the 74LSOO
(which is the center or common switch
contact), and pins 1 and 5 of the
74LSOO (which are the two controls for
the clock speed). The switched clock
output is on pin 11 of the 74LSOO.
That output should go through the
74HC04 to the Z80.
The above change is meant for machines that have already been modified to 5MHz by the Micro C method.
Charles Johnsen
Your Computer Works
19704 E Loyola Circle
Aurora CO 80013

Pierce Figure - 4-Drive Decoder Circuit

U51
13

3

A- LED OFF
WHEN

MOTOR OFF

B- LED ON

I

"2
74LSI39

ALL OF
THE TIME

34 PI N
DISK DRIVE

CONNECTOR

I Ao

"2
74LSI39
SPARE

Kaypro Mod Using 74LS139
This modification for the Kaypro 284 or 4-84 allows you to install more
than two drives. It's basically the same
as using Micro C's plug-in Decoder
Board, but takes quite a bit more time
and uses a different chip. It's also
cheaper.
Solder a socket into the 16-pin area
marked SPARE near the front (center)
of the board.
Cut the traces going to the floppy
disk drive connector, pins 10 and 12
(cut them near the connector).
Jumper the following pins on the
74LS139: - pin 15 to pin 16 (to disable
the other half of the IC) - pin 14 and
pin 13 to pin 8 (also to disable other
half) NOTE: Failure to disable the
unused half of the LS139 can cause
stray noise that can make life unpleasant.
Connect wires between the following
pins:
- U51-6 to LS139 pin 2
- U51-13 to LS139 pin 2
- LS139 pin 4 to pin 6 of
disk drive conn.
- LS 139 pin 5 to pin 12
pin disk drive conn.
- LS 139 pin 6 to pin 10
pin disk drive conn.
- LS 139 pin 7 to pin 14
pin disk drive conn.

the 34-pin
of the 34of the 34of the 34-

To select the disk drives only when
the motor is on (the LED goes off after
an access) connect pin 1 of the LS139
to U54-2.
To leave the LEOs as God and Mr.
Kay intended, connect pin 1 of the
LS139 to pin 8 of the LS139 (ground).
NOTE: I found it best to use wirewrap wire for all wiring except the
four wires going to the 34-pin disk
drive connector. For those, I used 4
strands of ribbon cable to keep them
neat.

Homebrew Battery Holder
I recently had to perform some "surgery" on my 4-84 and its RTC. I have
yet to understand why, but the yahoos
at Kaypro decided to solder my battery
back-up onto the main board. Yesterday, it broke. I was unable to find
anyone who carried a battery holder
for the oddball lithium battery, so after
chewing all my nails off, I settled on a
very simple course of action.
Using a solder wick, I cleaned up
the solder points and forced the broken tabs through the board. I then cut
two short lengths of this copper braid
and tinned one end of each. Using
side cutters, I cut the tinned ends at a
slight angle and twisted them slightly,
forming a sort of rod or wire. These
ends were then inserted into the old
holes and soldered down.
After tinning the tabs on the ends of
the battery, I then bent them at an
angle, too. At this point, I used a
piece of "Closed-cell Foam Tape" to
form a pad where the battery previously sat on the board. Finally, I
held the battery gently on the foam
and soldered the copper braid to the
tinned terminals. (See Vassoff figure.)
Although it may sound overly complex, this method offers two advantages over the crazy way the battery
was originally mounted: first, to replace the battery I no longer have to
desolder directly on the mainboard;
second, due to flexibility of both the
copper braid and the foamtape base,
the system should be far more durable
(not to mention forgiving!).
Peter Vassoff
19603 Bethel Church Rd
Manchester MI 48158

Vassoff Figure - Kaypro 4 Battery Installation

Editor's note: The major difference between Troy's mod and those shown in
Micro C #20, p. 64, and Micro C #21, p.
42 is that Troy uses a more readily
available 74LS139 instead of the 7445
chip. Good work!
Troy L. Pierce
22 Fitzwatertown Rd Unit E-7
Willow Grove PA 19090
MICRO CORNUCOPIA, #29, April-May 1986

93

PC RP/M2,

A Designer's View
Of A CP 1M Emulator
Old CP/M programmers never die,
they just port their operating systems
over to new systems. In this case, Jack
and Jim have modified their CP/M
replacement to make it run on a clone
with a V20 processor.
Since we are benchmarking several
such CP/M emulators in this issue, it
appears to be an excellent time to have
them talk about how they put it
together.

under CP/M 2.2 a random write into
an existing data block may result in
lost information.)
It's a good fix because the right code
takes less space than the wrong code.
RP/M2 is written entirely in 8080 code,
and RCP and RDOS occupy the same
memory space as CCP and BDOS.

fter studying CCP and BDOS
while writing
CP 1M Revealed, " we decided to write
our own version of CP/M called RP/M.
That was in 1982. RCP for "resident
console processor" was our name for
the CCP, and BDOS became ROOS for
"resident disk operating system."
RP/M version 1 is essentially identical to CP/M 2.2 except for several
additions:
1. Common access to user area zero
from all user areas.
2. Paged TYPE display.
3. A "hard disk vector" that keeps
non-dismountable disks logged.
4. Batch procedures on any drive.
5. Chaining built into RCP.

Then Along Came The V20
As Randy Davis describes in Micro
Cornucopia #27, and in Micro/Systems
Journal, Nov/Dec 85, the V20 is a fast
8088 that also executes 8080 machine
code. It's a perfect match for RP/M2,
and we've been shipping systems
since October. (We have found one
problem - reading Kaypro 4 disks.)
The SETDISK utility we supply with
PC RP/M2 redefines a floppy drive to
any of 60 different CP/M 5.25" formats. Since we do all disk I/O through
the PC ROM, we're presently unable
to read the back side of a disk formatted by a Kaypro 4, or formatted for a
Kaypro 4 by Uniform PC.
We can read a Kaypro 4 disk formatted by Media Master and one formatted with our SETDISK. However, right
now our approach is to use the singlesided format for exchanges with Kaypros.

The Evolution To RP/M2
We got requests from two OEMs for
file date and time stamping. Another
asked for extended disk addressing
range. So in 1984 we started rewriting
RCP and RDOS. The resulting system,
RP/M2, includes a disk addressing
range of over 64 megabytes, and some
other features to support large disks,
such as hash coded directory access.
Also, with the help of Ferrell Moultrie, who kept applying heavy loads to
the system and analyzing the results
with an ICE (in circuit emulator) we
found a good fix for the host buffer
management bug that I discussed at
SOG IV. (Bob Lurie documented this
bug in Microsystems in May of 1983;

Comparing The Systems
Figure 1 summarizes information on
CP/M 2.2 compatible systems gleaned
from magazine articles and ads over
the past few months.
The information on functions "not
supported" is mainly from Ted
Drude's review that appears in the
Feb. 1986 issue of Computer Shopper,
page 85. Source Information is the
only company we contacted. CPEmulator and UNIDOS are preprocessors
reviewed. by Randy Davis in Micro
Cornucopia #27.
Of these systems, RP/M2 is the only
stand-alone operating system. The others run under MS-DOS.
Unlike RP/M2, none of the MS-DOS

A

94

/I

MICRO CORNUCOPIA, #29, April-May 1986

By Jim and Jack Dennon
P.O. Box G
Warrenton OR 97146

interface type systems that we're
aware of supports all of CP/M2.2's
BDOS and CBIOS functions. (Editor's
note: I believe that Blue Lightnin', a
Z80 plug-in board, does support all of
these calls.)
The Memory Disk
PC RP/M2 uses slightly more than
64K of memory. The remaining memory is allocated as a memory disk called
"M:" M is available the instant PC
RP/M2 is booted up.
On a fully populated PC the memory disk will be over half a megabyte
and is an excellent place to run assemblies. Just remember to copy files to a
real disk before shutting down the
system.
Terminal Speed Or Color
Terminal cursor positioning emulation is built in for a long list of
terminals. The IBM display isn't super
fast even in nonemulating mode, so
the best way to have the kind of
terminal you want is to plug the real
thing into one of the COM ports and
use CONSOLEX to tell PC RP/M 2.2
where it is. At 9600 bps, a real Intertube II, for example, is significantly
faster than the IBM display.
But if you have a color card, you can
use the IBM display and use COLOR
to set any combination of text, background, and border colors.
CONSOLEX uses the table driven
iobyte character I/O redirection facility
built into CBIOS88 to redirect console
I/O to the selected COM port. READER, PUNCH, and LIST can also be
redirected to physical devices: console,
COM1, COM2, and LPT1. The redirection table permits installation of a
custom driver for other devices.
PCPIP
PCPIP is a modified version of
RPMPIP, a distant relative of CP/M
PIP. The modifications allow PCPIP to
directly call MS-DOS for displaying

Figure 7 - Comparison of CP/M Emulation Packages

Package name &
vendor

type

price

Hedia Master+
ZP/EM Intersecting ConCepts

V20
no

DOS
~eq

z80
sup

yes

no

CPEmulator
Gtek, Inc.

CBIOSfunctions
not supported
. . 08 throughOE

IB,IF

1F,25,26,27

UNIDOS
HicroSolutions

08 through OE

(DOS preprocessor)

CP/EM
The ICU Group
EMULATOR
GFI Electronics

BDOS functions
not supported

1B, 1E, 1F ,20
(DOS preprocessor)

V 49.95

Acceler8/16
Intersecting
ConCepts

1B, 1F

08)through·•. OE

RUN/CPM
Micro Interfaces

1B,1F

08 through·.·.OE

1B,1E,20,22,27

08/thro\.ighOE

Un/Emulator
Weitsman & Wood

~1149.95

yes

yes

no

CP/Mulator
Source Information

V 99.00

yes

yes

no • 7,8, 1E,20,28

PC RP/M2
microMethods

V 129.00

yes

no

SE
V

= software emulation of 8080 and/or
= V20/V30 execution of 8080 code

the DOS directory, and for reading
and writing DOS files. A utility called
CD can be used to change the DOS
directory.
PCPIP has all of RPMPIP's capabilities, including archive copy mode and
file compare. For example, you can
directly compare an MS-DOS file with
a CP/M file.
Users familiar with CP/M will feel at
home with PC RP/M2. All the standard commands are available and almost all operate as expected. There are
some minor differences. For example,

no

All BnOS and CBIOS functions
are supported

Z80 execution

to erase all files, you have to say so
twice, as in:
ERA C:*.* C:*.*
The TYPE display is paged at 24
lines. You can change the page size, or
disable paging.
For the next SAVE or program load
operation, you can set the TP A first
word address to anywhere in memory.
For example: .
SAVE 0*
SAVE 1 ZERO. TMP

saves 0000 through OOFF in
ZERO.TMP.
Swapped disks are automatically relogged, and there's a selectable search
path for loading COM files. (The
prompt shows the RP/M user number.)
You have file date and time stamps.
You can run a batch job on any drive.
You can have multiple batch streams
and can switch from one to another
conditionally on the state of a system
(continued next page)

MICRO CORNUCOPIA, #29, April-May 1986

95

DESIGNER'S VIEW OF CP/M EMULA TOR
(continued from page 95)

error flag. There's also a flaw table
utility for locking out unuseable disk
blocks.
Hash Codes And Tables
The file date and time are kept in
the directory in a structure similar to
that used in CP/M Plus; the date and
time, however, are not encoded.
The hash code vectored directory
access scheme is different from the

large table scheme used in CP/M Plus.
RP/M2 uses a hash table of size 1,2,4,8,16,32,64,128, or 256 words. An entry
in the hash table is a directory ordinal,
or pointer to an entry in the disk
directory.
The hash code is the sum of characters in the file name, masked to match
the size of the hash table. When the
hash vectored access fails to find a
directory entry, the operation defaults
to a linear search starting at the front
of the directory.

MULTI - USER
68000 BOARD

The hash table always holds vectors
to the most recently accessed directory
entries, and provides immediate access
on the second and subsequent references to the same directory entry.
Larger hash tables provide accelerated access to larger numbers of files
open simultaneously. Even a hash
table of size 1 significantly improves
performance of a program that makes
repeated references to the same directory entry - e.g. for opening and
closing a file during database updates.
Memory
The memory structure of PC RP /M2
follows a conventional CP/M 2.2 arrangement. Page zero holds the warmboot and RDOS entry vectors, and the
default fcb and record buffer. User
programs start at 0100H. The console
processor is at DBOOH, RDOS starts at
E300H, and CBIOS begins at F100H.
CBIOS
The 8080 part of the CBIOS includes
a common" data area for communication with the 8088 part of the CBIOS
that resides in the next segment. The
CBIOS supports floppy disks and the
memory disk. At present we access
the hard disk only through PCPIP
which calls MS-DOS for DOS file
access. We're working on a CBIOS
that directly accesses the hard disk as
a CP/M device.
A considerable portIon of the PC RP/
M2 development effort has been directed toward making the full· power
of the PC/XT hardware accessible to
the 8080 programmer. Direct calls to
CBIOS88 can be used to access the
entire 20-bit memory space, and the
entire 16-bit 110 space of the PC.
II

FEATURING:
•
•
•
•
•
•
•
•

8 MHZ 68000 CPU
2 Mega Bytes RAM
Memory Mapping / Manager
HD 64180 Co-Processor
8 Serial Ports
Floppy Controller
SCSI / SASI Interface
Parallel Printer Port
Price: $1500.00

HAWTHORNE TECHNOLOGY
8836 S.E. Stark, Portland, Oregon 97216
(503) 254-2005

96

MICRO CORNUCOPIA, #29, April-May 1986

Interrupt Service - Calling PC ROM
BIOS
You can directly call any of the PC
ROM interrupts.
We used this in DPTMOD (source is
on the disk), which moves the default
ROM BIOS diskette parameter table
(DPT) to a buffer. It then modifies the
step rate digit from C to D, changes
the head settle time from 19H to OFH,
then moves the modified DPT to location 0000:0522H. Then it changes the
vector· at 0000:0078H to point to the
modified table.

_M_5.-,11_0S
Utilities
We include a number of utilities
which should make any CP/Mer feel
right at home.
RPMPIP is, a file copy utility that
supports all the disk operations of CPI
M's PIP and includes other features.
RSTAT is similar to CP/M STAT.
RSTAT displays a sorted directory listing with file date and time stamps,
displays file sizes, disk capacities, and
disk space remaining, changes file attributes, and sets the iobyte.
MODEMPC is a Christensen protocol file transfer utility.
RTERM installs terminal cursor positioning emulation.
RDISK formats PC RP/M2 disks. We
use the same SSDD and DSDD formats as CP/M86.
SETDISK installs an RSX that extends CBIOS to redefine a floppy drive
to a selected CP 1M format so that
existing CP/M files can be processed
without conversion.
KEYBD reconfigures the PC keyboard to U.K., French, German, Italian, Spanish, or DVORAK.
COLOR sets the character, background, and border colors, if you have
a color card.
Refreshing Exceptions
Advances in computer technology
usually have meant abandoning the
past, rewriting code, and reinventing
ways to do the same job in the new
environment.
The V20 gives the old a new lease
on life. It's an opportunity for us to
continue using our existing software.

•••

NOW AVAILABLE for
PC-DOS CPM-86 CCPM-86 CPM-BO

-SPEED - P'OWER -

VERS)\TI'LITY~

EX·PRESS 2.0
FULL SCREEN EDITOR
'H1GH PERFORMANCE AT A FAIR PRICE

,ONLY $29. 95

SBitVersions

$34. 95

16BitVersions

DOES YOUR TEXT EDITOR REMIND YOU OF A 1949 PACKARD •.••

Stop abusing yourself. It's time to retire that doggy old clunker!
YOU DESERVE EXPRESS 2.0, the 2S0-Z of the editor world!

EXPRESS 2.0 FEATURES
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

FULL ACCESS TO CP/M USERS AREAS (up to 32) with any editor command!
NAMED DIRECTORIES supported on MSDOS VERSION!
MEMORY MAPPED VIDEO AVAILABLE FOR IBM PC and PC clones!
BUILT-IN CP/M LIKE COMMANDS (RENAME, COPY, ERASE, TYPE, DIR, LOG)!
POWERFUL KEYBOARD MACRO'S (as many as you want)!
FULLY RECONFIGURABLE COMMAND KEYS (emulate any other editor if you like)!
FAST, FAST, FAST SEARCH!
TERMINAL DATA BASE•• INSTANTLY configure for over 50 predefined terl1.linals!
FILES LARGER THAN MEMORY handled with ease!
'
CONTROL and HIGH BIT CHARACTERS maybe entered and edited!
DYNAMIC WORD WRAP/UNWRAP. FULL CURSOR CONTROL (and then some)
EASY ot SET TAB STOPS • GLOBAL/SELECTIVE/LiTERAL/IGNORE CASE REPLACE
FULL BLOCK INSTRUCTIONS including PRINT, SAVE, INCLUDE, MOVE, COPY, DELETE
VARIABLE SPEED (FAST!) BI-DIRECTIONAL AUTO SCROLL. GOTO PAGE N / LINE N
COMPACT on disk and in RAM. (even the 16 bit versions are only 25k bytes)!
NOT COpy PROTECTED!
AFFORDABLE•• High performance at a fair price is our motto
,
EXPRESS 1.0 SAMPLER available FREE on your Local Bulletin Board or for only $10.00 from
us. EXPRESS 1.0 is not just a demo. It is a real working editor with enough of the EXPRESS
2.0 features to demonstrate the POWER of EXPRESS.

Notes:
CP/M-80 version requires a Z-80 CPU running CP/M 2.2 or greater.
MSDOS version requires MSDOS/PCDOS 2.0 or higher.
We can support too many 5 inch disk formats to list them all. If you can't use one of the
listed formats, please try to give us several options.
Please allow 4-6 weeks for delivery.
Gentlemen .... I'm ready to step up to EXPRESS ... please send the following:
_ _ _ copies of EXPRESS 2.0 for CP/M-80 at $29.95 + $5.00 shipping and handling
_ _ _ copies of EXPRESS 2.0 for CP/M-86 at $34.95 + $5.00 shipping and handling
_ _ _ copies of EXPRESS 2.0 for MS/PCDOS at $34.95 + $5.00 shipping and handling
_ _ _ copies of EXPRESS 1.0 for _ _ CP /M-80 __ CP /M-86 __ MSDOS/PCDOS
at $10.00 + $2.00 shipping and handling
COD - add $3.50

Wash. Residents add .7.8% state sales tax

Make check or money order
payable to:

Shipping information:

TCI
17733 205th Ave. NE
Woodinville, Washington 98072

Name
Address
City _ _ _ _ _ _ State _ _ _ ZIP _ __
Phone Day

Disk format desired:
__' Kaypro 2
SSDD
__ Kaypro 2X/IV/10DSDD
__ Osborne 1
SSDD
__ Osborne 1
SSSD
__ Epson QX-10
DSDD
__ Other

__ Morrow MD2
__ Morrow MD3

_
_
_

Nigbt _ _ _ __
SSDD
DSDD

5" MS/PCDOS STD SSDD
5" MS/PCDOS STD DSDD
5" IBM CPM-86 STD SSDD

__ 5" Xerox SSSD
_
5" Xerox SSDD
__ 5" Xerox DSDD
__ Zenith Z90 SSDD
_ 8 " SSSD

TOMORROW'S COMPUTING INNOVATIONS
MICRO CORNUCOPIA, #29, April-May 1986

97

By Gary Entsminger

CP/M Emulators, More Pascal Winners,
and The Games Works ...
CP/M Emulators
In some cases you can have your
MS-DOS and CP/M, too.
I've tried several CP/M emulators
with my V20 (for more information
about this 8088 substitute see Micro C,
Issue 27, pages 4-7), and I'm impressed (some of the time) by at least
three of them - RPM2, RUNCPM,
and CP/Mulator.
All three take advantage of the 8080
instruction set built into the V20, and
all three can run under MS-DOS.
RPM2 runs as a standalone operating
system as well.
RUNCPM and CP/Mulator both run
from a floppy, hard, or RAM disk and
require you to change the .COM to
.CPM extension of your CP /M files
when running under MS-DOS.
RUNCPM also allows you to select
different drive formats and execute
CP/M programs directly from CP/M
disks (as .COM files).
When RPM2 boots the PC it becomes a CP/M lookalike operating system, down to every BDOS call. Neither RUNCPM nor CP/Mulator
supports all BDOS calls, and consequently can run fewer programs.
OUT-THINK (from KAMASOFT),
for example, won't work with emulators which don't support BDOS function 32 (Get/Set User Code). CP/Mulator doesn't support this function, and
I assume RUNCPM doesn't either,
since OUT-THINK won't work with
either emulator correctly. But OUTTHINK does work correctly under
RPM2.
In general, CP/M emulators work
with programs written for the 8080,
and don't run programs which directly
access system hardware to read/write
port addresses (for example, communication programs), or ones that use the
280 instruction superset. So a lot of
your favorite CP/M programs aren't
going to run. Before you buy, ask for a
list from the vendor.
All three emulators are fast enough

98

,:

to be useful (see Figure 1), even
running on a straight vanilla 4.77MHz
clone, they're faster than a Kaypro 10.
All three come with V20s, replacement
instructions, and software. RUNCPM
and RPM2 also include CP/M disk
emulation programs.
Two of the three manuals I used
were in beta test form and were terse,
but adequate. RPM2's manual is more
complete and more technical.
RUNCPM focuses more on introductory matters; CP/Mulator provides some
good technical information (complete
BDOS function differences between
CP/Mulator and CP/M, for example).
But all three emulators are easy
enough to use; you shouldn't have
many problems.

For RPM2 ($129 with V20) contact -

For more info on RUNCPM (costs
$99 with V20) contact -

KAMASOFT
2525" SW 224th Ave.
P.O. Box 5549
Aloha OR 97007
(503) 649-3765

Micro Interfaces Corporation
6824 NW 169th St.
Hialeah FL 33015
(800) 637-7226
For info on CP/Mulator (costs $99 with
V20) Source Information
P.O. Box 2974
Warminster P A 18974
(215) 628-4719

MICRO CORNUCOPIA, #29, April-May 1986

Micro Methods
118 SW 1st, Box G
Warrenton OR 97146
(503) 861-1765
OUT-THINK
If you were frustrated by the complexity of KAMAS and just want good
outline processing without a built-in
programming language, try OUTTHINK, a new offering from KAMASOFT.
It's $49, and offers an excellent online help menu, fast performance, and
complete manual, so it's easy to begin
to get organized. Fits most CP/M
computers. From -

Pascal Update
We misplaced a few Pascal Runoff
names last issue in the Winn~r' s Circle. But we're trying to make amends
- see the names in Figure 2. They
were all bonafide contestants in our
contest. (One wrote to ask if he 'had to
turn in his runoff T-shirt since his
name didn't make the first list.)

PC Keyboard
If you're in the market for a better
keyboard for your personal clone, try
Datadesk International's IBM style
keyboard. For a limited time you can
buy their keyboard (nice touch, handsome) with Superkey (from Borland)
as a package for $99.95. It's a Micro C
deal. List price - $129.95. Contact Datadesk International
7650 Haskell Ave. Ste. A
Van Nuys CA 91406
(818) 780-1673
Micro C Bulletin Board
We've updated the Micro C bulletin
board from TBBS to ROS, so you
should get better service.
ROS (Remote Operating System)
was written by Steve Fox in Turbo
Pascal and doesn't require any support
software (such as BYE or XMODEM).

New programs added this month1. Pascal Runoff winner, PROBE (in
the Kaypro area)
2. LIST, a very fast TYPE lookalike
(the best TYPE I've used, with line up,
line down, page up, and page down
in 16 variable colors) (in the MS-DOS
area)
3. The source for ROFF4 (in the MSDOS area)
4. Z, a very swift, versatile directory
program (in the MS-DOS area)
and more.
Call (503) 382-7643 and take a look
around.
To get started after you've signed
on, enter ?

for the main menu.

Enter F
for the file system (this also gives you
a directory of NEW IN).

Enter C

for change.
Enter MSDOS
(Jr KAYPRO, or whatever) for area.
And enter-

S
(and a filename) to have ROS send a
file to you.
It's easy.
The Turbo Game Works
Good. No one's watching. I think
I'll play another game of Turbo Chess.
(The bridge isn't bad either.)
With Turbo Pascal source code secrets, strategies, and an excellent manual, it's great fun from Borland International
4585 Scotts Valley Dr
Scotts Valley CA 95066
Fast Step Rate Mod For Kaypro 84s
If you want to speed up (and quiet)
the drives on your Kaypro 84, refer to
Micro C, issue 27, page 46, Figure 1,
and make these changes 2 goes to U65 pin 13
3 goes to U65 pin 4
U82 is really U44.
And that's all the Tidbits worth
biting into this issue .

•••
MICRO CORNUCOPIA, #29, April-May 1986

99

T-SHIRTS

111fT IDS
The following folks are reaching you for only 20 cents per
word. If you would like to reach the same audience, send
your words and 20 cents for each to Micro Cornucopia.

Affordable Engineering Software. Check the Advertiser's
Index for our ad in this issue. Call or write for free catalog
describing all our products. BV Engineering. 29

Disk Drive Sales & Service. Special Sale - Shugart SA
800-2 $59; MPI 52S 5 1/4" DSDD full ht. $55. TEC FB-501
5 1/4" SSDD half ht. $49. Case w/pwr supply for two 112
ht. drives $59. -- Service -- SA 800/801 $25, SA 850/851
$35, 5 114" SS $30, OS $40, 8" SS $40, OS $50. All drives
and service guaranteed for 60 days. Documentation
included with drives. Prices do not include parts or
shipping. LDL ELECTRONICS, 13392 158th St. N., Jupiter, FL 33478 (305) 747-7384. 29LY

Stop Squintingl Let MAGGIE! give your Kaypro a 40+%
larger display. Fifteen seconds to install or remove and no
tools required. Satisfaction guaranteed. If you really like
your little bitty screen better after 10 days, return
MAGGIE! for a full refund. Send $12 check or M.O. to
Kay-Pal, 107 Hudson Dr., Hendersonville, NC 28739.
Allow three weeks for delivery. 29GR

Hardware for the Kaypro Computer voice synthesizer
unlimited speech $70. EPROM programmers 2516, 2716,
2532, 2732, 2764 $110. General purpose power supply
used with EPROM programmers, $30. All hardware comes
in kit or bareboard form with software and' schematics.
Call or write Busch Computer, 395 Totoket Rd., Northford, CT 06472, (203) 484-0320. 29BU
$25 Keyboards for computer builders - 83 keys, full
ASCII; upper/lower case, all control characters, numeric
pad, caps-lock, repeat, self-test! Brand new, hundreds
sold to builders of Apples, Big Boards, Xerox 820s. Parallel
output, positive TTL logic, strobe. Uses only 106mA of
+5 volts. Custom case available. 90 day warranty unmodified. Keyboard $25. Documentation (21 pgs.)/cable package $5. Spare custom CPU/ROM $4. All 3 ($34 value) $30.
UPS additional, Sibs. Call/SASE for detailed spec sheet.
Electrovalue Industrial Inc., Box 376-MC, Morris Plains,
NJ 07950. (201) 267-1117. TF
Public Domain UG Software Rental: CP/M UG Vol 1-92
on 46 8" flippies, $45, SIG/M UG Vol 1-246 on 108 8"
flippies, $155. PICONET Vol 1-34 on 17 8" flippies, $25,
Pascal-Z UG Vol 1-30 13 8" flippies, $25, KUG (Charlottesville) 55 disks, $65, IBM-PC SIG 1-454 PC-DOS,
$475, PC-Blue 1-175 MS-DOS, $185, directory disks $5 PP.
Also available on 209 5.25" formats. Rental is for 7 days
after receipt with 3 more days grace for return. Credit
cards accepted (preferred). Downloading-disk format conversions. Call. User Group Software Automatic Update
Service, $7.50 per 2 volume set PP. 619-727-1015 info. 24
hrs. 619-941-0925 9-5. National Public Domain Software
Center, 1533 Avohill, Vista, CA 92083. TF
TBKUGlDataCOM Super Systems (tm) proudly announces the arrival of the new SUPER System!! The
remote multi-user database for the novice, the semi-pro,
or seasoned hacker. Let your modem be your guide to the
most current public domain for CP/M-80, MS/PC-DOS,
TurboDOS, Turbo Pascal, Big Board, MEX, ZCPR3, CP/M86, BASIC, Assembler, Kaypro, WordPro, and many other
special interests. We are open 24 hours a day and accept
300, 1200, and 2400 baudrates. This is a multi-user
TurboDOS-based S-l00 system featuring state of the art
equipment and dedicated to serving all your telecommunications needs. Membership fees are: $35 per year for
standard access or $125 per year gets you a VIP membership that includes UNLIMITED system usage and a
monthly update disk of CP/M software in Kaypro format.
Join over 700 other users who have made the "right"
choice. Fees are refundable if you're not satisfied within
the first 30 days! Contact Steve' Sanders at: ~KUG/
DataCOM, 2643 Cedarview Court, Clearwater, FL 33519,
or call (813) 791-1454/55 by modem and download an
application. 30
Drive Cleaning Kit Sale! 8~' only, floppyclene with
chemicals and carriers. Reg: $69.95, now $20 each + $2
postage. Datalife Head Cleaning System, Reg. $11.95 and
extra head cleaning pack (10) Reg. $20 - now just $6 + $2
postage. National Public Domain, 1533 Avohill Dr., Vista,
CA 92084.33
"Getting Started With CBAsIC" - Workbook, tutorhil
style for beginners/intermediates in this powerful language. Fundamentals through file handling, user functions, etc. Ends confusion, frustrations! Only $25/U.5.
Four Corners Press, Hanover, MA 02339. 30LI
For Sale: MK4128N-25 Mostek 128K dynamic RAM chips.
Quantity'32. Asking $2.50 ea. Used, but 100% functional.
I no longer need them' after upgrading my RAM 'disk.
Joseph Prewitt, 8060 Greenwood Court, Terre Haute, IN
47802. (812) 299-8171. 29

100

Turbo Cheques I We have developed the most comprehensive personal checkbook management program on the
market today. Professionally developed, easy to use,
supports color, hard disks, prints checks, security, controls, extensive screen displays and reports. 125 + page
User's Manual. A real value for only $39.95. Makes
balancing your checkbook every month a breeze. If not
convinced, try our Demo Disk for only $5.00! You'll be
pleasantly surprised and you can't lose. If you don't like
the Demo, we will refund your money. The Demo price
will be credited towards the full version. IBM-PC/XT.
CompuTech, Box 7000-309, Redondo Beach, CA 90277.
29FR
Computer Doctor - Will repair your SICK computer,
drive, etc. Specializing in CP/M, Radio Shack, and IBM
machines. Can also program EPROMS. SASE for more
info. (314) 243-7160. Compuft?r Doctor, Rt. #2, Box 190,
Jackson, MO 63755. 29KR
Wanted. Big Board I, 2.5 MHz, working, board only.
Garcia, 4325 Ridgepath Dr., Dayton, OH 45424, (513) 2365342. 29GA
Micromation 5-100 bus computer. Multiuser, one master
two slaves, one Qume DT-8 DSDD and one Fujitsu 2302
20MB hard drive. Sell with or without terminals (adds
Regent 25 and Televideo 925). Price $750 - negotiable.
Also Xerox 820-II with two SSDD drives and high profile
keyboard. Price $475 - negotiable. Malcolm Gray, 1502
Wagon Gap Trail, Houston, TX 77090. (713) 893-1726. 29
XEBEC model #1410E Winchester controllers. Used. Perfect condition. $125. Jim Altman, P.O. Box 4548, Anaheim, CA 92803-4548 (714) 491-8951. 29
For Sale: S-100 Main Frame - 19 slots, active termination,
reset button, key locked switch; two 8" DSDD Qume
drives in cabinet with power supply; SDSystems SBC 200;
SDSystems Expandoram III 64K expandable to 256K
memory; SDSystems Versafloppy disk controller; CCS 4
port serial I/O; Coex 64K Static RAM; CP/M 80 all
manual, etc. $800. J. Vega, 641 N. Mariposa, L.A., CA
90004, (213) 661-5433. 29

ORDER
YOUR MICRO C
T-SHIRT TODAY!
These user-friendly cream-colored
shirts are formatted in mahogany
border with black enhanced mode
design. The fully integrated system is compatible to size S, M, L,
and XL, for only $6.95 ppd. ($8.50
all foreign).

BOOKS

III

Your Fortune in the
Micro Computer
Business

8086 Coprocessor with 512K RAM for Xerox 820-II. Runs
MS-DOS and CP/M 86. Sohl Source. (402) 895-3577. 29S0
Slicer 80186 main and expansion boards, $650 for both. 8"
DSDD DC motor drive, $75. Ron Battle, 1011 Yale NE,
Albuquerque, NM 87106 (505) 842-8558. 29
For Sale: Xerox 820-11 motherboard - $135; base - $10;
monitor - $25; keyboard with metal base & cable, - $32;
Shugart SAl004 10 meg HD - $185; SSSD 5 1/4" drive '$38 with 820 drive cable. Western Digital WDl002 OSC
Hard Disk controller card - $108; TI 5 meg 5 1/4" full
height HD drive - $90; S-l00 10 slot motherbd with
connectors - $28; Expandoram,64K RAM - $48; Solid State
music video Bd. - $23; Versafioppy II/no ICs - $10. Bob
Stricklin, 2225 Arbor Crest, Carrollton, TX 75007, (214)
492-4218. 29
Slicer board' for Sale; Best offer. 90% of parts. NOT
assembled. Ken (513) 874-6382 before 10 p:m. EST. 29WI
Want to Trade: My RATFOR/C version of Kernighan &
Plauger's "Software Tools" for the Pascal version. Mark
'Bohn, 96 S: Holman Way, Golden, CO,80401. 29 ,
CompuPro 816-Asystem for sale with 380K me~ory, 512K
M-drive' H board, 8" drives, Televideo 950 terminal and
software. Asking' $4500, make an offer. Contact Donald
Howes, NW 1013 State St., Pullman, WA 99163, (509) 3320515 eves andweekerids. 29

MICRO CORNUCOPIA, #29, April-May 1986

•

• ••

Inside CP/M
By David Cortesi
$27.95 (US, Can, Mex)
$37.95 (Other Foreign)
This is one of the best
books on CP/M for everyone, users and programmers. It's our reference
here at Micro C.

Y.lu",ol
Celli"c Storied

By Victor Wild
$26.45 (US, Can, Mex)
$36.45 (Other Foreign)
This is the best, most
complete collection of
working for yourself information that we've
found.
2 volumes.

The Small C
Handbook
By James Hendrix
$17.95 (US, Can, Mex)
$22.95 (Other Foreign)
If you really want to
solve the mysteries of the
Small C compiler (or
compilers in general)
yhu'll want this book.

MICRO CORNUCOPIA
P.O. Box 223
Bend, Oregon 97709

8" CP/M 80 Disks from Micro Cornucopia
USERS DISK 112
I-Two single disk drive copy programs, both with
source
2-Crowe Z80 Assembler source
3-New Crowe.COM file, debugged version
4-New CBIOS with parallel print driver & other
extensions for CP/M 1.4 & 2.2
5-Disk mapper with source
USERS DISK 113
I-EPROM burning software for BB I
2-Reset bit 7 (unWordStar a filel
3-Disk file CRC checker
4-New fast copy program & source
5-DU77, disk inspector/editor
6-FINDBAD, isolates bad disk sectors
7-Print fancy page headings
USERS DISK 114
I-CBIOS, custom bios for Tandon drives
2-ZCPR, dynamite CCP checks drive A for missing
.COM files; improved commands
3-ZCPRBLOC, identifies CCP location
USERS DISK 115
I-CAT, disk cataloging routines
2-Modem 7 for Port A
3-Modem 7 for Port B
4-PACMAN, the arcade game
5-FAST, buffers the disk to speed up assemblies
6-NOLOCK, removes BB 1 shift lock
7-VERIFY, cleanup & verify a flaky disk
8-DUMPX, enhanced for BB I
9-UNLOAD, create .HEX file from .COM file
USERS DISK 116
1-REZ, 8080/Z80 disassembler, TDL mnemonics
2-PRINTPRN, prints Crowe listings
3-RUNPAC, run-time utility package for 8080 assembly language programs. Has 51 functions. Includes
source which assembles under ASM
USERS DISK 117
I-CHNGPFM, PFM monitor mods
2-TERM, terminal routines let you set up BB as simple
terminal, as a file receiver, or as a file sender
3-Checkbook balancing package
4-Disk Utilities - copy to memory, from memory, and
dump
USERS DISK 118
l-BDSCIO, custom BDSC I/O for BB 1 (both.h and .cl
2-YAM, Yet Another Modem program in source &
COM form. Turns BB into paging intelligent terminal,
complete with printer interface, baud rates to 9600
3-ROFF, text formatter
4-SIGNS, prints large block letters
USERS DISK 119
I-ADVENTURE, expanded 550 pt version
2-Keyboard translation program
3-CBIOS, serial & parallel printer interface
4-EPROM programmimg package for BB II, for 2732s
USERS DISK 1110 - Lots of Disk Utilities
I-REBOOT, sets up the CP/M auto load
2-SWEEP, directory/file transfer routine
3-A, Lets BB I recognize a double sided drive as one
drive with 494K of usable space
4-FIX, super disk utility, does everything, much easier
to use than DU77
5-Compare files routine
6-UNERA, retrieve erased files
7-FIND, check all drives on system for a file
8-MENU, menu program for CP/M

USERS DISK 1111 - Printer Utilities
l-Microline 92 printer routine
2-Graphics display package for MX-80 with Graftrax,
very fancy
3-Epson MX80 setup for BB I with 59.5K CP/M
USERS DISK 1112 - Games for BB I
I-ALIENS, a fast, exciting arcade game
2-ZCHESS, chess with a 1-6levellook ahead
3-MASTERMIND, match wits with the computer
4-BIO, Biorhythm charts complete with graphics on
the BB I
5-LIFE, so fast it's real animation!
6-CRAPS, see how much you'd lose in Vegas
7-WUMPUS, a caver's delight, kill the Wumpus or be
killed
8-PRESSUP, similar to Othello
9-Games, 7 games in one program, includes blackjack,
maze and animal
USERS DISK 1113
l-ZZSOURCE, disassembles to real Zilog mnemonics
2-EX14, superset of submit or supersub
3-MOVPATCH, lets you use MOVECPM on other
copies of CP/M
4-XMON, 3K expanded BB I monitor, use in ROM or
as overlay
5-CURSOR, prompts you for cursor char you want
6-UMPIRE, very fancy RAM test
7-ZSIDFIX, display improvement for ZSID
8-PIPPAT, modify PIP so you can reset system from
within PIP
9-@, Lets you use the BB as a calculator, including
HEX
10-S0RT, sort package written in C80
USERS DISK 1114 - BB II Software
l-PR032, latest 2732 reader & programmer
2-SMODEM2, lets BB II talk to Hayes smartmodem
3-GRAFDEMO, demonstrates BB II graphics (in
BASlq
4-ATTRTEST, demonstrates BB II graphics (in JRT
Pascali
5-INITSIO, initializes port B for 300 or 1200 baud
6-MENU, displays menu of .COM files, enter number
to run file
7-SETCLK, sets realtime clock built into BB II
8-PRINT2, modified print which accesses BB II clock
9-BOX, draws a thin line box on screen
10-ALIENS, space invaders arcade game
ll-LISTSET, printer interface, auto-enables RTS, ignores DCD
USERS DISK 1115 - Word Processing
I-EDIT, very fancy line editor similar to EX (Unixl
2-TED, simple minded line editor
3-TTYPE, typing training program written in BASIC
4-TINYPLAN, very simple-minded spreadsheet.
5-C80 Text Utilities
6-CHOP, cuts off file after N bytes
7-ENTAB, replace spaces with tabs where possible
8-MS, double or triple spaces a file to output
9-RTW, removes trailing spaces from file
10-TRUNC, truncates each line to specified length
ll-WRAP, wraps at column 80, plus pretty pretty
printing, page lis .••
USERS DISK 1116 - BB I Modem Software
l-RCPM27, list of U.S. bulletin boards
2-SMODEM, interfaces BB I with Hayes Smartmodem
3-PLINK66, easy to use with non-CP/M host
4-BBPAT, menu selection of BAUD rate, bits/char,
parity, & stop bits
5-MODEM 7 +, Modem 7 plus BBPAT,lets you talk to
anything from port A

CP/M Disks .......

$8.00 each ppd.
Effective April 15, 1986

USERS DISK 1117 - Small C Version 2
SMALLC2, this substantially expanded version of
Small C now includes for, goto, label, switch (easel;
external declarations; new preprocessor commands;
expanded I/O includes redirection; initializers; plus 12
new expressions. The I/O and runtime libraries have
been greatly expanded (including printfl. Source &
documentation on one disk.
USERS DISK 1118 - FORTH
IFORTH, this is Idaho FORTH which can be burned
into ROM or loaded from disk. It replaces the PFM
monitor & handles all the monitor functions.
USERS DISK 1119 - BB I Double Density
New BB I Monitor, BIOS, character ROM, Winchester
Interface, ZCPR, and formatter from Trevor Marshall.
See BB I expansion article in Issue 1111.
USERS DISK 1120 - Assemblers
CROWEASM: This is the Crowe assembler modified so
that it runs on any CP/M system (including the BB I,
BB II, Xerox ... I. LASM: This assembler is similar to
the ASM that comes with CP/M except that it can link
files at assembly time. PRINTPRN: Print routine for
CROWEASM.PRN files. LIBRARY: Utilities which let
you combine many files into one, then you can run,
type, or extrace any file within the larger system.
USERS DISK 1121 - Winchester Utilities
BACKUP: Helps you back up the winchester onto
multiple floppies. FLOPCOPY: Lets you make floppy
copies (with only one floppy drivel. BIGBURST: Backs
up a very large winchester file onto multiple floppies.
MULTCOPY: Use this like PIP but it prompts you to
change disks. Accepts ambiguous file names. MDIR:
Displays files in all user areas on selected drive.
USERS DISK 622 - Pascal Compiler
This is a real Pascal compiler. It supports only a subset
of the language (no records, pointers, booleans, reals or
complexi but it generates a real .COM file. Everything
is on this disk: the compiler, its source, example
programs and documentation.
USERS DISK 1123 - Xerox Utilities
This disk contains Xerox specific utilities including a
screen drump from Wayne Suga (with sourcel; modifications for the SWP package including ZCPR, a new
monitor, and a clock/calendar from Mitch Mlinar; and
Jim Mayhugh's new monitor (see issue 191. A very
special disk for Xeroxers.
USERS DISK 624 - Prowriter Graphics
This is a complete Prowriter printer graphics package
written by the same Micro C subscriber who wrote the
MX-80 graphics package. Plot points, lines, circles,
boxes, and more. Examples, documentation.
USERS DISK 625 - ZSO Macro Assembler
This is a real Z80 macro assembler I Syntax closely
follows RMAC and MAC. Also includes pseudo-ops to
support conditional assembly etc. No phase or relocatable code.
USERS DISK 626 - BB II CP/M 3_0 Banked BIOS/
Winchester
Support CP/M 3.0 Banked BIOS implementation for
the BB I. Roy Epperson's software to support the
Adaptec ACB-4000 SCSI and the Rodime R204 5'
Winchester on the BB II (see issue 6191. Plus more
Winchester programs.
USERS DISK 627 - BYE Remote CP/M System
BYE programs to run your BB I, BB II, OR XEROX
820-1 as a remote CP/M system using a Hayes
Smartmodem compatible modem. Includes programs to
allow restricted access.
USERS DISK 628 - VFILER and Extended Single
Density
VFILER is a screen-oriented file manipulation utility,
similar to SWEEP, CLEAN, .and DISK. Also, Larry
Blunk's documentation and software for implementing
extended single density (334KI on eight inch disks.
USERS DISK 1129 - MODEM740
The latest incarnation of the immortal MODEM7
program. Too many· features to list. Versions for both
ports of BB I (Xerox 8201 & BB II.

Order Number 9-5 PST (5031382-5060 • Technical Information 9-Noon PST Only (5031382-8048

We Also Have 8" Disks
For CP/M 86
Ask For Catalog
MICRO CORNUCOPIA, #29, April-May 1986

101

WE'RE CLEARING THEM OUT!
BACK ISSUES OF MICRO C
Only $1.50 each when you order 6 or more
All Foreign $2.00 each for 6 or more
(includes surface postage)

ISSUE NO. 14 (10/83)
BBII Installation
The Perfect Terminal
Interface To Electronic Typewriter
BBI Video Size
Video Jitter Fix
Slicer Column Begins
Kaypro Color Graphics Review
48 pages

ISSUE NO.1 (8/81)
Power Supply
RAM Protection
Video Wiggle
1/2PFM,PRN
16 pages
ISSUE NO.2 (10/81)
Parallel Print Driver
Drive Motor Control
Shugart Jumpers
Program Storage Above PFM
112 PFM, PRN
16 pages
ISSUE NO.3 (12/81)
4MHzMods
Configuring Modem 7
Safer Formatter
Reverse Video Cursor
FORTHwords Begins
16 pages

ISSUE NO.8 (10/82)
Drive Maintenance
Interfacing Drives
Installing A New BIOS
Flippy Floppies
C'ing Clearly Begins
Xerox 820 Begins
28 pages
ISSUE NO.9 (12/82)
BBII EPROM Program
Relocating Your CP/M
Serial Print Driver
Big Board I Fixes
Bringing Up WordStar
Cheap RAM Disk
32 pages
ISSUE NO. 10 (2/83)
Saving A Flake'~'isk
Hooking Win' '.,BII
The Disk J~tor

0

JRTFj~

Seri"\,,~ ooard

0

PC::...
ISSUE NO.4 (2/82)
Keyboard Translation
More 4MHz Mods
Modems, Lync, and SIOs
Undoing CP/M ERASE
Keyboard Encoder
20 pages
ISSUE NO.5 (4/82)
Word Processing
Two Great Spells
Two Text Editors
Double Density Review
Scribble, A Formatter
20 pages
ISSUE NO.6 (6/82)
BBI EPROM Programmer
Customize Your Chars
Double Density Update
Self·Loading ROM
Terminal In FORTH
24 pages
ISSUE NO.7 (8/82)
6 Reviews Of C
Adding 6K of RAM
Viewing 50 Hz
On Your Own Begins
24 pages

0

Interface
aocedures Begins
'

3b~dgeS

ISSUE NO. 11 (4/83)
BBI Expansion.x
BBII Details ~ \
Dyna, RM'O.:lk Review
Easier ~ _de Video Cursor
PllUW V..Jc Review
K'E,.OM
' Column Begins
3b-;;1..ges
ISSUE NO. 12 (6/83)
256K ForBBI
Bringing Up BBII
dBASE II
Look At WordStar
Double Sided Drives For BBI
Packet Radio
5MHz For Kaypro
40 pages
ISSUE NO. 13 (8/83)
CPIM Disk Directory
More 256K For BBI
Mini Front Panel
Cheap Fast Modem
Nevada COBOL Review
BBI Printer Interface
Kaypro Reverse Video Mod
44 pages

ISSUE NO. 15 (12/83)
Screen Dump Listing
Fixing Serial Ports
Playing Adventure
SBASIC Columns Begins
Upgrading Kaypro II To 4
Upgrading Kaypro 4 To 8
48 pages
ISSUE NO. 16 (12/84)
Xerox 820 Column Restarts
BBI Double Density
BBII 5"/8" Interface Fix
Kaypro ZCPR Patch
Adding Joystick To Color Graphics
Recovering Text From Memory
52 pages
ISSUE NO. 17 (4/84)
Voice Synthesizer
820 RAM Disk
Kaypro Morse Code Interface
68000-Based System Review
Inside CP/M 86
56 pages
ISSUE NO. 18 (6/84)
Kaypro EPROM Programmer
110 Byte: A Primer
Kaypro Joystick
Serial To Parallel Interface
Business COBOL
60 pages
ISSUE NO. 19 (8/84)
Adding Winchester To BBII
6MHz On The BBI
Bulletin Boards
Track Buffering On Slicer
4MHz For The 820-1
64 pages

ISSUE NO. 20 (10/84)
HSC 68000 Co-Processor
DynaDisk For The BBII
Serial Printer On BBI Sans SIO
Cheap & Dirty Talker For Kaypro
Extended 8" Single Density
72 pages '
ISSUE NO. 21 (12/84)
Analog To Digital Interface
Installing Turbo Pascal
Low Intensity BBI Video
Turbo Pascal, The Early Days
80 pages
ISSUE NO. 22 (2/85)
Xerox 820-11 To A Kaypro-8
Sound Generator For The STD Bus
Reviews Of 256K RAM Expansion
In The Public Domain Begins
88 pages
ISSUE NO. 23 (4/85)
Automatic Disk,Relogging
Interrupt Driven Serial Printer
Low Cost EPROM Eraser
Smart Video-Controller
Review: MicroSphere RAM Disk
Future Tense Begins
88 pages
ISSUE NO. 24 (6/85)
C'ing Into Turbo Pascal
8" Drives On The Kaypro
48 Lines On A BBI
68000 Vs. 80X86
Soldering: The First Steps
88 pages
ISSUE NO. 25 (8/85)
Why I Wrote A Debugger
The 32·Bit Super Chips
Programming The 32032
Modula II
RS-232C: The Interface
104 pages
ISSUE NO. 26 (10/85)
Inside ZCPR3
Two Megabytes On DSI·32
SOGIV
The Future Of Computing
MS-DOS In The Public Domain
Graphics In Turbo Pascal
104 pages

BACK ISSUES
U.S. Regular Price ......................... $3.00 each
6 or more 1/2 price .......................... $1.50 each
Regular Foreign Price (air mail) .............. $5.00 each
6 or more (including Canada) ................ $2.00 each
Surface Postage Included

If possible, please indicate
alternate issue in case we
are out of your choice.
Order Number 9·5 PST (503) 382·5060 • Technical Information 9·Noon PST Only (503) 382-8048

102

MICRO CORNUCOPIA, #29, April-May 1986

The Micro C
MS-DOS Library
MS-1 Essential Utilities
SWEEP, LU86403, LDIR103, WHEREIS,
SQUEEZE, UN SQUEEZE, WASH

MS-2 Cheap Assembler & Disassembler
CHASM, ASMGEN, MEMBRAIN, FSPOOL,
UNWORDST AR, RAMDISK, SDIR, SDIR SOURCE

MS-3 Adventure
The original and most cussed adventure in C, with source.

MS-4 Single User RBBS

A decent bulletin board with source.

MS-5 File & Directory Utilities
UTIL, Z, VTYPE, ST, PROTECT, UN PROTECT

MS-6 fig FORTH
We combined fig FORTH source (MS-7) with this disk so you get
both on one disk for $12.00.

MS-8 Super Games
CASTLE, a graphic and conversational adventure (note: there's a
bug that changes the game once it's been saved). TREKRUN, Star
Trek Command adventure, and BOUNCING BABY

MS-9 PC Musician, Pascal Games, Calculator
You might call this an educational disk. PC MUSICIAN teaches
you music while you're writing songs. (They play right on the PC.)
15 PASCAL GAMES with source. The games aren't memorable but
they are good examples of Turbo code (we include the source)
PROGRAMMER'S CALCULATOR shows the internal workings of
a stack, memory, and registers.

MS-10 Modems

QMODEM and KERMIT

MS-11 Multi-User RBBS 12.3
Multi-user Remote Bulletin Board System with source disk (MS-12)
included free.

MS-13 Editor & Formatter
ROFF4, PC-WRITE, and manuals on disk. Very popular freeware.

MS-14 FORTH 83
MS-15 Deskmate, Zap, Unerase
A sidekick lookalike, disk inspector, and more utilities.

MS-16 Piano Man & Other Tunes Turn your keyboard into a piano.
MS-17 Arcade Games

PANGO, PYRAMID, BRICKS, and more.

MS-18 Typing Tutor
A nice touch-typing practice tool. Keeps track of your keystrokes,
errors, and practice time. Calculates accuracy and words/minute.

MS-19 Prolog, XLisp
Introductory

int~rpreters

to improve your artificial intelligence.

When ordering, please specify:
PC Standard 5 1/4", DS/DD, 360K ............................. $8.00
Kaypro 2000 3 1/2", DS/QD, 720K ......................•....... $8.00

ADVERTISER'S INDEX
Advanced Concepts Engineering ..... 25
Ampro Computers ............... 76,77
Andratech ...........•............... 68
Aprotek ............................. 15
BD Software ........................ 39
BV Engineering ..................... 31
Bakkers, Andy ....................... 89
Borland International ... Inside Front Cover
Carolina Engineering Labs ........... 73
Cascade Electronics ................. 59
C.C. Software ....................... 44
Computer Helper Industries .......... 54
Computer Journal ................... 61
Computer Surplus Store ............. 19
Computing Technology .............. 42
CompuView ......................... 21
Craig's Computers .................. 67
Data Desk .............. Inside Back Cover
The Data Mill ........•............... 67
Decmation .......................... 36
Digital Dynamics .................... 10
Digital Research ..................... 82
Echelon, Inc ..................... 27, 61
EcoSoft ............................. 15
Emerald Microware .................. 26
Epic Sales .......................... 11
ERAC Co ............................. 78
E21 Computer ....................... 68
Ferguson Engineering ............... 65
Hawthorne Technology .............. 96
Holliston Computer ................... 8
The ICU Group ...................... 43
I nteg rand ........................... 83
Intersecting Concepts ............... 34
Kamasoft ............................ 5
Kenmore Computer Technologies .... 58
KYSO Technology .................•. 15
Laboratory Microsystems ............ 64
L-Band Systems ..................... 70
Logitech, Inc ........................ 41
Manx Software ...................... 64
Microcomputer Systems Consultants. 52
Micro Cornucopia .......... 90, 100-103
Micro Interfaces ..................... 46
Micro Methods ...................... 82
Micromint ............................ 7
Microprocessors Unlimited ... " ...... 10
MicroSphere ........................ 80
Micro Supply .................... 22,23
Miken Optical Co .................... 58
Mitek ............................... 37
National Public Domain Software ..... 20
Oliver Computers .................... 68
Orr Corp............................ 37
PC Tech .................... Back Cover
Peri ph co ............................ 57
PluPerfect Systems .................. 49
Poor Person Software ............... 71
Qua Tech ........................... 79
SBC Mart .....•..................... 42
Second City Software ................ 53
Servo Computers .................... 17
Slicer ............................... 71
Soft Advances ....................... 31
Source Information .................. 19
Southern Pacific USA ................ 10
Superior Electronics ................. 67
Systems Peripherals Consultants ..... 48
Tomorrow's Computing .............. 97
Unified Software .................... 64
United Products ...................... 1
Viking C Systems .................... 17
Western Wares ...................... 19
Westwind Computers ................ 55
WW Components .................... 75

Order Number 9-5 PST (503) 382·5060 • Technical Information 9-Noon PST Only (503) 382-8048

MICRO CORNUCOPIA, #29, April-May 1986

103

By Gary Entsminger

Clones & Bones & Tomes
PC Upgrades And·Imperfections
I've'had a good time improving my
personal· clone this:, month; (Some of
us are never satisfied).
For you joining late, my PC started
as a 4-layerMega~XT. Taiwanese IBM
PC-compatible system board (a.mouthful), video. ·and. multi-I/O cards, 2
floppies,· keyboard,. monitor, -and a 135
watt power supply;< In November, it
cost me $803, and, I assembled it in an
hour.
Now I'd pay $40-$100 more for a
similar computer and .have to wait
longer for delivery otparts.
Teac and Mitsubishi drives have
gone up in price from.$79.to $100 (or
so) each (when you can· find them);
main boards .(with 640K on board) are
$250ish, a' little spendier: And good
monitors and -good keyboards are a bit
harder to come .by.
If you're discount shopping for Keytronic keyboards, beware - most discounters are selling "keytronic style"
not "Keytronic." And keytronic style
varies from keyboard to -keyboard. If
you're really picky, you should buy
where you can test first.· (If it's really a
Keytronic, it says Keytronic all over.)
More Memory (I Needed It)
The first improvement my PC endured was an increase in memory on
the main board from 128K to 640K.
Memory costs about $10 per 128K, and
it's definitely worth it - my most
important upgrade.
With 640K I can auto-install a 256K
RAM disk (to speed up editing and
compiling), -add UNIFORM (to read
Kaypro, Slicer, or just about any other
disk format), Turbo Lightning (to correct my spelling quicker than a first
grade teacher), SIDEKICK (for the Notepad and Calculator), and still have
enough memory to run a lOOK-plus
program.
V20 Speedup
I swapped my 8088 for a V20, and
was pleasantly surprised when the
V20 (a CPU containing both 8080 and
8088 instructions) sped up my clone

104

.between 10% and 40%. (For the details
of various speed tests, see "Benchmarking Speedy PCs," this issue.)
Then, after Larry and Dave decided
to swap their PC's 14MHz crystals for
20s, I jumped at the chance to keep
up. The new crystal provides a
6.77MHz clock and increases the PC's
speed another 5-30%, for an overall
speedup of at least 50%. The Norton
utility test rated my PC at 1.7 (or not
quite twice as fast as an IBM PC). The
V20 cost $15; the crystal cost $2. The
changes take 15 minutes.
But be warned. Changing the crystal
isn't a perfect modification. The new
clock ·speed creates problems if you
have a color graphics board. The board
uses the system clock (14.31818MHz)
from its plug-in slot to generate the
color signal (and the composite B&W).
If you change the system crystal to
20MHz, then that's what the color
board gets also. The color board
doesn't care, but the monitor does,
and with the faster horizontal, vertical,
and video signals, it gets very confused and very unreadable. (See the
speedup article for a simple addition
that generates a new 14.31818 for the
color board.)
Both color and monochrome adapters use 6845 controllers to produce the
correct horizontal and vertical sync
pulses needed by the CRT, but the
monochrome adapter has its own
clocK. It couldn't care less what the
processor does.
Monochrome Is Delightful
I switched to a monochrome display,
bought a monochrome (TTL) monitor,
and. the system runs great. In fact, if
you're mainly word processing, a
monochrome display is easier to read
and easier on the eyes (although you
don't get Turbo Lightning in brilliant
color).
The monochrome display'S high resolution stems from 14 scan lines instead of 8. And if you buy a Hercules
(or compatible) card you get both the
great text (all 14 scan lines) and great
B&W graphics.

MICRO CORNUCOPIA, #29, April-May 1986

Most of the software I've tried runs
correctly on the Hercules card (WordStar, VEDIT, Turbo Pascal, Turbo
Chess, Turbo, etc.). But some programs for sure won't: Bouncing Baby
on Micro C MS-DOS disk 8, for example.
A monochrome Hercules-compatible
card costs $95. A good TTL monitor
costs at least $100. We've tried (and
like) the Magnavox, Princeton, and
NEC low-end models.
Taiwanese BIOS
If you've been curious about the
clone BIOS, here's the latest: the Taiwanese government has decided it's
better equipped to generate a clean
(legal) ROM BIOS than a Taiwanese
computer company would be.
According to William M. Raike
(BYTE's Japan columnist), ERSO (the
Electronics Research and Service Organization) has developed its own PC
compatible BIOS which it licenses to'
its computer manufacturers.
ERSO is sponsored by the Taiwanese government and acts as legal
negotiator with the U.S., thus letting
small Taiwanese computer companies
avoid legal entanglements and get on
with the business of making very
compatible, dependable, and inexpensive PC parts.
Supposedly, by involving itself in
the copy market, the Taiwanese government discourages piracy.
The Way Of Life
Lao Tzu, a famous Oriental born
around 600 BC, and looking ahead to
our age, wrote a note Knowledge studies others,
Wisdom is self-known;
Muscle masters brothers,
Self-mastery is bone;
Content need never borrow ...
and IBM, in their wisdom, looking ahead to another coming faster, added:
You'll thank us for the memory.

• ••

RISK FREE
3D-DAY MONEY-BACK GUARANTEE

I\NO COMPI\1\BLES *

FOR ,{OUR IBM PC. X1,
Both

Hardware &Software

~
. _ad!5.

:AT"I£W

¥.t~
I\RD f\~\}

.

,'~#'C~~~.

.

£ t{£'180

~~ \»C

ft'Nf\~~

\¢\\\ 1\1-Sf'IU~£Rt{£'1®S~,,,~

~\1S S

O\)~ ~ V,O~~

1/tfo '1J;~n

o/V8 5/1J1jffr

THE PC 8700 AT-STYLE KEYBOARD INCORPORATES EVERY IMPROVEMENT
IBM DESIGNED INTO THEIR ADVANCED "AT" KEYBOARD. QUALITY SO
GOOD, IT'S BACKED BY AN UNPRECEDENTED TWO-YEAR WARRANTY!

RETAILS ALONE FOR $69.95

CRITICS CHOICE
Advanced design features include:
• Separate Numeric Keypad simplifies
data entry
• Status Lights for Cap, Num and Scroll
Lock helps eliminate typing errors
• Extra-wide Control and Return Keys for
ease of use
• Return Key placed in "standard
typewriter" position for touch typists

"The·keyboards construction is solid . .. also quick and
responsive to the touch. It is ideal for anyone who wants to or
has to replace their PC keyboard . .. At 1129.95 DataDesk's
keyboard is a bargain. The PC 8700 keyboard with SuperKey
for that price is a steal. "

• Selectric layout for Office
Standardization
• Positive Tactile Feedback
• Keyswitches rated for 50 million
keystrokes
• Made in USA
• 2¥ear Warranty

Computer Shop Talk, 3-3-86

"DataDesk International has designed a sturdy and
handsome keyboard that has a tactile response . .. and
bundled with SuperKey is the PC hardware bargain of the
year."
Charles Humble -

BORLAND'S AWARD-WINNING SUPERKEY INCLUDED! GET THIS BESTSELLING KEYBOARD ENHANCER SOFTWARE - VALUED AT $69.95 - AS
PART OF THIS AMAZING OFFER AND CAPTURE THE POWER OF MACROS!
SuperKey's macro capability is remarkable. It literally turns a thousand keystrokes into one.
Features include:
•
•
•
•
•

Exclusive screen data Cut & Paste
Screen Privacy and Protection
Time & Data Stamping
ProKey Compatibility
Data Encryption

•
•
•
•
•

Keyboard Lock
Keyboard layout customization
Integration with SideKick
Pull-Down Menus
On-Line Help and much, much more!

Corporate and Institutional Purchase Agreements Available

7650 Haskell Avenue Suite A
Van Nuys, CA 91406
INTERNATIONAL

• pc Jr., AT&T and Corona computers require adaptors available at a nominal fee. Call for pricing.
SuperKev and SIDEKICK' are registered trademarks of Borland International, Inc.
IBM, PC, XT and AT are registered trademarks of International Business Machines Corp.

Computer Editor, The Oregonian

ORDER NOW - CALL TOLL FREE 800·826·5398; IN CA 800·592·9602
or fill out coupon and include check or credit card number and mail to DataDesk
International, 7650 Haskell Ave., Suite A, Van Nuys, CA 91406.

1-----------------;
SUl1opMacpo KOVs.
I PLEASE RUSH ME_ _KEYBOARD/SUPERKEY BUNDLES AT

I

$99.95 EACH. PLUS $10 SHIPPING AND HANDLING IN THE U.S.A.

:

0 ENCLOSED IS MY CHECK FOR $109.99 FOR EACH BUNDLE
($116.45 FOR CA RES. - SALES TAX INCL.)
D VISA D MC NUMBER _ _ _ _ _ _ _ __

1

EXP. DATE _ _ SIGNATURE _ _ _ _ _ _ _ _ __
NAME _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

I
I

I
I
I
I
I

ADDRESS _ _ _ _ _ _ _ _ _ _ _ _ _ __
CITY
STATE
ZIP_ __
COMPUTER TYPE & MODEL _ _ _ _ _ _ _ _ _ __
* OFFER EXPIRES MAY 31, 1986

All Kits Now
Fully Soldered .

PLUS PC COMPATABILITY!
Features:

Kits

• 8 MHz.80186 microprocessor with true
16-bit data bus.
• True PC compatability with our own custom
ROM BIOS and PC cardslots for the video
of your choice.

a.
~vJ

sta. ndard 512K zero wait DRAM, 640K or
1M options.

• 8087 numeric coprocessor port.
• On-board floppy disk controller for up to
four 5%" drives.

• On-board SCSI hard disk controller port.

Designed, Manufactured and Serviced by:

PCI£CH

P.O. Box 128
904 North 6th Street
Lake City, MN 55041
(612) 345-4555

COD, VISA, MASTER CARD, CERTIFIED""FUNDS

• Quick Kit .......................... $
• Full Kit. ........................... $
• Assembled and Tested .............. $
• 112 MEG Add-On .................... $
• XT Style, Enclosure ................. $
• 150 Watt Power Supply ............. $
• 5114" 48 TPI DS
112 Height Floppy Disk Drive ........ $
8087-2 Coprocessor Board .......... $

~
~vJ

NEW LOWER
PRICES

.

625.00
750.00
850.00
150.00
75.00
105.00
125.00

Call

Total Solutions:
Assembled and Tested Systems

• Mono-Chrome System .............. $ 1599.00
Includes: 512K, Power Supply,
Enclosures, Keyboard, Monitor,
Two Drives, and Printer Port.
• Color System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... Call .
• Quantity Discounts Upon Request
• Call For Info on Add-Ons, Hard Disks, Etc.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2013:07:14 19:20:48-08:00
Modify Date                     : 2013:07:14 19:38-07:00
Metadata Date                   : 2013:07:14 19:38-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:fd897181-f509-5846-9715-fe091b3fdd64
Instance ID                     : uuid:a77989e0-7aca-3b4d-b7e3-bcb23824232c
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 108
EXIF Metadata provided by EXIF.tools

Navigation menu