CP/M OVERVIEW
by Randy Winchester


A surprise hidden in the C128 is it's ability to run CP/M software.  Most C128 
users will say they've never heard of CP/M, and would insist that "their C128" 
doesn't have CP/M.  It's really that obscure to some people.

Something that stirred my interest in CP/M was a list I found of some of the 
many public domain applications and utilities.  I now consider CP/M 
indispensable for my writing and printing tasks.  Here's a brief look at some of 
the software available.

The Hardware

I'm using the latest version of CP/M 3.0, dated May 1987.  This new version 
fully supports the 1581 disk drive and the 1750 RAM expansion unit.  The 1581's 
3.5 inch "micro floppy" disks are formatted for 790K of storage.  The 1750 is 
used as a RAM disk, ith a capacity of 512K.  The 1750 REU is by far the most 
powerful hardware add-on for the C128.  As a RAM disk, it allows for almost 
instantaneous access to programs and data.

Booting CP/M

My CP/M boot disk has been customized using the KEYFIG.COM program.  KEYFIG 
allows any key on the keyboard to be redefined as any character, string of 
characters, byte value, or special CP/M command.  I've changed the RUN/STOP key 
to CTRL-C, which is frequently used to stop program execution.  My function keys 
have been redefined to the commands I use most frequently, such as listing the 
directory.

On booting the system, my boot disk uses the CONF.COM program to set up the 
screen colors, printer, and feel of the keyboard.  SETDEF.COM runs next.  It 
defines the "search path" so CP/M will automatically search each disk drive 
while looking for programs.  Utilities to copy, edit, rename, view, and erase 
files are then copied to the RAM disk so they will be instantly available when 
called.  The next command, DATE SET, asks for the date and time.

One reason I suspect more C128 owners don't use CP/M is that they don't perceive 
it to be "user friendly" enough for their tastes.  To dispel that myth, the last 
program in my boot up sequence is FRONT51.COM.  It is a menu shell that could be 
described as a GEOS-like deskTop environment without the graphics.  Although not 
nearly as sophisticated as GEOS in many respects, it does allow for "point and 
shoot" operation.  If a data file is selected, it's associated application is 
first loaded, much like clicking on a geoPaint document and having geoPaint load 
with the document.

The boot sequence just described takes place automatically with the help of a 
PROFILE.SUB file.  PROFILE.SUB is a text file consisting of commands to 
automatically run during startup.  It can be created with any standard CP/M text 
editor.

Writer's Delight

VDE266.COM is an excellent word processor patterned after the famous WordStar.  
This latest version includes most of word processing features recognized as 
standard for the Commodore 128, and many features, such as macros and 
hyphenation, found in larger usiness software packages.  All in all, this is a 
word processor you should have if you plan on working in CP/M mode.

Other public domain writing and printing programs abound in the CP/M world.  
DICTNU.COM is a diction checker.  Run DICTNU on a text file, and it will pick 
out awkward words and phrases from a predefined list.  A companion program, 
SUGGEST.COM, suggests alternate phrases.  FIG.COM is a FOG Index Generator.  It analyzes a text file for readability and prints out a report of the grade level required to read and understand the file.  The report also contains a count of the number of w
rds used in sentences, he length of words by percentage, and the number of words 
and sentences in the file.  SPELL is an interactive spell checker that is as 
full-featured as any I've seen for native 128 mode.  It is supplied ready to 
run, with a 90,000 word dictionary.  Running from the 1750 REU (CP/M's drive 
M:), SPELL is also probably the fastest spell checker to run on the 128.

Text formatters are another area of public domain CP/M software that hasn't been 
overlooked.  ROFF4.COM (Run OFF) is a standard formatter that uses dot commands 
many EasyScript users are already familiar with.  It can be used to 
automatically number pages, place footnotes, create headers and footers, and 
will even produce indexes and bibliographies.  Another type of text formatter is 
EP.COM (Epson Print).  EP includes a collection of 70 letter quality (YES!  
LETTER QUALITY) fonts.  Although this program prints slowly, with three to six 
passes of the print head for each line of text, the quality of printing 
surpasses anything else available for the C128.  It can fully justify text and 
produce multiple columns.  There is no limit to the number of different fonts 
that can be included in a document.  This is a truly amazing program.

Other printing programs deserve mention.  FANFOLD13.COM reformats a text file 
for printing on both sides of fanfold tractor feed paper.  It has special 
compression routines for removing extra linefeeds and combining lines of text.  
It can even format text for printing 132 characters per line with 99 lines per 
page for maximum paper savings.  PR3.COM is a public domain version of Sideways. 
It reformats text files for printing in landscape mode, that is, across the 
length of a page.

Useful Utilities

CHN31.COM (CHaiN) is a utility to make COMmand files that execute a chain of 
commands when run.  This handy utility makes it possible to combine several 
different commands into one command, or to change the syntax of a particular 
command to something more to your liking.  One example, on my disks, the command 
"MEX" does the following: LOADKEY TERM.KEY; MEX144; LOADKEY DEFAULT.KEY.  
LOADKEY.COM is a program that can load a set of keyboard definitions saved with 
SAVEKEY.COM, (of course)!  This enables you to have different keyboard setups 
for different programs, and install them automatically whenever you run a 
program.  In the example above, TERM.KEY is a file containing the keyboard setup 
I prefer to use with MEX, an XMODEM terminal program.

