TrueDisk - die einzig wahre RAM-Disk ==================================== v2.1 (c) 1989-1994 by Christoph Zwerschke Kurzanleitung ------------- Es gibt Leute, die lesen nicht gerne Anleitungen oder wollen ein neues Programm erst einmal schnell ausprobieren, um zu sehen, ob es berhaupt etwas taugt (ich geh”re auch dazu). Deswegen hier das wichtigste in Krze: Die "TrueDisk" ist eine schnelle, kleine, unkomplizierte, residente RAM-Disk fr alle Atari-Rechner mit TOS-kompatiblem Betriebssystem. Um sie zu installieren, reicht es, TRUEDISK.PRG in den AUTO-Ordner zu kopieren und den Atari neu zu booten. Die TrueDisk ist so voreingestellt, daá sie sich mit der Laufwerkskennung M: und einer Gr”áe von 512 kBytes im RAM des Atari-Computers resident installiert. Wird eine andere Laufwerks- kennung oder eine andere Gr”áe gewnscht, muá man w„hrend des Bootens eine der Tasten Alternate oder Control gedrckt halten. Die TrueDisk fragt dann vor der Installation die gewnschten Werte ab und speichert sie als neue Voreinstellung. Nach dem Booten muá die TrueDisk natrlich noch wie jedes andere Laufwerk fr den Desktop angemeldet werden (Menpunkt "Ikonen anmelden" oder "Laufwerke anmelden") und der Desktop gesichert werden (Menpunkt "Arbeit sichern"). Das war's. Sinn und Zweck der TrueDisk --------------------------- Eine RAM-Disk ist meiner Meinung nach eines der wichtigsten Hilfsprogramme fr den Atari. Wie der Name sagt, werden bei ihr die Daten im Hauptspeicher (dem RAM) des Atari-Computers abge- speichert. Eine RAM-Disk hat gegenber einer Floppydisk oder Harddisk haupts„chlich den Vorteil, daá sie schneller ist und sich nicht mechanisch abnutzt. Sie hat natrlich auch Nachteile, vor allem, daá sie mit dem Ausschalten des Rechners gel”scht wird und den nur begrenzt vorhandenen "kostbaren" Hauptspeicher belegt. Selbst fr Besitzer einer schnellen Harddisk kann eine RAM-Disk aber sinnvoll sein, zum Beispiel zum Packen und Entpacken von Da- teiarchiven und als Zwischenspeicher beim Kopieren von Dateien. Es ist auch ratsam, neue Programme immer erst auf einer RAM-Disk auszuprobieren. Wenn (durch einen Virus oder einen Programmfehler) Daten auf dem Laufwerk zerst”rt werden, ist das bei der RAM-Disk im Gegensatz zur Harddisk meist nicht tragisch. Vorzge der TrueDisk -------------------- Zun„chst einmal: Die TrueDisk ist eine "residente" RAM-Disk. Das bedeutet, daá bei einem "Warmstart" des Rechners die Daten in der TrueDisk nicht gel”scht werden. Wenn der Rechner also einmal "h„ngen" sollte, kann man getrost Control-Alternate-Delete oder den Restknopf drcken. Zweitens: Die TrueDisk ist "sauber" pro- grammiert und l„uft daher auf allen mir bekannten Atari-Rechnern mit TOS-kompatiblem Betriebssystem (sogar mit MagiX!). Dies ist fr eine residente RAM-Disk durchaus nicht selbstverst„ndlich. Drittens: Sie belegt keinen der wertvollen Accessory-Pl„tze und vertr„gt im Gegensatz zu so mancher Accessory-RAM-Disk problemlos einen Aufl”sungswechsel. Viertens: Sie l„uft sowohl im ST-RAM als auch im TT-RAM, je nach Wunsch, und mit jedem Speicherausbau und ist in der Gr”áe nur durch diesen beschr„nkt. Fnftens: Die True- Disk versucht sich stets ans obere RAM-Ende zu installieren, wo die Daten einigermaáen sicher sind. Im ST-RAM wird der Bild- schirmspeicher dazu vom oberen Speicherende unter die TrueDisk verschoben, damit er nach einem Warmstart nicht als "Leiche" im residenten Teil des RAMs liegt. Die Treiber-Routinen liegen im Bootsektor der TrueDisk. Durch diese Maánahmen wird kein Byte Speicher verschwendet. Sechstens: Die TrueDisk ben”tigt keine zu- s„tzliche Konfigurationsdatei, die Parameter werden im AUTO- Ordner-Programm selbst gespeichert. Siebtens: Die eigentlichen Treiber-Routinen arbeiten sehr schnell und zuverl„ssig. Die True- Disk benutzt dabei 512-kByte-Sektoren, 2-Sektor-Cluster und 16- Bit-FATs. Dies sind Standardwerte, mit denen alle Programme zu- rechtkommen. Achtens: Die TrueDisk ist ein "PD-Programm"! Installation der TrueDisk ------------------------- Eigentlich wurde in der "Kurzanleitung" schon alles gesagt, trotzdem hier vielleicht noch ein paar zus„tzliche Hinweise: Die TrueDisk installiert sich nur dann, wenn danach mindestens 128 kByte Speicher brigbleiben. Sie wird dann, wie gesagt, "so weit oben" im Speicher wie m”glich angelegt. Der gesamte Speicher vom Anfang der TrueDisk bis zum oberen Ende des RAMs wird resident gehalten und kann nicht mehr angefordert werden. Falls andere Programme Speicher am oberen Ende des RAMs besitzen, steht dieser Speicher nach einem Warmstart nicht mehr zu Verfgung. Eine Aus- nahme ist der Bildschirmspeicher, der, wenn m”glich, automatisch unter die TrueDisk verschoben wird. Wird die TrueDisk also hinter anderen AUTO-Ordner-Programmen oder aus dem Desktop gestartet, kann es vorkommen, daá man nach einem Warmstart "Speicherleichen" oberhalb der TrueDisk erh„lt, n„mlich dann, wenn andere Programme Speicher am oberen Ende des RAMs belegt haben. Die TrueDisk gibt in diesem Fall eine Meldung aus, man sollte dann einfach das Pro- gramm TRUEDISK.PRG an einen Platz weiter vorne im AUTO-Ordner verschieben. Dies kann man z.B. sehr einfach mit meinem Programm "DirSort" bewerkstelligen. Ist im Atari neben dem ST-RAM auch TT-RAM vorhanden, dann wird die TrueDisk in dem Speicher instal- liert, in den sie auch geladen wird. Dies wird ber ein Flag im Programmkopf von TRUEDISK.PRG geregelt, das mit den einschl„gigen Hilfsprogrammen ver„ndert werden kann. Voreingestellt ist fr die TrueDisk das TT-RAM, es kann aber oft sinnvoller sein, das ST-RAM zu verwenden, wenn gengend davon vorhanden ist und es nicht fr andere Zwecke ben”tigt wird (bei mir laufen z.B. alle Programme im TT-RAM und das ST-RAM l„ge gr”átenteils "brach", wenn ich dort nicht die TrueDisk installiert h„tte). Noch etwas zur Gr”áe der TrueDisk: Der eingestellte Wert gibt an, wieviel Speicher die TrueDisk tats„chlich im RAM belegt. Der zum Speichern von Dateien benutzbare Platz ist wegen der Verwaltungssektoren etwas kleiner. Ist beim Booten eine der Shift-Tasten gedrckt, dann wird fragt die TrueDisk erst nach, bevor sie sich installiert. Auf diese Weise kann die Installation der TrueDisk bersprungen werden, falls sie zu irgendwelchen Problemen oder Kollision mit anderen Programmen fhren sollte. Eine m”glicherweise bereits resident im Speicher vorhandene TrueDisk bleibt davon aber unberhrt und wird nicht gel”scht, man kann nur nicht auf sie zugreifen. M”chte man die TrueDisk ganz entfernen, so muž man w„hrend des Bootens die Alternate- oder Control-Taste gedrckt halten und bei der an- schlieženden Abfrage der Speichergr”že 0 (oder weniger als 8) kBytes eingeben. Noch ein wichtiger Hinweis: Das Programm TRUEDISK.PRG sollte nicht umbenannt oder gepackt werden und das Bootlaufwerk sollte nicht schreibgeschtzt sein, weil sonst das Speichern der Parameter nicht funktioniert. Verschiedene Speicherarten -------------------------- Noch einmal kurz zu den verschiedenen Speicherarten: Die TrueDisk kann drei Arten von RAM-Speicher benutzen: ST-RAM, TT-RAM und "AUXRAM". Normalerweise werden die ersten beiden vom GEMDOS verwalteten Arten Speicher benutzt. Ob dabei das ST-RAM oder das TT-RAM zum Einsatz kommt, h„ngt - wie bereits erw„hnt - von dem "Programm-Lade-Flag" im Programmkopf ab (und natrlich auch davon, ob berhaupt gengend RAM der gewnschten Art zur Verfgung steht). Unter "AUXRAM" verstehe ich Speicher, der nicht vom GEMDOS verwaltet wird. Das k”nnte z.B. berschssiges RAM auf einer Grafikkarte sein (wenn es nicht irgendwann mit "Maddalt()" in die GEMDOS-Speicherliste aufgenommen wurde). Wenn man solchen Speicher fr die TrueDisk nutzen m”chte, ist ein kleiner "Patch" von TRUEDISK.PRG erforderlich, den man leicht mit einem Diskmonitor durchfhren kann: Bei Offset $44 vom Dateianfang findet man die beiden Longwords $4e4f524d $00000000. Man ersetze das erste ("NORM") durch $42415345 ("BASE") und das zweite durch die Basisadresse des RAM-Blocks, den man fr die TrueDisk benutzen m”chte. Die L„nge dieses Blocks in kBytes schreibt man in das Longword bei Offset $38 vom Dateistart. Das ist alles. Risiken und Nebenwirkungen -------------------------- Da die TrueDisk im ST-RAM oberhalb des Bildschirmspeichers in- stalliert wird, kann sie zerst”rt werden, wenn Programme ber den unteren Rand des Bildschirms hinaus in den Speicher schreiben. Dies kann normalerweise aber nur bei sehr unsauber und fehlerhaft programmierter alter Software passieren. Auf neueren Atari- Rechnern und ST-Rechnern mit 4 MB Speicherausbau strzen solche Programme m„mlich durch einen Busfehler ab und drften daher immer seltener werden, in den letzten Jahren ist mir kein einziges sol- ches Programm mehr untergekommen. Die TrueDisk liegt daher am oberen Ende des RAMs eigentlich im "sichersten" Bereich des Spei- chers. Residente Programme sollten, wie bereits erl„utert, wenn m”glich nach der TrueDisk gestartet werden. Dies gilt insbesondere fr Harddisk-Cache-Programme. Ein solches Programm sollte aber so konfiguriert werden, daž es die TrueDisk nicht puffert, dies w„re reine Verschwendung von RAM-Speicher. Bisherige Verbesserungen an der TrueDisk ---------------------------------------- v1.0 (16.12.1989): Erste Version der TrueDisk. Sie baut auf der in der c't 11/1986 vorgestellten "RRRDisk" auf, behebt aber einige gravierende M„ngel, z.B. das doppelte Booten der RRRDisk. v1.1 (14.03.1990): Die TrueDisk wird unabh„ngiger von der TOS- Version (benutzt aber immer noch undokumentierte Eigenschaften). v1.2 (12.02.1992): Da das "memconf"-Byte nur beim Original- Atari-ST gesetzt wird, kann es nun gepatcht werden. XBRA-Protokoll und weitere Verbesserungen eingebaut. v1.3 (09.06.1992): Anpassung an das TT-TOS. Kleine Verbesserungen am Konzept, die TrueDisk kann nun auch de-installiert werden. v1.4 (17.09.1992): TT-RAM bringt die TrueDisk nicht mehr durch- einander, die TrueDisk l„uft aber weiterhin nur im ST-RAM. v1.5 (26.04.1993): Anpassung an weitere TOS-Versionen. v2.0 (27.12.1993): Die TrueDisk wurde zu grožen Teilen neu ge- schrieben. Die Reservierung des Speichers geschieht jetzt ohne Manipulation der GEMDOS-Speicherverwaltung und die Abfrage des "memconf"-Bytes wurde v”llig gestrichen. Durch diese beiden Žnde- rungen sollte die TrueDisk nun unabh„ngig vom Betriebssystem lau- fen (getestet mit der TOS-Version 3.06, MultiTOS und MagiX!). Der einzige Nachteil gegenber den bisherigen Versionen ist, daž bei einer Gr”žen„nderung einer installierten TrueDisk nun ein Kalt- start durchgefhrt werden muž. Die TrueDisk kann nun auch im TT- RAM installiert werden. Die Ausgabe von "Crash-Infos" wurde v”llig gestrichen, weil damit sowieso niemand etwas anfangen konnte. Wer so etwas braucht, soll sich ein eigenes Programm dafr in den AUTO-Ordner legen. Das Default-Laufwerk ist nun "M:". v2.1 (18.01.1994): Unter der Speicherverwaltung von MagiX konnte die TrueDisk keinen Speicher allozieren, sie konnte also nur vor MagiX gestartet werden. Die Reihenfolge spielt nun keine Rolle mehr. Die Vorgehensweise bei Gr”žen„nderungen der TrueDisk wurde verbessert, insbesondere wird jetzt auch unter MagiX ein Kaltstart ausgefhrt. Neu ist auch die M”glichkeit, Speicher zu benutzen, der dem GEMDOS unbekannt ist. Weitere ntzliche Hilfsprogramme -------------------------------- Einige andere Hilfsprogramme, die ich im Zusammenhang mit der TrueDisk erw„hnen sollte: "ZeroTrue" l”scht schnell die gesamte TrueDisk. "DirSort" sortiert Directories, insbesondere den AUTO- Ordner. "LED-Panel" zeigt Schreib/Lese-Vorg„nge auf Laufwerken in der Menleiste an. Alle drei sind "Public-Domain-Programme" und von mir geschrieben. "GD-Flag" ver„ndert die Flags im Kopf von Programmdateien. Es ist ein "Freeware-Programm" von Gregor Du- chalski. Es empfiehlt sich, die Programme immer im "Paket" und natrlich mit den zugeh”rigen Anleitungstexten weiterzugeben; sie sind allesamt sehr kompakt. Das unvermeidliche Kapitel -------------------------- Zwei wichtige Punkte, die in keiner Programm-Anleitung fehlen drfen: Erstens m”chte ich deutlich darauf hinweisen, daž ich na- trlich keinerlei Garantie fr die Funktionsf„higkeit der TrueDisk und die Korrektheit der Angaben in dieser Anleitung bernehme. Ich hafte auch nicht fr Sch„den (insbesondere Verlust von Dateien), die sich durch die Benutzung der TrueDisk ergeben. Zweitens m”chte ich ebenso deutlich darauf hinweisen, daž die TrueDisk ein "Public-Domain-Programm" ist. Sie darf im nicht-kommerziellen Rahmen nach Belieben kopiert und weitergegeben werden. Falls Ihnen die TrueDisk gef„llt, drfen Sie mir das natrlich gerne schreiben und mir eine kleine Anerkennung fr meine Arbeit zukommen lassen. PD-Versender und sonstige kommerzielle Anbieter bitte ich, mich vor der Aufnahme meiner Programme in ihr Angebot zu benachrichtigen und eine Sonderspende locker zu machen. Adresse des Autors ------------------ Der Programmierer vom Dienst: Christoph Zwerschke Bankverbindung: Am Steinfeld 4 Bezirkssparkasse Heidelberg 59379 Selm-Cappenberg BLZ: 67250020 Deutschland Konto Nr. 4338405