21 ' 22 ' Day of week / Date rollover for Mike Sullivan's digital clock 23 ' DELETE lines 60-230 from the original program... 24 ' Then MERGE this code into it. Day of week will be displayed; 25 ' day and date will change following 23:59:59. 26 ' You can also use the perpetual calendar routine in other programs. 27 ' Clayton Gaskill, Charlotte, NC 28 ' 60 GOSUB 4060 1095 XDA$=MID$(DATE$,4,2) 1115 IF DA$<>XDA$ THEN GOSUB 4060 4060 MO$=MID$(DATE$,1,2) 4070 DA$=MID$(DATE$,4,2) 4080 YR$=MID$(DATE$,9,2) 4081 YR4$=MID$(DATE$,7,4) 4090 MO=VAL(MO$) 4091 YR=VAL(YR$) 4092 YR4=VAL(YR4$) 4100 ON MO GOTO 4110,4120,4130,4140,4150,4160,4170,4180,4190,4200,4210,4220 4110 MO$="JANUARY":GOTO 4230 4120 MO$="FEBRUARY":GOTO 4230 4130 MO$="MARCH":GOTO 4230 4140 MO$="APRIL":GOTO 4230 4150 MO$="MAY":GOTO 4230 4160 MO$="JUNE":GOTO 4230 4170 MO$="JULY":GOTO 4230 4180 MO$="AUGUST":GOTO 4230 4190 MO$="SEPTEMBER":GOTO 4230 4200 MO$="OCTOBER":GOTO 4230 4210 MO$="NOVEMBER":GOTO 4230 4220 MO$="DECEMBER":GOTO 4230 4230 YEAR%=YR4 4233 MONTH%=MO 4235 DAY%=VAL(DA$) 4240 IF MONTH%=1 OR MONTH%=2 THEN 4250 ELSE 4270 4250 YEAR%=YEAR%-1 4260 MONTH%=MONTH%+12 4270 DOW.K%=DAY%+YEAR%+MONTH%*2+YEAR%\4+YEAR%\400+(MONTH%+1)*3\5+2-YEAR%\100 4330 DOW%=DOW.K% MOD 7 4360 IF DOW%=0 OR DOW%=1 THEN DOW%=DOW%+7 4370 DOW%=DOW%-1 4500 ON DOW% GOTO 4510,4520,4530,4540,4550,4560,4570 4510 DOW$="MONDAY":GOTO 4580 4520 DOW$="TUESDAY":GOTO 4580 4530 DOW$="WEDNESDAY":GOTO 4580 4540 DOW$="THURSDAY":GOTO 4580 4550 DOW$="FRIDAY":GOTO 4580 4560 DOW$="SATURDAY":GOTO 4580 4570 DOW$="SUNDAY":GOTO 4580 4580 LOCATE 22,29:PRINT DOW$;", ";MO$;" ";DA$;", ";YR4$;" " 4590 RETURN