0REVIEW OF Plu*Perfect Systems' "DATESTAMPER" for Aug/Sept 1987 ¨ issue of Morrow Owners Review by Rick Charnes [Approximately 3300 words] Copyright (c) 1987 by Rick Charnes. All rights reserved.  ¨ Back in the winter of 1986/87 during my regular ¨  ¨ transcontinental BBS travels I found myself constantly running ¨  ¨ across messages referring to two programs DateStamper and ¨  ¨ Backgrounder II, both by Plu*Perfect Systems in southern ¨  ¨ California, about which people seemed unable to stop raving. The ¨  ¨ course of discussion on one of my favorite bulletin boards in ¨  ¨ particular -- Newton Centre Z-Node in Boston -- had seemingly ¨  ¨ been given over entirely to these two programs for a period of ¨  ¨ several weeks. I was initially slow to take notice as I am often ¨  ¨ conservative when it comes to new software purchases. I have ¨  ¨ since acquired both programs, seen what a total change in my ¨  ¨ operations they provide, and now utilize them both on a daily ¨  ¨ basis. I would like in this issue to share some of my ¨  ¨ experiences with DateStamper, and next time deal with ¨  ¨ Backgrounder II. ¨ It was actually only thanks to a minor catastrophe I had a ¨  ¨ few months ago, that DateStamper could have prevented, that I now ¨  ¨ understand what all the hubbub was all about. These two ¨  ¨ utilities add a major dimension to CP/M computing that has been ¨  ¨ sorely missing from our repertoire, and as such deserve our ¨  ¨ fullest support. ¨ About three months ago I did something fairly outlandish ¨  ¨ with my system; I decided it was time to reformat my hard disk. ¨  ¨ The Mini-Winnie's response time was getting much slower than I ¨  ¨ remember it having been during the couple of months after first ¨  ¨ attaching it to my MD3. Of course all hard disks will do this ¨  ¨ eventually as segments of files become scattered over the disk. ¨  ¨ Methodically I backed up the entire 20 megabytes onto 50 floppies ¨  ¨ or so, reformatted, copied them back, and experienced no problems ¨  ¨ -- except for one minor detail. I maintain an 80k dBase II file ¨  ¨ of which for good measure I am constantly making several backups ¨  ¨ on to different floppies each time it is modified. Well, it ¨  ¨ turns out I had been less than zealous in marking on the floppies ¨  ¨ which version was the most recent. Result? After the ¨  ¨ reformatting I had about 6 different versions of the same file ¨  ¨ staring me in the face, and I simply had no idea which one should ¨  ¨ assume its dutiful place on my hard disk. It took me about 2 ¨  ¨ hours of visually comparing the data on each of these, running a ¨  ¨ "difference" utility on the files and phone calls to non-existent ¨  ¨ telephone numbers to see which was the most current. ¨ Afterwards I had three or four beers and bought myself a ¨  ¨ copy of DateStamper. ¨ With DateStamper I would have been able to see the exact ¨  ¨ creation date of each of these files and simply chosen the most ¨  ¨ recent. This program places an electronic "stamp" on your files ¨  ¨ through which various of several utilities can then read the date ¨  ¨ a file was (a) created, (b) modified, and (c) accessed. The ¨  ¨ amazing revelation for me was that this can be done WITHOUT a ¨  ¨ real time clock. ¨ In addition to the stamping of date per se, for those ¨  ¨ without a clock there is an additional feature called a "relative ¨  ¨ clock" that marks each file with the value of a counter the ¨  ¨ program maintains. It is an ordinal stamping, marking the "time" ¨  ¨ of file access relative to other files. Each time you access, ¨  ¨ modify, or create a file on your system, from the time you turn ¨  ¨ on your computer or cold boot, DS marks the file with this simple ¨  ¨ number count in the form "+nnnn" representing the "time" this ¨  ¨ file was used relative to other files used during that day. It ¨  ¨ is a rather ingenious way to deal with the absence of a real time ¨  ¨ clock. ¨ For instance, if you edit JOE.LTR with NewWord and then ¨  ¨ create COMMAND.ZEX with VDE.COM, when you look at your directory ¨  ¨ with the special DateStamper directory program you will see ¨  ¨ something like: ¨ .RR--!----!----!----!----!----!----!----!----!----!----!---------------------R >>> Drive C1: 70 files, using 588k (1336k FREE) +0181 09 Jun'87 -- file size created accessed modified -- C1:COMMAND .ZEX 4k | +0156 09 Jun'87 C1:JOE .LTR 8k | +0087 06 Jun'87 +0153 09 Jun'87 +0154 09 Jun'87 ¨ C1:NW .COM 8k | +0152 09 Jun'87 C1:VDE .COM 4k | +0155 09 Jun'87 .RR--!----!----!----!----!----!----!----!----!----!----!--------R I have eliminated some unnecessary listings here and changed ¨  ¨ some values to make it easier to understand, but it should be ¨  ¨ clear how this "relative clock" counter works in assigning ¨  ¨ "+nnnn" values. Our first file accessed is NewWord, and that is ¨  ¨ assigned a value of "+0152", meaning it was the 152nd file access ¨  ¨ of the day. Next JOE.LTR was accessed (+0153) and ultimately ¨  ¨ modified (+0154). Then an access to VDE (+0155) to create ¨  ¨ COMMAND.ZEX (+0156). This relative clock counter is a very ¨  ¨ convenient way to keep track of the order of your operations and ¨  ¨ hence is of great assistance in generally keeping control of your ¨  ¨ system and its commands. Z-System users with the command recall ¨  ¨ shell HSH.COM loaded into memory as well are able to combine the ¨  ¨ two to retrace with a rather striking accuracy which command ¨  ¨ accessed which file and in what order relative to other commands. ¨ All the BBS messages and advertising notices I had been ¨  ¨ reading, however, had given me the erroneous impression that this ¨  ¨ relative clock was the only "stamping" the program did. It was ¨  ¨ only after I purchased it that I realized there [BOLD]is[END ¨  ¨ BOLD] full [UNDERLINE]date[END UNDERLINE] stamping even without a ¨  ¨ real time clock, as shown above. The only thing the user must do ¨  ¨ to generate these dates is enter it manually at computer power-on ¨  ¨ or cold boot. I have found this almost no inconvenience at all ¨  ¨ as I have incorporated it into my Z-System STARTUP alias. CP/M ¨  ¨ users can simply have AUTO.COM boot it up. After that, the date ¨  ¨ is "locked" into memory and can even be displayed on-screen ¨  ¨ independently with a DATE.COM command. ¨ Of course users with a real time clock can simply choose ¨  ¨ their particular model from the menu provided and will be up and ¨  ¨ running in no time with full stamping of both date and time. ¨ DateStamper uses approximately 1k of memory for CP/M 2.2 ¨  ¨ users and 1.25k for the Z-System version. It is not compatible ¨  ¨ with CP/M 3.0. I am running it on the most memory-hungry Morrow ¨  ¨ Z-System configuration, with 2k additionally taken up by the ¨  ¨ Mini-Winnie hard disk driver -- and Backgrounder II on top of ¨  ¨ this -- and I experience no memory problems. I should emphasize ¨  ¨ that it runs perfectly on a straight CP/M 2.2 system and is not ¨  ¨ in any way, shape, or form a special Z-system utility. It is ¨  ¨ furthermore fully compatible with Smartkey. Not only have I ¨  ¨ experienced no memory problems when running it with our favorite ¨  ¨ key redefinition program, but there appears to be no requirement ¨  ¨ that one necessarily be loaded before the other as is the case ¨  ¨ with many "resident system extensions" of this type. ¨ I was a little disappointed with the instruction manual, at ¨  ¨ least in regard to its insufficient instructions pertaining to ¨  ¨ installing it on my particular set-up -- with Backgrounder II and ¨  ¨ Z-Systems running as well. I wrote a letter of complaint -- and ¨  ¨ have somehow found myself with the (rather enjoyable) job of ¨  ¨ writing up a Z-System addendum to the next edition of the ¨  ¨ DateStamper instruction manual. Users not needing to perform ¨  ¨ special configurations such as mine did will probably find the ¨  ¨ 70-page manual quite comprehensive, and I have appreciated the ¨  ¨ willingness of Plu*Perfect to go out of their way to assist me in ¨  ¨ this regard. ¨ DateStamper comes with several configuration programs, both ¨  ¨ for its own internal operations and for one's terminal. They are ¨  ¨ quite straightforward and easy to follow, except for Z-System ¨  ¨ users who must get used to following the options for a category ¨  ¨ rather ignominiously dubbed "Unknown BDOS"! Giving such a name ¨  ¨ to an operating system so many of us have come to know and love ¨  ¨ is disconcerting to say the least. (I have since come to ¨  ¨ understand that the manual and the bulk of the program were ¨  ¨ written before the authors of DateStamper became Z-System ¨  ¨ aficionados.) Z-System users will choose the file DATSTAMPZ.COM ¨  ¨ whereas those with CP/M 2.2 will choose DATSTAMP.COM. ¨ One other change I would make in the manual would be to ¨  ¨ instruct users to configure DateStamper with the program DSCONFIG ¨  ¨ as the very first step, before installing DateStamper itself. ¨  ¨ Additionally, when running BGii and Z-System on top of DS, a ¨  ¨ necessary preliminary step should be to run SETUPDS, to situate ¨  ¨ DateStamper precisely at memory location EB80h, 80h bytes above ¨  ¨ where the Z-System IOP would normally load. I very much would ¨  ¨ have liked to have had this information when I first got the ¨  ¨ program; it is non-existent in the manual. Also, since the ¨  ¨ manual was written before the introduction of Backgrounder II, ¨  ¨ there is no mention of the special procedures one must follow in ¨  ¨ this case. Floppy-disk Z-System and CP/M users need make no ¨  ¨ adjustments, and can install DateStamper in its default location, ¨  ¨ below the operating system. In either case, once loaded into its ¨  ¨ proper place I have run it in several different situations with ¨  ¨ no memory problems or incompatibilities. ¨ After running the configuration options, the program PUTDS ¨  ¨ creates a file !!!TIME&.DAT on each disk on which you desire date ¨  ¨ stamping. This read-only file then contains the actual ¨  ¨ information from which the various utilities read the date. ¨  ¨ After this step, you are ready to go. ¨ Since CP/M 2.2 users have not made a program of this type -- ¨  ¨ taken for granted in the MS-DOS world -- an important part of ¨  ¨ their repertoire, software companies and public domain ¨  ¨ programmers have been somewhat lax in the task of developing ¨  ¨ applications and utilities that support date stamping. To remedy ¨  ¨ this situation, Plu*Perfect provides as part of the package a ¨  ¨ disk of several public domain utilities that have been modified ¨  ¨ by them and others to support date stamping. Most important in ¨  ¨ this regard is SDD.COM, a special version of SD.COM, the standard ¨  ¨ CP/M "Super Directory" program. It is this program that ¨  ¨ created the above directory listing. Once you begin to use it as ¨  ¨ your everyday directory program, it is most enjoyable and ¨  ¨ interesting to see a listing of dates along with your files. ¨  ¨ Supplied as well are modified versions of Irv Hoff's MCAT and ¨  ¨ XCAT cataloging programs, which become superlative tools as they ¨  ¨ can now read in the date provided by DateStamper. ¨ Additionally provided on the separate disk is source code in ¨  ¨ assembly language and BDS-C to use as a guide in making ¨  ¨ modifications to already-existing programs to allow them to ¨  ¨ support DateStamper. One assumes as DS's popularity grows we ¨  ¨ will see an increasing number of standard utilities and ¨  ¨ applications modified in this manner. ¨ For months now I have been using special DS-supporting ¨  ¨ versions of the Z-System utilities VFILER, PPIP (a standard Z- ¨  ¨ System copy program, similar to MCOPY), and PRINT.COM. ¨  ¨ Furthermore, returning the favor, there is a special Z-System ¨  ¨ version of DateStamper's SDD.COM that allows named directories to ¨  ¨ be referenced from the command line. Patches to MexPlus and ¨  ¨ dBase II are available as well for CP/M users. ¨ Perhaps most powerful of all the programs provided in the ¨  ¨ package is DateSweep, DateStamper's superb file management ¨  ¨ utility. DateSweep begins where NewSweep leaves off. In ¨  ¨ addition to the usual functions provided by a program of this ¨  ¨ type, it allows the user to access and group files by their ¨  ¨ temporal relations. In other words, you can view (or set the ¨  ¨ read-only bit on, or unsqueeze) only those files modified on or ¨  ¨ after, say, August 1, 1987. It also has the very valuable ¨  ¨ "negate selection" feature that sophisticated directory programs ¨  ¨ such as XDIR have. If you would like, for instance, to set the ¨  ¨ SYStem attribute on all files that were modified before August ¨  ¨ 31, 1987 and do NOT have the extension of .DOC, DateSweep can ¨  ¨ handle that with ease. ¨ The most important application of this ability to group ¨  ¨ files by temporal relations, however, provides what I believe to be ¨  ¨ perhaps the most useful application of DateStamper as a whole. It ¨  ¨ gives CP/M 2.2 users the ability to do true "incremental" file ¨  ¨ archiving or backing-up, a feature normally possible only with ¨  ¨ CP/M 3.0 or Z-System. If you are a CP/M 2.2 user who regularly ¨  ¨ backs up important files, you probably have often wished there ¨  ¨ were some way to back up in a single command only those files ¨  ¨ worked on during any given day's session. Backing up one's ¨  ¨ entire disk seems a waste of time, and doing the files one by one ¨  ¨ is no better. C/PM 3.0 and Z-System use the archive bit which ¨  ¨ gets turned off or "reset" when a file is modified. At the end ¨  ¨ of a day an archiving program can be loaded which runs through ¨  ¨ the disk and backs up only those files whose archive bit is ¨  ¨ turned off. Up till now, CP/M 2.2 users have had no way to ¨  ¨ perform this kind of backing up. With DateSweep, however, this ¨  ¨ function is replicated by simply tagging only those files ¨  ¨ modified, for example, during the day's operations, and then ¨  ¨ using DateSweep to copy only these to the backup disk. This ¨  ¨ works very nicely and provides a very valuable feature to CP/M ¨  ¨ 2.2 users. ¨ This capability is taken to its logical and extraordinarily ¨  ¨ useful conclusion with DateSweep's ability to perform full ¨  ¨ operations, including exit from the program itself, by taking ¨  ¨ options and parameters from the command line. Only a very few ¨  ¨ CP/M programs have this degree of sophistication -- NULU is the ¨  ¨ only other that comes to mind. This means, of course, that it ¨  ¨ can be run from a SUBMIT, EX, or ZCPR3 alias script or, ¨  ¨ alternately, straight from the operating system prompt. This is ¨  ¨ very valuable for automating operations. The most important ¨  ¨ application here, of course, and one for which this feature of ¨  ¨ DateSweep is ideally designed, will be to include a DateSweep ¨  ¨ command line in any backing-up submit file you use as the very ¨  ¨ last operation of the day's work. The day can then be entered as ¨  ¨ a parameter on the command line. A file called BACKUP.SUB that ¨  ¨ for instance, will send all files modified on any given day over ¨  ¨ to the C: drive would look like: ¨ DATSWEEP $$S`$1``CC:`UNX ¨ Then, from the command line, "SUBMIT BACKUP =082887" will back up ¨  ¨ all files modified on the exact date August 28, 1987. ¨ Though this will most probably look like gibberish until one ¨  ¨ becomes familiar with DateSweep's commands, it is apparent that ¨  ¨ this feature is extremely useful and in fact most enjoyable to ¨  ¨ watch in operation. You will no doubt find yourself dreaming up ¨  ¨ all sorts of exotic combinations with which to experiment. ¨  ¨ Although since I use Z-System I can do my backing up using the ¨  ¨ archive bit method I find myself often using DateSweep to do so ¨  ¨ because of the pleasure I find in watching the attractive console ¨  ¨ display exhibited during an automation so automated. Power and ¨  ¨ performance like this is very rare in the CP/M world. ¨ Although the DateStamper directory program SDD.COM does not ¨  ¨ have an option to display only files from a certain date, this ¨  ¨ function as well can be replicated by DateSweep. For instance, ¨ DATSWEEP $S`=082887``X ¨ typed from the command line (or again, a batch script) will load ¨  ¨ DateSweep, display only those files modified on August 28, 1987, ¨  ¨ and return you to the command line. ¨ An alternative to either batch control or manual input from ¨  ¨ the command line would of course be to put any of the above ¨  ¨ commands into a SmartKey definition, with a pause where the user ¨  ¨ will insert the date. ¨ I find this feature of DateSweep extremely useful and an ¨  ¨ absolute pleasure to work with. ¨  ¨      DateSweep also can be configured for an attractive graphics ¨  ¨ display on Morrow and other terminals. When running SETTERM.COM, ¨  ¨ the program that installs all the various DateStamper utilities ¨  ¨ to one's terminal, when prompted for the characters to be used as ¨  ¨ a vertical and horizontal bar, rather than entering the usual ¨  ¨ single characters "|" and "-", respond instead with a multiple ¨  ¨ character sequence. First the two characters that turn graphics ¨  ¨ mode on (for most of us, ,$), then the character that ¨  ¨ translates into a vertical or horizontal bar when graphics mode ¨  ¨ is on (I believe "I" and "J" respectively for the MDT70), and ¨  ¨ finally ",%" to turn graphics mode off. This works to ¨  ¨ produce a very attractive display for this excellent program. ¨  ¨      A program called LOG.COM is also provided with DateStamper ¨  ¨ which records the total amount of time spent on any of several ¨  ¨ user-selected task categories such as "business," "personal," ¨  ¨ "education," etc. This can be very useful for tax purposes. ¨  ¨      Here's a "teaser" for those considering purchasing the CP/M ¨  ¨ task-switching program Backgrounder II as well and are wondering ¨  ¨ what special features accrue from running both programs ¨  ¨ simultaneously. At work I use the MS-DOS wordprocessing program ¨  ¨ WordPerfect and have always thought it slick the way one can ¨  ¨ touch a function key and watch the program spit out the current ¨  ¨ date into the document on which I'm working. It's a very handy ¨  ¨ feature and I had always thought it a shame it couldn't be done in ¨  ¨ CP/M. Well, now it can. When Backgrounder, which has very ¨  ¨ extensive key redefinition capabilities, and DateStamper are ¨  ¨ running simultaneously, the character sequence "\,d" (backslash, ¨  ¨ "d") will read the date from DateStamper and insert it in your ¨  ¨ document. This is very nice and very convenient for letters, ¨  ¨ memos, etc. ¨  ¨ Now for the final, and in many ways crucial, question for us ¨  ¨ Morrow users: when we will have an inexpensive real time clock? ¨  ¨ Before I realized that DateStamper [UNDERLINE]does[END UNDERLINE] ¨  ¨ provide [UNDERLINE]date[END UNDERLINE] stamping without a clock, ¨  ¨ my intention was to save my pennies until I could afford the $99 ¨  ¨ for a Kenmore Z-Time. Now, however, we have two other options. ¨  ¨ My brilliant and industrious fellow columnist Mike Allen is hard ¨  ¨ at work producing a Morrow-compatible clock that appears will be ¨  ¨ available at a much more reasonable price than the Kenmore. I ¨  ¨ will most probably be one of the first to grab one when Mike ¨  ¨ finishes his work. ¨ On the other hand, in many ways I am quite satisfied with ¨  ¨ DateStamper as is and feel no need for the time stamping a clock ¨  ¨ will provide. My operations are such that accuracy within each ¨  ¨ day is not that terribly important. Different users will have ¨  ¨ different needs in this regard. I am only grateful that we now ¨  ¨ have these options from which to choose. ¨ Support for this product is excellent. Bridger Mitchell, ¨  ¨ chief technician at Plu*Perfect, has provided me with the most ¨  ¨ generous and knowledgeable assistance. Though the excellent ¨  ¨ telephone support will be convenient for some users, Mr. Mitchell ¨  ¨ has frequently made himself available on the national BBS ¨  ¨ circuit. I much prefer to save myself money with this method ¨  ¨ rather than long-distance voice calls, by using PC-Pursuit, the ¨  ¨ nationwide BBS service ($25 flat fee per month, 800/835-3638 for ¨  ¨ information) through which Mr. Mitchell has graciously answered ¨  ¨ even my most arcane of technical questions on several different ¨  ¨ bulletin boards. Most users, however, will find the manual ¨  ¨ perfectly adequate for dealing with any problems that might ¨  ¨ arise. ¨ Plu*Perfect Systems may be contacted at P.O. Box 1494, ¨  ¨ Idyllwild, CA 92349 or by phone at 714/659-4432. The price for ¨  ¨ DateStamper has recently been lowered to $45 and at this price is ¨  ¨ a bargain. Plu*Perfect Systems is one of the few companies that ¨  ¨ continues to provide excellent products and continuing support to ¨  ¨ CP/M users. They were the company that developed the TurboRom ¨  ¨ that Kaypro users have found so valuable, along with a host of ¨  ¨ other excellent enhancements. Programmer Bridger Mitchell is one ¨  ¨ of the Echelon (creators of the Morrow Z-System) team working on ¨  ¨ a new operating system to take advantage of the new and powerful ¨  ¨ CP/M-compatible HD64180 and Z280 microprocessors. ¨  ¨ DateStamper is a product that gives us a capability we have ¨  ¨ long needed, and I would urge all Morrow owners to investigate ¨  ¨ its possibilities. ¨