home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antic Magazine 1986 May
/
Antic_Magazine_1986_05_Antic.atr
/
keyjoy.m65
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
1 lines
0100 ;KEYJOY.M65¢0110 ;BY TED STOCKWELL¢0120 ;MODIFIED BY PATRICK BASS¢0130 ;(c) 1986, ANTIC PUBLISHING¢0140 ; V. 010786¢0150 .SET 1,20¢0160 .TAB 8,12,30¢0170 TOTALCODE = ENDCODE-STARTCODE¢0180 .OPT NO LIST¢0190 ;---------------------------¢0200 ;¢0210 STARTCODE = $0110¢0220 SETVBV = $E45C ;Set Vector.¢0230 SYSVBV = $E45F ;Do VBlank.¢0240 VBSETCODE = 6¢0250 STICK0 = $0278 ;Stick shadow.¢0260 SPEED = $00 ;Repeat Speed.¢0270 CH = $02FC¢0280 CUR.UP = 142 ;Cursor Values.¢0290 CUR.DOWN = 143¢0300 CUR.LEFT = 134¢0310 CUR.RIGHT = 135¢0320 ;¢0330 ;---------------------------¢0340 *= STARTCODE¢0350 ;¢0360 ;To activate, point the VBlank vector to our routine.¢0370 INSTALL¢0380 PLA ¢0390 LDY # <MAIN¢0400 LDX # >MAIN¢0410 LDA #VBSETCODE¢0420 JSR SETVBV¢0430 RTS ¢0440 ;¢0450 ;------------------------¢0460 ;Now every vertical blank sends us here first.¢0470 MAIN¢0480 DEC COUNT ;Bump down.¢0490 BNE DONE ;Branch out if timer still on.¢0500 LDA SPEED ;Else refresh¢0510 STA COUNT ;delay counter.¢0520 ;¢0530 LDA STICK0 ;Get stick val¢0540 EOR #$0F ;Invert it.¢0550 BEQ DONE ;If 0, no press.¢0560 ;¢0570 LDX #$FF ;Otherwise reset key selector.¢0580 MLOOP¢0590 INX ;point to next ;key selection.¢0600 LSR A ;Check for bit.¢0610 BCC MLOOP ;Branch if no bit available.¢0620 LDA KEYS,X ;Else grab Key¢0630 STA CH ;Store in shadow¢0640 DONE¢0650 JMP SYSVBV ;Do rest of Vertical Blank.¢0660 ;¢0670 ;-----------------------------¢0680 KEYS¢0690 .BYTE CUR.UP,CUR.DOWN¢0700 .BYTE CUR.LEFT,CUR.RIGHT¢0710 ;¢0720 COUNT¢0730 .BYTE 5¢0740 ;¢0750 ENDCODE¢0760 .END ¢