XDOS, aktuelles Laufwerk

1, 2

XDOS, aktuelles Laufwerk

von cpg » So 29. Mai 2016, 20:31
Servus zusammen,

weiß jemand, wie ich unter XDOS im Programm herausfinden kann, was das aktuelle Laufwerk ist?

Viele Grüße,
chris

Re: XDOS, aktuelles Laufwerk

von Tron04 » So 29. Mai 2016, 23:27
Hallo Chris,

weiß nicht genau was Du meinst, aber das momentane aktive Laufwerk wird ja direkt im Prompt (z.B. D1: ) angezeigt.

Sonstige Infos gibt es hier:
https://atariwiki.org/wiki/Wiki.jsp?page=XDOS%202.43
http://www.strotmann.de/~cas/Infothek/XDOs/

Re: XDOS, aktuelles Laufwerk

von cpg » Mo 30. Mai 2016, 00:38
Tron04 hat geschrieben:weiß nicht genau was Du meinst, aber das momentane aktive Laufwerk wird ja direkt im Prompt (z.B. D1: ) angezeigt.


Ja, aber wie weiß das Programm, daß z.B. "D2" aktiv ist?

Die Doku kenne ich, da hab' ich nix gefunden (vielleicht hab ich was übersehen?).

Viele Grüße,
chris

Re: XDOS, aktuelles Laufwerk

von skriegel » Mo 30. Mai 2016, 00:50
Das weiß ein Programm erst, wenn es versucht, auf ein Laufwerk zuzugreifen. Dann gibt es eine Rückmeldung, oder eben nicht. Man kann ja problemlos ein Laufwerk aus- und wieder einschalten, während der Atari läuft, ohne dass ihn das stört. Hauptsache es ist da, wenn der Atari schreiben oder lesen will.

Um Deine Frage zu beantworten: Versuche das Inhaltsverzeichnis auszulesen. Wenn ein Error 138 (Gerät antwortet nicht) kommt, ist das Gerät ausgeschaltet oder nicht angeschlossen. Also nicht aktiv.

Re: XDOS, aktuelles Laufwerk

von cpg » Mo 30. Mai 2016, 00:57
skriegel hat geschrieben:Das weiß ein Programm erst, wenn es versucht, auf ein Laufwerk zuzugreifen. Dann gibt es eine Rückmeldung, oder eben nicht. Man kann ja problemlos ein Laufwerk aus- und wieder einschalten, während der Atari läuft, ohne dass ihn das stört. Hauptsache es ist da, wenn der Atari schreiben oder lesen will.

Um Deine Frage zu beantworten: Versuche das Inhaltsverzeichnis auszulesen. Wenn ein Error 138 (Gerät antwortet nicht) kommt, ist das Gerät ausgeschaltet oder nicht angeschlossen. Also nicht aktiv.


Ich will ja nicht wissen, ob das Gerät vorhanden ist, ich will nur wissen, welche Nummer nach dem "D" im Prompt steht. Also "D1:", "D2:", ..., "Dn:".

Zum Hintergund, ich will die "__getdefdev" Funktion der cc65 Runtime-Library an XDOS anpassen.

Viele Grüße,
chris

Re: XDOS, aktuelles Laufwerk

von skriegel » Mo 30. Mai 2016, 15:59
Ah, ok, dann habe ich die Frage falsch verstanden. Sorry.

Ich bin da nun keine Instanz, was die Beantwortung dieser Frage angeht, aber hast Du mal im Profibuch ( PDF siehe dort -> Das Atari Profibuch ) nachgeschaut?

Dort finde ich z.B. auf Seite 160 unter 2.12.6 "Zahl der Diskettenlaufwerke":

Code: Alles auswählen
Die Zahl der angeschlossenen Diskettenlaufwerke kann im Register DRVBYT (1802; $70A) eingestellt werden. Jedes gesetzte Bit dieses Bytes repräsentiert ein Laufwerk. Dabei steht Bit 0 für Laufwerk 1, Bit 1 für Laufwerk 2 usw. Eine Anpassung dieses Registers an die tatsächlich vor-handene Gerätekonfiguration ist insofern von Vorteil, als einerseits Spei-cherplatz gespart und andererseits die Länge des Bootvorgangs verkürzt wird, da dann nicht erst erfolglos auf nicht existierende Laufwerke überprüft wird.
Die Zahl der Dateien, die gleichzeitig geöffnet sein können, ist im Regis-ter SABYTE (1801; $709) zu finden.


Schau Dir das Profibuch mal an, da sollten alle benötigten Infos für Dich drin stehen.

Re: XDOS, aktuelles Laufwerk

