More CP/M 2 : NULU & UNCR
by Stan Wong

Once you get into CP/M a bit more, you'll find that there are certain utilities that are just absolutely essential! For example, have you ever noticed CP/M files that have .LBR as an extension? This means that this file is actually a library made up of one or more smaller files. By using the appropriate program, one can compress a whole mess of files into one neat library that takes up less space on a tape than all the files would separately. The problem, however, is that unless you have the right utility, you cannot extract the files from the library. So if your friend gave a couple of really good .LBR files, they would be useless to you unless you open the library. There are several public domain programs available that will allow you to do this, but I will discuss NULU.COM and UNCR.COM as these are the two programs that I use.

When you first use NULU, you will find that it is very similar to NSWP in both appearance and operation. Both are menu driven and both allow mass operations. I do have the entire documentation to NULU, but I don't bother with it. As long as I know how to use it to get the files out, I'm happy.

The initial NULU screen asks if you want to open a library on the drive you are presently logged onto. If you do, just type in the name of the library file. If the library is on another drive, type -U (all of the main commands are preceded by a hyphen) and it will prompt you for the appropriate drive. After it logs you onto the new drive, it will again ask if you wish to open a library and you can now type in the proper name.

At this point, I usually type -F. This takes me to the filesweep mode which is almost identical to NSWP. The component files of the library are listed one at a time and you type T to tag the ones that you want extracted. Please note that once you are in filesweep mode, you start to use a secondary menu and you no longer precede your commands with a hyphen. After you have tagged all of the appropriate files, simply type M for mass operations and follow the prompts. It is that easy!

However, all is not over with yet! In order to save even more space, some of the files in the library have been compressed using a program called CR.COM (crunch) prior to being placed in the library. Using NULU to extract the files will not uncrunch crunched files. You can identify crunched files because the middle letter in the extension is a Z (for example, NSWP.DOC would be crunched to NSWP.DZC). While there are some utilities available now that extract and uncrunch at the same time, I have been using NULU and another utility called UNCR.COM (uncrunch).

To use UNCR.COM effectively, you can employ wild cards. If you recall from my previous CP/M article, you can use an asterix (*) to represent any file name. This is an example of a wild card. Wild cards are useful for mass operations. For instance, say you have a program that performs file transfers that supports wild cards. If you wanted to transfer all of the files, you could simply transfer *.*, because the * means any filename and any extension. If you wanted to only transfer .COM files, you could transfer *.COM. Get the picture? Now, the other wild card used in CP/M is the good old question mark. Whereas * meant any name, ? means any letter. In other words, *.* would be equivalent to *.??? because extensions are always 3 letters long.

How does this pertain to UNCR? First of all, the syntax for using UNCR is as follows:

UNCR <source drive>:<file name> <destination drive>:

Don't forget the colons after the drive designations! Now, this is good if you have only one file to uncrunch, but it would be tedious if you had several, which is usually the case after you extracted everything you need from a library. Wild cards to the rescue! You can save yourself a lot of grief and misery by typing:

UNCR <source drive>:*.?Z? <destination drive>:

As you recall, crunched files have Z as the middle letter in their extension, so using the above wild card will automatically uncrunch all crunched files on your source drive.
I hope that this helps you out. It seems confusing at first until you've actually done it a few times. Try it, though. It may be easier than you think!

Back to Top