Die Echtzeituhr von dk'tronics bietet nicht nur permanente Zeit, sondern auch noch eine Schnittstelle zur Peripherie. Bei den PCs zählen heutzutage Systemuhren schon fast zu den festen Bestandteilen der Grundausstattung. Sie sind mit Batterien oder Akkus versehen und müssen daher nicht nach jedem Einschalten des Rechners neu gestellt werden, wie das etwa beim Atari ST der Fall ist. Eine solche Uhr gibt es schon seit geraumer Zeit auch für die CPCs. Die Platine mit Timer und Steuerlogik ist in einer soliden Kunststoffbox untergebracht. Dieses Modul wird èinfach auf den Expansionsport des Rechners aufgesteckt. Der Bus ist durchgeführt: Somit kann man andere für diesen Port vorgesehene Erweiterungen problemlos anschließen bzw. belassen. Zur Stromversorgung dient eine Minibatterie, deren Energieabgabe während der Betriebszeit des Computers unterbrochen ist. Die Ganggenauigkeit der Uhr läßt sich von außen mit einem Schraubendreher justieren. Auf der Platine befinden sich zwei Chips. Der erste, ein 146818, ist der Timer. Zu seiner Ansteuerung wurde ein Z8420A (Z80A-PIO) verwèndet. Das geschieht über Port A dieses PIO-Chips. Port B dieses Bausteins wird für den Timer nicht benötigt. Seine acht Datenleitungen stehen dem Anwender somit frei zur Verfügung. Dazu sind sie in Form eines neunpoligen Standard-"D"-An-schlusses (siehe Joystick) auf der linken Seite des Uhrmoduls herausgeführt. Dieser Port wird am zweckmäßigsten im Modus drei betrieben, in dem sich die acht Pins einzeln an- oder abschalten lassen. Zudem kann auch noch jeder Pin als Ein- oder Ausgang benutzt werden. 10 OUT&FBE3.&FF 'port B control: mode 3 20 OUT &FBE3,&X11110000 'bits: 7-4 input, 3-0 output 30 OUT &FBE1,&X00001010 'port B data: bits3+1 on 40 A%=INP(&FBE1) 'read port B 50 A%=A% AND &X11110000 'input bits 7-4 onlySo kann man mit einem CPC, diesem Interface mit Timer, einem entsprechendem Steuerprogramm und einer "intelligenten” , externen Steuerlogik ein schon vorhandenes oder noch zu definierendes Peripheriefeld kontrollieren. Das kleinste Intervall des Timers ist eine Sekunde. Seine Nutzung ist allerdings nicht unbedingt erforderlich. Denkbar wäre die Ausgabe eines 8-Bit-Wertes (0 bis 255) an eben diese angenommene externe Steuerlogik, der dort als Befehl interpretiert wird und dann einen mehr oder weniger umfangreichen Prozeß startet. Dies wäre zum Beispiel das Schalten verschiedener untergeordneter Peripheriegeräte, wie Weichen und Signale einer Modelleisenbahn, Modelle der Fischer-Technik und anderes. Die Anzahl der Kommandos läßt sich durch 16-Bit-Anlage der externen Steuerlogik noch erheblich steigern. Dazu werden dann eben zwei aufeinanderfolgende 8-Bit-Werte als Einheit verarbeitet. Der Timer selbst läßt sich mit der mitgelieferten Software sowohl unter Basic als auch unter CP/M Plus einfach betreiben. Für CP/M ist dies eine normale COM-Datei; für Basic erhält man eine RSX-Erweiterung, die an jede freie Stelle im RAM geladen werden kann. Die Daten der Uhr für Jahr, Monat, Tag, Tageszahl (Sonntag = 1), die Uhrzeit und den Wecker stehen im RAM des 146818. Dieses hat eine Kapazität von 64 Byte, wovon 50 noch nicht belegt sind. Hier lassen sich noch andere Daten ablegen, die beim Einschalten des Computers (ein entsprechendes Programm vorausgesetzt) abgefragt werden. Die Anleitung für den Betrieb der Uhr uöd des Interfaces ist leider nur in Englisch zu haben, enthält aber alle nötigen Informationen und ist auch mit nur geringen Englischkenntnisen leicht zu verstehen. Wer die neue Schnittstelle und ihr RAM direkt programmieren will, wird wohl um eine Disassemblierung der beiden Programme nicht herumkommen. Für den allgemeinen Gebrauch dürfte die mitgelieferte Software in dieser Form jedoch durchaus genügen. RSX-Befehle: - |SETTIME Datum und Uhrzeit stellen
- |ASKTIME Datum und Uhrzeit abfragen
- |PEEKRTC ein Byte aus dem RAM des 146818 lesen
- |POKERTC ein Byte in das RAM des 146818 schreiben
- |TIMEON ühizeit in Spalte, Zeile anzeigen
- |TIMEOFF Uhrzeit-Anzeige aus
- |ALARMON Wecker stellen und starten
- lALARMOFF Wecker aus
Unter CP/M Plus läßt sich das Programm CLOCK.COM nach dem Booten automatisch starten. Dazu muß man eine Datei PROFILE.SUB auf der Systemdiskette anlegen, in der zumindest die Zeile CLOCK.COM enthalten ist. Dann werden beim Laden von CP/M Plus automatisch die systeminternen Speicherzellen für Uhrzeit und Datum aktualisiert. Um die Uhr zu stellen, zum Beispiel von Sommer- auf Winterzeit, gibt man CLOCK TT/MM/JJ SS/MM/SS ein. Interessant ist vielleicht noch folgender Hinweis : CPC 464 und 664 werden mit einer 64K-RAM-Erweiterung von dk'tronics und CP/M-Plus-Systemdiskette CP/M-Plus-fähig. Beim CPC 464 ist natürlich noch der Anschluß von mindestens einem Laufwerk erforderlich. H.H.Fischer , CPC Magazin |