EMM586 is utility for Windows which gives MS-DOS applications running under
Windows possibility to execute some CPL0 instructions, like EMM386, QEMM386 do.
EMM586's emulation is a bit better.

CPL0 instructions emulated:
MOV from/to CRx
MOV from/to DRx ;don't set GD under NT!!
MOV from/to TRx ;don't touch!!
RDMSR, WRMSR
RDTSC, RDPMC    ;must be emulated on AMDs and old Pentiums


For ICEBP/SMI(opcode 0F1h) correction (on AMD) use F1-fix.exe from
EDumpAll.zip [9x] or have SoftICE present, or run EDumpII once (3.1,NT).


MS Windows 3.1: use EMM58616.exe and EMM586.386.
In file system.ini add to [386Enh] section string:
device=C:\Path\2\386\EMM586.386 ;example: device=C:\W31\EMM586.386


Now You are able to run DOS applications which cannot run under Windows
normally. For example DOS EXE/COM protector Gardian Angel, programs
which use DRx for setting breakpoints (uncs.exe), simply every
program screaming: "DOS required!".


I don't know if EMM586 works under 2K or multiCPU systems.


EliCZ, chemical student, http://elicz.cjb.net, May-27-1999


================================================================================
UPDATES:
Jun-16-1999 - NT: now it's possible to run EMM586 from PATH (not only from
              the directory where .sys is located)
            - added files for MS Windows 3.1
  Changed files: EMM586.exe, EMM58616.exe, EMM586.386, EMM586.txt
