Jump to content

Audio driver for Realtek HD Audio Hardware? [Testing thread]


Recommended Posts

Okay, I tried $03 for the widgets as well as trying $07 for the mixer. I also tried $04 and $0A since I wasn't sure if there could be an y difference between DAC_0 and DAC_1.

None of these seemed to yield any sound. In fact, I've probably tried all possible combinations of the $03, $04, $07, $0A, $11, and $12 nodes, as well as $0C, $0D and some others. All of them come out exactly the same. The uneditable parts of the HDALOG.TXT and HDAcfg.ini files are always exactly the same as the ones in my last post.

Listening closely with headphones, I hear a single very quiet pop before the 98SE desktop appears. I hear this same pop with any node values at all for the widgets in HDAcfg.ini. It's not there at all if I uninstall the driver, though. In other OSes like later Windows or Linux flavors, there's a series of crackles before reacing the desktop. I also noticed that there's a series of crackles through the headphones at the BIOS screen before any OSes even begin to load. I wonder if this means that my BIOS is taking some kind of control of the sound hardware and that's leading to a problem in Windows 98? Could be a conflict with my ACPI BIOS even though there's no actualy conflicts reported?

Something else is that, with the HDA driver installed, my PC speaker no longer works. Maybe this is expected since the speaker is also run through the AD1984, but with the driver uninstalled the PC speaker does work fine in Windows 98SE (or in various DOS versions I've installed).

I also find that going to DOS through the MS-DOS Prompt icon in 98SE is very unstable with the HDA driver installed. Sometimes I'll get a blue screen or a hard freeze. It's more likely to be okay if I run the DOS prompt in fullscreen instead of windowed and even better if I disable Direct Memory Allocation for the shortcut, but never totally reliable.

Anyway, just throwing info out there in case it's useful to anybody. I'm thinking that I might be at a dead end with getting my setup working, though I'm always open to ideas.

Thanks.

Link to comment
Share on other sites


I'm trying to get HD audio working on a Wyse thin client - R90LE.  I'm trying to build this thing into a Windows 98 gaming machine.  Thus far I have managed to get everything installed and working with 2 exceptions:

-Video

-Audio

Now, I do have a PCIEx16 slot, so I only need to get the onboard version of one or the other of those working.  The video is a no-go as it is a Radeon x1250 and there's simply no Windows 98 support for that chip.  It IS based on the Radeon x700 so I thought maybe I could get it working with those drivers or even mod the BIOS, but the video card's BIOS cannot be modded, so that is out.  I will thus be going with a PCIe video card.

 

That leaves audio.  It has a SBx00 Azalia (Intel HDA) audio chip.  Now, I don't understand much of anything in this thread (I've read the whole thing), but I have managed to get to a point where audio files DO PLAY in Sound Recorder (I can see the waveform moving as the file plays), but nonetheless I have silence out of my audio port.  This is where I need some assistance.

Link to comment
Share on other sites

18 hours ago, sweaterfish said:

I also noticed that there's a series of crackles through the headphones at the BIOS screen before any OSes even begin to load. I wonder if this means that my BIOS is taking some kind of control of the sound hardware and that's leading to a problem in Windows 98? Could be a conflict with my ACPI BIOS even though there's no actualy conflicts reported?

First thing is true: the BIOS sets his Defaults in all hardware-related registers. Those values can conflict with what a driver expects. ACPI BIOS should not be a problem as such.

18 hours ago, sweaterfish said:

All of them come out exactly the same. The uneditable parts of the HDALOG.TXT and HDAcfg.ini files are always exactly the same as the ones in my last post.

So no difference with, or without HDAICOUT.HDA in the Windows-directory?

18 hours ago, sweaterfish said:

but with the driver uninstalled the PC speaker does work fine in Windows 98SE

What do you mean? What is your PC speaker doing in Windows 98SE: beeping or giving actual sound?

18 hours ago, sweaterfish said:

I also find that going to DOS through the MS-DOS Prompt icon in 98SE is very unstable with the HDA driver installed. Sometimes I'll get a blue screen or a hard freeze. It's more likely to be okay if I run the DOS prompt in fullscreen instead of windowed and even better if I disable Direct Memory Allocation for the shortcut, but never totally reliable.

