Beiträge von for(;;) im Thema „DOS wedge“

    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.

    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.

    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.

    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!

    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.