Ralf Biedermann Ortfeld 3 W-2815 Langwedel Germany Dokumentation zum Cacheprogramm TCache: (Version 6.0) 1. WARNUNG Dieser Punkt sollte bei allen Programmen, die zu Datenverlust fhren k”nnten, als erster Punkt der Dokumentation stehen. Da diese These von mir stammt, werde ich mich daran halten. TCache ist ein Programm, das versucht die Zugriffe auf Speichermedien, wie zum Beispiel Festplatten, zu beschleunigen. Dies geschieht, indem Teile des Speichermediums tempor„r im RAM gehalten werden. Wenn beim Zugriff auf die FAT ein Fehler auftritt, dann fhrt dies nicht selten zu Datenverlusten. Obwohl TCache auf den verschiedensten Konfigurationen getestet wurde, kann und will ich keine Verantwortung fr eventuelle Datenverluste bernehmen. Dieses Vorwort mužte ich schreiben,um nicht in Haftung genommen zu werden. TCache kommt mit Sektoren > 512 Byte/Sektor klar, aber die L„nge eines Fateintrages darf 32 BIT nicht berschreiten! Die Einschr„nkung mit den 32 BIT drfte auf dem Atari keine Einschr„nkung sein, da mir keine andere Sektornummerierung bekannt ist. TCache sollte auch mit Disketten und Wechselplatten zurechtkommen, da Mediachange berwacht wird. Mediachange ist ein Signal das von wechselbaren Speichermedien kommen sollte wenn das Speichermedium gewechselt wurde. Beim Testen mit verschiedenen Rechnerkonfigurationen konnte ich Folgendes in Bezug auf Mediachange feststellen: Bei TOS 1.04 klappt die Sache bei Disketten zufriedenstellend aber nicht perfekt. Bei TOS 1.00 ist es ratsamer, die Diskettenlaufwerke nicht zu puffern. Diskettencache klappt nur, wenn der Schreibschutz der Diskette NICHT aktiviert wurde. Tests mit Wechselplatten konnte ich nicht durchfhren, da nicht vorhanden. Ich w„re fr Informationen diesbezglich dankbar. Es muž nochmal betont werden: Mediachange wird zwar berwacht. Wenn Mediachange jedoch einmal nicht kommt, gibt es bei Diskette und Wechselplatten eine mittlere Katastrophe. Deswegen gilt besonders bei den beiden oben genannten Speichermedien: Sehr grndlich mit unwichtigen Daten testen! Einige Pogramme arbeiten unter Umgehung des Bios, bei denen man TCache ausschalten sollte (mit TcacheAcc). Bei diesen Programmen handelt es sich haupts„chlich um Diskdoktoren, Diskkopierer sowie besonders auch um Formatier- und Partitionierprogramme. TCache60.PRG darf nicht in gepackter Form (z.B. mit PFX_PAK) im Auto Ordner stehen, da die Einstellungen direkt im Programmcode abgespeichert werden! TCache darf nicht mit Programmen zusammenarbeiten, die Laufwerksbezeichnungen um„ndern, deswegen habe ich diese Option auch direkt in TCache eingebaut. Eine besondere Warnung sollte man nochmal fr 'Schreiben verz”gern' aussprechen. Wenn man oft Abstrze hat oder gerne resetet, sollte man Schreiben verz”gern NICHT benutzen. Ich habe die Option nur eingebaut, weil andere Diese auch haben und weil es in bestimmten F„llen sehr viel bringt. Ich pers”nlich m”chte diese Option allerdings nicht mehr missen. Ein normaler ST mit 8MHz zusammen mit einem Bildschirmbeschleuniger und TCache ist wie ein anderer Rechner. --------------------------------------------------------------------------- 2. COPYRIGHT Die Version ab 4.0 von TCache ist komplett neu geschrieben. Das Copyright liegt allein bei mir. Ver„nderungen an dem Programm fr den privaten Gebrauch sind gestattet. Soll eine (auch stark) ver„nderte Version von TCache der ™ffentlichkeit zug„nglich gemacht werden, muž mir das ge„nderte Programm inklusive Quelltexten zuvor zugeschickt werden. Dieses kleine Opfer muž ich verlangen, damit wenigstens Einer (n„mlich ich) den šberblick nicht ganz verliert. --------------------------------------------------------------------------- 3. VERTRIEB Grunds„tzlich darf kein Gewinn aus den unten aufgefhrten Programmen erzielt werden. Es darf nicht separat verkauft werden, jedoch kostenlos verteilt werden. Falls TCache von Festplattenherstellern ihren Produkten beigelegt werden soll, dann muž sich dieser Hersteller zuerst mit mir in Verbindung setzen, um die Vorgehensweise abzusprechen. Der letzte Satz gilt auch fr Festplattenvertreiber. Bei TCache handelt es sich um eine Abart der Shareware die ich CharityWare nennen m”chte. CharityWare heižt bei regelm„žiger Nutzung von TCache ber einen Zeitraum von mehr als 4 Wochen wird eine Spende >=10,-DM fr einen Tierschutzverein nach Wahl f„llig , falls ihr TCache auch nach 4 Wochen ohne Spende benutzt gilt das Programm als Raubkopie und euer Gewissen wird euch bis ans Ende eurer Tage verfolgen und nicht schlafen lassen(;-{)}). Als Beleg fr die Spende erkenne ich eine Spendenquittung oder einen Einzahlungsbeleg an. Falls Ihr keine Spenden fr einen Tierschutzverein machen wollt, seht TCache bitte als Shareware an. Fr einen Spendenbetrag von >=30,-, einen frankierten und adressierten Rckumschlag, sowie einer Diskette (am liebsten mit anderer PD/Shareware) bekommt ihr die neueste Version von TCache inclusive aller Quelltexte zugeschickt. Bei Einsendung von einem frankierten und adressierten Rckumschlag sowie einer Diskette (am liebsten mit anderer PD/ ShareWare) schicke ich dem Absender die aktuelle Version von TCache ohne Quelltext zu. Eine Spendenbescheinigung fr einen Tierschutzverein erh”ht allerdings meinen Eifer. Ich habe mich entschlossen TCache nicht mehr als FreeWare zu verteilen, weil euer Eifer mich nicht beeindruckt hat. Um aber trotzdem den guten Zweck zu betonen habe ich die Spende fr einen Tierschutzverein auf >=10,- festgelegt, w„hrend die nicht so tierlieben Menschen um >=30,- erleichtert werden sollen. Falls der gute Zweck nicht reicht vielleicht hilft der Druck auf den Geldbeutel ;-{)} Ach ja meine Kontonummer fr die Unverbesserlichen lautet Ralf Biedermann Kreissparkasse Verden Kontonummer:78553 Bankleitzahl:291 526 76 TCache ab Version 6.0 ist ShareWare und darf ber Mailbox und PD-Serien vertrieben werden. Falls TCache verbreitet werden soll, dann nur mit allen Dateien die ich jetzt auffhre: A. TCACHE60.TXT Dieser Text B. CHANGES .TXT Beschreibung der Žnderung seit Version 5.9 C. TCACHE60.PRG Das eigentliche Cacheprogramm D. TC_ACC60.ACC Ein kleines Accessory fr Statistiken und Einstellungen. Kann auch als .PRG gestartet werden (nur umbenennen). Auf den Disketten die ich an Spender (ICH WIEDERHOLE AM LIEBSTEN FšR DEN TIERSCHUTZVEREIN) werden noch folgende Dateien sein: INTERNA.TXT Beschreibung aller Cookiefunktionen und Erkl„rung der internen Vorg„nge von TCache. Weiter werden alle Programme im Quelltext geliefert. --------------------------------------------------------------------------- 4. INSTALLATION TCache wird mit folgender Grundeinstellung von mir in den Umlauf gebracht: -Cachegr”že : 128 KByte -Maximale Blockgr”že : 32 Sektoren -Maximale Blockgr”že Lesen : 32 Sektoren -Maximale Blockgr”že Schreiben : 32 Sektoren -Maximaler Prefetch : 32 Sektoren -Hashtabelle : 4096 Byte (10 Bit, 1024 Zeiger) -Laufwerke : keins wird gepuffert -Sektorprefetch ist aktiv und auf 4 Sektoren eingestellt -Schreibpufferung ist fr alle Laufwerke aktiv -Schreiben verz”gern ist nicht aktiv -Checksumme nicht aktiv -Mediach() wird aufgerufen -Fat & Rootdir ist nicht aktiv -bei Reset wird versucht zu schreiben. -Flushzeit fr 'Schreiben verz”gern' ist 10 VBI Ich hab kein Laufwerk gepuffert, damit jeder erstmal seine Grundeinstellung vornehmen muž. Die Installation von TCache ist sehr einfach. Nur das Programm TCache60.PRG in den AUTO-ORDNER der Bootpartition kopieren, Rechner resetten, fertig. Es ist zu empfehlen TCache sehr weit vorne (physikalisch) im Autoordner zu plazieren. Ntzlich ist es auch, das Programm TC_ACC60.ACC in das ROOT-Directory zu kopieren. Die Grundeinstellung von TCache (siehe oben) ist so ausgelegt, daž dieses Programm auf jedem Rechner l„uft. Falls die Grundeinstellung nicht zusagt, l„žt sich die Einstellung mit dem mitgelieferten TC_ACC60.ACC „ndern. Nach dem ersten Start muž TCache60.PRG mit TC_ACC60.ACC (oder .PRG) konfiguriert werden, da ich, wie gesagt, TCache komplett deaktiviert in den Umlauf bringe. Falls ihr das CPX von Jan Starzynski benutzt, kann es sein das TCache auch schon nach der Erstinstallation aktiv ist, da eben jenes CPX nach dem Bootvorgang TCache umkonfiguriert. Falls es zu gef„hrlich erscheint das Programm gleich in den AUTO-Ordner zu kopieren, kann das Programm auch direkt vom Desktop gestartet werden, um es erst einmal auszuprobieren. Man sollte es nur mit einer unwichtigen Partition oder mit einer solchen benutzen, von der man ein BackUp hat. Ich gehe zwar nicht davon aus, daž eine bestimmte Betriebssytemversion oder ein bestimmter Festplattentreiber vorhanden ist, aber wegen der grožen Vielfalt kann ich natrlich nicht garantieren, daž TCache immer und berall einwandfrei funktioniert. Wird TCache mit zu viel Speicher konfiguriert, kann TCache nicht mehr gestartet werden. Somit kann man die Konfiguration auch nicht mehr „ndern. Damit TCache auf jedem Rechner wieder zum Laufen gebracht werden kann, braucht man beim Starten von TCache (auch im Autoordner) nur die linke Shift- und die Controltaste gleichzeitig drcken. Wenn diese Tastenkombination erkannt wurde, „ndert TCache seine Konfiguration wie folgt: 32 KB Speicher fr Sektoren 10 Bit Hashtabelle 16 Sektoren als gr”žter Block beim Lesen 16 Sektoren als gr”žter Block beim Schreiben 16 Sektoren als maximaler Prefetch Flushzeit 10 VBI keine Pufferung aktiv Jetzt kann man wieder die Konfiguration mit TC_ACC60 „ndern. --------------------------------------------------------------------------- 5.TC_ACC60.ACC Mit diesem kleinen PRG/ACC (nur umbenennen) kann man s„mtliche Einstellungen von TCache vornehmen, wobei TCache installiert sein muž. Fr jedes vorhandene Laufwerk kann man im Menu instellungen' folgende Parameter einstellen: - Ob es gepuffert werden soll (Aktiv). D.h. hiermit kann man ein Laufwerk komplett von TCache ausnehmen. Wenn dieser Punkt nicht angew„hlt ist werden alle anderen Optionen, fr dieses Laufwerk, ignoriert. Falls man also ein Laufwerk von TCache beschleunigen lassen m”chte muž dieser Punkt angew„hlt sein. - Ob eine Schreibpufferung vorgenommen werden soll (Žnderungen schreiben). Wenn dieser Punkt angew„hlt wurde wird jeder Sektor, der geschrieben werden soll, vorher mit dem Cacheinhalt verglichen und bei šbereinstimmung wird der Sektor nicht geschrieben. - Ob Schreiben verz”gert werden soll (Schreiben verz”gern). Diese Option beh„lt Sektoren, die geschrieben werden sollen, fr eine gewisse Zeit im Speicher ohne einen wirklichen Schreibzugriff auf Festplatte durchzufhren. Der Vorteil dieser Einstellung liegt in Gemdos. Gemdos fhrt teilweise sehr viele Schreibzugriffe auf die gleichen Sektoren durch, z.B. beim L”schen von Dateien, und durch diesen Punkt werden mehrere Schreibzugriffe zu einem Zugriff zusammengefasst. Obwohl diese Einstellung teilweise imense Zeitersparnis bringt ist sie auch gef„hrlich weil die ge„nderten Daten fr eine gewisse Zeit NUR im RAM existieren. - Ob das Laufwerk schreibgeschtzt sein soll (Schreibschutz). Wenn dieser Punkt angw„hlt ist bekommt man bei Schreibzugriffen auf das Laufwerk eine Alertbox und der Schreibzugriff wird nicht durchgefhrt auch nicht wenn man NOCHMAL anw„hlt. Schreibzugriffe sind erst wieder m”glich wenn man diese Option ausgeschaltet hat.. - Ob bei Cachezugriffen mit Checksumme gearbeitet werden soll (Checksumme) Wenn dieser Button gew„hlt ist, wird fr jeden Sektorzugriffe eine Prfsumme gebildet und mit einer Summe verglichen die beim Laden des Sektors gebildet wurde. Sollten die Prfsummen nicht bereinstimmen, wird der gespeicherte Sektor fr ungltig erkl„rt und erneut von der Festplatte gelesen. Dieser Punkt soll der Sicherheit dienen, kostet allerdings sehr viel Zeit so das der Vorteil von TCache mehr als aufgebraucht wird. - Ob bei einem CacheHit Mediach() aufgerufen wird (Mediach() bei Hit). Wenn dieser Punkt angew„hlt ist, wird die Routine Mediach() jedesmal aufgerufen, wenn ein Sektor im Cache gefunden wurde. Diese Funktion sollte bei allen Laufwerken eingeschaltet sein die man wechseln kann, z.B. Disketten. Falls bei einem wechselbaren Medium diese Option nicht eingeschaltet ist kann es zu Datenverlusten kommen. - Ob beim Booten die Fats und Rootdirs eingelesen und gesperrt werden sollen (FAT & RootDir sperren). Da die FAT ein Festplattenbereich ist auf dem sehr oft zugegriffen wird lohnt es sich wenn man mit dieser Option TCache sagt das FAT-Sektoren nicht mehr berschrieben werden drfen. Wenn dieser Punkt angew„hlt ist sollte man noch drauf achten das der Belegungsgrad NICHT invers angezeigt wird, denn sonst gehen grože Teile des Cacheeffekts verloren. Inverse Zahl beim Belegungsgrad bedeutet das der Speicher komplett mit gesperrten, nicht berschreibbaren Daten gefllt ist. - Sektorprefetch (10 Radiobutton am unteren Rand der Box 0..9) bestimmt die Anzahl der Sektoren die TCache liest falls das Betriebssystem nur einen einzelnen Sektor anfordert. Beim Sektorprefetch liest TCache mehrer aufeinander folgende Sektoren ein obwohl das Betriebssystem nur einen Sektor gefordert hat. Der von TOS geforderte Sektor wird an die fr ihn bestimmte Adresse kopiert und die anderen Sektoren werden ordnungsgem„ž im Cache eingetragen. Dieses Verhalten bringt einige Vorteile da viele Programme mehrere aufeinander folgende Sektor durch einzelne Zugriffe anfordern. Bei Benchmarkprogrammen welche die sogenannte Zugriffszeit messen kann es zu einer Verschlechterung kommen es sei denn man hat Sektorprefetch 0 eingestellt. Fr TCache global kann man im Menu 'Parameter' Folgendes einstellen: - Speichergr”že 32..9999 KByte. Hier wird die Speichergr”že angegeben die nur fr Sektordaten benutzt wird. Der Gesamtspeicherbedarf bersteigt diesen Wert um ca. 20%. Den Gesamtspeicherbedarf bekommt man beim Start von TCache angezeigt und kann ihn vom ACC anzeigen lassen (klick auf Copyrightmessage). Falls es Atari-Benutzer gibt denen fast 10MB Cache nicht reichen sollte man mir eine Mitteilung zukommen lassen und ich erh”he diese Grenze auf fast 100MB oder gar auf knapp unter einem GigaByte ;-{)} - maximale Blockl„nge 2..999 Sektoren beim Lesen. Zugriffe auf Festplatte geschehen Sektorweise und in einem Zugriff kann Gemdos auch mehrere Sektoren auf einmal anfordern. Mit dieser Zahl kann man den gr”žten Block bestimmen der beim Lesen noch von TCache beachtet wird. Zugriffe die diesen Wert berschreiten werden direkt von der Festplatte gelesen. TCache l„žt es nicht zu, daž die Blockl„nge die Speichergr”že von TCache berschreitet. In so einem Fall wird die Blockl„nge auf 16 gesetzt. Diesen Wert sollte an der Cachegr”že anpassen, d.h. kleiner Cache geringe Blockl„nge. Auch hier gilt das Gleiche wie fr die Speichergr”že: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - maximale Blockl„nge 2..999 Sektoren beim Schreiben. Zugriffe auf Festplatte geschehen Sektorweise und in einem Zugriff kann Gemdos auch mehrere Sektoren auf einmal schreiben. Mit dieser Zahl kann man den gr”žten Block bestimmen der beim Schreiben noch von TCache beachtet wird. Zugriffe die diesen Wert berschreiten werden direkt auf die Festplatte geschrieben. TCache l„žt es nicht zu das die Blockl„nge die Speichergr”že von TCache berschreitet. In so einem Fall wird die Blockl„nge auf 16 gesetzt. Diesen Wert sollte man der Cachegr”že anpassen, d.h. kleiner Cache geringe Blockl„nge. Auch hier gilt das Gleiche wie fr die Speichergr”že: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - maximaler Prefetchpuffer 10..99 Sektoren. Dieser Puffer dient als Zwischenspeicher fr den Sektorprefetch und gleichzeitig werden in diesem Puffer die Sektoren zusammengestellt die bei 'Schreib sp„ter' in der Interruptroutine geschrieben werden. Wenn die Option 'Schreib sp„ter' fr mindestens ein Laufwerk angew„hlt ist, sollte dieser Wert zwischen 16 und 32 stehen. Auch hier gilt das Gleiche wie fr die Speichergr”že: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - Gr”že der Hashfunktion 8..16 Bit. Dieser Wert bestimmt die Geschwindigkeit beim Suchen eines Sektors im Speicher. Je h”her der Wert desto schneller findet TCache Sektoren im Speicher. Der Speicherbedarf dieser Werte geht von 1024Byte (8Bit) bis zu 262.144Byte (16Bit). Der Speicherbedarf berechnet sich nach der Formel 4*2^(Anzahl der Bits). Sinnvolle Werte liegen so zwischen 10..12 Bit. Diese Werte haben ein gutes Speicher/Geschwindigkeits Verh„ltnis. - Flushzeit fr delayed write. Die Zeit wird in Anzahl von VBI's angegeben, d.h. die eingestellte Zeit ist auch abh„ngig von der Monitorfrequenz. Beim Monochrommonitor bedeutet 1 VBI ca.14 msec. Werte zwischen 20..30 sind relativ sichern weil Daten sehr schnell auf Festplatte verewigt werden, w„hrend Werte von 80..90 in einigen Anwendungen noch ein Mehr an Geschwindigkeit bedeuten. Desweiteren gibt es ganz unten im Menu 'Parameter' noch vier Auswahlm”glichkeiten: - 'CLR' bewirkt bei Anwahl, daž das Cache beim 'Ok' oder beim 'Speichern' gel”scht wird (inklusive 'gelockten' Daten) und aužerdem wird der Cache geflushed, d.h. verz”gerte Sektoren werden auf dem passenden Medium verewigt. - 'LOCK' hat zur Folge, daž alle folgenden Sektorzugriffe diese Sektoren gegen šberschreiben schtzen (nicht bei Abbruch). Man muž dieses Flag irgendwann zurcksetzen, sonst ist der Cachespeicher schneller voll als man denkt. - 'LED' bewirkt das die Floppylampe bei jedem Zugriff auf Festplatte bzw. Cache angeht. Falls man eine Ramdisk vor TCache installiert leuchtet die LED auch sehr kurz auf. LED muž angew„hlt sein (Schwarz) damit die Floppyled flackert. - 'AKTIV', mit diesem Flag kann man TCache komplett deaktivieren. Im Menu 'Statistik' bekommt man folgende Daten angezeigt: - Anzahl der Lesezugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt und nicht etwa jeder Sektor. - Anzahl der gesparten Lesezugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt der gespart werden konnte und nicht etwa jeder Sektor. - Trefferquote bei Lesezugriffen in %. Treffer bedeutet es wurde ein Zugriff komplett aus dem Cache get„tigt und die liebe Festplatte hatte ruhe. - Anzahl der Schreibzugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt und nicht etwa jeder Sektor. - Anzahl der gesparten Schreibzugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt der gespart werden konnte und nicht etwa jeder Sektor. - Trefferquote bei Schreibzugriffen in %. Treffer bedeutet es wurde ein Zugriff komplett aus dem Cache get„tigt und die liebe Festplatte hatte ruhe. - Anzahl der aufgetretenen Checksummenfehler. Jeder Sektor bei dem die Checksumme nicht stimmt wird gez„hlt. - Anzahl der Zugriffe auf ungerade Adressen. Jeder Sektor der auf eine ungerade Adresse geladen werden soll wird gez„hlt. - Freier Speicherplatz auf dem gew„hlten Laufwerk - Sektorgr”že des gew„hlten Laufwerks. Im Menu 'Spezial' befinden sich zwei Optionen: - Zugriffschutz fr Laufwerke. Um diese Option benutzen zu k”nnen brauchen nur die Laufwerke die geschtzt werden sollen durch Selektion der oberen beiden Buttonreihen angew„hlt werden. Damit der Schutz aktiv wird muž noch ein Passwort eingegeben werden. Ich bringe TCache mit dem Passwort 'TCRB' in Umlauf, d.h. direkt nach der Installation wirkt nur das Passort 'TCRB'. Wenn jemand das Passwort „ndern m”chte kann es nur mit Hilfe eines Diskettenmonitors geschehen. TCACHE60.PRG in den Diskettenmonitor laden, en String 'PASSTCRB' suchen und 'TCRB' durch das neue Passwort ersetzen. - Laufwerksumlenkung bewirkt das Zugriff auf Laufwerk '?' auf ein anderes Laufwerk umgelenkt werden. Mit Hilfe der beiden Pfeile kann das umzulenkende Laufwerk ausgew„hlt werden. Zur Umlenkung angeboten werden sowohl alle wirklich vorhandenen als auch die virtuellen Laufwerke. Nachdem man das Laufwerk ausgew„hlt hat welches man umlenken m”chte, braucht mit nur noch das gewnschte Ziel in den unteren beiden Buttonreihen anklicken. Als Ziel werden nur wirklich vorhandene Laufwerke angeboten. Die Laufwerkumlenkung funktioniert eigentlich ausgezeichenet bis auf eine Ausnahme. Die Ausnahme ist das Formatieren, d.h. das Formatieren geht niht ber die Laufwerkumleenkung sondern spricht wirklich das gew„hlte Laufwerk an. Dieser Punkt ist eigentlich nur bei Diskettenbetrieb mit zwei Laufwerken wichtig. Im Menu 'Zubeh”r' gibt es zur Zeit 9 Schalter und 5 weitere Menus. Die weiteren Menus erkennt man an den schattierten Button. Als erstes m”chte ich die Schalter erkl„ren: - Absolut erlaubt es alle Zugriffe auf absolute Sektoren (unter Umgehung der Partitionsinformationen) zulassen oder sperren. Wenn den Button gew„hlt wurde, sind Zugriffe auf absolute Sektoren erlaubt. Da im normalen Betrieb eigentlich keine Zugriffe auf diesem Wege geschehen sollten, habe ich diesen Punkt ausgeschaltet. Im Prinzip sollten nur Festplattentools diese Zugriffsart zum Formatieren bzw. Partitioniern benutzen. Falls der absolute Zugriff nicht erlaubt ist und ein Programm versucht trotzdem absolut zuzugreifen, kommt eine Box 'Bitte Diskette ? in Laufwerk A einlegen', wobei das '?' fr das Laufwerk steht auf das zugegriffen werden sollte wobei der Buchstabe diesmal ein physikalisches Laufwerk angiebt. Egal welchen Button man in der Box w„hlt der Zugriff bleibt untersagt. - Testing unterbindet die regelm„žigen Testfunktionen vom Accessory (nur als Accessory). Ist dieser Button gew„hlt wird getestet ansonsten nicht. Die Testfunktionen sind: berprfen ob TCache noch vorhanden ist und šberwachung von Schreibfehlern. - PUN-INFO schaltet die Auswertung der Pun-Info-Struktur beim Booten ein oder aus. Da es mindestens mit einem Festplattentreiber Schwierigkeiten wegen dieser Option gab, habe ich das Verhalten durch diesen Button schaltbar gemacht. Beim Booten wertet TCache die Pun-Info-Struktur nur noch aus wenn dieser Button gew„hlt wurde. Der Vorteil der Benutzung von Pun-Info liegt in der geringeren Anzahl von Getbpb()-Aufrufen beim Booten und damit eine geringe Zeitersparnis. Besonders bei Wechselplatten hat es Vorteil ber die Pun-Info-Struktur zu gehen wenn es der Festplattentreiber zul„žt. - NOX! Zum Testen gibs jetzt den Button 'NOX!' ist dieser angew„hlt versucht TCache einen Cookie mit dem Namen 'NOX!' zu finden. Ist dieser vorhanden betrachtet TCache den Wert des Cookies als Zeiger auf eine Routine. Diese Routine wird beim Start und beim Ende von TCache augefhrt, aber nur wenn TCache aktiv ist. In D0 bekommt die Routine gesagt ob Rwabs() anf„ngt (D0=0) oder aufh”rt (D0=1). Falls die Routine beim Start aufgerufen wird erh„lt das Unterprogramm in Register A0 noch einen Zeiger auf die Para ter fr Rwabs(). TCache rettet alle Register ! - Drvbit-Check zeigt TCache ob Zugriffe auf nicht mehr angemeldete Laufwerke erlaubt sind (Button nicht gew„hlt) oder ob diese Zugriffe mit 'Laufwerk nicht bekannt' beantwortet werden (Button gew„hlt). Falls man einen Festplattentreiber benutzt der es erlaubt von anderen Partitionen als 'C' zu booten, muž beim Booten von einem Laufwerk <> 'C' im Normalfall diese Option ausgeschaltet sein, andernfalls kann nicht mehr auf Laufwerk 'C' zugegriffen werden. Das Booten von andern Partitionen beruht meistens auf d Trick Laufwerk 'C' w„hrend der Bootphase abzumelden. - XBra-Check sagt TCache in welchem Maže es seinen Programmcode prfen soll. Vorweg w„re zu sagen das TCache aus Sicherheitsgrnden bei jedem Programmende eine Checksumme ber den Programmcode und wichtige Zeiger bildet. Falls die Checksumme nicht mehr mit einer vorher gebildeten bereinstimmt deaktiviert sich TCache und das Accessory meldet das Problem. Mit XBra-Check kann man bestimmen, wie die alten Vektoren einer XBra-Struktur berwacht werde. Ist dieser Button gew„hlt duldet TCache keinerlei Ver„nderungen an diesen Vektoren, das kann bedeuten das sich TCache deaktiviert, wenn man z.B. eine Ramdisk aus dem Speicher entfernt. Falls der Button nicht gew„hlt wurde, sind nur Zugriffe auf die alten Vektoren innerhalb der XBra-Struktur erlaubt. - etv_term bestimmt, ob beim Verlassen eines Programmes alle Daten wirklich auf den Massenspeicher bertragen werden. Diese Option hat nur eine Wirkung wenn 'Schreiben verz”gern' aktiv ist. - WriteReset bestimmt ob im Falle eines Resettes (NUR WARMSTART) versucht werden soll die verz”gerten Cachedaten noch zu schreiben. Im Allgemeinen sollte man diese Option eingeschaltet lassen. - GemDos im Menu 'Zubeh”r' klingt sich in den GemDos-Trap ein und setzt vor jedem Fsfirst() und Fsnext() das Lock-Bit, damit soll erreicht werden das die gesamte Directorystruktur im Cache festgehalten wird. - UHR im Menu 'Zubeh”r' stellt eine bestimmte Hardwareuhr (meine) beim Start Jetzt zu den weiteren Menus im Menu 'Zubeh”r': - Ramdisk erlaubt es ein Ramdisk zu installieren oder zu entfernen. Im Menu Ramdisk hat man folgende Einstellm”glichkeiten: Gr”že der Ramdisk 32..9999 KByte. Laufwerkkennung alle nicht benutzten Laufwerke k”nnen gew„hlt werden. resetfest oder nicht (z.Z. nicht untersttzt). Zur Ramdisk ist noch zu sagen: Wenn man eine Ramdisk installiert oder entfernt werden die anderen Einstellungen, die seit Start des ACC's vorgenommen wurden, NICHT bernommen. Ich habe diesen Weg gew„hlt, weil ich sonst zuviele Einstellung an die neue Laufwerkskonfiguration anpassen mžte. Wenn man versucht eine Ramdisk zu entfernen obwohl sich noch Daten auf eben dieser befinden, erscheint eine Alertbox in der man entscheiden kann ob die Ramdisk entfernt werden soll oder nicht. - ACC-Ordner bietet folgende M”glichkeiten. Sollen ACC's aus Ordner geladen werden (Button gew„hlt) oder nicht. Pfad fr die ACC's aus dem die Accessories geladen werden sollen. Wenn man den alten Pfad anklickt ”ffnet sich eine Fileselektorbox, mit der man den neuen Pfad fr ACC's setzen kann. Bei ACC's, die man in Ordner versteckt und die ein separates RSC-File besitzen, kommt es vor das eben diese ACC's ihr RSC nicht finden wenn es ebenfalls im ACC-Ordner steht. Man k”nnte jetzt auch fr die RSC-Files eine Routine schreiben, aber warum, das AES benutzt diese doch schon. Man nehme einen sogenannten Enviroment-Setter und stelle die Enviroment-Variable PATH ebenfalls auf den ACC-Ordner ein und schon werden die RSC-Dateien auch aus dem Ordner geladen. - Steprate erlaubt es die Steprate fr Laufwerk 'A' und 'B' zu setzen. Die Stepraten werden nur eingestellt, wenn auch der entsprechende Button beim Programmende selektiert war. TCache.PRG stellt die Stepraten auch beim Booten ein, wenn man mit selektierten Button gespeichert hat. - 'Virtuell' erlaubt es virtuelle Laufwerke einzurichten. Eine etwas genauere Beschreibung befindet sich bei der Cookie-Funktion RBVirtuell. Nur kurz: virtuelle Laufwerke sind nicht wirklich vorhanden sondern nur beim Betriebssystem als vorhanden angemeldet. Diese Option macht nur mit der Laufwerksumlenkung sinn. Zusammen mit der Laufwerksumlenkung kann man auf jedem ST/STE/TT jede Konfiguration simulieren. Im Prinzip ist es m”glich selbst mit nur einem Diskettenlaufwerk 16 Laufwerke zu simulieren aber hier drfte der Speicherplatz einer Diskette enge Grenzen setzen. - Information l„žt eine weitere Seite mit hochinformativen Daten erscheinen. Absolut Lesen zeigt an, wie viele Lesezugriffe auf die Festplatte gemacht wurden ohne die Partitionsinformation zu beachten. Dieser Wert k”nnte Virenaktivit„ten anzeigen. Absolut Schreiben zeigt an wie viele Schreibzugriffe auf die Festplatte gemacht wurden ohne die Partitionsinformation zu beachten. Dieser Wert k”nnte Virenaktivit„ten anzeigen. Falls man eine Festplatte formatiert oder partitioniert ist es durchaus normal wenn hie Werte != 0 erscheinen. Es werden auch noch die Anzahl der Zugriffe auf einzelne Sektoren, Zugriffe auf mehrere Sektoren, Gesamtzahl der Zugriffe, Gesamtzahl der gesparten Zugriffe und Gesamtzahl der gesparten Zugriffe in Prozent angezeigt. - Schreibfehler zeigt Probleme mit Medien im Zusammenhang mit 'Schreiben verz”gern' an. Ab Version 6.0 kann das ACC Probleme melden wenn es auch als ACC benutzt wird. Der Punkt 'Mediach() bei Hit' bedarf einer etwas genaueren Erkl„rung sch„tze ich. Wenn Daten, von z.B. einer Diskette, im Cache stehen werden diese auch noch gefunden obwohl die Diskette mittlerweile gewechselt wurde, das ist sehr ungnstig. Wenn man 'Mediach() bei Hit' aktiviert hat wird fr jeden Zugriff bei einem Cachehit berprft ob die Diskette eventuell gewechselt wurde, und damit verl„uft eine Cacheoperation relativ sicher. Dieser Punkt sollte fr alle wechselbare Medien (Disketten, Wechselplatten, CD-Roms oder MO's) eingeschaltet sein. Bei Festplatten hat man den Vorteil, daž ein Ausschalten dieser Option bei einigen Zugriffen bis zu 10% Geschwindigkeitszuwachs bringt. Falls man auch bei Disketten usw. diesen Punkt ausschaltet MUž nach jedem Diskettenwechsel ein sogenannter 'forced mediachange' erzwungen werden, z.B. d ch im Desktop. Wenn die Belegungszahl im Menu 'Parameter'invers angezeigt wird, dann bedeutet das daž der Cachespeicher komplett mit gesperrten (gelockten) Daten voll ist. Es werden in diesem Fall also keine neuen Sektoren ins Cache bernommen. Bei den Punkten 'Ok' und 'Speichern' werden alle eingestellten Daten an TCache60.PRG bergeben. Speichergr”že und Gr”že der Hashtabelle werden allerdings nur wirksam, wenn die Parameter mit 'SPEICHERN' gesichert worden sind und ein Reset ausgefhrt wurde. Beim Aufrufen von TC_ACC60 und beim Laufwerkwechsel treten Pausen auf, weil ein Dfree() Aufruf get„tigt wird. Bei TOS 1.00 kann es einige Sekunden dauern. Aužer den cacherelevanten Daten setzt TC_ACC60 beim Start auch den Clipboardpfad auf 'C:\CLIPBRD' falls noch keiner vorhanden war. Diese Funktion habe ich fr mich eingebaut weil eines meiner Lieblingsacc's dies so haben m”chte. Falls TC_ACC60 als Accessory l„uft erfllt es noch zwei weitere Aufgaben: - Alle 5 Sekunden sieht es nach ob TCache60.PRG noch vorhanden ist obwohl es schon installiert wurde. Falls einmal ein Test nicht erfolgreich war ”ffnet sich eine Dialogbox die auf diesen Vorfall aufmerksam macht. Sollte das ACC TCache einmal nicht mehr finden gibt es die Meldung aus das TCache entfernt wurde. Der Grund fr dieses Verhalten ist das der Cookie 'TCRB' auf einem unbekannten Grund nicht mehr vorhanden ist. Die zweite m”gliche Meldung ist das TCache sich deinstalliert hat. Der Grund fr diese Meldung ist das TCache eine unbefugte Žnderung an seinem Programmcode festgestellt hat. Im zweiten Fall ist Vorsicht geboten, weil ein Fremdprogramm unerlaubte Speicherbereiche ver„ndert hat. Falls man den Button XBra-Check gew„hlt hat, kann ein m”glicher Grund die Entfernung einer Ramdisk sein, die man VOR TCache installiert hat. Die zweite Meldung kann man auch bekommen wenn man TC_ACC60 als Programm aufruft. Der Grund ist der selbe. - Alle 5 Sekunden sieht das ACC nach, ob ein Fehler beim Schreiben aufgetreten ist und noch nicht behoben wurde. Falls ein Fehler noch nicht behoben werden konnte, erscheint eine Alertbox mit der Fehlernummer, dem Fehlerlaufwerk und dem Fehlersektor. Jetzt bietet das ACC die M”glichkeiten an den Fehler zu ignorieren (Abbruch) oder es weiter zu versuchen (weiter). Falls Abbruch gew„hlt wurde sind mit an Sicherheit grenzender Wahrscheinlichkeit Daten verloren gegangen. Um mal zu zeigen wie sicher TCache eigentlich ist, empfehle ich folgenden Test mit einer neuen, formatierten Diskette: TC_ACC60 als ACC installieren und neu Booten, Verz”gerungszeit auf 90VBI stellen, 'Schreiben verz”gern' fr das Diskettenlaufwerk aktivieren (anw„hlen) und ein paar Dateien von der Festplatte auf Diskette kopieren. Sobald die Dialogbox vom Kopieren verschwindet Diskette aus dem Laufwerk entfernen. Nach einiger Zeit sollte TCache versuchen Daten auf das Laufwerk zu schreiben das merkt man am rattern des Laufwerks. Nach sp„testens 5 Sekunden sollte das ACC einen Fehler (-6==seek track) melden. Jetzt Diskette wieder einlegen und weiter w„hlen. Nach ein paar Augenblicken wird alles auf Diskette geschrieben und keine Daten sind verloren gegangen. Dies sollte nur ein Test und nicht der Regelfall sein. Da das Ganze mit einer, wie ich finde, sauber aufgebauten Dialogbox vonstatten geht, sollte jeder damit klarkommen. Sonst bitte melden. --------------------------------------------------------------------------- 6. TC_Lock.PRG TC_Lock ist ein kleines Hilfsprogramm, daž zeigen soll, wie einfach man TCache fernsteuern kann. TC_Lock hat den Sinn, daž man einige Programme automatisch in den Cachespeicher eintragen kann und diese dort sperren. TC_Lock wird einfach gestartet. Dann liest es die Datei TC_Lock.inf (im gleichen Pfad) ein und liest alle Programme, die dort mit vollem Pfad stehen, ein und sperrt diese im Cache. Wenn das Zeichen '0' als erstes Zeichen in der Datei steht,wird der Cache vorher noch gel”scht. Der Anwender ist selbst dafr verantwortlich, daž die maximale Sektorl„nge und der Cachespeicher reichen. TC_LOCK.INF darf maximal 65536 Byte lang sein (wird wohl niemand erreichen) und die Dateien drfen maximal 262144 Byte lang sein. Das heižt aber nicht, daž diese auch bei falscher TCache-Einstellung gepuffert werden. Ich glaube es ist klar das TC_Lock NUR nach TCache gestartet werden darf. TC_Lock ist nur auf den von mir versandten Disketten enthalten. --------------------------------------------------------------------------- 7.TC_Ram.PRG Žhnlich wie TC_Lock ist TC_Ram ein Hilfsprogramm um aufzuzeigen wie einfach man TCache ber die Cookiefunktionen steuern kann. TC_Ram richtet automatisch eine Ramdisk unter TCache ein. Logischerweise muž TC_Ram NACH TCache gestartet werden. Um mir die Sache einfach zu machen, kann man Gr”že und Laufwerkskennung der Ramdisk NUR im Quelltext „ndern. Im Programmpacket TCache ist TC_Ram auf 4MB und Laufwerk 'M' eingestellt. TC_Ram l„uft auch im Autoordner. TC_Ram ist nur auf den von mir versandten Disketten ent lten. --------------------------------------------------------------------------- 8.BENCHMARKS Benchmarks habe ich zwar durchgefhrt (durchfhren lassen) aber die Werte finde ich nicht fr besonders aussagekr„ftig, denn je nachdem welches Programm ich auffhre kann ich hier mit Geschwindigkeitssteigerungen zwischen 30 und 13000% prahlen. Jeder sollte das Programm auf seiner Konfiguration testen und selbst entscheiden, ob er TCache benutzt oder nicht. --------------------------------------------------------------------------- 9.Tips und Tricks TCache hat im 'normalen' Alltagsbetrieb fast nur Vorteile. Leider gibt es auch Anwendungen,wo ein Cacheprogramm die Sache verz”gert. Deswegen hier ein paar Beispiele, wann man TCache wie einstellen sollte. - Die sogenannten Festplattenpacker (HDPACK, CHKDISK3 ...) greifen haupts„chlich auf einzelne Sektoren zu. Wenn der 'Packer' gut geschrieben ist, legt er sich am Anfang eine Tabelle der zu vertauschenden Sektoren an. Das eigentliche Packen besteht nur aus der Abarbeitung der Tabelle. Zum Schluž werden FAT und DIR angepasst. Bei dieser Anwendung w„re es warscheinlich schneller, ohne TCache zu arbeiten (mit TC_ACC60 ausschalten). Zeittests habe ich allerdings nicht durchgefhrt. Ich habe alle meine Partionen MIT TCache gepackt und keine Probleme gehabt. Da man das Packen nicht rckg„ngig machen kann, sind Geschwindigkeitsvergleiche sehr schwer zu machen. - Die Installation grožer Programmpakete besteht haupts„chlich aus Kopieren und/ oder Entpacken von einigen Hundert Dateien. Da diese Dateien nur einmal von Diskette/Archive gelesen werden und auch nur einmal geschrieben werden, sollte man die gr”žte Blockgr”že auf 2 oder 4 setzen da ansonsten fast jede Datei auch noch zwischenzeitlich im Cache landet und dies kostet Zeit. Allerdings hat es sich als Vorteil erwiesen bei solchen Aktion 'FAT & RootDir sperren' einzuschalten und zwar sowohl fr die Quelle als auch das Ziel. - Je gr”žer der Prefetchpuffer, umso besser kann TCache beim delayed write optimieren. Wenn man Schreiben verz”gern aktiviert hat, sollte man den Prefetchpuffer am Besten zwischen 16 und 32 einstellen. Hat man Schreiben verz”gern nicht aktiviert, so sollte der Prefetchpuffer auf 10 Sektoren stehen. - Mit dem Schreiben verz”gern kann man auch spielen. Je kleiner der Wert fr VBI umso sicherer arbeitet TCache. Ein hoher Wert fr VBI bedeutet eine l„ngere Wartezeit und kann in Einzelf„llen eine Menge Zeit sparen. Normal sollte man VBI mindestens auf 20-30 stehen haben (ca. 30-60 msec). Der h”chste Wert (99) bedeutet ca. 1.4-2 Sekunden Verz”gerung. Ich habe meine Verz”gerung auf 90 stehen. - Man sollte versuchen nicht GEM und BGM Partitionen gleichzeitig zu verwenden. Von TCache wird zwar praktisch jede Kombination untersttzt nur wird beim Mischbetrieb Speicher verschenkt, da die Sektoranzahl die in den Cachespeicher pažt von der gr”žten Sektorl„nge abh„ngt. - Die Optionen 'Schreib neues', 'Fat & Rootdir' und 'GEMDOS' sorgen bei einigen Benchmarkprogrammen fr eine Verschlechterung. M”chte man die optimalen Werte erreichen mssen diese 3 Optionen ausgeschaltet werden. --------------------------------------------------------------------------- 10.BEKANNTE PROBLEME TC_Lock arbeitet bei mir nicht aus dem Autoordner heraus (KAOS?). Wenn VOR TCache speicherresidente Programme, die sich in Vektoren einbinden die auch von TCache benutzt werden, installiert werden und NACH der Installation von TCache wieder entfernt werden klinkt sich TCache wieder aus dem Betriebssystem aus. Dies ist eine Sicherheitsmažnahme. Da TCache nicht wissen kann ob dieser Eingriff in Ordnung geht entfernt es sich pr„ventiv, es k”nnte ja auch der Fall sein das die Vektoren durch einen 'Unfall' ver„ndert wurden. Beispiele findet man unter Anderem bei amdisks die wieder aus dem Betriebssystem entfernt werden. Abhilfe steht unter 'XBra-Check'. --------------------------------------------------------------------------- 11.SCHLUSSWORT Hiermit m”chte ich allen danken, die mir geholfen haben dieses Programm zu verbessern und zu testen, insbesondere gilt mein Dank Patrick Dubbrow, der viel Zeit und eine Partition (unfreiwillig) opferte. Ebenfalls stark an den Verbesserungen von Tcache Version4 beteiligt ist Jrgen Lock (@jelal.north.de), der mir einige Unstimmigkeiten in TCache aufzeigte und half, diese zu beseitigen. Da ab Version 5.0 eine gef„hrliche Operation ('Schreiben verz”gern') in TCache integriert wurde, m”chte ich mich auch bei meinen Betatestern aus dem Mausnetz (Andreas Priebe, Michael Thurm und Steffen Lamparter, Andre Mueller und Jan Starzynski) bedanken. Ich wužte gar nicht, daž man in so einem kurzen Programm so viele Fehler einbauen kann wie diese Atari-User gefunden haben. Ein weiterer Dank gilt Bernfried Grosse-Venhaus, der es nicht ansehen konnte, daž in Tcache4.txt so viele Fehler enthalten sind und mir eine gereinigte Version zuschickte. Leider mužte ich wieder einige Rechtschreib- und Satzzeichenfehler einbauen da sich zwischen Vers n 4.0 und 6.0 so viel ge„ndert hat. Mich hat TCache viel Zeit und mehrere Partitionen gekostet, darum m”chte ich jeden, der dieses Programm regelm„žig benutzt, bitten ber eine Anerkennung nachzudenken. Am liebsten s„he ich eine Spende fr einen Tierschutzverein wie ich oben schon erw„hnte. Ob weitere (hoffentlich bessere) Versionen folgen,h„ngt auch stark von der Resonanz der berglcklichen Anwender (==Euch) ab. Falls Ihr Fehler findet, bitte sofort eine Meldung (wie auch immer) an mich, denn ich hasse es, wenn ein Plan NICHT funktioniert. Nach meiner Einsch„tzung drfte TCache ab Version4 eines der schnellsten Cacheprogramme fr den Atari-ST sein. Da man allergings nie sicher sein kann, w„re ich dankbar wenn man mir Beispiele „hnlich schneller oder gar schnellerer Cacheprogramme zukommen l„žt. Weiter bin ich auch immer an Anregungen interessiert um ein gutes Programm (TCache ;-{)}) noch besser zu machen. Falls Ihr Fehler in TCache feststellen, bitte ich um eine genaue Beschreibung des Fehlers und der Programme, die aužer TCache noch laufen und natrlich, wie man den Fehler hervorrufen kann. In dringenden F„llen kann man mich auch telefonisch erreichen: 04235/8407 Mo-Fr 18.00-24.00 Sa-So 12.00-24.00, falls ich zu Hause bin. Nicht verzweifeln wenn sich ein Mensch mit 'katolischer Pferdefriedhof', 'Hier Wste welches Kamel spricht', oder „hnlichem Unfug meldet, denn manchmal habe ich so meine Anwandlungen. Die beiden ersten S„tze bedeuten ich habe recht gute Laune. Falls sich jemand mit 'Was ist' oder 'Wer st”rt' meldet, solltet ihr euch berlegen, ob es wichtig ist, denn in so einem Fall ist meine Laune nicht besonders gut. Zu erreichen bin ich unter der obigen Adresse oder im Mausnetz unter Ralf Biedermann @ HB und im Fido-Net unter Ralf Biedermann 2:241/2021.1 und unter allen Netzen die Gateways zur Maus oder zum Fido haben. Da die Anzahl sehr grož ist, kann ich nicht alle nennen, aužerdem kenne ich die wenigsten Netze. Einige Netze sind Internet, Gernet, Subnet, Zerberus,... Fragt mich aber nicht nach meiner Adresse in diesen Netzen. Das Schreiben netzbergreifender Nachrichten wird im GATOR10 (oder gr”žer), der in jeder vernetzten Mailbox verfgbar sein sollte, beschrieben. MfG Ralf Biedermann Langwedel den 01.03.93