Contents of the SETTINGS.DOC file
This package of short programs provides the ability to set or
unset the 3 locking keys on the PC keyboard: Caps Lock, Num Lock,
and Scroll Lock; to set Fast or Slow mode on Turbo XT Clones; and
to reboot. The programs are primarily intended to be used in
batch files, to automatically establish conditions which could
otherwise be set from the keyboard. They should work on MS-DOS
Version 2 and beyond.
Keyboard Control Programs:
The keyboard control programs are listed below; rename them if
the names I have chosen are in conflict with other programs you
CL.COM Caps Lock CU.COM Caps Unlock
NL.COM Num Lock NU.COM Num Unlock
SL.COM Scroll Lock SU.COM Scroll Unlock
Operating instructions are simple: just run the right program.
Since the keyboard indicator lights for the locking modes on some
computers are controlled internally by the keyboard and not by the
computer, the lights may not indicate the true keyboard status if
you change it under program control.
These programs operate by setting or clearing bits 4 through 6 at
location 40:17H in the BIOS area of memory. The 8 bits of that
byte are used as shown below; 1 = set, 0 = unset:
0 Right shift key down 01 FE
1 Left shift key down 02 FD
2 Ctrl key down 04 FB
3 Alt key down 08 F7
4 Scroll Lock Mode 10 EF
5 Num Lock Mode 20 DF
6 Caps Lock Mode 40 BF
7 Insert Mode 80 7F
If for some obscure reason you need a program to set or unset any
of these other states, just use DEBUG on one of the existing set
or unset programs and change the byte at location 106 to the
necessary bit mask. All the set programs are identical except
for the mask, as are all the unset programs. If you are deep
enough into things to want to do this, I must assume that you know
how to do it.
My reference for the format of the BIOS memory area is Thom
Hogan's The Programmer's PC Sourcebook, Microsoft, 1988, page 183.
Turbo XT Clone Speed Control Programs:
Also included in this package are two programs, FAST.COM and
SLOW.COM, which select the fast or slow mode on Turbo XT clones.
They operate by respectively setting or clearing bit 2 of I/O Port
61H. Since Turbo XT clones are by definition not standard, this
location might well not be uniform in all machines. Try it and
find out. Operating instructions: just run the right program.
Unlike the keyboard mode lights, the turbo light on the computer
appears to be controlled by the same circuitry that controls the
turbo clock, so it should accurately reflect the setting you have
selected. If your computer requires you to choose between switch
control and keyboard control of the turbo mode, you will probably
have to select keyboard control in order for these two programs to
work. This is normally done with a jumper on the motherboard.
These programs are particularly useful in batch files, if you need
to execute one part of the batch at slow speed due to some
conflict with your peripherals. They should also permit you to
use the high and low speed settings if you replace the original
BIOS with one which does not recognize the turbo control keys.
My reference for these programs is PC Resource, February 1988,
Finally, the program REBOOT.COM reboots the computer. I use it
in batch files to set up different environments in my system:
normal environment with all the TSRs loaded, minimum with none of
them, graphics with the mouse driver loaded, etc. Each batch
starts by copying the appropriate AUTOEXEC and CONFIG files from
my ENVIRONS directory into the root directory; then it optionally
runs the reboot program under control of a batch argument. A
typical batch looks like this:
copy \environs\autoexec.??? \autoexec.bat
copy \environs\config.??? \config.sys
if "%1"=="b" reboot
echo Files copied.
echo Reboot to establish new environment.
Using this technique I can immediately boot into the new
environment with an argument of 'b' on my batch command, or I can
leave the argument blank and just get things back to normal before
I finish up a session and shut off the machine. The quotation
marks in the IF command are there to prevent a syntax error when
the argument is left blank. The question marks just mean that
each particular environment is indicated by a separate file
The reboot technique was described in Tricks of the MS-DOS
Masters, The Waite Group, 1987, p 459.
Bruce B. Bottomley