SETD 2.2 A Library Date-Stamping Utility Copyright 1988, Brent B. Powers COPYRIGHT NOTICE: I have not released, nor do I intend to release, this program to the public domain. However, you are free to use this program in any way you deem, provided no fee is attached to its distribution or transfer, and any such distribution includes this documentation file in its entirety. This explicitly bars selling this program on a disk, with or without other programs on the disk, and charging for the disk, nor may this program be downloaded from a BBS which charges for access. Although purveyors of such services have every right to operate in such a manner, I personally feel it is contrary to the spirit which has allowed CP/M to survive for 9 years. Furthermore, if anyone is going to make money from this modest utility, it ought to be me. That said, this program is actually intended as a companion to Steven Greenberg's LDIR-B. It allows the individual members of a library to be dated, separately or in common, in a manner that LDIR-B can detect. Usage is simple, and a short summary of usage can be obtained by simply running the program with no parameters. However, that will not give a full list of options. The basic form of the command is SETD LIBRARY[.EXT] [[A]MM/DD/YY|[E]DD/MM/YY] [member] [/[O|U]] LIBRARY is required, and indicates the name of the library to be updated. The extension is optional and of no consequence; SETD assumes an extension of .LBR. Wildcards are not allowed. The date may or may not be optional, depending on the installation (which see). The program is distributed in American date mode (i.e., MM/DD/YY), however, a one byte patch to the program will result in a default of European date mode (i.e., DD/MM/YY). If American dates are the default, a European date may be entered by prefacing it with an E; similarly, if European dates are the default, an American date may be entered by prefacing it with an A. The membername is optional, and specifies which members of the library to update. Wildcards are permitted. No entry at all is equivalent to *.*. In the program's default distribution, it will only alter library members which are not already dated. This may be circumvented by giving the /O parameter (for Overwrite), which will cause all matching members to be updated, whether or not they have been previously dated. If patched so that /O is the default, /U (Update) will cause only undated members to be updated. Those with an operating system that supports a re-execution command (e.g. GO) will be pleased to know that SETD.COM may be reexecuted at will. INSTALLATION: If your computer does not have a clock, there are only two patches which you need worry about. These are: 103H: EUROMODE: Zero (default) for American style dates, 0FFH for European style dates. 104H: OVERWRMODE: Zero (default) for overwrite only by /O, 0FFH for overwrite mode as default. If your computer does have a clock, you may code a routine to access the clock. If this is done, the date on the command line becomes optional. If a date is entered, it will override the system date. For details of where this routine should go, and what it should do, please see SETDCPM3.ASM. ACKNOWLEDGEMENTS: Irv Hoff asked me to do the original version of this program, which was simply a translation of C.B. Falconer's LSETDATE. We must always acknowledge Gary P. Novosielski for originating the LBR structure. Finally, thanks to Steven Greenberg for LDIR-B. Brent B. Powers 10 Feb, 1988 Versions: Version 2.2 has additional bug fixes, thanks to Steven Greenberg's assistance. Verson 2.1 had a problem with the cpm3 overlay file fixed (actually, it just disappeared), and also a problem with small libraries (less than 4 members). Version 2.0 was the original assembly language version, recoded from the TurboPascal version, in turn recoded from the TurboModula-2 version, which was, finally, a translation of C.B. Falconer's LSETDATE, with a slightly different date-parsing algorithm.