1 POKE 752,1 3 ? "+":REM CLEAR SCREEN (+=ESC-CTRL-CLR) 4 ? "HOUR";:INPUT HOUR:? "MINUTE";:INPUT MIN:? "SECOND";:INPUT SEC 5 CMD=1:GOSUB 45 6 ? "+";HOUR;":";MIN;":";SEC:? " ":? " " 7 CMD=2:GOSUB 45 9 ? "";HOUR;":";MIN;":";SEC;" ":GOTO 7 10 REM THIS IS A DEMO OF THE REAL TIME CLOCK 20 REM THIS ROUTINE ACCEPTS AN INITIAL TIME IN HOURS,MINUTES, AND SECONDS 30 REM IT SETS THE REAL TIME CLOCK TO ZERO 40 REM THE CURRENT VALUE OF RTCLOCK IS USED TO ADD THE INITIAL TIME TO GET 42 REM THE CURRENT TIME HOUR,MIN,SEC 45 HIGH=1536:MED=1537:LOW=1538 50 REM 60 REM ******ENTRY POINT****** 65 REM 70 ON CMD GOTO 100,200 95 REM 96 REM ****INITIALIZE CLOCK***** 97 REM 100 POKE 20,0:POKE 19,0:POKE 18,0 105 DIM CLOCK$(50) 106 CLOCK$=" " 107 GOSUB 300 110 IHOUR=HOUR:IMIN=MIN:ISEC=SEC:RETURN 197 REM 198 REM *******READ CLOCK***** 199 REM 200 REM 201 A=USR(ADR(CLOCK$)) 210 TIME=((((PEEK(HIGH)*256)+PEEK(MED))*256)+PEEK(LOW))/59.923334 220 HOUR=INT(TIME/3600):TIME=TIME-(HOUR*3600) 230 MIN=INT(TIME/60):SEC=INT(TIME-(MIN*60)) 235 SEC=SEC+ISEC:IF SEC>60 THEN SEC=SEC-60:MIN=MIN+1 236 MIN=MIN+IMIN:IF MIN>60 THEN MIN=MIN-60:HOUR=HOUR+1 237 HOUR=HOUR+IHOUR 240 HOUR=HOUR-(INT(HOUR/24))*24 250 RETURN 300 FOR J=1 TO 38:READ Z:CLOCK$(J,J)=CHR$(Z):NEXT J:RETURN 310 DATA 104,165,18,141,0,6,165,19,141,1,6,165 320 DATA 20,141,2,6,165,18,205,0,6,208,234 330 DATA 165,19,205,1,6,208,227,165,20,205,2,6,208,220,96
Back to previous page