Jump to content

Want try run HDA on 9x, need any possible help...


Recommended Posts

Hello to all! My name is Andrey.

It's my first post here. I am sorry, my English is poor, but I hope that you can understand me. :) 

My native language is Russian, if here is someone, who can r/w in Russian - weIcome. 

I have relatively modern main pc - i7 3770, asrock z68 pro3-m, 8 gb ddr3, ssd, hdd, dvd... 

Main OS is w7 x64, but i also use xp, linux, and 98 all in multiboot on one hdd. here i have no problems anyway. 

My 98 is heavy patched: vbemp, vcache, some other good known here patches. ;) also i do own patch for biosinfo.inf for disabling acpi - my mobo have buggy bios, and without patch i just get black screen. Also here exist biggest bug with USB mouse - she absolutely unusable with 9x... 

But in general, system is stable and relatively workable. i can even run daum pot player and see mp4 hd :D with software only decoding, sure. 

i do it just for fun. Me it interesting, understand? 

And i have one problem... Here is no sound!

I try use my old cs4281 pci card - and get poor sounds on this machine. most sounds disappeared total. On my second machine - pentium 3 - it card work better, but anyway poor. Also for p3 i have good sounds with cs4235 and ess1869. 

And now i want try run HDA in 9x... Not need talk me, that it's impossible - i know it :) but want try. 

I check realtek's sys with wdmcheck - there no unimplemented imports. But it driver must be install on child device from hda bus... 

I grab w2k version KB888111, convert it's inf from unicode to ordinal Chicago format, and get ms uaa bus placeholder in device manager. but without child subdevices - hdaudbus.sys will not runned... 

I try add to inf pair strings a la 

Hkr,,devloader,,*ntkern

Hkr,driver,,"wdmstub,hdaudbus.sys" 

And get error code 2. Then i try configmg instead ntkern, and get no errors and no good result... 

I poor know inf script possibilities, and me need someone, who have good knowledge here, and can give me some hints and tips... 

Hope for understanding and your interest :)

Link to comment
Share on other sites


Hello, Welcome to MSFN! :hello:

Sounds like you already have a fair amount of experience in working with Windows 9x and newer systems. I've recently been experimenting with Windows 95 and 98 on a Gigabyte GA-X79-UD4 board so I know what you're dealing with.

I know these aren't directly related to your question, but I wanted to ask. What's wrong with your USB mouse? It should work... And, what did you change in BIOSINFO.INF? It's common practice here to run SETUP with the "/p i" switches to disable ACPI, but another solution is always interesting.

On the subject of HD Audio, I have also tried to get the HDAUDBUS.SYS driver loaded with the help of our resident expert rloew and his WDMEX.VXD (an expanded replacement for WDMSTUB.SYS). So far I managed to get the driver to load without errors in the Device Manager but it also doesn't function properly. It does not enumerate the \HDAUDIO "child devices" tree as it should. So far we don't know why, and I don't know what else to try. rloew may be able to elaborate further on the subject.

As far as getting the driver to load with the INF, I removed all of the mentions of NT and all of the NT-specific sections from it and added the following two lines, based on my examination of the last version of the RealTek AC'97 WDM driver package INFs.
HKR,,Driver,,hdaudbus.sys
HKR,,NTMPDriver,,hdaudbus.sys

If this line is present, I get a BSOD during boot. I don't know if it is necessary or not.
HKR,,DevLoader,,*NTKERN

Since you are getting an error in the Device Manager it sounds like your WDMSTUB.SYS is not covering all of the necessary WDM functions used by HDAUDBUS.SYS.

EDIT:
Struck out incorrect or superseded information.
HKR,,DevLoader,,*NTKERN line IS REQUIRED. Without it driver does nothing; with it produces a crash.
Enumeration is not the current problem based on these findings.

Edited by LoneCrusader
Link to comment
Share on other sites

Welcome to MSFN!! :D

