RSys

Amiga System Utilility

Version 1.2

von Rolf B�hme

Copyright © 1992, 1993 Rolf B�hme

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1 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 (RSys und Hintergrundinfos). 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2 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. Dem Programmpaket liegt ein entsprechender Script-File bei (‘RSys12.Install’). 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Aufruf vom CLI

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 (Die Gadgets und das ListView).

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Aufruf von der WorkBench

Dazu wird ‘RSYS’ und die mitgelieferte Info-Datei ‘RSys.info’ in das ‘wbstartup’-Verzeichnis der Bootpartition oder -diskette kopiert.

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’.

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.

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’ (Die Gadgets und das ListView) 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 NOFASTMODE).

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 (Die Gadgets und das ListView) verwendet.

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: OUTWINDOW (Default: -)

�ber das AppIcon von ‘RSYS’ k�nnen Aktionen gestartet werden, insbesondere durch den Aufruf von externen Programmen (Die Actions-Datei). Dieser Tooltype legt das Ein- und Ausgabefenster von ‘RSYS’ fest.

ToolType: NOAPPICON (Default: EIN)

Damit wird verhindert, da� ein AppIcon (Das Icon) auf der WorkBench erscheint. Nat�rlich ist damit auch das Actioning nicht mehr m�glich.

ToolType: BACKPATTERNCOL (Default: 0)

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: 0)

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.

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.

Ab Version 1.2 sind alleRSYS’-Fenster mit diesem Patternmuster versehen.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Die ENV-Variablen

RSYS’ ben�tigt zwei Hilfsdateien. In der einen steht in Textform eine kurzer Online-Hilfe (Die Help-Datei), in der anderen sogenannte Aktionseintr�ge, die ausgef�hrt werden, falls ein Icon �ber das AppIcon (Das Icon) gezogen und der Dateityp erkannt wurde, stehen.

Dazu sollten zwei ENV:-Variablen definiert werden: RSYSHELP und RSYSACTION. Die Variablen enthalten g�ltige und vollst�ndige Dateibezeichnungen (mit Dateipfad!) f�r die entsprechenden Dateien. Sollten die eine oder beide Variablen fehlen, so wird ‘RSYS’ bei entsprechender Aktivierung darauf hinweisen.

Doch nun zu den Formaten beider Hilfsdateien.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.1 Die Help-Datei

Nach der Bet�tigung der <Help>-Taste im Hauptfenster von Main oder nach Anklicken des entsprechenden Men�punktes wird diese Datei einfach in das ListView eingelesen und dargestellt.

Die Datei ist eine einfache Textdatei mit einem rechten Rand von h�chstens 45 Zeichen. Die erste Zeile enth�lt nur die maximale Anzahl der in dieser Datei enthaltenen Zeilen minus eins.

Die Help-Datei hat den Default-Namen ‘RSys.HLP’ kann aber unter Verwendung der ‘ENV:’-Variablen (Die ENV-Variablen) leicht ge�ndert werden. Auch der Inhalt kann den eigenen Bed�rfnissen einfach angepasst werden.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.2 Die Actions-Datei

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.

Im Gegensatz zur Hilfedatei m�ssen die Eintr�ge in der Aktionsdatei in einem bestimmten Format stehen. In der ersten Zeile steht wieder die Anzahl der Zeilen in der Datei minus 1. Die Schablone f�r eine solche Aktionszeile lautet folgenderma�en:

  <lfd.Nr>#<Typ der Datei>#<Eintrag im ListView>#<Befehl>#<Wait/Close>#

Alle Teile werden durch ein # voneinander getrennt.

Die lfd.Nr und der Typ der Datei entsprechen der Numerierung und Deklarierung in dem Programm. Sie sollten tunlichst nicht ver�ndert werden. Der Typ der Datei sollte maximal 20 Zeichen lang sein.

Der Eintrag im ListView erscheint in selbigem, wenn eine Dateiart erkannt wurde und ein kleines Aktionsfenster erscheint. Es dient der Information des Benutzers und kann beliebig gew�hlt werden, sollte jedoch nicht l�nger als 30 Zeichen sein.

Der Befehl kann 255 Zeichen lang werden und enth�lt einen g�ltigen Aufruf im CLI-Format. Hierbei wird der Dateiname einfach angeh�ngt, weswegen das letzte Zeichen vor dem trennenden # ein Leerzeichen sein sollte.

