LOAD START ]LIST 2 CALL 14 * 256 10 HM = 29184 15 ST = 130 * 256:CD = 114 * 256:DIR = 149 * 256:BQ = 0:EC = 14 * 256 16 IF PEEK (CD + 25) < > 76 THEN PRINT CHR$ (4);"BLOAD START.BIN,A$ 7200" 20 HIMEM: HM 30 D$ = CHR$ (4) 50 U = 30 * 256:L1 = PEEK (U + 64):L2 = PEEK (U + 65) 55 DK = PEEK (U + 75) 56 A = PEEK (7776 + PEEK (8146)): IF A = 20 OR A = 22 THEN RM = 1 57 IF PEEK (7776 + PEEK (43626)) = 24 THEN RM = 0 90 DIM C$(30),CS$(30),Z$(20),DS(30) 99 H$ = CHR$ (8) + "^" 100 POKE U + 86,1: POKE U + 485,0: CALL EC + 21 101 POKE 216,0: POKE U + 84,0 103 SV = 0:SP = 0:ER = 0 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,14: CALL EC + 24 115 CALL 852 120 GET OP$:OP = ASC (OP$): PRINT OP$ 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 ONERR GOTO 8500 132 IF OP = 32 THEN GOTO 800 135 IF OP = 63 OR OP < 32 THEN GOTO 200 140 IF OP < 65 OR OP > 90 THEN GOTO 390 150 IF OP < 74 THEN ON OP - 64 GOTO 390,390,500,600,390,2000,390,390,7 00 160 IF OP < 84 THEN ON OP - 73 GOTO 390,1500,390,390,390,390,999,199,8 70,3000 170 ON OP - 83 GOTO 390,320,850,940,390,390,390 199 END 200 POKE U + 109,12: CALL EC + 24 220 GOTO 100 320 POKE U + 109,6: CALL EC + 24: GOTO 100 390 POKE U + 109,23: CALL EC + 24: GOTO 100 500 ONERR GOTO 950 501 PRINT "Copy Disks" 505 IF PEEK (48403) = 175 AND PEEK (48404) = 190 THEN PRINT CHR$ (4 );"BRUN DOS.INIT.BEX,A$8200" 508 GOSUB 6800: IF GD > 2 THEN GOSUB 6700 510 IF GD = 2 THEN PRINT "Copy entire contents of disk in drive ";DD(1 ): PRINT "on to disk in drive ";DD(2);"." 512 IF GD = 1 THEN PRINT "Single drive copy using drive ";DD(1) 515 PRINT "Press Return to begin Copy."; 520 GET A$: IF ASC (A$) < > 13 THEN PRINT : PRINT "canceled": GOTO 1 00 525 ONERR GOTO 545 530 PRINT : CALL CD + 25 535 PRINT CHR$ (4);"CLOSE" 540 IF PEEK (CD + 21) THEN PRINT CHR$ (7); CHR$ (7);"Copying error" 550 POKE 216,0: PRINT : GOTO 100 600 GOSUB 6500: GOTO 100 700 ONERR GOTO 950 704 SD = ( PEEK (7776 + PEEK (43626)) = 24) 705 DG = DK 710 POKE U + 109,21: CALL EC + 24 720 IF DK > 2 THEN GOSUB 6599 725 POKE U + 86,DG: CALL EC + 21:S = PEEK (47081) / 16:T = PEEK (U + 96 + S) 726 POKE U + 86,1: CALL EC + 21: POKE U + 86,DG 730 IF T = 23 THEN PRINT CHR$ (4);"BLOAD AMDOS.INIT.BEX": CALL 128 * 256: GOTO 100 731 IF PEEK (48403) = 175 AND PEEK (48404) = 190 THEN PRINT CHR$ (4 );"BRUN DOS.INIT.BEX,A$8200" 732 IF S = 3 OR T = 22 THEN PRINT CHR$ (7);"You cannot initialize a R AM drive": GOTO 100 745 PRINT "Do you want to proceed? Y";H$;: INPUT "";A$ 750 IF A$ < > "" AND LEFT$ (A$,1) < > "Y" THEN GOTO 100 770 PRINT "Put disk to be initialized in drive ";DG 775 PRINT "Press the space bar" 780 GET A$: IF ASC (A$) < > 32 THEN GOTO 100 781 PRINT : ONERR GOTO 783 783 IF PEEK (49152) = 155 THEN POKE 216,0: POKE 49168,0: GOTO 100 784 ER = ER + 1: IF ER > 1 THEN PRINT CHR$ (7);"Disk error, cannot ini tialize.": PRINT "Do not use this disk for anything.": GOTO 100 785 POKE CD + 21,DG: CALL CD + 28 786 IF SD THEN PRINT CHR$ (4);"DELETE XXX" 787 POKE 216,0:ER = 0: PRINT D$;"CLOSE" 788 IF PEEK (CD + 21) > 0 THEN GOTO 100 790 PRINT "Initialize another disk? Y";H$;: INPUT "";A$: IF LEFT$ (A$ + "Y",1) < > "Y" THEN GOTO 100 795 GOTO 770 800 IF RM = 0 THEN GOTO 915 805 ONERR GOTO 820 810 POKE U + 485,1: CALL EC + 21: PRINT CHR$ (4);"BLOAD OUT-03,A$8200" 815 GOTO 915 820 POKE U + 485,0: CALL EC + 21: ONERR GOTO 830 825 PRINT CHR$ (4);"BLOAD CARDS.BIN,A$8200" 827 ONERR GOTO 950 828 IF PEEK (7776 + PEEK (43626)) = 23 THEN GOTO 846 829 GOTO 840 830 PRINT CHR$ (7);"In order to load RAM drive" 832 PRINT "Insert Boot Side" 834 PRINT "and press any key.": GET A$: PRINT : GOTO 825 840 PRINT "Loading Main side to RAM drive." 842 PRINT "Wait for 3 beeps;" 844 PRINT "then remove Boot, insert Main" 845 PRINT "then press any key." 846 PRINT CHR$ (4);"RUN RAM" 850 ONERR GOTO 950 860 PRINT : PRINT D$;"RUN PRINTCON" 870 ONERR GOTO 950 880 PRINT : PRINT D$;"RUN FORCE" 900 PRINT "Insert Main program disk" 905 PRINT "Press the space bar" 910 GET A$: IF A$ < > " " THEN GOTO 100 915 ONERR GOTO 950 918 POKE U + 485,1: CALL EC + 21 920 PRINT D$;"RUN MAIN" 940 ONERR GOTO 950 945 PRINT D$;"RUN WHAT" 950 POKE U + 109,9: CALL EC + 24: POKE 216,0: GOTO 100 999 IF L2 = 0 THEN GOTO 390 1000 PRINT "This option displays the control": PRINT "sequences for dif ferent brand name": PRINT "printers.": PRINT 1005 U = 30 * 256:ST = 130 * 256 1010 INPUT "Display codes for Dot Matrix? ";A$:B$ = "A": IF A$ = "Y" THEN B$ = "B" 1015 PRINT CHR$ (4);"BLOAD PRINTERS.";B$;",A$8200" 1020 RESTORE 1025 FOR I = 1 TO 15: READ Z$(I): NEXT I 1030 IF PEEK (U + 8) < 8 THEN POKE U + 109, ASC ("H"): CALL 14 * 256 + 15 1035 PRINT CHR$ (12); 1040 POKE U + 18,128 1045 A = ST 1050 A = A + 1:B = PEEK (A):CH = 0 1055 IF B = 92 THEN GOTO 1100 1060 CH = CH + 1:R = 0 1065 POKE U + 19,1 1070 PRINT Z$(CH);" "; 1075 B = PEEK (A): IF B = 92 THEN GOTO 1090 1077 IF PEEK (49152) = 155 THEN POKE 49168,0: GOTO 1100 1078 IF B = 127 AND R = 0 THEN PRINT " - Not available"; 1080 IF B = 127 THEN POKE U + 13,0: POKE U + 19,0: PRINT :A = A + 1: GOTO 1060 1082 POKE U + 13,128:R = 1 1085 PRINT CHR$ (B);:A = A + 1: GOTO 1075 1090 PRINT "(press any key)"; 1095 GET A$: CALL 14 * 256 + 39: GOTO 1050 1100 POKE U + 109, ASC ("N") 1105 POKE U + 19,0 1110 CALL EC: GOTO 100 1130 DATA "Printer ","backup " ,"10 c p i ","12 c p i "," 17 c p i ","proport. " 1135 DATA "underline","stop und.","boldface ","stop bold" 1140 DATA "superscript","stop superscript","subscript","stop subsc ript"," " 1500 REM 1501 PRINT "Kill configurations from the disk": PRINT 1503 POKE U + 85,0 1505 POKE U + 86,1: POKE U + 84,1: POKE 216,0:N = 0:NN = 0 1510 CALL EC + 33:A = 130 * 256 1512 PRINT 1515 IF PEEK (U + 109) = 1 THEN PRINT CHR$ (7);"Disk read error": GOTO 100 1525 N$ = "":B = PEEK (A): IF B = 255 THEN GOTO 1550 1530 N$ = N$ + CHR$ (B):A = A + 1:B = PEEK (A): IF B < > 255 THEN GOTO 1530 1535 NN = NN + 1:C$(NN) = LEFT$ (N$, LEN (N$) - 4):A = A + 1: GOTO 1525 1550 IF NN = 0 THEN GOTO 100 1555 PRINT "There are ";NN;" configurations": PRINT "on the disk": PRINT 1560 FOR I = 1 TO NN: PRINT I;" ";C$(I): NEXT I 1600 B = 0 1605 PRINT "Select configurations by number or name" 1610 INPUT "Configuration:^";A$:A = VAL (A$ + " ") 1615 IF A$ = "-" AND N > 0 THEN C$(B) = CS$(N):N = N - 1: PRINT C$(B);" canceled": GOTO 1610 1616 IF A$ = "-" THEN GOTO 1610 1618 IF STR$ (A) < > A$ THEN GOSUB 1750 1620 IF A > NN THEN PRINT "Enter a new number from 1 to ";NN: PRINT "o r name from the list": GOTO 1610 1625 IF A < 1 THEN : GOTO 1700 1630 IF C$(A) = "" THEN PRINT "You picked this one already": GOTO 1610 1635 B = A: IF STR$ (A) = A$ THEN PRINT C$(A) 1640 N = N + 1:CS$(N) = C$(A):C$(A) = "":DS(N) = DG: GOTO 1610 1700 IF N < 1 THEN GOTO 100 1702 PRINT "O K to proceed? N^";H$;: INPUT "";A$: IF LEFT$ (A$ + "N",1 ) < > "Y" THEN GOTO 100 1705 FOR I = 1 TO N 1710 PRINT D$;"DELETE ";CS$(I);".CON" 1715 NEXT I 1720 GOTO 100 1750 IF A$ = "" THEN A = 0: RETURN 1755 FOR I = 1 TO NN 1760 IF A$ = C$(I) THEN A = I: RETURN 1765 NEXT I 1770 A = NN + 1: PRINT "picked already or not on the list": RETURN 2000 PRINT "FID" 2004 POKE U + 109,78: CALL EC + 15 2005 CALL CD + 39 2025 PRINT "REBOOT TO GET BACK INTO BEX" 2030 A = PEEK (U + 465): IF A > 0 THEN GOTO 2050 2040 PRINT D$;"BRUN FID" 2050 PRINT D$;"BRUN DOS FILE UTILITY,S";A;",V1" 3000 PRINT "System description for RDC" 3010 PRINT CHR$ (4);"BLOAD START.BIN,A$7200" 3020 PRINT "Do you need technical assistance? Y";H$;: INPUT "";A$: IF LEFT$ (A$ + "Y",1) < > "Y" THEN GOTO 100 3025 PRINT 3030 PRINT "This option creates disk files that" 3035 PRINT "may help Raised Dot find out what your" 3040 PRINT "problems are." 3045 PRINT 3046 GOSUB 6800:DG = DD(GD) 3050 PRINT "Insert a data disk in drive ";DG 3055 PRINT "Press the space bar" 3060 GET A$: IF ASC (A$) < > 32 THEN GOTO 100 3065 POKE U + 86,DG: CALL EC + 21 3066 PRINT 3070 CALL CD + 33: PRINT CHR$ (4);"BSAVE tech,A$2000,L$A00" 3075 FOR I = 1 TO 7: IF PEEK (U + 96 + I) = 1 THEN PRINT CHR$ (4);"B SAVE ";I;",A$C0";8 + I;"0,L$10" 3076 NEXT I 3100 PRINT "Copy any problem chapters to this disk." 3105 PRINT "Include a description of the problem." 3110 PRINT "Mail the disk to Raised Dot Computing." 3115 GOTO 100 3500 STOP 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 6556 IF A$ = "M" THEN DG = 129: GOTO 6565 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 (8166): IF A < > 1 THEN PRINT "1 is booting drive" 6582 FOR I = 1 TO DK - S 6583 IF A < > 1 AND I = 1 THEN GOTO 6585 6584 PRINT I + S;" is slot "; PEEK (8144 + 2 * I);" drive "; PEEK (8145 + 2 * I) 6585 NEXT I 6587 IF RM THEN PRINT "M Main side RAM drive" 6589 GOTO 6550 6599 T$ = "Which drive? ": GOTO 6550 6700 PRINT "Source disk in drive ";DD(1);H$;: INPUT "";A$:DG = VAL (A$ ): IF DG = 0 THEN DG = DD(1) 6702 IF DG > DK THEN PRINT "You only have ";DK;" disk drives": GOTO 67 00 6705 POKE CD + 31,DG 6710 PRINT "Destination disk in drive ";DD(2);H$;: INPUT "";A$:DG = VAL (A$): IF DG = 0 THEN DG = DD(2) 6712 IF DG > DK THEN PRINT "You only have ";DK;" disk drives": GOTO 67 10 6715 POKE CD + 32,DG 6720 RETURN 6800 GD = 0: FOR I = 1 TO DK 6805 A = PEEK (8144 + 2 * I):T = PEEK (7776 + A) 6810 IF T = 17 OR T = 18 THEN GD = GD + 1:DD(GD) = I + PEEK (8164) 6820 NEXT I 6830 IF GD = 2 THEN POKE CD + 31,DD(1): POKE CD + 32,DD(2) 6835 IF GD = 1 THEN POKE CD + 31,DD(1): POKE CD + 32,DD(1) 6840 RETURN 8030 IF OP = 5 THEN PRINT CHR$ (5); 8032 IF OP < > 15 THEN RETURN 8035 GET A$: PRINT A$;: IF ASC (A$) < > 13 THEN GOTO 8035 8040 GOTO 100 8500 POKE U + 109,9: CALL EC + 24: POKE 216,0: GOTO 100 ]