Short: The Final Toolkit Monitor anno 1990 Author: Michael Lauer Uploader: aminet aminet net Type: dev/moni Version: 3.0 Architecture: m68k-amigaos <= 1.3.3 *------------------------------------------------------------* * Erläuterungen zu THE FINAL TOOLKIT V3.0 von MICHAEL LAUER: * 08/07 *------------------------------------------------------------* 1.) Zum Starten: ------------------ Zum Aufruf von THE FINAL TOOLKIT haben Sie zwei Möglich- keiten: 1.) Wenn Sie aus einer Kommandoebene (z.B. CLI) mit dem Kürzel »tk« aufrufen, legt sich der Arbeits-Bild- schirm an die höchste erreichbare CHIPMEM-Adresse. 2.) Wenn Sie mit dem Zusatz »wb« aufrufen (»tk wb«), versucht THE FINAL TOOLKIT den Arbeits-Bildschirm in den Bereich des Workbench-Bildschirms zu legen. Dies geht allerdings nur, wenn der Workbench-Bildschirm über zwei Bitplanes verfügt. 'Erkauft' wird diese Speicherersparnis (immer- hin 2*256*80 = 40960 Bytes!) durch die Zerstörung des In- haltes des Workbench-Bildschirms. Da Sie jedoch nach Be- endigung von THE FINAL TOOLKIT normal weiterarbeiten kön- nen, ist dies sicher sekundär. Bevor das eigentliche Programm beginnt, wird versucht ein SETUP zu laden (siehe Kapitel 6) und dieses zu aktivieren. Nach der kompletten Installierung meldet sich THE FINAL TOOLKIT mit einem, den ganzen Bildschirm beanspruchenden, Komman- doscreen, auf dem der Anfangstext, einige Zahlen und der TOOLKIT-spezifische Prompt ( -> ) zu sehen sind. Bei den Zahlen handelt es sich um einen permanent aktiviertes (jedoch ausschaltbares) Track & Sector-Display, welches den aktuellen Zustand der Schreib-/Leseköpfe von maximal vier, dem System angeschlossenen Diskettenlaufwerken darstellt. Eine mögliche Anzeige von: 40.01 (STANDARD=rote Farbe) -- -- 32·04 (STANDARD=grüne Farbe) -- -- würde bedeuten, daß sich in drive 0 eine nur lesbare Diskette befindet, in drive 1 keine, in drive 2 eine sowohl lesbare wie auch beschreibbare, und in drive 3 wiederum keine Diskette. Nicht angeschlossene Laufwerke werden übrigens auch durch -- -- angezeigt. Zusätzlich kann man durch die Position der (im STANDARD) weißen Punkte zwischen den Zahlen, die momentan angesprochenen Seiten der Laufwerke erfahren. Bei unserem Beispiel wäre das bei drive 0 die untere (0) Seite, bei drive 2 die obere (1). 2.) Die Kommandozeile: ------------------------ Die Kommandozeile kann auf verschiedene Arten editiert werden. Neben dem »normalen Schreiben« ist folgende Tas- tenbelegung aktiv: ESCAPE -> In letzten Editormodus gehen. BACKSPACE -> Zeichen links von Marke löschen. DELETE -> Zeichen unter Marke löschen. CURSOR RECHTS -> Schreibmarke 1 nach rechts. CURSOR LINKS -> Schreibmarke 1 nach links. CURSOR OBEN -> In der «Historyliste» blättern. CURSOR UNTEN -> Zeile beenden (wie Return). CONTROL + CURSOR RECHTS -> Schreibmarke 1 Wort nach rechts. CONTROL + CURSOR LINKS -> Schreibmarke 1 Wort nach links. CONTROL + CURSOR OBEN -> Schreibmarke an Ende der Zeile. CONTROL + CURSOR UNTEN -> Schreibmarke an Anfang der Zeile. CONTROL + BACKSPACE -> Aktuelle Kommandozeile löschen. CONTROL + DELETE -> Bildschirm komplett löschen. F1/F2/F3..F10 -> Vorgemerkte Texte schreiben. RETURN -> Kommandozeile ausführen. 3.) Die Kommandosyntax: ------------------------- Bei der nun folgenden Auflistung der Befehlsmöglich- keiten samt ihrer Syntax werden einige Abkürzungen ver- wendet, die hier erläutert werden sollen. Parameter in ( ) Klammern sind obligatorisch, solche in [ ] Klammern sind jedoch optional. Für die meisten optionalen Para- meter sind Defaultwerte implementiert. Folgende Arten von Parametern existieren: ADR -> 32-Bit-Speicheradresse (sedezimal) -> 3a06 STR -> in Anführungszeichen eingeschlossener String -> "df1:" DAT -> 24-Bit-Datenlangwort / Speichergröße (sedezimal) -> b04af NUM -> 8-Bit Datenbyte (sedezimal) -> 13 REG -> Prozessorregister -> a4 FOL -> Folge von 8-Bit-Datenbytes (sedezimal -> 9e 26 c4 EXP -> Rechenausdruck -> 2*4+7-3/1 Sind mehrere ADRessen angegeben, so wird eine Reihen- folge von Quelladresse (Anfang), Quelladresse (Ende) und schließlich Zieladresse vorausgesetzt. 3.1) Monitorbefehle: ---------------------- ma [ADR] -> Speicher anzeigen/verändern (ASCII) mx [ADR] -> Speicher anzeigen/verändern (SEDEZIMAL) mg [ADR] -> Speicher graphisch anzeigen (BITMAP) ms [ADR] -> Speicher anzeigen/anhören (AUDIODATA) md [ADR] -> Speicher anzeigen/verändern (MNEMONICS) Für weitere Informationen zu den Monitorbefehlen, bitte den Anhang beachten. 3.2) Speichermanipulation: ---------------------------- fi (ADR) (ADR) (STR) -> Speicherbereich nach String durchsuchen fh (ADR) (ADR) (FOL) -> Speicherbereich nach Bytes durchsuchen cy (ADR) (ADR) (ADR) -> Speicherbereich kopieren cp (ADR) (ADR) (ADR) -> Zwei Speicherbereiche vergleichen co (ADR) (ADR) (DAT) -> Speicherbereich codieren (eor.l #$dat) cv -> Resetvektoren anzeigen cv "" -> Resetvektoren löschen / anzeigen am (DAT) [ADR] -> Speicherbereich belegen dm (DAT) (DAT) -> Speicherbereich freigeben fe -> Freie Speichersumme anzeigen 3.3) Diskettenbefehle: ------------------------ vd (STR) -> Inhaltsverzeichnis ausgeben und wählen vd "" -> Zurück zum übergeordneten Verzeichnis dv (NUM) -> Laufwerk für Trackbefehle auswählen ri (STR) (ADR) -> Datei in den Speicher einlesen wi (STR) (ADR) (ADR) -> Speicherbereich als Datei schreiben kf (STR) -> Datei oder (leeres!) Directory löschen rf (STR) (STR) -> Datei oder Dir umbenennen (alt,neu) wd (STR) (ADR) (ADR) -> Speicherblock als 'DC.L'-file schreiben ty (STR) -> Datei auf Bildschirm ausdrucken lo (STR) -> Datei als Programmsegment laden er [ADR] -> Gibt PrgSegmentspeicher frei, bei Nichtangabe von ADR -> letzes PrgMem pr (STR) [...] -> Startet neuen Prozess (-> Anhang) rt (ADR) (DAT) (NUM) -> Liest NUM Tracks ab Track DAT nach ADR wt (ADR) (DAT) (NUM) -> Schreibt NUM Tracks ab Track DAT rs (ADR) [...] -> Liest Sektoren (-> Anhang) ws (ADR) [...] -> Schreibt Sektoren (-> Anhang) rb (ADR) (DAT) (NUM) -> Liest NUM Blöcke ab Block DAT nach ADR wb (ADR) (DAT) (NUM) -> Schreibt NUM Blöcke ab Block DAT ff (NUM) (STR) -> Formatiert und installiert Diskette it (NUM) [ADR] -> Installiert Bootblock, bei Nichtangabe von ADR Standard-Bootblock fc (NUM) (NUM) -> Kleines, DOS-Disketten-Kopierprogramm 3.4) Entcodier-/Kompaktierbefehle: ------------------------------------ dp (ADR) (ADR) -> Dekomprimiert IFF-Bild (Quelle,Ziel) pc (ADR) (ADR) (ADR) -> Kompaktiert Speicherbereich, liefert Endadresse von Zielbereich dc (ADR) (ADR) -> Dekompaktiert Speicherbereich, als Quelle -> gelieferte Endadresse angeben 3.5) Sonstige Befehle: ------------------------ bo (ADR) -> Bootblockchecksumme korrigieren ki (ADR) -> Kickstartchecksumme korrigieren ? (EXP) -> Ausdruck berechnen (-> Anhang) js (ADR) -> Programmcounter (PC) mit Wert laden mt -> Andere Tasks bearbeiten sh (ADR) [ADR] -> IFF-Bild anzeigen (adr1 = IFF-Kopf) rr -> Prozessorregister anzeigen sr (REG) (DAT) -> Prozessorregister mit Wert laden lc -> Lage von THE FINAL TOOLKIT anzeigen sf (NUM) (STR) -> Funktionstaste NUM mit String belegen sf -> Funktionstastenbelegung anzeigen hp bzw. HELP-Taste -> Hilfsseite und Exceptionstatus anzeigen su -> Setup-Parameter ändern/laden/speichern xx -> THE FINAL TOOLKIT verlassen 4.) Die View'n'Edit-Modi: --------------------------- In allen Modi wählen die F-Tasten verschiedene Speicher- bereiche. F1: $10000 F2: $20000 ... F10: $00000 Jedoch gibt es hier je nach Modus einige Abweichungen. Im ASCII-Mouds kann man mit 'BACKSPACE' das letzte, eingegebene Zeichen löschen, die Cursortasten bewirken ein Scrollen durch den Text nach oben/unten. Die Sonder- tasten ALT und SHIFT werden hier benützt, um verschiedene Geschwindigkeiten zu erreichen. ConTRoL+Cursortaste ver- schieben den Speicherausschnitt seitenweise nach oben/ unten bzw. zeichenweise nach rechts/links. Um ein Zeichen zu ändern, bewegt man den Cursor dorthin und tippt das gewünschte Zeichen ein. Bis auf die 'BACKSPACE'-Funktion, die hier nicht vorhanden ist, verhält sich der HEX-Modus genauso. Hier können allerdings nur zweistellige, sedezi- male Zahlenwerte eingegeben werden. Der MNEMONICS-Modus, der sich als ein Assembler/Disassembler entpuppt, kann als eine kleine Spezialität des FINAL TOOLKIT gelten. Mit 'RETURN' kann man einen Befehlscode ändern, bzw. ganze Programme eingeben. Zuerst gibt man den Befehlscode ein, danach gelangt man mit der TABulatortaste in die Spalte der (nicht immer vorhandenen) Parameter. Beispiel: $27ab3 'RETURN' move.w 'TAB' d0,d1 'RETURN' Nicht zulässige Befehlscodes werden erkannt oder hin- reichend modifiziert. Diesen, wie im übrigen alle, Editiermodus, kann man mit 'ESCAPE' verlassen. Mit MG [ADRESSE], kann man sich den Speicherinhalt als Bitplanedaten graphisch darstellen lassen. Um einen anderen Speicher- bereich darzustellen, kann man wieder mit den Cursor- tasten, wahlweise mit SHIFT oder ALT verschieben. Mit F9 kann man das Anzeigefenster für Modulowert, Adresse und Auflösung zugunsten einer größeren Anzeige ein- bzw. aus- schalten. Die 'HELP'-Taste ist für das Umschalten zwischen HIRES und LORES (640*256 bzw. 320*256) zuständig. Mit '+' und '-' wird der Modulowert verändert. Er kann übrigens auch negative Werte annehmen (sehr nützlich für Bilder, die kleiner als 640 * 256 bzw. 320 * 256 sind). Achtung: Internationale Tastaturbelegung! Hinter MS [ADRESSE] verbirgt sich schliesslich eine ausgeklügelte Routine, mit der man digitalisierte, sogennante 'gesamplete' Audiodaten graphisch darstellbar machen kann und auch akustisch ausgeben kann. Zu MG hat sich bezüglich der Bedienung nur die F9-Taste geändert. Mit ihr kann man die graphische Ausgabe der Wellenform ein/-ausschalten. Dies ist sehr nützlich, wenn man die Größe des angezeigten Bereiches auf einen Wert gebracht hat, bei dem das Zeichnen der Wellenform sehr lange dauert, und man in einer vernünftigen Geschwindigkeit den Ausschnitt bewegen will. Mittels SHIFT und den Cursortasten läßt sich hier wieder 'Seitenweise' bewegen. Die P-Taste startet die Audioausgabe, die S-Taste stoppt sie wieder. Die O-Taste schaltet zwischen einem ONESHOT- (einmal gespielt) und einem LOOP- (wiederholt) Sample um. Die Tonhöhe bzw. Ab- spielrate (period) wird mittels der +/- Tasten verändert. Die Größe des Ausschnitts (size) wird mit ";" + "'" und mit '<' + '>' verändert. Mit CTRL-W ist es möglich, den angezeigten Abschnitt als sogenannte SAMPLEDATA abzu- speichern. Auch hier ist wieder auf die internationale Tastaturbelegung zu achten. 5.) Anhänge: -------------- Das PR-Kommando hat vollständig folgende Syntax: pr (STR) [DAT] [DAT] [DAT] pr (Segmentname) [priorität] [seglist] [stacksize] Wenn sie vorher ein Programm mittels 'lo' als Segment geladen haben, und dieses ohne Voreinstellung starten wollen, geben sie nur pr und den Namen, mit dem es in die Taskliste eingetragen werden soll, ein. Z.B.: pr "Testprogramm" 'RETURN' Die anderen Parameter folgen nun: PRIORITÄT: Priorität des Tasks (Defaultwert = 40) SEGLIST: Zeiger auf Segmentliste (Rückgabewert von 'lo') Defaultwert = letztes Segment STACKSIZE: Stapelgröße des Prozesses (Defaultwert = 1024b) Bitte beachten Sie, daß alles Parameter sedezimal einge- geben werden müssen. Um nach einem ausgeführtem PR-Befehl wieder korrekt in die Kommandoebene des FINAL TOOLKIT zu gelangen, drücken sie bitte die CTRL-Taste. Dies funktio- niert allerdings nur bei multitaskingfähigen Programmen, d.h. keine Intros oder Spiele, die mit Hardware arbeiten! Mit dem Rechenkommando ( '?' ) haben sie ein kleines Werkzeug um leider immer notwendige Berechnungen schnell auszuführen. Erlaubte 'Zahlensysteme' sind: DEZIMAL: Kein Prefix ( z.B. 17582 ) SEDEZIMAL: Prefix '$' ( z.B. $28172 ) BINÄR: Prefix '%' ( z.B. %101110 ) ASCII: ( z.B. "POST" ) Diese 'Zahlensysteme' können in einer Rechnung beliebig kombiniert werden. Erlaubte Rechnungsarten sind: MULTIPLIZIEREN: * DIVIDIEREN: / ADDIEREN: + SUBTRAHIEREN: - LOGISCHES 'AND': & LOGISCHES 'OR': | LOGISCHES 'EOR': # Die meisten Operationen funktionieren mit einem Rechen- bereich von 32-Bit, das Ergebnis wird in allen vier 'Zahlensystemen' angezeigt. Sicherheitshinweis: Eine, mit THE FINAL TOOLKIT for- matierte Diskette wird nicht mit Verify geprüft. Ver- wenden sie deshalb nur geprüfte doppelseitige Marken- disketten. ( '2D DD' ). Die schnelle Formatierungs- routine mußte sich übrigens mit dem Nachteil erkauft werden, daß man die Diskette nach dem Formatiervorgang einmal Raus- und wieder Reinstecken muß, damit das DOS von der Formatierung unterrichtet wird. THE FINAL TOOLKIT verfügt unter anderem auch über einen leistungsfähigen Exceptionhandler, weswegen es nicht problemlos mit Programmen zusammenarbeitet, die auch über einen solchen verfügen. THE FINAL TOOLKIT kann mit dem SH - Kommando ein bis zu über 32 Farben verfügendes IFF-Bild darstellen. Die Hand- habung ist allerdings nicht ganz einfach. Zuerst müssen Sie mit dem SH - Kommando sich Informationen über das IFF- Bild geben lassen. Dies sähe z.B. folgendermaßen aus: Length: $002a82 d.h. Länge = 10882 Bytes Width: $000140 Breite = 320 Pixel Hight: $000100 Höhe = 256 Pixel Planes: $000002 Farben = 4 (planes^2) Compr: $000100 Wenn der Wert hinter Compr. ungleich 0 ist, dann bedeutet das, daß ihr IFF-Bild kompaktiert ist. In diesem Fall, sollten sie das Bild zuerst entkompaktieren ( DP ) und die Startadresse der 'rohen' Bilddaten als zweiten Para- meter bei SH angeben. Eine vollständige Sequenz sähe dann so aus (inklusive laden): ri "df0:Bild" 40000 'RETURN' sh 40000 ( wenn compr.=0 dann 'y', sonst 'n' ) andernfalls: dp 40000 50000 'RETURN' sh 40000 50000 'RETURN' 'y' (rohe Bilddaten bei 50000) Diese Handhabung ist sicherlich gewöhnungsbedürftig. Nach einiger Zeit werden Sie allerdings die Vorteile einer Teilung von IFF-Kopf und IFF-Bilddaten zu schätzen wissen. Die Funktionstastenbelegung bietet ihnen übrigens noch den Vorteil, ein simuliertes 'RETURN' mit einzubinden, um Be- fehle mit einem Tastendruck ausführen zu lassen. Dies wur- de bereits bei der Standard-Belegung implementiert. Um z.B. den Befehl ' vd "df1:" ' auf Funktionstaste 7 zu legen, benutze man folgende Syntax: sf 7 "vd 'df1:'>" Dabei bedeutet das '>' einen angehängten Druck auf die RETURN-Taste. Um der Komplikation von Anführungszeichen im Befehl zu entgehen, musste vereinbart werden, das Sie das Apostroph ( ' ) anstelle von ( " ) im SF-String benutzen. Das MT-Kommando wurde entwickelt um, da THE FINAL TOOLKIT aus Geschwindigkeitsgründen nicht über einen INTUITION- Screen verfügt, ein Multitasking zu ermöglichen. Dabei wird natürlich vorausgesetzt, das sie TK mit dem Zu- satzbefehl 'RUN' aufrufen! (d.h. 'run tk'). Nach EIngabe des MT-Befehls können Sie bis zum Druck von CTRL in den den Genuß des Multitasking kommen. Falls Sie eine andere Taste für sinvoll halten, wenden Sie sich an mich. (s.u.) Mit ty "file" können Sie sich einen ASCII-Text anschauen. Nach dem Ausdruck der ersten Seite haben Sie folgende Möglichkeiten: -> nächste Seite anzeigen. -> zurück zur ersten Seite. -> den Rest 'runterrasseln'. -> kurz anhalten. -> zurück zur Kommandoebene. Dieses Kommando ist deshalb so langsam, und kann nicht rückwärts blättern, da aus Speicherplatzgründen kein Puffer verwendet wird(!). Mit der AMIGA-Taste können Sie übrigens zu jeder Zeit eine Bildschirmausgabe anhalten. Die Track-Befehle sind eine weitere Spezialität des TOOLKIT, die es fast zu einem komfortablen Diskettenmonitor machen. Neben der in der Befehlsübersicht beschriebenen Syntax der RT / WT - Befehle gibt es noch folgende Syntax: rt (adresse) (anfangstrack) (trackanzahl) [seite] wt (adresse) (anfangstrack) (trackanzahl) [seite] Wenn der Parameter SEITE einen Wert hat (0/1), dann geht THE FINAL TOOLKIT in einen Modus über, in dem einseitig gelesen und geschrieben wird. Sie haben so die Möglich- keit, sich ein einseitiges Format zu erstellen. Ebenso gibt es Hardware-Schnell-Lader, die auf diesem Format basieren. Hiermit haben Sie also ein Werkzeug, um diese Disketten zu lesen bzw. zu beschreiben. Mit dem RS / WS - Kommando können Sie allerdings auch nur bestimmten Sektoren einlesen bzw. beschreiben. Die Syntax hierfür ist diese: rs (adresse) (track) (sector) (seite) (anzahl) ws (adresse) (track) (sector) (seite) (anzahl) Für Anwender die eher mit dem Block-System rechnen wollen, wurde eine zusätzliche Syntax eingebaut, um Sektoren bzw. 'Blöcke' einzulesen bzw. zu beschreiben: rb (adresse) (block) (anzahl) wb (adresse) (block) (anzahl) So leistungfähig diese Befehle sind, so größer ist auch die Möglichkeit, sie falsch anzuwenden. Der Autor und der Distributor übernehmen natürlich keine Haftung für irgendwelche Schäden, die durch falsche Anwendung von THE FINAL TOOLKIT entstehen könnten! 6.) Setup: ------------ Ab Version 3.0 von THE FINAL TOOLKIT verfügt das Programm über eine Setup-Routine, mit der Sie bestimmte Parameter sowie die Funktionstastenbelegung abspeichern können. Sie können sich somit ihr individuelles TOOLKIT herstellen, selbstverständlich mit eigener Funktionstastenbelegung. Durch Eingabe von SU gelangen Sie in die Setup-Routine. Nun können Sie sich mit den Cursortasten und wahlweise SHIFT einen Parameter aussuchen, den sie ändern wollen. Danach benutzen Sie ALT + Cursor OBEN / Cursor UNTEN, um den Parameter zu ändern. Um die Funktionstastenbelegung zu ändern, gibt es ja das SF-Kommando. Mit CTRL-S können Sie das sogenannte SETUP abspeichern, mit CTRL-L wieder einladen, um eine Änderung zu verifizieren beispielsweise. CTRL-R bringt alle Parameter wieder auf ihre Default- Werte (ausgenommen der Funktionstastenbelegung). Bei jedem Programmstart überprüft THE FINAL TOOLKIT, ob auf ihrer System-Diskette, das heißt die, mit der sie gebootet haben, ein SETUP vorhanden ist. Wenn ja, wird es automatisch geladen und eingestellt. Wenn nein, wird das Standard-Toolkit-Outfit gewählt. Das SETUP bekommt auf der Diskette den Namen 'tk.config' und kann sich selbst- verständlich auch auf einer bootfähigen Festplatte be- finden (ab Kickstart/Workbench 1.3). Der Aufbau des SETUP auf Diskette können Sie unter der nachstehend angegebenen Adresse erfahren. 7.) Schluss: -------------- Sollten Sie spezielle oder allgemaine Fragen oder Anregungen haben, so schreiben Sie dem Autor bitte: MICHAEL LAUER MITTLERER SCHAFHOFWEG 28 6000 FRANKFURT 70 WEST-GERMANY