home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
disks
/
disk378.lzh
/
JoyLib
/
joy0.asm
< prev
next >
Wrap
Assembly Source File
|
1990-10-10
|
1KB
|
68 lines
*
* JOY.asm
*
* subroutine for checking Amiga's gameports
* this source for a68k
*
* by Oliver Wagner, Landsberge 5, 4322 Sprockhövel, West Germany
*
* This is Public Domain, Enjoy!
*
* remember:
* JOY_LEFT = 1
* JOY_RIGHT = 2
* JOY_UP = 4
* JOY_DOWN = 8
* JOY_FIRE = 16
*
*
CODE
xdef _joy0
xdef @joy0 ; Lettuce compatibility
xdef _joy1
xdef @joy1 ; Lettuce compatibility
_joy0:
@joy0:
sub.l a1,a1
move.w $dff00a,d1
btst #6,$bfe001
bne.s dojoy
subq.w #1,a1
bra.s dojoy
_joy1:
@joy1:
sub.l a1,a1
move.w $dff00c,d1
btst #7,$bfe001
bne.s dojoy
subq.w #1,a1
dojoy:
and.w #$303,d1
lea jtab(pc),a0
moveq #8,d0
*
* this algorith??? (<- shit :-) should give
* best results on 68o1o or higher, but will
* still suffice on the standard 68ooo
*
jlop:
cmp.w (a0)+,d1
dbeq d0,jlop
move.w 16(a0),d0
ext.l d0
move.w a1,d1
beq.s return
or.w #16,d0
return:
rts
jtab:
dc.w 0,$3,$300,$100,$1,$103,$2,$200,$301
dc.w 0,2,1,4,8,6,10,5,9
END