Jump to content

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


Recommended Posts

Posted (edited)

You provided more information than I can currently process, because I am rather busy with another project (which is going quite bad, so needs much attention). I will response to one at a time.

On 3/8/2026 at 1:54 AM, isolar said:

Awesome, let me know if you need any help. I work with 2958 get verbs now sending all possible combinations to all widgets from $00 to $32 on the baytrail. In theory this should produce a very nice codec dump to be able to map and see what boot config is like on any codec. I will get out the other testing machines and try it on those too to see if it works.

I compiled HDADRV9L with:

function HDAloadcommands(url:string):boolean;
{...}

while(ICommands.count>0)do begin
{while(ICommands.count>0)and(x<255)do begin}

First I tested on Windows 3.1 on my Asrock board with VT1705 codec after compiling with Delphi 1: sound worked and my latest quasi-universal HDAICOUT.HDA too.

But if I added a bunch of GET Verbs I found in another old HDAICOUT-file in the Windows directory, HDAICIN.TXT was maximized to last Verb sent from 'absolute' line 255 (as seen earlier lines with Begin/ End or starting with ;; are counting too. Verbinterface=$1/$0 made no difference in this respect

But if same HDA2.DLL was tested on my Windows 98 SE installation on the same board, in HDAICIN.TXT all 357 Verbs in HDAICOUT.HDA (total 383 'absolute' lines) where logged, with their response. Only difference: with Verbinterface=$1 'ticks' at the end, with Verbinterface=$0 the '+ w g' or '+  !g' too. 

Was my simple-minded change 'enough'?

Edited by deomsh

Posted
9 hours ago, deomsh said:

You provided more information than I can currently process, because I am rather busy with another project (which is going quite bad, so needs much attention). I will response to one at a time.

Understood, I hope the other project gets good momentum for you. My excitement for this driver has surpassed my ability to keep up also! Lots of ideas running through my head so I try to brain dump here before I forget.

9 hours ago, deomsh said:

Was my simple-minded change 'enough'?

Exactly, removing the x limit should in theory run unlimited verbs. The only other check I implemented was: The line it reads must start with a '$' and it will bypass any ';;' or start/begin. Unsure if that is necessary but just for completion.

Hmm with your Win3.1 vs Win98 test, it seems something in Windows 3.1 limits it to 255 verbs even with x unlocked.. but I have not tested Win 3.1, only 98 so cannot advise yet. I will be keen to find out why that is.

I am now working on a new unit to incorporate with this driver that initializes HDA codecs just like the Linux method. Currently it is a new .PAS file that can be called from DRVPRC.PAS to initialize any codec (in theory), power on any necessary widgets, identify output paths and set connections correctly, enable DAC max volume, enable EAPD where necessary.... and eventually allow headphones with jack detect. Watler has already done the heavy lifting, just the Linux widget initialization method is to be put into PAS format and compiled. I will send updates on this when I have some results to show.

Attached is the HDAICOUT for all verbs for all widgets from $00 to $32 if you want to try. Only missing F0204 verb for any connection list entry greater than 0-3. F0204 will show connection list entry 4-7 if they exist but I haven't found a need for it yet.

 

HDAICOUT.HDA

Posted

So working on a Widget parser?

Just double checked on Windows 3.1 and Windows 98 SE with your latest HDAICOUT.HDA and the change in HDA2.DLL. I added the lines of my quasi-universal HDAICOUT.HDA to check with sound.

On Windows 3.1 no difference, in HDAICIN.TXT 254 lines, so same as earlier (no sound of course).

On Windows 98 SE first the desktop seems to freeze, but it took simply a long time to start/ write HDAICIN.TXT. After next test with Verbinterface=$1 same behaviour, delay was about 30 seconds on my stopwatch. Sound and music afterwards where good (on a non-XMS Ramdrive!).

Total 3189 lines in HDAICIN.TXT, fully up to the end of HDAICOUT.HDA - quite impressive. :thumbup

I will look in my datasheet-collection if ConnectionList 4-7 exists.

HDAICOUT.HDA_BIG_TEST_WIN31&WIN982_on_VT1705.ZIP

Posted
12 hours ago, deomsh said:

So working on a Widget parser?

Yes, seeing if possible. So far sound produced successfully with my new unit 'HDACODEC.PAS' on the 10EC_0280 codec without sleepingwidget, volumewidget or outputwidget present in HDAcfg.ini. No manual configuration required!

I have also located the section of code responsible for PCIPatchB and have started to add the DID's from your list.

So far it looks promising, but still more work to do.

12 hours ago, deomsh said:

On Windows 3.1 no difference, in HDAICIN.TXT 254 lines, so same as earlier (no sound of course).

Interesting, I have located a section of code that is handling real mode and protected mode with some 255 limits so quite possibly something there. When I get some time I might look into win3.1 also.

12 hours ago, deomsh said:

On Windows 98 SE first the desktop seems to freeze, but it took simply a long time to start/ write HDAICIN.TXT. After next test with Verbinterface=$1 same behaviour, delay was about 30 seconds on my stopwatch. Sound and music afterwards where good (on a non-XMS Ramdrive!).

Yes the delay was long for me at first also, but since fixing the timing it is much quicker now. Great that sound is working, especially on a Ramdrive! Awesome work!

12 hours ago, deomsh said:

Total 3189 lines in HDAICIN.TXT, fully up to the end of HDAICOUT.HDA - quite impressive. :thumbup

Excellent! Hopefully this helps to map any future codecs. A new record!

I had a look at your files, I randomly picked HDAICIN.BD4 and notice something strange on the F0005 response.. :

Node $01 replies as an Audio Function Group - This is normal

Nodes $19-$1E & $22-$23 also reply as Audio Function Group with unsolicited caps? - very strange. Total of 8 nodes reporting this.

$000F0004 (root) responds that there is only 1 connected AFG node which is node $01 (AFG) - correct. Then $001F0004 responds that the highest node number is 24 (18h) with the first node being 16 (10h). So 9 widget nodes connected to the AFG. 8 of these report they are AFG with unsolicited caps?

 

Posted (edited)

Great progress!

Regarding pcipatchB: maybe Linux sources can be used to make additions to your list (search for 'pci quirks').

13 hours ago, isolar said:

Nodes $19-$1E & $22-$23 also reply as Audio Function Group with unsolicited caps? - very strange. Total of 8 nodes reporting this.

Why strange? Widgets will sent unsolicited responses (if this is enabled). Same widgets noted in the Datasheet of VT1705: seven Port's and one (unknown) Vendor Widget.

13 hours ago, isolar said:

$000F0004 (root) responds that there is only 1 connected AFG node which is node $01 (AFG) - correct. Then $001F0004 responds that the highest node number is 24 (18h) with the first node being 16 (10h). So 9 widget nodes connected to the AFG. 8 of these report they are AFG with unsolicited caps?

I don't see your math: highest node number will be 10h + 18h - 1 = 27h (highest mentioned in the Datasheet is actually 27). :yes:

afbeelding.png.24020656ad271e4676da38d0a082c1d6.png

I don't know wich mechanism the codec will use to translate and sent the unsolicited response to the RIRB. Only 'Software' (i.e. the driver) can do something with it. I never 'reached' this level, but you will (soon). Better ask Copilot or study Intel's High Definition Audio Specification.

P.S. maybe I mis-read your question about why these other Widgets identifies themselves as AFG too. I looked into it for Widget 0x1C (on VT1705) I am currently investigating to find something useful for @Drew Hoffman .

afbeelding.png.9a1674d6b3e58584ec56afb8739f5642.png

So I looked for an explanation in Intel's High Definition Audio Specification: 

'7.3.4.4 Function Group Type

The Function Group Type parameter returns a value describing what the type of node is being addressed. This parameter is primarily useful for identifying the type of Function Group a node represents (such as Audio versus Modem) but can also be used to identify the type of “Other” or vendor specific nodes.

Parameter ID: 05h'

And so on...

Maybe of interest if searching with other Codec ID than already established as AFG? To be honest, I can't remember I ever realy thought about it. In my humble opinion bytes [0:7] give no useful information here, but byte [8] does in case of targeting 'Software' (I suppose).

 

BTW if some MSFN-members - reading this thread - are still not convinced of the usefulness: each print-screen selection made with WinKey+Shift+S and mouse and directly pasted above, without any extra (visible) use of other programs (Windows 10 :), Windows 11 is different :( - maybe possible to change to 'old' style?).

 

Edited by deomsh
P.S. + typo's
  • 2 weeks later...
Guest space223
Posted
On 1/31/2026 at 5:45 PM, deomsh said:

Hello @space223 , can't say, there are no records of this codec with HDA2.DLL. Did you try already?

Sorry for the late reply, but yes i have tried. sadly it didnt work.

Posted (edited)

That's sad. Do you want to proceed with this driver, or are you finished?

On the other hand there is WDMHDA in development of @Drew Hoffman(Windows 98 SE).

Edited by deomsh
Posted

Some more success!

Widget parser is now working correctly to establish correct line out pin, mixer pin and DAC to obtain playback path. Analog only, digital is skipped.

Automatically checks and sets the connections.

Automatically sets stream and channel settings.

Automatically sets volume based on 0dB step level.

Automatically enables EAPD if required.

Automatically applies PCI patch if required (on 0280 codec).

Tested and working on Realtek 0280 codec, Realtek ALC272 codec, and IDT 92HD75B3X5 codec - All installed from scratch and produce sound automatically, no config required.

IDT codec note that may be of use to @Drew Hoffman - I found this particular IDT codec provides the output amp caps from the AFG node rather than the DAC node which Realtek does. I read DAC first and if output amp caps are zero I fall back to reading the AFG and applying 0dB to the DAC. Unsure what other codecs do it this way.

Next step I will integrate auto headphones with jack detect, then look into microphones. Any other suggestions?

Guest space223
Posted
ill probably check out WDMHDA later when i have the chance
Posted (edited)

WOW, you are realy the new HDA2-San :worship:

 

On 3/22/2026 at 2:31 PM, isolar said:

Widget parser is now working correctly to establish correct line out pin, mixer pin and DAC to obtain playback path. Analog only, digital is skipped.

How did you 'get' the right Line-out Pin-Widget? Once you have established this, I can understand finding the Playback-path is possible with your Widget-parser.

In my Excel-notes I had to make a - hopefully (more or less) educated - guess, if no experimental results were available. And even IF available, wiring of Ports of a Codec Integrated Circuit is still a choice of the Manufaturer, although some Datasheet's give (preferred) default Ports...

 

On 3/22/2026 at 2:31 PM, isolar said:

Automatically sets volume based on 0dB step level.

Lately I searched Intel's High Definition Audio Specification during traffic, because this was one of your earlier questions I still didn't adress so far.

I found following interesting statement in Section 7.3.3.7:

'Gain is a 7-bit “step” value specifying the amplifier gain, the actual dB value of which is determined by the “StepSize,” “Offset,” and “NumSteps” fields of the Output Amplifier Capabilities parameter for a given amplifier. After codec reset, this “Gain” field must default to the “Offset” value, meaning that all amplifiers, by default, are configured to 0 dB gain. If a value outside the amplifier‟s range is set, the results are undetermined.'

I am not saying your mod is 'not good' or something like that! I was just wondering if above could be the case on your available codec's?

 

On 3/22/2026 at 2:31 PM, isolar said:

Tested and working on Realtek 0280 codec, Realtek ALC272 codec, and IDT 92HD75B3X5 codec - All installed from scratch and produce sound automatically, no config required.

Because you are the only one with a real IDT-codec in this thread so far (I found IDT bought three Audio-lines from STAC in 2006), could you provide one of your BIG HDAICOUT.HDA => HDAICIN.TXT's? So I can compare with the Datasheet.

 

On 3/22/2026 at 2:31 PM, isolar said:

Next step I will integrate auto headphones with jack detect, then look into microphones.

This would be quite nice. Because of my current projects I am constantly switching my headphones between computers. The (Realtek-driver) Dialog on Windows 10 is realy annoying: 'Which Device you just plugged in?'. Although Headphones are suggested, this is still a mess in my personal opinion: we live in 2026, not 2006, even no sound if a choice is not made (but maybe sound in full screen?)... Of course this doesn't apply to HDA2. On the other hand, if auto-switching give any problems a nice Delphi Dialog-screen in Windows 10' Realtek-driver style will be not so bad. :rolleyes:

 

On 3/22/2026 at 2:31 PM, isolar said:

Any other suggestions?

There are many.

Without any special order of preference:

1) Enabling Audio-CD input, if loopback is available. Personally I like analog CD-Audio more than digital. Especially useful if the CD/ DVD drive has no separate headphones-jack. I don't know how to find out which Port should be used. Once I made an example as a surprise to Dave-H, based on the Datasheet. Can be eanbled in HDAICOUT.HDA - see https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/page/9/#findComment-1162932

