PS_Anleitung PRG formatted GEOS file V1.0 Write Image V2.0 geoWrite V2.1 HGeos Patch System Diese Anleitung soll jedem Anwender von GEOS erm|glichen, die Benutzung des @Geos Patch @Systems zu erlernen, sowie Programmiern mit Hilfe des Programms @Checksummer eigene Patchtexte zu erstellen. Die Anleitung ist nach folgendem Schema aufgebaut: Erl{uterung des @Patch Systems (Seite 2) Programmbeschreibung @Checksummer (Seite 4) HIII. Beschreibung des @Patchtextformats (Seite 5) Definition der @Namensangabe der Patchtexte (Seite 6) ]bersicht der Fehlermeldungen des @ Patch Systems und des @Checksummers (Seite 6) Bezugsstellen von Quelltexten des @ Patch Systems (Seite 7) Anfragen zum Patch System und zur eventuelle Kl{rung zum Quelltextaufbau bitte an: Falk Rehwagen Wintergartenstr.2 /107 04103 Leipzig Anfragen zum Checksummer oder eventuelle Fehlerhinweise bitte an: Sascha Beier Inselstra~e 17/b 04103 Leipzig MHLSH AP )H HI. Erl{uterung des Patch Systems H1. Wozu das Programm? Wer kennt sie nicht, die kleinen Sch|nheitsfehler von Applikationen, Kopierroutinen, mangelhaften Aufbau von Bildschirmen bei Programmen usw., also allgemein gesagt die Programmfehler. Jedem ist schon mal der eine oder andere dabei aufgefallen und man hat sich ge{rgert, f}r so viel Geld d}rfte doch soetwas nicht passieren. Und dann freut man sich, }ber jedes Patchprogramm, da~ diesen oder jenen Fehler z.B. von geoWrite beseitigt. Hier seien als Bespiel die Patchprogramme genannt, die bei Geos die - und -Taste tauschen oder es erm|glichen 8 Fonts unter geoWrite zu nutzen. Aber wie das so ist , jeder der ein Patchprogramm schreibt, denkt nur an die Beseitigung dieses Fehlers und nicht an die M|glichkeit, da~ man seine Patchroutine (also Vergleichen, auslesen und korregieren von fehlerhaften Bytes oder Bytefolgen) auch allgemein, also f}r andere Patches nutzen kann. @Patch System geht nun einen anderen Weg ! Das @Patch System ist ein System, mit dem man, bei Kenntnis der fehlerhaften Bytes, jeden Programmfehler beseitigen kann. Da nun aber nicht jeder GeosUser bzw. Userin genau Kenntnisse der einzelnen Programme (z.B. von geoWrite) hat, werden entsprechenden Austauschroutinen (Quelltexte) von uns gleich mitgeliefert. Programmier k|nnen mit Hilfe von Disassembler oder Debugger sowie dem @Checksummer weitere, eigene Quelltexte schreiben. @Patch System erlaubt es uns aber auch, zur Beseitigung von Fehlern bei anderen Programmen, dem User und der Userin nur noch den Austauschroutinentext in Form eines geoWrite-Quelltextes zu }bergeben . Und Sie oder Er braucht nur noch diesen Quelltext zusammen mit @Patch System zu verwenden, um die entsprechenden Fehler zu beseitigen. H2. Voraussetzungen und arbeiten mit Patch System Nur [ndern mit bestehenden Quelltexten Sie ben|tigen als erstes das Hauptprogramm @Patch System , sowie das fehlerhafte Programm in Originalversion (z.B. geoWrite von Ihrer Original Systemdiskette). Au~erdem brauchen Sie den entsprechenden Quelltext ( z.B. @geoWrite2.1g_1 ). Bitte installieren Sie immer das Originalprogramm vor dem patchen ! Kopieren Sie das @Patch System , das entsprechende, installierte Originalprogramm, sowie den Patch- Quelltext auf eine leere, formatierte Diskette oder in Ihr RAM-Laufwerk. @]berzeugen Sie sich bitte davon, da~ der entsprechende PatchQuelltext wirklich f}r dieses Programm zust{ndigt ist ! Das erkennen Sie am Namen des Quelltext oder gegebenfalls an den ersten Zeilen des Quelltextes ! Ein hier auftretender Fehler wird zwar durch die Checksummen abgefangen, aber es kostet so sinnlos Zeit ! Starten Sie nun das @Patch System durch einen Doppelklick auf das Icon wie jede andere Applikation. Als erstes erscheint eine normale geoWrite-Fileauswahlbox, in der alle geoWritetexte der aktuellen Diskette angezeigt werden. W{hlen Sie bitte den richtigen PatchQuelltext aus und |ffnen Sie diesen, indem Sie auf das @|ffnen -Icon klicken. Sie k|nnen hier selbstverst{ndlich auch andere PatchQuelltexte des @Geos Patch systems von anderen Disketten oder Laufwerken einlesen. Mit @Abbruch kommen Sie zum Desktop zur}ck. Nun wird dieser PatchQuelltext eingelesen und der Hauptbildschirm des @Patch System erscheint. Zum Aufbau des Bildschirmes: - Ganz oben rechts steht der Name des zum PatchQuelltext geh|renden Programms, dieses mu~ sich auf der gleichen Diskette oder im gleichen RAM-Laufwerk befinden. - Ganz oben links steht der Name des ausgew{hlten Patchtextes. - Darunter werden beim Patchen die entsprechenden VLIR-Strukturen angezeigt. - Rechts neben dem Namen des Patchtextes stehen die Anzahl der erfolgenten Patches. beim Patchen erh|ht sich diese Zahl. - Darunter die eventuell auftretende Fehleranzahl. - In der Mitte des Bildschirmes erscheint eine nochmalige Sicherheitsabfrage, ob die ganz rechts oben stehende Datei (Programm, Applikation) auch ge{ndert werden darf und soll ! - Ganz unten erscheint das @Geos Patch System -Logo. Klicken Sie nun auf die -Box, wenn das Patchen Klicken Sie nun auf die -Box, wenn das Patchen gestartet werden darf. Mit @Abbruch kommen Sie in die Fileauswahlbox zur}ck. EBeispiel f}r eine korrekte obere Leiste nach dem Patchen. Ist das Patchen beendet und es traten keine Fehler auf, wird eine entsprechende Meldung ausgegeben. Entwickeln, [ndern mit eigenen Quelltexten Hierzu m}ssen Sie voher die fehlerhafte Stelle des Programms herausfinden. Dazu sind Disassembler oder Debugger sowie Kenntnisse der Maschinensprache-programmierung n|tig. Haben Sie die Fehlerhafte Stelle gefunden, schreiben Sie die entsprechenden Adressen, fehlerhaften und korrekten Bytes auf. Au~erdem dient Ihnen das Programm @Checksummer zur Feststellung von Checksummen zur richtigen Bearbeitung von Programmen. Lesen Sie sich bitte auch die entsprechenden Stellen in dieser Anleitung durch. Zum patchen selbst gilt das bereits oben beschriebene. H4. Probleme und Reportdatei: Treten beim Patchen gr|~ere Fehler auf, z.B. wenn Sie einen geoWrite-Text ausgew{hlt haben, der gar kein PatchQuelltext ist, erscheint sofort beim Patchen eine entsprechende Fehlermeldung : Treten beim Patchen keine oder nur Checksummenfehler auf, so wird am Ende des gesamten Patchvorganges eine Reportdatei erzeugt. Ihr kann der Anwender entnehmen, welches Patch auf Grund eines Checksummenfehlers nicht durchgef}hrt werden konnte, denn bei einer gro~en Anzahl Patches verliert man schnell die ]bersicht }ber auftretende Fehler. Die Reportdatei wird von Patch System in der gleichen Version wie der Patch-Quelltext erstellt. 6. Programmrechtliches : zum Geos Patch System: Das Programm @Patch System ist PD, darf und kann frei kopiert werden. Dies ist besonders interessant f}r Profis, die ebenfalls Fehler gefunden haben und hierzu einen Quelltext erstellen wollen. So k|nnen Sie das @Patch System mitliefern. Die Anleitung zum Patch System sowie die Anleitung zum Quelltext-aufbau bei Weitergabe an Dritte immer mit weitergegeben werden ! zu den Quelltexten: Die Rechte an den Quelltexten liegen bei den Autoren der Quelltexte. Derjenige, der also einen Quelltext schreibt, kann }ber seinen Quelltext selbst verf}gen, ob er als PD, Shareware oder kommerzielle Software vertrieben wird. Wir sind gern bereit beim Vertrieb zu helfen, bitte schreiben Sie uns dazu. Die mitgelieferten Quelltexte sind @keine PD. Sie werden zusammen mit dem @Patch System angeboten und dienen den Programmiern als Hilfe. zu den gepatchten Programmen: Die Verbesserungen an den einzelnen Programmen darf nur durch jeden Besitzer der Nutzungsrechte an diesem Programm (geoWrite) erfolgen. Das verbesserte Programm (gepatches Programm) darf nicht an andere User oder Userinnen weitergegeben werden, da nur derjenige der das Programm gepatcht hat, auch an diesem gepatchten Programm die Nutzungsrechte hat. en. W{h HII. Programmbeschreibung: Checksummer H1. Wozu das Programm? Mit dem Geos Patch System konnten man Fehler aus einigen Programmen beseitigten, doch f}r ein bestimmtes Programm existiert wieder mal kein Patchtext. Was liegt da n{her als selbst einen zu schreiben. Doch leider gibt es von dem besagten Programm mehrere Versionen. Wie soll man nun als Anwender unterscheiden k|nnen, welches Programm gepatcht werden darf und welches nicht. Hier bietet @Checksummer einen gute M|glichkeit, Programme zu unterscheiden. Es berechnet }ber bestimmte Programmbereiche eine Pr}fsumme, die ein Unterscheiden erm|glicht. H2. Voraussetzungen zur Arbeit mit dem Checksummer Um eine Pr}fsumme ermitteln zu k|nnen, brauchen Sie den @Checksummer , sowie das entsprechende Originalprogramm. Es mu~ jedoch bereits installiert sein. Kopieren Sie die beiden Programme auf eine leere, formatierte Diskette oder in Ihre RAM. H3. Die Arbeit mit dem Checksummer @Checksummer wird vom Desktop aus wie jede andere Applikation gestartet. Kurz darauf erscheint eine Fileauswahlbox, in der aber alle auf der Diskette enthaltenen Files aufgelistet sind. \ffnen Sie das entsprechende Programm, indem Sie es ausw{hlen und auf das @|ffnen -Icon klicken. Nat}rlich ist auch m|glich Programme von einem anderen Laufwerk bzw. einer anderen Diskette einzulesen. Mit @Abbruch gelangen Sie zum Desktop zur}ck. Als erstes wird man gefragt, ob man vom Infosektor eines Programms eine Checksumme bilden m|chte. Ist dies nicht der Fall, so ist f}r das weitere Arbeiten die Filestruktur des gew{hlten Programmes ausschlaggebend. Bei VLIR-Dateien wird der Anwender gebeten, den Datensatz, den er bearbeiten will, anzugeben. Sie werden nun um bestimmte Eingaben gebeten, die folgende Bedeutung haben: @* "Basisadresse des Datensatzes eingeben:" (Hier ist die Adresse anzugeben, an die ein Datensatz geladen wird. Da diese Adresse beim Datensatz 0 nicht relevant ist, erscheint die entsprechende Box nur bei Datensatzangaben, die gr|~er als 0 sind.) @* "Anfangsadresse des Bereichs eingeben, der zu pr}fen ist:" (Hier ist die Adresse anzugeben, bei der die Pr}fsummenbildung beginnen soll. Dabei sind dezimale und hexadezimale Angabe m|glich.) @* "Anzahl der zu pr}fenden Bytes eingeben:" (Hiermit wird die L{nge des Bereichs angegeben, von dem die Pr}fsumme gebildet werden soll.) Der Bereich, in dem sich ein Programm oder -teil befindet, wird in einem Fenster am oberen linken Rand angezeigt. Treten bei den Eingaben Fehler auf, erscheint sofort einen Fehlermeldung. Nach kurzem Rechnen erscheint in einer weiteren Box die ermittelte Checksumme, die dezimal und hexadezimal ausgegeben wird. Das Programm ist so gestaltet, da~ man ohne gro~e Probleme weitere Checksummen in einem Datensatz oder in einem sequentiellen Programmm bilden kann. Dazu beantworten Sie die jetzt folgenden Fragen entsprechend mit oder @Nein r hoffen, Sie haben keine Probleme mit dem Programm. Sollten Sie Fehler bemerken, so wenden Sie sich bitte an eine der auf der ersten HIII. Beschreibung des Patchtextformats Anhand der beigef}gten Beispiele k|nnen sie relativ einfach Quelltexte erstellen. Um eine allgemeine Kompatibilit{t zu erreichen, beachten Sie bitte folgendes. Die Werte k|nnen als @Byte in Dezi, Hexa oder Bin{r angegeben werden. Beachten Sie bitte das entsprechende Vorzeichen. @- String - Word (da~ dann in 2 Bytes gewandelt wird) angegeben werden. Die Bytes werden durch Komma oder RETURN getrennt. Kommentare werden durch ein Semikolon angek}ndigt. Der restliche Teil der Zeile wird dann als Kommentar angesehen. Die erste Seite jedes von uns gelieferten Quelltextes enth{lt als Kommentare die [nderungen, die Programmversion usw. im Klartext. Sie sollten es auch so handhaben. @Struktur: 1. Die Klasse des zu patchenden Programms mit einer Null als Abschlu~. Beispiel: "TopDesk V1.2",0 2. Der Geos-Filetyp als Bytewert. Beispiel: 6 3. Die [nderungen werden Datensatzweise durchgef}hrt. Deshalb folgt nun die Datensatznummer. Ist diese Nummer =254 wird der Infoblock bearbeitet, ist die Nummer = 255 ist der Patchtext zu Ende. Nach der Datensatznummer folgt bei VLIR-Files die Adresse als Word (bei Datensatz 0 nicht n|tig, da vorgegeben). Nach der Adresse folgt die neue L{nge als Word. Wird die L{nge des Datensatzes nicht ge{ndert wird dies durch 0 angegeben. Beim Infoblock entf{llt beides, da beides nicht ge{ndert werden kann. Bei seq. Files ist die Datensatznummer immer 0 und es wird nur die neue L{nge angegeben. Wird die L{nge nicht ge{ndet, ist die L{nge 0. Die L{nge mu~ als Word eingegeben werden. 4. Das n{chste folgende Byte gibt die Anzahl der [nderungen in einem Datensatz an. Beispiel: 10 - Datensatz 10 #$69e7 - Adresse #0 - keine neue Datensatz-l{nge 1 - Anzahl der [nderungen 5. Der folgende Block baut sich wie folgt auf: - ein Byte - wieviele Checksummen eingebaut sind - Checksummenpr}fung - Adresse (Word) - L{nge (Word) - Pr}fsumme (Word) - wieviele Bereiche {ndern - Adresse (Word) - Anzahl der ver{ndernden Bytes (Word) - zu {ndernden Bytes Beispiel: 0 - keine Checksumme 1 - 1 Bereich {ndern #$6e6b - ab Adresse $6e6b {ndern #1 - 1 Byte {ndern $a0 - String-Ende = neues Byte Die Punkte 3 - 5 k|nnen sich mehrmals wiederholen. Am besten Sie schauen sich die mitgelieferten Quelltexte an, darin ist die Struktur der Quelltexte sehr gut erkennbar. Au~erdem wurden die Quelltexte durch uns zus{tzlich kommentiert. gt. Treten bei den Eingaben Fehler auf, erscheint sofort einen Fehlermeldun HIV. Definition der Namensangabe der Patchtexte Dieser Abschnitt der Anleitung m|chte Sie mit der Namensangabe der Patchtexte vertraut machen. Wir haben eine Struktur entwickelt, mit der wir hoffen, da~ man schon am Namen erkennen kann, f}r welches Programm der Text bestimmt ist. Wir bitten Sie, sich an die von uns vorgegebene Definition zu halten. Wir erkl{ren unsere Definition an einem Beispiel, dem Patchtext: @geoWrite2.1g_1 Als erstes wird die Fileklasse des zu patchenden Programms angegeben, hier @geoWrite @Patch System sucht nicht nach dem Namen eine Datei, sondern nach ihrer Klasse. Ihr folgt die Version des Programms ( ). Handelt es sich bei dem Programm um eine deutsche Version, so wird das durch das kleine (Germany) angegeben. Diesen Angaben folgt jetzt ein Unterstrich, dann die Version des Patchtextes. Bei unserem Beispiel handelt es sich um die Version 1 des Patch-Quelltextes ( Abschlie~end bleibt nur die Ver{nderung des Namens bei Programmen f}r GEOS 128 zu erw{hnen. Diese Besonderheit wird am Anfang des Namens deutlich gemacht. Unser Beispiel ver{ndert sich also f}r geoWrite128 folgenderma~en: @128geoWrite2.1g_1 Wie aber jeder feststellen kann, ist dieser Name gr|~er als 16 Zeichen. Hier wird bei der Fileklassenangabe soweit gek}rzt, so da~ der Name 16 Zeichen enth{lt. Das Beispiel ver{ndert sich somit nocheinmal ( @128geoWrit2.1g_1) HV. ]bersicht der Fehlermeldungen @Geos Patch System unterscheidet zwischen zwischen Disketten- und internen Fehlern. Interne Fehler treten bei Unstimmigkeiten im Patchtext auf. Anschlie~end folgen alle entsprechenden Meldungen: "Datensegment zu lang (nicht }ber 127 Zeichen)" "keine Grafiken im Patchtext erlaubt" "vorzeitiges Patchtext-Ende" "Syntaxfehler im Datensegment" "Bytewerte nicht gr|~er als $ff (255)" "Zahlenangabe erwartet" "Wordwerte nicht gr|~er als $ffff (65535)" "Textstring nicht abgeschlossen" "zu patchende Datei unauffindbar" "in sequentiellen Dateien nur Datensatz 0" "Bereich au~erhalb des Datensatz-Bereiches" Auf eine genaue Erl{uterung verzichten wir an dieser Stelle, da wir denken, die Fehlermeldungen erkl{ren sich selber. Sollte es dennoch Fragen geben, so wenden Sie sich an einer der genannten Adressen. Abschlie~end folgt eine ]bersicht der Diskettenfehler, die das @Patch System und der @Checksummer in der gleichen Weise melden. @ "Diskette voll" "ung}ltiger Track" "Inhaltsverzeichnis voll" "Datei nicht gefunden" "BAM fehlerhaft" "VLIR-Datei nicht ge|ffnet" "ung}ltiger Datensatz" "zu viele Datens{tze" "falsche Dateistruktur" "Puffer}berlauf beim Laden" "absichtlicher Abbruchfehler" "Ger{t nicht vorhanden" "allgemeiner Diskettenfehler" ann. Dazu beantworten Sie die jetzt folgenden Fragen entsprechend mit oder @Nein k|nnen hier selbstverst{ndlich auch andere PatchQuelltexte des @Geos Patch systems von anderen Disketten oder Laufwerken einle HVI. Bezugsstellen von Quelltexten ]ber @Denis D|hler , Gorkistr.18, 04347 Leipzig k|nnen Sie die komplette @Geos PatchSystem -Diskette mit Quelltexte f}r folgende Programm bestellen : 1. Programm: geoWrite @ Version: V2.1 (64'er Version) @ Autor: Tony Requist Versiondatum: 3.1.89 15:14 @Anzahl der Verbesserungen: 2. Programm: TopDesk @Version: V1.2 (64'er Version) @Autor: DPT KnCiGo Versionsdatum: 22.8.88 13:01 @Anzahl der Verbesserungen: 3. Programm: TopDesk128 @ Version: V1.3 @Autor: DPT KnCiGo Versionsdatum: 22.8.88 13:05 @Anzahl der Verbesserungen: @4. Programm: ScrapCan @ Version: V1.0 @Autor: Nate Fiedler Versionsdatum: 26.5.92 16:27 @Anzahl der Verbesserungen: @5. Programm: geoCanvas @ Version: @ Autor: Nate Fiedler Versionsdatum: 8.7.92 13:46 @Anzahl der Verbesserungen: @6. Programm: RAM Move @ Version: V1.1 @Autor: Jim Collette Versionsdatum: 26.1.92 0:40 @Anzahl der Verbesserungen: @7. Programm: DisAssembler @Version: V2.0 @Autor: Marc F.Brouilette Versionsdatum: 3.2.91 16:42 @Anzahl der Verbesserungen: @8. Programm: DBGetFil128 @ Version: V3.0 (deutsch) @Autor: Jean F. Major Versionsdatum: 28.6.92 13:24 @Anzahl der Verbesserungen: Diese Liste wird st{ndig erweitert. F}r Hinweise auf weitere Fehler von Geos-Programmen sind wir sehr dankbar. Und bei @Werner Weicht, Lange Str.9 , 38889 Blankenburg/Harz erhalten Sie als @Shareware Quelltexte f}r folgende Programme: @1. Programm: RamClock 64 @ Version: V3.3 (64'er Version) @Autor: Erwin Schnabel Versiondatum: 10.11.92 20:59 @Anzahl der Verbesserungen: 2. Programm: RamClock @ Version: V3.4 (64`er Version) @Autor: Erwin Schnabel Versiondatum: 19.2.93 7:52 @Anzahl der Verbesserungen: 3. Programm: RamClock 128 @Version: V3.3 (128'erVersion) @Autor: Erwin Schnabel Versionsdatum: 3.11.92 12:50 @Anzahl der Verbesserungen: 4. Programm: DocWright II @Version: V4.0 @Autor: J. Buckley Versionsdatum: 22.2.89 17:33 @Anzahl der Verbesserungen: 5. Programm: GEOPUBLISH @Version: V1.0 @Autor: Alice and Mike Versionsdatum: 27.5.88 11:16 @Anzahl der Verbesserungen: 6. Programm: GEOMERGE @Version: V2.0 @Autor: Hawley & Requist Versionsdatum: 6.7.88 13:02 @Anzahl der Verbesserungen: @Weitere Quelltexte sind in Arbeit ! Anleitung f}r: @Patch System vom: @7.10.93 von Disk: @Geos Patch System Seite: @SEITE Anleitung von Denis D|hler, Sascha Beier und Falk Rehwagen Written (W) 1993 Falk Rehwagen, Wintergartenstra~e 2/107, D-04103 Leipzig, Tel.: (0341) 284343 llen. Die Anleitung ist nach folgendem Schema aufgebaut: Erl{uterung des I"B* shH $x RBT ) JR C:leer the best Vo 'fs2, )IJII HJAH