Q Debug Notes
-------------
  - is now an EXE program.
  - is compiled with WDOSX which is the best one it works with.
  - Works under Win95/NT and DOS.
  - SS:ESP is discarded if modified thru INT 21h/ah=4c call.
  - QDEBUG Detection code:
      .data
        qdebug_str db 'QDEBUG',0
      .code
        mov esi,offset qdebug_str
        mov ax,0a00h
        int 31h
        jc qdebug_not_present
        cmp eax,'QBUG'
        jne qdebug_not_present
        ;QDebug is present
          ...
        qdebug_not_present:
        ;QDebug is not present
          ...
  - Does not work with DOS/4GW. (DOS/4GW does not allow INT 3 to
    be hooked properly)
  - Does not work with PMODE/W under DOS. (PMODE/W's DPMI server does not
    strictly adhere to the DPMI standard.)
  - When pressing CTRL the status of all DRx registers will be invalid
    if CPL is not zero (ie: under Win95/NT)
  - You may use any CTRL/ALT now (bug fixed).
  - The debugger was taken from DOS32 v3.5 rev 6.  I've done much modification
    to allow it to work under any DPMI host.  Mainly I just changed
    all DOS32 INT 31h calls to equivalent DPMI calls, and changed
    the keyboard handler a lot since Win95 will not let you use
    port 64h.  Plus I had to create some stack switching during exception
    handlers which was really amazing.  See 'stacks.asm' to see how it's
    done.
    And to make QDebug an EXE I had to grab some LE-EXE loading code
    from the creator of WDOSX and implement it into QDEBUG.  It took
    a long time but it works!
    I've also added QDasm to it to support P2/MMX opcodes and added
    support for MMX register viewing (ALT+M).

My thanx go out to Adam Seychell (and other DOS32 developers) for
  creating such a great debugger and making it publicly available!
And to Michael Tippach for giving my the source code for WDOSX LE-EXE
  loading code.

