• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

Playing PC-speaker trough sound card

Started by DCLXVI, 2007.06.29, 10:44:13

Previous topic - Next topic

DCLXVI

Hi everyone, I'm amazed that there seems to be so many people still running OS/2  :)

Anyway, I'm trying to get a computer to run it's PC-speaker sound trough the AC'97 sound "card" on the motherboard.
At first I installed an old version of UNIAUD (from 2004) and it did work but I had to press enter at each boot (UNIAUD32 couldn't find my soundcard and UNIAUD16 wasn't loaded because of this hence the requirement to press enter) but the PC-speaker did play through the soundcard (OS/2 itselfe could not play wavs though as it didn't find any sound hardware).
I did update the UNIAUD drivers to the lastes version from Netlabs and now the sound works 100% but the PC-speaker plays the PC-speaker sounds...

Anyone knows how to solve this?

Thanks in advance...

DCLXVI

I did manage to solve it by reverting uniaud32.sys to the old version and commenteing away the uniaud16.sys in config.sys, now I get an error on startup but it won't stop and require an enter...

But if anyone can solve my problem without haveing to live with a driver returning an error at every startup I'd be very happy...

Thanks...

obiwan

Can I ask what software you are using to generate the PC speaker sounds? To understand what is happening here I might need to reproduce the behavior.

osw

Quote from: DCLXVI on 2007.06.29, 10:44:13

I did update the UNIAUD drivers to the lastes version from Netlabs and now the sound works 100% but the PC-speaker plays the PC-speaker sounds...

Thanks in advance...


well, pc speaker sounds are played via pc-speaker - just as they are supposed to... and those beeps, have nothing to do with sound via sound card
so, to my understanding there is no way to force pc-speaker api's to produce sound on sound card
if I'm wrong correct me please guys

RobertM

Quote from: osw on 2007.07.01, 12:39:34
Quote from: DCLXVI on 2007.06.29, 10:44:13

I did update the UNIAUD drivers to the lastes version from Netlabs and now the sound works 100% but the PC-speaker plays the PC-speaker sounds...

Thanks in advance...


well, pc speaker sounds are played via pc-speaker - just as they are supposed to... and those beeps, have nothing to do with sound via sound card
so, to my understanding there is no way to force pc-speaker api's to produce sound on sound card
if I'm wrong correct me please guys


Well, not always... some sound cards have a PC Speaker port on them. You would wire the PC Speaker output on the motherboard to the sound card's PC Speaker input pins (assuming it doesnt have a hard-wired speaker on the board, and instead has output pins).

Also, some systems (?laptops mostly? - like certain ThinkPads - the 600 series in particular) will re-route PC Speaker sounds to the audio output jack if speakers are plugged into the audio output jack.

AFAIK, as you posted (with this revision): unless your system supports it (like certain laptops and some IBM desktops - as well as systems with a PC Speaker Input on the soundcard), there isnt another way of doing this. But I (we) could be wrong (though I dont think so) - never really looked into it.


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


DCLXVI

Thanks for all replies...

Quote from: obiwan on 2007.06.29, 21:32:24
Can I ask what software you are using to generate the PC speaker sounds? To understand what is happening here I might need to reproduce the behavior.

It's a specialized system for selling petrol, it's a cash register computer...

If it's not supposed to be able to work with playing PC-speaker sounds on through the sound card, then I'm pretty content with the progress I've made. Sure, I get a small error on boot-up but it does indeed play the sound on the external speaker witch is what I'm trying to do, no other sounds are acually interresting...

Thanks...

obiwan

Quote from: DCLXVI on 2007.07.02, 12:06:53

It's a specialized system for selling petrol, it's a cash register computer...


Oh I saw OS/2 at a Shell station once, could be the same.  :)

Well if you get PC speaker sound through your soundcard with Uniaud32 loaded, and not without it, my theory is that you have uncovered an unintended feature of Uniaud32. It's based on ALSA, which is pretty sophisticated in itself, so it is possible that it has some low-level ability to intercept PC speaker calls and route them to the sound hardware. When Uniaud16 is loaded, it has a lock on the sound hardware, so this feature fails and falls back to the normal PC speaker behavior.

What is curious to me about this is it works even when the old Uniaud32 says it fails to initialize the card, meaning it still loads and controls the hardware, while saying it isn't. That is of course possible, but it isn't right. This whole behavior isn't right, as RobertM and osw noted. But in this case you managed to work this side effect to your benefit, which is cool.

The fact that this apparently is a potentiality of Uniaud32 means it could conceivably be implemented later as a feature even with Uniaud16 loaded, but don't hold your breath. There is plenty else of higher priority that needs doing on it.

Thanks for that. I'm glad it works for you.

obiwan

There is another possibility, which is perhaps more likely. I don't think Alsa intercepts PC speaker events.

Like RobertM pointed out, some motherboards with built-in sound cards have some internal BIOS functions which send the PC speaker sounds to the audio hardware if they detect that it is possible, and fall back to the PC speaker if they can't. Loading Uniaud32 seems to have the effect of making the BIOS believe this is possible - even though the 2004 version of Uniaud was not compatible with the card, the BIOS used the card for the output anyway. Have you tried leaving the speakers connected but not loading Uniaud?

Uniaud16 may block this ability somehow, or it may simply set the mixer to mute the PC speaker sound, having the same effect. It may conceivably be possible to set the mixer using unimix.exe, I don't know. However the possibility that MMOS/2 locks it out when it is controlling the card seems to me more likely.

DCLXVI

I did try with the speakers connected without the uniaud loaded and that doesn't work, I have also tried accessing the mixer but it won't load (IIRC mostly because I couldn't be bothered to figure out how to load it properly and reading about it I didn't think it would help me)....
Anyway, the company that have made the OS/2 program is now migrating it to Windows XP so it's just a stop-gap and we are perfectly happy with the way it is working atm...

Shell station? Perhaps they used it earlier but this isn't Shell...I do know that a number of Preem used to run the same system but now it's just OKQ8 and Pump Oil that runs it to my knowlege...