When is a bug not a bug?

The answer is – when it is not our bug 🙂

So continuing with the series on Command and Conquer – the next game to look at is the Windows 95 version of Command and Conquer.  This is a *very* finicky game.  It won’t run under Windows XP – no matter how much you massage it – and under Virtual PC – it won’t run unless you treat it very carefully.

To get Command and Conquer ’95 to work correctly – I needed to start with a clean Windows 95 install – and had to use the version of DirectX installed by the game installer (updating DirectX to DirectX 8.0 caused the game to stop working).  Also – I didn’t install the Additions – as this breaks Command and Conquer (given that the readme for this game specifically mentions that it has problems with the S3 video card that we emulate – I am not too surprised by this).

So with all of this done – I was left with one problem still – in the video cut scenes sound would stutter extremely, and occasionally the whole game would lockup.  After spending a lot of time looking at this – this is not our bug – but is actually a bug in the sound library that is being used by Command and Conquer for it’s video cut scenes. 

The bug only manifests itself on fast computers.  On my main computer (dual AMD Opteron 246) – I can’t make out any sound – and it regularly locks up.  On my secondary computer (single PIV 2.5Ghz) the sound stutters a lot – but it never locks up.  If I then go into the CDROM performance settings under Windows 95 and turn the CD cache down to 64k – my secondary computer is able to run the video cut scenes with only an occasional stutter – and no lock ups.

Command & Conquer 95 running under Virtual PC    Command & Conquer 95 running under Virtual PC

Disabling the sound card inside Virtual PC stops the problem completely (but you can’t hear any sound 🙁 ).  Running a ‘slow down’ utility (http://community.the-underdogs.org/pub/tools/slowdown/) under Windows 95 did stop the cut scenes from locking on my AMD box – but also made the game too slow to play (I had to alt-tab and stop the slowdown utility to actually play then game).

So there you have it.