RUN201.DOC from Horn Engineering Associates (No Rights Reserved) ----------------------------------------------------------------- +++ CAUTION +++ ----------------- Previous versions of RUN, which might have been called RUN or RUN2, contained a serious error in the assembler computation of the address where the target program loader is placed. The intended location was just below the CCP, but as coded the loader would most likely be placed somewhere in the BIOS on most systems. This problem was not detected on the author's system because the program appeared to work properly. This bug has been blamed for recent mysterious system crashes. The .ASM source code for RUN201 contains a notation in the code where corrections for this bug are to be found. We offer sincere apologies to anyone who has been inconvenienced by this fault in previous versions. Charles Horn ---------------------------------------------------------------- RUN, Version 2.01, is a variation of the original RUNFILE program by Phil Cary. That program was designed for use on an RBBS and permits one to execute a selected program from a selected high user area, even though the file is not normally accessible to the user or caller. With this technique, the file can be executed without alteration of the wheel byte. RUN is somewhat different. RUNFILE loads the program loader just below the BDOS and over a portion of the CCP. This is no problem if the executed program (such as RBBS) exits with a warmboot, which reloads the CCP. However, some programs exit directly to CP/M without a warmboot (such as SD.COM). If it is allowed to do this when called from RUNFILE, the CCP will remain corrupt. RUN solves this problem by locating the program loader just below the CCP. RUN requires specification of a file name in the command line. This can be at least as secure as an 8-character password because the file in the high user area can be named anything and will not be accessible for view by directory if the BBS does not normally permit a user to access these high areas. This is the purpose of MAXUSR and MAXDRV in the various RBBS utilities, such as NZCPR. The command syntax is: A>RUN The program will also support the usual command line extensions if the target program normally extracts them from the CP/M default DMA area. For example, RUN SD $A would work. RUN SD B: $A would not work because the extra $A entry would clobber the CP/M secondary FCB. However, the variation RUN B:SD $A would cause the target file, SD in user 14, for example, to go to drive B: and display all files in all user areas. This program also offers an option to build the target file name into the program so that it will operate in the same mode as the RUNFILE program. In this case the command would simply be "RUN". Charles Horn 11 June 1985