TRUEDISK - die einzig wahre RAMdisk ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ v1.5 ˝ 1989-1993 by Christoph Zwerschke Kurzanleitung ------------- Hier eine Kurzanleitung fr ganz Eilige: Die TRUEDISK ist eine RAMdisk fr den Atari ST. Notfalls l„uft die TRUEDISK auch auf dem Atari TT, hier muž aber das "memconf"-Byte, das beim TT nicht mehr untersttzt wird, von Hand in die TRUEDISK "gepatcht" werden. Das gleiche gilt, wenn in den Atari ST eine Speicherkarte mit einer ursprnglich nicht vorgesehenen Ausbaustufe (etwa 3MB oder mehr als 4MB) eingebaut ist, da auch in diesem Fall das "memconf"-Byte meist nicht mehr stimmt. Genaueres zu diesem "Patch" weiter unten. Auf dem Atari Falcon l„uft die TRUEDISK leider nicht mehr, hier st”žt man durch die sehr variable Bildschirmgr”že auf Schwierigkeiten, die man nur durch ein v”llig neues Konzept der RAMdisk l”sen k”nnte. Nun aber wieder zurck zum "normalen" Atari ST: Hier reicht es, das Programm TRUEDISK.PRG in den AUTO-Ordner zu kopieren und zum Konfigurieren beim Booten eine der Tasten Shift oder Control gedrckt zu halten. Es empfiehlt sich und ist gelegentlich sogar notwendig, daž die TRUEDISK als erstes oder eines der ersten Programme im AUTO-Ordner gestartet wird. Die richtige Reihenfolge der Programme im AUTO-Ordner stellt man entweder durch Umkopieren von Hand her oder bequemer mit einem speziellen Programm zum Sortieren von Verzeichnissen (zum Beispiel DIRSORT). Nun noch einmal ohne Eile die Anleitung von Anfang an: Vorteile der TRUEDISK --------------------- Vielleicht werden Sie sich gerade fragen: "TRUEDISK.PRG, 2048 Byte, was kann das schon sein?" Nun, TRUEDISK ist eine resetfeste RAMdisk fr den Atari ST, und die 2048 Bytes sind bereits einer der Vorteile der TRUEDISK. Sie ist so klein, daž sie in 2 normale Cluster auf der Disk oder der Festplatte pažt. Es ist auch kein zus„tzliches Konfigurations-Programm (etwa ein ACC oder CPX) notwendig, dies wird alles von TRUEDISK.PRG mit bernommen. RAMdisks gibt es fr den Atari ST wie Maus-Beschleuniger, Bildschirmschoner und Fileselect-Boxen in rauhen Mengen. Aber der Autor war irgendwie mit jeder RAMdisk, die er ausprobierte sp„testens nach einiger Zeit im praktischen Gebrauch unzufrieden, und fing getreu seinem Motto "wenn man nicht alles selber macht..." nach einiger Zeit mit der Programmierung seiner eigenen RAMdisk an. TRUEDISK h„lt sich an das Konzept der RRRD aus der c't: - Die RAMdisk bleibt auch nach einem Reset erhalten. - Auto-Ordner-Programm, belegt keinen Accessorie-Platz. - RAMdisk liegt geschtzt oberhalb des Anwenderspeichers. - Zus„tzliche Konfigurationsdatei wird nicht ben”tigt. - Das Programm gibt Informationen bei "Bombenalarm" aus. Es wurden aber einige wesentliche M„ngel der RRRD behoben: - Beliebig konfigurierbar, unabh„ngig vom Speicherausbau. - Auch sehr grože RAMdisks sind m”glich. - Installation kann mit Tastendruck bersprungen werden. - Kein zweiter Kaltstart mehr nach dem Einschalten. - Verbesserte, schnellere Treiberroutinen. - Die Treiberroutinen benutzen die "XBRA"-Methode. - Das rwflag bei Rwabs wird richtig behandelt. - Parameter und Treiberroutinen liegen im Bootsektor. - Verbesserte Speicheraufteilung. Bedienung der TRUEDISK ---------------------- TRUEDISK.PRG l„uft nur im AUTO-Ordner. Die TRUEDISK kann neu konfiguriert werden, indem man beim Booten die Taste Shift oder Control gedrckt h„lt. Die dann gew„hlte Ein- stellung wird im Programm abgespeichert, so daž sie auch nach dem Ausschalten noch erhalten bleibt. Daher sollte das Programm auch nicht anders benannt und die Diskette bzw. Partition nicht schreibgeschtzt sein. Es darf sich auch stets nur eine TRUEDISK im AUTO-Ordner befinden. Die gewnschten Daten k”nnen notfalls auch mit einem Diskmonitor direkt in das Programm "gepatcht" werden. Die TRUEDISK installiert sich immer als das angegebene Laufwerk - auch wenn dort z.B. bereits eine Partition einer Festplatte installiert ist. Eine Doppelbelegung ist aber nicht schlimm, man kann lediglich nicht auf die Festplatten-Partition zugreifen, die TRUEDISK hat Vorrang (jedenfalls, wenn der Harddisk-Treiber vor der TRUEDISK gestartet wurde, sonst ist es umgekehrt). Die TRUEDISK ist als Laufwerk "D:" voreingestellt. Falls Sie eine Harddisk besitzen, w„hlen Sie statt dessen besser das Laufwerk "M:" (=Memory, das hat sich fr RAMDisks so eingebrgert) oder die erste freie Laufwerkskennung. Sie mssen die RAMdisk natrlich auch im Desktop anmelden. Die eingegebene Gr”že gibt an, wieviel Speicher in kByte die RAMdisk tats„chlich belegt. Der zum Speichern von Dateien benutzbare Platz ist wegen der Verwaltungssektoren und dem 2kB-GEMDOS-Fehler etwas kleiner. Falls als Gr”že 0 kByte (oder weniger als 8 kByte) eingegeben wird, wird die TRUEDISK nicht installiert und eine eventuell vorher vorhandene RAMdisk vollst„ndig aus dem Speicher entfernt. Man kann die Installation der TRUEDISK auch verhindern, indem man beim Booten die Taste Alternate gedrckt h„lt. Ist aber eine TRUEDISK einmal vorhanden, dann wird der Speicherplatz nicht freigegeben, um ein versehentliches L”schen der Daten zu vermeiden. Speicherverwaltung, das "memconf"-Byte -------------------------------------- Um einen zweiten Kaltstart nach dem Heruntersetzen des Speicherendes zu vermeiden, mužte die von Atari nicht dokumentierte Speicherverwaltung des GEMDOS manipuliert werden. Dazu hat der Autor ein Verfahren ausgetftelt, das mit allen bisherigen TOS-Versionen fr Atari ST, STE und TT funktionieren sollte. Trotzdem sei erw„hnt, daž die TRUEDISK an dieser Stelle nicht ganz "sauber" ist. Ein weiterer kritischer Punkt ist die Bestimmung der tats„chlichen RAM-Ausbaustufe des Rechners. Auf die Systemvariable "phystop" kann man sich n„mlich nicht unbedingt verlassen, sie k”nnte ja durch eine RAM-Disk heruntergesetzt worden sein. Um den tats„chlichen RAM- Ausbau zu bestimmen, wird von der TRUEDISK das sogenannte "Memory Configuration Byte" (kurz "memconf"-Byte) an der Adresse $424 ausgewertet. Dies funktioniert aber leider nur bei den ST- und STE-Modellen (nicht beim TT) und auch nur bei den ursprnglich vorgesehenen RAM-Ausbaustufen, d.h. mit einigen Speichererweiterungen kann es z.B. bei einem Ausbau auf 3MB oder mehr als 4MB Probleme geben. Die TRUEDISK l„uft aber auch mit solchen Rechnern, wenn man das "memconf"-Byte in die Truedisk "patcht", und zwar mit Offset $67 in TRUEDISK.PRG, direkt hinter dem Wort "memconf". Normalerweise steht dort ein Null-Byte, in diesem Fall wird das Byte aus der Adresse $424 geholt. Das Byte wird von der TRUEDISK wie folgt ausgewertet: Bits 0 und 1 geben die Bestckung der ersten "Bank" an, 0 = unbestckt, 1 = 512 kB, 2 = 2 MB, 3 = 8 MB. Analog geben die Bits 2 und 3 die Bestckung der zweiten Bank an. Bits 4/5 und 6/7 werden als Bank 3 und Bank 4 genauso ausgewertet, obwohl es normalerweise nur zwei Banks gibt, und die Bits 4-7 immer Null sind. Hier einige Beispiele fr den Wert des "memconf"-Bytes: 1MB $05 3MB $25 6MB $2A 12MB $2B 2MB $02 4MB $0A 8MB $03 32MB $FF Zum Atari TT ist noch folgendes zu sagen: Die TRUEDISK benutzt grunds„tzlich nur den ST-kompatiblen RAM-Speicher. Alternativer Speicher bleibt, unabh„ngig von den Flags im Programmkopf, v”llig unangetastet. Der Wert fr memconf bezieht sich nur auf den Ausbau des ST-kompatiblen RAMs. Weitere Vorteile fr Experten ----------------------------- Die Lage der RAMdisk oberhalb des normalen Speichers (ab "phystop") ist in vieler Hinsicht gnstig: Man weiž genau, wo sich die Daten befinden, z.B. ist bei einem ST mit 1 MByte Speicherausbau das obere Ende des Speichers bei $100000. Hat man eine RAMdisk von 512 kByte Gr”že = $80000 Byte, dann belegt die Disk den Speicherbereich $80000-$100000. An der Adresse $80000 befindet sich der Bootsektor, bei $80200 der erste Sektor der FAT, usw. An der Adresse $81600 steht dann das Directory, und bei $82400 der erste Datensektor. Man beachte aber, daž bei sehr grožen RAMdisks FAT und Directory automatisch von der TRUEDISK entsprechend gr”žer gew„hlt werden. Da der RAMdisk-Speicher eine solche fest definierte Lage hat, kann man ihn sehr einfach mit einem Monitorprogramm als Block speichern oder laden oder fr andere Zwecke mižbrauchen. Man kann notfalls nach einem "Crash" auch versuchen, noch Daten zu retten. "Dort oben" kann die TRUEDISK auch nicht so leicht von Anwenderprogrammen oder den Tcken der GEMDOS-Speicher- verwaltung zerst”rt werden. Die Treiberroutinen liegen ebenfalls dort, n„mlich im Boot-Sektor der TRUEDISK. Die "hdv"-Vektoren zeigen daher an eine Stelle oberhalb des benutzbaren Anwenderspeichers. Lediglich Programme, die ber den unteren Rand hinaus auf dem Bildschirm ausgeben, k”nnen Schwierigkeiten bereiten. In der Praxis trat dies aber nur bei einem sehr alten "HyperScreen"-Treiber und einigen unsauberen PD-Programmen auf, die inzwischen korrigiert wurden (solche Programme wrden sowieso auf einem 4MB Rechner abstrzen). Die TRUEDISK arbeitet mit 512-Byte-Sektoren, 2 Sektoren pro Cluster und 16-Bit-FATs. Dies sind Standardwerte, die zwar etwas Platz verschwenden, aber dafr die RAM-Disk nicht abbremsen und nicht zu Problemen fhren k”nnen, die es in der Praxis mit anderen Werten ab und zu gab. Copyright --------- (c) 1989-1993 by Christoph Zwerschke. All rights reserved. Die TRUEDISK ist "public domain", darf also nach Belieben kopiert und weitergegeben werden ("non profit use only!"). Christoph Zwerschke Am Steinfeld 4 D-59379 Selm-Cappenberg