diff options
Diffstat (limited to 'sb_vfd/vfd_clock.bas')
-rw-r--r-- | sb_vfd/vfd_clock.bas | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/sb_vfd/vfd_clock.bas b/sb_vfd/vfd_clock.bas deleted file mode 100644 index 401a4ea..0000000 --- a/sb_vfd/vfd_clock.bas +++ /dev/null @@ -1,88 +0,0 @@ -1 REM clock.bas -2 REM by Scott Baker, http://www.smbaker.com/ -3 REM Demonstrates use of BQ4845 RTC on Z80 RC2014 computer -4 REM with VFD display. - -5 REM set 24-hour mode -6 OUT &HCE, 2 - -7 GOSUB 4000 : REM initialize VFD -8 GOSUB 4100 : REM VFD cursor off -9 T$="RC2014 VFD Clock" -10 GOSUB 4500 : REM VFD print string - -15 LS=999 -20 GOSUB 1000 : REM get time - -30 if (LS = S) GOTO 100 -40 LS = S -50 GOSUB 2000 -60 X=4 : Y=1 : GOSUB 4400 : REM goto line 2 -70 GOSUB 4500 -100 GOTO 20 - -998 REM read the current time from the RTC -999 REM store it in the variables H, M, S. -1000 X=inp(&HC0) -1010 S=(X and 15) + INT(X/16)*10 -1020 X=inp(&HC2) -1030 M=(X and 15) + INT(X/16)*10 -1040 X=inp(&HC4) -1050 H=(X and 15) + (INT(X/16) and 3)*10 -1060 RETURN - -1999 REM format H, M, S into a string T$ -2000 T$="" -2010 if (H>9) GOTO 2030 -2020 T$=T$+"0" -2030 T$=T$+right$(str$(H),len(str$(H))-1) -2040 T$=T$+":" -2050 if (M>9) GOTO 2070 -2060 T$=T$+"0" -2070 T$=T$+right$(str$(M),len(str$(M))-1) -2080 T$=T$+":" -2090 if (S>9) GOTO 2110 -2100 T$=T$+"0" -2110 T$=T$+right$(str$(S),len(str$(S))-1) -2120 RETURN - -2999 REM set the clock using H, M, S -3000 TS=INT(S/10) -3010 OS=S-(TS*10) -3020 OUT &HC0, TS*16 + OS -3030 TM=INT(M/10) -3040 OM=M-(TM*10) -3050 OUT &HC2, TM*16 + OM -3060 TH=INT(H/10) -3070 OH=H-(TH*10) -3080 OUT &HC4, TH*16 + OH -3090 RETURN - -4000 OUT 0, &H30 : REM function set - 8 bit -4010 OUT 1, 0 : REM max brightness -4020 OUT 0, 1 : REM clear display -4030 OUT 0, &H0F : REM display on, cursor on, blink on -4040 RETURN - -4099 REM turn cursor off -4100 OUT 0, &H0C : REM display on, cursor off -4110 RETURN - -4199 REM turn cursor on -4200 OUT 0, &H0F : REM display on, cursor on, blin on -4210 RETURN - -4299 REM clear screen -4300 OUT 0, 1 -4310 RETURN - -4399 REM goto X, Y -4400 DA = &H80 + (&H40 * Y) + X -4410 OUT 0, DA -4420 RETURN - -4499 REM print string -4500 FOR I=1 to LEN(T$) -4510 OUT 1, ASC(MID$(T$, I, 1)) -4520 NEXT I -4530 RETURN |