This sounds like quite an interesting project. Even if people have failed to get HD Audio working in the past on Windows 9x, there's no harm in continuing to try to get something to work. This is of course where I draw the line since I'm not a coder by any means. But as Lone above said, if anyone can help point you in the right direction, it'd totally be @rloew. Good luck, and I'm going to be following this thread closely. I totally hope we can have some sort of breakthrough or at least if anything, gain more knowledge on the subject. :thumbup

Link to comment
Share on other sites

I tried to do something like this myself.

And unsurprisingly, got the same results, HDAUDBUS.SYS "worked" but no \HDAUDIO were enumerated...

Can the HDAUDBUS.SYS driver be modified in any way, or is that way too difficult/impossible?

Are there any HDA devices which do not use the \HDAUDIO enumeration or ALL of them are dependent on the built into Windows HDAUDBUS.SYS?

What about PORTCLS.SYS and SYSAUDIO.SYS? Those files are also included in KB888111 for Win2000.

Link to comment
Share on other sites

hello again :) 

thanks for understanding and support!

14 hours ago, LoneCrusader said:

Sounds like you already have a fair amount of experience in working with Windows 9x and newer systems.

yes, four years hot sex with a**-ROCK mobo... begin with Pentium g630 and upgraded later.

here no problems with newest OS - 7, xp, linux. but first half year after buying i cant even enter to UEFI, or after 10-20 reboot only... with old good ps2 kbd. its be fixed in ver 2.10 firmware only... also here exist unstable bug if i use uide in dos in real mode only (w/o any emm) - i seen reboots with intense disk operations (filefind etc). on other mobos it bug is not appear!

Asrock make cool mobo, if seek from technical side. but with poor software... but i anyway love this mobo. :) i get power cpu and run it on 4 GHz.

14 hours ago, LoneCrusader said:

I know these aren't directly related to your question, but I wanted to ask. What's wrong with your USB mouse? It should work... And, what did you change in BIOSINFO.INF? It's common practice here to run SETUP with the "/p i" switches to disable ACPI, but another solution is always interesting.

USB mouse work... but... seek so if it floats in glycerol or oil (and the stuck button). and it no diff between Legacy mouse support ON/OFF.

in short - with DOS, win 3x, os/2, 2k, xp, 7, linux - all ok. alse no problems with ps2 or com mouse. but if i run 9x and turn on usb mouse as usb device in DM - i get glycerol. i think, it interrupt flood, so power, that after a minute of this work the fans are starting to buzz so, as if i run LINPACK... moreover, if Legacy support is on, i get those symptoms even just run 9x SETUP! just in setup gui.

but if i replace 9x mouse.drv to file from win 3x (94 year) - problem is disappear. but then dont work wheel :D

about acpi...  yes, key /p i also used, but he not enough... it not forced using pnp.vxd, it only recommend to installer.

i add in inf these strings

[BadACPIBios]
	; ACPI BIOS, несовместимые с Windows
AsrockZ68Pro3M
DellInspiron3500 ; its not my

[AsrockZ68Pro3M]
AcpiOemId="DMAR","INTEL SNB"

not very good variant - break use ACPI on all 1155 mobo, but i want get fast solving ant it work...

15 hours ago, LoneCrusader said:

On the subject of HD Audio, I have also tried to get the HDAUDBUS.SYS driver loaded with the help of our resident expert rloew and his WDMEX.VXD (an expanded replacement for WDMSTUB.SYS).

15 hours ago, Tommy said:

But as Lone above said, if anyone can help point you in the right direction, it'd totally be @rloew.

aha... where i get this WMDEX? yes, i really heard a lot about our Maestro. especially on RLP and Terabyte unlimited. :P but i hesitate to bother him... 

15 hours ago, LoneCrusader said:

Since you are getting an error in the Device Manager it sounds like your WDMSTUB.SYS is not covering all of the necessary WDM functions used by HDAUDBUS.SYS.

