Compucolor.org – Virtual Media

Listing of file='OILCO.BAS;01' on disk='vmedia/chip_15-sector.ccvf'

1 POKE 32936,1:GOSUB 10000
5 X= 0:Y= 18:H= 13:W= 37:C= 1
9 GOSUB 64000
10 REM 
11 REM   OIL COMPANY BY MARK PHANEUF
12 REM   CREATIVE COMPUTING, MARCH/APRIL, 1978, PP.133-137
13 REM
14 REM   ADAPTED FOR COMPUCOLOR DISK BASIC 8001 V6.78
15 REM   BY DAVID B. SUITS  NOVEMBER, 10 A.L.
16 REM
20 LN= 17
30 RA= PEEK (33209)+ 1:FOR J= 1TO RA:RN= RND (1):NEXT :REM  RANDOMIZE
80 DIM Q(19,9)
90 PLOT 6,6,12,15,27,24,27,4:PRINT "LOAD OILCO.DSP":PLOT 27,27
100 FOR I= 0TO 19:FOR J= 0TO 9:Q(I,J)= INT (4* RND (1))+ 1:NEXT J,I
105 I= INT (19* RND (1)):J= INT (9* RND (1)):PLOT 3,I+ 41,J+ 4:PRINT "`"
110 D= 1:P= 50000:CC= 2000:R= 1:G= 0:F= 0:K= 0:L= 0:O= 0
120 WW= 1:X1= 0
200 GOSUB 6000:PRINT "HOW MANY YEARS DO YOU"
210 GOSUB 6000:INPUT "WISH TO PLAY (5 - 100)?";B5
220 B5= INT (B5):IF B5< 5OR B5> 100THEN 200
240 GOSUB 7000:GOSUB 7010:GOSUB 7020
250 FOR J= 1TO 13
260 ON JGOSUB 8000,8010,8020,8030,8040,8050,8060,8070,8080,8090,8110,8120,8130
270 NEXT J
280 PLOT 3,23,7:PRINT "$ 2000/2000 FT"
330 IF P< = 0THEN 3140
340 GOSUB 6000:PRINT :GOSUB 6000:PRINT "COMMAND:";:ZE= CALL (2)
345 PLOT ZE,10,13:ZE= ZE- 48
350 IF ZE< 1OR ZE> 8OR ZE< > INT (ZE)THEN 340
400 ON ZEGOTO 410,500,1100,1200,2300,4650,2720,3040
407 REM
408 REM  BUY IMPORTED CRUDE
409 REM
410 GOSUB 6000:INPUT "BUY HOW MANY GALLONS?";F7
420 F7= INT (F7/ 50):IF CC< 0THEN 340
430 IF F7* B< = PTHEN 460
450 GOSUB 6000:PRINT "YOU HAVE ONLY $"P:GOTO 410
460 CC= CC+ (F7* 50):P= P- (F7* B):GOSUB 8010:GOSUB 8040:GOTO 2720
497 REM 
498 REM   EXPORT REFINED PRODUCTS
499 REM
500 GOSUB 6000:PRINT :GOSUB 6000:PRINT "EXPORT WHAT? ";:E$= CHR$ (CALL (2)):PRINT E$
510 IF LEFT$ (E$,1)= "D"THEN 2720
520 IF LEFT$ (E$,1)= "L"THEN 1000
530 IF LEFT$ (E$,1)= "K"THEN 900
540 IF LEFT$ (E$,1)= "O"THEN 800
550 IF LEFT$ (E$,1)= "F"THEN 700
560 IF LEFT$ (E$,1)= "G"THEN 600
570 GOTO 500
600 GOSUB 6000:INPUT "EXP HOW MANY GALS OF GAS?";G2
610 G2= INT (G2):IF G2< = 0THEN 500
620 IF G2< = GTHEN 640
630 GOSUB 6000:PRINT "YOU'VE ONLY"G;" GALS OF GAS":GOTO 600
640 G= G- G2:P= P+ (G2* G1):GOSUB 6000:PRINT "YOU RECEIVE $"G2* G1
645 TX= TX+ G2* G1
650 GOSUB 8010:GOSUB 8050:GOTO 500
700 GOSUB 6000:INPUT "EXP HOW MANY GALS FUEL OIL?";F2
710 F2= INT (F2):IF F2< = 0THEN 500
720 IF F2< = FTHEN 740
730 GOSUB 6000:PRINT "YOU'VE ONLY"F;" GALS OF FUEL OIL":GOTO 700
740 F= F- F2:P= P+ (F2* F1):GOSUB 6000:PRINT "YOU RECEIVE $"F2* F1
745 TX= TX+ F2* F1
750 GOSUB 8010:GOSUB 8060:GOTO 500
800 GOSUB 6000:INPUT "EXP HOW MANY GALS OIL PRDTS?";O2
810 O2= INT (O2):IF O2< = 0THEN 500
820 IF O2< = OTHEN 840
830 GOSUB 6000:PRINT "YOU'VE ONLY"O;" GALS OIL PRDTS":GOTO 800
840 O= O- O2:P= P+ (O2* O1):GOSUB 6000:PRINT "YOU RECEIVE $"O2* O1
845 TX= TX+ O2* O1
850 GOSUB 8010:GOSUB 8070:GOTO 500
900 GOSUB 6000:INPUT "EXP HOW MANY GALS KEROSINE?";K2
910 K2= INT (K2):IF K2< = 0THEN 500
920 IF K2< = KTHEN 940
930 GOSUB 6000:PRINT "YOU'VE ONLY"K;" GALS KEROSINE":GOTO 900
940 K= K- K2:P= P+ (K2* K1):GOSUB 6000:PRINT "YOU RECEIVE $"K2* K1
945 TX= TX+ K2* K1
950 GOSUB 8010:GOSUB 8080:GOTO 500
1000 GOSUB 6000:INPUT "EXP HOW MANY GALS LUBRICANTS?";L2
1010 L2= INT (L2):IF L2< = 0THEN 500
1020 IF L2< = LTHEN 1040
1030 GOSUB 6000:PRINT "YOU'VE ONLY"L;" GALS LUBRICANTS":GOTO 1000
1040 L= L- L2:P= P+ (L2* L1):GOSUB 6000:PRINT "YOU RECEIVE $"L2* L1
1045 TX= TX+ L2* L1
1050 GOSUB 8010:GOSUB 8090:GOTO 500
1097 REM 
1098 REM   BUILD REFINERIES
1099 REM
1100 GOSUB 6000:PRINT :GOSUB 6000:PRINT "HOW MANY REFINERIES DO YOU"
1110 GOSUB 6000:INPUT "WISH TO BUILD?";R2
1120 IF R2= > 0AND R2= INT (R2)THEN 1140
1130 GOSUB 6000:PRINT "ZERO OR SOME WHOLE NUMBER, PLEASE":GOTO 1100
1140 IF R2* R1< = PTHEN 1170
1150 GOSUB 6000:PRINT "THAT REQUIRES $"R2* R1:GOTO 1100
1170 P= P- (R2* R1):R= R+ R2:GOSUB 8010:GOSUB 8030:GOTO 2720
1197 REM 
1198 REM   REFINE CRUDE OIL
1199 REM
1200 GOSUB 6000:PRINT :GOSUB 6000:PRINT "REFINE WHAT? ";:A$= CHR$ (CALL (2)):PRINT A$
1210 IF LEFT$ (A$,1)= "D"THEN 2720
1220 IF LEFT$ (A$,1)= "L"THEN 2100
1230 IF LEFT$ (A$,1)= "K"THEN 1900
1240 IF LEFT$ (A$,1)= "O"THEN 1700
1250 IF LEFT$ (A$,1)= "F"THEN 1500
1260 IF LEFT$ (A$,1)= "G"THEN 1300
1270 GOSUB 6000:PRINT "YOU CAN REFINE GASOLINE,FUEL OIL,"
1280 GOSUB 6000:PRINT "OIL PRODUCTS, KEROSINE, LUBRICANTS"
1290 GOTO 1200
1300 GOSUB 6000:INPUT "REFINE HOW MUCH GAS?";G4
1310 G4= INT (G4):IF G4< = 0THEN 1200
1320 IF G4< = CCTHEN 1340
1330 GOSUB 8700:GOTO 1300
1340 IF G4/ 125000< = RTHEN 1360
1350 GOSUB 8500:GOTO 1300
1360 IF G4* G3< = PTHEN 1390
1370 GOSUB 6000:PRINT "THAT REQUIRES $"G4* G3:GOTO 1300
1390 IF (X1+ G4)/ 125000< = RTHEN 1410
1400 GOSUB 8600:GOTO 1300
1410 G= INT (G+ (G4- (G4* .03))):P= P- (G4* G3):CC= CC- G4:X1= X1+ G4
1420 GOSUB 8010:GOSUB 8040:GOSUB 8050:GOTO 1200
1500 GOSUB 6000:INPUT "REFINE HOW MUCH FUEL OIL?";F4
1510 F4= INT (F4):IF F4< = 0THEN 1200
1520 IF F4< = CCTHEN 1540
1530 GOSUB 8700:GOTO 1500
1540 IF F4/ 125000< = RTHEN 1560
1550 GOSUB 8500:GOTO 1500
1560 IF F4* F3< = PTHEN 1590
1570 GOSUB 6000:PRINT "THAT REQUIRES $"F4* F3:GOTO 1500
1590 IF (X1+ F4)/ 125000< = RTHEN 1610
1600 GOSUB 8600:GOTO 1500
1610 F= INT (F+ (F4- (F4* .03))):P= P- (F4* F3):CC= CC- F4
1620 X1= X1+ F4:GOSUB 8010:GOSUB 8040:GOSUB 8060:GOTO 1200
1700 GOSUB 6000:INPUT "REFINE HOW MUCH OIL PRDTS?";O4
1710 O4= INT (O4):IF O4< = 0THEN 1200
1720 IF O4< = CCTHEN 1740
1730 GOSUB 8700:GOTO 1700
1740 IF O4/ 125000< = RTHEN 1760
1750 GOSUB 8500:GOTO 1700
1760 IF O4* O3< = PTHEN 1790
1770 GOSUB 6000:PRINT "THAT REQUIRES $"O4* O3:GOTO 1700
1790 IF (X1+ O4)/ 125000< = RTHEN 1810
1800 GOSUB 8600:GOTO 1700
1810 O= INT (O+ (O4- (O4* .03))):P= P- (O4* O3)
1820 CC= CC- O4:X1= X1+ O4:GOSUB 8010:GOSUB 8040:GOSUB 8070:GOTO 1200
1900 GOSUB 6000:INPUT "REFINE HOW MUCH KEROSINE?";K4
1910 K4= INT (K4):IF K4< = 0THEN 1200
1920 IF K4< = CCTHEN 1940
1930 GOSUB 8700:GOTO 1900
1940 IF K4/ 125000< = RTHEN 1960
1950 GOSUB 8500:GOTO 1900
1960 IF K4* K3< = PTHEN 1990
1970 GOSUB 6000:PRINT "THAT REQUIRES $"K4* K3:GOTO 1900
1990 IF (X1+ K4)/ 125000< = RTHEN 2010
2000 GOSUB 8600:GOTO 1900
2010 K= INT (K+ (K4- (K4* .03))):P= P- (K4* K3)
2020 CC= CC- K4:X1= X1+ K4:GOSUB 8010:GOSUB 8040:GOSUB 8080:GOTO 1200
2100 GOSUB 6000:INPUT "REFINE HOW MUCH LUBRICANTS?";L4
2110 L4= INT (L4):IF L4< = 0THEN 1200
2120 IF L4< = CCTHEN 2140
2130 GOSUB 8700:GOTO 2100
2140 IF L4/ 125000< = RTHEN 2160
2150 GOSUB 8500:GOTO 2100
2160 IF L4* L3< = PTHEN 2190
2170 GOSUB 6000:PRINT "THAT REQUIRES $"L4* L3:GOTO 2100
2190 IF (X1+ L4)/ 125000< = RTHEN 2210
2200 GOSUB 8600:GOTO 2100
2210 L= INT (L+ (L4- (L4* .03))):P= P- (L4* L3)
2220 CC= CC- L4:X1= X1+ L4:GOSUB 8010:GOSUB 8040:GOSUB 8090:GOTO 1200
2297 REM 
2298 REM   DRILL FOR OIL
2299 REM
2300 GOSUB 6000:PRINT
2305 GOSUB 6000:PRINT "WHERE DO YOU WANT TO DRILL?"
2310 GOSUB 6000:INPUT "(ENTER NUMBER, COMMA, LETTER): ";NN,LE$
2320 IF NN= INT (NN)AND NN= > 0AND NN< = 9THEN 2340
2330 GOSUB 6000:PRINT "WHOLE NUMBERS 0 - 9, PLEASE":GOTO 2300
2340 IF LEN (LE$)= 1AND LE$> = "A"AND LE$< = "T"THEN 2360
2350 GOSUB 6000:PRINT "USE SOME LETTER FROM A TO T":GOTO 2300
2360 MM= ASC (LE$)- 65:IF Q(MM,NN)< > 5THEN 2380
2370 GOSUB 6000:PRINT "THERE'S ALREADY A WELL THERE":GOTO 2300
2380 PLOT 6,0,3,MM+ 41,NN+ 4:PRINT "`"
2390 FOR T= 1TO 500:NEXT T:REM  DELAY
2400 ON Q(MM,NN)GOTO 2410,2450,2460,2470
2410 GOSUB 6000:PRINT "DRILLED DOWN 6,000 FT, BUT"
2420 GOSUB 6000:PRINT "      NO OIL FOUND":DD= 6000:GOTO 2500
2450 DD= 2000:GOTO 2480
2460 DD= 4000:GOTO 2480
2470 DD= 6000
2480 PLOT 6,1,3,MM+ 41,NN+ 4:PRINT "`"
2490 GOSUB 6000:PRINT "    OIL FOUND AT"DD;" FT"
2500 P= P- DD:IF P= > 0THEN 2540
2510 P= 0:GOSUB 6000:PRINT "YOU RAN OUT OF MONEY":GOSUB 6000
2520 PRINT "PROJECT ABANDONED":PLOT 6,2,3,MM+ 41,NN+ 4:PRINT "`":GOTO 2720
2540 GOSUB 6000:PRINT "    THE WELL COST YOU $"DD:GOSUB 8010
2550 Q(MM,NN)= 5:WW= WW+ 1:GOSUB 8020:GOSUB 6000
2560 PRINT "DO YOU WANT TO DRILL AGAIN?";:D$= CHR$ (CALL (2)):PRINT D$:IF D$= "Y"THEN 2300
2580 IF LEFT$ (D$,1)< > "N"THEN GOSUB 6000:GOTO 2560
2717 REM 
2718 REM   END OF THE YEAR
2719 REM
2720 GOSUB 6000:PRINT :U= INT (60* RND (1)):IF U= 50THEN 2920
2730 IF U= 40THEN 2885
2740 IF U= 30THEN 2860
2750 IF U= 20THEN 2825
2760 IF U< > 10THEN 2940
2780 GOSUB 6000:PRINT "STORAGE FIRE!  NEARLY HALF OF ALL"
2790 GOSUB 6000:PRINT "PRODUCTS IN STORAGE ARE DESTROYED"
2800 G= INT (G/ 2):F= INT (F/ 2):O= INT (O/ 2):K= INT (K/ 2):L= INT (L/ 2)
2810 FOR J= 1TO 5:ON JGOSUB 8050,8060,8070,8080,8090:NEXT
2820 GOTO 2940
2825 IF WW< 2THEN 2940
2830 GOSUB 6000:PRINT "FIRE DAMAGE!"
2840 GOSUB 6000:PRINT INT (WW* .5);" WELLS DESTROYED"
2845 GOSUB 5000
2850 WW= WW- INT (WW* .5):GOSUB 8020:GOTO 2940
2860 GOSUB 6000:PRINT "OIL SPILL!";INT (CC* .75);" GALLONS"
2870 GOSUB 6000:PRINT "OF CRUDE OIL ARE LOST"
2880 CC= CC- INT (CC* .75):GOSUB 8040:GOTO 2940
2885 P= INT (P* .5)
2890 GOSUB 6000:PRINT "FINANCIAL DIFFICULTIES HAVE":GOSUB 6000
2900 PRINT "LEFT YOU WITH $"P:GOSUB 8010:GOTO 2940
2920 R= INT (R* .75):GOSUB 6000:PRINT "REFINERIES EXPLODE!"
2930 GOSUB 6000:PRINT R;" REFINERIES LEFT":GOSUB 8030
2940 D= D+ 1:X1= 0:FOR I= 1TO 1000:NEXT I:GOSUB 8000
2950 IF WW< = 0THEN 3020
2960 GOSUB 6000:PRINT :GOSUB 6000
2965 PRINT "ROYALTIES FROM YOUR WELLS:"
2970 W1= INT (900* RND (1))+ 100:C5= INT (900* RND (1))+ 100
2975 TX= TX+ WW* W1
2980 P= P+ (WW* W1):CC= CC+ (C5* WW)
2990 GOSUB 6000:PRINT "            $"WW* W1:GOSUB 8010
3000 GOSUB 6000:PRINT "             "C5* WW;" GALS CRUDE OIL"
3010 GOSUB 8040:GOSUB 6000:PRINT :TX= INT (TX/ (6* RND (1)+ 4))
3011 TX= TX+ 25* WW+ 100* R+ .0001* (G1* G3+ F1* F3+ O1* O3+ K1* K3+ L1* L3)
3012 GOSUB 6000:PRINT "THIS YEAR YOUR TAXES WERE $"INT (TX)
3014 P= P- TX:GOSUB 8010:TX= 1
3016 IF D= B5OR P< = 0THEN 3030
3020 GOTO 240
3027 REM 
3028 REM   END OF GAME
3029 REM
3030 GOSUB 6000:PRINT :GOSUB 6000:PRINT "     GAME OVER":GOTO 3100
3040 GOSUB 6000:PRINT "ARE YOU CERTAIN?";:M9$= CHR$ (CALL (2)):PRINT M9$
3050 IF M9$= "N"THEN 340
3060 IF M9$= "Y"THEN 3100
3070 GOSUB 6000:PRINT "YES OR NO, PLEASE"
3080 GOSUB 6000:PRINT "SURE YOU WANT TO SELL OUT?";:M9$= CHR$ (CALL (2)):GOTO 3050
3100 GOSUB 6000:PRINT "********************":GOSUB 6000
3105 PRINT "    SOLD OUT FOR"
3110 GOSUB 6000:PRINT "     $"((WW+ P+ CC+ R)* 1.5)
3115 GOSUB 6000:PRINT
3120 P= P+ ((WW+ P+ CC+ R)* 1.5)
3130 GOSUB 8010
3140 Q3= (((P+ CC)/ 5000)+ ((WW+ R)* .1)* (D- 1))
3150 IF Q3< 486.5THEN 3180
3170 R9= 10:GOTO 3370
3180 IF Q3< 437.85THEN 3200
3190 R9= 9:GOTO 3370
3200 IF Q3< 389.2THEN 3220
3210 R9= 8:GOTO 3370
3220 IF Q3< 340.55THEN 3240
3230 R9= 7:GOTO 3370
3240 IF Q3< 291.9THEN 3260
3250 R9= 6:GOTO 3370
3260 IF Q3< 243.25THEN 3280
3270 R9= 5:GOTO 3370
3280 IF Q3< 194.6THEN 3300
3290 R9= 4:GOTO 3370
3300 IF Q3< 145.95THEN 3320
3310 R9= 3:GOTO 3370
3320 IF Q3< 97.3THEN 3340
3330 R9= 2:GOTO 3370
3340 IF Q3< 48.65THEN R9= 0:GOTO 3370
3350 R9= 1
3370 GOSUB 6000:PRINT :GOSUB 6000
3375 PRINT "ON A SCALE OF 0(BAD) TO 10(PERFECT)"
3380 GOSUB 6000:PRINT "       YOU RATE: "R9:GOTO 4860
4647 REM 
4648 REM   SELL WELLS, REFINERIES
4649 REM
4650 GOSUB 6000:PRINT "WHICH DO YOU WANT TO SELL,"
4660 GOSUB 6000:PRINT "REFINERIES OR WELLS?";:Z5$= CHR$ (CALL (2)):PRINT Z5$
4670 IF LEFT$ (Z5$,1)= "W"THEN 4770
4680 IF LEFT$ (Z5$,1)= "R"THEN 4700
4690 GOTO 340
4700 X3= INT (10000* RND (1))+ 20000
4710 GOSUB 6000:PRINT "THE SELLING PRICE OF A REFINERY IS"
4720 GOSUB 6000:PRINT "$"X3
4730 GOSUB 6000:INPUT "HOW MANY WILL YOU SELL?";HH
4740 IF HH< = RTHEN 4760
4750 GOSUB 6000:PRINT "YOU HAVE ONLY"R;" REFINERIES":GOTO 4730
4760 P= P+ (HH* X3):R= R- HH:GOSUB 8010:GOSUB 8030:GOTO 2720
4770 X5SGN INT (4500* RND (1))+ 500
4780 GOSUB 6000:PRINT "THE SELLING PRICE OF A WELL IS"
4790 GOSUB 6000:PRINT "$"X5
4800 GOSUB 6000:INPUT "HOW MANY WILL YOU SELL?";H1
4810 IF H1< = WWTHEN 4830
4820 GOSUB 6000:PRINT "YOU HAVE ONLY"WW;" WELLS":GOTO 4800
4830 P= P+ (X5* H1):WW= WW- H1:GOSUB 8010:GOSUB 8020:GOTO 2720
4860 GOSUB 6000:PRINT :GOSUB 6000:PRINT "CARE TO PLAY AGAIN? ";:A$= CHR$ (CALL (2)):PRINT A$
4870 IF LEFT$ (A$,1)= "Y"THEN RUN 20
4880 LOAD "MENU":RUN
4997 REM 
4998 REM   COVER DAMAGED WELLS
4999 REM
5000 QQ= 0:FOR J= 0TO 20:FOR I= 0TO 9
5010 IF Q(J,I)< > 5THEN 5060
5020 PLOT 6,2,3,J+ 41,I+ 4
5030 PRINT "`":Q(J,I)= 1
5040 QQ= QQ+ 1
5050 IF QQ= INT (WW* .5)THEN 5070
5060 NEXT I,J
5070 RETURN
5997 REM 
5998 REM   SCROLL SUBROUTINE
5999 REM
6000 ZZ= CALL (0):LN= LN+ 1:IF LN< 31THEN PLOT 3,0,LN:RETURN
6005 PLOT 3,0,31,11
6010 ZZ= CALL (1)
6015 PLOT 3,0,31,11
6020 PLOT 3,0,30:PRINT SPC( W);" "
6030 PLOT 3,0,30:RETURN
6997 REM 
6998 REM   DETERMINE COSTS AND PRICES
6999 REM
7000 R1= INT (20000* RND (1))+ 30000:RETURN
7010 B= INT (10* RND (1))+ 10:RETURN
7020 G3= INT ((.45* RND (1)+ .5)* 100+ .5)/ 100:G1= INT ((.87* RND (1)+ .38)* 100+ .5)/ 100
7030 F3= INT ((.3* RND (1)+ .45)* 100+ .5)/ 100:F1= INT ((.67* RND (1)+ .33)* 100+ .5)/ 100
7040 O3= INT ((.1* RND (1)+ .6)* 100+ .5)/ 100:O1= INT ((.47* RND (1)+ .48)* 100+ .5)/ 100
7050 K3= INT ((.1* RND (1)+ .6)* 100+ .5)/ 100:K1= INT ((.47* RND (1)+ .48)* 100+ .5)/ 100
7060 L3= INT ((.3* RND (1)+ .7)* 100+ .5)/ 100:L1= INT ((.67* RND (1)+ .58)* 100+ .5)/ 100
7070 RETURN
7997 REM 
7998 REM   UPDATE COMPANY STATUS
7999 REM
8000 PLOT 6,33,14,3,34,3:PRINT D:PLOT 6,2,15:RETURN
8010 PLOT 3,9,3:PRINT SPC( 19)"":PLOT 3,9,3:PRINT "$"P:RETURN
8020 PLOT 6,2,3,12,7:PRINT SPC( 4)"":PLOT 3,12,7:PRINT WW:RETURN
8030 PLOT 6,2,3,12,6:PRINT SPC( 8)"":PLOT 3,12,6:PRINT R:RETURN
8040 PLOT 6,2,3,12,5:PRINT SPC( 7)"":PLOT 3,12,5:PRINT CC:RETURN
8050 PLOT 3,12,11:PRINT SPC( 7)"":PLOT 3,12,11:PRINT G:RETURN
8060 PLOT 3,12,12:PRINT SPC( 7)"":PLOT 3,12,12:PRINT F:RETURN
8070 PLOT 3,12,13:PRINT SPC( 7)"":PLOT 3,12,13:PRINT O:RETURN
8080 PLOT 3,12,14:PRINT SPC( 7)"":PLOT 3,12,14:PRINT K:RETURN
8090 PLOT 3,12,15:PRINT SPC( 7)"":PLOT 3,12,15:PRINT L:RETURN
8110 PLOT 3,23,6:PRINT SPC( 10)"":PLOT 3,23,6:PRINT "$"R1:RETURN
8120 PLOT 3,23,5:PRINT SPC( 10)"":BB$= STR$ (B/ 50)
8122 IF LEN (BB$)= 3THEN BB$= BB$+ "0"
8124 PLOT 3,23,5:PRINT "$";BB$:RETURN
8130 PLOT 6,2:N3= G3:N1= G1:YY= 11:GOSUB 8160
8140 N3= F3:N1= F1:GOSUB 8160:N3= O3:N1= O1:GOSUB 8160
8150 N3= K3:N1= K1:GOSUB 8160:N3= L3:N1= L1:GOSUB 8160:RETURN
8157 REM 
8158 REM   FORMAT REFINING & EXPORT PRICES
8159 REM
8160 N3$= STR$ (N3):N1$= STR$ (N1)
8180 IF LEN (N1$)= 2THEN N1$= N1$+ ".00"
8190 IF LEN (N3$)= 2THEN N3$= N3$+ ".00"
8200 IF LEFT$ (N1$,2)< > " ."AND LEN (N1$)= 4THEN N1$= N1$+ "0"
8210 IF LEN (N3$)= 4OR LEN (N3$)= 3THEN N3$= " "+ N3$
8220 IF LEN (N1$)= 4OR LEN (N1$)= 3THEN N1$= " "+ N1$
8230 IF LEN (N3$)= 4THEN N3$= N3$+ "0"
8240 IF LEN (N1$)= 4THEN N1$= N1$+ "0"
8250 PLOT 3,23,YY:PRINT SPC( 14)"":PLOT 3,23,YY:PRINT N3$
8260 PLOT 3,32,YY:PRINT N1$:YY= YY+ 1:RETURN
8497 REM 
8498 REM   ERROR SUBROUTINE FOR REFINING 
8499 REM
8500 GOSUB 6000:PRINT "THAT'S TOO MUCH CRUDE OIL FOR"
8510 GOSUB 6000:PRINT "YOUR REFINERIES"
8520 GOSUB 6000:PRINT "EACH REFINERY HANDLES A MAXIMUM"
8530 GOSUB 6000:PRINT "OF 125,000 GALS/YEAR":RETURN
8600 GOSUB 6000:PRINT "YOUR REFINERIES ARE ALREADY PARTIALLY"
8610 GOSUB 6000:PRINT "ENGAGED.  AT PRESENT, THEIR REMAINING"
8620 GOSUB 6000:PRINT "CAPACITY IS";(R* 125000)- X1;" GALS":RETURN
8700 GOSUB 6000:PRINT "YOU'VE ONLY"CC;" GALS OF CRUDE OIL":RETURN
10000 TM= PEEK (32940)+ PEEK (32941)* 256
10010 IF TM> 64* 1024- 4THEN LOAD "SOUND":RUN
10020 IF PEEK (TM+ 180)< > 241THEN LOAD "SOUND":RUN
10025 DA= TM+ 8:AD= 33283:GOSUB  60100
10026 TM= TM+ 1
10030 RETURN
60100 ZZ= INT (DA/ 256):POKE  AD,DA- 256* ZZ:POKE  AD+ 1,ZZ:RETURN
63097 REM 
63098 REM   SCROLLING PATCH
63099 REM
64000 REM       SCROLLING SUBROUTINE
64010 DA= 28672+ 128* Y+ X+ X:AD= TM+ 126:GOSUB 60100
64015 DA= 128- W- W:AD= TM+ 149:GOSUB 60100
64020 POKE TM+ 129,H- 1:POKE TM+ 131,W* (C+ 1)
64030 POKE TM+ 143,35* (1- C):RETURN