Dokumentation zu "DCF" Version 2.7a =================================== Copyright ­­­­­­­­­ 'DCF' ist urheberrechtlich geschützt, darf aber kopiert, weitergeben und benutzt werden, solange dabei folgende Bedingungen erfüllt werden: 1) es wird kein Gewinn mit dem Verbreiten der Programme/ Quelltexte gemacht. Im Inland darf fÜr eine Diskette inkl Versand nicht mehr DM 5,- verlangt werden. Die Programme/ Quelltetxe dürfen nicht einem kommerziell vertriebenem Produkt beiligen. 2) die Dateien - dcf - dcf.info - dcf.dok - dcf.mod werden nur zusammen und unverändert weitergegeben. 3) er wird sich ordentlich bei der Herstellerfirma beschwert, daß sie mein Programm nicht gekauft hat. :-) (Auf ihren "Auftrag" hin habe ich mir viel Arbeit für diese Firma gemacht, ohne darauf einen Vertrag oder einen nenneswerte Entlohnung zu bekommen.) Entstehung ­­­­­­­­­­ Dieses Prg entstand notwendigerweise, als ich mir von einem hinreichend bekannten deutschen Elektronik-Versand einen Bausatz für einen DCF-77 Empfänger bestellte. Nach dem erfolgreichen Zusammenbau des tatsächlich nicht mehr als streichholzschachtelgroßen SMD-Bausatzes wollte ich die an- kommenden Informationen auch auswerten. Und da konnte ich mich natürlich nicht mit der mitgelieferten C64-Diskette zufrieden geben. ;-) Hardware ­­­­­­­­ Z.Zt. läuft das Prg mit oben beschriebenem Empfangs-Modul, dessen TTL-Ausgang anstatt des Joystick-Feuerknopfes an die CIA geht. Für einen anderen Weg des Signals in den Computer läßt sich das Prg problemlos anpassen, zumindest solange es sich um einen CIA-Port handelt. Programmlauf ­­­­­­­­­­­­ Nach dem Start über Workbench oder CLI wartet DCF zuerst auf eine "Sekundenanfangsmarke", welche dadurch gekennzeichnet ist, daß das sekündliche Signal einmal ausfällt. Darauf werden die einzelnen Bits gesammelt und sofort ausgewertet. Wenn alle Daten zusammen sind (nach genau einer weiteren Minute) werden Datum, Status-Bits und Zeit ausgegeben und die Systemzeit des Amiga entsprechend gesetzt. Mann hat dann mit "date" oder der "clock" die genaue (!), offizielle (!) Zeit der BR Deutschland und kann die Zeitansage im Radio auf ihre Genauigkeit überprüfen... In der "ENV:"-Environment-Variablen "TZ" steht außerdem die gültige Zeitzone (MET oder MEST). Staus-Anzeige ­­­­­­­­­­­­­ Während dcf läuft gibt es laufend einige Status-Informationen in folgendem Format aus: - sec.: 0 errs.: 0 valid running sb pb1 pb2 pb3 | | | | | | \ | / | Sekundenzähler | | | | \ | / | | | | | \ | / | | | | | \|/ -> aktuelles Bit | | | | Prüfbit 1-3 korrekt empfangen high: '+' | | | -> Startbit wurde empfangen low: '-' | | -> Minutenmarke wude empfangen | -> der Datensatz ist gültig -> Zahl der aufgetretenen Fehler Nach dem Programmstart erscheint zunächst folgende Anzeige: - sec.: 0 errs.: -1 startup-sequence ­­­­­­­­­­­­­­­­ Es ist sinnvoll, 'dcf' in die startup-sequence einzubinden. Bei mir steht es ganz am Ende, um das nicht weiter benötigte CLI-Fenster zur Statusausgabe zu verwenden: ... loadwb ashell con:0/10/640/245/AShell Failat 21 dcf IF NOT FAIL setclock save ELSE echo "Was ist mit dem DCF-Empfänger?" ENDIF endcli >NIL: Wenn einen den Einlesevorgang nicht interessiert, kann man auch folgendes sagen: runback dcf Oder, von einer interaktiven Shell: run dcf >NIL: Die Systemzeit wird in den letzten beiden Fällen natürlich trotzdem gesetzt. resident ­­­­­­­­ DCF ist voll reentrant. D.h. es kann mit RESIDENT oder ARES (je nachdem, ob man die Comodore-Shell oder die ARP-Shell verwendet) resident gemacht werden. Es kann auch mehrmals gleichzeitig verwendet werden, ohne daß es dazu neu geladen werden muß oder unnötigen Speicher belegt. Jahr-2000 Problem ----------------- Das dcf77-Signal enthält 2 4-Bit Stellen für die Jahreszahl. Da die ursprüngliche Version die beiden stellen einfach zu "1900" addiert hatte, hatte sie einen klassischen y2k-Bug. Der von mir nach dem "Windowing"-Verfahren behoben wurde. (Andreas Horneffer) -- Martin Horneffer