Henry H. Herrdegen                                           LaSalle, 93 03 22
7110 Matchette Rd.
LaSalle, Ont. Can.
  N 9 J  2 S 3


                                Dr. Patch, B.P., L.W.
              (patching LS-DOS 6.3.1, Basic Program, by Lance Wolstrup.)


     I was still looking at the announcement in the number 2, and contemplating if this  really could be worthwhile. An old patcher like me, and having given upon writing something similar to my 1.3 PUP disk for the 6.3.0, because of the   difficulties with JCLs, I was plain curious. Then, surprise, a complimentary    disk arrived, with a hint that I may be interested to review it. Sure! One does not get the chance very often to put a new TRS program thru the wringer.

     Enough preamble, short and sweet: it is great. If you have read the        announcement and the lead in the Little Orphan Eighty, then you know that it has32 patches and their reversals, and basically what it does. All 64 work as      promised (what else did you expect?). It is all written in plain BASIC, with a 9choice main menu, and 8 sub menus, also with 9 choices. Actually there are only 8 for patches, as # 9 is the return choice.

     I will not try to analyze in depth the almost 700 lines (12 pages printout)long program. Lets just say that it opens random files for the various DOS      files, checks and/or changes the pertinent records, and so makes the "patches"  without bothering the (slow) PATCH/CMD, or using the, in comparison, snail pacedJCL route. And does it with clever use of DATA statements for menu texts, uniquescreen manipulation and other slick tricks. The code is fully accessible, you   can study it, and maybe pick some pearls for your own programming. I'm sure     Lance wont mind, as long as you give credit where credit belongs. And there are some pearls to be found! So this will be just a description of what the program does, and how it will look to you on the screen. At the end, I'm going to put ina few pennies worth of my own opinion, and hope, Lance will forgive me. I have  to restrain myself, not to sound too enthusiastic.

     During the program run the two bottom lines are taken out of circulation   and display the name, copyright notice, date and live clock under a solid line. The top shows the title, and on the sub menus the section title, and between twolines the status of the 4 areas it handles. That status is updated as soon as   you make a patch by just selecting the number from the menu. Even if not        prompted on screen, <CTRL><Q> will always go back to the main menu. It's a nice touch to select two keys next to each other. Somewhat easier (?) then the       <9><ENTER> combination prescribed in the menu.

     Every time you select a sub menu, you will be asked: '...on which drive:', and that drive is checked for the proper Disk/Command version. If it is not     6.3.1, you will be told so, and advised to use <CTL><Q>, which gives you a      chance to select another drive, or change the disk.

     If everything is in order, you see the present status of the disk, and can choose to make one or more of the 4 choices to change that status. It checks thepatch area, as the ':Fab,cd=yy zz' of the normal PATCH/CMD will do, and if an   "unexpected code" is there, will tell so, and that the patch is not made, and   again: '--> press Ctrl-Q'. If ok, astoundingly, no whirr-whirr, blink-blink, butinstantaneous, the patch is made. Patching with this (historically slow?) BASIC program is faster then anything I have seen so far.

     The ad lists the 32 possible patches (their reversals to normal DOS are    implied), but lets elaborate a bit:

     The first Sub handles the FORMAT/CMD and lets you disable the Password     check/prompt, set up Double Side formatting as default, format 80 tracks as     default, and disable the verify. On this last one, I agree with Lance's remark  in the manual, that this is not the best of ideas, but some people like to take chances.

     The second deals with the BACKUP/CMD: disable the password check, back up  Invisible files also as default, you can again disable the verify, and finally  override a possible "backup limit", if you have one of those crazy disks.

     Next menu deals with DIR and CAT: you can change the commands to a single  letter, D or C, and include I files, or both I and S in your DIR and/or CAT as  default.

     For the PURGE command, the next menu lets you disable the password, include I, or I and S as default, or make Q=N the default setting.

     In the DOS COMMAND section, you can change the long REMOVE command to DEL, and shorten RENAME, MEMORY and DEVICE to the first three letters. A boon for a  lazy typist like me.

     Then comes a menu affecting SYS0 and SYS1: replace the useless ID with the KILL/CMD, enable the BREAK key on AUTO entered with the * parameter, turn the   'SYSGEN' message off at boot up, and maybe most interesting, change the 'LS-DOS Ready' prompt with your custom message, also 12 characters long. Very valuable  to identify a patched DOS. The KILL patch leaves the REMOVE/DEL available,      contrary to one patch out there which replaces REMOVE with KILL.

     Four MISCELLANEOUS patches are next, affecting SYS0, 2 and 4. Disabling theDATE and/or TIME prompt, disabling the file password protection, and making the extended, 4 line error message default. If you never seen it, as most "just     users" will have, it tells the error number besides the, sometimes cryptic,     message, and gives some SVC and return address info.

     And last, but not least, a chance to modify the BOOT. You can chose your   very own cursor symbol, anything from ASCII 33 to 191. Some seem more practical then others. Make it solid, boot with the clock on, and change to the fastest   key repeat possible.

     Needless to repeat that all these custom modifications can be normalized   from the same menus. Another nice touch, the odd numbers modify, the even get   back to normal. The whole program, as well as the manual, is very well orga-    nized.

     The 20 page manual leads step by step thru the program, explains in every  sub section what prompts are on the screen, what the patches do, what errors    could occur and what the error message will say. The BREAK key is disabled      during the program to force an orderly exit, and the last manual page gives the reason for that and some short technical info, explaining a few of the tricks.

     I tried very hard to trip it up, but not much luck, and nothing serious    happened. Yes, it does accept a letter or symbol input at the menu choices, but the following <ENTER> cancels it. And you have to use the <CTL><Q> in sequence, otherwise nothing happens. That catches your lousy typing, and if you try to    patch a data disk or another DOS then 6.3.1, it tells you either that it is'nt  6.3.1, or that the file (asked for) is not available. Both true, if not         specific, depending on what disk you stuck in. I formatted a data disk with my  6.3.1 FORMAT/CMD, tried all the patch choices, and it told me every time not    that the file was'nt there, but that it's not a 6.3.1 disk ??? It gives the     sane incorrect message for an (unlikely) system disk with out these files,      contrary to what is said in the manual. It checks the DOS file for 6.3.1        identifying bytes, and if no match, comes to this, sometimes wrong, conclusion, but, surprise, surprise, it puts the filenames FORMAT/CMD, BACKUP/CMD and SYS0, 1, 2, 4, 6 and 7 into the directory, with zero Rec's, EOF, K's and EXT's, and   with no date or time. That may be annoying, but not fatal. I dont think this is a reasonable scenario anyway, but . . . make something fool proof, and a bigger fool comes along. Any comment, Lance?

     Now, if it was the '...not 6.3.1' message, and you removed the disk before punching <CTL><Q>, You get a message: '** CLOSE FAULT ** Drive not ready,       <ENTER> to retry, <BREAK> to abort'. Dont despair if the <BREAK> wont do        anything, it's still disabled. Put the (or another) disk back in and hit <ENTER>(the only active key), it brings the '...which drive:' question back, and       <CTL><Q> is alive again. But you would'nt do a dumb thing like that anyway. Noneof the above goofy actions do any harm (other then the "extended" directory), orcrash the program.

     My impressions: A very elegant, flawless working program, with excellent    menu screens and with some valuable patches to make the 6.3.1 even more        friendly as it is already. A very interesting and innovative handling of a BASICprogram code. And a BARGAIN at 15 bucks! I would not know how to evaluate the   work and knowledge which went into this program, but it sure is more then it    will ever realize. Thank you, Lance.

     I would have liked the menu choices being Inkeys, and am sorry that the 32 item limit (8 menus with 8 choices each) leaves no way to add patches which may be valuable, such as 24 hr system in DIR, boot in capitals, eliminate leading   zeroes at date and time input (a few which I cherish, and which did not inter-  fere at all), and maybe a few others floating around.

     Eliminating the verify at FORMAT and BACKUP is not the best policy, just tosave a few seconds. Are we that much in a hurry? So is eliminating the DATE and TIME input. It's so easy now, with the period on the number pad, and how does a DIR without date and time look like? Naked. I am certain that many will find    some of these patches of no value to them, and wish some others were included.  Maybe Wiz Lance will come up with instructions how to customize his customizing program, suitable for less then super expert BASIC programmers?

                                                      Keep the 80's humming!
                                                      Henry H. Herrdegen
 