Reply 20 of 23, by Simon Hradecky
Not knowing, whether Wing Commander needs expanded memory (EMS) for creating sounds, I can't be sure, whether my findings help ...
For AS2 I have found out, that the sound problems there (e.g. already brought to this forum's attention by Patrick Warner) were primarily caused by a "new feature" of Windows XP, placing the page frame (EMS) at an invalid segment, namely CF00, whereas the EMS LIM Standard, no matter which version, requires the page frame to be located at a 16kB boundary (so, C000, C400, C800, CC00, D000, D400, D800, DC00, E000, ...).
That invalid page frame confuses hell out of address computation and especially causes problems with DMA, if the sound boards are fed directly via DMA from expanded memory.
I have fixed AS2 to detect the invalid page frame and improved address computation as well as checked for possible DMA transfer issues (violating DMA boundaries), thus fixing the issue for AS2. I am sure, that other users and developers are similiarly puzzled over things and looking into Hardware issues rather than spotting the WinXP's latest funny (that presumably intruded somewhere along the recent patches in the past 6 months in both SP1 and SP2) and therefore don't find the source of their hassles. It took me close to a month in discussions and debug sessions with very patient users (Thanks, Patrick!) and a lucky punch, when one of my development machines (where I had ensured WinXP compatibility several years ago and which I knew worked, and that machine was never changed hardware wise) developed the same trouble giving me a chance to work directly hands on ...
Simon