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

  1. 0100 ;PARTIAL DVORAK KEYBOARD¢0110 ;BY DAVE YEARKE¢0120 ;(c) 1986, ANTIC PUBLISHING¢0130 ATRACT = $4D¢0140 CH  =   $02FC¢0150 CH1 =   $02F2¢0160 DOSINI = $0C¢0170 DOSVEC = $0A¢0180 HELPFG = $02DC  ;XL/XE ONLY¢0190 HOLDCH = $7C¢0200 INITAD = $02E2¢0210 KBCODE = $D209¢0220 KEYDEF = $79¢0230 KEYDEL = $02F1¢0240 KRPDEL = $02D9  ;XL/XE ONLY¢0250 MEMLO = $02E7¢0260 SRTIMR = $022B¢0270 SSFLAG = $02FF¢0280 START = $1D00¢0290 VKEYBD = $0208¢0300 ;SYSTEM RESET TRAP¢0310     *=  START¢0320 RSTTRAP JSR DUMMY¢0330     LDA # <RSTTRAP ;RESET TRAP¢0340     STA DOSINI  ;ADDRESS IN DOSINI¢0350     LDA # >RSTTRAP ;LO BYTES¢0360     STA DOSINI+1 ;HI BYTES¢0370     LDA # <DOSTRAP ;TRAP DOS CALL¢0380     STA DOSVEC¢0390     LDA # >DOSTRAP¢0400     STA DOSVEC+1¢0410     LDA # <BOTTOM ;END OF TABLE¢0420     STA MEMLO   ;RESET MEMLO¢0430     LDA # >BOTTOM¢0440     STA MEMLO+1¢0450     LDA # <HANDLER ;ADDRESS OF¢0460     STA VKEYBD  ;POKEY HANDLER¢0470     LDA # >HANDLER ;INTO VKEYBD¢0480     STA VKEYBD+1¢0490     LDA #$FF¢0500     STA ARFLAG¢0510     STA KBFLAG¢0520     RTS ¢0530 DOSTRAP LDA #$30¢0540     STA SRTIMR  ;AUTO-REPEAT ON.¢0550     LDA RSTTRAP+1¢0560     STA DOSINI¢0570     LDA RSTTRAP+2¢0580     STA DOSINI+1¢0590     LDA BYEBYE+1¢0600     STA DOSVEC¢0610     LDA BYEBYE+2¢0620     STA DOSVEC+1¢0630     LDA MEMHOLD¢0640     STA MEMLO¢0650     LDA MEMHOLD+1¢0660     STA MEMLO+1¢0670     LDA KEYHOLD ;REPLACE ORIGINAL¢0680     STA VKEYBD  ;HANDLER¢0690     LDA KEYHOLD+1¢0700     STA VKEYBD+1¢0710 BYEBYE JMP DUMMY¢0720 ;POKEY INTERRUPT ROUTINE¢0730 HANDLER TXA ¢0740     PHA ¢0750     LDA KBCODE¢0760     CMP CH1¢0770     BNE NEWKEY¢0780     LDX KEYDEL¢0790     BNE SETTIMES¢0800 NEWKEY TAX      ;KEY VALUE INTO X.¢0810     CMP #$9F    ;IS IT CTL-1?¢0820     BNE CTL4    ;IF NOT, BRANCH.¢0830     LDA SSFLAG  ;SCREEN FREEZE FLAG.¢0840     EOR #$FF¢0850     STA SSFLAG¢0860     BCS SETDELAY ;SET TIMERS.¢0870 CTL4 CMP #$98¢0880     BNE CTL5¢0890     LDA KBFLAG¢0900     EOR #$FF    ;TOGGLE FLAG.¢0910     STA KBFLAG¢0920     BCS SETDELAY¢0930 CTL5 CMP #$9D¢0940     BNE HELP¢0950     LDA ARFLAG¢0960     EOR #$FF¢0970     STA ARFLAG¢0980     BCS SETDELAY¢0990 HELP AND #$3F   ;MASK HIGH BITS.¢1000     CMP #$11¢1010     BNE CONVERT¢1020     STX HELPFG¢1030     BEQ SETDELAY¢1040 CONVERT STX HOLDCH¢1050     STX CH1¢1060 ARROWS LDA ARFLAG¢1070     BNE DVORAK¢1080     TXA ¢1090     AND #$40    ;TEST SHIFT BIT.¢1100     BNE DVORAK¢1110     TXA ¢1120     STA HOLDCH¢1130     AND #$3F¢1140     LDX #$04¢1150 ARLOOP DEX ¢1160     CMP ARRTAB,X ;CHECK TABLE¢1170     BEQ NEWARR  ;ARROW¢1180     CPX #$00    ;DONE?¢1190     BNE ARLOOP¢1200 DVORAK LDA KBFLAG ;CHECK TYPE¢1210     BNE PUTCH¢1220     LDX HOLDCH¢1230     TXA ¢1240     AND #$C0¢1250     STA HOLDCH¢1260     TXA ¢1270     AND #$3F¢1280     TAX ¢1290     LDA TABLE,X¢1300     ORA HOLDCH¢1310     STA HOLDCH¢1320 PUTCH LDA HOLDCH¢1330     STA CH¢1340 SETDELAY LDA #$03 ;DEBOUNCE¢1350     STA KEYDEL¢1360     LDA #$00¢1370     STA ATRACT¢1380 SETTIMES LDA KBFLAG¢1390     BEQ STIME¢1400     LDA ARFLAG¢1410     BEQ STIME¢1420     LDA #$30¢1430 STIME STA SRTIMR¢1440     PLA ¢1450     TAX ¢1460     PLA ¢1470     RTI ¢1480 NEWARR LDA HOLDCH¢1490     EOR #$80¢1500     STA HOLDCH¢1510     BNE PUTCH¢1520 ;DVORAK OFFSET TABLE¢1530 TABLE .BYTE $23,$39,$3E,$03,$04,$2D,$06,$07¢1540     .BYTE $28,$09,$00,$3D,$0C,$12,$0E,$0F¢1550     .BYTE $05,$11,$01,$13,$14,$16,$2F,$02¢1560     .BYTE $18,$19,$1A,$1B,$1C,$1D,$1E,$1F¢1570     .BYTE $2E,$21,$10,$15,$24,$25,$17,$27¢1580     .BYTE $0A,$29,$22,$38,$2C,$2B,$20,$26¢1590     .BYTE $30,$31,$32,$33,$34,$35,$36,$37¢1600     .BYTE $0B,$3A,$2A,$3B,$3C,$0D,$08,$3F¢1610 ;ARROW KEY TABLE¢1620 ARRTAB .BYTE $06,$07,$0E,$0F¢1630 KEYHOLD .DS 2¢1640 MEMHOLD .DS 2¢1650 ARFLAG .DS 1¢1660 KBFLAG .DS 1¢1670 DUMMY¢1680 BOTTOM .DS 1¢1690 ;INSTALLATION ROUTINE¢1700 INIT LDA DOSINI¢1710     STA RSTTRAP+1¢1720     LDA DOSINI+1¢1730     STA RSTTRAP+2¢1740     LDA DOSVEC¢1750     STA BYEBYE+1¢1760     LDA DOSVEC+1¢1770     STA BYEBYE+2¢1780     LDA MEMLO¢1790     STA MEMHOLD¢1800     LDA MEMLO+1¢1810     STA MEMHOLD+1¢1820     LDA VKEYBD¢1830     STA KEYHOLD¢1840     LDA VKEYBD+1¢1850     STA KEYHOLD+1¢1860     JMP RSTTRAP+3¢1870     *=  INITAD¢1880     .WORD INIT¢1890     .END ¢