Documentation File for LU86 Version 1.06 Date: 6 September 1984 (c) 1984 by Charlie Godet-Ceraolo. Released into the public domain for non-commercial use. LU86 is NOT a translation of LU.COM for CP/M86 systems. It is an attempt to provide the essential features of LU.COM for CP/M86 users. I wrote it to enable CP/M86 users, like myself, to cope with the LBR files that proliferate on the RCPM boards. LU86 creates and manipulates LU-compatible LBR files, and offers most of the facilities that LU provides. For complete instructions on using LU86 see the LU.COM documentation. LU86 behaves exactly the same way, with the exceptions noted below. LU86.CMD reads and manipulates files created by LU.COM and produces files which can be read and manipulated by LU.COM. I wrote this program based on information I found in LUDEF3.DOC by LU.COM's author Gary Novosielski, and in his LU301.COM documentation. Also helpful was Steve Hemminger's UNIX-LU.C program file. LU86.CMD vs. LU.COM LU86 is interactive only. It doesn't accept command line arguments. The menu responses are single keystrokes. Most of LU86's commands are the same as LU.COM's except that -X is replaced by Q(uit. LU86 does not support User Areas, nor does it support CRC checking of files. It is compatible with all LBR files whether they use CRC checking or not. LU86's R(eorganize routine requires you to name the new library. It does NOT erase or rename the old library. WARNING: DO NOT USE THE SAME NAME/DRIVE FOR THE NEW AND OLD LIBRARIES, DISASTER WILL PROBABLY RESULT!! At any prompt for a filename or size, a carriage return will usually return you to the main menu. A ^C will usually abort any operation in progress, that is, Delete, Extract, and Reorganize. A ^C at the main menu will Abort the program WITHOUT closing the LBR file. This will let you bail out after over-enthusiastic Deletes or whatever. No changes are made to the LBR file until it is closed. But remember, O(pening another LBR file automatically closes the current file, and R(eorg also closes the current file automatically. LU86.CMD's MAIN MENU O(pen open a LBR file. The .LBR extension need not be supplied. If found, the main prompline will display the name of the LBR file. If not found, you'll be asked for the name and size of a new library to be created. L(ist list the contents of the opened LBR file. The display is four across on the screen. It will show a full screen and then pause if there are more than a screenful of files in the library. The display includes the size of the file in K. The actual disk space they use will probably be slightly more. C(lose close the current LBR file, presumably because you want to open another. In the current release, the Open command automatically closes any open LBR file. E(xtract prompts for the name of the file(s) you want to extract from the LBR file. The standard CP/M wildcards are supported. If you include a drive code in the file spec, it will be used as the destination drive for the extracted files, otherwise the files will be placed on the default drive. Some examples of extractions: C:MyFile.Doc will extract MyFile.Doc and store it on Drive C. MODEM.?Q? will extract all the squeezed MODEM files and store them on the default drive. B:*.AQ6 will extract all the squeezed A86 assembler files and store them on drive B. A:*.* will extract all the library files and put them on the A drive. Q(uit leave the program and return to the operating system. Any open LBR file will be closed. To avoid closing the LBR file, use ^C at the main menu. A(dd prompts for a filename, and, if found, and if there is room in the Library, adds it. Standard CP/M wildcards ARE supported. No check is made of the LBR extension, so other libraries can be added deliberately or accidentally. D(elete prompts for a filename, and if found, removes it from the Library. Wildcards ARE supported. R(eorg prompts for the name and size of the new library. Regardless of your reply to the size prompt, the new library will be at least large enough to contain all the active files of the old library. The new library is created, and the active files of the old library are sorted and copied over. The old library is closed, and the new library becomes the current library. LIMITATIONS OF LU86 Version 1.06 o As mentioned above, this release does NOT support command line arguments. o There is NO CRC checking done on files. o The present release assumes at least a 24 by 80 screen. o User areas are NOT supported. o Currently, the program does not check for valid LBR format. o The present release does NOT trap Disk Read and Write errors. If one occurs, you will receive a cryptic run-time error message and be dumped back into your operating system. o LU86 will crash if any of the files it writes exist and are READ/ONLY. It will correctly handle a READ/ONLY LBR file, and will not allow Adds or Deletes. o If any file that LU86 writes already exists, it will be overwritten, without notice. o LU86.CMD is compiled Turbo Pascal. I used a 'raw' version of the compiler, so there should be no unwanted, compiler- supplied screen control codes. I also compiled it with a set of compiler options so it could run under CCP/M-86 and MP/M-86. But I have no way of testing this. HELP, HELP!! I'd be very grateful to hear your reaction to this program. Especially any problems you experience. I hope to expand this into a full featured CP/M-86 version of LU, if there is enough interest. But I need a lot of feedback to make this possible. You can reach me at the following address: Charlie Godet-Ceraolo 2610 Glenwood Road Brooklyn, New York 11210 Enjoy!