home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1987 March / Antic_Magazine_1987_03_Antic.atr / jstick.m65 < prev    next >
Text File  |  2023-02-26  |  1KB  |  1 lines

  1. 0100 ; JOYSTICK EXPANDER¢0110 ; BY MATT LOVELESS AND MIKE EGGERS¢0120 ; (c) 1987, ANTIC PUBLISHING¢0130 ;¢0140     *=  $0600   ;Page 6¢0150 SETVBV = $E45C  ;Routine to set VBI vectors¢0160 XITVBV = $E462  ;EXIT VBI VECTOR¢0170 STICK = $0278   ;beginning of OS's joystick values¢0180 DVBVLK = $0224  ;Address of deferred VBI vector¢0190 ;¢0200 SETUP¢0210     LDA DVBVLK  ;Save old vector¢0220     STA RETADD¢0230     LDA DVBVLK+1¢0240     STA RETADD+1¢0250     LDX #UPDATE/256 ;High byte of VBI vector¢0260     LDY #UPDATE&255 ;Low byte¢0270     LDA #7      ;Use deferred vector¢0280     JSR SETVBV  ;Set VBLANK¢0290     PLA         ;* BASIC ONLY *¢0300     RTS ¢0310 ;¢0320 UPDATE¢0330     LDX #$03    ;4 sticks (0-3)¢0340 ;¢0350 LOOP¢0360     LDA STICK,X ;Get this joystick reading...¢0370     TAY         ; -- AND --¢0380     LDA TABLE,Y ;use it to index into the table¢0390     STA STICK,X ;Store new value¢0400     DEX ¢0410     BPL LOOP    ;If not finished then branch back¢0420 ;¢0430     JMP (RETADD)¢0440 TABLE¢0450     .BYTE 0,0,0,0,0 ;Bad values return a zero¢0460     .BYTE 4     ;RIGHT/BACK¢0470     .BYTE 2     ;RIGHT/FORWARD¢0480     .BYTE 3     ;RIGHT¢0490     .BYTE 0¢0500     .BYTE 6     ;LEFT/BACK¢0510     .BYTE 8     ;LEFT/FORWARD¢0520     .BYTE 7     ;LEFT¢0530     .BYTE 0¢0540     .BYTE 5     ;BACK¢0550     .BYTE 1     ;FORWARD¢0560     .BYTE 0     ;CENTERED¢0570 ;¢0580 RETADD¢0590     *=  *+2     ;Return address¢0600     .END ¢