2) Inserting a database of HDA-controllers. Currently there is always the same one showed (from Dave-H's system, April 7 2019 in this thread):

afbeelding.png.8d6c2ee2b4918d03b794564f1fb851ec.png

Once I delivered my GENHDA16.INF, made a long time ago, modified after Watler criticized initial versions: https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/#findComment-1161697

Earlier I started HDAWIN16.INF to include specific HDA-Controllers for read-out in Device Manager. I never published this version on MSFN, there doesn't seem to be any demand. I can't remember if I realy finished the INF-file, at least it worked on my - at that time two - available systems. Below the idea, maybe you can use the values, if you want to work on this part:

;; HDAWIN16.INF
;; 2017/12/30
;; "Watlers World" 16-bit High Definition Audio Driver
;; Win3x/Win9x only
;; (c) Copyright 2017 Deomsh

(...)

[Manufacturer]
%GEN%=GEN.Mfg
%ATI%=ATI.Mfg
%AMD1%=AMD1.Mfg
%SIS%=SIS.Mfg
%NVAMD%=NVAMD.Mfg
%ULI%=ULI.Mfg
%VIA%=VIA.Mfg
;%RDCS%=RDCS.Mfg
;%Teradici%=Teradici.Mfg
%INTEL%=INTEL.Mfg

[GEN.Mfg]
%GEN_HDA.DeviceDesc%=HDA2,PCI\CC_0403

[ATI.Mfg]
%ATI_SB450_HDA.DeviceDesc%=HDA2,PCI\VEN_1002&DEV_437B
;%ATI_SB600_HDA.DeviceDesc%=HDA2.Install,PCI\VEN_1002&DEV_4383
%ATI_SB600_HDA.DeviceDesc%=HDA2,PCI\VEN_1002&DEV_4383
%ATI_RS600_HDA.DeviceDesc%=HDA2,PCI\VEN_1002&DEV_793B
%ATI_RS690_HDA.DeviceDesc%=HDA2,PCI\VEN_1002&DEV_7919

[AMD1.Mfg]
;%AMD_HDA_768/8111.DeviceDesc%=HDA2,PCI\VEN_1022&DEV_7445	; AC97 (HDA unknown)
%AMD_HDA_17h.DeviceDesc%=HDA2,PCI\VEN_1022&DEV_1457

[SIS.Mfg]
%SIS_966_HDA.DeviceDesc%=HDA2,PCI\VEN_1039&DEV_7502

[NVAMD.Mfg]
%NFORCE_HDA_MCP51.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_026C
%NFORCE_HDA_MCP55.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0371
%NFORCE_HDA_MCP61a.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_03E4
%NFORCE_HDA_MCP61b.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_03F0
%NFORCE_HDA_MCP65a.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_044A
%NFORCE_HDA_MCP65b.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_044B
%NFORCE_HDA_MCP67a.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_055C
%NFORCE_HDA_MCP67b.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_055D
%NFORCE_HDA_MCP72/78.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0774
;%NFORCE_HDA_MCP78b.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0775 ; unknown
;%NFORCE_HDA_MCP78c.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0776 ; unknown
;%NFORCE_HDA_MCP78d.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0777 ; unknown
%NFORCE_HDA_GF108.DeviceDesc%=HDA2,PCI\VEN_10DE&DEV_0BEA

[ULI.Mfg]
%ULI_HDA.DeviceDesc%=HDA2,PCI\VEN_10B9&DEV_5461

[VIA.Mfg]
%VIA_VT82xx_HDA.DeviceDesc%=HDA2,PCI\VEN_1106&DEV_3288

[RDCS.Mfg]
;%RDCS_HDA.DeviceDesc%=HDA2,PCI\VEN_17f3&DEV_ 	; DEV is unkown!

[Teradici.Mfg]
;%Teradici.DeviceDesc%=HDA2,PCI\VEN_6549&DEV_1200	; TERA1200 PC-over-IP Host

[INTEL.Mfg]
%C200_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_1C20
%C600_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_1D20
%C126_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_1E20
%ICH6_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_2668
%ESB_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_269A
%ICH7_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_27D8
%ICH8_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_284B
%ICH9_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_293E
%ICH10a_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_3A3E
%ICH10b_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_3A6E
%3400_HDA.DeviceDesc%=HDA2,PCI\VEN_8086&DEV_3B56

(...)

[Strings]
(...)
GEN = "Generic"
ATI = "ATI Technologies Inc"
;AMD1 = "Advanced Micro Devices Inc."
SIS = "Silicon Integrated Systems"
NVAMD = "NVIDIA Corporation"
ULI = "ULi Electronics Inc."
VIA = "VIA Technologies, Inc."
RDCS = "RDC Semiconductor, Inc."
Teradici= "Teradici Corp."
INTEL= "INTEL Corporation"
GEN_HDA.DeviceDesc =  "High Definition Audio Controller"
ATI_SB450_HDA.DeviceDesc = "ATI SB450 HD-Audio Controller"
ATI_SB600_HDA.DeviceDesc = "ATI SB600 HD-Audio Controller"
ATI_RS600_HDA.DeviceDesc = "ATI RS600 HD-Audio Controller"
ATI_RS690_HDA.DeviceDesc = "ATI RS690 HD-Audio Controller"
;AMD_HDA_768/8111.DeviceDesc = "AMD 768/8111 AC97 Controller"
AMD_HDA_17h.DeviceDesc =  "AMD 17h HD-Audio Controller"
SIS_966_HDA.DeviceDesc = "SIS 966 HD-Audio Controller"
NFORCE_HDA_MCP51.DeviceDesc = "NFORCE MCP51 HD-Audio Controller"
NFORCE_HDA_MCP55.DeviceDesc = "NFORCE MCP55 HD-Audio Controller"
NFORCE_HDA_MCP61a.DeviceDesc = "NFORCE MCP61a HD-Audio Controller"
NFORCE_HDA_MCP61b.DeviceDesc = "NFORCE MCP61b HD-Audio Controller"
NFORCE_HDA_MCP65a.DeviceDesc = "NFORCE MCP65a HD-Audio Controller"
NFORCE_HDA_MCP65b.DeviceDesc = "NFORCE MCP65b HD-Audio Controller"
NFORCE_HDA_MCP67a.DeviceDesc = "NFORCE MCP67a HD-Audio Controller"
NFORCE_HDA_MCP67b.DeviceDesc = "NFORCE MCP67b HD-Audio Controller"
NFORCE_HDA_MCP72/78.DeviceDesc = "NFORCE MCP78a HD-Audio Controller"
;NFORCE_HDA_MCP78b.DeviceDesc = "NFORCE MCP78b HD-Audio Controller"
;NFORCE_HDA_MCP78c.DeviceDesc = "NFORCE MCP78c HD-Audio Controller"
;NFORCE_HDA_MCP78d.DeviceDesc = "NFORCE MCP78d HD-Audio Controller"
NFORCE_HDA_GF108.DeviceDesc = "NFORCE F108 HD-Audio Controller"
ULI_HDA.DeviceDesc = "ULI HD-Audio Controller"
VIA_VT82xx_HDA.DeviceDesc = "VIA VT82xx HD-Audio Controller"
;RDCS_HDA.DeviceDesc = "RDCS HD-Audio Controller"
;Teradici.DeviceDesc = "Teradici HD-Audio Controller"	; ??
C200_HDA.DeviceDesc = "INTEL C200 HD-Audio Controller"
C600_HDA.DeviceDesc = "INTEL C600 HD-Audio Controller"
C126_HDA.DeviceDesc = "INTEL C126 HD-Audio Controller"
ICH6_HDA.DeviceDesc = "INTEL ICH6 HD-Audio Controller"
ICH7_HDA.DeviceDesc = "INTEL ICH7 HD-Audio Controller"
ESB_HDA.DeviceDesc = "INTEL ESB HD-Audio Controller"
ICH8_HDA.DeviceDesc = "INTEL ICH8 HD-Audio Controller"
ICH9_HDA.DeviceDesc = "INTEL ICH9 HD-Audio Controller"
ICH10a_HDA.DeviceDesc = "INTEL ICH10r HD-Audio Controller"
ICH10b_HDA.DeviceDesc = "INTEL ICH10 HD-Audio Controller"
3400_HDA.DeviceDesc = "INTEL 3400 HD-Audio Controller"
(...)

3) Adressing stability issues of HDA2.DLL on Windows 9x. You never reported any, as far as I remember. Are your three systems FULLY stable?

