deomsh Posted June 23, 2021 Share Posted June 23, 2021 Sorry, I forgot VolumeWidget=$14 is the default setting of HDACFG.INI But how can you set only the speaker-volume to zero without losing headphones? Or is there an independent line-out jack? Or otherwise? Link to comment Share on other sites More sharing options...
beansmuggler Posted June 23, 2021 Share Posted June 23, 2021 Oh, I thought you meant that setting VolumeWidget to $14 would allow me to set the speaker volume to 0 in WAVEOUT while still being at max volume on my headphones. Link to comment Share on other sites More sharing options...
deomsh Posted June 23, 2021 Share Posted June 23, 2021 Yes, if it's working... But does it work actually in that way. Is the speaker reacting on WAVEOUT.EXE? Link to comment Share on other sites More sharing options...
beansmuggler Posted June 23, 2021 Share Posted June 23, 2021 No, on $14 it only plays audio at max volume regardless of WAVEOUT settings. Link to comment Share on other sites More sharing options...
deomsh Posted June 23, 2021 Share Posted June 23, 2021 If you want to mute the speaker, you can try by commenting out all entries in HDAICOUT.HDA starting with $014 (with a semicolon before the entry). Link to comment Share on other sites More sharing options...
beansmuggler Posted June 24, 2021 Share Posted June 24, 2021 (edited) Commenting these out seems to crash the driver on each boot with an incomplete white-block error message before the desktop can finish loading, with no popping unless VolumeWidget is set to $14. Uninstalling and reinstalling fixed the issue. Edited June 24, 2021 by beansmuggler Link to comment Share on other sites More sharing options...
deomsh Posted June 24, 2021 Share Posted June 24, 2021 Strange If you like, I can try to write a more specific HDAICOUT.HDA for your codec. Will be a lengthy excercise, because first the codec have to be read-out with Get-Verbs and output in HDAICIN.TXT, for comparison with the datasheet. Maybe things will become better, likely not. If you are happy with your current results there is no need to go into this heavy stuff, which will need some testing on your side of course. Although you can stop every time you like. Link to comment Share on other sites More sharing options...
beansmuggler Posted June 25, 2021 Share Posted June 25, 2021 I'm fine with it as it is, but I'm more than willing to cooperate if it would help the overall project. Link to comment Share on other sites More sharing options...
deomsh Posted June 25, 2021 Share Posted June 25, 2021 You have the real spirit! First I rearranged HDAICOUT.HDA to the signal path of STAC9205, according to the datasheet. Only many GET-Verbs added, to retrieve information. $010=DAC0 $00A=Port A $00D=Port D $014=MonoOut $015=MonoOutMix $024=ExtVolume Copy code below to an empty HDAICOUT.HDA (always backup previous version first) and set VolumeWidget to $10 Begin $0017FF00; CODEC RESET $0017FF00; CODEC RESET $001F000F;AC_PAR_POWER_STATE $001F0500;AC_VERB_GET_POWER_STATE $00170500;Power up! $001F0500;AC_VERB_GET_POWER_STATE End Begin $001F0000;get_gpio_caps $001F1500;get_gpio $001F1600;get_gpio_en $001F1700;get_gpio_dir $001F1800;get_gpio_wake $001F1900;get_gpio_unsol $001F1A00;get_gpio_sticky $001FEE00;get_gpio_invert $001FEF00;get_gpio_drive Begin $010A0000;AC_VERB_GET_Converter_FORMAT $01024011;AC_VERB_SET_Converter_FORMAT_44.1kHz_16-bits $010A0000;AC_VERB_GET_Converter_FORMAT $010B8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_right $0103907F;AC_VERB_SET_AMP_GAIN_MUTE;max_vol_right $010B8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_right $010BA000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_left $0103A07F;AC_VERB_SET_AMP_GAIN_MUTE;max_vol_left $010BA000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_left $010F0009;WCap $010F0500;AC_VERB_GET_POWER_STATE $01070500;Power up! $010F0500;AC_VERB_GET_POWER_STATE $010F0600;AC_VERB_GET_CHANNEL_STREAMID $010F0610;AC_VERB_GET_CHANNEL_STREAMID_1 $01070610;AC_VERB_SET_CHANNEL_STREAMID_1 $010F0600;AC_VERB_GET_CHANNEL_STREAMID $010F0610;AC_VERB_GET_CHANNEL_STREAMID_1 End Begin $00AF0009;WCap $00AF000C;PinCap $00AF000E;ConnLen $00AF0200;ConnList $00AF0100;AC_VERB_Get_Connection_Select_Control $00A70100;AC_VERB_Set_Connection_Select_Control $00AF0100;AC_VERB_Get_Connection_Select_Control $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00A70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00AF0800;UnsolResp $00AF0900;Get_Pin_Sense; $00AF1C00;PinConfig End Begin $00DF0009;WCap $00DF000C;PinCap $00DF000E;ConnLen $00DF0200;ConnList $00DF0100;AC_VERB_Get_Connection_Select_Control $00D70100;AC_VERB_Set_Connection_Select_Control $00DF0100;AC_VERB_Get_Connection_Select_Control $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00D70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00DF0800;UnsolResp $00DF0900;Get_Pin_Sense; $00DF1C00;PinConfig End Begin $014BA000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_left $0143A07F;AC_VERB_SET_AMP_GAIN_MUTE;max_vol_left $014BA000;AC_VERB_GET_AMP_GAIN_MUTE;status_output_left $014F0009;WCap $014F000C;PinCap $014F0012;OutAmpCap $014F000E;ConnLen $014F0200;ConnLst $014F0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $01470740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $014F0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $014F1C00;PinConfig End Begin $015F0009;WCap $015F000E;ConnLen $015F0200;ConnList End Begin $024F0009;WCap $024F0013;KnobCap $024F000E;ConnLen $024F0200;ConnList $024F0800;UnsolResp $024F0F00;KnobCtl $024FE000;KnobVSR End I will need HDAICIN.TXT and HDALOG.TXT Link to comment Share on other sites More sharing options...
beansmuggler Posted June 25, 2021 Share Posted June 25, 2021 Right here! It wouldn't boot properly until I entered Safe Mode first, but it worked out. My volume's quiet because I didn't want to disturb someone in the room who's napping haha HDAICIN.TXT HDALOG.TXT Link to comment Share on other sites More sharing options...
deomsh Posted June 26, 2021 Share Posted June 26, 2021 Thanks! According to the response in HDAICIN.TXT to Verbs $00AF0900 and $00DF0900 there was NO headphone jack inserted during that test. Is that true? Link to comment Share on other sites More sharing options...
beansmuggler Posted June 26, 2021 Share Posted June 26, 2021 Yes, the headphone and microphone jacks were empty Link to comment Share on other sites More sharing options...
deomsh Posted June 26, 2021 Share Posted June 26, 2021 Can you repeat the procedure? This time with headphone jack inserted. Further with the First two Codec_Reset lines commented out (maybe with two semi-colon's?). Good idea to make changes in Safe mode! I only need HDAICIN.TXT this time. After booting try if there is any response from your speaker if you pull out the jack/ insert again while playing an audio-file. Link to comment Share on other sites More sharing options...
beansmuggler Posted June 26, 2021 Share Posted June 26, 2021 Applied the commenting to HDAICOUT. By the way, did you mean two semicolons like ;;this, or just one per line like ;this? I did the latter. First boot had a white error box on desktop, but that's only because I forgot to turn my processor settings back to their lowest values for 98, haha The second attempt (with proper BIOS settings) worked well, and I heard sound from both the speaker and the headphones. I went into the Windows\Media folder and played The Microsoft Sound, which played smoothly from both the speakers and the headphones, but my computer froze right before the sound could finish playing. After shutting down and booting back up, I was stuck on a black screen. Going into Safe Mode and then Normal mode fixed it. I tried the Welcom98 song and it played to completion. The speaker played music with no audible pops when I unplugged and replugged the headphones during play. HDAICIN.TXT Link to comment Share on other sites More sharing options...
deomsh Posted June 26, 2021 Share Posted June 26, 2021 I ment two semi-colons to be sure ';;' Nevermind, one should work too. No further difference without CODEC_RESET. But headphone was detected on $00A with Verb F09: $FFFFFFFF instead $7FFFFFFF before. I found an electric diagram of Dell D830 (dell_latitude_d830_discrete_256mb_quanta_jm7b__100.pdf). It seems internal MonoOut is unused ($014 is unconnected) Instead LineOut (Port D = 0x00D) is wired to inputs of an External Stereo Amplifier. Headphone on Port A too. But there is some Sense A back-signaling. There are mute-possibilities too, but not directly (as you experienced already). Next is trying a minimal number of Set_Verbs and muting the Speaker. Please set all three Widget-entries in HDACFG.INI to $10 and try if Speaker is muted, while headphones are active. With following HDAICOUT.HDA Begin $0017FF00; CODEC RESET $0017FF00; CODEC RESET $001F0800;Get_Unsol_Resp End Begin $00AF0100;AC_VERB_Get_Connection_Select_Control $00A70100;AC_VERB_Set_Connection_Select_Control $00AF0100;AC_VERB_Get_Connection_Select_Control $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00A70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00AF0900;Get_Pin_Sense; $00AF0800;Get_Unsol_Resp End Begin $00DF0100;AC_VERB_Get_Connection_Select_Control $00D70100;AC_VERB_Set_Connection_Select_Control $00DF0100;AC_VERB_Get_Connection_Select_Control $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00D70720;AC_VERB_SET_PIN_WIDGET_CONTROL;in_enable $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00DF0800;Get_Unsol_Resp End BTW This time I will need HDALOG.TXT and HDAICIN.TXT both. Link to comment Share on other sites More sharing options...
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