Posts by darkvision

    Glauben findet in der Kirche stat... ;)

    Das Programm ist schon fertig... war heute morgen etwa 1h Arbeit... und funktioniert (zumindest bei meinem SD2IEC). Du kannst das ja mit dem "t-wa"-Befehl auch unter BASIC testen... bei mir geht das mit oder ohne DXX...


    Es gibt aber keine Garantie das es bei jedem Funktioniert... das mit der SoftwareRTC kann ich z.B. nicht testen. Ich hab das auch mal für CMD assembliert und das funktioniert dann an realer Hardware, aber nicht unter VICE (zumindest bei meiner alten Version). VICE scheint hier DOW und Datum abzugleichen und wenn DOW nicht zum Datum passt, dann wird das Datum geändert. Meinem SD2IEC und der CMDHD ist der DOW egal, Datum wird gesetzt auch wenn der Wochentag falsch ist (bei geoRTC2SD immer 0). Der Wochentag spielt ja für den angenommen Usecase keine Rolle.

    Ja, aber für die Zeitstempel der Dxx auf der SD-Karte ... ;-) .

    OK, stimmt...

    So ein geoRTC2SD ist jetzt nicht wirklich kompliziert, den Code zum setzen der Uhr im SD2IEC mit der aktuellen GEOS-Zeit hab ich heute schon in GDOS eingebaut, es ist also alles vorhanden was man dazu benötigt, bisschen Copy'n'Paste und fertig.


    Wie bei geoSD2RTC verzichte ich aber auf eine Laufwerkserkennung, d.h. es würde auch nur für die Laufwerke funktionieren, die unter GEOS konfiguriert sind. Der GEOS.Editor hat die SDs ja schon erkannt.


    Der Wochentag bleibt dann bei Sonntag, es sei denn ich kombiniere das mit geoCham64RTC (das ja auch die U2 auslesen kann) und ergänze dort eine Funktion "Aktualisiere SD-Laufwerke"... dann könnte man auch den Wochentag im SD2IEC setzen... Da müsste ich mir dann aber Überlegen wie man das ein-/ausschalten kann (z.B. S0: oder S1: am Anfang des Infotextes für SD Aus/Ein...). Aber auch das wäre nur für bereits erkannte SD-Laufwerke...

    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.

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

    Danke für den Hinweis. 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"...

    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...

    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 ;)

    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
    1. /* Default date/time if the RTC isn't present or not set: 1982-08-31 00:00:00 */
    2. const PROGMEM struct tm rtc_default_date = {
    3. 0, 0, 0, 31, 8-1, 82, 2
    4. };

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

    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 #30). Das neue SD2IEC hat zwar ein RTC, am Anfang aber ohne Batterie und da kam aber Fehler#31 (Zeit nicht korrekt gesetzt). Passt alles so zum README vom SD2IEC.


    Wenn bei Dir ein RTC vorhanden wäre, das aber nicht gepuffert ist, müsste eigentlich auch der Fehler #31 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.

    Ä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:


    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...

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

    Code
    1. 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.

    Ich hoffe doch, es interessiert auch andere. :)

    Mich interessiert sowas immer wieder, verstehen tue ich davon auch recht wenig, obwohl beim 6510-Thread ein paar Dokumente und Bilder geposted wurden, die schon etwas mehr ins Detail gehen (z.B. der Schichtaufbau). Ich dachte immer der blaue ist der unterste Layer und dann kommen zwei Schichten drüber. Aber ganz so ist es wohl nicht.


    Manchmal mach ich mir die Mühe einen Diff zum vorherigen Bild anzulegen, um genau zu sehen wo das was dazukam. Rein aus Interesse...

    Ist bei der Auflösung jetzt nicht 100%ig korrekt.


    Aber wenn ich mir das letzte Bild anschaue, kann es sein das bei der DieArt oder den Ebenen-Markern noch was fehlt? Rechts bei dem CD oder rechts unten unter dem 6561r0 bzw. neben MOS? Da gehört doch bestimmt auch noch was zum Metal-/Polylayer...

    Heute kam mein neues SD2IEC hier an... mit LCD+RTC... also fix unter GEOS ein Tool programmiert das die Uhr von GEOS beim Systemstart mit der RTC des SD2IEC synchronisiert. Gibt es bestimmt schon... aber als kleine Aufgabe nach der Arbeit genau das richtige...



    TODO: Code nach GDOS64 übernehmen...

    Ich hab mal die ersten $2200 Bytes der beschädigten und der neuen Version verglichen, absolut identisch. Ab $2200 aber völlig unterschiedlich. Das dürfte bestätigen das es a) vermutlich die gleiche Version ist und b) beim kopieren damals was schiefgelaufen ist (oder die Diskette bereits Fehler enthielt...)


    Daher: Danke an Juergen Johannes !

    Also zumindest die 64er-Version kann gar nicht funktionieren, ist m.E. beschädigt.


    Nach dem Start springt das Programm nach $0FF4, dort steht ein JSR $303F, das erste Modul reicht aber nur von $0400-$2A1C (das ist das was GetFile eingelesen hat). Es wird also Code ausgeführt, der zufällig an der Adresse $303F im Speicher steht. Sieht so aus als fehlt hier etwas... das erklärt dann auch den Absturz oder die Rückkehr zum DeskTop (je nachdem was da an Code im Speicher steht...)


    Bei DualTop3 steht dort eine Routine die als erstes das C128-Flag testet... dort liegt die bei $3055. Ist also in jedem Fall eine andere Version, auch wenn "Bitte Disk mit DualTop3 einlegen" im Programm enthalten ist...