4) Making a better version of WAVEOUT.EXE, without the annoying hickup's while moving the volume-sliders. Also a more logarithmic scale would be nice. My personal prefence would be to have ONE Volume slider, and another one for Balance, like in 'Options' of Windows 98' Mplayer2.

5) If available: making the Volume Knob Widget working. I never 'saw' one, will be most useful on laptops, I presume. My only avaiIable laptop is from work, but even using cmd as non-administrator is blocked for me, not to mention booting from an USB drive. :(

6) Enabling Vendor Specific Widgets. If you want to try, I can assist searching on the Internet in Linux- and other forum's.

7) Last but not least: full compliance to Intel's High Definition Audio Specification. Earlier I delivered a Report, made by pi (I believe at that time GLM 4.5). Although it is 'only' AI, can still be useful as suggestions for testing/ developing hypotheses.

I think there is more, but can not remember currently. :w00t:

P.S. This morning I remembered the most important:

8) Make a setting in HDACFG.INI to force Codec index. For instance:  'Force Index=$0/1/2'.

Edited by deomsh
Rearranging, addition, P.S.
Posted
19 hours ago, deomsh said:

WOW, you are realy the new HDA2-San

Thank you but really not possible without your collaboration! Collaborate, fill the gaps, benefit for the community. I hope one day it will all be of use. Watler is hopefully proud that his work carries on today.

