home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-21 | 170.2 KB | 3,972 lines |
-
-
- ____________________________________________________________________
- ____________________________________________________________________
-
- ######### ######### #### #######
- ## ## ## ## ## ## ## ##
- ## ## ## ## ## ##
- ## ## ## ## ## ##
- ######### ######## ## ## ####### ## ####
- ## ## ## ## ## ## ## ##
- ## ## ## ## ## ###### ## ##
- ## ## ## ## #### ## ## ## ## ##
- ## ### ######## ## ####### ## ## #######
- ___________________________ ## _____________________________________
- _________________________ ### ______________________________________
-
- Was ist RSys?
- *************
-
- `RSYS' ist von allem ein bißchen `:-)'
-
- Die Hauptanregung zu `RSYS' bekam ich durch die verschiedenen
- Systemutilities, wie `Xoper', `ARTM', `TaskX' und andere. Die einen erlaubten
- einen tiefgreifenden Einblick in das Betriebssystem (`Xoper'), waren aber etwas
- unkomfortabel in der Bedienung, andere wiederum boten zwar viel Information
- (`ARTM'), waren dann aber nicht ganz absturzsicher und boten einfach zuviel,
- worunter die Übersicht litt. Wieder andere boten noch andere Features, wie
- WorkBench-Unterstützung und Application Icons (AppIcons), bzw. -Windows
- (Toolmanager), aber keine Systeminformationen. Bei fast allen Programmen aber
- war kein Quellcode dabei, weswegen wirklich gute Programmierlösungen nur den
- Programmierern vorbehalten war.
-
- Aus diesen Überlegungen heraus entstand `RSYS'. `RSYS' hat etwas von
- `ARTM' und `Xoper', aber auch ein wenig vom `Toolmanager' und von `Icon'.
- Eines hat aber `RSYS' den anderen Programmen voraus: der Sourcecode ist
- dokumentiert und im Lieferumfang dabei.
-
- Bei der Source legte ich Wert auf eine gute Dokumentation und die Lesbarkeit
- der Programmteile. Allerdings war ich auch etwas faul, was eine ausführliche
- Dokumentation angeht. Das Programm habe ich völlig in Public Domain gestellt,
- bitte aber dennoch (natürlich :-) um konstruktive Kritik. Sie soll dazu
- beitragen, Verbesserungen einzubauen und Fehler auszumerzen.
-
- Ziemlich am Ende dieser Dokumentation habe ich auch einige Hintergrundinfos
- zu den einzelnen Systemlisten und -objekten geschrieben. Außerdem ist in den
- Quelltexten einiges an Informationen zu den einzelnen Programmpunkten
- ausgeführt, so daß sich ein Blick in das Programm immer lohnt.
-
- `RSYS' wurde unter Berücksichtigung aller mir bekannten Richtlinien der
- Programmierung unter AmigaDOS 2.0 geschrieben. Alle kritischen Routinen wurden
- bis zu dreimal abgesichert. Das bläht zwar etwas den Code, gewährleistet
- aber die Lauffähigkeit auch unter Betriebssystemen >= 2.04.
-
- Besonderer Wert wurde auf die Vermeidung von Speicherfehlern und
- Enforcer-Hits gelegt. Bei einem auftretenden Speicherfehler wird in den
- meisten Fällen das Programm unter Angabe von Quelldatei- und Funktionsname,
- sowie der Zeilennummer im Quelltext abgebrochen und beendet.
-
- `RSYS' verfügt über einen eigenen Trap-Handler. Damit kann evtl. vor
- einem Absturz das Programm noch korrekt beendet werden. Da dann alle Resourcen
- von `RSYS' freigegeben werden, ist auch der Grund des Absturzes (falls er von
- dem Programm selbst erzeugt wurde ;) beseitigt, und es kann weitergearbeitet
- werden, ohne den Rechner zurückzusetzen.
-
- `RSYS' bietet die meisten Systemlisten an, im Vergleich zu allen anderen
- "System-Monitoren". Manche dieser Listen und der Listenelemente sind unter
- Berücksichtigung o.g.~Richtlinien modifizierbar.
-
- Die Dokumentation wurde mit `TeXInfo' bearbeitet und ist im Quelltext im
- Lieferumfang dabei. Mit `MakeInfo' können daraus die `AmigaGuide-' und
- `Doc'-Files erzeugt werden. Der Ausdruck der Dokumentation umfaßt z.Zt.
- S{No Value For "EITEN"} Seiten, inklusive einiger Hintergrundinformationen zur
- Systemprogrammierung.
-
- Die Installation des Paketes (oder Teile des Paketes) werden vollständig
- über ein Installer-Script vorgenommen. Beim Installationsskript wurde Wert auf
- Komfortabilität und Lesbarkeit gelegt. Es ist auch möglich, eine
- Nachinstallation vorzunehmen, beispielsweise, wenn man die Dokumentation neu
- installieren möchte.
-
- Copyrights und Verwendung
- *************************
-
- Es wird keine Garantie gegeben, daß das Programm 100%ig zuverlässig
- ist. Ihr benutzt dieses Programm auf eigene Gefahr. Der Autor kann auf
- keinen Fall für irgendwelche Schäden verantwortlich gemacht werden, die
- durch die Anwendung dieses Programmes entstehen.
-
- Weiterhin darf das Programm und der Quelltext zu `RSYS' 1.3 nicht zu
- kommerziellen Zwecken jeder Art verwendet werden. Desweiteren dürfen das
- Programm und der Quelltext nicht direkt und nicht indirekt zu militärischen
- Zwecken jeder Art verwendet werden! Jede Veröffentlichung in Diskmagazinen
- und Zeitschriften *muß* mit der Zustimmung des Autors stattfinden. Das
- Programmpaket und die Dokumentation sollten ohne Veränderung weitergegeben
- werden. Ferner sollten *KEINE* Dateien hinzugenommen werden oder selbige
- verändert werden!
-
- Der Quelltext ist völlig Public Domain und Giftware, aber es wäre nett,
- wenn mich der jeweilige Programmierer in einer kleinen Danksagung erwähnen
- würde. Auch wenn andere dieses Programm als Grundlage nehmen, um ein neues
- `RSYS' zu programmieren, sollten diese sich mit mir in Verbindung setzen, damit
- wir unsere Aktivitäten koordinieren können.
-
- Der Autor ist weiterhin sehr empfänglich für kleine Geschenke, also Geld
- :-), Gummibärchen, Briefe, Postkarten, Disketten, Musikkassetten u.v.a.m.
- Auch Geldspenden, Schecks oder Überweisungen werden nicht abgelehnt :-))
- Hier meine Adresse:
-
- Rolf Böhme
- Stammestr. 48
- 30459 Hannover
- Germany
- EMAIL: R.BOEHME@COPS.ZER
- FIDO: 2:245/44.2 (Rolf Boehme)
-
- Ich behalte mir weiterhin vor, den Typ des Programmes (PD, Freeware,
- Shareware, Payware) zu ändern. Daher gelten diese Festlegungen nur für
- `RSYS' 1.3. Alle weiteren oder vorhergehenden Releases oder Versionen
- unterliegen dann anderen Bestimmungen.
-
- Installation von RSys
- *********************
-
- Die Installation von `RSYS' gestaltet sich recht einfach. Zum einen ist
- `RSYS' ein CLI-Programm, d.h. es kann vom CLI wie ein AmigaDOS-Befehl
- aufgerufen und gleich wieder verlassen werden.
-
- Zum anderen ist es ein Befehl für das `wbstartup'-Verzeichnis der
- Bootpartition. Wird das Icon und das Programm in dieses Verzeichnis gelegt, so
- erscheint ein neues Icon auf der WorkBench, das wie eine verkleinerte Form des
- Hauptfensters von `RSYS' aussieht. Durch einen Doppelklick auf das Icon oder
- einen CLI-Aufruf verschwindet das Icon und das Hauptfenster erscheint. Wenn
- `RSYS' schon im Hintergrund läuft, d.h. vom `wbstartup'-Verzeichnis aus
- geladen wurde, wird das Programm nach einem weiteren Aufruf aus dem CLI
- natürlich viel schneller erscheinen.
-
- Ab Version 1.2 kann die Installation vollständig mit dem `Installer'
- vorgenommen werden. Mit ihm könnt Ihr nicht nur alle Programmteile und
- Dateien installieren, sondern auch einzelne Teile des Programmpaketes
- nachinstallieren. Der `Installer' ist seid kurzem frei verfügbar, liegt aber
- `RSYS' nicht bei. Er sollte in jeder guten Mailbox oder bei einem PD-Händler
- erhältlich sein.
-
- Entsprechend der verschiedenen Verwendungsmöglichkeiten gestaltet sich auch
- die Installation von `RSYS' (falls sie von Hand vorgenommen werden soll), die
- jetzt im Einzelnen besprochen wird.
-
- Installation von der WorkBench
- ==============================
-
- Dazu wird `RSYS' und die mitgelieferte Info-Datei `RSys.info' in das
- `wbstartup'-Verzeichnis der Bootpartition oder -diskette kopiert. Wird die
- Default-Einstellung gewählt, sollten sich die externen Dateien in den
- Verzeichnissen befinden, die duch die ToolTypes des Programms vorgegeben sind.
- Es ist aber möglich, `RSYS' zu starten und diese Dateien per FileRequester
- nachträglich zu anzugeben und die Konfiguration im Icon zu speichern.
-
- Der Aufruf von der WorkBench aus über das `wbstartup'-Verzeichnis bietet
- ein paar mehr Möglichkeiten. Zunächst aber zu den Parametern vom Icon, den
- *ToolTypes*. `RSYS' unterstützt in dieser Version mehrere ToolTypes. Im
- folgenden sind sie alle aufgelistet, zunächst die Tastenkombinationen der
- verschiedenen Utilities von `RSYS':
-
- - ToolType: CX_HOTKEY (DEFAULT: `lshift rshift y')
- Mit dieser Tastenkombination kann `RSYS' aktiviert werden, falls es im
- System schon existiert. Es erscheint dann das Hauptfenster von `RSYS'.
-
- - ToolType: CX_CRYPT (DEFAULT: `lshift rshift k')
- Es erscheint nach dieser Tastenkombination das `Crypt Files'-Window von
- `RSYS', eine der Utilities von `RSYS'.
-
- - ToolType: CX_FINDFILE (DEFAULT: `lshift rshift s')
- Diese Tastenkombination startet die Benutzeroberfläche zum Suchen von
- Dateien.
-
- - ToolType: CX_FORMAT (DEFAULT: `lshift rshift f')
- Es erscheint ein kleines Window, in dem der `Format'-Befehl einfach
- konfiguriert und gestartet werden kann.
-
- - ToolType: CX_HUNKLIST (DEFAULT: `lshift rshift h')
- Diese Tastenkombination läßt ein Fenster erscheinen, in dem die
- Hunkstruktur eines Executables aufgelistet werden kann. Sehr nützlich
- für Programmierer.
-
- - ToolType: CX_CRC (DEFAULT: `lshift rshift c')
- Nach dieser Tastenkombination erscheint ein kleines Fenster, in dem die
- CRC-Checksummen von Dateien berechnet werden können.
-
- - ToolType: CX_SAVEWINDOW (DEFAULT: `lshift rshift w')
- Durch diese Tastenkombination erscheint ein Window, in dem Windows, die im
- System geöffnet worden sind, als IFF-Dateien abgespeichert werden
- können.
-
- - ToolType: CX_FILEREQUEST (DEFAULT: `lshift rshift esc')
- Es kommt vor, daß man eine bestimmte Datei sucht, auch weiß, wo sie
- liegt, aber partout keine Lust hat, den 45 Zeichen langen Dateinamen
- einzugeben. Mit der obigen Tastenkombination erscheint der
- `ASL'-Requester des AmigaOS. Damit kann eine Datei ausgewählt werden und
- der Name samt vollständiger Pfadbezeichnung ins ClipBoard kopiert werden.
- Er steht dann jeder anderen Anwendung zur Verfügung.
-
- Im weiteren folgen die Tooltypes, mit denen die Benutzungseigenschaften von
- `RSYS' beeinflußt werden können:
-
- - ToolType: NOFASTMODE (DEFAULT: `OFF')
- Das Haupt-Listview von `RSYS' wird normalerweise erst dann aktualisiert,
- wenn alle Einträge erzeugt worden sind. Wird dieses Tooltype gesetzt,
- wird die Anzeige während der Erzeugung der Listeneinträge
- aktualisiert. Bei größeren Listen kann es dann etwas länger
- dauern, bis die Anzeige fertig ist (deshalb *NO*FASTMODE).
-
- - ToolType: NOSORT (DEFAULT: `OFF')
- Alle Listen, bis auf die, die in der Liste selber noch Unterpunkte oder
- Überschriften haben, werden alphabetisch sortiert angezeigt. Mit diesem
- Flag kann die Sortierung der Listeneinträge abgeschaltet werden.
-
- - ToolType: WORKINGBAR (DEFAULT: `OFF')
- Mit diesem Flag wird die Anzeige eines Statusbalkens eingeschaltet.
- Während eine Liste im ListView aktualisiert wird, läuft ein Statusbalken
- mit. Für den Balken wird der Bereich des `Informationen /
- Messages'-Gadgets verwendet.
-
- - ToolType: AUTOFRONT (DEFAULT: `ON')
- Ist dieser Schalter gesetzt, erscheint jedes `RSYS'-Fenster vor allen
- anderen auf dem vordersten Screen.
-
- - ToolType: MOUSEWINDOW (DEFAULT: `ON')
- Ist dieses Flag gesetzt, werden alle Fenster von `RSYS' relativ zur
- Mausposition geöffnet.
-
- - ToolType: TOPAZFONT (DEFAULT: `OFF')
- `RSYS' ist so programmiert, daß es theoretisch mit *jedem* Font verwendet
- werden kann. Ist der Font zu groß, wird automatisch der Systemfont
- `Topaz 8' verwendet. Ist dieses Tooltype aktiv, wird sofort `Topaz 8'
- verwendet. Das ist dann nützlich, wenn als Bildschirmzeichensatz
- entweder ein zu großer Font, oder aber ein proportionaler Font gewählt
- wurde. Die ListView-Einträge werden mit Leerzeichen formatiert, da
- Tabulatoren in fast jedem Font als kleine Rechtecke gezeichnet werden.
- Infolgedessen sieht die Formatierung unter einem proportionalen Font etwas
- zerrissen aus.
-
- - ToolType: NOSAVEASKING (DEFAULT: `OFF')
- Manchmal hemmen die vielen Sicherheitsabfragen von `RSYS' den normalen
- Arbeitsfluß. Aus diesem Grund habe ich das Tooltype `NOSAVEASKING'
- implementiert. Ist dieser Schalter gesetzt, werden alle Ja-Nein-Requester
- unterdrückt und interne Vorgaben verwendet.
-
- - ToolType: NOAPPICON (DEFAULT: `OFF')
- Damit wird verhindert, daß ein AppIcon auf der WorkBench erscheint.
- Natürlich ist damit auch das Actioning nicht mehr möglich.
-
- Für das Aussehen des `RSYS'-Hauptfensters sind die nächsten sechs
- ToolTypes zuständig. Hiermit werden die Farbeinstellungen der `RSYS'-Fenster
- vorgenommen.
-
- - ToolType: BACKPATTERNCOL (DEFAULT: `2')
- Das Hauptfenster kann ähnlich wie bei den Systemrequestern, mit einem
- Hintergrundmuster versehen werden. Die Farbe kann mit diesem Tooltype
- festgelegt werden.
-
- - ToolType: BACKGROUNDCOL (DEFAULT: `0')
- Die Hintergrundfarbe des Pattern-Musters kann hier gesetzt werden.
- Abhängig von der Auflösung des Bildschirms kann beispielsweise ein leicht
- gelbliches Muster erzeugt werden, wenn BACKPATTERNCOL auf Schwarz und
- BACKGROUNDCOL auf Weiß gesetzt wird.
-
- - ToolType: BACKPATTERN (DEFAULT: `5555AAAA')
- Hiermit wird das Hintergrundmuster selbst festgelegt. Die anzugebende
- long-Hexzahl legt die "erste" und "zweite Reihe" des Musters fest, das
- dann für das Füllen des Fensters verwendet wird. Welches Muster dabei
- heraus kommt, kann man sich auf folgende Weise einfach vorstellen. Die
- Hexzahl schreibt man sich in der binären Darstellung mit 32 Stellen hin.
- Für den Default-Wert sieht die Darstellung so aus:
- 5555AAAA = 01010101010101011010101010101010
- Nun teilt man diese long-Zahl in zwei Hälften und schreibt sie
- untereinander, also so:
- 5555AAAA = 0101010101010101
- 1010101010101010
- Die gesetzten Pixel sind die Einsen. Man sieht, daß sich aus diesem Wert
- ein `Schachbrett-Muster' ergibt, das auch bei den Systemrequestern
- verwendet wird. Mit dem Muster 0000FFFF kann man sich übrigens ein
- waagerecht gestreiftes Muster, mit CCCCCCCC ein senkrecht gestreiftes
- erzeugen lassen.
-
- - ToolType: DETAILPEN (DEFAULT: `0')
- - ToolType: BLOCKPEN (DEFAULT: `1')
- - ToolType: MENUPEN (DEFAULT: `2')
- Mit diesen ToolTypes kann man die Farben des Hauptwindows und des Menüs
- des Hauptwindows festlegen. Eine nette Farbvariation ist 2, 3, 1,
- Reihenfolge, wie oben angeführt.
-
- - ToolType: LISTHEIGHT (DEFAULT: `18')
- Dieses ToolType gibt die Höhe des ListViews auf dem Hauptfenster in Zeilen
- an. Steht hier -1, berechnet `RSYS' automatisch die maximale Höhe des
- ListViews, damit das Fenster auf dem aktuellen Screen geöffnet werden
- kann. Nach dieser Anzahl wird übrigens die Höhe des Hauptfensters
- ausgerichtet. Dies ist eine Neuerung gegenüber Version 1.2, da ab sofort
- das Hauptfenster in seiner Höhe variabel ist.
-
- Die nächsten ToolTypes regeln das Zusammenspiel von `RSYS' mit externen
- Dateien. Seit der Version 1.3 sind viele externe Dateien, auf die `RSYS'
- zugreifen kann, hinzugekommen. Diese müssen in einem ganz bestimmten Format
- vorliegen.
-
- - ToolType: HARDWAREDATA (DEFAULT: `RSYS:RSysHardware.dat')
- in dieser Datei sind alle mir bekannten Firmennamen, Produktbezeichnungen
- und Kennzahlen enthalten. Damit wird es `RSYS' ermöglicht, eine komplette
- Produktliste der installierten Hardware eines Rechners zu erstellen. Diese
- Liste kann mit einem mitglieferten Programm einfach und intuitiv erweitert
- werden, so daß man immer die aktuellsten Daten zur Verfügung hat.
-
- - ToolType: LIBOFFDATA (DEFAULT: `RSYS:RSysLibOff.dat')
- Diese Datei enthält die Daten aus den FD-Files der
- Commodore-Include-Dateien in einem `RSYS'-Format. Da die Include-Dateien
- durch Commodore urheberrechtlich geschützt sind, habe ich eine
- `AREXX'-Datei beigelegt, die die notwendigen Daten aus den FD-Files in dem
- logischen Verzeichnis `FD:' extrahiert.
-
- - ToolType: AGUIDEDOC (DEFAULT: `RSYS:doc/RSys13.guide')
- Für die `AmigaGuide'-Unterstützung im `Help'-Modus wird die originale
- Dokumentation von `RSYS' 1.3 verwendet. Mit diesem ToolType wird der
- vollständige Pfad angegeben, in dem sich diese Datei befindet.
-
- - ToolType: AGUIDECONTEXT (DEFAULT: `RSYS:doc/RSys13.guide.context')
- Zu jedem Objekt auf einem `RSYS'-Fenster gehört ein ein entsprechender
- Node-Eintrag in der `AmigaGuide'-Dokumentation. In der Datei, die diesem
- ToolType folgt, befinden sich alle Node-Kennungen, auf die `RSYS' im
- `Help'-Modus zugreift. Die Anzahl der Nodes und die Anordnung in dieser
- Datei dürfen *NICHT* verändert werden!
-
- - ToolType: ACTIONFILE (DEFAULT: `RSYS:RSys.act')
- In dieser Datei werden die Aktionen festgelegt, die nach einem Verschieben
- eines Icons auf das AppIcon ausgeführt werden sollen.
-
- - ToolType: OUTWINDOW (DEFAULT: `CON:/10//150/Sys Window/AUTO/CLOSE')
- Über das AppIcon von `RSYS' können Aktionen gestartet werden,
- insbesondere durch den Aufruf von externen Programmen. Dieser Tooltype
- legt das Ein- und Ausgabefenster von `RSYS' fest.
-
- Wurde `RSYS' von der WorkBench aus gestartet, erscheint ein neues Icon.
- Wird es doppelgeklickt, erscheint das Hauptfenster von `RSYS'. Den gleichen
- Effekt hat ein erneuter Aufruf vom CLI. Danach wird jedoch das CLI wieder
- freigegeben, da `RSYS' bereits gestartet wurde.
-
- Aufruf von RSys
- ===============
-
- Möchtet Ihr `RSYS' als reinen CLI-Befehl installieren, so kopiert einfach
- das Programm `RSYS' in das `C:'-Verzeichnis Eures Bootdevices, also i.a. in
- `SYS:C'. `RSYS' kann dann wie ein normaler CLI-Befehl verwendet werden.
-
- Mit dem Aufruf
-
- `RSYS' ?
-
- bekommt ihr gemäß den AmigaDOS-Konventionen eine Kommandoschablone
- (Template) angezeigt. Dieses hat folgendes Format:
-
- `RSYS' 1.0 (07-Aug-92) [11:47] (c) by Rolf Boehme
- T=TASKS/S,L=LIBRARIES/S,M=MEMORY/S,P=PORTS/S,V=VOLUMES/S,A=ASSIGNS/S,
- F=FONTS/S,R=RESOURCES/S,I=INTERRUPTS/S,W=WINDOWS/S,S=SCREENS/S,
- H=INPUTHDL/S
-
- Ihr könnt beim Aufruf entweder die Kurzform angeben, oder die
- vollständige Form, z.B.
-
- `RSYS' T oder `RSYS' TASKS
-
- Beide Aufrufe haben den gleichen Effekt. Der Typ `/S' sagt, daß es sich
- um Schalter handelt, d.h. jeder Parameter veranlaßt `RSYS' zu einer
- entsprechenden Ausgabe im ListView des Hauptfensters.
-
- Es können mehrere Schalter angegeben werden, ist aber ziemlich
- zwecklos, da nur der erste Parameter gilt und "behandelt" wird. Die
- Aufrufe
-
- `RSYS' T L P R A und `RSYS' T
-
- haben also den gleichen Effekt.
-
- Das Programm könnt Ihr dann mit einem Druck auf die ESC-Taste sofort
- verlassen. Falls Ihr `RSYS' einfach mal kleiner machen wollt, könnt ihr das
- Zoomgadget rechts oben verwenden. Allerdings bleibt das Start-CLI bis zur
- Beendigung des Programms immer noch gesperrt.
-
- Ab `RSYS' 1.2 kann man das Programm nicht mehr in den Iconify-Zustand
- bringen, wenn es von einem CLI aus aufgerufen wurde. Iconify ist jetzt nur
- möglich, wenn `RSYS' vom `wbstartup'-Verzeichnis oder über die WorkBench
- aufgerufen wurde.
-
- Externe Dateien und Formate
- ***************************
-
- Viele Daten, die in früheren Version von `RSYS' noch im Programm eingebaut
- waren, wurden in externe Dateien verlagert. Dabei wurde zum Einlesen dieser
- Daten ein einheitliches Format verwendet, das im folgenden beschrieben wird.
-
- Jedes Datum in diesen Dateien hat den folgenden Aufbau
-
- [keyword] = [keyvalue] oder
- [keyword] oder
- [keyvalue]
- ^
- |
- Spalte 1
-
- Das Schlüsselword `END' legt das Ende einer Datengruppe fest. Die Zeichen #
- und ; leiten Kommentare ein, wenn sie als erstes Zeichen in einer Zeile
- auftreten. Alle dem Kommentarzeichen nachfolgenden Zeichen werden ignoriert.
- Die `keywords' müssen in der ersten Spalte einer Datei erscheinen. Leerzeilen
- werden, wie Kommentare überlesen.
-
- Im folgenden werden alle externen Dateien mit ihrem Aufbau besprochen.
-
- Die Hardware-Daten
- ==================
-
- Die Datei mit den Produktdaten hat generell folgenden Aufbau:
-
- <Anzahl n der Firmennamen>
- <Firmenname 1>
- <Firmenname 2>
- [...]
- <Firmenname n-1>
- <unknown>
- <Anzahl m der Hardware-Daten>
- NAME = <Name des 1. Eintrags>
- MANUFACTURER = <Manufacturer-Nummer des 1. Eintrags>
- PRODUCT = <Product-Nummer des 1. Eintrags (-1, wenn unbekannt)>
- TYPE = <Typnummer des 1. Eintrags>
- COMPANY = <Nummer des Firmennamens (s.o.)>
- END
- NAME = <Name des 2. Eintrags>
- MANUFACTURER = <Manufacturer-Nummer des 2. Eintrags>
- PRODUCT = <Product-Nummer des 2. Eintrags (-1, wenn unbekannt)>
- TYPE = <Typnummer des 2. Eintrags>
- COMPANY = <Nummer des Firmennamens (s.o.)>
- END
- [...]
- NAME = <Name des m-1. Eintrags>
- MANUFACTURER = <Manufacturer-Nummer des m-1. Eintrags>
- PRODUCT = <Product-Nummer des m-1. Eintrags (-1, wenn unbekannt)>
- TYPE = <Typnummer des m-1. Eintrags>
- COMPANY = <Nummer des Firmennamens (s.o.)>
- END
- NAME = <unknown>
- MANUFACTURER = -1
- PRODUCT = -1
- TYPE = -1
- COMPANY = n
- END
- ^
- |
- Spalte 1
-
- Hierbei ist zu beachten, daß der `NAME'-Eintrag einen Gruppenanfang bildet
- und die Kennung `END' die Gruppe beendet. Die Reihenfolge der Schlüsselwörter
- `MANUFACTURER', `PRODUCT', `TYPE' und `COMPANY' ist innerhalb der Gruppe
- beliebig. Weiterhin müssen mindestens soviele Einträge vorhaneden sein, wie
- die jeweiligen Anzahlen zu Beginn angeben. Werden zuviele oder zuwenig
- Gruppeneinträge angegeben, kann keine korrekte Zuordnung von `RSYS' erfolgen.
- Hinter dem Schlüsselwort `COMPANY' kommt die Nummer der entsprechenden Firma,
- die am Anfang der Datei gelesen wird.
-
- Der letzte Eintrag `<unknown>' ist zwingend, ebenso wie mindestens ein
- Hardware-Datensatz vorhanden sein muß! Eine minimale Datei hat also folgenden
- Aufbau:
-
- 1
- <unknown>
- 1
- NAME = <unknown>
- MANUFACTURER = -1
- PRODUCT = -1
- TYPE = -1
- COMPANY = 1
- END
-
- Die Library-Offsets
- ===================
-
- Die Datei mit den Library-Offsets hat generell folgenden Aufbau:
-
- LIBNAME = <Name der Library>
- TYP = <L oder D für Library oder Device>
- BASE = <Name der Library-Struktur>
- FUNCTION = <Name der Funktion>,<Offset der Funktion>,<1: public, 0:private>
- [...]
- END
- ^
- |
- Spalte 1
-
- Eine Datengruppe wird mit `LIBNAME' eingeleitet, hinter welcher der Name der
- aufgeführten Library folgt, und mit `END' beendet. Dazischen können in
- beliebiger Reihenfolge die Kennungen `TYP', `BASE' und `FUNCTION' (dieser Typ
- beliebig oft) kommen.
-
- Der Typ `L' oder `D' hinter dem Schlüsselwort `TYPE' gibt an, ob es sich
- bei der Library um ein Device handelt. Bekanntlich sind Device und Library
- strukturell fast identisch.
-
- Die Kennung `FUNCTION' beschreibt eine Library-Funktion mit dem Namen, ihrem
- Offset und einer Zahl, die die Zugänglichkeit der Funktion charakterisiert.
- Steht hier eine `0', ist diese Funktion privat und sollte von Programmierern
- nicht benutzt werden. Eine `1' markiert diese Funktion als `public', also als
- öffentlich nutzbar.
-
- Auch diese Datei sollte nicht leer sein. Eine Beispieldatei für das
- `console.device' sieht z.B.~so aus:
-
- LIBNAME = console.device
- TYP = D
- BASE = _ConsoleDevice
- FUNCTION = CDInputHandler,42,1
- FUNCTION = RawKeyConvert,48,1
- ##--- functions in V36 or higher (distributed as Release 2.0) ---
- FUNCTION = consolePrivate1,54,0
- FUNCTION = consolePrivate2,60,0
- FUNCTION = consolePrivate3,66,0
- FUNCTION = consolePrivate4,72,0
- END
-
- Der Kommentar mit `##' ist in den FD-Files enthalten und wird automatisch
- als Kommentar in die `RSYS'-Datei übernommen.
-
- Die FD-Files, aus denen diese Datei erzeugt wird, sind von Commodore
- geschützt. Aus diesem Grunde habe ich ein kleines `AREXX'-Programm geschrieben
- (`fd2rsys.rexx'), das diese Datei aus den Dateien im logischen Verzeichnis
- `FD:' generiert. So kann `RSYS' auch an neuere Betriebssystemversionen einfach
- angepaßt werden.
-
- Die AmigaGuide-Context-Nodes
- ============================
-
- `RSYS' besitzt einen `Help'-Modus, der auf dem HyperText-System `AmigaGuide'
- basiert. Damit die Hilfe den richtigen Menüpunkt in der Dokumentdatei bei
- entsprechender Aktion anspringen kann, müssen diese `Nodes' vorher bekannt
- sein. Der Aufbau einer Context-Datei sieht wie folgt aus:
-
- "<Node 1>"
- "<Node 2>"
- [...]
- "<Node 127>"
-
- Hierbei ist anzumerken, daß die Anführungsstriche sinnvollerweise mit
- angegeben werden sollten, da die Referenzen auch Leerzeichen enthalten können.
- Durch diese Leerzeichen erkennt das `AmigaGuide'-System einen Laufzeitfehler,
- da vermeintlich zwei Paramter übergeben wurden.
-
- Die Anzahl 127 ist von `RSYS' vorgegeben, womit der Aufbau der Datei also
- auch weitestgehend festgelegt ist. Damit die Hilfe korrekt referenziert werden
- kann, ist es von größter Wichtigkeit, daß die Anzahl der Daten und die
- Reihenfolge in der externen Datei erhalten bleibt!
-
- Natürlich können Kommentare eingefügt werden, da sie von `RSYS'
- überlesen werden. Damit die Daten zügig eingelesen werden können, sollten die
- Kommentare jedoch sparsam verwendet werden.
-
- Die Action-Anweisungen
- ======================
-
- Das Format einer `Action'-Anweisung sieht wie folgt aus:
-
- <Filetyp-Nummer>#<Filetyp-Beschreibung>#<Aktionsname>#<Befehl>#<W oder C>#
-
- Die `<Filetyp-Nummer>' ist vorgeschrieben, ebenso wie die
- `<Filetyp-Beschreibung>'. Der `<Aktionsname>', der `<Befehl>' und die Kennung
- `<W>' oder `<C>' ist frei wählbar. Steht als `<Aktionsname>' die Zeichenkette
- `NO ACTION', so wird keine Aktion ausgelöst, wenn der entsprechende Eintrag
- angeklickt wurde. Der `<Befehl>' sollte ein gültiger CLI-Befehl sein. Wird
- hinten die Kennung `W' angegeben, bleibt das ListView-Fenster offen und weitere
- Aktionen können gestartet werden. Wird die Kennung `C' für `Continue'
- angegeben, wird nur eine Aktion ausgeführt und das Aktionsfenster schließt
- sich nach dieser Aktion. Hierzu ein Beispiel: Für LHA-Archive existieren
- folgende Einträge:
-
- 39#LHArc archive#Archiv listen#OwnC:LZ l #W#
- 39#LHArc archive#Archiv testen#OwnC:LZ t #W#
-
- In der Titelzeile erscheint der Eintrag `LHArc archive' und in dem ListView
- die Einträge `Archiv listen' und `Archiv testen'. Wird der Eintrag `Archiv
- listen' angeklickt, wird der Befehl `OwnC:LZ l <objektname>' ausgeführt.
-
- Das Hauptfenster
- ****************
-
- Nach einem Aufruf vom CLI oder einem Doppelklick auf das AppIcon
- erscheint das Hauptfenster von `RSYS'. Es ist grob in fünf Bereiche
- unterteilt:
-
- +---------------------------------------------------------------+
- | Menübereich |
- +---------------------------------------------------------------+
-
- +----------------------------------+
- | Tabellenkopf/Titelzeile |
- +----------------------------------+
- | |
- | |
- | Anzeigebereich/LV |
- | |
- | |
- +----------------------------------+
- | Informationen/Messages |
- +----------------------------------+
- | |
- | Gadgetbereich |
- | |
- +----------------------------------+
-
- Der Bereich `Tabellenkopf / Titelzeile' enthält entsprechend die Spalten-
- bezeichnung der ListView-Einträge im Anzeigebereich. Im `Gadget'- und
- `Menü'-Bereich können die gewünschten Listen angewählt werden. Allgemeine
- Informationen erscheinen einzeilig in dem Bereich `Informationen / Messages'.
- Die einzelnen Bereiche sollen nun genauer beschrieben werden.
-
- Die Gadgets
- ===========
-
- Die einzelnen Gadgets und die damit erzeugten Listen, die dann im
- ListView gezeigt werden, nun im Einzelnen.
-
- Task-Liste der ExecBase
- -----------------------
-
- - Gadget: Tasks (TASTE: T KOMMANDOPARAMETER: T)
- Beispielausgabe:
- Taskname Typ Pri Stack Stat Cli
- ---------------------------------------
- ConClip Proc Proc 0 4000 Wait 2
- ^ ^ ^ ^ ^ ^
- | | | | | +- CLI-Nummer, falls es sich
- | | | | | um einen Prozeß handelt
- | | | | +- Status des Prozesses/Tasks (P/T)
- | | | | Inv : Invalid. P/T ist "kaputt"
- | | | | Add : P/T wird gerade erzeugt
- | | | | Run : P/T wird gerade abgearbeitet,
- | | | | in jedem Falle der aktive
- | | | | P/T, also `RSYS'!
- | | | | Rdy : Prozeß ist fertig zum Start
- | | | | Wait: P/T wartet auf Event
- | | | | Excp: Task hat eine Exception
- | | | | ausgelöst
- | | | | Rem : Task wird gerade entfernt
- | | | +- Stack des P/T
- | | +- Priorität des Tasks
- | +- Typ des Eintrags
- | Proc : Eintrag ist ein Prozeß
- | Task : Eintrag ist ein Task
- +- Name des P/T
-
- Aktionen: Nach dem Anklicken erscheint ein Systemrequester mit vielen
- Daten zu dem geklickten Eintrag und sieben Gadgets.
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `^C, ^D, ^E, ^F':
-
- Die entsprechenden `Break-Signale' werden an den P/T gesendet.
-
- * `Taskpri':
-
- Über ein erscheinendes Window kann die Priorität des P/T verändert
- werden. Das Close- und Cancelgadget beenden die Eingabe ohne die
- Priorität zu ändern; `Ok' übernimmt die neue Priorität und
- setzt den P/T entsprechend. Im Stringgadget kann die Eingabe direkt
- geschehen.
-
- * `Kill task!:'
-
- Zunächst werden an den P/T alle möglichen Signale (also `^C' bis
- `^F') gesendet. Falls der P/T immer noch existiert, wird
- nach einer Sicherheitsabfrage der Task per "RemTask()" entfernt.
- Danach werden alle gefunden Objekte, die mit dem Task in Verbindung
- stehen (Screens, Windows, Ports), aus dem System entfernt.
-
- Library-Liste der ExecBase
- --------------------------
-
- - Gadget: Libraries (TASTE: L, KOMMANDOPARAMETER: L)
- Beispielausgabe:
- Libraryname Version OpenCnt O
- ------------------------------------
- kd_freq.library 3.13 1 *
- ^ ^ ^ ^
- | | | +- Falls ein * erscheint, ist
- | | | die entsprechende Lib offen
- | | | und wird von mindestens einem
- | | | Programm benutzt
- | | +- Anzahl, wie oft die Lib
- | | geöffnet wurde. Ist die Anzahl
- | | 0, kann die Lib aus dem System
- | | entfernt werden
- | +- Versions- und Revisionsnummer der
- | Library
- +- Name der Library
-
- Aktionen: Nach dem Anklicken erscheint ein Systemrequester mit drei
- Gadgets:
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Flush Lib':
-
- Es wird nach einer Sicherheitsabfrage versucht, die Library aus dem
- System zu entfernen.
-
- Memory-Liste in der ExecBase
- ----------------------------
-
- - Gadget: Memory (TASTE: M, KOMMANDOPARAMETER: M)
- Beispielausgabe:
- Memory address Size Type
- ---------------------------------------------
- Gesamt : 4717504 C: 295944 F: 2042112 <- Gesamtspeicheranzeige
- Largest: C: 270288 F: 2014344 <- Größter zhg. Speicher
- -------------- Fragmentierung ---------
- 00200000 4194272 FAST
- 00212840 8 FAST-CHUNK
- ^ ^ ^
- | | +- Typ des Eintrags
- | | FAST : Fast-Memory (gesamt)
- | | FAST-CHUNK : Typ des Memoryeintrags
- | | CHIP : Chip-Memory (gesamt)
- | | CHIP-CHUNK : Typ des Memoryeintrags
- | +- Größe des Listeneintrags
- +- Adresse des Listeneintrags
-
- Aktionen: Diese Liste zeigt die Fragmentierung des Speichers im einzelnen
- an. Jedes einzelne Speicherfragment ist mit seiner Adresse, der Größe
- und dem Typ angegeben. AmigaOS verwaltet seinen Speicher in minimal acht
- Byte-Blöcken. Die Anzahl der acht Byte-Blöcke ist also ein Maß für die
- Fragmentierung des Speichers.
-
- Port-Liste in der ExecBase
- --------------------------
-
- - Gadget: Ports (TASTE: P, KOMMANDOPARAMETER: P)
- Beispielausgabe:
- Portname Signal-Task Pri
- ---------------------------------------------
- AREXX RexxMaster 0
- ^ ^ ^
- | | +- Priorität des Ports
- | |
- | +- Name des Tasks, der die Signale vom
- | Port verarbeitet
- +- Name des Ports
-
- Aktionen: Es erscheint ein Systemrequester mit zwei Gadgets:
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Kill Port':
-
- Nach einer Sicherheitsabfrage wird der Port aus der Systemliste
- entfernt.
-
- Volume-Liste der DOSBase
- ------------------------
-
- - Gadget: Volumes (TASTE: V, KOMMANDOPARAMETER: V)
- Beispielausgabe:
- Volumename K-Free K-Used %Used F Sta Typ
- -----------------------------------------
- AmigaDOS: 76 6084 98% * R/O FFS
- ^ ^ ^ ^ ^ ^ ^
- | | | | | | +- Typ des Volumes
- | | | | | | FFS : FastFileSystem
- | | | | | | DOS : Std. DOS-Filesystem
- | | | | | | BAD : Unformatierte Disk,
- | | | | | | unlesbar
- | | | | | | NDO : Keine DOS-Disk
- | | | | | | KIC : Kickstart-Diskette
- | | | | | | MSD : MS-DOS-Disk
- | | | | | | ??? : Sollte NIE auftreten
- | | | | | +- Status des Volumes
- | | | | | R/O : Read Only
- | | | | | VAL : Volume wird gerade
- | | | | | validiert
- | | | | | R/W : Read/Write
- | | | | | ??? : Sonstiger Status
- | | | | +- Falls die Volume mehr als zu
- | | | | 90% voll ist, steht da ein `*'
- | | | +- Anzahl benutzer KByte der Partition
- | | | oder Diskette in Prozent
- | | +- Anzahl benutzer KByte der Partition
- | | oder Diskette in KBytes
- | +- Anzahl der freien Kapazität in KBytes
- +- Name des Volumes
-
- Aktionen: Nach dem Anklicken erscheint ein Systemrequester mit zwei
- Gadgets.
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Tree':
-
- Es erscheint ein neues Fenster mit einem ListView und zwei
- ausgeschalteten Gadgets. Nach dem Fensteraufbau wird sofort mit dem
- Einlesen der Disk-Verzeichnis-Struktur begonnen. Das Einlesen kann
- mit einem Anklicken des Closegadgets links oben und der daraufhin
- erscheinenden Sicherheitsabfrage abgebrochen werden. Nach dem
- Einlesen werden die zwei Gadgets aktiviert.
-
- Das linke Gadget ist ein Cycle-Gadget, mit dem zwischen zwei
- Darstellungen der Verzeichnisstruktur gewechselt werden kann.
- Voreinstellung ist die `Tree'-Darstellung, also die Anzeige des
- Verzeichnisbaumes. Nach dem Anklicken wechselt die Darstellung auf
- die Anzeige der vollständigen Pfadnamen. Befindet sich der
- Zeichensatz `IBM.font' im `FONTS:'-Verzeichnis, werden die
- Graphikzeichen dieses Fonts verwendet, um die Verzeichnisstruktur
- darzustellen.
-
- Das Gadget `Save Tree' bietet nach dem Anklicken einen Filerequester
- an, mit welchem Ihr die Datei auswählen könnt, in der Ihr die
- momentan aktive Darstellung (`Tree' oder `Path') abspeichern könnt.
-
- Das Fenster kann über das Closegadget geschlossen werden.
-
- Assign-Liste der DOSBase
- ------------------------
-
- - Gadget: Assigns (TASTE: A, KOMMANDOPARAMETER: A)
- Beispielausgabe:
- Assign Directory
- ---------------------------------------------
- BATCH: AmigaDos:c
- ^ ^
- | +- Zu dem Assign gehörender Datei/Verzeichnisname
- +- Name des Assigns
-
- Aktionen: Siehe Volumes-Gadget.
-
- Font-Liste der GfxBase
- ----------------------
-
- - Gadget: Fonts (TASTE: F, KOMMANDOPARAMETER: F)
- Beispielausgabe:
- Fontname Typ Y X Low Upp
- ------------------------------------
- topaz.font ROM 8 8 32 255
- ^ ^ ^ ^ ^ ^
- | | | | | +- Höchster ASCII-Wert, für den die
- | | | | | Zeichen dieses Fonts definiert
- | | | | | worden sind
- | | | | +- Niedrigster ASCII-Wert, für den
- | | | | die Zeichen in diesem Font definiert
- | | | | worden sind
- | | | +- Breite eines Zeichens in diesem
- | | | Zeichensatz
- | | +- Höhe eines Zeichens in diesem
- | | Zeichensatz
- | +- Art des Zeichensatzes:
- | ROM : Der Zeichensatz wurde von einem
- | Programm geladen oder ist ein
- | Systemfont
- | Disk : Der Font wurde noch nicht geladen
- | und muß von Diskette oder Festplatte
- | geladen werden
- +- Name des Fonts
-
- Aktionen: Nach dem Anklicken eines Eintrages im ListView erscheint ein
- Requester mit drei Gadgets:
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Show Font':
-
- Es erscheint ein Fenster mit den vier Gadgets `Normal', `Italic',
- `Bold' und `Underl'. Nach dem Anklicken eines dieser Toggle-Gadgets
- wird der Beispieltext (im Format `(<fontsize>) <fontname>')
- entsprechend normal, kursiv, fett oder unterstrichen dargestellt. Das
- Gadget `Normal' inaktiviert alle anderen Gadgets.
-
- * `Remove Font':
-
- Nach einer Sicherheitsabfrage wird der Font aus dem System entfernt.
-
- Resourcen-Liste der ExecBase
- ----------------------------
-
- - Gadget: Resourcen (TASTE: R, KOMMANDOPARAMETER: R)
- Beispielausgabe:
- Resourcename Version OpenCnt
- -------------------------------------
- Snap.resource 32.16 0
- ^ ^ ^
- | | +- Anzahl, wie oft die Resource
- | | geöffnet wurde
- | +- Versions- und Revisionsnummer der
- | Resourcen
- +- Name der Resource
-
- Aktionen: Alle im System verfügbaren Resourcen werden angezeigt.
-
- Interrupt-Liste der ExecBase
- ----------------------------
-
- - Gadget: Interrupts (TASTE: I, KOMMANDOPARAMETER: I)
- Beispielausgabe:
- Interruptname Pri Data Code
- --------------------------------------
- disk.resource 0 00203624 00F8F774
- ^ ^ ^ ^
- | | | +- Falls einer der 16 Interrupts
- | | | aktiviert wird, wird der Code, dessen
- | | | Adresse angezeigt wird, ausgeführt
- | | +- Der Zeiger auf den privaten Datenbereich der
- | | Interruptroutine
- | +- Priorität dieses Interrupts
- +- Handler oder Resource, der zu diesem Interrupt gehört
-
- Aktionen: Die sechzehn Interrupts des Amigas werden unter Angabe des
- Namens, der Priorität und der Adressen der eventuell vorhandenen
- Interrupthandler aufgelistet.
-
- Window-Liste der IntuitionBase
- ------------------------------
-
- - Gadget: Windows (TASTE: W, KOMMANDOPARAMETER: W)
- Beispielausgabe:
- Windowtitle H W X Y Screen
- -----------------------------------------
- AmigaShell 100 640 0 0 Workbench
- ^ ^ ^ ^ ^ ^
- | | | | | +- Name des Screens, zu dem
- | | | | | dieses Window gehört
- | | | | +- Y-Koordinate der Position des Windows
- | | | +- X-Koordinate der Position des Windows
- | | +- Breite des Windows
- | +- Höhe des Windows
- +- Titel des Windows. Steht hier ein `<no title>', so hat das Window
- keine Titelzeile
-
- Aktionen: Nach dem Anklicken eines Eintrages im ListView erscheint ein
- Requester mit zwei Gadgets:
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Close Window':
-
- Nach einer Sicherheitsabfrage wird versucht, das Window zu schließen.
-
- Screen-Liste der IntuitionBase
- ------------------------------
-
- - Gadget: Screens (TASTE: S, KOMMANDOPARAMETER: S)
- Beispielausgabe:
- Screentitle H W X Y Typ
- ---------------------------------------
- Workbench Screen 272 684 0 0 W C
- ^ ^ ^ ^ ^ ^
- | | | | | +- Typ des angeklickten Screens.
- | | | | | Mögliche Anzeigen:
- | | | | | W : Workbench-Screen
- | | | | | P : Public Screen
- | | | | | C : Custom-Screen
- | | | | +- Y-Koordinate der Position des
- | | | | Screens
- | | | +- X-Koordinate der Position des Screens
- | | +- Breite des Screens
- | +- Höhe des Screens
- +- Titelzeile des Screens
-
- Aktionen: Nach dem Anklicken eines Eintrages im ListView erscheint ein
- Requester mit zwei Gadgets:
-
- * `Continue':
-
- Es wird zum Hauptfenster zurückgekehrt.
-
- * `Close Screen':
-
- Nach einer Sicherheitsabfrage wird versucht, den Screen mit
- allen assoziierten Windows zu schließen.
-
- Inputhandler-Liste
- ------------------
-
- - Gadget: HandlerInp (TASTE: H, KOMMANDOPARAMETER: H)
- Beispielausgabe:
- Inputhandler name Pri Data Code
- ------------------------------------------
- Snap Input Handler 52 534E4150 003A46DE
- ^ ^ ^ ^
- | | | +- Adresse des Codes, der bei der
- | | | Aktivierung dieses Inputhandlers
- | | | ausgeführt wird
- | | +- Zeiger auf den privaten Datenbereich des
- | | Inputhandlers
- | +- Priorität des Inputhandlers
- +- Name des Inputhandlers
-
- Aktionen: Alle über das `input.device' direkt angemeldeten Input Handler
- werden angezeigt. Unter AmigaOS 2.0 übernimmt die `commodities.library'
- einen Großteil der Handler.
-
- Allgemeine Systeminfo
- ---------------------
-
- - Gadget: Systeminfo (TASTE: Y, KOMMANDOPARAMETER: -)
- Beispielausgabe:
- Systeminfo
- ----------------------------------------------
- 14.07.1993, 195. day, 28. week <- Datum, Tag und Woche
- Tasks : 30 <- Anzahl der entsprechenden
- Libraries : 24 Systemobjekte
- Ports : 9
- Volumes : 11
- Assigns : 36
- Fonts : 5
- Resources : 9
- Windows : 4
- Screens : 2
-
- Aktionen: Anzeige aller Systemobjekte (Tasks, Libraries, etc.) sowie
- Datum, Woche.
-
- Hardware-Liste der ExpansionBase
- --------------------------------
-
- - Gadget: Hardware (TASTE: D, KOMMANDOPARAMETER: -)
- Beispielausgabe:
- Hardware/Expansion
- ----------------------------------------------
- ----- Hardware
- Processor : CPU 68030 <- Prozessortyp
- Coprocessor : FPU 68882 <- FPU-Typ
- Memory Unit : MMU 68030 <- MMU-Typ
- Denise : Normal Denise (8362) <- Custom Chips
- Agnus : Normal Agnus
- Chipset : No AA-Chipset <- Falls hier das AA-Chipset
- erkannt wurde, srehen hier
- ----- Expansion noch mehr Infos
- Type : RAM Expansion <- Beschreibung der
- Company : C= West Chester Hardware-Erweiterung
- Name : A2630 MC68030 (2MB Stand.)
- Init Action : Need Driver
- > : Private processed
- Diagnosis : No action attached
- Manuf.nr. : 514 <- Hardware-Kennummern
- Prod.nr. : 81
- Serial : 0x00000000
- Boardaddr. : 0x00200000
- Boardsize : 2.097.152 <- Hier steht die evtl.
- Slotaddr. : 0x00000020 vorhandene Speichergröße
- Slotsize : 32 der Erweiterung
-
- Summary : 1 expansions found
-
- Aktionen: Anzeige des Prozessor- und Co-Prozessortyps, wie er in der
- ExecBase verzeichnet ist, und aller internen Erweiterungen, dessen
- Einträge aus der ExpansionBase-Struktur entnommen wurden.
-
- Abspeichern einer Liste
- -----------------------
-
- - Gadget: Save List (TASTE: -, KOMMANDOPARAMETER: -)
- Aktionen: Die aktuelle angezeigt Liste im ListView wird nach einer
- Abfrage mit einem Filerequester in die gewünschte Datei abgespeichert.
-
- Springen zwischen Public Screens
- --------------------------------
-
- - Gadget: Jump (TASTE: J, KOMMANDOPARAMETER: -)
- Aktionen: `RSYS' schließt das Hauptfenster, sucht in der Liste der
- Public Screens nach dem nächsten geöffneten Screen, öffnet das
- Hauptfenster auf diesem und holt dann den Public Screen nach vorne.
- Existiert kein weiterer Public Screen, so erscheint eine
- entsprechende Meldung in einem Systemrequester.
-
- Aktualisieren der Liste
- -----------------------
-
- - Gadget: New (TASTE: N, KOMMANDOPARAMETER: -)
- Aktionen: `RSYS' aktualisiert die aktuelle Liste. Sehr nützlich, wenn
- man sich nicht durch die Menüs hangeln möchte, um eine bestimmte Liste
- erneut anzeigen zu lassen.
-
- Das Anzeige-ListView
- ====================
-
- Im ListView werden die angeforderten Systemlisten angezeigt. Die
- entsprechenden Einträge im ListView können modifiziert werden, indem der
- Eintrag angeklickt wird. Falls eine Veränderung der Einträge erlaubt ist,
- erscheint dann ein Systemrequester mit weiteren Informationen, oder im
- Bereich `Informationen/Messages' eine Mitteilung, das Veränderungen nicht
- möglich sind.
-
- In den folgenden Listen ist eine Modifikation oder Anzeige von weiteren
- Eigenschaften der Einträge möglich: Tasks, Libraries, Ports, Volumes,
- Assignes, Fonts, Ressources, Windows und Screens.
-
- Die entsprechenden Datenstrukturen werden mit maximaler Sicherheit
- modifiziert, d.h., es wird im Zweifelsfalle mehrmals geprüft, ob das
- bearbeitete Objekt vor und nach der Modifikation existiert. Da alle
- Systemlisten nur *snapshot-artig* ausgelesen und angezeigt werden können, ist
- in bestimmten Fällen eine Modifikation nur eingeschränkt oder gar nicht
- möglich. Das ist beispielsweise der Fall, wenn ein Window
- modifiziert werden soll, das von dem entsprechenden Task schon geschlossen
- wurde.
-
- Als Kontrollkriterium wird primär die Adresse - diese ist als einzige im
- System für dieses Objekt eindeutig! - und sekundär der Name des
- jeweiligen Objekts herangezogen, also bei Windows die Titelzeile, bei
- Tasks der Taskname etc. Tritt in einem der beiden Fälle ein Fehler auf, so
- wird die Modifikation mit einer Fehlermeldung abgebrochen. Eine
- Modifikation der Objekte wird erst gar nicht begonnen, falls in dem
- Namensfeld eines Objektes `RSYS' ein `-' eingetragen hat. Diese Objekte
- können nicht eindeutig zugeordnet werden, weshalb diese also auch nicht
- modifiziert werden können.
-
- Die Menues
- ==========
-
- In dem Menü befinden sich neben dem Window-Handling noch die Einträge für
- weitere Systemlisten - die aber seltener gebraucht werden - und das Handling
- einer internen Liste. Weiterhin können vom Menü aus die Utilities gestartet
- und ein paar Änderungen an der Konfiguration von `RSYS' vorgenommen werden.
- Hier die Menüpunkte im einzelnen:
-
- Project - Iconify
- -----------------
-
- - Menüpunkt: Iconify (TASTENSEQUENZ: `RAMIGA-I')
- Aktion: Nach dem Aktivieren dieses Menüpunktes (direkt, ESC-Taste oder
- `RAMIGA-I') wird das Hauptfenster geschlossen, und es erscheint auf der
- WorkBench ein AppIcon. Wurde `RSYS' vom CLI aus gestartet, wird durch ESC
- das Programm beendet.
-
- Project - Help
- --------------
-
- - Menüpunkt: Help (TASTENSEQUENZ: `RAMIGA-H')
- Aktion: Ab Version 1.3 hat `RSYS' eine vollständige AmigaGuide-Hilfe. Mit
- diesem Menüpunkt wird diese Hilfe aktiviert. Dem `Help'-Modus ist ein
- eigenes Kapitel gewidmet.
-
- Project - Status
- ----------------
-
- - Menüpunkt: Status (TASTENSEQUENZ: `-')
- Aktion: Nach dem Anklicken dieses Menüpunktes erscheint ein
- Systemrequester mit nützlichen Informationen vom aktuellen Stand von
- `RSYS'.
-
- Project - Save Configuration
- ----------------------------
-
- - Menüpunkt: Save Configuration (TASTENSEQUENZ: `-')
- Aktion: Ab Version 1.3 kann die aktuelle Einstellung aller Flags sowie
- die Höhe der ListView in Zeilen als Icon abgespeichert werden. Bei einem
- Start von `RSYS' ohne Icon werden die Standard-Einstellungen verwendet, die
- dann mit diesem Menüpunkt dauerhaft als ToolTypes in ein Icon gespeichert
- werden können. Neu hinzugekommen ist auch die Angabe der Iconposition
- über die ToolTypes. Das AppIcon wird nun dem `RSYS'-Icon entnommen und
- die Position entsprechend der Einstellungen in den ToolTypes fixiert.
-
- Project - About...
- ------------------
-
- - Menüpunkt: About... (TASTENSEQUENZ: `RAMIGA-A')
- Aktion: In einem Systemrequester erscheint eine kurze Information
- zu diesem Programm und die Adresse des Autors.
-
- Project - Quit RSys...
- ----------------------
-
- - Menüpunkt: Quit RSys... (TASTENSEQUENZ: `RAMIGA-Q')
- Aktion: Das Programm wird mit einer Sicherheitsabfrage beendet. Bei dem
- erschei- nenden Systemrequester sind drei Möglichkeiten wählbar:
- * `Ja': Das Programm wird beendet.
-
- * `Iconify': Das Hauptfenster verschwindet und ein AppIcon erscheint
- auf der WorkBench.
-
- * `Nein': Rückkehr zum Hauptwindow. Wurde `RSYS' von einer Shell
- gestartet, entfällt der der Punkt `Iconify'.
-
- Other Lists - Exec - Software Devices
- -------------------------------------
-
- - Menüpunkt: Software Devices (TASTENSEQUENZ: `RAMIGA-1')
- Beispielausgabe:
- Devicename Version OpenCnt
- ----------------------------------------------
- audio.device 37.10 0
- ^ ^ ^
- | | +-- Anzahl der Tasks oder
- | | Prozesse, die das
- | | Device öffneten
- | +-- Versions und Revisionsnummer
- +-- Name des Devices
-
- Aktionen: Alle Handler und Treiber werden angezeigt, also die Software
- Devices, die Handler oder Treiber für die Hardware darstellen.
-
- Other Lists - Exec - Vectors
- ----------------------------
-
- - Menüpunkt: Vectors (TASTENSEQUENZ: `RAMIGA-2')
- Beispielausgabe:
- System Vectors
- ----------------------------------------------
- ----- Capture vectors
- ColdCapture : 0x00000000
- CoolCapture : 0x00000000
- WarmCapture : 0x00000000
-
- ----- Kick pointer
- KickMemPtr : 0x00000000
- KickTagPtr : 0x00000000
- KickCheckSum : 0x00000000
-
- ----- Exec special pointer
- Debug entry : 0x00F82D58
- ResModules : 0x002003E0
- MMU-Lock : 0x00000000
-
- Aktion: Die Capture-Vektoren, Kick-Pointer und die speziellen
- Vektoren der ExecBase werden angezeigt. Die Capture-Vektoren können
- einen Hinweis auf einen Virus sein, falls diese nicht `NULL' sind.
-
- Other Lists - Exec - CLI processes
- ----------------------------------
-
- - Menüpunkt: CLI processes (TASTENSEQUENZ: `-')
- Beispielausgabe:
- CLI nr. Name Pri Stack
- ----------------------------------------------
- CLI 2 ConClip Process 0 4000
- ^ ^ ^ ^
- | | | +-- Stack-Größe des CLI's
- | | +-- Priorität des Prozesses
- | +-- Name des CLI-Prozesses
- +-- Nummer des Prozesses in der Liste der CLI's
-
- Aktion: AmigaOS 2.0 erlaubt ein einfaches Auslesen der geöffneten CLI's.
- Alle geöffneten CLI's werden im ListView angezeigt. Die Numerierung ist
- systembedingt nicht fortlaufend.
-
- Other Lists - Exec - Semaphores
- -------------------------------
-
- - Menüpunkt: Semaphores (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Semaphore name Pri Ownertask
- ----------------------------------------------
- « SetPatch » 0 <no task>
- ^ ^ ^
- | | +-- Name des Besitzer-Tasks
- | | der Semaphore
- | +-- Priorität der Semaphore
- +-- Name der Semaphore
-
- Aktion: Die Semaphore-Liste der ExecBase wird ausgelesen und dargestellt.
-
- Other Lists - DOS - Volume locks
- --------------------------------
-
- - Menüpunkt: Volume locks (TASTENSEQUENZ: `RAMIGA-3')
- Beispielliste:
- File Access
- -----------------------------------
- AmigaDOS: READ
- ^ ^
- | +-- Art des Locks:
- | READ : Zum Lesen geöffnet,
- | auch mehrere Zugriffe
- | möglich (shared)
- | WRITE: Exklusiv-Zugriff
- | -----: Unbekannter Typ
- +-- Pfadbezeichnung, auf dem der
- Lock existiert
-
- Aktion: Alle vom System reservierten Dateien werden angezeigt. Das sind
- alle Verzeichnisse, die durch ein "Open()" oder ein "Lock()" gehalten
- werden. Ab Version 1.3 können die Locks, die auf Dateien liegen,
- entfernt werden. Handelt es sich um ein Lock auf ein Verzeichnis, können
- keine Modifikationen dieses Locks vorgenommen werden. Ein Lock auf ein
- Verzeichnis wird meistens von der WorkBench oder von einer Shell gehalten.
- Wird dieser Lock entfernt, ist nicht mehr vorhersehbar, was alles
- passieren kann. Im schlimmsten Fall greift das System auf ein Verzeichnis
- zu, dessen Lock gar nicht mehr existiert. Das kann unter Umständen sogar
- zu Festplattenfehler führen. Locks auf Dateien, werden i.a. nur von
- Programmen gehalten. Findet nach dem Entfernen eine Schreiboperation
- statt, so verläuft diese sozusagen ins Blaue hinein, berührt aber nicht
- die Integrität des Speichermediums. Deshalb habe ich nur die
- Modifikationen von Datei-Locks zugelassen.
-
- Other Lists - DOS - Resident programs
- -------------------------------------
-
- - Menüpunkt: Resident programs (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Resident name UseCount Type
- ----------------------------------------------
- Alias -2 INTERNAL
- ^ ^ ^
- | | +-- Typ des residenten Kommandos
- | | INTERNAL : Ist in einer Shell
- | | eingebaut
- | | EXTERNAL : Mit `Resident'
- | | eingebunden
- | | SYSTEM : Systemhandler und
- | | Bootshells
- | +-- Anzahl der Benutzungen dieses Befehls.
- | Ist er -1, handelt es sich um einen
- | Handler oder CLI. -2 steht für einen
- | eingebauten Befehl.
- | Alle Zahlen > 0 geben die
- | Benutzungsanzahl an
- +-- Name des Handlers oder Befehls
-
- Aktion: Die gezeigte Liste entspricht fast der Ausgabe des Befehls
- `resident' des AmigaOS 2.0. Jedoch werden hier *alle* residenten
- Programme aufgelistet, auch die, die systemintern vorhanden sind.
-
- Other Lists - DOS - Physical Devices
- ------------------------------------
-
- - Menüpunkt: Physical Devices (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Device name Driver/Handler
- ----------------------------------------------
- PIPE: L:Queue-Handler
- ^ ^
- | +-- Name des Handlers oder Treibers
- +-- Name des Devices
-
- Aktion: Es werden alle Devices angezeigt, die hardware-bezogen
- vorkommen, also Schnittstellen, Festplatten, Floppies, etc.
-
- Other Lists - Graphics - Display Modes
- --------------------------------------
-
- - Menüpunkt: Display Modes (TASTENSEQUENZ: `RAMIGA-4')
- Beispielliste:
- Name Depth MinR MaxR
- ----------------------------------------------
- PAL:High Res Lace 4 32,1 1008,1024
- ^ ^ ^ ^
- | | | +-- Maximale Größe des
- | | | Screenrasters
- | | +-- Minimale Größe des Screenrasters
- | +-- Tiefe des Screens, der Screen hat dann 2^n
- | Farben zur Verfügung, in diesem Fall also
- | 2^4 = 16 Farben
- +-- Name des Monitortreibers
-
- Aktion: Alle im System installierten Monitortreiber werden angezeigt.
-
- Other Lists - Graphics - Blitter Wait Queue
- -------------------------------------------
-
- - Menüpunkt: Blitter Wait Queue (TASTENSEQUENZ: `-')
- Aktion: Die Tasks, die auf den Blitter warten, werden angezeigt.
-
- Other Lists - Graphics - TOF Wait Queue
- ---------------------------------------
-
- - Menüpunkt: TOF Wait Queue (TASTENSEQUENZ: `-')
- Aktion: Die Tasks, die auf den nächsten Top-Of-Frame warten (also den
- nächsten Vertical Blank Interrupt), werden angezeigt.
-
- Other Lists - Diskfont - Fonts in FONTS
- ---------------------------------------
-
- - Menüpunkt: Fonts in FONTS (TASTENSEQUENZ: `RAMIGA-5')
- Beispielausgabe:
- Font name Type Y Style
- ----------------------------------------------
- KaraGRANITE.font DISK 55 N C
- ^ ^ ^ ^
- | | | +-- Style des Fonts:
- | | | N : Normal
- | | | U : Unterstrichen
- | | | B : Bold
- | | | I : Kursiv (italic)
- | | | E : Extended
- | | | C : Colour-Font
- | | | T: Tagged
- | | +-- Größe des Fonts in Pixel
- | +-- Typ des Fonts, ROM- oder DISK-Font
- +-- Name des Fonts
-
- Aktion: Das logische Verzeichnis `FONTS:' wird ausgelesen und die
- ermittelten Fonts angezeigt. Dazu gehören auch die Fonts, die bereits in
- das System eingebunden sind. Nach einem Anklicken eines ListView-Eintrages
- wird der Font in einem eigenen Fenster angezeigt.
-
- Other Lists - Intuition - Public Screens
- ----------------------------------------
-
- - Menüpunkt: Intuition - Public Screens (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Address Name VCnt SigTask
- ----------------------------------------------
- 003B8708 Workbench 2 <no task>
- ^ ^ ^ ^
- | | | +-- Name des dazugehörigen Tasks
- | | +-- Visitor counter (Anzahl der
- | | Windows auf diesem Screen)
- | +-- Name des Public Screens
- +-- Adresse des Public Screen-Nodes in der Systemliste
-
- Aktion: Hier werden alle im System geöffneten Public Screens, also
- die Screens, die öffentlich und für jedes Programm zugänglich
- sind, angezeigt. Die Anzeige besteht aus der Adresse, dem Namen, der
- Visitor-Anzahl (die Anzahl der geöffneten Windows auf diesem Screen) und
- dem zugehörigen Signal-Task, die aus der `PublicScreenNode'-Struktur
- ausgelesen werden können.
-
- Other Lists - Intuition - Gadgets
- ---------------------------------
-
- - Menüpunkt: Gadgets (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Gadget text Typ PosX PosY W H
- ----------------------------------------------
- * SCR: Workbench Screen
- <has image> SYSWUP -22 0 23 11
- ** WIN: RU 1.2 FreeWare!
- Ja REQBOO 14 26 35 9
- ^ ^ ^ ^ ^ ^ ^ ^
- | | | | | | | +-- Höhe des Gadgets
- | | | | | | +-- Breite des Gadgets
- | | | | | +-- Y-Position der linken oberen
- | | | | | Ecke des Gadgets
- | | | | +-- X-Position der linken oberen
- | | | | Ecke des Gadgets
- | | | +-- Aktivierungstyp des Gadgets:
- | | | WDR: Window dragging
- | | | SDR: Screen dragging
- | | | WUP: Window upfront
- | | | SUP: Screen upfront
- | | | WDO: Window downback
- | | | SDO: Screen downback
- | | | CLO: Close Gadget
- | | | BOO: Boolean Gadget
- | | | G02: Dummy typ
- | | | PRO: Proportional Gadget
- | | | STR: String Gadget
- | | | CUS: Custom Gadget
- | | | SIZ: Sizing Gadget
- | | | UNK: Unbekannter Typ
- | | +-- Objekttyp des Gadgets:
- | | SYS: System Gadget
- | | SCR: Screen Gadget
- | | GZZ: Gimmezerozero Gadget
- | | REQ: Requester Gadget
- | | CUS: Andere Gadgets
- | +-- Window oder Screen-Titelzeile
- +-- Gadgettext, falls einer existiert, sonst `<has image>' oder
- ein `-', falls ein Image existiert oder kein Text vorhanden
- ist.
-
- Aktion: Nach dem Anklicken werden alle Gadgets auf allen Screens und in
- allen Windows ermittelt und die wichtigsten Daten angezeigt. Während
- dieser Aktion kann es passieren, daß man nicht weiterarbeiten kann. Das
- ist normal! Damit die Intuition-Listen systemkonform durchsucht werden
- können, muß während dieser Zeit die IntuitionBase mit dem Paar
- "LockIBase()/UnlockIBase()" gesperrt werden. Der Zeitraum der Sperrung
- ist aber i.a. so kurz, daß er vom Benutzer kaum wahrgenommen wird.
-
-
- Other Lists - Preferences - Preferences Data
- --------------------------------------------
-
- - Menüpunkt: Preferences Data (TASTENSEQUENZ: `RAMIGA-7')
- Beispielausgabe:
- Preferences
- ----------------------------------------------
- ----- Input/Keyboard:
- Keyboard repeat speed : 0 sec 6000 µsec
- Keyboard repeat delay : 0 sec 400000 µsec
- Double click time : 0 sec 800000 µsec
-
- ----- Pointer
- "Hot spot" X : -1
- "Hot spot" Y : 0
- Pointer Sprite Col 0 : 0x0E44
- Pointer Sprite Col 1 : 0x0000
- Pointer Sprite Col 2 : 0x0EEC
- Pointer Sensitivity : 1
-
- ----- Workbench
- Height default font : 8
- Standard Color 0 : 0x0AAA
- Standard Color 1 : 0x0000
- Standard Color 2 : 0x0FFF
- Standard Color 3 : 0x009A
- View X-Offset : -26
- View Y-Offset : -7
- View init offset X : 129
- View init offset Y : 44
- Height default font : 8
- CLI availability : CLI enabled
- Workbench interlaced : No
- Override WB width : 0
- Override WB height : 0
- Override WB depth : 0
- Extension Info size : 0
-
- ----- Printer
- Printer port : Parallel port
- Printer type : Custom
- Printer Driver : HP_LaserJet
- Print pitch : 0
- Print quality : Letter
- Lines per inch : 6 LPI
- Left margin : 0
- Right margin : 75 Chars
- Print image : Positive
- Print aspect : Horizontal
- Print shade : Color
- Print Threshold : 7
- Paper length : 66 Rows
- Paper type : Single paper
- Temp file for printer :
- Affect Rows/Columns : 10
- User preference flags : 0x0000080F
- Max width of picture : 0 inch
- Max height of picture : 0 inch
- Offset of picture : 0 inch
- Print density : 4
-
- ----- Serial configuration
- Baud rate : MIDI (31.250 baud)
- Read bits : 8
- Write bits : 8
- Stop bits : 1
- Parity : None
- Handshake : RTS/CTS
-
- Aktion: Die Preferences-Struktur wird ausgelesen und mit Klartext versehen
- angezeigt.
-
- Other Lists - Preferences - Printer data
- ----------------------------------------
-
- - Menüpunkt: Preferences - Printer data (TASTENSEQUENZ: `-')
- Beispielausgabe:
- Printer data
- ----------------------------------------------
- Printer name : HP_LaserJet
- Version : 35
- Revision : 59
- Printer class : 1
- Color class : 1
- Print columns : 0
- Char sets : 0
- Print head pins : 1
- Max X-dots in dump : 2325 dots
- Max Y-dots in dump : 3198 dots
- Density X : 300 dots/inch
- Density Y : 300 dots/inch
- Timeout : 60 sec
-
- Aktion: Alle Daten in der Preferences-Datei, speziell die des
- Druckertreibers, werden angezeigt.
-
- Other Lists - Preferences - ENV-Variables
- -----------------------------------------
-
- - Menüpunkt: ENV-Variables (TASTENSEQUENZ: `-')
- Beispielausgabe:
- ENV-Variable Content
- ----------------------------------------------
- FREE_DRIVES RAM:,df0:,df1:,vd0:,dh0:,dh1
- ^ ^
- | +-- Inhalt der Environmentvariablen
- | <no text> : Die Variable ist keine Textdatei
- | <dir> : Ein weiteres `ENV:'-Verzeichnis
- +-- Name der Variablen
-
- Aktion: Das logische Verzeichnis `ENV:' wird ausgelesen und die Inhalte
- der Environmentvariablen im ListView dargestellt. Hierbei wird davon
- ausgegangen, daß sich in einer `ENV'-Variablen *eine* Zeile befindet.
- Sollten sich mehr als eine Zeile in der entsprechenden Datei befinden,
- werden die nachfolgenden Zeilen nicht ausgelesen.
-
- Ab Version 1.2 werden die Dateien überprüft, ob eine Textdatei vorliegt.
- Es kommt immer mal vor, daß auch Binärdateien im `ENV:'-Verzeichnis zu
- finden sind. Die Ausgabe dieser binären Daten ist etwas unsauber.
-
- Other Lists - Other libraries - Commodities
- -------------------------------------------
-
- - Menüpunkt: Commodities (TASTENSEQUENZ: `RAMIGA-8')
- Beispielausgabe:
- Commodity name Prio
- ----------------------------------------------
- RSys 0
- ^ ^
- | +-- Priorität des Brokereintrags
- +-- Name des Brokers
-
- Aktion: Ich habe einen legalen Weg herausgefunden, wie man sich eine
- Liste aller Commodity-Einträge besorgen kann. Dazu verwende ich einfach
- den Broker von RSys. Beim Einrichten des Brokers wird ein Zeiger auf ein
- CxObj zurückgegeben. Diesen *caste* (konvertiere) ich auf einen `struct
- Node'-Zeiger um und erhalte damit, analog zu den Input-Handlern, einen
- Einsprung in die Liste der angemeldeten Broker-Objekte! Jetzt brauche ich
- nur noch zu dem Anfang der Liste zu hangeln (Commodore erhalte uns die
- doppelt verketteten Listen! :-)) und von dort aus die Liste erneut
- durchzuscannen. Schon habe ich meine Liste! Und alles durch eine
- `undokumentierte Vermutung', ich liebe `C'!
-
- Other Lists - Other libraries - Amigaguide XRef
- -----------------------------------------------
-
- - Menüpunkt: Amigaguide XRef (TASTENSEQUENZ: `RAMIGA-9')
- Beispielliste:
- XRef keyword Type File Line
- ----------------------------------------------
- Gadget STRU +intuition.h 216
- ^ ^ ^^ ^
- | | || +-- Zeile des Includefiles,
- | | || in der die Struktur
- | | || vorkommt
- | | ++-- Dateibezeichnung Referenzfiles
- | | Falls die Bezeichnung länger ist, wird
- | | ein `+' anstelle des Pfades gesetzt
- | +-- Der Typ des Eintrags. Hier können
- | folgende Werte stehen:
- | `LINK' : Amigaguide Link
- | `FUNC' : Funktionsbeschreibung
- | (z.B. C-Routine)
- | `COMM' : Befehlsbeschreibung
- | `INCL' : Include-Datei eines Compilers
- | `MACR' : Macro-Beschreibung
- | `STRU' : Struktur-Beschreibung
- | (z.B struct Gadget)
- | `FIEL' : Ein Feld einer Struktur
- | `TYPD' : Datentyp-Beschreibung
- | (z.B. typedef)
- | `DEFI' : #define-Macro-Beschreibung
- +-- Schlüsselwort des Objektes
-
- Aktion: Mit dem Befehl LoadXRef des Amigaguide-Entwicklersystems können
- Kreuzreferenzen in den Speicher des Amigas geladen werden. Diese stehen
- dann bei jeder Amigaguide Session dem Benutzer zur Verfügung. Welche
- Informationen geladen sind, kann man mit diesem Menüpunkt erfahren.
-
- Actions - CRC Check...
- ----------------------
-
- - Menüpunkt: CRC Check... (TASTENSEQUENZ: `-')
- Aktion: Es wird die Utility `CRC Check' gestartet. Näheres dort.
-
- Actions - Crypt File...
- -----------------------
-
- - Menüpunkt: Crypt File... (TASTENSEQUENZ: `-')
- Es wird die Utility `Crypt File' gestartet. Näheres dort.
-
- Actions - List Hunks...
- -----------------------
-
- - Menüpunkt: List Hunks... (TASTENSEQUENZ: `-')
- Es wird die Utility `List Hunks' gestartet. Näheres dort.
-
- Actions - Find File...
- ----------------------
-
- - Menüpunkt: Find File... (TASTENSEQUENZ: `-')
- Es wird die Utility `Find File' gestartet. Näheres dort.
-
- Actions - Format Disk...
- ------------------------
-
- - Menüpunkt: Format Disk... (TASTENSEQUENZ: `-')
- Es wird die Utility `Format Disk' gestartet. Näheres dort.
-
- Actions - Save windows...
- -------------------------
-
- - Menüpunkt: Save windows... (TASTENSEQUENZ: `-')
- Es wird die Utility `Save Windows' gestartet. Näheres dort.
-
- Actions - Check Libraries
- -------------------------
-
- - Menüpunkt: Check Libraries (TASTENSEQUENZ: `-')
- Alle im ROM angelegten Libraries werden gecheckt, ob sie von anderen
- Programmen gepatcht wurden. Sehr nützlich, um eventuell installierte
- Viren aufzuspüren. Die Daten werden aus einer externen Datei gelesen und
- im Klartext ausgegeben. Mit einem kleinen `REXX'-Programm können diese
- Daten aus den `FD'-Files extrahiert werden.
-
- Internal List - Save current list
- ---------------------------------
-
- - Menüpunkt: Save current list (TASTENSEQUENZ: `RAMIGA-L')
- Aktion: Die angezeigte Liste wird in eine `RSYS'-interne Liste
- kopiert und gespeichert. Der Inhalt bleibt erhalten, bis eine
- neue Liste abgespeichert wird, der Menüpunkt `Kill saved list'
- gewählt wurde oder das Programm beendet wird.
-
- Internal List - Restore saved list
- ----------------------------------
-
- - Menüpunkt: Restore saved list (TASTENSEQUENZ: `RAMIGA-R')
- Aktion: Die `RSYS'-interne Liste wird in das ListView eingetragen. Die
- ursprüngliche Liste kann durch ein nochmaliges Anklicken des
- entsprechenden Gadgets wieder erzeugt werden. Die `RSYS'-interne Liste
- bleibt dabei erhalten.
-
- Internal List - Kill saved list
- -------------------------------
-
- - Menüpunkt: Kill saved list (TASTENSEQUENZ: `-')
- Aktion: Eine gespeicherte `RSYS'-interne Liste wird gelöscht und
- die damit verbundenen Speicherbereiche freigegeben.
-
- Flushing - Flush libraries
- --------------------------
-
- - Menüpunkt: Flush libraries (TASTENSEQUENZ: `-')
- Aktion: Entfernt alle Libraries aus dem System, die einen Open-Count
- von 0 haben. Diese sind geschlossen und entfernen sich meistens nicht
- selbst aus dem System.
-
- Flushing - Flush fonts
- ----------------------
-
- - Menüpunkt: Flush fonts (TASTENSEQUENZ: `-')
- Aktion: Entfernt alle Fonts aus dem System, die nicht mehr verwendet
- werden.
-
- Flushing - Flush all libraries and fonts
- ----------------------------------------
-
- - Menüpunkt: Flush all libraries and fonts (TASTENSEQUENZ: `-')
- Aktion: Entspricht beiden Menüpunkten `Flush Libraries' und `Flush
- Fonts'.
-
- Clip - Clip entry...
- --------------------
-
- - Menüpunkt: Clip entry... (TASTENSEQUENZ: `RAMIGA-C')
- Aktion: Nach Anwahl dieses Menüpunktes kann ein Eintrag im Hauptfenster
- von `RSYS' angeklickt werden. Dieser Eintrag wird dann vom Programm ins
- Clipboard übernommen und kann von anderen Programmen gelesen und
- weiterverwendet werden.
-
- Clip - Clip list
- ----------------
-
- - Menüpunkt: Clip list (TASTENSEQUENZ: `-')
- Aktion: Mit diesem Menüpunkt kann die ganze angezeigte Liste ins
- Clipboard kopiert werden.
-
- Flags - Fast Mode
- -----------------
-
- - Menüpunkt: Fast Mode (TASTENSEQUENZ: `RAMIGA-F')
- Aktion: Ist dieser Modus aktiviert, wird das ListView beim Erzeugen
- der Liste nicht aktualisiert, sondern erst, nachdem die Liste erstellt
- worden ist. Ist dieser Modus nicht aktiviert, wird nach jedem Erstellen
- eines Eintrags das ListView aktualisiert. Default ist `EIN'.
-
- Flags - Sorting
- ---------------
-
- - Menüpunkt: Sorting (TASTENSEQUENZ: `RAMIGA-O')
- Aktion: Ist das Sorting aktiviert, sortiert `RSYS' automatisch die
- Einträge des ListViews. Auf manche Listen hat dieses Flag keinen
- Einfluß (z.B. Memory), da es dort auf die systemgegebene
- Reihenfolge der Daten ankommt. Default ist `EIN'.
-
- Flags - Working bar
- -------------------
-
- - Menüpunkt: Working bar (TASTENSEQUENZ: `RAMIGA-B')
- Aktion: Mit diesem Flag kann die Anzeige eines Statusbalkens umgeschaltet
- werden. Während eine Systemliste im ListView erzeugt wird, zeigt der
- Balken immer den entsprechenden Balkenabschnitt an. Als Balkenbereich wird
- das `Informationen / Messages'-Gadget verwendet. Default ist `AUS'.
-
- Flags - Auto front window
- -------------------------
-
- - Menüpunkt: Auto front window (TASTENSEQUENZ: `RAMIGA-Z')
- Aktion: Ist dieses Flag aktiviert, werden das Hauptfenster und
- alle anderen Fenster von `RSYS' automatisch nach vorne geholt, falls
- sie geöffnet oder *gezipt* wurden.
-
- Flags - Mouse window
- --------------------
-
- - Menüpunkt: Mouse window (TASTENSEQUENZ: `RAMIGA-M')
- Aktion: Wenn diese Option angewählt wurde, wird jedes Fenster,
- das von `RSYS' geöffnet wird, zentriert unter dem Mauszeiger erscheinen.
-
- Flags - Topaz Font
- ------------------
-
- - Menüpunkt: Topaz Font (TASTENSEQUENZ: `RAMIGA-T')
- Aktion: Wurde als System-Screen-Font ein Proportionalfont gewählt,
- sieht die Ausgabe im ListView etwas zerrissen aus, da die Anzeige
- nur mit Leerzeichen formatiert werden kann. Schaltet man diese Option
- ein, wird das Hauptfenster geschlossen und `RSYS' erscheint
- mit dem `Topaz-8'-Systemfont.
-
- Flags - Speaking
- ----------------
-
- - Menüpunkt: Speaking (TASTENSEQUENZ: `RAMIGA-N')
- Aktion: Ist `Speaking' eingeschaltet, werden die Ausgaben im
- `Informationen / Message'-Bereich auch über das `Narrator'-Device, also
- die Sprachausgabe, ausgegeben.
-
- Flags - Save asking
- -------------------
-
- - Menüpunkt: Save asking (TASTENSEQUENZ: `-')
- Aktion: Ist dieses Menüflag gesetzt, werden alle Sicherheitsabfragen von
- `RSYS' unterdrückt. Genauer: es werden alle Ja-Nein-Abfragen unterdrückt.
-
- *VORSICHT*
- Auch Sicherheitsabfragen, wie *Wollen Sie diesen Task killen?*
- werden anstandslos mit *Ja* beantwortet!!!
-
-
- Flags - Text formatter
- ----------------------
-
- - Menüpunkt: Text formatter (TASTENSEQUENZ: `-')
- Aktion: Mit diesem Schalter kann man die Verwendung des Text-Formatters
- beim Abspeichern einer `RSYS'-Liste ein- oder abschalten.
-
- Ext. Data - Reload action file...
- ---------------------------------
-
- - Menüpunkt: Reload action file... (TASTENSEQUENZ: `-')
- Aktion: Der Action-File kann extern mit einem Editor bearbeitet werden.
- Über diesen Menüpunkt kann er dann nach der Bearbeitung von `RSYS'
- eingeladen werden.
-
- Ext. Data - Reload hardware datas...
- ------------------------------------
-
- - Menüpunkt: Reload hardware datas... (TASTENSEQUENZ: `-')
- Aktion: Mit einem mitgeliefertem Tool (`HW') kann die Datendatei mit den
- Hardware-Kenndaten modifiziert und erweitert werden. Über diesen
- Menüpunkt können die Daten erneut gelesen werden.
-
- Ext. Data - Reload library offsets...
- -------------------------------------
-
- - Menüpunkt: Reload library offsets... (TASTENSEQUENZ: `-')
- Aktion: Hiermit können die zu untersuchenden Library-Offsets erneut
- eingelesen werden. Alle Einträge in dieser Datei werden dazu verwendet,
- um die entsprechenden Library-Offsets zu testen. Das ist besonders dann von
- Nutzen, wenn man einen Virus im System vermutet.
-
- Ext. Data - Reload AGuide context nodes...
- ------------------------------------------
-
- - Menüpunkt: Reload AGuide context nodes... (TASTENSEQUENZ: `-')
- Aktion: Hiermit können die `AmigaGuide'-Nodes erneut eingelesen werden.
- Mit ihnen ist es möglich, im `Help'-Modus die entsprechende Stelle im
- AGuide-Dokument zu lesen.
-
- Search - Find next
- ------------------
-
- - Menüpunkt: Find next (TASTENSEQUENZ: `N')
- Aktion: Nach der Anwahl dieses Menüpunktes wird der zuletzt eingetragene
- Suchbegriff in der aktuellen Liste des Hauptfensters gesucht. Die
- Suchrichtung ist vorwärts.
-
- Search - Find previous
- ----------------------
-
- - Menüpunkt: Find previous (TASTENSEQUENZ: `P')
- Aktion: Nach der Anwahl dieses Menüpunktes wird der zuletzt eingetragene
- Suchbegriff in der aktuellen Liste des Hauptfensters gesucht. Die
- Suchrichtung ist rückwärts.
-
- Search - Search...
- ------------------
-
- - Menüpunkt: Search... (TASTENSEQUENZ: `S')
- Aktion: Nach der Anwahl dieses Menüpunktes erscheint ein kleines
- Fenster, in welchem der Suchstring eingegeben werden kann.
-
- Die Utilities von RSys
- **********************
-
- In diesem Kapitel werden nun alle Utilities von `RSYS' beschrieben. Alle
- Utilities können per HotKey aufgerufen werden. In späteren Versionen von
- `RSYS' werden sie als eigenständige Tasks laufen, sodaß auch mehrere
- Utilities gleichzeitig laufen können.
-
- CRC-Check - Berechnung von Checksummen
- ======================================
-
- Mit dieser kleinen Utility kann die `CRC-Checksumme' von beliebigen Dateien
- berechnet werden. Entsprechend der Größe der Datei, dessen CRC berechnet
- werden soll, muß die `CRC-16'- oder die `CRC-32'-Methode gewählt werden.
-
- Ich habe mehrere Programme, die CRC-Summen berechnen, zum Vergleich mit
- meinen Routinen gestartet. Alle Programme gaben für ein und dieselbe Datei
- andere Werte aus, als meine Routine. Ich suche den Fehler heute noch. Wenn
- sich also eine hilfreiche Seele finden sollte, die den Fehler findet, dieser
- ist eine Tüte Gummibärchen sicher `:-)'
-
- Das erscheinende Window enthält mehrere Steuerelemente, die jetzt im
- einzelnen besprochen werden.
-
- Das File-Gadget
- ---------------
-
- - Text-Gadget: File
- In diesem Text-Gadget wird der Dateiname der ausgewählten Datei, deren
- `CRC'-Summe berechnet werden soll, angezeigt.
-
- Das Type-Gadget
- ---------------
-
- - Cycle-Gadget: Type
- Mit diesem Gadget kann die zu verwendete Berechnungsart (`CRC-16' oder
- `CRC-32') gewählt werden.
-
- Das Select-Gadget
- -----------------
-
- - Gadget: Select
- Nach dem Anklicken dieses Gadgets erscheint ein FileRequester, der zu
- einer Eingabe einer Datei auffordert. Wird eine existierende Datei
- angewählt, wird sofort das `File'-Gadget aktualisiert.
-
- Das CRC-Gadget
- --------------
-
- - Text-Gadget: CRC
- In diesem Gadget wird die berechnete Checksumme in Hexadezimalschreibweise
- dargestellt.
-
- Das Compute-Gadget
- ------------------
-
- - Gadget: Compute
- Das Gadget startet die Berechnung der `CRC'-Checksumme.
-
- Crypt File - Verschluesseln von Dateien
- =======================================
-
- Bei der Verschlüsselung der Daten werden zwei Methoden verwendet. Die
- `ROT 13'-Methode ist ein einfaches Verschlüsselungsverfahren, das die
- Buchstaben eines Textes einfach um 13 Zeichen nach vorn oder zurück
- gezählte Buchstaben macht. Dazu ein Beispiel: aus der Zeile
-
- "Das ist ein Satz, der 1 mal kodiert werden soll!"
-
- 34 68 97 115 32 105 115 116 32 101 105 110 32 83 97 116 122 44 32 100 101
- 114 32 49 32 109 97 108 32 107 111 100 105 101 114 116 32 119 101 114 100
- 101 110 32 115 111 108 108 33 34
-
- macht das `ROT 13'-Verfahren
-
- "Qnf vfg rva Fngm, qre 1 zny xbqvreg jreqra fbyy!"
-
- 34 81 110 102 32 118 102 103 32 114 118 97 32 70 110 103 109 44 32 113 114
- 101 32 49 32 122 110 121 32 120 98 113 118 114 101 103 32 106 114 101 113
- 114 97 32 102 98 121 121 33 34
-
- Darunter habe ich mal die entsprechenden ASCII-Kodierungen geschrieben. Es
- ist deutlich zu erkennen, daß nur Buchstaben kodiert (verschoben) werden.
- Interpunktionen und Zahlen werden nicht berücksichtigt.
-
- Das zweite Verfahren basiert auf einen zellularen Automaten ähnlich dem der
- Spielsimulation `Life'. Dabei wird ein Ring von Zellen angelegt, der dann
- durch ein vorgegebenes Paßwort mit Nummern aufgefüllt wird. Mit diesen
- Nummern schließlich, wird eine Datei kodiert. Diese Methode stammt von der
- Verschlüsselungsmethode, die in Olaf "Olsen" Barthels `term' zur Kodierung
- des Telefonbuches verwendet wird.
-
- `Anm.:' Das Paßwort ist überaus *WICHTIG*! Es sollte erstens nie
- vergessen und zweitens ein echtes Paßwort verwendet werden. Das
- Paßwort-Gadget sollte also nie leer sein, da sonst die Methode zufällige
- Verschlüsselungen erzeugt und diese Datei nie wieder restauriert werden
- kann!
-
- Im weiteren werden die Bedienungselemente des `Crypt'-Windows vorgestellt.
-
- Das Source-Gadget und Select
- ----------------------------
-
- - Gadget: Source/Select
- Mit diesem Gadget kann mit einem FileRequester die Datei ausgewählt
- werden, die verschlüsselt werden soll. Der Dateiname kann direkt
- eingegeben werden oder über `Select' per FileRequester.
-
- Das Dest-Gadget und Select
- --------------------------
-
- - String-Gadget: Dest/Select
- Mit diesem Gadget kann mit einem FileRequester die Datei ausgewählt
- werden, in der die verschlüsselten Daten abgespeichert werden sollen. Der
- Dateiname kann direkt eingegeben werden oder über `Select' per
- FileRequester.
-
- Das Passwd-Gadget
- -----------------
-
- - String-Gadget: Passwd
- Dieses String-Gadget enthält das Paßwort zum Verschlüsseln der Datei
- nach dem Verfahren mit dem `zellularen Automaten'. Das Paßwort ist
- zwingend erforderlich, jedoch wird die Korrektheit nicht überprüft. Wird
- also keins angegeben, so ist das eine *Einbahnstraßen-Verschlüsselung*!
- Die Datei kann nie wieder restauriert werden! Dieses Gadget ist
- abgeschaltet, falls die `ROT13'-Methode verwendet wird.
-
- Das Crypt-ROT13-Gadget
- ----------------------
-
- - Cycle-Gadget: Crypt-ROT13
- Hiermit kann die Methode gewählt werden, mit der die Daten verschlüsselt
- werden sollen.
-
- Das Encrypt-Gadget
- ------------------
-
- - Gadget: Encrypt
- Mit diesem Gadget wird die Verschlüsselung der Daten gestartet.
-
- Das Decrypt-Gadget
- ------------------
-
- - Gadget: Decrypt
- Mit diesem Gadget wird die Entschlüsselung der Daten gestartet.
-
- List Hunks - Hunk-Struktur ermitteln
- ====================================
-
- Es kommt immer mal vor, daß man sich für den Aufbau von Dateien
- beschäftigt. Ein wichtige Dateiart ist hierbei die ladbare oder ausführbare
- Datei. Diese Dateien können vom System in den Arbeitsspeicher geladen und
- direkt ausgeführt werden.
-
- Damit dieses korrekt vom System durchgeführt werden kann, müssen die
- Dateien (Executables) einen bestimmten Aufbau besitzen, die sogenannte
- `Hunk-Struktur'. Eine Beschreibung dieser Hunk-Struktur würde an dieser Stelle
- zu weit führen. Hierbei sei auf weiterführende Literatur verwiesen, die diese
- Struktur in allen Einzelheiten erläutert.
-
- Mit dieser Utility kann die Hunk-Struktur jeder ladbaren Datei ermittelt und
- angezeigt werden. Zu diesen Dateien gehören beispielsweise Libraries,
- Executables, Font-Dateien und Objekt-Bibliotheken. Desweiteren können auch
- Fehler in der Hunk-Struktur angezeigt werden. Bei einem eventuell aufgetretenen
- Fehler wird noch fünfmal versucht, einen korrekten Hunk-Eintrag zu finden,
- danach wird abgebrochen. Die Anzeige der Struktur kann jederzeit mit einem
- Klick auf das `CloseGadget' abgebrochen werden.
-
- Nun zu der Beschreibung der einzelnen Gadgets.
-
- Das ListView
- ------------
-
- - ListView: ListView
- In diesem ListView wird die Hunk-Struktur in übersichtlicher Form
- dargestellt. In der ersten Zeile stehen der Name der Datei und die Größe.
- Dannach kommt hierarchisch angeordnet der Aufbau der Datei. Hier als
- Beispiel das Hunk-Listing des Programms `RSYS' selbst.
-
- File name : cprogs2:RSysDir/RSys
- File size : 140156
-
- hunk_header (o: $0,#0 t: $3F3,#1011)
- Count hunks : #3
- First hunk : #0
- Last hunk : #2
- Hunk #0, Length $1DE8C, #122508
- Hunk #1, Length $4D58, #19800
- Hunk #2, Length $4, #4
-
- hunk_code (o: $20,#32 t: $3E9,#1001)
- Size: $1DE8C, #122508 (MEMF_FAST)
-
- hunk_reloc32 (o: $1DEB4,#122548 t: $3EC,#1004)
- #17 offsets in Hunk #0
- #2 offsets in Hunk #1
- hunk_end (o: $1DF18,#122648 t: $3F2,#1010)
-
- hunk_data (o: $1DF1C,#122652 t: $3EA,#1002)
- Size: $365C, #13916 (MEMF_FAST)
-
- hunk_reloc32 (o: $21580,#136576 t: $3EC,#1004)
- #17 offsets in Hunk #1
- #868 offsets in Hunk #0
- hunk_end (o: $2236C,#140140 t: $3F2,#1010)
-
- hunk_bss (o: $22370,#140144 t: $3EB,#1003)
- Size: $4, #4 (MEMF_FAST)
- hunk_end (o: $22378,#140152 t: $3F2,#1010)
-
- Das Load-Gadget
- ---------------
-
- - Gadget: Load
- Es erscheint ein FileRequester, mit dem die ladbare Datei ausgewählt
- werden kann. Danach wird die Struktur analysiert und als Liste angezeigt.
-
- Das Save-List-Gadget
- --------------------
-
- - Gadget: Save List
- Mit einem FileRequester kann eine Datei ausgewählt werden, in der die
- Liste abgespeichert werden soll. Ist der `Text-Formatter' aktiviert,
- erscheint nach einer postiven Auswahl das `Text-Formatter'-Window.
-
- Find File - Suche nach Dateien
- ==============================
-
- Es gibt viele Programme, die das komfortable Suchen nach Dateien in
- Filesystemen unterstützen. Allerdings sind einige Programme mit Sonder- und
- Spezialfunktionen überladen, sodaß man schon eine Menge Hintergrundwissen
- einbringen muß, um die Programm überhaupt korrekt bedienen zu können. Dem
- habe ich hoffentlich Abhilfe schaffen können. Einfach, klein und fein macht
- diese Utility genau das, was sie soll: Dateien suchen.
-
- Diese Utility arbeitet intensiv mit der Funktion "ExAll()" und den
- Funktionen "MatchPattern()/MatchPatternNoCase()" der DOS-Library. Dabei werden
- zuächst alle Dateien bestimmt und währenddessen untersucht, ob es sich
- jeweils um ein Verzeichnis oder eine Datei handelt. Trifft dann auch das
- Suchmuster zu, wird es in das ListView eingetragen.
-
- Hier eine Beschreibung der Bedienungselemente.
-
- Das Devices-ListView
- --------------------
-
- - ListView: Devices
- In diesem ListView stehen alle angemeldeten Devices und Assigns. Wenn
- ein Eintrag angeklickt wird, erscheint der Eintrag in dem danebenliegenden
- ListView.
-
- Das Selected Devices-ListView
- -----------------------------
-
- - ListView: Selected Devices
- Damit werden alle die Verzeichnisse angewählt auf denen Dateien gesucht
- werden sollen. Jeder Eintrag, der in den beiden ListViews angeklickt wird,
- erscheint automatisch in dem anderen ListView. Bei einem Eintrag mit
- einem `-' davor handelt es sich um ein Assign. Ich habe diese
- Kennzeichnung deshalb so gewählt, weil ich dann entsprechend die
- Einträge sortieren kann. Erst die *echten*, dann die *logischen* Devices.
-
- Das Case-No case-Gadget
- -----------------------
-
- - Cycle-Gadget: Case/No case
- Hier kann gewählt werden, ob die Dateien *case sensitive* (Groß- und
- Kleinschreibung wird berücksichtigt) oder *case insensitive* (Groß- und
- Kleinschreibung werden nicht unterschieden) gesucht werden. Lautet z.B.
- das Suchmuster `Test.exe', so wird mit `No case sense' sowohl die Datei
- `Test.exe', als auch die Datei `TeSt.ExE' gefunden.
-
- Sel all und Sel none
- --------------------
-
- - Gadget: Sel all/Sel none
- Damit können alle Einträge vom linken ListView in das rechte gebracht
- werden (`Sel all': alle Verzeichnisse werden durchsucht) und umgekehrt
- (`Sel none': Kein Verzeichnis soll durchsucht werden).
-
- Das Start-Stop Gadget
- ---------------------
-
- - Gadget: Start/Stop
- Wurden Verzeichnisse ausgewählt und im Pattern-Gadget ein Suchmuster
- eingegeben, so ist dieses Gadget anwählbar und startet die Suche in den
- Verzeichnissen des `Selected Devices'-ListViews. Wird das Gadget während
- eine Suche angeklickt, wird nach einer Sicherheitabfrage der Suchvorgang
- abgebrochen.
-
- Das Save found list-Gadget
- --------------------------
-
- - Gadget: Save found list
- Nach der Anwahl erscheint ein Filerequester, in dem die Namen der
- gefundenen Dateien in eine auszuwählende Datei abgespeichert werden
- können. Ist der `Text-Formatter' aktiviert, erscheint nach einer postiven
- Auswahl das `Text-Formatter'-Window.
-
- Das Pattern-Gadget
- ------------------
-
- - String-Gadget: Pattern
- Hier kann ein Suchmuster (Dateiname oder Pattern) eingegeben werden.
- Hierbei gelten die üblichen Wildcards und Suchmuster des AmigaOS.
-
- Das Dateityp-Gadget
- -------------------
-
- - Cycle-Gadget: Dirs + Files/Files/Directories
- Hier kann gewählt werden, was für ein Typ von Datei gefunden werden
- soll.
-
- Das Found files-dirs-Gadget
- ---------------------------
-
- - ListView: Found files/dirs
- In diesem ListView erscheinen alle gefunden Einträge mit vollständiger
- Pfadbezeichnung. Diese Liste kann nach dem Anklicken des `Save found
- list'-Gadgets in eine Datei abgespeichert werden.
-
- Format Disk - Format-Schnittstelle
- ==================================
-
- Mit `Format Disk' wird eine kleine Schnittstelle zum `Format'-Befehl des
- AmigaDOS angeboten. Die einzelnen Gadgets werden im folgenden näher
- beschrieben.
-
- Das Format-Gadget und Select
- ----------------------------
-
- - String-Gadget: Format-Gadget/Select
- In diesem Gadget steht der vollständige Pfadprogrammname des zu
- verwendenden `Format'-Befehls. Dieser lautet üblicherweise
- `SYS:System/Format'.
- Mit dem nebenstehenden `Select'-Gadget kann das `Format'-Programm mit
- einem Filerequester ausgewählt werden.
-
- Das Devs-ListView
- -----------------
-
- - ListView: Devices
- In diesem ListView erscheinen alle formatierbaren Devices alphabetisch
- geordnet. Das ausgewählte Device wird dann im zugehörigen
- Textgadget darunter angezeigt.
-
- Das Disk label-Gadget
- ---------------------
-
- - Gadget: Disk label
- Hier wird der Name des Mediums (voreingestellt und systemkonform
- `Empty') eingetragen.
-
- Das Icons-No Icons-Gadget
- -------------------------
-
- - Cycle-Gadget: Icons/No Icons
- Mit dieser Einstellung wird festgelegt, ob der `TrashCan' samt Icon nach
- der Formatierung auf die frische Diskette kopiert werden soll.
-
- Das OFS-FFS-Gadget
- ------------------
-
- - Cycle-Gadget: OFS/FFS
- Damit wird festgelegt, ob die Diskette mit dem neuen FastFileSystem des
- AmigaOS 2.0 formatiert werden soll, oder im alten Datenformat.
-
- Das No international-International-Gadget
- -----------------------------------------
-
- - Cycle-Gadget: No international/International
- Hiermit wird das Handling der länderspezifischen Sonderzeichen in
- Dateinamen festgelegt.
-
- Das Befehls-Gadget
- ------------------
-
- - String-Gadget: Befehls-Gadget
- In diesem Stringgadget ohne Namen steht der vollständige Befehl, der
- nach Festlegung aller Kriterien als eigenständiger Prozeß ausgeführt
- wird.
-
- Das Format-Gadget
- -----------------
-
- - Gadget: Format
- Damit wird der `Format'-Befehl in einem Shell-Window aufgerufen.
-
- Das Quick-Gadget
- ----------------
-
- - Gadget: Quick
- Damit wird der `Format'-Befehl in einem Shell-Window aufgerufen. Zuvor
- wird die Option `QUICK' an den Befehl drangehängt. Diese Option startet
- die Formatierung des Directory-Bereiches der Diskette, also nicht der
- ganzen Diskette.
-
- Save Windows - IFF-Dateien von Windows
- ======================================
-
- Hierbei kam auch eine Routine zum Einsatz, die ich von Olsens `term' geratzt
- habe. Leider funktioniert Olsens Routine nicht mit allen Fenstern, was an der
- Verwendung der Funktion "ClipBlit()" liegt, die zwar die ausgewählte BitMap
- eines Windows berücksichtigt, aber die überlappenden Bereiche anderer Fenster
- mit Datenmüll füllt. Außerdem verwendet Olsen die BitMap des zu einem
- Fenster gehörenden Screen-RastPorts anstelle des Window-RastPorts.
-
- Dieses Problem der Überlappung habe ich durch die Verwendung der
- Routinen "BltBitMap()" und "WindowToFront()" behoben. Damit wird das zu
- speichernde Fenster nach vorne geholt, weswegen auch keine Überlappungen mit
- anderen Fenstern auftreten. Dieses Verfahren funktioniert natürlich nicht
- mit Backdrop-Fenstern.
-
- Es muß aber eine Möglichkeit geben, *nur* den Fensterinhalt abspeichern
- zu können. Immerhin kann es die `DumpRastPort'-Routine des `printer.device'
- auch. Wer also sachdienliche Hinweise zu diesem Thema hat, möge sich
- bitte mit mir in Verbindung setzen.
-
- Das Windows-ListView
- --------------------
-
- - Gadget: Windows
- In diesem ListView erscheinen alle geöffneten Windows, die im System
- bekannt sind. Dabei werden auch die aufgeführt, die auf anderen Screens
- als dem WorkBench Screen geöffnet wurden.
-
- Das IFF File-Gadget
- -------------------
-
- - Gadget: IFF File
- Wurde ein Fenster angewählt, wird dieses Gadget aktiviert. Nach dem
- Anklicken erscheint ein Filerequester mit der Aufforderung, eine Datei
- auszuwählen, in der das angewählte Window als IFF-Datei abgespeichert
- werden soll.
-
- Das Rescan windows-Gadget
- -------------------------
-
- - Gadget: Rescan windows
- Damit kann die Window-Liste aktualisiert werden. Dies geschieht nach dem
- Abspeichern eines Windows automatisch.
-
- Check Libraries - Testen der ROM-Libraries
- ==========================================
-
- Alle im ROM angelegten Libraries werden gecheckt, ob sie von anderen
- Programmen gepatcht wurden. Sehr nützlich, um eventuell installierte Viren
- aufzuspüren.
-
- Dazu wird eine externe Datei verwendet, die in einem bestimmten Format
- vorliegt. In dieser stehen alle Libraries und Library-Offsets drin, deren
- Einträge im System überprüft werden sollen. Mit einem mitgelieferten
- `AREXX'-Programm kann diese Datei einfach aus den `FD'-Files erzeugt werden.
-
- Search - Die Suchfunktion von RSys
- ==================================
-
- Mit dieser komfortablen Suchfunktion hat der Benutzer die Möglichkeit, in
- der Liste des Hauptfensters nach einem String suchen zu lassen. Die Suchmethode
- ist einfach implementiert worden, d.h. es wird die Liste von Anfang an (oder
- vom letzten gefundenen Eintrag aus) durchsucht und dabei getestet, ob sich der
- eingegebene String als Teilstring im Listeneintrag befindet.
-
- War der Test erfolgreich, wird der gefundene Eintrag zum obersten Eintrag im
- ListView gemacht. Der String ist hierbei "case-sensitiv" einzugeben, Groß- und
- Kleinschreibung ist also zu berücksichtigen! Die Taste `ESC' beendet die
- Eingabe und betrachtet die Eingabe als abgebrochen, ebenso wie das `Cancel'-
- und das Closegadget.
-
- Nach der Anwahl des entsprechenden Menüpunktes erscheint ein kleines
- Fenster mit drei Gadgets:
-
- Das String-Gadget
- -----------------
-
- - Gadget: String-Gadget
- In diesem Gadget kann der Suchstring eingegeben werden. Groß- und
- Kleinschreibung muß berücksichtigt werden. Die Länge des Strings ist
- maximal 40 Zeichen lang. Nach dem Öffnen des Eingabefensters ist dieses
- Gadget automatisch aktiv.
-
- Das Search-Gadget
- -----------------
-
- - Gadget: Search-Gadget TASTE `S'
- Ist die Eingabe abgeschlossen, wird nach dem Gadget-Klick der String
- intern übernommen und eine Vorwärtssuche gestartet.
-
- Das Cancel-Gadget
- -----------------
-
- - Gadget: Cancel-Gadget
- Die Eingabe wird abgebrochen. Der eventuell eingegebene String wird
- *NICHT* intern übernommen.
-
- Der Help-Modus
- **************
-
- Ab Version 1.3 wird die Hilfe vollständig über das `AmigaGuide'-System
- gesteuert. Die Hilfe kann mit dem Menüpunkt `Help' eingeschaltet werden. Ist
- dieser Modus aktiviert, ist gleichzeitig der Menüpunkt `Reload AGuide context
- nodes...' ausgeschaltet. Während des `Hilfe-Modus' ist auch kein `Iconify'
- möglich, da das `AmigaGuide'-Fenster auf dem selben Screen eröffnet wird, wie
- das Hauptfenster von `RSYS'.
-
- Dieser Modus läuft asynchron, d.h. es kann nun ganz normal
- weitergearbeitet werden. Bei jeder Aktion jedoch erscheint der entsprechende
- Abschnitt in dem geladenen und von `AmigaGuide' angezeigtem Dokument-Guide zu
- `RSYS'. Damit kann auf einfache Weise während jeder Aktion eine Hilfe
- ermöglicht werden.
-
- Eine Besonderheit ist noch das *Jumpen* auf andere PublicScreens. Ist die
- Hilfe aktiviert, wird zunächst das `AmigaGuide'-System beendet und dann nach
- der Öffnung des Hauptfensters erneut gestartet. Die Hilfe *jumpt also mit*!
-
- Ein Nachteil soll nicht unerwähnt bleiben. Das Laden des Dokument-Files
- dauert je nach Größe etwas länger, was sich besonders beim Springen zu
- anderen PublicScreens bemerkbar macht. In späteren Version werde ich eine
- extra Hilfe-Datei schreiben, und diese wird dann kleiner sein, womit sich dann
- auch die Ladezeiten verkürzen.
-
- Das Application Icon
- ********************
-
- Wurde der Menüpunkt `Iconify' gewählt oder das Programm von der
- WorkBench gestartet, erscheint auf dem WorkBench-Screen ein sogenanntes
- AppIcon. Darauf können andere WorkBench-Objekte, wie Schubladen, Textdateien,
- Devices etc., deren Icon sichtbar ist, gezogen werden.
-
- Ab `RSYS' 1.2 gibt es die Möglichkeit, durch Angabe von `NOAPPICON' in den
- ToolTypes kein Icon erscheinen zu lassen. Damit ist dann auch das nachfolgend
- beschriebene `Actioning' nicht durchführbar.
-
- Das Actioning
- =============
-
- Nach dem Aktivieren des Icons durch Anklicken oder Draufziehen eines
- WorkBench-Objektes öffnet `RSYS' ein kleines Fenster mit drei Gadgets. Die
- Titelzeile des Fensters zeigt den Namen des Objektes an, das auf das
- `RSYS'-Icon gezogen wurde. Darunter wird der Typ des Objektes angezeigt. In
- dem ListView-Gadget werden alle Aktionen, die dem Typ dieses Objektes in der
- Actions-Datei zugeordnet wurden, aufgelistet. Das `Info'-Gadget gibt weitere
- Informationen über das Objekt in Form eines Systemrequesters aus.
-
- Nach der Anwahl eines ListView-Eintrages wird die entsprechende Aktion mit
- diesem Objekt ausgeführt. Dabei wird der Name des Objekts an den
- entsprechenden String in der Actions-Datei angehängt und als CLI-Befehl
- ausgeführt.
-
- Hierzu ein Beispiel: Für LHA-Archive existieren folgende Einträge:
-
- 39#LHArc archive#Archiv listen#OwnC:LZ l #W#
- 39#LHArc archive#Archiv testen#OwnC:LZ t #W#
-
- In der Titelzeile erscheint der Eintrag `LHArc archive' und in dem ListView
- die Einträge `Archiv listen' und `Archiv testen'. Wird der Eintrag `Archiv
- listen' angeklickt, wird der Befehl `OwnC:LZ l <objektname>' ausgeführt.
-
- Die Hotkey-Aktivierung
- ======================
-
- In dem Icon-Zustand von `RSYS' kann das Hauptfenster mit dem Hotkey
- `lshift rshift y' wieder geöffnet werden. Desweiteren kann `RSYS' auch mit
- dem Programm `Exchange' angesteuert und auch beendet werden.
-
- Alle Hotkeys werden voreingestellt mit den beiden Shift-Tasten
- zusammen definiert. Hier eine Zusammenfassung aller Hotkey-Voreinstellungen,
- wie sie auch den ToolTypes des `RSYS'-Icons entnommen werden können, versehen
- mit ein paar Erklärungen:
-
- - ToolType: OUTWINDOW DEFAULT: CON:/10//150/RSYS WINDOW/AUTO/CLOSE
- Manche Aktionen von `RSYS' erfordern einen Ein-/Ausgabe-Kanal. Diese
- Ein- und Ausgaben werden dann auf das angegebene CLI-Window umgeleitet.
-
- Anm.: Dieser Eintrag ist *ZWINGEND*!!! NIL: oder das NULL:-Device
- sollten *NICHT* verwendet werden, wenn man einen Guru vermeiden will!
-
- - ToolType: CX_HOTKEY DEFAULT: `LSHIFT RSHIFT Y'
- Mit diesem Hotkey kann `RSYS' aktiviert werden, wenn das AppIcon
- existiert. Falls das Hauptfenster offen ist, guckt `RSYS' nach, ob der
- vorderste Screen ein PublicScreen ist und öffnet das Hauptfenster auf
- diesem.
-
- - ToolType: CX_CRYPT DEFAULT: `LSHIFT RSHIFT K'
- Damit wird das Verschlüsselungs-Tool von `RSYS' aufgerufen (Menüpunkt
- Crypt).
-
- - ToolType: CX_FINDFILE DEFAULT: `LSHIFT RSHIFT S'
- Damit wird das Dateisuchfenster von `RSYS' aufgerufen (Menüpunkt
- Find File).
-
- - ToolType: CX_FORMAT DEFAULT: `LSHIFT RSHIFT F'
- Damit wird das `Format-Disk'-Fenster von `RSYS' aufgerufen
- (Menüpunkt Format).
-
- Das Action-Window
- =================
-
- Erscheint auf der WorkBench das AppIcon, so können in bekannter Manier eine
- oder mehrere WorkBench-Icons (also Directories, Dateien, Disc-Icons, etc.) auf
- dieses Icon gezogen werden. Daraufhin erscheint ein kleines Window mit
- mehreren Gadgets, das Action Window.
-
- Der Text Formatierer
- ********************
-
- Ab `RSYS' 1.2 ist es möglich, beim Abspeichern einer Liste die Ausgabe
- noch etwas zu formatieren. Diese Möglichkeit kann mit dem Menüpunkt `Text
- Formatter' abgeschaltet werden.
-
- Eine Anwendung wäre zum Beispiel, wenn Ihr nach Dateien suchen laßt,
- die Ihr dann löschen wollt. Ihr öffnet das `Find File'-Fenster und tragt
- das entsprechende Pattern ein, z.B. `#?.bak'. Die ausgewählten Devices
- werden dann nach solchen Dateien durchsucht. Habt Ihr alle zusammen,
- speichert Ihr die Datei ab. Nach dem Filerequester erscheint der
- `Text-Formatter'. Dort schreibt Ihr als Prefix `Delete' hinein. Dann
- schaltet Ihr noch alle Schalter ein und klickt dann auf `Use format'. Die
- Einträge werden dann in dem Format
-
- Delete "datei.bak"
-
- abgespeichert. Diese Datei könnt Ihr dann mit `Execute' ausführen und
- alle gefundenen Dateien werden gelöscht.
-
- Möchtet Ihr eine Liste abspeichern, erscheint nach jedem Filerequester ein
- Fenster mit acht Gadgets. Diese acht Gadgets im einzelnen.
-
- Das Prefix-Gadget
- =================
-
- - String-Gadget: Prefix
- Hier wird eingetragen, was *vor* dem zu speichernden Listeneintrag stehen
- soll.
-
- Das Text to save-Gadget
- =======================
-
- - Text-Gadget: Text to save
- In diesem Gadget wird die Formatierung des zu speichernden
- Listeneintrags angezeigt. Diese kann sich ändern, wenn die Gadgets `Blank
- between texts' und `Quote-in text' gesetzt sind.
-
- Das Postfix-Gadget
- ==================
-
- - String-Gadget: Postfix
- Hier steht der Text, der *nach* dem Listeneintrag kommen soll.
-
- Das Blanks beween texts-Click-Gadget
- ====================================
-
- - Click-Gadget: Blanks beween texts
- Ist dieser Schalter angeklickt, wird zwischen dem Prefix und dem
- Listeneintrag sowie zwischen dem Listeneintrag und dem Postfix ein
- Leerzeichen (`Blank') eingefügt.
-
- Das Quote-in text-Click-Gadget
- ==============================
-
- - Gadget: Quote-in text
- Ist dieser Schalter angeklickt, wird der Listeneintrag in
- Anführungszeichen gesetzt.
-
- Das No header in file-Click-Gadget
- ==================================
-
- - Gadget: No header in file
- Bei formatierten Ausgaben ist es manchmal nicht wünschenswert, daß eine
- Titelzeile in die Datei geschrieben wird. Das kann mit diesem Gadget
- abgeschaltet werden.
-
- Das Use Format-Gadget
- =====================
-
- - Gadget: Use Format
- Das eingestellte Format wird verwendet und die Liste in diesem Format
- abgespeichert.
-
- Das No Format-Gadget
- ====================
-
- - Gadget: No Format
- Die eingestellte Formatierung wird nicht berücksichtigt und die Liste ganz
- standardmäßig abgespeichert.
-
- Die Font-Anzeige
- ****************
-
- Die Anzeige eines gewählten Fonts wurde erheblich verbessert. Ab Version
- 1.3 wird nicht mehr der ASL-FontRequester verwendet, sondern ein eigenes
- Fenster verwendet. Dieses besteht aus einem großen Anzeige-Bereich und
- insgesamt vier Gadgets, mit denen die Attribute des Fonts eingestellt werden
- können.
-
- Diese Attribute können auch kombiniert verwendet werden. Jeder Einstellung
- der Attribut-Gadgets beeinflußt die Stellung des `Normal'-Gadgets. Mit einem
- Klick auf das `Normal'-Gadget werden alle anderen Attribute zurückgesetzt. Die
- Bedienung ist also vöölig analog zu dem ASL-FontRequester.
-
- Das Text-Feld
- =============
-
- - Area: Das Text-Feld
- In diesem Feld wird ein Beispieltext in dem zu zeigenden Font angezeigt.
- Der Beispieltext setzt sich aus der Fontgröße und dem Namen des Fonts
- zusammen, z.B.
-
- (8) topaz.font
-
- Die Fonts können jede beliebige Größe einnehmen. Ist der Font größer
- als das Text-Feld, wird ein entsprechender Bereich *geclipt* dargestellt.
- Das bedeutet, daß der Text ab links oben dargestellt wird und der maximal
- sichtbare Bereich gezeigt wird.
-
- Diese Technik wird übrigens ganz einfach mit sogenannten *Clip-Regions*
- realisiert. Eine Vorgehensweise, die ich erst vor kurzem kennen gelernt
- habe. Ein Blick in den Quellcode ist sehr instruktiv!
-
- Das Normal-Click-Gadget
- =======================
-
- - Click-Gadget: Normal
- Alle Attribute werden zurückgesetzt und der Font in der normalen
- Einstellung angezeigt.
-
- Das Italic-Click-Gadget
- =======================
-
- - Click-Gadget: Italic
- Der Font wird zusätzlich in kursiver Darstellung gezeigt.
-
- Das Bold-Click-Gadget
- =====================
-
- - Click-Gadget: Bold
- Der Font wird zusätzlich in fetter Darstellung gezeigt.
-
- Das Underl-Click-Gadget
- =======================
-
- - Click-Gadget: Underl
- Der Font wird zusätzlich in unterstrichener Darstellung gezeigt.
-
- Der Speicher-Monitor
- ********************
-
- Ab Version 1.3 gibt es die Möglichkeit, den Speicher ab einer gewählten
- Adresse anzusehen, den `Monitor'. Dieser erscheint immer dann, wenn ein Objekt
- mit einer Adresse geklickt wurde und dieses nicht modifiziert werden kann. In
- Version 1.2 wurde an dieser Stelle nur kurz `gebeept'.
-
- Ich habe eine Speicherliste eingebaut, deren Aufbau ich der Dokumentation
- zum Programm `Enforcer' entnommen habe. Bevor der Monitor erscheint, wird eine
- Adreßüberprüfung vorgenommen, ob die gewünschte Adresse überhaupt
- zulässig ist. Ist sie es nicht, erscheint ein Systemrequester mit allen
- erkennbaren Attributen des anvisierten Speicherbereichs. Das Auslesen eines
- unzulässigen Speicherbereiches kann zu einem `Enforcer'-Hit führen, wenn
- dieser ausgelesen wird.
-
- Das Monitorfenster besteht aus einem Anzeige-ListView und mehreren Gadgets.
-
- Das Entry-Gadget
- ================
-
- - Text-Gadget: Entry
- In diesem Gadget erscheint zur Information noch einmal die Zeile im
- Haupt-Listview von `RSYS'. Dahinter in `[]' der Typ des Speichers, wie er
- aus der implementierten `Enforcer'-Liste der Speicherbereiche ausgelesen
- wurde.
-
- Das Start-Gadget
- ================
-
- - Text-Gadget: Start
- Hier steht die Startadresse, ab der der Speicher angezeigt wird.
-
- Das Current-Gadget
- ==================
-
- - Gadget: Current
- Hier steht die aktuelle Adresse, ab der der Speicher angezeigt wird. Der
- Speicher wird in 512-Byte-Blöcken angezeigt.
-
- Das Display-Gadget
- ==================
-
- - Cycle-Gadget: Hex/ASCII-Hex-ASCII
- Hiermit kann die Art der Anzeige ausgewählt werden.
-
- Das Speicher-ListView und der Header
- ====================================
-
- - Gadget: Speicher-ListView/Header
- Hier steht formatiert der aktuell formatierte Speicherinhalt. Der Speicher
- wird in 512-Byte-Blöcken angezeigt.
-
- Die Speicherbereichs-Gadgets
- ============================
-
- - Gadget: <<< Prev 512 Byte
- - Gadget: To start address
- - Gadget: >>> Next 512 Byte
- Mit diesen Gadgets kann der Speicherbereich aktualisiert werden. Das erste
- Gadget zeigt den vorhergehenden, das dritte den nachfolgenden und das
- zweite den Startbereich des Speichers an.
-
- Die Save-Gadgets
- ================
-
- - Gadget: Save C-Code
- - Gadget: Save ASCII
- - Gadget: Save Hex
- - Gadget: Save as is
- Mit diesen Gadgets kann der angezeigte Speicherbereich auf verschiedene
- Arten in eine Datei gespeichert werden. Hier ein paar Beispiele:
-
- *Als C-Code:*
- /*
- RSys-C-Code Generator
- Memory at 0x00203672
- */
-
- ULONG RSysData[] = {
- 0x00000000, 0x00000000, 0x000000F8, 0xF7C80020,
- 0x362400F8, 0xF7740000, 0x00000000, 0x00000000,
- 0x00F8F7C8, 0x00203624, 0x00F8F78A, 0x00000000,
- 0x00000000, 0x000000F8, 0xF7C80020, 0x362400F8,
- 0xF7A0002E, 0x4FBC4EF9, 0x00FC775C, 0x4EF900FC,
- 0x77340020, 0x63880020, 0x36240800, 0x00FC76D6,
- 0x0600000C, 0x00320025, 0x00010000, 0x00000000,
- 0x00000000, 0x0033CE18, 0x0033CE18, 0x00000000,
- 0x00000000, 0x00000000, 0x4EF900FA, 0x3FE24EF9,
- 0x00FA3DCE, 0x4EF900FA, 0x15DA4EF9, 0x00FA4036,
- 0x4EF9002E, 0x8E0C4EF9, 0x00FA15A8, 0x4EF900FA,
- 0x14604EF9, 0x00FA1258, 0x4EF900FA, 0x14B24EF9,
- 0x00FA12AA, 0x4EF900FA, 0x3D384EF9, 0x002E8DD4,
- 0x4EF9002E, 0x8DEA4EF9, 0x00FB3BAC, 0x4EF900FB,
- 0x3BC24EF9, 0x002E8E1C, 0x4EF9002E, 0x8E344EF9,
- 0x00FA124A, 0x4EF9002E, 0x8DF44EF9, 0x00FA122C,
- 0x4EF900FA, 0x6B8C4EF9, 0x00FA429E, 0x4EF900FA,
- 0x41624EF9, 0x00FA53A0, 0x4EF900FA, 0x4F784EF9,
- 0x00FA6B98, 0x4EF900FA, 0x6B804EF9, 0x00FA6B74,
- 0x4EF900FA, 0x114C4EF9, 0x00FA1848, 0x4EF900FA,
- 0x18484EF9, 0x00FA0E70, 0x4EF900FA, 0x10884EF9,
- 0x00FA2D7C, 0x4EF900FA, 0x2D0E4EF9, 0x00FA2C90,
- 0x4EF900FA, 0x0E584EF9, 0x00FA32CA, 0x4EF900FA,
- 0x68F84EF9, 0x00FA0BD0, 0x4EF900FA, 0x0BB84EF9,
- 0x00FA0B7C, 0x4EF900FA, 0x0ADE4EF9, 0x00FA0ABC,
- 0x4EF900FA, 0x306E4EF9, 0x00FA0E40, 0x4EF900FA,
- 0x096C4EF9, 0x00FA095C, 0x4EF900FA, 0x2E0A4EF9,
- 0x00FA2E26, 0x4EF900FA, 0x2CDC4EF9, 0x00FA2D5A,
- 0x4EF900FA, 0x2BC04EF9, 0x00FA2AC2, 0x4EF900FA,
- 0x07FC4EF9, 0x00FA07DC, 0x4EF900FA, 0x3C1E4EF9,
- 0x00FA3BF4, 0x4EF900FA, 0x3C884EF9, 0x00FA03D0,
- 0x4EF900FA, 0x0A084EF9, 0x00FA097C, 0x4EF900FA,
- };
- /* End of Code */
-
- *Als Hex:*
- ----------------------------------------------
- Memory at 0x00203672
- ----------------------------------------------
-
- 000: 00 00 00 00 00 00 00 00 00 00 00 F8 F7 C8 00 20
- 010: 36 24 00 F8 F7 74 00 00 00 00 00 00 00 00 00 00
- 020: 00 F8 F7 C8 00 20 36 24 00 F8 F7 8A 00 00 00 00
- 030: 00 00 00 00 00 00 00 F8 F7 C8 00 20 36 24 00 F8
- 040: F7 A0 00 2E 4F BC 4E F9 00 FC 77 5C 4E F9 00 FC
- 050: 77 34 00 20 63 88 00 20 36 24 08 00 00 FC 76 D6
- 060: 06 00 00 0C 00 32 00 25 00 01 00 00 00 00 00 00
- 070: 00 00 00 00 00 33 CE 18 00 33 CE 18 00 00 00 00
- 080: 00 00 00 00 00 00 00 00 4E F9 00 FA 3F E2 4E F9
- 090: 00 FA 3D CE 4E F9 00 FA 15 DA 4E F9 00 FA 40 36
- 0A0: 4E F9 00 2E 8E 0C 4E F9 00 FA 15 A8 4E F9 00 FA
- 0B0: 14 60 4E F9 00 FA 12 58 4E F9 00 FA 14 B2 4E F9
- 0C0: 00 FA 12 AA 4E F9 00 FA 3D 38 4E F9 00 2E 8D D4
- 0D0: 4E F9 00 2E 8D EA 4E F9 00 FB 3B AC 4E F9 00 FB
- 0E0: 3B C2 4E F9 00 2E 8E 1C 4E F9 00 2E 8E 34 4E F9
- 0F0: 00 FA 12 4A 4E F9 00 2E 8D F4 4E F9 00 FA 12 2C
- 100: 4E F9 00 FA 6B 8C 4E F9 00 FA 42 9E 4E F9 00 FA
- 110: 41 62 4E F9 00 FA 53 A0 4E F9 00 FA 4F 78 4E F9
- 120: 00 FA 6B 98 4E F9 00 FA 6B 80 4E F9 00 FA 6B 74
- 130: 4E F9 00 FA 11 4C 4E F9 00 FA 18 48 4E F9 00 FA
- 140: 18 48 4E F9 00 FA 0E 70 4E F9 00 FA 10 88 4E F9
- 150: 00 FA 2D 7C 4E F9 00 FA 2D 0E 4E F9 00 FA 2C 90
- 160: 4E F9 00 FA 0E 58 4E F9 00 FA 32 CA 4E F9 00 FA
- 170: 68 F8 4E F9 00 FA 0B D0 4E F9 00 FA 0B B8 4E F9
- 180: 00 FA 0B 7C 4E F9 00 FA 0A DE 4E F9 00 FA 0A BC
- 190: 4E F9 00 FA 30 6E 4E F9 00 FA 0E 40 4E F9 00 FA
- 1A0: 09 6C 4E F9 00 FA 09 5C 4E F9 00 FA 2E 0A 4E F9
- 1B0: 00 FA 2E 26 4E F9 00 FA 2C DC 4E F9 00 FA 2D 5A
- 1C0: 4E F9 00 FA 2B C0 4E F9 00 FA 2A C2 4E F9 00 FA
- 1D0: 07 FC 4E F9 00 FA 07 DC 4E F9 00 FA 3C 1E 4E F9
- 1E0: 00 FA 3B F4 4E F9 00 FA 3C 88 4E F9 00 FA 03 D0
- 1F0: 4E F9 00 FA 0A 08 4E F9 00 FA 09 7C 4E F9 00 FA
-
- Der C-Code kann unmittelbar in C-Programmen eingebunden werden.
-
- Hintergrundinfos
- ****************
-
- Zusammenarbeit mit anderen Programmen
- =====================================
-
- `RSYS' wurde unter Berücksichtigung aller mir bekannten Richtlinien der
- Programmierung unter AmigaOS 2.0 geschrieben. Alle kritischen Routinen wurden
- bis zu dreimal abgesichert. Das bläht zwar etwas den Code, gewährleistet
- aber die Lauffähigkeit auch unter Betriebssystemen >= 2.04.
-
- Besonderer Wert wurde auf die Vermeidung von Speicherfehlern und
- `Enforcer'-Hits gelegt. Bei einem auftretenden Speicherfehler wird in den
- meisten Fällen das Programm unter Angabe von Quelldatei- und Funktionsname,
- sowie der Zeilennummer im Quelltext abgebrochen und beendet.
-
- `RSYS' ist darauf ausgelegt, mit allen Programmen so gut wie möglich
- zusammenzuarbeiten. Das schließt jedoch die Programme aus, die von Haus aus
- Hacks sind, die sich nicht an die Programmierrichtlinien unter AmigaOS halten.
- Weiterhin hat `RSYS' keinerlei Problem mit systemkonformen Patches, wie z.B.
- `MagicMenu' von Martin Korndörfer, oder `MFR' von Stefan Stuntz.
-
- Viele Leute haben mich per EMAIL angeschrieben, daß ich doch bitte OS
- 3.0-Features verwenden soll. `RSYS' soll eigentlich unter allen Systemen >2.0
- laufen, weswegen ich spezielle Features von 3.0 absichtlich vermieden habe.
- Ausnahmen bilden jedoch einige verwendete Tags, wie z.B. die
- `GTM_NewLookMenus', das die Standard-3.0-Menüfarben einstellt. Diese werden
- von OS 2.x-System ignoriert, womit also dem Einbau nichts im Wege stand.
-
- Ein weiteres Feature von OS 3.0 ist die Routine `GT_GetGadgetAttrsA' der
- `gadtools.library'. Damit wird eine vollständige Steuerung der
- ListView-Gadgets über Pfeiltasten ermöglicht. Diese ist jedoch unter 2.x
- noch nicht implementiert, sodaß auch dieses Feature in `RSYS' aus Gründen der
- Kompatibilität nichts zu suchen hat.
-
- Systemlisten und Schutzprotokolle
- =================================
-
- Intuition-Objekte werden beim Auslesen der Daten mit dem Protokoll
- "LockIBase() / UnlockIBase()" geschützt. Damit werden die jeweiligen Listen
- vor der Veränderung durch Intuition-Routinen während des Auslesens
- ausreichend geschützt. Bei der Veränderung der Objekte durch `RSYS' ist
- selten ein Schutzprotokoll erforderlich, da die Routinen von Intuition dieses
- meistens selbst erledigen.
-
- Alle Exec-Objekte, wie Tasks, Ports, Libraries, etc., werden während des
- Auslesens durch ein "Forbid()/Permit()", im Falle von Tasks, sogar durch ein
- "Disable()/Enable()" vor Veränderung durch Systemroutinen geschützt. Im
- Falle der Tasks ist zum Auslesen der Taskzeiger das Protokoll
- "Disable()/Enable()" zu verwenden, zum Auslesen der Taskstruktur reicht
- jedoch ein "Forbid()/Permit()".
-
- "Disable()/Enable()" sollte deswegen verwendet werden, da die Systemliste in
- der ExecBase durch den interruptgesteuerten Task-Scheduler laufend in ihrer
- Anordnung geändert wird (man denke nur an die Aktivierung eines Tasks,
- also die Umsetzung des entsprechenden Taskknotenzeigers aus der Wait-Liste
- in die Ready-Liste und dann in den Running-Zustand
- [ExecBase->ThisTask-Eintrag]).
-
- Die Task-Struktur selber kann jedoch nur von einem Task oder Prozeß aus
- verändert werden. Daher reicht zum Auslesen der Taskstruktur das
- Protokoll "Forbid()/Permit()" aus. Daraus ergibt sich also folgendes
- Schema:
-
- Reservieren der eigenen Struktur-Speicherbereiche
-
- "Forbid()";
-
- "Disable()";
- Auslesen und Merken der Tasknodes
- "Enable()";
-
- Auslesen der Taskstrukturen in eigene Strukturen (*ohne*
- Verwendung von DOS-Routinen, also KEIN FGets(), Open() etc.)
-
- "Permit()";
-
- Auswerten der eigenen Strukturen
- Freigeben der eigenen Struktur-Speicherbereiche
-
- Für die Implementation dieser Routinen könnt Ihr den dokumentierten
- Quelltext einsehen.
-
- Unter diesen Vorsichtsmaßnahmen sollte es keine Probleme im Zusammenspiel
- mit anderen Programmen geben, bis auf eine Einschränkung: `RSYS' kann nicht
- mit Programmen zusammenarbeiten, die nicht systemkonform programmiert wurden.
- Beispiele dafür sind Programme, die beispielsweise den Namen eines
- öffentlichen Ports nicht korrekt initialisieren. So kommt es beispielsweise
- vor, daß ein Programm zwar einen Zeiger auf einen Portnamen ungleich Null hat,
- diesen Zeiger aber uninitialisiert läßt und dieser dann folglich irgendwohin
- zeigt. Die Folge ist im harmlosesten Fall ein `Enforcer'-Hit des Typs
- `READ-BYTE' (beim Auslesen des vermeintlichen Strings), im extremsten Fall ein
- Guru!
-
- Ich habe das Problem jetzt so gelöst, daß ich bei den auszulesenen
- Node-Namen das Typen-Flag untersuche. Steht dort der Eintrag `NT_UNKNOWN' oder
- nicht das erwartete Flag, lese ich den String einfach nicht aus, sondern trage
- in das ListView
-
- <wrong type:0>
-
- ein. Hierbei steht die `0' für den ermittelten Knotentypen. Die möglichen
- Knotentypen sind:
-
- Wert Typ
- ------------------------------------------------------
- 0 Unbekannter Node-Typ
- 1 Task
- 2 Interrupt
- 3 Device
- 4 Message Port
- 5 Message
- 6 `freie' Message
- 7 Message wurde beantwortet
- 8 Resource
- 9 Library
- 10 Memory-Node
- 11 Softinterrupt
- 12 Font
- 13 Prozeß
- 14 Semaphor
- 15 Signalsemaphor
- 16 Boo-Node
- 17 Kick-Memory-Node
- 18 Graphics-Node (Monitor-Node z.B.)
- 19 Death Message (eine `tote' Nachricht)
- 254 Benutzerdefinierter Node
- 255 Erweiterung (auch benutzerdefiniert)
-
- Manche Systemutilities (z.B. ARTM) achten darauf nicht und produzieren
- `Enforcer'-Hits en mas. Diese Fehler lassen sich auch nicht vermeiden. Der
- Aufwand dafür wäre einfach zu groß, da man ja praktisch Teile des
- Programms `Enforcer' in das eigene Programm implementieren müßte. Solange
- man nicht davon ausgehen kann, daß *JEDER* Programmierer systemkonform
- programmiert, wird es diese Lücke auch weiterhin geben.
-
- Ein weiterer typischer Fehler ist die Verwendung der Compiler-Funktion
- "strcpy()" auf Quellstrings vorher unbekannter Länge. Viele Programmierer
- verwenden diese Routine, um schneller Strings zu kopieren. Dabei wird nicht
- beachtet, daß man eventuell gar nicht soviel Speicherplatz reserviert hat, um
- den Quellstring aufzunehmen. Ein signifikantes Beispiel dafür ist das o.g.
- Port-Namen-Problem. Ist der String uninitialisiert und nicht mit `ASCII 0'
- terminiert, kopiert "strcpy()" einen solchen Portnamen bis in alle Ewigkeit,
- bis zum Ende des Speichers, bis zur nächsten Einsprungadresse eines anderen
- Tasks oder bis zur nächsten Reise von Indian tours `:-)' Manche Programmierer
- sagen sich dann, überprüfen wir doch einfach mit "strlen()" den Quellstring.
- Nun, da "strlen()" auch solange zählt, bis `ASCII 0' erkannt wurde, ist diese
- Methode auch für eine Auslandsreise nach Indien durchaus geeignet.
-
- Das einfachste und probateste Mittel in diesem Fall, ist die
- Compiler-Funktion "strncpy()". Damit kann man einfach festlegen, wieviel
- Zeichen denn nun kopiert werden sollen. Das einzige, was jetzt noch stört,
- ist der `READ-BYTE'-Hit den man bekommt, wenn man *merkwürdige* Adressen an
- "strncpy()" übergibt.
-
- Ein weitere Fehlerquelle ist die Verwendung von "printf()" in allen
- seinen Erscheinungsformen ("sprintf()", "vsprintf()" etc.) im Zusammenhang mit
- Systemlisten. Da die "printf()"-Routinen auch auf DOS-Routinen zugreifen,
- sind sie zum zügigen Kopieren von mehreren Systemeinträgen ungeeignet.
- Die Routine "RawDoFmt()" der Exec-Library ist jedoch *sicher*. Mit ihr kann man
- sich selbst ein "sprintf()" zusammenbauen, was ich auch getan habe.
- Normalerweise befindet sich aber diese Routine in der `amiga.lib'.
-
- Sicher ist weiterhin die Verwendung der "str...()"-Routinen zwischen
- Schutzprotokollen, da diese nur Speicherbereiche kopieren oder
- verschieben. Möchte man es trotzdem noch schneller haben, gibt es noch
- die Funktionen "CopyMem()" und "CopyMemQuick("). Bei letzterer ist zu
- beachten, daß die Daten auf longwords ausgerichtet sein müssen.
- Beide Routinen gehören zur `exec.library', können also bei
- Systemlistenuntersuchungen verwendet werden.
-
- Tips und Tricks
- ***************
-
- Diese Sparte ist zunächst leer. Sollten sich Anfragen und Tips aus dem
- hoffentlich großen Kreis von `RSYS'-Benutzern, wird sich dieser Bereich
- füllen.
-
- Stop! Ein paar Tips habe ich schon :-)
-
- Batch zum Debuggen von Programmen
- =================================
-
- Der folgende Batch (Name `tracer') war mir beim Testen des Programmes sehr
- hilfreich:
-
- .KEY onoff,program/A
- .bra {
- .KET }
-
- if { program } eq ""
- echo "Aufruf: tracer [ON | OFF] [program]"
- quit
- endif
-
- if { onoff } eq ON
- assign t: doks:t
- cpu nofastrom
- run >NIL: <NIL: MungWall TASK {program}
- run >NIL: <NIL: IO_Torture
- run >NIL: <NIL: enforcer ON
- run sushi <>"CON:0/190//80/Sushi CTRL-E:Empty CTRL-F:File/AUTO/CLOSE"
- ON BUFK=1024
- else
- if { onoff } eq OFF
- Utilities:ProgUtils/Sushi/sushi OFF
- run >NIL: <NIL: enforcer OFF
- tbreak IO_Torture
- tbreak MungWall
- cpu fastrom
- assign t: ram:t
- else
- echo "Aufruf: tracer [ON | OFF] <[program]>"
- endif
- endif
-
- Das Programm tbreak
- ===================
-
- Das Programm `tbreak' sendet einen Break-Signal an den Task, dessen Name
- als Parameter beim Aufruf mit angegeben wurde. Es ist ein kleines
- Programm, daß ich mal quick and dirty gehackt habe. Hier kommt der kleine
- Quelltext dazu:
-
- #include <exec/types.h>
- #include <exec/execbase.h>
-
- #include <dos/dos.h>
- #include <dos/dosextens.h>
-
- #include <clib/dos_protos.h>
- #include <clib/exec_protos.h>
-
- #include <stdio.h>
- #include <string.h>
-
- #define STRINGEND '\0'
-
- char *
- B2CStr(char *ret, BSTR inp)
- {
- register int i;
- char *help = (char *)BADDR(inp);
-
- for (i = 0; i < *help; i++)
- *(ret + i) = *(help + i + 1);
-
- *(ret + i) = STRINGEND;
-
- return (ret);
- }
-
- int
- main(int argc,char **argv)
- {
- struct DOSBase *DOSBase = NULL;
- extern struct ExecBase *SysBase;
- int ret = RETURN_FAIL;
-
- if(DOSBase = (struct DOSBase *)OpenLibrary((STRPTR)"dos.library", 33L))
- {
- struct Node *node,*membernode[200];
- struct CommandLineInterface *CLI;
- char modname[200];
- int i,j,out;
-
- if(argc != 2)
- Printf((STRPTR)"Aufruf: %s <taskname>\n",argv[0]);
- else
- {
- Forbid();
- Disable();
-
- for (node = SysBase->TaskWait.lh_Head;
- node->ln_Succ&& i < 200; node = node->ln_Succ)
- membernode[i++] = node;
-
- for (node = SysBase->TaskReady.lh_Head;
- node->ln_Succ && i < 200; node = node->ln_Succ)
- membernode[i++] = node;
-
- if (i < 200)
- membernode[i++] = &SysBase->ThisTask->tc_Node;
-
- Enable();
-
- out = FALSE;
-
- for (j = 0; j < i && !out && i < 200; j++)
- {
- struct Process *proc = (struct Process *)membernode[j];
- if(CLI = (struct CommandLineInterface *)BADDR(proc->pr_CLI))
- {
- B2CStr(modname,CLI->cli_CommandName);
- if (!strcmp(argv[1],modname))
- {
- Signal((struct Task *)proc,
- SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_D |
- SIGBREAKF_CTRL_E | SIGBREAKF_CTRL_F);
- out = TRUE;
- }
- }
- }
-
- Permit();
-
- if(out == TRUE)
- Printf((STRPTR)"Task with command \'%s\' signaled...\n",argv[1]);
- if(i >= 200)
- PutStr((UBYTE *)"More than 200 tasks read!\n");
-
- ret = RETURN_OK;
- }
- CloseLibrary((struct Library *)DOSBase);
- }
-
- return(ret);
- }
-
- Danksagungen
- ************
-
- * Klaus Spark (Klaspa)
-
- Mein erster und kritischster Betatester. Ohne ihn sähe `RSYS' ganz
- anders aus! Danke Klaus!
-
- * Klaus Nolte (Viking)
-
- Der zweite Betatester. Seine Langzeitversuche sind die besten! Danke
- Klaus!
-
- * Lars Monecke (Mave)
-
- Er betatestete und steuerte die Icons zu `RSYS' bei, die ich ein klein
- wenig modifizierte. Danke Mave!
-
- * Michael (Pokey, Sysop der CASABLANCA)
-
- Seinen kritischen Anmerkungen verdankt das Installer-Script sein heutiges
- Aussehen. Danke Michael!
-
- * Olaf 'Olsen' Barthel
-
- Seine Quelltexte zu `term' und anderen sind ein wahre Fundgrube für jeden
- Programmierer!
-
- * Thomas Breit, Sysop der Box ACBW in Wolfsburg
-
- Er betatestete und fand einige Fehler.
-
- * Florian Faber
-
- Er betatestete und trieb mich mit seinem 4000er fast an den Rand der
- Aufgabe. Danke Florian!
-
- * Franz-Josef Reichert (FJR)
-
- Ihm verdanke ich einige Hinweise zur Systemprogrammierung. Danke, FJ!
-
- * Michael Sinz
-
- Sein Enforcer ist der Beste. Viele Fehlerbeseitigungen gehen auf sein
- Konto `:-)'
-
- * Jan van den Baard
-
- Seine GadToolsBox erlaubte das Design von `RSYS'. Danke Jan!
-
- * Carolyn Scheppner
-
- Dein Sushi zeigte mir ohne viel Papierverschwendung, was über die
- Serielle an Hits kamen `:-)'
-
- * Thomas Carstens
-
- Sein Programm ShowGuru sagte mir, was ich schon wieder falsch gemacht
- habe `:-)'
-
- Viele, viele andere Leute im Z-Netz und sonstwo,
- von denen ich gelernt habe, zu programmieren.
-
- Verwendete Software
- *******************
-
- Dieses Programm entstand mit Hilfe folgender Programme :
-
- Aztec C68k/Amiga 5.2a Sep 25 1991 17:04:29
- Copyright 1991 by Manx Software Systems, Inc.
-
- GadToolsBox 37.176 (01.9.92)
- (c) Copyright 1991,92 Jaba Development
-
- CEdPro2 Version 2.11
- (c) Copyright by CygnusSoft Software
-
- mungwall 36.45 (9.5.91)
- Copyright (c) 1990, 1991 Commodore-Amiga, Inc.
-
- Enforcer 37.25
- Copyright (c) 1992 Michael Sinz
-
- io_torture 37.6 (16.1.91)
-
- texinfo 2.109
- Copyright (C) 1985, 86, 88, 90, 91, 92, 1993
- Free Software Foundation, Inc.
-
- MakeInfo 1.55
- Copyright (C) 1993 Reinhard Spisser and Sebastiano Vigna
- Under GNU License
-
- DVI-Print - Version 1.07L for AMIGA (c) 1990/91
- (c)Copyright 1990-91, (hes/rbs) , All rights reserved. Feb 9 1991
-
- ShowDVI - Version 1.17L for AMIGA (c) 1990/91
- (c)Copyright 1990-91, (hes). All rights reserved. Sep 28 1991
-
- Da das Programm Funktionen der Kickstart 2.0 verwendet, läuft es
- folglich nur auf Amigas mit Kickstart >= 2.0.
-
- History
- *******
-
- ============
- Version 1.01 (unveröffentlicht)
- ============
-
- 10-Apr-93
- ---------
-
- - BACKPATTERNCOL = 0, dann wurde das Fenster nach einem ZipWindow nicht
- korrekt aufgebaut. Bug fixed.
- - Iconname (Programmname) global gemacht mit Notify auf die Icon-Datei.
-
- 18-Apr-93
- ---------
-
- - CenterWindow() erheblich vereinfacht
- - Aus "Available fonts" wurde "Fonts in FONTS:", da die ROM-Fonts
- schon mit dem Button "Fonts" angezeigt werden können.
- - Aus "Quit Sys" wurde "Quit RSys"
-
- 22-Apr-93
- ---------
-
- - Library offsets eingeführt, checkt die gepatchten Libraries und Devices
-
- ============
- Version 1.02 (unveröffentlicht)
- ============
-
- 01-May-93
- ---------
-
- - Das sprintf() bricht kein Forbid()! Daher schreibe ich alle
- Funktionen um.
-
- 02-May-93
- ---------
-
- - Die ASL-Routinen wurden gekürzt
- - Das Einsortieren der Listeneinträge verursachte unter bestimmten
- Umständen Enforcer-Hits. Diese wurden beseitigt.
- - Die Anzeige des DOS-Typs bei Volumes sah etwas wild aus. Beseitigt.
- - Die Fontanpassung wurde etwas verbessert. Bei kleinen System-Screen-Font
- wurde bei einigen Anzeigen im ListView das letzte Zeichen verschluckt.
-
- 06-May-93
- ---------
-
- - Abspeichern ins Clipboard ist jetzt möglich. Eine ganze Liste kann im
- Clipboard abgelegt werden
-
- 07-May-93
- ---------
-
- - Ein neuer Menüpunkt ist dazugekommen: Flushing. Mit ihm können entweder
- alle unbenutzten Libraries oder Fonts aus dem System entfernt werden
-
- 08-May-93
- ---------
-
- - Die Source wurde ausführlicher dokumentiert. Jede Quelldatei hat nun
- ihren Header.
- - Die Port-Liste wurde nicht sortiert. Bug fixed.
- - Der eingebaute Font ibm.font wurde entfernt und durch ein
- OpenDiskFont()-Call ersetzt. Wird der ibm.font nicht gefunden, wird
- Standard-Topaz für die Baumstruktur verwendet.
- - Das ListView wird Read Only, wenn ein Hunk-Listing erstellt wird.
-
- 10-May-93
- ---------
-
- - Es gibt ein neues Menü "ClipBoard". Es kann dort die ganze Liste, oder
- ein Eintrag aus dieser Liste ins ClipBoard kopiert werden.
- - Ein Enforcer-Hit wurde beseitigt. Die Routine GetNode() funktioniert
- nun korrekt.
-
- 13-May-93
- ---------
-
- - Einige Requester wurden geändert
- - Der Menüpunkt "Check Libraries" wurde ins Menü "Special Actions"
- verlagert.
-
- 16-May-93
- ---------
-
- - Das globale Steuerfeld bekommt ein Bit mehr. Darin wird verzeichnet, ob
- eine Zählstatistik im unteren Textgadget angezeigt werden soll.
-
- 20-May-93
- ---------
-
- - Bug im Menüpunkt "Speak" beseitigt. Nach einem "Topaz font" wurde
- dieser Menüpunkt nicht korrekt gesetzt.
- - Es gibt jetzt einen Modus, in dem alle Ja/Nein-Abfragen von RSys
- default gesetzt werden. Damit wird die Bedienung etwas schneller, falls
- es gewünscht wird. Deshalb gibts dann auch das neue Tooltype
- NOSAVEASKING.
- - Der Quelltext wurde etwas überarbeitet.
- - Die Menüs wurden überarbeitet.
-
- 20-May-93
- ---------
-
- - Der Menüpunkt "Volume locks" ist dazugekommen.
- - Bug in der Memory-Anzeige gekillt.
- - Schweren Bug in der Jump()-Routine beseitigt!
-
- 07-Jun-93
- ---------
-
- - Jedes Fenster hat jetzt ein Pattern-Muster, wie das Hauptfenster.
- - Die "Check Libraries-Routine funktionierte nicht mit 4000er-ROMS. Jetzt
- wird der korrekte Offset des KickROMs berechnet.
-
- 12-Jun-93
- ---------
-
- - Das APP-Icon kann jetzt abgestellt werden.
- - Das Centering funktionierte mal wieder nicht. Behoben.
- - Das Patternmuster der Fenster kann jetzt zweifarbig dargestellt werden.
-
- 21-Jun-93
- ---------
-
- - Es ist ein Textformatter für die Ausgaben auf Datei hinzugekommen.
- - Die Sourcedateien wurden überarbeitet und weiter aufgeteilt
- - Der MakeFile sieht etwas anders aus
- - Das Installations-Script wurde vollständig neu geschrieben
-
- 24-Jun-93
- ---------
-
- - Riesenbug in der "Memory"-Anzeige beseitigt. Führte auf dem 2000er zu
- keinerlei Abstürzen, aber unter OS3 zu Chaos!
- - Das Fehlerbehandlungssystem wurde total überarbeitet. Und schon wieder
- 1.5 KB kürzer :-).
- - Alle Libraries werden mit der Versionsnummer 36 geöffnet. Damit werden
- "falsche" Library-Aufrufe vermieden.
-
- 25-Jun-93
- ---------
-
- - Die Speicherverwaltung wurd etwas optimiert
- - Ich habe endlich einen einigermaßen sicheren Weg gefunden,
- uninitialisierte Pointer auf Node-Namen korrekt abzufangen.
- Glücklicherweise trägt das System (manchmal) ein NT_UNKNOWN als Type
- des Nodes ein. Geschieht das, ist dieser Node sowieso Müll.
- - Die Labels der Gadgets sind bei einer unglücklichen Wahl des
- Patternmusters und der Farben etwas "zerlegt". Bug fixed.
- - Die Funktion, die den Namen eines Nodes in einen String kopiert, wurde
- jetzt vom Node-Typen abhängig gestaltet. Damit hoffe ich einige
- Enforcerhits, die sich bei unsauber eingerichteten Knotennamen ergaben
- den Garaus gemacht zu haben.
- - Das Fenster zum Einstellen einer Taskpriorität bekam kein Pattern. Bug
- fixed.
- - Gewaltiger Bug in der "Save Windows"-Routine entfernt!
-
- ===========
- Version 1.2
- ===========
-
- 30-Jun-93
- ---------
-
- - Die Dokument-Dateien wurden mit TexInfo bearbeitet und neu gesetzt.
-
- 03-Jul-93
- ---------
-
- - Die Menü-Leiste wurde gekürzt und das Menü etwas anders aufgeteilt
-
- 07-Jul-93
- ---------
-
- - Ein neuer Menüpunkt - Gadgets - ist hinzugekommen.
- - Die Quelltexte wurden überarbeitet
- - Das Icon wird jetzt vom Programmicon übernommen. Damit ist das
- eingebaute Icon überflüssig und RSys wieder kleiner geworden
-
- 10-Jul-93
- ---------
-
- - Noch einen Bug in der Menü-Iconify-Routine ausgebügelt
- - Die Gadget-Texte haben einen Rahmen bekommen, eine Bevelbox
- - Das Layout der einzelnen Fenster wurde etwas "verschönert"
- - Ein neues Font-Anzeigefenster wurde programmiert
-
- 15-Jul-93
- ---------
-
- - Ein Statusbalken ist dazugekommen und ein neues Flag, "Working bar"
- - Fehler in der Preference-Liste entdeckt! Harter Bug fixed.
- - Dokumentation angepaßt
-
- ===========
- Version 1.3
- ===========
-
- 18-Jul-93
- ---------
-
- - Das AmigaGuide-Hilfe-System wurde installiert
- - Dadurch entstandene Bugs beseitigt
-
- 18-Jul-93
- ---------
-
- - Das Hilfesystem wurde verbessert, der Guide-File ist jetzt die
- Originaldokumentation, und die Context-Daten wurden extern ausgelagert
- - Wird der Bildschirm, auf dem sich das Hauptfenster befindet,
- gewechselt, werden die Hilfe-Fenster ebenfalls auf dem neuen Screen
- gewechselt
- - Die Dokumentation wird aktualisiert
- - Der Quelltext wurde weiter dokumentiert und die Dateien wieder mal
- sinnvoller aufgeteilt
-
- 18-Jul-93
- ---------
-
- - Das Programm hat eine neues ToolType LISTVIEWHEIGHT. Es gibt die Anzahl
- der darzustellen Zeilen im ListView an. Ist die Anzahl zu groß, wird
- automatisch die maximale Höhe berechnet. Wird -1 angegeben wird immer
- das Maximum der Höhe berechnet
-
- 23-Jul-93
- ---------
-
- - RSys hat ein Sizing Gadget. Die Höhe ist jetzt (fast) frei wählbar.
- - Die Harwaredaten sind extern und können mit einem Goodie (HW)
- bearbeitet werden
- - RSys.hlp ist verschwunden. Die Amigaguide-Hilfe benötigt jetzt einen
- Context-File, der im DOC/Verzeichnis liegen muß. Die vollständige
- Pfadbezeichnung findet sich in der Env:-Variablen RSYSHELP
-
- 25-Jul-93
- ---------
-
- - Locks können nun freigegeben werden, allerdings nur echte Dateien,
- keine Verzeichnisse
- - Die Environmentvariablen werden nicht mehr benötigt. RSys wird voll
- über die ToolTypes konfiguriert.
-
- 28-Jul-93
- ---------
-
- - RSys hat jetzt einen Speichermonitor. Alle Listenobjekte die früher
- nicht modifiziert werden konnten, kommen jetzt automatisch in den
- Speichermonitor
- - Der Quelltext wurde wieder einmal überarbeitet und gekürzt
-
- 02-Aug-93
- ---------
-
- - RSys ist breiter geworden, die Anzeige enthält jetzt auch zu allen
- sinnvollen Einträgen die entsprechenden Listen
- - Die Systemrequester wurden dem Style Guide angepaßt: rechts immer die
- ablehnende Antwort. Die Requester können nun also evtl. mit ESC
- verlassen werden
-
- 03-Aug-93
- ---------
-
- - Ein Speicherchecker eingebaut a la Enforcer! Jetzt kann der Typ des
- Speicherbereiches getestet werden.
-
- 08-Aug-93
- ---------
-
- - Die Dokumentation ist vollständig neu überarbeitet und für die
- Zusammenarbeit mit der AmigaGuide-Hilfe von RSys vorbereitet.
-
- 14-Aug-93
- ---------
-
- - Es wird der nicht-proportionale System-Font verwendet
- - Eine neue Liste ist dazugekommen: Memory areas. Alle ermittelten
- Speicher-Bereiche werden ausgegeben (Enforcer-Areas).
-
- 29-Aug-93
- ---------
-
- - RSys hat ein Gadget, mit dem die aktuelle Liste erneuert werden kann,
- es ist also nicht mehr nötig, sich durch ein Menü zu hangeln, um eine
- Liste zu "refreshen"
- - RSys gibt keine Meldungen mehr aus, falls externe Dateien nicht gefunden
- werden können
- - Die Dokumentation wurde erweitert
- - Das "New"-Gadget wurde in die Dokumentation aufgenommen
-
- 24-Sept-93
- ---------
-
- - Die Fehlerroutine in RSysError.c wurde umd die Systemfunktionen IoErr()
- und Fault() erweitert
- - Suchroutine implementiert, drei neue Menüpunkte dazuprogrammiert
-
- Anhang
- ******
-
- Funktionen
- ==========
-
-
-
- `<<< Prev 512 Byte' Die Speicherbereichs-Gadgets
- `>>> Next 512 Byte' Die Speicherbereichs-Gadgets
- `About...' Project - About...
- `ACTIONFILE' Installation von der WorkBench
- `AGUIDECONTEXT' Installation von der WorkBench
- `AGUIDEDOC' Installation von der WorkBench
- `Amigaguide XRef' Other Lists - Other libraries - Amigaguide XRef
- `Assigns' Assign-Liste der DOSBase
- `Auto front window' Flags - Auto front window
- `AUTOFRONT' Installation von der WorkBench
- `BACKGROUNDCOL' Installation von der WorkBench
- `BACKPATTERN' Installation von der WorkBench
- `BACKPATTERNCOL' Installation von der WorkBench
- `Befehls-Gadget' Das Befehls-Gadget
- `Blanks beween texts' Das Blanks beween texts-Click-Gadget
- `Blitter Wait Queue' Other Lists - Graphics - Blitter Wait Queue
- `BLOCKPEN' Installation von der WorkBench
- `Bold' Das Bold-Click-Gadget
- `Cancel-Gadget' Das Cancel-Gadget
- `Case/No case' Das Case-No case-Gadget
- `Check Libraries' Actions - Check Libraries
- `CLI processes' Other Lists - Exec - CLI processes
- `Clip entry...' Clip - Clip entry...
- `Clip list' Clip - Clip list
- `Commodities' Other Lists - Other libraries - Commodities
- `Compute' Das Compute-Gadget
- `CopyMem()' Systemlisten und Schutzprotokolle
- `CopyMemQuick()' Systemlisten und Schutzprotokolle
- `CRC' Das CRC-Gadget
- `CRC Check...' Actions - CRC Check...
- `Crypt File...' Actions - Crypt File...
- `Crypt-ROT13' Das Crypt-ROT13-Gadget
- `Current' Das Current-Gadget
- `CX_CRC' Installation von der WorkBench
- `CX_CRYPT' Die Hotkey-Aktivierung
- `CX_CRYPT' Installation von der WorkBench
- `CX_FILEREQUEST' Installation von der WorkBench
- `CX_FINDFILE' Die Hotkey-Aktivierung
- `CX_FINDFILE' Installation von der WorkBench
- `CX_FORMAT' Installation von der WorkBench
- `CX_FORMAT' Die Hotkey-Aktivierung
- `CX_HOTKEY' Die Hotkey-Aktivierung
- `CX_HOTKEY' Installation von der WorkBench
- `CX_HUNKLIST' Installation von der WorkBench
- `CX_SAVEWINDOW' Installation von der WorkBench
- `Das Text-Feld' Das Text-Feld
- `Decrypt' Das Decrypt-Gadget
- `Dest/Select' Das Dest-Gadget und Select
- `DETAILPEN' Installation von der WorkBench
- `Devices' Das Devices-ListView
- `Devices' Das Devs-ListView
- `Dirs + Files/Files/Directories' Das Dateityp-Gadget
- `Disk label' Das Disk label-Gadget
- `Display Modes' Other Lists - Graphics - Display Modes
- `Encrypt' Das Encrypt-Gadget
- `Entry' Das Entry-Gadget
- `ENV-Variables' Other Lists - Preferences - ENV-Variables
- `Fast Mode' Flags - Fast Mode
- `File' Das File-Gadget
- `Find File...' Actions - Find File...
- `Find next' Search - Find next
- `Find previous' Search - Find previous
- `Flush all libraries and fonts' Flushing - Flush all libraries and fonts
- `Flush fonts' Flushing - Flush fonts
- `Flush libraries' Flushing - Flush libraries
- `Fonts' Font-Liste der GfxBase
- `Fonts in FONTS' Other Lists - Diskfont - Fonts in FONTS
- `Format' Das Format-Gadget
- `Format Disk...' Actions - Format Disk...
- `Format-Gadget/Select' Das Format-Gadget und Select
- `Found files/dirs' Das Found files-dirs-Gadget
- `Gadgets' Other Lists - Intuition - Gadgets
- `HandlerInp' Inputhandler-Liste
- `Hardware' Hardware-Liste der ExpansionBase
- `HARDWAREDATA' Installation von der WorkBench
- `Help' Project - Help
- `Hex/ASCII-Hex-ASCII' Das Display-Gadget
- `Iconify' Project - Iconify
- `Icons/No Icons' Das Icons-No Icons-Gadget
- `IFF File' Das IFF File-Gadget
- `Interrupts' Interrupt-Liste der ExecBase
- `Intuition - Public Screens' Other Lists - Intuition - Public Screens
- `Italic' Das Italic-Click-Gadget
- `Jump' Springen zwischen Public Screens
- `Kill saved list' Internal List - Kill saved list
- `LIBOFFDATA' Installation von der WorkBench
- `Libraries' Library-Liste der ExecBase
- `List Hunks...' Actions - List Hunks...
- `LISTHEIGHT' Installation von der WorkBench
- `ListView' Das ListView
- `Load' Das Load-Gadget
- `Memory' Memory-Liste in der ExecBase
- `MENUPEN' Installation von der WorkBench
- `Mouse window' Flags - Mouse window
- `MOUSEWINDOW' Installation von der WorkBench
- `New' Aktualisieren der Liste
- `No Format' Das No Format-Gadget
- `No header in file' Das No header in file-Click-Gadget
- `No international/International' Das No international-International-Gadget
- `NOAPPICON' Installation von der WorkBench
- `NOFASTMODE' Installation von der WorkBench
- `Normal' Das Normal-Click-Gadget
- `NOSAVEASKING' Installation von der WorkBench
- `NOSORT' Installation von der WorkBench
- `OFS/FFS' Das OFS-FFS-Gadget
- `OUTWINDOW' Installation von der WorkBench
- `OUTWINDOW' Die Hotkey-Aktivierung
- `Passwd' Das Passwd-Gadget
- `Pattern' Das Pattern-Gadget
- `Physical Devices' Other Lists - DOS - Physical Devices
- `Ports' Port-Liste in der ExecBase
- `Postfix' Das Postfix-Gadget
- `Preferences - Printer data' Other Lists - Preferences - Printer data
- `Preferences Data' Other Lists - Preferences - Preferences Data
- `Prefix' Das Prefix-Gadget
- `Quick' Das Quick-Gadget
- `Quit RSys...' Project - Quit RSys...
- `Quote-in text' Das Quote-in text-Click-Gadget
- `RawDoFmt()' Systemlisten und Schutzprotokolle
- `Reload action file...' Ext. Data - Reload action file...
- `Reload AGuide context nodes...' Ext. Data - Reload AGuide context nodes...
- `Reload hardware datas...' Ext. Data - Reload hardware datas...
- `Reload library offsets...' Ext. Data - Reload library offsets...
- `Rescan windows' Das Rescan windows-Gadget
- `Resident programs' Other Lists - DOS - Resident programs
- `Resourcen' Resourcen-Liste der ExecBase
- `Restore saved list' Internal List - Restore saved list
- `ROT 13-Verfahren' Crypt File - Verschluesseln von Dateien
- `Save as is' Die Save-Gadgets
- `Save ASCII' Die Save-Gadgets
- `Save asking' Flags - Save asking
- `Save C-Code' Die Save-Gadgets
- `Save Configuration' Project - Save Configuration
- `Save current list' Internal List - Save current list
- `Save found list' Das Save found list-Gadget
- `Save Hex' Die Save-Gadgets
- `Save List' Abspeichern einer Liste
- `Save List' Das Save-List-Gadget
- `Save windows...' Actions - Save windows...
- `Screens' Screen-Liste der IntuitionBase
- `Search-Gadget' Das Search-Gadget
- `Search...' Search - Search...
- `Sel all/Sel none' Sel all und Sel none
- `Select' Das Select-Gadget
- `Selected Devices' Das Selected Devices-ListView
- `Semaphores' Other Lists - Exec - Semaphores
- `Software Devices' Other Lists - Exec - Software Devices
- `Sorting' Flags - Sorting
- `Source/Select' Das Source-Gadget und Select
- `Speaking' Flags - Speaking
- `Speicher-ListView/Header' Das Speicher-ListView und der Header
- `sprintf()' Systemlisten und Schutzprotokolle
- `Start' Das Start-Gadget
- `Start/Stop' Das Start-Stop Gadget
- `Status' Project - Status
- `strcpy()' Systemlisten und Schutzprotokolle
- `String-Gadget' Das String-Gadget
- `strlen()' Systemlisten und Schutzprotokolle
- `strncpy()' Systemlisten und Schutzprotokolle
- `Systeminfo' Allgemeine Systeminfo
- `Tasks' Task-Liste der ExecBase
- `Text formatter' Flags - Text formatter
- `Text to save' Das Text to save-Gadget
- `To start address' Die Speicherbereichs-Gadgets
- `TOF Wait Queue' Other Lists - Graphics - TOF Wait Queue
- `Topaz Font' Flags - Topaz Font
- `TOPAZFONT' Installation von der WorkBench
- `Type' Das Type-Gadget
- `Underl' Das Underl-Click-Gadget
- `Use Format' Das Use Format-Gadget
- `Vectors' Other Lists - Exec - Vectors
- `Volume locks' Other Lists - DOS - Volume locks
- `Volumes' Volume-Liste der DOSBase
- `Windows' Das Windows-ListView
- `Windows' Window-Liste der IntuitionBase
- `Working bar' Flags - Working bar
- `WORKINGBAR' Installation von der WorkBench
- `zellularen Automaten' Crypt File - Verschluesseln von Dateien
-
- Programm Index
- ==============
-
-
-
- Gadget: Assigns Assign-Liste der DOSBase
- Gadget: Fonts Font-Liste der GfxBase
- Gadget: HandlerInp Inputhandler-Liste
- Gadget: Hardware Hardware-Liste der ExpansionBase
- Gadget: Interrupts Interrupt-Liste der ExecBase
- Gadget: Jump Springen zwischen Public Screens
- Gadget: Libraries Library-Liste der ExecBase
- Gadget: Memory Memory-Liste in der ExecBase
- Gadget: New Aktualisieren der Liste
- Gadget: Ports Port-Liste in der ExecBase
- Gadget: Resourcen Resourcen-Liste der ExecBase
- Gadget: Save List Abspeichern einer Liste
- Gadget: Screens Screen-Liste der IntuitionBase
- Gadget: Systeminfo Allgemeine Systeminfo
- Gadget: Tasks Task-Liste der ExecBase
- Gadget: Volumes Volume-Liste der DOSBase
- Gadget: Windows Window-Liste der IntuitionBase
- Menüpunkt: About... Project - About...
- Menüpunkt: Amigaguide XRef Other Lists - Other libraries - Amigaguide XRef
- Menüpunkt: Auto front window Flags - Auto front window
- Menüpunkt: Blitter Wait Queue Other Lists - Graphics - Blitter Wait Queue
- Menüpunkt: Check Libraries Actions - Check Libraries
- Menüpunkt: CLI processes Other Lists - Exec - CLI processes
- Menüpunkt: Clip entry... Clip - Clip entry...
- Menüpunkt: Clip list Clip - Clip list
- Menüpunkt: Commodities Other Lists - Other libraries - Commodities
- Menüpunkt: CRC Check... Actions - CRC Check...
- Menüpunkt: Crypt File... Actions - Crypt File...
- Menüpunkt: Display Modes Other Lists - Graphics - Display Modes
- Menüpunkt: DOS - Volume locks Other Lists - DOS - Volume locks
- Menüpunkt: ENV-Variables Other Lists - Preferences - ENV-Variables
- Menüpunkt: Fast Mode Flags - Fast Mode
- Menüpunkt: Find File... Actions - Find File...
- Menüpunkt: Find next Search - Find next
- Menüpunkt: Find previous Search - Find previous
- Menüpunkt: Flush all libraries and fontsFlushing - Flush all libraries and fonts
- Menüpunkt: Flush fonts Flushing - Flush fonts
- Menüpunkt: Flush libraries Flushing - Flush libraries
- Menüpunkt: Fonts in FONTS Other Lists - Diskfont - Fonts in FONTS
- Menüpunkt: Format Disk... Actions - Format Disk...
- Menüpunkt: Gadgets Other Lists - Intuition - Gadgets
- Menüpunkt: Help Project - Help
- Menüpunkt: Iconify Project - Iconify
- Menüpunkt: Intuition - Public Screens Other Lists - Intuition - Public Screens
- Menüpunkt: Kill saved list Internal List - Kill saved list
- Menüpunkt: List Hunks... Actions - List Hunks...
- Menüpunkt: Mouse window Flags - Mouse window
- Menüpunkt: Physical Devices Other Lists - DOS - Physical Devices
- Menüpunkt: Preferences - Printer data Other Lists - Preferences - Printer data
- Menüpunkt: Preferences Data Other Lists - Preferences - Preferences Data
- Menüpunkt: Quit RSys... Project - Quit RSys...
- Menüpunkt: Reload action file... Ext. Data - Reload action file...
- Menüpunkt: Reload AGuide context nodes...Ext. Data - Reload AGuide context nodes...
- Menüpunkt: Reload hardware datas... Ext. Data - Reload hardware datas...
- Menüpunkt: Reload library offsets... Ext. Data - Reload library offsets...
- Menüpunkt: Resident programs Other Lists - DOS - Resident programs
- Menüpunkt: Restore saved list Internal List - Restore saved list
- Menüpunkt: Save asking Flags - Save asking
- Menüpunkt: Save Configuration Project - Save Configuration
- Menüpunkt: Save current list Internal List - Save current list
- Menüpunkt: Save windows... Actions - Save windows...
- Menüpunkt: Search... Search - Search...
- Menüpunkt: Semaphores Other Lists - Exec - Semaphores
- Menüpunkt: Software Devices Other Lists - Exec - Software Devices
- Menüpunkt: Sorting Flags - Sorting
- Menüpunkt: Speaking Flags - Speaking
- Menüpunkt: Status Project - Status
- Menüpunkt: Text formatter Flags - Text formatter
- Menüpunkt: TOF Wait Queue Other Lists - Graphics - TOF Wait Queue
- Menüpunkt: Topaz Font Flags - Topaz Font
- Menüpunkt: Vectors Other Lists - Exec - Vectors
- Menüpunkt: Working bar Flags - Working bar
- tbreak Das Programm tbreak
- tracer Batch zum Debuggen von Programmen
- Xoper, ARTM, TaskX und andere Was ist RSys?
-
- Konzept
- =======
-
-
-
- Abspeichern einer Liste Abspeichern einer Liste
- Actions - Check Libraries Actions - Check Libraries
- Actions - CRC Check... Actions - CRC Check...
- Actions - Crypt File... Actions - Crypt File...
- Actions - Find File... Actions - Find File...
- Actions - Format Disk... Actions - Format Disk...
- Actions - List Hunks... Actions - List Hunks...
- Actions - Save windows... Actions - Save windows...
- Adresse Copyrights und Verwendung
- Aktualisieren der Liste Aktualisieren der Liste
- Allgemeine Systeminfo Allgemeine Systeminfo
- Anhang Anhang
- Assign-Liste der DOSBase Assign-Liste der DOSBase
- Aufruf von RSys Aufruf von RSys
- Batch zum Debuggen von Programmen Batch zum Debuggen von Programmen
- Check Libraries - Testen der ROM-LibrariesCheck Libraries - Testen der ROM-Libraries
- Clip - Clip entry... Clip - Clip entry...
- Clip - Clip list Clip - Clip list
- Copyrights und Verwendung Copyrights und Verwendung
- CRC-Check - Berechnung von Checksummen CRC-Check - Berechnung von Checksummen
- Crypt File - Verschluesseln von DateienCrypt File - Verschluesseln von Dateien
- Danksagungen Danksagungen
- Das Action-Window Das Action-Window
- Das Actioning Das Actioning
- Das Anzeige-ListView Das Anzeige-ListView
- Das Application Icon Das Application Icon
- Das Befehls-Gadget Das Befehls-Gadget
- Das Blanks beween texts-Click-Gadget Das Blanks beween texts-Click-Gadget
- Das Bold-Click-Gadget Das Bold-Click-Gadget
- Das Cancel-Gadget Das Cancel-Gadget
- Das Case-No case-Gadget Das Case-No case-Gadget
- Das Compute-Gadget Das Compute-Gadget
- Das CRC-Gadget Das CRC-Gadget
- Das Crypt-ROT13-Gadget Das Crypt-ROT13-Gadget
- Das Current-Gadget Das Current-Gadget
- Das Dateityp-Gadget Das Dateityp-Gadget
- Das Decrypt-Gadget Das Decrypt-Gadget
- Das Dest-Gadget und Select Das Dest-Gadget und Select
- Das Devices-ListView Das Devices-ListView
- Das Devs-ListView Das Devs-ListView
- Das Disk label-Gadget Das Disk label-Gadget
- Das Display-Gadget Das Display-Gadget
- Das Encrypt-Gadget Das Encrypt-Gadget
- Das Entry-Gadget Das Entry-Gadget
- Das File-Gadget Das File-Gadget
- Das Format-Gadget Das Format-Gadget
- Das Format-Gadget und Select Das Format-Gadget und Select
- Das Found files-dirs-Gadget Das Found files-dirs-Gadget
- Das Hauptfenster Das Hauptfenster
- Das Icons-No Icons-Gadget Das Icons-No Icons-Gadget
- Das IFF File-Gadget Das IFF File-Gadget
- Das Italic-Click-Gadget Das Italic-Click-Gadget
- Das ListView Das ListView
- Das Load-Gadget Das Load-Gadget
- Das No Format-Gadget Das No Format-Gadget
- Das No header in file-Click-Gadget Das No header in file-Click-Gadget
- Das No international-International-GadgetDas No international-International-Gadget
- Das Normal-Click-Gadget Das Normal-Click-Gadget
- Das OFS-FFS-Gadget Das OFS-FFS-Gadget
- Das Passwd-Gadget Das Passwd-Gadget
- Das Pattern-Gadget Das Pattern-Gadget
- Das Postfix-Gadget Das Postfix-Gadget
- Das Prefix-Gadget Das Prefix-Gadget
- Das Programm tbreak Das Programm tbreak
- Das Quick-Gadget Das Quick-Gadget
- Das Quote-in text-Click-Gadget Das Quote-in text-Click-Gadget
- Das Rescan windows-Gadget Das Rescan windows-Gadget
- Das Save found list-Gadget Das Save found list-Gadget
- Das Save-List-Gadget Das Save-List-Gadget
- Das Search-Gadget Das Search-Gadget
- Das Select-Gadget Das Select-Gadget
- Das Selected Devices-ListView Das Selected Devices-ListView
- Das Source-Gadget und Select Das Source-Gadget und Select
- Das Speicher-ListView und der Header Das Speicher-ListView und der Header
- Das Start-Gadget Das Start-Gadget
- Das Start-Stop Gadget Das Start-Stop Gadget
- Das String-Gadget Das String-Gadget
- Das Text to save-Gadget Das Text to save-Gadget
- Das Text-Feld Das Text-Feld
- Das Type-Gadget Das Type-Gadget
- Das Underl-Click-Gadget Das Underl-Click-Gadget
- Das Use Format-Gadget Das Use Format-Gadget
- Das Windows-ListView Das Windows-ListView
- Der Help-Modus Der Help-Modus
- Der Speicher-Monitor Der Speicher-Monitor
- Der Text Formatierer Der Text Formatierer
- Die Action-Anweisungen Die Action-Anweisungen
- Die AmigaGuide-Context-Nodes Die AmigaGuide-Context-Nodes
- Die Font-Anzeige Die Font-Anzeige
- Die Gadgets Die Gadgets
- Die Hardware-Daten Die Hardware-Daten
- Die Hotkey-Aktivierung Die Hotkey-Aktivierung
- Die Library-Offsets Die Library-Offsets
- Die Menues Die Menues
- Die Save-Gadgets Die Save-Gadgets
- Die Speicherbereichs-Gadgets Die Speicherbereichs-Gadgets
- Die Utilities von RSys Die Utilities von RSys
- Ext. Data - Reload action file... Ext. Data - Reload action file...
- Ext. Data - Reload AGuide context nodes...Ext. Data - Reload AGuide context nodes...
- Ext. Data - Reload hardware datas... Ext. Data - Reload hardware datas...
- Ext. Data - Reload library offsets... Ext. Data - Reload library offsets...
- Externe Dateien und Formate Externe Dateien und Formate
- Find File - Suche nach Dateien Find File - Suche nach Dateien
- Flags - Auto front window Flags - Auto front window
- Flags - Fast Mode Flags - Fast Mode
- Flags - Mouse window Flags - Mouse window
- Flags - Save asking Flags - Save asking
- Flags - Sorting Flags - Sorting
- Flags - Speaking Flags - Speaking
- Flags - Text formatter Flags - Text formatter
- Flags - Topaz Font Flags - Topaz Font
- Flags - Working bar Flags - Working bar
- Flushing - Flush all libraries and fontsFlushing - Flush all libraries and fonts
- Flushing - Flush fonts Flushing - Flush fonts
- Flushing - Flush libraries Flushing - Flush libraries
- Font-Liste der GfxBase Font-Liste der GfxBase
- Format Disk - Format-Schnittstelle Format Disk - Format-Schnittstelle
- Hardware-Liste der ExpansionBase Hardware-Liste der ExpansionBase
- Hintergrundinfos Hintergrundinfos
- History History
- Inputhandler-Liste Inputhandler-Liste
- Installation von der WorkBench Installation von der WorkBench
- Installation von RSys Installation von RSys
- Internal List - Kill saved list Internal List - Kill saved list
- Internal List - Restore saved list Internal List - Restore saved list
- Internal List - Save current list Internal List - Save current list
- Interrupt-Liste der ExecBase Interrupt-Liste der ExecBase
- Library-Liste der ExecBase Library-Liste der ExecBase
- List Hunks - Hunk-Struktur ermitteln List Hunks - Hunk-Struktur ermitteln
- Memory-Liste in der ExecBase Memory-Liste in der ExecBase
- normaler CLI-Befehl Aufruf von RSys
- Other Lists - Diskfont - Fonts in FONTSOther Lists - Diskfont - Fonts in FONTS
- Other Lists - DOS - Physical Devices Other Lists - DOS - Physical Devices
- Other Lists - DOS - Resident programs Other Lists - DOS - Resident programs
- Other Lists - DOS - Volume locks Other Lists - DOS - Volume locks
- Other Lists - Exec - CLI processes Other Lists - Exec - CLI processes
- Other Lists - Exec - Semaphores Other Lists - Exec - Semaphores
- Other Lists - Exec - Software Devices Other Lists - Exec - Software Devices
- Other Lists - Exec - Vectors Other Lists - Exec - Vectors
- Other Lists - Graphics - Blitter Wait QueueOther Lists - Graphics - Blitter Wait Queue
- Other Lists - Graphics - Display Modes Other Lists - Graphics - Display Modes
- Other Lists - Graphics - TOF Wait QueueOther Lists - Graphics - TOF Wait Queue
- Other Lists - Intuition - Gadgets Other Lists - Intuition - Gadgets
- Other Lists - Intuition - Public ScreensOther Lists - Intuition - Public Screens
- Other Lists - Other libraries - Amigaguide XRefOther Lists - Other libraries - Amigaguide XRef
- Other Lists - Other libraries - CommoditiesOther Lists - Other libraries - Commodities
- Other Lists - Preferences - ENV-VariablesOther Lists - Preferences - ENV-Variables
- Other Lists - Preferences - Preferences DataOther Lists - Preferences - Preferences Data
- Other Lists - Preferences - Printer dataOther Lists - Preferences - Printer data
- Paßwort Crypt File - Verschluesseln von Dateien
- Port-Liste in der ExecBase Port-Liste in der ExecBase
- Project - About... Project - About...
- Project - Help Project - Help
- Project - Iconify Project - Iconify
- Project - Quit RSys... Project - Quit RSys...
- Project - Save Configuration Project - Save Configuration
- Project - Status Project - Status
- Resourcen-Liste der ExecBase Resourcen-Liste der ExecBase
- Save Windows - IFF-Dateien von Windows Save Windows - IFF-Dateien von Windows
- Screen-Liste der IntuitionBase Screen-Liste der IntuitionBase
- Search - Die Suchfunktion von RSys Search - Die Suchfunktion von RSys
- Search - Find next Search - Find next
- Search - Find previous Search - Find previous
- Search - Search... Search - Search...
- Sel all und Sel none Sel all und Sel none
- Springen zwischen Public Screens Springen zwischen Public Screens
- Systemlisten und Schutzprotokolle Systemlisten und Schutzprotokolle
- Task-Liste der ExecBase Task-Liste der ExecBase
- Tips und Tricks Tips und Tricks
- Verwendete Software Verwendete Software
- Volume-Liste der DOSBase Volume-Liste der DOSBase
- Was ist RSys? Was ist RSys?
- wbstartup-Verzeichnis Installation von RSys
- Window-Liste der IntuitionBase Window-Liste der IntuitionBase
- Zusammenarbeit mit anderen Programmen Zusammenarbeit mit anderen Programmen
-
-