PX]X
 A,10000 cX  kX'"*M zX'"ORG $1000 X$'"T1=$D0 X.'"T2=$D1 X8'"T3=$D2 XB'"T4=$D3 XL'"LIN=$DA;2B XV'"CUR=$DC;2B X`'"CXX=$DE Xj'"CYY=$DF Xt'"LAST=$3 X~'" LDA #0 Y'" STA $FF15 Y'" STA $FF19 -Y'" LDA #$26 =Y'" STA $FF16 LY'" LDA #$29 \Y'" STA $FF17 mY'" JSR HELPME Y'"BEGIN: LDA #<$2400 Y'" STA LIN Y'" LDA #>$2400 Y'" STA LIN+1 Y'" LDA #<3073 Y (" STA CUR Y
(" LDA #>3073 Y(" STA CUR+1 Z(" LDA #$C8 Z((" STA $FF12 #Z2(" LDA #$38 3Z<(" STA $FF13 BZF(" LDA #$98 RZP(" STA $FF07 cZZ(" JSR SCREEN pZd(" LDA #0 ~Zn(" STA CXX Zx(" STA LAST Z(" STA CYY Z(" LDA #12 Z(" STA T4 Z("BEG1:  JSR SCROLL Z(" DEC T4 Z(" BNE BEG1 Z("KEY: LDY #0 [(" LDA (CUR),Y [(" PHA #[(" LDY #1 5[(" LDA (CUR),Y ?[(" PHA M[(" LDY #40 _[)" LDA (CUR),Y i[)" PHA w[)" LDY #41 [")" LDA (CUR),Y [,)" PHA [6)" LDY #0 [@)" LDA #0 [J)" STA (CUR),Y [T)" LDY #1 [^)" STA (CUR),Y [h)" LDY #40 [r)" STA (CUR),Y \|)" LDY #41 \)" STA (CUR),Y +\)" LDY #0 9\)"DEL: DEY G\)" BNE DEL U\)" LDY #41 _\)" PLA q\)" STA (CUR),Y \)" LDY #40 \)" PLA \)" STA (CUR),Y \)" LDY #1 \)" PLA \)" STA (CUR),Y \*" LDY #0 \*" PLA \*" STA (CUR),Y \&*" JSR $FFE4 
]0*" STA T4 ]:*" AND #$7F ']D*" CMP #'S 7]N*" BEQ UPSCR E]X*" CMP #'D U]b*" BEQ DWSCR c]l*" CMP #'Z s]v*" BNE KEY11 ]w*" JMP CLEF ]*"KEY11:CMP #'X ]*" BNE KEY99 ]*" JMP CRIG ]*"KEY99:CMP #'/ ]*" BNE KEY5 ]*" JMP CDWN ]*"KEY5:CMP #'; ^*" BNE KEY2 ^*" JMP CUUP '^*"KEY2:CMP #27 6^*" BNE KEY3 F^*" JMP ADDIT Y^*"KEY3:CMP #' ' h^+" BNE KEY4 y^+" JMP PREVAD ^+"KEY4:CMP #'' ^ +" BNE KEY6 ^*+" JMP BEGIN ^4+"KEY6:CMP #'H ^>+" BNE KEY7 ^H+" JMP HELPME ^R+"KEY7:CMP #'* ^\+" BNE KEY10 _]+" LDA #8 _^+" STA $FF07 +__+" LDA #$C4 ;_`+" STA $FF12 J_a+" LDA #$D1 Z_b+" STA $FF13 i_c+" LDA #147 y_d+" JSR $FFD2 _f+" BRK _p+"KEY10:JMP KEY _z+" _+"UPSCR: LDA #1 _+" BIT T4 _+" BPL UPGO _+" LDA #12 _+"UPGO:  STA T4 `+"UPGO2: LDA LIN+1 `+" CMP #$34  `+" BEQ UPO1 1`+" JSR SCROLL >`+" DEC T4 N`+" BNE UPGO2 a`+"UPO1: JMP KEY g`+" z`,"DWSCR: LDA #1 `," BIT T4 `," BPL DWGO `$," LDA #12 `.,"DWGO:  STA T4 `8,"DWGO2: LDA LIN `B," CMP #$C0 `L," BNE DWGO3 `V," LDA LIN+1 	a`," CMP #$24 aj," BNE DWGO3 'at," JMP KEY >a~,"DWGO3: JSR SCWOLL Ka," DEC T4 [a," BNE DWGO2 ia," JMP KEY oa," a,"CLEF: LDA CXX a," BEQ CLE2 a," SEC a," SBC #1 a," STA CXX a," LDA CUR a," SEC a," SBC #2 a -" STA CUR a
-" LDA CUR+1 b-" SBC #0 b-" STA CUR+1 )b(-"CLE2: JMP KEY /b2-" Ab<-"CRIG:LDA CXX ObF-" CMP #13 ^bP-" BEQ CRI2 hbZ-" CLC ubd-" ADC #1 bn-" STA CXX bx-" LDA CUR b-" CLC b-" ADC #2 b-" STA CUR b-" LDA CUR+1 b-" ADC #0 b-" STA CUR+1 b-"CRI2: JMP  KEY b-" c-"CDWN: LDA CYY c-" CMP #11 -c-" BEQ CDW1 7c-" CLC Dc-" ADC #1 Rc." STA CYY `c." LDA CUR jc." CLC xc"." ADC #80 c,." STA CUR c6." LDA CUR+1 c@." ADC #0 cJ." STA CUR+1 cT."CDW1: JMP KEY c^." ch."CUUP: LDA CYY cr." BEQ CUU1 c|." SEC d." SBC #1 d." STA CYY !d." LDA CUR +d." SEC 9d." SBC #80 Gd." STA CUR Wd." LDA CUR+1 dd." SBC #0 td." STA CUR+1 d."CUU1:JMP KEY d." d."ADDIT: JSR $FFE4 d." CMP #65 d/" BCC ADDIT d/" SEC d/" SBC #65 d&/" ASLA d0/" ASLA d:/" CLC eD/" ADC #$30 eN/" STA LAST )eX/"PREV:  LDY #0 ;eb/" STA (CUR),Y Eel/" INY Oev/" CLC \e/" ADC #1 ne/" STA (CUR),Y |e/" LDY #40 e/" CLC e/" ADC #1 e/" STA (CUR),Y e/" LDY #41 e/" CLC e/" ADC #1 e/" STA (CUR),Y e/" SEC e/" SBC #1 e/" PHA f0" LDA CYY f0" CLC "f0" ADC #1 -f 0" ASLA 8f*0" ASLA Cf40" ASLA Nf>0" ASLA [fH0" STA T1 ifR0" LDA LIN sf\0" SEC ff0" SBC T1 fp0" STA T1 fz0" LDA LIN+1 f0" SBC #0 f0" STA T2 f0" LDA T1 f0" CLC f0" ADC CXX f0" STA T1 f0" LDA T2 g0" ADC #0 g0" STA T2 g0" LDY #0 'g0" PLA 8g0" STA (T1),Y Fg0" JMP KEY Lg1" bg1"PREVAD: LDA LAST qg1" JMP PREV wg$1" g.1"SCROLD: LDY #28 g81"SCR:    LDA (T1),Y gB1" STY T3 gL1" PHA gV1" TYA g`1" CLC gj1" ADC #80 gt1" TAY g~1" PLA h1" STA (T1),Y h1" LDA T3 h1" CLC 'h1" ADC #40 1h1" TAY Bh1" LDA (T1),Y Lh1" PHA Vh1" TYA `h1" CLC nh1" ADC #80 xh1" TAY h1" PLA h 2" STA (T1),Y h
2" LDY T3 h2" DEY h2" CPY #1 h(2" BCS SCR h22" RTS h<2" hF2"SCROLL: LDX #11 hP2" LDA #<3872 iZ2" STA T1 id2" LDA #>3872 &in2" STA T2 ,ix2" Di2"SCR1:   JSR SCROLD Qi2" LDA T1 [i2" SEC ii2" SBC #80 vi2" STA T1 i2" LDA T2 i2" SBC #0 i2" STA T2 i2" DEX i2" BNE SCR1 i2" LDY #0 i2" LDX #0 i2"SCR2:   LDA (LIN),Y i3" STA 3113,X j3" CLC j3" ADC #1 "j"3" STA 3114,X ,j,3" SEC 9j63" SBC #3 Jj@3" STA 3073,X TjJ3" CLC ajT3" ADC #1 rj^3" STA 3074,X |jh3" INX jr3" INX j|3" INY j3" CPY #14 j3" BCC SCR2 j3" LDA LIN j3" CLC j3" ADC #16 j3" STA LIN j3" LDA LIN+1 j3" ADC #0 k3" STA LIN+1 k3" RTS k3" 2k3"SCREEN: LDX #0 Fk3"SCRE1:  LDA #3 Wk4" STA $C00,X hk4" STA $D00,X yk4" STA $E00,X k&4" STA $F00,X k04" LDA #$59 k:4" STA $800,X kD4" STA $900,X kN4" STA $A00,X kX4" STA $B00,X kb4" DEX kl4" BNE SCRE1 lv4" RTS l4" l4"SCWOLL: LDA #<3072 ,l4" STA T1 =l4" LDA #>3072 Jl4" STA T2 Pl4" ^l4" LDX #11 sl4"SCW1:   LDY #28 l4"SCW2:   STY T3 l4" TYA l4" CLC l4" ADC #80 l4" TAY l5" LDA (T1),Y l5" LDY T3 l5" STA (T1),Y l 5" TYA l*5" CLC m45" ADC #120 m>5" TAY  mH5" LDA (T1),Y *mR5" PHA 7m\5" LDA T3 Amf5" CLC Omp5" ADC #40 Ymz5" TAY cm5" PLA tm5" STA (T1),Y m5" LDY T3 m5" DEY m5" CPY #1 m5" BCS SCW2 m5" m5" LDA T1 m5" CLC m5" ADC #80 m5" STA T1 m5" LDA T2 m5" ADC #0 n6" STA T2 n6" DEX n6" BNE SCW1 -n$6" LDA LIN 7n.6" SEC En86" SBC #16 SnB6" STA LIN cnL6" LDA LIN+1 pnV6" SBC #0 n`6" STA LIN+1 nj6" LDA LIN nt6" SEC n~6" SBC #$C0 n6" STA T1 n6" LDA LIN+1 n6" SBC #0 n6" STA T2 n6" LDY #0 n6" LDX #0 o6"SCW5: LDA (T1),Y o6" STA 3993,X )o6" CLC 6o6" ADC #1 Go6" STA 3994,X Qo6" SEC ^o 7" SBC #3 oo
7" STA 3953,X yo7" CLC o7" ADC #1 o(7" STA 3954,X o27" INX o<7" INX oF7" INY oP7" CPY #14 oZ7" BCC SCW5 od7" RTS on7" ox7"HELPME: LDA #$C4 p7" STA $FF12 p7" LDA #$D0 'p7" STA $FF13 4p7" LDA #8 Dp7" STA $FF07 Qp7" LDY #0 ip7"HEL0:   LDA MESG,Y xp7" BEQ HEL1 p7" JSR $FFD2 p7" INY p7" BNE HEL0 p7"HEL1: JSR $FFE4 p7" CMP #13 p8" BNE HEL1 p8" JMP BEGIN p8" p"8" 	q,8"MESG:BYT 19,19,147,5 q68" 0q@8"BYT 'EDITOR COMMANDS',13,13 PqJ8"BYT 'H =HELP SCREEN',13,13 hqT8"BYT 'CURSOR',13,13 q^8"BYT 'Z =LEFT X =RIGHT',13 qh8"BYT '; =UP   / =DOWN',13,13 qr8"BYT 'SCROLL',13,13 q|8"BYT 'S =SCROLL DOWN 1 LINE',13 r8"BYT 'D =SCROLL UP 1 LINE',13 4r8"BYT 'SHIFT+S OR +D TO SCROLL PAGE',13,13 Jr8"BYT 'EDIT',13,13 nr8"BYT 'ESC+LETTER =ADD BLOCK',13 r8"BYT 'SPACE =ADD BLOCK OF PREVIOUS TYPE',13,13 r8"BYT '* =EXIT TO MONITOR',13,13 r8"BYT 'PRESS RETURN',0 r8"*   