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. CONFLICTS: 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. CREDITS: 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 for PCMAP. 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. BUGS, SUGGESTIONS: 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.