Jump to content

deomsh

Member
  • Posts

    536
  • Joined

  • Last visited

  • Days Won

    2
  • Donations

    0.00 USD 
  • Country

    Netherlands

Everything posted by deomsh

  1. I studied your HDACFG.INI a bit, and it appears to me there are TWO function groups in your codec: an Audio Function Group (AFG) and a modem. First I thought you choose the wrong HDAICOUT.HDA file, but this is not true. The driver HDA2.DLL identifies the wrong function group as HD-audio and sets the 'CODEC Index' wrongly to $1 instead to $0. Be aware I made a mistake lately - On March, 29: I mis-red 'Verbinterface=$1' for 'CODEC Index=$1'. Luckily Danielx's computer didn't explode, actually his 'CODEC Index' was $0 in his HDACFG.INI ). Lets take a look at the first ten lines of your HDALOG.TXT, also to give you some help to understand HD-audio Verbs. $000F0000=$83847690 $000F0004=$00000000 $000F0005=$00000000 $100F0000=$00000000 $100F0000=$00000000 $100F0004=$00000000 $100F0005=$00000000 $100F0000=$14F12BFA $100F0002=$00090000 $100F0004=$00020001 The first Verb sent by the driver is $000F0000. This verb can be analyzed in four parts ($ is not part of this, internal to the driver!): 0 00 F00 00: first '0' stands for Codec Index 0, second two '00' for the root node. The 'F00' part is a code to obtain parameters of the codec function group, so to read-out. The last part is the payload, '00' at the and means parameter 'Vendor ID'. The full verb is also called : 'AC_PAR_VENDOR_ID'. Second part of the log is the codec response: $83847690 If you search on the internet for 8384:7690 you will find Sigmatel 9200 HD Audio Codec. Verb $000F0004 asks Subordinate_Node_Count and $000F0005 for Function Group Type. Maybe because there are no meaningful responses (???), the driver does not further check parameters of function group '0' starting with node '01', but starts instead with function group '1' (Codec Index 1) with node '00' of this function group again. This time some verbs are sent twice: $100F0000=$14F12BFA ;; AC_PAR_VENDOR_ID => HDAudio Soft Data Fax Modem with SmartCP $100F0002=$00090000 ;; AC_PAR_SUBSYSTEM_ID (not of interest to us) $100F0004=$00020001 ;; Subordinate_Node_Count: according to the datasheet you found is the starting widget number '02' and there is only ONE node (which make no sense in case of an Audio Function Group response of verb $101F0004 should give meaningful information about number of widgets and starting number -NID- of the first widget). See further your HDACFG.INI. So this explains why your Audio Function Group responses to the verbs in HDAICOUT.HDA because these are actually starting with Codec Index '0'. But why WAVEOUT.EXE is 'seeing' two devices with 'Device 1' as HDA-device, instead as 'Device 0' is not fully clear to me. Maybe while with 'VolumeWidet=$0B' the 'good' node-number is addressed by the driver, but in the wrong function group? Earlier in this thread problems with a modem identified as a HDA-device by HDA2.DLL where mentioned, but not solved. You can try to play a bit with the waiting timing in HDACFG.INI (now wait1=$100 and wait2=$100), so maybe doubling in steps up to $1000?). Still a miracle your Audio Function Group with 'Codec Index=$0' is fully driven by the verbs in HDAICOUT.HDA. Some verbs you asked for (in the examples I am using the widget-numbers you already found for your codec): $ 0 02 706 10 ; AC_VERB_SET_CHANNEL_STREAMID;01 => is related which digital audio stream the DAC will process. $ 0 02 2 4011 ; AC_VERB_SET_STREAM_FORMAT;44.1kHz_16-bits => watch length of this code part of the verb: only '2', so one nibble (4 bits = a half byte). The payload is complex (and twe full bytes = 16 bits), for instance 0011 is an alternative to set 48kHz_16-bits. So also DAC related. You understood the verb AC_VERB_SET_AMP_GAIN_MUTE already, so only left are: $ 0 0B 701 00 ;AC_VERB_SET_CONNECT_SEL;Front? => means connect this widget to lowest connection number (to a widget earlier in the signal path) if this widget is a selector widget, or has selection properties. $ 0 0B 707 40 ;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable => PIN-widgets are connected to jack's etcetera. But mostly multi-function: Input or Output. Often their default state is Input..... Be aware maximum number of verbs sent to the codec is 255 or so. In practice about 200 lines left for HDAICOUT.HDA. Further reading: see Intel's HD-audio Specification and your datasheet. Nice to read is AN20_Add_HDA_verb_table.pdf - found with Google, very short.
  2. Yes, it's in the Windows directory (I just checked again 😉). And it seems to work for my bluetooth audio (device 0). But for for HDA (device 1) it doesn't have any effect. When I change the sliders and than press "waveOutGetDevCaps" again, both chanels jump back to 32256. When I do the same thing for bluetooth audio, the sliders will stay in place. My question was just to be sure. Your answer on my first question contains new information you didn't share earlier (no offense of course). I suppose your bluetooth device is not a HDA-device??? Please post two action print-screens of WAVEOUT.EXE, one for your 'device 0' and one for 'device 1'. I also want to take a look at your HDACFG.INI. Also HDAICIN.TXT: two versions, one of your current setup, one without HDAICOUT.HDA (just rename). Always reboot your computer in between. Good to hear redirecting output of your player to DirectSound activates the players' volume slider. About the remaining volume-problem of system sounds: if you need them, we have to try solving this problem. I will think about it. I will also (try to) address your question about my quasi-universal HDAICOUT.HDA. This will take some time however. In between you can read the commands of (Output) Widget 02 of your codec in the datasheet (pages 39-42: NID = 0x02).
  3. Hello @Vigami , thanks for your nice words. Good to hear Watler's Win3x HDA-driver is giving sound on your system. I took a look in the datasheet, but found nothing special. Widget 0B should be the Volume Widget and payload 1F the maximum volume. If I remember well, I first used 7F in my quasi-universal HDAICOUT.HDA (because of my own Realtek codec). Later I changed this to 1F, because of specs of other codecs. In my opinion your experiment confirms 0B is the Volume Widget for your codec. VolumeWidget in HDACFG.INI should indeed set accordingly. But you tried this already. Leaves following questions: 1) Are you sure WAVEOUT.EXE is in your Windows-directory (just in case)? 2) If trying to use volume slider of WinAmp, is output of WinAmp set to DirectSound? Otherwise the volume slider won't work. Also try Windows MediaPlayer 6.4, or Foobar or Gom Player (Win9x compatible versions). By the way, with Foobar you can change the output buffer which can raise performance of HDA2.DLL. Foobar can also convert 24/32 bits HD-Audio streams to 16 bit (HDA2.DLL is 16-bit only and max 48 kHz). Not sure about WinAmp, I haven't used it much. If there is a choice in "Sounds and Audio Devices" / "Multimedia" (as part of Control Panel), set the 'Output' of Playback Device to DirectSound (I am not sure about this at the moment, maybe I am wrong - no active Windows 98SE installation available to check). I don't know how WAVEOUT.EXE is working. In the source code there seems to be no GET/SET commands, but some Microsoft Wave-API. That's all my wisdom about this subject. About the Volume Widget of your codec: it's mentioned as 'Master' Volume Widget in the datasheet. Maybe this is not a regular volume widget? I believe Intel's High Definition Audio Specification mentions a 'Volume Knob' with 'master' function (or something like that). There is also a Volume Widget for mono-out mentioned in the datasheet. Did you try VolumeWidget=$11 ?
  4. You're welcome. Be aware HDA2.DLL is a 16-bits (win3.x) driver, so there can be instabilities with multi-tasking. Especially if copying big files while listening to some music... But it's all *somewhere* in this thread.
  5. Congratulations! If I understand well you said you tried different versions of HDAICOUT.HDA from the thread. I ment another version, lines STARTING with $0, not changing this file. Nevermind, maybe HDAICOUT.HDA is not needed. So for now rename. I found in the datasheet of Realtek codec ALC272 that the DAC and the Volume widgets should have the same number. OutputWidget in your HDACFG.INI is already $2, so try VolumeWidget=$2 too. Then reboot. Next open WAVEOUT.EXE with Start => Run => WAVEOUT and try with your mouse if volume sliders work while playing some sound. Addition: About HDAICIN.TXT: this file logs all HDA verbs sent by the driver to the codec (verbs are a sort of 'commands' to GET/ SET registers in the codec) . Return values are only specific in case of GET verbs (read-out of specific actual bit-values in registers of widgets/ nodes, and converted to verbs in HEX - note all registers are described in bits!). In case of using HDAICOUT.HDA you can sent additional GET / SET verbs to the codec(s) - in practice about max 200 additional verbs in HDAICOUT.HDA. 'Structure of verbs and registers' are all described in Intel's HD-Audio Specification.
  6. According to info in HDACFG.INI your chipset is Intel C200. Not seen in this thread before. I suggest first set pcipatchB=$7900 in HDACFG.INI. Please run two tests: 1) without HDAICOUT.HDA (rename). 2) with HDAICOUT.HDA Always reboot in between. BTW verbinterface=$0, so use HDAICOUT.HDA with all lines starting with $0 Listen with headphones to *any* sound/ crackle. Please report results and upload HDAICIN.TXT only (rename accordingly, so first test HDAICIN1.TXT etc.).
  7. HKLM\Software\Microsoft\Windows\Real Mode Net netcard "pktndis.dos" transport "ndishlp.sys" Good pointer deomsh, I didn't know about those settings, but above is what is listed. Earlier I wrote in: So in your case you can try to change value of transport to: ndishlp.sys,pktndis.dos However your setup is different. Otherwise study old Windows 3.11 SYSTEM.INI's - from Windows 95 onwards those entries are moved to the registry. Netcard-INF;s containing NDIS2 are good to study too.
  8. @awkduck NET is searching in the registry, while in real mode (line in AUTOEXEC.BAT). Did you edited the transport key? Maybe other keys too... Search for 'real mode' in the registry (if I remember well).
  9. I have only experience on Windows 3.1 (so NOT WFW 3.11). Browsers: best is Netscape 4.03 or 4.04, using a proxy server or a webproxy. Without: Netscape 3.04. Watch a-synchronous DNS. More details here (go to page 2): https://web.archive.org/web/20180329130629/http://win3x.conforums.com/index.cgi?board=net&action=display&num=1517876379
  10. Can't help you as such, but just for the record: did you install DirectX 9.0c (win9x version)?
  11. All right, if you are fine with your speakers, than stay with HDAICOUT.HDA.000 Apparently your laptop uses other Pin(output)Widgets than I selected: 0B, 0E (with HP-amp) and 10 (mono-out). To find the right ones will need quite lengthy experimentation using Get-commands...
  12. All right, lets try this version of a tailor-made HDAICOUT.HDA first. Following steps: 1) Rename current working HDAICOUT.HDA to HDAICOUT.OK1 2) Rename new version and reboot, check if everything is working as before (VolumeWidget=$13 !). 3) Set VolumeWidget=$1C in HDACFG.INI and test if WAVEOUT.EXE is ruling speaker-volume only. Hdaicout.hda.Dell_Latitude_6430u
  13. Good, so you can use this instead of WAVEOUT.EXE. Are you interested in my idea to redirect the speaker signal line to the Mixer_1C, so you can use WAVEOUT.EXE to rule the speaker-volume independent from your headphone?
  14. Fine. There is no hurry, take all the time you need. Next: if you play an audio-file in MediaPlayer, is the volume slider of the player working?
  15. That's good to know, if I am right this means Mixer_1C is not in the playback signal path. Sad, but is reported earlier. No driver is needed! Direct Sound is part of DirectX. Check with Start > Run > Dxdiag which version is installed. Best is DirectX 9.0c (Win98SE compatible version). If I am right MPlayer uses DirectSound by default. In some players you can choose output device, in case of HDA2.DLL you should choose DirectSound: HDA Sound (title is set by the driver!). Maybe possible in MultiMediaDevices too (option for Playback).
  16. Great. If you read carefully the link I provided, you will see WAVEOUT.EXE is not always needed, except for System Sounds (but these can be disabled) and Soundplayer (don't remember the exact name). The trick is to use the volume slider of your player, if the player can be set to DirectSound: HDA Sound (or if the player uses this setting already by default). Is VolumeWidget=$1C working too? I ask because I have an idea to let WAVEOUT.EXE rule your speaker volume, while your headphones will get maximal volume, modified by the volume slider of a player/ and or the physical volume slider on the headphone (if your headphone has any). BTW how behaves the sound switches on your keyboard?
  17. Thanks. Let's first try to fix WAVEOUT.EXE. According to the data-sheet, WDGET-diagram on page 50, there are three volume-widgets in the playback path. For DAC0 widget 13, for DAC1 widget 14 and the mixer has widget 1C. WAVEOUT.EXE is dependent on the VolumeWidget setting in HDACFG.INI. Default is $14, so try first VolumeWidget=$13 and later VolumeWidget=$1C too. More information about volume & HDA2.DLL: https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/?do=findComment&comment=1161770
  18. Be aware copying can be slow with the vcache-solution. SMARTDRV.EXE can help, best is (in AUTOEXEC.BAT): SMARTDRV.EXE /X /L /V /B:57344 Did you try WAVEOUT.EXE already? Start > Run > WAVEOUT.EXE With help of your HDACFG.INI I found out your codec is IDT 92HD93, revision 100203. Can you search for the data-sheet so I can take a look... BTW Do not upload because of copyright, just the web-address (mostly '.pdf'}
  19. Thanks a lot! About the jittery/halt: did you already try higher values of MinTimeSlice? Default is '20', (my experimental) max is '100'. So try 'max' first in SYSTEM.INI, [386Enh] MinTimeSlice=100
  20. So, that's quick, congratulations Will you do me a favor and upload HDACFG.INI and HDAICIN.TXT, so I can see which HDA-Controler and which HDA-codec is used on your system and which responces the HDA-codec gives to my version of HDAICOUT.HDA (000)? BTW: are you still using version 'J' of HDA2.DLL? I just found out latest version is 'L'. I will test soon...
  21. The instructions on Operating System Revival are correct for WinME only. In case of Win98SE use for manual installation (taken from Operating System Revival + corrections): Instructions (Windows 95/98): 1. Download Watlers' driver HDADRV9J.zip 2. Place HDA2.DLL in C:\WINDOWS\System 3. Make sure HDARSR.EXE HDATSR.EXE and WAVEOUT.EXE are accessible (place in "C:\WINDOWS\SYSTEM" for convenience) 5. Add line "HDATSR.EXE" to AUTOEXEC.BAT (without quotes) 6. Add to SYSTEM.INI,[Drivers] "WAVEHDA=HDA2.DLL" (without quotes) 7. Reboot If there is no sound, try my quasi-universal version of HDAICOUT.HDA (found in DaveH's tread) and place in C:\WINDOWS\SYSTEM and reboot. If there is sound but system is unstable try in SYSTEM.INI, [Vcache] MinFileCache=1024 MaxFileCache=1024 + you can speed-up your system by adding line "SMARTDRV.EXE" to AUTOEXEC.BAT (without quotes). Always reboot in between. If there is still no sound, ask @deomsh for further help (only if you are fully dedicated to a long project, and willing to follow instructions you probably will not understand).
  22. Your source says: 'To warn Windows that you have more than 512MB of memory installed, add the following line to the [VCache] section of your win.ini file: MaxFileCache = 524288."' It should be system.ini. Also: did you try a static Vcache, setting MinFileCache and MaxFileCache to the same value? Best start with 1024 both, most stable setting available, but slowest. And with WinME you can't use SMARTDRIVE.EXE -limited to 128G(i)B partitions- to speed-up things (unless you make WinME real-mode aware).
  23. This means 128 entries in each cluster (each entry is 32 bytes). So your cluster-chain is already quite long in C:\DOS, deleted entries and Long File Names not counted about 7 clusters. I watched the 'behavior' of the Windows 10 FAT-driver. It seems first free entries are used, so historical order is maintained. If last cluster in the cluster-chain has no free entries anymore, the driver will recycle deleted entries first. Historical order is broken. At some point (not sure if whole cluster-chain is searched for deleted entries) a new cluster is added to the cluster-chain. Historical order again. Be aware I am talking about impressions in case of Windows 10 FAT-driver, not solid 'facts'! So do not worry about your directory C:\DOS\GAMES is not last, it should be first! The longer the cluster-chain, the longer the search-times. And: the FAT lookup-table is searched only if the first directory-cluster is full and a second is added (reading files is same: if filesize exceeds clustersize). I remember my most responsive Window-system EVER was Win95 OSR1A on Asrock A59-pro, with slightly overclocked PCI-bus. That time I owed a 20GB IDE-disk, on FAT16 I could only make 2GB partitons, but with 32KB clusters! So instead of main directories like 'My Documents' I used a new 2GB partition instead, with volume-name 'Documenten' (Dutch).
  24. How many entries are in your directory C:\DOS, and what is clustersize in the C-partition? You can read-out clustersize with CHKDSK. Judging from your post of 'Saturday 6:28 AM' you are using FAT32.
×
×
  • Create New...