The Programmer's Helper
(C) 1987, Pete Petrakis
Life Sciences Editorial Service
1236 River Bay Road
Annapolis, Maryland 21401
ProgHelp is a programmer's utility written in compiled QuickBasic 3.0 and
linked with several MicroHelp Inc. assembly language modules to provide
access to DOS and BIOS functions. The program provides four kinds of useful
information for programmers:
1. Keyboard codes, including ASCII numbers, characters,
shift codes, and scan codes. All are displayed in
decimal and hex form when you press a key or combination
2. An ASCII character table, displaying numbers and
characters for all 256 members of the ASCII set. The
number codes for ASCII characters can be displayed as
decimal or hexadecimal numbers.
3. A color code generator that displays sample patches of
all 16 basic colors. Type in the numbers for foreground
and background colors, and decide whether you want the
foreground to blink. The program calculates the number
for the composite color (in decimal and hex), displays
a sample of printing in that color, and shows you how to
produce the color in Basic.
4. An old-fashioned clock to tell you that you have
programmed long enough and it's way past bedtime.
The program is extremely easy to use, and you can move easily from one
function to another, in any order, by using the right and left arrow keys or
function keys F1 through F4. The separate screens have all the information
you need to switch from function to function. In addition, a help screen is
accessible from the opening menu of the program, although you may never need it
after the first time (if then).
Loading the Program
You need MS/PCDOS 3 or higher and a color board to run this program.
You can run ProgHelp either as an ordinary program or as a memory-resident
program, depending on how you load it. To run it as an ordinary program,
simply type PROGHELP (Return) at the DOS prompt the way you would with any
There are three ways to load ProgHelp as a memory-resident program,
depending on how you want the program to be stored:
1. Store the program in ordinary RAM. The command line to
load it this way is: PROGHELP DOS (Return). Be advised,
however, that the program will eat a big chunk of your
RAM (over 150,000 bytes).
2. Store the program in expanded memory. If you have
expanded memory with the Lotus-Microsoft-Intel (LIM)
specifications (e.g., from Intel's Above Board), you can
store the bulk of the program in expanded memory, and
only about 7000 bytes will be taken out of your DOS RAM.
To load the program in expanded memory, type
PROGHELP EMS (Return) at the DOS prompt.
3. Use a disk to swap a current program with ProgHelp
whenever you want to run ProgHelp. To load the program
for disk swapping, type PROGHELP DISK (Return) at the
DOS prompt. Although you can swap programs using a
floppy diskette, it is very slow; you'd be much better
off using a hard disk or a RAM disk.
Invoking the Program in Memory Resident Mode
When you have loaded the program in one of the memory-resident modes, you
can invoke it at any time by pressing CTRL-SHIFT-F1. That is, hold down the
CTRL key and a SHIFT key simultaneously and press F1.
Exiting from the Program
Whether the program is loaded as an ordinary program or memory-resident, you
can exit in two ways: (1) jump to the opening menu by pressing ESC, then press
ESC again; (2) press the END key at any screen. (If you are in the Keyboard
Codes function, you will have to press those keys twice in succession.)
Difference between Version 1.1 and Original Version
The only difference is the inclusion of Hex values for ASCII codes and Scan
codes in addition to the decimal values for those codes (the hex values are
printed after the decimal values.) Hex values can also be displayed in the
ASCII tables by pressing "h" or "H" (you can switch back to decimal by pressing
'd' or "D"). These changes are in response to requests from users.
ProgHelp is a Shareware Program
Your comments and suggestions are welcome. If you find the program useful
a $10 contribution would be appreciated, since ProgHelp is shareware and not
in the public domain.