6LOAD MAIN ]LOAD MAIN ]LIST 5 CALL 14 * 256 7 PRINT CHR$ (4);"MAXFILES 1" 15 ST = 130 * 256:CD = 114 * 256:DIR = 149 * 256 20 HOME : HIMEM: 29184 30 D$ = CHR$ (4) 50 U = 30 * 256:EC = 14 * 256:UQ = U + 109 55 DK = PEEK (U + 75):L2 = PEEK (U + 64):L3 = PEEK (U + 65) 56 IF PEEK (U + 104) = 128 AND PEEK (U + 235) = 0 THEN GOSUB 8500 60 IF PEEK (U + 80) > 0 THEN GOTO 90 62 POKE U + 86,1: CALL EC + 21: FOR I = 1 TO 4 64 A = PEEK (U + 131 + I * 16): IF A > 0 THEN GOTO 68 65 NEXT I: GOTO 90 68 PRINT D$;"BLOAD OUT-0"; CHR$ (48 + A);",A$1B00": POKE U + 80,A 90 DIM CS$(50),CT$(50),DS%(50),DT%(50) 99 H$ = CHR$ (8) + "^":ZP = PEEK (U + 231) 100 IF ZQ = 1 THEN CALL EC:ZQ = 0 102 POKE U + 86,1: POKE U + 485,1: CALL EC + 21: POKE 216,0: POKE U + 7 4,145: POKE U + 84,0: POKE 50,255 103 SV = 0:ZX = 0:AP = 0:MC = 0:CQ = 1:PX = 0: POKE U + 236,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 UQ,15: 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 132 IF OP = 32 THEN GOTO 340 135 IF OP = 63 OR OP < 32 THEN POKE U + 109,1: CALL EC + 24: GOTO 100 140 IF OP < 65 OR OP > 90 THEN GOTO 390 150 IF OP < 74 THEN ON OP - 64 GOTO 320,1800,2200,6500,2500,320,1600,1 680,390 160 IF OP < 84 THEN ON OP - 73 GOTO 100,390,390,1055,390,390,1000,199, 3000,360 170 ON OP - 83 GOTO 320,390,390,390,390,390,350 199 END 320 IF L2 = 0 THEN GOTO 390 325 POKE 800,OP: GOSUB 385: PRINT D$;"RUN TAPE-VB" 340 GOSUB 385: POKE U + 485,0: CALL EC + 21: PRINT D$;"RUN START" 350 GOSUB 385: PRINT D$;"RUN PAGEMENU" 360 GOSUB 385: PRINT D$;"RUN SECOND" 385 IF DK = 1 THEN POKE UQ,22: CALL EC + 24: GET A$: PRINT 386 ONERR GOTO 7060 387 RETURN 390 POKE UQ,23: CALL EC + 24: GOTO 100 999 GOTO 9200 1000 POKE UQ,24: CALL EC + 24 1002 POKE U + 74,17: POKE U + 77,1 1010 BQ = 0:BW = 2: GOSUB 7000:R = 0 1011 IF AP = 1 THEN N = 1:CS$(1) = "XX":DS%(1) = DK:A$ = "1":L = 1: GOSUB 4003:OP$ = "P": GOTO 1025 1012 GOSUB 5100: IF N = 0 THEN GOTO 100 1015 IF MC = 1 THEN GOSUB 4400 1020 GOSUB 4000: IF L = 0 THEN GOTO 100 1025 POKE U + 2,VV: POKE U + 4,BB 1035 POKE CD + 8,0: POKE U + 78,1: POKE U + 17,0 1037 IF R > 0 THEN R = R - 1: POKE CD + 13, INT (R / 256): POKE CD + 10 ,R - 256 * PEEK (CD + 13): POKE U + 6,0 1040 SV = 0: GOSUB 5500 1042 POKE 49164,0: CALL - 1233: POKE U + 211,0 1045 POKE U + 74,145: CALL EC: HOME : GOTO 100 1055 IF L2 = 0 THEN GOTO 390 1060 PRINT "Multi-function print":MC = 1:OP$ = "P": GOTO 1002 1600 PRINT "Grade 2 translator" 1605 BW = 4: GOSUB 7000 1609 IF OP$ = "H" THEN CALL CD + 5: CALL 14 * 256: GOTO 100 1610 GOSUB 5400: IF N = 0 THEN GOTO 100 1620 IF N = 0 THEN GOTO 100 1625 PRINT "Starting to translate" 1650 SV = 1: GOSUB 5500 1670 GOTO 100 1680 IF L2 = 0 THEN GOTO 390 1681 GOTO 1605 1800 IF L2 = 0 THEN GOTO 390 1801 PRINT "Back translate from grade 2" 1805 BW = 5: GOSUB 7000 1808 IF AP = 1 THEN N = 1:CS$(1) = CY$:CT$(1) = "XX":DS%(1) = DY:DT%(1) = DY: GOTO 1820 1810 GOSUB 5400 1820 IF N = 0 THEN GOTO 100 1825 PRINT "Starting to back translate" 1850 SV = 1: GOSUB 5500 1855 IF AP = 1 THEN POKE 43624,1: GOTO 1000 1860 GOTO 100 2200 IF L2 = 0 THEN GOTO 390 2205 PRINT "Copy chapters" 2210 GOSUB 5400: IF N = 0 THEN GOTO 100 2220 BQ = 0:SV = 1: POKE CD,96: GOSUB 5500 2230 GOTO 100 2500 PRINT "Editor" 2505 BW = 1: GOSUB 7000 2510 TS = 36:ZH = 2: GOSUB 5100: IF DU$ = "" THEN GOTO 100 2512 CX$ = DU$:DX = DG 2517 GOSUB 7100 2519 A = PEEK (DIR): IF A = 1 THEN CX = 1: GOTO 2525 2520 IF A = 0 THEN GOTO 2592 2521 PRINT "There are ";A;" pages": PRINT "Edit on page 1";H$;: INPUT " ";B$ 2522 CX = VAL (B$ + " "): IF CX = 0 THEN CX = 1 2524 IF A < CX THEN GOTO 2510 2525 POKE CD + 7,CX:CY$ = DU$:DY = DG:CX$ = DU$:DX = DG 2530 CALL CD + 3:CX = PEEK (CD + 7): IF CX = 0 THEN GOTO 2535 2532 LE = PEEK (DIR + 3 * CX + 1) + 256 * PEEK (DIR + 3 * CX + 2): IF LE > 0 THEN GOSUB 7200 2535 CALL CD: ONERR GOTO 2580 2540 CY = PEEK (CD + 6): POKE 43602,0 2542 LE = PEEK (DIR + 3 * CY + 1) + 256 * PEEK (DIR + 3 * CY + 2): IF LE > 0 THEN GOSUB 7400 2544 GOSUB 7300: POKE 216,0 2550 A = PEEK (CD + 8): IF A = 0 THEN CALL EC: IF PEEK (U + 8) < 6 THEN CALL - 936 2551 IF A = 0 THEN PRINT "Quit the Editor": GOTO 100 2555 GOTO 2530 2580 HOME : POKE CD + 8,0: CALL 14 * 256 2582 POKE U + 109,47: CALL EC + 24: GET A$: GOTO 999 2590 IF PEEK (222) < > 6 THEN GOTO 5190 2592 : POKE 46533,0: POKE U + 109,45: CALL EC + 24: INPUT "";A$: IF LEFT$ (A$ + "Y",1) < > "Y" THEN GOTO 2510 2594 POKE DIR,1: POKE DIR + 3,1: POKE DIR + 4,0: POKE DIR + 5,0 2595 POKE 216,0:CX = 1: GOTO 2525 3000 PRINT "Replace" 3005 BW = 3: GOSUB 7000 3010 GOSUB 5400: IF N = 0 THEN GOTO 100 3015 GOSUB 3100: POKE 216,0 3020 IF DU$ = "" AND L2 = 0 THEN GOTO 100 3030 CALL CD + 5: POKE U + 26,1 3031 E = ( PEEK (U + 8) < > PEEK (U + 40)) 3032 IF PEEK (CD + 17) = 0 THEN GOTO 1045 3035 PRINT "Continue? Y";H$;: INPUT "";A$: IF LEFT$ (A$ + "Y",1) < > "Y" THEN GOTO 1045 3040 SV = 1: GOSUB 5500: POKE CD + 30,255 3045 A = 256 * PEEK (CD + 19) + PEEK (CD + 18) 3047 CALL EC: IF E THEN HOME 3050 PRINT "Replaced ";A;" times" 3055 IF PEEK (CD + 20) = 0 THEN GOSUB 3200 3060 GOTO 100 3100 NN = N: POKE CD + 20,0:DJ = DK 3105 TS = 37:ZX = 4: GOSUB 5475:N = NN: IF DU$ = "" THEN RETURN 3106 ONERR GOTO 3180 3107 CX$ = DU$:DX = DG: GOSUB 7100 3110 A = PEEK (DIR): IF A < 1 OR A > 2 THEN PRINT CHR$ (7);"Use only one or two page chapters": GOTO 3105 3115 IF PEEK (U + 8) > 4 THEN POKE U + 109,78: CALL EC + 15: HOME 3120 CX = 1: GOSUB 7200: CALL CD + 8 3130 IF A = 2 THEN CX = 2: GOSUB 7200: CALL CD + 11 3140 POKE CD + 20,1: POKE 216,0: RETURN 3180 POKE U + 109,10: CALL EC + 24: GOTO 100 3200 REM SAVE TRAN 3210 TS = 27:ZX = 4: GOSUB 5475: IF DU$ = "" THEN RETURN 3215 CALL CD + 14 3220 LE = PEEK (DIR + 4) + 256 * PEEK (DIR + 5) 3230 CY$ = DU$:DY = DG:CY = 1: GOSUB 7300: GOSUB 7400: RETURN 4000 PRINT "Which printer: ^";: INPUT "";A$:L = LEN (A$): IF L = 0 THEN RETURN 4003 BB = 0: IF L > 0 THEN IF RIGHT$ (A$,2) = "+B" THEN BB = PEEK (U + 4):L = L - 2 4005 VV = 0: IF L > 1 THEN IF MID$ (A$,L - 1,2) = "+V" THEN VV = PEEK (U + 2):L = L - 2 4010 IF L = 0 THEN POKE U + 109,130:L = 2: GOTO 4060 4020 IF LEFT$ (A$,1) = "S" THEN R = 0: POKE U + 109, ASC ( MID$ (A$ + " ",2,2)): POKE 7896,0: CALL EC + 15: RETURN 4025 A$ = LEFT$ (A$,1):A = VAL (A$) 4030 IF A$ = "?" THEN GOSUB 4200: GOTO 4000 4035 POKE U + 109,A: IF A < 0 OR A > 4 THEN GOTO 4000 4040 IF A$ = "N" THEN GOSUB 5900 4045 IF (A$ = "L" OR A$ = "N") AND PEEK (U + 208) = 0 THEN RETURN 4060 POKE U,0: CALL EC + 12: RETURN 4200 A = 128 + U:P = 1 4255 B = A + P * 16:S = PEEK (B):S1 = PEEK (B + 4):S2 = PEEK (B + 5) 4257 A$ = "Printer":C = PEEK (B + 1): IF C = 128 OR C = 4 THEN A$ = "Br ailler" 4260 IF S = 0 THEN GOTO 4270 4265 PRINT P;" - ";A$;" in slot ";S;" (";S1;" by ";S2;")":P = P + 1: IF P < 5 THEN GOTO 4255 4270 POKE U + 109,3: CALL EC + 24: RETURN 4400 PRINT "Restart printout on output page 1";H$;: INPUT "";A$:R = VAL (A$): IF R < 2 THEN GOTO 4500 4410 RETURN 4500 PRINT "How many copies? 1";H$; 4520 INPUT "";A$:CQ = VAL (A$): IF CQ < 1 THEN CQ = 1 4525 POKE U + 79,1 4530 IF N > 1 THEN RETURN 4535 PRINT "Print single BEX page? N";H$;: INPUT "";A$: IF LEFT$ (A$,1 ) < > "Y" THEN RETURN 4540 PRINT "Print BEX page: ";H$;: INPUT "";A$:A = VAL (A$): IF A < 1 THEN GOTO 100 4550 PX = A: RETURN 5000 TS = 18 5005 POKE UQ,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 5012 IF RIGHT$ (DU$,1) = " " THEN PRINT CHR$ (7);"Chapter name canno t end with space": GOTO 5005 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 UQ,8: CALL EC + 24 5105 ZX = 1 5110 AG = 0: GOSUB 5000: IF DU$ = "" AND N = 0 THEN POKE U + 109,25: CALL EC + 24 5112 IF DU$ = "" THEN RETURN 5115 IF DU$ = "/" THEN GOTO 5200 5145 IF DU$ = "]" THEN GOTO 5170 5155 ONERR GOTO 5190 5156 IF OP$ = "E" THEN POKE 216,0: ONERR GOTO 2590 5160 PRINT D$;"BLOAD ";DU$;",A$8200" 5170 POKE 216,0 5180 N = N + 1:CS$(N) = DU$:DS%(N) = DG: IF L2 = 0 AND PEEK (U + 81) = 0 THEN RETURN 5182 IF OP$ = "E" THEN RETURN 5185 GOTO 5110 5190 B = PEEK (222):A = 44 + 2 * (B = 11) - 34 * (B = 6) 5192 POKE UQ,A: CALL EC + 24: GOTO 130 5200 POKE U + 86,DG:NN = 0: IF DG = 0 THEN GOTO 5110 5230 CALL 14 * 256 + 33:A = 130 * 256 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;" chapters:": IF NN = 0 THEN GOTO 5 110 5262 FOR I = 1 TO NN: PRINT I;" ";CT$(I): NEXT I 5265 PRINT 5266 IF OP$ = "E" THEN GOTO 5300 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$ < > "E" THEN PRINT "Select chapters by number" 5315 POKE U + 109,28: 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 DU$ = "": GOTO 5280 5325 IF CT$(A) = "" THEN PRINT "You picked this one already": GOTO 531 5 5327 PRINT CT$(A):B = A 5328 IF OP$ = "E" THEN DU$ = CT$(A): RETURN 5330 N = N + 1:CS$(N) = CT$(A):CT$(A) = "":DS%(N) = DG: GOTO 5315 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 PRINT "For chapter ";CS$(I) 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:DY = DG 5485 RETURN 5500 T = 0 5520 POKE U + 78,0 5530 FOR HJ = 1 TO CQ 5550 FOR I = 1 TO N 5560 CX$ = CS$(I):DX = DS%(I): GOSUB 7100 5570 IF SV = 1 THEN CY$ = CT$(I):DY = DT%(I) 5580 FOR CX = 1 TO PEEK (DIR) 5585 T = T + 1:CY = CX 5600 LE = PEEK (DIR + 3 * CX + 1) + 256 * PEEK (DIR + 3 * CX + 2) 5610 IF LE = 0 THEN GOTO 5700 5615 IF OP$ = "P" AND CX * PX < > PX * PX THEN GOTO 5710 5620 GOSUB 7200 5630 POKE ST + LE,255: POKE U + 111,CX 5640 LE = LE + 1: POKE CD + 4, INT (LE / 256): POKE CD + 3,LE - 256 * PEEK (CD + 4) 5670 CALL CD: IF PEEK (U + 78) > 0 THEN RETURN 5680 LE = 256 * PEEK (CD + 4) + PEEK (CD + 3) - 1 5690 IF LE AND SV THEN GOSUB 7400 5700 IF SV THEN POKE DIR + 3 * CX + 2, INT (LE / 256): POKE DIR + 3 * CX + 1,LE - 256 * PEEK (DIR + 3 * CX + 2) 5710 NEXT CX 5720 IF SV THEN GOSUB 7300 5729 IF OP$ < > "P" THEN PRINT "Chapter ";CS$(I);" done" 5730 NEXT I 5734 IF OP$ = "P" THEN CALL CD + 5: POKE U + 90,0: IF MC = 1 THEN POKE 38017,0 5735 NEXT HJ 5740 POKE U + 86,1: CALL EC + 21 5750 RETURN 5900 B = U + 208 5910 PRINT : PRINT "Old carriage width: "; PEEK (B + 4): INPUT "New wid th:^";X$: POKE B + 4,( LEN (X$) = 0) * PEEK (B + 4) + VAL (X$) 5920 PRINT : PRINT "Old form length: " PEEK (B + 5): INPUT "New form le ngth:^";X$: POKE B + 5,( LEN (X$) = 0) * PEEK (B + 5) + VAL (X$) 5945 PRINT "Printer slot is "; PEEK (B): INPUT "Enter new slot: ^";X$: POKE B,( LEN (X$) = 0) * PEEK (B) + VAL (X$) 5948 IF PEEK (B) = 0 THEN GOTO 5965 5950 IF PEEK (B + 7) = 0 THEN PRINT "No "; 5951 PRINT "pause after form feed" 5955 PRINT "Change it? N";H$;: INPUT "";X$: IF X$ < > "" THEN POKE B + 7,1 - PEEK (B + 7) 5965 POKE B + 1,0: POKE B + 3,0: RETURN 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 7000 B = INT ( PEEK (U + 8) / 6): IF BW = 4 OR BW = 5 THEN BQ = BQ + 99 * B: IF PEEK (U + 8) > 4 THEN POKE U + 109,78: CALL EC + 15:ZQ = 1: HOME 7004 POKE U + 236,BW 7005 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" 7020 BQ = BW: IF BQ < 4 OR BQ > 5 THEN POKE 216,0: RETURN 7025 A$ = "ZQFOR": IF BQ = 5 THEN A$ = "ZQREV" 7030 PRINT D$;"BLOAD ";A$;".A,A$2000" 7035 A = 256 * (32 + PEEK (43617)) + PEEK (43616) 7040 PRINT D$;"BLOAD ";A$;".B,A";A 7050 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 EC + 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 EC + 42: RETURN 7400 OL = PEEK (DIR + 3 * CY) + 64: 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 EC + 42: 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 "Start 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 FOR I = 0 TO 3 8505 A = I: IF A = 0 THEN A = 6 8510 POKE U + 238,1: POKE U + 239,1: POKE U + 237,A + 3: POKE U + 235,1 8520 PRINT D$;"BLOAD MOD";I;",A$7200": CALL EC + 42: NEXT I 8525 IF L3 = 0 THEN RETURN 8530 PRINT CHR$ (4);"BLOAD MOD11": CALL 128 * 256 8540 RETURN 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 9200 U = 30 * 256:EC = 14 * 256:D$ = CHR$ (4):DIR = 149 * 256 9205 PRINT 9210 POKE DIR,1: POKE DIR + 3,1: POKE DIR + 4,255: POKE DIR + 5,15 9220 CY$ = "SAVE":CY = 1:DY = 1:LE = 4096: GOSUB 7300 9230 GOSUB 7400: POKE U + 109,11: CALL EC + 24: END ]