DOC 1.1 documentation file ----------------------------------------------------------------------- Please note - this is a plain ASCII text file but contains multiple documents. You may find it most convenient to view or print this file using the DOC.EXE program supplied. ----------------------------------------------------------------------- Title1:PC Magazine Utilities Title2:Volume 2 Copyright:(C)1992 Ziff-Davis Publishing @@Introduction Introduction PC Magazine Utilities Disk Volume 2 ------------------------------------------------------- Volume 2 of the PC Magazine Utilities contains 34 utilities ready-to-run plus comprehensive on-disk documentation and an install program. Installing the programs ----------------------- If your PC has a hard disk, you can use the install program (started by typing GO) to copy the programs onto it. You can then change to the new directory containing the programs and try them out. After installing the software, you can come back to this documentation by changing to the relevant drive and directory and entering the command DOC. If you have a floppy-only PC or you don't want to put all of the programs straight onto your hard disk, you can run them directly from this floppy. In this case, we suggest that you make a working copy of your original disk with the DOS DISKCOPY command and keep your original somewhere safe as a back-up. For more information about setting up and starting the programs, see the "Tech Notes" document. Program summary --------------- The utilities on this disk cover a wide variety of tasks... you may not need them all but you're sure to find some useful ones. This summary lists the programs in general categories so that you can quickly see what facilities are available and which programs are of most interest to you. Remember even if you don't need a particular program now, you may find it's just what need in future so it's worth getting familiar with the programs. --- General utilities --- APPBK Pop-up appointment book ASC Pop-up ASCII chart BROWSE Text file viewer DRAW Create graphics with batch files FREEZE Lock keyboard for security PARSE Count lines, words, sentences & more PLAY Play tunes with batch files SCHEDULE Pop-up diary SUGGEST Flash messages on-screen at intervals --- Disk & File utilities --- 2FILE & 2FLOPPY Floppy disk image copying CHANGE Search and replace text DIRCOMP List two directories for comparison DIRMATCH Full-screen compare of 2 directories FILECTRL Multi-format file viewer REPEATS Helps find duplicate files SEARCH Disk-wide search for word or phrase XDIR Pop-up a DIR listing at any time --- DOS command and batch file utilities --- BATCHMAN Powerful batch file enhancer COPYSAFE Prevent accidents with COPY commands MAKEBAR Create menus for SLASHBAR SLASHBAR Add Lotus-style menus to any program --- Keyboard utilities --- TIMEKEY Enter time and date with a single key VISITYPE Extend keyboard buffer --- Video utilities --- BLOAD & BSAVE Save & recall screens (use with DRAW) CS Clear screen for 43/50 line EGA/VGA EGA12 Set 12 line display EGA25 Set 25 line display EGA35 Set 35 line display EGA43 Set 43 line display EGA50 Set 50 line display EGA512 Allow use of two fonts on EGA/VGA EGACOLOR Remap colors on EGA/VGA EGAITAL Create an italic font on EGA/VGA EGAPALET See all 64 EGA colors at once EGAPRTSC Enable 43/50 line PrintScreen key FONTEDIT Text screen font editor SPECTRUM Pop-up color selector VIDMODE Set current video mode VIDPAGE Set current video page @@Tech notes Tech Notes PC Magazine Utilities Disk Volume 2 ------------------------------------------------------- This document provides general advice for using and setting up the PC Magazine utilities on this disk. It is divided into these sections... 1. Disk contents 2. Installing the programs Installing the programs from DOS Saving hard disk space Working on a floppy-only PC Putting the programs in your DOS command PATH Loading programs from AUTOEXEC.BAT Using TSR (memory-resident) programs 3. Viewing and printing the documentation 4. Customizing the utilities Tables of scan codes (SS) shift masks (MM) color values sound values 1. Disk contents ================ This disk contains the following files. These are stored in the root directory as normal and are ready to use. Files marked * are part of the installation and documentation programs rather than the utilities themselves. 2FILE EXE 2FILE program (part of 2FILE/2FLOPPY) 2FLOPPY EXE 2FLOPPY program (part of 2FILE/2FLOPPY) APPBK COM APPBK program ASC COM ASC program BATCHMAN COM BATCHMAN program BLOAD COM BLOAD program (part of BLOAD/BSAVE) BROWSE COM BROWSE program BSAVE COM BSAVE program (part of BLOAD/BSAVE) CHANGE COM CHANGE program COPYSAFE COM COPYSAFE program CS COM CS program DIRCOMP COM DIRCOMP program DIRMATCH COM DIRMATCH program *DOC EXE Documentation viewer DOS BAR Sample file for SLASHBAR DOS BDF Source file of above for MAKEBAR DRAW COM DRAW program DRAW DAT Sample DRAW drawing file EGA12 COM EGA12 program EGA25 COM EGA25 program EGA35 COM EGA35 program EGA43 COM EGA43 program EGA50 COM EGA50 program EGA512 COM EGA512 program EGACOLOR COM EGACOLOR program EGAITAL COM EGAITAL program EGAPALET COM EGAPALET program EGAPRTSC COM EGAPRTSC program FILECTRL COM FILECTRL program FONTEDIT COM FONTEDIT program FREEZE COM FREEZE program *GO EXE Install program MAKEBAR COM MAKEBAR program *MANUALS2 TXT Documentation for this disk MOVIE DAT Sample file for use with DRAW PARSE COM PARSE program *PCLOGO EXE PC Magazine logo display PLAY COM PLAY program PLAY DAT Sample tune for PLAY REPEATS COM REPEATS program SCHEDULE COM SCHEDULE program SEARCH COM SEARCH program SLASHBAR COM SLASHBAR program SPECTRUM COM SPECTRUM program STING DAT Sample tune for PLAY SUGGEST COM SUGGEST program TIMEKEY COM TIMEKEY program VIDMODE COM VIDMODE program VIDPAGE COM VIDPAGE program VISITYPE COM VISITYPE program XDIR COM XDIR program 2. Installing the programs ========================== To install these programs to a hard disk, use the install program provided (started by typing GO). Around 360K of free space is required for all of the programs and documentation... this will be checked for you automatically. The install program initially offers to install the programs to a new directory on drive C called PCVOL2. (C:\PCVOL2). If you wish to use a different directory or a different hard disk, simply type in a new name. For example, enter D:\PCMAG to put the programs into a PCMAG directory on your D drive. You can name an existing directory if you prefer in which case the install program will add the new programs to any files already there. Once you've entered the directory name, disk space is checked and then the files are copied across. After installation is complete, you can return to the opening menu (for example, to view the documentation) or go straight to the new directory. Installing the programs from DOS -------------------------------- You can install all of the programs or just selected ones using the DOS COPY command in the normal way. For example, to add the file FILECTRL.COM to your normal C:\UTILS directory, enter a command such as COPY A:\FILECTRL.COM C:\UTILS If you do this, you might also want to copy the files DOC.EXE and MANUALS2.TXT to a suitable directory so that you have the documentation to hand. Saving hard disk space ---------------------- If you are short of hard disk space, you can remove those utilities you are not using from your hard disk with the DOS DEL command in the normal way. You may also want to delete the documentation files (DOC.EXE and MANUALS2.TXT) as you can always print out those parts you need or use the original floppy when you need to refer to it. Working on a floppy-only PC --------------------------- If you do not have a hard disk, we suggest that you make a working copy of this disk using the DOS DISKCOPY command. You can work directly from this copy or use the COPY command to copy those programs you require onto your startup disk or other working disks as necessary. For example: COPY B:PARSE.COM A: ...copies PARSE.COM from this disk to a disk in drive A A:VIDMODE 3 ...runs the VIDMODE program from this disk in drive A B: SCHEDULE ... starts the SCHEDULE program from this disk in drive B by first changing to drive B. Putting the programs in your DOS command PATH --------------------------------------------- You can start the utility programs by either: Changing to the drive and directory they are in and then entering the relevant command. For example: C: CD \PCVOL2 FILECTRL or Giving the relevant drive and directory before the command name (DOS 3.xx and later only). For example: C:\PCVOL2\FILECTRL However, it's easier if you make the programs available from any disk and directory by ensuring that they are in your DOS command search path, set with the PATH command. You can do this by either: Adding the directory the utilities are in to your normal PATH command in AUTOEXEC.BAT. For example, if the PATH command in your AUTOEXEC.BAT file reads C:\DOS;C:\UTILS;C:\WINDOWS you might change it to read C:\DOS;C:\UTILS;C:\WINDOWS;C:\PCVOL2 You should be careful when making changes to AUTOEXEC.BAT not to disturb other commands already in it. See your DOS manual for full instructions. or Copying those programs you use often to a directory already in your PATH command. Many PCs already have a directory called C:\BIN or C:\UTILS for small utility programs like these. For example, if you have a C:\BIN directory on drive C and use the FILECTRL program often, copy it across with a command like this: COPY C:\PCVOL2\FILECTRL.COM C:\BIN Loading programs from AUTOEXEC.BAT ---------------------------------- Many of these utilities are designed to be loaded or run whenever your PC is working by placing the relevant command in the AUTOEXEC.BAT startup file. Before doing this, we recommend that you test the utilities out by loading them from the command line as normal to ensure that they operate correctly with your other software. Please bear in mind: * The program file must be available for AUTOEXEC.BAT to load it. If it is not in a directory already named in a PATH command earlier in AUTOEXEC.BAT, you must give the drive and directory where it is stored (e.g. C:\PCVOL2\XDIR) or copy the file to the root directory of the hard disk. * The order in which resident programs are loaded can be significant. If there appears to be a conflict, try re-ordering the lines in AUTOEXEC.BAT. * Always keep a startup floppy to hand and a back-up copy of your AUTOEXEC.BAT file so that if problems arise you can restore things to normal. Using TSR (memory-resident) programs ------------------------------------ Many of these utilities are 'TSRs' or memory-resident programs. These load into memory when first started and remain there, either operating invisibly or waiting to be called up. TSR programs are very popular. However, the design of DOS means that there is always a chance of conflict between different TSR programs or between a TSR and your main software. To avoid problems, please note: 1. You should carefully test any new TSR program on your system before using it while doing your normal work. 2. Each TSR uses up memory. If you load too many at once, your normal software may not be able to run. 3. If you discover a conflict, loading the TSRs in a different order may resolve it. 4. You can change the 'hotkey' used to call up many of the TSRs on this disk to avoid a conflict with your other programs. See the manual for the program in question and the notes and tables below. 3. Viewing and printing the documentation ----------------------------------------- The documentation for these programs is supplied in a plain ASCII text file called MANUALS2.TXT. You can view or print this file using normal DOS facilities (such as TYPE, MORE and PRINT) or most word processor or text editor programs. However, since MANUALS2.TXT contains multiple documents you will probably find it most convenient to view or print it using the DOC.EXE program supplied. To start DOC after installation, change to the drive and directory where you installed the disk to (e.g. enter C: then CD \PCVOL2) and then enter DOC. See the document entitled DOC for more information. 4. Customizing the utilities ---------------------------- Most of these utilities are compact assembly language .COM programs to make them small, fast and efficient. This means that many of the programs do not include built-in configuration options. However, if you're experienced with DEBUG, you can 'patch' the programs to customize their operation. The manual for each program will describe the ways in which it can be customized but typically you can do so to: * Customize the screen colors the program uses (if the display is hard to read on your screen). * Change the 'hotkey' used by one of the TSR programs to avoid a conflict with your other software. * Change defaults such as sorting order, size of records and so on. To customize a utility, follow this general procedure in conjunction with the manual for the program. (You SHOULD NOT ATTEMPT this if you are not confident about using DEBUG as a mistake may stop the program from working or crash your PC.) 1. Always MAKE A COPY of the .COM file for the program in question as a back-up. For example, enter COPY POP-CAL.COM ORIGCAL.COM 2. Start DEBUG with the name of the program to modify. You must have the DOS DEBUG program available for this to work. For example, enter DEBUG POP-CAL.COM DEBUG loads the file and presents a - prompt. 3. Use the DEBUG E command to modify the areas of the program as described in its documentation. For example, the hotkey for POP-CAL can be changed by entering a new keyboard scan code at location 174. If we wanted to use Alt-P rather than Alt-C we can see from the scan code (SS) table below that we need to change this to code 19. This can then be entered in DEBUG with: E174 19 4. After making all the necessary changes, save the file back onto disk with the W command. Enter W 5. Now leave DEBUG. Enter Q 6. Now load and test out the new program. If it no longer works, delete it, restore your back-up copy (e.g. COPY ORIGCAL.COM POP-CAL.COM) and then try again. The tables below list the values necessary for customizing colors and hotkeys. Keyboard scan codes for alternative hotkeys (Values for SS) ----------------------- Scan Scan Key Code (hex) Key Code (hex) -------- ---------- --------- ---------- Esc 01 Z 2C 1 ! 02 X 2D @ 2 03 C 2E # 3 04 V 2F $ 4 05 B 30 % 5 06 N 31 ^ 6 07 M 32 & 7 08 < , 33 * 8 09 > . 34 ( 9 0A ? / 35 ) 0 0B R Shift 36 _ - 0C PrtSc * 37 + = 0D Alt 38 Bkspace 0E Spacebar 39 Tab 0F CapsLk 3A Q 10 F1 3B W 11 F2 3C E 12 F3 3D R 13 F4 3E T 14 F5 3F Y 15 F6 40 U 16 F7 41 I 17 F8 42 O 18 F9 43 P 19 F10 44 { [ 1A NumLock 45 } ] 1B ScrlLk 46 Enter 1C 7 Home 47 Ctrl 1D 8 UpArr 48 A 1E 9 PgUp 49 S 1F - 4A D 20 4 LArrow 4B F 21 5 4C G 22 6 RArrow 4D H 23 + 4E J 24 1 End 4F K 25 2 DnArr 50 L 26 3 PgDn 51 : ; 27 0 Ins 52 " ' 28 . Del 53 ` 29 SysReq 54 L Shift 2A F11 57 | \ 2B F12 58 Shift Mask codes for alternative hotkeys (Values for MM) ----------------------- Value Alt Ctrl L-Shift R-Shift ----- --- ---- ------- ------- 0 1 X 2 X 3 X X 4 X 5 X X 6 X X 7 X X X 8 X 9 X X A X X B X X X C X X D X X X E X X X F X X X X X signifies that this key must pressed. For example, to use Left Shift and Right Shift for the hotkey, the value to use for MM would be 3. Color values --------------- Black 0 Blue 1 Green 2 Cyan 3 Red 4 Magenta 5 Brown 6 Lt Gray 7 Dark Gray 8 Lt Blue 9 Lt Green A Lt Cyan B Orange C Violet D Yellow E White F A full color value is two hex digits, the first for the background color and the second for the foreground. For example, bright white on a dark blue background is 1F. Do not choose light colors (values larger than 7) for the background as it will produce a blinking display in most of the programs. @@2FILE & 2FLOPPY 2FILE & 2FLOPPY Steve Cooper Floppy disk image copying & Ken Hipple ------------------------------------------------------- Purpose ------- 2FILE creates an exact, sector-by-sector copy of a floppy disk as a single hard disk file for modem transmission, multiple floppy duplication and so forth. 2FLOPPY provides the opposite capability, formatting and writing a new floppy disk from a file produced by 2FILE. 2FILE and 2FLOPPY support all 5.25-inch and 3.5-inch DOS diskette formats. Format ------ 2FILE d: [e:][\path\]filename[.ext] and 2FLOPPY d: [e:][\path\]filename[.ext] [/number] [/q] [/v] Using 2FILE ----------- The d: parameter is the drive containing the floppy disk to be copied, and filename is the name to be given to the 2FILE copy. A default .FLP extension will be supplied if none is specified, and the currently-logged hard drive and path will be used for storage unless otherwise specified with the optional e: and \path\ parameters. The hard disk must have enough space to hold the entire floppy plus a 13-byte header. Files created with 2FILE can be compressed before modem transmission with ARC, PKARC, PKZIP and similar utilities. Using 2FLOPPY ------------- The d: parameter is the drive containing the floppy disk to be formatted and written to. The filename is that of the 2FILE source file, which is assumed to be located on the currently-logged hard disk and directory unless the e: and/or \path\ parameters are supplied. The 2FILE source is presumed to have the default .FLP extension unless an .ext is specified. The optional /number parameter is used when a number of floppy diskettes are to be made from the same 2FILE source. Values for /number may range from 1 through 32,767 (default: 1). The user will be prompted with a message and a beep to insert new floppies, as needed. To silence the beep, use the /q parameter. Copies are verified unless the /v parameter is specified. The /q and /v switches may be entered in either upper- or lower-case. Notes ----- 1. Just like the DOS DISKCOPY command, 2FILE and 2FLOPPY produce exact copies of a disk, preserving any file fragmentation on the disk. If you're sending a .FLP file via modem to someone, you might want to ensure that your original disk is unfragmented before you use 2FILE on it. 2. 2FLOPPY formats and writes over the destination disk with the 2FILE-produced file. ANYTHING ALREADY ON THE DISK WILL BE LOST so make sure you only use it on a new or unwanted floppy. @@APPBK APPBK Michael J. Mefford Pop-up appointment reminder ------------------------------------------------------- Purpose ------- Reminds you of appointments at the times you specify; provides additional optional hourly chime and continuous on-screen date/time display. Format ------ APPBK or APPBK [f,][b,][s,][h,][a] Remarks ------- APPBK is a memory-resident utility that is normally loaded through your AUTOEXEC.BAT file. It must be loaded after any system time/date setting routines, and before loading SideKick (if used). Pressing Alt-R opens the on-screen APPBK window, in which you enter your appointments. Enter times as 2:00, not 02:00, and include the A or P before the M in the window. You can edit your appointment list using the F-1 and F-3 keys, by overstriking letters, and with the deleting backspace key. F-2 toggles an hourly chime on and off; F-4 similarly toggles a continuous on-screen display of the time and date. An alarm will sound at the appointment times specified. Additionally, should you be away from your desk and not hear the reminder, your first keystroke following the alarm will pop up the APPBK window. To close the window, press Esc or the Alt-R (default) APPBK trigger key. At the time it is loaded, APPBK may be given alternative parameters for its color (f), border color (b), trigger-key scan code (s), hourly chime frequency (h), and alarm frequency (a). The default values are 7,112,19,2217,2960. Tables of acceptable alternative parameter values are give below. In entering parameters, separate each with a comma. Commas alone may be used for initial parameters you do not wish to change. Example ------- APPBK ,,,1760 would change only the frequency (tone) of the hourly chime (the h parameter). Parameter Tables COLOR CODES (f and b parameters) Color Adapter ------------- fore- back- fore- ground ground color ground color 0 0 Black 8 Gray 1 16 Blue 9 Light Blue 2 32 Green 10 Light Green 3 48 Cyan 11 Light Cyan 4 64 Red 12 Light Red 5 80 Magenta 13 Light Magenta 6 96 Brown 14 Yellow 7 112 White 15 Bright White Monochrome Adapter ------------------ fore- back- ground ground color 0 0 Black 7 112 White 15 NA Bright White Add foreground color to the background color to arrive at parameter number. For example, blue letters on cyan (light blue) would be 48 + 1 = 49. Defaults are 7 (white on black) for the datebook field (foreground) and 112 (black on white) for the frame (border). SCAN CODES FOR ALT-KEY COMBINATIONS (s parameter) Code Key Code Key Code Key Code Key 16 Q 30 A 44 Z 120 1 17 W 31 S 45 X 121 2 18 E 32 D 46 C 122 3 19 R 33 F 47 V 123 4 20 T 34 G 48 B 124 5 21 Y 35 H 49 N 125 6 22 U 36 J 50 M 126 7 23 I 37 K 127 8 24 O 38 L 128 9 25 P 129 0 130 - Default is 19 (Alt R) 131 = TONE/FREQUENCY (h and a parameters) A 55 110 220 440 880 1760 3520 1740 14080 A# 58 117 233 466 932 1857 3714 7428 14856 B 62 123 247 494 988 1976 3952 7904 15808 C 65 131 262 523 1046 2093 4186 8372 16744 C# 69 139 277 554 1109 2217 4434 8868 17736 D 74 149 294 587 1175 2349 4698 9396 18792 D# 78 156 311 622 1245 2489 4978 9956 19912 E 82 165 330 659 1319 2637 5274 10548 21096 F 87 175 349 698 1397 2794 5588 11176 22352 F# 93 185 370 740 1480 2960 5920 11840 23680 G 98 196 392 784 1568 3136 6272 12544 25088 G# 104 208 415 831 1661 3322 6644 13288 26576 Middle C is 262. The defaults are 2217 (C#) for the hourly chime and 2960 (F#) for the alarm chime. Note ---- 1. While APPBK is compatible with most applications programs and resident utilities, complete compatibility cannot be assured. It cannot, for example, be used with XyWrite. @@ASC ASC Jeff Prosise Pop-up ASCII Chart ------------------------------------------------------- Purpose ------- Provides a pop-up ASCII chart showing decimal, hexadecimal, and character equivalents for the full IBM character set. Format ------ ASC Remarks ------- ASC is a memory-resident utility that is normally loaded at boot-up, via your AUTOEXEC.BAT file. Once loaded, pressing Alt-A pops up the first page (32 ASCII codes) of the display window over any currently active applications program. The Up- and Down-Arrow, PgUp and PgDn, and Home and End keys access the remaining ASCII display pages. Pressing Esc closes the window, restoring the original screen display. In operation, ASC requires approximately 2.5K of RAM. It is compatible with most applications and TSR (terminate and stay resident) programs that do not themselves require the Alt-A key combination. Notes ----- 1. Users familiar with using DEBUG can modify the default border, text, and header colors of ASC. These values, initially 0Fh, 1Fh, and 1Eh, respectively, are located at offsets 014D through 014F in the .COM file. For use with a composite monochrome display, the values 70h, 07h, and 07h are suggested. @@BATCHMAN BATCHMAN Michael J. Mefford Batch file enhancer and multi-function utility ------------------------------------------------------- Purpose ------- BATCHMAN is designed both to give your batch files significantly more power and to add many of the refinements we all wish DOS provided. You can check the DOS version, available memory, or display type and then branch accordingly. You can create colorful menus that branch on a user keypress. And, among its many other capabilities, BATCHMAN will let you adjust the keyboard typematic rate and tame the grating DOS beep or turn it into a tune. BATCHMAN is actually a collection of 48 batch file enhancement utilities, all rolled into one 6K program. This provides more than convenience: if BATCHMAN's utilities were stored separately, at a minimum one cluster each, they'd take up about 100K of disk space. ERRORLEVELS ----------- The key to BATCHMAN's operations is the ERRORLEVEL code, a number that programs can report to DOS when they terminate and that can be acted upon from a batch file. ERRORLEVEL is abbreviated as EL for the remainder of this documentation. An EL can have a value between 0 and 255. Each of the BATCHMAN commands returns information as an EL. An explanation of the syntax of each of the BATCHMAN commands and the ELs they return will be found below. Format ------ BATCHMAN [command] [arguments] [/R] Entering BATCHMAN without any parameters (or with an invalid parameter) will bring up a multi-screen display that lists all the BATCHMAN commands. The optional arguments are parameters for any given command. If you add the optional /R switch, BATCHMAN will display the EL returned from the command. The Report option will be most helpful when you are designing and debugging your batch files. Be sure to place BATCHMAN in a directory included on the DOS PATH so your batch files can find it. THE BATCHMAN COMMANDS --------------------- The following conventions are used in the explanations below. The commands are listed first, followed by any parameters they might accept, followed by the EL the command will return. The EL is given in curly brackets to make it clear that it is not part of the command syntax and should not be typed in. For example: CLS [nn] {EL=0} Entered without the optional nn color argument, the command: BATCHMAN CLS will clear the screen with whatever color it finds at the current cursor position. This provides the most flexibility when you plan to distribute a BATCHMAN batch file to other systems because it retains the user's custom color scheme. If you wish to control the CLS color, just add the color argument nn, where nn is a decimal or hexadecimal value. Hexadecimal numbers need a suffix of "h" to distinguish them from decimal. Selecting a color in hex is easier than decimal because each of the 16 possible values for each of the background and foreground colors fits into a single digit: the first digit is background, the second foreground. To clear the screen so that subsequent DOS output will use blue letters on a light gray background, for example, you would enter: BATCHMAN CLS 71h The first number (7) is the background color, and the second (1) is the foreground color. To do the same using a decimal number requires a little maths: the background color is multiplied by 16 and added to the foreground. In the above example, the decimal equivalent would be (7 * 16) + 7 = 113, so the equivalent command in decimal would be: BATCHMAN CLS 113 Like its DOS counterpart, BATCHMAN's CLS also homes the cursor to the top left corner. Unlike the DOS CLS, however, BATCHMAN's will clear the whole screen properly in video modes such as the EGA/VGA 43/50 line modes. CECHO [C] [nn,]string{EL=0} CECHO is similar to the DOS ECHO command except you can choose the color of the echoed string. The nn color value is entered in the same manner as with CLS, and again, if you don't enter a color value, BATCHMAN will use the currently specified color. To echo a "Zowie!" to the display in an eye-catching blinking yellow on red, you would enter: BATCHMAN CECHO CEh,Zowie! The C (hex) value for the background color normally displays as orange for a foreground color. When used as a background color, however, it displays as the blinking low intensity counterpart, red. Any high intensity color selected for the background will select a blinking color. The optional C parameter shown in CECHO syntax (don't confuse it with the hex C color value in the example above) stands for "no carriage returns." Normally, both CECHO and the DOS ECHO move to the next line after echoing a string. At times this is not desirable. For example, you might wish to echo two strings, with different colors, on the same line. With BATCHMAN you can suppress the carriage return by adding a solitary C as the first argument. For example, to display a red on yellow blinking "Zowie!" followed by a normal red on yellow "Batchman!" on the same line your batch file would consist of: ECHO OFF BATCHMAN CECHO C CEh,Zowie! BATCHMAN CECHO 4Eh,Batchman! You can suppress the carriage return to prevent the display from scrolling when you echo to the last line of the display. SETLOOP [n] {EL=0} . . DECLOOP {EL=SETLOOP-1} You use the SETLOOP and DECLOOP commands when you want to repeat a set of batch file commands. SETLOOP sets a loop counter to the n argument, which can be a decimal number between 0 and 255. Once the counter is set, the BATCHMAN DECLOOP command will decrement the counter each time it is executed and return the new value of the loop counter as an EL. The short batch file: ECHO OFF BATCHMAN SETLOOP 10 :HERE BATCHMAN CECHO ZONK! BATCHMAN DECLOOP IF ERRORLEVEL 1 GOTO HERE will echo "ZONK!" to the display 10 times before terminating. The batch processor will branch to the HERE label as long as EL is 1 or greater. Programmers may wonder where the loop counter is stored while other commands are executing. For the SETLOOP and PUSHPATH commands (PUSHPATH/POPPATH are discussed below) BATCHMAN creates a small TSR of approximately 500 bytes. The loop counter uses one byte for its storage; the balance is reserved for path strings. When the loop counter becomes zero, the BATCHMAN TSR data area is returned to the system memory pool (unless PUSHPATH is also using the data area). Note that since the loop counter is only one byte, you can not do loop nesting. If you exit a batch file before SETLOOP has decremented to zero, the TSR data area will not be released. You should construct your batch files so that any early exit from a loop will execute a SETLOOP 0 to force a recovery of the TSR data area. BATCHMAN is smart enough not only to find its previous TSR data, but will prevent the creation of another if you try to enter two SETLOOP commands. QFORMAT [d:] [N] {EL=0 if successful; EL=1 if not.} QFORMAT is designed to wipe out all the files and subdirectories on a floppy disk at a single stroke. To keep you from accidentally trashing your hard disk, the command will only accept A: or B: as drive arguments. As a further precaution, QFORMAT warns you that all data will be lost and requires that you press Y and Enter to confirm. Any other keypress will abort the process. If you don't want BATCHMAN to pause and ask for your approval, however, you can add the optional N argument to the command. The N stands for No Ask. Use this option with caution! QFORMAT will work only on diskettes that have already been formatted by DOS. The DOS FORMAT command puts vital information about the media type, number of clusters per FAT, and so forth, in the boot sector of the disk. BATCHMAN's QFORMAT command uses this information to find and place zeros in the FAT and root directory sectors of the disk. The reason why QFORMAT can be so fast is that it doesn't have to do the same work as the DOS FORMAT command. FORMAT not only does a low level format but also writes over the entire data area of the disk. It's the low-level-and-data-format process that takes forever. A low level format really needs be done only once, and QFORMAT blithely skips that step. QFORMAT is sophisticated enough to preserve bad sector information, however. PUSHPATH {EL=0 if successful; EL=1 if not} . . POPPATH {EL=0 if successful; EL=1 if not} PUSHPATH saves the current drive and directory, which can then later be restored with POPPATH. Typically, a batch file that executes an application includes a DOS CD command (often a change of drive as well) move operations to the place where the application resides. After the application terminates, it's usually desirable to return to the original path. By way of example, to run Lotus 1-2-3 on drive D: and then return to the default path afterwards, your batch file would look something like this: BATCHMAN PUSHPATH D: CD \123 123 BATCHMAN POPPATH PUSHPATH saves the current path in a TSR data area, just as the SETLOOP command does. While only one byte is reserved for SETLOOP's loop counter, however, BATCHMAN's TSR data area allows stacking up several paths with PUSHPATH. Subsequent POPPATH commands will retrieve the paths in a LIFO (Last In First Out) stack basis. Suppose, for instance, that you're currently in your directory and you issue the following commands: BATCHMAN PUSHPATH CD \DOS BATCHMAN PUSHPATH CD \PCMAG BATCHMAN POPPATH BATCHMAN POPPATH In this sequence, the first POPPATH puts you back into the \DOS subdirectory, and the last POPPATH restores you to the root directory from which you started. The number of path layers that can be stored will vary with the length of each path pushed onto the stack. BATCHMAN's TSR area reserves 408 bytes for paths, which allows for 6 levels of nested paths if each path is the maximum 65 characters allowed by DOS. Shorter path names will allow nesting greater than 6 levels. BATCHMAN returns an EL of 1 if it finds the stack too full for another PUSHPATH or if the stack is already empty with a POPPATH. Otherwise, the EL returned is zero. When the last path is popped off the stack, the TSR data area is discarded and returned to the DOS memory pool. ANSI {EL=0 if ANSI found; EL=1 if not found} This BATCHMAN command is designed simply to determine whether ANSI.SYS is or is not installed. If the EL is 1 you can then branch around any ANSI.SYS escape sequences contained in your batch files. BATCHMAN is smart enough to detect ANSI.SYS, but it will not find other ANSI.SYS emulators, such as DesqView's DV-ANSI. BEEP [m,n[;m,n]...]{EL=0} The BATCHMAN BEEP command gives you a great deal of flexibility in controlling the frequency and length of the sound DOS emits in response to a Ctrl-G character. The m,n beep arguments are decimal numbers and are used in pairs, separated by a comma. The m value represents the frequency (in Hz.), and n is the number of 1/18th second increments that comprise the duration. The command for a middle C beep of a 1/2 second, for example, would be: BATCHMAN BEEP 262,9 By separating the argument pairs with semicolons, you can produce a series of tones with the same BEEP command. You might, for example, try: BATCHMAN BEEP 392,3;523,3;659,3;784,3;10,3;659,3;784,12 The lowest valid frequency is 19, a very low buzzing sound. You can use a value less than 19 to create pauses between tones: no sound will be emitted, but the duration argument is executed, effectively producing a programmable delay between notes. If you omit all arguments, BEEP defaults to 1046,1 -- a C note for 1/18 of a second. The DOS Ctrl-G beep is a frequency of 886 that lasts for one second. Musically, a frequency of 886 is an out-of-tune A, which probably explains why it grates on so many ears. WAITTIL hh:mm[ss] {EL=0 if successful; EL=1 if aborted} WAITTIL provides a convenient way to pause until a certain time of day. The hh:mm:[ss] argument is the time in hours, minutes, and optionally seconds. BATCHMAN will wait until the specified time arrives but you can manually abort the wait by entering any keystroke. A typical application for WAITTIL would be to execute an electronic bulletin board communications program that would automatically download messages late at night when rates are lower. WAITFOR [mm:]ss {EL=0 if successful; EL=1 if aborted} WAITFOR simply pauses for a specified number of minutes (mm) and seconds (ss). You can omit the minute part of the argument if you desire. As with WAITTIL, the WAITFOR delay can be over-ridden by pressing a key. CURSORTYPE [m,n] You can use CURSORTYPE either to create a cursor size that suits your taste or to restore the normal underline cursor after an application alters it. Entering CURSORTYPE without any arguments will default to the standard underline cursor. To create a custom cursor, you supply the m,n arguments as the start and stop line values. These values can be either decimal or hex; for hex input, add an "h" suffix to the number. The top of the character box is logical line zero; successively-numbered lines increment downward. The valid scan line values used for m and n are 0-7 for a CGA, 0-13 for a monochrome or EGA, and 0-15 for a VGA. The default underline cursor start/stop lines are 6,7 for a CGA, 11,12 for a monochrome or EGA, and 13,14 for a VGA. To set an EGA solid block cursor, for example, enter: BATCHMAN CURSORTYPE 0,13 Note that the EGA BIOS on some video boards will attempt to override your selections. BATCHMAN temporarily turns off this BIOS EGA emulation logic for all video boards when the cursor type is set, and this seems to work for most systems. However, if entering CURSORTYPE without arguments does not give you the normal default underline cursor, you can explicitly request an underline cursor that fits your display. You may need to do this for video modes other than the normal 25 line modes. A "wrap around" cursor, in which the stop line has a lesser value than the start line, is supported by the hardware of only some video systems. BREAK {EL=0 if OFF; EL=1 if ON} The BATCHMAN BREAK command returns the current state of DOS's Ctrl-Break checking. You can change the state of BREAK with the DOS command of the same name. DRIVEEXIST d: {EL=1 if exist; EL=0 if not} DIREXIST directory {EL=1 if exist; EL=0 if not} These two BATCHMAN commands are used to return an EL of 1 to your batch files if the specified variable exists. ISVOL [d:]volume {EL=1 if exist; EL=0 if not} Similarly, this command returns an EL of 1 if a particular disk volume exists on the named drive. YEAR {EL=year from 1980 (0-199), where 0=1980} MONTH {EL=(1-12)} DAY {EL=(1-31)} WEEKDAY {EL=(0-6), where Sun=0; Sat=6} HOUR {EL=(0-23)} MINUTE {EL=(0-59)} SECOND {EL=(0-59)} This group of BATCHMAN commands returns the system time and date. Note that you can obtain a relatively fine resolution of the time. VIDEOMODE {EL=(0-19)} The EL returned by the VIDEOMODE command allows you to determine which of the possible screen modes listed in Figure 3 is currently being used by your display. ROWS {EL=display rows} COLS {EL=display columns} These obvious but very handy commands return the current number of rows or columns displayed. SETCURSOR m,n {EL=0} By supplying values for m (the row) and n (the column) you can use SETCURSOR to place your cursor at the specified screen location. By using SETCURSOR in concert with CECHO you can precisely control the location of your messages. For example, to display "Gotham City" in blue in the middle of the screen, you would create the following batch file: ECHO OFF BATCHMAN SETCURSOR 12,35 BATCHMAN CECHO 1,Gotham City Be sure to include the ECHO OFF command, both so that DOS won't spoil your display by echoing the commands. A related use of SETCURSOR is to hide the cursor. You can do this by setting the cursor to display on line 26, which is off screen. Be sure to issue a second SETCURSOR command that puts the cursor back on screen once the hidden cursor is no longer needed, or you won't be able to see what you type! If you forget, don't panic. Just press Esc, blindly type CLS and press Enter, and things will return to normal. E43V50 {EL=0 if successful; EL=1 if not} This BATCHMAN command loads the 8x8 BIOS font for an EGA or VGA monitor. This changes the number of lines displayed to 43 (EGA) or 50 (VGA}. You can use the DOS MODE command to return to the normal 25-line display. PRTSC {EL=0} This command will execute a printer screen dump exactly as if you had pressed Shift-PrtSc on an 83-key keyboard or the dedicated Print Screen key on a 101-key keyboard. COMPARE string1 string2 {EL=0 if match; EL=1 if no match} The BATCHMAN COMPARE makes a case insensitive comparison between two strings. For most purposes you'll probably want to use COMPARE instead of the case sensitive DOS batch command: IF string1==string2 With the DOS IF string comparison a non-case sensitive match one test for uppercase and one for lowercase. Even this does not guarantee a match if the string is a mixture of upper and lower case. COMPARE solves this problem. Note that the BATCHMAN COMPARE does not need the double equal signs the DOS IF command uses. CANCOPY filespec [d:] {EL=0 if room to copy; EL=1 if not} Before you copy a file or a number of files to another drive (especially a floppy disk drive), you can use CANCOPY to see if there is enough room for all the specified files. The filespec you supply can use the DOS ? and * wildcards. If you don't specify the target drive, the default drive is checked. Thus, for example, to check whether the collection of PC Magazine utilities you keep in a directory called PCMAG on drive C: will fit onto a floppy, you would enter: BATCHMAN CANCOPY C:\PCMAG\*.* A: BATCHMAN returns an EL of 0 if there is room; otherwise a 1 would be returned. If you enter this from the DOS command line, you'll want to include the /R option to see the EL returned on screen. WARMBOOT COLDBOOT As their names imply, WARMBOOT and COLDBOOT reboot your system. WARMBOOT does the same thing as pressing Ctrl-Alt-Del; COLDBOOT is like hitting the big red switch. A COLDBOOT does a memory check (among other things) that WARMBOOT does not, and it takes a lot more time. Of course, be forewarned that with either of these commands all unsaved data in RAM memory will be lost. Note that WARMBOOT and COLDBOOT may not work on some non-compatible systems. SHIFT ALT | CTRL {EL=1 if depressed; EL=0 if not} This command returns the state of either the Alt or Ctrl key. For example, BATCHMAN CTRL returns an EL of 1 if the Ctrl key is currently depressed. You can use the SHIFT command along with the BATCHMAN GETKEY command without arguments to detect alternate key presses. (See GETKEY, below, for an example.) NUMLOCK [ON | OFF] {EL=0} CAPSLOCK [ON | OFF] {EL=0} SCROLLOCK [ON | OFF] {EL=0} These three self-explanatory commands toggle the current shift state of the NumLock, CapsLock or ScrollLock keys when used without the ON or OFF options. They explicitly turn the three keys on or off if the optional arguments are supplied. Thus, for example: BATCHMAN NUMLOCK will toggle the NumLock state on if it was off or off if it was on. Entering BATCHMAN NUMLOCK OFF will turn the NumLock state off regardless of whether it is currently on or off. This latter would be a useful line in your AUTOEXEC.BAT if you use the numeric keypad for cursor navigation instead of number entry. Note that on some keyboards the LED indicator lights may not faithfully track changes in shift status. RENDIR old new {EL=0 if successful; EL=1 if not} The RENDIR command will rename a directory, but only on systems using DOS 3.0 or later. To use it simply enter the path of the old directory and the new name. For example, to change the name of a temporary directory named TMP on the C: drive to a permanent name, say, ROBIN, you would enter: BATCHMAN RENDIR C:\TMP C:\ROBIN Be sure to include the complete path for both the old and new directory names if the directory is other than the default. ROMDATE {EL=0} ROMDATE displays the eight bytes of the BIOS date at address FFFF:0005 of the ROM BIOS. Usually, the display will be something like 10/07/87, but some clone BIOSs do not have a date. If no ASCII numbers are found, BATCHMAN displays nothing. GETKEY ['string' n] {EL=scan code if no ['string' n] list; else EL=position in list.} There are probably hundreds of versions of the batch file GETKEY program. They return the scan code of the next key you press as an EL. If you enter the BATCHMAN GETKEY command without the optional (bracketed) arguments, it will do the same thing. Entered without arguments, GETKEY can also be used with the BATCHMAN SHIFT command to detect Alt- or Ctrl- key combinations. The scan code for the "Q" key is 16. To check for an Alt-Q keypress (perhaps as a Quit key command), you would use the following batch file: ECHO OFF GETKEY BATCHMAN GETKEY IF NOT ERRORLEVEL 16 GOTO GETKEY BATCHMAN SHIFT ALT IF NOT ERRORLEVEL 1 GOTO GETKEY ECHO Alt-Q was pressed. GETKEY's optional key list provides still another kind of functionality with its optional key list. The information you need may not be the scan code of a given key, but rather its position in a string. If you supply the optional 'string' argument to GETKEY, BATCHMAN will wait either until one of those keys listed has been pressed or until you break out of the command with Ctrl-Break or Ctrl-C. An example may helpful here. With the command: BATCHMAN GETKEY 'yn' BATCHMAN will wait until either the "Y" or the "N" key or one of the break keys mentioned above is detected. All other keypresses are ignored, and if the break-out keys are pressed, the EL returned will be 255. GETKEY is not case sensitive, so if either "Y" or "y" is pressed, the EL will be 1, since the "y" is the first character in the string of valid keypresses. For "N", an EL of 2 will return. The string must be enclosed in a pair either of single or double quotes. If you want the single quote included as a valid keypress, enclose it in double quotes and vice versa for double quotes, as in the following example: BATCHMAN GETKEY '"' You can also include the function keys (even the F11 and F12 keys of the extended keyboard) in the GETKEY list. The function key numbers are listed without quotes, (they are designated by the n in the command syntax above), and may or may not be further identified with a leading "F." Multiple function keys are delimited by either a space, comma or semicolon. To add the F1 and F2 as valid keys to the "yn" string example above, you would enter either: BATCHMAN GETKEY "yn" F1 F2 or just BATCHMAN GETKEY "yn" 1 2 If F1 is now pressed, the returned EL will be 3, since F1 is the third entry in the list. DOSVER {EL=(major*32)+minor} DOSVER returns an EL representation of the DOS version in use. DOS version numbers have two parts, the Major version (the number to the left of the decimal point) and the Minor version (the number to the right). For DOS version 3.10, then, 3 is the major and the 10 is the minor. Since the largest EL number is 255, the DOS version number does not fit conveniently into an EL. For DOS 3.10, for example, if the dot is discarded the remaining 310 is too large for an EL. Of course, BATCHMAN could be content to return only the major number, truncating anything after the dot, or even the first digit after the dot. But that would be less than sufficient for some applications. So instead, the DOSVER command compresses the version number by multiplying the major number by 32 and adding it to the minor number. With DOS 3.30 the result will be (3*32)+ 30=126; with DOS 4.00 it would be 128. If there had been a DOS version 3.32 we would have a problem of course, since this would also return 128. Historically speaking however, we are safe here. MAINMEM n | R {EL=0 if enough} EXPMEM n | R {EL=0 if enough} EXTMEM n | R {EL=0 if enough} The arguments for these three memory commands can be either a decimal number, n, or an R. The decimal argument is used to check whether the desired amount of memory (in KB) is free. If BATCHMAN finds that there is enough free memory to meet the request, the EL will be 0. Thus, if an application needs 512K bytes of the 640K maximum possible with DOS, you would enter: BATCHMAN MAINMEM 512 The EL will return 0 if there are at least 512K bytes free; otherwise, a 1. Your batch file can then branch to an error message if there is not enough memory to run the application. Note that these memory commands do not allocate the memory. They only check if it is free. The alternative R argument stands for Report and will display the current free memory of the type requested on the screen. To see how much free expanded memory you have, for example, enter: BATCHMAN EXPMEM R The report option of the three types of memory will go nicely with BATCHMAN's ROMDATE command in a system information batch file. DISPLAY {EL=display type} The DISPLAY command will report on the type of display your system has installed. The values returned by DISPLAY as EL codes are: 1=MDA 2=CGA 4=EGA color 5=EGA mono 6=PGS 7=VGA mono 8=VGA color 11=MCGA mono 12=MCGA color CPU {EL=CPU type} Similarly, the CPU command returns an EL that indicates the microprocessor used by your machine. The specific EL numbers are: 1=8086/8088; 2=80186; 3=80286; and 4=80386. WINDOW m,n,w,h[,c,b] {EL=0 if successful; EL=1 if not} The powerful WINDOW command displays screen boxes. It provides several parameters and options. The first two decimal numbers (m,n) are the row and column of the top left hand corner of the window. The next two decimal numbers (w,h) are the desired width and height of the window (including the border characters.) The smallest size that WINDOW allows is 2 characters in width and height. The optional fifth parameter, c, can be either a hexadecimal or decimal number for the color of the window. If no color argument is supplied, the current color of the screen is used by default. The last parameter, b, sets the type of border used to surround the window. If no parameter is found, spaces are used. If you enter a minus sign for b, a single-line box character will be drawn. An equals sign for b will produce a the double-line box character. In all cases, the center of the window is cleared with spaces of the chosen color. For example, the command BATCHMAN WINDOW 1,1,80,25,17h,= will create a blue window with white double line box characters that will fill the entire screen, making a nice menu frame. Text could then be added with the BATCHMAN SETCURSOR and CECHO commands. TYPEMATIC [m,n | N] {EL=0 if valid parameters; EL=1 if not} m=typematic rate (0 - 31); larger m=faster rate n=initial delay (0 - 3); larger n=longer delay N=normal: m=20; n=1; default: m=25; n=0 TYPEMATIC works only with keyboards that support adjustable typematic (automatic key repeating) rates at the BIOS level. That includes most machines, starting with the AT, but not all clones. The first optional decimal parameter, m, is a number between 0 and 31 and represents the desired typematic rate. The larger the m value, the faster your keyboard will repeat keystrokes. The second parameter, n, has a range of 0-3, and sets the initial delay. This delay is the length of time you must hold down a key before it begins repeating. The larger the delay value the longer the delay. The delay parameters are in increments of 1/4 second, with 0=1/4 and 3=1 second. The typematic parameters are divisors and cannot be easily be translated into fractions of a second, however, and so should be thought of only as a gradient scale. If you don't enter any parameters, TYPEMATIC defaults to a repeat rate of 25 and a delay of 0. The 25 translates into about 17 characters per second with an initial delay of 1/4 second. You can restore the typematic rate to the normal hardware defaults with: BATCHMAN TYPEMATIC N @@BLOAD & BSAVE BLOAD and BSAVE Save and reload the screen display ------------------------------------------------------- Purpose ------- Similar to the BASIC commands of the same name, these two programs provide a simple ability to save and reload screen displays. They are included here for use with the DRAW program. Format ------ BSAVE filename then BLOAD filename Remarks ------- BSAVE stores the currently displayed screen in a file. The BLOAD command can then be used to reload it. If the screen is a graphic image, you should use the VIDMODE command included on this disk to set the appropriate display mode before using BLOAD. BLOAD and BSAVE can be used in batch files to quickly display complete screens or drawings. See the DRAW command for more information. @@BROWSE BROWSE Charles Petzold Browse text files on-screen ------------------------------------------------------- Purpose ------- BROWSE displays any plain text file on-screen and lets you scroll forward and backward without having to start a word processing program. Format ------ BROWSE [d:][path]filename[.ext] [/W] Remarks ------- The DOS TYPE command does not permit you to scroll ahead or go back to previously displayed material in a file. It also exits at the first instance of Ctrl-Z (ASCII 26, conventionally used as an End-of-File marker), making it impossible to scan binary (e.g. .COM) files for error messages, copyright notices, and the like. BROWSE overcomes these shortcomings, giving you the chance to go immediately to the top or to the end of a file (the Home and End keys, respectively), to the succeeding or previous screen (PgUp and PgDn), or to move up or down a line at a time (Up Arrow or Down Arrow). To return to DOS, simply press the Escape key or Ctrl-Break. Wide displays, e.g. a spreadsheet file, are not broken at 80 columns, as with TYPE. BROWSE ignores carriage returns (ASCII 13), breaking lines only on line feeds (ASCII 10). The Right Arrow key scrolls the display to the right in eight-character increments (see Note 3 below) to view wide displays; the Left Arrow key returns you immediately to column zero. BROWSE expands tab characters (ASCII 9) to the next eight-character boundary, but does no other character processing unless the /W parameter is specified. Use of the /W option permits using BROWSE with WordStar files. Notes ----- 1. BROWSE can run under TopView or Windows; specify "writes directly to screen" in the .PIF and use the default 52K memory requirement. (The program actually requires only approximately 33K to run.) 2. BROWSE is compatible with the IBM Monochrome, CGA, EGA and VGA displays, and will run in the 43- or 50-line mode. Files prepared with word-processors that employ a one-line-per-paragraph format (such as Microsoft Word and XyWrite) may require excessive right scrolling, however. 3. BROWSE can be patched with DEBUG so that its right-scroll jumps by more than the default eight characters. The address to patch is 10F in the .COM file. After entering DEBUG BROWSE.COM type: E 10F and the default value (08h) will appear. Type the desired hexadecimal number (28 for a 40-column increment; 50 for an 80-column increment) and press . Then type W to write to the disk and Q to quit DEBUG. 4. Requires DOS 2.0 or later. @@CHANGE CHANGE Michael J. Mefford Fast text search-and-replace ------------------------------------------------------- Purpose ------- Performs a rapid search-and-replace operation for text strings and/or ASCII decimal codes throughout a file of maximum 40,000-byte length. Format ------ CHANGE filespec findstring replacestring Remarks ------- The filespec parameter may include a drive letter and a path in addition to the designated filename. Findstring and replacestring may consist of text characters enclosed within (double) quote marks or ASCII decimal codes whose numbers are separated by commas. Note that the format requires that each parameter be separated by a single space. Text strings in quotes and ASCII values in numerals may be combined in either string if separated by commas. Example -------- To change all references to Miss Jones to Mrs Smith in the file NOGOSSIP.ART on the current directory, you would enter CHANGE NOGOSSIP.ART "Miss Jones" "Mrs Smith" Example -------- To strip out all carriage return-line feeds (i.e. replace them with a null string) in the file MCI.B16 in the \COMM subdirectory, enter CHANGE \COMM\MCI.B16 13,10 "" Notes ----- 1. In the second example you might want to use a space between the quote marks rather than a null string to keep the words from running together. Observe that by putting the number of the month in hexadecimal (B=November) you can fit both month and day within the three character DOS filename extension. @@COPYSAFE COPYSAFE Michael J. Mefford Adds overwrite protection to the COPY command ------------------------------------------------------- Purpose ------- Prevents accidentally over-writing files when using the COPY command. Format ------ COPYSAFE Remarks ------- COPYSAFE is a memory-resident utility that displays the filename(s), drive, and directory of any file that will be overwritten if a COPY command is executed. After being warned, you are given the opportunity either to terminate the COPY procedure or to continue, and so overwrite the file(s). COPYSAFE should be loaded only once per session. The best procedure is to include it in an AUTOEXEC.BAT file. Be sure, however, to load COPYSAFE after any commands (such as DATE or TIME) that pause for user input. Notes ----- 1. Because of the way DOS processes commands in a batch file, COPYSAFE cannot warn against accidental overwriting if you run COPY as part of a .BAT file. Similarly, it is not designed to handle instances in which the COPY command is used to concatenate files. 2. COPYSAFE is highly compatible with other memory-resident programs, but because absolute compatibility among all possible TSR (terminate but stay resident) utilities cannot be guaranteed, you should check its operation on your system thoroughly before you rely on it completely. @@CS CS Charles Petzold 43- or 50-line mode clear screen ------------------------------------------------------- Purpose ------- Clears the screen when using an EGA or VGA in 43 or 50 line format. Format ------ CS Remarks ------- The DOS CLS command is hard-coded for a 25-line display and so does not fully clear the screen when using the 43-line format on an EGA or the equivalent 50-line format on a VGA display. CS is a simple replacement for CLS in such cases. CS will also work for other variations on the normal 80 column mode 3 display but it doesn't operate with non-standard modes such as 132 or 120 columns provided by 'Super VGA' displays. However, the normal CLS command will usually operate in these cases. Unlike CLS, CS tries to preserve the current screen colors when it clears the screen. @@DIRCOMP DIRCOMP Charles Petzold Lists two directories side-by-side ------------------------------------------------------- Purpose ------- Permits comparison of the contents of two directories in alphabetical order, with the options of redirecting the screen display either to a file or to a printer. Format ------ DIRCOMP directory1 directory2 Remarks ------- The directories to be compared do not need to be on the same drive. Use the normal DOS backslash (\) character in specifying the path to a desired directory. The DOS "wildcard" characters (* and ?) may be used to limit the filenames displayed. Identically-named files are shown side-by-side to facilitate comparison of their size, date, and time. Other filenames are presented alphabetically in their respective directory columns. Press [Pause] to halt the display scrolling temporarily; striking any key thereafter causes scrolling to resume. In comparing large directories it is frequently desirable to redirect the output of DIRCOMP either to a file (which you can then call up with your word processor) or to a printer. Example ------- To create a file called COMPARE.TMP in the root directory of drive C: (your currently active drive) that compares the listings in your \LETTERS subdirectory with the files contained on a floppy disk in drive B: you would enter: DIRCOMP \LETTERS B: > \COMPARE.TMP Example ------- To print out the same comparison without creating a file, you would enter: DIRCOMP \LETTERS B: >PRN @@DIRMATCH DIRMATCH Michael J. Mefford Visual compare of two directories ------------------------------------------------------- Purpose ------- To display two scrollable, alphabetized, directory listings side-by-side, with the more recent of matching filenames highlighted; to provide mark, copy, and move facilities to update the target directory with one or more selected files from the source. Format ------ DIRMATCH source target [/D][/A] Remarks ------- The source and target may comprise any combination of drives, directories, or subdirectories (with optional * and ? wildcards) valid for the DOS DIR command. The user will be prompted for target and source directories if his entry is incorrect. By default, DIRMATCH displays all files in the two directories. The optional /D and /A switches restrict the display to Different and Alike files, respectively. The on-screen display, together with the number-of-files counters, can be cycled through All, Different, and Alike modes with F1; Shift-F1 cycles in reverse. Pressing Esc exits the utility. Ctrl-C will abort the program operation. An inverse-video selector bar shows the current position in the listings, and may be moved with the UpArrow, DownArrow, PgUp, PgDn, Home, and End keys. When the selector bar is on a filename, pressing the plus (+) key on the keypad or the equal (+=) key on the keyboard marks the file for further action. Pressing the minus (-) key on the keypad or the hyphen (-) key on the keyboard unmarks a marked file. F2 marks all files; F3 clears all marks. A file under the selector-bar or a group of marked files can be copied from source to target directories by pressing F4. A confirming prompt is provided. Similarly, pressing F5 moves a file or marked group, by first copying and then deleting file(s) from the source. While older files can be copied (F4) to the target directory, by default F5 will not move them. F6 will delete the marked files from the source directory after prompting for confirmation. F7 moves marked files only if there are not existing files in the target directory with the same name. F8 reverses the source and target directories on the screen making the current source the target and the current target the source. This allows the user to move and copy files in any direction and to delete any file. This is especially helpful when updating two directories that have been maintained independently (e.g., at the office and at home) so that they will both have the latest versions of the same file. Pressing F9 prints a list of All files, with more recent matching filenames identified with a greater-than (>) sign. F10 displays the amount of free space on the target disk drive. DIRMATCH supports any number of screen display lines, including 43-line (EGA) and 50-line (VGA) modes. It can display up to 1,423 filenames in its listings. Hidden and read-only files are not displayed. DIRMATCH requires 64K free RAM in order to run. New features in Version 2.0: F6 Delete file(s) F7 Moves file(s) (if not already on Target directory) F8 Swaps Target & Source directories F9 Pressing F9 prints a list of all files, with more recent matching filenames identified with a greater-than (>) sign F10 Checks amount of free disk space in Target directory Color patch addresses: EE9 Heading EEE File listings EF3 Bottom menu EF8 Highlight bar EFD Directory names & F1 active mode toggle F02 Recent Files How to use DEBUG to patch colors: Dark colors Light colors ----------- ------------ Black 0 Dark Gray 8 Blue 1 Lt Blue 9 Green 2 Lt Green A Cyan 3 Lt Cyan B Red 4 Orange C Magenta 5 Violet D Brown 6 Yellow E Lt Gray 7 White F To change an area's default colors (background & foreground), simply choose from the list of available colors above and substitute the corresponding values at the appropriate location. When choosing a color combination, remember that the first value represents the background color and the second value represents the foreground color. NOTE: using a light color as the background color will result in blinking characters. For example, if you wanted to change the heading from the default colors of blue on gray to white on red, you would change the value at location EDF from "71" to "4F." Here is the sequence of DEBUG commands to do this: DEBUG DIRMATCH.COM (Tell DEBUG to load DIRMATCH.COM) E EDF 4F (Edit location "EDF" & replace value with "4F") W (Write the modified DIRMATCH.COM file to disk) Q ( Quit DEBUG) @@DOC DOC Documentation viewer and printer version 1.1 ------------------------------------------------------- Purpose ------- DOC is a simple on-disk documentation viewer to present the manuals for the programs on this disk. It displays a list of available documents down the left side of the screen and shows the text of the currently selected document on the right. DOC has a simple printing ability which will produce a neat printout of a document so that you can have a manual to hand while working with a program. Running DOC ----------- To start DOC, enter the command DOC. If you're looking for a particular manual, you may also give it at the command line. For example: DOC CDX starts DOC and asks it to look for the manual for the CDX program. To select documents, use the up and down arrow keys to move through the list on the left. Typing the initial letter of a document name will jump directly to the next matching document. Once you've found the document you want, press TAB or the right arrow key to move to the text of the document on the right. The cursor keys (Home, End, Up, Down, PgUp, PgDn) will now move through the text. Press the left arrow or TAB key again to go back to select other documents. The DOC menu ------------ To call up DOC's menu, press the ESC key. DOC presents various options which you can select with the cursor and Return keys or by pressing one of the highlighted letters. The options will vary depending on your PC's configuration and the document files available. Pressing ESC a second time cancels the menu. Quitting DOC ------------ Choose the Quit option from the menu to leave the DOC program and return to DOS. Color display off ----------------- Choose Color display off from the menu to ask DOC to work in black-and-white. You may wish to do this if you're using a laptop with an LCD screen that doesn't show colors well or with some greyscale or CGA composite video monitors. If you need to do this, you might also enter the DOS command MODE BW80 before running DOC. This makes DOC and many other programs start up in black-and- white. Adding /M to the DOC command at the DOS prompt also forces monochrome operation. This menu option does not appear on PCs that do not have a color capability. Extended Screen On ------------------ Choosing this menu option switches the display to 43 or 50 lines so that you can see more text without scrolling. You can go back to the normal display by choosing Extended screen off subsequently. This menu option is only available on EGA or VGA equipped PCs. Fast screen on -------------- This menu option only appears on PCs fitted with CGA standard or equivalent displays. Normally the DOC program slows down on this type of display to prevent the screen flicker or 'snow' that genuine IBM CGA displays (and some compatible makes) can suffer from. If your system does not suffer from snow, choose 'Fast screen on' for a faster screen display. Print Document -------------- Choose this menu option to print the currently selected document. A menu appears from where you can make four print settings, choose Go to start printing or Cancel to return to viewing documents. You may need to alter the settings to suit your system before choosing Go: 1. Output port This is the printer interface that DOC should print the document to. By pressing O you can step through the ports fitted to your computer. The default LPT1, the first parallel printer port, is correct for most PCs. DOC can work with a serial printer (COM1 or COM2) if you have one but you must make sure that the port is correctly set up (e.g. with a command such as MODE COM1:9600,n,8,1,p) BEFORE running DOC. X-On/X-Off handshaking is automatically provided for serial printers. You can set the output port to "FILE". In this case, DOC will ask for the name of a disk file when you start printing and will then print to disk rather than to a printer. If the file you name already exists, DOC will append pages to it. Note that DOC will not print on PostScript printers. If you have one of these, you might like to use the print to FILE option and then use a PostScript conversion program or word processor to print the resulting file. 2. Lines per page This is the number of printable lines on each page on your printer. DOC will print with this set incorrectly but will not be able to put page breaks and headers in the right place. The default is 66 lines for standard fan-fold paper. Other common values are 60, 62, 64 and 70. 3. Use form-feeds Set this option to Yes if you're using a LaserJet- style printer or any printer with the form-length set correctly. DOC will work with this option set to No by counting output lines but this is slower. 4. Pause between pages Set this option to Yes if you're feeding single- sheets to the printer... DOC will pause for you to get the next sheet ready between each page. @@DRAW DRAW Michael J. Mefford Draws graphics from DOS prompt or batch files ------------------------------------------------------- Purpose ------- Provides low-resolution (320 x 200) color or high- resolution (640 x 200) monochrome drawing capabilities on CGA, EGA and VGA systems, without the need to work in BASIC. Format ------ DRAW [/K] (Option I) DRAW string [/K] (Option II) DRAW filespec/F [/K] (Option III) Remarks ------- Entered at the DOS prompt with no arguments on the command line (Option I), DRAW looks in the current directory for a file named DRAW.DAT and executes the commands in that file. A sample DRAW.DAT file is included on this disk. The file can be examined, and similar files created, with a regular ASCII word processor. Alternatively, DRAW can be entered with a string of commands (Option II) for a simple graphic or with the name of a file consisting of commands (Option III). Any legal DOS filename may be used, and full path support is provided, but a /F terminator must be appended to the filename. An optional /K may be added to prevent a keystroke from halting execution. Example ------- You can get a feel for how DRAW operates by entering, at the DOS prompt: DRAW X0 C2 BU50 M+40,70 L80 M+40,-70 BD5 P2,2 This will create a red triangle in the middle of your screen. You can trace the specific steps in this command sequence by referring to The DRAW Command Set table below. The DRAW Command Set -------------------- Xn Change to low resolution 320X200 color graphics. If X is not found, the default is 640X200 high resolution black and white graphics. X must be the first character of the command line or the first character in a file. The palette will be changed to n, where n can be either zero or one. See C color command below for the color of each palette. K Do not poll the keyboard while drawing. If K is not found, any keystroke terminates the program. Sn Flood the screen color to pattern n. n must be a decimal number in the range 0-255, and represents an eight bit pattern. Normally this command is issued immediately after the X command (if present), to clear the screen with a background color other than black. For example, to clear to color red (2) in low resolution, the command is S170 (binary 10101010). color 320X200 640X200 0 0 0 1 85 255 2 170 NA 3 255 NA Pattern colors may also be used. For example, a pattern of half green and half black would be S58 (binary 01000100). In high resolution, each bit represents a dot, eight dots per byte. This is why only two colors (black or white) are available. In low resolution, there are two bits per dot, so four combinations can be represented. In the example here the sequence is 01 (green), 00 (black), 01 (green), 00 (black). See C (color) command below for complete coding of the colors. U,D,L,R,E,F,G,H These commands, followed by a number, will move in one of the following compass directions: U H | E \ | / \ | / \ | / L -- -- -- + -- -- -- R / | \ / | \ / | \ G | F D Mx,y Move x,y units either relative to the current position or to the absolute coordinates, x,y. If the x coordinate is prefaced with either a plus sign or minus sign, the move is relative. Otherwise, the move is absolute. Note, you do not need to include a plus sign in front of the y coordinate in a positive y move. Pp,b Paint the color p until the border color b is found. The paint originates from the current position. B Blank move. The move following a B will move the desired units without plotting points. The next command will then continue drawing. N No update. The draw command following an N command will plot points, but the position will not be updated. The next draw command will start at the same position as the last. Cn Change the color to n. All draws after a C command will be in color n. n can be 0 (black) or 1 (white) in high resolution and 0 to 3 in low resolution. In low resolution, the color is dependent on the palette. 320X200 640X200 color palette 0 palette 1 0 black black black 1 green cyan white 2 red magenta NA 3 yellow white NA Related programs ---------------- This disk also includes BLOAD, BSAVE, VIDMODE and PLAY programs which can be used with DRAW to create quite sophisticated presentations within batch files. The command BSAVE filespec saves a byte image of the screen buffer to a file (with optional drive and path specifications), and BLOAD filespec loads a saved image file back to the screen buffer. VIDMODE can be used in a batch file with BLOAD to set the appropriate display resolution (VIDMODE 4 for low res, VIDMODE 6 for high res). The PLAY utility plays a tune on the PC's speaker. Example ------- This disk includes the example DRAW and PLAY files MOVIE.DAT and STING.DAT so that you can try the this example. Create the following batch file, SAVE.BAT, using an ASCII word processor, EDLIN, or COPY CON: ECHO OFF DRAW MOVIE.DAT/F BSAVE PICTURE Enter SAVE and the batch file will create a saved screen image called PICTURE of the MOVIE.DAT drawing. Now, similarly create a second batch file, SHOW.BAT: ECHO OFF (turn off command display) VIDMODE 4 (select low res graphics) BLOAD PICTURE (load the image) PLAY STING.DAT/F (play the tune) PAUSE > NUL (wait for a keypress) VIDMODE 3 (back to text screen) If you now enter SHOW at the DOS prompt the picture of two con men will appear, with appropriate musical background. Pressing any keystroke will clear the display. Note ---- 1. The PAUSE > NUL line in SHOW.BAT waits for a keystroke without showing a message on the display. This will not work properly on DOS versions prior to DOS 3. @@EGA12 etc. EGA12, EGA25, EGA35, EGA43, EGA50 Charles Petzold Change number of lines displayed on EGA/VGA PCs ------------------------------------------------------- Purpose ------- These programs allow you to select a different number of lines for the display if your PC has an EGA or VGA display. Format ------ EGA12 Select 12 line display EGA25 Select 25 line display (normal) EGA35 Select 35 line display EGA43 Select 43 line display Remarks ------- These programs alter the number of displayed rows on EGA or VGA equipped PCs. The different screen formats can be used at the DOS command prompt, in programs you write yourself and with some application programs (some applications will ignore your settings while others may not work properly). When you change the number of displayed lines, your screen display may contract or roll briefly. This is normal and does no harm. To reset your display to normal, enter EGA25, the DOS command MODE CO80 or use the VIDMODE program on this disk (VIDMODE 3 is the normal color 80x25 text display). To clear the screen in one of the non-standard formats, use the CS command on this disk. If you wish to print non-standard format screens, run the EGAPRTSC program also included on this disk. Notes ----- 1. These programs were designed to operate with EGA displays but can be useful on today's VGA equipped machines. The increased resolution of the VGA means that you will get more lines displayed than normal. For example, EGA35 produces a 39 line display on a VGA. 2. EGA12 can work well with VIDMODE, also on this disk. Run VIDMODE 1 to select a 40 column display then EGA12 to select 12 lines... this produces a large character display with characters that don't look stretched. 3. These programs will work with an EGA attached to a CGA monitor (also called an IBM CD or 200-line monitor)... however, the lower resolution of the monitor will reduce the number of displayed lines. 4. The ANSI.SYS driver supplied with your PC may not operate in some of these formats. @@EGA512 EGA512 Charles Petzold Enable 512 character displays on EGA/VGA systems ------------------------------------------------------- Purpose ------- Permits switching between two loaded EGA fonts when used with a 350-line (Enhanced Color or monochrome) monitor and software that supports display of bold characters. Format ------ EGA512 x y Remarks ------- The values of x and y may range from 0 through 3, and correspond to the EGA memory blocks into which fonts can be loaded. The x parameter corresponds to the font that will be displayed with normal (low intensity) characters. The y parameter accesses the font that will be displayed with high-intensity (boldface) characters. Example ------- Load the italic font into EGA memory block 1 with the command EGAITAL included on this disk... EGAITAL 1 Then enter the command EGA512 0 1 If your word processor supports on-screen boldface and does not reset the video mode on entry, regular characters will now appear normally and boldface characters will appear in italics. To restore the normal display, enter EGA512 0 0 @@EGACOLOR EGACOLOR Charles Petzold Remap EGA colors ------------------------------------------------------- Purpose ------- Permits temporarily remapping any of the 16 default colors displayable on a 200-line CGA monitor to any of the 64 colors displayable on a 350-line Enhanced Color Display connected to an Enhanced Graphics Adapter. Format ------ EGACOLOR XX YY Remarks ------- The parameters XX and YY are 2-digit octal (base 8) numbers derived from the table shown below. Values for XX may range from 00 to 17; values for YY may range from 00 to 77. IRGB code Default rgbRGB map --------- ------------------ Color binary octal hex binary octal hex ----- ------ ----- --- ------ ----- --- Black 0000 00 00 000000 00 00 Blue 0001 01 00 000001 01 01 Green 0010 02 02 000010 02 02 Cyan 0011 03 03 000011 03 03 Red 0100 04 04 000100 04 04 Magenta 0101 05 05 000101 05 05 Brown 0110 06 06 010100 24 14 White 0111 07 07 000111 07 07 Dark Grey 1000 10 08 111000 70 38 Light Blue 1001 11 09 111001 71 39 Light Green 1010 12 0A 111010 72 3A Light Cyan 1011 13 0B 111011 73 3B Light Red 1100 14 0C 111100 74 3C Light Magenta 1101 15 0D 111101 75 3D Yellow 1110 16 0E 111110 76 3E Bright White 1111 17 0F 111111 77 3F The first digit in the 2-digit octal number represents the 1/3-intensity rgb signal; the second is the 2/3-intensity RGB signal. Example ------- To change black to blue and white to yellow (yellow letters on a black screen), execute EGACOLOR 00 01 EGACOLOR 07 76 Notes ----- 1. Changing modes resets the default EGA colors. To create more permanent mappings, use SPECTRUM which is also included on this disk. 2. EGACOLOR can be used on VGA-equipped PCs. @@EGAITAL EGAITAL Charles Petzold Creates an italic display font on EGA or VGA PCs ------------------------------------------------------- Purpose ------- Produces a displayable italic font from the default EGA (8x14) font. Format ------ EGAITAL or EGAITAL n Remarks ------- EGAITAL can be executed directly from the DOS prompt. The slanting algorithm employed is similar (but not identical) to that used by Microsoft Word to display italics in graphics mode. The normal character display can be restored by executing one of the DOS MODE commands, by issuing the VIDMODE 3 (color), VIDMODE 7 (monochrome) commands on this disk, or by executing EGA25 (also on this disk). The n parameter shown in the second format above accepts values from 0 (the default) through 3. It specifies the EGA memory block into which the italic font is loaded. An EGA with 256K memory can hold up to 4 fonts simultaneously; a 128K EGA, up to 2 fonts. A 64K EGA board is limited to one font. The EGA512 command, described elsewhere in this manual, allows two fonts to be active simultaneously when using software capable of showing on-screen bold characters. @@EGAPALET EGAPALET Charles Petzold Displays the 64 colors available on an EGA ------------------------------------------------------- Purpose ------- Displays all 64 EGA colors simultaneously on an EGA compatible (350-line) color monitor. Format ------ EGAPALET Remarks ------- EGAPALET is probably most useful to programmers or those designing screen displays as it allows the full range of 64 EGA colors to be seen at once, even on an EGA which nominally can only show a maximum of 16 at any one time. EGAPALET works with VGA displays too and it can be sensible to stick to the EGA colors so that colors chosen can be shown on both types of screen. If a number of the color squares look the same at first glance, adjust the contrast and brightness controls and inspect the screen at close range to confirm that different pixels are being lit. Starting with the upper left square as row 0, column 0, the octal values for each color can be determined directly from the screen. Brown, for example, is octal 24 (row 2, column 4), a value you might enter in the EGACOLOR utility included on this disk. Since the EGA is theoretically limited to simultaneous display of only 16 (of 64) colors, EGAPALET employs the unorthodox technique of remapping eight color registers every 1/430th of a second. A certain amount of jitter and flickering must therefore be accepted on a PC or XT. The display is more stable on an AT, but the bottom row of squares is elongated. If you are using an AT, this can be cured with DEBUG, as follows: DEBUG EGAPALET.COM e 102 The value 22. will appear. After the period, enter 2B and a carriage return. Then write the modified EGAPALET.COM to disk and quit DEBUG by entering the following commands, each terminated by a carriage return: w q EGAPALET.COM is now patched for the PC AT. Notes ----- 1. Only 16 colors are available on CGA (200-line) monitors @@EGAPRTSC EGAPRTSC Charles Petzold Enables the 43/50 line Print Screen software ------------------------------------------------------- Purpose ------- Replaces the normal Print Screen BIOS routine to permit using the key ( on older keyboards) with EGA/VGA displays with more than 25 rows. Format ------ EGAPRTSC Remarks ------- The EGA/VGA BIOS contains a new Print Screen routine usable for screen dumps of displays with 35, 43, 50 or other 25-plus line displays but this routine is not automatically loaded when you start your system. EGAPRTSC is a tiny program that installs the updated Print Screen routines. If you use this feature often, you can run EGAPRTSC from within your AUTOEXEC.BAT file. Notes ----- 1. EGAPRTSC should be loaded early in the AUTOEXEC.BAT file, before any printer buffers, commands such as GRAPHICS or other programs that use the Print Screen interrupt (interrupt 5). @@FILECTRL FILECTRL Michael J. Mefford Multi-format file and directory viewer ------------------------------------------------------- Purpose ------- A full-directory file-viewing and removal utility capable of displaying WordPerfect, Microsoft Word, Q&A Write, and WordStar documents as if they were in ASCII format. FILECTRL automatically supports normal 25-line, 43-line (EGA), 50-line (VGA) and UltraVision displays. Format ------ FILECTRL [filespec] [options] Remarks ------- Entered without any parameters, FILECTRL displays a filename list of the current directory in its left window and the first part of the text of the highlighted filename in its right window. The text is shown stripped of any header and formatting codes. Any drive and/or directory can be specified with filespec, and * and ? can be used to limit the file list. Pressing Esc exits the utility. The Tab key (a toggle) shifts between windows, as do the Left- and Right-Arrow keys. The display in the active window is shown in high-intensity color, and scrolling within the active window uses the usual Up- and Down- Arrows, PgUp and PgDn, Home and End keys. From the file list window pressing a letter jumps the selection highlight to the first filename beginning with that letter and so continues with subsequent keypresses. F2 deletes a highlighted filename or empty subdirectory, and Ctrl-F2 deletes a group of marked filenames. Files can be marked with the + key and unmarked with the -; the spacebar toggles the mark on and off. All deletions are prompted for confirmation prior to execution. Pressing F5 successively (1) widens the file list to show full DOS directory information, (2) widens the text display to a full 80 columns, and (3) returns to the original display. Shift-F5 reverses the display sequence. Pressing Enter while a filename is highlighted toggles between the filelist display and the 80-column text display. Pressing Enter while a subdirectory (< >) or the parent (<..>) directory is highlighted loads the files from that directory. F3 permits entering a new filespec. By default FILECTRL sorts filenames in ascending alphabetical order. The F7, F8, F9, and F10 keys set the sort field to filename, extension, size, and date, respectively. Pressing F6 toggles between ascending and descending order. FILECTRL also permits entering a number of options as command-line switches. These are summarized below. /M+ = Include only files modified since last back-up /M- = Include only files NOT modified since last back-up /H = Include Hidden files /R = Include Read-only files /P date = Only include files ON or Prior date /A date = Only include files ON or After date (date format = mm/dd/yy) /W = WordStar files; remove high bit /N = Sort by Name /E = Sort by Extension /S = Sort by Size /D = Sort by Date /O = Sort by Original DOS DIR order (default is Sort by Name) /F = Sort in descending order For use with laptop computers it may be necessary to enter the DOS MODE BW80 command before starting FILECTRL. @@FONTEDIT FONTEDIT Michael J. Mefford EGA/VGA font editor and loader ------------------------------------------------------- Purpose ------- Permits modifying/creating EGA or VGA character fonts with keyboard or mouse and saving the new fonts as .COM files which can later be loaded from the DOS prompt. Format ------ FONTEDIT Remarks ------- If no font filename and path are supplied as the FONTEDIT uses the currently-displayed font, beginning with the letter A. Pixels in the Edit window are toggled on or off with the spacebar or with left and right mouse buttons. The highlighted cursor may be moved within the Edit window by mouse or with the cursor Arrow keys, and it can be "dragged" to adjacent pixels by holding down a Shift key or mouse button. Editing changes are saved by pressing F4, and opportunity is provided to supply a missing filename. FONTEDIT will supply the requisite .COM extension automatically. Esc quits the program. Pressing F5 copies the original character template to Edit window. New characters to edit can be loaded by pressing the appropriate key on the keyboard, by pressing the PgUp and PgDn keys (which move in ASCII sequence), or by holding down the Alt key while typing the ASCII code on the numeric keypad, then releasing Alt. The Tab key toggles the cursor between the Edit window and the full Character Set window. Highlighted characters in the latter can be loaded for editing by pressing Enter or one of the mouse buttons. The F1, F2, and F3 keys affect all characters within the entire font. F1 (or the Del key) deletes a whole row of pixels, and is used to shorten the height of the character box. The default (and maximum) character box size is 8 pixels wide (this cannot be changed) by 14 pixels high (EGA) or 16 pixels high (VGA). A 43-line EGA font uses a character box of 8 by 8 pixels, for example. When using F1 (or Del) confirmation of the deletion is required. F2 inserts a blank row of pixels throughout the entire font (maximum height permitting), and F3 copies each character's current pixel map, as, for example, to thicken a serif. Modified or created fonts are loaded simply by entering their names at the DOS prompt. Normal operation is restored by entering any video mode command, for example MODE CO80, on a color system or MODE MONO in monochrome. Applications that reset the video mode on entry or when returning from DOS also restore the default ROM font and cannot be used successfully with FONTEDIT. @@FREEZE FREEZE Jeff Prosise Locks a running PC to keep sensitive data hidden ------------------------------------------------------- Purpose ------- Ensures confidentiality of in-memory data when it is necessary to leave a PC running without storing the data to a removable medium or encrypting it. FREEZE temporarily suspends program operation, blanks the screen, and disables the Ctrl-Alt-Del reboot sequence until a user-entered password (up to 64 characters) is re-entered. Format ------ FREEZE Remarks ------- FREEZE is a memory-resident utility, normally loaded by an AUTOEXEC.BAT file. After loading, the machine is "locked" by pressing Alt-NumLock and then entering your chosen password. The password may include any characters except Esc and Enter. Pressing the Esc key aborts password entry, and pressing Enter initiates the lockdown. The Backspace key may be used to correct incidental mistakes, but care must be exercised, as the characters are not echoed on the screen during entry. To unlock the machine, simply re-enter the same password and press Enter. Again, the Backspace and Esc keys can be used to correct or abort password entry. Notes ----- 1. The password is never stored and may be changed each time FREEZE is invoked with Alt-Numlock. If an attempt is made to load FREEZE more than once, an error message will result. 2. While FREEZE is believed compatible with most other memory-resident programs, because of the importance of data with which it is expected to be used, it should be thoroughly checked in your specific configuration. In particular, FREEZE should be loaded before SideKick. @@MAKEBAR MAKEBAR Robert L. Hummel Creates menu files for SLASHBAR ------------------------------------------------------- Purpose ------- Compiles Lotus-style menus for non-Lotus applications programs for use with the SLASHBAR utility contained on this disk. Format ------ MAKEBAR input_file output_file Remarks ------- The input_file must contain the keystrokes needed to activate the application program's commands, and it must be constructed using the .BDF format and syntax illustrated by the ASCII-readable DOS.BDF file contained on this disk. The output_file produced by MAKEBAR is a .BAR file suitable for loading as a pop-up window by SLASHBAR. Maximum length of the compiled .BAR file is approximately 46,000 bytes. Constructing a suitable .BDF file for an application is not a trivial undertaking. The first step is to organize the commands needed by the application into a menu-tree arrangement similar to the DOS menu tree shown below. The categories in the left column will appear on the first line of the first menu screen. CLS is immediately run from that screen, so it has no lower branches. |- COPY |- FILE --|- DIR | |- ERASE | |- RENAME | |- TYPE | | |- ASSIGN | | |- PARENT | |- CHDIR ----|- ROOT | | |- OTHER | |- FORMAT |- DISK --|- LABEL | |- MKDIR | |- RMDIR | |- VOL | | |- DATE |- SYSTEM -|- TIME | |- PROMPT | |- VER | |- CLS The diagram below shows the basic structure of the MENU...MEND blocks from which a .BDF file is constructed. Again, study the DOS.BDF file on this disk. PROGRAM "NAME" ---------- Identification Name MENU NAME -----------------------------------| OPTION NAME,"HELP LINE" --| | COMMANDS -| | | . |-- Commands |-- Option | . | | Block | . -| --| |-- Menu OPTION NAME,"HELP LINE" | Block COMMANDS | . | . | . | MEND ----------------------------------------| MENU NAME----| . | Additional menu . |--block(s) as . | required MEND---------| END -------- End Of File Indicator Precede any comments you may wish to include in a .BDF menu file with a semicolon. MAKEBAR ignores the remainder of any line when it encounters the semicolon character. Use the {c}1 key combination to represent the semicolon in any names or quoted strings your application requires. Two types of text entries are used in menu files. A STRING is an entry surrounded by quotes ("). "DOS 3.1" and "JiffyCalc Spreadsheet" are examples of valid strings. A string may not contain the quote character, but you can use the {c}3 sequence to represent it in a string. A NAME is an entry consisting of a single word, and must contain no spaces. To aid readability, separation characters may be used in names: DO-THIS, DO_THAT, DO$IT$NOW, are all valid. Upper/Lower case is preserved in strings, but names are capitalized in the output file. Strings may contain any character or key combination (except the comment and quote characters) that can be recognized by the BIOS. Key combinations in a BDF that are not recognized by the BIOS will produce an error message. (There may therefore be some commands for a given application that cannot be included in the menu structure.) Alpha-numeric keys are entered by typing them. All special keys, such as the function keys and shift-key combinations are entered in symbolic form as text surrounded by braces. The Shift, Ctrl, and Alt keys affect only the immediately following key. The available special keys and their representation in a .BDF file are: {ESC} Escape {U} Arrow Up {TAB} Tab {D} Arrow Down {ENTER} ENTER {L} Arrow Left {BS} Backspace {R} Arrow Right {HOME} Home {INS} Insert {PGUP} Page Up {DEL} Delete {PGDN} Page Down {C} Control {END} End {S} Shift {A} Alt Function Keys {F1} {F2} {F3} {F4} {F5} {F6} {F7} {F8} {F9} {F10} Redundant key combinations, such as {S}a instead of A, will produce an error message. Example ------- To block out a paragraph in WordPerfect the sequence would be: "{A}{F4}{ENTER}" To enter the WordStar Ctrl-KD sequence (to end editing and save changes), you would use the string: "{C}KD" To replace the current file in 1-2-3, enter: "/FSR" A .BDF file always begins with the word PROGRAM, followed by a string. The first 10 characters of the string are encoded in the compiled .BAR file for display in the pop-up window. PROGRAM must be the first non-comment line in the program, and it must appear only once. Conversely, END causes processing of the input file to cease and is the last command read. Each .BDF file must include an END. The remainder of the file consists of MENU-MEND blocks, as was diagramed above. Each block corresponds to one complete set of command choices. In the DOS.BDF example there are five menu blocks: the top-level block; three second level blocks (to represent the FILE, DISK, and SYSTEM submenus); and one third level block (the CHDIR sub-submenu). Note that the CLS option does not require a menu block since that command terminates at the first level. The MENU block that follows the PROGRAM command is assumed to be the top level menu and will be the first one to be executed. Subsequent MENU blocks may be in any order. Each MENU statement takes a NAME as its argument, and no two menus can have the same name. The name is used as a target when control is transferred between menus with the EXECUTE command. Using identical menu names will cause MAKEBAR to report a Bad Menu Reference. The MENU block is divided into one or more OPTION blocks. An OPTION block comprises three separate parts: name, help line, and commands. While, like a menu, each option must have a name, there are no restrictions as to uniqueness. The same option name may be used in different menus with different meanings, though this would not be the best design for a consistent interface. Because options may be selected by pressing their first letter, if two options begin with the same letter, the second option can never be executed by pressing that letter. (It can be invoked by positioning the cursor and pressing ENTER.) This property could be used to prevent accidental use of a command by making it more difficult to invoke. The help string must follow each option name on the same line. This string will be displayed below the option names when that option is selected with the cursor. The length of this string must be less than 78 characters in order to fit within the window created by SLASHBAR. Beginning on the next line, the application program commands to be executed when that option is chosen are entered. Each command must begin on a separate line, and the entire command must be contained on that line. If more keys need to be entered than can fit on a single line, multiple TYPE statements (see below) can be used. The BDF commands, with their syntax, are listed below: PROGRAM "string" END MENU name MEND OPTION name, "string" ASK "string" INPUT TYPE "string" CR Remember that a name is a single word with no separating spaces, and that a "string" is a series of characters surrounded by quotes ("). The quotes symbol itself cannot be used within a string, but it can be represented in a string by the {c}3 sequence. A number of these commands have been discussed above. The five that remain, EXECUTE, ASK, TYPE, INPUT, and CR, may only appear inside an OPTION block. These commands make up a kind of batch language that controls the operation of the SLASHBAR utility. At the end of each menu path is a command string that will accomplish the desired result when fed to the applications program, just as if you typed in the commands directly. The EXECUTE command transfers control down the menu tree. Any option may invoke another menu by executing it. Since menu flow is one-way, lines appearing below an EXECUTE command within the same OPTION block will never be invoked. In addition, since paths in the menu tree may not cross, two option blocks cannot execute the same menu. MAKEBAR checks for this and signals it as an error. This prevents building a circular reference into the tree, where a menu could call itself indefinitely. The ASK command is used to prompt the user for information. The string argument appears on the screen in the upper half of the pop-up window and does not affect the output keystrokes. Because the logical use of the ASK command is to request a reply, it is usually followed by the INPUT command. By using these commands together, it is possible to solicit information to complete a command sequence. The INPUT command accepts input from the keyboard and appends it to the current command string. The input is buffered, and the backspace key can be used to correct the entry. Up to 78 characters may be entered, and input terminates when the Enter key is pressed. The keys are put in the command string as they were typed without the terminating . The TYPE command copies the keys in the string argument to the command string. Special keys (i.e., function keys and shift-key combinations) are stored with a special code to indicate that they are extended ASCII. A special case of the TYPE command is the CR command. It is equivalent to the command TYPE "{ENTER}" and is included simply for convenience in closing commands after requesting an input. @@PARSE PARSE Michael J. Mefford Word count and analysis of text files ------------------------------------------------------- Purpose ------- Displays the number of characters, words, and sentences in ASCII text files. Format ------ PARSE [d:][path]filename Remarks ------- PARSE also calculates and reports the averages of the numbers of characters per word, words per sentence, and "long" words (8 or more characters). It uses these to calculate and display an approximation of the Fog Index grade-level readability rating. The accuracy of the various counts may be affected, though usually not significantly, by the presence of formatting and printing codes included in the file by non-ASCII word processors. PARSE does ignore the "high-bit" codes produced by WordStar and similar programs, but "dot commands" and the like will be counted. Notes ----- 1. For further information on the Fog Index see Robert Gunning's The Technique of Clear Writing (McGraw-Hill, 1952, 1968). @@PLAY PLAY Michael J. Mefford Plays tones and tunes on the PC's speaker ------------------------------------------------------- Purpose ------- Provides many of the music-producing functions of the BASIC PLAY statement without the need to work in BASIC. Format ------ PLAY[/K] (Option I) PLAY string[/K] (Option II) PLAY filespec/F[/K] (Option III) Remarks ------- Entered at the DOS prompt with no arguments on the command line (Option I), PLAY looks in the current directory for a file named PLAY.DAT and executes the commands in that file. The PLAY.DAT file included on this disk is "Greensleeves." The file can be examined, and similar files created, with a regular ASCII word processor. Alternatively, PLAY can use either a command-line string (Option II) or any legal DOS filename (Option III) to supply the music command arguments. Filenames may include a path designation, but must include the /F terminator. A sample file "score," STING.DAT is contained on this disk. Pressing any key while PLAY is executing will terminate operation unless the /K switch has been added. The command set used with PLAY is shown on the following page and is exemplified in the PLAY.DAT and STING.DAT files. The PLAY Command Set -------------------- K Keyboard. K will cause PLAY not to poll the keyboard during play. If K is not found, any keystroke will exit. On Octave. n is a decimal number between 0 and 6. Middle C starts 03. The default is 04. Ln Length of time the notes will be played until the next L command is encountered. n is a decimal number between 1 and 64. For example, L4 = quarter-note and L8 = eighth note. Tn Tempo is the pace at which the music is played. n is a decimal number between 32 and 255. The larger the number, the faster the pace. The default is T120. A-G Letter names corresponding to the notes of the scale. The letter name may be followed by either a # or + for a sharp, or a - for a flat. O3C = middle C. Nn Note to be played. n is a decimal number between 1 and 84. Each increment is 1/12 of an octave. N can be used as an alternative to defining a note by a letter and an octave. For example, N37 = middle C. Pn Pause, or rest, for a length defined by n. P works in the same way as the L command above. For example, P2 = a half rest. MN Music Normal. The note is played 7/8 of its specified time, and 1/8 is a rest between notes. This is the default. ML Music Legato. The note is played the full length of time specified. MS Music Staccato. The note is played 3/4 of the time specified, and 1/4 is a rest between notes. . Dot. A dot can follow a letter note or a pause. A dotted note increases play time by half the duration of the note or pause. More than one dot may be used. @@REPEATS REPEATS Michael J. Mefford Helps locate duplicate files ------------------------------------------------------- Purpose ------- Checks all directories on a drive and reports all duplicate filenames. Format ------ REPEATS [d:][/P] Remarks ------- While not all duplicate files on a disk are unnecessary, most are. If a hard disk has been in use for some time it is astonishing how many outdated versions or outright copies of the same file are currently wasting space. REPEATS lists all identical filenames, together with their directory, size, date, and time information, so you can decide which files to delete. The optional /P switch directs the program output simultaneously to the screen and to a printer. As an alternative, you could redirect output to a file, DUPES.FND, by using the DOS redirection command, thus: REPEATS > DUPES.FND Notes ----- 1. During the time it operates, REPEATS requires 128K of available memory. The program can be terminated prematurely by pressing Ctrl-Break. @@SCHEDULE SCHEDULE Michael J. Mefford Appointment scheduler and diary ------------------------------------------------------- Purpose ------- An appointment scheduler that provides both a monthly overview and a detailed daily screen with notepad and optional reminder chime; includes editing, printing, and archiving facilities and can be used as either a standalone or a memory-resident utility (15KB RAM required). Format ------ SCHEDULE [/I] [/U] [/Hn] [/Pn...n] [/G] [/A] [/C] [/M] [/B] Remarks ------- When installed as memory-resident by using the optional /I switch, SCHEDULE automatically reminds you of appointments by chiming and popping up its appointment screen. The default hotkey is Alt-C. This can be changed with the /H switch to any alphanumeric Ctrl- or Alt-key combination (n), either at or after installation. To make Ctrl-S the hotkey, enter SCHEDULE /H Ctrl S. The /P parameter allows sending up to 10 decimal printer set-up codes (n...n). Include the /G switch for printers that support the IBM line-drawing characters. The reminder chime can be disabled by including the /C switch, and automatic screen pop-up can be avoided by using the /A option. The /M parameter prevents the default midnight pop-up so overnight programs can be run. If screen contrast is a problem (e.g. with laptops), use the /B (black-and-white) option. SCHEDULE can be uninstalled with the /U option, subject to usual limitations. SCHEDULE and the two files it creates (SCHEDULE.DAT and SCHEDULE.ASC) must be stored in the current directory when the program is run as a standalone or installed as a memory resident. Batch files will simplify this requirement. As a text-based program, SCHEDULE will not come up over a graphics screen (e.g. Microsoft Windows); it must be installed before SideKick (if used). SCHEDULE.DAT contains all appointment records saved by pressing F2 (see command summary overside). It can be purged or archived in whole or part by pressing F4. A suitable date up to which to purge can be selected by F3 (today) or with the PgUp/PgDn keys (moves by days) or with Ctrl-PgUp/PgDn (moves by months). F8 selects an individual day for purging. Menu prompts are provided for determining whether the selected records are deleted or automatically appended to SCHEDULE.ASC to provide a permanent record usable by any ASCII editor. The monthly ("calendar") and daily ("appointment") displays cover the period from 6:30 A.M. to 9:30 P.M. in hour and half-hour increments, respectively. Within each screen the following commands can be executed: Keystroke Calendar Screen Appointment Screen --------- --------------- ------------------ PgUp/PgDn Next month Next Day Ctrl-PgUp/PgDn Next year Next Month Arrow keys Select day Navigate screen Home(1) Beg. of column Beg. section column Home(2) Beg. of calendar Top of section End(1) End of column End section column End(2) End of calendar End of section Ctrl-Home Beg. of calendar Beg. of section Ctrl-End End of calendar End of section Ctrl <- Beg. of column Beg. section column Ctrl -> End of Column End section column Enter Select app't. Enter Esc Exit Schedule Return to Calendar F2 Save app'ts. Save app'ts. F3 Today Today F4 Purge app'ts. Purge app'ts. F5 Print calendar Print app'ts. F6 Go to Notepad Shift-F6 undefined Clear section Ctrl-F6 undefined Clear all 3 sections Tab undefined Go to next section Shift-Tab undefined Go to prev. section Del undefined Del. char. at cursor Customizing Schedule -------------------- The following instructions will enable you to customize the colors used by SCHEDULE and to change the tone of its chime. Start by making a backup copy of SCHEDULE.COM and then enter: DEBUG SCHEDULE.COM You are now ready to modify SCHEDULE.COM. If at any time you make a mistake, you can abort the editing process by entering Q. After entering any desired modifications last two commands you enter are: W Q for Write to disk and Quit DEBUG. COLOR SCHEME Enter the following DEBUG (E)nter instructions, replacing the xx with a new hexadecimal color value. The default color values and descriptions that SCHEDULE uses are shown as comments, to the right of the semi-colons. E 578 xx ; 17 Lt. gray on blue. E 579 xx ; 71 Blue on lt. gray. E 57A xx ; 1E Yellow on blue. E 57B xx ; 3B Bright cyan on cyan. E 57C xx ; 1B Bright cyan on blue. E 57D xx ; 7E Yellow on lt. gray. Alternative colors may be selected from those listed below. The background color number is entered for the first x and the foreground color for the second x. Do not use a light color for the foreground, or the display will blink. Dark colors Light colors ----------- ------------ 0 Black 8 Dark gray 1 Blue 9 Lt. blue 2 Green A Lt. green 3 Cyan B Lt. cyan 4 Red C Orange 5 Magenta D Violet 6 Brown E Yellow 7 Lt. gray F White For example, to change the yellow on blue (1E) to red on blue (14) you would enter E 57A 14 CHIME TONE The value used to calculate the tone of the chime is a hexadecimal number that can range from a low of 0025 to a high of 1150. The default value is 0416. You'll find numbers close to the default more pleasing. To change the tone, enter E 584 yy xx where xxyy is the new tone divisor. For example, to change the tone from the 416 Hz C note to an A (a divisor of 370), you would enter E 584 70 03 Note that the numbers must be entered exactly as shown above. The 70 03 (yy xx) represent 0370 (xxyy). @@SEARCH SEARCH Michael J. Mefford Searches for files containing a word or phrase ------------------------------------------------------- Purpose ------- Searches all or specified directories on a disk for either designated filenames or the first occurrence of character strings within files. Format ------ SEARCH [filespec] [string][/P][/C][/B] Remarks ------- SEARCH defaults to a disk-wide search of all subdirectories on the current disk. You can specify a different drive and/or a pathname as part of the optional filespec parameter. Filename searches support the DOS * and ? wildcards. Character strings within files are identified by putting them in quotation marks. (The strings may themselves include a pair of quotation marks.) Pressing either Ctrl-Break or Ctrl-C terminates SEARCH manually. To redirect the output of the SEARCH command to a printer, add /P to the command line, as shown in the first example below. Adding a similar /C switch will make the search for a character string case-sensitive. When searching for a character string, SEARCH normally ignores .COM and .EXE files. While this saves time, there may be occasions when you want to find copyright notices, error messages, et al. in an executable file. To include binary files in the search, add the /B parameter on the command line. Example ------- To print out a list all the .COM files in the \PROG subdirectory of your current drive, you would enter SEARCH \PROG\*.COM/P Example -------- To find which of the file(s) in your \LETTERS subdirectory contained the salutation, Dear Miss Jones, enter SEARCH \LETTERS "Dear Miss Jones" Notes ----- 1. SEARCH returns a line number, based on the number of previous carriage returns in the file, when it finds a string. It reports only the first occurrence of the string in each file. @@SLASHBAR SLASHBAR Robert L. Hummel Pop-up Lotus style menus ------------------------------------------------------- Purpose ------- Pops up a Lotus-style menu of the commands needed to operate a non-Lotus applications program. You can design your own menus using the MAKEBAR utility included on this disk. Format ------ SLASHBAR menuname.ext [/n] Remarks ------- Menuname.ext is a menu (.BAR) file compiled for the application in question with the MAKEBAR program contained on this disk. When first loaded, SLASHBAR becomes memory-resident and uses the /n parameter to reserve sufficient room in memory for the largest .BAR file that will be used during the current session. The default value of n is 4096 bytes. The maximum value of n is approximately 60,000 bytes, which is more than the largest .BAR file that can be produced by the MAKEBAR compiler. The SLASHBAR command can be run many times during a session in order to replace the menu in use with that for a different applications program, but the /n parameter is used only for the first loading. The default "hot key" used by SLASHBAR to pop up the menu in current use is Alt-/ (Alt plus the slashbar key). Instructions for changing this trigger key are given in the Notes. Example ------- To load the sample DOS.BAR menu supplied on this disk, at the DOS prompt enter SLASHBAR DOS.BAR (DOS.BAR requires less than 1500 bytes, so no n parameter need be given.) Alt-/ brings up the menu, whose commands are activated either by moving the highlight bar to the desired command and pressing Enter, or simply by typing the first letter of the command. The second line of the menu is the explanatory help line for the currently-highlighted command, as in Lotus 1-2-3. Notes ----- 1. If you are familiar with DEBUG, you can change the "hot key" used by SLASHBAR. The possible Shift-Mask values (MM in the DEBUG session below) are listed in a table in the Tech Notes document. The default (the Alt key) is 08 at offset 171. 2. Alternate values for the Scan-Code (SS in the DEBUG session below) are similarly listed in Tech Notes. The default (the slash / key) value is 35, and its offset address is 167. After selecting new values for SS and MM, the DEBUG session would be as follows: DEBUG SLASHBAR.COM E 167 SS ;Scan code here E 171 MM ;Shift mask here W Q End each line above with a carriage return and do not type in the semicolons or the words to their right. @@SPECTRUM SPECTRUM Robert L. Hummel Pop-up color selector ------------------------------------------------------- Purpose ------- Provides existing software with a selectable 16-color palette (from among 64 displayable colors) when used with an EGA or VGA screen. Format ------ SPECTRUM or SPECTRUM xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx Remarks ------- SPECTRUM is a memory-resident utility that is normally loaded as part of your AUTOEXEC.BAT file. Once loaded, pressing Ctrl-` (the Ctrl key and the grave [reverse] accent key) pops up a display of 16 color boxes, each of which may be set, on-screen, to any of 64 displayable values. The cursor pad keys are then used, as described in the display, to select any of the boxes and their 2-digit color codes. Pressing the End key saves the current color selections and returns you to your application. Home resets the color palette to its default values, and Esc aborts any changes made, restoring your previous color settings. For loading or changing the SPECTRUM palette without using the pop-up window (e.g., as part of a batch file), the second format above may be used. The values for x may range from 0 through 7 and must be entered in pairs ON A SINGLE LINE. A single space must separate each of the 16 pairs of digits, and a single space must also separate the number-pairs from the command name. Use the pop-up window to determine the proper number- pairs initially. Notes ----- 1. Software programs that write directly to the EGA/VGA registers may override the SPECTRUM color selections. The SPECTRUM colors may be restored, if lost, by activating the display window (Ctrl-`) and then pressing the Esc key. 2. SPECTRUM provides access to the 64 colors available on an EGA rather than the full set of VGA colors. @@SUGGEST SUGGEST Michael J. Mefford Display message at intervals ------------------------------------------------------- Purpose ------- Flashes a message on the screen at selected rates and durations ranging from many minutes to a brevity approaching the limit of subliminal perception. Format ------ SUGGEST message[/Fn][/Dn] Remarks ------- The message may be up to 80 characters in length; longer messages are truncated. The optional /F (frequency) and /D (duration) switches accept a user-entered integer n from 1 through 9. (0 is their default value and need not be entered). These correspond to the following approximate timings: /F9=0:05 /D9=0.170 /F8=3:05 /D8=0.153 /F7=6:05 /D7=0.136 /F6=9:05 /D6=0.119 /F5=12:05 /D5=0.102 /F4=15:05 /D4=0.085 /F3=18:05 /D3=0.068 /F2=21:05 /D2=0.051 /F1=24:05 /D1=0.034 /F0=27:05 (default) /D0=0.017 Example ------- You might enter the following: SUGGEST SAVE YOUR WORK/F6/D9 as a useful reminder. Notes ----- 1. SUGGEST is a memory-resident utility. You may load several messages, but you must reboot to clear the program. 2. Even at its briefest duration the SUGGEST message is still visible, so the program is not intended for scientific investigation of truly subliminal experimentation. @@TIMEKEY TIMEKEY Jeff Prosise Inserts current time or date with a single keystroke ------------------------------------------------------- Purpose ------- Inserts the date and/or time into documents being created by other applications programs. Format ------ TIMEKEY Remarks ------- TIMEKEY is a memory-resident utility and must be loaded after the system date and time have been initialized. Subject to this limitation, it may be loaded either at the command line or as part of an AUTOEXEC.BAT file. Once loaded, TIMEKEY uses the following keystrokes: Alt-L inserts a long-form date (e.g. June 10, 1987) Alt-S inserts a short-form date (e.g. 6-10-87) Alt-T inserts the time (e.g. 12:21 PM) Notes ----- 1. Once loaded, TIMEKEY keeps track of the time automatically, but it does not change the current date at midnight unless the system is manually rebooted. 2. TIMEKEY is compatible with BASICA (which also uses the timer tick) and with many memory resident utilities (e.g., SideKick), but compatibility with all TSR programs cannot be assured. @@VIDMODE VIDMODE Charles Petzold Sets/displays the current video mode ------------------------------------------------------- Purpose ------- Reports/changes the current video mode. Format ------ VIDMODE m Remarks ------- Entered without the optional m parameter, VIDMODE displays the current video mode. In text modes, the commands VIDMODE 03 and VIDMODE 07 have the same practical effect as the DOS commands MODE CO80 and MODE MONO respectively. The table below lists the m (mode) parameters to which VIDMODE can be switched. Mode Type Disp. Resol. Chars Box Colors Pgs. ---- ---- ----- ------- ----- --- ------ --- 0&1 Text CGA 200x320 25x40 8x8 16 8 EGA 350x320 25x40 14x8 16 8 VGA 400x360 25x80 16x9 16 8 2&3 Text CGA 200x640 25x80 8x8 16 8 EGA 350x640 25x80 14x8 16 8 VGA 400x720 25x80 16x9 16 8 4&5 Graph CGA+ 200x320 25x40 8x8 4 1 6 Graph CGA+ 200x640 25x80 14x8 2 1 7 Text MDA 350x720 25x80 14x9 4 8 8-12 ------------ Reserved/PCjr modes ------------ 13 Graph EGA+ 200x320 25x40 8x8 16 8 14 Graph EGA+ 200x640 25x80 8x8 16 4 15 Graph EGA 350x640 25x80 14x8 4 1 16 Graph EGA+ 350x640 25x80 14x8 16 2 17 Graph MCGA+ 480x640 25x80 14x8 2 1 18 Graph VGA 480x640 25x80 14x8 16 1 19 Graph MCGA+ 200x320 25x40 14x8 256 1 Notes ----- 1. Users of a Hercules graphics card can activate "page 1" graphics if an EGA/VGA is installed with the command sequence: MODE CO80 VIDMODE 16 ... MODE MONO Use VIDMODE 14 if your EGA is connected to a conventional color monitor. 2. Should you switch to a mode not supported by your monitor, you can recover by blindly entering VIDMODE 3 (color) or VIDMODE 7 (monochrome). 3. By adding 128 to the mode number desired you can change modes without clearing the screen (though the cursor is reset to the upper left). These high numbered modes may confuse some applications programs, however. 4. VIDMODE will switch to 'super VGA' modes if your display has them provided that you know the correct mode number to use. Your display card manual should list these. WARNING: You should be careful not to select Super VGA modes that your monitor is not designed to handle. Some Super VGA cards do not provide protection against this and it can cause damage to your monitor. 5. VIDMODE was formerly called EGAMODE. @@VIDPAGE VIDPAGE Charles Petzold Sets/displays the current video page ------------------------------------------------------- Purpose ------- Reports/changes the current video page. Format ------ VIDPAGE p Remarks ------- Entered without the optional p parameter, VIDPAGE reports which video page is currently active. The chart presented in this manual for VIDMODE shows which video pages (p parameters, beginning with 0) can be used in each mode. VIDPAGE can be useful when you have material on your screen to which you want to return later. Entering VIDPAGE 1 activates a new screen while retaining the contents of the default VIDPAGE 0 in memory. The previous display can subsequently be recalled by issuing the VIDPAGE 0 command. Notes ----- 1. When using an alternate video page do not change video modes (e.g. with MODE CO80) or the previous display contents will be lost. 2. ANSI.SYS cannot be used with other than video page 0. 3. VIDPAGE was formerly called EGAPAGE @@VISITYPE VISITYPE Steven Holzner Expanded keyboard typeahead buffer ------------------------------------------------------- Purpose ------- Expands the PC's normal 15-character typeahead buffer to 80 characters. Format ------ VISITYPE Remarks ------- If you enter a series of commands without waiting until each has finished executing (as during a long directory scroll or disk-searching operation, for example), the PC will beep and discard subsequent keystrokes when you exceed its built-in 15-character keyboard buffer. VISITYPE enlarges the keyboard buffer to 80 characters and temporarily displays any overflow on the top line of the display before they are used. Keystrokes so displayed can be edited, if necessary, by using the Backspace key and then entering the correct keystroke. Notes ----- 1. VISITYPE is a memory-resident utility that is normally loaded through your AUTOEXEC.BAT file. While it will work with most applications programs, it will not work with those that completely take over the keyboard interrupts for their own purposes. @@XDIR XDIR Jeff Prosise Pop-up directory display ------------------------------------------------------- Purpose ------- XDIR is a memory-resident utility that allows you to display the filenames in any drive/directory even when you are running another applications program. Format ------ XDIR Remarks ------- Once loaded (normally as an entry in your AUTOEXEC.BAT file), pressing the Alt-. (the Alt and the period key combination) causes a blank window to pop up on the screen. Pressing Enter then displays the first 40 filenames of your current directory in the window. Pressing Esc once clears the display, and pressing it a second time returns you to your previous application. To view other directories, simply enter their appropriate path designation (including drive, if different) before pressing Enter when the window is blank. The PgUp and PgDn keys are used to display files beyond the initial 40 shown in the window. Up to 360 files in any one directory may be displayed. Notes ----- 1. If you are experienced in using DEBUG, you may wish to change some of the XDIR defaults. Remember always to make changes to a copy of the program, not to your original. After entering DEBUG XDIR.COM, the following addresses and initial values may be of interest: Offset Value Parameter ------ ----- ----------- 013C 4F Border color attribute 013D 0F Text color attribute 014D 00 File type (see Note 2) 0186 34 Period key scan code 018E 08 Alt-key shift code 2. By default, XDIR displays only normal filenames (00 at :014D). To show hidden files, the value here should be 02. System files are 04, and subdirectories are 10h. These values are additive. To display subdirectories and files marked both hidden and system (e.g. IBMBIO.COM) you would enter the value 16h at offset :014D in place of the default 00. 3. While no TSR program can be guaranteed compatible with all other memory residents, XDIR should coexist with most other TSRs.