VOGONS


Syndicate Wars

Topic actions

First post, by Merdi55

User metadata

Hey, I think I am making a newbnie mistake on getting SYnWars to run on my XP.

I followed the instructions that I found on what seems to be the main thread on Syndicate Wars posted by TeeCee.

Sounds like they have worked for other people with XP. I alter play.bat to run soundsetup first. Goes through that fine, and then displays "C:\SWARS>" and closes. Perhaps I haven't done something correctly when editing the .bat file, or the config.ini file.

Any help???
Thanks

Reply 1 of 14, by Merdi55

User metadata

Okay, I fixed the above problem (it was just bad .bat editing). I can now run the game using VDMSound. When I move the mouse it locks up hard (like I have to do a hard reboot) Like I said, I am following all the instructions from TeeCee, they seemed to have worked for most others:

1/ Install Swars (Home of the Underdogs release) 2/ Make dir /QDATA/SAVEGAME 3/ Edit Config.ini to reflect paths ('CD' and 'In […]
Show full quote

1/ Install Swars (Home of the Underdogs release)
2/ Make dir /QDATA/SAVEGAME
3/ Edit Config.ini to reflect paths ('CD' and 'InstallDrive' both to hard disk)
4/ DL and Install Syndwfix.exe
5/ DL and install VDMSound + VDMLaunchpad (latest versions)
6/ Edit Play.bat to run "Setsound" before Main in sequence
7/ Create a VDM Launchpad config for Play.bat ("Run with VDMS" and 'Custom config'):
- Close DOS on exit
- In 'Compatibility' enable VESA and LowLevel Network
- NO troubleshooting / joystick / AdLib / MIDI
- Soundblaster enabled with default (SB 16, 220, IRQ 7, DMA 1 + 5)
8/ Run Play.bat VDM Shortcut and in "Setsound" choose:
- No MIDI
- Digital audio - SB Pro (New) - Auto Settings (or manual 220, IRQ 7)
9/ Save and exit "Setsound" to load the game
10/ Syn Wars should work with IPX and Sound!

I have sound, and it seems to be okay sitting there for as long as I leave the mouse alone, but about one second after I touch the mouse it locks up.

My system:
Running XP Professional
Pentium 4 2 GHz
256 MB Ram
Not sure of video card, audio card.
Its a school-issued Dell Latitude c640 Laptop (if that helps)

Reply 2 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

hmmm did you try mouse2kv or something like that ?
look in deep thought on this board.

else try cutemouse as mousedriver.

another version of dos4gw might help as well (again deep thought)

Water flows down the stream
How to ask questions the smart way!

Reply 3 of 14, by dvwjr

User metadata
Rank Member
Rank
Member
Qbix wrote:
hmmm did you try mouse2kv or something like that ? look in deep thought on this board. […]
Show full quote

hmmm did you try mouse2kv or something like that ?
look in deep thought on this board.

else try cutemouse as mousedriver.

another version of dos4gw might help as well (again deep thought)

I know what the problem is with Syndicate Wars under the DOS emulation of Windows XP, but I do not have the time or tools to fix it right now. The problem is that Syndicate Wars requests all available DPMI memory, which causes the Windows DPMI 0.9 implementation to attempt to create a backing store for such a request via the virtual memory subsystem. With all available virtual memory occupied, the system will function with sound via VDMsound only if the Syndicate Wars sound system is initialized before the MAIN.EXE file is executed. The noted instability of Windows XP when attempting to execute Syndicate Wars is due to the fact that any additional demand placed on the virtual memory system when the DOS game is being executed causes big problems with Windows XP since there is literally NO additional virtual memory to satisfy ANY requests...

Since the DOSX.exe stub appears to be where the DPMI interface to the WIN32 memory subsystem occurs, the best way to correct the problem would be to 'patch' the DOSX.exe file so that all DPMI 0.9 API memory requests would be limited to say 64mb instead of 'all available'.

If anyone has the time, this would correct the problem for Syndicate Wars and many other DPMI supported games under the DOS emulation of Windows XP. As good as DOXbox is, having two alternatives is always better...

Hope this helps,

dvwjr

Reply 4 of 14, by Merdi55

User metadata

I tried the mouse drivers/cutemouse/etc suggested above with no luck. But thanks.

Thank you for the further explanation, but on the thread "Syndicate/Syndicate Wars" under the VDMSound thread there are two people who claim to have it working on XP by following the steps I quoted above. So I wonder what was different for them.

Oh well. Thanks to the both of you. Maybe I will try some more later.

merdi

Reply 5 of 14, by dvwjr

User metadata
Rank Member
Rank
Member

Yes, the reason that they can get Syndicate Wars working with VDMSound is that the batch file was edited to run "SETSOUND.EXE" before the Syndicate Wars "MAIN.EXE" file. Running the "SETSOUND.EXE" file makes sure that all the components of VDMSound are initialized and in the Windows XP virtual memory subsystem BEFORE the DOS program Syndicate Wars "MAIN.EXE" file is executed. Now at this point when MAIN.EXE is executed the version 0.9 DPMI memory API calls [Int 31h/AX=0501h] 'Allocate Memory Block' and [Int 31h/AX=0503h] 'Resize Memory Block' are executed by the Windows XP DPMI server it when the problems happen.

The Win XP system is on the edge of instability with Syndicate Wars running as any additional need for virtual memory will probably fail at this point, as all virtual memory has been committed to becoming the 'backing store' for the unlimited amount of DPMI memory that the WinXP DPMI server attempts to allocate on behalf of the Syndicate Wars "MAIN.EXE" executable.

So do the methods outlined work? Yes, for the reasons I outlined above. Do they work for the reasons that the originators of the Syndicate Wars multi-stepped outline think? No, but most people don't care why they work, only that they do...

Now if the DPMI interface contained in the DOSX.EXE WinXP stub could be patched to prevent the above listed DPMI v0.9 API calls from requesting any more than 64 megabytes of DPMI memory, then Syndicate Wars and other DOS games using DPMI memory would work in the native WinXP DOS emulation in addition to the DOSbox methodology...

dvwjr

Reply 6 of 14, by kneeslasher

User metadata
Rank Newbie
Rank
Newbie

If this explanation is correct and someone can be found to fix the problem higlighted, this could be the grail for those of us itching to play Syndicate Wars again. Any one car to try?

Reply 8 of 14, by Guest

User metadata

Isn't there a way to slow down the game?? i managed to run it with sound under XP but it's WAY TOO FAST

Reply 9 of 14, by kneeslasher

User metadata
Rank Newbie
Rank
Newbie

[/quote]I know what the problem is with Syndicate Wars under the DOS emulation of Windows XP, but I do not have the time or tools to fix it right now. [/quote]

dvwjr, any chance you will ever have the chance to fix the problem which you seem to have diagnosed correctly?

Reply 10 of 14, by dvwjr

User metadata
Rank Member
Rank
Member
kneeslasher wrote:

dvwjr, any chance you will ever have the chance to fix the problem which you seem to have diagnosed correctly?

I took a quick look at the DOSX.EXE stub which handles the DPMI extensions for WinXP, but tracing out the "BOPS" (0xC4,0xC4) activation for the particular DPMI codepath transition from 16 to 32-bit land was taking too long. I have shifted over to a new P4 640 workstation and may take a look at that and five other large problems that exist in the WinNT/2K/XP DOS emulation.

The 'beta' VDMSound v2.1.0 and a 'patched' DOSX.EXE file will allow Syndicate wars to run at 640x480 on most VESA 2.0 compliant BIOS systems. The DOSBox v0.63 will run Syndicate Wars, although fairly slowly even on this fairly new 3.2GHz P4 system I just built.

Best of luck,

dvwjr

Reply 11 of 14, by kneeslasher

User metadata
Rank Newbie
Rank
Newbie

I have two PCs lying about. One is a 1 GHz system with an NVidia TNT2 and the other is a 1.4 GHz with a Radeon AIW 7500. Using the instructions (i.e. vdmsound and making a bat file with the setsound before the main), the game loads up on both machines. However:

i) On the 1 GHz machine the game runs perfectly. Especially with the CPU slowed to 40%. Couldn't ask for more.

