Jump to content

Maximus-Decim Native USB Drivers


Recommended Posts

Transplanting XP's USB stack to 9x/ME is a loosing game. There's nothing to be gained, in what regards functionality, and plenty to be lost. RetroOS's success with USBCCGP.SYS is a rare exception, and there there was a problem to be solved (and solve it he did). Also getting XP's USB 3.0 to work on 9x/ME is a worthy quest. But simply upgrading to XP's file for things that already work well with the currently known drivers, with all due respect, seems pointless to me.

Link to comment
Share on other sites


Transplanting XP's USB stack to 9x/ME is a loosing game. There's nothing to be gained, in what regards functionality, and plenty to be lost. RetroOS's success with USBCCGP.SYS is a rare exception, and there there was a problem to be solved (and solve it he did). Also getting XP's USB 3.0 to work on 9x/ME is a worthy quest. But simply upgrading to XP's file for things that already work well with the currently known drivers, with all due respect, seems pointless to me.

My goal is to improve Win98 by all means necessary.

I have been more active with SP3 in the last year than others have been in the last 5 yrs with all their abandoned unofficial packs/projects.

And yes, I have just as many responsibilities as anyone else. I have bills and I have a family thats needs providing for.

I have been dealing with death more in the last 2 years than my entire lifetime.

I do this for the love, because I'm passionate about not being stuck in any situation. I don't do for the money (NO DONATIONS HAS BEEN OFFERED), I do it because I like challenges.

So what you are saying is adding any files thats not intended for Win98 is pointless, just cause it might breaks something. Well that means 98SE2ME is pointless (No Disrespect to you MDGx)

because some files in MDGx packs break some things. It has been posted in the proper forum. Maybe I should just remove all the WinME/Win2000/WinXP files etc.... because it pointless.

Link to comment
Share on other sites

So what you are saying is adding any files thats not intended for Win98 is pointless, just cause it might breaks something.

I don't think any of us are saying that. If there is some new or improved functionality to be gained by adding a Windows ME/2K/XP/Vista or whatever version file to Windows 98, then by all means add them. :yes:

But there are other things to be considered if a newer file does not actually add functionality. The Windows 98/ME USB driver stack was written for Windows 9x and with the underlying DOS in mind. I would hazard a guess that the 2K/XP USB USB driver stacks do not know what to do with or do not recognize a USB Keyboard or Mouse during the DOS\9x startup process, so they never get loaded.

If the 2K/XP USB driver stack provided some new functionality or improvement, such as the Win2K USB2 drivers, then we should use them. But if the 2K/XP USB1 stack doesn't do anything that the 98/ME stack already does, then we only take a risk that it will not work as well as the original because it was not designed for 9x to begin with.

Windows ME is the only exception to this IMO, because it is actually a direct update to the 9x codebase. Windows ME is good for something - for updating 98SE. :lol:

Link to comment
Share on other sites

I don't think any of us are saying that. If there is some new or improved functionality to be gained by adding a Windows ME/2K/XP/Vista or whatever version file to Windows 98, then by all means add them. :yes:

But there are other things to be considered if a newer file does not actually add functionality. The Windows 98/ME USB driver stack was written for Windows 9x and with the underlying DOS in mind. I would hazard a guess that the 2K/XP USB USB driver stacks do not know what to do with or do not recognize a USB Keyboard or Mouse during the DOS\9x startup process, so they never get loaded.

If the 2K/XP USB driver stack provided some new functionality or improvement, such as the Win2K USB2 drivers, then we should use them. But if the 2K/XP USB1 stack doesn't do anything that the 98/ME stack already does, then we only take a risk that it will not work as well as the original because it was not designed for 9x to begin with.

Windows ME is the only exception to this IMO, because it is actually a direct update to the 9x codebase. Windows ME is good for something - for updating 98SE. :lol:

It will not be added to the SP, until I test more.

Which means, if the files don't work I will NOT add them. Self Explanatory :realmad:
Link to comment
Share on other sites

It will not be added to the SP, until I test more.

Which means, if the files don't work I will NOT add them. Self Explanatory :realmad:

We know that you wont add any problem files to the SP.

I admire you for your efforts and willingness to experiment with all of these newer files. I share your desire to "improve Win98."

But changing something just for the sake of changing it (i.e. a file is newer, but does nothing different) is not always an improvement, and in the case of transplanting driver files between two different OS architectures, not a good idea when there is nothing to be gained. :angry:

Edited by LoneCrusader
Link to comment
Share on other sites

We know that you wont add any problem files to the SP.

I admire you for your efforts and willingness to experiment with all of these newer files. I share your desire to "improve Win98."

But changing something just for the sake of changing it (i.e. a file is newer, but does nothing different) is not always an improvement, and in the case of transplanting driver files between two different OS architectures, not a good idea when there is nothing to be gained. :angry:

