home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1985 November / Antic_Magazine_1985_11_Antic.atr / codewrit.m65 < prev    next >
Text File  |  2023-02-26  |  8KB  |  1 lines

  1. 10 ;CODEWRITER III¢20 ;BY STEVE STUNTZ¢30 ;(c) 1985, ANTIC PUBLISHING¢40 ;¢50       *=  $8000¢55 START¢60 MEM   =   $B0¢70 VTBASE =  $E400¢80 SETVBV =  $E45C¢90 PACTL =   $D302¢0100 PORTA = $D300¢0110 AUDC1 = $D201¢0120 CH  =   $02FC¢0130 CDTMA1 = $0226¢0140 ROWCRS = $54¢0150 COLCRS = $55¢0160 VDSLST = $0200¢0170 NMIEN = $D40E¢0180 SDLSTL = $0230¢0185 ATRACT = $4D¢0190 MEMINT = $B4¢0200 MEMRX = $B2¢0210     JSR HEAD1¢0220     LDA #$38¢0230     STA PACTL¢0240     LDA #$01¢0250     STA PORTA¢0260     LDA #$3C¢0270     STA PACTL¢0280     LDA #$01¢0290     STA PORTA¢0300     LDA SDLSTL¢0310     STA MEMINT¢0320     LDA SDLSTL+1¢0330     STA MEMINT+1¢0340     LDA #$82¢0350     LDY #12¢0360     STA (MEMINT),Y¢0370     LDY #28¢0380     STA (MEMINT),Y¢0390     LDA #RXLOOP&255¢0400     STA VDSLST¢0410     LDA #RXLOOP/256¢0420     STA VDSLST+1¢0430     LDA #$FF¢0440     STA POINTRI¢0450     STA POINTRO¢0460     LDA #$20¢0470     STA CWSPC¢0480     LDA #$40¢0490     STA CWMAX¢0500     LDA #$0F¢0510     STA CWAVG¢0520     LDA #$00¢0530     STA I23X37¢0540     STA HILO¢0550     STA NBITS¢0560     STA RXCW¢0570     STA IAMREDI¢0580     STA CTAVG¢0590     STA CWTOT¢0600     STA CWTOT+1¢0610     LDA #2¢0620     STA PREVHILO¢0630     LDA MRX¢0640     STA MEMRX¢0650     LDA MRX+1¢0660     STA MEMRX+1¢0670     LDA #$C0¢0680     STA NMIEN¢0690 ;¢0700 ;SEARCH FOR KEYBOARD CHARACTER¢0710 LP1 JSR RXCH¢0720     JMP LP1¢0730 ;¢0740 ; DEVICE HANDLER¢0750 GOVEC CPX #6¢0760     BNE GOV1¢0770     LDY ROWCRS¢0780     CPY #23¢0790     BNE GOV1¢0800     LDY COLCRS¢0810     CPY #39¢0820     BNE GOV1¢0830     LDY #1¢0840     STY I23X37¢0850 GOV1 TAY ¢0860     LDA VTBASE+1,X¢0870     PHA ¢0880     LDA VTBASE,X¢0890     PHA ¢0900     TYA ¢0910     RTS ¢0920 ;¢0930 ; SCROLL¢0940 SCROLL LDY I23X37¢0950     CPY #1¢0960     BNE SCROL1¢0970     JSR HEAD3¢0980     LDY #0¢0990     STY I23X37¢1000 SCROL1 RTS ¢1010 ;¢1020 ; RX WORD WRAP¢1030 RXWRA LDY COLCRS¢1040     CPY #34¢1050     BCC RXWR9¢1060     CPY #39¢1070     BEQ RXWR9¢1080 RXWR1 LDA #$A0¢1090     JSR RXPNT¢1100     LDY COLCRS¢1110     CPY #39¢1120     BNE RXWR1¢1130 RXWR9 RTS ¢1140 ;¢1150 ;SET PIN1 AND SOUND¢1160 ONOFF CMP #$02¢1170     BNE OFF¢1180     LDY #$00¢1190     STY PORTA   SET PIN1 LOW¢1200     LDY #$2F¢1210     STY AUDC1   TURN SOUND ON¢1220     JMP ONOF1¢1230 OFF LDY #$01¢1240     STY PORTA   SET PIN1 HIGH¢1250     LDY #$00¢1260     STY AUDC1   TURN SOUND OFF¢1270 ONOF1 RTS ¢1280 ;¢1290 ;HEADING¢1300 HEAD LDY #$00¢1310     STY COPYI¢1320 CR1 LDA COPYR,Y¢1330     LDX #6¢1340     JSR GOVEC¢1350     INC COPYI¢1360     LDY COPYI¢1370     CPY #38¢1380     BNE CR1¢1390     RTS ¢1400 ;¢1410 ;SET CURSOR AT 0,0¢1420 HEAD00 LDA ROWCRS¢1430     STA ROW¢1440     LDA COLCRS¢1450     STA COL¢1460     LDA #$00¢1470     STA ROWCRS¢1480     LDA #$02¢1490     STA COLCRS¢1500     RTS ¢1510 ;¢1520 ;SET CURSOR AT ORIGINAL POSITION¢1530 HEADORG LDA ROW¢1540     STA ROWCRS¢1550     LDA COL¢1560     STA COLCRS¢1570     LDA #$1E¢1580     LDX #6¢1590     JSR GOVEC¢1600     LDA #$1F¢1610     LDX #6¢1620     JSR GOVEC¢1630     RTS ¢1640 ;¢1650 ;KEYBOARD HEADING¢1660 HEAD1 JSR HEADCLR¢1670     JSR HEAD¢1680     RTS ¢1690 ;¢1700 ;CHANGE SPEED HEADING¢1710 HEAD3 JSR HEAD00¢1720     JSR HEAD¢1730     JSR HEADORG¢1740     RTS ¢1750 ;¢1760 ;¢1770 HEADCLR LDA #$7D¢1780     LDX #6¢1790     JSR GOVEC¢1800     RTS ¢1810 ;¢1820 ; RX INTERRUPT LOOP¢1830 RXLOOP = *¢1840     PHA ¢1850     TYA ¢1860     PHA ¢1870     JSR CWCOUNT¢1872     LDA #0¢1874     STA ATRACT¢1880     LDA PORTA¢1890     AND #$02¢1900     CMP PREVHILO¢1910     BNE RI1¢1920     JMP RI2¢1930 RI1 JSR CHANGE¢1940 RI2 PLA ¢1950     TAY ¢1960     PLA ¢1970     RTI ¢1980 ;¢1990 ; RX CW COUNT BY 1¢2000 CWCOUNT LDY POINTRI¢2010     LDA (MEMRX),Y¢2020     CMP CWMAX¢2030     BEQ RC1¢2040     CLC ¢2050     ADC #$01¢2060     STA (MEMRX),Y¢2070 RC1 RTS ¢2080 ;¢2090 ; DETECT CW CHANGE¢2100 CHANGE INC POINTRI¢2110     LDA PREVHILO¢2120     JSR ONOFF¢2130     EOR #$02¢2140     STA PREVHILO¢2150     LDY POINTRI¢2160     LDA #0¢2170     STA (MEMRX),Y¢2180     RTS ¢2190 ;¢2200 ;¢2210 ; RX CHARACTER FROM PIN 2¢2220 RXCH JSR READY¢2230     LDA IAMREDI¢2240     CMP #1¢2250     BNE RX02¢2260     INC POINTRO¢2270     JSR COUNTAVG¢2280     LDA #1¢2290     EOR HILO¢2300     STA HILO¢2310     CMP #1¢2320     BNE RX01¢2330     JSR SHIFT¢2340     JMP RX02¢2350 RX01 JSR FINDCH¢2360 RX02 RTS ¢2370 ;¢2380 ; SHIFT ROR BUILD NBITS¢2390 SHIFT LDA NBITS¢2400     CMP #7¢2410     BEQ SHIFT9¢2420     INC NBITS¢2430     LDY POINTRO¢2440     LDA (MEMRX),Y¢2450     CMP CWAVG¢2460     BCC SHIFT1¢2470     SEC         ;DASH¢2480     JMP SHIFT2¢2490 SHIFT1 CLC      ;DOT¢2500 SHIFT2 ROR RXCW¢2510 SHIFT9 RTS ¢2520 ;¢2530 ; READY TO READ COUNT¢2540 READY LDX POINTRO¢2550     CPX POINTRI¢2560     BEQ READY1¢2570     INX ¢2580     CPX POINTRI¢2590     BNE READY2¢2600     LDY POINTRI¢2610     LDA (MEMRX),Y¢2620     CMP CWMAX¢2630     BEQ READY2¢2640 READY1 LDA #0¢2650     JMP READY3¢2660 READY2 LDA #1¢2670 READY3 STA IAMREDI¢2680     RTS ¢2690 ;¢2700 ; FIND CW CHARACTER¢2710 FINDCH LDY POINTRO¢2720     LDA (MEMRX),Y¢2730     CMP CWAVG¢2740     BCC FIND09¢2750     JSR FINISHCH¢2760     JSR LOOKASCI¢2770     LDY POINTRO¢2780     LDA (MEMRX),Y¢2790     CMP CWSPC¢2800     BCC FIND09¢2810     JSR RXWRA¢2820     LDA #$A0¢2830     JSR RXPNT¢2840 FIND09 RTS ¢2850 ;¢2860 ; PRINT RECEIVED DATA¢2870 RXPNT LDX #6¢2880     JSR GOVEC¢2890     JSR SCROLL¢2900 RXPN1 RTS ¢2910 ;¢2920 ; FINISH RXC2 CHARACTER¢2930 FINISHCH SEC ¢2940     ROR RXCW¢2950     INC NBITS¢2960 FINISH1 LDA NBITS¢2970     CMP #8¢2980     BCS FINISH9¢2990     CLC ¢3000     ROR RXCW¢3010     INC NBITS¢3020     JMP FINISH1¢3030 FINISH9 LDA #0¢3040     STA NBITS¢3050     RTS ¢3060 ;¢3070 ; LOOKUP AND PRINT CHARACTER¢3080 LOOKASCI LDX #40¢3090 LOOK1 LDA CWCHA,X¢3100     CMP RXCW¢3110     BEQ LOOK3¢3120     INX ¢3130     CPX #91¢3140     BEQ LOOK2¢3150     JMP LOOK1¢3160 LOOK2 LDA #63¢3170     JMP LOOK4¢3180 LOOK3 TXA ¢3190 LOOK4 EOR #$80¢3200     JSR RXPNT¢3210     RTS ¢3220 ;¢3230 ; COUNT FOR AVERAGE¢3240 COUNTAVG LDX CTAVG¢3250     INX ¢3260     CPX #16¢3270     BEQ COUNTA1¢3280     INC CTAVG¢3290     LDY POINTRO¢3300     LDA (MEMRX),Y¢3310     CLC ¢3320     ADC CWTOT¢3330     STA CWTOT¢3340     LDA #0¢3350     ADC CWTOT+1¢3360     STA CWTOT+1¢3370     JMP COUNTA2¢3380 COUNTA1 JSR CALCAVG¢3390 COUNTA2 RTS ¢3400 ;¢3410 ; CALCULATE AVERAGE¢3420 CALCAVG CLC ¢3430     ROR CWTOT+1¢3440     ROR CWTOT¢3450     CLC ¢3460     ROR CWTOT+1¢3470     ROR CWTOT¢3480     LDA CWTOT¢3490     STA CWMAX¢3500     CLC ¢3510     ROR CWTOT¢3520     LDA CWTOT¢3530     STA CWSPC¢3540     CLC ¢3550     ROR CWTOT¢3560     LDA CWTOT¢3570     STA CWAVG¢3580     CLC ¢3590     ROR CWTOT¢3600     LDA CWTOT¢3610     CLC ¢3620     ADC CWSPC¢3630     STA CWSPC¢3640     LDA #0¢3650     STA CWTOT¢3660     STA CWTOT+1¢3670     STA CTAVG¢3680     RTS ¢3690 ;¢3700 ;ROM DATA¢3710 COPYR¢3720     .BYTE "  Codewriter III      BY STEVE STUNTZ "¢3730 MRX .WORD MEMRX1¢3740 CWCHA¢3750     .BYTE 0,0,0,0,0,0,0,0¢3760     .BYTE 0,0,0,0,0,0,0,0¢3770     .BYTE 0,0,0,0,0,0,0,0¢3780     .BYTE 0,0,0,0,0,0,0,0¢3790     .BYTE $FE,$00¢3800     .BYTE $00,$00,$00,$00,$00,$00¢3810     .BYTE $6D,$6D,$22,$2A,$73,$68¢3820     .BYTE $6A,$29,$3F,$3E,$3C,$38¢3830     .BYTE $30,$20,$21,$23,$27,$2F¢3840     .BYTE $47,$55,$FF,$31,$FF,$4C¢3850     .BYTE $00,$06,$11,$15,$09,$02¢3860     .BYTE $14,$0B,$10,$04,$1E,$0D¢3870     .BYTE $12,$07,$05,$0F,$16,$1B¢3880     .BYTE $0A,$08,$03,$0C,$18,$0E¢3890     .BYTE $19,$1D,$13¢3900     *=  CWCHA+$0100¢3910 ;¢3920 PND =   *       ; END OF BOOT FILE¢3930 ;*=$1000¢3940 COPYI *= *+1¢3950 ROW *=  *+1¢3960 COL *=  *+1¢3970 MEMRX1 = *¢3980     *=  *+$0100¢3990 POINTRI *= *+1¢4000 POINTRO *= *+1¢4010 CWMAX *= *+1¢4020 CWSPC *= *+1¢4030 CWAVG *= *+1¢4040 PREVHILO *= *+1¢4050 HILO *= *+1¢4060 NBITS *= *+1¢4070 RXCW *= *+1¢4080 IAMREDI *= *+1¢4090 CTAVG *= *+1¢4100 CWTOT *= *+2¢4110 I23X37 *= *+1¢4120 RXINDX *= *+1¢4122     *=  $02E0¢4124     .WORD START¢4130     .END ¢