怎样写手柄的驱动程序?(200分)

  • 主题发起人 主题发起人 dcba
  • 开始时间 开始时间
D

dcba

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个接在电脑上的ps手柄,但是没有xp下的驱动程序,所以不能用,用delphi可以写驱动么?
如果不行,那怎样用汇编来写?谁能告诉我原理?
 
从技术角度而言当然可以!一般需要内嵌汇编!
下面这段代码是一个最简单的手柄驱动,如果你看不懂,那就没办法了!

unit Joy;

Interface

const JoystickAButton1 = $10;
; ; ; JoystickAButton2 = $20;
; ; ; JoystickBButton1 = $40;
; ; ; JoystickBButton2 = $80;
; ; ; JoystickAAxisX ; = $01;
; ; ; JoystickAAxisY ; = $02;
; ; ; JoystickBAxisX ; = $04;
; ; ; JoystickBAxisY ; = $08;

function JoystickButton(buttonnum : byte) : boolean;
function JoystickPosition(axisnum : byte) : word;

Implementation

const JOYSTICKPORT = $201;

function JoystickButton(buttonnum : byte) : boolean;
begin
; JoystickButton := (Port[JOYSTICKPORT] and buttonnum) = 0;
end;

function JoystickPosition(axisnum : byte) : word;
var count : word;
begin
; asm
; ; mov word ptr count, 0
; ; cli ; ; ; ; ;
; ; mov dx, JOYSTICKPORT ;
; ; out dx, al
; ; @joystickloop:
; ; inc count ; ; ; ; ; ; ;
; ; cmp count, $FFFF ; ; ;
; ; je @done
; ; in al, dx ; ; ; ; ; ; ;
; ; and al, axisnum ; ; ; ;
; ; jne @joystickloop
; ; @done:
; ; sti ; ; ; ; ; ; ; ; ; ;
; end;
; JoystickPosition := count;
end;
end.
 
如果这样写了,那边以后生成的dcu文件我又怎样用呢?,我的意思是在windows xp的添加硬件里
添加手柄,他要我给出驱动程序的文件,那我应该给给他什么文件?
 
有驱动啊,我装得挺好的... 呵呵...我的是双手柄,但只能用一个.
 
我是ps手柄,只有98的驱动,再win2K下面没法用的!有的话请寄给我!
 
ps手柄再win2000下的驱动是有的
lone2.yeah.net
 
http://www.daibirong.com/jhh/psddr.zip

加分吧..
 
多人接受答案了。
 
后退
顶部