So why are we using some WinME files when the Win98 files works just fine? :realmad::angry::realmad:

The WinME/Win2000/XP/Vista are no better than each other.

Link to comment
Share on other sites

So why are we using some WinME files when the Win98 files works just fine? :realmad::angry::realmad:

The WinME/Win2000/XP/Vista are no better than each other.

Which WinME files are you referring to that are no better than 98 files?

If you're referring to those in NUSB, lets break it down:

Windows ME files from NUSB:

No 98 equivalent:

USBMPHLP.PDR

USBNTMAP.INF

USBSTOR.INF

USBNTMAP.SYS

USBSTOR.SYS

USBAUTH.SYS

Added to solve a specific bug in the 98 version:

DISKTSD.VXD

CDVSD.VXD

Added to allow the use of XP USBCCGP.SYS:

OPENHCI.SYS

UHCD.SYS

USBD.SYS

USBHUB.SYS

USB.INF (98SE + ME info edited in)

Windows 2000 files in NUSB:

No 98 equivalent:

USB2.INF

USBPORT.SYS

USBEHCI.SYS

USBHUB20.SYS

Windows XP file in NUSB:

No 98 equivalent; WinME version bugged; no Win2K equivalent:

USBCCGP.SYS

All of these files were added for a specific purpose, either to solve an existing bug, or to add previously unavailable functionality.

Windows ME files ARE "better" and preferable to those from 2K/XP+ when/if they can be used to add something or solve something, simply because they are from the 9x codebase!

Edited by LoneCrusader
Link to comment
Share on other sites

So what you are saying is adding any files thats not intended for Win98 is pointless, just cause it might breaks something. Well that means 98SE2ME is pointless (No Disrespect to you MDGx) because some files in MDGx packs break some things. It has been posted in the proper forum. Maybe I should just remove all the WinME/Win2000/WinXP files etc.... because it pointless.

No I did not say that. I think adding files from ME and 2k very useful. Most of the progress that has been done, has been done by adding files precisely from this origin. I did contribute myself to the adaptation of some of those files, as you fully know. So I cannot be saying that. What I said is, it's much more difficult to do it with XP files, particularly so at SP3 level, since we then are much farther from 98SE then. But RetroOS did so with success with USBCCGP.SYS, and I am one of the few that long advocated using the 32-bit twain files from XP SP3 in 98SE. Both these cases work well. BUT files which deal with OHCI and UHCI, that is the USB 1.x protocol, should add nothing new to 98SE, since it has that functionality already, and its USB 1.x protocol is bugless, AFAIK. Moreover the USB stack model changed from 2k to XP, and that can be seen easily because there's no USBHUB20.SYS in XP, all that functionality having been retrofitted into its USBHUB.SYS. So, with all due respect, I do think there's too little room for improvement in 98SE's USB 1.x stack, while Bluetooth and USB 3.0 support are unexistent. And, if we ever get to make those things work in 98SE it must be using either XP or 3rd party files, because neither ME nor 2k have any support for them, too. This is what I meant, and I sure didn't mean no disrespect, in no way.

Link to comment
Share on other sites

So why are we using some WinME files when the Win98 files works just fine? :realmad::angry::realmad:

The WinME/Win2000/XP/Vista are no better than each other.

I use the Windows ME SCANDISK/DEFRAG Files because they handle larger Partitions.

I use some of the Windows ME USB Files because they handle more devices such as U3 Keys. Even then I only use the minimum number of them.

I do not use USBCCGP.SYS. USBHUB.SYS can replace it.

The USB 2 Stack is of obvious value.

My WDMEX.VXD extension to NTKERN.VXD can handle all Windows ME Functions required by any new Drivers.

NOTHING ELSE !!!

Link to comment
Share on other sites

@RLoew: With all due respect, I do disagree: RetroOS found at least one case in which the Win XP USBCCGP.SYS is required, because USBHUB.SYS does not cater for many USB composite devices. The problem here is related to KVM devices, and perhaps some others, too.

That said, I must add that while I'm a satisfied customer of your WDMEX.VxD, which has more functionality and, being actively developed, can add still more, NUSB's needs, up to now, have been adequately satisfied by WDMSTUB.SYS, which is also a 3rd party file. I do however reckon WDMEX.VxD will be fundamental in the Bluetooth/USB 3.0 quest, and that's why I became so happy when you started its development.

Link to comment
Share on other sites

@RLoew: With all due respect, I do disagree: RetroOS found at least one case in which the Win XP USBCCGP.SYS is required, because USBHUB.SYS does not cater for many USB composite devices. The problem here is related to KVM devices, and perhaps some others, too.

