10REM This is for the smart-socket with built in real-time-clock 20REM ESP are not selling this - its a hacked together bodge-board 30REM with lots of loose wires... only for they DIY enthusiast. 40REM (Component cost pretty high) 50 60PROCMakeCode 70PRINT FNTime 80END 90 100DEFPROCMakeCode 110DIM Code &80 120SmartWatch = &8008 130Slot=1 140FOR Pass=0 TO 2 STEP 2 150P%=Code 160[OPT Pass 170.GetTim 180 PHP:SEI 190 Lda &F4:Pha:Lda #Slot:Sta &F4:Sta &FE30:Lda SmartWatch:PHA \**** 200 Lda #Slot EOR 1:Sta &F4:Sta &FE30:Lda SmartWatch 210 Lda #Slot:Sta &F4:Sta &FE30:Lda SmartWatch 220 Ldx #7 230.SeqLoop 240 Lda DataTab,X 250 Ldy #7 260.InLoop 270 Sta SmartWatch 280 Lsr A 290 Dey 300 Bpl InLoop 310 Dex 320 Bpl SeqLoop 330 Ldx #7 340.RdLoop 350 Ldy #7 360.inrd 370 Lda SmartWatch 380 Lsr A:Ror Time,X 390 Dey:Bpl inrd 400 Dex 410 Bpl RdLoop 420 PLA: Sta SmartWatch \************ 430 Pla:Sta &F4:Sta &FE30 440 PLP 450Rts 460.DataTab 470EQUB &5C 480EQUB &A3 490EQUB &3A 500EQUB &C5 510EQUB &5C 520EQUB &A3 530EQUB &3A 540EQUB &C5 550.Time 560NOP:NOP:NOP:NOP:NOP:NOP 570] 580NEXT Pass 590ENDPROC 600 610DEFFNTime 620CALL GetTim 630Day$ = FNstr(Time?3, &07, "MonTueWedThuFriSatSun") 640Mon$ = FNstr(Time?1, &1F, "JanFebMarAprMayJunJulAugSepOctNovDec") 650Date$=FNnum(Time?2, &3F, " ") 660Year$=FNnum(Time?0, &FF, "0") 670Hour$=FNnum(Time?4, &3F, "0") 680Min$ =FNnum(Time?5, &7F, "0") 690Sec$ =FNnum(Time?6, &7F, "0") 700=Day$+","+Date$+" "+Mon$+" 19"+Year$+"."+Hour$+":"+Min$+":"+Sec$ 710 720DEFFNnum(Num, Mask, Lead$) 730 Num = Num AND Mask 740 D1 = Num DIV 16 750 D2 = Num MOD 16 760 D1$ = STR$(D1) 770 D2$ = STR$(D2) 780 IF D1$="0" THEN D1$=Lead$ 790=D1$+D2$ 800 810DEFFNstr(Num, Mask, Str$) 820Num = (Num AND Mask)-1 830=MID$(Str$, Num*3+1, 3)