home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug121.arc / NUCLEAR.ARK / POWER.BAS next >
BASIC Source File  |  1988-02-29  |  17KB  |  385 lines

  1. 10 '  POWER.BAS
  2. 20 POKE 13,50'    SET CPU SPEED TO 4MHZ
  3. 30 'NUCLEAR POWER PLANT SIMULATION
  4. 40 'FOR H-19 TERMINAL
  5. 50 'BASED ON S. R. BERGGREN, CREATIVE COMPUTING DECEMBER 1980 PAGE 128
  6. 60 'AS MODIFIED FOR PET BY IVAN SMITH & HUME SMITH
  7. 70 'CREATIVE COMPUTING AUGUST 1981 PAGE 144
  8. 75 'MOD BY B.MOSKUS 6/85 FOR "SCORE-KEEPING" USING FILE POWER.DAT
  9. 80 E$=CHR$(27):RE$=E$+"p":ER$=E$+"q":MV$=E$+"Y":BEL$=CHR$(7)
  10. 90 PRINT E$+"E";
  11. 100 PRINT "This program simulates the operation of a nuclear power reactor."
  12. 110 PRINT "The object is to operate the plant at a maximum average power output"
  13. 120 PRINT "without causing a reactor meltdown."
  14. 130 PRINT 
  15. 140 PRINT "The control rods adjust the amount of heat produced by the reactor."
  16. 150 PRINT "Primary coolant transfers this heat to the heat exchanger."
  17. 160 PRINT "Secondary coolant transfers heat from the heat exchanger to the"
  18. 170 PRINT "turbine, where power is produced, and finally to the cooling tower."
  19. 180 PRINT "The emergency coolant is used to help shut down the reactor when"
  20. 190 PRINT "other systems fail.  Unlike the other coolants, emergency coolant"
  21. 200 PRINT "is not recycled."
  22. 210 PRINT E$;"x1";E$;"Y8 ";:
  23.     PRINT "Enter 'D' Reactor Diagram, 'I' Working Instructions, 'S' Start";
  24.     :A$=INPUT$(1):PRINT E$;"H";E$;"y1";
  25. 220 IF A$="D" OR A$="d" THEN GOSUB 2370:GOTO 210
  26. 230 IF A$="S" OR A$="s" THEN 410
  27. 240 PRINT E$;"G";E$;"E";
  28. 250 PRINT "The controls are operated by typing in the desired control rod"
  29. 260 PRINT "setting and flow rates.  (Use values from 0 to 100).  If no entry"
  30. 270 PRINT "is made, the values will not change.  The reactor can be operated"
  31. 280 PRINT "until a meltdown occurs or the reactor fuel is exhausted.  The"
  32. 290 PRINT "fuel will last for about 100 to 150 days.  When the fuel is"
  33. 300 PRINT "exhausted, your performance will be evaluated."
  34. 310 PRINT :PRINT "If you want to repair damage or replace coolant, bring the"
  35. 320 PRINT "reactor temperature down below 100 and shut off the coolant flows."
  36. 330 PRINT "This will cause an automatic maintenance shutdown and all coolant"
  37. 340 PRINT "will be replenished and repairs made.  The greater the damage, the"
  38. 350 PRINT "longer the repairs will take."
  39. 360 PRINT 
  40. 370 PRINT TAB(25)RE$"WARNING:"ER$"  This power plant has"
  41. 380 PRINT TAB(25)"no automatic safety devices!!"
  42. 390 PRINT 
  43. 400 GOTO 210
  44. 410 CLEAR:E$=CHR$(27):RE$=E$+"p":ER$=E$+"q":MV$=E$+"Y":BEL$=CHR$(7)
  45. 420 GOSUB 1420
  46. 430 RH=0
  47. 440 RL=0
  48. 450 DAY%=0
  49. 460 TT=0
  50. 470 DMGE%=0
  51. 480 A%=0:A1%=0:A2%=0
  52. 490 '**********   Write report   **********
  53. 500 PRINT E$;"G";E$;"E";
  54. 510 DAY%=DAY%+1
  55. 520 PRINT TAB(30);"Nuclear Power Plant"
  56. 530 PRINT TAB(27);"Status Report - Day";DAY%
  57. 540 PRINT MV$"# "RE$"Warnings:"ER$
  58. 550 IF RT%>800 THEN PRINT BEL$;MV$"$!Reactor Overheated":
  59.     RD%=RD%+1-(RT%>850)-(RT%>900)-2*(RT%>950):
  60.     PD%=PD%+1:ED%=ED%+1-(RT%>850):GOSUB 3570
  61. 560 IF XT%>500 THEN PRINT BEL$;MV$"%!Heat Exchanger Overheated":
  62.     XD%=XD%+1-(XT%>600):PD%=PD%+1:SD%=SD%+1:GOSUB 3570
  63. 570 IF GO%>2000 THEN PRINT BEL$;MV$"&!Turbine Overloaded":
  64.     TD%=TD%+1-(GO%>2500):SD%=SD%+1:GOSUB 3570
  65. 580 IF CT%>300 THEN PRINT BEL$;MV$"'!Cooling tower overheated":SD%=SD%+1:
  66.     GOSUB 3570
  67. 590 IF GO%<1000 THEN PRINT BEL$;MV$"(!Power output low":GOSUB 3570
  68. 600 IF EV%<200 THEN PRINT BEL$;MV$")!Emergency coolant low":GOSUB 3570
  69. 610 IF PV%<100 THEN PRINT BEL$;MV$"*!Primary coolant low":PD%=PD%+1:GOSUB 3570
  70. 620 IF SV%<100 THEN PRINT BEL$;MV$"+!Secondary coolant low":SD%=SD%+1:GOSUB 3570
  71. 630 PRINT MV$"#G"RE$"Damage:"ER$
  72. 640 IF RD%>3 THEN GOSUB 3560:PRINT MV$"$HReactor Core damaged":GOSUB 3570
  73. 650 IF PD%>4 THEN GOSUB 3560:PRINT MV$"%HPrimary Coolant Leak - ";PD%;"/day":
  74.     PV%=(PV%-PD%)*-((PV%-PD%)>0):GOSUB 3570
  75. 660 IF SD%>4 THEN GOSUB 3560:PRINT MV$"&HSecondary Coolant Leak - ";SD%;"/day":
  76.     SV%=(SV%-SD%)*-((SV%-SD%)>0):GOSUB 3570
  77. 670 IF ED%>2 THEN GOSUB 3560:PRINT MV$"'HEmergency Coolant Leak - ";2*ED%;"/day"
  78.     :EV%=(EV%-2*ED%)*-((EV%-2*ED%)>0):GOSUB 3570
  79. 680 IF PB%=1 THEN GOSUB 3560:PRINT MV$"(HPrimary Coolant Pump Failure - ";
  80.     10*PD%*-(PD%<10)+100*-(PD%>=10);"%":GOSUB 3570
  81. 690 IF SB%=1 THEN GOSUB 3560:PRINT MV$")HSecondary Coolant Pump Failure - ";
  82.     10*SD%*-(SD%<10)+100*-(SD%>=10);"%":GOSUB 3570
  83. 700 IF XB%=1 THEN GOSUB 3560:PRINT MV$"*HHeat exchanger failure":GOSUB 3570
  84. 710 IF GB%=1 THEN GOSUB 3560:PRINT MV$"+HTurbine failure":GOSUB 3570
  85. 720 IF RD%>5 THEN PRINT E$;"x1";RE$;E$;"Y8 ";:
  86.     FOR I=1 TO 7:GOSUB 3580:PRINT "  MELTDOWN!  ";:NEXT:PRINT E$;"H";ER$;:
  87.     FOR I=1 TO 5000:NEXT:PRINT E$;"E";:PRINT E$;"y1";:
  88.     GOTO 1630
  89. 730 PRINT RE$;MV$"- Indicators:"ER$
  90. 740 PRINT MV$".!";:PRINT "Reactor Temp. <Max 800>        "RE$;USING"#### ";RT%;:
  91.     PRINT ER$;USING" ####";RT%-PRT%:PRT%=RT%' PRT% is previous value
  92. 750 PRINT MV$"/!";:PRINT "Heat Exchanger Temp. <Max 500> "RE$;USING"#### ";XT%;:
  93.     PRINT ER$;USING" ####";XT%-PXT%:PXT%=XT%' PXT% is previous value
  94. 760 PRINT MV$"0!";:PRINT "Cooling Tower Temp. <Max 300>  "RE$;USING"#### ";CT%;:
  95.     PRINT ER$;USING" ####";CT%-PCT%:PCT%=CT%' PCT% is previous value
  96. 770 PRINT MV$"2!";:PRINT USING"Power output <Max 2000KW>      ####KW";GO%;:
  97.     PRINT USING"####";GO%-PGO%:PGO%=GO%' PGO% is previous value
  98. 780 KW%=TT/DAY%
  99. 790 PRINT MV$"4!";:PRINT USING"Average power output           ####KW/DAY";KW%
  100. 800 PRINT MV$".M      Control Rods-         ";"("A%")"
  101. 810 PRINT MV$"0L            Coolants"
  102. 820 PRINT MV$"1M";:PRINT USING"Emergency  Level-###  Flow- ###";EV%,EF%
  103. 830 PRINT MV$"2M";:PRINT USING"Primary    Level-###  Flow- ###";PV%,PF%
  104. 840 PRINT MV$"3M";:PRINT USING"Secondary  Level-###  Flow- ###";SV%,SF%
  105. 850 IF 100-RL<5 THEN PRINT :PRINT :PRINT "Reactor Fuel Exhausted":GOTO 1780
  106. 860 '**********     Get new control values     **********
  107. 870 PRINT MV$".b";
  108. 880 A2%=A1%:A1%=A%
  109. 890 B$=""
  110. 900 INPUT B$
  111. 910 IF B$="" THEN 940
  112. 920 A%=VAL(B$)
  113. 930 IF A%>100 THEN A%=100
  114. 940 PRINT MV$"1h";
  115. 950 B$=""
  116. 960 INPUT B$
  117. 970 IF B$="" THEN 1010
  118. 980 EF%=VAL(B$)
  119. 990 IF EF%>100 THEN EF%=100
  120. 1000 IF EF%>EV% THEN EF%=EV%
  121. 1010 PRINT MV$"2h";
  122. 1020 B$=""
  123. 1030 INPUT B$
  124. 1040 IF B$="" THEN 1070
  125. 1050 PF%=VAL(B$)
  126. 1060 IF PF%>100 THEN PF%=100
  127. 1070 PRINT MV$"3h";
  128. 1080 B$=""
  129. 1090 INPUT B$
  130. 1100 IF B$="" THEN 1130
  131. 1110 SF%=VAL(B$)
  132. 1120 '''''GOTO 800
  133. 1130 IF PF%=0 AND SF%=0 AND RH<1 AND RT%<100 AND A%=0 THEN GOSUB 1420:
  134.     PRINT USING"Maintenance Shutdown - ## days";MD%:FOR I=1 TO 5000:NEXT
  135. 1140 IF EF%>EV% THEN EF%=EV%
  136. 1150 '**********     DAMAGE ASSESSMENT AND OPERATION CALCULATIONS
  137. 1160 EV%=EV%-EF%-2*ED%*-(ED%>3)
  138. 1170 PD%=PD%+(-(PF%>90)*-(RND(20)>.95))
  139. 1180 SD%=SD%+(-(SF%>90)*-(RND(20)>.92))
  140. 1190 PB%=-(PD%>5)
  141. 1200 SB%=-(SD%>5)
  142. 1210 IF PF%>(100-PD%*10) AND PB%=1 THEN PF%=(100-PD%*10)*-(100-PD%*10>0)
  143. 1220 IF SF%>(100-SD%*10) AND B%=1 THEN SF%=(100-SD%*10)*-(100-SD%*10>0)
  144. 1230 RL=RL+RH/50
  145. 1240 RH=(A%*30+A1%*60+A2%*10)/2500*(100-RL)
  146. 1250 PH=PF%*(100*-(PV%>100)+PV%*-(PV%<=100))/350
  147. 1260 EH=EF%/200*(RT%-25)
  148. 1270 RT%=RT%+RH-EH-PH-5*-(RT%>25)
  149. 1280 RT%=25+(RT%-25)*-(RT%>25)
  150. 1290 XT%=((RT%-25)*PF%+(CT%-25)*SF%)/(PF%+SF%+1)+25
  151. 1300 IF XB%=1 THEN XT%=RT%*.8+5
  152. 1310 SH=SF%*(100*-(PV%>100)+PV%*-(PV%<=100))/350*(XT%-CT%)
  153. 1320 IF XB%=1 THEN SH=SH*.2
  154. 1330 GO%=SH/XT%*(XT%-CT%)*2/3
  155. 1340 IF GO%>2600 THEN GO%=2600
  156. 1350 GO%=GO%*-(GO%>0)*-(GB%=0)
  157. 1360 CT%=25+((XT%-25)*(SH-GO%)/(SH+1)*.75)
  158. 1370 CT%=25*-(CT%<=25)+CT%*-(CT%>25)
  159. 1380 IF XB%<1 THEN XB%=-(XD%>2)*-(RND(4)>.9)
  160. 1390 IF GB%<1 THEN GB%=-(GD%>4)*-(RND(4)>.9)
  161. 1400 TT=TT+GO%
  162. 1410 GOTO 500
  163. 1420 '**********     MAINTENANCE REPAIR SUBROUTINE     **********
  164. 1430 EV%=300
  165. 1440 PV%=120
  166. 1450 SV%=120
  167. 1460 RT%=25:PRT%=25
  168. 1470 XT%=25:PXT%=25
  169. 1480 CT%=25:PCT%=25
  170. 1490 DMGE%=DMGE%+2*RD%+ED%+PD%+XD%+SD%+GD%
  171. 1500 MD%=5+3*(10*-(RD%>3)-(ED%>3)-(PD%>3)-(SD%>3)+
  172.     2*PB%+2*SB%+3*XB%+3*GB%):DAY%=DAY%+MD%
  173. 1510 RD%=0
  174. 1520 ED%=0
  175. 1530 PD%=0
  176. 1540 XD%=0
  177. 1550 SD%=0
  178. 1560 GD%=0
  179. 1570 PB%=0
  180. 1580 SB%=0
  181. 1590 XB%=0
  182. 1600 GB%=0
  183. 1610 EF%=0:PF%=0:SF%=0
  184. 1620 RETURN
  185. 1630 '**********   MELTDOWN ENDING     **********
  186. 1640 PRINT 
  187. 1650 IF RD%>6 THEN 1710
  188. 1660 PRINT "The reactor core has been destroyed by uncontrolled thermal runaway."
  189. 1670 PRINT "However, the containment building has not yet ruptured."
  190. 1680 PRINT 
  191. 1690 PRINT "Initiate your evacuation plan."
  192. 1700 GOTO 2040
  193. 1710 PRINT "The reactor core has melted down and produced a steam explosion."
  194. 1720 PRINT "The containment building has ruptured.  Lethal radioactive gases"
  195. 1730 PRINT "and debris have escaped."
  196. 1740 PRINT 
  197. 1750 PRINT "Initiate your evacuation and radiation cleanup plans and get"
  198. 1760 PRINT "medical assistance."
  199. 1770 GOTO 2040
  200. 1780 '**********   EVALUATION OF GAME RESULTS    **********
  201. 1790 PRINT 
  202. 1800 PRINT USING"Over a period of ### days, you have produced an average";DAY%
  203. 1810 PRINT USING"power output of #### kilowatts per day.";KW%
  204. 1820 PRINT KW%;"KILOWATTS PER DAY."
  205. 1830 AKW%=1+-1*(KW%>1000)+-1*(KW%>1200)+-1*(KW%>1500)+-1*(KW%>1800)
  206. 1840 PRINT 
  207. 1850 PRINT "Your average power production rate is ";
  208. 1860 ON AKW% GOTO 1870,1880,1890,1900,1920
  209. 1870 PRINT "HORRIBLE!  Find a less demanding job.":GOTO 1940
  210. 1880 PRINT "way below your area's power needs.":GOTO 1940
  211. 1890 PRINT "adequate.  You could do better.":GOTO 1940
  212. 1900 PRINT "excellent!  power costs in your area"
  213. 1910 PRINT "will not be increased.":GOTO 1940
  214. 1920 PRINT "near the maximum!  Power costs in your"
  215. 1930 PRINT "area will drop significantly."
  216. 1940 '**********   DAMAGE EVALUATION    **********
  217. 1950 PRINT 
  218. 1960 GOSUB 1420
  219. 1970 D%=1+-1*(DMGE%>10)+-1*(DMGE%>20)+-1*(DMGE%>30)
  220. 1980 PRINT "The equipment damage sustained during this period was ";
  221. 1990 ON D% GOTO 2000,2010,2020,2030
  222. 2000 PRINT "very light.":GOTO 2040
  223. 2010 PRINT "moderate.":GOTO 2040
  224. 2020 PRINT "heavy.":GOTO 2040
  225. 2030 PRINT "severe."
  226. 2040 '
  227. 2050 FOR PAUSE=1 TO 10000:NEXT
  228. 2060 '     SCORE.BAS     Score-keeping file routine
  229. 2070 PRINT CHR$(27)+"E"
  230. 2080 A=0:FORMAT$="#####":GAME$="POWER.DAT"
  231. 2090 DIM SCORE(11),NME$(11)
  232. 2100 NEWSCORE=KW%
  233. 2110 OPEN "I",1,GAME$
  234. 2120 IF EOF(1) THEN 2170 ELSE A=A+1
  235. 2130 INPUT #1,OLDSCORE,OLDNAME$
  236. 2140 IF FLAG=0 AND NEWSCORE=>OLDSCORE THEN SCORE(A)=NEWSCORE:
  237.     NME$(A)=NEWNAME$:FLAG=A:A=A+1
  238. 2150 SCORE(A)=OLDSCORE:NME$(A)=OLDNAME$
  239. 2160 GOTO 2120
  240. 2170 IF FLAG>0 THEN INPUT "Enter your Name ";ANS$
  241. 2180 PRINT:PRINT "TOP SCORES :":PRINT
  242. 2190 FOR B=1 TO A
  243. 2200 IF B=FLAG THEN NME$(B)=ANS$
  244. 2210 IF FLAG2=0 THEN PRINT "KW/DAY":FLAG2=1
  245. 2220 PRINT USING FORMAT$;SCORE(B);:PRINT " - "NME$(B)
  246. 2230 IF B=FLAG THEN B=B+1
  247. 2240 NEXT B
  248. 2250 CLOSE:OPEN "O",1,GAME$
  249. 2260 FOR C=1 TO 10:WRITE #1,SCORE(C),NME$(C):NEXT C:CLOSE
  250. 2270 PRINT:PRINT:
  251. 2280 INPUT "Would you like to try again  <Y or N> ";A$:A$=LEFT$(A$,1)
  252. 2290 IF A$="Y" OR A$="y" THEN GOSUB 1420:GOTO 410
  253. 2300 IF A$="N" OR A$="n" THEN 2310 ELSE 2280
  254. 2310 PRINT E$;"E";
  255. 2320 GOTO 3590'    **********  TO END THE PROGRAM  **********
  256. 2330 '
  257. 2340 '
  258. 2350 '
  259. 2360 '**********     display graphics - POWER PLANT     **********
  260. 2370 PRINT E$;"w";E$;"H";E$;"J";E$;"G";
  261. 2380 PRINT E$;"q ";E$;"F   ";E$;"C       ";E$;
  262. 2390 PRINT "G ";E$;"F";E$;"Y 4            ";E$;"Y!!   ";
  263. 2400 PRINT "      ` `";E$;"Y!4             ";E$;"Y!H       ";
  264. 2410 PRINT "        ";E$;"Y";CHR$(34);"# ";E$;"Y";
  265. 2420 PRINT CHR$(34);"&    `";E$;"C`";E$;"p";E$;"Cii";
  266. 2430 PRINT E$;"q";E$;"Y";CHR$(34);"B                      ";
  267. 2440 PRINT E$;"p";E$;"Y#!i";E$;"Ci";E$;"q ";
  268. 2450 PRINT E$;"Y#*`";E$;"C`";E$;"piii";E$;"Y#8i";
  269. 2460 PRINT E$;"Ci";E$;"q";E$;"Y";"#B ";E$;"C      ";
  270. 2470 PRINT " aaaasaaaa    ";E$;"C";CHR$(95);E$;"p ";
  271. 2480 PRINT CHR$(95);E$;"Y#jr ";E$;"qr";E$;"p";
  272. 2490 PRINT E$;"Y$!iii";E$;"q";E$;"Y$*`";E$;"C`";
  273. 2500 PRINT E$;"pii";E$;"Y$8iii";E$;"q";E$;"Y$B ";
  274. 2510 PRINT E$;"C           `      ";E$;"C ";E$;"Y$Z";
  275. 2520 PRINT CHR$(95);E$;"p ";CHR$(95);E$;"Y$ir ";E$;"q";
  276. 2530 PRINT "r";E$;"Y%  ";E$;"piii";E$;"Cr";E$;
  277. 2540 PRINT "G   ";E$;"q";E$;"F";E$;"C`";E$;"C`";
  278. 2550 PRINT E$;"pi";E$;"G  ";E$;"F ";CHR$(95);
  279. 2560 PRINT E$;"Y%8iii";E$;"q";E$;"Y%A  ";E$;"C ";
  280. 2570 PRINT "   faaaaaabaaaaac";E$;"G ";E$;"F ";E$;"G ";
  281. 2580 PRINT "  ";E$;"F";CHR$(95);E$;"p ";CHR$(95);E$;
  282. 2590 PRINT "Y%hr ";E$;"qr";E$;"p";E$;"Y&";CHR$(34);"i";
  283. 2600 PRINT E$;"Cr";E$;"G     ";E$;"q";E$;"F`";
  284. 2610 PRINT E$;"p";E$;"G ";E$;"q";E$;"F`";
  285. 2620 PRINT E$;"p";E$;"G     ";E$;"F";CHR$(95);
  286. 2630 PRINT E$;"Y&9i";E$;"q";E$;"Y&B   ";E$;"pii";
  287. 2640 PRINT "i";E$;"q`";E$;"piiiiii";E$;"q`";
  288. 2650 PRINT E$;"piiiii";E$;"q`";E$;"piiii";E$;"q";
  289. 2660 PRINT E$;"G  ";E$;"p";E$;"F  ";E$;"Y&h ";
  290. 2670 PRINT E$;"qr";E$;"G";E$;"Y'  ";E$;"p";
  291. 2680 PRINT E$;"F";E$;"Ci";E$;"G";E$;"C      ";
  292. 2690 PRINT E$;"q";E$;"F`";E$;"p";E$;"G ";
  293. 2700 PRINT E$;"q";E$;"F`";E$;"p";E$;"G      ";
  294. 2710 PRINT E$;"F";E$;"Y";"'9i";E$;"q";E$;"Y'Ei";
  295. 2720 PRINT E$;"Y'H`      vaaa  `";E$;"G   ";E$;"p";
  296. 2730 PRINT E$;"Fiiii ";E$;"Y'h ";E$;"Y(";CHR$(34);"i";
  297. 2740 PRINT E$;"G";E$;"C  ";E$;"q";E$;"Fr";
  298. 2750 PRINT E$;"Y(*`";E$;"C`";E$;"Y(0";CHR$(95);
  299. 2760 PRINT E$;"p";E$;"G  ";E$;"F";E$;"Y(9i";
  300. 2770 PRINT E$;"q";E$;"Y(Ei";E$;"G  ";E$;"F`";
  301. 2780 PRINT E$;"G   ";E$;"Faaat";E$;"G     ";
  302. 2790 PRINT E$;"F`";E$;"G      ";E$;"p";E$;"Fi ";
  303. 2800 PRINT E$;"q";E$;"G ";E$;"p";E$;"F";
  304. 2810 PRINT E$;"Y(h ";E$;"Y)";CHR$(34);"i";E$;"G";
  305. 2820 PRINT E$;"C  ";E$;"q";E$;"F";E$;"Y)*`";
  306. 2830 PRINT E$;"C`";E$;"p";E$;"G";E$;"Y)1  ";
  307. 2840 PRINT E$;"F";E$;"Y)9i";E$;"q";E$;"Cfaaaaac";
  308. 2850 PRINT E$;"G";E$;"Y)D ";E$;"Fi";E$;"G  ";
  309. 2860 PRINT E$;"F`";E$;"G      ";E$;"Fvaaa";E$;
  310. 2870 PRINT "G  ";E$;"F`";E$;"G      ";E$;"p";
  311. 2880 PRINT E$;"Fi ";E$;"Y)h ";E$;"q";E$;"Y*  ";
  312. 2890 PRINT E$;"p";E$;"Ci";E$;"G";E$;"C  ";
  313. 2900 PRINT E$;"Y*(  ";E$;"q";E$;"F`";E$;"p";
  314. 2910 PRINT E$;"G ";E$;"q";E$;"F`";E$;"p";
  315. 2920 PRINT E$;"G  ";E$;"Y*1  ";E$;"F";E$;"Y*9i";
  316. 2930 PRINT E$;"q";E$;"C`";E$;"C ";E$;"Y*A`";
  317. 2940 PRINT E$;"Y*Ei";E$;"Y*H`";E$;"G";E$;"C  ";
  318. 2950 PRINT E$;"Faaat";E$;"G     ";E$;"F`";E$;"G";
  319. 2960 PRINT "      ";E$;"p";E$;"Fi ";E$;"Y*h ";
  320. 2970 PRINT E$;"Y+";CHR$(34);"iiiiiii";E$;"G ";E$;"q";
  321. 2980 PRINT E$;"F`";E$;"p";E$;"G ";E$;"q";
  322. 2990 PRINT E$;"F`";E$;"p";E$;"G ";E$;"F";"iiiiiiii";
  323. 3000 PRINT "iiiii";E$;"q`";E$;"pii";E$;"q";E$;
  324. 3010 PRINT "Cii`iiii";E$;"Y+H`";E$;"G";E$;"Y+L   ";
  325. 3020 PRINT E$;"Fvaaa";E$;"G  ";E$;"F`";E$;"G   ";
  326. 3030 PRINT "   ";E$;"p";E$;"Fi ";E$;"Y+h ";E$;
  327. 3040 PRINT "G";E$;"Y,$  ";E$;"F";E$;"Y,(i";E$;"G";
  328. 3050 PRINT " ";E$;"q";E$;"F`";E$;"p";E$;"G ";
  329. 3060 PRINT E$;"q";E$;"F`";E$;"p";E$;"G ";
  330. 3070 PRINT E$;"Fi";E$;"G";E$;"Y,1  ";E$;"q";
  331. 3080 PRINT E$;"F";E$;"Y,;`";E$;"p";E$;"Ci";
  332. 3090 PRINT E$;"q";E$;"Ci";E$;"C`";E$;"Y,E ";
  333. 3100 PRINT E$;"Y,H`";E$;"Y,Laaat";E$;"Y,U`";
  334. 3110 PRINT E$;"p";E$;"Y,\i ";E$;"Y,h ";E$;"G";
  335. 3120 PRINT E$;"Y-$  ";E$;"F";E$;"Y-(i";E$;"G ";
  336. 3130 PRINT E$;"q";E$;"F`";E$;"p";E$;"G ";
  337. 3140 PRINT E$;"q";E$;"F`";E$;"p";E$;"G ";
  338. 3150 PRINT E$;"Fi";E$;"G";E$;"Y-1  ";E$;"q";
  339. 3160 PRINT E$;"F";E$;"Y-;`";E$;"p";E$;"Ci";
  340. 3170 PRINT E$;"q";E$;"Ci";E$;"C`";E$;"Y-E ";
  341. 3180 PRINT E$;"Y-H`      vaaa  `";E$;"p";E$;"Y-\i ";
  342. 3190 PRINT E$;"Y-h ";E$;"G";E$;"Y.$  ";E$;"F";
  343. 3200 PRINT E$;"Y.(i";E$;"G ";E$;"q";E$;"F`";
  344. 3210 PRINT E$;"p";E$;"G ";E$;"q";E$;"F`";
  345. 3220 PRINT E$;"p";E$;"G ";E$;"Fi";E$;"G";
  346. 3230 PRINT E$;"Y.1  ";E$;"q";E$;"F";E$;"Y.;`";
  347. 3240 PRINT E$;"p";E$;"Ci";E$;"q";E$;"Ci";
  348. 3250 PRINT E$;"C`";E$;"Y.E ";E$;"Y.H`";E$;"Y.La";
  349. 3260 PRINT "aad";E$;"Y.U`";E$;"p";E$;"Y.\i ";
  350. 3270 PRINT E$;"Y.h ";E$;"Y/";CHR$(34);"iiiiiii";E$;"G";
  351. 3280 PRINT " ";E$;"q";E$;"F`";E$;"p";E$;"G ";
  352. 3290 PRINT E$;"q";E$;"F`";E$;"p";E$;"G ";
  353. 3300 PRINT E$;"F";"iiiiiiiiiiiii";E$;"q`";E$;"pii";
  354. 3310 PRINT E$;"q";E$;"Cii`";E$;"piiii";E$;"q";"e";
  355. 3320 PRINT "aaaaaaaaaaaad";E$;"p";E$;"Y/\i ";E$;"Y/h ";
  356. 3330 PRINT E$;"Y";"0";CHR$(34);"i";E$;"G";E$;"C  ";
  357. 3340 PRINT E$;"Y0(  ";E$;"q";E$;"F`";E$;"p";
  358. 3350 PRINT E$;"G ";E$;"q";E$;"F`";E$;"p";
  359. 3360 PRINT E$;"G  ";E$;"Y";"01  ";E$;"q";E$;"F";
  360. 3370 PRINT E$;"Y0";"`";E$;"Y0A`";E$;"p";E$;"Y0Ei";
  361. 3380 PRINT E$;"Y0\i ";E$;"Y0h ";E$;"Y1";CHR$(34);"i";
  362. 3390 PRINT E$;"G";E$;"C  ";E$;"Y11  ";E$;"q";
  363. 3400 PRINT E$;"F";E$;"Y1;eaaaaad";E$;"p";E$;"Y1";
  364. 3410 PRINT "Eiiiiiiiiiiiiiiiiiiiiiiii ";E$;"Y1h ";E$;"Y2";
  365. 3420 PRINT CHR$(34);"i";E$;"q";E$;"C";CHR$(95);E$;"p";
  366. 3430 PRINT E$;"G ";E$;"F";CHR$(95);E$;"Y20r";
  367. 3440 PRINT E$;"G ";E$;"q";E$;"Fr";E$;"Y2E ";
  368. 3450 PRINT E$;"p";E$;"Y2[   ";E$;"Y2h   ";E$;"Y";
  369. 3460 PRINT "3";CHR$(34);"i";E$;"q";E$;"Y3%";CHR$(95);
  370. 3470 PRINT E$;"p";E$;"G           ";E$;"q";E$;
  371. 3480 PRINT "Fr";E$;"Y3E ";E$;"Y4&";CHR$(95);E$;"p";
  372. 3490 PRINT E$;"G         ";E$;"q";E$;"Fr";E$;"Y";
  373. 3500 PRINT "4E ";E$;"p";E$;"Y5";CHR$(34);"i";E$;"q";
  374. 3510 PRINT E$;"Y5'";CHR$(95);E$;"p";E$;"G       ";
  375. 3520 PRINT E$;"q";E$;"Fr";E$;"Y5E ";E$;"Y6E ";
  376. 3530 PRINT E$;"p";E$;"Y7";CHR$(34);"i";E$;"q";
  377. 3540 PRINT E$;"G"
  378. 3550 RETURN
  379. 3560 FOR BEL=1 TO 100:PRINT BEL$;:NEXT:RETURN
  380. 3570 FOR PAUSE=1 TO 1000:NEXT:RETURN
  381. 3580 FOR BEL=1 TO 10:PRINT BEL$;:FOR PAUSE=1 TO 100:NEXT:NEXT:RETURN
  382. 3590 POKE 13,34'    SET CPU SPEED TO 2MHZ
  383. 3600 RUN "MENU"'    from line #10330
  384. PRINT BEL$;:FOR PAUSE=1 TO 100:NEXT:NEXT:RETURN
  385. 3590 POKE 13,34