This is a known problem, but can be related to the specific video driver too. Wat driver do you use for your X3100, VBemp? In case of testing Windows' Standard VGA (PCI) driver is the best choice.

18 hours ago, sweaterfish said:

Anyway, just throwing info out there in case it's useful to anybody. I'm thinking that I might be at a dead end with getting my setup working, though I'm always open to ideas.

I did already some reading of chipset registers and of Linux-sources related to codec AD1984. I have a full set of steps in mind to troubleshoot HDA2.DLL on your Thinkpad X61, but pleas make up your mind if you are ready to run tests for (maybe) many hours. Please let me know.

Link to comment
Share on other sites

@bmw

37 minutes ago, bmw said:

I'm trying to get HD audio working on a Wyse thin client - R90LE.

I will need full specs of the chipset.

38 minutes ago, bmw said:

That leaves audio.  It has a SBx00 Azalia (Intel HDA) audio chip.  Now, I don't understand much of anything in this thread (I've read the whole thing), but I have managed to get to a point where audio files DO PLAY in Sound Recorder (I can see the waveform moving as the file plays), but nonetheless I have silence out of my audio port.  This is where I need some assistance.

Good, no installation problems as such. :thumbup

SBx00 Azalia (Intel HDA) will be the HD-audio controller, not the HD-audio codec.

Best upload your HDACFG.INI and HDALOG.TXT after booting, but without HDAICOUT.HDA so I can take a look.

Link to comment
Share on other sites

I'm working with an AMD/ATI SB600 south bridge, full specs here:

https://www.amd.com/system/files/TechDocs/42119_sb600_ds_pub_3.07.pdf

FYI, though I suspect irrelevant, the onboard graphics are AMD/ATI RS690 chipset.

I'll get that other stuff uploaded next time I'm in front of my machine.

Link to comment
Share on other sites

1 hour ago, bmw said:

I will thus be going with a PCIe video card.

In that case I would suggest a GeForce 6200LE card. An overkill for pretty much anything that requires Windows 98, I know, but it's a native PCI-e video card that has Win98 drivers, requires no additional power from the PSU besides what the PCI-e bus offers normally. They have passive cooling, so no worries about the noise. Also they support 1080p monitors, which is nice.

Link to comment
Share on other sites

Ok, so after trying some of the troubleshooting in here, I ended up breaking things and needing to re-install Windows.  So I re-installed Windows 98 from scratch, installed all my other drivers, and lastly installed the HDA driver.  I'm back to where I was before with WAV files playing in sound recorder but just no sound out of my speaker.  I also note that on boot, it says TSR Installed.

Here are some screenshots:

hda.jpg

 

Next I did as you said - to disable HDAICOUT.HDA I simply renamed it with a .bak file extension and rebooted.  After that, here is the cfg file:

hda-cfg.jpg

 

....and the log file.....

$000F0000=$00000000
$000F0002=$00000000
$000F0004=$00000000
$001F0011=$00000000
$001F2000=$00000000
$001F000F=$00000000
$001F000A=$00000000
$001F000B=$00000000
$00170500=$00000000
$00C707C0=$00000000
$00C3B000=$00000000
$00C3B000=$00000000
$00D707C0=$00000000
$00D3B000=$00000000
$00D3B000=$00000000
$00E707C0=$00000000
$00E3B000=$00000000
$00E3B000=$00000000
$00F707C0=$00000000
$00F3B000=$00000000
$00F3B000=$00000000
$010707C0=$00000000
$0103B000=$00000000
$0103B000=$00000000
$011707C0=$00000000
$0113B000=$00000000
$0113B000=$00000000
$012707C0=$00000000
$0123B000=$00000000
$0123B000=$00000000
$013707C0=$00000000
$0133B000=$00000000
$0133B000=$00000000
$014707C0=$00000000
$0143B000=$00000000
$0143B000=$00000000
$015707C0=$00000000
$0153B000=$00000000
$0153B000=$00000000
$016707C0=$00000000
$0163B000=$00000000
$0163B000=$00000000
$017707C0=$00000000
$0173B000=$00000000
$0173B000=$00000000
$018707C0=$00000000
$0183B000=$00000000
$0183B000=$00000000
$019707C0=$00000000
$0193B000=$00000000
$0193B000=$00000000
$01A707C0=$00000000
$01A3B000=$00000000
$01A3B000=$00000000
$01B707C0=$00000000
$01B3B000=$00000000
$01B3B000=$00000000
$00224011=$00000000
$00270610=$00000000
$00224011=$00000000
$00270610=$00000000
$00270500=$00000000
$0143A07F=$00000000
$0143907F=$00000000

 