von Tron04 » Mo 30. Mai 2016, 16:11
Ich denke das Chris eher wissen möchte "wo" sich XDOS gerade befindet. Also welches das aktuell aktive Laufwerk im XDOS ist. Denke mal das Stefan Dorndorf (Forumname: Dietrich) als Autor von XDOS weiterhelfen kann.

Re: XDOS, aktuelles Laufwerk

von skriegel » Mo 30. Mai 2016, 16:41
Stefan scheint gerade nicht sehr aktiv zu sein. Daher mein Hinweis auf das Profibuch. Denn Stefan arbeitet immer sehr "sauber" und macht keine "komischen" Sachen.
Ich weiß nicht, wie genau XDos das macht, vermute aber, dass es sich an die Standards hält, und die findet man wohl im Profibuch. Aber vielleicht hilft es, Stefan oder einem der Floppy-Profis (Erhard, der FloppyDoc, tfhh, Meister aller Klassen) gezielt anzuschreiben. Die lesen eher im Hardware-Teil des Forums mit. Und die wissen sicher, wie XDos das macht, behaupte ich.

Re: XDOS, aktuelles Laufwerk

von slx » Mo 30. Mai 2016, 21:23
Ich bin auch nicht ganz sicher, ob ich die Frage richtig verstanden habe, aber nach ein wenig ausprobieren glaube ich nicht, dass es außerhalb des XDOS Command Processor überhaupt einen "default drive" gibt.

Wenn man im DOS den default drive umstellt und danach aus einem BASIC, dass DIR unterstützt, das Verzeichnis abruft, dann bekommt man unabhängig vom default drive immer D1: angezeigt, und auch mit DIR "D:*.*" wird unabhängig vom default drive immer "D1:" angezeigt.

Re: XDOS, aktuelles Laufwerk

von skriegel » Mo 30. Mai 2016, 22:16
Ich denke schon, dass ich nun die Frage verstehe, nur eine Antwort habe ich nicht.

Wenn ich XDOS starte, zeigt das Prompt "D1:" an. Gebe ich nun "DIR" ein, listet er das Directory von D1.
Gebe ich nun "D2:" ein, ändert sich das Prompt entsprechend und die Eingabe von "DIR" liest den Inhalt von D2:
Woher weiß nun XDOS, dass er nun auf D2: suchen soll? Wo speichert es diese Info?
Ist das die Frage, oder liege ich wieder falsch?

Re: XDOS, aktuelles Laufwerk

von cpg » Mo 30. Mai 2016, 22:17
skriegel hat geschrieben:Ist das die Frage, oder liege ich wieder falsch?



Das ist die Frage :D

Re: XDOS, aktuelles Laufwerk

von cpg » Mo 30. Mai 2016, 22:19
slx hat geschrieben:Wenn man im DOS den default drive umstellt und danach aus einem BASIC, dass DIR unterstützt, das Verzeichnis abruft, dann bekommt man unabhängig vom default drive immer D1: angezeigt, und auch mit DIR "D:*.*" wird unabhängig vom default drive immer "D1:" angezeigt.



Hmm, hatte ich noch nicht ausprobiert. Wenn nur DUP ein "default drive" hätte, fände ich das ein bischen doof. :?

Re: XDOS, aktuelles Laufwerk

von GoodByteXL » Di 31. Mai 2016, 06:59
cpg hat geschrieben:
slx hat geschrieben:Wenn man im DOS den default drive umstellt und danach aus einem BASIC, dass DIR unterstützt, das Verzeichnis abruft, dann bekommt man unabhängig vom default drive immer D1: angezeigt, und auch mit DIR "D:*.*" wird unabhängig vom default drive immer "D1:" angezeigt.



Hmm, hatte ich noch nicht ausprobiert. Wenn nur DUP ein "default drive" hätte, fände ich das ein bischen doof. :?


Ich kenne aus SpartaDOS X kein DOS (oder FMS), das außer aus dem DUP bzw. dem Command Line Interface auf den "current drive" zugreift. Hier kann man man von jeder darunter lauffähigen Programmiersprache mit "D:" auf den "current drive" zugreifen.

Re: XDOS, aktuelles Laufwerk

von cpg » Di 31. Mai 2016, 07:34
cpg hat geschrieben:
slx hat geschrieben:Hmm, hatte ich noch nicht ausprobiert. Wenn nur DUP ein "default drive" hätte, fände ich das ein bischen doof.


Ich habe mal auf D1: und D2: je ein INFO.TXT File angelegt, mit verschiedenem Inhalt.

Bin dann jeweils von D1: und D2: ins BASIC gegangen und habe folgendes Programm laufen lassen:

