von janzh » Do 16. Mai 2019, 18:01
CharlieChaplin hat geschrieben:Ähm,
BiboDOS dürfte mit dem XL-Ramdisktreiber schwierig werden, da BiboDOS selber das RAM unter dem ROM nutzt - und zwar nutzt das DUP.SYS diesen RAMbereich, daher steht das Dup auch bei 64k Maschinen stets sofort zur Verfügung. Wer sich wundert, warum z.B. TB XL mal funkt. und mal nicht, das DUP.SYS (und seine Nutzung von RAM unter dem OS) ist der Grund. Will man mit BiboDOS das TB XL nutzen, muss man das DUP.SYS auf der Diskette löschen, dann läuft es...
TurboDOS XL/XE (Reitershan) hat bereits einen XL-Ramdisktreiber an Bord, für DOS 2.5 gibt es div. "third-party" XL-Ramdisktreiber, die jedoch leider immer ein paar Einschränkungen haben, z.B.:
- von P-Finzel aus der Assemblerecke: nur eine Datei auf der XL-Ramdisk speicherbar
- bei einigen anderen nur max. 8 oder max. 16 Dateien speicherbar;
- bei manchen wird die XL-Ramdisk nur als D4: oder gar D5: angesprochen
etc.
Wie sieht es bei diesem XL-Ramdisktreiber aus ? Er nutzt ja D8:, unterstützt er auch bis zu 64 Dateien ? Gibt es auch eine Version, die zwar DUP.SYS, nicht jedoch MEM.SAV in die Ramdisk kopiert ?!? Wer außer den Programmierern nutzt denn noch MEM.SAV ? (Eine Meldung bei DOS 2.5 "Need MEM.SAV to load this file" bedeutet fast immer, dass diese ML-Datei nicht mit DOS läuft, sondern mit einem Gamedos geladen werden muss...)
Um die 512k RAM von The!Cart unter DOS 2.5 voll auszunutzen, könnte man auch vier Ramdisks (D5: bis D8:) mit jeweils 128k (Medium Density mit 1024 Sektoren) ansprechen. MyDOS verwaltet Ramdisks mit bis zu 1MB, bei entsprechendem Treiber sollten 512k von The!Cart also kein Problem sein. TurboDOS XL/XE, BiboDOS, SuperDOS, XDOS u.a. DOS 2 kompatible können max. 256k große Ramdisks verwalten, vielleicht kann man da ja einfach Treiber für zwei 256k Ramdisks (z.B. D7: und D8:) einrichten...
Das Thema ATARI XL Ramdisk (nutzen des Speichers unter dem OS) wollte ich nicht weiter verfolgen. Einige Programme nutzen den Speicher und man bekommt nur Ärger. Ich benutze sie mit dem Assembler Editor, MAC/65, ATMAS-II, Basic etc. (also mit allen anständigen Programmen
Hier ist es ein Erleichterung, dass DUP.SYS und MEM.SAV von der Ramdisk kommen.
Die Ramdisk Treiber RAMCART und RAMD14K reagieren darauf, ob DUP.SYS oder MEM.SAV vorhanden sind. Sie werden zwar kopiert und genutzt. Man kann sie aber einfach löschen und einen Kaltstart machen. Jetzt erkennen die Treiber, das eine Ramdisk da ist, aber die Files fehlen. Nun wird das Lesen wieder auf D1: gesetzt.
Zum Thema 64 Dateien zitiere ich das Original (habe es so übernommen):
This is a very small RAM-disk. If you use it, you'll find 105 free sectors
is the maximum. Even to get that figure, I cheated: I allowed only 3
sectors for the directory instead of the customary 8, so you can have a
maximum of 24 files on this RAMdisk (probably still overkill). However,
DOS does not know about this limitation, and you can crash the system by
creating 25 files. Über mehrere Ramdisks unter Atari DOS 2.5 habe ich auch nachgedacht. Das Problem ist, dass DOS 2.5 nur mit 4 Laufwerken (einschließlich Ramdisk) arbeiten kann. Es steht nur Speicher für 4 Buffer zu Verfügung. Konfiguriert man mehr Laufwerke, kommt es zu Speicherüberschreibern und es kann alles mögliche passieren. Dies kann man gut nachvollziehen, wenn man 4 Laufwerke mit SETUP.COM konfiguriert und dann noch eine Ramdisk dazu kommt. Jetzt bekommt man bei Massenoperation (z.B. Copy D1:*.COM,D8:) den Fehler 130 nach dem Kopieren des ersten Files. Dies liegt daran, dass Teile vom DUP überschrieben wurden. Dies führt dazu, dass es auf ein nicht existierendes Device zugreifen möchte. Atari war sich dieses Problems wohl bewußt, denn SETUP.COM zeigt eine Warnung, sobald du mehr als 3 Laufwerke konfigurierst. Leider erklärt die Meldung nicht so recht die Konsequenzen. Ich brauche mindestes 2 besser 3 Laufwerke zum Arbeiten, da bleibt nur noch eins übrig. Vielleicht wären 2 Ramdisk je 130K noch sinnvoll. Ich denke mal darüber nach. Mir war bei den Treibern auch wichtig, dass ich keinen zusätzlichen Speicher für den Code benötige, damit es maximal kompatibel ist.
Ich versuche jetzt ein DOS zu finden, mit dem ich die gesamten 512k von The!Card nutzen kann. Am besten wäre eine Ramdisk mit 512k. Ich sehe bis jetzt mit MyDOS eine Möglichkeit, da es sehr variabel bei der Sektor-Anzahl und -Größe ist. Ich muss mich aber noch in die Source lesen. Bis jetzt kenne ich nur DOS 2.5 genau.