STATLINE 4.11 (C) Jac Goudsmit (eng) ======================================== Note: This document was created with an editor that uses tabs to compress spaces. Use the TYPE or MORE command to view this file, or print it on your printer, and the tabs will be expanded automatically. DESCRIPTION: ------------ In July 1986, PC magazine published a nice utility called STATLINE, written by John Socha. This was a TSR program that reprogrammed the 6845 video controller on the Monochrome and Color/Graphics adapter to show an extra screen line. This 26th line was then used to display the status of the Caps Lock, Num Lock and Scroll Lock toggles. My STATLINE.COM is based on the original STATLINE from PC magazine but includes a nice extra feature (a disk indicator, showing which drive is accessed and how) and solves some problems of the 1986 version. It has been rewritten almost completely; only the parameter tables for reprogramming the video controller were left intact from the original. The program is not compatible with EGA and other display adapters, though I am working on that. Adapters that are not 100% compatible with the monochrome or color/graphics adapter may have problems with STATLINE. Plasma and LCD displays will certainly fail to work with the program, because of the fixed dot matrix. And there is another unsolvable hardware problem: on monochrome displays you will always see an echo of the top left corner of the screen in the 26th line, on the CGA you will see part of the next display page when STATLINE is active. DEDICATION: ----------- All the files mentioned in the packing list below are free. No registration is required, though I would like to see reactions from users, preferably by electronic mail. You are encouraged to copy the programs and share them with your friends, distribute them via bulletin boards etc. as long as no charge is involved, except for media (e.g. floppy disk), and as long as you distribute the complete package as listed below in unmodified form. The author prefers you to distribute the ZIP file, STATL411.ZIP, that contains all programs and documentation files belonging to the package. DISCLAIMER: ----------- STATLINE reprograms video hardware directly and uses undocumented DOS function calls. Installing and using the program is at your own risk. The author cannot be held responsible for any damage (including, but not limited to, data loss and hardware damage) caused by this program. However, the program has been tested extensively on various hardware and softare configurations and never caused any severe troble. If your PC or monitor starts acting strange immediately after loading STATLINE, press Ctrl-Alt-Del. Sometimes your setup must be changed a little to use the program - particularly the AUTOEXEC.BAT file and the settings on your monitor (vertical size, vertical hold). Directions for this, as well as solutions to some problems are included in a separate file, STATLTEC.DOC. Please send bug reports, suggestions, remarks etc. to the address below. I'd like to hear from you! PACKING LIST: ------------- You should have received the following files: FINDDEV COM Program that prints device driver information on your screen. MEMCLEAR ASM Source code for MEMCLEAR.SYS MEMCLEAR SYS Dummy device driver that cleans up memory STATLINE COM The STATLINE program STATLINE DOC This file STATLTEC DOC Some technical documentation and directions in case STATLINE fails to install correctly on your system. You may have STATL411.ZIP. This is a packed (compressed) file out of which you can extract the files above using a utility like PKUNZIP. The author prefers you to distribute this packed file, to prevent files getting lost. Use it to upload STATLINE to a bulletin board system (BBS). Note that the ZIP file is not necessary for STATLINE (or any other program in the package) to run. QUICK START: ------------ Just to try it out, you can run the program right now by typing STATLINE at the DOS prompt. Remember that the program only works on CGA and Monochrome Display Adapters! You will see a number-sign ('#') when Num Lock is on, an arrow when Caps Lock is on and a double arrow when Scroll Lock is on. These indicators are always "in sync" with the real keyboard status (unlike the LEDs on some keyboards) and are updated anytime you press a key, or every second if you are not typing. Note that they are only visible in text mode, not in graphics mode (this is impossible). Also, the time of day is displayed on the 26th line. This is a new feature of version 4.11. The colon (":") between the hours and minutes flashes about 3 times per second. If a program accesses the disk, you will see the drive indicator. This works like the LED on your disk drives, except that there is only one "LED" at a time on the screen (which is not a problem since DOS can handle only one disk drive at a time). Another difference is, that you are able to see if a disk drive is read from, or written to. It also works with virtual and device-driven disks. If you have only one floppy drive and the computer asks you to change disks, you will see a flashing disk indicator that shows which drive letter DOS is going to read from or write to. Once you have tried out the program and like it, you may install it into your AUTOEXEC.BAT. This is covered in the next section. As mentioned early, you don't have to register or pay a fee to use the program. USING STATLINE: --------------- You can install STATLINE by putting the command STATLINE in your AUTOEXEC.BAT (include a path if necessary). The program works fine with no options. Depending on your display adapter, monitor and personal taste, you can change some settings (see below). STATLINE is a TSR (Terminate and Stay Resident program) that uses about 2 KB of memory. That should not be much of a sacrifice. The best place in the AUTOEXEC to put the command, is difficult to pinpoint. As usual with all TSR's, this will be a matter of experimenting. In some cases, STATLINE may report that it was already installed, even if you just rebooted using Ctrl-Alt-Del. This may happen if (like me) you have a memory card in your system that does its own RAM refreshing. If STATLINE was loaded on such a memory board and the system is restarted, it may happen that it thinks that STATLINE is still there, while it is not. If you regularly change your AUTOEXEC.BAT and/or CONFIG.SYS, you may find that STATLINE sometimes thinks it is already installed, while it isn't. In that case you should install the MEMCLEAR.SYS device driver in your CONFIG.SYS, before any other device drivers. MEMCLEAR wipes clean all unused memory in your computer, but doesn't use any memory itself. Installing MEMCLEAR.SYS is optional and harmless. It is not necessary for STATLINE to work. It is included in this package. OPTIONS: -------- The entire command parsing section of the program was rewritten in version 4.10. Users of version 4.02 and older have to change their AUTOEXEC.BAT, as the command line parameters in version 4.10 and later versions are not compatible with previous versions. All command line options consist of a slash ('/') followed by one or more characters indicating the option and the value for that option. The sequence of the options is not important, but if you specify an option more than once, only the last instance of the option is valid. Spaces and tabs are ignored. If any options are specified on the command line, STATLINE will show how the resident portion of the program is set up after the indicated option values have changed. But if one of the options on the command line is /N, the report will not be displayed. If you don't want to change any options, but want to see how the resident portion is set up at the moment, just enter STATLINE, if you know that the program is already resident. If STATLINE is not in memory yet, type STATLINE /R (for Report) to install the program and then display the installed (default) values. If your display is in text mode, your 26th line will be switched on immediately after STATLINE is run. You can switch it off by using the /O (letter O for Off) option. To switch the 26th line back on, start up STATLINE without the /O option. A complete summary of the options follows: /B m [m...] Beep Mode Specifies when the speaker is activated. M is one of the following: r for reads (through file I/O) w for writes (through file I/O) R for direct reads (disk I/O) W for direct writes (disk I/O) n or N for neutral operations (the device driver is called but generally doesn't access the disk) You can combine options by specifying more than one mode at once. e.g. /BRW sounds the speaker if a program accesses any disk directly (read as well as write). The default is /BW. To switch off the speaker entirely, use /B without any following characters (except other options). /D n Duration This determines the duration of the sound that is produced by the speaker. This value is processor speed dependent. If your processor is fast, use a higher value. The minimum value is 1, the maximum is 65535. The default is /D4000. /F n Frequency This is the frequency of the beep. The minimum value is 40, the maximum is 20000. Not all frequencies in that range are available. Some- times your value is rounded to the nearest available frequency. Note that this value is rounded again (to a multiple of 10) when the report is shown. Default value is 2500 Hz. /A mc [,mc...] Attributes Determines the attributes of the disk indicator on the status line. C determines the color you want STATLINE to use for mode M. To choose M, see the /B option. To choose colors, enter any combination of: r for red foreground g for green foreground b for blue foreground R for red background G for green background B for blue background I or i for high-intensity (bright) colors. Note that by combining the primary colors, you can create any color: cyan=gb yellow=rg magenta=rb white=rgb Note that on monochrome adapters, blue shows up as underlined. Default values are /Anrgb,rg,wr,Rgi,Wri for CGA adapters. This means white for neutral, green for reads, red for writes, bright green for direct reads, bright red for direct writes. The default values for monochrome adapters are /Anb,rrgb,wRGB,Rrgbi,WRGBb. This means underlined for neutral, white for reads, black on white for writes, bright white for direct reads and underlined black on white for direct writes. The indicators for Num Lock, Caps Lock and Scroll Lock have the same color as the disk indicator in read mode. To switch the indicator off completely for one mode, use a mode character followed by a comma or by another option (starting with '/'), or by nothing. /R Report Forces generation of a report about the current settings of STATLINE. Normally, a report is generated whenever you change the settings or when you start STATLINE when it is already in memory. Note: The /N option overrides the /R option. /N No report Disables generation of a report about the current settings. See also the /R option. /O Off Temporarily switches off the status line display. This may be necessary with programs that reprogram the video controller directly, to switch to graphics modes. In such a program, STATLINE cannot detect the mode change and thus interferes with the program's output. Note that the speaker is not switched off by this option. The status line is switched back on if STATLINE is run next time. /T Time This switch toggles the time-of-day display. The default is ON. Note that the time on your screen is not precisely accurate. Because of rounding errors, the time runs a bit fast compared to the DOS system timer. The maximum difference is about 20 seconds - You can see this at the end of the day: the STATLINE clock will display "24:00" for about 20 seconds, while DOS tells you it is only 23:59. The colon between the digits is updated every third timer interrupt. If a program disables interrupts for a while, the colon stays steady. Note: Specifying the /T switch more than once toggles the setting for every occurrence of the parameter. FINDDEV - THE DEVICE DRIVER FINDER: ----------------------------------- The FINDDEV program will easily spot STATLINE intercepted devices: run FINDDEV before and after STATLINE's initialization and you will see the difference. FINDDEV was a tryout to see if my device-spotting algorithm really works. If FINDDEV doesn't work on your system, STATLINE won't, either. If you have any problems, FINDDEV will help you (and me) to find out what's "wrong" with your configuration, from the program's point of view. FINDDEV is included in this package. ERROR MESSAGES: --------------- When installing STATLINE or changing parameters, you may see one of a few error messages. The program will report if it has been installed or not, or if it has been installed partially, i.e. it is resident, but it may not work for some devices in your system. The possible error messages are: 1. "Bad DOS version." The program needs DOS 3.0 or up. STATLINE has been tested from DOS 3.00 to DOS 4.00. Both MS-DOS and PC-DOS should work. 2. "Bad parameter(s)." If there is a bad character in your parameters or if a numeric value is out of range, the program issues this message. If STATLINE was already in memory before you started the program, only the parameters that could be successfully evaluated, are processed. 3. "Too many block devices." The buffer for device drivers was full before the end of DOS' table was reached. The program will be installed partially; the drivers that are not installed possibly signal direct reads and writes instead of normal reads and writes. In this version of the program, there is room for 16 drivers, which should be enough for most cases, since one driver may contain more than one logical disk drive. 4. "Device block error." An error or inconsistency was encountered while installing one of the device drivers into STATLINE's tables. Some of the drivers may have been ignored, possibly causing them to signal only direct access. This error is not very likely to occur in current DOS versions, except in extraordinary environments that I was not able to test STATLINE in. 5. "Error in number of block devices." While scanning through the device header chain, the number of logical disks are counted and matched at the end with the value of MAXDRIVE. This however is an undocumented constant so it may change in future DOS versions, though it is not very likely to do so. If this error is displayed, one or more drives may display wrong drive letters. However this will not affect the operation of those drives. 6. "Device header chain not found." STATLINE didn't find the NUL device driver as first driver in the chain. This is possible in new DOS versions, but again very unlikely to happen. If this error occurs, STATLINE will not install. Please contact me if this happens. Diagnostic messages: 1. "STATLINE has been installed." Diagnostic message saying that STATLINE is in operation as from now on. 2. "STATLINE already installed." Another copy of STATLINE was found in memory. It will not re-install, but it will change the values of the resident copy if you specify any command line parameters. It is not possible to uninstall this version of STATLINE. It is possible however to deactivate it using the /O switch. The program uses about 2K of memory. Uninstallation code and data would take up a considerable amount of memory, including resident memory. My opinion is that the possibility to uninstall was not necessary. It's definitely not easy to implement routines that reverse the process of walking through DOS' chain of device drivers. Users of TSR managers should be aware that STATLINE plays around with hardware and with the innards of DOS. Uninstalling via a TSR manager is probably disastrous, if at all possible. NOTE: if STATLINE gives you this error message but you just restarted your system using Ctrl-Alt-Del, you shoud install the MEMCLEAR.SYS dummy device driver into your CONFIG.SYS, before any other device drivers. This cleans up your memory at startup time, so STATLINE doesn't find a false copy of itself in memory. 3. "Installed values are..." A report is generated on the values that are loaded into the resident portion of STATLINE. This happens if you run STATLINE and it is already in memory, or if you change parameters. To suppress the report, include a /N parameter in your command. LAST-MINUTE PROBLEM UPDATE: --------------------------- Just before the release of version 4.11, I discovered that WordPerfect's screen driver for Hercules-compatible displays does its own video controller reprogramming, disregarding the standard Video Parameters table. Consequently, the 26th line disappears as soon as WP is started, and garbage appears on the View Document screen (graphics mode). STATLINE does not interfere with WP and causes no trouble to hardware or software, but the garbage in the View Document is far from elegant, of course. To avoid the garbage, switch the status line off by starting STATLINE using the /O option. This can be done either before WP is started, or from within WP (Goto Dos). The next STATLINE-version will have a hot key to switch the 26th line on and off. Furthermore, I'll try to find out more about the WP anomaly and make a patch program if necessary and possible. By the way: I found out that STATLINE cooperates perfectly with Microsoft run-time libraries that require the MSHERC.COM or QBHERC.COM program to be loaded for graphics on the Hercules. That TSR installs a new video mode (9) to change to graphics mode. STATLINE switches off automatically when the video mode is set to 9, thereby avoiding garbage like in WP automatically. CONCLUSION: ----------- Though it seems that there aren't many CGA and MDA users left, I think that those who don't think it's necessary to upgrade to VGA (for financial or any other reasons) will be happy with this nifty little program. Jac Goudsmit Weegbree 101 5684 JC Best The Netherlands 25 Mar 1991 At the moment, my E-mail address is: If your mailer doesn't recognize this, try on BITNET. This E-mail address will probably not expire until 1993. That's when my study at Hogeschool Eindhoven will be finished (I hope). Extensions that I have in mind for future versions: * Improvement of resident-scan-procedure using DOS memory control blocks, so that MEMCLEAR isn't necessary anymore * EGA and VGA compatibility * Hot key to toggle status line * Patch for WordPerfect Hercules driver - Further features on command line itself (optional file-name display...) - Other features using the command line (using menu-system on 26th line) - User extensions (binary files Lines marked with '*' are "in the making". Lines marked '-' are vague (long term) ideas. Expected release date of next version: 3rd quarter of 1991. Further suggestions are welcome!