VOGONS


First post, by MonkeyforaHead

User metadata
Rank Newbie
Rank
Newbie

Okay, a pretty minor gripe, but I just tried playing PoP in DOSBox (0.63) for the first time, and while all the sound effects play just fine, the music is mysteriously absent. I've also tried the /SBLAST command, though I don't know what good I would've expected that to do.

So is this a common problem?

Reply 2 of 6, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

In a nutshell: Some old games need VERY LOW CYCLES (maybe <3000) to be able to detect certain sound hardware.

Intel i7 5960X
Gigabye GA-X99-Gaming 5
8 GB DDR4 (2100)
8 GB GeForce GTX 1070 G1 Gaming (Gigabyte)

Reply 3 of 6, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Years ago I had this problem. The Secret of Monkey Island was not working on my 486DX/33 with SBPro2 unless i turned off Turbo during the startup. That was on real system and with rather common game.
In that case it was all Creative's fault. Sound hardware typically requires some delay between register writes. Adlib tech doc was giving the delay in microseconds. Creative in its infinite wisdom converted microseconds into CPU clocks, using 386/25 from the look of it. I will leave the rest to your imagination. I don't think this is what causes DOSBox problems unless we actually have those delays emulated. Do we?

Reply 4 of 6, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Actually I blame the programmers. They often coded their detection algorithms to only poll the ports a fixed number of times before giving up (or even worse, using a generic busy loop for a time delay), with the assumption that polling would take a fixed amount of time. As faster PCs came out, the assumptions were proven incorrect and games started having sound hardware detection issues. I remember Sierra released a lot of patches for their Adlib drivers because of this.

Reply 5 of 6, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

HunterZ, that's not actually the programmers' fault. The people at Creative and Adlib told them to do this. This was in part because, operating on the 8MHz ISA, and with the specification of the chips themselves, polling a port did in fact take a perfectly predictable amount of time. It was only later that PC BIOSes had the ability to change the speed of the ISA bus clock.

My site: Ramblings on mostly tech stuff.

Reply 6 of 6, by MonkeyforaHead

User metadata
Rank Newbie
Rank
Newbie

Interesting. I'd done a quick browse of the archives and noted another topic about lowering the cycles to get the sound to work, but I had assumed that it would either affect both the sound and music simultaneously, or it wouldn't affect either. Anyway, lowered the cycles, got music. Thanks. 😀