Hallo Besucher, der Thread wurde 5,9k mal aufgerufen und enthält 47 Antworten

letzter Beitrag von Hucky am

$DC09 - $DC0B (Echtzeituhr) spinnt

  • Zitat

    Wie setzt Du die Uhr eigentlich? Nicht dass Du da in aller Ruhe POKEs absetzt, und währenddessen liest der Interrupt alle Register und lässt so die Uhr weiterticken. Die besagte Register-Reihenfolge muss natürlich nicht nur beim Lesen, sondern auch beim Schreiben eingehalten werden, und Lesen und Schreiben sollten tunlichst getrennt voneinander ablaufen.

    Uhrzeit wird nur beim Programmstart gesetzt bevor die IRQ Routine startet.

    Stunde, Minute, Sekunde, Zehntel.

    In dieser Reihenfolge lese ich im IRQ auch aus.


    Zitat

    also bitte VICE aktualisieren, bevor das hier weiter geht. :D

    werde ich tun :thumbup:

    Es ist das erste mal, dass ich nicht auf echter Hardware programmiere - keinen Platz (mehr) um ein System mit Moni dauerhaft aufgebaut zu lassen. :|

    Kommt wenigstens endlich mal mein Keyrah zum Einsatz, den ich mal vor 100.000 Jahren auf der vorletzten, oder letzten Willow Party gewonnen habe :D

    Zum zocken hab ich nen U64 - das ist im Wohzi schnell über HDMI angestöpselt ^^

    Aber ist ja auch keine echte Hardware um den Code zu probieren...

    Wenn die aktuelle Vice Version auch nicht fruchten will bau ich dann doch mal nen Systsm auf.

    Alternativ das AM/PM Flag selber "verwalten".

    Wie schon gesagt, es muss ja auch mit dem AM/PM BIT in $DC0B funzen !

  • Zitat

    Die 2.4 Vice-Version ist knapp 7 Jahre alt!

    =O

    immer wieder krass wie schnell die Zeit vergeht ?(

    Keine Ahnung wo die letzten 5-6 Jahre geblieben sind :|

    Seh ich immer wieder bei FB:

    Heute vor 6 Jahren :facepalm:

    Man denkt es wäre erst gestern gewesen...

  • So.

    Unter Vice 3.2 springt die Uhr auf PM bzw. AM wie sie soll.

    Allerdings ist der bekannte Bug beim setzen nicht nur bei 12.00.00 Uhr, sondern sobald nur die 12 vorne steht. AM wird zu PM, PM wird zu AM :facepalm:

    Ich bastel mir das Flag jetzt selber.

  • Allerdings ist der bekannte Bug beim setzen nicht nur bei 12.00.00 Uhr, sondern sobald nur die 12 vorne steht. AM wird zu PM, PM wird zu AM

    Wiewaswo? In VICE? An real hardware? Oder nur mit Deinem Programm?

    Ich bastel mir das Flag jetzt selber.

    Wie meinst Du das? Du ignorierst das Flag aus den TOD-Registern und entscheidest selber in Deinem Programm, ob auf die gelesene Uhrzeit nochmal 12 Stunden aufaddiert werden?

  • Zitat

    Wiewaswo? In VICE? An real hardware? Oder nur mit Deinem Programm?

    Hab meinen Code mit dem aktuellen Vice probiert. Das 7. Bit wird nun gesetzt, bzw. gelöscht beim Umschalten von 11.59.59 auf 12.00.00

    Ich kann es auslesen und mit meinem Code entsprechend die Uhrzeit zwischen 00.00.00 und 23.59.59 anzeigen lassen.

    Setze ich aber z.B. 12.59.50 (7.Bit gelöscht) wird das 7. Bit sofort nach dem starten gesetzt und umgekehrt.

    12.59.50 PM wird beim starten der Uhr zu AM.

    Mit echter Hardware wollte ich es dann nicht mehr testen - zu grosser Aufwand.

    Mache ich vlt. noch - nur aus Neugierde.


    Zitat

    Wie meinst Du das? Du ignorierst das Flag aus den TOD-Registern und entscheidest selber in Deinem Programm, ob auf die gelesene Uhrzeit nochmal 12 Stunden aufaddiert werden?

    ja, so in etwa.

    Beim stellen der Uhr schreibe ich zusätzlich in eine Adresse ein 0 (AM) oder eine 1 (PM)

    Beim Wechsel der Stunde von 11 auf 12 werden die Werte umgedreht - das "Signal" invertiert.

    Ist es nun 0 oder 1 wird entsprechend 12 abgezogen, 12 addiert, oder bleibt so.