10 *A,10000 30 end 10000 "*M 10010 "ORG $1000 10020 "T1=$D0 10030 "T2=$D1 10040 "T3=$D2 10050 "T4=$D3 10060 "LIN=$DA;2B 10070 "CUR=$DC;2B 10080 "CXX=$DE 10090 "CYY=$DF 10100 "LAST=$3 10110 " LDA #0 10120 " STA $FF15 10130 " STA $FF19 10140 " LDA #$26 10150 " STA $FF16 10160 " LDA #$29 10170 " STA $FF17 10180 " JSR HELPME 10190 "BEGIN: LDA #<$2400 10200 " STA LIN 10210 " LDA #>$2400 10220 " STA LIN+1 10230 " LDA #<3073 10240 " STA CUR 10250 " LDA #>3073 10260 " STA CUR+1 10270 " LDA #$C8 10280 " STA $FF12 10290 " LDA #$38 10300 " STA $FF13 10310 " LDA #$98 10320 " STA $FF07 10330 " JSR SCREEN 10340 " LDA #0 10350 " STA CXX 10360 " STA LAST 10370 " STA CYY 10380 " LDA #12 10390 " STA T4 10400 "BEG1: JSR SCROLL 10410 " DEC T4 10420 " BNE BEG1 10430 "KEY: LDY #0 10440 " LDA (CUR),Y 10450 " PHA 10460 " LDY #1 10470 " LDA (CUR),Y 10480 " PHA 10490 " LDY #40 10500 " LDA (CUR),Y 10510 " PHA 10520 " LDY #41 10530 " LDA (CUR),Y 10540 " PHA 10550 " LDY #0 10560 " LDA #0 10570 " STA (CUR),Y 10580 " LDY #1 10590 " STA (CUR),Y 10600 " LDY #40 10610 " STA (CUR),Y 10620 " LDY #41 10630 " STA (CUR),Y 10640 " LDY #0 10650 "DEL: DEY 10660 " BNE DEL 10670 " LDY #41 10680 " PLA 10690 " STA (CUR),Y 10700 " LDY #40 10710 " PLA 10720 " STA (CUR),Y 10730 " LDY #1 10740 " PLA 10750 " STA (CUR),Y 10760 " LDY #0 10770 " PLA 10780 " STA (CUR),Y 10790 " JSR $FFE4 10800 " STA T4 10810 " AND #$7F 10820 " CMP #'S 10830 " BEQ UPSCR 10840 " CMP #'D 10850 " BEQ DWSCR 10860 " CMP #'Z 10870 " BNE KEY11 10871 " JMP CLEF 10880 "KEY11:CMP #'X 10890 " BNE KEY99 10900 " JMP CRIG 10910 "KEY99:CMP #'/ 10920 " BNE KEY5 10930 " JMP CDWN 10940 "KEY5:CMP #'; 10950 " BNE KEY2 10960 " JMP CUUP 10970 "KEY2:CMP #27 10980 " BNE KEY3 10990 " JMP ADDIT 11000 "KEY3:CMP #' ' 11010 " BNE KEY4 11020 " JMP PREVAD 11030 "KEY4:CMP #'' 11040 " BNE KEY6 11050 " JMP BEGIN 11060 "KEY6:CMP #'H 11070 " BNE KEY7 11080 " JMP HELPME 11090 "KEY7:CMP #'* 11100 " BNE KEY10 11101 " LDA #8 11102 " STA $FF07 11103 " LDA #$C4 11104 " STA $FF12 11105 " LDA #$D1 11106 " STA $FF13 11107 " LDA #147 11108 " JSR $FFD2 11110 " BRK 11120 "KEY10:JMP KEY 11130 " 11140 "UPSCR: LDA #1 11150 " BIT T4 11160 " BPL UPGO 11170 " LDA #12 11180 "UPGO: STA T4 11190 "UPGO2: LDA LIN+1 11200 " CMP #$34 11210 " BEQ UPO1 11220 " JSR SCROLL 11230 " DEC T4 11240 " BNE UPGO2 11250 "UPO1: JMP KEY 11260 " 11270 "DWSCR: LDA #1 11280 " BIT T4 11290 " BPL DWGO 11300 " LDA #12 11310 "DWGO: STA T4 11320 "DWGO2: LDA LIN 11330 " CMP #$C0 11340 " BNE DWGO3 11350 " LDA LIN+1 11360 " CMP #$24 11370 " BNE DWGO3 11380 " JMP KEY 11390 "DWGO3: JSR SCWOLL 11400 " DEC T4 11410 " BNE DWGO2 11420 " JMP KEY 11430 " 11440 "CLEF: LDA CXX 11450 " BEQ CLE2 11460 " SEC 11470 " SBC #1 11480 " STA CXX 11490 " LDA CUR 11500 " SEC 11510 " SBC #2 11520 " STA CUR 11530 " LDA CUR+1 11540 " SBC #0 11550 " STA CUR+1 11560 "CLE2: JMP KEY 11570 " 11580 "CRIG:LDA CXX 11590 " CMP #13 11600 " BEQ CRI2 11610 " CLC 11620 " ADC #1 11630 " STA CXX 11640 " LDA CUR 11650 " CLC 11660 " ADC #2 11670 " STA CUR 11680 " LDA CUR+1 11690 " ADC #0 11700 " STA CUR+1 11710 "CRI2: JMP KEY 11720 " 11730 "CDWN: LDA CYY 11740 " CMP #11 11750 " BEQ CDW1 11760 " CLC 11770 " ADC #1 11780 " STA CYY 11790 " LDA CUR 11800 " CLC 11810 " ADC #80 11820 " STA CUR 11830 " LDA CUR+1 11840 " ADC #0 11850 " STA CUR+1 11860 "CDW1: JMP KEY 11870 " 11880 "CUUP: LDA CYY 11890 " BEQ CUU1 11900 " SEC 11910 " SBC #1 11920 " STA CYY 11930 " LDA CUR 11940 " SEC 11950 " SBC #80 11960 " STA CUR 11970 " LDA CUR+1 11980 " SBC #0 11990 " STA CUR+1 12000 "CUU1:JMP KEY 12010 " 12020 "ADDIT: JSR $FFE4 12030 " CMP #65 12040 " BCC ADDIT 12050 " SEC 12060 " SBC #65 12070 " ASLA 12080 " ASLA 12090 " CLC 12100 " ADC #$30 12110 " STA LAST 12120 "PREV: LDY #0 12130 " STA (CUR),Y 12140 " INY 12150 " CLC 12160 " ADC #1 12170 " STA (CUR),Y 12180 " LDY #40 12190 " CLC 12200 " ADC #1 12210 " STA (CUR),Y 12220 " LDY #41 12230 " CLC 12240 " ADC #1 12250 " STA (CUR),Y 12260 " SEC 12270 " SBC #1 12280 " PHA 12290 " LDA CYY 12300 " CLC 12310 " ADC #1 12320 " ASLA 12330 " ASLA 12340 " ASLA 12350 " ASLA 12360 " STA T1 12370 " LDA LIN 12380 " SEC 12390 " SBC T1 12400 " STA T1 12410 " LDA LIN+1 12420 " SBC #0 12430 " STA T2 12440 " LDA T1 12450 " CLC 12460 " ADC CXX 12470 " STA T1 12480 " LDA T2 12490 " ADC #0 12500 " STA T2 12510 " LDY #0 12520 " PLA 12530 " STA (T1),Y 12540 " JMP KEY 12550 " 12560 "PREVAD: LDA LAST 12570 " JMP PREV 12580 " 12590 "SCROLD: LDY #28 12600 "SCR: LDA (T1),Y 12610 " STY T3 12620 " PHA 12630 " TYA 12640 " CLC 12650 " ADC #80 12660 " TAY 12670 " PLA 12680 " STA (T1),Y 12690 " LDA T3 12700 " CLC 12710 " ADC #40 12720 " TAY 12730 " LDA (T1),Y 12740 " PHA 12750 " TYA 12760 " CLC 12770 " ADC #80 12780 " TAY 12790 " PLA 12800 " STA (T1),Y 12810 " LDY T3 12820 " DEY 12830 " CPY #1 12840 " BCS SCR 12850 " RTS 12860 " 12870 "SCROLL: LDX #11 12880 " LDA #<3872 12890 " STA T1 12900 " LDA #>3872 12910 " STA T2 12920 " 12930 "SCR1: JSR SCROLD 12940 " LDA T1 12950 " SEC 12960 " SBC #80 12970 " STA T1 12980 " LDA T2 12990 " SBC #0 13000 " STA T2 13010 " DEX 13020 " BNE SCR1 13030 " LDY #0 13040 " LDX #0 13050 "SCR2: LDA (LIN),Y 13060 " STA 3113,X 13070 " CLC 13080 " ADC #1 13090 " STA 3114,X 13100 " SEC 13110 " SBC #3 13120 " STA 3073,X 13130 " CLC 13140 " ADC #1 13150 " STA 3074,X 13160 " INX 13170 " INX 13180 " INY 13190 " CPY #14 13200 " BCC SCR2 13210 " LDA LIN 13220 " CLC 13230 " ADC #16 13240 " STA LIN 13250 " LDA LIN+1 13260 " ADC #0 13270 " STA LIN+1 13280 " RTS 13290 " 13300 "SCREEN: LDX #0 13310 "SCRE1: LDA #3 13320 " STA $C00,X 13330 " STA $D00,X 13340 " STA $E00,X 13350 " STA $F00,X 13360 " LDA #$59 13370 " STA $800,X 13380 " STA $900,X 13390 " STA $A00,X 13400 " STA $B00,X 13410 " DEX 13420 " BNE SCRE1 13430 " RTS 13440 " 13450 "SCWOLL: LDA #<3072 13460 " STA T1 13470 " LDA #>3072 13480 " STA T2 13490 " 13500 " LDX #11 13510 "SCW1: LDY #28 13520 "SCW2: STY T3 13530 " TYA 13540 " CLC 13550 " ADC #80 13560 " TAY 13570 " LDA (T1),Y 13580 " LDY T3 13590 " STA (T1),Y 13600 " TYA 13610 " CLC 13620 " ADC #120 13630 " TAY 13640 " LDA (T1),Y 13650 " PHA 13660 " LDA T3 13670 " CLC 13680 " ADC #40 13690 " TAY 13700 " PLA 13710 " STA (T1),Y 13720 " LDY T3 13730 " DEY 13740 " CPY #1 13750 " BCS SCW2 13760 " 13770 " LDA T1 13780 " CLC 13790 " ADC #80 13800 " STA T1 13810 " LDA T2 13820 " ADC #0 13830 " STA T2 13840 " DEX 13850 " BNE SCW1 13860 " LDA LIN 13870 " SEC 13880 " SBC #16 13890 " STA LIN 13900 " LDA LIN+1 13910 " SBC #0 13920 " STA LIN+1 13930 " LDA LIN 13940 " SEC 13950 " SBC #$C0 13960 " STA T1 13970 " LDA LIN+1 13980 " SBC #0 13990 " STA T2 14000 " LDY #0 14010 " LDX #0 14020 "SCW5: LDA (T1),Y 14030 " STA 3993,X 14040 " CLC 14050 " ADC #1 14060 " STA 3994,X 14070 " SEC 14080 " SBC #3 14090 " STA 3953,X 14100 " CLC 14110 " ADC #1 14120 " STA 3954,X 14130 " INX 14140 " INX 14150 " INY 14160 " CPY #14 14170 " BCC SCW5 14180 " RTS 14190 " 14200 "HELPME: LDA #$C4 14210 " STA $FF12 14220 " LDA #$D0 14230 " STA $FF13 14240 " LDA #8 14250 " STA $FF07 14260 " LDY #0 14270 "HEL0: LDA MESG,Y 14280 " BEQ HEL1 14290 " JSR $FFD2 14300 " INY 14310 " BNE HEL0 14320 "HEL1: JSR $FFE4 14330 " CMP #13 14340 " BNE HEL1 14350 " JMP BEGIN 14360 " 14370 " 14380 "MESG:BYT 19,19,147,5 14390 " 14400 "BYT 'EDITOR COMMANDS',13,13 14410 "BYT 'H =HELP SCREEN',13,13 14420 "BYT 'CURSOR',13,13 14430 "BYT 'Z =LEFT X =RIGHT',13 14440 "BYT '; =UP / =DOWN',13,13 14450 "BYT 'SCROLL',13,13 14460 "BYT 'S =SCROLL DOWN 1 LINE',13 14470 "BYT 'D =SCROLL UP 1 LINE',13 14480 "BYT 'SHIFT+S OR +D TO SCROLL PAGE',13,13 14490 "BYT 'EDIT',13,13 14500 "BYT 'ESC+LETTER =ADD BLOCK',13 14510 "BYT 'SPACE =ADD BLOCK OF PREVIOUS TYPE',13,13 14520 "BYT '* =EXIT TO MONITOR',13,13 14530 "BYT 'PRESS RETURN',0 14540 "*