geoSD2RTC von darkvision

Es gibt 30 Antworten in diesem Thema, welches 6.087 mal aufgerufen wurde. Der letzte Beitrag (4. März 2024 um 18:53) ist von markusC64.

  • Hallo,

    auf Bitte melde dich an, um diesen Link zu sehen. gibt es was neues: geoSD2RTC. Das Programm dient dazu, die Uhr (sofern vorhanden) aus einem SD2IEC auszulesen und die MP3/gDOS-Zeit entsprechend zu stellen.

    Obwohl ich keine SD2IEC mit Uhr habe, habe ich das Programm mal unter MP3-128 gestartet. Dabei ist mir ein Problemchen aufgefallen:

    Wie es aussieht, stellt das Programm die Geos-Zeit auch, wenn keine Uhr gefunden wurde. Das führt dazu, daß die Zeit des Systems trotzdem geändert wird. Finde ich unschön .... (Datum steht dann auf 2018)

    Ich würde erwarten: keine SD2IEC-Uhr gefunden --> Zeit wird nicht verändert .... (nur so als Vorschlag).

    Gruß

    Werner

  • Was zeigt denn Dein SD2IEC unter BASIC an wenn Du den Befehl an das Laufwerk sendest?

    Code
    T-RB

    Danach den Fehlerkanal abfragen.

    Bei meinem kommt da "30,SYNTAX ERROR,00,00", steht auch so im README zum SD2IEC. Wenn ich das Programm hier unter MP64 starte (am realen C64), dann kommt die Meldung "Kein SD2IEC-Laufwerk..." (beim SD2IEC ohne RTC) und die Uhrzeit wird auch nicht verändert.

    Ist die RTC nur nicht gesetzt, dann kommt "31,SYNTAX...". Beide Fehler teste ich und wenn 30/31, dann keine RTC... und die Uhrzeit wird dann auch nicht verändert.

  • Was zeigt denn Dein SD2IEC unter BASIC an

    30,SYNTAX ERROR

    Habe folgendes Programm benutzt:

    10 OPEN 15,8,15,"T-R" :REM oder "T-W"

    20 INPUTBitte melde dich an, um diesen Link zu sehen.,E,E$,T,S:CLOSE15

    30 PRINT E,E$,T,S

    Gruß

    Werner

    Ergänzung: C128DCR im 80 Zeichenmodus

  • Ähm... macht irgendwie keinen Sinn, denn "T-R" liefert immer einen SyntaxError... es fehlt das Format-Byte (A/B/D).

    Man kann das auch an einer CMD FD/HD/RAMLink testen: Dort zeigt "T-RA" über den Fehlerkanal auch Datum/Uhrzeit an... wenn RTC vorhanden.

    P.S. Das Programm ist für den Zweck besser geeignet:

    Bitte melde dich an, um diesen Anhang zu sehen.

    1.Durchlauf mit FD2000, 2.Durchlauf mit 1581...

    P.S. Und eigentlich hätte ich das schon am Anfang fragen sollen: Kommt denn die Fehlermeldung bei geoSD2RTC "Keine SD2IEC-Laufwerk mit RTC erkannt!"??? Falls nicht, dann dürfte das Programm aus irgendeinem Grund bei Dir ein "gültiges" Laufwerk finden... wenn es nicht der Fehlerstatus ist, dann wäre die genau Laufwerkskonfig unter GEOS/MP3 noch hilfreich...

  • Kommt denn die Fehlermeldung bei geoSD2RTC "Keine SD2IEC-Laufwerk mit RTC erkannt!"???

    Nein, es kommt keine Fehlermeldung.

    Aber ich habe das andere Programm (Dein Bsp.) jetzt auch gefunden (FD-Anleitung). Das sagt mir, ich hätte eine Uhr in meinem SD2IEC (uIEC3) ...

    Kann es sein, daß jedes (vernünftige) SD2IEC eine interne Uhr hat? Sie ist wohl "nur" nicht Akku-gepuffert. Das erklärt auch, daß bei mir 02.08.2008 03:xx herauskommt, wenn Dein Programm ausgeführt wird.

    Meine Konfiguration: C128 DCR mit 1541UII+, A: SD2IEC (Native), B: CBM-REU Native (12 MB vom 1541UII+), C: interne 1571, D: 1581 (emuliert vom 1541UII+)

    Wenn ich mich recht erinnere, hat z.B. das evo2 damals mit einem der CMD-Uhrenprogramme funktioniert (Zeit auslesen). Ich hatte selbst kein evo2, habe da nur supported. Ich meine, das war damals "CMDTime" (ein Prg für alle CMD-Uhren).

    Gruß

    Werner

  • Kann es sein, daß jedes (vernünftige) SD2IEC eine interne Uhr hat? Sie ist wohl "nur" nicht Akku-gepuffert. Das erklärt auch, daß bei mir 02.08.2008 03:xx herauskommt, wenn Dein Programm ausgeführt wird.

    Also meine von NC-Systems haben definitiv keine RTC und die meckern dann (Fehler Bitte melde dich an, um diesen Link zu sehen.). Das neue SD2IEC hat zwar ein RTC, am Anfang aber ohne Batterie und da kam aber FehlerBitte melde dich an, um diesen Link zu sehen. (Zeit nicht korrekt gesetzt). Passt alles so zum Bitte melde dich an, um diesen Link zu sehen. vom SD2IEC.

    Wenn bei Dir ein RTC vorhanden wäre, das aber nicht gepuffert ist, müsste eigentlich auch der Fehler Bitte melde dich an, um diesen Link zu sehen. kommen. Oder hast Du über den T-Wx-Befehl die Uhrzeit mal gesetzt?

    Ändert sich die Zeit auch, also läuft die dann mit? Falls ja, dann ist da ein "Startwert" für die RTC enthalten und wenn die RTC nicht korrekt gesetzt ist kommt halt ein falscher Zeitwert raus (eben die "Vorgabe"-Zeit im RTC...) Wenn die Mitläuft, dann hast Du eine Uhr, bleibt die Zeit unverändert, dann ist das eine Fake-Zeit.

    Ich hatte zum testen unter VICE128 mein Programm auf die CMDFD angepasst, und das funktioniert damit auch.

    Also scheint mein Programm erstmal zu funktionieren... mach doch mal ein Foto von der SD2IEC-Platine, da müsste man dann ja ein RTC-Modul/Chip/o.ä. erkennen können.

  • Das kommt durch die Software RTC Emulation, Bitte melde dich an, um diesen Link zu sehen..

    Da wird so lange Blödsinn geliefert, wie die korrekte Uhrzeit nicht explizit mit T-W gesetzt wurde. Der angehängte (mäßig getestete) Bitte melde dich an, um diesen Link zu sehen. behebt das Problem.

    Alternativ die Konfigurationsoption deaktivieren. Hilft aber natürlich beides nur wenn man die Firmware neu flasht.

  • nur der Vollständigkeit halber :wink: :

    Die Uhr läuft. Die Startzeit wird wohl von der Firmware gesetzt, keine Ahnung wie ....

    Ich habe das uIEC 3 im Jahr 2011 bei Jim Brain in den USA gekauft ( Bitte melde dich an, um diesen Link zu sehen. ) und es sieht aus, wie in den angehängten Bildern zu sehen. Diese Ausführung gab es kurze Zeit später so nicht mehr...

    Gruß

    Werner

    PS: Firmware ist lt. sd2iec.de aktuell

  • as kommt durch die Software RTC Emulation, die bei den uIECs aktiv ist.


    Da wird so lange Blödsinn geliefert, wie die korrekte Uhrzeit nicht explizit mit T-W gesetzt wurde.

    Danke für den Hinweis... also bringt es vermutlich auch nichts die Werte auf Gültigkeit zu testen (z.B. Jahr<2024), andere mit aktiver Software-RTC liefern ggf. andere Werte... oder kommt da nach dem Einschalten immer die gleiche Zeit dabei raus? Oder immer was völlig zufälliges? In RTC.c hab ich das gefunden:

    Code
    /* Default date/time if the RTC isn't present or not set: 1982-08-31 00:00:00 */
    const PROGMEM struct tm rtc_default_date = {
      0, 0, 0, 31, 8-1, 82, 2
    };

    Warum dann bei WW aber 2008 angezeigt wurde erklärt das hier nicht...

  • Die Startzeit wird wohl von der Firmware gesetzt, keine Ahnung wie ....

    Warum dann bei WW aber 2008 angezeigt wurde erklärt das hier nicht...

    Die wird mit Bitte melde dich an, um diesen Link zu sehen. initialisiert, was Bitte melde dich an, um diesen Link zu sehen. zu sein scheint.

  • OK, dann sollte ein Test auf Jahr <120 (+1900=2020) ausreichend sein. Das Jahr 2156-Problem verschieben wir dann auf die nächsten Generationen.

    In GDOS64 baue ich den Fix mal ein... dort kann man über "Befehl senden" künftig auch die Uhrzeit im SD2IEC setzen. geoSD2RTC passe ich danach an, wer aber keine echte RTC im SD2IEC hat sollte das Programm einfach nicht nutzen (obwohl da ein Fehler angezeigt wird) oder im Falle einer Software-RTC einfach mal die Uhr setzen ;)

  • "CMDTime" (ein Prg für alle CMD-Uhren)

    So, habe nachgeschaut. Auf der Diskette "CMD Utilities" (Seite 1) befindet sich das Geos-Programm "CMDTime" (hänge die Disk hier mal komplett an). Das Programm liest hier bei mir auch die Zeit aus dem uIEC V3 aus. Sollte also auch mit SD2IECs mit echter Uhr funktionieren. Nun wäre noch die Frage: Gibt es ein (Geos)Programm, das die Uhrzeit von Geos/MP3 auf ein oder mehrere CMD-Gerät(e) übertragen kann? Ich meine, da war mal irgend etwas ....

    Gefunden habe ich bisher nur geoDOS. Das liest aber die Uhr zuerst aus, so daß ich die aktuelle Zeit erst wieder manuell eingeben müßte :sad: ....

    Gruß

    Werner

  • Mir ist da nichts anderes bekannt ;)

    Was mir aber aufgefallen ist:

    * Unter VICE scheint das setzen der AM-Zeit auf CMD-RTCs nicht zu funktionieren.

    * Echte CMD-RTC-Laufwerke wollen bei der RTC das Jahr als Wert von 0-99, SD2IEC von 1900 ab aufwärts. Passt da die CMD-Doku nicht?

    * Ich muss mein Programm nicht anpassen, da ich T-RB verwende... also Jahr Modulo 100. Also bitte die Uhr setzen oder das Prog nicht verwenden.

    Das mit dem RTC auf SD2IEC ist ja schlimmer als Ultimate... :thumbdown:

    Ich meine aber das ich jetzt die meisten Ausnahmen gefunden habe... mal sehn ob GDOS64 dann fehlerfrei funktioniert... würde mich aktuell doch stark wundern...

  • Die CMD-Laufwerke könne wohl nur Y<100.... SD2IEC kann Y-1900... also bis 2155.

    Hab eben noch ein paar Tests an der CMD-HD gemacht. Werte >100 liefern nur Müll, die HD nutzt das Y=0-99-Format.

  • sd2iec unterstützt zusätzlich noch ein ISO-Format mit vierstelligem Jahr

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • sd2iec unterstützt zusätzlich noch ein ISO-Format mit vierstelligem Jahr

    Danke für den Bitte melde dich an, um diesen Link zu sehen.. Mit "T-WI" hab ich eben das Datum auf 2008 gesetzt (T-RI zeigt dann auch 2008 an...), die 1.2er-Version von geoSD2RTC meldet jetzt einen Fehler (Uhrzeit nicht gesetzt?) weil das Jahr bei "T-RD" dann <120 (1900 +120 = 2020) ist. Setze ich es mit "T-WI" oder "T-WD" auf 2024, dann funktioniert alles.

    Damit dürften diese Software-RTCs künftig ausgeschlossen werden, es sei denn die Uhrzeit wird korrekt gesetzt. Ja, man könnte generell "T-RI" verwenden, aber da ich mir nicht sicher bin ob alle SD2IEC den Befehl unterstützen bleibe ich vorerst bei "T-RD/B"...

  • Nun wäre noch die Frage: Gibt es ein (Geos)Programm, das die Uhrzeit von Geos/MP3 auf ein oder mehrere CMD-Gerät(e) übertragen kann? Ich meine, da war mal irgend etwas ....

    Moin,

    ein GEOS Programm dafür kenne ich leider auch nicht.

    Ich benutze zum Einstellen, aller CMD Laufwerke mit Uhr, das Programm "CMD-UHR" (von VCA-West 2001). Ist ein 128er Programm, aber in Basic.

    Vielleicht besteht die Möglichkeit, euch die Funktionsweise mal anzuschauen. Mit meinem "Basic" ist es leider nicht so weit her........:whistling:

    Zum Programm:

    Nach dem Start wird die Uhrzeit aller gefundenen CMD Uhren ausgelesen und angezeigt. Sind die Uhrzeiten unterschiedlich und es gibt eine "Passende", geht man bei dieser immer nur mit Return über die einzelnen Abfragen (sonst einfach einmal eine Uhr richtig stellen). Nach der letzten Abfrage kann man dann, unter anderem, wählen, ob alle angezeigten CMD Uhren die gleiche Zeit bekommen sollen. Zum Überprüfen und Einstellen der Uhrzeiten auf einen "Schlag", habe ich jedenfalls kein besseres Programm gefunden.:)

    Liebe Grüße,

    Jojo

  • Ich benutze zum Einstellen, aller CMD Laufwerke mit Uhr, das Programm "CMD-UHR" (von VCA-West 2001). Ist ein 128er Programm, aber in Basic.

    Das Programm ist interessant aber schon wegen "C128 only" für viele wohl nicht benutzbar :wink: .

    Habe es in VICE mit CMD-FD (8) und CMD-HD (11) (gleichzeitig) probiert, macht was es soll.

    ABER: Es erkennt scheinbar nur CMD-Geräte. Die Uhr meines SD2IEC (uIEC V3) wird am echten C128DCR nicht erkannt :sad: . Oder ist das bei den SD2IECs mit echter Uhr anders?

    Mein Plan ist eigentlich nur: die Software-Uhr des uIEC 3 unter GEOS/WHEELS/MP3 durch die vom 1541UII+ gesetzte GEOS-Uhrzeit auf aktuelle Datum/Zeit zu stellen. Das könnte auch für Anwender des uIEC oder des XS-1541 zutreffen (kann es selbst nur für das uIEC3 testen). Laut den CONFIG-Dateien habe diese 3 die Software-RTC eingeschaltet ...

    Gruß

    Werner

  • Mein Plan ist eigentlich nur: die Software-Uhr des uIEC 3 unter GEOS/WHEELS/MP3 durch die vom 1541UII+ gesetzte GEOS-Uhrzeit auf aktuelle Datum/Zeit zu stellen. Das könnte auch für Anwender des uIEC oder des XS-1541 zutreffen (kann es selbst nur für das uIEC3 testen). Laut den CONFIG-Dateien habe diese 3 die Software-RTC eingeschaltet ...

    Ich könnte aus dem geoSD2RTC ein geoRTC2SD machen... wenn man es dann hinter dem Prog. im Directory platziert was die Uhr aus dem Ultimate ausliest, dann würde es die Zeit auf dem SD2IEC setzen können. Das Problem ist aber das GEOS keinen Wochentag kennt, der würde dann nicht gesetzt werden können (wäre z.B. immer Sonntag=0). In GDOS64 lasse ich aktuell dem Anwender die Möglichkeit den Wochentag manuell vorzugeben bevor die Uhr im SD2IEC/CMD gesetzt wird.

    Den Wochentag aus dem Datum berechnen... ist mir jetzt zu kompliziert ;)

    Allerdings spielt die Uhrzeit auf dem SD2IEC doch unter GEOS keine Rolle, der Zeitstempel wird ja von den GEOS-Routinen erzeugt, nicht durch das SD2IEC.