home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 3
/
CDASC03.ISO
/
sorties
/
314
/
helppc.doc
< prev
next >
Wrap
Text File
|
1993-04-01
|
27KB
|
616 lines
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
Audience
========
This program and accompanying databases are designed for the
intermediate to advanced programmer that knows what he's doing,
but just can't remember specific information necessary to program
advanced features of the PC or PS/2. The default distribution is
comprised of a collection of information found in manufacturer
technical reference manuals, various commercial books, technical
topics discussed on CompuServe's technical forums, public domain
articles and my own snooping, all organized in a single database.
The help topics include BIOS interrupts, DOS interrupts, DOS
functions, EMS and Mouse functions, BIOS and DOS data structures,
diagnostic codes, DOS commands, 80x86 assembler instructions,
Standard and vendor specific C functions and various hardware
specifications. The program can also be used as a quick reference
utility for any collection of text.
Installation
============
This utility requires the following:
DOS 2.0 or greater
64K of free RAM
a hard disk system is recommended
Installation involves two steps. First, simply dearchive the
HelpPC.EXE file (may be HelpPC.ZIP or HelpPC.ARC). Second,
issue the following command:
SET HLP=d:dirname (no blanks, except between "SET HLP")
Where 'd:' is the drive and 'dirname' is the directory where the
help .TXT files exist (this should be fully qualified, with or
without the trailing '\'). The HelpPC.COM and HelpTsr.COM files
can exist anywhere they can be accessed through the DOS command
search path (PATH). The "SET HLP=" command should be placed in
the AUTOEXEC.BAT file to allow access to HelpPC each time your
machine is restarted.
As an example, if the files HelpPC.NDX and the .TXT files reside
in a directory named C:\HELPPC then use:
SET HLP=C:\HELPPC
or
SET HLP=C:\HELPPC\
The name HelpPC was chosen to avoid conflict with the HELP command
available with some OEM versions of DOS. I'd recommend that you
rename HelpPC.COM to a name you find convenient and easy to remember
such as "H.COM", "HELP.COM" or "INFO.COM".
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
The HelpPC utilities work with various TSR's resident, but as with
all TSR's there's always the possibility of conflict. If you find
a problem please pass along as much information as you can to me via
the address listed below.
Background
==========
As programmers, we tend to gather massive amounts of books,
journals and magazines. Each of these items have some important
detail that is generally out of our reach since we can't carry
them with us everywhere we go. That's why I started this project,
to free myself from having to first find the manuals or articles
and then weed through all the mundane text to get to an answer.
In the past few years HelpPC has saved me a lot of time previously
spent rummaging through manuals.
HelpPC initially began somewhere around 1985 when I decided that
I spent way too much time searching for the same information over
and over again. At that time my primary references were David
Powell's BIOS & DOS quick reference cards and Peter Norton's
"Programmers Guide to the IBM PC". I generated an indexed help
file from David Powell's original work and slowly added information
to each topic. The result of several years work is no longer a
duplicate of David's fine work but a complete database of PC
technical topics. Each time I had to look up a new PC related
topic, I made a note that it should be added to the database. As
time passed the database grew more and more complete and I found
little need to look to other sources for information. I then began
adding information people were requesting in messages on CompuServe's
IBMPRO, BPROGB, MSSYS (now MSLANG and MSOPSYS), CLMFORUM and IBMCOM
forums. The database is forever growing with each new feature and
specification made available.
All information included within HelpPC has been confirmed against
available sources. The comparison of information usually progressed
along the same paths. Initially Norton's "Programmers Guide to the
IBMPC" and Duncan's "Advanced MS-DOS" were the two sources I turned
to for verification. Later I began using Dettemann and Kyle's "DOS
Programmers Reference", Thom Hogan's "The Programmers PC Sourcebook",
and the "MS-DOS Encyclopedia". When something wasn't covered well
in any of these references or there was a discrepancy, I turned to
the "IBM PC/XT Technical Reference Manual" , the "IBM PC/AT Technical
Reference Manual" and the "DOS Technical Reference Manual". All
hardware specific information is verified with the respective vendor's
technical specification manuals.
Credit is given to the sources if any of their data is included
in HelpPC (see topic Bibliography for a listing). One note I
should make clear is that the information on many of the topics
appears as if it were straight out of Norton, Duncan, Dettemann
or from Ralf Brown's interrupt list. These and many other sources
were referenced but none of the material is plagiarized and any
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
similarity is due to the nature of the material. If you compare
any of the aforementioned references, they all contain approximately
the same data in very similar formats.
The main program is a quick reference utility that allows quick
viewing of the help database from the DOS command line. The program,
which is approximately 10K in size, is written in C with a little
assembler sprinkled in for speed/size optimization. A 43 and 50
line mode is supported for those that like to squint. A TSR version
is also included with this release which has several enhancements
over the command line utility. These include dual monitor support
and context sensitive help (see below for more information).
HelpPC Command Line Usage
=========================
The command line version of HelpPC has three modes of operation.
At first the most useful will be the menu driven interface that
allows you to point and shoot at your topic. Entering HelpPC
without a command line puts you in menu mode. The second mode is
the command line mode which allows you to specify the text to
search for on the command line. The third mode is prompted mode
which prompts you for each topic. Prompted mode becomes the
default after using the command line mode. To switch between
prompted mode and menu mode or vice-versa, use the F1 key. Here's
a list of the navigational keys:
Esc Exit current screen or HelpPC
End Moves text, menu or Hypertext link to the last line/item
Home Moves text, menu or Hypertext link to the first line/item
PgUp Moves text or menu to page top or previous page
PgDn Moves text or menu to page bottom or next page
F1 Switches from menu to prompting mode and vice versa
Alt-P Write current topic to printer. HelpPC has builtin error
detection for normal printers but if LPT1 is redirected to
a serial printer the system may hang until the printer is
ready. This is an undesirable though common behavior with
DOS and serial printers.
Alt-W Write text to file HelpPC.DAT in the current directory
Alt-X Exit HelpPC and without clearing current screen
Tab Move to next hypertext link
BackTab Move to previous hypertext link
Left-Arrow Move to previous hypertext link
Right-Arrow Move to next hypertext link
Enter Retrieve help for hypertext link if highlighted
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
HelpTSR Usage
=============
HelpTSR is a popup utility similar to the HelpPC utility. The
following is a list of additional features found in HelpTSR:
1. Supports context sensitive help within editors such as Brief,
Epsilon, Fastwrite, Microsoft Editor, Norton Editor, PC-Write,
PWB, Qedit, dBASE and many other editors. This means you can
position your cursor on a text item and HelpPC will popup with
information on the topic if it's available. This is very useful
when editing source code and you need to know how to use a
function or command. An example would be while editing an
assembler file, you need to know what flags are affected by an
"ADC" instruction. You just position your cursor on the "ADC"
instruction and press the hot keys. Help information for the
"ADC" instruction is displayed. Epsilon and the Norton Editor
may require special setup for the HelpTSR to popup (see notes
below). This feature can be disabled via the /M option.
2. Supports single or dual monitor systems (1 Color and 1 Mono).
On dual monitor systems you can get popup help on the alternate
monitor without disturbing your current screen. Dual monitor
support frees 4k of memory since the video screen isn't saved.
3. Supports alternate popup key sequences to avoid conflict with
other TSR's and buggy keyboard BIOS's.
4. Has a similar interface to the command line version but with
options to customize the behavior during popup.
5. Supports TSR removal to free RAM.
6. Supports command line options to control the behavior when the
TSR pops up. An example would be whether to popup in menu or
prompted mode or to disable context sensitive help.
7. Network compatible so several people can view the databases at
one time.
8. Requires only 32K (28K if dual screen support is used). The
size of the resident memory varies depending on the size of the
index. The default distribution, requires 37K to maintain 1350
topics on a single monitor system. This can also be trimmed
down by removing unneeded topics from the default help files.
9. Capable of being loaded high to conserve low DOS memory using
one of the 386 memory managers or DOS 5.0's LOADHIGH command.
10. The alternate monitor is blanked after 10 minutes to preserve
the screen. This feature can be disabled via the /B option.
11. Integrity checking to safeguard against unruly code often
found in development environments. Before popping-up HelpTSR
checksums its internals and refuses to popup if corrupted by
another program or stray pointer. If another program stomps
on memory owned by HelpTSR, it may have also destroyed other
vital areas within the system which could lead to severe
problems. It is recommended that you reboot the system
should this occur. This is a safety measure added to HelpTSR
to improve confidence in these environments. HelpTSR sounds a
long tone when this condition is detected.
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
The data files may be changed after HelpTSR is resident as long as
the files are reindexed. If the changes result in the index growing
too large to fit into memory, an error is displayed and HelpTSR
must be unloaded from memory (/U option) and then reloaded. This
is because HelpTSR pre-allocates its memory when it first loads
at which time it leaves a little room for growth (200 bytes which
is 10-15 topics).
Here's how to use HelpTSR from the command line:
HelpTSR [options]
Where "options" is zero or more of the following:
/? list this help information. If other options are supplied
also, they are ignored.
/B disable alternate monitor blanking. When dual monitor support
is chosen, the alternate monitor is blanked if the help screen
is stagnant for over 10 minutes. Although this option is
available, it's usually a good idea to allow the alternate
monitor blanking to avoid monitor burn in.
/D dual monitor support. If two monitors are available, the
alternate monitor can be used to display the help text.
This avoids disruption of the active display. The screen
is blanked after 10 minutes if the HelpPC screen is stagnant.
This will not blank a screen under the control of another
program such as a debugger.
/M menu mode as default. This option forces HelpTSR to display
the main menu and ignore any context sensitive help. Prompted
mode is available if requested via the F1 key.
/P prompted mode as default. This option forces HelpTSR to come
up in prompted mode if no current word context is supplied.
Normally HelpTSR will popup in menu mode in this situation.
Menu mode is available if requested via the F1 key.
/U unload HelpPC and free memory. This option overrides all
other options except /?. All other options are ignored as
HelpTSR will attempt to remove itself. If another resident
program has hooked HelpTSR's interrupt vectors, HelpTSR will
not unload and displays a message indicating this condition.
/1 use Ctrl-Shift-H to popup instead of Alt-Left-Shift-H. Some
Tandy 1000's have an Alt Key BIOS bug which requires changing
the popup hotkey.
/2 use Ctrl-Kp5 to popup instead of Alt-Left-Shift-H
/3 use Ctrl-Shift-Kp5 to popup instead of Alt-Left-Shift-H
/4 use Alt-Shift-F1 to popup instead of Alt-Left-Shift-H
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
Other Utilities
===============
Also included are two command files INDEXHLP.COM and BUILD.BAT.
INDEXHLP.COM is the file index utility. Usage is very simple;
you just include the files you plan to index on the command line.
Issuing the INDEXHLP command gives instructions on usage. BUILD.BAT
is a batch file provided to simplify use of INDEXHLP. It preset to
index the default databases in the distribution and allows you to
specify your own additional databases. BUILD without parameters
indexes only the default databases. If any file names are supplied,
they are also indexed. Here's an example:
BUILD
is equivalent to
INDEXHLP asm c dos hardware interrupt tables misc
Both of these command lines will index the default databases. To
add additional databases just append the filename (extension isn't
necessary if .TXT is used) to the list. Here's an example:
BUILD custom
is equivalent to
INDEXHLP asm c dos hardware interrupt tables misc custom
Creating your own Help Files
============================
HelpPC in its standard form can handle 2000 indexed topics and 16
independent help files. If you find you need a larger capacity,
please contact me at one of the addresses below. Each file must
have its own title which will show up in the main menu. Each topic
following the file title (see below) will show up in the subtopic
menu. Note that HelpPC will adjust the menu format based on the
screen height and the number of items in the main menu.
HelpPC text files are simple ASCII files that contain control codes
in column one. Each file must contain a menu title in the first
line. The remainder of the file consists of keyed lines and help
text. Each line must end with a CR/LF pair (standard DOS format) and
shouldn't be longer than 79 characters. Tabs position the text at
8 character tab positions. The following is a list of keys and
special characters (keys are found in column 1, special characters
appear in columns 1-80):
'@' in column 1 indicates a file title which will appear in
the main topic menu. This must be the very first line
in the file and has a maximum length of 40 characters
(excluding the '@'). Copyright notices may exist on the same
line to the right of column 41.
':' in column 1 indicates a subtopic key. Multiple keys separated
by colons ':' can be entered on the same line. Single spaces
are allowed in a key, multiple spaces are compressed to single.
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
'%' in column 1 indicates a highlighted title line.
'^' in column 1 indicates a centered highlighted title.
' ' (space) in column 1 indicates normal text.
'~' Tilde is used to mark text as a hypertext link. Use two
tilde characters to represent an actual tilde in the data.
A word or phrase enclosed between tilde's will become a
hypertext link for the current topic.
TAB in column 1 starts text in column 9
any other character in column 1 is truncated
Use the BUILD command to index/reindex the default help text files.
To add your own files to the index use the command:
BUILD [fname [file2 ...]]
This information is available in HelpPC with the topic
"HELPPC FORMAT".
Limits of the HelpPC program
============================
Max items in main topic menu: 16
Max items in subtopic menu: 512
Max topics in index: 2000
Max size of topic text: 16384 bytes
Max lines of text per topic: 512 lines
Max topic key length: 20 bytes
Max file title length: 40 bytes
Max hypertext links per topic: 120
No limit on file size
Special Editor Considerations
=============================
With Epsilon, you must setup a TSR popup key. This is done by
issuing the "program-keys" command and choosing one of the hotkey
options [1..4] or defining one specific key. Option 4 is the
default popup key sequence for HelpTSR (this may disable all
currently defined Alt-Shift key combinations in Epsilon so choose
wisely). Quit from the menu using 'Q' and then issue the
"write-state" command to make the configuration permanent.
The Norton Editor may need configured on a few video systems,
though there is no rule to determine which. If you try to popup
HelpTSR while in the Norton Editor and the context sensitive help
does not work, then the editor is not using a real cursor (may be
using reverse video). To configure the Norton Editor in this
situation, do the following:
F5 Format Menu
C Select cursor type (change to a blinking cursor)
F3 File Menu
S Save Modified Editor configuration (it will prompt
you for the filename)
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
Miscellaneous Notes
===================
If the HelpPC program is used in a batch file, the parameters to it
must not be variable parameters (%0..%9), because DOS strips out
commas when it parses batch file parameters. Commas are valid in
topics and if removed by the command parser will change the command
line presented to HelpPC. This usually results in the "Topic not
found in index" message.
HelpTSR works in MS Windows DOS sessions. If HelpTSR is loaded before
MS Windows, HelpTSR is available in any following DOS windows. If
HelpTSR is loaded from with a DOS window, it is active until the
window is destroyed. HelpTSR will not popup over a graphics screen.
43/50 Line users
================
Some versions of DOS and ANSI.SYS replacements do not handle 43/50
line mode correctly. If the bottom half of the display does not
scroll correctly in 43/50 line mode, either upgrade to a newer DOS
or set 43/50 line mode through a program like NANSI.SYS. This is a
problem in some DOS versions and not HelpPC.
Files included with HelpPC
==========================
BUILD.BAT - A batch file that uses INDEXHLP to rebuild the
help index. This is the simplest way to index
the databases.
HELPPC.COM - A display utility that reads the index and databases
and displays the information. I recommend that you
rename this program to something you find convenient
to use like "H.COM", "HELP.COM" or "INFO.COM". I
prefer "HELP.COM", which conflicts with the DOS HELP
command that is supplied with some OEM versions of
MS DOS.
HELPPC.DOC - The file you're reading now.
HELPPC.NDX - The data index. Contains index information on data
in each of the .TXT files. HelpPC finds this file
through the environment variable "HLP".
HELPTSR.COM - Context sensitive help TSR. The program interface
is similar to the command line utility HELPPC.COM
but has advance features.
INDEXHLP.COM - The help file index utility. Type INDEXHLP for
information on usage.
README - A brief description of how to get started.
REGISTER.FRM - A registration form. This is also included with the
registered versions should one choose to redistribute
HelpPC.
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
Currently available data files:
ASM.TXT - Assembler programming topics.
C.TXT - ANSI, Microsoft and Turbo C functions as well as C
programming topics.
DOS.TXT - Standard DOS commands. (distributed independently)
HARDWARE.TXT - Hardware relative programming topics.
INTERRUP.TXT - Documented and undocumented interrupt topics.
MISC.TXT - Miscellaneous topics that have no logical grouping.
TABLES.TXT - Tables, structures and formats of BIOS, DOS and other
programming related tabular information.
Version News
============
2.10 Added hypertext linking, tab support, 486 instructions and timings.
2.0 Major revision of the user interface including menus. This is
the first shareware release. Help index utility is included
and TSR becomes available with registration. Some versions
went out with David Powell referenced as David Wilson. This
was an error and I apologize to David Powell for this accident.
1.5 A minor bug in the 43/50 line mode of version 1.4 has been
fixed. Over 900 topics are now included.
1.2 EMS and Mouse functions were added to the database. Over 750
topics were included. (limited distribution)
1.1 Maintenance release of the database. Several topics were added
and existing ones were cleaned up.
1.0 Original release.
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
Registration
============
This software is shareware. If you find this program or accompanying
data of some value and continue to use either after a 30 day trial
period registration is required. Registration costs $25 in the
United States ($30 otherwise) and provides you with the latest
version of the program and databases, limited support via telephone.
It also places you on the update mailing list. Registration provides
the resources to continue work on HelpPC. A registration form is
included in the file REGISTER.FRM. This file is enclosed with the
registered version also to make it easier to distribute HelpPC to
friends and colleagues. Here's the pricing schedule for HelpPC.
Number of copies Price per copy
1 $25 per diskette
2-5 $20 per diskette
6+ $15 per diskette
$5 per upgrade to next version
Add $5 for addresses outside the U.S.
HelpPC Support
==============
Registered users will receive 90 days of product support. Support
is available via telephone, via CompuServe electronic mail or via
U.S. Mail. Contact via CompuServe is most expedient, followed
closely by phone support. Calls received during the work day will
be returned after 6pm.
Thanks to the following:
========================
David Powell of IBM for his BIOS/DOS reference cards which gave me
the idea that started all of this. Jeff Miller of CompuServe for
supporting the project and providing helpful feedback. Mark Grim,
Bernd Schemmer and Robert Rosenbach for entering/passing along data
for HelpPC. Phil George and Ted Stephens for supporting and testing
throughout the project cycle. Dave Drown, Dave Gamble, Jerry Gibson,
Kevin Hughes, Charles Lazo III, Jim Milligan, David Powell (of CCS)
and Ali Vardag for testing and/or providing feedback. Ray Duncan,
Chris Dunford, Richard K. Herzog, Jim Kyle, Micheal Mohle, Chip
Rabinowitz, Mike Rubenstein and Barry Simon for sharing their vast
knowledge with the rest of us on CompuServe. Ralf Brown for
maintaining "the" interrupt lists. The Periscope Company for the
great support and the awesome Periscope debugger which was the main
bug buster used in writing HelpPC.
HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
In Closing
==========
Use it, try to break it or just tell me what you did or didn't
like about it or what you'd like to see added. If you find any
discrepancies, errors or typos, I would appreciate corrections
and any suggestions for improvement. If at all possible,
please contact me using one of the below addresses and I will
try to correct the problem immediately. Additions to the help
files are welcome and can be submitted to me via any of the
following addresses. If the information you provide is used in
HelpPC, you will be given credit for the work.
Please share this program with your friends; but please, if you
do redistribute this software, distribute it in its original
.ARC, .ZIP or LHARC form, without modification. If you think
it's a worthwhile program, please register. Your registrations
will allow continued development on HelpPC.
I can be reached at any of the following addresses:
US Snail: David Jurgens
1550 Alton Darby Creek Road
Columbus, Ohio 43228
CompuServe: D.Jurgens@CSI.CompuServe.com
71270,2422 (read weekly)
Disclaimer
==========
The program contained herein, in its original form, is designed
to work with PC's which are completely IBM DOS and IBM BIOS
compatible and has been tested on a myriad of PC's and compatibles.
The information contained within the help databases is correct to
the best of my knowledge and ability. Since it was compiled from
various sources, some in complete disagreement and some continually
changing specifications, I cannot be responsible for omissions,
inaccuracies or plain errors of any type.
I make no claims to value of the enclosed programs or files,
or their behavior and assume no liability for damages either
from the direct use of this product or as a consequence of the
use/misuse of this product. Hence this program and all
information contained within SHOULD BE USED AT ONE'S OWN RISK.
This disclaimer is included to absolve me from legal issues
brought about by today's litigious society.