Listing of file='ANALOG.BAS;01' on disk='vmedia/scratch-sector.ccvf'
100 REM THE ALAN CORPORATION 200 REM PRESENTS 300 REM THE TIME MACHINE 400 REM THIS CLEARS THE SCREEN AND DISPLAYS THE HEADING. 500 CLEAR 250:DIM V$(60):PLOT 12,14,6,3,27,24 600 PRINT :PRINT :PRINT 700 PRINT "THE ALAN CORPORATION 800 PRINT "PRESENTS 900 PRINT "THE TIME MACHINE 1000 PRINT :PRINT 1100 REM THIS DISPLAYS INSTRUCTIONS AND SETS THE TIME. 1200 PLOT 15,6,2 1300 PRINT "IF THE COMPUTER HAS BEEN DE-ENERGIZED 1400 PRINT "SINCE THE TIME WAS INSERTED INTO THE 1500 PRINT "UNIT, THEN YOU MUST ENTER THE TIME 1600 PRINT "IN ORDER FOR THE CLOCK TO OPERATE PROPERLY. 1700 PRINT 1800 INPUT "SET TIME?(YES/NO)";A$ 1900 IF A$= "N"OR A$= "NO"OR A$= "0"THEN 3000 2000 INPUT "ENTER CORRECT TIME; HOUR,MIN,SEC (EG;9,25,40)";H,M,S 2100 POKE 33211,H+ 1 2200 POKE 33210,M 2300 POKE 33209,S 2400 REM 2500 REM 3000 REM THIS PLOTS THE NUMBERS FOR THE CLOCK DISPLAY. 3100 PLOT 12,14,6,1 3200 PLOT 3,45,3:PRINT "1 3300 PLOT 3,57,8:PRINT "2 3400 PLOT 3,63,16:PRINT "3 3500 PLOT 3,56,25:PRINT "4 3600 PLOT 3,45,28:PRINT "5 3700 PLOT 3,31,31:PRINT "6 3800 PLOT 3,17,28:PRINT "7 3900 PLOT 3,7,25:PRINT "8 4000 PLOT 3,1,16:PRINT "9 4100 PLOT 3,7,8:PRINT "10 4200 PLOT 3,18,3:PRINT "11 4300 PLOT 3,31,0:PRINT "12 4400 REM 5000 REM THIS GETS THE PLOT CO-ORDINATES. 5100 FOR X= 0TO 59 5200 READ V$(X) 5300 NEXT X 5400 V$(60)= V$(0) 5500 PLOT 3,64,0:REM MOVE THE CURSOR OFF THE SCREEN 10000 REM THESE ARE THE PLOT CO-ORDINATES. 10100 DATA "063118","067120","072119","077117","081115" 10200 DATA "085113","089110","092106","096102","099097" 10300 DATA "101092","103087","105081","106076","107069" 10400 DATA "107063","107059","106053","105046","103041" 10500 DATA "102036","099031","096027","093022","089018" 10600 DATA "085015","081013","077010","073008","068007" 10700 DATA "063009","059007","054008","049010","045012" 10800 DATA "041014","037017","034021","030025","027030" 10900 DATA "025036","023040","021046","020051","019058" 11000 DATA "019064","019068","020075","021081","023086" 11100 DATA "025091","027096","030101","033105","037109" 11200 DATA "041112","045115","049117","053119","058120" 20000 REM THIS PLOTS THE SECOND HAND. 20100 GOSUB 60000:IF SS> < STHEN 20600 20200 S1= VAL (LEFT$ (V$(S),3)) 20300 S2= VAL (RIGHT$ (V$(S),3)) 20400 PLOT 6,7 20500 PLOT 2,63,63,242,S1,S2,255:GOTO 20700 20600 PLOT 6,0,30,2,63,63,242,S1,S2,255,29 20700 SS= S 30000 REM THIS PLOTS THE MINUTE HAND. 30050 GOSUB 60000:IF MM< > MTHEN 30500 30100 M1= VAL (LEFT$ (V$(M),3)) 30200 M2= VAL (RIGHT$ (V$(M),3)) 30300 PLOT 6,2 30400 PLOT 2,63,63,242,M1,M2,255:GOTO 30600 30500 PLOT 6,0,30,2,63,63,242,M1,M2,255,29 30600 MM= M 30700 REM 40000 REM THIS PLOTS THE HOUR HAND. 40050 GOSUB 60000:IF HH> < HTHEN 40450 40100 H1= VAL (LEFT$ (V$(H),3)) 40200 H2= VAL (RIGHT$ (V$(H),3)) 40300 PLOT 6,4 40400 PLOT 2,63,63,242,H1,H2,255:GOTO 40500 40450 PLOT 6,0,30,2,63,63,242,H1,H2,255,29 40500 HH= H:GOTO 20000 60000 REM THIS IS WHERE THE TIME COMES FROM. 60100 H= PEEK (33211)- 1 60200 M= PEEK (33210) 60300 S= PEEK (33209) 60400 IF H> 11THEN H= H- 12 60500 IF H= 12THEN H= 0 60550 H= H* 5+ M/ 12 60600 RETURN 65000 PLOT 30,16,29:PRINT "LISTING TO PRINTER":GOSUB 65080:PRINT "ENTER THE ";:PLOT 34 65010 PRINT "VOLUME:FILE NAME";:PLOT 34:INPUT " IN QUOTES: ";N$ 65020 IF VAL (N$)= 0THEN N$= "R VICK 013:ANALOG.BAS;01" 65030 SS= PEEK (33209):MI= PEEK (33210):HR= PEEK (33211)- 1 65040 PLOT 15,27,18,6:POKE 33289,95:OUT 8,255:OUT 8,4:PLOT 27,13,27,117,20 65050 PRINT N$;" ";YR* 100+ MO;".";RIGHT$ (STR$ (DY+ 100),2);" "; 65060 PRINT RIGHT$ (STR$ (HR* 100+ MI+ 10000),4);":";RIGHT$ (STR$ (SS+ 100),2):PRINT 65070 POKE 33265,14:LIST :PLOT 12:OUT 8,255:POKE 33265,0:POKE 33289,64:END 65080 ADR= 65532:YR= PEEK (ADR+ 1):MO= PEEK (ADR+ 2):DY= PEEK (ADR+ 3):IF YR> = 80THEN 65170 65090 INPUT "DATE/TIME (YRMO.DY [HHMM])? ";D$ 65100 GOSUB 65190:YR= D:GOSUB 65190:MO= D:D$= RIGHT$ (D$,LEN (D$)- 1):GOSUB 65190:DY= D 65110 POKE ADR+ 1,YR:POKE ADR+ 2,MO:POKE ADR+ 3,DY 65120 ADR= 256* PEEK (32941)+ PEEK (32940):IF ADR< = 65532THEN 65140 65130 ADR= 65532:ZZ= INT (ADR/ 256):POKE 32940,ADR- 256* ZZ:POKE 32941,ZZ 65140 IF LEN (D$)= 0THEN 65170 65150 D$= RIGHT$ (D$,LEN (D$)- 1):GOSUB 65190:HR= D:GOSUB 65190:MI= D 65160 POKE 33209,0:POKE 33210,MI:POKE 33211,HR+ 1 65170 SS= PEEK (33209):MI= PEEK (33210):HR= PEEK (33211)- 1 65180 PRINT YR* 100+ MO;".";RIGHT$ (STR$ (DY+ 100),2);" ";RIGHT$ (STR$ (HR* 100+ MI+ 10000),4);":";RIGHT$ (STR$ (SS+ 100),2):RETURN 65190 D= VAL (LEFT$ (D$,2)):IF LEN (D$)= 2THEN D$= "":RETURN 65200 D$= RIGHT$ (D$,LEN (D$)- 2):RETURN