Files
dosbox-x/NOTES/Microsoft Windows 3.11
Jonathan Campbell 1200c57784 update notes
2015-02-15 22:10:22 -08:00

78 lines
3.1 KiB
Plaintext

Windows 3.1 and 3.11 can be run from DOSBox's native prompt.
However, there is one serious incompatability regarding mouse
emulation that you need to know about:
INT 33h emulation
Because of the way INT 33h emulation is written, the code will
(correctly) defer mouse event notification until IRQ 12 is
activated, BUT, it does the on-screen cursor update directly
from the Mouse event handler.
Unfortunately, this means that if you are running a protected
mode environment like Windows 3.1, the BIOS data area reads
and direct access to video RAM will happen at a time that the
Windows 3.1 is not likely to expect it, and you will get
random crashes and general instability.
The solution to this problem is to code the software cursor
redraw to happen from within IRQ 12 (where Windows and DOS
programs expect it to happen), and where Windows is likely
to virtualize IRQ 12 into virtual 8086 mode and allow the
INT 33h driver's real-mode code to do it's work properly.
Until I have this solution completed in the code, a workaround
is available if you do not intend to use DOS games in the same
virtual setup as your Windows 3.1 installation:
Open your dosbox.conf, and set int33=false (disable INT 33h
emulation). If the line doesn't exist, add int33=false under
the [dos] section of your dosbox.conf.
Disabling INT 33h emulation will resolve this conflict between
DOSBox real-mode INT 33h emulation and Windows 3.1.
--------------------------------------------------------------
Another noted problem with the PS/2 mouse and DOS "boxes" in
Windows 3.1 is that, when a DOS "box" is run in a Window,
rather than in fullscreen mode, the cursor will become very
jumpy, and in DOSBox, will likely stop responding to your
mouse input entirely until you switch away. Apparently, this
is... normal. Windows 3.1 is not very good at virtualizing
the PS/2 mouse while sharing it with the DOS "box".
If the cursor stops responding, you can try ALT+Tab to
switch away (and restore cursor responsiveness) or ALT+Space
to bring up the DOS box's system menu (taking focus away from
the DOS session restores proper mouse pointer responsiveness).
--------------------------------------------------------------
Known problems with "additional environment block size on exec"
option.
Setting "additional environment block size on exec" to 0 in your
dosbox.conf and then running Windows 3.1 can cause DOSBox-X to
crash with a "MCB chain corrupt" error message.
--------------------------------------------------------------
"kernel allocation in umb" and dynamic kernel allocation problem.
Windows 3.1 will not start if DOSBox-X is configured to put all
DOS kernel structures and private data in the upper memory block
area.
--------------------------------------------------------------
EMS, VCPI, and virtual 8086 mode incompatibility.
DOSBox-X's VCPI emulation is incompatible with Windows 3.1.
Windows 3.1 will complain (from the DOSMGR driver) that it
cannot run with the protected mode manager.
You must disable the option that says to start DOSBox-X with
expanded memory and virtual 8086 mode active to run Windows 3.1.