Compucolor.org – Virtual Media

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

0 GOTO 65000
1 CLEAR 500
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:INPUT "COMMAND:";ZE
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:INPUT "EXPORT WHAT? ";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:INPUT "REFINE WHAT? ";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,000LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS LS OU WANT TO DRILL AGAIN?";D$:IF LEFT$ (D$,1)= "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:INPUT "ARE YOU CERTAIN?";M9$
3050 IF LEFT$ (M9$,1)= "N"THEN 340
3060 IF LEFT$ (M9$,1)= "Y"THEN 3100
3070 GOSUB 6000:PRINT "YES OR NO, PLEASE"
3080 GOSUB 6000:INPUT "SURE YOU WANT TO SELL OUT?";M9$: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:INPUT "REFINERIES OR WELLS?";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 X5= 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:INPUT "CARE TO PLAY AGAIN? ";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 LN= LN+ 1:IF LN< 31THEN PLOT 3,0,LN:RETURN
6010 ZZ= CALL (0)
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
63097 REM 
63098 REM   SCROLLING PATCH
63099 REM
64000 GOSUB 65410
64010 Z= 28672+ 128* Y+ X+ X:AD= TM+ 2:GOSUB 65400
64015 Z= 128- W- W:AD= TM+ 25:GOSUB 65400
64020 POKE TM+ 5,H- 1:POKE TM+ 7,W* (C+ 1):POKE TM+ 19,35* (1- C)
64030 RETURN
65000 GOSUB 65410:RESTORE 65030
65030 DATA 33,-1,-1,6,-1,14,-1,17,128,0,25,126
65040 DATA 17,128,255,25,119,35,-1,13,194,-1,-1
65050 DATA 17,-1,-1,25,5,194,-1,-1,201
65055 IF TM> 65503THEN TM= TM- 32:GOTO 65080
65060 FOR I= 1TO 32:READ A
65065 IF A> = 0AND A< > PEEK (TM+ 1)THEN I= 32:TM= TM- 32
65070 NEXT
65080 RESTORE 65030
65090 FOR I= 1TO 32:READ A:POKE TM+ I,A- (A< 0):NEXT
65100 Z= TM+ 1:AD= 33283:GOSUB 65400
65110 Z= TM:AD= ER:GOSUB 65400
65120 Z= TM+ 6:AD= TM+ 30:GOSUB 65400
65130 Z= TM+ 8:AD= TM+ 22:GOSUB 65400
65190 CLEAR 25:GOTO 1
65400 ZZ= INT (Z/ 256):POKE AD,Z- 256* ZZ:POKE AD+ 1,ZZ:RETURN
65410 ER= 32940:TM= 256* PEEK (ER+ 1)+ PEEK (ER):RETURN