home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1989 May / Antic_Magazine_1989_05_Antic_Side_A.atr / fingers.m65 < prev    next >
Text File  |  2023-02-26  |  2KB  |  1 lines

  1. 0100 ;BUTTERFINGERS¢0110 ;BY KEVIN C. GEVATOSKY¢0120 ;(c)1989, ANTIC PUBLISHING INC.¢0130 ;¢0140 DOSINI = $0C¢0150 VKEYBD = $0208  ;KB int. vector.¢0160 KBCODE = $D209  ;Current key.¢0170 CH1 =   $02F2   ;Prior key.¢0180 CH  =   $02FC   ;Last key.¢0190 SH_CLR = 118    ;Key codes.¢0200 CT_CLR = 182¢0210 CT_SH_CLR = 246¢0220 ;¢0230     *=  $0600¢0240 ;¢0250 ;This program provides two entry¢0260 ;points so that it can be¢0270 ;started from DOS or BASIC.¢0280 ;¢0290 START¢0300     JMP INIT    ;For DOS entry.¢0310     NOP         ;For BASIC entry¢0320     PLA         ;w/ X=USR(1540)¢0330 ;¢0340 ;Makes the program RESET-proof¢0350 ;¢0360 INIT¢0370     LDA DOSINI  ;Get current DOS¢0380     STA NEW_INI+1 ;init address¢0390     LDA DOSINI+1 ;and save in¢0400     STA NEW_INI+2 ;new vector.¢0410     LDA # <NEW_INI ;Put addr of¢0420     STA DOSINI  ;new vector in¢0430     LDA # >NEW_INI ;old vector.¢0440     STA DOSINI+1¢0450     BNE SET_KBVEC ;(JUMP)¢0460 ;¢0470 NEW_INI¢0480     JSR $FFFF   ;New DOS init.¢0490 ;¢0500 ;Jump here on initialization or¢0510 ;RESET to setup a new keyboard¢0520 ;trap vector.¢0530 ;¢0540 SET_KBVEC¢0550     SEI         ;Kill IRQ's.¢0560     LDA VKEYBD  ;Save system KB¢0570     STA SYSKBV  ;interrupt addr¢0580     LDA VKEYBD+1 ;replace w/the¢0590     STA SYSKBV+1 ;addr to our¢0600     LDA # <KEY_TRAP ;key-trap¢0610     STA VKEYBD  ;routine.¢0620     LDA # >KEY_TRAP¢0630     STA VKEYBD+1¢0640     CLI         ;Restore IRQ's.¢0650     RTS ¢0660 ;¢0670 ;Interrupt routine to replace¢0680 ;SHFT+CLEAR and CTRL+CLEAR¢0690 ;with SHFT+CTRL+CLEAR.¢0700 ;¢0710 KEY_TRAP¢0720     PHA ¢0730     LDA KBCODE  ;Get current key¢0740     CMP #SH_CLR ;Filter out the¢0750     BEQ GOT_YA  ;standard clear¢0760 ;¢0770     CMP #CT_CLR ;screen keys.¢0780     BEQ GOT_YA¢0790 ;¢0800     CMP #CT_SH_CLR ; Check for¢0810     BNE GO_KB_INT ;  our special¢0820 ;                    key¢0830 CLR_SCR ;       combination¢0840     LDA #SH_CLR¢0850     STA CH      ;Put clr-screen¢0860     STA CH1     ;code for Editor¢0870 GOT_YA¢0880     PLA         ;Return from the¢0890     PLA         ;interrupt.¢0900     RTI ¢0910 ;¢0920 GO_KB_INT¢0930     PLA         ;Pass all other¢0940     JMP (SYSKBV) ;keys on to OS¢0950 ;¢0960 SYSKBV¢0970     .DS 2       ;keybd handler.¢0980     *=  $02E0   ;DOS RUN address¢0990     .WORD START¢1000     .END ¢əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə