10 REM ***************************** 20 REM * SCHNEE-GESTEUERTER WECKER * 30 REM ***************************** 35 : 40 REM NIKOLAUS HEUSLER 42 REM ZWENGAUERWEG 18 44 REM 81479 SOLLN 48 : 49 REM (C) MARKT & TECHNIK 1993-1994 50 REM 60 REM USERPORT-BELEGUNG: 70 REM PB0: 1=HEIZ-RELAIS AN 80 REM PB1: 1=SCHNEE AUF SENSOR 90 REM PB2: 1=WECK-RELAIS AN 100 REM 120 RUN1000 200 REM ZEIT-EINGABE --------------- 210 C=0 220 R=PEEK(209)+PEEK(210)*256+PEEK(211) 230 PRINT""LEFT$(Z$,2)":"MID$(Z$,3,2)":"RIGHT$(Z$,2)"[157][157][157][157][157][157][157][157]"; 240 RR=R+C-(C>1)-(C>3):POKERR,128+PEEK(RR) 250 GETA$:IFA$=CHR$(13)THEN300 260 IFA$=""ANDC<5THENPOKERR,PEEK(RR)AND127:C=1+C:GOTO240 270 IF(A$=CHR$(20)ORA$="[157]")ANDC>.THENPOKERR,PEEK(RR)AND127:C=C-1:GOTO240 280 IFA$<"0"ORA$>"9"THEN250 290 Z$=LEFT$(Z$,C)+A$+MID$(Z$,C+2):C=C+1+(C>4):GOTO230 300 IFVAL(LEFT$(Z$,2))>23ORVAL(MID$(Z$,3,2))>59ORVAL(RIGHT$(Z$,2))>59THEN220 310 POKERR,PEEK(RR)AND127:PRINT"[158]":RETURN 400 REM WECKRUF -------------------- 402 POKE54296,15:POKE54280,200:POKE54279,100:POKE54284,9:POKE54285,240 404 POKE54273,200:POKE54277,9:POKE54278,240:FORE=1TO2 406 FORD=1TO3:POKE54276,17:POKE54283,17:FORK=0TO24:NEXT:POKE54276,16 408 POKE54283,16:FORK=0TO40:NEXTK,D:FORK=0TO100:NEXTK,E 410 RETURN 500 REM ------------------------------- 510 REM HAUPTPROGRAMM ----------------- 1000 SYS65409:POKE53280,.:POKE53281,.:POKE648,4:POKE54296,. 1010 PRINT"[158][147]DER 64'ER-SCHNEE-WECKER [158]NH/11.93 1020 [153]"TERMINAL ARBEITET - GLEICH GEHT'S WEITER 1022 FORI=1TO4:A$=A$+CHR$(PEEK(49151+I)):NEXT:IFA$="NH93"THEN1200 1024 PRINT"DAUER: CA. 30 SEKUNDEN PAUSE 1030 [129]I[178]0[164]9:[135]F$:D$[178]" 1031 DATA1110111,0010010,1011101,1011011,0111010 1032 DATA1101011,0101111,1110010,1111111,1111011 1033 FORJ=1TO7:IFMID$(F$,J,1)="0"THEN1048 1034 IFJ=1THEND$=" [146][157][157][157][157] 1036 [139]J[178]2[167]D$[178]D$[170]" CMD CMD CMD ONONONONCMD 1038 IFJ=3THEND$=D$+" [157] [157] [157] [145][145][145][145][157][157][157][157][157] 1040 [139]J[178]4[167]D$[178]D$[170]" WAITCMDCMDCMDCMDONONONONON 1042 IFJ=5THEND$=D$+" [157] [157] [157] [157][145][145][145][145][145][145][145][145][145] 1044 [139]J[178]6[167]D$[178]D$[170]" CMD CMD CMD ONONONONONONONONONCMDCMDCMDCMDCMD 1046 IFJ=7THEND$=D$+" [157][157][157][157][145][145][145][145][145][145][145][145][145][145] 1048 [130]:D$[178]D$[170]"WAIT"[170][199](0) 1050 [129]J[178]1[164][195](D$) 1052 [151]49151[170](1[170]I)[172]256[170]J,[198]([202](D$,J)):[130]J,I 1100 [131]160,,132,2,177,2,240,6,32,210,255,200,208,246,96,169,,133,2,133,4,169 1102 [131]204,133,3,169,4,133,5,160,,177,2,145,4,230,2,208,2,230,3,230,4,208,2 1104 [131]230,5,165,4,201,224,208,234,165,5,201,5,144,228,96,169,32,162,,157,,204 1105 [131]157,,205,232,208,247,96 1106 S[178]0:[129]I[178]49185[164]49258:[135]Q:S[178]S[170]Q:[151]I,Q:[130] 1108 [139]S[177][179]8818[167][153]"DATENFEHLER!":[144] 1110 [151]49152,78:[151]49153,72:[151]49154,57:[151]49155,51 1200 [153]"BITTE GEBEN SIE DIE UHRZEITEN IM FOR- 1202 PRINT"MAT HH:MM:SS EIN UND BETAETIGEN 1204 Z$[178]TI$:[143] AKTUELLE ZEIT DEFAULT 1206 [153]"WIE SPAET IST ES JETZT? ...... "; 1208 [141]200:TI$[178]Z$ 1210 Z$[178]"210000":[143] HEIZUNG EIN DEFAULT 1212 [153]"WANN SOLL DIE HEIZUNG FUER DEN 1214 PRINT"SENSOR EINGESCHALTET WERDEN? "; 1216 GOSUB200:U1$=Z$ 1220 Z$="043000":REM WECKZEIT 1 DEFAULT 1222 PRINT"WECKZEIT, FALLS SCHNEE GE- 1224 [153]"FALLEN IST? .................. "; 1226 [141]200:U2$[178]Z$ 1230 Z$[178]"073000":[143] WECKZEIT 2 DEFAULT 1232 [153]"WECKZEIT, FALLS KEIN SCHNEE 1234 PRINT"GEFALLEN IST? ................ "; 1236 GOSUB200:U3$=Z$ 2000 PRINT"[158][147]"; 2001 PRINT"[158]WECKZ.1: "LEFT$(U2$,2)":"MID$(U2$,3,2)":"RIGHT$(U2$,2) 2002 PRINT"[158]WECKZ.2: "LEFT$(U3$,2)":"MID$(U3$,3,2)":"RIGHT$(U3$,2) 2004 PRINT"[158]HEIZ. : "LEFT$(U1$,2)":"MID$(U1$,3,2)":"RIGHT$(U1$,2) 2006 PRINT"[145][145][145][158]"TAB(18)" STATUS: [160] 2008 [153][163]18)" WAIT HEIZUNG: 2010 PRINTTAB(18)" [146] SCHNEE : 2012 [153][163]18)" WAIT ALARM : 2013 PRINTTAB(18)" [146] 2014 [153][163]18)" WAIT SENSOR BEHEIZT : 2016 PRINTTAB(18)" [146] WECKZ.1 ERREICHT: 2018 [153][163]18)" WAIT WECKZ.2 ERREICHT: 2020 PRINTTAB(18)" [146] PROGRAMM LAEUFT : 2022 [153][163]18)" WAIT FERTIG : 2024 PRINTTAB(18)" [146] 2026 [153][163]18)" CLOSEONONONONONON 2028 R$(0)=" ":R$(1)="[209] 2030 [153]"NEUSTART MIT 2032 PRINT"TASTE ^[146][165] 2034 [153]"ABBRUCH MIT 2036 PRINT"TASTE _[146][165] 2040 P[178]56577:[151]P[170]2,5:[143] DDR 2042 [151]P,0:[143] RELAIS AUS 2044 FL[178]0:[143] WECKER WAR NOCH NICHT EIN 2046 MF[178]0:[143] SCREENSAVER INIT 2100 [151]648,204:[158]49245:[153]" 2102 T$=TI$:FORI=1TO6:POKE3,VAL(MID$(T$,I,1))+193:SYS49185 2104 IFI=2ORI=4THENPRINT""; 2108 NEXT:POKE648,4:SYS49200 2112 PRINT""SPC(12)"[158] [146]"SPC(13)"[158] [146] 2114 [153]""[166]12)"SYS WAIT"[166]13)"SYS WAIT 2120 POKE214,14:SYS58732 2122 W$="AUS":IF(PEEK(P)AND1)THENW$="EIN 2124 [153][163]29)W$ 2126 W$[178]"KEINER":[139]([194](P)[175]2)[167]W$[178]"VORHANDEN 2128 PRINTTAB(29)W$ 2130 WK=.:W$="AUS":IF(PEEK(P)AND4)THENWK=1:W$="EIN 2132 [153][163]29)W$:[139]WK[167][141]400 2134 [153]""[163]38)R$(QQ):QQ[178]1[171]QQ 2200 [143] HEIZUNG EINSCHALTEN --------- 2202 [139]TI$[179][177]U1$[167]2300 2204 [151]P,[194](P)[176]1:[143] HEIZUNG AN 2300 [143] HEIZUNG AUSSCHALTEN --------- 2301 [143] NUR, FALLS KEIN SCHNEE MEHR VORHANDEN 2302 [139](([194](P)[175]2)[178]1)[176]([194](P)[175]1)[178]0[167]2400 2304 [151]P,[194](P)[175]254:[143] HEIZUNG AUS 2306 [151]214,18:[158]58732:[153][163]38)"(null) 2400 REM WECKZEIT 1 ------------------ 2402 IFTI$<>U2$THEN2500 2403 POKE214,19:SYS58732:PRINTTAB(38)"[209] 2404 [139]FL[167]2500 2405 [143] WECKEN, FALLS SCHNEE 2406 [139]([194](P)[175]2)[178]0[167]2500:[143] WEITERSCHLAFEN... 2408 [141]3000:[143] WECKER AN 2500 [143] WECKZEIT 2 ------------------ 2502 [139]TI$[179][177]U3$[167]2600 2503 [151]214,20:[158]58732:[153][163]38)"(null) 2504 IFFLTHEN2600 2506 GOSUB3000:REM WECKER EIN 2600 REM SCREEN-SAVER ---------------- 2602 IFMF=100THEN2700 2604 IFPEEK(P)AND4THENMF=0:GOTO2700:REM NUR FALLS KEIN ALARM 2606 MF=MF+1:IFMF<20THEN2700 2608 POKE53265,43:REM BILDSCHIRM AUS 2610 MF=100 2700 REM TASTENDRUCK AUSWERTEN ------- 2702 GETA$:IFA$=""THEN2800 2704 POKE53265,27:REM BILDSCHIRM EIN 2706 MF=0:REM SCREEN-SAVER INIT 2708 IFPEEK(P)AND4THENPOKE214,22:SYS58732:PRINTTAB(38)"[209] 2710 [151]P,[194](P)[175]251:[143] WECKER AUS 2712 [139]A$[178]"_"[167][138] 2714 [139]A$[178]"^"[167]2000 2800 [137]2100 3000 [143] WECKER AN ------------------- 3002 FL[178]1:[143] WECKFLAG 3004 [151]53265,27:[143] BILDSCHIRM AN 3006 [151]P,[194](P)[176]4:[143] WECKER EIN 3008 [142]