VOGONS


First post, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie

Recently I was trying to play some old Sierra AGI games on my XT clone, and noticed a really strange behavior: basically, each time a sound was played on the PC speaker the turbo light on the case would toggle on and off, essentially blinking in rhythm with the music! 😝

But as fun as this may sound, it wasn't just the LED blinking but the motherboard was constantly switching speed between 4.77 and 10 MHz as the music/sounds played!! In some cases it even caused the games to crash! I was really puzzled by this until I read the datasheet of the chipset to see how the Turbo speed is handled (this XT clone uses a TI TACT80101/UMC UM82c088/Acer M1101 chip).

Turns out that besides the Turbo header (connected to the case button), on this chipset the speed can be toggled by writing to the port 0C0h. From what I read this is also the port used on Tandy computers for audio, so writes to this port during audio output are likely the cause of the speed toggling! However, as I'm using an XT clone my audio output device for this games is the PC speaker.

So my question to those who have experience with the code of AGI games, do writes to 0C0h happen even if there is no Tandy hardware present? Interestingly, if I use an Adlib card and apply the AGI-SB patch to the games then the speed toggle does not seem to be triggered, I guess that patch probably removes the writes to that port?

NOTE: I was unable to replicate this behavior on other games.