Der letzte Parameter Wait/Close bestimmt, ob nach einer Aktion das kleine Fenster und damit die Aktionen beendet werden sollen oder nicht. Hierbei steht W f�r Wait und C f�r Close nach einer Aktion. Hier ein paar Beispiele:

   6#Assembler file#Anzeigen#OwnC:MuchMore #W#
   ^ ^              ^        ^              ^- Nach dem Befehl wird das
   | |              |        |                 Fenster nicht geschlossen.
   +-+              |        +- MuchMore im C:-Verz. wird mit dem
     |              |           Dateinamen aufgerufen, die Datei also
     |              |           angezeigt.
     |              +- Im ListView erscheint als Eintrag
     |                 "Anzeigen". Wird dieser Eintrag
     |                 geklickt, wird dieser Befehl
     |                 ausgef�hrt
     +- Die Datei ist ein Assembler-File

Von einem Type k�nnen auch mehrere Eintr�ge stehen. Dann werden entsprechend mehr ListView-Eintr�ge angeboten. Also z.B.

   4#C Sourcefile#Bearbeiten#OwnC:ed #W#
   4#C Sourcefile#Anzeigen#OwnC:MuchMore #W#
   4#C Sourcefile#Compilieren#CC:cc #W#

Hier erscheinen drei Eintr�ge im ListView, die dann entsprechend gew�hlt und ausgef�hrt werden k�nnen.

Die Action-Datei hat voreinstellungsm��ig den Namen ‘RSys.ACT’ kann aber unter Verwendung der ‘ENV:’-Variablen leicht ge�ndert werden. Auch der Inhalt kann den eigenen Bed�rfnissen einfach angepasst werden.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3 Gadgets - Men�s - das Icon

Wie aus dem Vorangegangenen ersichtlich, kann man bei ‘RSYS’ zwei verschiedene Zust�nde unterscheiden. Zum einen erscheint das Hauptfenster mit diversen Anzeigen und einem Men�, zum anderen erscheint auf der WorkBench ein Icon, das verschiedene Aktionen ausf�hren kann. Beide M�glichkeiten werden hier vorgestellt.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Die Gadgets und das 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.

Die einzelnen Gadgets und die damit erzeugten Listen, die dann im ListView gezeigt werden, nun im Einzelnen.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.1 Task-Liste der ExecBase

Gadget: Tasks (Taste: <T> Kommandoparameter: T)

Beispielausgabe:

Taskname           Typ  Pri Stack Stat Cli
---------------------------------------------
ConClip Process   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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.2 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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.3 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 zusammenhg. 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.4 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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.5 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  : Standard 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 der benutzen KByte der Partition
|                  |    |         oder Diskette in Prozent
|                  |    +- Anzahl der benutzen 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.6 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.7 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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.8 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.9 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.10 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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.11 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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.12 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.13 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.14 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.15 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.16 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Das Modifizieren

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.

Da hierbei auf das verwendete Schutzprotokoll geachtet werden mu�, hier ein paar Hinweise dazu.

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Das Men�

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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.1 Project

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.

Men�punkt: Help (Tastensequenz: RAMIGA-<H>)

Aktion: Die Environment-Variable RSYSHELP wird ausgelesen und der Eintrag als vollst�ndige Dateibezeichnung der Help-Datei von ‘RSYS’ verwendet. Diese Datei wird ausgelesen und im ListView dargestellt.

Men�punkt: Reload actionfile (Tastensequenz: -)

Aktion: Wurde die Aktionsdatei ver�ndert, so kann sie mit diesem Men�punkt erneut gelesen werden.

Men�punkt: About... (Tastensequenz: -)

Aktion: In einem Systemrequester erscheint eine kurze Information zu diesem Programm und die Adresse des Autors.

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:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2 Other Lists

Ab ‘RSYS’ 1.2 wurde das Men� mit den weiteren verf�gbaren Listen umgestellt. Die Listen sind jetzt nach der entsprechenden Library geordnet.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.1 Exec

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.

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.

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.

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
|                      +-- 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.

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.2 DOS

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.

Men�punkt: Physical Devices (Tastensequenz: RAMIGA-<2>)

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.3 Graphics

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.

Men�punkt: Blitter Wait Queue (Tastensequenz: -)

Aktion: Die Tasks, die auf den Blitter warten, werden angezeigt.

Men�punkt: TOF Wait Queue (Tastensequenz: -)

Aktion: Die Tasks, die auf das Top-Of-Frame warten, werden angezeigt.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.4 Diskfont

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.5 Intuition

Men�punkt: Public Screens (Tastensequenz: RAMIGA-<6>)

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.

Men�punkt: Gadgets (Tastensequenz: -)

Beispielliste:

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.6 Preferences

