ExtraDOS Utilities Version 2.02 10/15/90 by Foley Hi-Tech Systems 172 Amber Drive San Francisco, CA 94131 (415) 826-6084 (415) 826-1707 BBS (415) 826-1706 FAX Copyright (c) 1985-90 by Foley Hi-Tech Systems Introduction: EXTRADOS is a compilation of tools that Microsoft did not include with DOS. I originally wrote these tools under MS-DOS because I found the need for them and often couldn't find commercially available products to provide what I needed. In some cases I had a program written by someone else that did similar functions but not everything I needed. In other cases they were tools that I had found useful or familiar in the Unix world but where not available in the MS-DOS world so I wrote a version for MS-DOS. The EXTRADOS utilities are Copyright (c) 1985-90 by Foley Hi-Tech Systems. These programs are not public domain, but are "shareware." They are made available and if you find they are of some useful value in your normal computer needs, then please register them. Registration is not required, however to receive technical support you will have to register. Registration will get you a complete set of the current EXTRADOS utilities and a printed manual. You will also be added to our mailing list to receive newsletters, price lists and product announcements. To register send a check or money order for $19.00 to: Foley Hi-Tech Systems ExtraDOS Registration 172 Amber Drive San Francisco, CA 94131 (415) 826-6084 Anyone who registers is entitled to full tech support available at the above phone number. You will also have access to any free revision updates during a one year period following your registration. If you find a bug in any of the programs please contact me at the above address, phone or BBS. Registered owners reporting a bug will be given a renewed gratis update period, unregistered users reporting an unknown bug will be given a gratis registration. Suggestions for updates, changes or improvements are also welcome at the above address. INDEX: Subject Page Introduction............................................... 2 Index...................................................... 3 PROGRAMS AREA - Telephone Area Code Searh Utility........... 4 BANNER - DOS Banner Display.......................... 5 BOOT - PC Rebooting Utility........................ 6 CAL - DOS Calendar Display........................ 7 CAT - DOS Cat Text File utility................... 8 CURLOCK - Lock Cursor Shape Permanently............... 9 CURSOR - Change Cursor Shapes........................10 CUT - DOS Cut Text file utility...................11 DELAY - Batch file Delay utility....................12 DETAB - File Detabulation Utility...................13 EDIT - Full Screen Editor..........................14 - CONFIG.EXE, EDIT.HLP, EDIT.HDX..............14 EVAL - DOS Command Line Calculator.................15 FF - Find File on Disk...........................18 FS - File Size Listing Utility...................19 FT - File Directory Tree Listing Utility.........20 HEX - File Hex Display Utility....................21 HUSH - Speaker Silencing Utility...................22 LASER - Control HP Laser Jet from DOS...............23 LS - DOS Listing Utility.........................24 MAZE - DOS Maze Creator............................25 MOVE - MOVE Files Across Disks.....................26 PAUSE - Pause Device Driver.........................27 SA - Set Screen Attributes.......................28 TS - Text Searching Utility......................29 TURBOBAT - Turbo Batch File Compiler...................30 Limited Warranty...........................................31 Tech Support...............................................31 Copyrights.................................................31 Revision Notes.............................................32 AREA.EXE Version 2.01 05/26/88 AREA is a utility that will do a quick search for an area code and display the region for which that code applies. The phone company is rapidly expanding large metropolis areas so there are times when these numbers will be outdated. If you find that the information given by AREA is incorrect please let us know so that we can update our program as soon as possible. Usage: AREA [code] [code].... You may feed as many 3 digit codes on the command line as you wish, AREA will display them in order. BANNER.EXE Version 1.12 10/23/89 Banner Displays an ASCII rendition of the letters you put in a message rotated at 90 degrees. This is based on the BANNER that is available in many UNIX systems. Usage: BANNER [options] [message] Options: /? - Displays Help /w - Set to 132 Column Width /wnn - Set to nn Column Width to send the banner to your printer type: BANNER [options] [message] > lpt1 Notes: in future versions I will be adding print output as an option flag rather than doing a DOS redirect. BOOT.EXE Version 1.50 09/05/90 BOOT is a utility which can be called from the DOS command line or from a batch file. This program will reboot your PC either emulating a soft boot [CTRL] [ALT] [DEL] or a hard boot such as pressing the reset key. Usage: BOOT [parameters] Parameters: COLD - Perform a Cold Reboot of the System (same as Hard) HARD - Perform a Hard Reboot of the System (same as Cold) WARM - Perform a Warm Reboot of the System (same as Soft) SOFT - Perform a Soft Reboot of the System (same as Warm) Notes: The next release of BOOT will include the option to specify the time delay before rebooting. CAL.EXE Version 1.12 10/23/89 CAL displays a calendar from DOS in one of two formats, either one month or 12 months of one year. Usage: CAL [mm] yyyy - mm is the month [1..12] - yyyy is the year [100..9999] if you specify 2 digits for yyyy then it will assume you mean 19xx If you want to pause the display of a full year press [CTRL] S to pause the screen and then any key to continue the display. CAT.EXE Version 1.10 11/16/89 CAT is a UNIX utility written for the MS-DOS world. For people that are used to UNIX it is a handy familiar tool for displaying, printing, and concatenating files together. CAT handles redirection of both input and output. It can be used similar to copy con to create files as well. Usage: CAT [fname] - copy std input to file fname or CAT [file1] [file2] > [file3] - concatenate file1 and file2 to file3 CURLOCK.COM Version 1.10 9/16/89 This program was written when I purchased my laptop computer with LCD screen. I found that I could set the DOS cursor shape with my CURSOR.EXE program but when loading other software, the cursor was set to it's own cursor shape. CURLOCK locks the cursor shape (optionally set with CURSOR.EXE) so that no matter what software you use the cursor will not be changed. I found that on my laptop if I set the cursor to a block and then locked it with CURLOCK I had much better luck in seeing and locating the cursor in various programs. Usage: CURLOCK CURLOCK intercepts all calls to BIOS interrupt 10h and bypasses any calls to change the cursor shape. It is a TSR requiring 592 bytes of resident ram. Notes: Future Releases of this utility will allow the user to un- install the program. CURSOR.EXE Version 1.11 08/27/90 CURSOR is a program that lets you control your cursor from the DOS prompt. You can set the cursor to various shapes as listed above. Some software uses the DOS cursor in which case the cursor will stay the same as what you set it using CURSOR. If the software makes it's own cursor then the cursor you create with CURSOR will not function inside this software. Some software resets the DOS cursor to it's own shape. Therefore you might want to put CURSOR [mode] in a batch file after this software to reset the cursor to what you want it to be at the DOS prompt. Usage: CURSOR [switches] Switches on - turns the cursor on to the bootup default underline off - turns the cursor off block - makes the cursor a full block mode - displays the values of the registers for the video call help - diplays the help screen ? - displays the help screen ver - returns version information Notes: In future releases we will be adding a full screen cursor test / editing program to interactively choose the cursor you like. CUT.EXE Version 1.10 12/06/89 CUT is another UNIX utility written for the MS-DOS world. For people that are used to UNIX it is a handy familiar tool for displaying and printing text files in different formats by eliminating columns and other formatting options. Usage: CUT -clist [fname1] [fname2] ... Example: CUT -c1-15 test.txt will display all characters in the file test.txt in columns 1 through 15 DELAY.EXE Version 1.50 8/26/90 Delay is a utility that can be used to replace the PAUSE command within a batch file. Pause will never continue until a key is pressed, whereas with delay you can set the amount of seconds to pause, and then continue or continue immediately by pressing a key. Pressing CTRL-C will also cause a break in a batch file that can be monitored with the errorlevel returned by DELAY. This is useful if you are trying to break out of stream of commands from within a large batch file. Usage: DELAY [Wait] Delays a specified number of seconds before continuing. Wait can be a value between 0 and 65000, defaults to 5. Returns an ERRORLEVEL of : 2 - Ctrl-Break pressed 1 - A key was pressed 0 - Time ran out DETAB.EXE Version 1.00 09/27/85 DETAB is a utility that will strip any tab characters from a ascii text file and convert them into 4 spaces. This is especially useful when working with old formatted .ASM files that you would like to work with in an editor which treats fixed tabs differently. USAGE: DETAB [input filename] [output filename] Notes: In the next revision of this utility we plan to add the ability to specify how many spaces to replace each tab with. EDIT.EXE Version 2.21 7/9/90 SuperEdit is an MS-DOS based full screen editor. It was written using Borland International's Editor ToolBox. It has many features of most editors on the market today including multiple windows and pull down menus. This editor has not been completed at this time so there is no documentation. You may press F1 and any time during the program to get online help about various features. F10 will display the menu bar. When using a menu choice the equivalent keystrokes of the menu choice will be displayed in the upper left part of the screen. To change these keystrokes to match any editor that you are used to run the CONFIG.EXE program to install the editors keystrokes. Do not modify EDIT.HLP or EDIT.HDX. These are the files used for the online help system and configuration program. These files must appear in the same directory as CONFIG and EDIT in order to be loaded properly. Notes: The CONFIG and HELP parts of the Editor are only available in the registered or commercial versions of the tool kit. A new version is currently being written which will provide mouse and printing support, smaller memory requirements and optional automatic loading of all boot up files. EVAL.EXE Version 1.00 10/08/90 EVAL is a program designed to evaluate mathematical expressions input on the command line. Usage: EVAL [expression][function][expression]... Example: EVAL 35+9 EVAL supports the four basic functions; addition, multiplication, subtraction, and division. The syntax used is very similar to that of the mathematic expressions used by most modern computer languages and by most spreadsheet programs. For example, to add two to eight and multiply that result by thirteen, one would use: EVAL (2+8)*13 Exponents The operator precedence used is similar to most high level languages, as well. Multiplication and division are "higher" than addition and subtraction. Exponents, represented by the carat (^) is lower than all four operators. You will find that you can exponentiate values by using ** in place of the carat. Thus, you can use: EVAL 2**1/2 to find 2^0.5. It should be noted, by the way, that this is a good way to find roots. The program has no sqrt() or curt() functions. You may recall from your math courses that, to find the y-th root of x, you can do: x^(1/y) Of course, EVAL will complain if this results in a complex number. For example, the result of the above is complex if x == -4 and y == 4. Range EVAL uses the full "double" precision of the C language. Thus, answers will be represented to a maximum of 16 digits to the right of the decimal point. EVAL allows all numbers between 1.7E-308 and 1.7E+308 to exist. Of course, the negatives of these numbers are also available. It should be noted that EVAL doesn't check for overflows or underflows. EVAL will, however, flag "digital math" nono's, such as division by zero and exponentiations resulting in complex numbers. ~EVAL Continued~ To use these numbers, just write them as you would specify them in a program like 1-2-3 or in a program: 3.1415 0.1 -34 18.01 35e-2 6.2e+23 Modulo Division EVAL, as well as complementing the four functions with exponentiation, allows the use of the modulo operator. This operator provides the integral "remainder" of division. Since 5 divided by two is two remainder one, the command: EVAL 5%2 will result in the answer 1.0. Functions EVAL supports an extensive list of functions, as well. Functions may be specified in either upper or lower case, and may be abbreviated to as little as three characters. (Of course, if the function's name is one or two characters long, all characters must be specified.) These functions are supported by EVAL: abs(x) - absolute value of x acos(x) - arc cos of the angle x radians acot(x) - arc cotangent of the angle x radians acsc(x) - arc cosecant of the angle x radians asec(x) - arc secant of the angle x radians asin(x) - arc sine of the angle x radians atan(x) - arc tangent of the angle x radians cos(x) - cosine of the angle x radians cot(x) - cotangent of the angle x radians csc(x) - cosecant of the angle x radians deg(x) - convert x radians to degrees exp(x) - e to the power of x fact(x) - factorial of x ln(x) - natural (base e) logarithm of x log(x) - base 10 logarithm of x pi(x) - pi times x rad(x) - converts x degrees to radians sec(x) - secant of the angle x radians sin(x) - sine of the angle x radians tan(x) - tangent of the angle x radians sinh(x) - hyperbolic sine of x ~EVAL Continued~ cosh(x) - hyperbolic cosine of x tanh(x) - hyperbolic tangent of x sech(x) - hyperbolic secant of x csch(x) - hyperbolic cosecant of x If any of these functions are passed invalid values, EVAL will abort with an error. The arc-trig functions, for example, cannot accept values outside of the closed interval [0,1]. Using these functions is similar to any other high level language. The function name and its ending left parenthesis function as an opening parenthesis in the precedence of the evaluation. Thus, sin(.7)^2+cos(.7)^2 would evaluate to 1.0. You may find that certain identities don't evaluate to what you would expect them to. This is because of the limits of precision in computer math when dealing with irrational numbers. While the sin^2+cos^2 identity almost always works, the sec^2-tan^2 identity usually doesn't work, for example. Along with this problem, another comes. For example, mathematically sec(0.5*pi) is undefined. However, EVAL will evaluate sec(pi(0.5)) to be a very (very) large number. This is again because of the rounding errors in binary math. It is a good approximation, considering lim (sec(x)) == +infinity x -> 0.5+ Memory By popular demand, a "memory" feature has been added to EVAL. If you make a computation using EVAL, the result is remembered and may be used as needed in any further invocation of EVAL. For example, using the command: EVAL SIN(1) would display the sine of one radian. If you executed the command: EVAL ASIN(@) next, you'd get, effectively, ASIN(SIN(1))... the result would be one. Similarly, if you used EVAL 35+15 EVAL would print 50. If you did EVAL @+100 a result of 150 would be displayed. EVAL stores the results in your machine's environment. You may see the previous result by typing the SET command; DOS will list the environment variables it has stored. EVAL's environment variable is listed on the line "EVAL". FF.EXE Version 1.20 07/24/90 Will locate files by searching the entire disk for a specified file. You may use DOS wildcards to find a group of files as well. Usage: FF [d:] fname[.ext] [switches] Switches /P - Pause mode. Will pause after each screen full of text. Once paused you may continue with the next screen full of text, continue non-stop, or halt the program. /W - Wide mode. Will display only the file names in a wide display format rather than one file per line. Does not display file size, creation date or time in this mode. /V - Direct Video Write Mode. Will write all output directly to the screen rather than going through the system BIOS. This mode can cause problems when using screen accelerators such as Super PC- QWIK's PCKSCRN that do not handle screen writes properly. This mode can significantly increase your display output if you have no need for piping output to another program or file. Options During the operation of FF you can change the operation with the following options: Ctrl-C - Will halt the execution of the program at any time. Ctrl-S - Will pause the display at any time. FF searches across your disk looking for any files that you specify. When it finds a matching file it will display the Directory the file was found in, the complete file name, the file size, creation date and time, and any attributes associated with the file, except when using the widemode display in which only the filename is shown. Notes: The next release of FF will include the ability to search within .ZIP, .ARC, and other compression file types for files as well as across any directories. FS.EXE Version 1.10 10/08/90 FS is a utility that will list each individual file in a directories size, then sum that listing and then show total and free space on that particular disk drive. You may pass FS a specific file to list, or group of files. If no parameters are passed FS will list all files in the current directory. USAGE: FS [filespec] FT.EXE Version 1.01 09/27/85 FT is a utility which will scan the directory structure of a disk and give a top down tree listing of the entire disks directory structure. USAGE: FT Notes: FT only works on the currently logged drive. We will fix this problem in our next release. HEX.EXE Version 1.00 07/25/85 HEX is a utility that will give you a quick dump of the contents of any file. The dump is very similar in format to what you get with the Norton Utilities file viewer. An advantage of HEX is that you can quickly dump the contents of any file to the screen without having to load the overhead of a shell program. You can display any type of file ASCII or Binary. The display is in groups of 4 bytes across the screen. The display is just a raw dump of the file. To view a page at a time use HEX [filespec] | MORE. Notes: In future versions we will add support for scrolling and page modes from within the program. HUSH.COM Version 1.20 09/17/85 HUSH is a utility that can eliminate a majority of the sounds generated by the PC's internal speaker. The way that HUSH works, it can not eliminate all beeps. Tones that it can not completely silence, it can reduce to a small click. HUSH is a small TSR which when loaded watches for output to the speaker. When activated, HUSH will try and suppress the speaker 18.2 times a second. USAGE: HUSH [mode] Available Modes: ON - Enable HUSH functions OFF - Disable HUSH functions NOTE: if you install other timer monitoring functions such as screen blankers after HUSH, than you may not be able to disable HUSH's functions. LASER.EXE 1.30 10/11/90 LASER helps you set your laser printer's mode and also makes it easy for you to send some control codes to it. It is specifically designed to work with HP LaserJet Compatible Printers but some of the generic functions such as Form Feed, Line Feed and Carriage Return will work with any printer. Usage: LASER [mode] [mode] ... Available modes: BOLDON - Turns on Bolding of all characters BOLDOFF - Turns off Bolding Off ITALON - Sets the PCL Font to Italics ITALOFF - Turns of the PCL Italics LF - Send a Line Feed to the printer FF - Send a Form Feed. This will generally eject the page that is currently in the printer. CR - Send a Carriage Return to the printer. ESC - Sends the ESCAPE code to the printer. ASCII 027. 6LPI - Sets the PCL Font to 6 Lines Per Inch 8LPI - Sets the PCL Font to 8 Lines Per Inch 16CPI - Sets the PCL Font to 16 Chars Per Inch 10CPI - Sets the PCL Font to 10 Chars per Inch PORT - Sets the print mode to Portrait Orientation. Output prints vertically on the page. LAND - Sets the print mode to landscape orientation. Output prints horizontally on the page. AUTO - Tells the printer to use the internal paper tray to feed from. MAN - Tells the printer to wait for manually fed pages before printing each page. ~LASER Continued~ LEG - Set up the printer to use 8 1/2 x 14 Legal sized paper. LET - Set up the printer to use 8 1/2 x 11 Letter sized paper. TEST - Prints a Test page to the printer. RESET - Send the RESET code to the HP Laserjet. PAGEON - This parameter is for use with HP Laserjet users that have a Pacific Page Postscript Cartridge installed. This cartridge allows you to emulate an Apple LaserWriter Postscript printer on you HP LaserJet. Some software does not support the Postscript mode, and rather than having to power on and off and insert and remove the cartridge each time you wish to switch modes, you can use laser to set the proper mode of the cartridge. PAGEON tells the Printer to use the PostScript emulation mode. PAGEOFF - This tells the Pacific Page cartridge functions to disable and the printer will now except standard PCL commands. Notes: In the next release of this utility we are working on more generic printer controls as well as the ability to control Postscript devices. LS.EXE Version 1.00 03/29/90 LS is a file listing utility that is found in the Unix operating system. It has many advanced features beyond that of the DIR command found in DOS. This implementation has most of the Unix features built in. This version will also search the environment string for LS=[defaults]. Any options that you set LS= with the SET command will be loaded automatically when you run the program from the DOS prompt. Set your most used parameters in your AUTOEXEC.BAT file and then a plain LS will run those parameters for you. usage: ls [-1CFPRSadflrst] [file ...] options: (as in the Unix LS the switches are case sensitive) -1 list in single column -C list in multiple columns -F directories are marked with a trailing '\', system files are marked with a trailing '@' and executable files are marked with a trailing '*' -P print the directory name before listing -R recursively list subdirectories -S sort by file size in bytes (cluster size if option 's' is selected) -a list all entries including hidden and system files -d list directories as if they were a normal file -f do not sort (list in the order files appear in the directory) -l list in long format ([size in clusters,] mode, size, date, name) -r reverse the order of the selected sort -s list the file size in clusters -t sort by time MAZE.EXE Version 1.00 02/09/87 This program is a mimic of the UNIX maze utility. It creates a random maze each time it is run. It pipes the output to the standard output device which is usually the Screen. To redirect the output to a printer type MAZE > LPT1. MOVE.EXE Version 1.19 10/08/90 Will any file from one place to another. If moving the file from one drive to a different drive, MOVE will first check to make sure that there is enough space on the destination drive. If you don't specify a destination MOVE will assume the current directory and the same file name. Usage: MOVE source [destination] Examples: MOVE ABC.TXT \DOS This will move the file ABC.TXT to the directory \DOS keeping the same name MOVE \DOS\ABC.TXT This will move the file \DOS\ABC.TXT to the current directory keeping the same name. If a file of the same name already exists where you are trying to move a file to you will be prompted whether or not you wish to overwrite that file. Placing a /O at the end of the command line will tell move to overwrite any existing files of the same name. Be careful when using this option since you can not undelete a file that has been overwritten with the same name since it's FAT entry is lost after the move. If a destination is unclear as to whether it is a file name or a directory name MOVE will prompt you to decide for it. If a destination directory does not exist, MOVE will ask you whether or not you would like it to create a new destination directory for you. Notes: currently move does not always keep the proper file creation date and time. This will be fixed in the next release of MOVE. PAUSE.SYS Version 1.00 11/06/89 This utility is similar to the PAUSE command that can be used in DOS batch files. It is designed to be placed anywhere in the Config.SYS file that you would like a pause until a key is pressed. This allows you to see device driver screens that normally flash by without delay. To use this utility just add a device line calling it wherever you would like a pause. There is no memory overhead or resident code used. Usage: DEVICE=PAUSE.SYS Notes: In the next release of this product we will be adding the option to have a time delay built in rather than having to wait for a keystroke. SA.EXE Version 1.10 11/06/89 SA allows you to set the foreground, background and border colors of your monitor. To use it, just type SA followed by three of the allowed parameters. Example: A>color red green brown The following are valid colors: Black Blue Green Cyan Red Magenta Brown Gray DarkGray LightBlue LightGreen LightCyan LightRed LightMagenta Yellow White Notes: SA Currently does not work with DOS 4.0. We are working on a fix for the next release. TS.EXE Version 1.01 09/27/85 TS is a utility that will search for all occurrences of a given string inside of a specified text file. It will stop at each occurrence and display the found string, and prompt the user to continue or to exit. USAGE: TS [filespec] [text] Notes: Currently TS is case sensitive and does not work on executable files. In the next release of the tool kit we will address these problems. TURBOBAT.COM Version 1.00 10/08/90 TurboBat allows you to compile standard DOS batch files into .COM binary programs. This will greatly enhance the speed of large batch files by allowing them to run in native code rather than interpreted DOS commands. The resulting .COM files may call nested batch files without loosing the parent since the parent calling program is now no longer a batch file. Usage: TURBOBAT filename.ext The output will be filename.COM. Notes: In the next release of TurboBat, we will be making an effort to support all of the DOS commands as well as an extended batch language that will allow the user to write complicated routines within batch files. TERMS OF LICENSE AGREEMENT The EXTRADOS Toolbox programs and documentation are the property of Foley Hi-Tech Systems. This product and its documentation are protected by United States Copyright Law, Title 17 U.S. Code, are licensed for use on one computer per copy only. EXTRADOS is Licensed and not Sold. You may duplicate the EXTRADOS Toolbox programs and documentation files for backup use only, for your own use, and for only one computer. We do not warrant that the documentation is accurate, or that the program operates as specified. We will not be liable for any damages of any kind sustained through the use of the program. By using this product, you agree to this. Program bug reports are welcome Please call: call our BBS 24 Hours/Day at (415) 826-1707 Foley Hi-Tech Systems 9:00am - 4:30pm PST Monday - Friday (415) 826-6084 (415) 826-1706 FAX ExtraDOS Utilities is a trademark of Foley Hi-Tech Systems MS-DOS, is a trademark of Microsoft Corporation. Revision Notes: 10/11/90 - Version 2.01 was released. This version incorporated documentation that had been run through a word processor for spelling and formatting cleanliness. Functionally, it contained an update to the LASER program to support Pacific Page PCL/PS on and off commands. 10/15/90 - Version 2.02 update. This included the HEX utility for displaying the HEX dump of a file from the command line. The AREA utility was also recompiled and added to this revision as well.