Random game
Random software
Random software
Entry name:
 Atari Nuclear Power Plant 
Publisher/Developer:

BELLCOM - Public Domain Library,
Houston Atari Computer Enthusiasts
  • Category:

    Games
  • Year:

    1981
  • Atari conversionCode:

    Stephen R. Berggren,William Frank
  • Maximum players:

    1
  • Programming language:

    Atari BASIC
Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant Atari Nuclear Power Plant
Listing 1
0REMCOPYRIGHT1981-HOUSTONATARICOMPUTERENTHUSIASTS
1DIMA$(1),B$(4),C$(1)
2OPEN#1,4,0,"K"
5GRAPHICS0:POKE82,1:POKE83,38
6POKE752,1
10?CHR$(125):POSITION7,5:?""
20POSITION1,9:?"BASEDONVERSIONBYSTEPHENR.BERGGREN";
25?"CREATIVECOMPUTING12/80":?
30?"TRANSLATEDFORATARIBYWilliamFrank":REMFORDELAY=1TO5500:NEXTDELAY
35SOUND0,28,12,2:FORTIMES=1TO125:POSITION18,7:?"":FORSEMIT=1TO20:NEXTSEMIT:POSITION18,7:?""
36FORSEMIT=1TO20:NEXTSEMIT:POSITION18,7:?"":FORSEMIT=1TO20:NEXTSEMIT:NEXTTIMES:SOUND0,0,0,0
40?CHR$(125):?"THEPROGRAMSIMULATESTHEOPERATIONOF";
50?"ANUCLEARPOWERREACTOR.THEOBJECT"
60?"ISTOOPERATETHEPLANTATAMAXIMUM"
70?"AVERAGEPOWEROUTPUTWITHOUTCAUSING"
80?"AREACTORMELTDOWN."
90?:?"THECONTROLRODSADJUSTTHEAMOUNTOF"
100?"HEATPRODUCEDBYTHEREACTOR.PRIMARY";
110?"COOLANTMOVESTHISHEATTOTHEHEAT"
120?"EXCHANGER.SECONDARYCOOLANTTRANSFERS";
130?"HEATFROMTHEHEATEXCHANGERTOTHE"
140?"TURBINE,WHEREPOWERISPRODUCED,AND"
150?"FINALLYTOTHECOOLINGTOWER.THE"
160?"EMERGENCYCOOLANTISUSEDTOHELPSHUT";
170?"DOWNTHEREACTORWHENOTHERSYSTEMS"
180?"FAIL.UNLIKETHEOTHERCOOLANTS,"
190?"EMERGENCYCOOLANTISNOTRECYCLED.":?
195?"ENTER'D'TOSEEREACTORDIAGRAM."
200?"'I'FORWORKINGINSTRUCTIONS."
205?"'S'TOSTARTOPERATION.";
210GET#1,Z:A$=CHR$(Z)
215IFA$="D"THENGOSUB6000:GRAPHICS0:POKE752,1:POSITION2,10:GOTO195
216IFA$="I"THEN220
217IFA$="S"THEN390
218GOTO210
220GRAPHICS0:?:?"THECONTROLSAREOPERATEDBYTYPINGIN";
225?"THEDESIREDCONTROLRODSETTINGAND"
230?"FLOWRATES.(USEVALUESFROM0-100)":?
235?"IFNOENTRYISMADE,THEVALUESWILL"
240?"NOTCHANGE.USETHESPACEBARTOSTEP"
245?"TODIFFERENTFUNCTIONS.USETHERETURN";
250?"KEYTOSKIPTOTHENEXTDAY.":?
255?"THEREACTORCANBEOPERATEDUNTILA"
260?"MELTDOWNOCCURSORTHEREACTORFUELIS";
265?"EXHAUSTED.THEFUELWILLLASTFOR"
270?"ABOUT100TO150DAYS.WHENTHEFUEL"
275?"ISEXHAUSTED,YOURPERFORMANCEWILL"
280?"BEEVALUATED."
285?:?"PRESSANYKEYTOCONTINUE":GET#1,Z:IFZTHEN290
290GRAPHICS0:POKE752,1:?"IFYOUWANTTOREPAIRDAMAGEOR"
295?"REPLACECOOLANT,BRINGTHEREACTOR"
300?"TEMPERATUREDOWNBELOW100ANDSHUT"
305?"OFFTHECOOLANTFLOWS.THISWILL"
310?"CAUSEANAUTOMATICMAINTENANCE"
315?"SHUTDOWNANDALLCOOLANTWILLBE"
320?"REPLENISHEDANDREPAIRSMADE."
325?"THEGREATERTHEDAMAGE,THELONGER"
330?"REPAIRSWILLTAKE!":?:?
335?":THISPOWERPLANTHAS"
340?"NOAUTOMATICSAFETYDEVICES!!":?:?:?
345GOTO195
390REMSTARTGAME
400GOSUB2000
410RH=0:RL=0:DAY=0:TT=0:DMGE=0:A=0:A1=0:A2=0
460REMWRITEREPORT
470GRAPHICS0
475DAY=DAY+1
480?"ATARINUCLEARPOWERPLANT"
490?"STATUSREPORT-DAY";DAY
510?""
520IFRT>800THEN?"REACTOROVERHEATED":RD=RD+1+(RT>850)+(RT>900)+2*(RT>950):PD=PD+1:ED=ED+1+(RT>850)
530IFXT>500THEN?"HEATEXCHANGEROVERHEATED":XD=XD+1+(XT>600):PD=PD+1:SD=SD+1
540IFGO>2000THEN?"TURBINEOVERLOADED":TD=TD+1+(GO>2500):SD=SD+1
550IFCT>300THEN?"COOLINGTOWEROVERHEATED":SD=SD+1
560IFGO<1000THEN?"POWEROUTPUTLOW"
570IFEV<200THEN?"EMERGENCYCOOLANTLOW"
580IFPV<100THEN?"PRIMARYCOOLANTLOW":PD=PD+1
590IFSV<100THEN?"SECONDARYCOOLANTLOW":SD=SD+1
610PRINT""
620IFRD>3THEN?"REACTORCOREDAMAGED"
630IFPD>4THEN?"PRIMARYCOOLANTLEAK-";PD;"/DAY":PV=(PV-PD)*((PV-PD)>0)
640IFSD>4THEN?"SECONDARYCOOLANTLEAK-";SD;"/DAY":SV=(SV-SD)*((SV-SD)>0)
650IFED>2THEN?"EMERGENCYCOOLANTLEAK-";2*ED;"/DAY":EV=(EV-2*ED)*((EV-2*ED)>0)
660IFPBTHEN?"PRIMARYCOOLANTPUMPFAILURE-";10*PD*(PD<10)+100*(PD>=10);"%"
670IFSBTHEN?"SECONDARYCOOLANTPUMPFAILURE-";10*SD*(SD<10)+100*(SD>=10);"%"
680IFXBTHEN?"HEATEXCHANGERFAILURE"
690IFGBTHEN?"TURBINEFAILURE"
700PRINT
710IFRD>5THEN?"":GOTO3000
720PRINT""
730?"REACTORTEMP.---(MAX800)";INT(RT)
740?"HEATEXCHANGERTEMP.(MAX500)";INT(XT)
750?"COOLINGTOWERTEMP.(MAX300)";INT(CT)
760?"POWEROUTPUT--(MAX2000KW)";INT(GO)
765KW=INT(TT/DAY)
770?"AVERAGEPOWEROUTPUT(KW/DAY)";KW
800?"CONTROLRODS................";:POSITION33,PEEK(84):?A
810?""
820?"EMERGENCYLEVEL-";EV;",FLOW-";:POSITION33,PEEK(84):?EF
830?"PRIMARYLEVEL--";PV;",FLOW-";:POSITION33,PEEK(84):?PF
840?"SECONDARYLEVEL-";SV;",FLOW-";:POSITION33,PEEK(84):?SF
850IF(100-RL)<5THEN?:?:?"REACTORFUELEXHAUSTED":GOTO4000
900REMGETNEWCONTROLVALVES
905P=PEEK(84)
910?"";
920POSITION33,P-5
950A2=A1:A1=A
952B$="":A$=""
955FORI=1TO3
960GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z)
962IFZ=32THEN987
963IFZ=155THEN1170
965IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN960
970B$(I,I)=A$:B$(1,1)=C$
975IFZ=32THEN987
980A=VAL(B$):A=A+(100-A)*(A>100)
985PRINTA$;:NEXTI
987?"";
990POSITION33,P-3
1005B$="":FORI=1TO3
1010GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z)
1012IFZ=32THEN1050
1013IFZ=155THEN1170
1015IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1010
1020B$(I,I)=A$:B$(1,1)=C$
1030EF=VAL(B$):EF=EF+(100-EF)*(EF>100)
1035IFEF>EVTHENEF=EV
1040PRINTA$;:NEXTI
1050?"";
1060POSITION33,P-2
1065B$="":FORI=1TO3
1068GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z)
1072IFZ=32THEN1110
1073IFZ=155THEN1170
1075IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1068
1080B$(I,I)=A$:B$(1,1)=C$
1085IFZ=32THEN1100
1090PF=VAL(B$):PF=PF+(100-PF)*(PF>100)
1100PRINTA$;:NEXTI
1110?"";
1120POSITION33,P-1
1125B$="":FORI=1TO4
1130GET#1,Z:A$=CHR$(Z):IFI=1THENC$=CHR$(Z)
1133IFZ=32THEN1162
1134IFZ=155THEN1170
1135IF(Z<>13ANDZ<>32)AND(Z>57ORZ<48)THEN1130
1140B$(I,I)=A$:B$(1,1)=C$
1145IFZ=32THEN1162
1150SF=VAL(B$):SF=SF+(100-SF)*(SF>100)
1160PRINTA$;:NEXTI
1162?""
1170IFPF=0ANDSF=0ANDRH<1ANDRT<100ANDA=0THENGOSUB2000:GOTO1173
1172GOTO1180
1173POSITION2,23
1175POKE752,1:?"-";MD;"DAYS";"";:FORI=1TO750:NEXTI:POKE752,0
1180IFEF>EVTHENEF=EV
1200REMDAMAGEASSESSMENT&OPERATIONS
1205EV=EV-EF-2*ED*(ED>3)
1210PD=PD+(PF>90)*(RND(1)>0.9500000000000001)
1220SD=SD+(SF>90)*(RND(1)>0.92)
1230PB=PD>5
1240SB=SD>5
1250IFPF>(100-PD*10)ANDPBTHENPF=(100-PD*10)*(100-PD*10>0)
1260IFSF>(100-SD*10)ANDSBTHENSF=(100-SD*10)*(100-SD*10>0)
1270RL=RL+RH/50
1280RH=(A*30+A1*60+A2*10)/2500*(100-RL)
1300PH=PF*(100*(PV>100)+PV*(PV<=100))/350
1310EH=EF/200*(RT-25)
1320RT=RT+RH-EH-PH-5*(RT>25)
1325RT=25+(RT-25)*(RT>25)
1330XT=((RT-25)*PF+(CT-25)*SF)/(PF+SF+1)+25
1340IFXBTHENXT=RT*0.8+5
1350SH=SF*(100*(PV>100)+PV*(PV<=100))/350*(XT-CT)
1360IFXBTHENSH=SH*0.2
1370GO=SH/XT*(XT-CT)*2/3
1375IFGO>2600THENGO=2600
1380GO=GO*(GO>0)*(GB=0)
1390CT=25+((XT-25)*(SH-GO)/(SH+1)*0.75)
1395CT=25*(CT<=25)+CT*(CT>25)
1400IFXB<1THENXB=(XD>2)*(RND(1)>0.9)
1410IFGB<1THENGB=(GD>4)*(RND(1)>0.9)
1420TT=TT+GO
1430GOTO470
2000REMMAINTENANCEREPAIRSUBROUTINE
2010EV=300:PV=120:SV=120:RT=25:XT=25:CT=25
2070DMGE=DMGE+2*RD+ED+PD+XD+SD+GD
2080MD=5+3*(10*(RD>3)+(ED>3)+(PD>3)+(SD>3)+2*PB+2*SB+3*XB+3*GB):DAY=DAY+MD
2090RD=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
2200RETURN
3000REMMELTDOWNENDING
3010?
3020IFRD>6THEN3100
3030?"THEREACTORCOREHASBEENDESTROYEDBY";
3040?"UNCONTROLLEDTHERMALRUNAWAY.HOWEVER";
3050?"THECONTAINMENTBUILDINGHASNOTYET"
3060?"RUPTURED."
3070?
3080?"INITIATEYOURPLAN."
3090GOTO5000
3100?"THEREACTORCOREHASMELTEDDOWNAND"
3110?"PRODUCEDASTEAMEXPLOSION.THE"
3120?"CONTAINMENTBUILDINGHASRUPTURED."
3130?"LETHALRADIOACTIVEGASESANDDEBRIS"
3140?"HAVEESCAPED."
3150?
3160?"INITIATEYOUREVACUATIONANDRADIATION";
3170?"CLEANUPPLANSANDGETMEDICAL"
3180?"ASSISTANCE."
3190GOTO5000
4000REMGAMEEVALUATION
4010?
4020?"OVERAPERIODOF";DAY;"DAYS,YOUHAVE"
4030?"PRODUCEDANAVERAGEPOWEROUTPUTOF"
4040?KW;"KILOWATTSPERDAY."
4050AKW=1+(KW>700)+(KW>1000)+(KW>1250)+(KW>1500)
4060?
4070?"YOURAVERAGEPOWERPRODUCTIONRATEIS"
4080ONAKWGOTO4090,4100,4110,4120,4140
4090?"HORRIBLE!FINDALESSDEMANDINGJOB!":GOTO4200
4100?"WAYBELOWYOURAREA'SPOWERNEEDS.":GOTO4200
4110?"BARELYADEQUATE.SHOULDBEBETTER.":GOTO4200
4120?"VERYGOOD.POWERCOSTSINYOUR"
4130?"AREAWILLNOTBEINCREASED!":GOTO4200
4140?"EXCELLENT!POWERCOSTSINYOURAREA"
4150?"WILLDROPSIGNIFICANTLY!!!":GOTO4200
4200REMDAMAGEEVALUATION
4210?
4220D=1+(DMGE>10)+(DMGE>20)+(DMGE>30)
4230?"THEEQUIPMENTDAMAGESUSTAINEDDURING"
4240?"THISPERIODWAS";
4250ONDGOTO4260,4270,4280,4290
4260?"VERYLIGHT.":GOTO5000
4270?"MODERATE.":GOTO5000
4280?"HEAVY.":GOTO5000
4290?"VERYSEVERE!"
5000?:?"DOYOUWANTTOTRYAGAIN(YORN)";:GET#1,Z:A$=CHR$(Z):IFA$="Y"THENCLR:POKE764,255:RUN
5010TRAP40000:CLR:GRAPHICS0:POKE764,255:END
6000GRAPHICS5
6005DE=200
6010POKE752,1
6020PRINT"THISISTHEREACTORVESSEL"
6030COLOR2
6035RESTORE
6040FORI=1TO29
6050READX1,X2,Y
6060PLOTX1,Y:DRAWTOX2,Y
6070NEXTI
6080DATA7,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
6085DATA11,18,19,11,5,6,12,18,19,12,5,6,13,18,19,13,5,6,14
6090DATA18,19,14,5,6,15,18,19,15,5,6,16,18,19,16,5,6,17,18,19,17,5,6
6095DATA18,18,19,18,5,7,19,17,19,19,6,18,20,7,17,21,8,16,22
6110PLOT13,6:PLOT14,6
6130PLOT14,5:PLOT15,5
6140PLOT14,4:PLOT16,4
6150PLOT15,3:PLOT16,3
6160FORI=1TODE:NEXTI
6170?:?:?:?
6180PRINT"THISISTHEREACTORCORE"
6190COLOR1
6200FORI=9TO15
6210PLOTI,11:DRAWTOI,17
6220NEXTI
6230FORI=1TODE:NEXTI
6240?:?:?:?
6250PRINT"THESEARETHECONTROLRODS"
6260COLOR3
6270PLOT11,2:DRAWTO11,17
6280PLOT13,2:DRAWTO13,17
6290FORI=1TODE:NEXTI
6300?:?:?:?
6310PRINT"THEEMERGENCYCOOLANTCANCOOLTHE":?"REACTORINANEMERGENCY"
6340FORI=1TO36
6350READY,X
6360PLOTX,Y
6370FORJ=1TO10:NEXTJ
6380NEXTI
6390DATA4,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
6395DATA12,4,12,5,12,6,12,7,12,8,12,9
6400DATA13,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
6410FORI=1TODE:NEXTI
6420?:?:?:?
6430?"THEPRIMARYCOOLANTCARRIESHEATFROM":?"THEREACTORCORETOTHEHEATEXCHANGER"
6450FORI=1TO51
6460READY,X
6465COLOR3
6470PLOTX,Y
6480FORJ=1TO10:NEXTJ
6490NEXTI
6500FORI=1TODE:NEXTI
6510DATA4,25,4,27,5,25,5,26,5,27,6,25,6,26,6,27,7,26,8,26,9,26,10,26
6512DATA11,26,12,26,12,25,12,24,12,23,12,22,12,21,12,20,12,19
6515DATA12,18,12,17,12,16,12,15,13,15,14,15,15,15,16,15,16,16,16,17,16,18
6520DATA16,19,16,20,16,21,16,22,16,23,16,24,16,25,16,26,16,27,16,28,16,29
6525DATA16,30,15,30,14,30,13,30,12,30,12,29,12,28,12,27
6540?:?:?:?
6550PRINT"THISISTHEHEATEXCHANGER"
6560COLOR1
6570PLOT28,10:DRAWTO34,10
6580PLOT34,10:DRAWTO34,18
6590PLOT28,18:DRAWTO34,18
6600PLOT28,10:DRAWTO28,18
6610FORI=1TODE:NEXTI
6620?:?:?:?
6630PRINT"THISISTHETURBINEGENERATOR"
6635COLOR2
6640PLOT5,30:DRAWTO18,30
6650PLOT18,30:DRAWTO18,36
6660PLOT5,36:DRAWTO18,36
6670PLOT5,30:DRAWTO5,36
6680COLOR1
6690PLOT2,33:DRAWTO17,33
6700FORI=7TO15STEP2
6710PLOTI,34:PLOTI+1,32
6720NEXTI
6730FORI=1TODE:NEXTI
6740?:?:?:?
6750PRINT"THISISTHECOOLINGTOWER"
6760COLOR2
6770PLOT24,23:DRAWTO24,25
6780PLOT36,23:DRAWTO36,25
6790PLOT25,26:DRAWTO25,25
6800PLOT35,26:DRAWTO35,25
6810PLOT26,26:DRAWTO26,28
6820PLOT34,26:DRAWTO34,28
6830PLOT27,28:DRAWTO27,36
6840PLOT33,28:DRAWTO33,36
6850PLOT34,36:PLOT26,36:PLOT25,38:DRAWTO35,38
6880FORI=1TODE:NEXTI
6890?:?:?:?
6895PRINT"THESECONDARYCOOLANTCARRIESHEAT"
6900PRINT"FROMTHEHEATEXCHANGERTOTHE"
6910PRINT"TURBINEANDTHENTOTHECOOLINGTOWER"
6928COLOR3
6930FORI=1TO123
6940READY,X
6950PLOTX,Y
6960FORJ=1TO10:NEXTJ
6970NEXTI
6975DATA4,35,4,37,5,35,5,36,5,37,6,35,6,36,6,37,7,36,8,36,9,36,10,36
6980DATA11,36,12,36,12,35,12,34,12,33,12,32,13,32,14,32,15,32,16,32
6985DATA16,33,16,34,16,35,16,36,17,36,18,36,19,36,20,36,20,35,20,34
6990DATA20,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
6995DATA21,21,22,21,23,21,24,21,25,21,26,21,27,21,27,20,27,19,27,18
7000DATA27,17,27,16,27,15,27,14,27,13,27,12,27,11,27,10,27,9,27,8,27,7
7005DATA28,7,29,7,30,7,31,7,32,7,34,10,32,13,34,16,35,16,35,17,35,18
7010DATA35,19,35,20,35,21,35,22,35,23,35,24,35,25,35,26,35,27,35,28
7015DATA34,28,34,29,34,30,35,30,35,31,35,32,34,32,34,33,34,34,34,35
7020DATA34,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
7025DATA22,38,21,38,20,38,19,38,18,38,17,38,16,38,15,38,14,38,13,38,12,38,12,37
7050FORI=1TODE:NEXTI
7060RETURN	

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!