home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0600
/
CCE_0683.ZIP
/
CCE_0683
/
TP206V38.LZH
/
TP206V38
/
BEFEHLE.TXT
< prev
next >
Wrap
Text File
|
1993-10-26
|
9KB
|
197 lines
Befehlsübersicht zu TOSPATCH V2.4:
----------------------------------
; = Kommentar (d.h. Rest der Zeile überlesen).
<* = TOS aus ROM lesen (Daten im Patchfile müssen stimmen!)
<FILE.EXT = TOS aus <FILE.EXT> lesen
=TT.MM.JJJJ = Prüfen, ob es sich um das richtige TOS handelt (Datum).
>Anzahl [Relocadr] = gepachtes TOS in <Anzahl> Datei(en) schreiben.
Mögliche Werte für 'Anzahl' sind 1,2,4,6 und 8. Wenn
'Relocadr' vorhanden, wird nach <Relocadr> reloziert.
<Relocadr> wird in die Variable .RELOCADR geschrieben.
§ = CRC-Prüfsumme nach dem Patchen berechnen und setzen.
Die Variable .CRC wird von 0 auf 1 gesetzt wenn
die Prüfsumme berchnet werden soll.
!Long,Long, ... = Einzelne Ausnahmen beim Relozieren.
!Long1..Long2, ... = Bereich von Long1 bis Long2 vom Relozieren ausnehmen.
? = Einzelne Adressen Relozieren.
(bei Adressen, die z.B. das höchstwertige Byte benutzen
und somit von TOSPATCH nicht erkannt werden).
-Pfad = Dateipfad ändern auf <Pfad> ändern (Ordner öfnen etc.)
<Pfad> = .. schließt Ordner.
Offset $Byte,Byte.. = Ab <Offset> die durch Kommata getrennten Bytes in das
TOS schreiben und ~ aktualisieren. Statt Bytes können
hier auch beliebige Ausdrücke eingesetzt werden
(Variablen, #, Operationen etc.). Hinter einem Ausdruck
kann auch die gewünschte Breite stehen, z.B. .B für
Byte (Default), .W für WORD und .L für LONG.
~ wird aktualisiert.
Offset |$Byte,Byte..= dito, jedoch ohne ~ zu aktualisieren.
Offset FILE.EXT = Ab <Offset> die Datei <FILE.EXT> ins TOS schreiben.
Die Datei muß entweder relocatibel oder zur
TOS-Basisadresse ($E00000) + <Offset> assembliert sein.
~ wird aktualisiert.
Offset |FILE.EXT = dito, jedoch ohne Aktualisieren von ~.
#Wert = <Wert> wird in den internen Speicher schreiben.
+FILE.EXT = 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 (falls kein _ELSE)
ausgeführt. 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 ggf. Ausgabe von:
'Fehler: ',Text,' in Zeile .xxx'
_EVEN = Falls ~ gerade ist passiert garnichts, sonst wird ein
Nullbyte an Adresse ~ gepatcht, so daß ~ gerade wird.
.Variable = Wert = Schreiben von <Wert> in die Variable .Variable.
.Variable: = Schreiben von ~ in die Variable .Variable.
Nach dem Doppelpunkt können Patches 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. Für Zahlen sind beliebige
Ausdrücke erlaubt.
Spezielle Variablen:
--------------------
.BASE = Long = TOS-Basisadresse setzen, zu der das TOS reloziert ist.
$FC0000 für TOS 1.xx, $E00000 für TOS 2.xx und 3.xx.
.LENGTH = Long = TOS-Länge setzen. $30000 für TOS 1.xx, $40000 für
TOS 2.xx und $80000 für TOS 3.xx.
.WIDTH = Long = Breite des TOS setzen. Gibt an, ob das TOS 16-bittig
(.16) oder 32-bittig (.32) organisiert sein soll. Ist
wichtig beim Abspeichern in mehreren Dateien zum
Brennen. Normal: TOS 2.06: 16, TOS 3.06: 32.
Mögliche Werte: .8, .16, .32, .64 .
.CRC = .CRC wird durch den §-Befehl von 0 auf 1 gesetzt.
Diese Variable zeigt an, ob die CRC-Prüfsumme nach
dem Patchen berechnet und gesetzt wird.
.RELOCADR = in .RELOCADR steht die Adresse, an die das TOS
nach dem Patchen reloziert wird.
~ = ~ zeigt auf die Adresse nach letztem abgearbeitetem
Patch.
#<Breite> = Ist eine einfache Variable, die durch den Befehl
#<Wert> auf <Wert> gesetzt wird, aber nicht bei
Operationen verwendet werden kann. Für <Breite> sind
folgende Werte möglich: B für Byte, W für WORD und
L für LONG. <Breite> muß mit angegeben werden.
Aufteilung beim Abspeichern:
----------------------------
Beim Abspeichern in mehrere Dateien wird das TOS wie folgt aufgeteilt:
WIDTH=.16: 1.Byte TOS.HIx
2.Byte TOS.LOx
3.Byte TOS.HIx
4.Byte TOS.LOx usw.
WIDTH=.32: 1.Byte TOS.HHx
2.Byte TOS.HLx
3.Byte TOS.LHx
4.Byte TOS.LLx
5.Byte TOS.HHx
6.Byte TOS.HLx
7.Byte TOS.LHx
8.Byte TOS.LLx usw.
Das TOS kann dabei in bis zu 16 Bänke, aber max. 32 Dateien, gesplittet
werden. x zählt von 0-9 hoch und fährt dann mit A-P fort. Gibt es keine
zwei Dateien mit gleicher Extension, wird x weggelassen.
Ausdrücke und Variablen:
------------------------
Ab jetzt kann man auch für (fast) jede Zahl im Patchfile eine Ausdruck
angeben. Die Breite diese Ausdruck kann an das Ende des Ausdrucks angehängt
werden: Ausdruck.B, Ausdruck.W oder Ausdruck.L (Default: .B)
Soll eine 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. .VARIABLEA ist gleich .VARIABLEB!
Als Zeichen im Variablenname sind erlaubt: A bis Z , 0 bis 9 sowie _ ,
wobei 0 bis 9 nicht an erster Stelle des Variablennamens stehe darf.
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:
30000 PATCH1.ABS
~ PATCH2.ABS
~ PATCH3.ABS
patcht ab Offset 30000 PATCH1.ABS, PATCH2.ABS und PATCH3.ABS hintereinander
in den Speicher
Prioritäten:
------------
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
Als Vergleiche sind möglich (auch als Operationen zu verwenden):
<> : Ungleich
<= : Kleiner oder Gleich
< : Kleiner
>= : Größer oder Gleich
> : Größer
= : Gleich
Die Vergleichszeichen können dabei auch in Ausrufungszeichen eingeklammert
werden, z.B. a<>b ist das gleiche wie a!<>!b.
Die Vergleiche liefern als wahr eine 1 und als falsch eine 0 zurück und
haben die niedrigste Priorität.
Klammerungen sind in bis zu 8 Ebenen möglich.
Allgemeines:
------------
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 also das ausgelesene Original-TOS, falls es erhalten bleiben soll,
um, z.B. in STE_TOS.IMG oder TT_TOS.IMG!
Zusätzliche Programme:
----------------------
Das Programm AUTO_206.PRG/AUTO_306.PRG gehört in den AUTO-Ordner. Es lädt
von dort ein TOS.IMG aus dem ROOT-Directory (der Pfad kann im Programm
gepatcht werden) an die im TOS.IMG angegebene Adresse.
Zum Konfigurieren von AUTO_206.PRG/AUTO_306.PRG dient AUTOCONF.PRG. Mit
AUTOCONF.PRG lassen sich die Hotkeys, die Startup-Zeit und das zu ladende
TOS in AUTO_206.PRG/AUTO_306.PRG verändern.
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 müssen.
>>> Wenn Ihr neue Patches einbaut, mailt sie mir bitte!!! <<<
Viel Spaß wünscht
Markus Heiden