Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => FutureOS => Topic started by: TFM on 08. April 2019, 21:38:05

Title: SYMBiFACE II RTC und FutureOS
Post by: TFM on 08. April 2019, 21:38:05
Hallo SF2 Nutzer!

Beim Start schaltet das FutureOS die RTC des SF2 in den BCD Modus. Besteht eigentlich der Wunsch das zu unterlassen? Falls ja, kann ich das ja anpassen.
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: almasys on 09. April 2019, 19:32:00
Oh ja, FutureOS möge dieses Verhalten bitte unterlassen, denn mein SF2DATE.COM nutzt die Echtzeituhr wie SymbOS.

Danke,
AMSi
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: TFM on 10. April 2019, 15:12:24
Hier mal eine Test-Version, welche die Uhr nicht in den BCD Modus stellt... Man kann das OS also ganz normal starten, benutzen und verlassen, die RTC wird nicht angetatscht.

Aber Achtung: Das Einstellen von Zeit oder Datum schaltet die Uhr auf BCD-Modus. Also bitte Zeit und Datum unter SymbOS einstellen.

Über eine Rückmeldung (klappt oder "ist Mist") würde ich mich freuen.  :)

Die Testversion hier ist erst mal nur für den CPC6128 (nicht den Plus), beim nächsten Update ist die Funktion aber dann für alle mit dabei.
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: LambdaMikel on 19. April 2019, 20:08:30
BCD-Modus? Ja, intern verwendet die LS 3.0 RTC DS3231 ebenfalls BCD fuer die Codierung... warum man das allerdings extern am API bereitstellen sollte, ist mir ein Raetsel, also raus damit. Ich wuerde das API immer Decimal auslegen, BCD ist doch gehirnkrank fuer ein API :D
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: TFM on 21. April 2019, 02:27:49
Ganz einfach, weil bei der BCD Kodierung die beiden Stellen einer Zahl (Stunde, Monat etc.) bereits von einander getrennt sind und nicht erst von Binär auf BCD umgerechnet werden müssen. Deshalb haben die frühen RTCs auch alle nur BCD gehabt (z.B. die von Dobbertin). Spart Rechenzeit und Speicherplatz.
Gegenfrage: Was ist der Vorteil von Binär-Kodierung? Hab ich nie kapiert.  :)
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: LambdaMikel on 21. April 2019, 02:52:03
Na ja, intern is das ja schön und gut und so macht das die DS3231 auch, aber zum Abfragen und Setzen der Uhrzeit / der Stunden, möchte man doch lieber einfach nur die Dezimal-Zahl "setze 23 Stunden" senden, statt das erst umrechnen zu müssen: 4 bit für 2, 4 bit für 3, macht "0100 0011" -> macht 67... lieber sende ich direkt 23 :P Na und das Dekodieren ist ebenfalls umständlich. Wenn ich erst Bit-Arithmetik betreiben muss um die Uhrzeit zur erfahren.. aber wie auch immer, kann man ja machen wie man will. Bei LS 3.0 habe ich das Interface / API dezimal ausgelegt, um BCD-Arithmetik zu vermeiden. Ich verstehe natürlich dass man das intern als BCD kodiert in der Uhr, da man dann Bytes spart. Ein API sollte davon aber m.E. "abstrahieren" und Dezimal-Ergebniss sind nun mal am intuitivsten.
Title: Re: SYMBiFACE II RTC und FutureOS
Post by: TFM on 25. April 2019, 01:50:02
Hä? Glaube Du redest von 2 Arten von BCD. Na egal, solange man jede Ziffer direkt vor sich hat und 19 Uhr nicht als &13 gelesen/geschreiben wird - sondern als &19 wie es sich gehört.  :zunge0020: :smiley027: :00008351: