kneeslasher wrote:
Judging by the above, could it be that the video card is causing the problem in case (ii)? And is this a problem relating to what you were saying, dvwjr, or is this something different?
Regards and thanks.
What specifications, operating system and version on each PC? Perhaps one is Win2K and one WinXP? There is a bug in the DOS mouse emulation of Win2K that was partially corrected in WinXP concerning the built-in mouse driver support.
If you get the VDMSound code loaded into the virtual memory subsystem and no additional calls are made you can play the game just on the edge of system instability. On your working system check the icon area of the taskbar for a Windows icon denoting low virtual memory while Syndicate Wars is executing. The video adapters will differ in their support for VESA 2.0 compliance - remember under the WinNT/2K/XP Dos emulation the video BIOS does all the work for SVGA games, if it is buggy you have problems.
Matrox used to have good WinXP drivers for their G450/550 line of video adapters, but their last few sets of drivers broke the DOS compatibility for DOS games or applications under WinXP. Their video BIOS still works just fine under real DOS, but their WinXP driver after v5.83 is broken.
If the DOSX.EXE stub could be fixed (patched) to limit DPMI v0.9 calls to 64MB then the Syndicate Wars functionality would be entirely dependent on the video Adapter VESA 2.x BIOS and fixing the WinNT/2K mouse emulation. The WinXP platforms would run Syndicate Wars just fine...
I still hope to have the time, but it's hard to trace the results of the 32-bit code path of DOSX.EXE which are accessed via 'bops' (0xC4,0xC4) to find out where to prevent the DPMI calls >64MB from being made... If Microsoft had implemented the DPMI limits that the "Memory" tab of the MS-DOS prompt Properties page implies there would be no problem. However, this DPMI and Conventional Memory PIF settings are just some non-functional place-holders from the Win9x PIF editing mindless carried forward by Microsoft. The only functional setting on the page are for EMS memory and XMS above 1MB. The XMS is always a minimum of 1MB since the WinXP Dos emulation always has some of the DOS emulation in the HMA.
It is possible to fix, just the time and tools needed. The funny thing is that many of the 'cracker' community could simply solve the problem, since many of them have found the holes in the WinNT/2K/XP Dos emulation which allowed them to take over any such workstation by a simple old MS-DOS executable 'COM' file (until Microsoft fixed in WinXP SP2). Heck, if Microsoft had implemented the DPMI v1.0 spec, then a TSR could have been written to mask the DPMI memory calls, but it was not to be...
Maybe some day soon,
dvwjr