19 hours ago, deomsh said:

How did you 'get' the right Line-out Pin-Widget?

Using F000C verb you can determine output capable pins and headphone capable. Then with F1C verb, you are able to determine, fixed internal/speaker and jack external/headphones outputs. Once established you can find the shortest path backwards to the DAC using F02 through the connection lists until output path is established. As I am only testing on laptops, I need to run tests on PC with non-fixed speakers to see if still operational in that condition. I have a feeling external jack in that situation and possibly identified as Line Out?

 

19 hours ago, deomsh said:

I was just wondering if above could be the case on your available codec's?

Hmmm that is interesting, I seem to recall in earlier development that volume was indeed set to $57 and I couldn't figure out why.. seems you are correct and running codec reset sets 0dB automatically! I will look further into this thank you!

19 hours ago, deomsh said:

could you provide one of your BIG HDAICOUT.HDA => HDAICIN.TXT's? So I can compare with the Datasheet.

Certainly! Attached below. I had a quick look at your chart and can see you will indeed be able to update some of the cells. Apologies for the crudeness I have not had time to clean it up yet.

19 hours ago, deomsh said:

Next step I will integrate auto headphones with jack detect, then look into microphones.

Excellent glad this will be of use! For my current beta testing it simply logs in HDALOG file when there is a change and indicates either headphones or speaker active. Still new so some tweaking to do but promising so far and zero annoying pop ups.. unless you would like one?

