home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 94xx / 9401.d64 / schnee-indikator (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  5KB  |  159 lines

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