Code: Alles auswählen
  100 REM PRINT INFO.TXT FILE
  200 OPEN #1,4,0,"D:INFO.TXT"
  205 DIM A$(40)
  210 INPUT #1;A$
  220 PRINT A$
  230 CLOSE #1
  240 END



Das Programm zeigt immer die INFO.TXT von D1: an :-(

Allerdings bin ich wenn ich BASIC verlasse, wieder auf den Drive von dem aus ich ins BASIC gegangen bin. Also dachte ich mir, irgendwo muß die Info ja stehen.
Zweimal den Memory von $700 bis $2000 mittels eines Emulators gedump, einmal während D1: aktiv war, und einmal mit D2:.

Das aktuelle Drive steht anscheinend an Adresse $816. Ich werde mal Stefan Dorndorf fragen, ob man sich darauf verlassen kann.

Re: XDOS, aktuelles Laufwerk

von slx » Di 31. Mai 2016, 13:00
cpg hat geschrieben:Das Programm zeigt immer die INFO.TXT von D1: an :-(

Hat das schon wer mit SpartaDOS ausprobiert? Dort sollte dann wohl immer die Info.txt vom aktuellen Laufwerk angezeigt werden.

Was fängt man allerdings mit der Info aus $816 an, wenn nur DUP/CP überhaupt darauf zugreift?

P.S.: Ich habe das auch noch mit DOS XL ausprobiert. Das verhält sich mit XDOS identisch.

Re: XDOS, aktuelles Laufwerk

von tfhh » Di 31. Mai 2016, 13:05
Moin,

also... in der alten Atari-Literatur ("Mein Atari Home-Computer", "DeReAtari" usw.) wird D: immer mit D1: gleichgesetzt. Mir ist auch nur SpartaDOS (X) bekannt, welches überhaupt ein "Default Drive" global unterstützt.

Das Abfragen irgendwelcher undokumentierter Speicherstellen ist natürlich heute nicht mehr zeitgemäß, zumal Du alle möglichen DOS-Versionen und dessen Patches abfangen müßtest. Dann ist es sinnvoller, das Feature dieser Lib nur bei SDX bereitzustellen.

Gruß, Jürgen

Re: XDOS, aktuelles Laufwerk

von cpg » Di 31. Mai 2016, 23:23
slx hat geschrieben:Hat das schon wer mit SpartaDOS ausprobiert?


Nicht konkret dieses Testprogramm. Aber was ich so in Erinnerung habe, sollte es sich da "wie erwartet" verhalten.


slx hat geschrieben:Was fängt man allerdings mit der Info aus $816 an, wenn nur DUP/CP überhaupt darauf zugreift?



Naja, wenn ich mit aktivem D2: ein z.B. "TYPE" oder "cat" Programm starte, ala "D2:CAT D:FILE.TXT" hätte ich gerne D2:FILE.TXT ausgegeben, anstatt D1:FILE.TXT.

slx hat geschrieben:P.S.: Ich habe das auch noch mit DOS XL ausprobiert. Das verhält sich mit XDOS identisch.


DOS XL muß ich mal anschauen, das wird z.Zt. von der cc65 Runtime-Lib noch nicht unterstützt.

Re: XDOS, aktuelles Laufwerk

von cpg » Di 31. Mai 2016, 23:27
tfhh hat geschrieben:Das Abfragen irgendwelcher undokumentierter Speicherstellen ist natürlich heute nicht mehr zeitgemäß, zumal Du alle möglichen DOS-Versionen und dessen Patches abfangen müßtest.


Ja, ich habe auch kein wirklich gutes Gefühl dabei. Deswegen habe ich Stefan mal gefragt.

Ich habe im Internet nur XDOS Versionen 2.4 und 2.3n gefunden. Gibt's noch andere releaste?

Re: XDOS, aktuelles Laufwerk

von eda70 » Mi 1. Jun 2016, 09:04
Wird das nicht über 768 DDEVIC und 769 DUNIT geregelt?

Re: XDOS, aktuelles Laufwerk

von GoodByteXL » Mi 1. Jun 2016, 16:49
slx hat geschrieben:
cpg hat geschrieben:Das Programm zeigt immer die INFO.TXT von D1: an :-(

Hat das schon wer mit SpartaDOS ausprobiert? Dort sollte dann wohl immer die Info.txt vom aktuellen Laufwerk angezeigt werden.

Bitte differenzieren. SpartaDOS 1.x, 2.x 3.x als diskbasierte DOS können das nicht. Für SD 3.2G war das angekündigt, wurde aber nicht umgesetzt. SD 3.3 kann's nicht und RealDOPS auch nicht.

Einzig SpartaDOS X ist dazu in der Lage, vmtl. weil es einen eigenen Kernel hat, der parallel zur CIO arbeitet.
1, 2