Am 05.12.22 um 11:38 schrieb Michael van Elst:
> Andreas Kohlbach <
a...@spamfence.net> writes:
>
>> Da wurde auch nur etwas zum Tic von 1/60 pro Sekunde gesagt. Also
>> maximale Abweichung von 1/60 Sekunde pro Sekunde, wenn ich das richtig
>> verstehe. Also maximal 1 Sekunde nach einer Minute?
>
> Der C64 hat zwei "Uhren", die mit der Netzfrequenz getaktet werden
> können (50 oder 60Hz).
Das ist m.E. nicht *ganz* richtig. Der C-64 enthält zwei CIA 6526 und
jeder davon enthält eine 24 Stunden Uhr. Die zählt aber AFAIR keine
Tage, da müsste man ein Programm dauernd laufen lassen um das zu zählen.
Und die Netzfrequenz (von 50 ODER 60 Hz wird aus der 9 V AC Versorgung
abgeleitet und diesen Chips als Externem Bezugstakt für die Uhr zugeleitet.
> BASIC verwendet die aber nicht, TIME$ zählt nur Timer-Interrupts
> und die hängen am CPU-Takt. Du bist also abhängig von der Genauigkeit
> des Taktgenerators und der Präzision des Timers.
Und von der Interrupt-häufigkeit und wie oft dabei Interrupts gesperrt
werden. Z.b. bei Kassetten-operationen.
Da sind die Uhren in den CIA vermutlich genauer weil Last-unabhängig.
Dafür hängen die am Bezugstakt der Netzfrequenz. Und die ist bestenfalls
über den Tag oder längere Zeiträume einigermaßen stabil.
Es gab allerdings auch mal einen Zeitraum da die Netzfrequenz in
Relation zur "Normalzeit" etliche Sekunden hinterher hinkte und das über
wochen.
Wenn man die CIA Uhr setzt und seine 2FA Keys dann nur mit kurzen
Gültigkeiten erstellte dann klappt das vielleicht noch. Aber wenn der
C-64 so erst mal eine weile liefe und man dann die uhr nicht neu stellt
und dann keys erstellt dann dürften die Zeiten schon auseinander
gelaufen sein.
Man bräuchte also im grunde noch einen ntp-client und auch ein LAN damit
dieser die Zeit holen kann. Hmm, irgend eine form von Vernetzung gab es
doch mal. Ah ja. Contiki, RR-Net, Clockport sagt
c-64-wiki.de