That said, I must add that while I'm a satisfied customer of your WDMEX.VxD, which has more functionality and, being actively developed, can add still more, NUSB's needs, up to now, have been adequately satisfied by WDMSTUB.SYS, which is also a 3rd party file. I do however reckon WDMEX.VxD will be fundamental in the Bluetooth/USB 3.0 quest, and that's why I became so happy when you started its development.

I have used USB Composite Devices such as USB Headsets. I don't have any USB KVM Devices, so I have not encountered any problems so far with using USBHUB.SYS.

I wasn't referring to NUSB when I mentioned my WDMEX.VXD Driver. I know WDMSTUB can handle it. I was referring to the fact that WDMEX can handle ALL Windows ME Kernel Functions unlike WDMSTUB.

My post was to make the point that I use the minimum of software from other OSes, and then only if it provides useful features that I cannot obtain otherwise. It was not a specific set of recommendations as people's needs can vary.

Edited by rloew
Link to comment
Share on other sites

@ dencorso + LoneCrusader

Maybe I did misunderstand your post.

It doesn't matter how clear you write something, everyone interpretations will be different. I misunderstoood yours.

Both of you guys have been down since the start. I should know better than that.

@ rloew

What new functions does your WDMEX.VXD add thats not present in WDMSTUB.SYS

Link to comment
Share on other sites

@ dencorso + LoneCrusader

Maybe I did misunderstand your post.

It doesn't matter how clear you write something, everyone interpretations will be different. I misunderstoood yours.

Both of you guys have been down since the start. I should know better than that.

@ rloew

What new functions does your WDMEX.VXD add thats not present in WDMSTUB.SYS

WDMEX.VXD is a work in progress.

The following additional functions are provided beyond the latest version of WDMSTUB:

New Functions:

ExExtendZone

ExInitializeZone

ExInterlockedExtendZone

ExInterlockedFlushSList

InitSafeBootMode

IoAttachDeviceToDeviceStackSafe

IoRequestDeviceEject

KeBugCheck

KeReadStateEvent

MmHighestUserAddress

MmIsAddressValid

RtlAnsiCharToUnicodeChar

RtlClearAllBits

RtlFindLeastSignificantBit

RtlNumberOfSetBits

RtlUpcaseUnicodeString

ZwDeleteValueKey

_purecall

_vsnwprintf

_allmul

---Stubbed

ExUuidCreate

IoDeviceObjectType

KeEnterCriticalSection

KeLeaveCriticalSection

KeQueryActiveProcessors

SeExports

SeSinglePrivilegeCheck

KeAcquireSpinLockRaiseToSynch

KeLowerIrql

KeRaiseIrql

KeRaiseIrqlToDpcLevel

KfRaiseIrqlToDpcLevel

New Stubs:

ExUuidCreate

IoDeviceObjectType

KeEnterCriticalSection

KeLeaveCriticalSection

KeQueryActiveProcessors

SeExports

SeSinglePrivilegeCheck

RtlAbsoluteToSelfRelativeSD

RtlAddAccessAllowedAce

RtlCreateSecurityDescriptor

RtlGetDaclSecurityDescriptor

RtlGetGroupSecurityDescriptor

RtlGetOwnerSecurityDescriptor

RtlGetSaclSecurityDescriptor

RtlLengthSecurityDescriptor

RtlLengthSid

RtlSetDaclSecurityDescriptor

SeCaptureSecurityDescriptor

ZwSetSecurityObject

ObOpenObjectByPointer

Replaced Stub with Implementation:

RtlInt64ToUnicodeString

Fixed:

RtlUlonglongByteSwap

Upgraded existing Function in Windows 98:

IoAllocateDriverObjectExtension

PsCreateSystemThread

ObReferenceObjectByHandle

Link to comment
Share on other sites

@ dencorso + LoneCrusader

Maybe I did misunderstand your post.

It doesn't matter how clear you write something, everyone interpretations will be different. I misunderstoood yours.

Both of you guys have been down since the start. I should know better than that.

No problem. We're all on the same side here. :thumbup

We just all have different ways of tackling problems, and different lists of priorities about what issues should receive attention & time invested for experiments.

Link to comment
Share on other sites

No problem. We're all on the same side here. :thumbup

We just all have different ways of tackling problems, and different lists of priorities about what issues should receive attention & time invested for experiments.

I kinda understand what you guys are saying now. The first 2 times I read you guys posts,

I thought you guys was saying everything I have done was pointless. You wasn't saying that, and now I understand.

Believe it or not, I have sacrifice a lot (I can go into details if you like) to try my best to accommadate as many people as possible.

No matter what you do, there will always be someone who doesn't like what you do.

:thumbup:thumbup:w00t::yes: Thanks for understanding (something I need to learn how to do).

This applies to you also dencorso. :lol:

Edited by PROBLEMCHYLD
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...