LOAD SECOND ]LIST 2 CALL 256 * 14: POKE 43624,1 6 PRINT CHR$ (4);"CLOSE" 7 PRINT CHR$ (4);"MAXFILES 2" 10 HOME : HIMEM: 29184 15 ST = 130 * 256:CD = 114 * 256:DIR = 149 * 256:EC = 14 * 256 30 D$ = CHR$ (4) 50 U = 30 * 256 55 DK = PEEK (U + 75):L2 = PEEK (U + 64):L3 = PEEK (U + 65) 90 DIM CS$(40),CT$(40),DS%(40),DT%(40),LE(40) 99 H$ = CHR$ (8) + "^":ZP = PEEK (U + 231) 100 POKE U + 86,1: CALL EC + 21 103 SV = 0:SW = 0: POKE U + 84,0: POKE U + 90,0:DJ = DK 104 IF PEEK (U + 2) + PEEK (U + 4) + INT ( PEEK (U + 8) / 6) > 0 THEN B = 49200: FOR I = 1 TO 50:A = PEEK (B): NEXT I 110 POKE U + 109,16: CALL EC + 24 120 GET OP$:OP = ASC (OP$): PRINT OP$ 122 IF OP = 1 THEN GOTO 8200 123 IF (OP = 18 OR OP = 42) AND L2 > 0 THEN GOTO 8000 124 IF OP = 19 AND PEEK (U + 81) < > 0 THEN GOTO 8100 125 IF OP = 5 THEN GOTO 8030 126 IF OP = 15 THEN GOTO 8035 128 IF OP = 28 THEN INPUT "";A: INPUT "";B: POKE U + A,B: GOTO 100 129 IF OP = 35 THEN GOTO 6540 130 CALL 852 135 IF OP = 63 OR OP < 32 THEN POKE U + 109,2: CALL EC + 24: GOTO 100 140 IF OP < 65 OR OP > 90 THEN GOTO 390 150 IF OP < 74 THEN ON OP - 64 GOTO 6800,390,2200,6500,390,4000,390,39 0,2100 160 IF OP < 84 THEN ON OP - 73 GOTO 340,2500,390,2700,2600,390,390,198 ,2000,100 170 ON OP - 83 GOTO 2800,390,390,2400,390,390,350 198 IF L2 = 0 THEN GOTO 390 199 END 340 GOSUB 385: PRINT D$;"RUN MAIN" 350 GOSUB 385: PRINT D$;"RUN PAGEMENU" 385 IF DK = 1 THEN POKE U + 109,22: CALL EC + 24: GET A$: PRINT 386 ONERR GOTO 7060 387 RETURN 390 POKE U + 109,23: CALL EC + 24: GOTO 100 2000 PRINT "Read textfiles to chapters" 2005 BW = 9: GOSUB 7000 2006 POKE U + 84,128:SV = 1 2007 GOSUB 5400: IF N = 0 THEN GOTO 100 2008 FOR I = 1 TO N: IF CS$(I) = CT$(I) AND DS%(I) = DT%(I) THEN GOTO 6299 2009 NEXT I 2020 GOSUB 5500: GOTO 100 2100 IF L2 = 0 THEN GOTO 390 2104 PRINT "Input through slot" 2105 BW = 8: GOSUB 7000 2110 A = PEEK (U + 71): IF A = 0 THEN PRINT CHR$ (7);"This configurat ion does not include a": PRINT "remote serial device.": PRINT "Recon figure and try again.": GOTO 100 2120 ZX = 2:OF = 0: GOSUB 5470: IF DU$ = "" THEN GOTO 100 2125 CY = 1:CY$ = DU$:DY = DG 2130 PRINT "Apple is ready to receive.": PRINT "Begin sending data from your remote device." 2135 CALL CD + OF 2140 ER = PEEK (CD + 6): IF ER = 128 THEN PRINT CHR$ (7);"Bad serial card in slot "; PEEK (U + 71): GOTO 100 2150 LE = PEEK (254) + 256 * PEEK (255) - ST 2165 POKE DIR + 3 * CY,CY: POKE DIR + 3 * CY + 1, PEEK (254): POKE DIR + 3 * CY + 2, PEEK (255) - ST / 256 2167 IF LE > 0 THEN GOSUB 7400 2170 OF = 3: IF ER < > 0 THEN CY = CY + 1: GOTO 2135 2175 POKE DIR,CY: POKE DIR + 1,CY 2180 GOSUB 7300 2185 GOTO 100 2200 PRINT "Copy chapters" 2205 GOSUB 5400: IF N = 0 THEN GOTO 100 2222 IF DK > 1 THEN GOTO 2230 2224 PRINT "Copy to another disk? Y";H$: INPUT "";A$: IF A$ = "" OR LEFT$ (A$,1) = "Y" THEN SW = 1 2230 SV = 1: GOSUB 5500: GOTO 100 2400 IF L2 = 0 THEN GOTO 390 2403 PRINT "Write chapters into a textfile" 2405 BW = 2:BQ = 0: GOSUB 7000 2410 GOSUB 5100: IF N = 0 THEN GOTO 100 2415 POKE U + 84,128 2420 TS = 40: GOSUB 5475: IF DU$ = "" THEN GOTO 100 2422 FOR I = 1 TO N: IF CS$(I) = DU$ THEN POKE U + 109,30: CALL EC + 2 4: GOTO 100 2423 NEXT I 2424 POKE 216,0 2430 POKE CD + 8,0: POKE U + 77,0: POKE U + 79,0: POKE U + 212,80: POKE U + 213,0: POKE U + 215,0 2432 POKE U + 86,DG: CALL EC + 21 2435 A = PEEK (47081) / 16:B = PEEK (47082):C = PEEK (47083) 2440 PRINT D$;"OPEN ";DU$;",S";A;",D";B;",V";C 2442 PRINT D$;"WRITE ";DU$ 2445 SV = 0: GOSUB 5500 2447 PRINT D$;"WRITE ";DU$: CALL CD + 5 2450 PRINT D$;"CLOSE ";DU$ 2455 POKE 50,255 2460 CALL 14 * 256: GOTO 100 2500 PRINT "Kill chapters": GOSUB 5100: IF N = 0 THEN GOTO 100 2525 PRINT "O K to proceed? N^";H$;: INPUT "";A$: IF LEFT$ (A$,1) = "Y " THEN GOSUB 5500 2530 GOTO 100 2600 PRINT "Name change for chapters" 2610 GOSUB 5400: IF N = 0 THEN GOTO 100 2620 SV = 1: GOSUB 5500: GOTO 100 2700 PRINT "Merge chapters" 2710 PRINT "Enter source chapters" 2720 GOSUB 5100: IF N = 0 THEN GOTO 100 2730 ZX = 2: GOSUB 5470: IF DU$ = "" THEN GOTO 100 2732 FOR I = 1 TO N: IF DU$ = CS$(I) THEN GOTO 6299 2733 CT$(I) = DU$:DT%(I) = DG 2734 NEXT I 2740 SV = 1: GOSUB 5500: GOTO 100 2745 POKE DIR,T 2750 FOR I = 1 TO T 2760 POKE DIR + 3 * I,I: POKE DIR + 3 * I + 2, INT (LE(I) / 256): POKE DIR + 3 * I + 1,LE(I) - 256 * PEEK (DIR + 3 * I + 2) 2765 NEXT I 2767 GOSUB 7300 2770 RETURN 2800 IF L2 = 0 THEN GOTO 390 2802 PRINT "Textfile kill" 2805 OP$ = "R" 2810 POKE U + 84,128: GOSUB 5100: IF N = 0 THEN GOTO 100 2815 PRINT "O K to proceed? N^";H$;: INPUT "";A$: IF LEFT$ (A$ + "N",1 ) < > "Y" THEN GOTO 100 2820 FOR I = 1 TO N 2830 POKE U + 86,DS%(I): CALL EC + 21 2835 PRINT D$;"DELETE ";CS$(I) 2837 PRINT "Textfile ";CS$(I);" killed" 2840 NEXT I 2850 GOTO 100 2900 REM 2905 FOR K = 1 TO 30 2910 POKE CD + 10 + K,128 + ASC ( MID$ (CX$ + " ",K,1)) 2915 NEXT K 2920 OF = 0:CY = 1 2922 POKE U + 86,DX: CALL EC + 21 2925 CALL CD + OF:ER = PEEK (CD + 9): IF ER = 128 THEN PRINT "Textfil e not found": GOTO 100 2929 POKE DIR + 3 * CY,CY: POKE DIR + 3 * CY + 1, PEEK (26): POKE DIR + 3 * CY + 2, PEEK (27) - ST / 256 2940 LE = PEEK (26) + 256 * PEEK (27) - ST: IF LE = 0 THEN GOTO 2945 2942 GOSUB 7400 2945 OF = 3: IF ER < > 0 THEN CY = CY + 1: GOTO 2922 2950 POKE DIR,CY: GOSUB 7300: RETURN 4000 PRINT "Fix chapter directory" 4002 POKE U + 109,48: CALL EC + 24 4010 PRINT "You must type in chapter name" 4015 L = 43616:QQ = 0: POKE DIR,0 4020 ZX = 2:TS = 49: GOSUB 5475: IF DU$ = "" THEN GOTO 100 4022 IF DU$ = "]" AND L3 = 0 THEN PRINT "Illegal chapter name": GOTO 1 00 4024 GOSUB 8500 4025 CX = 1:CX$ = DU$:DX = DG: POKE U + 86,DG: CALL EC + 21 4027 ONERR GOTO 4060 4028 POKE DIR + 3 * CX,CX 4030 IF CX$ < > "]" THEN GOTO 4045 4035 IF CX < = ZP THEN POKE L,255: POKE L + 1,15: GOTO 4050 4045 PRINT D$;"BLOAD ";CX$;"."; CHR$ (64 + CX);",A$8200" 4050 POKE DIR,CX 4055 POKE DIR + 3 * CX + 1, PEEK (L): POKE DIR + 3 * CX + 2, PEEK (L + 1) 4057 QQ = 0 4060 CALL 852:QQ = QQ + 1: IF QQ > 20 THEN GOTO 4065 4063 CX = CX + 1: IF CX < 45 THEN GOTO 4027 4065 POKE 216,0:CX = PEEK (DIR) 4070 IF CX = 0 THEN PRINT "No pages for chapter ";CX$: PRINT "have bee n located.": GOTO 4090 4080 CY$ = CX$:DY = DG: GOSUB 7300 4085 PRINT "Chapter ";CX$;" with ";CX;" pages has been fixed" 4090 CALL 852: GOTO 100 5000 TS = 18 5002 IF OP$ = "R" THEN TS = 39 5005 POKE U + 109,TS: CALL EC + 24: INPUT "";DU$: IF DU$ = "" THEN RETURN 5007 IF LEFT$ (DU$,1) = "+" THEN AG = 1:DU$ = MID$ (DU$,2,30) 5010 IF DU$ = "?" THEN GOSUB 9000: GOTO 5005 5011 IF RIGHT$ (DU$,1) = " " THEN PRINT CHR$ (7);"Chapter name canno t end with space": GOTO 5005 5012 IF LEFT$ (DU$,1) = "=" THEN GOSUB 9300: IF DG > 0 THEN GOTO 504 0 5013 IF LEN (DU$) > 25 THEN PRINT CHR$ (7);"Chapter name is over 25 characters": GOTO 5005 5015 DG = VAL (DU$): IF DG = 0 AND LEFT$ (DU$,1) < > "0" THEN DG = DJ : GOTO 5040 5020 IF DG > DK THEN PRINT "You only have ";DK;" disk drives": GOTO 50 05 5030 DU$ = MID$ (DU$, LEN ( STR$ (DG)) + 1,30) 5040 IF DG > 0 THEN POKE U + 85,0: POKE U + 86,DG: CALL EC + 21 5041 IF DU$ = "]" AND L3 = 0 THEN DU$ = "": RETURN 5042 IF ZX = 2 AND DU$ = "" THEN RETURN 5043 IF DU$ = "" THEN DU$ = "/" 5044 IF DU$ = "/" THEN RETURN 5050 IF ASC (DU$) = 47 THEN POKE U + 85, ASC ( MID$ (DU$ + "/",2,1)): DU$ = "/" 5060 RETURN 5100 N = 0 5102 IF DK = 1 THEN POKE U + 109,8: CALL EC + 24 5105 ZX = 1 5110 AG = 0: GOSUB 5000: IF DU$ = "" THEN RETURN 5115 IF DU$ = "/" THEN GOTO 5200 5145 IF DU$ = "]" THEN GOTO 5170 5147 IF OP$ = "R" THEN GOTO 5170 5155 ONERR GOTO 5190 5160 PRINT D$;"BLOAD ";DU$;",A$8200" 5170 POKE 216,0 5180 N = N + 1:CS$(N) = DU$:DS%(N) = DG: IF OP$ = "M" THEN GOTO 5110 5183 IF L2 = 0 AND PEEK (U + 81) = 0 THEN RETURN 5185 GOTO 5110 5190 B = PEEK (222):A = 44 + 2 * (B = 11) - 34 * (B = 6) 5192 POKE U + 109,A: CALL EC + 24: GOTO 130 5200 POKE U + 86,DG:NN = 0:A = 130 * 256: IF DG = 0 THEN GOTO 5110 5210 A$ = " chapters": IF OP$ = "R" THEN A$ = " textfiles" 5220 IF OP < > 82 THEN CALL EC + 33 5230 IF OP = 82 THEN CALL CD + 6 5235 IF PEEK (U + 109) > 0 GOTO 5110 5240 N$ = "":B = PEEK (A): IF B = 255 THEN GOTO 5260 5244 N$ = N$ + CHR$ (B):A = A + 1:B = PEEK (A): IF B < > 255 THEN GOTO 5244 5245 NN = NN + 1:CT$(NN) = N$:A = A + 1: GOTO 5240 5260 PRINT : PRINT "There are ";NN;A$: IF NN = 0 THEN GOTO 5110 5262 FOR I = 1 TO NN: PRINT I;" ";CT$(I): NEXT I 5265 PRINT 5270 PRINT "Use entire list? N";H$;: INPUT "";DU$: IF LEFT$ (DU$ + "N" ,1) < > "Y" THEN GOTO 5300 5277 FOR I = 1 TO NN:N = N + 1:CS$(N) = CT$(I):DS%(N) = DG: NEXT I 5280 IF AG = 1 THEN PRINT "Select more chapters": GOTO 5110 5285 RETURN 5300 B = 0 5310 IF OP$ = "R" THEN PRINT "Select textfiles by number":TS = 39: GOTO 5315 5312 PRINT "Select chapters by number":TS = 28 5315 POKE U + 109,TS: CALL EC + 24: INPUT "";A$:A = VAL (A$ + " ") 5317 IF A > NN THEN PRINT "Enter a number from 1 to ";NN: GOTO 5315 5318 IF A$ = "-" AND N > 0 THEN CT$(B) = CS$(N):N = N - 1: PRINT CT$(B) ;" canceled": GOTO 5315 5320 IF A < 1 THEN GOTO 5340 5325 IF CT$(A) = "" THEN PRINT "You picked this one already": GOTO 531 5 5327 PRINT CT$(A):B = A 5330 N = N + 1:CS$(N) = CT$(A):CT$(A) = "":DS%(N) = DG: GOTO 5315 5340 GOTO 5280 5400 GOSUB 5100 5406 IF N = 0 THEN RETURN 5407 IF N = 1 THEN ZX = 2: GOTO 5470 5410 TS = 20:ZX = 3: GOSUB 5005: IF DU$ = "" THEN N = 0: RETURN 5416 IF ASC (DU$) = 46 THEN DU$ = MID$ (DU$,2,30) 5420 B$ = LEFT$ (DU$,1):C$ = MID$ (DU$,2,30):DJ = DG 5421 IF B$ = "D" THEN B$ = "L":C$ = "" 5422 FOR I = 1 TO 4: IF B$ = MID$ ("ALIS",I,1) THEN GOTO 5430 5423 NEXT I 5427 PRINT CHR$ (7);"Invalid naming method": GOTO 5410 5430 FOR I = 1 TO N 5431 DT%(I) = DG: IF DG = 0 THEN DT%(I) = DS%(I) 5433 IF B$ = "A" THEN CT$(I) = CS$(I) + C$ 5435 IF B$ = "L" THEN CT$(I) = LEFT$ (CS$(I), LEN (CS$(I)) - 1) + C$ 5436 IF B$ = "S" THEN CT$(I) = CS$(I) 5437 IF B$ = "I" THEN GOSUB 5465:CT$(I) = DU$:DT%(I) = DG 5438 IF RIGHT$ (CT$(I),1) = " " THEN PRINT CHR$ (7);"Chapter name "; CT$(I);" ends in a space": GOTO 130 5439 IF LEN (CT$(I)) > 25 THEN PRINT "Chapter ";CT$(I);" has a name o ver 25 characters": GOTO 130 5440 NEXT I 5445 RETURN 5465 IF OP < > 82 THEN PRINT "For chapter ";CS$(I):ZX = 1 5466 IF OP = 82 THEN PRINT "For textfile ";CS$(I):ZX = 1 5470 TS = 19 5475 GOSUB 5005: IF DU$ = "" THEN N = 0: RETURN 5478 IF ZX = 2 AND ASC (DU$) = 46 THEN GOTO 5416 5479 IF DG = 0 THEN DG = DS%(1) 5480 IF ZX = 2 THEN CT$(1) = DU$:DT%(1) = DG 5485 RETURN 5500 REM 5510 T = 0 5550 FOR I = 1 TO N 5552 IF OP$ = "N" THEN DT%(I) = DS%(I) 5555 IF SW = 1 THEN PRINT "Insert source disk": GET A$: PRINT 5560 CX$ = CS$(I):DX = DS%(I) 5570 IF SV = 1 THEN CY$ = CT$(I):DY = DT%(I) 5572 IF OP$ = "R" THEN GOSUB 2900: GOTO 5730 5573 GOSUB 7100 5575 IF OP$ = "N" AND CX$ = CY$ THEN GOTO 5730 5580 FOR CX = 1 TO PEEK (DIR) 5585 T = T + 1:CY = CX 5590 OL = PEEK (DIR + 3 * CX) + 64 5600 LE = PEEK (DIR + 3 * CX + 1) + 256 * PEEK (DIR + 3 * CX + 2) 5605 IF OP$ = "M" THEN LE(T) = LE 5610 IF LE = 0 THEN GOTO 5700 5615 IF OP$ = "K" THEN GOSUB 7600: GOTO 5710 5617 IF OP$ = "N" THEN POKE U + 86,DX: CALL EC + 21: PRINT D$;"RENAME ";CX$;"."; CHR$ (OL);",";CY$;"."; CHR$ (CX + 64): GOTO 5700 5619 IF SW = 1 AND CX > 1 THEN PRINT "Insert source disk": GET A$: PRINT 5620 GOSUB 7200: POKE ST + LE,255 5646 IF OP$ = "W" THEN PRINT D$;"WRITE ";DU$: CALL CD 5685 IF SW = 1 THEN PRINT "Insert destination disk": GET A$: PRINT 5688 IF OP$ = "M" THEN OL = T + 64: GOSUB 7403: GOTO 5710 5690 IF SV = 1 THEN GOSUB 7400 5700 IF SV = 1 THEN POKE DIR + 3 * CX + 2, INT (LE / 256): POKE DIR + 3 * CX + 1,LE - 256 * PEEK (DIR + 3 * CX + 2) 5702 IF OP$ = "N" THEN POKE DIR + 3 * CX,CX 5710 NEXT CX 5715 IF OP$ = "N" THEN PRINT D$;"RENAME ";CX$;",";CY$ 5720 IF SV = 1 THEN GOSUB 7300 5725 IF OP$ = "K" THEN GOSUB 7500 5728 IF OP$ < > "W" THEN PRINT "Chapter ";CX$;" done" 5730 NEXT I 5738 IF OP$ = "M" THEN GOSUB 2745 5740 POKE 43624,1 5750 RETURN 6299 POKE U + 109,30: CALL EC + 24: GOTO 130 6500 T$ = "Which drive? ": GOSUB 6550: CALL EC + 36 6507 IF PEEK (U + 109) = 0 THEN PRINT "Press space for DOS catalog: ^ ";: GET A$: IF A$ = " " THEN PRINT : PRINT D$;"CATALOG" 6520 PRINT : GOTO 100 6540 IF PEEK (U + 96) = 144 THEN PRINT "Not available on the Apple 2 plus": GOTO 100 6545 T$ = "Free sectors on drive: ": GOSUB 6550: CALL EC + 33 6546 IF PEEK (U + 109) = 0 THEN PRINT 256 * PEEK (255) + PEEK (254) ;" sectors free" 6547 GOTO 100 6550 DU$ = H$: IF DK > 9 THEN DU$ = CHR$ (8) + DU$ 6555 PRINT T$;DK;DU$;: INPUT "";A$:DG = VAL (A$): IF DG = 0 THEN DG = DK 6557 IF A$ = "?" THEN GOTO 6580 6560 IF DG > DK THEN PRINT "You only have ";DK;" disk drives": GOTO 65 50 6565 POKE U + 86,DG: RETURN 6580 S = PEEK (8164): IF S THEN PRINT "Sider has ";S;" volumes" 6581 A = PEEK (8167): IF A < > 1 THEN PRINT "Main disk redirected to drive ";A 6582 FOR I = 1 TO DK - S 6584 PRINT I + S;" is slot "; PEEK (8144 + 2 * I);" drive "; PEEK (8145 + 2 * I) 6585 NEXT I: GOTO 6550 6800 PRINT "Adjust page sizes" 6805 BW = 10: GOSUB 7000 6810 GOSUB 5400: IF N = 0 THEN GOTO 100 6812 FOR I = 1 TO N: IF CS$(I) = CT$(I) THEN POKE U + 109,30: CALL EC + 24: GOTO 100 6813 NEXT I 6815 PRINT "Enter minimum page size: ^";: INPUT "";A$:A = VAL (A$ + " ") 6817 IF A = 0 THEN GOTO 100 6820 IF A < 250 THEN PRINT "Enter a number over 250": GOTO 6815 6825 PRINT "Enter maximum page size: ^";: INPUT "";A$:B = VAL (A$ + " ") 6827 IF A = 0 THEN GOTO 100 6830 IF B > 4000 THEN PRINT "Enter a number under 4000": GOTO 6825 6835 IF A + 200 > B THEN PRINT "Re-enter so difference is over 200": GOTO 6815 6837 POKE CD + 3,A / 256: POKE CD + 4,A - 256 * PEEK (CD + 3) 6838 POKE CD + 5,B / 256: POKE CD + 6,B - 256 * PEEK (CD + 5) 6840 FOR I = 1 TO N 6841 CX$ = CS$(I):DX = DS%(I):CY$ = CT$(I):DY = DT%(I) 6844 POKE CD + 7,DX: POKE CD + 8,DY 6845 GOSUB 7100 6846 FOR J = 1 TO LEN (CX$) 6847 POKE CD + 41 + J, ASC ( MID$ (CX$,J,1)) 6848 NEXT J 6849 POKE CD + 41, LEN (CX$) 6850 FOR J = 1 TO LEN (CY$) 6852 POKE CD + 9 + J, ASC ( MID$ (CY$,J,1)) 6853 NEXT J 6854 POKE CD + 9, LEN (CY$) 6855 CALL CD 6857 GOSUB 7300 6860 NEXT I 6865 PRINT "DONE": GOTO 100 7000 IF BW = BQ THEN RETURN 7007 ONERR GOTO 7060 7010 IF PEEK (U + 104) = 128 AND BW < 4 THEN GOTO 7090 7012 GOSUB 385 7015 PRINT D$;"BLOAD MOD";BW;",A$7200" 7050 BQ = BW: POKE 216,0: RETURN 7060 POKE U + 109,9: CALL EC + 24: POKE 216,0: GOTO 100 7090 POKE U + 237,BW + 3: POKE U + 238,1: POKE U + 239,0 7095 CALL 14 * 256 + 42:BQ = BW: RETURN 7100 IF CX$ = "]" THEN POKE U + 239,0: GOTO 7310 7105 POKE U + 86,DX: CALL EC + 21: PRINT D$;"BLOAD";CX$;",A$9500": RETURN 7200 OL = PEEK (DIR + 3 * CX) + 64: IF CX$ = "]" AND OL < 65 + ZP THEN GOTO 7250 7207 POKE U + 86,DX: CALL EC + 21 7210 PRINT D$;"BLOAD ";CX$;"."; CHR$ (OL);",A$8200": RETURN 7250 POKE U + 239,0: POKE U + 238,OL - 64: GOTO 7460 7300 IF CY$ < > "]" THEN POKE U + 86,DY: CALL EC + 21: PRINT D$;"BSAV E";CY$;",A$9500,L$FF": RETURN 7302 POKE DIR + 254,179: POKE DIR + 255,42 7305 POKE U + 239,1 7310 POKE U + 237,0: POKE U + 238,1: CALL 14 * 256 + 42: RETURN 7400 OL = PEEK (DIR + 3 * CY) + 64 7403 IF CY$ = "]" AND OL < 65 + ZP THEN GOTO 7450 7407 POKE U + 86,DY: CALL EC + 21 7410 PRINT D$;"BSAVE ";CY$;"."; CHR$ (OL);",A$8200,L";LE: RETURN 7450 POKE U + 239,1: POKE U + 238,OL - 64 7460 POKE U + 237,2: CALL 14 * 256 + 42: RETURN 7500 IF CX$ = "]" THEN POKE DIR,0: GOTO 7305 7505 POKE U + 86,DX: CALL EC + 21 7510 PRINT D$;"DELETE ";CX$: RETURN 7600 OL = PEEK (DIR + 3 * CX) + 64: IF CX$ = "]" AND OL < 65 + ZP THEN RETURN 7607 POKE U + 86,DX: CALL EC + 21 7610 PRINT D$;"DELETE ";CX$;"."; CHR$ (OL): RETURN 8000 IF PEEK (U + 81) > 0 THEN PRINT "Cancel remember mode": POKE U + 81,0: GOTO 100 8010 POKE U + 82,0: POKE 46533,0: POKE U + 83,0: POKE U + 81,64: PRINT : PRINT "Begin remember mode": GOTO 100 8030 PRINT CHR$ (5); 8035 GET A$: PRINT A$;: IF ASC (A$) < > 13 THEN GOTO 8035 8040 GOTO 100 8100 CALL EC + 48:ZX = 2:TS = 38: GOSUB 5475: IF DU$ = "" THEN GOTO 10 0 8110 LE = PEEK (U + 82) + 256 * PEEK (U + 83):CY$ = DU$:DY = DG: GOSUB 7300:CY = 1: GOSUB 7400: GOTO 100 8200 TS = 38:ZX = 2: GOSUB 5475: IF DU$ = "" THEN GOTO 100 8210 CX$ = DU$:CX = 1:DX = DG: GOSUB 7100: GOSUB 7200: CALL EC + 51: GOTO 100 8500 B = 146 * 256: POKE B,160: POKE B + 1,0: POKE B + 2,152: POKE B + 3 ,153: POKE B + 4,0 8505 POKE B + 5,149: POKE B + 6,136: POKE B + 7,208: POKE B + 8,250 8510 POKE B + 9,96: CALL B: RETURN 8515 POKE B + 14,153: POKE B + 15,0: POKE B + 16,147: POKE B + 17,136 9000 A = 4: IF ZX = 3 THEN A = 5 9005 IF ZX = 2 THEN A = 50 9010 POKE U + 109,A: CALL EC + 24: RETURN 9300 DG = 0:A = VAL ( RIGHT$ (DU$,1)): IF A = 0 THEN RETURN 9305 IF OP$ < > "R" THEN RETURN 9310 DG = DK + 1: POKE 8144 + 2 * DG,A: POKE 8145 + 2 * DG,1:DU$ = "": RETURN ]