home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
utils
/
powerkit.zip
/
POWERKIT.DOC
< prev
next >
Wrap
Text File
|
1987-09-30
|
29KB
|
514 lines
POWERKIT Documentation
August 1987
Version 1.1
Copyright 1987 by John H. Brooks.
All rights reserved.
Permission is granted to
distribute copies of this documentation.
DISCLAIMER: This software is sold "as is." No warranty is given, either
express or implied, that any specific POWERKIT feature will work on any
particular machine. The manufacturer will not be liable for any damage
caused by the use of POWERKIT.
The names of hardware and software products, and companies mentioned in
this document are trademarks or service marks of the respective companies.
FORWARD: Welcome, I'll be brief. I'm asking you to please pay for POWER-
KIT if you use it. At $9.95*, I believe the price is fair. Give POWERKIT
a good workout, then remit to:
CENTRAL DATA SERVICES
1641 WINONA COURT
DENVER, CO 80204
(303) 595-4218
or 595-4074
Since there are so many different video cards, versions of PC/MS-DOS,
flavors of the BIOS ROM, hardware configurations, all calling themselves
"PC compatible," the "non-guarantee" above is regrettable but necessary.
Obviously, you won't buy POWERKIT if it doesn't work on your machine, but
if you could spare a few moments to let me know what would not work, and
what kind of machine you have, I'll do my best to get POWERKIT to work on
your machine.
Page 2
INSTALLATION: To operate POWERKIT, the file POWERKIT.OBJ must be on your boot
disk, and the line
DEVICE=POWERKIT.OBJ (optional instructions to POWERKIT may go here)
must be in the CONFIG.SYS file on your boot disk. Ideally, this line
should be the FIRST line in your CONFIG.SYS file, but more on that
later. Your boot disk is the floppy disk you place in disk drive "A"
when you turn the machine on, unless you have a hard disk drive, in
which case your boot disk is the hard disk. If you do not have a file
named CONFIG.SYS on your boot disk, transfer the CONFIG.SYS file that
comes with this package to your boot disk at the same time you trans-
fer POWERKIT.OBJ. To transfer these files, boot up, put the disk con-
taining POWERKIT.OBJ and CONFIG.SYS in floppy disk drive "B", then
type:
COPY B:POWERKIT.OBJ <press ENTER> COPY B:CONFIG.SYS <press ENTER>
On some machines, the ENTER key is labeled RETURN, on others a down-
ward and leftward pointing, right-angled ARROW. If your machine has
only one floppy disk drive and no hard disk drive, drive "B" is also
drive "A", and the above procedure will involve swapping your boot
disk with the POWERKIT.OBJ disk, and back again.
Reboot your computer, POWERKIT will let you know if it is loaded.
INTRODUCTION: POWERKIT is small, about 2200 bytes of it stay in memory. If
each of POWERKIT's tasks were to be done by separate "COM" programs,
many thousands of bytes would be used. Almost all of POWERKIT's
operations may be controlled from the defining line in the CONFIG.SYS
file or from the keyboard, even while you are inside another program.
Many can be disabled, if your favorite utility program does the same
thing better. After all, POWERKIT costs you very little memory.
You will like the way POWERKIT handles your keyboard. A key, when
pressed, starts to repeat after a waiting period whose length you set,
accelerates smoothly to a top speed you set, and when released, "stops
on a dime." Keystrokes also may be set to repeat very slowly, or to
repeat not at all. POWERKIT's AutoPilot lets you teach your machine
how to do a repetitive task, while you sit back and relax.
If that's not enough, add an extra large keystroke buffer and an
ability to view what's in it, a way to route printer output to your
screen, an escape hatch from programs that falter, a screen blanker, a
floppy disk motor shut-off, a way to protect your machine from prying
eyes and mischievous fingers, a few other things, and there's HOOK.
HOOK is unique. HOOK will open up many of those programs that won't
let your "can't live without" pop-up utilities pop up. HOOK will do
other things too (see /K)eyboard redefine, and CTRL-TAB, H below).
Page 3
COMMANDS executed from the CONFIG.SYS file: Most POWERKIT parameters may be
set by including them on the line DEVICE=POWERKIT.OBJ in CONFIG.SYS,
and three MUST be set from this line. BE SURE to leave a blank space
after "... .SYS", then put a "/", the first letter of the command, and
the number to which you wish to set the parameter. For example, the
line:
DEVICE=POWERKIT.OBJ /b35/M15/W5/d2/f110/g14
^ blank space
will set the keystroke buffer size to 35, the floppy disk motor to
shut off after 1.5 seconds (15 tenths), the wait before repeating a
keystroke to 1/2 second (5 tenths), the display to switch off after 2
minutes (if no keys have been pressed during that time), the keystroke
repeat speed to a maximum of 110 keystrokes per second, and the HOT
key to BACK SPACE (14 is the decimal scan code for BACK SPACE). The
commands may be entered in any order, in lower or upper case.
There are 3 commands that can be given ONLY from the DEVICE=POWER-
KIT.OBJ line in the CONFIG.SYS file:
/M)otor off after 1 to 255 tenths seconds. This command has nothing
to do with speeding up floppy disk input or output, it merely allows
the computer to turn off the floppy disk drive motor after so many
tenths of a second. I included this command in POWERKIT to let you
get back to work more quickly after a disk access (the keyboard some-
times won't work while the drive motor is on). Also, it is not always
safe to remove a disk from the drive while the motor is on (stray mag-
netic fields produced by the motor could garble the data on your
disk). If you tell POWERKIT nothing about motor shutoff, POWERKIT
will set it to one second.
/B)uffer size 15 to 255 keystrokes. If you set the buffer size to 15
keystrokes or less, the 15 keystroke buffer at 40h:1Eh will be used.
Also, POWERKIT will use this buffer when POWERKIT is loaded too high
in memory. Therefore, if you wish to use a keystroke buffer larger
than 15 keystrokes, put the DEVICE=POWERKIT.OBJ line FIRST in your
CONFIG.SYS file, and tell POWERKIT how large a buffer you want.
NOTE: The luxury of POWERKIT's extended keystroke buffer may have to
be foregone in some other cases too. Unfortunately, some programmers
think the only buffer the BIOS (Basic Input Output System) supports is
the small buffer at 40h:1Eh. Their programs use this buffer exclu-
sively, thus ignoring the buffer whose dimensions the BIOS reads at
40h:80h.
Page 4
/K)eyboard redefine. This is kind of technical, so I'll go slowly.
There is a type of program let's call a KIM, a Keyboard Interrupt Mo-
nopolizer. If you own SIDEKICK, or a similar program, and you tried
to call it up by pressing CTRL-ALT (or some other HOT key) while in-
side another program, and it either wouldn't pop up or your machine
froze, that program you were inside was a KIM. KIM's have other prob-
lems, too. The older KIM's have no way of recognizing the larger key-
boards that come with many of the newer PC compatibles, except for the
keys corresponding to the old 83 key "standard PC keyboard." This
means you can't use that nice separate cursor keypad while working
within the KIM, for example. POWERKIT's /K)eyboard redefine and HOOK
commands could help you with that problem.
/K)eyboard redefine takes two forms. One, you can put pairs of scan
codes on the DEVICE=POWERKIT.OBJ line; a "/" then the decimal scan
code you wish to redefine, followed by "/" plus the decimal scan code
you wish it to be, repeating this for each key to be redefined. For
example, what you see below makes the keyboards of TANDY 1000's or
2000's work just fine inside most KIM's:
/K41/72/43/75/74/80/78/77/88/71/89/41/90/43/85/78/83/74/87/28/86/83/84/70
^ NOTE: no slash needed for first number
Obviously, you need to know something about scan codes to do this,
which leads to the second way /K can be used. Putting /K on the
DEVICE=POWERKIT.OBJ line, followed by nothing at all, or followed by
another POWERKIT command (like /k/h, for example) causes POWERKIT to
help you find the scan codes. First, the machine will start its
normal boot up procedure. When it loads POWERKIT, a beep will occur,
and the display will read:
Press key to be changed, ESC to quit:
/k
Press a key, and its scan code (in decimal) will appear behind the /k,
you will hear another beep, and the display will show:
Press key to change to:
/kXX
The XX above represents the scan code of the first key pressed. Press
a second key; its scan code will appear as /kXX/YY. Another beep, and
the "Press key to be changed, ESC to quit:" prompt will reappear. In
this way you can tell POWERKIT which keys you want redefined. For
example, to get that long line of redefined scan codes shown above (on
a TANDY 1000), do the following (keypad means the numeric keypad):
Page 5
PRESS THEN PRESS ACTION
up arrow keypad 8 fixes up arrow key
left arrow keypad 4 fixes left arrow key
down arrow keypad 2 fixes down arrow key
right arrow keypad 6 fixes right arrow key
HOME keypad 7 fixes HOME key
F11 up arrow makes F11 print ` and ~
F12 left arrow makes F12 print \ and |
INSERT right arrow changes INSERT to grey +
DELETE down arrow changes DELETE to grey -
keypad ENTER ENTER fixes keypad ENTER
keypad . DELETE changes keypad . to DELETE
BREAK HOLD fixes CTRL-BREAK
ESC saves scan codes and exits
(inside a KIM, keypad 0 will probably act like INSERT)
In general, for any extended keyboard, you can use the first five
sequences above for the ARROW and HOME keys, and in addition:
PRESS THEN PRESS ACTION
END keypad 1 fixes END key
PG UP keypad 9 fixes PG UP key
PG DN keypad 3 fixes PG DN key
INSERT keypad 0 fixes INSERT key
DELETE keypad . fixes DELETE key
ESC exits
POWERKIT has enough room for 15 redefined keys. After all this, the
line on the display starting with /k will show the necessary scan
codes to put on the DEVICE=POWERKIT.OBJ line before you next run the
KIM; but there is no need to reboot the computer now, just write down
the /k line for future reference. POWERKIT has saved these codes,
and after you do just one more thing, you can load the KIM and have
your keyboard work properly. That final task is to activate HOOK
while the CAPS key is turned ON. HOOK is activated by CTRL-TAB, H.
See page 8 for a complete discussion of HOOK. Turning on HOOK with
CAPS ON tells POWERKIT to feed the new scan codes to the KIM.
OTHER COMMANDS that may be put on the DEVICE=POWERKIT.OBJ line are:
/D)isplay off
/W)ait before repeating
/F)ast repeat
/R)epeating key overshoot inhibit
/G)et new HOT key
/H)ook.
Note that when defining the HOT key here, the (decimal) scan code of
your designated HOT key must be used. Note also that when HOOK is
placed here, and you wish it to be used with /K)eyboard redefine, make
sure the CAPS key is ON while your machine is booting up.
Page 6
COMMANDS accessed by pressing CTRL-TAB: From here on, when two keystroke des-
ignations are capitalized and connected by a hyphen (for example,
CTRL-TAB), read that to mean press the second key while still holding
down the first key. What follows are descriptions of the POWERKIT
commands accessed from the keyboard. First, the CTRL-TAB combination
must be pressed, RELEASED, then the indicated COMMAND key pressed and
released. If the command needs more input (numbers or letters), enter
them when you hear a beep. Press ENTER when finished.
CTRL-TAB, PrtSc (this key also labeled PRINT or Print Screen): Directs output
normally destined for the printer, to the screen. This is handy when
no printer is available and you must use a program that demands a
printer be attached (when you are using a PC compatible laptop away
from the office, for instance). It also lets you preview the format-
ting of a document without wasting a lot of time and paper, if you
don't have a WYSIWYG (what you see is what you get) text editor.
Pressing CTRL-TAB, PrtSc a second time turns off this feature.
CTRL-TAB, ESC: Sometimes can bring you back to the DOS prompt from a hung or
crashed program. When CTRL-TAB, ESC does succeed, when you have pre-
cious unsaved data on a ramdisk for example, POWERKIT will have earned
its keep.
NOTE: A few programs have their own escape routines. If they exist,
they are invoked by either CTRL-BREAK or CTRL-C (usually).
CTRL-TAB, W: At the beep, entering a number from 1 to 255, followed by ENTER,
will set the delay before keystrokes begin to repeat to that many
tenths of a second. Enter zero if you wish to go back to your old,
sluggish keyboard. But then, POWERKIT tasks associated with CTRL-TAB
W, F, S, A, and R will no longer work.
CTRL-TAB, F: At the beep, entering a number from 5 to 255, followed by ENTER,
will set the maximum speed a keystroke repeats to that many repeti-
tions per second, give or take 2 reps./second. The actual repetition
rate will be determined by how fast the application program can handle
keystrokes (ANSI.SYS slows the repeat rate, for example). Enter zero
and the keyboard will work like an old-fashioned typewriter keyboard
(no auto-repeat, a more comfortable mode for those with disabilities).
NOTE 1: Use CTRL-TAB, S (see below) for 1 rep./sec, or slower.
NOTE 2: Some repeat speeds are smoother than others. This is deter-
mined by the tick rate of the system clock. For most PC compatibles,
5, 10, 19, 37, 55, 74, 92, 110 reps./sec. are the smoothest. Also,
adding one or two nulls/rep. (CTRL-TAB, R) smooths things out.
CTRL-TAB, S: At the beep, entering a number from 1 to 255, followed by ENTER,
will repeat a keystroke (or a sequence of keystrokes) every that many
seconds. This is used mainly with AutoPilot (CTRL-TAB, A below).
Page 7
CTRL-TAB, A: Activates AutoPilot. At the beep, enter up to 8 keystrokes that
you want repeated, then press ENTER. If you want an ENTER keystroke
to be part of the sequence, press RIGHT SHIFT-ENTER. After ENTER is
pressed, the sequence will repeat at the rate you have set with CTRL-
TAB, S. To stop (and erase) the repeating sequence, press any key.
However, if you want to use this sequence again, press the RIGHT SHIFT
key. Pressing the RIGHT SHIFT key stops the action and saves the key-
stroke sequence. To reactivate AutoPilot (using these keystrokes),
press CTRL-TAB, A. To erase a keystroke sequence that has been saved
by pressing RIGHT SHIFT, without restarting AutoPilot, turn the CAPS
key ON, then press CTRL-TAB, A.
NOTE: Because of the peculiar nature of the programs we have dubbed
KIM's (page 4, or see CTRL-TAB, H, page 8), there are actually two
AutoPilot routines. Therefore, an AutoPilot sequence that has been
defined outside a KIM won't work inside a KIM, and vice versa. Use
CTRL-TAB, A, with CAPS turned ON, to destroy saved keystrokes before
"hooking" and entering a KIM, or before leaving a KIM. PRESSING and
RELEASING the CTRL, ALT, or SHIFT keys will count as one of the eight
permitted keystrokes while inside a KIM, while these key presses DON'T
count against the eight when outside a KIM. Use slow speeds (CTRL-
TAB, S speeds) when AutoPilot is active. Some of AutoPilot's
keystrokes may be lost if they are repeated too rapidly.
I am certain that AutoPilot will be used in ways I could never dream
of. A single PG DN keystroke can be set to repeat at a comfortable
pace, to let you read a document in your word processor without touch-
ing the keyboard (you should disable screen blanking while doing
this). Two keystrokes, "0" and ",", can be set to fill BASIC DATA
statements with zeroes. To snoop through the BIOS ROM using DEBUG's
UNASSEMBLE command, set the repeat to every five or ten seconds and
the keystrokes to U and RIGHT SHIFT-ENTER. When something interesting
appears, press RIGHT SHIFT, examine it more closely, then continue
snooping with CTRL-TAB, A.
CTRL-TAB, R: At the beep, enter the number of null keystrokes to insert be-
tween each "real" keystroke to inhibit repeating key overshoot, then
press ENTER. You may never use this command. The majority of pro-
grams use the keystroke buffer supported by the BIOS (delineated by
the two words at 40h:80h). POWERKIT sees to it that, while a key is
repeating, this buffer never contains more than one keystroke. Hence,
overshoot is impossible.
However, KIM's (see below) and some non-KIM's maintain their own key-
stroke buffers and couldn't care less that your cursor keeps moving
after you release it. Experiment with combinations of CTRL-TAB, F
(repeat speed) and CTRL-TAB, R. CTRL-TAB, R works best with slower
(55 and below) CTRL-TAB, F speeds. Overshoot may not be eliminated,
but is almost always reduced. For example, setting CTRL-TAB, F to 92
and CTRL-TAB, R to 3 eliminates overshoot in QuickBASIC 3.0, a non-KIM
Page 8
which, nevertheless, keeps its own 8 keystroke buffer. Setting CTRL-
TAB, F to 37 and CTRL-TAB, R to 5 only reduces overshoot in QuickBASIC
2.0, a KIM which must be "hooked" (see below), and which keeps a 16
keystroke buffer.
NOTE: You may want to set CTRL-TAB, R to zero when overshoot inhibit
is not needed. Some programs object mightily to the null keystrokes
POWERKIT uses to control overshoot. PC-Write, for example, sounds
like a moonstruck cricket when nulls are set to greater than zero.
CTRL-TAB, H: The HOOK command is designed to outwit those application programs
I call Keyboard Interrupt Monopolizers, or KIM's for short. You prob-
ably have a KIM in your library. It's a program such that after you
load it, your favorite pop-up utilities won't work until you exit it.
Activate HOOK just before you load the KIM. If you hear a beep when
the KIM starts to execute, then HOOK probably has intercepted the pro-
gram successfully and your pop-ups (including POWERKIT) should work.
Deactivate HOOK after you leave the KIM by entering CTRL-TAB, H again.
No beep this time.
FOR ADVANCED USERS: If CAPS LOCK is ON when you invoke HOOK, the KIM
will be fed SCAN CODES determined from the table developed from data
entered with the /K)eyboard redefine command. See page 4 for a dis-
cussion of this command. This solves most of the problems many KIM's
have with keyboards possessing more than the standard 83 "PC" keys.
Some keyboards omit either the "make" or "break" signal when the
lights (called LED's) in the CAPS or NUM LOCK keys are turned off or
on. These keys will still have to be pressed four times to put them
through a complete cycle (while inside a KIM).
SAD NOTE 1: No "keyboard macro" program (these programs usually have
"KEY" somewhere in their name) that I am aware of will work inside a
KIM, even a "hooked" KIM. AutoPilot produces a (repeating) keyboard
macro and that is why two separate AutoPilot routines were necessary.
SAD NOTE 2: POWERKIT will not "hook" some KIM's. These are KIM's that
do not use DOS services to attach themselves to interrupts.
CTRL-TAB, V: Opens (and closes) a view-port into the keystroke buffer. Your
most used applications probably have become so familiar to you, you
know long beforehand what comes next and what you want to do about it.
However, distractions occur and you can "lose your place" while typing
"blind" into the keystroke buffer. At these times a view-port is use-
ful. Reenter the command to close the view-port.
CTRL-TAB, L: Lets you blank the screen and lock up the keyboard. After
pressing CTRL-TAB, L, the screen will blank (if you haven't disabled
blanking). At the beep, just press ENTER if you want no password pro-
tection, or enter up to a four keystroke password, then press ENTER.
To get your machine back, PRESS and RELEASE the RIGHT SHIFT key and
reenter the password. Incidentally, your machine will go on computing
while locked, if no keyboard input is needed.
Page 9
CTRL-TAB, D: At the beep, entering a number from 1 to 60, followed by ENTER,
sets the display to turn off after one to sixty minutes of keyboard
inactivity. This is important for monochrome displays, to preserve
their phosphor coatings. POWERKIT's default setting is screen blank-
ing disabled because blanking the screen may damage some HERCULES
display adapters. To enable screen blanking, enter CTRL-TAB, D, (1-
60), from the keyboard, or put the line DEVICE=POWERKIT.OBJ /d(1-60)
in CONFIG.SYS.
Blanking the display presents special problems, not so much in turning
off the screen, as in turning it back on in the same state as it was.
There are literally thousands of combinations of DOS versions and dis-
play adapters. Many of these combinations require slightly different
blanking techniques. As POWERKIT stands today, it will blank most
screens successfully. If it doesn't work with yours, and if enough
interest is shown in POWERKIT, I shall try to make the screen blanker
work with yours and others.
CTRL-TAB, G: At the beep, press the key you wish to use with CTRL to signal
POWERKIT. Some call this a HOT key. Use CTRL-TAB, G before you load
a program to which CTRL-TAB means something. The keys LEFT and RIGHT
SHIFT, CTRL, ALT, CAPS, NUM LOCK, and HOLD won't work as HOT keys.
ATTRIBUTES of the HOLD and PrtSc keys: The two most dangerous keys on your
keyboard are PrtSc and HOLD (this key sometimes labeled PAUSE or
SCROLL LOCK). If you happen to press PrtSc or SHIFT PrtSc with no
printer attached nor CTRL-TAB PrtSc activated, your machine may go to
sleep. Well, no more sleep for you or your machine. When you press
PrtSc now, your machine will kick up an awful ruckus, ending with the
phrase -- Abort, Retry, Ignore? Press PrtSc, then "A" (in that order),
to spare your eardrums further agony.
On many machines, pressing the HOLD key freezes the display until you
press HOLD again. If you unknowingly press HOLD, you might press a
few other keys before you press HOLD again, and those extra keystrokes
could end up where you don't want them. Now, a beep will let you know
HOLD has frozen the display. Press HOLD again to return to normal.
MISCELLANY: Some of you might wonder, with all the commands to be mastered,
why not have a menu pop up on the screen listing the commands and
their options. Pop-up menus are nice, but programs that use them must
save what was on the screen in order to restore it. The memory needed
for the standard PC screen is 4000 bytes, almost twice the size of
POWERKIT itself, not counting the storage and code that would be
needed for the pop-up menu.
Why not make POWERKIT a "COM" file that could be loaded at any time --
putting it in CONFIG.SYS is awkward. The extended keystroke buffer
must fit in the first 65k of memory. Also, I, for one, want the ex-
tended buffer and view-port to be made available early, as I do a lot
of "typing ahead" while the machine is booting up.
Page 10
However, there are times when POWERKIT won't work well from the CON-
FIG.SYS file in the presence of some TSR (Terminate and Stay Resident)
programs. This can happen if the TSR is also a KIM. POWERKIT should
not be told to "hook" a TSR. It can cause the system to crash, and
besides, HOOK would not be available for use with an application pro-
gram. Therefore, there is a "COM" version of POWERKIT that should be
loaded AFTER the TSR causing the conflict is loaded (and the POWER-
KIT.OBJ line deleted from CONFIG.SYS, of course). POWERKIT.COM is al-
most identical to POWERKIT.OBJ, except that it uses 96 more bytes be-
cause of something called a PSP that all "COM" files have (yet another
reason to put POWERKIT in CONFIG.SYS). Also, the extended keystroke
buffer may not be available. If one of your favorite TSR's seems un-
able to coexist with POWERKIT, just send $2 for shipping and handling,
along with your payment for POWERKIT, and I will send you a diskette
containing the latest version of POWERKIT, "COM" and "OBJ."
The same commands can be used when calling POWERKIT.COM as were used
on the line DEVICE=POWERKIT.OBJ in CONFIG.SYS. For example, typing
POWERKIT.COM/b35/M15/W5/d2/f110/g14 <press ENTER>
at the DOS prompt will do the same thing as before (see page 3).
Other times when POWERKIT and other TSR's or application programs
don't work well together occur because the other program is trying to
do some of the same things POWERKIT is doing, such things as enlarging
the keystroke buffer, blanking the screen, or speeding up the cursor.
When this happens, disable the contested function, either in POWERKIT
or in the other program (in the case of POWERKIT's extended keystroke
buffer, simply don't enable it). Finally, you must change POWERKIT's
HOT key if it means something to the other program.
That's it, you're on your own. Enjoy POWERKIT and please don't forget to send
$9.95*.
* Introductory offer, price subject to change. Visa, Master Card accepted
(add $1 handling fee), volume discounts and site licenses available.
CENTRAL DATA SERVICES
1641 WINONA COURT
DENVER, CO 80204
(303) 595-4218
or 595-4074