VV
 A,10000 V  V'"*M V'"PPLAY =$E31B V$'"PRECO =$E319 V.'"RAMON =$FF3F 	W8'"ROMON =$FF3E WB'"LOCK  =$7FC ,WL'"TIM2  =$FF02 >WV'"TINT  =$FF09 NW`'"SYNC  =$16 \Wj'"PIO   =1 nWt'"BGD   =$FF19 tW~'" W'"FNLEN =$D0 W'"FFIRST=$D1 W'"FLAST =$D3 W'"DATA  =$D5 W'"CNT   =$D6 W'"CHKSUM=$D7 W'"TEMP  =$D8 W'"TOP   =$D9 W'" 	X'"FNAM=$200 X'"TAPEB=FNAM X'" 6X ("        ORG $1008 JX
("BEGIN:  LDX #7 WX(" LDA #0 eX(" STA BTM }X(("CLF:    STA $55F,X X2(" DEX X<(" BPL CLF XF(" JMP SETUP1 XP(" XZ("THIN:BYT 32,225,97,160 Xd("READ:   JSR PPLAY Xn("        SEI Yx("        LDX #1 Y("RETRY:  LDA #0 -Y("        STA BGD EY("        STA CHKSUM ZY("        STA PIO pY("        LDY #255 |Y("SYNCT: Y("        JSR READB Y("        CMP #SYNC Y("        BEQ GOTSYN Y(" Y("        STX DATA Y("        JSR SKIPB Z("        BCC SYNCT Z)"GOTSYN: 0Z)"        JSR READB GZ)"        CMP #SYNC _Z")"        BEQ GOTSYN eZ,)" |Z6)"        CMP FNLEN Z@)"        BNE RETRY ZJ)"        STA FNLEN ZT)" Z^)"NAMCHK: INY Zh)"        CPY FNLEN Zr)"        BCS NMEND [|)"        JSR READC [)"        CMP FNAM,Y 6[)"        BEQ NAMCHK M[)"        BNE RETRY b[)"NMEND:  LDA #42 x[)"        STA 3552 [)"        LDY #3 [)"GADDR:  JSR READC [)"        STA FFIRST,Y [)"        DEY [)"        BPL GADDR [)" \)"        JSR READC \)"        CMP CHKSUM 1\*"        BNE ERROR 7\*" O\*"        LDY FFIRST c\&*"        LDA #0 {\0*"        STA FFIRST \:*"        STA TOP \D*" \N*"RBLOCK: LDA FFIRST+1 \X*"        CMP FLAST +1 \b*"        PHP \l*"        BCC NOTYT 	]v*"        LDA FLAST  ]*"        BEQ RDONE 5]*"        STA TOP A]*"NOTYT: X]*"        JSR READC t]*"        STA (FFIRST),Y ]*"        INY ]*"        CPY TOP ]*"        BNE NOTYT ]*" ]*"        JSR READC ]*"        CMP CHKSUM ]*"        BNE ERROR ^*" ^+"        INC FFIRST+1 .^+"        PLP F^+"        BNE RBLOCK L^ +" ]^*+"RDONE:  CLC r^4+"        BYT $24 ^>+"ERROR:  SEC ^H+"        LDA #$88 ^R+"        STA PIO ^\+"        STA LOCK ^f+"        CLI ^p+"        RTS ^z+" _+"READC:  LDA DATA _+"        EOR CHKSUM 2_+"        STA CHKSUM H_+"READB:  LDA #$FE ^_+"        STA DATA s_+"        INC BGD _+"        JSR STOPT _+"SKIPB:  STY TEMP _+"        LDY #$38 _+"READ0:  LDA #$10 _+"READ1:  BIT PIO _+"        BNE READ1 `+"        STY TIM2 &`,"        STX TIM2+1 ;`,"READ2:  BIT PIO R`,"        BEQ READ2 j`$,"        LDA TIM2+1 }`.,"        ASL A `8,"        ROL DATA `B,"        BCS READ0 `L,"        LDY TEMP `V,"        LDA DATA ``,"        RTS `j," at,"WRITE:  JSR PRECO a~,"        SEI ,a,"        STA RAMON @a,"        LDA #2 Ua,"        STA PIO [a," oa,"        LDA #0 a,"        STA CHKSUM a,"        STA BGD a,"        LDA #4 a,"        JSR GAIT a," a,"        LDX #16 a,"WSYNC:  LDA #SYNC b -"        JSR WRITEB !b
-"        DEX 8b-"        BNE WSYNC >b-" Ub(-"        LDA FNLEN mb2-"        JSR WRITEB b<-"        LDA FNLEN bF-"        BEQ NONAME bP-" bZ-"        LDY #0 bd-"WNAME:  LDA FNAM,Y bn-"        JSR WRITEB bx-"        INY c-"        CPY FNLEN %c-"        BCC WNAME :c-"NONAME: LDA #42 Pc-"        STA 3552 dc-"        LDX #3 ~c-"WADDR:  LDA FFIRST,X c-"        JSR WRITEB c-"        DEX c-"        BPL WADDR c-" c-"        LDA CHKSUM c-"        JSR WRITEB c-" d."        LDY FFIRST &d."        LDA #0 >d."        STA FFIRST Sd"."        STA TOP Yd,." od6."BLOCK:  JSR DELL d@."        LDA FFIRST+1 dJ."        CMP FLAST +1 dT."        PHP d^."        BCC NOTYET dh."        LDA FLAST dr."        BEQ WDONE e|."        STA TOP e."NOTYET: 8e."        LDA (FFIRST),Y Pe."        JSR WRITEB ae."        INY ve."        CPY TOP e."        BNE NOTYET e." e."        LDA CHKSUM e."        JSR WRITEB e." e."        INC FFIRST+1 e."        PLP f."        BNE BLOCK f/" (f/"WDONE:  LDA #$88 =f/"        STA PIO Sf&/"        STA LOCK jf0/"        STA ROMON {f:/"        CLI fD/"        RTS fN/" fX/"WRITEB: STA DATA fb/"        EOR CHKSUM fl/"        STA CHKSUM fv/"        INC BGD g/"        JSR STOPT g/"        TYA &g/"        PHA :g/"        LDY #8 Ng/"WRT1:   LDA #0 cg/"        STA PIO yg/"        JSR DELS g/"        ASL DATA g/"        BCC ZERO g/"        JSR DELL g/"ZERO:   LDA #2 g/"        STA PIO g/"        JSR DELL h0"        DEY !h0"        BNE WRT1 2h0"        PLA Ch 0"        TAY Th*0"        RTS Zh40" oh>0"GAIT:   STA CNT hH0"        LDX #0 hR0"        LDY #0 h\0"GAIT1:  DEY hf0"        BNE GAIT1 hp0"        DEX hz0"        BNE GAIT1 h0"        DEC CNT i0"        BNE GAIT1 $i0"        RTS *i0" @i0"DELL:   LDA #$E0 Ui0"        BYT $2C ki0"DELS:   LDA #$60 i0"        STA TIM2 i0"        LDA #0 i0"        STA TIM2+1 i0"        LDA #16 i0"        STA TINT i0"DEL11:  BIT TINT j1"        BEQ DEL11 j1"        STA TINT ,j1"        RTS 2j$1" 8j.1" Fj81"SCR=$C00 TjB1"COL=3110 ajL1"VEC=$DA njV1"CMV=$DC {j`1"VC2=$DE jj1"VC3=$E0 jt1"FLB=$E2 j~1"DIR=$E3 j1"BTC=$E4 j1"YTP=$E5 j1"XPIX=$E6 j1"DEL1=$E7 j1"DEL2=$E8 j1"MODE=$61 k1"IND=$62 k1"BUFAD=$63 k1"BTC2=$65 +k1"BTM=$66 8k1"VC4=$67 Fk1"MESP=$69 Rk 2"RAST=2 `k
2"RASB=130 fk2" sk2"NLIN=16 k(2"CMEM=$1E00 k22" k<2"LEFT:   LDX #NLIN kF2" LDA #<SCR kP2" STA VEC kZ2" LDA #>SCR kd2" STA VEC+1 kn2"LEFT0:  LDY #0 lx2"LEFT1:  INY l2" LDA (VEC),Y l2" DEY 1l2" STA (VEC),Y ;l2" INY Il2" CPY #39 Yl2" BCC LEFT1 cl2" CLC ql2" LDA VEC l2" ADC #40 l2" STA VEC l2" BCC LEFT2 l2" INC VEC+1 l2"LEFT2:  DEX l3" BNE LEFT0 l3" RTS l3" l"3"DELAY:  LDA DEL2 m,3" STA VC2 m63" LDA DEL1 !m@3" STA VC2+1 6mJ3"DELBOY: LDA VC2 FmT3" ORA VC2+1 Wm^3" BEQ DONIIT lmh3"NOWAY:  LDA VC2 vmr3" SEC m|3" SBC #1 m3" STA VC2 m3" LDA VC2+1 m3" SBC #0 m3" STA VC2+1 m3" JMP DELBOY m3"DONIIT: RTS m3" m3"GOL:    LDA XPIX 
n3" BEQ SHL n3" DEC XPIX )n3" JSR DELAY 7n3" JMP GOL Kn3"SHL:    LDA #2 Yn4" STA DIR nn4"GOL1:   LDA DIR }n4" BNE GOL1 n&4" JSR LEFT n04" LDA #7 n:4" STA XPIX nD4" RTS nN4" nX4"IRQ:    LDA $FF09 nb4" STA $FF09 nl4" LDA $FF0B nv4" CMP #RASB o4" BEQ IRQ2 o4" LDA $FF07 -o4" AND #$F0 <o4" ORA XPIX Lo4" STA $FF07 bo4"TOPI:   LDA #$55 ro4" STA $FF15 o4" STA $FF19 o4" JSR $FF9F o4" JSR OPTION o4" JSR SPEED o4" LDA #RASB o4" STA $FF0B o5" JMP $FCC3 o5"  p5"IRQ2:   LDA $FF07 p 5" AND #$F0 p*5" ORA #8 ,p45" STA $FF07 9p>5" LDA #0 GpH5" STA DIR ]pR5"TOPI2:  LDA #$45 mp\5" STA $FF15 }pf5" STA $FF19 pp5" LDA FLB pz5" BEQ FLOF p5" CMP #1 p5" BNE NSWAP p5" JSR IRSWAP p5" JMP FLOT p5"NSWAP:  CMP #2 p5" BNE FLOT 
q5" JSR CLSCR q5"FLOT:   LDA #0 ,q5" STA FLB Cq5"FLOF:   LDA #RAST Sq5" STA $FF0B cq5" JMP $FCC3 iq5" q6"SETUP1:LDA #<MESSG q6" STA MESP q6" LDA #>MESSG q$6" STA MESP+1 q.6"SETUP: LDX #255 q86" TXS qB6" LDA MESP qL6" STA GETCH+1 rV6" LDA MESP+1 r`6" STA GETCH+2 &rj6" JSR $FBD8 >rt6"BYT 27,'N',142,8,0 Kr~6" LDY #0 ^r6" LDA (MESP),Y mr6" CMP #255 ~r6" BNE SETUP0 r6" JSR EDITMD r6" JMP SETUP r6"SETUP0: SEI r6" LDA #<IRQ r6" STA $314 r6" LDA #>IRQ r6" STA $315 r6" JSR DRWBOX s6" LDA #$D1 s 7" STA $FF13 +s
7" LDA #0 9s7" STA FLB Hs7" STA DEL1 Ws(7" LDA #$88 fs27" STA DEL2 ls<7" sF7"FIND:   LDA #7 sP7" STA XPIX sZ7" CLI sd7"GETI:   JSR GETCH sn7" CMP #30;^ sx7" BNE GETI3 s7" JSR COMMAN s7" JMP OPTIO4 	t7"GETI3:  JSR DLINE  t7"GETI33: JSR WRIIT .t7" JSR GOL <t7" LSR BTC Jt7" LDA BTM Yt7" BEQ WID4 ht7" DEC BTC2 vt7" LSR BTC t7"WID4:   BCC GETI33 t7" LDX #32;FLASH STAR t7" LDA 4032 t8" CMP #32 t8" BNE JJ1 t8" LDX #42 t"8"JJ1:    TXA  u,8" STA 4032 u68"OPTIO4: LDA 198 #u@8" CMP #64 2uJ8" BEQ FIND GuT8"YYAA:   CMP 198 Vu^8" BEQ YYAA huh8" CMP #22;'T' wur8" BNE TTTT u|8" JSR EDITMD u8" JMP SETUP u8"TTTT:   CMP #13;'S' u8" BNE TTT2 u8" JSR SAVEDT u8" JMP SETUP u8"TTT2:   CMP #42;'L' 	v8" BNE TTT3 v8" JSR LOADDT *v8" JMP SETUP Cv8"TTT3:   CMP #28;'B' Sv8" BNE CONTI cv8" JSR EDBOT yv8"GOBAK:  JMP FIND v9"CONTI:  CMP #56;'1' v9" BNE TTT4 v9" LDA #<MESSG v&9" LDY #>MESSG v09" JMP STRST v:9"TTT4:   CMP #59;'2' vD9" BNE TTT5 wN9" LDA #<MESSG+1024 +wX9" LDY #>MESSG+1024 ;wb9" JMP STRST Swl9"TTT5:   CMP #8;'3' bwv9" BNE TTT6 yw9" LDA #<MESSG+2048 w9" LDY #>MESSG+2048 w9" JMP STRST w9"TTT6:   CMP #11;'4' w9" BNE GOBAK w9" LDA #<MESSG+3072 w9" LDY #>MESSG+3072 x9"STRST:  STA MESP x9" STY MESP+1 .x9" JMP SETUP 4x9" Mx9"EDITTP: LDA #<TAPEB _x9" LDY #>TAPEB nx:" LDX #255 ~x:" STX TAPEB x:" JMP SKIP x :" x*:"EDITMD: JSR $FBD8 x4:"BYT 147,'EDIT MODE',0 x>:" LDA MESP xH:" LDY MESP+1 xR:"SKIP:   STA BUFAD y\:" STY BUFAD+1 %yf:"EDIM9:  LDA BUFAD 3yp:" STA VEC Eyz:" LDA BUFAD+1 Uy:" STA VEC+1 _y:" SEI py:" LDX #<IRQ3 y:" STX $314 y:" LDX #>IRQ3 y:" STX $315 y:" CLI y:" LDA #0 y:" STA 239 y:" STA MODE y:" JSR STTUS y:" LDA #<3512 z:" STA $FF0D z;" LDA #>3512 %z;" STA $FF0C +z;" ?z$;"EDI1:   LDY #0 Xz.;"EDI2:   LDA (VEC),Y gz8;" CMP #255 wzB;" BEQ BLANK zL;" AND #$3F zV;" STA 3512,Y z`;" INY zj;" CPY #20 zt;" BCC EDI2 z~;"BLANK:  LDA #32 z;"BLAN2:  CPY #20 z;" BEQ EDI9 {;" STA 3512,Y {;" INY "{;" JMP BLAN2 ({;" @{;"EDI9:   JSR GETPOS P{;" JSR $FFE4 m{;" CMP #27        ;ESCAPE |{;" BNE EGGH {;" JMP TOGMD {;"EGGH:   CMP #157;LEFT { <" BNE EGG44 {
<" JMP LEFTC {<"EGG44:  CMP #29 ;RIGHT {<" BNE EGGI |(<" JMP RGHTC |2<"EGGI:   CMP #13 ;RETURN /|<<" BNE NOFIN <|F<" LDY #0 P|P<" LDA (BUFAD),Y _|Z<" CMP #255 n|d<" BEQ EDI9 }|n<" LDA #255 |x<" STA $FF0C |<" STA $FF0D |<" RTS |<"NOFIN:  CMP #19 ;HOME |<" BEQ EDIM9 |<" CMP #147       ;CLEAR |<" BNE EGG0 }<" JMP CLER )}<"EGG0:   CMP #20 ;DELETE 8}<" BNE EGG8 G}<" JMP KILL c}<"EGG8:   CMP #32 ;SPACE }<" BCC EDI9       ;<SPACE }<" CMP #96 }=" BCS EDI9       ;>=96 }=" AND #$3F }=" LDX MODE }"=" BNE MDIN },=" LDY #0 }6=" PHA }@=" LDA (VC2),Y 	~J=" TAX ~T=" PLA %~^=" STA (VC2),Y /~h=" TXA >~r=" CMP #255 N~|=" BNE NOJOE X~=" INY j~=" STA (VC2),Y ~="NOJOE:  JMP RGHTC ~="MDIN:  PHA ~=" LDA VC2 ~=" STA CMV ~=" LDA VC2+1 ~=" STA CMV+1 ~=" LDY #0 ~="MDFIND: LDA (CMV),Y =" CMP #255 =" BEQ MDSHF  =" INC CMV 1>" BNE MDFIND A>" INC CMV+1 R>" JMP MDFIND k&>"MDSHF:  LDA (CMV),Y u0>" INY :>" STA (CMV),Y D>" DEY N>" LDA CMV X>" BNE MDDEC b>" DEC CMV+1 l>"MDDEC:  DEC CMV v>" SEC >" LDA CMV >" SBC VC2 
>" LDA CMV+1 >" SBC VC2+1 *>" BPL MDSHF 4>" PLA F>" STA (VC2),Y V>" JMP RGHTC \>" p>"KILL:  LDA VC2 >" CMP BUFAD >" BNE KILL0 >" LDA VC2+1 ?" CMP BUFAD+1 À?" BEQ KILL00 ր?"KILL0: LDY #0  ?"KILL2: LDA (VC2),Y *?" TAX 4?" LDA VC2 >?" BNE JJJJJJ 'H?" DEC VC2+1 ;R?"JJJJJJ:DEC VC2 E\?" TXA Wf?" STA (VC2),Y ep?" LDA VC2 oz?" CLC |?" ADC #2 ?" STA VC2 ?" BNE IIIIII ?" INC VC2+1 ?"IIIIII: CPX #255 Ё?" BNE KILL ?" JMP LEFTC ?"KILL00: JMP EDI9 ?" ?"CLER:   LDA #255 ?" LDY #0 3?" STA (BUFAD),Y C?" JMP EDIM9 I@" ^@"LEFTC:  LDA VC2 n@" CMP BUFAD ~$@" BNE OKLLL .@" LDA VC2+1 8@" CMP BUFAD+1 B@" BEQ OKL9 ƂL@"OKLLL:  LDA $FF0D ՂV@" CMP #185 `@" BCC OKL2 j@" DEC $FF0D t@" JMP EDI1 ~@"OKL2:   LDA VEC )@" BNE OKLLLL 9@" DEC VEC+1 N@"OKLLLL: DEC VEC d@"OKL9:   JMP EDI1 j@" ~@"RGHTC:  LDY #0 @" LDA (VC2),Y @" CMP #255 @" BEQ RG3 ă@"RG1:    LDA $FF0D Ӄ@" CMP #203 @" BCS RG2  A" INC $FF0D  
A" JMP EDI1 A"RG2:     INC VEC $A" BNE RG3 4(A" INC VEC+1 K2A"RG3:     JMP EDI1 Q<A" gFA"TOGMD:  LDA MODE vPA" EOR #255 ZA" STA MODE dA" JSR STTUS nA" JMP EDI9 xA"TOGM2:  LDA #255 ΄A"STTUS:  LDX #8 ݄A" LDA MODE 섖A" BEQ OVER A"STT1:   LDA INS,X A" AND #$3F #A" STA 4032,X -A" DEX <A" BPL STT1 FA" RTS ]A"OVER:   LDA OVE,X lA" AND #$3F }A" STA 4032,X A" DEX B" BPL OVER B" RTS B"INS: BYT 'INSERT   ' ԅ"B"OVE: BYT 'OVERWRITE' څ,B" 6B"IRQ3:   LDA $FF09 @B" STA $FF09 JB" LDA #8 TB" STA $FF07 -^B" LDA #$53 =hB" STA $FF15 MrB" STA $FF19 ]|B" JSR $FF9F mB" LDA #RAST }B" STA $FF0B B" JMP $FCC3 B" B"GETPOS: LDA $FF0D B" SEC ÆB" SBC #184 ͆B" CLC ۆB" ADC VEC B" STA VC2 B" LDA VEC+1 B" ADC #0 B" STA VC2+1  C" RTS &C" ;C"OPTION: LDA 198 P&C" CMP #4   ;'F1' a0C" BEQ FASTER v:C" CMP #5   ;'F2' DC" BEQ SLOWER NC" CMP #6   ;'F3' KEY XC" BEQ CHBACK ʇbC" CMP #3   ;HELP KEY ۇlC" BEQ CHSCRN vC" RTS 뇀C" C"CHBACK:INC TOPI+1 C" RTS $C"CHSCRN:INC TOPI2+1 .C" RTS 4C" JC"SLOWER: LDA DEL1 WC" CMP #8 fC" BCC OKIN wC"HEEHAW: RTS C"OKIN:   INC DEL2 C" BNE HEEHAW C"YYYYYY: INC DEL1 D" RTS ĈD" ڈD"FASTER: LDA DEL2  D" ORA DEL1 *D" BEQ HEEHAW 4D"OKIN1:  LDA DEL2 >D" SEC 'HD" SBC #1 6RD" STA DEL2 E\D" LDA DEL1 RfD" SBC #0 apD" STA DEL1 kzD" RTS qD" D"ADD40:  PHA D" LDA VC2 D" CLC D" ADC #40 D" STA VC2 ƉD" LDA VC2+1 ӉD" ADC #0 D" STA VC2+1 D" PLA D" RTS D" D"TOASC:  PHA E" LDY #0 'E" LSR A 3E" LSR A ?$E" LSR A K.E" LSR A Y8E" JSR TO1 cBE" PLA qLE" AND #15 VE"TO1:    CMP #10 `E" BCC DIGIT jE" SEC tE" SBC #9 ~E" JMP TO2 ЊE"DIGIT:  ORA #48 銒E"TO2:    STA (VEC),Y E" INY E" RTS E" E"SPEED:  LDA #<4033 )E" STA VEC :E" LDA #>4033 JE" STA VEC+1 YE" LDA DEL1 iE" JSR TOASC wE" INC VEC  F" INC VEC 
F" LDA DEL2 F" JSR TOASC F" LDA MESP+1 (F" SEC ы2F" SBC #>MESSG ݋<F" LSR A FF" LSR A PF" ADC #49 ZF" STA 4038 dF" RTS nF" -xF"DRWBOX: LDA #<BOX >F" STA BOX1+1 NF" LDA #>BOX _F" STA BOX1+2 pF" LDA #<3712 F" STA BOX2+1 F" LDA #>3712 F" STA BOX2+2 F"BOX1:   LDA $FFFF ˌF" BEQ DRWEND ܌F" JSR CONVET F"BOX2:   STA $FFFF F" INC BOX1+1 F" BNE BOX3 $G" INC BOX1+2 <G"BOX3:   INC BOX2+1 KG" BNE BOX1 \"G" INC BOX2+2 k,G" JMP BOX1 |6G"DRWEND: RTS @G" JG"EDEND:  LDA #255 TG" STA $FF0C ^G" STA $FF0D hG" RTS ڍrG"EDBOT:  LDA #<3712 |G" STA $FF0D G" LDA #>3712 G" STA $FF0C G" LDA #<BOX )G" STA VC3 9G" LDA #>BOX IG" STA VC3+1 VG" LDA #0 dG" STA 239 {G"EDBK:   JSR $FFE4 G" CMP #0 G" BEQ EDBK;NO KEY G" CMP #147;CLEAR G" BNE OKB ΎG" JMP C1 G"OKB:    CMP #13 ;RETURN H" BEQ EDEND H" CMP #157;LEFT H" BEQ L1 1&H" CMP #29 ;RIGHT >0H" BEQ R1 P:H" CMP #145;UP ]DH" BEQ U1 qNH" CMP #17 ;DOWN ~XH" BEQ D1 H" LDY #0 H" STA (VC3),Y H" JSR DRWBOX H" ɏH"R1:     LDA VC3 ݏH" CMP #<BOX+319 H" BNE R2 H" LDA VC3+1 H" CMP #>BOX+319 H" BEQ EDBK 4H"R2:     INC $FF0D AH" BNE R3 QI" INC $FF0C fI"R3:     INC VC3 sI" BNE R4  I" INC VC3+1 *I"R4:     JMP EDBK 4I" >I"L1:     LDA VC3 ĐHI" CMP #<BOX ѐRI" BNE L2 \I" LDA VC3+1 fI" CMP #>BOX  pI" BEQ EDBK zI"L2:     LDA $FF0D $I" BNE L3 4I" DEC $FF0C KI"L3:     DEC $FF0D YI" LDA VC3 fI" BNE L4 vI" DEC VC3+1 I"L4:     DEC VC3 I" JMP EDBK I" I"U1:     LDA VC3 I" SEC ґI" SBC #<BOX+40 I" LDA VC3+1 J" SBC #>BOX+40 J" BMI EDBK J" LDA VC3 $J" SEC *.J" SBC #40 88J" STA VC3 HBJ" LDA VC3+1 ULJ" SBC #0 eVJ" STA VC3+1 u`J" LDA $FF0D jJ" SEC tJ" SBC #40 ~J" STA $FF0D J" LDA $FF0C J" SBC #0 ʒJ" STA $FF0C J"DD2:    JMP EDBK 撰J" J"D1:     LDA #<BOX+279 J" SEC J" SBC VC3 -J" LDA #>BOX+279 =J" SBC VC3+1 KJ" BMI DD2 YJ" LDA VC3 c K" CLC q
K" ADC #40 K" STA VC3 K" LDA VC3+1 (K" ADC #0 2K" STA VC3+1 <K" LDA $FF0D ƓFK" CLC ԓPK" ADC #40 ZK" STA $FF0D dK" LDA $FF0C nK" ADC #0 xK" STA $FF0C  K" JMP EDBK &K" <K"C1:     LDX #160 JK" LDA #32 cK"C2:     STA BOX-1,X wK" STA BOX+159,X K" DEX K" BNE C2 K" JSR DRWBOX K" JMP EDBOT K" ̔K"SAVEDT: JSR $FBD8 K"BYT 147,'ENTER NAME FOR SAVE',0 L" JSR EDITTP L" JSR HUNTLE #L" STY FNLEN 2"L" JSR POST B,L" LDA #<BOX S6L" STA FFIRST c@L" LDA #>BOX vJL" STA FFIRST+1 TL" LDA #<MESSG+3072 ^L" STA FLAST hL" LDA #>MESSG+3072 ƕrL" STA FLAST+1 ӕ|L" LDY #0 L"SVSE:   LDA (FLAST),Y L" INC FLAST L" BNE SV1 L" INC FLAST+1 4L"SV1:    CMP #255 CL" BNE SVSE SL" JSR WRITE ]L" RTS cL" zL"LOADDT: JSR $FBD8 L"BYT 147,'ENTER NAME FOR LOAD',0 L" JSR EDITTP L" JSR HUNTLE іM" STY FNLEN M" JSR POST M" JSR READ &M" BCS RERR 0M" RTS :M"RERR:   JSR $FBD8 RDM"BYT 13,'PROCEDURE ABORTED, PRESS SPACE BAR',0 aNM" LDA #$88 pXM" STA LOCK ~bM" STA PIO lM"RE1:    LDA 198 vM" CMP #60 M" BNE RE1 M" JMP SETUP ŗM" ٗM"HUNTLE: LDY #1 M"HUNT1:  LDA TAPEB,Y M" CMP #255 M" BEQ HEND M" INY *M" JMP HUNT1 ;M"HEND:   RTS AM" WM"POST:  JSR $FBD8 M"BYT 13,'POSITION TAPE AND PRESS SPACE BAR',0 N" LDA PIO N" AND #$F7 N" STA PIO Ș N"POS1:  LDA 198 ֘*N" CMP #60 4N" BNE POS1 >N" LDA PIO  HN" ORA #8 RN" STA PIO \N" RTS fN" 4pN"STOPT:  LDA #$7F DzN" STA $FD30 TN" STA $FF08 dN" LDA $FF08 sN" CMP #$7F N" BEQ ST1 N" RTS N"ST1:    STA ROMON N" CLI N" JMP RERR N" ՙN"DLINE:  LDY #0 N" STY CMV+1 N" AND #$3F  N" ASL A O" ROL CMV+1 O" ASL A ,O" ROL CMV+1 8$O" ASL A H.O" ROL CMV+1 R8O" CLC cBO" ADC #<CMEM qLO" STA CMV VO" LDA #>CMEM `O" ADC CMV+1 jO" STA CMV+1 tO" LDA BTM ~O" BEQ WIDE ̚O" LDA #3 ۚO" STA BTC2 ꚜO" LDA #$C0 O" BNE WIDE1 O"WIDE:   LDA #$80 %O"WIDE1:  STA BTC /O" RTS 5O" LO"WRIIT:  LDA #<COL \O" LDY #>COL qO"WRT12:  STA VC2 O" STY VC2+1  P" LDY #0 
P"WRT11:  LDA (CMV),Y P" STY YTP ÛP" AND BTC ћ(P" LDY BTM 2P" BEQ WID1 <P" LDY BTC2 FP" BEQ NOSHF PP"SHF:    LSR A ZP" LSR A (dP" DEY 6nP" BNE SHF GxP"NOSHF:  TAY XP" LDA THIN,Y gP" BNE WID2 {P"WID1:   CMP #0 P" BEQ WID3 P" LDA #160 P" BNE WID2 P"WID3:   LDA #32 ќP"WID2:   LDY #0 P" STA (VC2),Y P" JSR ADD40 P" STA (VC2),Y P" JSR ADD40 #P" INC YTP 1Q" LDY YTP >Q" CPY #8 NQ" BCC WRT11 X"Q" RTS ^,Q" t6Q"REDO:   LDA MESP @Q" STA GETCH+1 JQ" LDA MESP+1 TQ" STA GETCH+2 ^Q"GETCH:  LDA $FFFF ϝhQ" CMP #255 ޝrQ" BEQ REDO |Q" INC GETCH+1  Q" BNE GETI2 Q" INC GETCH+2 #Q"GETI2:  RTS )Q" @Q"GETVL:  JSR GETCH OQ" AND #$3F ^Q" BEQ IREY lQ" CMP #27 {Q" BCS IREY Q" RTS Q"IREY:   LDA #1 Q" RTS Q" R"COMMAN: JSR GETCH ՞R"COM1:   CMP #'1 R" BNE CONE &R" LDA #0 0R" STA BTM 	:R" RTS DR"CONE:   CMP #'2 -NR" BNE CTWO :XR" LDA #1 HbR" STA BTM RlR" RTS gvR"CTWO:   CMP #'3 vR" BNE CTHR R" JSR GETVL R" LDX #0 R" LDY #64 R"CTWO1:  DEX R" BNE CTWO1 ̟R" DEY ܟR" BNE CTWO1 R" SEC R" SBC #1 R" BNE CTWO1 R" RTS "R"CTHR:   CMP #'4 2S" BNE CHFIV BS" JSR FLASH PS" JMP FL1 e S"CHFIV:  CMP #'5 u*S" BNE CHSIX 4S" JSR FLASH >S" JSR DRINW HS" JMP FL1 RS"CHSIX:  CMP #'6 Ƞ\S" BNE CHSEV ٠fS" JMP SPCAGE pS"CHSEV:  CMP#'7 zS" BNE CHEIG 
S" LDA #2 S" JMP WAIT .S"CHEIG:  CMP #'8 >S" BNE CHNIN NS" JSR DRINW [S" LDA #1 jS" JMP WAIT ~S"CHNIN:  CMP#'9 S" BNE CHTAN S" JSR DRINW S" JMP EFFE1 S"CHTAN:  CMP#1 ѡS" BNE CHBBB T" JSR DRINW T" JMP EFFE2 T"CHBBB:  CMP #2 $T" BNE CHCCC %.T" JSR DRINW 58T" JMP EFFE3 HBT"CHCCC: CMP #3 XLT" BNE CHDDD hVT" JSR DRINW x`T" JMP EFFE4 jT"CHDDD: CMP #4 tT" BNE CHEEE ~T" JSR DRINW T" JMP EFFE5 ΢T"CHEEE: CMP #5 ޢT" BNE CHFFF T" JSR DRINW T" JMP EFFE6 T"CHFFF: RTS T" *T"FLASH: JSR CLWIN @T"FL99:  JSR GETVL QT" STA FFIRST aT" JSR GETVL qT" STA FNLEN {T" RTS T"FL1:   LDA #1 T" JSR WAIT T" LDA FNLEN  U" LDY #64 ȣ
U" LDX #0 أU"FL2:   DEX U" BNE FL2 (U" DEY 2U" BNE FL2 <U" SEC FU" SBC #1 #PU" BNE FL2 4ZU" DEC FFIRST BdU" BNE FL1 LnU" RTS RxU" gU"WAIT:   STA FLB |U"WAIT1:  LDA FLB U" BNE WAIT1 U" RTS U" U"CLWIN:  LDA #96 ǤU"CLP:    LDY #160 U"CL1:    STA WINDOW-1,Y U" STA WINDOW+159,Y U" STA WINDOW+319,Y (U" STA WINDOW+479,Y 2U" DEY @U" BNE CL1 JV" RTS PV" gV"IRSWAP:  LDY #160 "V"IR1:     LDA SCR-1,Y ,V" LDX WINDOW-1,Y 6V" STA WINDOW-1,Y @V" TXA ǥJV" STA SCR-1,Y ͥTV" ^V" LDA SCR+159,Y hV" LDX WINDOW+159,Y rV" STA WINDOW+159,Y |V" TXA -V" STA SCR+159,Y 3V" GV" LDA SCR+319,Y ^V" LDX WINDOW+319,Y uV" STA WINDOW+319,Y V" TXA V" STA SCR+319,Y V" V" LDA SCR+479,Y ĦV" LDX WINDOW+479,Y ۦV" STA WINDOW+479,Y V" TXA V" STA SCR+479,Y W" DEY W" BNE IR1 W" RTS !&W" <0W"DRINW: LDA #<WINDOW-2 J:W" STA VC3 _DW" LDA #>WINDOW-2 oNW" STA VC3+1 XW"DR1:   JSR GETCH bW" JSR DLINE lW"DR99:  LDA VC3 vW" LDY VC3+1 ɧW" JSR WRT12 קW" INC VC3 委W" BNE DR2 W" INC VC3+1 	W"DR2:   LSR BTC W" LDA BTM %W" BEQ DR3 4W" DEC BTC2 BW" LSR BTC WW"DR3:   BCC DR99 eW" LDA VC3 oW" SEC W" SBC #<WINDOW+38 X" LDA VC3+1 X" SBC #>WINDOW+38 X" BMI DR1 Ǩ X" LDA #32 ܨ*X" STA WINDOW+638 4X" STA WINDOW+639 >X" RTS HX" RX"SPCAGE: JSR GETVL (\X" STA FNLEN 8fX" JSR DRINW HpX" LDA #<640 VzX" STA VC3 fX" LDA #>640 vX" STA VC3+1 X"SPCAG2: LDA $FF02 X" AND #3 X" CMP #3 X" BCS SPCAG2 ©X" PHA ̩X" TAY ܩX" LDA $FF00 X" CPY #2 X" BNE SPC1 X" AND #$7F X"SPC1:   STA VC2 &Y" CLC 9Y" ADC #<WINDOW GY" STA VC4 Q$Y" PLA a.Y" STA VC2+1 t8Y" ADC #>WINDOW BY" STA VC4+1 LY" LDY #0 VY" LDA (VC4),Y `Y" CMP #255 êjY" BEQ SPCAG2 ͪtY" PHA ܪ~Y" LDA #255 Y" STA (VC4),Y Y" Y" LDA VC2 Y" CLC Y" ADC #<SCR *Y" STA VC4 :Y" LDA VC2+1 JY" ADC #>SCR ZY" STA VC4+1 dY" PLA vY" STA (VC4),Y |Y"  Z" LDA VC3 
Z" BNE GGGG Z" DEC VC3+1 Z"GGGG:  DEC VC3 ͫ(Z" LDA VC3+1 ݫ2Z" BNE GGCON <Z" LDA VC3 FZ" BEQ GGEND PZ" ZZ"GGCON: LDA FNLEN #dZ" ASL A /nZ" ASL A ;xZ" ASL A KZ" ADC FNLEN [Z"GGCONT:SEC hZ" SBC #1 yZ" BNE GGCONT Z" JMP SPCAG2 Z"GGEND: RTS Z" Z"CLSCR:  JSR GETCH ͬZ"CLS:    LDY #160 Z"CS1:    STA SCR-1,Y Z" STA SCR+159,Y Z" STA SCR+319,Y "Z" STA SCR+479,Y ,[" DEY :[" BNE CS1 D[" RTS J"[" ],["PLONY: LDA #0 m6["PLONY1:SEC z@[" SBC #3 J[" BNE PLONY1 T["PLONT: LDA #0 ^["PLONT1:SEC h[" SBC #3 ̭r[" BNE PLONT1 ֭|[" CLC 歆[" BCC PLONK ["PLONS: SEC ["PLONK:  PHP [" STY FNLEN '[" BCS NOADJ 1[" TXA ;[" CLC K[" ADC #<SCR Y[" STA VC4 i[" LDA #>SCR v[" ADC #0 [" STA VC4+1 ["NOADJ:  TXA \" CLC \" ADC #<WINDOW ®\" STA VC3 ծ&\" LDA #>WINDOW 0\" ADC #0 :\" STA VC3+1 D\" N\" CPY #0 X\" BEQ PLO1 %b\"PLO3:   PLP /l\" PHP @v\" BCS NOADJ2 N\" LDA VC4 X\" CLC f\" ADC #40 t\" STA VC4 \" LDA VC4+1 \" ADC #0 \" STA VC4+1 \"NOADJ2: LDA VC3 \" CLC ί\" ADC #40 ܯ\" STA VC3 \" LDA VC3+1 \" ADC #0 	]" STA VC3+1 ]" DEY "]" BNE PLO3 6 ]"PLO1:   LDY #0 H*]" LDA (VC3),Y Z4]" STA (VC4),Y d>]" PLP tH]" LDY FNLEN ~R]" RTS \]" f]"EFFE1:  LDY #0 p]"EF0:    LDX #39 İz]"EF1:    JSR PLONT ΰ]" DEX ܰ]" BPL EF1 氘]" INY ]" CPY #16 ]" BCC EF0 ]" RTS ]" ']"EFFE2:  LDY #15 <]"EFF0:   LDX #39 S]"EFF1:   JSR PLONT ]]" DEX l]" BPL EFF1 v]" DEY ^" BPL EFF0 ^" RTS ^" $^"EFFE3:  LDX #0 .^"EFFF0:  LDY #15 ձ8^"EFFF1:  JSR PLONT ߱B^" DEY L^" BPL EFFF1 V^" INX `^" CPX#40 j^" BCC EFFF0  t^" RTS &~^" ;^"EFFE4:  LDX #39 P^"EFFFF0: LDY #15 g^"EFFFF1: JSR PLONT q^" DEY ^" BPL EFFFF1 ^" DEX ^" BPL EFFFF0 ^" RTS ^" ²^"EFFE5:  LDY #15 Ӳ^" STY FFIRST ^"FE3:    LDA #<SCR  _" STA VC4 
_" LDA #>SCR _" STA VC4+1 ,_"FE2:    LDX #0 C(_"FE0:    JSR PLONS Q2_" INC VC4 _<_" BNE FE1 oF_" INC VC4+1 P_"FE1:    INX Z_" CPX #40 d_" BCC FE0 n_" INY x_" CPY #16 ³_" BCC FE2 ӳ_" DEC FFIRST 䳖_" LDY FFIRST _" BPL FE3 _" RTS _" _"EFFE6:  LDA #0 '_" STA FFIRST 7_" STA FLAST E_" LDA #13 X_" STA FFIRST+1 f_" LDA #37 x_" STA FLAST+1 `"FAD0:   LDX FLAST+1 `" LDY FFIRST `"FAD1:   JSR PLONY ô"`" DEX Ӵ,`" CPX FLAST 6`" BNE FAD1 @`"FAD2:   JSR PLONY J`" INY T`" CPY FFIRST+1 %^`" BNE FAD2 <h`"FAD3:   JSR PLONY Fr`" INX X|`" CPX FLAST+1 g`" BNE FAD3 ~`"FAD4:   JSR PLONY `" DEY `" CPY FFIRST `" BNE FAD4 `" INC FFIRST ɵ`" INC FLAST ܵ`" DEC FFIRST+1 `" DEC FLAST+1 `" LDA FFIRST `" CMP #7 `" BNE FAD0 %`" RTS +a" @@"CONVET: CMP #33 PJ" BCC MKSPC ^T" CMP #64 n^" BCC YUMMT xh" SEC r" SBC #64 |" RTS "MKSPC:  LDA #32 "YUMMT:  RTS " ǶP"RES 2 ݶZ"WINDOW:ORG *+640 d"WIND: n" ORG $2000 x"BOX: 7" BYT '                                        ' l" BYT '                                        ' " BYT '                                        ' ַ" BYT '                                        ' " BYT '                                        ' @" BYT '                                        ' u" BYT '                                        ' " BYT '                                        ' " BYT '*0000     (C)MEGA AWESOME COMPUTERS 1988',0 " "MESSG: ""BYT '(C)MEGA AWESOME COMPUTERS 1988 ',255 (" <"ORG MESSG+1024 V"BYT 'MESSAGE 2 ',255 \" p""ORG MESSG+2048 ,"BYT 'MESSAGE 3 ',255 6" @"ORG MESSG+3072 J"BYT 'MESSAGE 4 ',255 ĹT" ̹^"*T   