Contents of the PCMAP.DOC file
PCMAP - Version 2.0 - Jeff Hasty - April, 1989
This program displays a map of the currently allocated memory blocks. For each
block, the following information is displayed:
Segment address of block
Segment address of block's owner (program which allocated the block)
Size of block in paragraphs (paragraph = 16 bytes)
Type of block: PSP - Program segment prefix and main program code
ENV- A copy of the DOS environment
(blank) - Other
Name of owner of block (DOS 3.0 and later)
Syntax: PCMAP [/R]
The /R switch causes the program to install itself (remain resident in memory).
Pressing ALT-P will then display the memory map. The current display screen
is preserved. However, if a previously installed copy is resident, running
PCMAP with the /R switch will instead uninstall that copy. If uninstallation
is not possible (usually because of other subsequently installed programs), it
will inactivate the ALT-P hotkey. Running the program again with the /R switch
will reactivate the hotkey.
The maximum number of blocks is 23, to prevent scrolling off the screen.
This may be increased by changing the equate at the beginning of the source
code. The hotkey may also be changed in the same way.
Although having PCMAP resident doesn't affect most applications, there are
some significant exceptions. Programs COMPILED with Turbo Pascal, versions
4 or 5, will HANG if PCMAP is resident, requiring a cold boot.You can run
Turbo Pascal itself without problems. Turbo assembler works fine. I don't
have access to Turbo C, so I don't know about it. Trying to run Tapcis or
Tetris will also HANG your computer. If anyone encounters other conflicts,
I would appreciate a note about it through CompuServe, 71121,2352.
Many of the ideas and techniques, as well as much of the code, used in this
program came from the following articles in PC Magazine:
Robert L Hummel's PCMAP, V6N14, p.419, 8/87. This is the original
PCMAP, the inspiration for my version.
Frank Deaver and David Thomas' RAMVIEW, V7N14, p.367, 8/88. The
memory residency portions of RAMVIEW were slightly modified and used
Ray Duncan's ARGV, V6N22, p.365, 12/22/87. A stripped-down version
of this routine is used for detection of the command line switch.
Bug reports, suggestions for improvements, conflicts with specific hardware
or software can be sent to me via CompuServe 71121,2352. I am particularly
interested in solving the problem with Turbo Pascal-compiled programs.The
same problem has been reported with RAMVIEW. If you have any insights, please
let me know.