home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCICAL / MMBIOTUT / MMCREATE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-02-04  |  9.4 KB  |  225 lines

  1. 1000  ON ERROR GOTO 9000
  2. 1001  COMMON UMSEG%()
  3. 1005  DEFINT A-Z:COLOR 0,0,0:KEY OFF:FOR I=1 TO 10:KEY I,"":NEXT
  4. 1010  COLOR 7,0:OPTION BASE 1
  5. 1020  DIM LESSON$(45),GNUM(45),PCT(45),HFLAG(45),QNUM(45),QUES$(50),ANS$(50)
  6. 1025  DIM QUSED(45),WTITLE$(45),TTITLE$(45),HINT$(45)
  7. 1030  DIM FDPOS(5,2),FDLEN(5),FDTYPE$(5),FDINBUF$(5)
  8. 1080  OPEN "MMHOME.dir" AS #1 LEN = 95
  9. 1090  FIELD #1, 8 AS F1$, 2 AS F2$, 2 AS F3$, 2 AS F4$, 2 AS F5$, 2 AS F6$, 15 AS F7$, 30 AS F8$, 32 AS F9$
  10. 1170  FOR I=1 TO 45
  11. 1180    GET #1,I:LESSON$(I)=F1$
  12. 1190    GNUM(I)=1:PCT(I)=75:QNUM(I)=0:QUSED(I)=1:HFLAG(I)=1
  13. 1195    WTITLE$(I)=SPACE$(15):TTITLE$(I)=SPACE$(30):HINT$(I)=SPACE$(32)
  14. 1200  NEXT
  15. 1230  COLOR 0,0,0:CLS:WIDTH 80:COLOR 0,15,0:LOCATE ,,0
  16. 1250  LOCATE 1,6:PRINT SPACE$(25)+"M A T C H M A K E R"+SPACE$(26)
  17. 1260  LOCATE 2,6:PRINT "     "+STRING$(19,205)+"  LESSON  DIRECTORY  "+STRING$(19,205)+SPACE$(6)
  18. 1270  LOCATE 3,6:PRINT SPACE$(70)
  19. 1280  FOR I=1 TO 15
  20. 1290    LOCATE I+3,6:PRINT USING "     ##.  ";I;:PRINT USING "\      \";LESSON$(I);
  21. 1300    PRINT SPACE$(10);:PRINT USING "##.  ";I+15;:PRINT USING "\      \";LESSON$(I+15);
  22. 1310    PRINT SPACE$(10);:PRINT USING "##.  ";I+30;:PRINT USING "\      \";LESSON$(I+30);
  23. 1320    PRINT SPACE$(6)
  24. 1330  NEXT
  25. 1350  IK$=INKEY$:IF IK$<>"" GOTO 1350
  26. 1360  LOCATE 20,6:COLOR 15,0:PRINT "CHOOSE A LESSON NUMBER THEN ";
  27. 1380  COLOR 7:PRINT "Press "+CHR$(17)+STRING$(2,196)+CHR$(217);:COLOR 15:PRINT " :"
  28. 1385  LOCATE 22,6:PRINT "(I WILL ";:COLOR 0,15:PRINT " CREATE ";:COLOR 15,0:PRINT " THE LESSON YOU SELECT)"
  29. 1387  NUMFD=1:FDINBUF$(1)=SPACE$(2)
  30. 1390  DATA 20,48,"I",2
  31. 1400  GOSUB 8000
  32. 1500  IF FDINBUF$(1)="  " THEN CLOSE:CHAIN "MMEDITOR",1000
  33. 1620  LESN=VAL(FDINBUF$(1))
  34. 1630  IF LESN>45 OR LESN<1 THEN BEEP:RESTORE 1390:GOTO 1400
  35. 1700  IF LEFT$(LESSON$(LESN),1)="-" GOTO 2000
  36. 1710  BEEP:FOR I=0 TO 25:COLOR 12,0:LOCATE 23,6,0:PRINT "LESSON ALREADY EXISTS, PLEASE RE-ENTER!":NEXT I:GOTO 1720
  37. 1720  LOCATE 23,6:PRINT SPACE$(70):COLOR 15,0:RESTORE 1390:GOTO 1400
  38. 2000  COLOR 0,0,0:CLS:SCREEN 0,1:WIDTH 40:NAMEFLAG=1
  39. 2010  COLOR 9,0,0:LOCATE 1,1,0:PRINT "******  MATCHMAKER   E D I T O R  ******";
  40. 2015  LOCATE 3,11:COLOR 11,0:PRINT "CREATE ";:COLOR 11,1:PRINT " NEW ";:COLOR 11,0:PRINT " LESSON"
  41. 2020  COLOR 15,0:LOCATE  6,5:PRINT "~ ENTER LESSON NAME: ";:COLOR 7:PRINT "(MAX 8 CHAR)"
  42. 2025  COLOR 15,0:LOCATE 10,5:PRINT "~ ENTER WORD TITLE: ";:COLOR 7:PRINT "(MAX 15 CHAR)"
  43. 2026  COLOR 15,0:LOCATE 14,5:PRINT "~ ENTER TEXT TITLE: ";:COLOR 7:PRINT "(MAX 30 CHAR)"
  44. 2030  COLOR 15,0:LOCATE 18,5:PRINT "~ ENTER HINT: ";:COLOR 7:PRINT "(MAX 32 CHAR)"
  45. 2040  NUMFD=4:FDINBUF$(1)=SPACE$(8):FDINBUF$(2)=SPACE$(15):FDINBUF$(3)=SPACE$(30):FDINBUF$(4)=SPACE$(32)
  46. 2050  DATA 7,7,"AN",8,11,7,"ANY",15,15,7,"ANY",30,19,7,"ANY",32
  47. 2060  GOSUB 8000
  48. 2070  MSG$="ARE ALL ENTRIES CORRECT ? (Y/N) ":R$=" Y ":GOSUB 7000
  49. 2080  IF REDO=1 THEN COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38):RESTORE 2050:GOTO 2060
  50. 2100  NAMERR=0:GOSUB 2210:IF NAMERR=1 THEN LOCATE 22,2:PRINT SPACE$(38):RESTORE 2050:GOTO 2060
  51. 2120  LESSON$(LESN)=FDINBUF$(1)
  52. 2160  WTITLE$(LESN)=FDINBUF$(2):TITLE1$=WTITLE$(LESN)
  53. 2165  L=LEN(TITLE1$):IF RIGHT$(TITLE1$,1)=" " THEN TITLE1$=LEFT$(TITLE1$,L-1):GOTO 2165
  54. 2170  TTITLE$(LESN)=FDINBUF$(3):TITLE2$=TTITLE$(LESN)
  55. 2175  L=LEN(TITLE2$):IF RIGHT$(TITLE2$,1)=" " THEN TITLE2$=LEFT$(TITLE2$,L-1):GOTO 2175
  56. 2180  HINT$(LESN)=FDINBUF$(4):NAMEFLAG=0:GOTO 2300
  57. 2210  N$=FDINBUF$(1):L=LEN(N$)
  58. 2215  FOR I=1 TO L
  59. 2217    C$=MID$(N$,I,1):IF C$>="a" AND C$<="z" THEN MID$(N$,I,1)=CHR$(ASC(C$)-32)
  60. 2220  NEXT
  61. 2225  IF LEFT$(N$,1)<="9" AND LEFT$(N$,1)>="0" THEN MSG$="LESSON NAME MUST BEGIN WITH A LETTER!":GOTO 2270 ELSE L=LEN(N$)
  62. 2230  FOR I=1 TO 45
  63. 2231    IF LEFT$(LESSON$(I),1)="-" GOTO 2240 ELSE N1$=LESSON$(I):L=LEN(N1$)
  64. 2232    FOR J=1 TO L
  65. 2233      C$=MID$(N1$,J,1):IF C$>="a" AND C$<="z" THEN MID$(N1$,J,1)=CHR$(ASC(C$)-32)
  66. 2234    NEXT J
  67. 2239    IF I<>LESN THEN IF N1$=N$ THEN MSG$="DUPLICATE LESSON NAME!":GOTO 2270
  68. 2240  NEXT I
  69. 2250  RETURN
  70. 2270  BEEP:NAMERR=1:COLOR 12,0:FOR I=1 TO 30:LOCATE 23,2,0:PRINT MSG$:NEXT I
  71. 2280  COLOR 0,0:LOCATE 23,2:PRINT SPACE$(38);:COLOR 14,0:RETURN
  72. 2300  COLOR 0,0,0:CLS:SCREEN 0,1:WIDTH 40:CNT=1
  73. 2310  COLOR 9,0,0:LOCATE 1,1,0:PRINT "******  MATCHMAKER   E D I T O R  ******";
  74. 2315  LOCATE 3,11:COLOR 11,0:PRINT "CREATE ";:COLOR 11,1:PRINT " NEW ";:COLOR 11,0:PRINT " LESSON"
  75. 2320  COLOR 7,0:LOCATE  5,10:PRINT "LESSON NAME: ";:COLOR 15,0:PRINT " "+LESSON$(LESN)+" "
  76. 2325  COLOR 7,0:LOCATE 7,10:PRINT "WORD  ";:PRINT "# ";:COLOR 0,6:PRINT USING "##";CNT;:COLOR 7,0:PRINT "  OF  ";:COLOR 0,6:PRINT USING "##";CNT;:COLOR 7,0:PRINT "  WORDS"
  77. 2326  COLOR 15,0:LOCATE 9,2:PRINT TITLE1$+":"
  78. 2330  COLOR 15,0:LOCATE 13,2:PRINT TITLE2$+":"
  79. 2332  COLOR 15,0:LOCATE 14,2:PRINT "  "
  80. 2333  COLOR 15,0:LOCATE 16,2:PRINT "+ "
  81. 2334  COLOR 15,0:LOCATE 18,2:PRINT "+ "
  82. 2335  COLOR 15,0:LOCATE 20,2:PRINT "+ "
  83. 2340  DATA 10,5,"ANY",20,14,5,"ANY",30,16,5,"ANY",30,18,5,"ANY",30,20,5,"ANY",30
  84. 2350  NUMFD=5:FDINBUF$(1)=SPACE$(20):FOR I=2 TO 5:FDINBUF$(I)=SPACE$(30):NEXT
  85. 2360  GOSUB 8000
  86. 2370  MSG$="ARE ALL ENTRIES CORRECT ? (Y/N) ":R$=" Y ":GOSUB 7000
  87. 2380  IF REDO=1 THEN RESTORE 2340:GOTO 2360
  88. 2450  ANS$(CNT)=FDINBUF$(1)
  89. 2460  D$=CHR$(94):QUES$(CNT)=FDINBUF$(2)+D$+FDINBUF$(3)+D$+FDINBUF$(4)+D$+FDINBUF$(5)+D$
  90. 2470  MSG$="MORE TO ADD ? (Y/N) ":R$=" Y ":COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38):GOSUB 7000
  91. 2480  IF REDO=1 THEN QNUM(LESN)=CNT:GOTO 4000
  92. 2490  CNT=CNT+1:COLOR 0,6:LOCATE 7,18:PRINT USING "##";CNT:LOCATE 7,26:PRINT USING "##";CNT
  93. 2500  COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38):RESTORE 2340:GOTO 2350
  94. 4000  COLOR 0,0,0:CLS:SCREEN 0,1:WIDTH 40
  95. 4010  COLOR 9,0,0:LOCATE 1,1,0:PRINT "******  MATCHMAKER   E D I T O R  ******";
  96. 4015  LOCATE 3,11:COLOR 11,0:PRINT "CREATE ";:COLOR 11,1:PRINT " NEW ";:COLOR 11,0:PRINT " LESSON"
  97. 4020  COLOR 15,0:LOCATE  7,2:PRINT "GUESSES ALLOWED PER QUESTION (1-9)..."
  98. 4025  COLOR 15,0:LOCATE 12,2:PRINT "NUMBER OF QUESTIONS TO BE USED......"
  99. 4026  COLOR 7,0:LOCATE 13,2:PRINT "(THIS LESSON HAS ";:COLOR 15:PRINT USING "##";QNUM(LESN);:COLOR 7:PRINT " QUESTIONS)"
  100. 4030  COLOR 15,0:LOCATE 17,2:PRINT "PERCENT (%) CORRECT TO GET REWARD.."
  101. 4040  NUMFD=3:FDINBUF$(1)=MID$(STR$(GNUM(LESN)),2)
  102. 4041  FDINBUF$(2)=MID$(STR$(QUSED(LESN)),2)
  103. 4042  FDINBUF$(3)=MID$(STR$(PCT(LESN)),2)
  104. 4050  DATA 7,39,"I",1,12,38,"I",2,17,37,"I",3
  105. 4060  GOSUB 8000
  106. 4070  MSG$="ARE ALL ENTRIES CORRECT ? (Y/N) ":R$=" Y ":GOSUB 7000
  107. 4080  IF REDO=1 THEN COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38):RESTORE 4050:GOTO 4060
  108. 4150  GNUM(LESN)=VAL(FDINBUF$(1)):IF GNUM(LESN)<1 GOTO 4180
  109. 4160  QUSED(LESN)=VAL(FDINBUF$(2)):IF QUSED(LESN)>QNUM(LESN) OR QUSED(LESN)=0 GOTO 4180
  110. 4170  PCT(LESN)=VAL(FDINBUF$(3)):IF PCT(LESN)>100 OR PCT(LESN)=0 GOTO 4180
  111. 4175  GOTO 5000
  112. 4180  COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38)
  113. 4185  BEEP:COLOR 12,0,0:FOR I=0 TO 35:LOCATE 23,2,0:PRINT "ERROR IN ENTRIES!!! RE-ENTER.":NEXT I
  114. 4190  COLOR 0,0:LOCATE 23,2:PRINT SPACE$(38):RESTORE 4050:GOTO 4060
  115. 5000  COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38)
  116. 5010  COLOR 14,0:LOCATE 22,2:PRINT "SAVING LESSON ..."
  117. 5020  OPEN LESSON$(LESN)+".LES" AS #2 LEN = 144
  118. 5030  FIELD #2, 20 AS LF1$, 124 AS LF2$
  119. 5040  FOR I=1 TO QNUM(LESN)
  120. 5050    IF LEFT$(ANS$(I),1)=" " THEN ANS$(I)=MID$(ANS$(I),2):GOTO 5050
  121. 5060    LSET LF1$=ANS$(I):LSET LF2$=QUES$(I)
  122. 5070    PUT #2,I
  123. 5080  NEXT
  124. 5085  CLOSE #2
  125. 5090  LSET F1$=LESSON$(LESN)
  126. 5100  LSET F2$=MKI$(GNUM(LESN))
  127. 5110  LSET F3$=MKI$(PCT(LESN))
  128. 5120  LSET F4$=MKI$(QNUM(LESN))
  129. 5130  LSET F5$=MKI$(QUSED(LESN))
  130. 5140  LSET F7$=WTITLE$(LESN)
  131. 5150  LSET F8$=TTITLE$(LESN)
  132. 5160  LSET F9$=HINT$(LESN)
  133. 5170  PUT #1,LESN
  134. 5520  COLOR 0,0,0:CLS:WIDTH 40
  135. 5530  LOCATE 6,3,0:COLOR 14,0:PRINT "CREATE ANOTHER LESSON ? (Y/N) "+SPACE$(5)
  136. 5535  COLOR 0,14:LOCATE 6,34:PRINT " Y "
  137. 5540  K$=INKEY$:IF K$<>"" GOTO 5540
  138. 5550  COLOR 0,14:LOCATE 6,35,1,7,0
  139. 5560  K$=INKEY$:IF K$="" GOTO 5560
  140. 5570  IF K$="N" OR K$="n" THEN LOCATE 6,35,0:PRINT K$
  141. 5580  IF K$="N" OR K$="n" THEN CLOSE:CHAIN "MMEDITOR",1000
  142. 5590  IF K$="Y" OR K$="y" OR K$=CHR$(13) THEN RESTORE 1390:GOTO 1230 ELSE BEEP:GOTO 5530
  143. 7000  LOCATE 22,2:COLOR 14,0:PRINT MSG$+SPACE$(5)
  144. 7070  COLOR 0,14:LOCATE 22,35:PRINT R$
  145. 7090  K$=INKEY$:IF K$<>"" GOTO 7090
  146. 7100  COLOR 0,14:LOCATE 22,36,1,7,0
  147. 7110  K$=INKEY$:IF K$="" GOTO 7110
  148. 7127  IF K$="N" OR K$="n" THEN LOCATE 22,36,0:PRINT K$
  149. 7130  IF K$="N" OR K$="n" THEN COLOR 0,0:LOCATE 22,2:PRINT SPACE$(38):REDO=1:RETURN
  150. 7140  IF K$="Y" OR K$="y" OR K$=CHR$(13) THEN REDO=0:RETURN ELSE BEEP:GOTO 7070
  151. 8000  FOR I=1 TO NUMFD
  152. 8110    READ FDPOS(I,1),FDPOS(I,2),FDTYPE$(I),FDLEN(I)
  153. 8115    IF LEN(FDINBUF$(I))<FDLEN(I) THEN FDINBUF$(I)=FDINBUF$(I)+SPACE$(FDLEN(I)-LEN(FDINBUF$(I)))
  154. 8120    COLOR 6,0:LOCATE FDPOS(I,1),FDPOS(I,2),0:PRINT FDINBUF$(I)
  155. 8180    COLOR 7,0:LOCATE FDPOS(I,1)+1,FDPOS(I,2),0:PRINT STRING$(FDLEN(I),45);
  156. 8200  NEXT I
  157. 8210  CFD=1:COLOR 14,0:IF NAMEFLAG=1 THEN TYPERR=1 ELSE TYPERR=0
  158. 8220  CPOS=FDPOS(CFD,2):RPOS=FDPOS(CFD,1):LOCATE RPOS,CPOS,0
  159. 8230  CPOSMAX=CPOS+FDLEN(CFD)-1:CPOSMIN=CPOS
  160. 8240  LOCATE RPOS,CPOS,1,0,7
  161. 8250  A$=INKEY$
  162. 8260  IF A$="" THEN GOTO 8250
  163. 8270  L=LEN(A$):IF L=2 THEN A$=RIGHT$(A$,1)
  164. 8273  IF A$=CHR$(27) THEN CLOSE:CHAIN "mmeditor",1000
  165. 8275  IF A$=CHR$(8) THEN GOSUB 8350:GOTO 8240
  166. 8280  IF L=2 THEN IF A$="K" THEN GOSUB 8340:GOTO 8240 ELSE IF A$="M" THEN GOSUB 8380:GOTO 8240
  167. 8290  IF L=2 THEN IF A$="H" THEN GOSUB 8420:GOTO 8220 ELSE IF A$="P" THEN GOSUB 8460:GOTO 8220
  168. 8300  IF L=2 THEN IF A$="S" THEN GOSUB 8500:GOTO 8240 ELSE IF A$="R" THEN GOSUB 8560:GOTO 8240
  169. 8310  IF A$=CHR$(13) THEN IF TYPERR=0 THEN IF CFD=NUMFD THEN GOSUB 8670:RETURN ELSE GOSUB 8670:CFD=CFD+1:GOTO 8220  ELSE BEEP:GOTO 8240
  170. 8320  GOSUB 8710 : IF CPOS < CPOSMAX THEN CPOS=CPOS+1
  171. 8330  GOTO 8240
  172. 8340  IF CPOS-CPOSMIN+1 > 0 THEN CPOS=CPOS-1
  173. 8342  IF CPOS-CPOSMIN+1 < 1 THEN BEEP:CPOS=CPOS+1
  174. 8343  RETURN
  175. 8350  IF CPOS-CPOSMIN+1 > 0 THEN CPOS=CPOS-1
  176. 8351  IF CPOS>=CPOSMIN THEN LOCATE RPOS,CPOS+1,0:PRINT " ":MID$(FDINBUF$(CFD),CPOS-CPOSMIN+2,1)=" "
  177. 8352  IF CPOS-CPOSMIN+1 < 1 THEN BEEP:CPOS=CPOS+1
  178. 8353  RETURN
  179. 8380  IF CPOS<=CPOSMAX THEN CPOS=CPOS+1
  180. 8400  IF CPOS>CPOSMAX THEN BEEP:CPOS=CPOS-1
  181. 8410  RETURN
  182. 8420  REM ====================================== TAB BACKWARD -- CURSOR UP KEY
  183. 8430  GOSUB 8670
  184. 8440  IF CFD=1 THEN CFD=NUMFD ELSE CFD=CFD-1
  185. 8450  RETURN
  186. 8460  REM ====================================== TAB FORWARD -- CURSOR DOWN KEY
  187. 8470  GOSUB 8670
  188. 8480  IF CFD=NUMFD THEN CFD=1 ELSE CFD=CFD+1
  189. 8490  RETURN
  190. 8500  REM ======================================= DELETE A CHARACTER -- DEL KEY
  191. 8510  PTR=CPOS-CPOSMIN+1:RESTBUF$=MID$(FDINBUF$(CFD),PTR+1)+SPACE$(1)
  192. 8520  LOCATE ,,0
  193. 8530  PRINT RESTBUF$;:FDINBUF$(CFD)=LEFT$(FDINBUF$(CFD),PTR-1)+RESTBUF$
  194. 8550  RETURN
  195. 8560  REM ======================================= INSERT A CHARACTER -- INS KEY
  196. 8570  LOCATE RPOS,CPOS,1,4,7
  197. 8575  A$=INKEY$:IF A$="" THEN GOTO 8575
  198. 8580  L=LEN(A$):IF L=2 THEN A$=RIGHT$(A$,1)
  199. 8585  IF A$=CHR$(8) THEN GOTO 8275
  200. 8590  IF L=2 THEN IF A$="K" OR A$="M" THEN GOTO 8280 ELSE IF A$="H" OR A$="P" THEN GOTO 8290 ELSE IF A$="S" THEN GOTO 8300 ELSE IF A$="R" THEN RETURN
  201. 8600  IF A$=CHR$(13) THEN GOTO 8310
  202. 8610  PTR=CPOS-CPOSMIN+1:RESTBUF$=MID$(FDINBUF$(CFD),PTR,FDLEN(CFD)-PTR)
  203. 8620  GOSUB 8700:LOCATE ,,0:PRINT RESTBUF$;:CPOS=CPOS+1
  204. 8630  IF CPOS>CPOSMAX THEN BEEP:CPOS=CPOS-1:RETURN
  205. 8640  FDINBUF$(CFD)=LEFT$(FDINBUF$(CFD),PTR)+RESTBUF$
  206. 8650  GOTO 8570
  207. 8660  REM ======================================== DEACTIVATE CURRENT FIELD
  208. 8670  CPOS=FDPOS(CFD,2):RPOS=FDPOS(CFD,1):LOCATE RPOS,CPOS,0
  209. 8680  COLOR 6,0:PRINT FDINBUF$(CFD);:COLOR 14,0
  210. 8690  RETURN
  211. 8700  REM ======================================== VALIDATE ENTERED DATA AND ECHO
  212. 8710  LOCATE ,,0
  213. 8720  IF FDTYPE$(CFD)="I" OR FDTYPE$(CFD)="i" THEN IF (A$>"9") OR (A$<"0") THEN GOTO 8770 ELSE GOTO 8760
  214. 8730  IF FDTYPE$(CFD)="D" OR FDTYPE$(CFD)="d" THEN IF (A$ > "9") OR (A$ < "0" AND A$ >".") OR (A$<"-") THEN GOTO 8770 ELSE GOTO 8760
  215. 8740  IF FDTYPE$(CFD)="A" OR FDTYPE$(CFD)="a" THEN IF (A$ < "A") OR (A$ > "Z" AND A$ < "a") OR (A$ > "z") THEN GOTO 8770 ELSE GOTO 8760
  216. 8750  IF FDTYPE$(CFD)="AN" OR FDTYPE$(CFD)="an" THEN IF (A$ <"0") OR (A$ <"A" AND A$ >"9") OR (A$ >"Z" AND A$ <"a") OR (A$ >"z") THEN GOTO 8770 ELSE GOTO 8760
  217. 8760  MID$(FDINBUF$(CFD),CPOS-CPOSMIN+1)=A$:PRINT A$;:TYPERR=0:RETURN
  218. 8770  BEEP:CPOS=CPOS-1:TYPERR=1:RETURN
  219. 9000  IF ERR=70 THEN MSG$="DISKETTE WRITE PROTECT!":GOTO 9030
  220. 9010  IF ERR=71 THEN MSG$="DISK DRIVE NOT READY!":GOTO 9030
  221. 9015  IF ERR=72 THEN MSG$="DISK MEDIA ERROR!":GOTO 9030
  222. 9020  IF ERR=61 THEN MSG$="DISKETTE SPACE FULL!" ELSE MSG$="ERROR DETECTED! ("+MID$(STR$(ERR),2)+")"
  223. 9030  BEEP:COLOR 12,0:FOR B=1 TO 40:LOCATE 23,2,0:PRINT MSG$:NEXT B
  224. 9040  CLOSE:CHAIN "MMEDITOR",1000
  225.