19 hours ago, deomsh said:

There are many.

Excellent thank you for this list I will have a go at all of them! Your updated INF file will come in handy.

Stability so far no issues but I am yet to 'pressure test' everything. VLC player is next on my list.. from memory I need kernelex for the latest possible version 2.x? Any tips here appreciated.

The force codec index is relatively easy as I will just convert my initial codec index selector that popped up at boot into the hdacfg file. Although with the timing fixes I implemented I currently do not have an issue with correct codec index.

A volume slider is definitely high on my list!

Vendor specific widgets, if you are able to provide any info on those then i'm happy to look into it. I believe they are filters attached to different widgets but have never looked into them.

Full compliance to HDA spec eventually will be awesome! Currently much work to be done :D

HDAICIN_ALL_IDT92HD75B3X5.TXT

Posted

I will look into it, will take some time. Yesterday a project I am working at seemed to be going well, but later I discovered an error in my mod of grldr bootcode - so a drawback....

Posted
On 3/24/2026 at 11:44 AM, isolar said:

VLC player is next on my list.. from memory I need kernelex for the latest possible version 2.x? Any tips here appreciated

There are good topics on MSFN: https://msfn.org/board/topic/152471-kernelex-apps-compatibility-list-new/

Don't forget https://msfn.org/board/topic/105936-last-versions-of-software-for-windows-98se/ , https://en.namu.wiki/w/KernelEX and  https://retrosystemsrevival.blogspot.com/p/list-of-working-windows-98me-kernelex.html?m=1 . 

