watlers world wrote:perhaps it might better to test some cheaper controllers first?
watlers world wrote:I would not be messing usb stuff if I had not had some given to me
watlers world wrote:is the int 14api api stuff of any use at all
to a protected mode program?
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
watlers world wrote:will ctmouse use the 3 buttons?
as I recall the 3 button sw driver uses it
watlers world wrote:if win16 is talking via ints
then I can use any usb data you can give me this way
watlers world wrote:is the memory space directly used by usb
or info that your driver needs to redirect?
watlers world wrote:would it be better to have the rm driver create
the variables needed hand out handles
and just have the pm program fill the data in?
watlers world wrote:from a pm perspective its best to use all memory over 1mb
watlers world wrote:can your driver use xms?
watlers world wrote:pci memory addresses are the only problem then?
watlers world wrote:and USBJSTIK is not just bios based support
but a driver?
watlers world wrote:ok then I should use data from usbjstik?
watlers world wrote:now I have to get memory from an exact memory range
would this be the same as the memory ranges that
Craig Harts dos pci program shows for each pci card?
watlers world wrote:I used the pci unit from usb4pas to make a test program
if you set register 4 to 6H it stays
watlers world wrote:this sounds like what you were talking about
(int 4Bh)
am I close?
;------------------------------------------------------------------------------
;TEST AND SEE IF VDS ARE INSTALLED (VIRTUAL DMA SERVICES)
;Inputs:
;Outputs: CF = Clear if installed
; = Set if not installed
;Changes:
;NOTE: Bit 5 at 0040:007Bh is supposed to be set if VDS is supported, but
; not all systems set this. INT 4B.8102 is the only certain
; verification.
; Int 4B.8102 returns a bunch of information about VDS manufacturer
; and versions and such, none of which we care about in the program.
;------------------------------------------------------------------------------
TestVDS:
PUSH AX,BX,CX ;Save used registers
PUSH DX,DI,SI ;Save used registers
MOV AL,4Bh ;Is Int 4Bh
CALL TestInt ; even installed?
JZ >V70 ;If not, VDS can't be installed
MOV AX,8102h ;Function 8102h (VDS Install Check)
XOR DX,DX ;DX = 0
STC ;Preset the error flag
INT 4Bh ;Do it (returns all kinds of stuff)
JNC >V80 ;If it's installed, jump to set the installed flag
V70: ;VDS is not installed
STC ;Set the not installed flag
JMP >V90 ;We're done
V80: ;VDS is installed
CLC ;Set the installed flag
V90: ;We're done
POP SI,DI,DX ;Restore used registers
POP CX,BX,AX ;Restore used registers
RET
;------------------------------------------------------------------------------
;TEST AND SEE IF AN INTERRUPT VECTOR HAS A VALID ADDRESS (other than 0)
;Inputs: AL = Interrupt number to test
;Outputs: ZF = Set if invalid address (all zeroes)
; = Clear if valid address (anything other than zeroes)
;Changes:
;------------------------------------------------------------------------------
TestInt:
PUSH AX,BX,ES ;Save used registers
MOV AH,35h ;Function 35h (get Interrupt Vector), AL = Int # to get
INT 21h ;Do it (returns ES:BX)
MOV AX,ES ;Put the segment in AX so we can test it
OR AX,AX ;Is the segment valid (set the return flag)?
POP ES,BX,AX ;Restore used registers
RET
watlers world wrote:then I guess the windows VDS is similar to
EMM386.EXE (DOS VDS?)
Bret wrote:now I have a vague idea about VDS
(after about 3 readings)
watlers world wrote:and registers are 16bits
do I have to use 2 of them?
watlers world wrote:DS:[DX] = Pointer to 64-byte request structure (see below)
watlers world wrote:humm... looks like....
before an windows 3.1 int is called
86 mode drops to protected mode
http://en.wikipedia.org/wiki/Virtual_8086_mode
and the DS, ES, FS, and GS registers are cleared...
then PM mode drops to REAL mode...
http://courses.engr.illinois.edu/ece390 ... rupts.html
watlers world wrote:with the bios joystick method
when you call INT $15 the second time and get the buttons
MOV DX, $0000
INT $15
MOV btns, AL
is it possible to use more than 4 buttons?thanks
Users browsing this forum: No registered users and 3 guests