yes, it can be. when i try check hdaudbus with wdmcheck - he just crash... without result. i use latest stub from Kernelex...

15 hours ago, LoneCrusader said:

of the last version of the RealTek AC'97 WDM driver package INFs

i think, its main error, that me allowed - we attempt use driver for AC97, that is PCI device, but HDA is not pci device.

analogy is USB: UAA bus = controller or hub, seat on PCI; but self HDA (ALC892) = usb mouse/kbd/other, and NOT seat on PCI.

I do not know why it came up, probably to create new problems for enthusiasts.

so attempts try AC97 drivers for HDA are meaningless.

11 hours ago, MrMateczko said:

Are there any HDA devices which do not use the \HDAUDIO enumeration

none.

11 hours ago, MrMateczko said:

What about PORTCLS.SYS and SYSAUDIO.SYS? Those files are also included in KB888111 for Win2000

on my system these files get from NUSB - it XP version.

11 hours ago, MrMateczko said:

Can the HDAUDBUS.SYS driver be modified in any way, or is that way too difficult/impossible?

modify can all, but with different complexity... :D 

i want ask - here is seriously diifs with enumerating devices between 9x and nt kernel?

where save device tree - in registry, or he generate dynamically?

what ms add USB support into 95 OSR2? he make heavy changes in kernel for it?

Thank you for attention!

Link to comment
Share on other sites

I have a 98SE PC with an nForce 3 250 chipset, an ASRock K8Upgrade-NF3, and I do not have problems with using a USB mouse, though it depends on the mouse as well. One USB mouse I have glitches out in 98SE setup, the other one runs flawlessly in setup. Both of them work fine when the system is installed. Try a different USB mouse, or use an old PS2 one (I bought a newer PS2 mouse, and it was glycerol as you said :/ )

Back on the HD Audio topic, well...first off, we need to find an example of a 9x driver, which enumerates a different device after installing, if there is one.

I noticed that the LAN driver inf for my MoBo for 2K/XP do enumerate a different device which is installed by a second inf, but the 9x driver for the same LAN is just one inf file with one sys and is installed directly.

So, we need to create a driver for the bus which is also an audio driver all in one...is it possible to combine HDAUDBUS.SYS and HDAUDIO.SYS?

Here are examples on how my LAN drivers are different, maybe it will be helpful, maybe not, there's nothing to lose...

LAN2KXP.7z

LAN98SE.7z

PS. Wait, are you the same user from the ru-board.com? I visit the forum sometimes with a google translate, nice ongoing discussion you have there, good to see there are more 98SE fans than me :P

Edited by MrMateczko
Link to comment
Share on other sites

43 minutes ago, MrMateczko said:

Try a different USB mouse, or use an old PS2 one (I bought a newer PS2 mouse, and it was glycerol as you said :/ )

this mouse nicely work with all other mobos, what i seen in my life... exist good program - Mousemu, it replace mouse via numpad, so i not have high disadvantage  from it bug. 

47 minutes ago, MrMateczko said:

HDAUDIO.SYS

its driver for codec, he havent relations for UAA bus self, it will install only after UAA. and only for codecs, which already exist at moment release 888111. else it replaced newest driver from Realtek etc. 

52 minutes ago, MrMateczko said:

we need to find an example of a 9x driver, which enumerates a different device after installing, if there is one.

hmm.. any USB/SCSI, no? i knownt, as it all work internally... possible, it do filters? 

1 hour ago, MrMateczko said:

LAN98SE.7z

i seek your samples, and found not any special bus in 9x inf. it is ordinal PCI device... or here appear any new subdevice after install it inf?

===== 

yes, i from forum.ru-board.com :D 

===== 

if anyone want, can seek my haotic probe hdabus98.inf in attach. this not work as we need, does nothing helpful, but possible give some ideas... here inf only, i think, no need attach all 888111. 

