From dcc8d09fcf335718162b74edc4548ce68e2e592d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Hord=C3=A9?= Date: Sat, 31 Mar 2007 20:08:19 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20fichier/r=C3=A9pertoire=20effac=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noyau/manette.asm | 298 ---------------------------------------------- 1 file changed, 298 deletions(-) delete mode 100644 noyau/manette.asm diff --git a/noyau/manette.asm b/noyau/manette.asm deleted file mode 100644 index d291dc2..0000000 --- a/noyau/manette.asm +++ /dev/null @@ -1,298 +0,0 @@ -.model tiny -.486 -smart -.code -org 0h -start: -jmp tsr -drv db 'JOYSTICK',0 -Tsr: -cli -cmp ax,1234h -jne nomore -mov ax,4321h -jmp itsok -nomore: -push bx -cmp byte ptr cs:isact,1 -je nottest -mov cs:isact,1 -jmp react -mov bl,ah -xor bh,bh -shl bx,1 -mov bx,cs:[bx].tables -mov cs:current,bx -pop bx -call cs:current -itsok: -jnc noerror -push bp -mov bp,sp -or byte ptr [bp+6],1b -pop bp -mov ax,cs -shl eax,16 -mov ax,cs:current -jmp endofint -noerror: -push bp -mov bp,sp -and byte ptr [bp+6],0FEh -pop bp -endofint: -mov cs:isact,0 -sti -iret -nottest: -pop bx -jmp endofint -current dw 0 -tables dw 0;detectjoystick - ;dw getjoystick - ;dw getjoystickscreen - ;dw configjoystick -isact db 0 - -;envoie en bx,cx les coordonn‚es et en dl les boutons -getjoystick: -push ax cx -mov bx,cs:rx -mov cx,cs:ry -mov al,cs:button -not al -mov cl,4 -shr al,cl -mov dl,al -pop cx ax -ret - -;envoie en di les coordonn‚es ecran et en dl les boutons -getjoystickscreen: -push ax cx -mov di,cs:xy -mov al,cs:button -not al -mov cl,4 -shr al,cl -mov dl,al -pop cx ax -ret -db 'button' -Button db 0 -db 'rx' -rx dw 0 -db 'ry' -ry dw 0 -db 'vx' -VX db 0 -db 'vy' -VY db 0 -db 'x' -X dw 7FFFh -db 'y' -Y dw 7FFFh -speed db 6 -spherex db 0 -spherey db 0 -db 'count' -count db 0 -db 'error' -error db 0 -xy dw 0 -old db 0 - -calibrate db 0 -db 'ticks' -ticks dw 0 -db 'state' -state db 0 -db 'connard' -connard db 1 -connard2 db 1 -;Gestionnaire de joystick -react: - push ax bx cx dx si di bp ds es - push cs - pop ds - mov dx,201h - cmp error, 1 - je gest1 - cmp count,1 - je gest1 - cmp count,2 - je gest2 -gest1: - mov error,0 - mov count,2 - call getticks - mov ticks,ax - out dx,al - in al,dx - and al,00000011b - mov state,al - jmp endgest -gest2: -not connard - call getticks - sub ax,ticks - cmp ax,1FF0h - jb nofinish - mov error,1 - jmp endgest -nofinish: - mov bx,ax - in al,dx - and al,00000011b - cmp state,al - je endgest - xchg state,al - xor al,state - mov cl,4 - or bx,bx - js noadj - shr bx,cl -noadj: - test al,1 - je isy - mov VX,bl - jmp wasx -isy: - test al,2 - je endgest - mov VY,bl -wasx: -mov connard2,0fh - mov count,1 -endgest: - in al,dx - not al - mov cl,4 - shr al,cl - mov button,al - push cs - pop es - mov di,offset infos - mov ah,34 - int 47h - mov cl,speed - movsx bx,VY - shl bx,cl - cmp spherey,0 - jne nolimity - xor ah,ah - mov al,[di] - cmp byte ptr [di+7],4 - jbe text4 - shl ax,3 -text4: - dec ax - cmp bx,0 - jg decy - cmp ry,ax - jae noaddy - jmp nolimity -decy: - cmp ry,0 - je noaddy -nolimity: - sub y,bx -noaddy: - movsx bx,VX - shl bx,cl - cmp spherex,0 - jne nolimitx - xor ah,ah - mov al,[di+1] - cmp byte ptr [di+7],4 - jbe text5 - shl ax,3 -text5: - dec ax - cmp bx,0 - jl decx - cmp rx,ax - jae noaddx - jmp nolimitx -decx: - cmp rx,0 - je noaddx -nolimitx: - add x,bx -noaddx: - mov ax,x - mov bx,0FFFFh - xor ch,ch - mov cl,[di+1] - cmp byte ptr [di+7],4 - jbe text1 - shl cx,3 -text1: - mul cx - div bx - mov rx,ax - mov ax,y - xor ch,ch - mov cl,[di] - cmp byte ptr [di+7],4 - jbe text2 - shl cx,3 -text2: - mul cx - div bx - mov ry,ax - xor ch,ch - mov cl,[di+1] - cmp byte ptr [di+7],4 - jbe text3 - shl cx,3 -text3: - mul cx - add ax,rx - cmp byte ptr [di+7],4 - mov di,ax - jbe textpoint - mov ax,0A000h - mov es,ax - jmp graphpoint -textpoint: - mov ax,0B800h - mov es,ax - shl di,1 - inc di -graphpoint: - mov bx,xy - cmp byte ptr es:[bx],070h - jne waschanged - mov al,old - mov byte ptr es:[bx],al -waschanged: - mov xy,di - mov al,es:[di] - mov old,al - mov byte ptr es:[di],070h - mov al, 20h - out 0a0h, al - out 20h, al -errormouse: - pop es ds bp di si dx cx bx ax - mov cs:isact,0 - pop bx - iret - infos db 40 dup (0) - - -getticks: -mov al,0 -out 43h,al -jmp wait1 -wait1: -in al,40h -mov ah,al -jmp wait2 -wait2: -in al,40h -xchg ah,al -ret - -end start