Men�punkt: Preferences (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.

Men�punkt: 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.

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2.7 Other Libraries

Men�punkt: Commodities (Tastensequenz: RAMIGA-<8>)

Beispielausgabe:

Commodity name      Prio
----------------------------------------------
RSys                   0
^                      ^
|                      +-- Priorit�t des Brokereintrags
+-- Name des Brokers

Aktion: Alle Commodities, die auch im Fenster des Programmes ‘Exchange’ erscheinen, werden angezeigt. Dazu wird eine undokumentierte Funktion verwendet, die aber in der ‘commodities.library’ enthalten ist.

Anm.: Unter OS 3.0 wird ein Zeiger auf die Liste der Libraries
zur�ckgegeben. Diese Funktion hat wurde also irgendwohin verlagert. Ein
gutes Beispiel daf�r, da� man nicht ungestraft undokumentierte Funktionen
verwendet!

Anm.  2:  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’!
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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.3 Actions

Men�punkt: CRC Check

Aktion: Es erscheint eine kleines Window mit mehreren Gadgets. Mit dem Select-Gadget kann man in dem erscheinenden Filerequester eine Datei ausw�hlen, von der die CRC-Checksumme berechnet werden soll. In dem Cycle-Gadget kann man den Modus, CRC-16 oder CRC-32, einstellen. Hierbei ist zu beachten, da� die CRC-16-Methode nur f�r Dateien mit einer Gr��e kleiner als 65536 Bytes verwendet werden kann.

F�r gr��ere Dateien ist die CRC32-Methode zu w�hlen. Ist die Datei gew�hlt (der Dateiname erscheint in dem File-Gadget), wird mit dem Compute-Gadget die Berechnung gestartet. Die berechnete CRC-Summe erscheint dann in hexadezimaler Form im CRC-Gadget.

Men�punkt: Crypt

Aktion: Es erscheint wiederum ein kleines Window mit acht Gadgets. Im Source-Gadget kann die Quelldatei, die kodiert werden soll, direkt eingegeben, oder mit dem danebenliegenden Gadget per Filerequester ausgew�hlt werden. Ebenso bei dem Dest-Gadget, in dem der Name der Datei eingetragen wird, in der die kodierten Daten gespeichert werden. Es werden zwei Modi zur Verschl�sselung von Text- oder Bin�rdateien angeboten.

Die Modi k�nnen in dem Cyclegadget ausgew�hlt werden. Crypt verwendet die Verschl�sselung von Dateien mittels einem Zellular-Automaten. Diese Routine habe ich aus Olaf ’Olsen’ Barthels ‘term’-Source geratzt, weswegen er u.a. auch ganz unten bei den Danksagungen erw�hnt wird. W�hrend Crypt auf jede Art von Dateien angewendet werden kann, wurde die ROT 13-Methode nur f�r Textdateien implementiert. Dabei werden einfach die Buchstaben eines Textes um 13 Zeichen "verschoben". Hierbei ist auch nicht m�glich, wie bei Crypt ein Pa�wort zu verwenden.

Men�punkt: List Hunks

Aktion: Es erscheint ein Window mit drei Gadgets, einem ListView und zwei Booleangadgets, Load und Save List. Zun�chst wird mit Load und dem dann erscheinenden Filerequester eine Datei ausgew�hlt. Danach wird diese Datei (i.a. eine ausf�hrbare oder ladbare Datei) bez�glich ihrer Hunk-Struktur analysiert. Die ermittelten Daten erscheinen dann in dem ListView. Wenn es sich um eine Library oder eine Objektbibliothek handelt, kann die Ausgabe etwas dauern. Deshalb kann man die Aktion jederzeit durch das Anklicken des Closegadgets und nach einer Sicherheitsabfrage abbrechen. Mit dem Save List-Gadget kann dann die Liste in eine auszuw�hlende Datei abgespeichert werden.

Men�punkt: Find File

Aktion: Nach der Anwahl diese Men�punktes erscheint ein gro�es Window mit zehn Gadgets. Diese werden jetzt der Reihe nach beschrieben:

ListView: Devices

In diesem ListView stehen alle angemeldeten Devices und Assigns. Wenn ein Eintrag angeklickt wird, erscheint der Eintrag in dem danebenliegenden 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.

Cycle-Gadget: Case sense/No case sense

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.

Boolean Gadget: Sel all
Boolean Gadget: 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).

Boolean Gadget: Start/Stop Search

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.

Boolean 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.

String Gadget: Pattern

Hier kann ein Suchmuster (Dateiname oder Pattern) eingegeben werden. Hierbei gelten die �blichen Wildcards und Suchmuster des AmigaOS.

Cycle Gadget: Dirs + Files/Files/Directories

Hier kann gew�hlt werden, was f�r ein Typ von Datei gefunden werden soll.

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.

Men�punkt: Format Disk

Aktion: Mit Format Disk wird eine kleine Schnittstelle zum ‘Format’-Befehl des AmigaDOS angeboten. Die einzelnen Gadgets werden im folgenden n�her beschrieben.

Stringgadget: Format

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.

ListView: Devices

