<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> SUPERMIT.DOC, Vers. 5.0 12/12/92 Copyright 1986, 1992 Logic Associates, 1433 W. Thome, Chicago, IL 60660 (312) 262-5927 SUPERMIT (TM), Vers. 5.0 For all versions of CP/M 2.2 and most 8080/Z80 relatives. (CP/M 3, CP/M+, ZCPR, probably MP/M, etc.) [] A batch-job programming language, similar to BASIC. [] Includes several uniquely flexible, stand-alone utilities. [] SUPERMIT Version 5.0-- o Provides virtually universal compatibility with CP/M's "family and friends." o Fixes miscellaneous, minor problems in earlier versions. ("CP/M" is a registered trademark of Digital Research, Inc.) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> BACKGROUND: Batch jobs The SUBMIT utility of CP/M lets your computer do your typing for you. Instead of typing each of a sequence of individual commands at the time needed, you can put all the commands into a disk file, and tell CP/M to get commands from disk instead of the console. Then, while your system is busy doing all the work, you put up your heels, relax, and read the newspaper. If you have a set of commands that can be expressed as a straight-forward, once-through sequence of steps, a standard SUBMIT job will do the trick. But unlike a true program, such a job isn't very bright. It can't-- 1) Perform a job step only if conditions warrant. 2) GO TO different job steps. 3) Create and manipulate dynamic variables. 4) Use arrays, loops, or other basic programming structures. In effect, standard batch jobs operate as though each command were being read off the top of a deck of punched cards, and then discarded. SUPERMIT rescues batch jobs from the era of the punched card. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> THE SUPERMIT CONCEPT SUPERMIT gives batch jobs a "BASIC-like" capability. SUPERMIT brings to SUBMIT files the three essential elements of programming-- o IF...THEN...ELSE o GOTO o dynamic variables The result is a quantum leap in the power of batch jobs. * IF...THEN...ELSE allows job steps to be executed or bypassed according to environmental conditions, including "result" codes from previous steps. * GOTO can jump to any line within the job. * FOR...NEXT, DO...WHILE, and ON...GOTO structures can be created to allow looping and branching among job steps. * Nesting is available for IF...THEN...ELSE, for commands, and even for variables. * String variables can be up to 120 characters long. * Single-dimensioned string arrays are supported. * Numeric variables can have up to 8-digit precision. * Filenames can be added, subtracted, multiplied, and/or divided. (Wild cards are supported.) * Filename characters can be replaced, transposed, and/or deleted. (Wild cards are supported.) * Subroutines and subjobs are feasible. None of this diminishes the space available in main memory to run programs. All SUPERMIT modules are totally transient. And like BASIC, the SUPERMIT modules help job-writing by providing extensive run-time diagnostics. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> SUPERMIT MODULES Latest Works with CP/M-- Module Function Version 2.2 clones ------------ --------------------------------- ------- ----------------- SUPERMIT.DOC This text file. 5.0 IF.COM Like the IF command in BASIC. 4.0 X Some IF+.COM = IF.COM with some limitations. 3.0 X X #.COM ("ARRAY.COM") Extracts a line 4.0 X Some from any standard text file, inserts into command line. #+.COM = #.COM with some limitations. 3.0 X X GOTO.COM Like the GOTO command in BASIC. 3.0 X Some SET.COM Like the LET command in BASIC. 4.0 X X Treats filenames like variables. SUPTEST1.SUB Test for IF, #, GOTO, and SET. 3.0 X Some SUPTEST2.SUB Test for IF+, #+, GOTO, and SET. 3.0 X Some SUPTEST3.SUB Test for IF+, #+, and SET. 3.0 X X JOB.SUB Emulates GOTO. (For use in CP/M+.) 5.0 X X JOB2.SUB Submodule of JOB.SUB. 5.0 X X TESTCOPY.SUB Test of emulated GOTOs. 5.0 X X ERASE.COM A substitute for the ERA command. 5.0 X X (For use with #+.COM in CP/M+.) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> INSTRUCTIONS Condensed instructions for each module (except ERASE.COM) are displayed by that module when it is executed without parameters. For instance, to display instructions for IF.COM, simply type-- IF where "" means the RETURN or ENTER key. The instructions also tell how to get the complete SUPERMIT User's Manual for $15.95. We recommend purchasing the User's Manual, which contains additional instructions, helpful shortcuts, and programming tips. Items include-- o How to write FOR...NEXT and other loops. o How to restart a job at any desired step without reprogramming. o How to create executable libraries that are more compact than .LBR files, and yet can be changed with any text editor. o How to write conditional compile/link/go jobfiles. o How to write complex conditionals with IF.COM. o How to use multiple string-operations to rename any file. o How you might inadvertently disable the nesting capability of IF.COM and #.COM. o How to create and invoke jobstep subroutines. o How to use JOB.SUB to emulate GOTO in CP/M+. o Some special considerations when using #+.COM to extract lines that contain other SUPERMIT commands. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> "+" VERSIONS Th plus versions of IF.COM and #.COM were adapted for compatibility with CP/M+. They are fully usable with CP/M 2.2 and most of its clones. The plus versions are identical in function to their counterparts, but do not recognize the resident commands of the CCP. In standard CP/M 2.2, these resident commands are TYPE, ERA, USER, SAVE, REN, and DIR. If any of these resident commands are needed for use with the plus versions, a suitable utility program can be created or obtained that performs the same function. For example,-- o Instead of DIR, you may use XDIR.COM, SD.COM, or SWEEP.COM. o Instead of REN, you may use SUPERMIT's SET.COM program. o Instead of ERA, you may use ERASE.COM, supplied with this version of SUPERMIT. ERASE.COM will not accept asterisks ("*") in the name of the filename to be erased, but it will accept question marks ("?"). (Your CP/M manual describes the use of "*" and "?" in wild-card filenames.) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> WHICH MODULES SHOULD I USE? Three tests for compatibility are provided: SUPTEST1.SUB, SUPTEST2.SUB, and SUPTEST3.SUB. They are numbered in order of decreasing functionality. Begin testing by reading the test instructions contained in SUPTEST1.SUB, then executing that test. If the test is successful, you can use modules IF, #, GOTO, and SET. This set of modules comprises the fullest set of SUPERMIT functions. If SUPTEST1.SUB is not completely successful, read the instructions contained in SUPTEST2.SUB and then execute it. If this test is successful, you can use modules IF+, #+, GOTO, and SET. This set of modules contain essentially the same functions as those in SUPTEST1.SUB. (The "plus" modules are implemented in a different manner from the others, to make them compatible with a wider variety of CP/M look-alikes. The trade- off is that the "plus" modules cannot execute the resident commands of the CCP: TYPE, DIR, ERA, USER, REN, and SAVE.) If SUPTEST2.SUB encounters an error, examine and execute SUPTEST3.SUB. This is equivalent to SUPTEST2.SUB without the GOTO module. (The SUPERMIT manual tells how to emulate GOTO if your system cannot use the GOTO module.) No errors should occur when executing SUPTEST3.SUB. If any do, please contact Logic Associates at the address given below. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> COPYRIGHT Each SUPERMIT module is copyrighted by Logic Associates. Logic Associates hereby permits non-commercial distribution and use of SUPERMIT, provided all the modules of SUPERMIT are distributed together and without alteration of any kind. If changes are necessary, please notify Logic Associates. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> CORRESPONDENCE We welcome your comments and suggestions. You can write us at-- Logic Associates 1433 W. Thome Chicago, IL 60660 Internet e-mail address is ROY_LIPSCOMB@CPSNET2.CPS.EDU Thank you. We're sure you'll find SUPERMIT a unique and useful product. Sincerely, Roy Lipscomb, Logic Associates <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> (end)