DOS wedge

Es gibt 10 Antworten in diesem Thema, welches 2.284 mal aufgerufen wurde. Der letzte Beitrag (26. August 2012 um 20:10) ist von for(;;).

  • Kann noch nicht alles, was ich gerne hätte und ist momentan nur für BASIC 4, aber immerhin unterstützt sie im Gegensatz zur originalen Commodore-DOS-Wedge auch andere Geräte als 8:

    Bitte melde dich an, um diesen Link zu sehen.

  • Sieht prima aus. Es gibt vielleicht noch eine bessere Platzierung im Speicher. Wenn Du es etwas straffen kannst, müsste es in Tape-Buffer 1 und 2 passen: $027a-0$3ff . Dann ist der Speicher von $0400-$7fff immer frei.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Kann noch nicht alles, was ich gerne hätte und ist momentan nur für BASIC 4, aber immerhin unterstützt sie im Gegensatz zur originalen Commodore-DOS-Wedge auch andere Geräte als 8:

    Bitte melde dich an, um diesen Link zu sehen.

    So rein zum Verständnis... Bei Basic 4 sind doch die ganzen Befehle um mit der Floppy zu reden schon vorhanden, wozu braucht man hier noch die DOS-Wedge?

  • Straffen? hm... man könnte die Abfrage des aktuellen Default-Devices raus werfen, aber eigentlich dachte ich eher daran, die Wedge zu erweitern anstatt sie zu schrumpfen. Und dann sollte sie mal in ein EPROM / SoftROM - dann kann man auch mit festen Adressen arbeiten und muss sich nicht mit verschiebbarem Code auf dem 6502 quälen.

    Ah... das war das Stichwort. Wenn Du die Wedge mit festen Adressen für den Tape-Puffer baust, sparst Du auch noch mal einige Bytes. Viel Spaß damit!

  • Und dann sollte sie mal in ein EPROM / SoftROM - dann kann man auch mit festen Adressen arbeiten und muss sich nicht mit verschiebbarem Code auf dem 6502 quälen.

    Ich habe auch mal eine Frage zum Verständnis: wo liegt der Vorteil von festen Adressen ? - Ist es denn nicht egal, welche Adresse aus einem Label wird ? - Und ist das nicht sogar ein Vorteil ?

    Ich will Dir wirklich nicht reinreden. Ich mache das immer so: Tape-Buffer, zweite Bildschirmseite oder ROM, um den Speicher frei zu halten. Und es wird immer um jedes Byte geknausert. Jeder hat halt seinen Stil.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • wo liegt der Vorteil von festen Adressen ? - Ist es denn nicht egal, welche Adresse aus einem Label wird ?


    Natürlich ist es zum Zeitpunkt der Assemblierung egal, welche Adresse aus einem Label wird. Die Adresse ist zwar beliebig, aber immerhin bekannt. Das ist bei der Wedge nicht der Fall. Die verringert RAMTOP um die benötigte Anzahl Bytes und kopiert die Wedge dann dort hin - wo auch immer das dann ist. Das hat den Vorteil, dass noch andere Erweiterungen oder Tools in den oberen Speicher geladen werden können.

    Der große Nachteil ist der, dass man nur noch mit Sprungbefehlen arbeiten kann, die relativ zum aktuellem PC arbeiten, das sind beim 6502 leider nur die bedingten Sprungbefehle mit ihrer arg begrenzten Reichweite. Wenn man also größere Distanzen zurück legen möchte, muss man dort über mehrere kleine Hüpfer hinspringen.

    Eine Notwendigkeit, jedes Byte zu sparen, konnte ich bislang nicht entdecken. Wenn ein großes Programm (z.B: Visicalc) die Wedge überschreibt, dann lade ich sie eben schnell nach, wenn ich sie brauche. Eine Garantie, dass mir nicht irgendein anderes Programm an Orten wie dem Tape-Puffer oder anderen Bildschirmseiten rumspielt, gibt es ja ohnehin nicht.

  • uh... in der Doku war ein böser Fehler bei der Beschreibung, wie man das Standard-Gerät setzt.
    Beispiel für 9: da stand @Bitte melde dich an, um diesen Link zu sehen. setzt das Standard-Gerät auf 9 -- und das ist falsch.
    Richtig: Bitte melde dich an, um diesen Link zu sehen. also ohne das @ vorher. Ist in der Webseite behoben.

  • Auf vielfachen Wunsch eines einzelnen Herren gibt's eine kleine, aber praktische Änderung: nach dem Absetzen eines Befehls wird nun direkt der Laufwerksstatus angezeigt. Dieses Feature belegt übrigens 0 Bytes extra.

    Bitte melde dich an, um diesen Link zu sehen.

    So rein zum Verständnis... Bei Basic 4 sind doch die ganzen Befehle um mit der Floppy zu reden schon vorhanden, wozu braucht man hier noch die DOS-Wedge?


    Sorry, Gerrit, bei der Leichenschändung dieses Threads aus aktuellem Anlass ist mir glatt mal aufgefallen, dass ich Deine Frage damals echt überlesen habe.

    Also... besser spät als nie:

    Der Zweck der Wedge unter BASIC 4 trotz Disk-Befehlen liegt in dem Absenden von Disk-Befehlen, die nicht im BASIC 4 enthalten sind. Das sind z.B. Befehle für die Uhrzeit und Unterverzeichnisse in Verbindung mit einem petSD. Aber selbst bei einem enthaltenen Befehl ist es sinnvoll, nämlich bei CATALOG -- da ist nämlich die Wedge-Version deutlich schneller als der BASIC-Befehl, der völlig unnötigerweise das Einlesen des Listings durch unzählige UNTALK/TALKs unterbricht und wieder neu startet.

  • Der Zweck der Wedge unter BASIC 4 trotz Disk-Befehlen liegt in dem Absenden von Disk-Befehlen, die nicht im BASIC 4 enthalten sind. Das sind z.B. Befehle für die Uhrzeit und Unterverzeichnisse in Verbindung mit einem petSD. Aber selbst bei einem enthaltenen Befehl ist es sinnvoll, nämlich bei CATALOG -- da ist nämlich die Wedge-Version deutlich schneller als der BASIC-Befehl, der völlig unnötigerweise das Einlesen des Listings durch unzählige UNTALK/TALKs unterbricht und wieder neu startet.

    Das erinnert mich... BASIC 4 hat meiner Erinnerung nach 2 Befehle zum Anzeigen des Directories... CATALOG und DIRECTORY. Verhalten die sich 100% gleich oder gibt es Unterschiede?

  • Die Wedge ist nun wieder eine Bitte melde dich an, um diesen Link zu sehen., d.h. sie unterstützt neben BASIC 4 nun auch wieder BASIC 2.