watlers world wrote:perhaps it might better to test some cheaper controllers first?
It certainly would. For my testing, I have purchased a few inexpensive gamepads & joysticks.
watlers world wrote:I would not be messing usb stuff if I had not had some given to me
Well, I must say I admire your ambition. I need to warn you that you're headed down a long, lonely, arduous road if WIN 3.1 is your target platform. Are you really sure you want to commit to that?
watlers world wrote:is the int 14api api stuff of any use at all
to a protected mode program?
I think you've answered your own question below -- you've correctly called the installation check and it responded just like it should.
watlers world wrote:looks like I've got
AX,BX,CX,DX,SI,DI
dont know about CF....
turned on dosuhci
from win3x set regs as said and
called int 14 and got
ax=00000000
bx=00004221
cd=00005553
dx=000046AF
si=00003A5F
di=00000D30
The USB INT 14h API currently only uses AX, BX, CX, DX, flags, and DS. It doesn't use DI, SI, BP, or any of the other segments (ES, FS, GS), though a future version might use ES. I think you can get by without the flags if you can't figure that part out, since it always returns error codes in AX so CF is somewhat redundant (but using CF allows the code to be smaller and more efficient).
Like I said earlier, the INT 14h part shouldn't be a problem. The real problems are going to be that you must be able to provide real mode (somewhere in the first MB) memory pointers for parameter passing and call-back addressing, and physical memory addresses for the PCI data transfers. If you can figure out how to do those things from within Windows, you can use the USB INT 14h API to do almost anything you want on the USB bus.
However, keep in mind that using the USB INT 14h API is MUCH more complicated than using BIOS interfaces for the devices (mice, keyboards, joysticks, printers, etc.). But, doing so allows you to use all of the capabilities of the device, rather than limiting it to the features supported by the BIOS.
watlers world wrote:will ctmouse use the 3 buttons?
as I recall the 3 button sw driver uses it
CTMOUSE supports three buttons, and also supports one wheel. There are other DOS mouse drivers besides CTMOUSE, but it is the only one that supports a wheel, and also the only one that is still under development and may eventually add additional features. The BIOS supports up to five buttons and two wheels, and CTMOUSE may eventually be updated to support that as well.