win3.1 attempts :)

Ryan Underwood
2003-09-20T12:35:58Z

Hi,

So, armed with a fresh copy of DOSEMU 1.1.5.7 and quite happy with the
changelog entry referring to windows, I set out to create a fresh
win3.1 setup on my machine to help with hacking WINE.

I have a kernel 2.4.23-pre4 and running Debian.

I tried both the WFW3.11 and the plain Win3.1. For each of these, I
took the gdi.exe, user,exe, krnl386.exe, and mouse.drv from OS/2's
windows, compressed them (-> .ex_), and replaced the original files with
the OS/2 versions that use DPMI instead of blasted VCPI.

I put all of the windows installation disks into a single directory,
lredir'd from the file system.

I attempted the install with each of FreeDOS (kernel 1.1.28), DR-DOS
7.04, and MS-DOS 6.22 running under DOSEMU. Each time I attempt to
install on D:\windows which is lredir'd to a dir under my home directory.

Here are the results and some notes:

WFW3.11
-------
FreeDOS: Completes the initial file copy in DOS. When it would go to
start windows to go to the next part of the installation, it crashes to
a dos prompt instead, sitting in D:\windows. From there, one can issue
.\system\krnl386.exe to start windows. (Just \system\krnl386.exe doesn't
work; '\system' seems to be reserved to FreeDOS somehow.) However, when
windows starts, it complains about not being installed all the way and
refuses to go further. Through trial and error, I discovered that
issuing '.\system\krnl386.exe /?' somehow bypasses this and gets one
into the installation.

The installation is straightforward for the first part. When it
actually goes to copy some files, you must have a disk in the A:
drive for some reason, or you will get an A.R.F error on screen, and
be unable to continue the session (close dosemu). I tried to redirect
the floppy to /dev/null or /dev/zero, but then after the file copy, the
installer would have a GPF and hang the DOSEMU session.. Putting a
diskette in the A: drive for its "probe" gets us past the file copy...
and then the session hangs with some corrupted video. :( The mouse can
still be moved around (you see the windows mouse moving) so the DOSEMU
isn't completely hung-up, but windows doesn't want to do anything more.

DR-DOS/MS-DOS: Both of these end up the same way, so I'll put them
together. Everything is exactly the same up until this point as FreeDOS
except the '.\system' thing. Both of these DOS manage to complete the
file copy and move on to the printer setup, and afterwards the network
configuration. However, after the network configuration, both of them
crash with the same GPF: WINSETUP.EXE caused a GPF in WINSETUP.EXE at
0001:113b. The address is the same _every time_ the installation is
attempted.

If I quit the dosemu session and attempt to resume the already
half-completely installation, it is no use; it still crashes in the same
spot after the network setup.

Ok, so I give up on WFW3.11. Perhaps the networking portion is giving
the dosemu some trouble. So, I try good (bad?) old Win3.1. All DOS
gives me the same results here. The initial file copy completes, then
crashes to dos instead of starting windows. Windows can be started
manually in the same way as before. The initial configuration is ok, it
asks for a disk this time (I point it to the dir on the hdd), and
eventually it GPF at the same segment but a different offset this time
after the files are copied.

One difference: It complains about the mismatching of "system files",
which I guess means that it doesn't like the OS/2 windows files as much
as WFW3.11 did.

I want to stress that the crash addresses are not random occurrences;
they are repeatable and deterministic. Only once in the whole night did
I have an unexplainable GPF while doing all these installations, which
is about in line with windows' track record anyway... :)

So, I hope this feedback helps somehow, please let me know if you have
any more questions. I would like to be able to fully install WFW3.11
under dosemu, and if the bugs can be worked out, I'll create a HTML
walkthrough with screenshots.

See ya,