Link to comment
Share on other sites

On 8/21/2020 at 7:22 PM, tyukok said:

In that case I would suggest a GeForce 6200LE card. An overkill for pretty much anything that requires Windows 98, I know, but it's a native PCI-e video card that has Win98 drivers, requires no additional power from the PSU besides what the PCI-e bus offers normally. They have passive cooling, so no worries about the noise. Also they support 1080p monitors, which is nice.

A bit off-topic, but I'll respond.....I'm probably going to end up going with a Radeon x300 or x600 card.  My x600SE card peaked at 35 watts system power while the GeForce 6200 hit 47 watts and the x600 didn't benchmark all that much less than my GF6200 (granted, my 6200 is the gamer's edition so I don't know how an LE variant would do).  I have a pro model to try as well.  I have to admit that I'm partial to the Radeon x300-x850 series of cards for Windows 98 retro builds on PCIe hardware.  I had also experimented with a Radeon 9000 (believe it or not, you CAN get a Radeon 9000 on a PCIe card as this is the chip used in the FireMV 2400 multi-view card), but the power consumption is similar to the GF 6200 because it has 2 graphics chips on the card and you can't disable the unused one, so you have idle power draw on the unused chip.

Link to comment
Share on other sites

22 hours ago, deomsh said:

I did already some reading of chipset registers and of Linux-sources related to codec AD1984. I have a full set of steps in mind to troubleshoot HDA2.DLL on your Thinkpad X61, but pleas make up your mind if you are ready to run tests for (maybe) many hours. Please let me know.

Oh yeah, I'm definitely willing to keep playing around with this. It would be great to get sound working.

 

Quote

So no difference with, or without HDAICOUT.HDA in the Windows-directory?

No, the HDAcfg.ini always looks the same, with or without HDAICOUT.HDA. I've tried a half dozen different versions as well. Never seen any difference in the HDAcfg.ini. Should there be some? I'm not at all clear what HDAICOUT.HDA is doing. I thought it was just querying registers in the soundcard, but is it actually cofiguring the driver?

 

Quote

What do you mean? What is your PC speaker doing in Windows 98SE: beeping or giving actual sound?

I mean the regular PC speaker sounds. I have tried using the Windows 3.1 driver that plays sound through the PC speaker, but I removed it from the SYSTEM.INI since it wasn't that great.

 

Quote

This is a known problem, but can be related to the specific video driver too. Wat driver do you use for your X3100, VBemp? In case of testing Windows' Standard VGA (PCI) driver is the best choice.

Yes, I'm using VBEMP. I tried reverting to the built-in driver, but it didn't have any effect on the sound or HDAcfg.ini file. Still a lot of instability when trying to launch a DOS prompt, too, but it goes away completely when I don't load HDA2.DLL. I'll continue using the standard driver for testing, though. Hopefully it's only temporary because I don't know if having sound would be worth having to use 640x480 16 color mode.

Link to comment
Share on other sites

@bmw

Thanks for the Southbridge info, the graphics isn't important - as you thought allready.

It's clear from your log's that the codec isn't identified. All reponses to the GET-verbs starting with 001F are zero's.

Step 1) Can't find info about your Wyse Thin Client, but if you have a BIOS-Setup please remove all Power Saving settings (if any). If your device has a Modem: activate if found switched off. 

Step 2) Please try first higher values of wait1 and wait2, let's say:

wait1=$250

wait2=$250

Step 3) If the codec still gives no response, maintain the higher wait-timings and add:

pcipatchB=$4202

(details are in the SB600 Register Reference Manual page 230, Register 42h).

After each new setting allways a full reboot is needed.

Link to comment
Share on other sites

