Baron-von-Riedesel / VSBHDA

Sound Blaster emulation for DOS
60 stars 3 forks source link

No sound on Dell Latitude D530 #3

Open bert003 opened 10 months ago

bert003 commented 10 months ago

Hi,

Everything loads fine on my Dell Latitude. However I get no sound in Doom or Keen Dreams (the only 2 games I tried). Refer to the image below. Any suggestions please?

image

bert003 commented 10 months ago

Using pciinfo gives me this:

0 1b 0 4 3 0 2 8086/284b 9 multimedia controller (HDA)

However I cannot set IRQ 9 in right?

Baron-von-Riedesel commented 10 months ago

IRQ 9 for the HDA controller is ok - the only thing to care for is that the emulated SB IRQ ( 5 or 7 ) must not match the HDA IRQ.

If your machine is a notebook, the /O option should be used to change output to speaker or headphone.

bert003 commented 10 months ago

I tried all option with /O. I also changed the address, irq and dma. No luck.

If I use the headphones, I hear a very short tick (whichever /O option I use) but then pressing CTRL-G to test the beep gives nothing.

Also, Keen Dreams does not detect the SB but even setting it to ADLIB gives no sound. See image below.

image

Without loading VSBHDA the beep is heard from the PC Speaker and even games use the PC Speaker.

The original SBEMU does not even load but just hangs on boot. So I would really like to make this work.

Is there anything else I can test please?

Baron-von-Riedesel commented 10 months ago

Is there anything else I can test please?

Yes. Try Mpxplay or HDAPlay ( contained in HDAutils ) - just to ensure that the HDA controller works.

tedkotz commented 10 months ago

The default volume level can be pretty low. Try the /VOL9 option. If you are looking for something to try/test with: To test realmode the shareware version of wolf3d works well. To test protected mode the share version of doom is pretty sharp The open source Boom shipped with FreeDOS includes allegro asetup.exe which is great for proof.

bert003 commented 10 months ago

Thanks. Will test later on this week and revert.

In the meantime, I have tested on a PC (not laptop) and everything worked as it should.

So I guess that the sound is there on the laptop but, for some strange reason, cannot be heard.

bert003 commented 10 months ago

Attaching the output from HDASTAT.EXE.... can you help me interpret it correctly please?

HDASTAT.TXT

And this is the output when I tried to play a WAV file?

OUTPUT.TXT

In the above file, it says "no lineout pin found for this device" however on boot is correctly states that SB is initialised.

I guess there is something that I am missing at this point. The above are with the switch /O1

When I tried it again with /O0 - I get the below:

Cannot terminate permanent FreeCOM instance
System halted ... reboot or power off now

Wolf3D and DOOM both detect the SoundBlaster and I can select them but no sound is heard.

Baron-von-Riedesel commented 10 months ago

can you help me interpret it correctly please?

The things that are most interesting are behind "pin complex". Checking the fields "def. device", there's indeed no lineout pin, only HP ( headphone ) and speaker.

Did you try to play the .WAV file with HDAPLAY? If yes, then don't load SBEMU/VSBHDA - HDAPLAY communicates with the HDA directly, no SB emulation is required.

bert003 commented 10 months ago

Yes as in my previous post (OUTPUT.TXT) I played the WAV file with VSBHDA loaded.

Now I played it without VSBHDA loaded and got the following:

image

Baron-von-Riedesel commented 10 months ago

Now I played it without VSBHDA loaded and got the following:

HDAPLAY tries to select "lineout" as default. With option -s, it selects "speaker". "Headphone" cannot be selected currently.

bert003 commented 10 months ago

I will try the -s option and let you know.

In the meantime, should the -s option not be successful, what is the next step please?

bert003 commented 10 months ago

There is no -s in hdaplay. Any specific version I should download?

I only have -r and -q.

I downloaded this:

HDAutils.zip 13.6 KB Jan 30, 2021

Baron-von-Riedesel commented 10 months ago

There is no -s in hdaplay. Any specific version I should download?

The current source has the -s option already, but the binary ( contained in the "tag"-zip ) is created from older version.

So you'll have to create the current binary version on your own. Shouldn't be too hard ...

But for conveniance, I uploaded the up-to-date binaries...

hdautils.zip

bert003 commented 10 months ago

Thanks so much for taking the time to provide the binaries.

Downloaded The Microsoft Sound.wav from here and tested with the -s.

Kindly note below. This time it seemed to have played but all I hear is a short tick sound similar to the one I hear on boot.

image

Any suggestions please?

Baron-von-Riedesel commented 10 months ago

Any suggestions please?

Yes. Try a .wav file with CD attributes ( 2 channels, 16 bits/sample, 44.1 kHz ) - that's the format that I tested when this little test tool was written.

The audio should be repeated until you "exit".

bert003 commented 10 months ago

Ok managed to find one and here is what happened:

  1. When I played it without VSBHDA loaded, I managed to hear a cracking sound continuously compared to the beep it should sound.

  2. When I played it with VSBHDA loaded, I did not hear any sound at first and then after about 5 minutes I started hearing the sound playing repeatedly (quite low volume though).

Here is the output screen and the sample wav file used (as a zip file)

image

SAMPLE1.zip

I am assuming that something is causing a (considerably large) delay in playing the sound.

Any other tests to hopefully come up with a working solution please?

Baron-von-Riedesel commented 10 months ago

HDAPLAY wants to access the HDA controller exclusively - hence cannot run concurrently with SBEMU/VSBHDA.

I checked your sample1.zip - it's not really a "beep", sounds more like a simple sinusoidal wave.

btw, lots of tools ( i.e. audacity ) can be used to convert any MP3 to WAV, stereo, 16bit, 44.1 kHz.

There are no more tests that I can supply.

bert003 commented 10 months ago

Just wanted to add that the sound card is SigmaTel. Is it supported?

Baron-von-Riedesel commented 10 months ago

Just wanted to add that the sound card is SigmaTel. Is it supported?

HDA is - unlike AC97 - a "full" standard, meaning that no special care should be needed for any specific implementation.

That doesn't mean that HDAPLAY is supposed to work identically on any HDA device. The DACs may support certain frequencies only ( 11025 or 22050, for example, are often NOT supported ); or the HDA device is digital only ( without any DAC ). In such cases, HDAPLAY has to give up. However, for your machine this isn't true.

Torinde commented 9 months ago

Related https://github.com/crazii/SBEMU/issues/38?

tiagotarifa commented 8 months ago

HDAPLAY wants to access the HDA controller exclusively - hence cannot run concurrently with SBEMU/VSBHDA.

I checked your sample1.zip - it's not really a "beep", sounds more like a simple sinusoidal wave.

btw, lots of tools ( i.e. audacity ) can be used to convert any MP3 to WAV, stereo, 16bit, 44.1 kHz.

There are no more tests that I can supply.

I made this test with a WAV stereo 16bit 44.1 kHz file. It partially works using hdaplay.exe -s file.wav. But it's plays a poor sound. It was look like a 8bit nes sound playing (similar to castlevania song quality).

tela3

I made tests using vsbhda too. I tried the -s (0, 1 and 2) option ether but no sound. Doom, biomenace and Epic Pinball was used.

Another sample wav files could be found here: https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/en/latest/design-guide/audio-samples.html https://www.mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html