atari-home.de - Foren
Software => Software (16-/32-Bit) => Thema gestartet von: goetz @ 3rz am Mi 24.08.2022, 11:27:41
-
Hallo,
ich suche eine RAM-Disk, die (wie Alex Essers »Flexdisk«) größenvariabel ist, d.h. die ihre Größe dem Inhalt selbst anpaßt, statt starrer Größen. Flexdisk läuft nur auf festgelegten TOS-Versionen und nicht abseits.
Kann mensch hier was empfehlen?
-
Ich erinnere mich dunkel, früher die Maxidisk benutzt zu haben.
Ich meine, die funktionierte leidlich mit unterschiedlichem TOS.
-
Ich erinnere mich dunkel, früher die Maxidisk benutzt zu haben.
Ich meine, die funktionierte leidlich mit unterschiedlichem TOS.
Danke, der Satz
MaxiDisk 2.2 has been tested error-free on several TOS versions
NB: ranging from TOS 1.0 through TOS 1.4 to KAOS 1.4.2.
NB: Since no TOS-dependent features are used it should always work.
… aus der Doku läßt hoffen. Allerdings packt Maxidisk RAM-Disk-Inhalte, ist aber wohl nicht größenflexibel. Interessantes Feature, aber nicht ganz das gesuchte :)
-
Ich befürchte, so eine größenflexible RAM-Disk ließe sich gar nicht "sauber" programmieren. Stell Dir vor, jemand ruft die GEMDOS-Funktion Fwrite() auf, um weitere Daten zu schreiben und ein paar Funktionsaufrufe tiefer landen diese Daten beim RAM-Disk-Treiber. Wenn dem Treiber Speicher fehlt, müsste er ihn anfordern, d.h. Malloc() aufrufen. GEMDOS ist aber nicht reentrant, d.h. aus einem GEMDOS-Call darf kein weiterer GEMDOS-Call erfolgen.
Vermutlich deshalb manipuliert Flexdisk direkt die privaten Strukturen von TOS für die Speicherverwaltung, was natürlich nur mit TOS-Versionen funktioniert, die Flexdisk kennt.
-
Man könnte ja möglicherweise die gesamte GEMDOS-Speicherverwaltung ersetzen, wenn - ja wenn - das TOS selbst tatsächlich GEMDOS-Aufrufe machen würde.
Tatsächlich rufen die ROM-Routinen die Funktionen m.W. aber direkt auf. Dann geht's tatsächlich nur unsauber.
-
DIe GEMDOS-Routinen? Nein, die werden ganz normal über den Trap aufgerufen. Hilft aber in dem Fall auch nicht viel, wie Christian schon schrieb. Da müsste man dann schon tatsächlich die komplette Speicherverwaltung selber machen.
-
Ich befürchte, so eine größenflexible RAM-Disk ließe sich gar nicht "sauber" programmieren. Stell Dir vor, jemand ruft die GEMDOS-Funktion Fwrite() auf, um weitere Daten zu schreiben und ein paar Funktionsaufrufe tiefer landen diese Daten beim RAM-Disk-Treiber. Wenn dem Treiber Speicher fehlt, müsste er ihn anfordern, d.h. Malloc() aufrufen. GEMDOS ist aber nicht reentrant, d.h. aus einem GEMDOS-Call darf kein weiterer GEMDOS-Call erfolgen
Okay, also nichts für (Emu)TOS.
Unter MagiC gibt’s das Ramdisk-XFS von Thomas Binder, das die Größenvariabilität kann.
-
Ich habe Flexdisk 1.0 im Original mit Regnummer und Handbuch hier. Darin steht, dass man den Treiber auch ins ROM integrieren kann. Dazu ist Code abgebildet und ein How-to. Womöglich ist es dann auch in anderen TOSsen übertragbar?