Although ARC and LBR files have recently appeared for C64/C128 machines, CP/M 
folk have been using them for years.  The best program in this genre is VLU.COM 
(Video Library Utility).  It is entirely menu driven.  Files within a library 
can be viewed, printed, or extracted with only a few simple key presses.  It is 
effortless to use with multiple disk drives.  It would be wonderful if someone 
would produce a program along these lines for the C128 or C64 in native mode.

CP/M disk utilities add an incredible level of versatility to the C128.  Used 
with the 1571 and 1581 disk drives, CP/M disk utilities can transform the 128 
into a machine that can use disks from practically any microcomputer.  The 
standard CP/M system provided with the 128 is already capable of using nine 
different formats.  RDCBM.COM (Read CBM) can copy files from normal Commodore 
disks to CP/M format.  It will translate PETASCII to the true ASCII used by CP/M 
(and the rest of the world for that matter).  TRANS128.COM can read or write 
files with disks formatted for the IBM-PC.  It can also be used to format MS-DOS 
disks.  UNIDRIVE.COM is a menu driven program that can "install" any of 17 new 
disk formats into the operating system.  Another program along these lines is 
FORMAT22.COM.  FORMAT22 can format 22 different disk formats, install one of 
these formats in the operating system, and analyze the format of an unknown 
disk.  FORMAT22 is a demonstration version of Jugg'ler-128, a commercially 
available program that supports over 130 different disk formats.

If you are familiar with Disk Doctor programs for 64 and 128 mode, you'll be 
happy to know that SPZAP.COM is an equivalent program for CP/M.  It uses menus, 
and amazingly enough, works with all CP/M disk types I've tried it with, 
including the 1750 RAM disk!  It's a must if you are interested in customizing 
programs.

Telecommunications

MEX.COM (Modem EXecutive) deserves some mention at this point.  This incredibly 
powerful terminal program is capable of unattended operation.  It can read and 
execute instruction "scripts" that can automatically dial a BBS and log your 
computer into your account.  Once logged on, MEX can send commands to read your 
messages into a file, use XMODEM to upload or download files, or even post 
messages and e-mail, all without the operator pressing even one key!

Databases

A standard in CP/M public domain is the excellent database PC-FILE.  It supports 
custom designed databases with up to 79 characters per record.  It is perfect 
for maintaining mailing lists and catalogs.  A new arrival, KWIKDEMO, is a 
demonstration version of a full-featured offering.  Unlike many demos, this 
program is completely functional.  Operating from menus, it provides sorting, 
editing, and printing functions.  The complete version is only $12.95.

A program that's easy to like is CAL32.COM.  It is an automatic calendar.  It 
prompts for the date, then displays a full screen calendar for the month.  By 
moving the cursor to a particular day, brief notes can be entered on the 
calendar display.  Longer messages for each day can be entered on a notepad-like 
screen editor.  The program generates a new file for each month, and supports 
printing.

Programming Languages

CP/M is useful for anyone interested in exploring different programming 
languages, because many different public domain languages exist for it.  If you 
already know BASIC, EBASIC is a common version of BASIC.  A famous public domain 
version of the C language, Small C, is available for CP/M.  Forth-83 can be 
obtained as F83.  If Z80 microprocessor assembly language is something you want 
to attempt, there is no shortage of assemblers, linkers, debuggers, and other 
assembly language utilities.  I personally have copies of three different Z80 
macro assemblers, and have used two of them to assemble source code that is so 
often provided with public domain programs.

Fun & Games

You probably wouldn't think it.  In these days of flashy, high-resolution arcade 
graphics, that some pretty entertaining games are available that print to the 
screen using only standard characters.  Many more are out there, especially 
games that rely on text, such as adventure games.  Not much of an adventurer 
myself, I'll fill you in on two of the CP/M board games I often play.  For a 
good game of backgammon against the computer, BACKGAMN.COM the best version I've 
seen yet.  The program presents biographies of your computerized opponents and 
lets you select one.  The action is fast paced, and comments from your 
electronic adversary are printed on the screen along with the moves and score.  
This is a well done game that will keep backgammon fans rolling the dice for 
hours.

OTHELLO.COM, the famous game of Othello, pits computer against human in a battle 
of wits to fill a grid with game pieces of one color.  The pieces are black on 
one side nd white on the other.  The plan is in placing pieces on the board, to 
flip your opponent's pieces over.  Although the computer doesn't always respond 
quickly in this game, you might feel you could use the break to study the board 
a little better.  The computer almost never makes a bad move.  Challenging, 
frustrating, and addictive, you might lose some sleep while playing this one.

Where to Get Public Domain CP/M Software

BCS members can get public domain software on disk at monthly Commodore User 
Group meetings for a nominal charge.  The BCS CP/M group also has a public 
domain library.  C128 owners with 1571 disk drives can use CP/M disks with 
KayPro, Osborne, or Epson disk formats.  Those with modems should log on to the 
BCS/CUG BBS at 617/862-5779.  The BCS KayPro User Group also runs a BBS, the 
BOSKUG Castle at 617/288-6477.
