100 ' Model100 Digital Clock 105 ' by Scott A. Rogers, Sept. 26, 1987 110 KEYOFF:SCREEN0,0:CLEAR1000 115 CLS 120 GOSUB930 125 XH(1)=.1:XH(2)=.1:XM(1)=.1:XM(2)=.2:XS(1)=.1:XS(2)=.1 130 CL$(1)=" " 135 CL$(2)=CHR$(226) 140 CL$(3)=CHR$(228) 145 CL$(4)=" " 150 OE$(1)=" "+CHR$(238)+" " 155 OE$(2)=CHR$(226)+CHR$(234)+" " 160 OE$(3)=" "+CHR$(234)+" " 165 OE$(4)=CHR$(228)+CHR$(238)+CHR$(232) 170 TW$(1)=CHR$(230)+CHR$(231)+CHR$(229) 175 TW$(2)=" "+CHR$(230) 180 TW$(3)=" "+CHR$(230)+" " 185 TW$(4)=CHR$(238)+CHR$(232)+CHR$(232) 190 TH$(1)=CHR$(230)+CHR$(231)+CHR$(229) 195 TH$(2)=" "+CHR$(228)+CHR$(230) 200 TH$(3)=" "+CHR$(234) 205 TH$(4)=CHR$(229)+CHR$(232)+CHR$(230) 210 FR$(1)=" "+CHR$(228)+CHR$(233) 215 FR$(2)=CHR$(228)+CHR$(225)+CHR$(233) 220 FR$(3)=CHR$(237)+CHR$(232)+CHR$(237) 225 FR$(4)=" "+CHR$(233) 230 FV$(1)=CHR$(235)+CHR$(231)+CHR$(231) 235 FV$(2)=CHR$(231)+CHR$(231)+CHR$(229) 240 FV$(3)=" "+CHR$(234) 245 FV$(4)=CHR$(229)+CHR$(232)+CHR$(230) 250 SX$(1)=CHR$(230)+CHR$(231)+CHR$(229) 255 SX$(2)=CHR$(233)+CHR$(232)+CHR$(227) 260 SX$(3)=CHR$(235)+" "+CHR$(234) 265 SX$(4)=CHR$(229)+CHR$(232)+CHR$(230) 270 SV$(1)=CHR$(235)+CHR$(231)+CHR$(236) 275 SV$(2)=" "+CHR$(230) 280 SV$(3)=" "+CHR$(228)+CHR$(225) 285 SV$(4)=" "+CHR$(233)+" " 290 EG$(1)=CHR$(230)+CHR$(231)+CHR$(229) 295 EG$(2)=CHR$(229)+CHR$(232)+CHR$(230) 300 EG$(3)=CHR$(233)+" "+CHR$(234) 305 EG$(4)=CHR$(229)+CHR$(232)+CHR$(230) 310 NI$(1)=CHR$(230)+CHR$(231)+CHR$(229) 315 NI$(2)=CHR$(229)+CHR$(232)+CHR$(238) 320 NI$(3)=" "+CHR$(234) 325 NI$(4)=CHR$(229)+CHR$(232)+CHR$(230) 330 ZR$(1)=CHR$(230)+CHR$(231)+CHR$(229) 335 ZR$(2)=CHR$(233)+" "+CHR$(234) 340 ZR$(3)=CHR$(233)+" "+CHR$(234) 345 ZR$(4)=CHR$(229)+CHR$(232)+CHR$(230) 350 Q$="AM" 355 M(1)=VAL(MID$(TIME$,4,1)) 360 M(2)=VAL(MID$(TIME$,5,1)) 365 S(1)=VAL(MID$(TIME$,7,1)) 370 S(2)=VAL(MID$(TIME$,8,1)) 375 XD$=MID$(DATE$,4,2) 380 Z$=INKEY$:IFZ$=""THEN385ELSEMENU 385 HR=VAL(MID$(TIME$,1,2)) 390 IFHR=0THENHR=12 395 IFHR>12THENHR=HR-12:Q$="PM" 400 IFLEN(STR$(HR))<3THEN410 405 H(1)=VAL(MID$(STR$(HR),2,1)):H(2)=VAL(MID$(STR$(HR),3,1)):GOTO415 410 H(1)=VAL(MID$(STR$(HR),1,1)):H(2)=VAL(MID$(STR$(HR),2,1)) 415 IFS(2)=XS(2)THEN350 420 IFDA$<>XD$THENGOSUB930 425 IFH(1)=0THENGOSUB1070:GOTO580 430 IFH(1)=XH(1)THEN580ELSEXH(1)=H(1) 435 ONH(1)GOSUB445,460,475,490,505,520,535,550,565 440 GOSUB775:GOTO580 445 FORI=1TO4 450 TP$(I)=OE$(I):NEXTI 455 RETURN 460 FORI=1TO4 465 TP$(I)=TW$(I):NEXTI 470 RETURN 475 FORI=1TO4 480 TP$(I)=TH$(I):NEXTI 485 RETURN 490 FORI=1TO4 495 TP$(I)=FR$(I):NEXTI 500 RETURN 505 FORI=1TO4 510 TP$(I)=FV$(I):NEXTI 515 RETURN 520 FORI=1TO4 525 TP$(I)=SX$(I):NEXTI 530 RETURN 535 FORI=1TO4 540 TP$(I)=SV$(I):NEXTI 545 RETURN 550 FORI=1TO4 555 TP$(I)=EG$(I):NEXTI 560 RETURN 565 FORI=1TO4 570 TP$(I)=NI$(I):NEXTI 575 RETURN 580 IFH(2)=0THEN585ELSE605 585 IFH(2)=XH(2)THEN620ELSEXH(2)=H(2) 590 FORI=1TO4 595 TP$(I)=ZR$(I):NEXTI 600 GOSUB795:GOTO620 605 IFH(2)=XH(2)THEN620ELSEXH(2)=H(2) 610 ONH(2)GOSUB445,460,475,490,505,520,535,550,565 615 GOSUB795:'IFH(2)=9THEN770 620 IFM(1)=0THEN625ELSE645 625 IFM(1)=XM(1)THEN660ELSEXM(1)=M(1) 630 FORI=1TO4 635 TP$(I)=ZR$(I):NEXTI 640 GOSUB830:GOTO660 645 IFM(1)=XM(1)THEN660ELSEXM(1)=M(1) 650 ONM(1)GOSUB445,460,475,490,505,520,535,550,565 655 GOSUB830 660 IFM(2)=0THEN665ELSE685 665 IFM(2)=XM(2)THEN700ELSEXM(2)=M(2) 670 FORI=1TO4 675 TP$(I)=ZR$(I):NEXTI 680 GOSUB850:GOTO700 685 IFM(2)=XM(2)THEN700ELSEXM(2)=M(2) 690 ONM(2)GOSUB445,460,475,490,505,520,535,550,565 695 GOSUB850 700 IFS(1)=0THEN705ELSE725 705 IFS(1)=XS(1)THEN740ELSEXS(1)=S(1) 710 FORI=1TO4 715 TP$(I)=ZR$(I):NEXTI 720 GOSUB885:GOTO740 725 IFS(1)=XS(1)THEN740ELSEXS(1)=S(1) 730 ONS(1)GOSUB445,460,475,490,505,520,535,550,565 735 GOSUB885 740 IFS(2)=0THEN745ELSE760 745 FORI=1TO4 750 TP$(I)=ZR$(I):NEXTI 755 GOSUB905:GOTO770 760 XS(2)=S(2):ONS(2)GOSUB445,460,475,490,505,520,535,550,565 765 GOSUB905 770 GOTO350 775 FORI=1TO4 780 PRINT@7+40*I,TP$(I) 785 NEXTI 790 RETURN 795 FORI=1TO4 800 PRINT@11+40*I,TP$(I) 805 NEXTI 810 FORI=1TO4 815 PRINT@14+40*I,CL$(I) 820 NEXTI 825 RETURN 830 FORI=1TO4 835 PRINT@16+40*I,TP$(I) 840 NEXTI 845 RETURN 850 FORI=1TO4 855 PRINT@20+40*I,TP$(I) 860 NEXT 865 FORI=1TO4 870 PRINT@23+40*I,CL$(I) 875 NEXTI 880 RETURN 885 FORI=1TO4 890 PRINT@25+40*I,TP$(I) 895 NEXTI 900 RETURN 905 FORI=1TO4 910 PRINT@29+40*I,TP$(I) 915 NEXTI 920 PRINT@193,Q$ 925 RETURN 930 MO$=MID$(DATE$,1,2) 935 DA$=MID$(DATE$,4,2) 940 YR$="19"+MID$(DATE$,7,2) 945 MO=VAL(MO$) 950 ONMOGOSUB960,965,970,975,980,985,990,995,1000,1005,1010,1015 955 GOTO1020 960 MO$="January":RETURN 965 MO$="February":RETURN 970 MO$="March":RETURN 975 MO$="April":RETURN 980 MO$="May":RETURN 985 MO$="June":RETURN 990 MO$="July":RETURN 995 MO$="August":RETURN 1000 MO$="September":RETURN 1005 MO$="October":RETURN 1010 MO$="November":RETURN 1015 MO$="December":RETURN 1020 IFDAY$="Sun"THENDW$="Sunday" 1025 IFDAY$="Mon"THENDW$="Monday" 1030 IFDAY$="Tue"THENDW$="Tuesday" 1035 IFDAY$="Wed"THENDW$="Wednesday" 1040 IFDAY$="Thu"THENDW$="Thursday" 1045 IFDAY$="Fri"THENDW$="Friday" 1050 IFDAY$="Sat"THENDW$="Saturday" 1055 PRINT@247,SPACE$(33);:PRINT@247,DW$;", ";MO$;" ";DA$;", ";YR$ 1060 RETURN 1070 FORI=1TO4 1075 PRINT@7+40*I," " 1080 NEXT 1085 RETURN