home *** CD-ROM | disk | FTP | other *** search
- 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 <RETURN>
- 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]
-