
 Tools SHDPMI (+ SHDPMIR)

 1. About
 
 SHDPMI works in conjunction with a resident copy of HDPMI. 
 It protects some address spaces by directly modifying page
 table entries. The regions which can be modified are:
 
 þ DOS first 64 kB conventional memory, 00001000-0000FFFF.
 þ DOS high memory area, address space 000C0000-0010FFFF.
 þ page tables. HDPMI page tables are mapped at FFC00000-FFFFFFFF.
 þ IDT (+GDT)
 þ LDT

 The protection will only work in protected mode, not in real-mode.

 
 2. Protection of the First 64 kB Conventional Memory
 
 þ DOS conventional memory can only be protected if it contains no free
   memory blocks. That's why TSR SHDPMIR must be installed first. It will
   occupy any free DOS memory block below address 10000h.

 þ the first page of DOS memory (0000-0FFF) is not protected, because it
   contains the BIOS data area. But there exists an easy way to protect
   at least the region 0000-03FFh. Just set environment variable DPMILDR=2048.
   This will make DPMILD32 to create an "expand down" descriptor with
   limit=3FFh, whose selector is then loaded into SS, DS and ES. This
   protection works for both reading and writing.


 3. How to use

 þ install HDPMI32 with option -r
 þ in case SHDPMI shall protect region 1000-FFFF, install SHDPMIR
 þ now run SHDPMI with the options wanted (run SHDPMI -? to view
   available options).


 4. Copyright
 
 These tools are part of HX DOS extender. This extender is freeware.
 View HXRT.TXT or HXGUI.TXT for licence details.

 Japheth
 
