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