In diesem ListView erscheinen alle formatierbaren Devices alphabetisch geordnet. Das ausgew�hlte Device wird dann im zugeh�rigen Textgadget darunter angezeigt.

Stringgadget: Disk label

Hier wird der Name des Mediums (voreingestellt und systemkonform ‘Empty’) eingetragen.

Cycle: Icons/No Icons
Cycle: OFS/FFS
Cycle: International/No international

Mit diesen Cyclegadgets k�nnen weitere Formatierungsvorgaben ausgew�hlt werden, also ob ein ‘Trashcan’ auf dem formatierten Medium erzeugt, das Medium mit dem alten Filesystem oder dem Fastfilesystem formatiert und ob es im internationalen Modus formatiert werden soll.

Stringgadget: <ohne Namen>

In diesem Stringgadget ohne Namen steht der vollst�ndige Befehl, der nach Festlegung aller Kriterien als eigenst�ndiger Proze� ausgef�hrt wird.

Booleangadgets: Format
Booleangadget: Quick

Mit diesen Gadgets wird nach einer Sicherheitsabfrage das ‘Format’-Programm gestartet. Mit Format wird das Medium auch physikalisch formatiert, mit Quick werden nur die Root-Bl�cke �berschrieben und so die eventuell vorhandenen Daten �berschrieben.

Men�punkt: Save windows

Aktion: Nach der Auswahl dieses Men�punktes erscheint ein kleines Fenster mit drei Gadgets.

ListView: 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.

Boolean: 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.

Boolean: Rescan windows

Damit kann die Window-Liste aktualisiert werden. Dies geschieht nach dem Abspeichern eines Windows automatisch.

Men�punkt: Check Libraries

Aktion: Alle im ROM angelegten Libraries werden gecheckt, ob sie von anderen Programmen gepatcht wurden. Sehr n�tzlich, um eventuell installierte Viren aufzusp�ren.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.4 Internal List

Men�punkt: Save current list (Tastensequenz: RAMIGA-<S>)

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.

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.

Men�punkt: Kill saved list (Tastensequenz: -)

Aktion: Eine gespeicherte ‘RSYS’-interne Liste wird gel�scht und die damit verbundenen Speicherbereiche freigegeben.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.5 Flushing

Men�punkt: Flush Libraries

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.

Men�punkt: Flush Fonts

Aktion: Entfernt alle Fonts aus dem System, die nicht mehr verwendet werden.

Men�punkt: Flush all libraries and Fonts

Aktion: Entspricht beiden Men�punkten Flush Libraries und Flush Fonts.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.6 Clip

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.

Men�punkt: Clip list (Tastensequenz: -)

Aktion: Mit diesem Men�punkt kann die ganze angezeigte Liste ins Clipboard kopiert werden.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.7 Flags

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.

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.

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 (Die Gadgets und das ListView) verwendet. Default ist AUS.

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.

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.

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.

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.

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!!!

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Das 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.1 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.2 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).


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4 Die Utilities von RSys

An dieser Stelle noch ein paar zus�tzliche Informationen zu den Men�punkten.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 Verschl�sseln von Daten und 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!


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 CRC-Checksummen berechnen

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 :-)


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 Fenster in IFF-Dateien speichern

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5 Der Text-Formatter

Ab ‘RSYS’ 1.2 ist es m�glich, beim Abspeichern einer Liste die Ausgabe noch etwas zu formatieren. Dazu erscheint nach jedem Filerequester ein Fenster mit acht Gadgets.

Gadget: Prefix

Hier wird eingetragen, was vor dem zu speichernden Listeneintrag stehen soll.

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.

Gadget: Postfix

Hier steht der Text, der nach dem Listeneintrag kommen soll.

Gadget: Blank between texts

Ist dieser Schalter angeklickt, wird zwischen dem Prefix und dem Listeneintrag sowie zwischen dem Listeneintrag und dem Postfix ein Leerzeichen (Blank) eingef�gt.

Gadget: Quote-in text

Ist dieser Schalter angeklickt, wird der Listeneintrag in Anf�hrungszeichen gesetzt.

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.

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6 RSys und Hintergrundinfos

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.

Einige Listen lassen es zu, da� man die Eintr�ge systemkonform modifizieren kann. Dazu geh�ren zum Beispiel die Priorit�ten von Tasks. Andere Listenelemente k�nnen unter Beachtung wichtiger Regeln entfernt werden. Hierbei sind die sogenannten Schutzprotokolle zu ber�cksichigen.

Bei der Modifizierung von Intuition-Objekten (Windows, Screens) ist das Protokollpaar LockIBase()/UnlockIBase() zu verwenden. Geht es nur um Ver�nderung der Lage von solchen Objekten, z.B. mit WindowToFront(), so ist diese Operation schon von Intuition ausreichend gesch�tzt. Bei allen Listen der ExecBase ist das Paar Forbid()/Permit() zu verwenden, das das Multitasking f�r die Dauer der Operationen zwischen den beiden Routinen ausschaltet.

