home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1988 January / Antic_Magazine_1988_01_Antic.atr / ssijoy8.m65 < prev    next >
Text File  |  2023-02-26  |  3KB  |  1 lines

  1. 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 ¢