HDABUS98.INF.ZIP

Link to comment
Share on other sites

So, the MoBo is an issue with the mouse, oh well :/

Oh yes, I forgot to write this, we would need to combine the HDAUDBUS.SYS and the Win2K .SYS HDA driver from a given manufacturer like Realtek or C-Media. That means hard work for just one family of devices, no chance to create universal driver at all :(

I know there's nothing interesting in the 98SE LAN driver, but look at the 2K/XP one, you can clearly see the two .inf's.

Can we use MPXPLAY source code for HDA support? Maybe create a DOS driver that somehow works while running Win98SE...

Link to comment
Share on other sites

10 minutes ago, MrMateczko said:

Can we use MPXPLAY source code for HDA support? Maybe create a DOS driver that somehow works while running Win98SE...

i try run mpxplay one month to back, its not work with my hda :wacko:

instead, in dos good work QV Pro 2.61 (with pci.sdr), but here no hope get sources anyway...

also, i have SNAP Audio for DOS, here exist HDABUS.BPD, but again, no hope get sources, moreover, company SciTech died.

Link to comment
Share on other sites

I came across Sigmatel4487.exe  a while ago when I was searching for early hda drivers for to try in 98SE on my Dell laptop.  I found the WDMDEBUG folder interesting- I haven't seen this folder before. It looks like it has some kind of debug drivers for stac97 and hda.  The version numbers are identical to each other. 

Link to comment
Share on other sites

On 11/19/2016 at 4:41 AM, MERCURY127 said:

USB mouse work... but... seek so if it floats in glycerol or oil (and the stuck button). and it no diff between Legacy mouse support ON/OFF.

in short - with DOS, win 3x, os/2, 2k, xp, 7, linux - all ok. alse no problems with ps2 or com mouse. but if i run 9x and turn on usb mouse as usb device in DM - i get glycerol. i think, it interrupt flood, so power, that after a minute of this work the fans are starting to buzz so, as if i run LINPACK... moreover, if Legacy support is on, i get those symptoms even just run 9x SETUP! just in setup gui.

but if i replace 9x mouse.drv to file from win 3x (94 year) - problem is disappear. but then dont work wheel :D

Have you tried adding the HotFix for KB254660 or using IntelliPoint to update your mouse drivers? Might help, might not. I've not encountered this problem before so I don't know what else to try.

On 11/19/2016 at 4:41 AM, MERCURY127 said:

about acpi...  yes, key /p i also used, but he not enough... it not forced using pnp.vxd, it only recommend to installer.

i add in inf these strings


[BadACPIBios]
	; ACPI BIOS, несовместимые с Windows
AsrockZ68Pro3M
DellInspiron3500 ; its not my

[AsrockZ68Pro3M]
AcpiOemId="DMAR","INTEL SNB"

not very good variant - break use ACPI on all 1155 mobo, but i want get fast solving ant it work...

I'll have to have a look at the INF and experiment with it. Thanks for the info!

On 11/19/2016 at 4:41 AM, MERCURY127 said:

aha... where i get this WMDEX? yes, i really heard a lot about our Maestro. especially on RLP and Terabyte unlimited. :P but i hesitate to bother him... 

yes, it can be. when i try check hdaudbus with wdmcheck - he just crash... without result. i use latest stub from Kernelex...

WDMEX isn't free or currently publicly available; you would need to contact rloew about it if you're interested. rloew may also be able to provide a replacement for WDMCHECK; it's interesting that WDMCHECK is crashing out when run on HDAUDBUS.SYS. :dubbio:

On 11/19/2016 at 4:41 AM, MERCURY127 said:

i think, its main error, that me allowed - we attempt use driver for AC97, that is PCI device, but HDA is not pci device.

analogy is USB: UAA bus = controller or hub, seat on PCI; but self HDA (ALC892) = usb mouse/kbd/other, and NOT seat on PCI.

I do not know why it came up, probably to create new problems for enthusiasts.

so attempts try AC97 drivers for HDA are meaningless.

I just meant that I had compared the INF files for the 9x-compatible WDM AC'97 drivers to the 2K INF files for the HDAUDIO drivers to see how driver loading was handled, because this would need to be modified for Windows 9x to use the 2K INF files. The AC'97 driver INF's do not seem to use an "HKR,,DevLoader,,*NTKERN" line while other driver INF's such as USBSTOR do have this. I don't know if it's relevant or not yet.

On 11/19/2016 at 4:41 AM, MERCURY127 said:

what ms add USB support into 95 OSR2? he make heavy changes in kernel for it?

Yes; when Microsoft added USB support to 95 OSR2 a new VMM32.VXD, KERNEL32.DLL, KRNL386.EXE, and several other core system VXD's are replaced. (See my XUSBSUPP package.) NTKERN.VXD is added which contains an "embryonic" implementation of WDM under Windows 95.
Worth mentioning here that rloew and I were able to create a hybrid version of Windows 95 OSR2 + the Windows 98SE version of NTKERN using WDMEX and some other custom modifications. It allows one to use USB2 drivers, USB-HID devices, FireWire (1394 Bus and Storage) and possibly other 98-compatilbe drivers under 95 OSR2.

The main problem we face is that even if one implements all WDM functions that are missing from a 2K driver under 98 using WDMSTUB/WDMEX there is still no guarantee of success. WDM functions are sometimes implemented differently and expect differing return values under different operating systems. One could spend a lot of time working on this with no idea whether or not it will all be wasted. :}

