All computer users have to spend part of their time housekeeping--
checking disk space, formatting new disks, cleaning out dead files, backing 
up good ones, moving others from disk to disk.  Fortunately, there are some 
public domain CP/M programs that make these jobs easier.  These programs 
are basic utilities that no one, from novice to expert, should be without.  
(In fact, they were among the first programs to appear in the MS-DOS public 
domain after the IBM PC came out.  People who migrated from CP/M to IBM 
just refused to give up these timesavers they'd gotten so used to.)
FIVE BASIC UTILITIES
     SD98 (Super Directory, version 9.8)   SD gets the vote as my "most 
used" program.  It's a small program with a number of options, but its main 
function is simple.  It shows the directory of a disk, with the files 
sorted into alphabetical order, and gives the size of each file, the free 
space left on the disk, the space used on the disk, and the number of files 
(see Listing 1 for an example).  
     With one command, SD answers the three most common questions:  Where's 
that file?  How big is it?  How much space is left?  Until I got SD, I had 
to use CP/M's DIR to answer the first question and STAT to answer the 
second and third.  But DIR doesn't alphabetize its display of files, and 
STAT is 6K and slow, with a display that's hard to read if your disk has 
many files.  SD is fast and small (2K, if you reassemble to eliminate 
unneeded options, about 4K otherwise).  And it has a very clean display, 
which you can even modify to list files vertically, in four columns, rather 
than horizontally as in Listing 1.  Good-bye STAT and DIR.  I now put SD on 
all my program disks.
     SD also has some special options.  It can show every disk and user 
area in one command.  It can pause the display after every screenful.  It 
can show system files or not.  It can adjust the width of its screen 
display.  And it can write its output into a disk file.  People with hard 
disks will find the first two useful, Osborne owners the third, and almost 
everyone the last.
     You'll also find other directory programs in the public domain: D, S, 
XDIR, and others, some of which are SD masquerading under another name.  
All will do the job for most people.  People who have hard disks will 
probably want the original SD.  SD98 is the latest, but I've used versions 
back past SD78--they work fine.
     UNERA30 (UNERAse, version 3.0)   UNERASE is my least-used program, but 
I put it on every program disk, too.  As its name suggests, UNERASE 
recovers erased files.  If you've ever typed ERA *.BAS when you meant to 
type ERA *.BAK, you'll understand the peace of mind this program gives.  
It's a life-saver.  
     When you first erase a file, it doesn't get wiped off your disk.  
Instead, CP/M goes to the disk directory and marks the file as erased, 
making the disk space the file occupied available for use.  UNERASE simply 
goes to the disk directory and marks the file active again.  Your file will 
be recovered, safe and sound, as long nothing else has been written to that 
disk.  If something has been written to the disk in the meantime, there's a 
very good chance that it has overwritten your erased file.  The time to use 
UNERASE is immediately after an accidental erasure.
     UNERASE only takes up 2K and is worth many times its weight in gold.  
UNERA30 is the latest version; I've also used earlier versions 
successfully.
     FBAD60 (Find BAD sectors, version 6.0)   FINDBAD is another insurance 
program.  It checks a formatted disk for bad sectors and "locks out" any it 
finds by writing them into a special file named [UNUSED].BAD.  As long as 
the bad sectors are in this file, CP/M won't try to use them.
     I use FINDBAD to check every disk after formatting.  Though formatting 
programs catch most bad sector problems, FINDBAD has found a few that have 
slipped through (saving me certain grief).  I also use FINDBAD periodically 
on any disk that is aging or behaving suspiciously.  Disks do deteriorate, 
and though disk errors can happen for various reasons--such as a disk not 
being seated properly in the drive--I always like to check.  FINDBAD's disk 
testing is non-destructive:  you can test a disk without damaging any files 
on it.
     FBAD60 is the latest version.  The earlier versions I've tried have 
worked well, but FBAD60 gives you a choice of either checking another disk 
or exiting to CP/M when it's done, a good feature if you're checking 
several disks.
     NSWP207 (New SWeeP, version 2.07)   If SD is the most used program on 
my disks, NSWP is the most useful.  It's my major housekeeping tool, and 
I'd hate to be without it.
     If you take a look at the NSWP menu shown in Listing 2, you'll get an 
idea what it can do.  It does not slice, dice, or julienne, but it does 
nearly everything else.  You can copy, rename, and delete individual files.  
You can tag files for mass copying or deletion and rename groups of files 
using wildcards (renaming *.OBJ to *.COM, for example).  You can squeeze 
files into a special compressed (but generally unreadable form) for storage 
and then unsqueeze them again.  You can check disk space, set file 
attributes (like read-only or system), send files to the printer, and view 
text files on the screen, even squeezed ones.  Just try getting PIP to do 
all that.
     Perhaps best of all, once NSWP is running, you can remove disks and 
insert new ones as often as you want; you never have to exit the program 
just to hit ^C.  This feature alone makes NSWP indispensable.  When I 
changed my computer from single-sided to double-sided drives, I spent a 
long afternoon with NSWP transferring all my files onto new disks.  Without 
NSWP, I would have been barking mad long before I finished.
     As you can see in Listing 2, NSWP presents the files on a disk one by 
one in a vertical column, in alphabetical order.  You can act on the file 
your cursor is next to and can move either up or down the list.  The menu 
scrolls off the screen as the list grows, of course, but you can get it 
back at any time by typing a question mark (?).  You can back out of any 
command up until the last moment, and NSWP always asks for verification 
before deleting files.
     NSWP207 is the latest version.  It takes up 12K on your disks and is 
worth every bit; you'll never go back to PIP once you've used it.  There 
are similar programs you may run across, but most don't bear comparison.  
WASH is older than NSWP and not as flexible.  SWEEP is very similar to NSWP 
(which was modeled on it) but is slower and much bigger (28K or so).  
     The only other program you may want to consider is DISK7, which shows 
up in two versions, DISK76 and DISK77B (the differences are minor).  DISK7 
doesn't have NSWP's squeeze/unsqueeze, file attribute, mass rename, or mass 
delete commands, and some of its other commands are not as flexible.  But 
it has all of NSWP's most used functions, it's equally fast, and it takes 
up only 4K on your disk.  If your disks are crammed full, DISK7 may be for 
you.  
THREE MORE PROGRAMS FOR SERIOUS COLLECTORS   
     If you get serious about collecting public domain software, there are 
three more programs you'll want in your basic kit.
     SQ111 (SQueeze, version 1.11),  USQ120 (UnSQueeze, version 1.20)   These 
two make a set.  SQ squeezes a file into a special compressed form, which 
may be as little as 70-75% of its original size.  There are programs, like 
NSWP, that will let you view squeezed text files, but you can't edit them 
or do anything else useful--they're mainly for storage.
     USQ, as you've guessed, unsqueezes a squeezed file, returning it to 
its original form.  USQ and SQ use an error-checking system to make sure 
that a newly-unsqueezed file is identical to the original unsqueezed file.  
And both allow you to copy a file to another disk while you squeeze or 
unsqueeze it.
     You need to be able to squeeze and unsqueeze files because all RCP/Ms 
(Remote CP/M bulletin board systems) and even some users' groups squeeze 
many of their files to save space.  To use these files, you'll have to 
unsqueeze them, and you'll probably want to squeeze your own files for 
backup storage.  NSWP can handle these chores, of course, but at times, SQ 
and USQ are handier.  For one thing, you can use them with CP/M's SUBMIT 
program to do batch processing; you can't do that with NSWP.
     Try to get the latest versions of these programs, SQ111 and USQ120.  
These versions were written in assembly language, so they're much smaller 
and faster than earlier versions, which were written in the C language.  
You may also find these programs under their original names, NSQ111 (for 
New SQueeze) and NUSQ120 (for New UnSQueeze).  The RCP/M or users' group 
where you get them should also have a file called SQUEEZE.DOC, SQ/USQ.DOC, 
or something similar, which explains the ins and outs of squeezed files.
     DE-LBR (DE-LiBRary)  Along with squeezed files, you'll also need to 
be able to handle library files, which have the filetype LBR and are used 
heavily on RCP/Ms for convenience and compactness.  A LBR file is really 
several smaller files gathered together in a collection that CP/M treats as 
a single large file.  To use the LBR file, you must be able to extract all 
the member files from the library; you can't do much with them until you 
do.
     The simplest way to deal with LBR files is to use a program called DE-
LBR, which does only one thing--extract member files from a LBR file with 
little fuss.  Two other programs, NULU11 and LU310, let you build and 
rearrange LBR files as well as extract members, but most people have no 
reason to build LBR files, though they can be useful on a hard disk.  If 
you want to build libraries, NULU11 is the best.  For most people, DE-LBR 
is plenty.