Kopieren mit xdos

1, 2

Kopieren mit xdos

von eda70 » Mi 18. Mär 2009, 14:39
Wie kopiert man denn mit xdos?
Wollte mir das helpfile mit auf eine Diskette kopieren.
Ist mit Dos2.5 (E) kein Prob (Quelle D1, Ziel D2)
Aber mit XDOS??? :roll:

EDIT: Gibts die Anleitung dafür online? Wo?

von skriegel » Mi 18. Mär 2009, 14:52
Im Magazin 94 war eine Referenzkarte dazu drin. In den Spezialthemen gab es auch irgendwo noch einmal einen korrigierten Link von S.D. zu eben dieser.

Ich selber habe mal eine Diskettenhülle zum Selberausdrucken mit der XDOS-Referenz erstellt, schau mal dort (Links sind noch aktuell):
http://www.abbuc.de/modules.php?name=Fo ... light=xdos

Ansonsten geht COPy ähnlich wie in 2.5, nur eben ohne Komma:

z.B.: COP D1:datei.ext D2:

von eda70 » Mi 18. Mär 2009, 15:45
Ah, danke, COP D1:datei.ext D2: - klaptt hervorragend.
Bei DOS 2.5 tippt man E und wird dann aufgefordert, erst Quelle und dann Ziel einzugeben. Nach COP (enter) kommt eine Dateiliste mit Y/N, aber wie man dann das Ziel angibt, habe ich nicht herausgefunden.

von skriegel » Mi 18. Mär 2009, 17:47
Die Y/N-Abfrage kannst Du mit dem Parameter "/N" unterdrücken.
Das Ziel gibst du nur einmal an, nämlich beim COP Befehl. Die Abfrage erlaubt es dir lediglich im Nachhinein noch zu bestimmen, welche Dateien tatsächlich kopiert werden. Ein erneute Zieleingabe geht da nicht.

von dl7ukk » Mi 18. Mär 2009, 20:45
Hi Edda70
eda70 hat geschrieben:Bei DOS 2.5 tippt man E und wird dann aufgefordert, erst Quelle und dann Ziel einzugeben.



Ja das macht eben den Unterschied aus. Bei Mydos kommt doch auch keine Aufforderung.

Probiers mal aus!

Re: Kopieren mit xdos

von eda70 » Do 25. Feb 2010, 16:28
Habe heute versucht mit xdos 2.43 eine Datei von D2: nach D3: zu kopieren (EMU) ging nicht.
Code: Alles auswählen
COPY D2:MEIN.TXT D3:

Bug? Dau? EmuBug?

Re: Kopieren mit xdos

von dl7ukk » Do 25. Feb 2010, 16:45
Hi,

Damit bekomme ich auch ERROR 170

Nimm doch 2:COP A.TXT 3: dann klappt es auch :D

COP vs COPY

Re: Kopieren mit xdos

von eda70 » Do 25. Feb 2010, 16:56
Also Dau - Mist :roll:
Danke.

Re: Kopieren mit xdos

von dl7ukk » Do 25. Feb 2010, 22:44
.
So würde ich das nicht sehen,

nur wer nichts macht, macht keine Fehler :: :beer:

Re: Kopieren mit xdos

von eda70 » Fr 26. Feb 2010, 14:54
Noch'n Problem:
Beim COPieren von H bricht xdos nach 259 Sektoren ab mit Fehler 163
Woran kann das liegen und wie kann man das fixen.

Nur mal Interesse halber
warum muss man beim Kopieren von H nach D den Zielnamen mit angeben also bspw.
COP H1:MEIN.TXT D1:MEIN.TXT
statt wie sonst üblich
COP H1:MEIN.TXT D1:

Danke schon mal...

Re: Kopieren mit xdos

von dl7ukk » Fr 26. Feb 2010, 20:54
Hi,

Beim Kopieren nach/von H: wird eine andere Routine vom Emu verwendet. Das gibt es ja beim XL nicht.

Kopieren von 259 Sec. habe ich noch nicht probiert.

Re: Kopieren mit xdos

von Dietrich » So 28. Feb 2010, 19:35
Hi,

XDOS habe ich für minimalen Speicherbedarf geschrieben. Daher ist alles so kompakt wie nur irgendmöglich programmiert. Dafür gibt es ein paar Einschränkungen.

1) COP vs. COPY: Alle Befehle bei XDOS sind genau 3 Zeichen lang. Um auch COPY statt COP zu erlauben, müsste jeder Befehl seine eigene Länge bekommen, was Speicher kostet (etwa 50 Byte). Und einfach nur die ersten 3 Zeichen zu prüfen ist nicht gut, da dann Eingaben wie "COPPER" als COPY behandelt würden statt das COM-Programm COPPER.COM zu laden...

