TRAPSAVE ============================================================================= Release 4 04.11.94 Written by Harald Siegmund Copyright (c) 1994 e-mail Adresse: Harald_Siegmund@kl.maus.de (Harald Siegmund@kl im MausNet) Post-Adresse: as adequate systems Gesellschaft fr angemessene Systeml”sungen mbH z.Hd. Harald Siegmund Am Steinern Kreuz 19 D-64297 Darmstadt Germany ----------------------------------------------------------------------------- TRAPSAVE ist Public Domain und darf frei kopiert werden. Die Zusammenstellung des Pakets darf jedoch nicht ver„ndert werden. Die Modifikation einzelner Dateien ist ebenfalls nicht erlaubt. Zum TRAPSAVE-Paket geh”ren: TRAPSAVE.PRG Programm fr den AUTO-Ordner TRAPSAVE.TXT diese Dokumentation TRAPSAVE wurde ber l„ngere Zeit intensiv getestet und ist auf dem Rechner des Autors t„glich im Einsatz. Dennoch kann - wie bei jeder anderen Software auch - nicht ausgeschlossen werden, daž TRAPSAVE noch verdeckte Fehler enth„lt. Der Autor bernimmt keine Verantwortung fr direkte oder indirekte von TRAPSAVE verursachte Sch„den (z.B. Datenverlust). Der Einsatz von TRAPSAVE erfolgt auf eigene Gefahr. Getestet wurde TRAPSAVE u.a. auf folgenden Rechnern und Betriebssystemen: Atari ST mit TOS 1.00 / TOS 1.04 / Mag!X 2.0 Atari TT mit TOS 3.06 / Mag!X 2.0 Falcon 030 mit TOS 4.02 Sollten Probleme mit TRAPSAVE auftreten, so schreiben bzw. mailen Sie bitte an die oben angefhrte Adresse. ----------------------------------------------------------------------------- History ˙˙˙˙˙˙˙ 27.07.93 Anfang des Projekts "A2SAVE" 30.07.93 A2SAVE (Release 1) fertiggestellt 16.05.94 Erste Ver”ffentlichung (Release 2) 06.07.94 Umbau von A2SAVE zu TRAPSAVE beendet 23.08.94 Ende der Testphase (Release 3) 04.11.94 Bug beseitigt (Release 4): sehr selten konnte es zu v”lligem Systemstillstand kommen (bei Systemaufrufen aus Interrupts heraus). Aužerdem verbraucht TRAPSAVE nun weniger Rechenzeit. Installation ˙˙˙˙˙˙˙˙˙˙˙˙ Die Installation von TRAPSAVE ist an und fr sich simpel: kopieren Sie TRAPSAVE.PRG einfach in den AUTO-Ordner Ihres Boot-Laufwerks und booten Sie neu. Was macht dieses Utility? ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ TRAPSAVE sorgt dafr, daž von den vier Trap Handlern des Betriebssystems (GEMDOS, GEM, BIOS, XBIOS) keine CPU-Register ver„ndert werden (ein "Trap Handler" ist sozusagen ein Einsprungpunkt des Betriebssystems, der mit dem Prozessor-Befehl TRAP angesprungen wird - daher der Name). Ausgenommen ist Datenregister D0, daž zum Zurckliefern von Funktions- ergebnissen verwendet wird. Wozu braucht man das? ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ Laut Dokumentation von Atari Corp. drfen die Trap Handler die Register D1...D2 sowie A0...A2 ver„ndern. Leider tauchen immer wieder Programme auf, die sich bei bestimmten Aufrufen darauf verlassen, das genau diese Register bei einem Trap _nicht_ ver„ndert werden. Meist hat der entsprechende Programmierer einfach vergessen, den Registerinhalt vor dem Trap zu retten und danach wieder zu restaurieren. Da TOS selbst sehr kulant mit den Registern umgeht und oftmals auch die oben aufgefhrten Register nicht ver„ndert, treten meist erst viel sp„ter Probleme mit der fehlerhaften Software auf. Oft kommt es beim Einsatz von anderen Programmen, die sich selbst in die Trap Handler einklinken und von dem Recht Gebrauch machen, D1...D2 und A0...A2 _nicht_ retten zu mssen, zu merkwrdigem Systemverhalten bis hin zum Absturz. Beispiele fr solche Programme sind alle alten Turbo C/Pure C Compilate (Register A2) und alle GfA Basic 2.x Compilate (Register A1). Wann lohnt sich der Einsatz von TRAPSAVE? ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ Sollten Sie ber irgendwelche Programme verfgen, die einzeln sehr wohl, aber zusammen nicht richtig oder berhaupt nicht laufen (z.B. einen alternativen Fileselektor und einen Mausbeschleuniger), so sollten Sie TRAPSAVE installieren und prfen, ob sich dadurch das Verhalten dieser beiden Programme „ndert. Wenn die Unvertr„glichkeit auf dem Register-Problem basiert, wird der Effekt verschwinden und das System auch dann laufen, wenn _beide_ Programme installiert sind. Fhrt die Installation von TRAPSAVE zu keiner Verbesserung, dann nehmen Sie es am besten aus dem AUTO-Ordner wieder heraus. Natrlich k”nnen Sie TRAPSAVE prophylaktisch installiert lassen; jedoch verbraucht das Utility bei jedem Systemaufruf ein wenig Rechenzeit, und davon kann man eigentlich nie genug haben. Bekannte Probleme ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ ... gibt es zur Zeit keine. Sollten welche auftreten, so schreiben oder mailen Sie bitte eine m”glichst ausfhrliche Fehlerbeschreibung an die am Anfang dieses Textfiles zu findende Adresse. Ich freue mich aber auch ber jede Erfolgsmeldung, wenn TRAPSAVE Ihnen weitergeholfen hat. Technik ˙˙˙˙˙˙˙ TRAPSAVE verwendet das XBRA-Verfahren zum Verbiegen von Vektoren. Das benutzte ID ist "A2sv" (stammt noch vom TRAPSAVE-Vorg„nger A2SAVE). Virtual Memory Manager, die den PMMU-Cookie verwenden, werden erkannt und zum Sperren des TRAPSAVE-Codes gegen Auslagern benutzt. TRAPSAVE versucht immer der erste in der Kette von Trap Handlern zu sein und klettert, sobald sich jemand darber installiert, an der XBRA-Kette wieder nach oben. Selbstverst„ndlich kommt das Utility auch mit solchen Programmen klar, die das XBRA-Verfahren _nicht_ benutzen. ============================================================================= Dateiende