Bei manchen Listen reicht jedoch dieses Protokoll nicht aus. Dazu geh�ren alle interruptgesteuerten Listen, wie die Task-, Interrupt-, Speicher- und Blitter-Queue-Listen. Diese m�ssen zus�tzlich mit dem Protokoll Disable()/Enable() gesch�tzt werden. Das Protokollpaar unterbricht die Abarbeitung von Interrupts. Da fast jedes Multitasking stark interruptabh�ngig ist, kann es zu einem Absturz kommen, falls dieser Zustand zu lange anh�lt. Sch�tzungen �ber die Zeitdauer lauten bis etwa 250 Mikrosekunden. Obwohl diese Zeit ausreicht, um auch eine gro�e Liste auszulesen, sollte dieser Zustand nicht zu lange gehalten werden.

Disable()/Enable() beinhaltet damit auch logischerweise implizit ein Forbid()/Permit(). Beide Protokolle sind schachtelbar, womit man ein totsicheres Varfahren an die Hand bekommt, um Systemlisten auszulesen.

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7 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! Einen Tip habe ich schon :-)

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’ 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);
}

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8 Weitere Pl�ne

OS 2.0 gibt mir immer neue Ideen. Das merke ich jedesmal, schon w�hrend ich eine Routine programmiere. Folgendes habe ich f�r die n�chsten Versionen geplant:

Wer einen oder mehrere Fehler findet, der sollte mich schnellstm�glichst dar�ber informieren, wo und unter welchen Umst�nden es zu Problemen kam. Zu einer solchen Fehlermeldung geh�ren folgende Informationen �ber die Rechnerumgebung:

Alle diese Listen k�nnen �brigens einfach mit ‘RSYS’ erzeugt und in eine Datei geschrieben werden.

Wenn der auftretende Fehler beschrieben wird, bitte soviel wie m�glich �ber den Arbeitsvorgang, der dem Fehler vorausging, mit aufschreiben! Zuletzt bitte ich darum, den Text so sorgf�ltig zu schreiben, da� ich auch wirklich etwas damit anfangen kann; vage Beschreibungen helfen mir nicht besonders und wenn ich aus einer Fehlermeldung nicht schlau werden kann, bleibt ein m�glicher Fehler vielleicht so lange im Programm, bis ich ihn zuf�llig selbst entdecke.

Fehlermeldungen k�nnen mir auf jedem sinnvoll erscheinende Wege zugeleitet werden, es hilft allerdings manchmal, dies �ber Z-Netz zu bewerkstelligen, was mir die M�glichkeit gibt, bei Bedarf noch einmal nachzufragen.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9 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.2 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.

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.2. Alle weiteren oder vorhergehenden Releases oder Versionen unterliegen dann anderen Bestimmungen.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10 Danksagungen


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11 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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12 History


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Appendix A Anhang


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Funktionen

Jump to:   <  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   V   W   Z  
Index Entry  Section

<
<ohne Namen> 3.4.3 Actions

A
About... 3.4.1 Project
Amigaguide XRef 3.4.2.7 Other Libraries
Assigns 3.2.6 Assign-Liste der DOSBase
Auto front window 3.4.7 Flags

B
BACKGROUNDCOL 2.2 Aufruf von der WorkBench
BACKPATTERN 2.2 Aufruf von der WorkBench
BACKPATTERNCOL 2.2 Aufruf von der WorkBench
Blank between texts 5 Der Text-Formatter
Blitter Wait Queue 3.4.2.3 Graphics
BLOCKPEN 2.2 Aufruf von der WorkBench

C
Case sense/No case sense 3.4.3 Actions
Check Libraries 3.4.3 Actions
CLI processes 3.4.2.1 Exec
Clip entry... 3.4.6 Clip
Clip list 3.4.6 Clip
Commodities 3.4.2.7 Other Libraries
CopyMem() 6 RSys und Hintergrundinfos
CopyMemQuick() 6 RSys und Hintergrundinfos
CRC Check 3.4.3 Actions
Crypt 3.4.3 Actions
CX_CRC 2.2 Aufruf von der WorkBench
CX_CRYPT 2.2 Aufruf von der WorkBench
CX_CRYPT 3.5.2 Die Hotkey-Aktivierung
CX_FINDFILE 2.2 Aufruf von der WorkBench
CX_FINDFILE 3.5.2 Die Hotkey-Aktivierung
CX_FORMAT 2.2 Aufruf von der WorkBench
CX_FORMAT 3.5.2 Die Hotkey-Aktivierung
CX_HOTKEY 2.2 Aufruf von der WorkBench
CX_HOTKEY 3.5.2 Die Hotkey-Aktivierung
CX_HUNKLIST 2.2 Aufruf von der WorkBench
CX_SAVEWINDOW 2.2 Aufruf von der WorkBench

