bmw Posted August 25, 2020 Posted August 25, 2020 If I comment out wavehda and then run IntelHDA and go to the widgets tab, all I get when I click any button is it locks up for about 5 seconds and then the output box under the buttons is black with nothing in it at all (other than the teal blue desktop color). I'm not clear as to what you're looking for in the output from the register sniffer program, so I have just attached the entire output. pci.txt
deomsh Posted August 25, 2020 Posted August 25, 2020 (edited) I am sorry I didn't make myself clear. I need a hex dump of the registers of 1002:4383. Should look like the PCI-tab of INTELHDA.EXE, but in a bit different fashion. You will have used the program pci32.exe. You have to run from a command-prompt following command: [PATH]\pci32 -D > ATIDUMP.TXT (not case-sensitive) I do not know where you unzipped the download. Say if you choosed location C:\PCISNIF than the command will be C:\PCISNIF\pci32 -D > ATIDUMP.TXT Below is the original information from my chipset, the dump is the second part (made in 2017 with an old MS-DOS version while using new PCIDEVS.TXT). Bus 0 (PCI), Device Number 20, Device Function 2 Vendor 1002h ATI Technologies Inc Device 4383h IXP SB600 High Definition Audio Controller Command 0006h (Memory Access, BusMaster) Status 0410h (Has Capabilities List, Slow Timing) Revision 00h, Header Type 00h, Bus Latency 20h Self test 00h (Self test not supported) Cache line size 64 Bytes (16 DWords) PCI Class Multimedia, type Unknown! Subsystem ID 76621849h Unknown Subsystem Vendor 1849h ASRock Inc Address 0 is a Memory Address (anywhere in 64-bit space) : FBFF4000h System IRQ 10, INT# A New Capabilities List Present: Power Management Capability Supports power state D1 Current Power State : D0 (Device operational, no power saving) Hex-Dump of device configuration space follows: 0000 02 10 83 43 06 00 10 04 00 00 03 04 10 20 00 00 ..ƒC......... .. 0010 04 40 FF FB 00 00 00 00 00 00 00 00 00 00 00 00 .@ÿû............ 0020 00 00 00 00 00 00 00 00 00 00 00 00 49 18 62 76 ............I.bv 0030 00 00 00 00 50 00 00 00 00 00 00 00 0A 01 00 00 ....P........... 0040 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 ................ 0050 01 00 42 C8 00 00 00 00 00 00 00 00 00 00 00 00 ..BÈ............ 0060 05 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 ..€............. 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ The first part is like the report you delivered. The program 'translates' the hexadecimal values with help of the database. But we need the hexadecimal values, to see if I can find any potential pcipatchB. Edited August 25, 2020 by deomsh Typo
bmw Posted August 26, 2020 Posted August 26, 2020 Here ya go. Mine looks similar to yours but there are indeed some differences.
bmw Posted August 26, 2020 Posted August 26, 2020 (edited) And so I combed through that data, and I notice only 2 differences compared to my Windows 98 output as follows: W1E - 0110 (XP) compared to 010A (98) W21 - 0000 (XP) compared to 0007 (98) W1E I assume is the IRQ (10 in 98 compared to 16 in XP). So W21 is the pciPatchB? Value of 00? So is that 4200? Edited August 26, 2020 by bmw
deomsh Posted August 26, 2020 Posted August 26, 2020 (edited) @bmw Well done! Indeed, last two digits of W21 are the one-byte value of 8-bits register 42h. Earlier you said you tried all values I gave you. To be sure try pcipatchB=$4200 once again. Your observations regarding last two digits of W21 are interesting, but I do not know what to do with this register. Should be Register 3Ch. The SB600 documentation call´s this register "Interrupt Line", a 8 bits RW register (so Read/Write!). The text is cryptic:"This register is used to communicate to software the interrupt line that the interrupt controller is connected to. It is not used by the HD Audio controller". I have no idea´s about this register (I am not a PCI-device programmer, even worse: I am not a programmer at all ). But feel free to try several IRQ-values with pcipatchB. You can also use INTELHDA.EXE to change the value on the fly by typing in new values (Only in RW-registers of course). Al values in HEX (register-address is in hex already)! If there is no immediate change regarding output of HDA2.DLL, maybe it´s following is a good procedure: boot Windows with HDA2.DLL active, change with INTELHDA.EXE a register value you like, Reboot to MS-DOS => Exit to restart Windows 98SE (like sweaterfish did) and look if anything changed in HDALOG.TXT. Also watch the IRQ-value of the High Definition Controller in Device Manager. I hope this will give any results, otherwise I think it´s better to look for another solution like USB-audio. Edited August 26, 2020 by deomsh addition
sweaterfish Posted August 26, 2020 Posted August 26, 2020 On 8/24/2020 at 3:15 PM, deomsh said: Next you can try pcipatchB=$7900. The first digits of register W3C/w1 should be zero afterwards. I have been succesfull with this patch on a H61 board with (roughly) the same HDA controller registers. Leave the widgets on $03! Yes, with pcipatchB=$7900, W3C/w1 in INTELHDA is $0000. There does not seem to be any other differences.
bmw Posted August 27, 2020 Posted August 27, 2020 @Deomsh thanks again for all the assistance....I've tried 4200 again and no luck, also re-tried some other values. I think it may finally be time to admit defeat here and move on to a USB solution. I do have an unused USB 9-pin header onboard, I may or may not try to come up with a mod solution whereby I can mount some audio ports directly to the case while they're connected internally. I did test with an old Behringer USB DAC and to my surprise it actually worked flawlessly in Windows 98 with no drivers needed (even gave me emulated soundblaster audio in some DOS games when launched within Windows 98). Unfortunately these have skyrocketed in price recently - I think I paid like $30 for mine way back when, now they're going for $90. There are a few $10 to $20 solutions I'm looking at.
deomsh Posted August 27, 2020 Posted August 27, 2020 @sweaterfish I assume you've tried pcipatchB=$7900 already together with HDAICOUT.HDA (Step 4)?
deomsh Posted August 27, 2020 Posted August 27, 2020 (edited) @bmw Just for the record: I assume pcipatchB=$3C10 did nothing? Was the new value reflected in INTELHDA.EXE? Which IRQ was reported by Device Manager for the High Definition Audio Controller in that case? Regarding USB audio: never used one. On MSFN "cheap $3" devices are mentioned, but @Ruthan reported one as "crap". I came across CMI6206 cards (only from China) for about $20. Edited August 27, 2020 by deomsh Correction
MisutaaUrufu Posted August 27, 2020 Posted August 27, 2020 (edited) Hey, sorry if I seem unintelligible on this topic; Drivers & Audio are out of my wheelhouse when it comes to computers, but would anyone here know how to go about getting the HDA driver working in 95 OSR2.5 in Parallels for Mac? — Parallels for Mac doesn't offer support for audio on deprecated systems, but I can set the VM to a "generic" Windows OS, which provides Intel HD Audio support. However, I've been pouring over forums and different config steps, and I'm not really sure what to do. The chipset presented by Parallels is the Intel ICH10 with Intel HD Audio, Vendor ID 8086 & Device ID 293E, which are correctly detected by the driver when installed (I verified this by comparing it to a Windows 10 VM's DID & VID). However, beyond that sound doesn't work, neither in DOS mode nor in Windows. Both act like it works, but with "quirks"; DOS mode will just be like "yeah sound is playing" when I tried test utilities from another form thread on the driver, whereas in Windows, the media player and the system sounds window will get "stuck" in a playing state, but the progress scrubber will not move (in media player) and it must be "stopped" manually. — But there's no sound at all when this happens. Method of install: HDATSR -> AUTOEXEC.BAT Custom INF installed for the PCI card. HDA Sound as default output device. Min & max virtual cache set to low 'wave=hda2.dll' in System.ini I've tried various adjustments, deleting HDAICOUT.HDA (after backing it up of course), changing values in HDAcfg. I'm not sure if there's something I'm missing, if ICH10 is too new for this driver, or if Windows 95 has a weird quirk (everywhere I've read it seems like people have tried this with Windows 3.1 or Windows 98SE, and have assumed it will work with 95 as a result.). Here's my HDAcfg, for reference: [ALLHDA] $00FC=$293E8086 [HDA] TSR=TSR FOUND PCI_VID=$8086 PCI_DID=$293E [BUSMASTER] myPCIHI=$0012 myPCILO=$1000 aPCIHI=$0011 aPCILO=$1000 aPCI=$00111000 [HDA_293E8086,04001AB8] cardmemoryregistersLO=$0000 cardmemoryregistersHI=$F014 Mytimer=1 Verbinterface=$1 wait1=$100 wait2=$100 pcipatchB=$0000 PCI_BUS=$00 PCI_DEVICE=$1F PCI_FUNCTION=$0 GCAP=$2201 VMIN=$00 VMAJ=$01 GCTL=$0001 CODEC BITMAP=00000001 CODEC Index=$0 CODEC_VID=$1AB8 CODEC_DID=$0001 CODEC_REV=$100100 CODEC_NODEINFO=$010001 CODEC_AFG_GPIO_CAP=$C0000004 CODEC_AFG_SUBSYSTEM_ID=$1AB80101 CODEC_AFG_PM_SUPPORT=$0F CODEC_AFG_PCM_DEFINITION=$1E07FF CODEC_AFG_F000B=$01 SleepingWidget=$02 VolumeWidget=$14 OutputWidget=$02 Note that most of these values reset on reboot; only the widget values can persist. What is above is a "stock" config (I deleted the one i modified and let HDATSR rebuild the config, and these are the values it presented). Another note is that I was going to try the Microsoft HD Audio Utility to try and compare the data between Windows 10 and the HDA configuration file, but I only have access to 64-bit copies of Windows outside of 95, and the only version shared online is the 32-bit version, which refuses to install on 64-bit systems (it will say to download the 64 bit inversion instead). I was able to find an archived version of the 64bit installer of HDAUtil via a url punched into wayback from the extracted contents of the 32bit MSI. I have HDAUtil if this helps. Would anyone be able to point me in the direction of troubleshooting here? Like I said, this falls out of my area of expertise. Edited August 27, 2020 by MisutaaUrufu Update on status
deomsh Posted August 27, 2020 Posted August 27, 2020 @MisutaaUrufu Before I will try to answer your questions, please provide following information first: 1) What version of Parallels for mac you're using? 2) Is there a PCI-Card with yellow exclamation mark in Device Manager of Windows 95 OSR2.5? If it's there, is the Memory Address F0140000? And: no IRQ-conflict?
bmw Posted August 27, 2020 Posted August 27, 2020 @deomsh Still no luck. I assume you meant 3C0A for pcipatchB (as this would represent IRQ 10 where the HDA controller is located). Nevertheless, I tried several different values, and they did reflect correctly in INTELHDA.EXE; however, the IRQ in the device manager always remained at 10 for the HDA controller.
deomsh Posted August 27, 2020 Posted August 27, 2020 @bmw I really ment the value you found under XP! Just for the sake of experiment, and see if Windows will do anything with it. Today I had some spare time and liked to test another MS-DOS player, Mplayer, on my ´new´ H61-board. I googled around, but could´t find a download location until I came across this thread. The player inside mplayer_dos.zip is really nice, worked out of the box with CWSDPMI.EXE. I played my favourite testfile DRUMLOOP.WAV. But also a Youtube-MP4! Nice sound and good video. First the audio lagged behind, but after loading SMARTDRV everything was okay. In case you want to continue: here is the link to April 12, 2019. You can use CWSDPMI.EXE from JUDAS21C. Just unzip mplayer_dos.zip in some folder and copy CWSDPMI.EXE in the same folder were MPlAYER.EXE resides. Only for use in Real mode! https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware/?do=findComment&comment=1162272
MisutaaUrufu Posted August 27, 2020 Posted August 27, 2020 (edited) 1 hour ago, deomsh said: @MisutaaUrufu Before I will try to answer your questions, please provide following information first: 1) What version of Parallels for mac you're using? 2) Is there a PCI-Card with yellow exclamation mark in Device Manager of Windows 95 OSR2.5? If it's there, is the Memory Address F0140000? And: no IRQ-conflict? Parallels Desktop App Store 1.5.0 (Roughly equivalent to version 15 or 16). — VM is configured as a generic Windows VM rather than a 95 VM (as 95 VM support is deprecated and official audio support no longer exists; Generic Windows Machines allow use of the Intel HD Audio device.) There is, and the memory address is F0140000 with no IRQ-conflict. More notes: Attempted running without HDAICOUT.HDA, as well as with the generic copies hosted here. No luck. Similar to others, codec values in HDACFG.ini are different before and after Windows boots. Mine are all $FFFFFFFF. Setting Verbinterface to $0 prevents the desktop and taskbar from displaying; Windows hangs at my wallpaper, requiring a forced reboot. Changing the timing values to 250+, and setting the pcipatchB to various values, so far, has not worked. Attached are the codec files exported by Microsoft HD Audio Utility (x64) from Windows 10, in INI & XML format. HDALog contains various entries that are all 0s, though roughly 50% of entries have non-zero values. Update: Attempts to play audio directly in Media Player returns that all audio devices are in use. HDA_Codec.ini HDA_Codec.xml Edited August 27, 2020 by MisutaaUrufu Minor Update
sweaterfish Posted August 28, 2020 Posted August 28, 2020 On 8/27/2020 at 1:31 AM, deomsh said: I assume you've tried pcipatchB=$7900 already together with HDAICOUT.HDA (Step 4)? Indeed I have. However, I'm still in the dark about what all this stuff is about, so I'm finding the process sort of frustrating. Could I ask you to take a minute and explain what the goal of the HDAICOUT.HDA file is? Like what is it attempting to do exactly? Same for the pcipatchb lines in the HDAcfg.ini file. What is the point of this line and where are you getting the values you're suggesting to use?
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now