  Ralf Biedermann
  Ortfeld 3
  27299 Langwedel
  Germany

Ab/seit  Version  6.0  von TCache werden in dieser Datei die nderungen der
verschiedenen Versionen dokumentiert.

Was hat sich bei der Version 6.3 gegenber der Version 6.2 gendert ?
------------- ACHTUNG die Cookiefunktion RBInformation ist erweitert worden

-  Unter  Mag!x gab es Adressfehler (Bomben) wenn in TCache die Option 'ACC 
aus  Ordner laden' aktiv war. Ab TCache 6.3 werden alle Beeinflussungen vom 
Gemdos unterlassen und diese Bomben sollten nicht mehr auftreten.

-  In  Version 6.2 hat sich durch die Mag!x-Anpassung leider ein Fehler bei 
der  Laufwerksumlenkung  eingeschlichen der zu Abstrzen fhrte. Da erkannt 
wurde er natrlich auch gebannt.

-  Ab  Version  6.3  wird  es  mglich  sein das Passwort zu ndern. Um das 
Passwort  zu  ndern  mu  man  in  das  Menu  Zubehr und dort in das Menu 
Passwort.  In  diesem  Menu braucht nur das alte und zur Sicherheit zweimal 
das  neue  Passwort  angegeben werden. Wenn das ACC durch OK oder speichern 
verlassen  wird  sollte  das neue Passwort bernommen werden, wenn das alte 
Passwort  stimmt  und  die  beiden  neuen Passwrter identisch sind. Ach ja 
bevor  einer  sucht.  Das  Passwort  steht  nicht  mehr  unverschlsselt im 
Programm drin ;-{)}

-  Ab  Version 6.3 wird auch der Schreibschutz bzw. delayed write fr jedes 
Laufwerk nur gendert wenn das Passwort eingegeben wurde.

-  In  Version  6.2  wollte  ich  Laufwerk  'U' wegen MinT bzw. Mag!x nicht 
untersttzen,  leider  hatte ich einen kleinen Fehler gemacht und 'u' wurde 
in  jedem Fall untersttzt. Ab Version 6.3 geht bei Laufwerk 'U' gar nichts 
mehr. Ich mu dazu sagen das es nur eine Vorsichtsmanahme ist.

-  Wenn unter TCache <= 6.2 ein Block gelesen werden sollte, der grer war 
als  der  grte  untersttzte Block, wurde der Cache komplett geflushed um 
Inkonsistenzen  zwischen den Cache- und den Festplattendaten zu verhindern. 
Ab  Version  6.3  wird  vorher  nachgesehen  ob einer der Sektoren im Cache 
steht. Ist dies nicht der Fall wird nicht geflushed.

-  Unter  MinT  bzw.  Mag!x  (Letzters  mangels Mglichkeit nicht getestet) 
konnte  man  in  6.2  (und  wohl  auch frher) berhaupt keine Ramdisk mehr 
einrichten.  Ab 6.3 wird es wieder mglich sein, aber nur wenn das ACC auch 
wirklich  als  ACC  eingebunden  wurde  und nicht als Applikation gestartet 
worden ist.

-  Wenn ab 6.3 die Parameter bei aktiver Ramdisk gespeichert werden und das 
ACC  auch als Solches gestartet wird richtet TCache beim Booten automatisch 
wieder eine Ramdisk mit den gespeicherten Parametern ein.


Was hat sich bei der Version 6.2 gegenber der Version 6.1 gendert ?

!!!!!!!!!!!!! Achtung !!!!!!!!!!!!!!!!!
Folgende Cookie-Funktionen haben sich in 6.2 gendert.

1. RBHide(Flag, RECORD* Daten) Daten ist ein Zeiger auf 32 Byte (bisher 16)
2. RBDrvA(Flag, RECORD* Daten) Daten ist ein Zeiger auf 32 Byte (bisher 16)
!!!!!!!!!!!!! Achtung !!!!!!!!!!!!!!!!!

-   Wenn   die   Option  'flush  all'  nicht  angewhlt  war  konnte  es in 
bestimmten  Ausnahmebedingungen  zu  Problemen  kommen. Problem erkannt und 
gebannt.