D
DETAILPEN 2.2 Aufruf von der WorkBench
Devices 3.4.3 Actions
Devices 3.4.3 Actions
Dirs + Files/Files/Directories 3.4.3 Actions
Disable()/Enable() 6 RSys und Hintergrundinfos
Disk label 3.4.3 Actions
Display Modes 3.4.2.3 Graphics

E
ENV-Variables 3.4.2.6 Preferences

F
Fast Mode 3.4.7 Flags
Find File 3.4.3 Actions
Flush all libraries and Fonts 3.4.5 Flushing
Flush Fonts 3.4.5 Flushing
Flush Libraries 3.4.5 Flushing
Fonts 3.2.7 Font-Liste der GfxBase
Fonts in FONTS: 3.4.2.4 Diskfont
Forbid()/Permit() 6 RSys und Hintergrundinfos
Format 3.4.3 Actions
Format 3.4.3 Actions
Format Disk 3.4.3 Actions
Found files/dirs 3.4.3 Actions

G
Gadgets 3.4.2.5 Intuition

H
HandlerInp 3.2.12 Inputhandler-Liste
Hardware 3.2.14 Hardware-Liste der ExpansionBase
Help 3.4.1 Project

I
Iconify 3.4.1 Project
Icons/No Icons 3.4.3 Actions
IFF File 3.4.3 Actions
International/No international 3.4.3 Actions
Interrupts 3.2.9 Interrupt-Liste der ExecBase

J
Jump 3.2.16 Springen zwischen Public Screens

K
Kill saved list 3.4.4 Internal List

L
Libraries 3.2.2 Library-Liste der ExecBase
List Hunks 3.4.3 Actions
LockIBase()/UnlockIBase() 6 RSys und Hintergrundinfos

M
Memory 3.2.3 Memory-Liste in der ExecBase
MENUPEN 2.2 Aufruf von der WorkBench
Mouse window 3.4.7 Flags
MOUSEWINDOW 2.2 Aufruf von der WorkBench

N
No header in file 5 Der Text-Formatter
NOAPPICON 2.2 Aufruf von der WorkBench
NOFASTMODE 2.2 Aufruf von der WorkBench
NOSORT 2.2 Aufruf von der WorkBench

O
OFS/FFS 3.4.3 Actions
OUTWINDOW 2.2 Aufruf von der WorkBench
OUTWINDOW 3.5.2 Die Hotkey-Aktivierung

P
Pattern 3.4.3 Actions
Physical Devices 3.4.2.2 DOS
Ports 3.2.4 Port-Liste in der ExecBase
Postfix 5 Der Text-Formatter
Preferences 3.4.2.6 Preferences
Prefix 5 Der Text-Formatter
Printer Data 3.4.2.6 Preferences
Public Screens 3.4.2.5 Intuition

Q
Quick 3.4.3 Actions
Quit ‘RSYS’... 3.4.1 Project
Quote-in text 5 Der Text-Formatter

R
RawDoFmt() 6 RSys und Hintergrundinfos
Reload actionfile 3.4.1 Project
Rescan windows 3.4.3 Actions
Resident programs 3.4.2.1 Exec
Resourcen 3.2.8 Resourcen-Liste der ExecBase
Restore saved list 3.4.4 Internal List
ROT 13-Verfahren 4.1 Verschl�sseln von Daten und Dateien

S
Save asking 3.4.7 Flags
Save current list 3.4.4 Internal List
Save found list 3.4.3 Actions
Save List 3.2.15 Abspeichern einer Liste
Save windows 3.4.3 Actions
Screens 3.2.11 Screen-Liste der IntuitionBase
Sel all 3.4.3 Actions
Sel none 3.4.3 Actions
Selected Devices 3.4.3 Actions
Semaphores 3.4.2.1 Exec
Software Devices 3.4.2.1 Exec
Sorting 3.4.7 Flags
Speaking 3.4.7 Flags
sprintf() 6 RSys und Hintergrundinfos
Start/Stop Search 3.4.3 Actions
strcpy() 6 RSys und Hintergrundinfos
strlen() 6 RSys und Hintergrundinfos
strncpy() 6 RSys und Hintergrundinfos
Systeminfo 3.2.13 Allgemeine Systeminfo

T
Tasks 3.2.1 Task-Liste der ExecBase
Text to save 5 Der Text-Formatter
TOF Wait Queue 3.4.2.3 Graphics
Topaz font 3.4.7 Flags
TOPAZFONT 2.2 Aufruf von der WorkBench

