• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Amplifying PC speaker.

Runes911

Golden Member
I have an old program that wil ONLY play beeps through the PC speaker, you know the old one that DOS programs used, can I amplify it in anyway? I suppose I could wire up a headphone jack to it and output it to some speakers, will that work? Or possibly a program that will reroute the beep to the sound card?
 
A number of people have written drivers for it on Linux, but I couldn't find anything that just reroutes it to the audio layer in Windows. Thing is, that old program is probably running on a DOS virtual machine, and it's programming the timer directly. The PC speaker is hard-wired to the output from one of three timer channels on the Programmable Interval Timer (8253/4 I think, or its emulated equivalent). IIRC (and it's been years) the 0 channel is interrupt 8 for system time ticks, channel 1 is the speaker, and channel 2 is available for programs to use. Anyway, you make the speaker do something by programming the timer channel to output a pulse at the right frequency. So in order to capture the intent and reroute it to the Windows Audio layer you would have to be sitting on that timer, and noting the interrupt frequency that was established by loading the counter. That's why under Windows the speaker isn't used at all once POST is over.

If you Google around you'll find some circuits for adding volume control to it, and other info that might give you enough to figure out how to amplify it.
 
Hi, Runes has a good idea there, but don't use the same two pins you would use for a speaker. That's pin 1 to the speaker and pin 4 to +5. That usually shuts your PSU down!
Use pin 1 as signal and pin 3 ground (return). Works OK that way and should drive most any amplifier.

Good Luck, Jim
 
Back
Top