In the years since I first began digging into the undocumented innards of
MS-DOS, I've answered many questions (and asked at least as many myself) about
some of the mysteries.
This package was originally put together as a tool for my own use in
researching the subject, then offered in a much simpler form (as TELLALL.COM)
to members of the IBMSW forum on CompuServe. Additional digging brought out
more answers, and I finally collected the expanded tools into a single
program, called CVTTRC.C. The name is a contraction of "CVT Tracer", and the
term "CVT" was contributed by Edwin Floyd, who brought it over from IBM
mainframe usage where it refers to a "Configuration Variable Table" which
tells the operating system exactly how this particular copy is to be set up.
In MS-DOS, beginning with version 3, exactly such a table is used. It is
located in the low RAM area used by DOS, just above the RAM BIOS area but
below the resident copy of COMMAND.COM.
CVTTRC gathers all pertinent data from the CVT kept by MSDOS in the low
portion of the DOS kernel, and reports it via the STDOUT stream so that the
report may be captured or sent to a printer. Its major value, however, is to
document the structure of the CVT, the information it contains, and a method
for accessing it that is as version-independent as possible.
Please note that the information presented in this package has been
extracted from disassembly of DOS and by experimentation and is in no way
supported or authorized by any commercial organization. I believe it to be
accurate to the best of my knowledge, but disclaim all responsibility for any
results of its use. By making use of the information, you are agreeing to my
disclaimer of liability.
With the legal stuff aside, however, if you *do* find answers to any of the
items shown in CVTTRC.C as "unknown", or uncover additional information, I'd
appreciate it if you would share with all of us (even as I am sharing this) by
uploading to DL13 of the Computer Language Magazine Forum (CLMFORUM) on the
CompuServe Information Service.
And note that, while I claim copyright on the source code, you are
specifically permitted to distribute it by any and all means so long as the
entire package is distributed as a unit (including this file). Enjoy!
Jim Kyle [76703,762]
February 6, 1988