2) COP D1:FILE H: geht nicht, weil dazu der Zieldateiname von H: auf H:FILE geändert werden müsste. XDOS modifiziert jedoch nicht den Zieldateinamen, sondern setzt nur ein Kennzeichen, das dem D:-Gerät mitteilt, den beim Lesen der Datei bereits hinterlegten Quelldateinamen zu benutzen. Das geht natürlich nur, wenn auf Gerät D: gespeichert wird, das von XDOS selber verwaltet wird. Könnte man natürlich auch ausprogrammieren, das kostet aber ca. 100 Byte.
COP H:FILE D1: geht aus demselben Grund nicht.

3) Das Kopieren großer Dateien von H: geht nicht, weil XDOS diese in mehreren Schritten lesen müsste. Dazu wäre bei erneutem Öffnen der Quelldatei das Versetzen des Dateizeigers (POINT nach vorherigem NOTE) nötig. Auch das erledigt XDOS mit Hilfe eines einfachen Kennzeichens im D:-Gerät, da das kürzer ist, als die POINT- und NOTE-Befehle explizit abzusetzen.

Wenn die Datei nicht allzu groß ist, kann man vor dem Kopieren mit BOF das BASIC abschalten. Dann stehen 39KB statt 32KB zum Kopieren zur Verfügung, das sind 156 Double-Density-Sektoren bzw. 317 Single-Density-Sektoren (statt 127 bzw. 258 Sektoren).

4) Aus denselben Gründen funktioniert die Yes/No-Abfrage nur beim Gerät D: und nicht bei H:. Das XDOS-DUP liest nicht etwa das Directory ein, um die Dateinamen anzuzeigen, sondern diese werden beim Öffnen der angegebenen Dateispezifikation, wie z.B. *.COM, (wo ohnehin das Directory durchsucht wird) durch ein Kennzeichen automatisch angezeigt. Das spart viel Platz im Speicher, ich schätze mindestens 200 Byte.

1) und 3) könnte ich ändern. Dann würde XDOS aber etwa 100 Byte länger, d.h. LOMEM steigt von $1DF0 auf etwa $1E60. Oder ich müsste was anderes rauswerfen (Infozeile, F2#, 14KB RAM-Disk, XF551-Unterstützung, ???).

Re: Kopieren mit xdos

von tfhh » Mo 1. Mär 2010, 09:56
Moin Moin,
Dietrich hat geschrieben:3) Das Kopieren großer Dateien von H: geht nicht, weil XDOS diese in mehreren Schritten lesen müsste. Dazu wäre bei erneutem Öffnen der Quelldatei das Versetzen des Dateizeigers (POINT nach vorherigem NOTE) nötig. Auch das erledigt XDOS mit Hilfe eines einfachen Kennzeichens im D:-Gerät, da das kürzer ist, als die POINT- und NOTE-Befehle explizit abzusetzen.

[...]

1) und 3) könnte ich ändern. Dann würde XDOS aber etwa 100 Byte länger, d.h. LOMEM steigt von $1DF0 auf etwa $1E60. Oder ich müsste was anderes rauswerfen (Infozeile, F2#, 14KB RAM-Disk, XF551-Unterstützung, ???).

Ähm, habe ich das richtig verstanden, daß der XDOS COP-Befehl nur Dateien kopieren kann, die in den Hauptspeicher passen?! :shock:

Zum Thema rauswerfen... wer nutzt denn die 14 KB RAMDISK wirklich? Es gibt genug COM-Files, die sowas nachrüsten, wer´s denn unbedingt haben will. Aber aus dem XDOS kann es wohl heraus...

Gruß, Jürgen

Re: Kopieren mit xdos

von eda70 » Mo 1. Mär 2010, 11:09
Dietrich hat geschrieben:1) und 3) könnte ich ändern. Dann würde XDOS aber etwa 100 Byte länger, d.h. LOMEM steigt von $1DF0 auf etwa $1E60. Oder ich müsste was anderes rauswerfen (Infozeile, F2#, 14KB RAM-Disk, XF551-Unterstützung, ???).

Grundsätzlich ging es mir nur darum, auszuschließen, dass ich irgendwas verkehrt mache.
Das mit dem Kopieren ist natürlich schon schade...

Re: Kopieren mit xdos

von dl7ukk » Di 2. Mär 2010, 00:15
Ähm, ähm,

tfhh hat geschrieben:Moin Moin,
Ähm, habe ich das richtig verstanden, daß der XDOS COP-Befehl nur Dateien kopieren kann, die in den Hauptspeicher passen?!



Hallo Jürgen, offenbar hast Du bislang kaum mit dem XDOS gearbeitet und kopiert. Aber das macht ja nix.
Das Kopieren großer Dateien von H: geht nicht. Dietrich hat vieles lang und breit erklärt, warum und wieso. :!:


XDOS ist und bleibt einfach ein prima XDOS 8)8)