On 11/19/2016 at 9:32 PM, farfigs11 said:

I came across Sigmatel4487.exe  a while ago when I was searching for early hda drivers for to try in 98SE on my Dell laptop.  I found the WDMDEBUG folder interesting- I haven't seen this folder before. It looks like it has some kind of debug drivers for stac97 and hda.  The version numbers are identical to each other. 

Yes, very interesting. Have a link? Find anything else like this?

If anyone can manage to track down a copy of the "IHV Enabling Kit" mentioned in these links, it might be the holy grail for this issue...
ftp://ftp.micro-square.nl/Drivers/Audio/CMedia CMI9880/v5.12.01.0008/XP_2003_64bit/README Microsoft x64 prerelease HD AUdio drivers.txt
http://microsoft.public.development.device.drivers.narkive.com/2cX5zfSm/uaa-hd-audio-function-driver-sample-code
 

Link to comment
Share on other sites

3 hours ago, LoneCrusader said:

WDMEX isn't free or currently publicly available

yes... :D good, i try talk with him. 

3 hours ago, LoneCrusader said:

a new VMM32.VXD, KERNEL32.DLL, KRNL386.EXE, and several other core system VXD's are replaced

i know it. i ask about other - it changes wiil do for WDM model implementation, or also do for USB enumeration, etc? 

just if enumeration (and adding new bus in DM) implemeted in one of files USB stack's - it good... 

but if support of new bus always required news patches in kernel files - its very bad... 

4 hours ago, LoneCrusader said:

Have you tried adding the HotFix for KB254660

yes, sure, i try even mouse* and hid* from ME... helpful only mouse.drv from win 3x. 

===== 

i now see hdaudbus.sys in binary and found here AzCreateChildDevice, AzEnumerateBus, READ_REGISTER_UCHAR... its first time when i see this. are this functions implemented in our stubs? 

12302126.png

also i see many unicode calls to ntoskrnl, such so RtlGetVersion. are this all work on 9x? 

===== 

soory for big pic, i think insert link only, but forum self to load pic.. :huh:

Link to comment
Share on other sites

i stupid... Az* is internal debug strings, not imports... its good.

but here no files in my windir\* which export RtlGetVersion. yes, sys used dynamic load, so possible he can work without some imported functions. or no...

Edited by MERCURY127
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...