8-Bit Software Online Conversion

:2.$.MPG - Listing

10REM MPG2&Lp100Km Calculator 20REM By W.E.Jowitt (K2V) 30MODE1 40 *FX16 50 a=0 60 del$=STRING$(33," ") 70DIM mpg(10),d(10),m(10),y(10) 80 h$=CHR$(17)+CHR$(129)+" * Petrol C onsumption *"+CHR$(17)+CHR$(128) 90PRINT'SPC(6)h$' 100PRINT'"Quantity entered taken to be litres"'" unless gallons (G or g) enter ed." 110REM LOAD mpgs 120COLOUR 2 130PRINT'"Load previous MPG file?"; 140IF INSTR("Yy",GET$)GOTO 160 ELSE PR INT'"Car Registration Number " 150PROCINPUT(7):GOTO320 160MODE 6 170PRINT''"Car Registration Number":PR OCINPUT(7) 180file=OPENIN C$ 190FOR i=1 TO 10 200INPUT #file,mpg(i) 210INPUT #file,d(i) 220INPUT #file,m(i) 230INPUT #file,y(i) 240NEXT 250INPUT #file,b 260CLOSE #file 270IF b>1000 THEN b=b-1000 280a=b 290MODE 1 300PRINT'SPC(6)h$' 310REM New mpg 320COLOUR 3 330PRINT'"Calculate new MPG (Y/N)?" 340IF INSTR("Yy",GET$) ELSE 680 350FOR i=10 TO 2 STEP -1 360mpg(i)=mpg(i-1) 370m(i)=m(i-1) 380d(i)=d(i-1) 390y(i)=y(i-1) 400NEXT 410IF a=0 THENINPUT'"Milage at previou s fill? "a:GOTO430 420PRINT'"Milage at previous fill ";a 430INPUT'"Milage at this fill up ? "b 440 PRINT 450INPUT"Date of fill (day no.) ? "d 460IF d>31 THEN VDU11:PRINTdel$:VDU11: GOTO450 470PRINT 480INPUT"Month (month no.) ? "m 490IF m>12 THEN VDU11:PRINTdel$:VDU11: GOTO480 500INPUT'"Year ? 19"y 510IF a>b THEN b=b+1000 520k=b-a 530PRINT'"Miles since last fill ";k 540INPUT'"How much petrol filled ? "p$ 550@%=&20200 560p=VALp$ 570IF (ASC(RIGHT$(p$,1))OR 32)=ASC"g"T HEN 580 ELSE p=p/4.546 580mpg(1)= (k/p) 590d(1)=d 600m(1)=m 610y(1)=y 620COLOUR 2 630 PRINT'" MPG = ";mpg(i);" L/100Km = ";282.47/mpg(i) 640@%=&00304 650COLOUR 1 660PRINT'"Hit a key..."; 670G%=GET 680REM Bar chart 690CLS:COLOUR 2 700 PRINT''TAB(4)h$;CHR$(17)+CHR$(129) +" "+C$+" * "+CHR$(17)+CHR$(128) 710PRINT'"MPG L/100Km";TAB(27)"L/100Km ";TAB(36)"MPG" 720@%=&20200 730PRINT " " 740FOR i=1 TO 10 STEP1 750IF mpg(i)=0 THEN 800 760k=282.47/mpg(i) 770IF k<10 THEN r=30 ELSE r=29 780PRINTTAB(r);k;TAB(35);mpg(i) 790NEXT 800x=12 810 VDU29,120;200; 820@%=&00304 830FOR j=10 TO 50 STEP 2 840MOVE 0,x*j:PLOT21,800,x*j 850NEXT 860GCOL0,1 870FOR h=5 TO 50 STEP 5 880MOVE 0,x*h:PLOT21,800,x*h 890NEXT 900PRINTTAB(0,26)"DATE" 910PRINTTAB(0,27)"MONTH" 920PRINTTAB(0,28)"YEAR" 930COLOUR 3 940FOR i=1 TO 10 950y=11-i 960IF mpg(i) ELSE 1010 970GCOL 1,1 980 MOVE 72*y,x*mpg(i):MOVE 72*y+64,x* mpg(i):PLOT 85,72*y,4:PLOT 85,72*y+64,4 990GCOL 0,3 1000 MOVE 72*y,4:DRAW 72*y,x*mpg(i):DRA W 72*y+64,x*mpg(i):DRAW 72*y+64,4 1010 VDU5:MOVE -82,12+x*i*10:IF i*10>50 GOTO 1020 ELSE PRINT;i;@%=&20100SPC(1)( 28/i):@%=&00301 1020 MOVE 72*y,-12:IF d(i)<10PRINT" "; 1030 PRINT;d(i); 1040 MOVE 72*y,-46:IFm(i)<10PRINT" "; 1050PRINT;m(i); 1060 MOVE 72*y,-80:PRINT;y(i); 1070VDU4 1080NEXT 1090MOVE 0,600:DRAW 0,0:DRAW 800,0 1100PRINT'" Press any key for SAVE or EXIT." 1110G%=GET 1120REM SAVE mpgs 1130MODE 6 1140PRINT''" SAVE ";C$;" mpg's ? (Y/N)" ; 1150IF INSTR("Yy",GET$) THEN PRINT" Y" ELSE PRINT" N":GOTO 1250 1160file=OPENOUT C$ 1170FOR i=1 TO 10 1180PRINT #file,mpg(i) 1190PRINT #file,d(i) 1200PRINT #file,m(i) 1210PRINT #file,y(i) 1220NEXT 1230PRINT #file,b 1240CLOSE #file 1250PRINT''" For repeat press R"''" Pre ss SPACE for MENU" 1260 G=GET:IF G=32 CHAIN"MPGmenu" 1270 IF G=82 GOTO270 1280DEFPROCINPUT(X) 1290C$="" 1300FOR T=1TOX+1 1310K=GET 1320IFK=127ANDT>1THENT=T-1:VDU127:C$=LE FT$(C$,T-1):GOTO1310 1330IFK=13THENT=X+1:GOTO1380 1340IFK<>13ANDT=X+1THEN1310 1350IFK<32 OR K>126THEN1310 1360C$=C$+CHR$(K) 1370VDUK 1380NEXT:ENDPROC