This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
Atari Nuclear Power Plant
|
Publisher/Developer:
BELLCOM - Public Domain Library, Houston Atari Computer Enthusiasts |
|
-
Entry name:Atari Nuclear Power Plant
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library, Houston Atari Computer Enthusiasts
-
Year:1981
Listing 1
0REMCOPYRIGHT1981-HOUSTONATARICOMPUTERENTHUSIASTS 1DIMA$(1),B$(4),C$(1) 2OPEN#1,4,0,"K" 5GRAPHICS0:POKE82,1:POKE83,38 6POKE752,1 10?CHR$(125):POSITION7,5:?"" 20POSITION1,9:?"BASEDONVERSIONBYSTEPHENR.BERGGREN"; 25?"CREATIVECOMPUTING12/80":? 30?"TRANSLATEDFORATARIBYWilliamFrank":REMFORDELAY=1TO5500:NEXTDELAY 35SOUND0,28,12,2:FORTIMES=1TO125:POSITION18,7:?"":FORSEMIT=1TO20:NEXTSEMIT:POSITION18,7:?"" 36FORSEMIT=1TO20:NEXTSEMIT:POSITION18,7:?"":FORSEMIT=1TO20:NEXTSEMIT:NEXTTIMES:SOUND0,0,0,0 40?CHR$(125):?"THEPROGRAMSIMULATESTHEOPERATIONOF"; 50?"ANUCLEARPOWERREACTOR.THEOBJECT" 60?"ISTOOPERATETHEPLANTATAMAXIMUM" 70?"AVERAGEPOWEROUTPUTWITHOUTCAUSING" 80?"AREACTORMELTDOWN." 90?:?"THECONTROLRODSADJUSTTHEAMOUNTOF" 100?"HEATPRODUCEDBYTHEREACTOR.PRIMARY"; 110?"COOLANTMOVESTHISHEATTOTHEHEAT" 120?"EXCHANGER.SECONDARYCOOLANTTRANSFERS"; 130?"HEATFROMTHEHEATEXCHANGERTOTHE" 140?"TURBINE,WHEREPOWERISPRODUCED,AND" 150?"FINALLYTOTHECOOLINGTOWER.THE" 160?"EMERGENCYCOOLANTISUSEDTOHELPSHUT"; 170?"DOWNTHEREACTORWHENOTHERSYSTEMS" 180?"FAIL.UNLIKETHEOTHERCOOLANTS," 190?"EMERGENCYCOOLANTISNOTRECYCLED.":? 195?"ENTER'D'TOSEEREACTORDIAGRAM." 200?"'I'FORWORKINGINSTRUCTIONS." 205?"'S'TOSTARTOPERATION."; 210GET#1,Z:A$=CHR$(Z) 215IFA$="D"THENGOSUB6000:GRAPHICS0:POKE752,1:POSITION2,10:GOTO195 216IFA$="I"THEN220 217IFA$="S"THEN390 218GOTO210 220GRAPHICS0:?:?"THECONTROLSAREOPERATEDBYTYPINGIN"; 225?"THEDESIREDCONTROLRODSETTINGAND" 230?"FLOWRATES.(USEVALUESFROM0-100)":? 235?"IFNOENTRYISMADE,THEVALUESWILL" 240?"NOTCHANGE.USETHESPACEBARTOSTEP" 245?"TODIFFERENTFUNCTIONS.USETHERETURN"; 250?"KEYTOSKIPTOTHENEXTDAY.":? 255?"THEREACTORCANBEOPERATEDUNTILA" 260?"MELTDOWNOCCURSORTHEREACTORFUELIS"; 265?"EXHAUSTED.THEFUELWILLLASTFOR" 270?"ABOUT100TO150DAYS.WHENTHEFUEL" 275?"ISEXHAUSTED,YOURPERFORMANCEWILL" 280?"BEEVALUATED." 285?:?"PRESSANYKEYTOCONTINUE":GET#1,Z:IFZTHEN290 290GRAPHICS0:POKE752,1:?"IFYOUWANTTOREPAIRDAMAGEOR" 295?"REPLACECOOLANT,BRINGTHEREACTOR" 300?"TEMPERATUREDOWNBELOW100ANDSHUT" 305?"OFFTHECOOLANTFLOWS.THISWILL" 310?"CAUSEANAUTOMATICMAINTENANCE" 315?"SHUTDOWNANDALLCOOLANTWILLBE" 320?"REPLENISHEDANDREPAIRSMADE." 325?"THEGREATERTHEDAMAGE,THELONGER" 330?"REPAIRSWILLTAKE!":?:? 335?":THISPOWERPLANTHAS" 340?"NOAUTOMATICSAFETYDEVICES!!":?:?:? 345GOTO195 390REMSTARTGAME 400GOSUB2000 410RH=0:RL=0:DAY=0:TT=0:DMGE=0:A=0:A1=0:A2=0 460REMWRITEREPORT 470GRAPHICS0 475DAY=DAY+1 480?"ATARINUCLEARPOWERPLANT" 490?"STATUSREPORT-DAY";DAY 510?"" 520IFRT>800THEN?"REACTOROVERHEATED":RD=RD+1+(RT>850)+(RT>900)+2*(RT>950):PD=PD+1:ED=ED+1+(RT>850) 530IFXT>500THEN?"HEATEXCHANGEROVERHEATED":XD=XD+1+(XT>600):PD=PD+1:SD=SD+1 540IFGO>2000THEN?"TURBINEOVERLOADED":TD=TD+1+(GO>2500):SD=SD+1 550IFCT>300THEN?"COOLINGTOWEROVERHEATED":SD=SD+1 560IFGO<1000THEN?"POWEROUTPUTLOW" 570IFEV<200THEN?"EMERGENCYCOOLANTLOW" 580IFPV<100THEN?"PRIMARYCOOLANTLOW":PD=PD+1 590IFSV<100THEN?"SECONDARYCOOLANTLOW":SD=SD+1 610PRINT"" 620IFRD>3THEN?"REACTORCOREDAMAGED" 630IFPD>4THEN?"PRIMARYCOOLANTLEAK-";PD;"/DAY":PV=(PV-PD)*((PV-PD)>0) 640IFSD>4THEN?"SECONDARYCOOLANTLEAK-";SD;"/DAY":SV=(SV-SD)*((SV-SD)>0) 650IFED>2THEN?"EMERGENCYCOOLANTLEAK-";2*ED;"/DAY":EV=(EV-2*ED)*((EV-2*ED)>0) 660IFPBTHEN?"PRIMARYCOOLANTPUMPFAILURE-";10*PD*(PD<10)+100*(PD>=10);"%" 670IFSBTHEN?"SECONDARYCOOLANTPUMPFAILURE-";10*SD*(SD<10)+100*(SD>=10);"%" 680IFXBTHEN?"HEATEXCHANGERFAILURE" 690IFGBTHEN?"TURBINEFAILURE" 700PRINT 710IFRD>5THEN?"":GOTO3000 720PRINT"" 730?"REACTORTEMP.---(MAX800)";INT(RT) 740?"HEATEXCHANGERTEMP.(MAX500)";INT(XT) 750?"COOLINGTOWERTEMP.(MAX300)";INT(CT) 760?"POWEROUTPUT--(MAX2000KW)";INT(GO) 765KW=INT(TT/DAY) 770?"AVERAGEPOWEROUTPUT(KW/DAY)";KW 800?"CONTROLRODS................";:POSITION33,PEEK(84):?A 810?"" 820?"EMERGENCYLEVEL-";EV;",FLOW-";:POSITION33,PEEK(84):?EF 830?"PRIMARYLEVEL--";PV;",FLOW-";:POSITION33,PEEK(84):?PF 840?"SECONDARYLEVEL-";SV;",FLOW-";:POSITION33,PEEK(84):?SF 850IF(100-RL)<5THEN?:?:?"REACTORFUELEXHAUSTED":GOTO4000 900REMGETNEWCONTROLVALVES 905P=PEEK(84) 910?""; 920POSITION33,P-5 950A2=A1:A1=A 952B$="":A$="" 955FORI=1TO3 960GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z) 962IFZ=32THEN987 963IFZ=155THEN1170 965IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN960 970B$(I,I)=A$:B$(1,1)=C$ 975IFZ=32THEN987 980A=VAL(B$):A=A+(100-A)*(A>100) 985PRINTA$;:NEXTI 987?""; 990POSITION33,P-3 1005B$="":FORI=1TO3 1010GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z) 1012IFZ=32THEN1050 1013IFZ=155THEN1170 1015IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1010 1020B$(I,I)=A$:B$(1,1)=C$ 1030EF=VAL(B$):EF=EF+(100-EF)*(EF>100) 1035IFEF>EVTHENEF=EV 1040PRINTA$;:NEXTI 1050?""; 1060POSITION33,P-2 1065B$="":FORI=1TO3 1068GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z) 1072IFZ=32THEN1110 1073IFZ=155THEN1170 1075IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1068 1080B$(I,I)=A$:B$(1,1)=C$ 1085IFZ=32THEN1100 1090PF=VAL(B$):PF=PF+(100-PF)*(PF>100) 1100PRINTA$;:NEXTI 1110?""; 1120POSITION33,P-1 1125B$="":FORI=1TO4 1130GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z) 1133IFZ=32THEN1162 1134IFZ=155THEN1170 1135IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1130 1140B$(I,I)=A$:B$(1,1)=C$ 1145IFZ=32THEN1162 1150SF=VAL(B$):SF=SF+(100-SF)*(SF>100) 1160PRINTA$;:NEXTI 1162?"" 1170IFPF=0ANDSF=0ANDRH<1ANDRT<100ANDA=0THENGOSUB2000:GOTO1173 1172GOTO1180 1173POSITION2,23 1175POKE752,1:?"-";MD;"DAYS";"";:FORI=1TO750:NEXTI:POKE752,0 1180IFEF>EVTHENEF=EV 1200REMDAMAGEASSESSMENT&OPERATIONS 1205EV=EV-EF-2*ED*(ED>3) 1210PD=PD+(PF>90)*(RND(1)>0.9500000000000001) 1220SD=SD+(SF>90)*(RND(1)>0.92) 1230PB=PD>5 1240SB=SD>5 1250IFPF>(100-PD*10)ANDPBTHENPF=(100-PD*10)*(100-PD*10>0) 1260IFSF>(100-SD*10)ANDSBTHENSF=(100-SD*10)*(100-SD*10>0) 1270RL=RL+RH/50 1280RH=(A*30+A1*60+A2*10)/2500*(100-RL) 1300PH=PF*(100*(PV>100)+PV*(PV<=100))/350 1310EH=EF/200*(RT-25) 1320RT=RT+RH-EH-PH-5*(RT>25) 1325RT=25+(RT-25)*(RT>25) 1330XT=((RT-25)*PF+(CT-25)*SF)/(PF+SF+1)+25 1340IFXBTHENXT=RT*0.8+5 1350SH=SF*(100*(PV>100)+PV*(PV<=100))/350*(XT-CT) 1360IFXBTHENSH=SH*0.2 1370GO=SH/XT*(XT-CT)*2/3 1375IFGO>2600THENGO=2600 1380GO=GO*(GO>0)*(GB=0) 1390CT=25+((XT-25)*(SH-GO)/(SH+1)*0.75) 1395CT=25*(CT<=25)+CT*(CT>25) 1400IFXB<1THENXB=(XD>2)*(RND(1)>0.9) 1410IFGB<1THENGB=(GD>4)*(RND(1)>0.9) 1420TT=TT+GO 1430GOTO470 2000REMMAINTENANCEREPAIRSUBROUTINE 2010EV=300:PV=120:SV=120:RT=25:XT=25:CT=25 2070DMGE=DMGE+2*RD+ED+PD+XD+SD+GD 2080MD=5+3*(10*(RD>3)+(ED>3)+(PD>3)+(SD>3)+2*PB+2*SB+3*XB+3*GB):DAY=DAY+MD 2090RD=0:ED=0:PD=0:XD=0:SD=0:GD=0:PB=0:SB=0:XB=0:GB=0:EF=0:PF=0:SF=0:GO=0 2200RETURN 3000REMMELTDOWNENDING 3010? 3020IFRD>6THEN3100 3030?"THEREACTORCOREHASBEENDESTROYEDBY"; 3040?"UNCONTROLLEDTHERMALRUNAWAY.HOWEVER"; 3050?"THECONTAINMENTBUILDINGHASNOTYET" 3060?"RUPTURED." 3070? 3080?"INITIATEYOURPLAN." 3090GOTO5000 3100?"THEREACTORCOREHASMELTEDDOWNAND" 3110?"PRODUCEDASTEAMEXPLOSION.THE" 3120?"CONTAINMENTBUILDINGHASRUPTURED." 3130?"LETHALRADIOACTIVEGASESANDDEBRIS" 3140?"HAVEESCAPED." 3150? 3160?"INITIATEYOUREVACUATIONANDRADIATION"; 3170?"CLEANUPPLANSANDGETMEDICAL" 3180?"ASSISTANCE." 3190GOTO5000 4000REMGAMEEVALUATION 4010? 4020?"OVERAPERIODOF";DAY;"DAYS,YOUHAVE" 4030?"PRODUCEDANAVERAGEPOWEROUTPUTOF" 4040?KW;"KILOWATTSPERDAY." 4050AKW=1+(KW>700)+(KW>1000)+(KW>1250)+(KW>1500) 4060? 4070?"YOURAVERAGEPOWERPRODUCTIONRATEIS" 4080ONAKWGOTO4090,4100,4110,4120,4140 4090?"HORRIBLE!FINDALESSDEMANDINGJOB!":GOTO4200 4100?"WAYBELOWYOURAREA'SPOWERNEEDS.":GOTO4200 4110?"BARELYADEQUATE.SHOULDBEBETTER.":GOTO4200 4120?"VERYGOOD.POWERCOSTSINYOUR" 4130?"AREAWILLNOTBEINCREASED!":GOTO4200 4140?"EXCELLENT!POWERCOSTSINYOURAREA" 4150?"WILLDROPSIGNIFICANTLY!!!":GOTO4200 4200REMDAMAGEEVALUATION 4210? 4220D=1+(DMGE>10)+(DMGE>20)+(DMGE>30) 4230?"THEEQUIPMENTDAMAGESUSTAINEDDURING" 4240?"THISPERIODWAS"; 4250ONDGOTO4260,4270,4280,4290 4260?"VERYLIGHT.":GOTO5000 4270?"MODERATE.":GOTO5000 4280?"HEAVY.":GOTO5000 4290?"VERYSEVERE!" 5000?:?"DOYOUWANTTOTRYAGAIN(YORN)";:GET#1,Z:A$=CHR$(Z):IFA$="Y"THENCLR:POKE764,255:RUN 5010TRAP40000:CLR:GRAPHICS0:POKE764,255:END 6000GRAPHICS5 6005DE=200 6010POKE752,1 6020PRINT"THISISTHEREACTORVESSEL" 6030COLOR2 6035RESTORE 6040FORI=1TO29 6050READX1,X2,Y 6060PLOTX1,Y:DRAWTOX2,Y 6070NEXTI 6080DATA7,9,6,15,17,6,6,18,7,5,19,8,5,7,9,17,19,9,5,6,10,18,19,10,5,6 6085DATA11,18,19,11,5,6,12,18,19,12,5,6,13,18,19,13,5,6,14 6090DATA18,19,14,5,6,15,18,19,15,5,6,16,18,19,16,5,6,17,18,19,17,5,6 6095DATA18,18,19,18,5,7,19,17,19,19,6,18,20,7,17,21,8,16,22 6110PLOT13,6:PLOT14,6 6130PLOT14,5:PLOT15,5 6140PLOT14,4:PLOT16,4 6150PLOT15,3:PLOT16,3 6160FORI=1TODE:NEXTI 6170?:?:?:? 6180PRINT"THISISTHEREACTORCORE" 6190COLOR1 6200FORI=9TO15 6210PLOTI,11:DRAWTOI,17 6220NEXTI 6230FORI=1TODE:NEXTI 6240?:?:?:? 6250PRINT"THESEARETHECONTROLRODS" 6260COLOR3 6270PLOT11,2:DRAWTO11,17 6280PLOT13,2:DRAWTO13,17 6290FORI=1TODE:NEXTI 6300?:?:?:? 6310PRINT"THEEMERGENCYCOOLANTCANCOOLTHE":?"REACTORINANEMERGENCY" 6340FORI=1TO36 6350READY,X 6360PLOTX,Y 6370FORJ=1TO10:NEXTJ 6380NEXTI 6390DATA4,2,4,4,5,2,5,3,5,4,6,2,6,3,6,4,7,3,8,3,9,3,10,3,11,3,12,3 6395DATA12,4,12,5,12,6,12,7,12,8,12,9 6400DATA13,9,14,9,15,9,16,9,16,8,16,7,16,6,16,5,16,4,16,3,17,3,18,3,19,3,20,3,22,3,24,3 6410FORI=1TODE:NEXTI 6420?:?:?:? 6430?"THEPRIMARYCOOLANTCARRIESHEATFROM":?"THEREACTORCORETOTHEHEATEXCHANGER" 6450FORI=1TO51 6460READY,X 6465COLOR3 6470PLOTX,Y 6480FORJ=1TO10:NEXTJ 6490NEXTI 6500FORI=1TODE:NEXTI 6510DATA4,25,4,27,5,25,5,26,5,27,6,25,6,26,6,27,7,26,8,26,9,26,10,26 6512DATA11,26,12,26,12,25,12,24,12,23,12,22,12,21,12,20,12,19 6515DATA12,18,12,17,12,16,12,15,13,15,14,15,15,15,16,15,16,16,16,17,16,18 6520DATA16,19,16,20,16,21,16,22,16,23,16,24,16,25,16,26,16,27,16,28,16,29 6525DATA16,30,15,30,14,30,13,30,12,30,12,29,12,28,12,27 6540?:?:?:? 6550PRINT"THISISTHEHEATEXCHANGER" 6560COLOR1 6570PLOT28,10:DRAWTO34,10 6580PLOT34,10:DRAWTO34,18 6590PLOT28,18:DRAWTO34,18 6600PLOT28,10:DRAWTO28,18 6610FORI=1TODE:NEXTI 6620?:?:?:? 6630PRINT"THISISTHETURBINEGENERATOR" 6635COLOR2 6640PLOT5,30:DRAWTO18,30 6650PLOT18,30:DRAWTO18,36 6660PLOT5,36:DRAWTO18,36 6670PLOT5,30:DRAWTO5,36 6680COLOR1 6690PLOT2,33:DRAWTO17,33 6700FORI=7TO15STEP2 6710PLOTI,34:PLOTI+1,32 6720NEXTI 6730FORI=1TODE:NEXTI 6740?:?:?:? 6750PRINT"THISISTHECOOLINGTOWER" 6760COLOR2 6770PLOT24,23:DRAWTO24,25 6780PLOT36,23:DRAWTO36,25 6790PLOT25,26:DRAWTO25,25 6800PLOT35,26:DRAWTO35,25 6810PLOT26,26:DRAWTO26,28 6820PLOT34,26:DRAWTO34,28 6830PLOT27,28:DRAWTO27,36 6840PLOT33,28:DRAWTO33,36 6850PLOT34,36:PLOT26,36:PLOT25,38:DRAWTO35,38 6880FORI=1TODE:NEXTI 6890?:?:?:? 6895PRINT"THESECONDARYCOOLANTCARRIESHEAT" 6900PRINT"FROMTHEHEATEXCHANGERTOTHE" 6910PRINT"TURBINEANDTHENTOTHECOOLINGTOWER" 6928COLOR3 6930FORI=1TO123 6940READY,X 6950PLOTX,Y 6960FORJ=1TO10:NEXTJ 6970NEXTI 6975DATA4,35,4,37,5,35,5,36,5,37,6,35,6,36,6,37,7,36,8,36,9,36,10,36 6980DATA11,36,12,36,12,35,12,34,12,33,12,32,13,32,14,32,15,32,16,32 6985DATA16,33,16,34,16,35,16,36,17,36,18,36,19,36,20,36,20,35,20,34 6990DATA20,33,20,32,20,31,20,30,20,29,20,28,20,27,20,26,20,25,20,24,20,23,20,22,20,21 6995DATA21,21,22,21,23,21,24,21,25,21,26,21,27,21,27,20,27,19,27,18 7000DATA27,17,27,16,27,15,27,14,27,13,27,12,27,11,27,10,27,9,27,8,27,7 7005DATA28,7,29,7,30,7,31,7,32,7,34,10,32,13,34,16,35,16,35,17,35,18 7010DATA35,19,35,20,35,21,35,22,35,23,35,24,35,25,35,26,35,27,35,28 7015DATA34,28,34,29,34,30,35,30,35,31,35,32,34,32,34,33,34,34,34,35 7020DATA34,36,34,37,34,38,33,38,32,38,31,38,30,38,29,38,28,38,27,38,26,38,25,38,24,38,23,38 7025DATA22,38,21,38,20,38,19,38,18,38,17,38,16,38,15,38,14,38,13,38,12,38,12,37 7050FORI=1TODE:NEXTI 7060RETURN
References
Listing downloads
Downloads
Copyright holder
