1 REM *************************** 2 REM * ECHTZEITUHR 72421 64'ER * 3 REM * VON NIKOLAUS HEUSLER * 4 REM * DIENST- UND DEMOPROGRM. * 5 REM * (C) NH-120589-ARR REV.1 * 6 REM *************************** 7 : 8 REM **** PORT VORBEREITEN **** 9 : 10 POKE56579,224 11 REM D0-D3, Q5 EINGANG (0) 12 REM -CLK, -RD, -WR AUSGANG (1) 13 : 20 POKE56578,PEEK(56578)OR4 21 REM RESET AUSGANG 22 : 24 SYS58692 25 : 30 POKE56577,224 31 REM -CLK, -RD, -WR ABSCHALTEN 32 : 34 GOSUB2000 35 REM IST UHR VORHANDEN ? 36 : 40 X=15:A=0:GOSUB1200 41 REM REGISTER 15 MIT WERT 0 FUELLEN 42 REM UHR EINSCHALTEN (12 STD) 60 : 70 REM **** ANWENDUNGSBSP. **** 80 : 90 REM GOTO 100 ODER GOTO 500 95 : 96 : 100 PRINT:PRINT:PRINT"DEMOPROGRAMM ZUR RTC 72421 110 [153]:[153]"WOLLEN SIE EIN REGISTER LESEN (1) 112 PRINT" ODER BESCHREIBEN (2) ? 114 [153] 116 [153]"BITTE WAEHLEN ! 118 PRINT:POKE198,. 120 GETA$ 130 IFA$="1"THEN200 140 IFA$="2"THEN300 150 GOTO120 200 PRINT:PRINT"WELCHES REGISTER LESEN ? (NR. 0 BIS 15) 202 [133]"NUMMER";X 204 [139]X[179]0[176]X[177]15[167]100 206 : 208 [141]1100 : [143] REGISTER LESEN 210 [153]:[153]"REGISTER"X"HAT DEN INHALT"A:[137]100 300 [153]:[153]"IN WELCHES REGISTER SCHREIBEN ? 302 INPUT"NUMMER";X 304 IFX<0ORX>15THEN100 306 PRINT:PRINT"WELCHEN WERT ? (0 BIS 15) 308 [133]"NEUER INHALT";A 310 [139]A[179]0[176]A[177]15[167]100 312 : 320 [141]1200 : [143] REG. BESCHREIBEN 330 [137]208 490 : 500 [143] WIEVIEL UHR IST ES ? 510 : 520 [153]:[153]"HIER KOMMT DIE GENAUE ZEIT: 530 PRINT:PRINTTAB(12)"ES IST";:NM=0 540 : 542 X=5:GOSUB1100 544 REM STUNDEN-ZEHNER LESEN 550 IF(AAND4)=4THENNM=1:REM NACHMITTAG 552 H=AAND3 554 : 556 X=4:GOSUB1100 558 REM STUNDEN-EINER LESEN 560 H=A+H*10+NM*12:REM 12 -> 24 STUNDEN 562 H$=STR$(H):IFH<10THENH$=" 0"+CHR$(H+48) 564 PRINTH$":"; 566 : 568 X=3:GOSUB1100 570 REM MINUTEN-ZEHNER LESEN 572 PRINTCHR$(A+48); 574 : 578 X=2:GOSUB1100 580 REM MINUTEN-EINER LESEN 582 PRINTCHR$(A+48)":"; 584 : 588 X=1:GOSUB1100 590 REM SEKUNDEN-ZEHNER LESEN 592 PRINTCHR$(A+48); 594 : 598 X=0:GOSUB1100 600 REM MINUTEN-EINER LESEN 602 PRINTCHR$(A+48) 604 : 610 PRINT"[145][145][145]":GOTO530 620 : 629 REM - KOMMENTAR: 630 REM DA DIESE ROUTINEN IN BASIC GE- 631 REM SCHRIEBEN SIND, ARBEITEN SIE 632 REM NATUERLICH NICHT SO SCHNELL 633 REM WIE EIN ASSEMBLERPROGRAMM. BE- 634 REM SONDERS DAS ANFAHREN (ZEILEN 635 REM 1000FF) VERZOEGERT IN BASIC 636 REM DOCH SEHR... 800 : 960 : 970 REM **** DIENSTROUTINEN **** 980 : 1000 REM REGISTER X ANFAHREN ******* 1001 : 1002 POKE56576,PEEK(56576)OR4: POKE56576,PEEK(56576)AND251 1004 REM KURZEN RESET-IMPULS 1005 : 1006 IFX=.THENRETURN : REM REGISTER 0 IST ERREICHT 1007 : 1010 FORI=1TOX : REM SONST X MAL CLOCKEN 1014 POKE56577,PEEK(56577)AND223: POKE56577,PEEK(56577)OR32 1016 REM KURZEN CLOCK-IMPULS (LOW AKTIV) 1018 NEXT:RETURN 1020 : 1100 REM LESE REGISTER X NACH A ******* 1101 : 1102 GOSUB1002:REM REGISTER X ANFAHREN 1103 : 1104 POKE56579,224 1105 REM D0-D3 AUF EINGANG : 1106 POKE56577,PEEK(56577)AND127 1107 REM READ-SIGNAL : 1108 A=PEEK(56577)AND15 1109 REM D0 BIS D3 LESEN : 1110 POKE56577,PEEK(56577)OR192 1111 REM READ UND WRITE AUS : 1112 RETURN 1120 : 1200 REM SCHREIBE A IN REGISTER X ******* 1201 : 1202 GOSUB1002:REM REGISTER X ANFAHREN 1203 POKE56577,PEEK(56577)OR192:REM READ UND WRITE AUS (ZUR SICHERHEIT) 1204 POKE56579,239 1205 REM D0-D3 AUF AUSGANG : 1206 POKE56577,(PEEK(56577)AND240)OR(AAND15) 1207 REM A AUF D0-D3 (ZUM PORT) : 1208 POKE56577,PEEK(56577)AND191 1209 REM WRITE-SIGNAL : 1210 POKE56577,PEEK(56577)OR192 1211 REM WRITE UND READ AUS : 1212 POKE56579,224 1213 REM D0-D3 AUF EINGANG : 1214 RETURN 1216 : 2000 REM MODUL ANGESCHLOSSEN ? ******* 2001 : 2002 POKE56576,PEEK(56576)OR4 2003 REM RESET AN : 2004 POKE56576,PEEK(56576)AND251 2005 REM RESET AUS 2006 : 2010 FORI=1TO16 2011 REM 16 MAL CLOCKEN, D4 TESTEN : 2012 IF(PEEK(56577)AND16)=16THEN2100 2013 REM WENN ZU FRUEH GESETZT, FEHLER : 2014 POKE56577,PEEK(56577)AND223 2015 REM CLOCK-SIGNAL : 2016 POKE56577,PEEK(56577)OR32 2017 REM CLOCK AUS : 2018 NEXT 2019 : 2020 FORI=1TO16 2021 REM 16 MAL CLOCKEN, D4 TESTEN : 2022 IF(PEEK(56577)AND16)=0THEN2100 2023 REM WENN NICHT GESETZT, FEHLER : 2024 POKE56577,PEEK(56577)AND223 2025 REM CLOCK-SIGNAL : 2026 POKE56577,PEEK(56577)OR32 2027 REM CLOCK AUS : 2028 NEXT 2029 : 2030 IF(PEEK(56577)AND16)=16THEN2100 2031 REM WENN D4 NOCH GESETZT, FEHLER : 2032 PRINT"OK." 2034 RETURN 2035 : 2100 PRINT:PRINT"MODUL NICHT ANGESCHLOSSEN !" 2104 END 2106 : 2200 : 2202 REM ****************************** 2204 REM RTC-ENTWICKLUNG: N. HEUSLER 2206 REM ZWENGAUERWEG 18, 8 MUENCHEN 71 2208 REM FUER MEHR INFO (RUECKPORTO!) 2210 REM ******************************