Compucolor.org – Virtual Media

Listing of file='METRIC.BAS;01' on disk='vmedia/sampler-3.31.78-sector.ccvf'

10 PLOT 12:GOTO 65000
20 X= 0:Y= 26:H= 6:W= 63:C= 1:GOSUB 64000
30 GOTO 65
40 L= L+ 1:IF L= 32THEN ZZ= CALL (0):L= 31
50 GOSUB 60:PRINT SPC( 63)""
60 PLOT 3,0,L:RETURN
65 PLOT 14,6,36,12,6,28,3,9,2
70 PRINT " C O M P U C O L O R   C O R P O R A T I O N "
75 PLOT 15,6,60,3,28,5:PRINT "PRESENTS"
80 PLOT 14,6,7,3,17,12:PRINT " METRIC / ENGLISH CONVERSIONS "
85 PLOT 3,64,0
90 FOR I= 1TO 5000:NEXT
95 PLOT 15
100 REM
110 REM
120 REM
130 REM
140 REM
145 PLOT 12,27,24:L= 25
150 DATA 25.4,.3048,.9144,1.609,6.4516,.0929,.836,.405,16.387
160 DATA .0283,.765,.946,3.784,28.35,.454,4.448,6.895,.746,1.055
170 DIM A$(72),B$(72),C$(72)
210 DATA "INCHES","MILLIMETERS","FEET","METERS","YARDS","METERS"
220 DATA "MILES","KILOMETERS","SQUARE INCHES","SQUARE CENTIMETERS"
230 DATA "SQUARE FEET","SQUARE METERS","SQUARE YARDS","SQUARE METERS"
240 DATA "ACRES","HECTARES","CUBIC INCHES","MILLILITERS","CUBIC FEET"
250 DATA "CUBIC METERS","CUBIC YARDS","CUBIC METERS","QUARTS"
260 DATA "LITERS","GALLONS","LITERS","OUNCES","GRAMS","POUNDS (MASS)"
270 DATA "KILOGRAMS","POUNDS (FORCE)","NEWTONS","P.S.I.","KILOPASCALS"
280 DATA "HORSEPOWER","KILOWATTS","BTU","KILOJOULE"
290 PLOT 3,0,0,6,7:PRINT "TYPE '+' TO CONVERT FROM ENGLISH ----> TO METRIC"
300 PLOT 6,6:PRINT "TYPE '-' TO CONVERT TO ENGLISH   <---- FROM METRIC"
305 PLOT 6,3:PRINT "       (IE+1 OR 1 INCHES TO MILLIMETERS &"
306 PRINT "           -1 FOR  MILLIMETERS TO INCHES)"
310 PRINT
320 RESTORE 210
330 FOR A= 1TO 19
340 READ A$,B$
350 PLOT 6,7:PRINT A,
360 PLOT 6,6:PRINT A$;
370 PLOT 6,5:PRINT TAB( 35);B$
380 NEXT A
390 PRINT " 20",TAB( 35);"END OF PROGRAM"
395 GOSUB 40:PRINT
397 GOTO 800
400 GOSUB 40:PRINT "YOUR CHOICE ";
410 INPUT A
420 IF A= 20OR A= - 20THEN 700
430 IF A= 0OR A> 19OR A< - 19THEN 400
440 RESTORE 150
450 FOR B= 1TO ABS (A)
460 READ C
470 NEXT B
480 RESTORE 210
490 FOR B= 1TO ABS (A)
500 READ A$,B$
510 NEXT B
520 IF A< 0THEN 630
525 IF Q9< > 0THEN GOSUB 40:PRINT "ENTER THE VALUE IN "A$" ?1":GOTO 550
530 GOSUB 40:PRINT "ENTER THE VALUE IN ";A$;" ";
540 INPUT D
550 E= D* C
560 GOSUB 40:PRINT
565 PLOT 6,3
570 GOSUB 40:PRINT D;" ";A$;" = ";E;" ";B$
580 PLOT 6,2
590 IF Q9< > 0THEN PLOT 3,64,0:FOR I= 1TO 2000:NEXT :GOTO 700
620 GOTO 395
630 C$= A$
640 A$= B$
650 B$= C$
660 GOSUB 40:PRINT "ENTER THE VALUE IN ";A$;" ";
670 INPUT D
680 E= D/ C
690 GOTO 560
700 PLOT 27,11,6,2:LOAD "MENU;1":RUN 5
800 Q9= PEEK (32936)
810 IF Q9= 0THEN 400
820 GOSUB 40:PRINT "YOUR CHOICE ?4"
830 A= 4
840 D= 1
850 GOTO 440
64000 GOSUB 65410
64010 Z= 24576+ 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:IF A> = 0AND A< > PEEK (TM+ I)THEN I= 32:TM= TM- 32
65070 NEXT
65080 RESTORE 65030: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 100:GOTO 20
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