Hello, very cool project.
I know that it's not main aim of this driver, but I tried running your windows driver on real PC under real mode Windows 3.00a and encountered some problems with it. Recently I found that real mode windows can be easily run under Windows 9x DOS box. So I started experiments with some Windows versions inside Windows 98SE. There is only one problem that every "Windows in Windows" have - mouse don't work. This is caused by Windows 9x driver which takes full control over hardware not allowing any other similar driver to work. In DOS Window there is only posibility to use int 33h interface with mouse driver provided by Windows 9x VxD. So I found some drivers that use DOS int 33h passthrough to Windows. Your driver was the best candidate, because it was the only one to work in real mode Win 3.0. I found that only versions shipped with vbados package works. The standalone vbmouse version starts, but mouse don't move. In vbados I just load VBMOUSE.DRV to SYSTEM.INI and don't use VBMOUSE.EXE, because it can't be loaded on 9x (Windows just ignores it, still using it's own int 33h implementation), but vbmouse.drv seems to accept that fact. The only problem is that it causes "insufficient memory error" on some programs, despite having still about 400k free.
The attachment err.jpg is no longer available
Not all programs are affected. The ones I found that display this error are for example windows setup program, calendar, PIF editor, Word 1.0 for Windows. They are always the same. Rest work normally, even games like soltaire and reversi work stable without any slowdowns. I tried to compile this driver on my own with disabled all unnecerssary functions like scrolling, VBox integration features, even 386 enhancements, leaving only bare driver, but it still causes the same error. I also checked it with disabled initialization in code (I set flags.enabled to true without initialization) and with driver not functioning only loaded in memory it still causes errors. Removing driver from system.ini solves problem, so it's definitely something with it. I also checked it in pure DOS without loading Windows (with all VBMOUSE.EXE, CTMOUSE.EXE and standard MS MOUSE.EXE) and still the same. Maybe it's problem with driver memory management?
On the other hand I checked this driver in WfW 3.11 standard mode loaded in Windows 98 DOS box with some beta Windows 95 files. Normally it uses special Microsoft driver dualmous.drv but I checked your driver and it worked even better, not causing any GPF's (like dualmous.drv) or slowdowns (like i33mouse.drv which I also tried). So from my experience the problem exist only in real mode Windows 3.0. I know that this driver wasn't aimed at real hardware, but it has very big potential, being close to perfect running in such unstable and crazy environment. Have you any ideas what could be wrong?