Re: Kopieren mit xdos

von eda70 » Di 2. Mär 2010, 13:53
Noch ne Frage,
wenn ich unter xdos eine Datei öffne und mit get lese,
dann zeigt er mir - wenn die Datei über den toc/diskinhaltsverzeichnis reicht- auch diesen an.
Ist das normal?
Machen das andere Dosse auch so?
Im meine wenn ich mit Input lese, macht er das nicht.

Re: Kopieren mit xdos

von Dietrich » Mi 3. Mär 2010, 22:13
Nein, das ist nicht normal. XDOS benutzt natürlich nicht die Directory-Sektoren für Dateiinhalte. Solltest Du beim Lesen einer Datei tatsächlich Daten aus dem Inhaltsverzeichnis bekommen, ist die Dateistruktur defekt. Dann ist es aber sehr wahrscheinlich, dass Du beim Lesen einen Error 164 bekommst - ist das der Fall? Wenn Du mir ein Beispiel gibst, wie ich das nachvollziehen kann oder Dein ATR mit dem Beispielprogramm irgendwo ins Netz stellst, kann ich das ja mal untersuchen.

Re: Kopieren mit xdos

von eda70 » Do 4. Mär 2010, 12:07
Hm, konnte den Fehler jetzt nicht reproduzieren.
Das spricht dafür, dass mit dem ATR was nicht in Ordnung ist/ war.
Habe es nochmal probiert und jetzt springt er von 359,125 auf 369,1

Wie ist das eigentlich:
Wenn ich ein File öffne, beginnt es in einem bestimmten Sektor mit Byte 0
Danach springt das Byte immer von 125 auf 1 (also nicht 0)
Woran liegt das? Note zeigt doch immer auf das nächste zu lesende Byte - so steht es zumindes in den Bücher, die ich habe...? Also erst NOTE und dann GET, dann habe ich das Byte, das in der von Note genannten Adresse steht, oder? Setze ich mit Point den Zeiger auf Sec,0 (nicht am Dateianfang) bekomme ich das Byte, welches ich beim Sequentiellen Lesen bei sec-1,125 angezeigt bekommen habe. :shock::?:

Re: Kopieren mit xdos

von Dietrich » Fr 5. Mär 2010, 01:19
Genauso ist es. XDOS verhält sich da exakt wie DOS 2.5. Jeder Sektor hat 125 Datenbytes. Wenn Du das letzte Datenbyte (Index 124) per GET lliest, wird nicht der nächste Sektor gelesen (da noch nicht nötig), sondern einfach der Index in den Sektor eins hochgezählt. Daher kriegst Du dann 125 als Index bei NOTE. Beim nächsten GET merkt das DOS, dass der Index jetzt über das Ende der Daten reicht, liest also den nächsten Sektor ein, setzt den Index zurück auf 0 und liefert das nächste Byte zurück, wodurch der Index wieder eins hochgezählt wird. Daher liefert nun ein NOTE den Index 1. Eine Ausnahme ist der Dateianfang. Da wird tatsächlich sofort der 1. Sektor beim OPEN gelesen, weswegen der Index 0 ist. Das hätte man natürlich auch anders machen können, aber DOS 2.5 macht das genauso, daher hab ich mich mit XDOS daran gehalten.

Letztendlich kann Dir das aber egal sein, da Du bei POINT nur Daten mitgeben darfst , die Du per NOTE ermittelt hast, sonst droht Error 164 (Point out of file or File structure damaged) oder Error 166 (Point index too large).

Re: Kopieren mit xdos

von eda70 » Fr 5. Mär 2010, 16:49
Dietrich hat geschrieben:Letztendlich kann Dir das aber egal sein, da Du bei POINT nur Daten mitgeben darfst , die Du per NOTE ermittelt hast...

Ach wenn ich mit Note den File-Anfang ermittelt habe und die Filelänge, dann kann man zwischen den Werten wild Pointen, man muss nur aufpassen, dass man nicht über 125 beim Byte kommt und nicht in den toc und vtoc pointet :)

Kann man die Filelänge auch noch anders ermitteln als mit OPEN #1,6,0... ?
1, 2