Jump to content

deomsh

Member
  • Posts

    545
  • Joined

  • Last visited

  • Days Won

    2
  • Donations

    0.00 USD 
  • Country

    Netherlands

deomsh last won the day on June 2 2021

deomsh had the most liked content!

About deomsh

Profile Information

  • OS
    98SE

Recent Profile Visitors

5,497 profile views

deomsh's Achievements

54

Reputation

  1. Thanks! Judged to the response of this GET-verb in HDAICIN.TXT you really did the test with headphones unplugged: sent $019F0900; got $7FFFFFFF ticks=0000000A Sources on this verb are not really clear however. I hope next version of HDAICOUT.HDA will be the final one. Volume is set back to maximum (0x4A). In previous version I gave you the default state (0x3C). What is left: only a few SET verbs: ;;This_version_of_HDAICOUT.HDA_should_be_used_for_Thinkpad_T420_(Conexant_cx20672_-_Alsa_ctx5066_family),20240503,by_deomsh_made_for_awhooley Begin $0017FF00;AC_VERB_SET_CODEC_RESET; $0017FF00;AC_VERB_SET_CODEC_RESET;! ;;node_0x01:_Audio_Function_Group $00170500;AC_VERB_SET_POWER_STATE;Power up! $00171601;AC_VERB_SET_GPIO_MASK,01 $00171701;AC_VERB_SET_GPIO_DIRECTION,01 $00171501;AC_VERB_SET_GPIO_DATA,01 ;;node_0x10:_DAC1 $01070500;AC_VERB_SET_POWER_STATE;Power up! $0103B04A;AC_VERB_SET_AMP_GAIN_MUTE;max_vol(default=3C) ;;node_0x19:_OUT_HP_Detect_([Jack]_HP_Out_at_Ext_Left) $01970500;AC_VERB_SET_POWER_STATE;Power up! ;;node_0x1C:_OUT_Detect_(Line_Out_at_Ext_N/A) $01C70500;AC_VERB_SET_POWER_STATE;Power up! ;;node_0x1D:_IN_OUT_EAPD_Detect_(Line_Out_at_Ext_N/A) $01D70500;AC_VERB_SET_POWER_STATE;Power up! $01D70C02;AC_VERB_SET_EAPD_BTLENABLE;ExtenalAmplifierPowerUp ;;node 0x1F:_OUT_([Fixed]_Speaker_at_Int_Bottom) $01F70500;AC_VERB_SET_POWER_STATE;Power up! End HDAICOUT3_(Thinkpad_T420_Conexant_cx20672_Alsa_ctx5066_family).zip
  2. I am afraid something went wrong during the 'EDIT'. Should work again.
  3. GOOD! Nice your speaker can be muted with a switch, this makes my task MUCH easier. I made a smaller version of HDAICOUT.HDA, with verbs that seems still necessary. Smaller is better (more responsive)! But I added a few GET verbs I forgot in previous version. Judged from your HDAICINA-D.TXT's most default values were already 'good'. This time I won't change the default converter format: you will get REAL High Definition Audio with the default of 48kHz/16-bits (I hope it is working). Can you test once again without headphones. Only one HDAICOUTE.txt needed. EDIT: I will need HDALOGE.TXT too, I want to check if HDA2.DLL will still default to stream 01 and 44.1kHz/16-bits. HDAICOUT2_(Thinkpad T420_Conexant cx20672_ Alsa_ctx5066_family).ZIP
  4. Very good news! Analyzing the HDAICIN.TXT's will take some time. If I understand you well, with the second test speakers are always working, also if the headphone is plugged in?
  5. I studied all sources about the ctx5066-family I could find. According Linux' ALSA sources your codec needs enabling first GPIO-pin. I do not have any experience with GPIO-verbs, but we can try. I made following debug-version of HDAICOUT.HDA. I added many extra so called 'GET-verbs' to retrieve more information from your codec. As can easily be seen this is NOT an universal version, but addressing specific nodes/ widgets. Verbs starting with ';;' are currently unused: ;;This debug-version of HDAICOUT.HDA should be used for Thinkpad T420 (Conexant cx20672 - Alsa ctx5066 family) Begin $0017FF00;AC_VERB_SET_CODEC_RESET; $0017FF00;AC_VERB_SET_CODEC_RESET;! End Begin $000F0000;AC_PAR_VENDOR_ID $000F0002;AC_PAR_SUBSYSTEM_ID $000F0004;AC_PAR_NODE_COUNT;Subordinate_Node_Count $001F0004;AC_PAR_NODE_COUNT;Subordinate_Node_Count $001F0005;AC_PAR_FUNCTION_TYPE $001F0008;AC_PAR_AUDIO_FG_CAP $001F000A;AC_PAR_STREAM;Sample_Size_Rate $001F000B;AC_PAR_PCM;Stream_Formats $001F000F;AC_PAR_POWER_STATE $001F0011;AC_PAR_GPIO_CAP;Number_GPIO'S $001F2000;AC_VERB_GET_SUBSYSTEM_ID;Board_Implementation_ID $001F0500;AC_VERB_GET_POWER_STATE $00170500;AC_VERB_SET_POWER_STATE;Power up! $001F0500;AC_VERB_GET_POWER_STATE $001F1600;AC_VERB_GET_GPIO_MASK $001F1700;AC_VERB_GET_GPIO_DIRECTION $001F1500;AC_VERB_GET_GPIO_DATA $00171601;AC_VERB_SET_GPIO_MASK,01 $00171701;AC_VERB_SET_GPIO_DIRECTION,01 $00171501;AC_VERB_SET_GPIO_DATA,01 $001F1600;AC_VERB_GET_GPIO_MASK $001F1700;AC_VERB_GET_GPIO_DIRECTION $001F1500;AC_VERB_GET_GPIO_DATA $001F0011;AC_PAR_GPIO_CAP;Number_GPIO'S End Begin ;;node 0x10: DAC1 $010F0009;AC_PAR_AUDIO_WIDGET_CAP $010F000A;AC_PAR_PCM;SAMPLE_SIZE_RATE_CAP $010F000B;AC_PAR_STREAM;STREAM_FORMATS $010F0012;AC_PAR_AMP_OUT_CAP $010F0500;AC_VERB_GET_POWER_STATE $01070500;AC_VERB_SET_POWER_STATE;Power up! $010F0500;AC_VERB_GET_POWER_STATE $010F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $01070600;AC_VERB_SET_CHANNEL_STREAMID;00 $010F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $010F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 ;;$01070610;AC_VERB_SET_CHANNEL_STREAMID;01 ;;$010F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $010A0000;AC_VERB_GET_STREAM_FORMAT $01024011;AC_VERB_SET_STREAM_FORMAT;44.1kHz_16-bits $010A0000;AC_VERB_GET_STREAM_FORMAT $010B8000;AC_VERB_GET_AMP_GAIN_MUTE $0103B04A;AC_VERB_SET_AMP_GAIN_MUTE;max_vol $010B8000;AC_VERB_GET_AMP_GAIN_MUTE End Begin ;;node 0x11: DAC2 $011F0009;AC_PAR_AUDIO_WIDGET_CAP $011F000A;AC_PAR_PCM;SAMPLE_SIZE_RATE_CAP $011F000B;AC_PAR_STREAM;STREAM_FORMATS $011F0012;AC_PAR_AMP_OUT_CAP $011F0500;AC_VERB_GET_POWER_STATE $01170500;AC_VERB_SET_POWER_STATE;Power up! $011F0500;AC_VERB_GET_POWER_STATE $011F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 ;;$01170600;AC_VERB_SET_CHANNEL_STREAMID;00 ;;$011F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $011F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $01170610;AC_VERB_SET_CHANNEL_STREAMID;01 $011F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $011A0000;AC_VERB_GET_STREAM_FORMAT $01124011;AC_VERB_SET_STREAM_FORMAT;44.1kHz_16-bits $011A0000;AC_VERB_GET_STREAM_FORMAT $011B8000;AC_VERB_GET_AMP_GAIN_MUTE $0113B04A;AC_VERB_SET_AMP_GAIN_MUTE;max_vol $011B8000;AC_VERB_GET_AMP_GAIN_MUTE End Begin ;;node 0x19: OUT HP Detect ([Jack] HP Out at Ext Left) $019F0009;AC_PAR_AUDIO_WIDGET_CAP $019F000C;AC_PAR_PIN_CAP $019F0900;AC_VERB_GET_PIN_SENSE $019F0800;AC_VERB_GET_UNSOLICITED_RESPONSE;Get_Unsollicited_Response_Control ;;$01970800;AC_VERB_SET_UNSOLICITED_RESPONSE;Set_Unsollicited_Response_Control;disable ;;$019F0800;AC_VERB_GET_UNSOLICITED_RESPONSE;Get_Unsollicited_Response_Control $019F0500;AC_VERB_GET_POWER_STATE $01970500;AC_VERB_SET_POWER_STATE;Power up! $019F0500;AC_VERB_GET_POWER_STATE $019F0100;AC_VERB_GET_CONNECT_SEL $01970100;AC_VERB_SET_CONNECT_SEL;Front? $019F0100;AC_VERB_GET_CONNECT_SEL $019F0700;AC_VERB_GET_PIN_WIDGET_CONTROL $019707C0;AC_VERB_SET_PIN_WIDGET_CONTROL;hp_amp_out_enable $019F0700;AC_VERB_GET_PIN_WIDGET_CONTROL $019B8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1B: IN OUT EAPD Detect ([Jack] Mic at Ext Left) $01BF0009;AC_PAR_AUDIO_WIDGET_CAP $01BF000C;AC_PAR_PIN_CAP $01BF0500;AC_VERB_GET_POWER_STATE $01B70500;AC_VERB_SET_POWER_STATE;Power up! $01BF0500;AC_VERB_GET_POWER_STATE $01BF0100;AC_VERB_GET_CONNECT_SEL $01B70100;AC_VERB_SET_CONNECT_SEL;Front? $01BF0100;AC_VERB_GET_CONNECT_SEL $01BF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01B70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01BF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01B70C02;AC_VERB_SET_EAPD_BTLENABLE;ExtenalAmplifierPowerUp $01BB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1C: OUT Detect (Line Out at Ext N/A) $01CF0009;AC_PAR_AUDIO_WIDGET_CAP $01CF000C;AC_PAR_PIN_CAP $01CF0500;AC_VERB_GET_POWER_STATE $01C70500;AC_VERB_SET_POWER_STATE;Power up! $01CF0500;AC_VERB_GET_POWER_STATE $01CF0100;AC_VERB_GET_CONNECT_SEL $01C70100;AC_VERB_SET_CONNECT_SEL;Front? $01CF0100;AC_VERB_GET_CONNECT_SEL $01CF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01C70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01CF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01CB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1D: IN OUT EAPD Detect (Line Out at Ext N/A) $01DF0009;AC_PAR_AUDIO_WIDGET_CAP $01DF000C;AC_PAR_PIN_CAP $01DF0500;AC_VERB_GET_POWER_STATE $01D70500;AC_VERB_SET_POWER_STATE;Power up! $01DF0500;AC_VERB_GET_POWER_STATE $01DF0100;AC_VERB_GET_CONNECT_SEL $01D70100;AC_VERB_SET_CONNECT_SEL;Front? $01DF0100;AC_VERB_GET_CONNECT_SEL $01DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01D70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01D70C02;AC_VERB_SET_EAPD_BTLENABLE;ExtenalAmplifierPowerUp $01DB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1F: OUT ([Fixed] Speaker at Int Bottom) $01FF0009;AC_PAR_AUDIO_WIDGET_CAP $01FF000C;AC_PAR_PIN_CAP $01FF0500;AC_VERB_GET_POWER_STATE $01F70500;AC_VERB_SET_POWER_STATE;Power up! $01FF0500;AC_VERB_GET_POWER_STATE $01FF0100;AC_VERB_GET_CONNECT_SEL $01F70100;AC_VERB_SET_CONNECT_SEL;Front? $01FF0100;AC_VERB_GET_CONNECT_SEL $01FF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01F70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01FF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01FB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End I'd like you to do following tests, all with new HDAICOUT.HDA. Afterwards I need the four HDAICIN.TXT's only. First: all widget values in HDACFG.INI should ALWAYS stay on $10. First test: 1) Set pcipatchB=$0000 in HDACFG.INI. 2) Connect headphones. 3) Boot and listen carefully. 4) Unplug headphones and listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINA.TXT. 6) Reboot, headphones still unplugged. 7) Listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINB.TXT. Second test: 1) Set pcipatchB=$7900 in HDACFG.INI (as always at your own risk, if any!) 2) Connect headphones. 3) Boot and listen carefully. 4) Unplug headphones and listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINC.TXT. 6) Reboot, headphones still unplugged. 7) Listen to the speaker. 5) Rename HDAICIN.TXT to HDAICIND.TXT. HDAICOUT_(Thinkpad T420_Conexant cx20672_ Alsa_ctx5066_family).ZIP
  6. Thanks for trying. Strange behavior with widgets at $11, but at least something is happening. Did you took any stabilizing measures as described in the hda-thread? Memory should'nt be a problem, HDATSR makes a buffer somewere between 1-4 MB, most of the time. Setting [BUSMASTER] manually in HDACFG.INI is only needed in case of Windows ME (ME can not load TSR's, unless some real-mode fix is added). About trying widgets at $11: very good. The Conexant codec seems to be a so called 'double codec' with two DAC's (Digital Analog Converters). Edit: And just to be sure: if you play a file, is the slider of the mediaplayer moving? Oeps, you already mentioned the slider was moving, overlooked that part.
  7. That's sad. I didn't see anything new in your files, except 'pcipatchB=$7900' of course. I found some information regarding the Conexant '506e' codec (will be cx20590 or cx20672). It seems the Output widgets are $10 or $11 (converting digital to analog audio) and Volume widgets are the same numbers. Maximum volume seems to be 0x4a. Between the PIN-complexes and the Output widgets there does not seem to be a Mixer, default connections are to Output widget $10. The standard headphone widget is probably $19 (with 0xC0: OUT HP), line-out $1A and speaker $1D (with 0x40: OUT; takes EAPD). But of course I can be mistaken/ wrong, or the connections inside your laptop are different wired. So, if there are no special problems like General Purpose Input Output pin's (GPIO), in case of headphones the codec should work just out of the box with HDA2.DLL. To be sure I have to ask you to check again WITHOUT HDAICOUT.HDA. Steps: change in HDACFG.INI SleepingWidget=$10 VolumeWidget=$10 OutputWidget=$10 and try first with default: pcipatchB=$0000 and then again if no sound at all: pcipatchB=$7900 As always listen carefully with headphones and report. New files are not needed.
  8. You seem to have a Conexant codec, sadly no complete datasheet available. According to your HDAICIN.TXT you used a wrong version of HDAICOUT.HDA, verbs are all starting with '$2'. Your HDACFG.INI tells us that 'CODEC Index=$0' so all verbs should start with '$0'. In Linux-sources I found on T420 External Amplifier Power Down (EAPD) can be a problem, so you can try following HDAICOUT.HDA: HDAICOUT (EAPD enabled & CODEC Index 0 in HDACFG.INI).ZIP If you hear still nothing, you can also try setting 'pcipatchB=$7900' (without quotes) in your HDACFG.INI - see: https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/?do=findComment&comment=1242464
  9. I will take a look. But first I need the files: HDACFG.INI (or .txt), HDALOG.TXT and if available HDAICIN.TXT. They are/ should be in your Windows-folder. So please upload!
  10. I have used Limbo x86 to install MS-DOS and Windows 98SE. But on my (ARM) smartphone it is rather slow. Sorry, mistake
  11. No problem. Sad activating the headphone amplifier made no difference, but on the other hand this is 'good'. But it seems to be a real issue with codec ALC269, according to various sources. So far I found no cure. You can try the same HDAICOUT.HDA (with 707C0 or 70740 version) and comment out with a semicolon BOTH reset lines (first two lines at the beginning of the file). The reset lines will set al widgets to their default state. Maybe you are lucky that another state of headphones has been set after boot.
  12. Good to know, at least you have DirectX 9.0c now (I presume). In the datasheet it is not fully clear if enabling headphone amplifiers is needed to enable headphones. 'Normally' this is not needed, codecs can be rather stubborn however. But you can try. Open HDAICOUT.HDA in some text editor and change ALL $0..70740 lines to 707C0. First line is now: $00270740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable Should become: $002707C0;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable Etcetera. BTW watch if you use Notepad the extension is still .HDA (Notepad will try to add .TXT). Reboot needed of course.
  13. I found WDM nowhere mentioned in case of the 1998 version. But I have no new ideas. If you run DxDiag, you will see HDA Sound is running in Software Emulation mode. At least in Prince of Persia 'Sands of Time' this was not a problem to get sound with HDA2.DLL (only Windows game I ever tried to play; together with USB the reason I once left my 'beloved' Windows 95 OSR1a). With DirectMusic you can test access to the YAMAGA SGX Driver too (at least in DirectX 9.0c).
  14. About midi: you can try Yamaha S-YXG100plus soft synth, see https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/?do=findComment&comment=1245427 Driver is somewhere on Vogons. In my experience: first comment out HDA2.DLL in SYSTEM.INI before installing Yamaha S-YXG100plus soft synth. Afterwards set wavehda=HDA2.DLL as LAST entry in SYSTEM.INI [drivers] and reboot. BTW setting Yamaha S-YXG100plus soft synth to DirectSound output is rather tricky, but after a while you will succeed. But @sifonium who introduced Yamaha S-YXG100plus soft synth to this thread had other experiences/ solutions.
  15. Enjoy! About your test with Colin McRae Rally: I see three possible issues: 1) Version of DirectX 2) Midi driver needed 3) Game needs WDM-driver. Issues 1 an 2 can be fixed, but 3 not: HDA2.DLL is not a WDM-driver
×
×
  • Create New...