-  Ab  Version  6.2  von  TCache wird es zwei Versionen von diesem Programm
geben.  1.  die  registrierte Version ohne Einschrnkungen. Die Testversion
TC_TEST.LZH  die  z.Z.  als  einzige  Einschrnkung  einen Text beim Booten
enthlt.  ber weitere einschrnkungen werde ich bei Bedarf nachdenken. Die
Weitergabe  der registrierten Version ist unter keinen Umstnden gestattet.
Zur   Weitergabe   freigegeben   ist   nur   das   Archive  TC_TEST.LZH  in
unvernderter Form.

-  Mit dem Treiber CBHD von Claus Brod kann es Probleme beim Booten gegeben 
haben  weil  es  nur  durch einen Trick mglich ist TOS dazu zu bewegen von 
einem  anderen  Laufwerk zu booten. Der Trick lag u.A. darin ein Byte eines 
Wortes  kurzzeitig  sowohl  im  HighByte  und im LowByte einzutragen (wegen 
eines weiteresn Fehlers im TOS ;-{(}). TCache hat jetzt dieses Wort benutzt 
und  an  eine  Routine vom CBHD weitergeleitet und das hat nich harmoniert. 
Dies ist ab jetzt Schnee von gestern.

-  TCache  <6.2  kam  nur mit 16 Bios-Laufwerken klar, da Mag!x (>2.00 also
nicht  Mag!x  2.00)  aber  deren  26 untersttzt habe ich TCache angepasst.
TCache  untxerstxtzt  jetzt  32 BIOS-Laufwerke. Ob das ACC es auch erlaubt
alle 32 Laufwerke einzustellen kann ich heute noch nicht sagen.

-  Wenn  in  TCache  6.1 der Schalter 'Flush all' NICHT gewhlt war und der
Schalter  'etv_term'  gewhlt war dann wurde beim Verlassen des Progs nicht
alles gesichert. Ab Version 6.2 wird bei 'tv_term' wieder alles geflushed. 

-  Es  gibt  im  Menu  'Zubehr'  den  Schalter  'Turbo ;-{)}'. Wenn dieser
Schalter  aktiv  ist  wird keine Statistik mehr gefhrt, auerdem sind alle
Schalter  deaktiviert  die  eine  Verlangsamung  der  Operationen  bewirken
knnen.  Von  diesen  Manahmen  sind die Laufwerke 'A' und 'B' ausgenommen
weil   es   hier   nicht   auffllt.  WICHTIG:  Auch  die  berprfung  von
'MediaChange'   ist   ausgeschaltet.   Dies   ist   nur   eine  Option  fr
Geschwindigkeitsfanatiker  wie  mich.  Bei reinem Festplattenbetrieb drfte
es aber keine Nachteile geben.

-  Im Menu 'Zubehr' gibt es jetzt die Option 'Das Ende' die eine Textseite
mit  der  traurigen  Wahrheit ffnet. Dieser Entschlu kam zur rechten Zeit
da  eines  meiner Entwicklungstools nur 255 namentliche Objecte untersttzt
und die sind jetzt auch erreicht.

-  Im ACC gibt es einen neuen Button 'del delayed'. Ist dieser Button aktiv 
so  werden  die  Sektoren,  die  noch  geschrieben werden mssen, aus einer 
linked  List  entfernt.  Sinnvoll  ist  diese  Option  nur bei groem Cache 
(>1MB).

-  Auch  beim  Flushen  (Zurckschreiben  verzgerter  Daten)  sollte  die  
Floppy-LED jetzt leuchten sofern die Option LED eingeschaltet ist.

-  Die Verzgerungszeit fr 'Schreiben verzgern' ist, bei gleichen Zahlen' 
um  den Faktor 5 verlngert worden. Falls bei Version 6.1 hier ein Wert von 
50  stand  sollte  jetzt  der  Wert  10  eingetragen  werden um die gleiche 
Verzgerungszeit zu erhalten.

-  Durch  interne  Optimierungen  fhren  'Fat  &  RootDir'  und 'Schreiben 
verzgern'  nicht  mehr  zu einer Verlangsamung. Wenn in dieser Version ein 
Sektor gesperrt (gelockt oder Sektoren, die noch geschrieben werden mssen) 
sind  werden  diese  aus einer verketteten Liste zeitweise entfernt und bei 
Bedarf  wieder eingebaut. Durch diese Neuigkeit wird das Suchen nach freien 
Sektoren beschleunigt.

Was hat sich bei der Version 6.1 gegenber der Version 6.0 gendert ?

-  Solange  TCache  nicht  dem ACC konfiguriert wurde erscheint beim Booten
ein  Hinweistext,  der  erst  nach  einem  Tastendruck verschwindet. Sobald
einmal  Parameter  mit  dem ACC gesichert wurden, erscheint dieser Text nie
mehr.   Ich   habe   dieses   kleine   Hindernis   eingebaut   um  auf  die
Vertriebsnderungen  aufmerksam  zu  machen.  Auf Anraten eines Anwalts mu
ich  sicherstellen  das  jeder  den  Text  gelesen  hat.  Fr die ehrlichen
Benutzer  tut  es  mir  ein bichen leid aber ich habe keine Lust mehr mich
mit  solchen  Sachen rumzuschlagen. Die Warnung ist durchaus ernst gemeint!
Allerdings  werde  ich nur bei greren Versten wie z.B. Verffentlichung
ber   Zeitschriften,   Mailboxen,   PD-Versendern   und  als  Beilage  von
kommerziellen  Produkten  vorgehen, wenn keine schriftliche Genehmigung von
mir vorliegt. Zur Zeit schreibe ich brigens ganz ungern.

-   Die  Option  LED  ist jetzt auch aktiv fr Laufwerke die nicht gecached 
werden.

-  Es  ist  eine  neue  Option  dazugekommen: 'LRU' im Menu 'Zubehr'. Wenn
dieser  Button aktiviert ist so benutzt TCache eine weitere neue (bzw. sehr
alte)  Cachestrategie  nmlich  die  sogenannte  'Last  Recently Used'. Bei
dieser  Strategie  wird nicht stur nach einer linearen Liste Platz fr neue
Sektoren  gemacht,  sondern  die  am wenigsten benutzen Sektoren werden aus
dem  Cache  rausgeschmissen.  Durch  ein bichen berlegen konnte ich meine
lineare   Liste   ziemlich  gut  mit  LRU  kombinieren.  Diese  Option  ist
eigentlich   nur   sinnvoll   bei   sehr   kleinem   Cache   (<=128K)   und
ausgeschalteter   Fat&RootDir-Option.   Durch   diese   Option   wird   die
Trefferrate  bei  kleinem  Cache  erhht.  Einen  weiteren  kleinen Vorteil
bringt  diese  Option  bei  Benchmarks  die  hauptschlich  einen CacheMiss
erzielen wie z.B. SCSITOOL.

-  Die  Testroutine NOX! wird jetzt auch angesprungen wenn TCache gar nicht 
oder  nur  das  betroffene  Laufwerk  nicht  aktiviert sind. Ich habe diese 
nderung vorgenommen weil es anscheinend Bedarf dafr gibt (Hello NOX).

-  Wenn TC61_ACC als Applikation unter MinT oder Mag!X gestartet wurde kann 
keine  Ramdisk  mehr  eingerichtet oder entfernt werden. Der Grund liegt in 
der Speicherverwaltung.

-  Wenn  man  PUN-INFO  ausgeschaltet  hat  wurden bisher alle angemeldeten 
Laufwerke  auf  maximale  Sektorgre untersucht. Ab Version 6.1 werden nur 
noch   die   von  TCache  untersttzten  Laufwerke  (aktiv  fr  Laufwerk)  
untersucht.  Dies  hat  den  Vorteil  das  man  ein  Laufwerk  mit grerer 
Sektorlnge rausnehmen kann um die Effektivitt von TCache zu steigern.

- Es ist mal wieder eine neue Option dazugekommen: 'Bootsektor'. Wenn diese 
Option  eingeschaltet  ist  kann  nicht mehr auf den Bootsektor geschrieben 
werden.  Beim  Formatieren  o..  Vorgngen  mu diese Option ausgeschaltet 
werden.  Dies  ist  ein  weiterer  Versuch  die  Verbreitung  von  Viren zu 
unterbinden.
 
- Ramdisk verbiegt unter MTOS (MiNT) nicht mehr den 'act_pd'.

- Fehler im ACC behoben. Dieser Fehler hatte mit dem Absolut-Button zu tun. 
Der  Buttun  an sich wurde richtig ausgewerte, doch leider hatte der Button 
'Testing' auch nur Einflu auf Absolut.

-  Bei  der  Testroutine  'NOX!'  wurde  in  Version  6.0 Register D0 nicht 
gesichert  ab  Version  6.1  werden  alle  Register  gesichert. Desweiteren 
bekommt  die  Testroutine jetzt immer in D0==0 (Anfang) und D0!=0 (Ende) in 
Register A0 einen Zeiger auf die Parameter fr Rwabs().

-  Die Testroutine 'NOX!' wird jetzt NUR aufgerufen wenn ein realer Zugriff 
auf  die  Festplatte erfolgt, d.h. Cache-Hits werden nicht mehr wargenommen 
aber dafr wird jetzt auch das Zurckschreiben im VBI untersttzt.

-  TCache kann jetzt auch die Sektornummern auf Gltigkeit berprfen. Wenn 
der  Schalter  'Sektortest'  eingeschaltet ist berechnet TCache den letzten 
Sektor  der  bearbeitet  werden  soll  und  prft  die Sektornummer mit den 
Eintrgen  im BiosParameterBlock. Falls die Nummern auerhalb des erlaubten 
Bereiches liegen gibt es den Fehler 'Sector not found' (-8).

-  TCache  beherscht  jetzt zwei Methoden den Cache zu flushen. Einmal wird 
alles  in  einem Durchgang geschrieben (Button 'Flush all' aktiv) und eimal 
mit kleineren Pausen zwischen einzelnen Blcken.
 

--------- Achtung Cookiefunktion RBRam hat sich seit 5.9 gendert!!!!!!!

Was hat sich bei der Version 6.0 gegenber der Version 5.9 gendert ?

-  Wenn  man  jetzt  im  Menu 'Zubehr' ein weiteres Menu anwhlt, wird der
Button  'Zubehr'  deselektiert  um deutlicher zu machen da man ihn wieder
anwhlen kann.

-   Die  Funktion  RBRam  hat Zuwachs bekommen. An das ursprngliche Struct 
mssen noch zwei Byte angefgt werden.

-  Das  ACC  fhrt  seine  Testfunktionen  jetzt im Supervisormode durch um
eventuelle Probleme mit Speicherschutz zu vermeiden.

-   Da   TCache   ab   Version   6.0  ShareWare  sein  soll  habe  ich  die
Cookie-Routinen  von Arnd Beissner (Danke nochmal) durch eigene, kompaktere
Unterprogramme ersetzt.

-  Ab  Version  6.0  gibt es jetzt auch einen Sektorprefetch von 0, d.h. es
wird  kein  zustzlicher  Sektor  eingelesen. Im Prinzip gab es dieses auch
schon  ab Version 5.0 aber die interne Abarbeitung von Sektorprefetch 0 bei
Versionen  <6.0  war  genauso  wie  bei  Prefetch  9, d.h. der Sektor wurde
geladen  und  zweimal kopiert. Version 6.0 kopiert bei Sektorprefetch 0 nur
einmal und damit kann man bei einigen Benchmarktest wieder besser

-  Mit  dem  Button  'Testing' im Menu 'Zubehr' kann man die Onlineprfung
vom  Accesory  abschalten (nicht gewhlt). Abgeschaltet werden damit sowohl
die  Warnung  das  sich  TCache  deinstalliert hat als auch die Meldung der
Schreibfehler.   TCache60.PRG   berprft   trotzdem   noch   den   eigenen
Programmcode und deinstalliert sich gegebenenfalls.

-  TCache  ist  noch  gesprchiger geworden. Was heien soll das jetzt auch
die  Anzahl  der  Lesezugriffe, Schreibzugriffe und Anzahl der Zugriffe auf
ungerade  Adressen  von der Ramdisk gezhlt und somit im ACC auch angezeigt
werden.

-   TCache  erlaubt  es  jetzt  sogenannte  'absolute  Zugriffe'  auf  eine
Festplatte  zu  unterbinden. Button 'Absolut' gewhlt und absolute Zugriffe
sind  erlaubt.  Diese  Option  soll  dazu dienen Programme zu entlarven die
Partitioninformationen   umgehen   (z.B.   Viren).   Bei   Festplattentools
(Formatierer) mu der Zugriff erlaubt werden.

-  TCache  zhlt  jetzt  absolute Zugriffe und Schreibfehler bei 'Schreiben
verzgern' mit. Option 'Information' unter Zubehr.

-  Das ACC berwacht jetzt auch den fehlerfreien Ablauf der Schreibzugriffe
wenn  es  als ACC gestartet wurde. Falls in der Interruptroutine ein Fehler
auftaucht   wird   dieser  vom  ACC  gemeldet  mit  der  Fehlernummer,  dem
Fehlerlaufwerk  und  dem  Fehlersektor.  In der Alertbox, die im Fehlerfall
erscheint,  hat  man  die  Mglichkeit  den  Schreibzugriff weiterlaufen zu
lassen  (weiter)  oder  aber  abzubrechen  (Abbruch).  Im Falle von Abbruch
gehen  Daten  verloren  aber  der  Rechner  luft  normal  weiter  ohne die
permanente Wiederholung der Schreibzugriffe.

- Einige neue Cookie-Funktionen.

-  Im  ACC  der  Version  5.9 konnten hchstens 65535KB freier Speicher fr
eine   Partition   angezeigt   werden.  Bei  greren  Partitionen  konnten
Vielfache  von  65536KB  beim  freien Speicher fehlen. Ab Version 6.0 liegt
diese Grenze bei 999.999KB. Ich hoffe das reicht;-{)}

