Dokumentation zu "DCF" Version 2.7
==================================

   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.


--
Martin Horneffer