V
Vectors 3.4.2.1 Exec
Volume Locks 3.4.2.2 DOS
Volumes 3.2.5 Volume-Liste der DOSBase

W
Windows 3.2.10 Window-Liste der IntuitionBase
Windows 3.4.3 Actions
Working bar 3.4.7 Flags
WORKINGBAR 2.2 Aufruf von der WorkBench

Z
zellularen Automaten 4.1 Verschl�sseln von Daten und Dateien

Jump to:   <  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   V   W   Z  

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Programm Index

Jump to:   C   G   M   T   X  
Index Entry  Section

C
Check Libraries 3.4.3 Actions

G
Gadget: Assigns 3.2.6 Assign-Liste der DOSBase
Gadget: Fonts 3.2.7 Font-Liste der GfxBase
Gadget: HandlerInp 3.2.12 Inputhandler-Liste
Gadget: Hardware 3.2.14 Hardware-Liste der ExpansionBase
Gadget: Interrupts 3.2.9 Interrupt-Liste der ExecBase
Gadget: Jump 3.2.16 Springen zwischen Public Screens
Gadget: Libraries 3.2.2 Library-Liste der ExecBase
Gadget: Memory 3.2.3 Memory-Liste in der ExecBase
Gadget: Ports 3.2.4 Port-Liste in der ExecBase
Gadget: Resourcen 3.2.8 Resourcen-Liste der ExecBase
Gadget: Save List 3.2.15 Abspeichern einer Liste
Gadget: Screens 3.2.11 Screen-Liste der IntuitionBase
Gadget: Systeminfo 3.2.13 Allgemeine Systeminfo
Gadget: Tasks 3.2.1 Task-Liste der ExecBase
Gadget: Volumes 3.2.5 Volume-Liste der DOSBase
Gadget: Windows 3.2.10 Window-Liste der IntuitionBase

M
Men�punkt: About... 3.4.1 Project
Men�punkt: Amigaguide XRef 3.4.2.7 Other Libraries
Men�punkt: Auto front window 3.4.7 Flags
Men�punkt: Blitter Wait Queue 3.4.2.3 Graphics
Men�punkt: CLI processes 3.4.2.1 Exec
Men�punkt: Clip entry... 3.4.6 Clip
Men�punkt: Clip list 3.4.6 Clip
Men�punkt: Commodities 3.4.2.7 Other Libraries
Men�punkt: CRC Check 3.4.3 Actions
Men�punkt: Crypt 3.4.3 Actions
Men�punkt: Display Modes 3.4.2.3 Graphics
Men�punkt: ENV-Variables 3.4.2.6 Preferences
Men�punkt: Fast Mode 3.4.7 Flags
Men�punkt: Find File 3.4.3 Actions
Men�punkt: Flush all libraries and Fonts 3.4.5 Flushing
Men�punkt: Flush Fonts 3.4.5 Flushing
Men�punkt: Flush Libraries 3.4.5 Flushing
Men�punkt: Fonts in FONTS: 3.4.2.4 Diskfont
Men�punkt: Format Disk 3.4.3 Actions
Men�punkt: Gadgets 3.4.2.5 Intuition
Men�punkt: Help 3.4.1 Project
Men�punkt: Iconify 3.4.1 Project
Men�punkt: Kill saved list 3.4.4 Internal List
Men�punkt: List Hunks 3.4.3 Actions
Men�punkt: Mouse window 3.4.7 Flags
Men�punkt: Physical Devices 3.4.2.2 DOS
Men�punkt: Preferences 3.4.2.6 Preferences
Men�punkt: Printer Data 3.4.2.6 Preferences
Men�punkt: Public Screens 3.4.2.5 Intuition
Men�punkt: Quit RSys... 3.4.1 Project
Men�punkt: Reload actionfile 3.4.1 Project
Men�punkt: Resident programs 3.4.2.1 Exec
Men�punkt: Restore saved list 3.4.4 Internal List
Men�punkt: Save asking 3.4.7 Flags
Men�punkt: Save current list 3.4.4 Internal List
Men�punkt: Save windows 3.4.3 Actions
Men�punkt: Semaphores 3.4.2.1 Exec
Men�punkt: Software Devices 3.4.2.1 Exec
Men�punkt: Sorting 3.4.7 Flags
Men�punkt: Speaking 3.4.7 Flags
Men�punkt: TOF Wait Queue 3.4.2.3 Graphics
Men�punkt: Topaz font 3.4.7 Flags
Men�punkt: Vectors 3.4.2.1 Exec
Men�punkt: Volume Locks 3.4.2.2 DOS
Men�punkt: Working bar 3.4.7 Flags

T
tbreak 7 Tips und Tricks
tracer 7 Tips und Tricks

X
Xoper, ARTM, TaskX und andere 1 Was ist RSys?