-  Falls  sich  Daten  auf  der  Ramdisk  befinden und man mchte eben Jene
entfernen gibs eine Warnung.

-  Unter  den  gespeicherten  Optionen  befindet sich jetzt auch die letzte
benutzte Ramdiskkennung und Gre.

-  Bei  Belegungsgrad  werden  jetzt  zwei Zahlen angezeigt. Die erste Zahl
gibt  die  Belegung des Caches in % an wie bisher. Die zweite Zahl gibt die
Belegung  durch  gesperrte Daten in % an. Mit der zweiten Zahl kann man die
die Cachegre optimieren falls man Fat & Rootdir gewhlt hat.

-  Der  Speicher  fr  die  Cachedaten wird jetzt per Malloc() angefordert.
Damit  ist  es mglich Code und Daten in verschiedenen Speicherbereichen zu
halten.  Im  Prinzip  habe ich es nur fr mich gendert da ich in meinem ST
nur  256k  'alternate Ram' habe. Weil ich auf diesen Speicher aber auch bei
16MHz  mit full speed zugreifen kann mute diese nderung her. Ein weiterer 
positiver  Effekt  drfte  bei TT's mit virtuellem Speicher auftreten, aber 
das kann ich nicht testen da kein TT in meiner Reichweite steht.

-  Da es mit zumindestens einem Festplattentreiber Probleme im Zusammenhang
mit  der  PUN-INFO-Struktur und dem Booten von Laufwerken<>'C' gab habe ich
die  Auswertung der Struktur abschaltbar gemacht. Button 'PUN-INFO' im Menu
'Zubehr'  deaktivieren/deaktiviert lassen und das wars. Bei Wechselplatten
bedeutet dies leider das wieder ein Getbpb() fr alle Laufwerke gemacht.

-  Zum  Testen gibs jetzt einen Button 'NOX!' ist dieser angewhlt 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() anfngt
(D0=0)  oder  aufhrt (D0= 1). Falls die Routine beim Start aufgerufen wird
erhlt  das  Unterprogramm  in  Register  A0  noch  einen  Zeiger  auf  die
Parameter fr Rwabs(). TCache rettet alle Register !

-  Bis  Version  5.9  war ein Fehler in der Behandlung des Bootsektors beim 
'Schreiben  verzgern'  drin. Der Fehler trat nur auf wenn man sehr schnell 
hintereinander den Bootsektor geschrieben und gelesen hat. Im Normalbetrieb 
war  dies  nicht  zu  bemerken  aber  es gibt immer wieder Leute die solche 
exotische Sachen machen (hi Martin).
