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 gehre 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 Gre von 512 kBytes im RAM des 
Atari-Computers resident installiert. Wird eine andere Laufwerks- 
kennung oder eine andere Gre gewnscht, mu man whrend 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 hauptschlich 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 gelscht 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 zerstrt werden, ist das bei der RAM-Disk 
im Gegensatz zur Harddisk meist nicht tragisch.

Vorzge der TrueDisk
--------------------
Zunchst einmal: Die TrueDisk ist eine "residente" RAM-Disk. Das 
bedeutet, da bei einem "Warmstart" des Rechners die Daten in der 
TrueDisk nicht gelscht werden. Wenn der Rechner also einmal 
"hngen" sollte, kann man getrost Control-Alternate-Delete oder 
den Restknopf drcken. Zweitens: Die TrueDisk ist "sauber" pro- 
grammiert und luft daher auf allen mir bekannten Atari-Rechnern 
mit TOS-kompatiblem Betriebssystem (sogar mit MagiX!). Dies ist 
fr eine residente RAM-Disk durchaus nicht selbstverstndlich. 
Drittens: Sie belegt keinen der wertvollen Accessory-Pltze und 
vertrgt im Gegensatz zu so mancher Accessory-RAM-Disk problemlos 
einen Auflsungswechsel. Viertens: Sie luft sowohl im ST-RAM als 
auch im TT-RAM, je nach Wunsch, und mit jedem Speicherausbau und 
ist in der Gre nur durch diesen beschrnkt. Fnftens: Die True- 
Disk versucht sich stets ans obere RAM-Ende zu installieren, wo 
die Daten einigermaen 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 Manahmen wird kein Byte 
Speicher verschwendet. Sechstens: Die TrueDisk bentigt keine zu- 
stzliche Konfigurationsdatei, die Parameter werden im AUTO- 
Ordner-Programm selbst gespeichert. Siebtens: Die eigentlichen 
Treiber-Routinen arbeiten sehr schnell und zuverlssig. 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 zustzliche 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 mglich 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 mglich, 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 erhlt, nmlich 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 einschlgigen 
Hilfsprogrammen verndert 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 bentigt wird (bei mir laufen z.B. alle Programme im 
TT-RAM und das ST-RAM lge grtenteils "brach", wenn ich dort 
nicht die TrueDisk installiert htte). Noch etwas zur Gre der 
TrueDisk: Der eingestellte Wert gibt an, wieviel Speicher die 
TrueDisk tatschlich 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 mglicherweise bereits resident im 
Speicher vorhandene TrueDisk bleibt davon aber unberhrt und wird 
nicht gelscht, man kann nur nicht auf sie zugreifen. Mchte man 
die TrueDisk ganz entfernen, so mu man whrend des Bootens die 
Alternate- oder Control-Taste gedrckt halten und bei der an- 
schlieenden Abfrage der Speichergre 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, hngt - wie bereits erwhnt - 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 knnte 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 mchte, 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
mchte. Die Lnge 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 zerstrt 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 mmlich 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 erlutert, wenn 
mglich 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 wre 
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 Mngel, z.B. das doppelte Booten der RRRDisk.
v1.1 (14.03.1990): Die TrueDisk wird unabhngiger 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 luft 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 groen Teilen neu ge-
schrieben. Die Reservierung des Speichers geschieht jetzt ohne 
Manipulation der GEMDOS-Speicherverwaltung und die Abfrage des 
"memconf"-Bytes wurde vllig gestrichen. Durch diese beiden nde- 
rungen sollte die TrueDisk nun unabhngig 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 Grennderung 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 vllig 
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 Grennderungen der TrueDisk wurde
verbessert, insbesondere wird jetzt auch unter MagiX ein Kaltstart
ausgefhrt. Neu ist auch die Mglichkeit, Speicher zu benutzen,
der dem GEMDOS unbekannt ist.

Weitere ntzliche Hilfsprogramme
--------------------------------
Einige andere Hilfsprogramme, die ich im Zusammenhang mit der 
TrueDisk erwhnen sollte: "ZeroTrue" lscht schnell die gesamte 
TrueDisk. "DirSort" sortiert Directories, insbesondere den AUTO-
Ordner. "LED-Panel" zeigt Schreib/Lese-Vorgnge auf Laufwerken in
der Menleiste an. Alle drei sind "Public-Domain-Programme" und 
von mir geschrieben. "GD-Flag" verndert 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 zugehrigen Anleitungstexten weiterzugeben; sie 
sind allesamt sehr kompakt.

Das unvermeidliche Kapitel
--------------------------
Zwei wichtige Punkte, die in keiner Programm-Anleitung fehlen 
drfen: Erstens mchte ich deutlich darauf hinweisen, da ich na- 
trlich keinerlei Garantie fr die Funktionsfhigkeit der TrueDisk 
und die Korrektheit der Angaben in dieser Anleitung bernehme. Ich 
hafte auch nicht fr Schden (insbesondere Verlust von Dateien), 
die sich durch die Benutzung der TrueDisk ergeben. Zweitens mchte 
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 gefllt, 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

