Befehlsbersicht zu TOSPATCH V1.3: ---------------------------------- ; = Kommentar (d.h. Rest der Zeile berlesen). <* = TOS aus ROM lesen lesen =TT.MM.JJJJ = Prfen, ob es sich um das richtige TOS handelt (Datum). >Anzahl [Relocadr] = gepachtes TOS in Datei(en) schreiben. M”gliche Werte fr 'Anzahl' sind 1,2 und 8. Wenn 'Relocadr' vorhanden, wird nach reloziert. wird in die Variable .RELOCADR geschrieben. Ý = CRC-Prfsumme nach dem Patchen berechnen und setzen. !Long,Long,.. = Einzelne Ausnahmen beim Relozieren. !Long1..Long2,.. = Bereich von Long1 bis Long2 vom Relozieren ausnehmen. ? = Einzelne Adressen Relozieren. (bei Adressen, die das h”chstwertige Byte benutzen und somit von TOSPATCH nicht erkannt werden). -Pfad = Dateipfad „ndern auf „ndern (Ordner ”fnen etc.) = .. schliežt Ordner. Offset $Byte,Byte.. = Ab die durch Kommata getrennten Bytes in das TOS schreiben und ~ aktualisieren. Offset |$Byte,Byte..= dito, jedoch ohne ~ zu aktualisieren. Offset File = Ab die Datei ins TOS schreiben. Die Datei muž entweder relocatibel oder zur TOS-Basisadresse(=$E00000) + assembliert sein. ~ wird aktualisiert. Offset |File = dito, jedoch ohne Aktualisieren von ~. #Wert = wird in einen internen Speicher schreiben. Offset #Breite = Schreibt den internen Speicher ab mit der Breite ins TOS. Werte fr 'Breite' sind: B fr Byte, W fr Wort und L fr Langwort. ~ wird Aktualisiert. Offset |#Breite = dito, jedoch ohne ~ zu Aktualisieren. +File = Liest ein 2. Patchfile und wertet dies aus. Es k”nnen in dem File k”nnen alle hier beschriebenen Befehle benutzt werden bis auf diesen selbst. D.h. ein 2. Patchfile kann KEIN Patchfile mehr laden! _IF Ausdruck = Wenn der Ausdruck wahr ist, werden die nachfolgenden Zeilen bis _ELSE oder _ENDIF ausgefhrt. Ist der Ausdruck falsch werden die nachfolgenden Zeilen bis _ELSE (falls vorhanden) oder _ENDIF bersprungen. _ELSE = Falls die _IF-Bedingung falsch war, wird ab hier weitergearbeitet. _ENDIF = Beendung einer _IF (/_ELSE) Konstruktion. _ERROR ['Text'] = Abbruch des Patchvorganges und Ausgabe von: 'Fehler: ',Text,' in Zeile .xxx' .Variable = Wert = Schreiben von in die Variable .Variable. .Variable: = Schreiben von ~ in die Variable .Variable. Nach dem Doppelpunkt k”nnen weitere Befehle folgen. /'Text',Zahl,$Zahl = Print-Befehl schreibt Texte ('Text'), dezimale Zahlen (Zahl) und hexadezimale Zahlen ($Zahl), die durch Komma getrennt sind, in beliebiger Reihenfolge auf den Bildschirm. .BASE = Long = TOS-Basisadresse setzen, zu der es reloziert ist. FC0000 fr TOS 1.xx, E00000 fr TOS 2.xx und 3.xx. .LENGTH = Long = TOS-L„nge setzen. 30000 fr TOS 1.xx, 40000 fr TOS 2.xx und 80000 fr TOS 3.xx. Die Parameterbergabe an das zweite Patchfile kann ber den internen Speicher oder Variablen vorgenommen werden. Diese werden beim Nachladen eines zweiten Patchfiles NICHT gel”scht und nach Rckkehr in das Hauptpatchfile auch NICHT wieder restauriert. Das Schreiben des internen Speichers, sowie der Variablen, ist auch in einer Bytefolge m”glich: 12345 $80,#B,.Variable oder ~ #W,.Variable.b,80 oder .abstand $.Variable,#L,.20.l Hierbei kann fr die einzelne Werte jetzt auch die Breite (B,W,L) angegeben werden, indem man .b, .w oder .l an die entsprechenden Werte anh„ngt, z.B.: 12345 $0.l ;schreibt $00000000 an Offset $12345 Ab jetzt kann man auch fr (fast) jede Zahl im Patchfile eine Ausdruck angeben. Die Breite diese Ausdruck muž immer an das Ende des Ausdrucks angeh„ngt werden: Ausdruck.b, Ausdruck.w oder Ausdruck.l Soll die Zahl dezimal sein muž sie eine Punkt als Prefix haben: .20 = dezimal 20, 20 = hexadezimal 20! Alle Variablen beginnen mit einem Punkt. Grož- und Kleinschreibung ist egal. Von dem Variablenname nach dem Punkt werden nur die ersten acht Stellen ausgewertet, d.h. .VARIABLELAENGER ist gleich .VARIABLEKURZ! Eine spezielle Variable ist ~. In ihr steht das Ende des letzten Patches. Vor ihr, sowie auch vor #, darf kein Punkt stehen. Diese Variable kann z.B. genutzt werden, um mehrere Patches hintereinander zu laden: ~ Patch1 ~ Patch2 ~ Patch3 Als Operationen sind m”glich (in Reihenfolge ihrer Priorit„t): ^ : Potenzierung *,/ : Multiplikation, Division +,- : Addition, Subtraktion A oder AND : Und O oder OR : Oder X oder XOR : Exklusiv Oder Klammerungen sind bis zum Stackspeicherende m”glich! Als Vergleiche sind m”glich (auch als Opoerationen zu verwenden): <> : Ungleich <= : Kleiner oder Gleich < : Kleiner >= : Gr”žer oder Gleich > : Gr”žer = : Gleich Die Vergleiche liefern als wahr eine 1 und als falsch eine 0 zurck. Die maximale Gr”že des Hauptpatchfiles betr„gt 64kByte. Die maximale Gr”že des zweiten Patchfiles betr„gt jedoch 'nur' 32kByte! TOSPATCH erzeugt als Ausgabefile immer TOS.IMG! Benennt das ausgelesene Original-TOS - falls es erhalten bleiben soll - um, z.B. in STE_TOS.IMG ! Das Programm LOADTOS.PRG geh”rt in den AUTO-Ordner. Es l„dt von dort ein TOS.IMG-File aus dem ROOT-Directory an die im File angegebene Adresse. Das Programm RESETTOS.PRG dient dazu das TOS, wenn es mit RAMRESET reset- fest gemacht wurde, aus dem Speicher zu entfernen ohne den Rechner aus- schalten zu mssen. >>> Wenn Ihr neue Patch einbaut packt sie bitte in die D-Box Hamburg!!! <<< Viel Spaž wnscht Markus Heiden