Jump to:   C   G   M   T   X  

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Konzept

Jump to:   A   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   V   W  
Index Entry  Section

A
Abspeichern einer Liste 3.2.15 Abspeichern einer Liste
Adresse 9 Copyrights und Verwendung
Allgemeine Systeminfo 3.2.13 Allgemeine Systeminfo
Anhang Appendix A Anhang
Assign-Liste der DOSBase 3.2.6 Assign-Liste der DOSBase
Aufruf vom CLI 2.1 Aufruf vom CLI
Aufruf von der WorkBench 2.2 Aufruf von der WorkBench

C
Copyrights und Verwendung 9 Copyrights und Verwendung
CRC-Checksummen berechnen 4.3 CRC-Checksummen berechnen

D
Danksagungen 10 Danksagungen
Das Actioning 3.5.1 Das Actioning
Das Hauptfenster 3.1 Das Hauptfenster
Das Icon 3.5 Das Icon
Das Men� 3.4 Das Men�
Das Modifizieren 3.3 Das Modifizieren
Dateien suchen 4.2 Dateien suchen
Der Text-Formatter 5 Der Text-Formatter
Die Actions-Datei 2.3.2 Die Actions-Datei
Die ENV-Variablen 2.3 Die ENV-Variablen
Die Gadgets und das ListView 3.2 Die Gadgets und das ListView
Die Help-Datei 2.3.1 Die Help-Datei
Die Hotkey-Aktivierung 3.5.2 Die Hotkey-Aktivierung
Die Utilities von RSys 4 Die Utilities von RSys
Diskfont 3.4.2.4 Diskfont
DOS 3.4.2.2 DOS

E
Exec 3.4.2.1 Exec

F
Fehlermeldungen 8 Weitere Pl�ne
Fenster in IFF-Dateien speichern 4.4 Fenster in IFF-Dateien speichern
Font-Liste der GfxBase 3.2.7 Font-Liste der GfxBase

G
Gadgets - Men�s - das Icon 3 Gadgets - Men�s - das Icon
Graphics 3.4.2.3 Graphics

H
Hardware-Liste der ExpansionBase 3.2.14 Hardware-Liste der ExpansionBase
History 12 History

I
Inputhandler-Liste 3.2.12 Inputhandler-Liste
Installation von RSys 2 Installation von RSys
Interrupt-Liste der ExecBase 3.2.9 Interrupt-Liste der ExecBase
Intuition 3.4.2.5 Intuition

L
Library-Liste der ExecBase 3.2.2 Library-Liste der ExecBase

M
Memory-Liste in der ExecBase 3.2.3 Memory-Liste in der ExecBase
Men� Other Lists 3.4.2 Other Lists
Men�: Actions 3.4.3 Actions
Men�: Clip 3.4.6 Clip
Men�: Flags 3.4.7 Flags
Men�: Flushing 3.4.5 Flushing
Men�: Internal List 3.4.4 Internal List
Men�: Project 3.4.1 Project

N
normaler CLI-Befehl 2.1 Aufruf vom CLI

O
Other Libraries 3.4.2.7 Other Libraries

P
Pa�wort 4.1 Verschl�sseln von Daten und Dateien
Port-Liste in der ExecBase 3.2.4 Port-Liste in der ExecBase
Preferences 3.4.2.6 Preferences

R
Resourcen-Liste der ExecBase 3.2.8 Resourcen-Liste der ExecBase
RSys und Hintergrundinfos 6 RSys und Hintergrundinfos

S
Schutzprotokolle 6 RSys und Hintergrundinfos
Screen-Liste der IntuitionBase 3.2.11 Screen-Liste der IntuitionBase
Springen zwischen Public Screens 3.2.16 Springen zwischen Public Screens
systemkonform 6 RSys und Hintergrundinfos

T
Task-Liste der ExecBase 3.2.1 Task-Liste der ExecBase
Tips und Tricks 7 Tips und Tricks

V
Verschl�sseln von Daten und Dateien 4.1 Verschl�sseln von Daten und Dateien
Verwendete Software 11 Verwendete Software
Volume-Liste der DOSBase 3.2.5 Volume-Liste der DOSBase

W
Was ist RSys? 1 Was ist RSys?
wbstartup-Verzeichnis 2 Installation von RSys
Weitere Pl�ne 8 Weitere Pl�ne
Window-Liste der IntuitionBase 3.2.10 Window-Liste der IntuitionBase

Jump to:   A   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   V   W  

[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated on September 19, 2022 using texi2html 5.0.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ < ] Back Previous section in reading order 1.2.2
[ Up ] Up Up section 1.2
[ > ] Forward Next section in reading order 1.2.4
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:


This document was generated on September 19, 2022 using texi2html 5.0.