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›