home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / w3_info / qemmwinp.arj / QEMMWINP.TXT
Encoding:
Text File  |  1991-02-17  |  6.9 KB  |  173 lines

  1.         Quarterdeck Technical Note
  2.  
  3.         Patching QEMM-386 5.10 and 5.11 to allow Windows
  4.         3.00A (date 10-31-90) to run in standard mode
  5.  
  6.    Background: Windows 3, in both its standard and
  7.               enhanced modes, puts the machine into protected
  8.               mode without using the VCPI (Virtual Control
  9.               Program Interface) specification, which is intended
  10.               to allow applications to go into protected mode
  11.               when a protected-mode memory manager is already
  12.               present.  Normally this would make it impossible to
  13.               run Windows standard and enhanced modes with QEMM-
  14.               386 active.  Microsoft and Quarterdeck have
  15.               collaborated on an enhanced-mode solution that
  16.               allows a peaceful transfer of expanded memory
  17.               management duties from QEMM-386 to Windows enhanced
  18.               mode and back again.  However, this solution makes
  19.               use of a Windows interface that exists only for
  20.               enhanced mode, not for standard mode.  In order to
  21.               extend its support for Windows 3.00 so that
  22.               standard mode can be run under QEMM-386's
  23.               management as well as real and enhanced mode, QEMM-
  24.               386 patches the Windows file DOSX.EXE in memory to
  25.               make Windows in standard mode behave like a VCPI
  26.               client.  This solution works well for the version
  27.               of Windows in existence at the time of the release
  28.               of QEMM-386 version 5.10 and 5.11.  But the method
  29.               of patching that QEMM-386 5.10 and 5.11 use is
  30.               specific to the first release of Windows (dated 5-1-
  31.               90); it depends on specific bytes of code being at
  32.               specific offsets in the DOSX.EXE file.
  33.  
  34.                 Windows 3.00A (identified on the outside of some
  35.               packages as Windows 3.00 with a series of 4 plus
  36.               signs beneath the version), dated 10-31-90, was
  37.               released almost two months after QEMM-386 5.11.
  38.               Future versions of QEMM-386 will detect Windows
  39.               3.00A and adjust the QEMM patching method to allow
  40.               for the differences between Windows versions.
  41.               However, QEMM-386 5.10 and 5.11, in the versions
  42.               that are shipped, will detect that the version of
  43.               DOSX.EXE is not the one that QEMM-386 is familiar
  44.               with, and will tell Windows standard mode not to
  45.               start up, to prevent an exception error from the
  46.               386 processor. The symptom is that Windows puts up
  47.               its first graphics screen, then returns the system
  48.               to the DOS prompt, which appears on top of the
  49.               Windows 3.0 logo.  The video card remains in
  50.               graphics mode.
  51.  
  52.                 Quarterdeck customers who contact us about this
  53.               problem can receive a new QEMM-386 disk that
  54.               addresses the problem - when a new version of QEMM-
  55.               386 is released.  In the meantime, QEMM-386 can be
  56.               patched to make it compatible with the new Windows
  57.               standard mode program.  It is important to note
  58.               that the following patch, while making QEMM-386
  59.               compatible with the 10-31-90 Windows standard mode
  60.               program, also makes QEMM-386 incompatible with the
  61.               original 5-1-90 Windows standard mode program.
  62.               Keep a separate copy of QEMM386.SYS available for
  63.               each Windows version if you think you might be
  64.               using both versions of Windows.
  65.  
  66.                The following procedure is intended to prevent
  67.               Windows 3.00A returning the machine to the DOS
  68.               prompt shortly after starting Windows in standard
  69.               mode.
  70.    -------------------------------------------------
  71.  
  72.    1) Make a copy of the QEMM386.SYS file in your
  73.               QEMM directory.  We are about to alter your current
  74.               copy of QEMM386.SYS; the copy you make will serve
  75.               as a backup in case this operation fails.
  76.  
  77.                     COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMMOLD.SYS
  78.  
  79.    (If your QEMM386.SYS is not located in the QEMM
  80.               directory of the C: drive, change the path
  81.               accordingly.)
  82.  
  83.    2) Go to the DOS directory on the hard disk and
  84.               type:
  85.  
  86.            DEBUG C:\QEMM\QEMM386.SYS
  87.  
  88.    (If your QEMM386.SYS is not located in the QEMM
  89.               directory of the C: drive, change the path
  90.               accordingly.)
  91.  
  92.    Hit the Enter key; you should the the DEBUG
  93.               prompt, which is a hyphen.
  94.  
  95.    3) At the DEBUG prompt, type:
  96.  
  97.            S 100 L F000 B5 19
  98.  
  99.    Hit the Enter key; DEBUG should return two
  100.               segment addresses and offsets:
  101.  
  102.            xxxx:yyyy
  103.                   xxxx:zzzz
  104.  
  105.               (Both xxxx figures should be the same number.)
  106.  
  107.    4) At the DEBUG prompt again, use the segment
  108.               addresses and offsets that were just returned to
  109.               give the DEBUG commands, one at a time:
  110.  
  111.            E xxxx:yyyy D5
  112.                   E xxxx:zzzz D5
  113.  
  114.      The addresses that DEBUG returned in step 3
  115.               should be used in place of the addresses xxxx:yyyy
  116.               and xxxx:zzzz, which we use as examples.  Hit the
  117.               Enter key after each command; the DEBUG prompt
  118.               should return in a moment.
  119.  
  120.    5) At the DEBUG prompt, type:
  121.  
  122.            S 100 L F000 CO 28
  123.  
  124.    Hit the Enter key; DEBUG should return a
  125.               segment address and an offset:
  126.  
  127.            xxxx:yyyy
  128.  
  129.    6) At the DEBUG prompt again, use the segment
  130.               address and offset that was just returned to give
  131.               the DEBUG command:
  132.  
  133.            E xxxx:yyyy 20 29
  134.  
  135.      The address that DEBUG returned in step 5 should
  136.               be used in place of the address xxxx:yyyy, which we
  137.               use as an example.  Hit the Enter key; the DEBUG
  138.               prompt should return in a moment.
  139.  
  140.    7) At the DEBUG prompt, type:
  141.  
  142.            S 100 L F000 C8 1A
  143.  
  144.    Hit the Enter key; DEBUG should return a
  145.               segment address and an offset:
  146.  
  147.            xxxx:yyyy
  148.  
  149.    8) At the DEBUG prompt again, use the segment
  150.               address and offset that was just returned to give
  151.               the DEBUG command:
  152.  
  153.            E xxxx:yyyy E8
  154.  
  155.      The address that DEBUG returned in step 7 should
  156.               be used in place of the address xxxx:yyyy, which we
  157.               use as an example.  Hit the Enter key; the DEBUG
  158.               prompt should return in a moment.
  159.  
  160.    9) At the DEBUG prompt, type
  161.  
  162.            W
  163.  
  164.    Hit the Enter key; DEBUG will announce that it is
  165.               writing a certain number of bytes, then it will
  166.               return the DEBUG prompt.
  167.  
  168.    10) At the DEBUG prompt, type
  169.  
  170.            Q
  171.  
  172. ***END OF FILE***
  173.