ii) On the 1.4 GHz, the game loads up. Move the mouse but a millimeter though, and a hard reset is needed. Complete lock up. There is more to the story however: strangely, if I navigate by pressing alt-l for login, alt-a for accepting a mission, etc... using JUST the keyboard, I can get to a mission. The mission, of course, also locks up if I move the mouse. BUT: if I change the in game resolution to 640x480 instead of 800x600, it works.

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.

Reply 12 of 14, by dvwjr

User metadata
Rank Member
Rank
Member
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

Reply 13 of 14, by kneeslasher

User metadata
Rank Newbie
Rank
Newbie

Both machines are identically running XP SP2. I did indeed forget to mention the yellow exclamation mark in the triangle warning: it pops up on both.

Do you still really think it is to do with DPMI in my case? Since the game runs fine, albeit at, as you say, the edge of stability, the virtual memory being taken up doesn't seem to be the issue crashing the game. It must be more to do with the mouse/graphics card bug.

Would you say it is more to do with the mouse or the card? And what can be done about either? For the card, short of flashing to the most recent BIOS, I Cant't imagine anything further, but what about for the mouse emulation? Is there any way to emulate the mouse properly? I am using no emulation at present.

Reply 14 of 14, by kneeslasher

User metadata
Rank Newbie
Rank
Newbie

And if the mouse emulation really is bugged, then how do the 640x480 missions work, yet the interface and 800x600 missions crash upon the mouse movement?

Sorry for all the questions.