home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antic Magazine 1988 January
/
Antic_Magazine_1988_01_Antic.atr
/
ssijoy8.m65
< prev
next >
Wrap
Text File
|
2023-02-26
|
3KB
|
1 lines
0100 ; SSI JOYSTICK DRIVER (8-WAY)¢0110 ; BY RICH MOORE¢0120 ; (c)1987, ANTIC PUBLISHING¢0130 ;¢0140 ;Uses deferred Vertical Blank to¢0150 ;enter a keycode based on the¢0160 ;deflection of the joystick and¢0170 ;whether the trigger is pressed.¢0180 ;¢0190 ;Replaces "XRENAME" in DOS 2.0¢0200 ;¢0210 ; System equates¢0220 ;¢0230 SETVBV = 58460¢0240 XITVBV = 58466¢0250 STICK0 = 632¢0260 STRIG0 = 644¢0270 INITAD = 738¢0280 CH = 764¢0290 ;¢0300 ; DOS 2.0 equates¢0310 XRENAME = $0BD9 ; Start of¢0320 ; "XRENAME"¢0330 ERDVDC = $12BF ;Command error¢0340 ; routine¢0350 *= XRENAME¢0360 ;¢0370 JMP ERDVDC ;Jump to error¢0380 ; ;routine if¢0390 ; XRENAME called¢0400 ; by CIO or DOS¢0410 ;¢0420 INSTALL ; Link joystick¢0430 LDY # <VBD ;into the deffrd¢0440 LDX # >VBD ;Vertical Blank¢0450 LDA #7¢0460 JMP SETVBV¢0470 ;¢0480 VBD¢0490 LDA STICK0¢0500 AND #15 ;Mask-out upper¢0510 ; four bits,¢0520 CMP #15 ;exit if stick¢0530 ; is centered.¢0540 BEQ DONE¢0550 ;¢0560 LDX STRIG0 ;If pressed,¢0570 BEQ D0 ;check diagonal.¢0580 ;¢0590 LDX #3 ;Check for¢0600 L1 ; Cardinal (NESW)¢0610 LDY KEY1,X ;direction.¢0620 CMP CARD,X¢0630 BEQ DELAY¢0640 ;¢0650 DEX ¢0660 BPL L1¢0670 BMI DONE ;Exit if no match¢0680 ;¢0690 D0 ; Check for¢0700 LDX #3 ;diagonals¢0710 D1¢0720 LDY KEY2,X¢0730 CMP DIAG,X¢0740 BEQ DELAY¢0750 DEX ¢0760 BPL D1¢0770 BMI DONE¢0780 ;¢0790 DELAY¢0800 DEC TIMER¢0810 BPL DONE¢0820 LDX #3¢0830 STX TIMER¢0840 ;¢0850 PRESS¢0860 STY CH ;Enter the code¢0870 DONE¢0880 JMP XITVBV ;and exit.¢0890 ;¢0900 TIMER¢0910 .BYTE 3¢0920 ;¢0930 KEY1¢0940 .BYTE 31 ;"1"¢0950 .BYTE 26 ;"3"¢0960 .BYTE 29 ;"5"¢0970 .BYTE 51 ;"7"¢0980 CARD¢0990 .BYTE 14 ;NORTH¢1000 .BYTE 7 ;EAST¢1010 .BYTE 13 ;SOUTH¢1020 .BYTE 11 ;WEST¢1030 ;¢1040 KEY2¢1050 .BYTE 30 ;"2"¢1060 .BYTE 24 ;"4"¢1070 .BYTE 27 ;"6"¢1080 .BYTE 53 ;"8"¢1090 DIAG¢1100 .BYTE 6 ;NE¢1110 .BYTE 5 ;SE¢1120 .BYTE 9 ;SW¢1130 .BYTE 10 ;NW¢1140 ;¢1150 ;¢1160 *= INITAD ;Execute as soon¢1170 ; as segment¢1180 ; is loaded so¢1190 .WORD INSTALL ; it can be¢1200 ; ;the first part¢1210 ; ; of an¢1220 ; AUTORUN.SYS file¢1230 .END ¢