Drew Hoffman Posted June 18 Posted June 18 Also sometimes the order in which the verbs are sent can matter. Some Realtek codecs like the ALC272 need to have a format set before the node is powered up, and some other codecs need to be powered up before they will respond to setting the format.
deomsh Posted June 19 Posted June 19 (edited) 22 hours ago, Drew Hoffman said: Some Realtek codecs like the ALC272 need to have a format set before the node is powered up, Interesting, noted. I looked into the thread of @Dave-H but two times no issue in case of ALC272 ( @Danielx and @isolar ) . At least not in case of HDA2.DLL. Not fully sure if Verbinterface=$1 in both cases. Edited June 19 by deomsh Corrections
isolar Posted June 19 Posted June 19 (edited) Confirmed I always set power on first, then stream format later after path is connected. This works on ALC272 with latest HDA2.DLL. Works with Verbinterface=$1 and $0 - very fast with $0 (IC mode)! Actually the speaker on these devices is interesting as it shows the connection type from F1C get verb as a 'ATAPI Internal' - 3h rather than an 'Other Analog' - 7h as most laptops do. I wonder if this has something to do with it? However the log shows it definitely is identified as a speaker so maybe not the problem, and back to the power node i'm thinking that the WDM driver routes through the mixer node 0E (?) so possible your original thinking of powering on this node ($14) might do the trick. Edited June 19 by isolar
deomsh Posted June 22 Posted June 22 (edited) I tested v021 on my three boards. All Windows 98 First Edition (I am currently working on Windows 98 FE for other reasons). On ACER I can see switching my Headphones-jack from Back to Front is logged (see the log of playing mp3 with WINPLAY3). On two boards DirectX 9.0c was installed, seems to have issues, but I am not sure currently if I must use a lower version on Windows 98 FE. BTW on all three boards resetting hda.sys with Device Manager was not possible: Yellow Exclamation Mark. I logged those trials too (except on N68). Wdmhda.021_WIN98FE_N68&VT1705_SB600&ALC662_C200&ALC662.zip Edited June 22 by deomsh
Drew Hoffman Posted June 22 Posted June 22 Perhaps it was the ALC262 or 268 which needed the format set before powering on the node, now I can't remember. I think it's expected for 98 FE that WDM sound drivers won't work if they are disabled and enabled again without restarting. There are some known issues with the volume control failing to appear after installing WDM audio drivers listed in old Microsoft knowledge base articles. On Windows 98 SE you may need to install the WDM Audio Update hotfixes Q242937 or Q269601, not sure if these will install on FE. If you are using Windows 98 QuickInstall these hotfixes are already included. Not sure what is causing all the "the child FDO has not set DO_POWER_PAGABLE" errors in your logs but the FDO object addresses it's listing don't match the ones logged by my driver, does this still happen without my driver loaded at all?
deomsh Posted June 22 Posted June 22 (edited) 4 hours ago, Drew Hoffman said: There are some known issues with the volume control failing As such Volume Control initiliazed without problems during install and worked for me (WinPlay3 has no volume slider). 4 hours ago, Drew Hoffman said: does this still happen without my driver loaded at all? Good idea, I will try to test. But to me it seems DirectX related, not there in the N68 log's with the original DirectX 5 on that board (as far as I can see). I will try to install higher DirectX versions one by one on the N68 installation, to see if there is a version-relation. Or is your driver not supposed to support Windows 98 FE? In that case my testing makes no sense. Just thought it could be of some use to you. Personally I was interested to see if your Headphone polling was working with HDAWDM.021 Edited June 22 by deomsh
Drew Hoffman Posted June 23 Posted June 23 (edited) The driver is supposed to support Windows 98 first edition in that I don't use any of the WDM APIs that are only available on later versions of Windows (such as Kernel Streaming Events) but there are known bugs with the WDM audio implementation on 98 FE such as sample rate and bit depth conversion not working, and problems with the Sound Blaster emulator driver. Microsoft doesn't recommend the use of WDM audio drivers for 98 FE. DirectX 8 and newer update some of the Windows Kernel Streaming audio components to support DirectSound. The DO_POWER_PAGABLE error could be printed by another driver you have installed or it could be 98 FE's immature ACPI implementation. I haven't tested much on 98 FE. The worst bug I need to fix with the current version is the choppy/silent audio when the stream is paused and unpaused with the play pointer in the last 15% of the buffer (so about a 1/7 chance). Not sure why this is happening at all, must be something within portcls. Edited Wednesday at 07:52 PM by Drew Hoffman
deomsh Posted Saturday at 01:11 PM Posted Saturday at 01:11 PM (edited) Without Audio driver: no error if running DxDiag (empty log). I tested with DirectX 8.0 and DirectX 8.1 both. Only difference found: DirectX 8.0 gives no blue screen, general HResult error only. No problems with Playback or Volume noticed. I found no special WDM-related updates in case of Windows 98FE. The two you mentioned before won't install on Windows 98FE. WIN98FE_Wdmhda.021_DX5.1_DX8.0a_DX8.1a.zip Edit: after initial problems I succeeded to install DirectX 7.0a on Windows 98FE. Everything is, or seems to be fine! BTW DxDiag_WDMHDA.txt doesn't log tests as OK, but ALL tests on both DirectSound and DirectMusic where good! However, no Kernel mode mentioned with DirectMusic? WIN98FE_WDMHDA.021_DX7.0a.zip Edited Saturday at 02:03 PM by deomsh Added tests of DirectX 7.0a
Drew Hoffman Posted Saturday at 07:32 PM Posted Saturday at 07:32 PM (edited) Someone else had reported that DirectX 8.1 and 9.0 DXDIAG can crash when checking digital signatures. In your test with disabling/enabling the driver with DirectX 5: I have no idea what a STATESTS value of 0xBDF7 could possibly mean, the specification defines the high bit as Reserved, Always 0. The only thing I can think of to do if that happens is reset STATESTS and then reset the controller. e: no it has to be reading complete garbage instead of HDA controller registers, i should return an error as soon as the version number doesn't make sense. DirectMusic will always be user mode not kernel mode; my driver doesn't contain a MIDI synthesizer and relies on the stock general MIDI Microsoft GS Wavetable Synth. I'm currently exploring other ways of doing FM sound in DOS games (resurrecting the old VDMSound project) but it seems I will need to disassemble the port trapping VxD to add more features. It could use some buffering for port writes to reduce the synchronization overhead, it fails really badly with Diode Millliampere's Adlib Tracker music. e2: I don't know why in some of these dxdiag logs it lists my driver's name as "°" (0xB0 0x03), where can that be coming from? Edited Saturday at 10:05 PM by Drew Hoffman
deomsh Posted 1 hour ago Posted 1 hour ago On 6/27/2026 at 9:32 PM, Drew Hoffman said: In your test with disabling/enabling the driver with DirectX 5: I have no idea what a STATESTS value of 0xBDF7 could possibly mean, the specification defines the high bit as Reserved, Always 0. The only thing I can think of to do if that happens is reset STATESTS and then reset the controller. I had a long conversation with Google AI on this, could possibly be noise in combination with timing/ chipset/ WIN98FE issues. The probabilities in the statistics of the LLM predicted things will become better if I used ACPI on WIN98FE. After a longer process this was really the case for Wave. Only MIDI is not working anymore after Disabling/ Enabling hda.sys. Interesting are the Read-outs of WPCREDIT ('Idea' from Google AI). Some comments are above my level, maybe you can use it. I also tried 'Low' DMA (set to max 16MB), but no difference. On 6/27/2026 at 9:32 PM, Drew Hoffman said: DirectMusic will always be user mode not kernel mode; my driver doesn't contain a MIDI synthesizer and relies on the stock general MIDI Microsoft GS Wavetable Synth. More clear for me now. On 6/27/2026 at 9:32 PM, Drew Hoffman said: resurrecting the old VDMSound project This would be VERY nice, in the past I tried VDMSound with Watler's HDA2.DLL, but Prince of Persia 1 never played me Midi. On 6/27/2026 at 9:32 PM, Drew Hoffman said: I don't know why in some of these dxdiag logs it lists my driver's name as "°" (0xB0 0x03), where can that be coming from? Not from your driver, or do have you plans to rename to hda2.dll? This was an inactive registry entry mentioned in DxDiag report: 20 43 61 72 64 20 6E 61 6D 65 3A 20 B0 03 0D 0A 20 20 20 20 44 72 69 76 65 72 3A 20 48 44 41 32 2E 64 6C 6C 0D 0A 0D 0A Card name: ° Driver: HDA2.dll I removed the inactive entry before current tests. WIN98FE_ACPI_DX7.0_DUT_WDMHDA_021.zip Google AI on STATESTS and ACPI with WDMHDA.021 on WIN98FE.ZIP BTW conversation is mainly in Dutch, I asked my AI-Agent to translate to American English. Dutch readers can (try to) read both versions. If someone cannot read md-files, just use Total Commander (No-nag-shareware) with the md-Lister Plugin. Note on 'Google AI': still now and then hallucinating, but if asked if 'something' is 'true' or so, the LLM is correcting earlier statements. Seems things are becoming a little bit better.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now