@sweaterfish

Good to know, but you can allways leave!

9 hours ago, sweaterfish said:

No, the HDAcfg.ini always looks the same, with or without HDAICOUT.HDA. I've tried a half dozen different versions as well. Never seen any difference in the HDAcfg.ini. Should there be some? I'm not at all clear what HDAICOUT.HDA is doing. I thought it was just querying registers in the soundcard, but is it actually cofiguring the driver?

HDACFG.INI should be longer without HDAICOUT.HDA, more like the one of @bmw

HDA2.DLL communicates with a codec through the HD-Audio controller. HDAICOUT.HDA can provide GET-verbs (non-zero response in HDAICIN.TXT), or SET-verbs (allways zero's as response). Max. about 200 verbs.

9 hours ago, sweaterfish said:

I mean the regular PC speaker sounds. I have tried using the Windows 3.1 driver that plays sound through the PC speaker, but I removed it from the SYSTEM.INI since it wasn't that great.

Good! Better don't use that driver together with HDA2.DLL

9 hours ago, sweaterfish said:

I'll continue using the standard driver for testing, though. Hopefully it's only temporary because I don't know if having sound would be worth having to use 640x480 16 color mode.

Only for testing purposes. If we succeed, you can use VBEMP again, if MS-DOS is needed, in real mode or in DOS-box you can allways temporary disable HDA2.DLL in SYSTEM.INI with a semicolon before wavehda=HDA2.DLL

I have the following steps in mind:

1) Tackle Thinkpad X61 hardware related issues.

2) Configuring HD-Audio controller register with pcipatchB in HDACFG.INI (and wait-timings or different Verbinterface if needed)

3) Retest Widget-settings in HDACFG.INI

4) Testing my general version of HDAICOUT.HDA (allready somewhere in this thread)

5) Writing a hardware specific HDAICOUT.HDA if needed

Regarding Step 1: remove or rename HDACFG.INI and HDAICOUT.HDA, reboot and enter your BIOS-Setup. Go to Config => Power and disable all power-saving setting. Further look if your model has a Modem. According to Linux sources the Modem should be ON ("they share a bus" was said).

Regarding Step 2: boot Windows and save HDACFG.INI as HDACFG.000, same for HDALOG.TXT. Then start INTELHDA.EXE and make a full printscreen of the HDA PCI-register. See for details my post of April 8, 2019 in this thread. Next Reboot to MS-DOS/Exit to Windows and provide HDACFG.001, HDALOG.001 and a second printscreen of the HDA PCI-register. Then upload your four files and the two printscreens.

Link to comment
Share on other sites

Just to chip in here, IIRC you had to produce a specific HDAICOUT.HDA to support my hardware, so I suspect that the same will be needed here.
It's still working fine BTW!
Cheers, Dave.
:)

Link to comment
Share on other sites

@Dave-H

Hello Dave-H, good to hear HDA2.DLL is still working on your system. No stability issues?

With all respect I doubt that your system needs a specific version of HDAICOUT.HDA in case of digital playback. My general version Hdaicout.hda.200 (April 29, 2019) gives the same SET-verbs as the first version I made for your system (Dave-H_Hdaicout.hda.200). Using analog inputs is a different thing - allways codec (brand)-specific. 

Link to comment
Share on other sites

I just seemed to remember that we had a lot of experimenting with HDAICOUT.HDA to get any sound out of my system, but as you say, I guess the problem that @sweaterfishis having is different.
My system is fine, no stability issues at all thanks!
I still get odd pops and clicks all the but at least the sound works, and I was only really needing it for the system sounds anyway as I have a multi-boot machine.
Cheers, Dave.
:)

Link to comment
Share on other sites

@Dave-H

The two (semi-universal) versions of HDAICOUT.HDA I mentioned both sent (after an intitial Codec Reset) six SET-verbs to ALL widgets in range 02-1F (30 widgets). Widgets listen only to verbs they are programmed for (and must conform to Intel's High Definition Audio Specification), otherwise verbs are neglected. So those versions are not codec-specific. True is: your system needed HDAICOUT.HDA, doesn't work out-of-the-box without.

Edited by deomsh
Typo's
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...