Hello, Guest the thread was viewed4.1k times and contains 36 replies

last post from Unseen at the

SD2IEC Diskwechsel per Floppy Kommando möglich

  • Wenn es beim Kinzi geht, muss das ja entweder an der Firmware liegen, oder an der Hardware.

    Deswegen vorhin meine Frage nach der Firmware Version, wobei beim LCD-SD2IEC meine ich die aktuelle Firmware drauf zu haben.

    Oder gibt es ggf. ein Kommando (was noch nicht dokumentiert ist?!) das wie der Knopfdruck am Gerät arbeitet ?

  • Deswegen vorhin meine Frage nach der Firmware Version,

    Ich hab die gleiche Firmware wie Du...


    Bei D64: Nutze ich innerhalb eines D64 den Befehl:


    @CD//TEST.D64


    Dann bekomme ich eine Fehlermeldung. Raus aus dem D64 mit @CD<- und dann nochmal


    @CD//TEST.D64


    dann funktioniert der Wechsel. Der Befehl nutzt also das korrekte DiskImage. Geht nur nicht innherhalb eines DiskImages. Zumindest hier.

  • So, ich habe "ATENTDEAD 16" als Firmware.


    Ich war eben spazieren und habe es nun nochmals probiert, es funktioniert nicht. Ich schwöre Stein und Bein, dass ich es zuvor mit den gleichen beiden Images ausprobiert hatte und dass es da funktioniert hatte. :nixwiss:


    Ich hatte beim ersten Versuch beim Diskwechsel einen 39, FILE NOT FOUND, 00, 00, weil ich ".D64" statt ".d64" geschrieben hatte. Als ich das korrigiert hatte hat es geklappt /daher meine Frage oben).


    Gut, jetzt stehe ich wie ein Trottel da :facepalm:, aber ich bin mir sicher, dass ich vorher nichts anders gemacht hatte. Ich werde es später nochmals genauer ausprobieren, im Moment ruft die Raubtierfütterung.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Geht dieser Knopfdruck (inzwischen) auch per einzelnem Floppy Command ?

    Bisher nicht, ich sah bislang keinen Bedarf und es hat auch niemand danach gefragt.

    Damit könnte man z.B. 12 DNP Images auf Root der SD Karte legen und, wenn man z.B. ein BBS betreibt, in die jeweiligen Images wechseln

    Warum sollte man das so umständlich machen statt einfach die Dateien direkt auf der SD-Karte abzulegen?

  • Das hat nur einen Grund: Kompatibilität zu bestehender Software.

    Ich kann hier im Detail nur von C*BASE berichten, da jedenfalls wird beim Upload von Dateien, die Größe der empfangenen Datei dadurch ermittelt, dass die Anzahl der freien Blocks vor und nach Upload mit einander verglichen wird. Das Ergebnis wird dann für das Dir Listing File (SEQ File) im BBS verwendet. Das funktioniert soweit gut, wenn die Disk 16MB, d.h. 65535 Blocks nicht überschreitet.

    Bei SD2IEC werden als Free Blocks, die Anzahl der freien Cluster (bei FAT32) ausgegeben. Eine Datei die z.B. 200 Diskblocks groß ist, wird demnach vom BBS als 1 oder 2 Blocks großes File ermittelt.


    Um dies zu umgehen, wäre es gut wenn, man analog zum wechseln von CMD Partitionen, die Images per z.B. @XC:image12.dnp wechseln könnte. Die Software schickt nur 1x einen Befehl an das Device (z.B: cp12: oder i0: oder cd//UD12 wenn man mir SD DIRs arbeitet), weswegen der Diskimagewechsel analog zum Knopfdruck oder besser direkt ins vorgegeben Image (also kein sequentielles mounten), wünschenswert wäre.


    Wenn das in die Firmware eingebaut werden könnte, wäre das wirklich ein tolles Feature !

  • Ich hätte auch eine Frage an UNSEEN und zwar zum Verzeichniswechsel. Ich stelle die mal hier, denke die passt so einigermaßen hier mit rein.


    Und zwar klappen bei mir die ganzen CMD-Befehle, die man hier so findet auf der Seite


    https://www.c64-wiki.de/wiki/sd2iec_(Firmware)


    Bis auf einen, der funktioniert irgendwie nicht und das ist der, mit dem "direkt ins Rootverzeichnis wechseln" per Befehl


    OPEN1,8,15,"CD//":CLOSE1


    Gebe ich das ein, egal ob nun komplett manuell oder mit Hilfe der "Final Cartridge 3" F8-Taste um es abzukürzen, dann passiert schlichtweg gar nichts.


    Andere Befehle, wie etwa in's übergeordnete Verzeichnis wechseln per Befehl


    OPEN1,8,15,"CD:←":CLOSE1


    funkionieren aber problemlos. Woran kann das liegen? Ist dieser "wechsle ins Rootverzeichnis" Befehl so nicht mehr gültig, oder muss der irgendwie etwas anders eingegeben werden und steht falsch im Wiki?


    Ich hab die neueste Firmware auf meinen beiden SD2IEC's drauf, also 1.0.0atentdead0-24-ga9a09fa.

  • oder besser direkt ins vorgegeben Image (also kein sequentielles mounten)

    Reicht dafür auch der (0-basierte) Index in der Swaplist? Das passt besser in die vorhandene Softwarestruktur rein.



    Woran kann das liegen?

    Keine Ahnung - ich meine, dass das mal funktioniert hätte und kann es zur Zeit nicht testen.

  • Keine Ahnung - ich meine, dass das mal funktioniert hätte und kann es zur Zeit nicht testen.


    Okay, verstehe. Kann einer der anderen SD2IEC Besitzer mal kurz den "in's Rootverzeichnis wechseln" Befehl


    OPEN1,8,15,"CD//":CLOSE1


    ausprobieren, ob der funktioniert? Etwa wenn man sich gerade im Verzeichnis eines d64 Images befindet?

  • OPEN1,8,15,"CD//":CLOSE1

    Funktioniert bei mir tadellos, wenn ich nicht in einem gemounteten Image stehe. So läuft's seit Monaten bei mir im BBS.


    Reicht dafür auch der (0-basierte) Index in der Swaplist? Das passt besser in die vorhandene Softwarestruktur rein.

    Was meinst du mit 0-basiertem Index ? Ich habe nur die Imagenamen im .lst File ggf. max. ein #PETSCII davor in der ersten Zeile.

    Wie auch immer Du das machen möchtest, ich wäre zufrieden wenn es überhaupt irgendwie geht :)

  • Was meinst du mit 0-basiertem Index ? Ich habe nur die Imagenamen im .lst File ggf. max. ein #PETSCII davor in der ersten Zeile.

    Na ja, das x-te Image in der Swapliste halt, wobei die Zählung mit 0 anfängt.

  • Funktioniert bei mir tadellos, wenn ich nicht in einem gemounteten Image stehe. So läuft's seit Monaten bei mir im BBS.


    Aaaaah, man darf dazu also nicht in einem gemountetem d64 Image sein. Leider war genau das bei mir aber immer der Fall, wenn ich das ausprobiert hatte, denn mein SD2IEC hat keinen eigenen Resetbutton. Ich resette immer über ein ebenfalls eingestecktes FC3 und da verbleibt das SD2IEC dann immer im zuletzt gemountetem d64 Image und genau aus der Umgebung heraus, hatte ich diesen Befehl immer erfolglos probiert um auf schnellstem Weg in's Rootverzeichnis zu kommen.


    Der andere Befehl, also das "in's nächsthöhere Verzeichnis gehen", klappt auch aus gemounteten Images heraus problemlos, aber der Root Befehl nicht. Das war der entscheidende Hinweis.


    Damit ist die Sache dann klar, danke für's Ausprobieren.

  • Kann die / eine SD2IEC Firmware auch mit .dhd Images arbeiten ? Also alle Partitionen inkl. System Partition einer HD ?

    Falls ja, geht dann dort der Partitionswechsel in einem gemounteten .dhd per @cp ?

    Bei meinem SD2IEC geht das nicht, oder ich mache was falsch :?:

  • Bei den bekannten befehlen bekomme ich bei meiner SDIEC keine sinnvollen Ergebnisse.

    Weil M-R fast immer "00, OK, 00, 00" zurückliefert. Es gibt ja kein Laufwerks-RAM/ROM im SD2IEC. Aus dem Handbuch:

    Du kannst das Listing über die Datei "$" einlesen. Die letzte Zeilennummer enthält die Anzahl der freien Cluster, ist aber bei großen SD-Karten fast immer 65535 Blocks. Ist aber auch nicht wirklich zuverlässig oder hilfreich.


    Du kannst aber testen ob Du in einem DiskImage bist oder auf der SD-Karte. Der U1-Befehl liefert in einem DiskImage "00, OK, 00, 00", auf der SD-Karte bekommst Du "20, READ ERROR, 01, 01".

    Code
    1. 10 open 5,8, 5,"#"
    2. 20 open15,8,15,"u1 5 0 1 1"
    3. 30 get#15,a$
    4. 31 t$="disk image"
    5. 32 ifasc(a$+chr$(0))<>48thent$="sd2iec"
    6. 33 printt$
    7. 35 get#15,a$:ifst=0then35
    8. 40 close15
    9. 50 close5

    Ich hoffe ich hab das jetzt richtig vom C64-Bildschirm abgetippt... auf der SD-Karte wird "SD2IEC" angezeigt. Ist man in einem DiskImage wird "DISK IMAGE" angezeigt. Trotzdem funktioniert der M-R-Befehl nicht. Aber innerhalb des DiskImage kannst Du das Verzeichnis einlesen. Letzte Zeile / Zeilennummer = Anzahl der freien Blocks.