Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : QEMMPATS.ZIP
Filename : WIN300A.PAT

 
Output of file : WIN300A.PAT contained in archive : QEMMPATS.ZIP








Quarterdeck Technical Note

Patching QEMM-386 5.10 and 5.11 to allow Windows
3.00A (date 10-31-90) to run in standard mode

Background: Windows 3, in both its standard and
enhanced modes, puts the machine into protected
mode without using the VCPI (Virtual Control
Program Interface) specification, which is intended
to allow applications to go into protected mode
when a protected-mode memory manager is already
present. Normally this would make it impossible to
run Windows standard and enhanced modes with QEMM-
386 active. Microsoft and Quarterdeck have
collaborated on an enhanced-mode solution that
allows a peaceful transfer of expanded memory
management duties from QEMM-386 to Windows enhanced
mode and back again. However, this solution makes
use of a Windows interface that exists only for
enhanced mode, not for standard mode. In order to
extend its support for Windows 3.00 so that
standard mode can be run under QEMM-386's
management as well as real and enhanced mode, QEMM-
386 patches the Windows file DOSX.EXE in memory to
make Windows in standard mode behave like a VCPI
client. This solution works well for the version
of Windows in existence at the time of the release
of QEMM-386 version 5.10 and 5.11. But the method
of patching that QEMM-386 5.10 and 5.11 use is
specific to the first release of Windows (dated 5-1-
90); it depends on specific bytes of code being at
specific offsets in the DOSX.EXE file.

Windows 3.00A (identified on the outside of some
packages as Windows 3.00 with a series of 4 plus
signs beneath the version), dated 10-31-90, was
released almost two months after QEMM-386 5.11.
Future versions of QEMM-386 will detect Windows
3.00A and adjust the QEMM patching method to allow
for the differences between Windows versions.
However, QEMM-386 5.10 and 5.11, in the versions
that are shipped, will detect that the version of
DOSX.EXE is not the one that QEMM-386 is familiar
with, and will tell Windows standard mode not to
start up, to prevent an exception error from the
386 processor. The symptom is that Windows puts up
its first graphics screen, then returns the system
to the DOS prompt, which appears on top of the
Windows 3.0 logo. The video card remains in
graphics mode.

Quarterdeck customers who contact us about this
problem can receive a new QEMM-386 disk that
addresses the problem - when a new version of QEMM-
386 is released. In the meantime, QEMM-386 can be
patched to make it compatible with the new Windows
standard mode program. It is important to note
that the following patch, while making QEMM-386
compatible with the 10-31-90 Windows standard mode
program, also makes QEMM-386 incompatible with the
original 5-1-90 Windows standard mode program.
Keep a separate copy of QEMM386.SYS available for
each Windows version if you think you might be
using both versions of Windows.

The following procedure is intended to prevent
Windows 3.00A returning the machine to the DOS
prompt shortly after starting Windows in standard
mode.
-------------------------------------------------

1) Make a copy of the QEMM386.SYS file in your
QEMM directory. We are about to alter your current
copy of QEMM386.SYS; the copy you make will serve
as a backup in case this operation fails.

COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMMOLD.SYS

(If your QEMM386.SYS is not located in the QEMM
directory of the C: drive, change the path
accordingly.)

2) Go to the DOS directory on the hard disk and
type:

DEBUG C:\QEMM\QEMM386.SYS

(If your QEMM386.SYS is not located in the QEMM
directory of the C: drive, change the path
accordingly.)

Hit the Enter key; you should the the DEBUG
prompt, which is a hyphen.

3) At the DEBUG prompt, type:

S 100 L F000 B5 19

Hit the Enter key; DEBUG should return two
segment addresses and offsets:

xxxx:yyyy
xxxx:zzzz

(Both xxxx figures should be the same number.)

4) At the DEBUG prompt again, use the segment
addresses and offsets that were just returned to
give the DEBUG commands, one at a time:

E xxxx:yyyy D5
E xxxx:zzzz D5

The addresses that DEBUG returned in step 3
should be used in place of the addresses xxxx:yyyy
and xxxx:zzzz, which we use as examples. Hit the
Enter key after each command; the DEBUG prompt
should return in a moment.

5) At the DEBUG prompt, type:

S 100 L F000 CO 28

Hit the Enter key; DEBUG should return a
segment address and an offset:

xxxx:yyyy

6) At the DEBUG prompt again, use the segment
address and offset that was just returned to give
the DEBUG command:

E xxxx:yyyy 20 29

The address that DEBUG returned in step 5 should
be used in place of the address xxxx:yyyy, which we
use as an example. Hit the Enter key; the DEBUG
prompt should return in a moment.

7) At the DEBUG prompt, type:

S 100 L F000 C8 1A

Hit the Enter key; DEBUG should return a
segment address and an offset:

xxxx:yyyy

8) At the DEBUG prompt again, use the segment
address and offset that was just returned to give
the DEBUG command:

E xxxx:yyyy E8

The address that DEBUG returned in step 7 should
be used in place of the address xxxx:yyyy, which we
use as an example. Hit the Enter key; the DEBUG
prompt should return in a moment.

9) At the DEBUG prompt, type

W

Hit the Enter key; DEBUG will announce that it is
writing a certain number of bytes, then it will
return the DEBUG prompt.

10) At the DEBUG prompt, type

Q

Hit the Enter key to exit DEBUG and return to DOS.

--------------------------------------------------

If the system fails after you perform this patch,
copy the backup of QEMM386 that you made back to
its original name.

COPY C:\QEMM\QEMMOLD.SYS C:\QEMM\QEMM386.SYS

(If your QEMM386.SYS is not located in the QEMM
directory of the C: drive, change the path
accordingly.)

You may then wish to try the above procedure
again, in case a mistake was made.

* * * E N D O F F I L E * * *


  3 Responses to “Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : QEMMPATS.ZIP
Filename : WIN300A.PAT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/