RAIDSYS v1.00 - 1 April 88 The Theory and Practice of Raiding: Everyone knows that batch transfers are much more efficient than the usual file-here file-there methods we all use. After watching users poke around on my system for the last three years and from my own frustrating experiences in determining what other systems have that I don't and what I have that they don't I finally decided to do something about it. RAIDSYS is a method of acquisition which has proved very effective for me in the last few months. Happily the process can be reversed - you can then easily load up a disk or two and send the raided systems all the software you have that they don't. You will need several other programs not included in this library to use RAIDSYS. They are: LSTOOL and PASTE - read no further until you get these libraries. You will also need a MAST.LST of your files that uses the same format as Irv Hoff's MCAT/XCAT program, i.e. the master list looks like: MYFILE .LBR - 001 HISFILE .ARK - 002 THERFILE.AQM - 003 Background: I started with a simple idea; find a program that will output the differences between your MAST.LST and the target systems on-line list which the DOTEMP program included in this library will produce for you. The first program I used in this manner was CCAT26 which was designed to output the difference between two MAST.LST files. CCAT had several deficiencies not the least of which was that the output file is in a multi-column format. Probably the biggest problem with this format is that it lacks any information about where on the target system the files are - so you still waste a lot of time finding out where the files are, either by manually writing in the d/u on a hard-copy of CCAT's output or by doing a lot of FIND (or FILE) searches on the system. Plainly this would not do - some more efficient method had to be found for this system to work. To this end I wrote a complete applications program in dBASE which though awkward and slow does work. However a lot of people never got dBASE for their CP/M machines and a lot who did never use it. I still wanted something simple and FAST. Then I discovered yet another program designed to compare two MAST.LST files. This is LSTOOL written by Jim Gronek and widely available on RCP/Ms in the country. As you will see LSTOOL fits the bill completely for our raiding purposes. Foreground: The aim of RAIDSYS is to produce a "want list" from your favorite system(s) that you can then use to batch download and upload files with. So what makes an ideal "want list" you say? The most effective list of this kind is of two parts as below. ARUNZ09 .LBR D01 16k COMP28 .LBR A01 8k ASM-SUBS.LBR C01 8k HSH13 .LBR A01 28k BALIAS13.LBR D01 12k HSHFIX .LBR A01 20k CLNDIR11.LBR D01 12k LDSK11 .LBR B03 12k COMP28 .LBR A01 8k IF14 .LBR C00 16k HSH13 .LBR A01 28k ASM-SUBS.LBR C01 8k HSHFIX .LBR A01 20k SILENCE .LBR C01 40k IF14 .LBR C00 16k IOPSQ .LBR C03 68k IOPSQ .LBR C03 68k SYSFCP14.LBR C04 20k LDR15 .LBR F05 16k ARUNZ09 .LBR D01 16k LDSK11 .LBR B03 12k BALIAS13.LBR D01 12k RCP/FCP .LBR F02 52k CLNDIR11.LBR D01 12k SAK21 .LBR F01 8k SAK21 .LBR F01 8k SILENCE .LBR C01 40k RCP/FCP .LBR F02 52k SYSFCP14.LBR C04 20k LDR15 .LBR F05 16k Z3INS13 .LBR H09 12k Z3LIB12 .LBR G02 96k Z3KEY12 .LBR G03 36k Z3KEY12 .LBR G03 36k Z3LIB12 .LBR G02 96k Z3INS13 .LBR H09 12k Armed with lists like this for several systems you can really "make a night of it" as far as downloads go. All you have to do once into the operating system is systematically go from du to du and enter: A01>KMD SB COMP28.LBR HSH13.LBR HSHFIX.LBR If the system above used ZMD you could "wipe out" B3: by making the command line appear as such: A01>ZMD SB COMP28.LBR HSH13.LBR HSHFIX.LBR B3:LDSK11.LBR Preparation for Raiding: Get the DIRectories of the system(s) you are going to raid. They must use SD (usually named DIR.COM) or a derivative thereof that displays files as below: Drive A2 Files: 5/304k Free: 1544k EXCHLST .LBR 28k : MEX114 .LBR 136k : PCPIMP6 .LBR 32k : IMP245 .LBR 64k : PCPHELP2.LBR 44k : Note that the word "Drive" must start in column 10 and the drive/user must appear in columns 16 thru 18 or DOTEMP will output meaningless data for you. Some versions of SD have a ":" after "Drive" - DOTEMP can handle these. Some CP/M+ systems use a form of DIR which displays like this: EXCHLST .LBR 28k : MEX114 .LBR 136k : PCPIMP6 .LBR 32k : IMP245 .LBR 64k : PCPHELP2.LBR 44k : Drive A2 Files: 5/304k Free: 1544k You must edit these and place the d/u information above the files or DOTEMP will fail. If you get line hits during the ASCII capture then these also must be cleaned up with your editor. PCP users note that without XON/XOFF you will get garbaged lines when your comm program stops input and writes to disk. Normally this will effect only a line or two and if the line isn't easily editable just delete it - you will still be getting a lot of files. Next you must run a copy of your MAST.LST through DOTEMP. The output will look as below and will be named SYSDIR.TXT. Rename this to MAST.LST as soon as it is output. The lack of disk numbers will distinguish it from your normal MAST.LST. MYFILE .LBR - HISFILE .LBR - THERFILE.LBR - NOTE: There are three versions of DOTEMP in the library. They allow you to selectively determine which kind of files you want to acquire. DOTEMPA will search for files having an ARK or LBR extension. DOTEMPL will search for files with the LBR extension only, and DOTEMPC will not filter ANY extensions. DOTEMPC will produce very large output files from some systems as well as when it runs against your MAST.LST. which will waste a lot of paper and time for you. If you really want to do it this way be my guest. Now run DOTEMP against each system directory you have acquired. DOTEMP will operate from the command line, or failing that, it will display all files on disk having a "DIR" extension. As it runs it will display the current drive/user of the system being scanned and will output a SYSDIR.TXT file that looks like this: SILENCE .LBR C01 40k SYSFCP14.LBR C04 20k SAK21 .LBR F01 8k Z3KEY12 .LBR G03 36k Z3LIB12 .LBR G02 96k Z3INS13 .LBR H09 12k Rename these output lists to something that will remind you what system you got them from such as IRV.DIR or AB17.DIR and do no more than five or so at a time. I find that beyond five it gets pretty confusing. In order for LSTOOL to work properly with these lists they must be sorted on the filename.ext. I use SUPERSORT in a batch mode but there are a variety of free sort programs that will do the same thing for you. Once you have them sorted you are ready for LSTOOL to do it's work. Using LSTOOL: The program must be installed for your system; the documentation is quite adequate but you don't need to read it if you are in a hurry. Get into the program, select option 2 (compare two lists) and enter the following: MAST.LST and SYS.LST where MAST.LST is the stripped copy of your MAST.LST file and SYS.LST is the output of DOTEMP against the systems DIRectory after sorting. LSTOOL will output a file called LIST.DIF. Using your sort program and sort this on the drive/user columns to a second file named, say, LIST2.DIF. Now run PASTE.COM against these two to produce your final "want list" and you are in business. Example: PASTE NORMSYS.DIR LIST.DIF LIST2.DIF Now you can use LISTT16 or your editor to print out the file with a header identifying the date and other information such as the phone number of the system and you are ready to go. Paybacks: It is patently unfair to systematically raid systems in this manner without paying them back. Occasionally you should reverse the process and run the program to find out what you have that the target system doesn't. Get the sysop's permission to upload a disk or two of files and return the favor. One obstruction to paybacks is the ubiquitous program FOR. FOR requires a description of each file uploaded to the system and can require a lot of tedious typing to satisfy the system. If the sysop permits it you could make an agreement to upload to the private area or if he using ZMD you might be allowed to upload without descriptions. You could also write up a series of FOR files and send them ASCII as the KMD/ZMD programs ask for each description - this is still very time consuming. Personally I find FOR and LUX to be redundant - if you really want to find out what the program does use LUX. When I used FOR on my own system I found that two-thirds of the FOR descriptions were "Look what a great programmer I am" types and the other third were typo-ridden monstrosities. Additionally, the writing back to disk of the FOR file can take precious minutes of your on-line dollar. Other favors: Take a look at the sorted-on-filenames list and see if the system has any duplicate files on-line. Multi-Megabyte systems have a way of getting out of hand and often several copies of the same program will be in several different areas. Many sysops would appreciate your reporting these redundant files to them. Technical Tips: You can easily get confused as to what order all this has to fall together and I highly recommend constructing some sort of batch file to handle it for you. I use ZCPR3 and an ALIAS named RAID which looks like this: DOTEMP $1.DIR ; You do have a DIR ext? SSORT CFILE=SYSDIR ; Sorts DOTEMP output on cols 1-12 LSTOOL ; Now to compare with MAST.LST SSORT CFILE=DIFILE ; Sorts cols 14-17 (d/u) to LIST2.DIF PASTE $1 LIST.DIF LIST2.DIF ; Creates final file from DIF lists ERASE LIST.DIF,LIST2.DIF,SYSDIR.TXT ; Kills input files for us LISTT16 $1 ; Jumps into print mode for us Where the command line entered was: A9>RAID AB17 And the final output file would be named AB17 with no extension. You could easily construct a SUBMIT or ZEX (ZCPR3 only) file to do the same thing for you depending on your preferences. Additional advice: The CLS.DAT file for DOTEMP is set for the clear screen sequence of a Kaypro. Configure to your own clear screen sequence and the program(s) are ready to run. Copyright/Source: DOTEMP is a relatively simple program written in MBASIC and compiled with BASCOM. Any programmer of reasonable means could very easily write it and perhaps even better than I. However I have no intention of releasing the source for it either now or in the future. Use as you desire for your own purposes but do not sell or mutilate it. Happy Raiding!!! Thomas L. Ensminger AB17 Remote Systems [513] 879-6263 24hrs 3/12/24bps