home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ZSYS
/
ZNODE-12
/
I
/
PIPMAG6.ASC
< prev
next >
Wrap
Text File
|
2000-06-30
|
93KB
|
1,757 lines
PIPMAG COPYRIGHT NOTICE
PIPMAG, the Online Magazine of The National CP/M RoundTable on GEnie is
Copyrighted in its entirety by Brad Harris for the protection of the authors'
articles contained within this Online Publication. This in no way supersedes
the Copyright by the original authors.
Distribution and electronic transmittal is encouraged for individual, private
use and for Non-Profit BBSs'. Use by, or transmittal to Commercial or charge
services is prohibited. When distributed, the entire issue (complete) con
tained within must be intact.
Written permission to copy or otherwise distribute portions of PIPMAG may be
obtained through the individual authors or through Brad Harris (GEnie mail
address BRAD-HARRIS)
Copyright (C) 1990 by Brad Harris
VIEWING PIPMAG
PIPMAG may be read, buffered or scanned in menu form, as you are doing now.
PIPMAG will also be available as an .ARK file in the CP/M Library.
Please use Control S to pause, and Control Q to resume viewing.
The CP/M PIPMAG
dBASE Importing and Exporting
by
RICHY
One of the things I like most about dBase is the ease of importing data,
which is a big work saver when I get to save all the time needed to enter the
data manually. Special options of the APPEND FROM and COPY TO commands make it
easy to import and export data with dBase. The easiest way to import data is
to use a word processer and format the data as regular text into rows and
columns. Here is an example, (I have put the "to be" field names above the
columns):
Area
State City code
Missouri Cape Girardeau 314
Pennsylvania Norristown 215
California El Monte 818
Hawaii Honolulu 808
Each row or line equals one record, each column equals one field. Simply
line up the fields and end each line with a carriage return. Then count the
digits of each column and note them down for when you go to CREATE your data
base. For the above example count the digits for each column. The correct
counts are State = 15, City = 15, and Areacode = 3. Below is a look at the
data base structure for this data base:
Structure for file: M:AREACODE.DBF
Number of records: 00000
Date of last update: 00/00/00
Primary use database
Fld Name Type Width Dec
001 STATE C 015
002 CITY C 015
003 AREACODE C 003
** Total ** 00034
Below shows how to import data from a text file. The "sdf" at the end of
the command line tells dBase that the file which is being appended from is in
the System Data Format:
. use areacode
. append from areacode.txt sdf
00004
records added
. list
00001 Missouri Cape Girardeau 314
00002 Pennsylvania Norristown 215
00003 California El Monte 818
00004 Hawaii Honolulu 808
NOTE: This process is not sensitive to file tail. The .sdf tail is an
option to help you keep track of what type of file it is. No tail is necessary
for the process.
Now here is a look at the records using the edit option of dBase. This
shows that the importing was perfect, with the first character of the fields
falling right after the colon. If you find this not to be the case when you
use the System Data Format, (.sdf), then check the uniformity of your columns,
recount the digits of your columns, and check this against the data base
structure.
RECORD # 00001
STATE :Missouri :
CITY :Cape Girardeau :
AREACODE :314:
RECORD # 00002
STATE :Pennsylvania :
CITY :Norristown :
AREACODE :215:
RECORD # 00003
STATE :California :
CITY :El Monte :
AREACODE :818:
RECORD # 00004
STATE :Hawaii :
CITY :Honolulu :
AREACODE :808:
Text is just as easy to extract with dBase with the COPY TO command:
. use areacode
. copy to areacode sdf
00004
records copied
\ .
This extracts the data and copies it into a text file named areacode.txt.
Any tail may be supplied if desired. If no tail is provided dBase will use the
.txt tail.
. copy to areacode.doc sdf
The above command line will give a text file called areacode.doc.
The other file type used for dBase importing and exporting is the delimited
type. Instead of outputting a file in perfect rows and columns, this method
outputs a file which is delimited with commas, apostrophes, quotation marks,
and others as you can specify. I won't get into a lot of detail here, but
simply say this is an excellent way to backup a .dbf file. Here is how you
would use the delimited option:
. use areacode
. copy to areacode.cdf delimited
00004
records copied
\.
Here is what the output would look like:
'Missouri','Cape Girardeau','314'
'Pennsylvania','Norristown','215'
'California','El Monte','818'
'Hawaii','Honolulu','808'
Notice the byte count would be less, since the trailing spaces have been
trimmed. This can save up to 50% in disk space for keeping a backup data file.
Here is how you would import the data back into a .dbf file.
. append from areacode.cdf delimited
NOTE: It would be a good idea at the time of backup to keep a copy of the
.dbf structure along with the delimited backup data file. Here is how to make
an easy copy of the structure:
. copy structure to backup
This will give you a .dbf file named backup.dbf which will be empty and
ready to use in case of a loss of the original.
When using the delimited option for output, you have a choice of how the
file is delimited. Fields will be separated by commas, but you can select the
character you wish the fields to be bracketed with. There is a WITH option you
can use at this point. Say you have apostrophes in a field, and you want to
avoid confusing the process, since the apostrophe ' is the default character
dBase uses to bracket each field. Here are 4 examples, and their output.
Notice the last one I inserted a comma in Cape,Girardeau. (The bracketing of
each field allows for commas to be a natural part of a character field with
out messing up the process of delimited file types.
Copy to filename.cdf delimited with *
would yield
*Missouri*,*Cape Girardeau*,*314*
*Pennsylvania*,*Norristown*,*215*
*California*,*El Monte*,*818*
*Hawaii*,*Honolulu*,*808*
Copy to filename.cdf delimited with "
would yield
"Missouri","Cape Girardeau","314"
"Pennsylvania","Norristown","215"
"California","El Monte","818"
"Hawaii","Honolulu","808"
Copy to filename.cdf delimited with +
would yield
+Missouri+,+Cape Girardeau+,+314+
+Pennsylvania+,+Norristown+,+215+
+California+,+El Monte+,+818+
+Hawaii+,+Honolulu+,+808+
Copy to filename.cdf delimited
would yield
'Missouri','Cape,Girardeau','314'
'Pennsylvania','Norristown','215'
'California','El Monte','818'
'Hawaii','Honolulu','808'
If the WITH option was used, then you would need to include it to import
the data back into dBase, using the same delimiter you had use when exporting
the file.
Well that wraps up this little article. Hope it helps you out as you
explore the power of dBase.
The CP/M PIPMAG
Write it Right
By
Robert Coleman (R.COLEMAN3)
CP/M abounds with writing tools. This is one application where even staunch
critics of CP/M agree. And it's true. Wordprocessing is perhaps how most
CP/Mers (and home computerists in general) spend their time, happily typing
away. It would not be surprising then, that any article extolling the virtues
of one wordprocessing tool versus another would draw heated debate. So, with
that in mind, I would like to share some of the programs which I find useful,
knowing that they represent only a few of many, currently available both
commercially or in the public domain.
One overlooked tool available to a writer is a good outliner or what is
sometimes known as a 'thought processor'. When starting out on a project,
nothing can be as intimidating as an blank monitor screen. With the outliner
you can casually sit back and just think, jot down some ideas, and before you
know it, you are getting ORGANIZED. The best PD program I have found in the
GEnie CP/M RoundTable libraries is Outliner by David A. Usher [1]. It is easy
to learn -- many of the editing commands are similar to WordStar. As an
example, I have included a simple outline of this article. Effortlessly,
sitting there practically drooling in my shoes, I was able to create this
simple beginning:
introduction
outliners
wordprocessors
spellcheckers
Grammatik
closing
Impressive? No. Okay, but at least it's a start. Next, my mind will start
wandering while my fingers hunt and peck. Soon I arrive at the next level of
complexity:
introduction
CP/M abounds with good writing tools
outliners
Outliner
wordprocessors
WS 4.0
VDE 2.66
spellcheckers
Spellguard
The Word Plus
Grammatik
a friend -- a proofreader
closing
include odds/ends section
Quickly, this handful of words start to come together and form more ideas. I
find myself moving from line to line, inserting, deleting, thinking --creating
the shell of a piece of writing. I find that it really gets the juices
flowing. This procedure continues:
introduction
CP/M abounds with good writing tools
outliner
Outliner
this one is nice with adequate editing ability
wordprocessors
WS 4.0
I am a big ws fan
VDE 2.66
I was impressed with D.FOWLER's review
spellcheckers
Spellguard
a solid product
The Word Plus
many advanced features
Grammatik
a friend -- a proofreader
closing
include odds/ends section
One remarkable feature of Outliner is that you can observe varying levels of
complexity during this brainstorming process. With a simple keystroke you can
view only the main topics and then expand back to the sub-levels at will.
Another nice feature is the ability to create .TXT files of any displayed
level. The examples above are the ACTUAL Outliner screens, saved as text
files, one at a time. Then while writing this article, I simply inserted (^KR)
them in. (Talk about integrated software!)
In short, this is a handy tool. The above examples are only a preview of its
true potential. It can be used to write speeches, presentations, itineraries,
even the outline of an entire novel. Needless to say, the more organized you
are in the beginning, the easier it is later. With a good outline, the actual
work of writing can be easier and even fun.
Even with a simple outline, it is just a matter of expanding on the topics and
filling in the details with your favorite wordprocessor. I won't go on about
'WordStar 4.0' [2]. It's been reviewed to death. I will say that for $90,
which is what I paid to be a registered owner, it is worth every penny. Sure,
it's big and slow, but it's also tried and true, and it is the standard by
which other such programs are measured. Running on a 1750 REU and my C128, it
is WONDERFUL. But I must admit, you need a RAM drive or a fast hard drive to
avoid the long pauses for disk accesses. After reading Dennis Fowler's review
of VDE in PIPMAG5 and Tom Mcenroe's article on ZDE in the same issue, I think
I might give one of these a try on my Osborne 1. WordStar 4.0 does run like a
dog off a floppy drive. For the most part though, WordStar and its clones are
the mainstay programs of CP/M, and there's not much to be added here.
After a writing session, I like to 'sleep on it'. The next day, I always find
a better way to say something (in fact, I could keep twiddling with ideas
forever if I didn't force myself to eventually give them up and move on).
Anyway, after your masterpiece is 'finished', a spellchecker is the next order
of business. Again, there are many PD as well as commercial programs
available. There are two with which I have some experience. One is
'Spellguard' [3]. It is menu driven with the regular Add/Mark/Ignore features
found in most spellchecker programs, where 'Add' -- adds words that are in
fact spelled correctly, but are not currently in the dictionary; 'Mark' -- you
can flag a misspelled word with a character of your choice, go back with your
wordprocessor, search for the character and then correct the misspelled word;
and 'Ignore' -- you can skip certain words that are okay, ie: names,
abreviations, etc. Perhaps the only problem with Spellguard is the wimpy 20K
word dictionary. Of course you can add your own word lists later, as it
includes some nifty maintenance utilities. To sum it up, Spellguard is not a
killer but a respectable and well documented commercial program.
Again, I promised not to go on about WordStar 4.0, but 'The Word Plus' which
is the spellchecker program provided with WS 4.0 is really something. Not only
does it have the Add/Mark/Ignore features, it also has 'Lookup' -- which looks
throughout the dictionaries (both main and user) for words that are similar to
the misspelled word. There is 'Correct' -- which allows you to use a word
found with Lookup, or simply type a correction at the prompt. You can 'Add' a
word to a user dictionary. You can also move to a 'Previous' word or the
'Next' word in the misspelled word list during the same session! This is great
for those times when you get an afterthought, or you inadvertently made some
regrettable addition to your dictionary. But the feature that I find the most
powerful is 'View' -- you can view the misspelled word within the actual text.
I have found myself at times picking up a thesaurus (unfortunately, The Word
Plus does not include one) and even changing the misspelled word to an
entirely different word.
The Word Plus also includes some utilities; some unusual. There is 'Find' --
which can be used with wildcards ('?') to solve crossword puzzles! There is
also 'Anagram' -- finding words within scrambled groups of letters. There is
'Homonym' -- to help find similar sounding words with different meanings such
as: Bazaar vs. Bizarre, etc. And of course, there is 'WordCount' -- to count
the number of words in your document, and also 'WordFreq' -- to help you
analyze your choice of words. Indeed, these are helpful utilities. The Word
Plus has got to be among the top spellcheckers available for CP/M.
Now, you started with an outline, wrote your document, and checked the
spelling so that even my old sixth grade teacher Mrs. PruneJuice would find it
halfway acceptable. Most people would wrap it up and throw in the towel at
this point. But there is still another step to achieving good writing: having
a proofreader is a valuable asset. Afterall, the writer gets so close to his
work that perhaps he can't be objective; that and is going blind reading and
re-reading the darn thing. I have found 'Grammatik' [4] to be an indispensable
tool. What is Grammatik? It is a program designed to proofread your document
and help find the flaws in your grammar. This program is menu driven, much
like a spellchecker, but uses a dictionary of phrases as well as words. After
making some of the menu choices for ignoring certain WordStar format
characters, and setting up destination files and printer/display options, I
send the program off to proofread my document. The program flags errors for
such things as: vague adverb usage, wordy phrases, archaic or awkward usage,
redundant phrases, etc. The list goes on, and when the proofreading is
completed, I have a file with the errors flagged and ready for yet another
edit. Some of the suggestions offered are not always accurate, but I am always
amazed at just how much better my writing can be when I take another look.
Grammatik is a valuable utility for anyone who strives to write effectively.
Odds and Ends
[1] Outliner, release 1.0. Copyright 1987, David A. Usher, GEnie CP/M
RoundTable library #12, file #4846.
[2] WordStar 4.0, Copyright 1979,1987, Micro Pro. $89.95. phone 1-800-227-
5609.
[3] Spellguard, version 2.0, Copyright 1980, Sorcim. *
[4] Grammatik, version 1.82, Copyright 1981, Aspen Software Co. *
* Note: Both of these programs can be purchased from Public Domain Software
Copying Company (PDSCC), 33 Gold St. 13, NYC, NY 10038. Phone: 1-800-221-7372.
Both cost $28 each, or $10 each with the purchase of WordStar 2.26 ($39). This
company sells many CP/M titles, some still in the shrink-wrap. If anything,
call and have them send you a free brochure.
Creative Micro Designs HD-20
A Hard Disk for Commodore Computers
Review
by
Brad Harris (BRAD-HARRIS)
As 8-bit computers from Commodore slowly fade into the sunset, so goes third-
party support. One of the remaining few companies that still supports
Commodore computers, and without question one of the hottest, is Creative
Micro Designs. Their initial offering, JiffyDos, brought disk access speed up
to par with the rest of the computing world. The only thing still lacking was
a truly compatible hard disk drive that was both affordable and simple to
install and use. With the introduction this past spring of the HD series, that
void has been filled.
The drives come in three storage capacities. The basic model is the HD-20,
reviewed here, which is (logically enough) a 20 Megabyte unit. Also available
are the HD-40 and the HD-100, differing only in the amount of disk space they
offer.
Physically, the drives are slightly larger that a 1581 and use an external
power supply. They contain an SCSI controller and either a Seagate or Connor
SCSI drive. They also feature a battery-backed real-time clock-calender. On
the rear panel are the usual two serial ports, power connection and an on-off
switch. There is also an SCSI port for connecting other SCSI devices, and
auxiliary and parallel ports, neither of which are implemented at present. The
SCSI port can be used to expand the capacity of the unit by connecting
additional drives. There are no device number switches. Selection of the
unit's device number is done through software. Internally, there is no
traditional DOS ROM. Rather than burn the DOS onto a chip, CMD (Creative Micro
Designs) elected to put it in software and read it into the drive RAM at power-
up. This allows for easy upgrades. On the front panel are a set of status
lights and four buttons. The buttons allow you to swap the HD-20 with
whichever drive is currently device 8 or 9, write protect the whole drive, and
reset the unit. These buttons also allow you to change partitions, which can
be very helpful when in a program that doesn't allow you to send commands to
the drive.
The manual is contained in a loose-leaf binder. It is for the most part
extremely comprehensive although in a couple of areas it is painfully brief.
The table of contents is good, and the organization of the manual is fairly
logical (although in this writer's opinion, CP/M should come first). There is
no index.
Support is an area where CMD stands out. They offer help here on GEnie in the
Flagship RoundTable (Page 625) Bulletin Board, Category 21. They also have a
support area on another commercial system which for obvious reasons will
remain nameless. And they operate their own BBS system, using the only HD-200
in existence for storage.
The drive can be divided into a maximum of 254 separate partitions. Several
different partition type are supported, four of which emulate standard
Commodore drives to ensure maximum compatibility. These are the 1541, 1571,
1581, and 1581 CP/M modes, and to the computer and most software, these ARE
the drives they emulate right down to the BAM, track and sector level. Copy-
protected programs (or copy programs, for that matter) that look for specific
data in the drive's ROM will not be fooled, however. To load copy-protected
programs onto the hard disk, a utility that removes the protection must be
used to create an unprotected version on another floppy disk. This can then be
copied to the HD-20.
Native mode partitions are variable in size. A partition may be as large as 16
Megabytes, or as small as 256 blocks. These can be further broken down into MS-
DOS style directories and sub-directories. In addition, two utilities, 1541SUB
and 1581SUB, are provided which will create 1541 or 1581 type subdirectories
for use with programs which expect to find the directory track in a specific
location on a disk.
Foreign mode partitions potentially allow the HD-20 to be shared with another
computer that uses an SCSI interface. This is done through the port on the
back of the drive, which is pin-compatible with the Apple Macintosh. However,
the manual only contains one paragraph on this.
Installing the drive is as simple as it can possibly be. One end of the serial
cable is plugged into the computer, or into another drive as part of a daisy
chain; the other end is plugged into the hard drive. Then, after making sure
that the switches on both the power supply and the drive are turned off, the
appropriate cords from the power supply are plugged into the wall socket and
the drive. Once all connections have been completed, turn everything on in
your usual order, and you're ready to go. My C128 won't recognize any drives
which are off when the computer is first powered up, so the HD-20 gets turned
on first. CMD recommends leaving the power supply plugged in and turned on at
all times and using the switch on the drive to turn it on and off, stating
that this will extend the life of the clock battery. Those of us who live in
lightning-prone areas will want to follow our usual procedure of unplugging
everything when not in use.
As shipped, the HD-20 is configured as device 12. It is already formatted and
is set up with at least one of each type of partition, with the contents of
the supplied utility disks already loaded into one of them. The device number
is changed from within the HD-TOOLS program, which is one of those utilities.
This program is also used to select the partition which the HD-20 is in at
power-up (default partition), view the partition table, and add or delete
partitions. Deleting a partition other than the last one automatically moves
up everything which follows it, to fill the void. This means that nothing in a
deleted partition can be recovered, as it has already been overwritten, and
the process can take a considerable amount of time. Take care when using this
command. A much safer way to go is to use the DOS NEW command instead.
The programs which come with the HD-20 include the aforementioned HD-TOOLS and
1541SUB and 1581SUB. There is also a file copier, and a whole-disk copier
which doubles as a backup program; head parkers, a clock utility, an autoboot
maker, a track and sector editor, and a program to scan for and lock out bad
blocks. In addition, there are programs to upgrade the DOS, perform a low-
level format of the disk, configure the SCSI controller for additional drives,
and read the data from the manufacturer's information area of the hard disk.
There are a number of GEOS utilities. GEOS can be made to boot from the hard
disk, but you have to supply your own copy. Also included is software for the
above mentioned but still nameless commercial information system. Last, but
most important (at least to me), is SPORT.COM, a CP/M program that sends
commands to any device on the serial bus. This allows switching between CP/M
partitions without having to leave CP/M, make the switch, then reboot. More on
this in a bit.
The HD-20 is fairly fast. In conjunction with JiffyDos on a C64 or a C128 in
C64 mode it's nothing short of greased lightning, offering about an 88%
reduction in load times. On a C128 in native or CP/M mode, however, it is only
marginally faster than a 1581. I've been told that the limiting factor here is
the speed of the Commodore's serial bus. RAMLINK, a parallel adapter that is
in the works at CMD, and will offer RAM expansion capability as well, will
overcome this limitation and provide true hard disk speed. This will plug into
the cartridge port on a C64 or C128, and connect to the parallel port on the
HD-20. It's scheduled for release around the end of the summer (in other words
"Real Soon Now").
Speed aside, the main attraction of a hard disk is it's storage capacity. At
the beginning of this review I mentioned partitions of up to 16 Megabytes.
While this is true in Native mode partitions, these are only accessible in the
C64 and C128 modes of the computer. In CP/M mode only 1581 CP/M partitions can
be used. While you can create as many of these as you wish, and can switch
between them using either SPORT.COM or the front panel buttons, this is a
serious deficiency in the operating system.
SPORT.COM itself deserves a few words. This little utility (it's less than 900
bytes long, although it takes 2K of disk space) is one of the handiest thins
to hit the pike since perforated toilet paper. It allows you to send commands
to any device on the serial bus. In the case of the HD-20, this includes
things like switching partitions. But it's use isn't limited to the hard
drive. You can also use it to do things like send commands to the printer or
printer interface, or to any of your other drives. If you ever wanted to know
what Error: BDOS function 17 Filename ????????.??? means in plain Commodore-
speak, this is what you need to use to find out. Since it's a copyrighted
program, you have to buy an HD-20 to get it.
Using the HD-20 in its most basic functions is no harder than using any other
Commodore disk drive. All of the Commodore DOS commands are supported,
including direct block access; memory reads, writes, and executes; burst
commands; and utility (U) commands. Some of them don't really do anything, but
are just there for compatibility's sake, and a number of them are enhanced to
take advantage of the HD-20's features. Many of these enhanced features can
used in BASIC or machine language programs, and with JiffyDos can use a much
shorter syntax than is used normally.
In most of the Commodore world, CP/M is viewed as a poor stepchild.
Unfortunately it seems that this is Creative Micro Designs' opinion too. The
ability to change partitions from the front panel helps increase the utility
of the drive, as does the SPORT.COM program. The Swap 8 button allows CP/M (or
anything else that must be run from the first floppy) to be booted from the HD-
20, and this is also helpful. Still and all, what the HD-20 boils down to for
CP/M use is just a very expensive box of 3.5" disks, and if your primary use
of the C128 is for CP/M that's exactly what I recommend you buy. A 1581 drive
and 30 disks will cost you a lot less and give you more storage capacity, and
if you put the box of disks on top of the drive, won't take up any more desk
space.
An upgrade to the operating system which allowed the HD-20 to be used as a
real hard disk in CP/M mode would be reason for me to completely reverse the
above recommendation. Are you listening, CMD?
For the C64 user, or C128 user who doesn't do much with CP/M, the HD-20 is the
be-all and end-all of disk drives. In this case it offers massive storage
capacity and instant access. What more can you ask for?
The HD series of Commodore-compatible hard disk drives is available from:
Creative Micro Designs, Inc.
50 Industrial Drive
P.O. Box 646
East Longmeadow
MA 01028
Phone - (413) 525-0023
FAX - (413) 525-0147
BBS - (413) 525-0148
HD-20 - $599.95
HD-40 - $799.95
HD-100 - $1299.95
Shipping and handling - $25.00
Prices and shipping higher for foreign orders
The CP/M PIPMAG
The Art Of Conferencing
or
How to get more out of a Conference
by
Peter Jacobson (PETER-CPM)
If you haven't attended a formal or informal Real Time Conference on GEnie,
here are some tips to get you started with a minimum of fuss.
First off, you should choose a terminal program which has either a "split-
screen" or a "chat line" option. The reason for a "chat line" is that it will
allow you to "type ahead" your message without interference from others who
may be messaging at the same time. It also makes the screen easier to read
without "doubling" what you type in.
[Editor's note: The only CP/M terminal that I am aware of which offers a split-
screen "Chat" mode is David Goodenough's QTERM, file 7239. There are versions
or overlays available for a number of different computers.]
When you first enter the Conference Room, you should already have your "chat
line" enabled. After you enter, to promote a more friendly atmosphere, you
should add your first name to your GEMAIL "name" with the "/nam" command in
the RTC. The syntax is: /nam firstname <RTN>. While you're at it, say "hello"
and introduce yourself if you care to. For online HELP, type a "?" (without
the quotes) as the first character on a line and a RETURN.
At times when there is a "formal" Conference, you will usually be so informed
before you enter the Room or shortly thereafter. One way to determine this if
you're not sure is if after you do a "/nam" it does not appear onscreen. This
means that the Meeting Leader had put the Room in what is called "Listen Only"
mode. This is usually the case when there is a guest speaker. Listen Only
keeps others from "chatting" when the guest speaker has the "floor". If you
decide you would like to ask a question of the guest speaker, simply type in:
/RAI <RTN> and you will be put into a queue with others who have questions.
When it comes to your turn to ask your question you will be notified onscreen
by the meeting leader. Be sure to type in your question into your buffer and
be ready to hit <RTN> when your turn comes up. This tends to speed up the
Conference and keeps the Conference flowing.
Here is a rundown on the most commonly used commands in the RTC:
/HELp - Gives a list of all the commands
/BYE - Leave the RTC
/EXIt - Return to the last menu
/KNOck rr - Knock on door of room 'rr' (used when room is 'locked')
/MONitor rr - Monitor room 'rr'
/NAMe nn - Add first name 'nn' to GEMAIL address
/QUIt - Return to menu
/RAIse-hand - Get the attention of the Meeting Leader
/ROOm rr - Move to room 'rr'
/SENd jj m - Sends to job 'jj', message 'm'
/SHOw hh - Show job of address 'hh'
/STAtus rr - See users in room 'rr'
/TIMe - Display time and day
/USErs - See number of users
/WHO jj - See address of JOB 'jj'
/XMOnitor - Exit monitor mode
Using /STA will give you the GEMAIL names of everyone who is in the Conference
Room. In the listing you will see a number in front of the name and either "L"
or "N". The number you see is the number you use when you want to send a
private message to someone in the Conference Room. The command you use is
/SEN. The syntax is: /SEN contents of your message <RTN>. It should be used
when you don't wish the message to be seen by others. If you wish to know who
the MEETING LEADER is, that is signified by the "L" near their name in the
/STA command.
For the most part, our Conferences in the CPM RT are informal. We tend to keep
them that way so that more can participate in discussions. It is the attendees
that make a conference what it is. Everyone is welcome to attend. Don't be shy
about asking questions or offering comments ... Some people tend to think they
shouldn't ask a question because they think it's "stupid". Well, there is no
such thing as a "stupid" question if you don't know the answer. We are here to
help you to make your adventure into CP/M a pleasant one. Come join us every
Wednesday night 10:00 PM ET for our regular Conferences and every Saturday
night at 10:00 PM ET for our CP/M Help Desk.
The CP/M PIPMAG
The Z-System Corner
Jay Sage
This article originally appeared in The Computer Journal, Issue
Number 42 (Copyright (C) 1990 by Technology Resources), and is
presented here with the permission of the author.
A number of newer TCJ readers have commented that with this column they feel
that they are coming into the middle of a very involved discussion that is
hard to catch on to. Of course, one answer to that problem is for new TCJ
readers to purchase back issues. I have been writing this column regularly
since issue #25, and I am quite sure that all those back issues are still
available. That solution notwithstanding, it is probably not a bad idea to
stand back every so often and try to comprehend a larger picture. That is one
of the tasks I will undertake this time.
Detailed technical content will not be forsaken entirely, however, since I
regard that as the primary purpose of my column. At this point, I suspect that
I am too much of a Z-System expert to talk about very many topics at a level
that is appropriate for beginners. To serve their needs, I have been very
actively soliciting articles from other authors. In this issue, for example,
we have the first of the columns I promised a couple of issues back on how to
set up a remote access system (aka bulletin board system) under the NZCOM auto-
install version of Z-System. Lee McEwen (aka Chris McEwen) has done a lovely
job with that assignment.
The technical discussion this time will focus on some issues that arose in
trying to install ZSDOS or ZDDOS on an SB180 computer with the XBIOS enhanced
operating system. Before you say "But I don't have an SB180," let me assure
you that the techniques have more general applicability. The specific XBIOS
problem is one that has come up often and has been the source of considerable
frustration to XBIOS users. [They are in good company, by the way. Just as I
was finishing this article, I got a call from Bridger Mitchell about this very
subject!] I am only sorry that it took me so long to get around to working on
it. Gene Pizzetta, a fellow Bostonian, was the squeaky wheel that finally got
my attention, and he has contributed a number of his own ideas to the solution.
Announcements
Before we get down to business, I have, as usual, a few announcements to make.
First I would like to remind readers once again about Bill Tishey's superb
collection of help files for the hundreds of Z-System programs now available.
Bill can now generate diskettes in many formats besides Apple (using his son's
Commodore 128), and he is willing to fill your diskettes with the files for
only $10. My column in issue #36 gave the following procedure to follow: (1)
send enough formatted diskettes (plainly labeled with the format) to hold at
least 1000K bytes (up from 800K back then); (2) use a reusable disk mailer or
enclose a mailer suitable for returning the diskettes to you; and (3) enclose
a return address label, return postage, and the $10 copying fee. Bill's
address is 8335 Dubbs Drive, Severn, MD 21144. If you prefer (or if you need
96-tpi, 8" SSSD, or NorthStar hard-sector formats), you can send the diskettes
to me as well.
Second, I would like to make a special point of calling your attention to the
GEnie RoundTable discussions that take place every Wednesday at 10pm Eastern
time. The first such session of each month is devoted to Z-System, and I am
the moderator, so this is your chance for a real-time dialogue with me. Go to
page "685;2" on GEnie and enter "Room 2".
There are several changes to report in the roster of Z-Nodes. Regrettably, Bob
Paddock's node #38 in Franklin, PA, has gone off the air. To offset that loss,
however, node #73 in the St. Louis, MO, area has come back to life after being
down for several years. Sysop George Allen and co-sy sop Walt Stumper would be
happy to hear from you at 314-821-1078 (PC-Pursuit MO SLO/24). The equipment
is currently a Xerox 820-II with a 10 Meg drive, but the sysops hope to expand
soon to a 30+ Meg Ampro.
On the Z-Node front, I am also sorry to report that Z-Node Central (Lillipute)
was downed by hardware failures on both computers! They have been off the air
for a couple of months already as I write this, and sysop Richard Jacobson has
just faced the truth: that it will not be coming back. Ladera Z-Node (#2) in
Los Angeles will take over as Z-Node Central. Chicago area callers looking for
Z support should check out the Antelope Freeway system run by ZDOS-coauthor
Carson Wilson for CFOG (Chicago area FOG). This is one of a small number of
remote access systems running under the Z3PLUS flavor of Z-System. The phone
number is 312-764-5152 (PC-Pursuit ILCHI/24). We expect that its 'System One'
will soon be a Z-Node ('System Two' supports MS-DOS).
Finally, there have been some very significant developments with BDS C. Leor
Zolman completed some major additions to the Z version (BDS Z), and the final
release has just gone out as I write this column in mid October. Programs
generated by BDS Z now have a full Z-System header and can be linked as type-3
programs to load and run at an arbitrary address. ZDOS coauthor Cam Cotrill
has already released a substantial amount of BDS Z code for performing the
functions in the SYSLIB, VLIB, and Z3LIB assembly-language libraries that are
not already built into BDS Z.
Leor has now turned over all of the marketing and some of the development
responsibility for BDS C to me. Recognizing that the $90 price tag of the full
package, however reasonable for what one gets, is an impediment to new users
who want to experiment with C, we have prepared a low cost introductory
package that (1) includes only one version of the code (either standard CP/M
or Z-System), (2) contains only the essential files, and (3) comes with an
abridged version of the manual (and without the fancy BD Software binder).
This package will be offered for only $60. Other parts of the full package can
be added later: $25 for the second version of the compiler, $25 for the
support materials (RED editor, CDB debugger, and the parts of the manual
covering them), or $40 for both at once. If the whole package is ordered at
once, it comes complete with an attractive binder (also available with the
introductory package for $5 extra).
It should be noted that BDS Z generates programs that run perfectly well under
standard CP/M. Naturally, they will not recognize Z-System features like named
directories, but they will accept the now standard DU: extended drive/user
syntax instead of the older U/D: format of standard BDS C. The only
disadvantage of using BDS Z rather than BDS C on a standard CP/M system is
that the programs carry Z-System overhead (about 800 bytes) that don't provide
them with any functionality.
What is a Microcomputer Operating System For?
The basic function of an operating system is to make one's life -- one's
computing life, that is -- simpler. When microcomputers first came out, the
biggest burden was dealing with the hardware. It was no fun for the computer
user and programmer (largely synonymous in those days) to have to deal over
and over with the intricacies of the physical operation of the hardware, such
as getting characters to and from the terminal or paper tape reader/punch, not
to mention the dauntingly more complex task of managing data on a magnetic
tape or floppy diskette drive.
Gary Kildall's CP/M operating system provided a solution -- and a very good
one (by and large) in my opinion -- to those problems. It did so by
implementing a standardized and modular interface that handled the basic
device communication tasks. CP/M, which stood (I believe) for "Control Program
for Microcomputers," was the master program that one got running on the
computer right after power up. It would then allow one to load and run other
programs, with control always returning to the CP/M master program after each
user program finished.
Besides accepting and interpreting commands issued by the computer operator,
an operating system like CP/M also provides resident code (always ready in
memory) for performing certain functions that application programs will often
want to use. The simpler functions are things like sending a character to the
terminal screen; the more complex ones include fetching from or writing to a
floppy diskette the information associated with a logical entity known as a
file.
With these functions implemented in the operating system code, application
programs are easier to write and do not have to include the same code over and
over. More importantly, they can run on a variety of hardware platforms, since
the details of the physical hardware are handled by the operating system code,
and the program can deal with things at a logical level.
Logical vs. Physical
Perhaps this is a good time for a brief aside on this matter of logical versus
physical. We use the adjective "physical" when we are talking about things
that are actually in the hardware. In the case of a floppy disk, for example,
the physical items are the bits of data stored as magnetization patterns.
These bits are grouped into sectors, and the sectors into tracks. In the case
of a terminal screen, the physical items are the patterns of illuminated dots
that we recognize as letters, numbers, and other symbols.
On the other hand, we use the adjective "logical" to describe those things
which are essentially the creation of our minds (and programs). For example,
there is no such physical thing as a "file." No matter how you examine a
diskette, you will never find a file on it (as such); you will find only
sectors and tracks. It is our choice to organize the data on the disk in a way
that associates groups of such sectors with a file names and to store the file
names in a particular group of sectors on the disk.
Modularity
CP/M is modular in the sense that it divides up the functions of the operating
system into separate packages. One part is called the BIOS (basic input/output
system). This part, which lives at the very top of the memory address space,
deals directly with the hardware. It reads and writes physical sectors from
and to a diskette; it determines whether or not a key has been pressed on the
keyboard and, if so, which key; and it sends characters to the screen. The
BIOS is the only part of CP/M that is different for each hardware
implementation of a CP/M computer.
The second CP/M module is called the BDOS (basic disk operating system). It
deals with logical constructs. We have already spoken of files. When a file is
referred to, the BDOS figures out which physical tracks and sectors contain
the data for that file. Another logical construct is lines of text. The BDOS
has a function to send a complete line of text to the screen (as opposed to
the BIOS, which can send only a single character), and it has another function
to get a complete line of text from the user, allowing a limited amount of
editing. These functions make it much easier for the application programmer to
write his or her program.
The last CP/M module is called the CCP (console command processor). It gets a
command typed by the user at the console and takes the appropriate action to
carry out that command. Some commands, such as DIR or ERA, are implemented
directly in the CCP code. Others require that a COM file be loaded from
diskette and executed.
Command Processing Under CP/M
For the most part, CP/M accomplishes the functions it was designed to perform
in admirable fashion. However, it was so concerned with solving the hardware
interface problem (the programmer interface) that it devoted relatively little
attention to the user interface. To be fair, it was born in the days when 16K
of memory cost about $500 (in 1970s dollars, no less) and occupied an entire S-
100 card (bigger by far than a whole SB180FX computer with 512K). Today we
might not think that 64K is very much (some say that OS/2 feels dreadfully
cramped in less than 3 Megs!), but it makes a lot of things possible that 48K
(or even less) would not allow.
CP/M's command processor did little more than the minimum it was required to
do, namely to run a few resident commands and to load external commands from
disk. It did not provide many services to make the operator's life easier. You
had to specify rather exactly the command you wanted performed; no leeway was
allowed. And if you made a mistake, CP/M did not try to help; it just shrugged
its shoulders and emitted a question mark.
The Niceties of Z-System
The Z-System has evolved over a period of nearly a decade now, but its goal
from the very beginning has always been to make it easier and more convenient
to operate the computer. My ideal is to have the computer do everything that
it possibly can do for the user and leave to the user only those tasks that no
computer could possibly figure out on its own. The command processor
improvements I have introduced and the utilities I have written have all been
directed toward that goal. I will now run through a short summary of Z-System
features and try to indicate how they make the operator's life easier. This
list is adapted from my book, "The ZCPR33 User's Guide."
User Area Access
CP/M introduced the concept of disk "user" areas, which allowed the operating
system to group files into separate logical directories (physically the files
are all stored in the same directory, but they are tagged to indicate the user
area). Unfortunately, CP/M provided no practical way to access files across
user areas, which made them almost useless.
Back in the days when disks held only about 100K, there wasn't much need for
this kind of organization, but today floppy diskettes commonly have a capacity
between 350K and 1.3 Meg. Hard disks with many tens of megabytes are also
inexpensive and common. Under these circumstances, a single logical drive can
hold hundreds or even thousands of files, and some way to organize them
becomes essential.
Z-System makes it very easy and convenient to organize your files based on
user numbers. Where CP/M allowed only a drive prefix to a file name
(D:NAME.TYP), Z-System allows drive and/or user number prefixes (DU:NAME.TYP)
so that files in other user areas as well as other drives can be referenced
directly. In addition, Z-System allows meaningful names (similar to DOS
subdirectory names) to be assigned to drive/user areas. This provides an
interface that is far more suitable to the way people think and remember. With
the DU: form, the operator has to think about the hardware (something he or
she should not have to do, remember?); with named directories, the operator
thinks in terms of function (TEXT: for text files, BDSC: for the C compiler,
DBASE: for database files, and so on).
Terminal Independence and the Environment
While some would argue that the DOS hardware and software standards
established by IBM's market dominance have resulted in an enforced mediocrity,
there is no doubt that having a single environment in which to operate makes
life much easier for applications programmers. Programs for DOS generally work
right out of the box on any IBM compatible computer. Configuration is required
only for fine-tuning.
CP/M, on the other hand, was designed to allow programs to run on an extremely
wide variety of hardware. In those days, "personal" computer took on a
different meaning -- each person designed and built his own hardware. CP/M
could be made to work with all of them, but elaborate configuration procedures
were generally required, especially to match programs to the particular
terminal used. To this day, we still have to deal with this hardware diversity.
What CP/M could have but failed to provide was a means for conveying to
application programs information about the operating environment. Z-System has
several modules that afford such communication. An area called the environment
descriptor (ENV) contains information about the system configuration. Another
system area called the message buffer (MSG) stores information that one
program can leave for another program that runs later to read.
Part of the ENV is a section called the TCAP or Terminal-CAPability
descriptor. The TCAP allows a program running under Z-System to determine the
type of terminal in use and to adapt to the control codes it uses for special
video operations. The ENV has information about the size of the screen and the
printer's page. It also contains such information as the CPU clock speed and
which disk drives are available (why allow attempts to log into drive C: if
there is no drive C: -- it often just hangs the computer). The Z-System
supports many optional operating system features contained in optional
modules, and the ENV contains information about these modules also.
The ENV and TCAP not only relieve the user of the nuisance of installing progra
(text lost - replace from TCJ #42)
erfect for the clock/stamp module. ZDOS even has special facilities for taking
advantage of this buffer. LDTIM can automatically determine the location of
that buffer and install the drivers there, and a special patch to NZCOM
(included with the ZDOS package) gives NZCOM the ability to reconnect the
drivers automatically after a new DOS is loaded.
XBIOS's SYSBLD utility, unfortunately, does not support such a user buffer
(this is true even in the 1.2 version that is able to load ZRL files). There
is a way to trick the system into making some room for extra memory modules.
This is to assign the extra memory space needed to one of the standard
modules, such as the RCP. For example, if you use an RCP of the usual 2K (16
record) size and need one page (two records) of memory for a ZDDOS clock
driver, you simply specify an 18-record RCP space. Then, when SETUPZST asks
you for the address to which the clock driver should be loaded, you give it
the starting address of the last page of this RCP space.
Once these steps have been followed, ZDDOS should be running with date
stamping. ZSDOS could be installed similarly except that even more extra space
would have to be allocated to the RCP. Although what I have described so far
will get the system running, there is some danger that an oversize RCP could
be loaded by accident and overwrite the clock driver. To prevent this, the ENV
module should be patched to indicate that only the actual 16 records (10H) are
available.
For those who do not face the problem of installing ZDOS on an XBIOS- equipped
SB180, there are other uses of this kind of trick. For people who do not have
the necessary tools (e.g., MOVCPM) to move the BIOS down to make room for
special drivers (such as RAM disk drivers and special I/O boards), this same
trick can be applied to open up protected-memory space for them. Other people
may find it useful for quick experiments with special drivers before going to
the trouble of moving the operating system around.
There is one final refinement I would like to mention. It is something I
learned from Gene Pizzetta, who took my general recommendations above and
worked out the details (see his file, ZD-XB11.LBR, available on many Z-Nodes).
I have usually used either the IOP or RCP modules for this trick, but Gene
recommended using the NDR instead. The reason for this is that the IOP, RCP,
and FCP get allocated in 128-byte chunks, while the NDR gets allocated in much
smaller 18-byte chunks, the space required for one name. If your clock driver
takes, for example, 270 bytes (10EH), you would have to allocate three extra
records, because the driver is a tiny bit over two records. If you steal space
from an NDR, you can add just two records, but reduce the number of names in
the NDR by 1.
Changing Command Processors
Generating a new CCP using JetLDR is a little trickier than changing the DOS.
JetLDR could, as it does with a DOS or BIOS module, load the new CCP into its
operating position in memory, but this would be of questionable value, since
the CCP would survive only until the next warmboot. So, instead, when
processing a CCP ZRL module, JetLDR normally writes the resulting absolute-
code CCP to a file ZCCP.CCP (in the root directory, I believe).
This is where CFG files come into play. They are special code modules that
JetLDR uses to perform special processing (see the file JLTOOLS.LBR on Z-Nodes
for more detailed information). For example, CCPCFG.ZRL is one that tells
JetLDR how to deposit the absolute CCP code that it generates directly into
the XBIOS ram image of the CCP in banked memory (from which it is loaded on
each warm boot). A similar CFG file could be written to tell JetLDR how to
install the new CCP onto the system tracks of the current drive-A disk, but so
far no one has done this. I would be happy to provide the CCPCFG module to
XBIOS owners who would like it or to others who would like to use it as a
model for writing other CFG files (send me a formatted disk with your copy of
JetLDR, return mailer, etc.).
-------------------------------------------------------------------------------
JetLDR for Z-Systems (ZCPR3), Version 1.00
Copyright (c) 1988 Bridger Mitchell
Syntax:
JetLDR [du:][library][.lbr] member1.typ member2.typ ...
or
JetLDR [du:]file1.typ [du:]file2.typ [du:]file3.typ ...
ENV - environment FCP - flow commands
IOP - input/output RCP - resident commands
NDR - named directories Z3T - terminal capabilities
ZRL or REL - module in SLR or MS-relocatable (REL) format
with member name: RCP, FCP, IOP, CCP, CP3, DOS, DO3, BIO, CFG or BSX
Notes:
If first file is a library, extract remaining files from it.
An ENV file must be the first loaded.
Preceed special modules (DOS, RSX, BSX, ...) with appropriate CFG file.
Use Path: YES Root Only: NO Scan Current: YES Explicit Directory: A0:
-------------------------
Figure 1. This is the internal help screen displayed by the command
"JETLDR //". It shows how flexible a package loader JetLDR is.
-------------------------------------------------------------------------------
Editor's Note
The Computer Journal is published six times a year. It covers a broad range of
computing topics, ranging from discussions of the new and esoteric to good old
CP/M. I highly recommend it. For a subscription, send a check for $18.00 US
drawn on a US bank to:
The Computer Journal
190 Sullivan Crossroad
Columbia Falls, MT 59912
The CP/M PIPMAG
Zen and the Art of CP/M
by
Robert Coleman (R.COLEMAN3)
It was late. Maybe midnight, and quiet in the house. Upstairs, my wife and son
were probably asleep. I could hear the faint sound of the TV droning; that and
the soft breeze outside my opened window. Whoosh! Drive A on my computer was
busy at work. I was backing up some files and doing general housekeeping after
a long session at the keyboard. Tic-tic, whoosh, tic-tic! Drive B kicked in. I
watched. I had to smile. It was noisier than drive A -- always was (I could
close my eyes and tell which of my drives were running, just by the sounds
they made). Drive B was perhaps the better of the two. It was newer. But they
were both slow; just as slow and tired as I was now. I looked up at the window
and felt the cool breeze on my skin. No, they weren't the fastest drives. Not
like the 1.2 Meg on my 386 at work. That was much faster; faster by a country
mile. And I pushed it too -- pushed the hell out of it. But that was work.
Now, just being here late at night with this old CP/M computer, it was somehow
different...
Zen and the Art of CP/M? (...like Motorcycle Maintenance? [1]) Crazy? Hey, I'm
not the first to get this feeling of religious fervor over a computer
operating system. How about 'The SOUL of CP/M' and 'The CP/M BIBLE' [2,3]. Mr.
Waite and associates, they too had reverence for this IDEA. In spite of MS-
DOS, countless thousands still cling to CP/M. Why? Good question. Perhaps it
has more to do with the intangibles -- faith, acceptance, quiet devotion, and
a brand of grass-roots, seat-of-the-pants wisdom. The CP/Mer assumes a tongue-
in-cheek posture; all the while, watching the rest of the computer world spin
its wheels in a deluge of glitter, gloss and Madison Avenue hype. It appears
that regardless of the odds, in an era of disposable widgets and planned
obsolescence, in the face of such staunch and resolute adversity, CP/M is here
to stay. In the words of one PIPMAG author, Jim Taylor, CP/M is 'the peoples
operating system'.
It is interesting that in spite of CP/M's continued popularity, the name
'CP/M' has been interpreted to mean several things: The CP/M Bible refers to
it as 'control program for microprocessor'. In one Digital Research, Inc. CP/M
Users Manual dated 1979, it is referred to as 'control program for
microcomputer'. Still, I have heard it referred to as 'control program
monitor'. These discrepancies of course only add to the mystique. I guess any
CP/Mer worth his salt has read the basics, but just where DID CP/M come from?
Where does it fit into the computer world as we enter the 1990s?
Perhaps the largest MAINFRAME computer, and the grand-daddy of them all, was
the UNIVAC computer of 1950. Built entirely of vacuum tubes, it was so big it
filled a large room. And the PDP-8 MINICOMPUTER, costing a mere $50,000,
brought computing to corporate business in the mid-60s. But it was the advent
of the microprocessor that made the MICROCOMPUTER a reality.
In 1969, engineers at Datapoint Corporation of San Antonio, Texas, designed a
simple central processing unit and contracted both Intel and Texas Instruments
to implement the design on a single piece of silicon. Intel succeeded, but the
product ran ten times slower than had been agreed upon, so Datapoint backed
out of the deal. Intel decided to go ahead and market the device and called it
the 8008 microcomputer [4]. Little did they know that this humble device
signaled the beginning of the microcomputer revolution.
The 8008 was truly limited, and was used as a controller such as in robot
stepper motors and push button TVs. The 8080, more-or-less its direct
descendent, was the first microprocessor with an instruction set powerful
enough to do real data processing. But these were still humble beginnings. In
1974, a microcomputer kit was sold to hobbyists called the Altos 8000. It
featured switches to enter data, and LEDs as a monitor device. There was no
keyboard, no CRT, and no floppy drives, which meant no stored programs. All
programs had to be tediously entered by hand, byte by byte. This was indeed
the stone age of microcomputing. They say that necessity is the mother of
invention -- thus the birth of an operating system. CP/M was originally
developed by Gary Kildall in 1973 for testing 8" Shugart disk drives. Later,
in 1976, he founded Digital Research, Inc. and released CP/M, targeted at 8080
microcomputer hobbyists [5]. But the 8080 was slow, and needed three different
voltage levels and several support ICs to operate. It was soon replaced by the
8085 which required only +5 volts to run. Then, later came the Z80. It was not
only 8080/8085 software compatible, but included many additional, more
powerful instructions. By 1980, with the Z80, CP/M had truly become the
industry standard.
This is where Big Blue enters the picture. Microcomputers by this time were
starting to find use in the business world. IBM realized the vast commercial
potential and was gearing up for a major onslaught. They had been associated
with quality mainframe computers, and most experts agreed that they would
become the leader in the microcomputer field -- in essence, they would decide
the future of microcomputing. IBM chose the 8088 microprocessor by Intel, and
with Microsoft, they developed a new operating system called PC-DOS
(essentially the same as MS-DOS -- Microsoft's stand alone version). Today, PC
doesn't just mean personal computer -- it means IBM compatible.
For the uninitiated, let's take a look inside these machines and see what all
the fuss is about. The 8088/8086 microprocessor, which is used in the PC-XT
and its clones, is vaguely similar to our 8080 (the NEC V20 version can run
8080 instructions). It has an 8-bit data bus but 16-bit internal architecture
and is considered a 16-bit microprocessor. The 8086 is an upgrade with a full
16-bit data bus. The major feature of the 8088/8086 is the ability to address
up to 1M of RAM using 'segment address-extension' registers. This method is
similar to CP/M 3.0's method of using multiple banks, only in the 8088/8086,
this technique is used to the fullest. Much like the 8080, the 8086 can only
use 64K at a time, but it has 10 banks of 64K each. This makes a total of 640K
of RAM. By using other tricks it can access many megabytes of additional
memory.
Another member of the 8086 family is the 80286. It provides 12 Mhz operation,
a crude form of multi-tasking (running several SMALL programs at once) and is
used in the PC-AT and its clones. The 80386 is another upgrade which provides
up to 33 Mhz operation, a full 32-bit bus and addressing up to 4 Gigabytes of
memory. And the 80486 is yet the latest upgrade, which provides further
streamlining with a built-in cache memory controller and a coprocessor to
speed up floating point calculations. These microprocessors are currently
considered the 'leading edge technology' and are the darlings of the micro
world [6]. But even now, there is talk of MS-DOS being replaced in the 1990s
with UNIX, a true multi-user/multi-tasking operating system.
There is another class of super microprocessors, such as the Motorola 88000.
These new devices use RISC technology (RISC -- 'Reduced Instruction Set
Computer'). They provide even faster execution by implementing a more
efficient set of instructions and executing these within one machine cycle.
Whew!
Okay, so what does this mean for CP/M? The microcomputer, which started out as
an experiment and a boon for hobbyists has now become the workhorse of the
corporate business establishment. The 80286-386-486 explosion is being fueled
by big business, where money is no object and there is a constant demand for
ever more speed and efficiency. Through CAD (Computer Aided Design), these
powerful microcomputers are now being used by scientists and engineers. By
connecting them together with LANs (Local Area Networks), some experts predict
microcomputers will be direct competition for the minicomputer market which
has already taken a beating in recent times. But while these advances are
impressive, it leaves one piece of the puzzle missing. What about the
consumer? It is true, most people can afford a simple XT. What does that mean
really? Today, most GOOD software written for MS-DOS is expensive. And to
enjoy the fruits of the leading edge, you have to constantly upgrade your
equipment. The latest software offerings for PCs aren't designed to run on two
floppies -- a hard drive is MANDATORY. A VGA monitor alone can cost more than
an entire monochrome XT package. Getting caught up in this spiraling staircase
of madness is frightening and can lead to gross over-spending and perhaps even
what I like to call 'PC-phobia' -- the fear of owning an inferior computer. In
reality, the PC revolution could be thought of as a plush banquet, where Big
Business is picking up the tab, and the gamers are picking up the crumbs,
hanging on to Sugar Daddy's coat tails.
The dream among countless, now defunct computer manufacturers in the early 80s
of fully automated lifestyles with a computer in every home was just that, a
dream, and one that I fear will not soon be realized. Let's face it, using a
computer requires some effort, some learning on the part of the user. You
can't just turn it on like a VCR or a Nintendo. Even the 'point and click' fad
is too strenuous for most of the general public. I venture to say that there
is NO well defined home computer market. All the non-IBM/clone platforms are
beginning to fall away; ie: Commodore C-series, Atari, even some Apple II-
series. The only true home computer market is really the COMPUTER HOBBYIST,
and CP/M is still the ideal operating system for such a phenomenon.
It is conceivable that a CP/M supercomputer could be designed to have many of
the bells and whistles of MS-DOS. The HD64180 is an integrated Z80
microcontroller with several built-in features: 10 Mhz operation, two DMA
controllers, two serial ports, and a programmable timer. But the most notable
feature is the ability to address up to 1 Meg of memory using a built-in MMU
(Memory Management Unit -- similar to the 'segment address-extension
registers' in the 8086 family, previously mentioned). A SCSI bus (Small
Computer System Interface) could be used to interface up to eight devices; ie:
hard drives, floppy drives, tape drives, printers, etc. This system could have
high-resolution bit-mapped graphics, and perhaps even some form of multi-
tasking (MP/M-II). The only problem is that CP/M as we know it has no
provisions for handling graphics, let alone 1 Meg of memory! Alas, I have
found myself fantasizing at times about such a machine. I have personally
designed several 68000 microprocessor-driven systems, and it would not be
exceptionally difficult to implement the 64180. Of course, outside of a few
crazies like myself, such a machine would have no commercial value in light of
the current technologies. It would merely be one CP/Mers dream of power and
glory. (NOTE: anyone out there who has similar ideas of building a CP/M
supercomputer or who knows of such a beast, please drop me a line via GEnie
mail.)
Anyway, what makes CP/M so special? Well, to begin with, it was the first
successful disk operating system. Living life as a microcomputerist before
CP/M was akin to living without indoor plumbing. And to think that a boni fide
computer system like the UNIVAC, that once filled an entire room, could now
sit on a table top, I find astonishing. And further, the BDOS/BIOS concept is
ingenious. The compatablitily of CP/M operated systems allows the user to
share the experience with dissimilar hardware platforms -- thus a whole
computing community is enriched. And even more, anyone who lives in the MS-DOS
world can feel comfortable with CP/M. After all, MS-DOS really grew out of
CP/M; many of the commands and file handling schemes are similar. But more
than anything else, maybe SIMPLICITY is what makes CP/M so appealing. As in
Art, there is a beauty in simplicity and symmetry, combined with
functionality. And CP/M is just that, a simple, straight-forward solution to
operating a personal microcomputer system.
I guess personal computing is different for others. There's Dan-the-man, my
snippidy next door neighbor, the one with the super AT with VGA. I have been
to his house to marvel over his computer before, and it IS a remarkable
machine. It would be ridiculous to ignore the fact that this is no doubt a far
superior machine to anything in the CP/M world. The speed is overwhelming, the
graphics dazzling. It is awe inspiring, the shear, unbridled power! (Excuse
me, I get excited about computers -- any flavor.) Dan-the-man is indeed one
happy camper, as well he should be. But I am baffled. What I find unsettling
is the way he PERCEIVES personal computing.
Case in point: No sooner did he get this amazing machine, then he was planning
to buy another, more powerful one. Why? I'm not sure. Is it the 'first on the
block' syndrome, or is it that he really needs that kind of computing power?
Dan-the-man plays many computer games and experiments with various software
packages. Now six months later, he's ready for a new machine. He hasn't even
learned how to use THIS one yet. Speaking of falling in love with one's
computer; Dan-the-man not only has no loyalty, he is a technological flirt! In
this relationship, there seems to be something missing. Hmmm...
Anyone who would care to notice, would be astounded at the longevity of the
Commodore 64 computer. True, this little machine is edging its way to
obsolescence, but what a journey it has seen! Nearly eight years after its
debut, there is still a large group of devotees. There are, as a rough
guesstimate, about seven or eight million of these machines around the world.
Not all gamers either I remind you; there are multitudes of application
programs that have been written for it. With its handful of ROM-based kernel
calls and its graphics capabilities, the C64 is a veritable
programmer/hacker's delight. How many imaginations have been stirred by these
8-bit wonders? How many computer software careers do you suppose have been
launched by these little 'toy' computers? I have read articles in some trade
magazines by professional programmers who STILL enjoy hacking on them. These
people really love the little computer. In this relationship, there seems a
great deal of dedication. Obviously, personal computing means different things
to different people.
Meanwhile, back in my den, whoosh-tic! Both drives came to a halt. I read the
directory of the backed-up floppy. Everything looked good. I wondered, should
I check for bad sectors? But then again, the format command should have
detected any of these. I yawned. Now I yearned for sleep. Inadvertently, I ran
scan.com to look for a bad sector, only I entered the A drive by mistake. I
cringed as I realized that my boot disk was now being scanned for bad sectors.
This is NOT what I had intended. So much for working when I was tired. But
behold! There was a bad sector detected on my boot floppy! I glared at the
message on the monitor with disbelief. I thought to myself, maybe the A drive
was overheating. That had to be it. I ran scan.com again with the boot disk in
the B drive. Again -- a bad sector -- the same one. I decided to fix the
problem NOW. No matter how tired I was, I couldn't go to sleep having my boot
disk corrupted. No way. That would be sacrilege. I pulled out my back-up boot
disk (yes, I had a back-up, but that is a different story!). I pip'd the
contents to my RAM drive and then reformatted the corrupted boot disk. Outside
my window, I heard a bird call, close in, near the house. I looked briefly to
the open window, then back to the task at hand. Once again, I ran scan.com.
Good! No bad sectors. Patiently, I waited as the RAM disk contents were copied
back onto the boot floppy.
'Booting' -- what an odd term. In the early 1970s, practically all memories
were magnetic core types. These memories had tiny toroid-shaped magnets spaced
between a lattice-work of wires. The direction of the current through one wire
determined the logic value, and current through the other determined whether
that value was read or written into the magnet-element. These devices were non-
volatile, and held their contents even when the power was removed. But when
this data was corrupted, a small program had to be entered to load the system
code. This was a tedious process in those days -- done either with switches or
paper tape input. The solution? A small loader program was entered manually
which loaded another program which actually loaded the system code. This
small loader program was called a 'bootstrap' loader. The system was loaded,
or pulled up by its own bootstraps. Hence the term -- 'boot' [7].
Whoosh-tic! The A drive came to a stop. I then rebooted. It was done. All was
fine in the world. Again, there was the bird outside my window. I got up and
walked over to have a look. Again, I heard the cooing. It came from the bushes
near the tree out front. It was really too dark to see. Up in the sky, I could
see the crescent moon hanging lazily in the heavens, amidst a slight veil of
wispy cloud. I listened and heard silence. In the dim light, I glanced back at
my computer; my reconditioned boot disk. Yes... all WAS fine in the world. I
was ready for sleep.
It has been said that perhaps the true delight is not in arriving at the
destination, but in the journey itself; to occasionally stop and enjoy the
view. If even just to simply smell the fragrance of flowers, or ponder over a
private thought. I, myself, find the personal computing experience to be just
that -- PERSONAL. It is a quiet time alone, away from the stress and strain of
everyday life. And it is during these times that I learn about strength and
weakness, success and failure; the value of work; and play for the sake of
play; and ways of acceptance. Perhaps it is in this process of DOING that I
find the real reward. Knowing the joy of getting a five page, hand typed
program to finally run. Learning to accept that slow, noisy drive. Learning
that there is always another corner to turn, another page to read. Learning
that maybe there is wisdom in discovering even just one little, simple thing
each day. If only for this, it has been worth the while. Oh yes, it could be
model cars, or stamp collecting, or flower arranging. But it is when these
things cease to be mere objects and become vehicles, taking us someplace else,
to some secret, private place, they bring us closer to the inner self. By
pouring over the tired guts of my old CP/M computer, cursing myself for having
misplaced my screw driver AGAIN, perhaps I learn a little more about myself.
References / Odds and Ends
1. Zen and the Art of Motorcycle Maintenance, Robert M. Pirsig, Bantam. This
book is not about fixing motorcycles, or even CP/M, but I strongly recommend
it.
2. The Soul of CP/M, The Waite group, Howard Sams. Out of print, but a real
gem for programmers. I have read excerpts from some old copies of Computers
and Electronics magazine, but I don't own a copy myself. I'm still looking but
to no avail. (If anyone knows of an available copy please let me know.)
3. The CP/M Bible, Waite and Angermeyer, Howard Sams. Out of print. This book
is useful for someone running several versions of CP/M. It includes a handy
cross reference section for 1.X, 2.X, and 3.X systems. I found a NEW hard-
bound copy in a used book shop for $4. Note: Many CP/M computer books are now
out of print but can be found at 'fire-sale' prices in used book stores. With
little money, you can build an impressive CP/M library.
4. An Introduction to Microcomputers, Vol. 1 Basic Concepts, Adam Osborne,
Osborne/Mcgraw Hill. A good book for newcomers or anyone who wants to know
generally how a microcomputer works.
5. TC128 Compendium #1, Issue #2, CP/M Update, by Todd Madson. Any one who
uses a C128 should subscribe to Twin Cities 128 magazine. It deals ONLY with
the Commodore 128. But I must say, I wish there was more CP/M coverage.
6. EDN magazine, #24, Nov. 23, 1989. The Annual uP/uC directory. This magazine
is written for professional electronic design engineers and is a good source
of info on new technology.
7. CP/M Assembly Language Programming, Ken Barbier, Prentice Hall. As far as I
know, this book is out of print. However, it is an excellent tutorial on CP/M
system programming with the 8080 instruction set.
----- About the Author -----
Robert Coleman is an electronics engineer for Data General, Telecommunication
Products Division. Besides designing microprocessor-based electronic circuits,
and fiddling around with CP/M in his spare time, he enjoys reading, writing
and playing bass in a part-time rock 'n' roll band.
The CP/M PIPMAG
Why ZMODEM?
A discussion of the various
protocols on GEnie
by
Brian Moore (BRIAN-CPM)
GEnie has various methods for downloading files. Which method you use can save
you time (and money) while downloading files on GEnie. In this article, I will
explain how each protocol works and which will work best on GEnie.
The XMODEM protocol is the oldest and simplest of GEnie protocols. This sends
out 128 bytes of data in each block with a few extra bytes for error checking.
When your computer receives a block, it checks to see if it is okay, and if it
is, it sends an 'acknowledgement' back to GEnie. If the block does not check
out on your end, your computer will send back a 'negative acknowledge' and
GEnie will try again.
This is why XMODEM is an 'error-checking' protocol. It will keep resending a
block until your system receives it with no errors. You can use XMODEM to
download files with no fear of line noise corrupting a 200k download.
XMODEM-1K is a simple improvement to standard XMODEM. Instead of sending
blocks of about 128 bytes, it sends blocks with 1k of data and the same number
of header bytes. This speeds things up a bit when dealing with network
computers, as there are less 'acknowledgements' for the sender to wait for.
YMODEM adds some enhancements over XMODEM-1k, most notably the ability to send
a batch of files. If you wish to get more than one file from a RoundTable, you
can select the files and go watch TV while it sends them one after another.
(But remember to come back to log off!) You don't have to ask GEnie to send
the files one by one. Like XMODEM, though, GEnie will stop sending while
waiting for your system to acknowledge the last block of data.
Which leads us right up to ZMODEM. ZMODEM was developed especially for systems
like GEnie that are running on huge networks. It, like YMODEM, has the ability
to accept batch downloads. Remember that for X/YMODEM, GEnie has to stop
sending while it waits for your system to acknowledge the block. ZMODEM was
designed to send (literally) all the data your system can take in one
continuous stream and not wait for any acknowledgements.
Does this mean it doesn't correct errors? No, it still does that: it will
resend a block if your computer requests it, but unlike the other protocols,
it won't wait for your system to ask for the next block. In, fact, that also
allows a special feature for ZMODEM for _continuing_ an aborted download.
Suppose for example that you begin downloading a 200k file. A friend shows up
at your front door and you decide to leave. Since you don't want to leave your
computer logged on while you are out, you abort the download and sigh as you
realize the last 20 minutes of downloaded were wasted.
Well, with MOST protocols that would be the case: you would have to start from
the beginning of the file and download it all over again. ZMODEM, though, has
the ability for the receiving system to request sending after a certain point.
If you have downloaded the first 100k of a 200k file and then come back later
to finish it, ZMODEM will only send the last 100k. (ZMP will ask if you wish
to continue an aborted transfer. Answering 'yes' will continue from where you
left off.)
In addition to all that, ZMODEM has a special auto-start feature. Once you
tell it to start sending, it will tell your terminal program that it wants to
send a file and your terminal program will handle the rest (provided, of
course, that it knows how to do ZMODEM).
So which protocol should you use? Well, if you have ZMP, the public domain
ZMODEM program for CP/M, you should certainly use ZMODEM. It beats all the
other protocols hands down for speed, error detection, and even recovers from
severe problems. (I have unplugged my modem data cable and picked up the phone
while downloading with Zmodem. When I put things back, ZMODEM was still
running and not at all upset about the noise, or the fact that my system was
several thousand bytes behind what GEnie was sending.) ZMODEM protocol will
save you connect time and thus, money.
If you don't have ZMP, then you have two choices: Use the best protocol your
program supports (in order of abilities, highest to lowest: YMODEM, XMODEM-1k,
XMODEM), or you could get ZMP for your system. ZMP is very easy to use (menus
are provided and are only a keystroke away) as well as flexible.
The file with ZMP and its documentation is ZMP15.LBR in the CP/M RT on GEnie
(file #6912). ZMP has already been installed for a variety of systems and most
(if not all) of these are also available on GEnie. Use the 'Search File
Directory' and look for 'ZM' to get a list of these. To get you started, here
is a list of files for the more popular systems:
File# Name Size
6955 ZMO-KP11.ZZ0 10080 Overlay for Kaypros
6923 ZMP15KP.LBR 21420 ZMP _installed_ for Kaypro
6954 ZMO-MD05.ZZ0 7560 Morrow MD-3
6964 ZMO-1805.ZZ0 10080 SB180-fx
There is not at present an overlay for C128 users, but anyone with a C128 and
programming experience is welcome to write one! If your system isn't among the
30 or so that already have overlays on GEnie and you write one or find it
somewhere else, please upload it!
Remember: uploads are free on GEnie, and you will be helping out a lot of
people using the same system as you.
The CP/M PIPMAG
Pipmag According to Brad
or
Who Can You Ask When You Can't Ask No-one At All
Welcome to PIPMAG. This is the sixth in the series, the third since I took
over the editorial duties, and in my not too humble opinion the best to date.
Before I give you a rundown of the goodies there are a couple of news items I
think will be of interest.
New ZMODEM Version Works With ZMP
A new version of ZMODEM has been installed in the CP/M RoundTable, and is
compatible with ZMP. This means that you can now download files at
unprecedented speeds with full error checking and correction. (Uploads are
still restricted to XMODEM.) The secret to this is that while most protocols
send packets of fixed size, then wait for some sort of checksum to be sent
back in order to check for transmission errors, ZMODEM sends continuously, as
much as the receiving machine can take. And not only is there full error
checking, but ZMODEM can pick up an interrupted download where it left off.
How is this miracle accomplished? I haven't the faintest idea, and although I
suspect magic is involved I am told otherwise. If all goes well here in the
CP/M RoundTable, expect to see this version of ZMODEM throughout GEnie. Many
thanks are due CP/M SysOp BRIAN-CPM among many others, without whose tireless
efforts this would not be possible.
ZMP is available here in CP/M Library 20 as ZMP15.LBR, File 6912. Overlays are
available for a wide range of computers from A to (I just have to say this) Z.
Commodore 64 Transmits Data At 38,400 Bits Per Second
(Film at 11)
A new cartridge is available for Commodore computers which contains the
communication chip that these machines have always needed but Commodore left
out. The SwiftLink-232 plugs into the expansion port and can be used in
conjunction with a RAM Expander. It has been found in testing to achieve
reliable speeds of up to 38,400 BPS over a null-modem cable. Again I suspected
that magic was involved, but I've been assured by Kent Sullivan of Dr. Evil
Laboratories, the developer of the cartridge, that there is a purely technical
explanation.
The $29.95 package includes the cartridge, and communication (terminal)
programs for the C64, the C128 in native mode, and the C128 in CP/M mode. I
have one, and it works exactly as advertised. For more information see Message
1 in Category 8, Topic 49 of the CP/M Bulletin Board. If you ever needed a
reason to figure out how to use the BB, this is it. Look for an article from
Kent in the next issue of PIPMAG.
The CP/M RoundTable Is Proud To Support "Hot Summer Nights"
In support of GEnie's "Hot Summer Nights" promotion, going on throughout the
month of August, the CP/M RoundTable has scheduled some special Real Time
Conferences (RTC's), and other goodies. These conferences are in addition to
those regularly scheduled every Wednesday and Saturday. This information may
change at any time, so watch the Bulletin Board for updates.
RTC's in the CP/M RT for Hot Summer Nights
August 11th SwiftLink-232 RTC
August 22 CP/M RTC (regular)
August 23 Chat with the CP/M Sysops (Thursday)
August 24 Harrass Harris, Pipmag Editor
August 25 CP/M Help desk
Other RTC's for Hot Summer Nights
August 10th Meet the CP/M Sysops, GEnius RT (10pm)
Freebies for CP/M RT
August 19 to 25th Free time on Page 688 (PIPMAG)
August 25th to 31st Free CP/M B.B.
Also watch for exciting news, film at 11:00!!
The conferences, except as noted, will be held in Conference Room 2 in the
CP/M RoundTable, and will start at 10:00 PM Eastern Standard Time, which
should be late enough to let our left coast members get home from work and
have a bit of dinner first. The titles were chosen (and spelled) by our own
SysOp C128-BILL, whose real name is Mud.
PIPMAG Announces New Submission Policy
While getting articles for this issue turned out to be less of a problem than
I expected, things were a little touch and go for a while. In order to
encourage more of you to share your accumulated CP/M wisdom with the rest of
us, I'm happy to announce that beginning with PIPMAG7 and continuing for as
long as I can, the author of any article submitted which is accepted for
publication will receive a week of weekdays (that's Monday through Friday)
free connect time in the CP/M RoundTable. If you think you could write
something but don't know what, just scan the Bulletin Board. There are a LOT
of questions begging extended answers, and I've posted a few messages on the
subject.
Articles needn't be original, but if you send me one that has appeared
elsewhere you must have the ability to grant me permission to use it. Anyone
who gets me sued for Copyright violation will be cordially invited to join the
party.
And now, in no particular order and without further ado....
In This Issue
This issue is once again kind of heavy with articles on the perennial number
one use of computers, word processing. Along with a follow-up to my last
Wordstar piece we have an article on how to get the output you want from your
printer from Tom McEnroe (T.MCENROE1), and one on a number of writer's tools
from Robert Coleman (R.COLEMAN3).
Conventional wisdom, which is like common sense in that it's in fact
nonexistent, says that keeping track of a checking account is no job for a
computer because it can be done just as easily with a pocket calculator. This
explains why checking programs are at or near the top of the best-selling
software lists month after month. This time around, we have for your reading
pleasure an article about one such program for CP/M computers by Wade Baugher
(W.BAUGHER).
Finally there's a hard disk for Commodore computers that's affordable, easy to
install, and easy to use. Sounds like just what we've all been waiting for,
but is it? Read the review by yours truly.
Been afraid to get into the online Real Time Conferences? The short article
here by SysOp PETER-CPM should help you get into the swing of things.
In another article from Robert Coleman he talks about the Zen of CP/M
computing. After reading it I'm sure you'll be able to identify with it.
You've been seeing the "Hot Summer Nights" notices when you log on but you
might still be wondering what it's all about. The article by GEnie's own Laura
Staley (L.STALEY) should help answer your questions.
Summer is thunderstorm season. Is your computer protected. Find out why it may
not be in the article by Chris Bannister (C.BANNISTER).
In a lighter vein, find out why there aren't any CP/M viruses in the piece by
Jim Taylor (JF.TAYLOR).
Dennis Fowler (D.FOWLER2) talks a bit about some of the trials and
tribulations of being the local CP/M guru.
The response to the new Letters To The Editor column has been a little
disappointing, but I did get two.
Brian Moore (BRIAN-CPM) gives us a short discussion of the download protocols
XMODEM, XMODEM 1K, YMODEM and ZMODEM.
And last, but hardly least, world famous Z-System developer and guru Jay Sage
(JAY.SAGE) joins these pages (files?) at long last with an article from The
Computer Journal.
Closing Notes
Have you seen PIPMAG on a BBS or system other than GEnie? I've recently
learned that it's made it as far as Yurrup, Japan, and Australia. I'd be
interested in knowing where else it's been and just how famous I am :)
I'm looking for information on the PCZ, otherwise known as the Grudge. Anyone
who has one, has one on order, or has tried to order one, please get in
contact with me.
I have a new GEMail address, BRAD-HARRIS. As always, you can send comments,
questions, and articles to PIPMAG$. Articles can also be uploaded to any CP/M
RT Library (FREE), with PIPMAG in either the short or long file description.
That's all until next time. Remember ...
N - E - E - D I - N - P - U - T !!!
The CP/M PIPMAG
PIPMAG Article and Submission Guidelines
by
Brad Harris (BRAD-HARRIS), Editor
Rule 1: There are no rules.
Rule 2: See Rule 1
Seriously, It's my feeling that many of you out there have vast knowledge of
various aspects of the CP/M world. The spreading of that knowledge is what
keeps this world viable. In other words, we all need to pass on our experience
in order to insure that CP/M continues to thrive.
PIPMAG is your magazine. Your input is needed. Almost anything submitted will
be considered for publication. The author of the BEST PIPMAG article will be
be awarded 3 days of Free Connect Time in the CP/M RoundTable!
Have the hot set-up for the latest term program? Write it up and send it in!
Have a template for dBASE or PCFILE that you think others could use or learn
from? Send it in! Have you found something that would make using our CP/M
machines easier or more enjoyable? Send it!
Opinions are welcome. So are reviews. Have a humorous anecdote that relates to
CP/M? Send it in!
I would especially like articles about games (which I don't play enough of),
and Z-System.
If you have developed a commercial product that you would like to advertise -
well, maybe. Contact me via GEMail and we'll see.
The only things that will be rejected out-of-hand are outright obscenity, and
anything legally actionable (y'know, slander, libel, violations of Copyright,
and like that).
Submissions may be uploaded to any CP/M library (free), or sent to me via
GEMail at either PIPMAG$, or BRAD-HARRIS. If uploaded to the libraries, be
sure to note that it is for PIPMAG in either the short or long file
description. Wordstar or straight ASCII format for text is appreciated.
Compression types supported are ARK, ARC, ZIP, ZOO, LZH, or within .LBRs,
SQUEEZE, CRUNCH, and LZH.
Remember ...
N - E - E - D I - N - P - U - T !!!