There used to be a wiki from Schwups, can't find it anymore?

Posted (edited)

Thank you! I will have a go at the MSVCR dll replacement and try v3.x. So far v1.11 working, but audio stream has some bad stutter - testing on a 700mb wav file(!!).

Not sure at all.. but I think something might be funky with the nosnoop setting on reboot possibly..? However WPCREDIT shows all is well so i'm not sure I am correct with this assumption. Where can I find the documentation on the nosnoop setting - PCI registers? (EDIT: Found them https://www.yumpu.com/en/document/read/50745087/intelar-system-controller-hub-intelar-sch-datasheet/119).

I found with further testing on the baytrail that when I do a fresh install of the driver the sound is clean, but on next reboot the sound has a high frequency over the top of it for the windows startup sound and on smaller sound files - warm or cold boot = no difference. Double codec reset is being run at every boot.. might be something to do with it? This only happens on the Baytrail laptop where nosnoop needs to be set. Further testing required on the other laptops but seem to have clean audio on reboot on those which is why I am investigating nosnoop.

This is with the auto patch pcipatchb=$7900 I implemented set by reading the PCI DID 0F04. If I completely uninstall the driver and reinstall then again on the 1st boot the sound is clean again. Scratching my head.. maybe nosnoop is not the issue and it is something to do with the stream settings or CORB/RIRB? DMA? I am very fresh on these so am doing a lot of reading of the Intel HDA Spec and PCI registers.

Any advice or experience here greatly appreciated!

EDIT2: The wav file plays on the other laptops but it is slow.. maybe 10-20% slower than it should be. It is a 16bit 44.1khz wav file. Any suggestions on what is happening will be appreciated!

Edited by isolar

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...