Documentation for SUBTOOL.LBR 6-2-85 SUBTOOL.LBR should contain the following files: SUBTOOL.OBJ Submit pause and file find utility. SUBTOOL.AQM Source for the above. SUBTOOL.DQC This documentation PAUSE.OBJ Submit pause utility. PAUSE.AQM Source for the above TESTFILE.OBJ Submit file find utility. TESTFILE.AQM Source for the above. ASM.SUB SUB to use SUBTOOL with ASM.COM MAC.SUB Another for MAC.COM BASCOM.SUB For BASCOM.COM using external runtime. OBASCOM.SUB Similar, for compiling internal runtime. MTPLUS.SUB For compilation of Pascal/MT+ SUBTOOL.CRC CRC and other stats on the extracted and unsqueezed files. ****************************************************** * WARNING! Do not use any of these SUB files until * * you have read the documentation. * ****************************************************** Incorrect use can result in erasure of your source file! This erased file can be recovered with unera.com. This is due to the last line of each SUB file that erases the .HEX or .REL file. Correct syntax for each SUB file is: SUBMIT ALL without extension. It is the inclusion of the extension that can cause the trouble. For example, to assemble the file FOO.ASM with MAC.COM the syntax is: A>SUBMIT MAC FOO If you were to enter SUBMIT MAC FOO.ASM, the final line in MAC.SUB which reads: ERA B:$1.HEX would send the following command to CP/M ERA B:FOO.ASM.HEX. This would be read by CP/M as ERA B:FOO.ASM. Subtool does protect you somewhat from this problem. If your source filename is 5 or more characters in length, subtool will abort in the filefind mode because the total filename length exceeds the maximum that CP/M will accept. You do get one more chance to recover from this input error because the pause before load or link will give you the option of aborting by entering 'A' or 'a' for Abort. Two ways are available to avoid this completely, if the possible erasure bothers you. One, delete the last line of each .SUB file in this library, except MTPLUS.SUB, and erase the .HEX or .REL manually. Two, replace the final line with ERA B:*.HEX or ERA B:*.REL. This will erase ALL .HEX or .REL files on the destination disk. Be sure you want ALL of them to go away. Of course, you can use SUBTOOL, PAUSE or TESTFILE to write your own SUB file. SUBTOOL I created Subtool by modifying and combining PAUSE and TESTFILE by Mark Anacker which appeared in the March 1985 issue of Byte magazine. I use the submit files in this library because I am basically lazy. Most of the time when I am assembling or compiling a program, I just want to start with a source file and end with the object code and source. I don't want to see a PRN file symbol table or HEX file unless I have a difficult problem. This is particularly true if all I want to do is make some small changes or throw a switch or two in a public domain program. I also wanted to save a little disk space by having only one small tool program instead of two. Subtool has two functions. If it is called in a .SUB file with no command tail, it will cause an interruption of Submit processing and give you a chance to abort the whole thing with this message to the screen: Press A to abort, any other to continue _ If it is called with a filename or $1, $2 etc. Subtool will search the requested drive to see if the file exists. If it does not, Subtool will abort the whole operation and erase the $$$.SUB temporary file. PAUSE Pause is a modified version of the program in the March 1985 Byte magazine. Its function is included in Subtool. To use it, just enter a line in your .SUB file that reads: PAUSE It will cause a break in execution of the SUB file and give you an option to abort. The main modification from the Byte listing is to save the disk and CP/M stack so that an abort can return directly to CP/M, without a warm boot. A warm boot is required to continue execution. TESTFILE Testfile is the second of Mark Anacker's programs from the March 1985 Byte. I have modified it much like Pause, to abort directly to CP/M. It simply does a file search to determine whether a requested file exists. Syntax in the SUB file is: TESTFILE [d:]$1 If the extension is supplied in Submit command line. or TESTFILE [d:]$1. Similar to the use of Subtool in the SUB files in this library. or TESTFILE [d:]. Search for a file that always should be present ASM.SUB For with ASM.COM. To assemble the file FOO.ASM, enter: SUBMIT ASM FOO (without extension!) SUBMIT.COM, ASM.COM and LOAD.COM must be together on the same disk. I them on the A drive. Your source file must be on B: Rewrite the ASM.SUB if you want to have your source on some other drive. Change all drive references to the desired drive. MAC.SUB For use with the Digital Research macro assembler, MAC.COM. To assemble SAMPLE.ASM, enter: SUBMIT MAC SAMPLE (without extension!) SUBMIT.COM, MAC.COM, LOAD.COM and any macro libraries used in assembly, like Z80.LIB, must be on the same disk. The source file must be on B: BASCOM.SUB For use with Microsoft's Basic compiler to create a COM file that will require the external runtime package, BRUN.COM, be present on the same disk with your compiled basic program to execute. To compile SAMPLE.BAS, the syntax is: SUBMIT BASCOM SAMPLE (without extension!) SUBMIT.COM, BASCOM.COM, L80.COM and BASLIB.REL must all be on the same disk. The source file with the extension .BAS must be on B: OBASCOM.SUB For use with Microsoft's Basic compiler to create a stand alone COM file that does not require BRUN.COM. To compile SAMPLE.BAS, the syntax is: SUBMIT OBASCOM SAMPLE (without extension!) SUBMIT.COM, BASCOM.COM, L80.COM and OBASLIB.REL must all be on the same disk. The source file with the extension .BAS must be on B: MTPLUS.SUB For use with the Pascal/MT+ compiler from Digital Research. This is sample given in the Byte article. It should require all of the Pascal/MT+ files and SUBMIT.COM to be on the same disk. The source file must be on B: I do not own the Pascal/MT+ compiler, so I have not been able to check it. Merlin R. Null P. O. Box 9422 N. Hollywood, CA 91609 (818) 762-1429