Reply 20 of 23, by clb
I have a 80 MHz Cyrix 486 PC, with Sound Blaster AWE64 Gold. Commander Keen 1-6 and Wolfenstein 3D work without issues, both with and without VGA Palette Snoop enabled.
As part of developing CRT Terminator on this system, I regularly flip PCI VGA Palette Snoop between enabled and disabled states, and have not seen it affect audio on the AWE64 Gold in either way.
Original Adlib card had a famous timing sensitivity requirement. Their original programming manual documented this: https://bochs.sourceforge.io/techspec/adlib_sb.txt
After writing to the register port, you must wait twelve cycles before
sending the data; after writing the data, eighty-four cycles must elapse
before any other sound card operation may be performed.
The AdLib manual gives the wait times in microseconds: three point three
(3.3) microseconds for the address, and twenty-three (23) microseconds
for the data.
The most accurate method of producing the delay is to read the register
port six times after writing to the register port, and read the register
port thirty-five times after writing to the data port.
My understanding is that most games that use Adlib reproduced this recommendation faithfully. I.e. codebases will issue 6 and 35 reads respectively to the Adlib Address port to implement these waits.
How long the waits actually end up being depends on the system's ISA bus speed.
However, on this PC I have first hand verified that when I put an Adlib card to this system, the waits are needed. But on an AWE64 Gold, these waits are not needed at all. (just double checked). Adlib music works fine on Commander Keen: Foray in the Forest on the AWE64 Gold even by stripping out all the waits. So I would be a bit surprised if the issue you are seeing would be an Adlib sound timing sensitivity thing, as AWE64 Gold does not seem to need any waits. (I'd presume that AWE64 Non-Gold wouldn't need the waits then either)