Hallo Besucher, der Thread wurde 9,4k mal aufgerufen und enthält 43 Antworten

letzter Beitrag von C=Mac am

Wheels und DNP-Images (SD2IEC)

  • Da ich in der Zwischenzeit ein SD2IEC (SW2-M1284P) habe und damit auch DNP-Images unter Wheels funktionieren sollte, hab ich mich frisch ans Werk gemacht.


    Leider scheint dies nicht so ganz zu funktionieren, oder ich mach was falsch.


    Eingerichtet ist die SD-Karte folgender masse:


    - HD.BIN ist vorhanden (von SD2IEC.de)
    - Ordner GEOSDNP ist vorhanden (wie in der Anleitung zum uIEC-Manager von Werner beschrieben)
    - DNP-Image ist vorhanden


    Gestartet wird die HD.BIN mit dem Befehl: "open1,8,15,"XR:HD.BIN":close1


    Soweit scheint auch alles zu funktionieren.
    Wheels kann vom DNP-Image gestartet werden und erkennt es auch als HD.


    Irritierend sind:


    - Bei einem leeren DNP-Image ist die Füllstandsanzeige kariert. Die Wheels-Anleitung meint dazu:


    Zitat

    Anmerkung: Wenn die Füllstandsanzeige jemals als komplett grau schattierter Bereich erscheint, ist das ein Hinweis, das der Dashboard ein Problem auf der Diskette entdeckt hat und die Diskette wird aufgeräumt. Eine falsch geschlossene Datei kann die Ursache dafür sein, ebenso wie die Anzeige einer ungültigen Anzahl von freien Blöcken einer Disk.


    - Die Angaben der Speichergrösse/Blöche weicht von einander ab.
    Total Space: 15'088k (60'352 blocks)
    Space free: 15'095k (60'380 blocks)


    Der freie Speicher ist grösser als der gesamte Speicher ?(



    Wie gesagt, Wheels ist aus dem Image startbar.


    Aber das kopieren einer CMD-HD Partition auf die SD-Karte (DNP-Image) klappt leider nicht wie gewünscht.


    Das Kopieren (Diskkopie) kann gestartet werden, es wird auch ohne Probleme durchgeführt und beendet.


    Leider sind aber einzelne Ordner beschädigt.
    Beim Versuch sie zu öffnen, erhalte ich die Fehlermeldung: Disk Error $0D.
    Beim Klicken auf OK verlangt er Re-Insert disk "", was nur wieder zur Fehlermeldung führt.


    Ebenfalls sind immer wieder einzelne Dateien beschädigt "Bad File".


    Aufräumen (C=V) bringt keine Fehlermeldung und auch keine Änderung.



    Mach ich was falsch oder ist die Aufgabe to much?


    Gruss C=Mac.

  • - Bei einem leeren DNP-Image ist die Füllstandsanzeige kariert. Die Wheels-Anleitung meint dazu:

    Wie hast Du das leere DNP erstellt?
    Das Programm von hier ( d81 erstellen mit Bordmittel ) setzt mindestens eine bestimmte Firmware (SD2IEC ab 1.0.0alpha0-40) vorraus. In den Versionen davor (Du hattest doch die offizielle 0.10.3 drauf) funktioniert der Format-Befehl nur innerhalb von D64.


    Versuche mal das empty.dnp von der sd2iec-Seite. Tritt da das gleiche Problem auf? Ich benutze hier zum Erstellen von DNP "64copy" von https://ist.uwaterloo.ca/~schepers/download.html


    Gruß
    Werner

  • Wie hast Du das leere DNP erstellt?

    Einerseits das von der SD2IEC-Seite, anderseits selber erstellt mit dem PRG von "d81 erstellen mit Bordmittel".


    Es spielt aber keine Rolle, bei allen ist die Füllstandsanzeige kariert/schraffiert und die Speicher-/Blockbelegung stimmt nicht überein.



    Image Block's à 64 KB Basic Block's free Wheels Total Space Wheels Free Space
    Von SD2IEC 65'245 16'304k (65'216) 16'311k (65'245)
    512KB 8 2'013 496k (1984) 503k (2'013)
    1 MB 16 4'061 1'008k (4'032) 1'015k (4'061)
    4 MB 63 16'093 4'016k (16'064) 4'023k (16'093)
    12 MB 188 48'093 12'016k (48'064) 12'023k (48'093)
    16 MB 250 63'965 15'984k (63'936) 15'991k (63'965)


    Bei allen Image ist die "Total Space" kleiner, als die "Free Space"; "Free Space" entspricht der Basic-Anzeigen.


    Ob dies das Problem ist, kann ich leider nicht sagen.


    Ich könnte auf dem Image alle Ordner manuell erstellen und die Dateien per Hand kopieren.
    Dies ist aber nicht wirklich praktikabel, per Diskcopie ist es halt bequemer.




    setzt mindestens eine bestimmte Firmware (SD2IEC ab 1.0.0alpha0-40) vorraus. In den Versionen davor (Du hattest doch die offizielle 0.10.3 drauf) funktioniert der Format-Befehl nur innerhalb von D64.

    Ist nicht mehr das selbe SD2IEC ^^
    Firmware ist die aktuellste; 1.0.0atentdead0-16-g357fe83 2017-02-28.


    Gruss C=Mac.

  • Hallo C=Mac,

    Ist nicht mehr das selbe SD2IEC
    Firmware ist die aktuellste

    Ah, ja, dann ist ja gut .... :thumbsup:


    Bei allen Image ist die "Total Space" kleiner, als die "Free Space"; "Free Space" entspricht der Basic-Anzeigen.

    Das dürfte das Problem sein!
    Irgendwie funktioniert die DNP-Geschichte auch in Wheels nicht 100%ig :-( . Konnte das jetzt hier nachvollziehen.


    Habe hier ein DNP (Boot-Disk von Wheels128, Größe am PC: 1.638.400 Bytes), von dem ich problemlos booten kann. Hier stimmt nach dem Booten alles. Auch die Füllstand-Anzeige ist OK. Leider weiss ich nicht mehr, wie ich das erstellt habe. Das DNP ist von 2008 ....
    Sobald in Wheels einmal etwas auf das DNP geschrieben wird (Aufräumen, Löschen, Kopieren) stimmt auch hier etwas nicht mehr (Füllstand-Anzeige). Ansonsten keine Fehlermeldungen.


    Meine Vermutung:
    Ein DNP ist ein reines Abbild einer NativePartition. Es enthält aber keinerlei Angaben über Art, Postion und Größe der Partition auf einer HD. Die wird bei der CMD-HD wo anders (wahrscheinlich irgendwo im Bereich $8000-$93ff im Speicher der CMD-HD) gespeichert. Da diese Informationen aber in Wheels mit einem DNP nicht vorliegen, zeigt Wheels unter "Disk" - "Info" zufällige (unbestimmte) Werte an.
    Ich vermute mal, dass es auch deshalb beim Disk-Copy HD --> SD2IEC (DNP) unter Wheels zu Problemen (Fehlern) kommt .......


    Gruß
    Werner

  • Irgendwie funktioniert die DNP-Geschichte auch in Wheels nicht 100%ig . Konnte das jetzt hier nachvollziehen.

    Super, dann ist kein "Spezialproblem", welches nur exklusiv für mich ist ;)



    Sobald in Wheels einmal etwas auf das DNP geschrieben wird (Aufräumen, Löschen, Kopieren) stimmt auch hier etwas nicht mehr (Füllstand-Anzeige).

    Bei mir ist die Füllstandsanzeige nur kariert, wenn das DNP-Image leer ist.
    Sobald Daten auf dem Image gespeichert werden, ist sie normal.


    Hab mal versucht mit DraCopy eine Native-Partition von der CMD-HD in ein Image zu kopieren.
    Hat nicht wirklich funktioniert, die Grössenangaben waren völlig durch den Wind und die Füllstandsanzeige blieb immer kariert.


    Interessant finde ich, dass es immer 7 KB sind, egal wie gross das DNP-Image ist.




    Ich vermute mal, dass es auch deshalb beim Disk-Copy HD --> SD2IEC (DNP) unter Wheels zu Problemen (Fehlern) kommt

    Liegt im Bereich des möglichen.
    Hab mal eine Partition von "Hand" kopiert. (Jeden Ordner manuell erstellt und die Daten hinein kopiert).
    Diese Partition hab ich dann von der SD wieder auf eine HD-Partition kopiert, per Disk-Copy (Wheels).
    Ohne Probleme, kein Ordner und keine Datei war beschädigt.


    Dabei ist mir aber aufgefallen, das mindestens eine HD-Partition fehlerhaft ist.
    Der freie Speicher ist viel zu gross (unter Wheels, MP3, Basic).
    Aufräumen (Wheels, MP3, GeoDos) hat keine Veränderung gebracht.
    Ich konnte aber alle Dateien ohne Problem kopieren.


    Dies war aber immer meine "Versuchs"-Partition.
    Muss mal mit einer anderen probieren.


    Gruss C=Mac.

  • Bei mir ist die Füllstandsanzeige nur kariert, wenn das DNP-Image leer ist.

    Da muss ich mir leider selber widersprechen ;(


    Hab ein neues DNP-Image erstellt (3584 Blocks), bei diesem bleibt die Füllstandsanzeige immer kariert.
    Auch ändert sich die Speicherbelegung nicht, egal ob eine Datei oder mehrere im Image gespeichert werden.


    Eventuell ist die Angelegenheit noch Image-Grösse abhängig?


    So ganz scheint die Sache noch nicht zu klappen.


    Gruss C=Mac.

  • Hallo C=Mac,

    Bei mir ist die Füllstandsanzeige nur kariert, wenn das DNP-Image leer ist.
    Sobald Daten auf dem Image gespeichert werden, ist sie normal.

    Das kommt hier darauf an, wie groß die kopierte Datei ist. Wenn ich ausschließlich den uIEC-Manager auf ein leeres DNP kopiere (3 kB / 14 Blocks) bleibt die Füllstandsanzeige wie sie ist. Kopiere ich das gleiche File mit anderem Namen nochmal (gesamt 6kB / 28 Blocks) normalisiert sich die Füllstandsanzeige wieder.


    Interessant finde ich, dass es immer 7 KB sind, egal wie gross das DNP-Image ist.

    Naja, die kB Angabe war eigentlich schon immer etwas ungenau ;-) . Das wird mehr oder weniger geschätzt. 4 Blöcke auf Disk sind 1 kB. Was zeigt er bei 5, 6 oder 7 Blöcken an?? 8 Blöcke wären dann "genau" 2 kB.


    Eventuell ist die Angelegenheit noch Image-Grösse abhängig?

    Möglich, keine Ahnung .....


    Gruß
    Werner


    PS: "Pusti64" liest Du hier mit?

  • Eventuell ist die Angelegenheit noch Image-Grösse abhängig?

    Schein so zu sein.


    Es sieht so aus wenn alle DNP-Image unter 512 KB (8 Blocks à 64 KB) und alle zwischen 512 KB - 1 MB (9 - 15 Blocks à 64 KB) nicht funktioniert.


    Die Restlichen welche ich probiert haben funktionieren.


    Funktioniert = Füllstandsanzeige funktioniert, xxxk free wird runter gezählt
    Nicht funktioniert = Füllstandsanzeige bleibt immer kariert, xxxk free bleibt immer auf den Leerwert.


    Gruss C=Mac.

  • Hallo,

    Irgendwie funktioniert die DNP-Geschichte auch in Wheels nicht 100%ig . Konnte das jetzt hier nachvollziehen

    Bei mir ist die Füllstandsanzeige nur kariert, wenn das DNP-Image leer ist.

    Das Problem könnte sein, dass Wheels bei einem DNP die wichtigsten Daten (Größe und Art der Partition) nicht von da lesen kann, wo sie bei einer CMD-HD eigentlich stehen. Ich gehe mal davon aus, dass Du das "fakehd.bin" (von Unseen) auf dem SD2IEC benutzt. Das enthält genau 2 Bytes ("HD") an der Stelle, wo Wheels nach dem Laufwerks-Type sucht. Der Rest ist mit 0-Bytes gefüllt.
    Ein DNP enthält keine Daten darüber. Es ist nur ein Dump der eigentlichen Partition.


    Das DOS der HD ist genau 27.648 Bytes groß und beginnt ab Adresse $9400 im Speicher der HD. Das "fakehd.bin" beginnt ab Adresse $8000 (deshalb ist es 32 kB groß). Bei der CMD-HD stehen im Bereich von $8000- $93ff einige Angaben über die Partitions-Tabelle.


    Ein DNP ist unter Wheels immer Partition 1, zumindest zeigt Wheels mir das so an ;-) .



    Ich will jetzt mal versuchen, in fakehd.bin Werte für Partition 1 festzulegen. Dabei gehe ich zunächst mal davon aus, dass das DNP die maximal auf der CMD-HD mögliche Größe hat. Das sind 255 Tracks mit je 256 Sektoren pro Track (also 16.711.680 Bytes Dateigröße).


    Wenn ich das Handbuch zur CMD-HD richtig verstehe (siehe Anhang D "CMD HD Erweiterte Speichertabelle" (Seite 87)), sind dazu folgende Adressen wichtig:


    - $8200 - $82ff (Partitionstyp-Tabelle)
    - $8300 - $83ff (Partitionsgröße High-Byte)
    - $8600 - $86ff (Partitionsgröße Low-Byte)


    Man müßte theoretisch also nur 3 Werte ändern: $8201, $8301 und $8601 (jeweils für 1. Partition)


    Aber in welchen Format liegen diese Werte vor?



    Wie kann ich helfen?

    Hier kommst Du ins Spiel ;-) .



    Welcher Wert steht im Bereich $8200-$82ff im HD-RAM für Native-Partition?


    Welcher Wert steht im Bereich $8300 - $83ff für das High-Byte der Partitionsgröße (maximal auf der HD mögliche Größe einer Native-Partition)?


    Welcher Wert steht im Bereich $8600 - $86ff für das Low-Byte der Partitionsgröße (maximal auf der HD mögliche Größe einer Native-Partition)?



    Mit diesen Werten kann ich hier dann mal schauen, ob sich da in meinem DNP (maximale Größe) etwas ändert und die hier beschriebenen Problme viellecht gelöst werden können....


    Danke.


    Gruß
    Werner

  • Das Problem könnte sein, dass Wheels bei einem DNP die wichtigsten Daten (Größe und Art der Partition) nicht von da lesen kann, wo sie bei einer CMD-HD eigentlich stehen. Ich gehe mal davon aus, dass Du das "fakehd.bin" (von Unseen) auf dem SD2IEC benutzt. Das enthält genau 2 Bytes ("HD") an der Stelle, wo Wheels nach dem Laufwerks-Type sucht. Der Rest ist mit 0-Bytes gefüllt.Ein DNP enthält keine Daten darüber. Es ist nur ein Dump der eigentlichen Partition.


    Diese zwei Byte sind das einzige, was Wheels per M-R aus dem Laufwerksspeicher liest.


    Zitat

    Man müßte theoretisch also nur 3 Werte ändern: $8201, $8301 und $8601 (jeweils für 1. Partition)


    Die kannst du gerne ändern, aber meinen Logs nach liest Wheels von dort keine Daten.


    Wie kann ich helfen?


    Führ mal das folgende Programm aus, ggfs. mit angepasster Geräteadresse für die HD. Es verwendet den von Wheels benutzten Befehl zum Auslesen der Informationen der aktuellen Partition, die ggfs. vorher geeignet gewählt werden sollte (zB mit open1,8,15,"cp42":close1).

    Code
    1. 10 open1,8,15
    2. 20 print#1,"g-p"+chr$(255)
    3. 30 get#1,a$:if a$="" then a$=chr$(0)
    4. 40 print asc(a$),
    5. 50 if st=0 then 30
    6. 60 close 1
  • Ich gehe mal davon aus, dass Du das "fakehd.bin" (von Unseen) auf dem SD2IEC benutzt.

    Richtig, ist gibt glaub auch nichts anderes.



    Ein DNP ist unter Wheels immer Partition 1, zumindest zeigt Wheels mir das so an .

    Ist bei mir auch so.
    Spielt, aus meiner Sicht, auch keine Rolle ob Partition 1 oder 254 ^^



    Dabei gehe ich zunächst mal davon aus, dass das DNP die maximal auf der CMD-HD mögliche Größe hat. Das sind 255 Tracks mit je 256 Sektoren pro Track (also 16.711.680 Bytes Dateigröße).

    Könnte ich nicht mal sagen.
    Müsste nachsehen, was HD-Tools als max. Partitionsgrösse zulässt.


    Kleine Anmerkung.
    Ich hab irgendwie im Hinterkopf, das es einen Bericht in der 64'er gab, dass nicht die max. Grösse benutzt werden sollte.
    Man solle die max. Grösse um eins verkleinern.
    Kann aber nicht mehr sagen, warum und ob dies DOS-Version abhängig war/ist.
    Ich hab jedenfalls nie die max. Grösse verwendet.
    Grösste Partition 65'024 Blocks, laut Partitionsliste.


    Bei einem DNP sieht es sicherlich anders aus.


    Bei den ganzen technischen Fragen, kann ich Dir leider nicht helfen ;(


    Gruss C=Mac.

  • Hallo Männer, was davon soll ich denn nun machen?

    Könntest du das nochmal mit einer Native-Partition wiederholen? Deine Partition mit Nummer 2 auf dem Laufwerk und dem Namen "GEOS 128 MP V3.0" ist laut der Ausgabe nur eine 1581-Emulations-Partition (bei sd2iec wäre es ein D81).


    Edit: Ach ja, Daten für je eine 1541/1571-Emulations-Partition zu haben wäre auch noch praktisch.