Anleitung zu FPUPATCH.PRG Vol 1.00 Freeware Mnchen, 26.06.93 (c) 1993 Hartmut Pfitzinger @ M Allgemeines =========== FPUPATCH ist Freeware, darf aber nur zusammen mit diesem Text und dem .UPL, das den Text enth„lt, der bei Uploads in andere Mailboxen als Kurzbeschreibung einzugeben ist, weitergegeben werden! Ein Upload in Mausboxen ist erwnscht, ebenso die Weitergabe an andere Benutzer! Aus den wie auch immer gearteten Folgen, die FPUPATCH mittelbar oder unmittelbar verursacht oder mitverursacht, sind in keiner Weise Haftungs- oder andere Ansprche an den Autor herleitbar. Das Programm FPUPATCH wurde sehr sorgf„ltig und mit groáem Arbeits- und Zeitaufwand entwickelt und getestet und sollte daher fehlerfrei sein. Daher ist der Autor an Problemen, die bei der Benutzung von FPUPATCH auftreten, und deren Beseitigung interessiert. Was ist FPUPATCH? ================= FPUPATCH ist ein Programm, das andere Programme, die mit der C-Compiler-Serie "Turbo C" (einstmals vertreiben durch Borland) und "Pure C" (vertrieben durch Application Systems Heidelberg) hergestellt wurden, derart ver„ndert, daá diese auf ST/STE Rechnern, ausgestattet mit einem "memory mapped" Floating Point Coprocessor, funktionsf„hig bleiben und beschleunigt werden. Diese Coprocessoren k”nnen sich in Mega STs nach Einbau der Coprocessor-Karte "SFP 004" von ATARI und kompatiblen Karten oder Groábildschirmkarten wie derjenigen fr den SM-194 befinden. Es handelt sich dabei in erster Linie um den 68881, der sich standardm„áig auf der SFP 004 befindet, aber vor allem um den 68882. In Mega STEs k”nnen sich diese Coprocessoren ebenfalls befinden. Die Coprocessoren im TT und Falcon dagegen machen keine Probleme, da sie von der Compiler-Serie sowieso ignoriert werden, es sei denn, die Programme werden extra fr diese Coprocessoren compiliert, dann laufen sie allerdings nicht mehr auf STs und STEs mit und ohne Coprocessor (es sei denn, ein LineF-Emulator wrde benutzt (*) ). Wann brauche ich FPUPATCH? ========================== Probleme treten also _immer_ unter obigen Bedingungen in Verbindung mit 68882 und zus„tzlich manchmal in Verbindung von Prozessorkarten (PAK2, ...) und memory mapped 68881 auf. Sollte also ein Programm (z.B. TC, PC, Connect, Calamus, ...) h„ngen, ohne abzustrzen, und ein einfacher Tastatur-Reset [Cntrl]+[Alt]+[Del] fhrt trotzdem zum Reset, so ist FPUPATCH die richtige Wahl, das Problem in dem Fall zu beheben, daá eine memory mapped FPU vorhanden ist. Was macht FPUPATCH? =================== Das Programm FPUPATCH analysiert nun solche Programme und ver„ndert sie derart, daá sie danach nicht nur laufen, sondern im Durchschnitt sogar 30% schneller laufen, wenn sie ausgiebig mit Flieákommazahlen rechnen. Welche Probleme gibt es mit FPUPATCH? ===================================== Dies wird mit dem Preis erkauft, daá wenige Programme (z.B. Calamus SL) nach dem "Patchen" mit einer Fehlermeldung, daá die interne Prfsumme nicht mehr stimmt, abbrechen und somit immernoch nicht zu benutzen sind. Da die Ver„nderung im Programm aber nicht mehr rckg„ngig zu machen ist, sollte unbedingt vor dem Patchen eine Sicherheitskopie des zu patchenden Programms angefertigt werden! Wie arbeite ich mit FPUPATCH? ============================= Nach Doppelklick auf das Programm FPUPATCH.PRG erscheint eine Dialogbox mit drei Kn”pfen. Der erste dient zum erwartungsgem„áen Patchen. Der zweite bewirkt, daá die FPU, ob vorhanden oder nicht, nach dem Patchen nicht mehr angesprochen wird. Dies kann bei Accessories sinnvoll sein, die auch auf die memory-mapped FPU zugreifen wollen, w„hrend ein Programm dies schon tut. Da das Betriebssystem des ST und eine Reihe von alternativen Betriebssystemerweiterungen die FPU-Register nicht vor dem Zugriff durch das ACC retten und danach restaurieren, wird das Hauptprogramm danach mit falschen Zahlen weiterrechnen. In so einem Fall empfiehlt es sich, dem ACC jeglichen FPU-Zugriff zu verbieten. Der dritte Knopf dient zum Abbrechen des Programms. Das Programm hat drei Antworten parat: 1. Es konnte erfolgreich gepatched werden. 2. Das zu patchende Programm wurde schon irgendwann gepatched. 3. Das zu patchende Programm l„át sich nicht patchen. Dies kann daran liegen, daá das Programm nicht mit TC/PC hergestellt wurde, oder daran, daá es die memory-mapped FPU gar nicht benutzt, sondern aus anderen Grnden h„ngt. Sonstiges ========= Das Programm ist nur lauff„hig auf Rechnern mit mindestens 1MB und kann nur Programme bis zu einer Maximalgr”áe von ca. 600kB patchen (gr”áere Programme gibt es nicht). Bei groáen Programmen kann der Patchvorgang einige Zeit in Anspruch nehmen. Danksagungen ============ Dank geht an alle Beta-Tester, insbesondere an Harald Sommerfeld @ KI fr Vorschl„ge zur Verbesserung der Userfreundlichkeit. Versionen ========= Vol Datum Beschreibung 1.00 26.06.93 voll funktionsf„hig und soweit fehlerfrei Hinweis fr Entwickler ====================== Unter bestimmten Bedingungen ist vom Autor auch ein Modul zu bekommen, das man ben”tigt, um direkt durch das Compilieren und Linken eine "gepatchte" Version zu erhalten, ohne noch danach wirklich patchen zu mssen. Dies wird durch Erweitern des Projektfiles um obiges Modul erreicht. Die "bestimmten Bedingungen" k”nnten z.B. eine Schenkung von 10.- DM auf nachfolgendes Konto sein: Hartmut Pfitzinger Hypo-Bank Mnchen BLZ: 700 200 01 Kto-Nr: 6880164757 Im Verwendungszweck der šberweisung muá immer stehen "SCHENKUNG VON MICHA MUSTER AUS MUSTERORT", wobei natrlich der richtige Name und Ort einzusetzen sind. Auch muá es eine šberweisung sein, also keine Verrechnungsschecks u.„. Das Modul mit einer kleinen Beschreibung erh„lt derjenige dann, wenn er mir eine E-Mail zukommen l„át, in der der gleiche Name und Ort wie auf der šberweisung angegeben ist sowie die E-Mail-Adresse, an die ich das UUP-encodete File schicken soll (blos eine Handvoll Zeilen). Oder er erh„lt es, wenn er mir einen korrekt frankierten Rckumschlag mit Diskette zuschickt. Dabei ist allerdings auf einen ausreichend stabilen Rckumschlag zu achten. Sollte die Sendung auf dem Transport besch„digt werden, oder das Rckporto zu gering sein, so m”chte ich keine Kosten bernehmen. Meinetwegen kann diesem Brief auch ein 10.-DM Schein beigelegt werden, falls er sich noch in demselben befindet, wenn ich ihn ”ffne. Man hat ja seine Erfahrungen mit der Post; jedenfalls werde ich ansonsten die Diskette nicht zurckschicken, sondern bei existierender E-Mail diese statt dessen anschreiben. Den Brief bitte an folgende Adresse schicken (erst ab dem 1.7.93): Hartmut Pfitzinger Thierschstr. 42-RGB 80538 Mnchen Wenn jemand einen besseren Vorschlag bezglich der "bestimmten Bedingungen" oder des Verfahrens hat, kann er ihn mir schreiben: MausNet: Hartmut Pfitzinger @ M InterNet: hartmut_pfitzinger@m.maus.de Flames ====== Bitte Protest, Kritik, Bugmeldungen, Verbesserungsvorschl„ge und Lob an eine der obigen E-Mail-Adressen. Viel Spaá mit dem Programm, Hartmut Fuánoten ======== (*) ich suche einen LineF-Emulator fr STs ganz ohne FPU (d.h. alle FPU-Befehle mssen durch Assemblerroutinen nachgebildet werden)