PC speaker issues in Ultima games
Posted: Thu Jan 28, 2021 9:03 pm
Just wanted to point out a strange issue I'm seeing with Ultima V on the MiSTer here and make sure I'm not crazy, before I submit a proper bug report.
Basically, Ultima V has fairly distinctive PC speaker sound effects. On the MiSTer, a lot of these effects don't play back properly, and just sound like clicking.
I was poking at the Verilog code trying to find out if something was missing in the PC speaker implementation, and I accidentally found in the process of testing that if I force the system bell to ring before I boot the game, all the PC speaker effects seem to work completely fine.
Here's a video I recorded to demonstrate the issue. Note that I'm using the modified BIOS from this thread; I don't think the system bell would ring when I fill up the DOS prompt input without that.
Another thing that happens in the video is that it takes a few seconds for the PC speaker to fade in when sound starts playing in either case. That may be related.
Any suggestions on what might be going wrong here? I suspect the PC speaker control signals are initialized to a bad value on boot somehow, and ringing the system bell gets them to settle into the state that the U5 application expects. I didn't see any obvious problem in the Verilog, though. I'm happy to attempt a fix for this, if anyone can help narrow down where I should start looking.
Basically, Ultima V has fairly distinctive PC speaker sound effects. On the MiSTer, a lot of these effects don't play back properly, and just sound like clicking.
I was poking at the Verilog code trying to find out if something was missing in the PC speaker implementation, and I accidentally found in the process of testing that if I force the system bell to ring before I boot the game, all the PC speaker effects seem to work completely fine.
Here's a video I recorded to demonstrate the issue. Note that I'm using the modified BIOS from this thread; I don't think the system bell would ring when I fill up the DOS prompt input without that.
Another thing that happens in the video is that it takes a few seconds for the PC speaker to fade in when sound starts playing in either case. That may be related.
Any suggestions on what might be going wrong here? I suspect the PC speaker control signals are initialized to a bad value on boot somehow, and ringing the system bell gets them to settle into the state that the U5 application expects. I didn't see any obvious problem in the Verilog, though. I'm happy to attempt a fix for this, if anyone can help narrow down where I should start looking.